sön 2021-07-11 klockan 09:47 -0700 skrev p...@sandflow.com: > From: Pierre-Anthony Lemieux <p...@sandflow.com> > > Signed-off-by: Pierre-Anthony Lemieux <p...@sandflow.com> > --- > > Notes: > For JPEG 2000 essence, the MXF input format module currently uses the > value of byte 14 of the essence container UL to determines whether the J2K > essence is clip- (byte 14 is 0x02) > or frame-wrapped (byte 14 is 0x01). This approach does work when the > essence container UL is equal to MXFGCP1FrameWrappedPicture, in which case > the essence is always frame-wrapped. > > libavformat/mxf.h | 3 ++- > libavformat/mxfdec.c | 4 ++++ > 2 files changed, 6 insertions(+), 1 deletion(-) > > diff --git a/libavformat/mxf.h b/libavformat/mxf.h > index b1b1fedac7..ca510f5a2f 100644 > --- a/libavformat/mxf.h > +++ b/libavformat/mxf.h > @@ -75,7 +75,8 @@ typedef enum { > NormalWrap = 0, > D10D11Wrap, > RawAWrap, > - RawVWrap > + RawVWrap, > + AlwaysFrameWrap > } MXFWrappingIndicatorType; > > typedef struct MXFLocalTagPair { > diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c > index 3bf480a3a6..7024d2ea7d 100644 > --- a/libavformat/mxfdec.c > +++ b/libavformat/mxfdec.c > @@ -1413,6 +1413,7 @@ static void *mxf_resolve_strong_ref(MXFContext *mxf, > UID *strong_ref, enum MXFMe > > static const MXFCodecUL mxf_picture_essence_container_uls[] = { > // video essence container uls > + { { > 0x06,0x0e,0x2b,0x34,0x04,0x01,0x01,0x07,0x0d,0x01,0x03,0x01,0x02,0x0c,0x06,0x00 > }, 15, AV_CODEC_ID_JPEG2000, NULL, 16, AlwaysFrameWrap }, /* MXF-GC P1 > Frame-Wrapped JPEG 2000 */ > { { > 0x06,0x0e,0x2b,0x34,0x04,0x01,0x01,0x07,0x0d,0x01,0x03,0x01,0x02,0x0c,0x01,0x00 > }, 14, AV_CODEC_ID_JPEG2000, NULL, 14 }, > { { > 0x06,0x0e,0x2b,0x34,0x04,0x01,0x01,0x02,0x0d,0x01,0x03,0x01,0x02,0x10,0x60,0x01 > }, 14, AV_CODEC_ID_H264, NULL, 15 }, /* H.264 */ > { { > 0x06,0x0e,0x2b,0x34,0x04,0x01,0x01,0x02,0x0d,0x01,0x03,0x01,0x02,0x11,0x01,0x00 > }, 14, AV_CODEC_ID_DNXHD, NULL, 14 }, /* VC-3 */ > @@ -1497,6 +1498,9 @@ static MXFWrappingScheme mxf_get_wrapping_kind(UID > *essence_container_ul) > if (val == 0x02) > val = 0x01; > break; > + case AlwaysFrameWrap: > + val = 0x01; > + break;
Looks OK. Still passes FATE. /Tomas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".