[FFmpeg-cvslog] r26219 - trunk/ffmpeg.c

Stefano Sabatini stefano.sabatini-lala
Wed Jan 5 14:58:18 CET 2011


On date Wednesday 2011-01-05 05:52:32 +0100, michael wrote:
> Author: michael
> Date: Wed Jan  5 05:52:32 2011
> New Revision: 26219
> 
> Log:
> Fix/cleanup m/ljpeg encoding pix fmt selection code in ffmpeg.c.
> Better ideas are welcome ...
> 
> Modified:
>    trunk/ffmpeg.c
> 
> Modified: trunk/ffmpeg.c
> ==============================================================================
> --- trunk/ffmpeg.c	Wed Jan  5 05:52:21 2011	(r26218)
> +++ trunk/ffmpeg.c	Wed Jan  5 05:52:32 2011	(r26219)
> @@ -628,15 +628,18 @@ static void choose_pixel_fmt(AVStream *s
>  {
>      if(codec && codec->pix_fmts){
>          const enum PixelFormat *p= codec->pix_fmts;
> +        if(st->codec->strict_std_compliance <= FF_COMPLIANCE_UNOFFICIAL){

style...

> +            if(st->codec->codec_id==CODEC_ID_MJPEG){
> +                p= (const enum PixelFormat[]){PIX_FMT_YUVJ420P, PIX_FMT_YUVJ422P, PIX_FMT_YUV420P, PIX_FMT_YUV422P, PIX_FMT_NONE};
> +            }else if(st->codec->codec_id==CODEC_ID_LJPEG){
> +                p= (const enum PixelFormat[]){PIX_FMT_YUVJ420P, PIX_FMT_YUVJ422P, PIX_FMT_YUVJ444P, PIX_FMT_YUV420P, PIX_FMT_YUV422P, PIX_FMT_YUV444P, PIX_FMT_BGRA, PIX_FMT_NONE};
> +            }
> +        }

Having per-codec hacks in application code is hideously ugly and
fragile. What's preventing to use AVCodec.pix_fmts in these cases?



More information about the ffmpeg-cvslog mailing list