[FFmpeg-devel] [PATCH] Efficiently support several output pixel formats in Cinepak decoder
wm4
nfxjfg at googlemail.com
Tue Feb 7 20:05:32 EET 2017
On Tue, 7 Feb 2017 12:54:23 -0500
"Ronald S. Bultje" <rsbultje at gmail.com> wrote:
> Hi,
>
> 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.
I'm also wondering how much performance the 3 byte rgb24 format costs
as opposed to using a 4 byte padded format like rgb0.
More information about the ffmpeg-devel
mailing list