[FFmpeg-devel] [PATCH] do not set codec tag in raw video encoder

Stefano Sabatini stefano.sabatini-lala
Wed Jun 9 23:57:13 CEST 2010


On date Wednesday 2010-06-09 20:38:15 +0200, Michael Niedermayer encoded:
> On Wed, Jun 09, 2010 at 02:47:21AM -0700, Baptiste Coudurier wrote:
> > On 6/5/10 3:35 PM, Baptiste Coudurier wrote:
> >> Hi
> >>
> >> $subject, let the muxer choose the appropriate one depending on the 
> >> format.
> >>
> >>
> >> rawenc_codec_tag.patch
> >>
> >>
> >> Index: libavcodec/rawenc.c
> >> ===================================================================
> >> --- libavcodec/rawenc.c	(revision 23498)
> >> +++ libavcodec/rawenc.c	(working copy)
> >> @@ -35,8 +35,6 @@
> >>       avctx->coded_frame->pict_type = FF_I_TYPE;
> >>       avctx->coded_frame->key_frame = 1;
> >>       avctx->bits_per_coded_sample = 
> >> av_get_bits_per_pixel(&av_pix_fmt_descriptors[avctx->pix_fmt]);
> >> -    if(!avctx->codec_tag)
> >> -        avctx->codec_tag = avcodec_pix_fmt_to_codec_tag(avctx->pix_fmt);
> >>       return 0;
> >>   }
> >>
> >
> > Any objection ?
> 
> i suspect this might break muxing rawvideo in some containers
> also it does not seem to be completely in line with the api documentation
> in avcodec.h for codec_tag
> 
> iam not really objecting to change things but the docs would have to be
> clarified, muxers (especially nut) must be checked so they dont loose
> support for something that worked

Indeed this change would break NUT rawvideo and the lavfi_pix_fmts
test.

As I suggested previously, the codec_tag <-> pix_fmt mapping should be
local to the muxer, then we can eventually share the map when it makes
sense (for example allowing nut use a combination of AVI+MOV maps),
then it will be duty of the muxer to set the codec tag if codec_tag ==
0 *and* the codec_id == RAWVIDEO.

Regards.
-- 
FFmpeg = Fundamental and Faithful Multimedia Pacific Elaborated God



More information about the ffmpeg-devel mailing list