[Sumover-dev] Re: Possibility of merging vic features /
multithreadedness
Douglas Kosovic
douglask at itee.uq.edu.au
Wed Jun 10 23:18:18 BST 2009
Hi Andrew,
>> Sorry I didn't chip in earlier. As Leon mentions both ffmpeg and x264
>> are designed with [multi]threading in mind. X264 will attempt to auto
>> detect threading support when ./configure is run and on Linux and OSX
>> it just picks up the threading support and uses it (the versions
>> available should be using threading for x264.
>
>
> Meaning that h.264 encoding should already be multithreaded in existing
> versions of vic on linux? I'm not sure if I've actually observed that
> happening in practice - I'll have to experiment more.
>
> BTW, Doug - you mentioned improved h264 performance in another email - does
> that mean it's more comparable to the performance of mpeg4 encoding? If
> multithreading is easier or better at all in 264, and if the baseline
> performance is better, then that might be the new standard to use.
That was regarding newer x264 codec performance being faster than the 2
or 3 year old version of x264 used with previous builds of vic. I don't
have firsthand comparison between the newer x264 and ffmpeg 0.5's mpeg4.
> I agree, and usually we have tested for specific/required number of
>> threads being supported by a given codec at runtime (e.g. when user
>> wants to have a certain number of threads associated with processing
>> the image -- as it makes no sense to have more heavy-active threads
>> than available cores/cpus... where the in/out scheduling of threads
>> will only make things worse [slower/longer and w/o any advantages])...
>> there are limitations to how effectively this could be arranged, but
>> the simple way would be to look at the code in LavcCodec.tpp:
>>
>> ...
>> if (threads && -1 == avcodec_thread_init (&context, threads))
>> cerr << ERRORINFO << "could not create " << threads << " additional
>> threads during allocation of codec... shall proceed without
>> threads..." << endl;
>>
>> assert (assertInvariants ());
>> return true;
>> ...
>
>
> Thanks - I'll check this out and see if I can incorporate it into UCL mpeg4
> vic. Plus, the Linux support for Blackmagic cards is supposedly coming out
> this month, so that should be a good test for multithreading - once the
> grabber code is written. Doug, were you planning to do that? I'd like to
> contribute to that if at all possible; we do have a number of Intensity Pro
> cards we can test with.
I was planing on adding V4L2 VIC support for the Blackmagic card, as I'm
away all next week I was hoping the driver would have been released by now.
Cheers,
Doug
More information about the Sumover-dev
mailing list