[FFmpeg-devel] [PATCH v4] avformat/mxfdec: Read video range from PictureDescriptor
Tomas Härdin
tjoppen at acc.umu.se
Thu Aug 20 13:26:09 EEST 2020
sön 2020-08-16 klockan 11:43 +0100 skrev Harry Mallon:
> > > > http://samples.ffmpeg.org/ffmpeg-bugs/trac/ticket4328/01_Bad_Frame_2.24.mxf
> > > > is not detected correctly for some reason.
> > > >
> > > > The MXF specs seems ambigous:
> > > >
> > > > Color Range is a Property, whose unsigned 32-bit integer value shall
> > > > specify the number of distinct values allowed for color difference
> > > > samples.
> > > >
> > > > So probably 2^depth color range should also be accepted as full range.
> > >
> > > This sounds correct. Do we have any sample using 2^depth-1? If not then
> > > we should just go with 2^depth until such a sample emerges.
> > >
> > > /Tomas
> >
> > I based it on what mxfenc.c already did, I can try to find some other samples.
> >
> > Harry
> >
>
> OK, I have checked back with the docs.
>
> * I agree that 2^depth is correct for mxf color_range
> * 2^depth-1 has been used in FFMPEG since n4.1 (avformat/mxfenc: add
> white/black ref /color range
> 6d0339096e10f6753049f2a5cbfd7ba69e5f8bcd) so maybe we should keep the
> off-by-one case, I don't mind either way.
Ah crap. Yeah, then we do need to accept off-by-one. We could limit
that to files that have been produced by mxfenc.c if we like. Might be
more effort than it's worth. mxfenc should be fixed either way.
> I was checking some other MXF files I have here and one is full-range
> RGB J2K, rather than YUV. There are separate range metadata in
> RGBAEssenceDescriptor compared to CDCIEssenceDescriptor. Is there a
> way to get the stream component depth from this area of code (as RGBA
> only has component_max and component_min, no component_depth like
> CDCI) or somehow to pass the min/max to the codec to parse?
>
> e.g in my file (RGB J2K with RGBAEssenceDesc) component_max is 4095
> and component_min is 0, but I don't think the pixel format has been
> set to 12bit yet so it would seem premature to set the range to full.
I don't know anything about J2K so I can't say
/Tomas
More information about the ffmpeg-devel
mailing list