[XviD-devel] Changes to get_pmv2
Christoph Lampert
chl at math.uni-bonn.de
Wed Sep 22 16:48:29 CEST 2004
On Wed, 22 Sep 2004, Andrew Voznytsa wrote:
> I don't know how you did it exactly, but a few suggestions how to get at
> least ~30-40% speedup for 2 CPUs:
> 1) create threads on encoder init stage
> 2) in I/P VOP case enable VideoPackets, create N (N <= number of cpus)
> VideoPackets and encode each VideoPacket in his own thread. Under encode
> I mean everything: ME, DCT, bit packing. On post encode stage you'll
> have to join N bitstream buffers (not a problem, they'll be byte aligned).
> 3) in case if B VOPs are present too, try to encode each B VOP (without
> VideoPackets) in his own thread (as Radek Chyz proposed).
Yes, I know, this would be more successful that my approach.
What I was referring to was an early test (in 2001), to just do ME in
parallel, splitting the image into N (like N=2) vertical stripes and work
on each independently (but with the correct predictors, so there was
some sync needed where the strips meet).
Still, it turned out that there was simply too much overhead involed to be
of any use, and that's one of the reason why I have been proposing coarse
grain parallelism (as you suggest) instead of splitting individual
routines.
gruel
More information about the XviD-devel
mailing list