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

Ronald S. Bultje rsbultje at gmail.com
Thu Sep 1 14:23:20 EEST 2016


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 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.


More information about the ffmpeg-devel mailing list