[FFmpeg-devel] Fw: [foms] Paper submissions to LCA

Måns Rullgård mans
Fri Jul 17 10:03:39 CEST 2009


Jason Garrett-Glaser <darkshikari at gmail.com> writes:

> 2009/7/17 M?ns Rullg?rd <mans at mansr.com>:
>> Jason Garrett-Glaser <darkshikari at gmail.com> writes:
>>
>>>>> Interleave entropy decoding and MC/idct.  This means, for example,
>>>>> decoding an MV, and immediately performing motion compensation with
>>>>> that MV.
>>>>
>>>> This is unfortunately the opposite of what is needed to do part of the
>>>> decoding on a DSP or other coprocessor.
>>>
>>> We have CONFIG_SMALL for that.  This isn't an issue.
>>
>> I wasn't talking about code size.  To share work with a DSP, you have
>> to parse lots of syntax elements and hand them over to the DSP in
>> bulk.  Passing messages to the DSP for every macroblock would totally
>> kill performance.
>
> That doesn't work in current ffmpeg either, as macroblocks are decoded
> in-sequence and the deblocking done immediately after decoding of each
> macroblock.

I know.  I was just pointing out that optimising for single-cpu takes
the code in the opposite direction from optimising for asymmetric
multi-processors.  Both are important though, so I'm not sure how to
solve this conflict.

> You could separate it out, or even keep two versions of the codebase
> for that reason.  But in non-DSP situations, the interleaved method is
> better, especially on chips with small cache.

I don't doubt that at all.

-- 
M?ns Rullg?rd
mans at mansr.com



More information about the ffmpeg-devel mailing list