[FFmpeg-devel] [PATCH] lavfi/overlay: yuv444p & yuva444p support
Stefano Sabatini
stefasab at gmail.com
Sat Feb 16 00:59:39 CET 2013
On date Monday 2013-02-11 17:17:47 +0000, Paul B Mahol encoded:
> Signed-off-by: Paul B Mahol <onemda at gmail.com>
> ---
>
> ffplay output is broken, because it inserts yuv420p conversion
> somewhere in middle of chain.
Mentioning an ffplay bug in an overlay commit is a bit weird.
And yes ffplay seems broken with images containing alpha, e.g.:
ffplay http://ffmpeg.org/ffmpeg-logo.png
>
> ---
> libavfilter/vf_overlay.c | 14 +++++++++++---
> 1 file changed, 11 insertions(+), 3 deletions(-)
>
> diff --git a/libavfilter/vf_overlay.c b/libavfilter/vf_overlay.c
> index d44677f..7c615b4 100644
> --- a/libavfilter/vf_overlay.c
> +++ b/libavfilter/vf_overlay.c
> @@ -134,8 +134,15 @@ static int query_formats(AVFilterContext *ctx)
> OverlayContext *over = ctx->priv;
>
> /* overlay formats contains alpha, for avoiding conversion with alpha information loss */
> - static const enum AVPixelFormat main_pix_fmts_yuv[] = { AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVA420P, AV_PIX_FMT_NONE };
> - static const enum AVPixelFormat overlay_pix_fmts_yuv[] = { AV_PIX_FMT_YUVA420P, AV_PIX_FMT_NONE };
> + static const enum AVPixelFormat main_pix_fmts_yuv[] = {
> + AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVA420P,
> + AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA444P,
> + AV_PIX_FMT_NONE
> + };
> + static const enum AVPixelFormat overlay_pix_fmts_yuv[] = {
> + AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA444P,
> + AV_PIX_FMT_NONE
> + };
> static const enum AVPixelFormat main_pix_fmts_rgb[] = {
> AV_PIX_FMT_ARGB, AV_PIX_FMT_RGBA,
> AV_PIX_FMT_ABGR, AV_PIX_FMT_BGRA,
> @@ -167,7 +174,8 @@ static int query_formats(AVFilterContext *ctx)
> }
>
> static const enum AVPixelFormat alpha_pix_fmts[] = {
> - AV_PIX_FMT_YUVA420P, AV_PIX_FMT_ARGB, AV_PIX_FMT_ABGR, AV_PIX_FMT_RGBA,
> + AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA444P,
> + AV_PIX_FMT_ARGB, AV_PIX_FMT_ABGR, AV_PIX_FMT_RGBA,
> AV_PIX_FMT_BGRA, AV_PIX_FMT_NONE
> };
LGTM if tested, thanks.
Note: an overlay test would be nice at some point.
--
FFmpeg = Formidable and Foolish Meaningful Purposeless Ecstatic Gymnast
More information about the ffmpeg-devel
mailing list