[FFmpeg-devel] [PATCH] Efficiently support several output pixel formats in Cinepak decoder

Ronald S. Bultje rsbultje at gmail.com
Tue Feb 7 19:54:23 EET 2017


On Tue, Feb 7, 2017 at 12:04 PM, <u-9iep at aetey.se> wrote:

> cinepak, rgb24            19.7     (via the fast bilinear swscaler)
> cinepak, internal rgb565   6.0

The reason that your decoder-integrated colorspace convertor is so much
faster than swscale is because swscale is converting internally to yuv420p
using a scaling filter, and then back to rgb565 using another scaling
filter. This is "easily" solved by adding a direct (possibly
x86-simd-accelerated) rgb24-to-rgb565 converter into
libswscale/swscale_unscaled.c, which would likely have nearly identical
performance to what you're seeing here. Possibly even faster, because
you're allowing for simd optimizations.


More information about the ffmpeg-devel mailing list