[FFmpeg-devel] [PATCH 2/2] swscale: add unscaled conversion from yuv420p to p010

Timo Rothenpieler timo at rothenpieler.org
Sat Sep 3 15:53:11 EEST 2016


On 9/3/2016 1:47 PM, Carl Eugen Hoyos wrote:
> 2016-09-03 0:06 GMT+02:00 Timo Rothenpieler <timo at rothenpieler.org>:
>> On 9/2/2016 7:16 PM, Carl Eugen Hoyos wrote:
>>> 2016-09-02 16:36 GMT+02:00 Timo Rothenpieler <timo at rothenpieler.org>:
>>>
>>>> +#if AV_HAVE_BIGENDIAN
>>>> +static int planar8ToP010leWrapper(SwsContext *c, const uint8_t *src[],
>>>
>>> Why does this function not work on both big and little endian hardware?
>>
>> It does, but it's significantly slower.
>> In my tests, it takes double the time than the pure native one.
> 
> Do you know why exactly it is slower?
> 
> If performance matters, this likely can be SIMD-optimized, no reason to
> duplicate the function.

No idea, but it was hinted that the AV_WL macros do some thing to assure
it works on systems with strict alignment requirements.

And it's slow enough to be no longer capable of processing in real time,
while the other implementation easily handles 100+ fps.

I have another idea how to reduce the overhead of having two versions.


More information about the ffmpeg-devel mailing list