[FFmpeg-devel] [PATCH]lavf/mxf: Map codec_tag for Avid files if everything else fails

Tomas Härdin tomas.hardin at codemill.se
Sat Jul 11 16:13:52 CEST 2015


On Fri, 2015-07-10 at 20:11 +0200, Carl Eugen Hoyos wrote:
> Hi!
> 
> Attached patch allows decoding of the sample provided on ffmpeg-user:
> http://ffmpeg.org/pipermail/ffmpeg-user/2015-July/027472.html
> 
> Better suggestions welcome, Carl Eugen

Just a quick review since I have to bounce:

> +const MXFCodecUL ff_mxf_codec_tag_uls[] = {

Haven't we moved this to mxf.c already? Or rather, don't we have a whole
bunch of very similar tables already?

>                      st->codec->pix_fmt = (enum AVPixelFormat)pix_fmt_ul->id;
> -                    if (st->codec->pix_fmt == AV_PIX_FMT_NONE) {
> +                    if (st->codec->pix_fmt == AV_PIX_FMT_NONE)
> +                        st->codec->codec_tag = mxf_get_codec_ul(ff_mxf_codec_tag_uls,
> +                                                                &descriptor->essence_codec_ul)->id;
> +                    if (st->codec->pix_fmt == AV_PIX_FMT_NONE && !st->codec->codec_tag) {
>                          /* support files created before RP224v10 by defaulting to UYVY422
>                             if subsampling is 4:2:2 and component depth is 8-bit */
>                          if (descriptor->horiz_subsampling == 2 &&

Messy bracing. Something like putting a check on codec_tag after setting
it, inside braces like before. Hard to explain and I don't have time to
type it out but:

if (st->codec->pix_fmt == AV_PIX_FMT_NONE) {
 codec_tag = ...
 if (!codec_tag) {
  do the old thing
 }
}

Gotta go!

/Tomas





More information about the ffmpeg-devel mailing list