[FFmpeg-devel] Performance of P010LE/BE pixel convertion

Timo Rothenpieler timo at rothenpieler.org
Thu Sep 1 14:34:03 EEST 2016


> Hi,
> 
> On Thu, Sep 1, 2016 at 7:00 AM, Ali KIZIL <alikizil at gmail.com> wrote:
> 
>> Hi Oliver,
>>
>> I just setup my DDR3 RAM speed to 2133 Mhz on i7 4960x server. It dosnt
>> make a much difference. FPS is still waiving 41-44 fps for UHD P010LE HEVC
>> Main 10 encoding.
>>
>> Also, rawvideo P010LE encodding waiving 39-42 fps. For your note;while FPS
>> waves from 39-42 fps for YUV420P to P010LE, YUV420P to YUV420P10LE fps is
>> like 75-76:
> 
> 
> I think this is expected, the p010le conversion is C (no SIMD). The
> yuv420p10le conversion is using x86 SIMD (probably AVX).
> 
> To fix this, add x86 SIMD implementations of the p010le conversions in
> swscale. Better yet, add direct conversions from yuv420p10 (which I assume
> is the internal format of your actual source after decoding?) to p010le,
> first C and then later x86 SIMD.

I think 40-50 FPS is quite a nice result for UHD with the plain stupid C
implementation.

Also, isn't the internal representation of YUV 10bit in swscale
essentially yuv420p10 anyway, so the conversion already is as direct as
it gets?

> I have no idea why you would want to convert from yuv420p to p010le or
> yuv420p10le. I understand swscale supports it (it should) but I doubt
> that's how you want to generate 10 bits content.

P010 is the only YUV420 10bit format NVENC supports.

> Ronald
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 


More information about the ffmpeg-devel mailing list