diff mbox

[FFmpeg-devel,v2,1/3] avformat/mxfenc: use track count to generate component instance uuid

Message ID 20171129041105.16748-2-mindmark@gmail.com
State Superseded
Headers show

Commit Message

Mark Reid Nov. 29, 2017, 4:11 a.m. UTC
---
 libavformat/mxf.h               |  1 -
 libavformat/mxfenc.c            | 30 +++++++++++++++++-------------
 tests/ref/fate/copy-trac4914    |  2 +-
 tests/ref/fate/time_base        |  2 +-
 tests/ref/lavf/mxf              |  6 +++---
 tests/ref/lavf/mxf_d10          |  2 +-
 tests/ref/lavf/mxf_dv25         |  2 +-
 tests/ref/lavf/mxf_dvcpro50     |  2 +-
 tests/ref/lavf/mxf_opatom       |  2 +-
 tests/ref/lavf/mxf_opatom_audio |  2 +-
 10 files changed, 27 insertions(+), 24 deletions(-)

Comments

Tomas Härdin Nov. 29, 2017, 9:36 a.m. UTC | #1
On 2017-11-29 05:11, Mark Reid wrote:
> @@ -980,7 +980,7 @@ static void mxf_write_structural_component(AVFormatContext *s, AVStream *st, MXF
>   
>       // write uid
>       mxf_write_local_tag(pb, 16, 0x3C0A);
> -    mxf_write_uuid(pb, package->type == MaterialPackage ? SourceClip: SourceClip + TypeBottom, st->index);
> +    mxf_write_uuid(pb, SourceClip, mxf->track_uuid_offset);
>   
>       PRINT_KEY(s, "structural component uid", pb->buf_ptr - 16);
>       mxf_write_common_fields(s, st);
> @@ -1357,7 +1357,7 @@ static void mxf_write_package(AVFormatContext *s, MXFPackage *package)
>   
>       // write package umid
>       mxf_write_local_tag(pb, 32, 0x4401);
> -    mxf_write_umid(s, package->type == SourcePackage);
> +    mxf_write_umid(s, package->instance);
>       PRINT_KEY(s, "package umid second part", pb->buf_ptr - 16);
>   
>       // package name
> @@ -1375,10 +1375,9 @@ static void mxf_write_package(AVFormatContext *s, MXFPackage *package)
>       // write track refs
>       mxf_write_local_tag(pb, track_count*16 + 8, 0x4403);
>       mxf_write_refs_count(pb, track_count);
> -    mxf_write_uuid(pb, package->type == MaterialPackage ? Track :
> -                   Track + TypeBottom, -1); // timecode track
> +    mxf_write_uuid(pb, Track, mxf->track_uuid_offset); // timecode track
>       for (i = 0; i < s->nb_streams; i++)
> -        mxf_write_uuid(pb, package->type == MaterialPackage ? Track : Track + TypeBottom, i);
> +        mxf_write_uuid(pb, Track,  mxf->track_uuid_offset + i + 1);

Do these refer to tracks that are about to be written? Seems so as best 
I can tell, so I guess it works. I'd be happier if the referencing was 
done more explicitly rather than implicitly

>   
>       // write user comment refs
>       if (mxf->store_user_comments) {
> @@ -1402,12 +1401,14 @@ static void mxf_write_package(AVFormatContext *s, MXFPackage *package)
>       mxf_write_track(s, mxf->timecode_track, package);
>       mxf_write_sequence(s, mxf->timecode_track, package);
>       mxf_write_timecode_component(s, mxf->timecode_track, package);
> +    mxf->track_uuid_offset++;
>   
>       for (i = 0; i < s->nb_streams; i++) {
>           AVStream *st = s->streams[i];
>           mxf_write_track(s, st, package);
>           mxf_write_sequence(s, st, package);
>           mxf_write_structural_component(s, st, package);
> +        mxf->track_uuid_offset++;
>   

/Tomas
Mark Reid Nov. 30, 2017, 4:18 a.m. UTC | #2
On Wed, Nov 29, 2017 at 1:36 AM, Tomas Härdin <tjoppen@acc.umu.se> wrote:

> On 2017-11-29 05:11, Mark Reid wrote:
>
>> @@ -980,7 +980,7 @@ static void mxf_write_structural_component(AVFormatContext
>> *s, AVStream *st, MXF
>>         // write uid
>>       mxf_write_local_tag(pb, 16, 0x3C0A);
>> -    mxf_write_uuid(pb, package->type == MaterialPackage ? SourceClip:
>> SourceClip + TypeBottom, st->index);
>> +    mxf_write_uuid(pb, SourceClip, mxf->track_uuid_offset);
>>         PRINT_KEY(s, "structural component uid", pb->buf_ptr - 16);
>>       mxf_write_common_fields(s, st);
>> @@ -1357,7 +1357,7 @@ static void mxf_write_package(AVFormatContext *s,
>> MXFPackage *package)
>>         // write package umid
>>       mxf_write_local_tag(pb, 32, 0x4401);
>> -    mxf_write_umid(s, package->type == SourcePackage);
>> +    mxf_write_umid(s, package->instance);
>>       PRINT_KEY(s, "package umid second part", pb->buf_ptr - 16);
>>         // package name
>> @@ -1375,10 +1375,9 @@ static void mxf_write_package(AVFormatContext *s,
>> MXFPackage *package)
>>       // write track refs
>>       mxf_write_local_tag(pb, track_count*16 + 8, 0x4403);
>>       mxf_write_refs_count(pb, track_count);
>> -    mxf_write_uuid(pb, package->type == MaterialPackage ? Track :
>> -                   Track + TypeBottom, -1); // timecode track
>> +    mxf_write_uuid(pb, Track, mxf->track_uuid_offset); // timecode track
>>       for (i = 0; i < s->nb_streams; i++)
>> -        mxf_write_uuid(pb, package->type == MaterialPackage ? Track :
>> Track + TypeBottom, i);
>> +        mxf_write_uuid(pb, Track,  mxf->track_uuid_offset + i + 1);
>>
>
> Do these refer to tracks that are about to be written? Seems so as best I
> can tell, so I guess it works. I'd be happier if the referencing was done
> more explicitly rather than implicitly


yes they refer to the tracks about to be written. Those uuids need to match
the uuid instance tag (0x3C0A) on a track written in mxf_write_track. then
the uuid ref on the track needs to match the one on the sequence, and then
the one the sequence needs to match the one on the component.

would you rather the instance id be a argument to each of the write
functions? for example:
mxf_write_package(AVFormatContext *s, MXFPackage *package, int
track_uuid_offset)
mxf_write_track(AVFormatContext *s, AVStream *st, MXFPackage *package, int
instance_id)
would that be more explicit?



>
>         // write user comment refs
>>       if (mxf->store_user_comments) {
>> @@ -1402,12 +1401,14 @@ static void mxf_write_package(AVFormatContext
>> *s, MXFPackage *package)
>>       mxf_write_track(s, mxf->timecode_track, package);
>>       mxf_write_sequence(s, mxf->timecode_track, package);
>>       mxf_write_timecode_component(s, mxf->timecode_track, package);
>> +    mxf->track_uuid_offset++;
>>         for (i = 0; i < s->nb_streams; i++) {
>>           AVStream *st = s->streams[i];
>>           mxf_write_track(s, st, package);
>>           mxf_write_sequence(s, st, package);
>>           mxf_write_structural_component(s, st, package);
>> +        mxf->track_uuid_offset++;
>>
>>
>
> /Tomas
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
Tomas Härdin Nov. 30, 2017, 5:01 p.m. UTC | #3
On Wed, 2017-11-29 at 20:18 -0800, Mark Reid wrote:
> On Wed, Nov 29, 2017 at 1:36 AM, Tomas Härdin <tjoppen@acc.umu.se>
> wrote:
> 
> > On 2017-11-29 05:11, Mark Reid wrote:
> > 
> > > @@ -980,7 +980,7 @@ static void
> > > mxf_write_structural_component(AVFormatContext
> > > *s, AVStream *st, MXF
> > >         // write uid
> > >       mxf_write_local_tag(pb, 16, 0x3C0A);
> > > -    mxf_write_uuid(pb, package->type == MaterialPackage ?
> > > SourceClip:
> > > SourceClip + TypeBottom, st->index);
> > > +    mxf_write_uuid(pb, SourceClip, mxf->track_uuid_offset);
> > >         PRINT_KEY(s, "structural component uid", pb->buf_ptr -
> > > 16);
> > >       mxf_write_common_fields(s, st);
> > > @@ -1357,7 +1357,7 @@ static void
> > > mxf_write_package(AVFormatContext *s,
> > > MXFPackage *package)
> > >         // write package umid
> > >       mxf_write_local_tag(pb, 32, 0x4401);
> > > -    mxf_write_umid(s, package->type == SourcePackage);
> > > +    mxf_write_umid(s, package->instance);
> > >       PRINT_KEY(s, "package umid second part", pb->buf_ptr - 16);
> > >         // package name
> > > @@ -1375,10 +1375,9 @@ static void
> > > mxf_write_package(AVFormatContext *s,
> > > MXFPackage *package)
> > >       // write track refs
> > >       mxf_write_local_tag(pb, track_count*16 + 8, 0x4403);
> > >       mxf_write_refs_count(pb, track_count);
> > > -    mxf_write_uuid(pb, package->type == MaterialPackage ? Track
> > > :
> > > -                   Track + TypeBottom, -1); // timecode track
> > > +    mxf_write_uuid(pb, Track, mxf->track_uuid_offset); //
> > > timecode track
> > >       for (i = 0; i < s->nb_streams; i++)
> > > -        mxf_write_uuid(pb, package->type == MaterialPackage ?
> > > Track :
> > > Track + TypeBottom, i);
> > > +        mxf_write_uuid(pb, Track,  mxf->track_uuid_offset + i +
> > > 1);
> > > 
> > 
> > Do these refer to tracks that are about to be written? Seems so as
> > best I
> > can tell, so I guess it works. I'd be happier if the referencing
> > was done
> > more explicitly rather than implicitly
> 
> 
> yes they refer to the tracks about to be written. Those uuids need to
> match
> the uuid instance tag (0x3C0A) on a track written in mxf_write_track.
> then
> the uuid ref on the track needs to match the one on the sequence, and
> then
> the one the sequence needs to match the one on the component.
> 
> would you rather the instance id be a argument to each of the write
> functions? for example:
> mxf_write_package(AVFormatContext *s, MXFPackage *package, int
> track_uuid_offset)
> mxf_write_track(AVFormatContext *s, AVStream *st, MXFPackage
> *package, int
> instance_id)
> would that be more explicit?

I'm not quite sure tbh. It's been a few years since I worked with MXF,
so it's harder to say. Maybe a comment would be enough

/Tomas
Mark Reid Dec. 5, 2017, 4:26 a.m. UTC | #4
On Thu, Nov 30, 2017 at 9:01 AM, Tomas Härdin <tjoppen@acc.umu.se> wrote:

> On Wed, 2017-11-29 at 20:18 -0800, Mark Reid wrote:
> > On Wed, Nov 29, 2017 at 1:36 AM, Tomas Härdin <tjoppen@acc.umu.se>
> > wrote:
> >
> > > On 2017-11-29 05:11, Mark Reid wrote:
> > >
> > > > @@ -980,7 +980,7 @@ static void
> > > > mxf_write_structural_component(AVFormatContext
> > > > *s, AVStream *st, MXF
> > > >         // write uid
> > > >       mxf_write_local_tag(pb, 16, 0x3C0A);
> > > > -    mxf_write_uuid(pb, package->type == MaterialPackage ?
> > > > SourceClip:
> > > > SourceClip + TypeBottom, st->index);
> > > > +    mxf_write_uuid(pb, SourceClip, mxf->track_uuid_offset);
> > > >         PRINT_KEY(s, "structural component uid", pb->buf_ptr -
> > > > 16);
> > > >       mxf_write_common_fields(s, st);
> > > > @@ -1357,7 +1357,7 @@ static void
> > > > mxf_write_package(AVFormatContext *s,
> > > > MXFPackage *package)
> > > >         // write package umid
> > > >       mxf_write_local_tag(pb, 32, 0x4401);
> > > > -    mxf_write_umid(s, package->type == SourcePackage);
> > > > +    mxf_write_umid(s, package->instance);
> > > >       PRINT_KEY(s, "package umid second part", pb->buf_ptr - 16);
> > > >         // package name
> > > > @@ -1375,10 +1375,9 @@ static void
> > > > mxf_write_package(AVFormatContext *s,
> > > > MXFPackage *package)
> > > >       // write track refs
> > > >       mxf_write_local_tag(pb, track_count*16 + 8, 0x4403);
> > > >       mxf_write_refs_count(pb, track_count);
> > > > -    mxf_write_uuid(pb, package->type == MaterialPackage ? Track
> > > > :
> > > > -                   Track + TypeBottom, -1); // timecode track
> > > > +    mxf_write_uuid(pb, Track, mxf->track_uuid_offset); //
> > > > timecode track
> > > >       for (i = 0; i < s->nb_streams; i++)
> > > > -        mxf_write_uuid(pb, package->type == MaterialPackage ?
> > > > Track :
> > > > Track + TypeBottom, i);
> > > > +        mxf_write_uuid(pb, Track,  mxf->track_uuid_offset + i +
> > > > 1);
> > > >
> > >
> > > Do these refer to tracks that are about to be written? Seems so as
> > > best I
> > > can tell, so I guess it works. I'd be happier if the referencing
> > > was done
> > > more explicitly rather than implicitly
> >
> >
> > yes they refer to the tracks about to be written. Those uuids need to
> > match
> > the uuid instance tag (0x3C0A) on a track written in mxf_write_track.
> > then
> > the uuid ref on the track needs to match the one on the sequence, and
> > then
> > the one the sequence needs to match the one on the component.
> >
> > would you rather the instance id be a argument to each of the write
> > functions? for example:
> > mxf_write_package(AVFormatContext *s, MXFPackage *package, int
> > track_uuid_offset)
> > mxf_write_track(AVFormatContext *s, AVStream *st, MXFPackage
> > *package, int
> > instance_id)
> > would that be more explicit?
>
> I'm not quite sure tbh. It's been a few years since I worked with MXF,
> so it's harder to say. Maybe a comment would be enough
>
>
okay I'll submit a new version with some more comments


> /Tomas
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
>
diff mbox

Patch

diff --git a/libavformat/mxf.h b/libavformat/mxf.h
index f3db1f939b..2d5b44943b 100644
--- a/libavformat/mxf.h
+++ b/libavformat/mxf.h
@@ -45,7 +45,6 @@  enum MXFMetadataSetType {
     SubDescriptor,
     IndexTableSegment,
     EssenceContainerData,
-    TypeBottom,// add metadata type before this
     EssenceGroup,
     TaggedValue,
 };
diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c
index ed6ecbf541..baaeb8c617 100644
--- a/libavformat/mxfenc.c
+++ b/libavformat/mxfenc.c
@@ -386,6 +386,7 @@  typedef struct MXFContext {
     uint32_t tagged_value_count;
     AVRational audio_edit_rate;
     int store_user_comments;
+    int track_uuid_offset;
 } MXFContext;
 
 static const uint8_t uuid_base[]            = { 0xAD,0xAB,0x44,0x24,0x2f,0x25,0x4d,0xc7,0x92,0xff,0x29,0xbd };
@@ -853,7 +854,7 @@  static void mxf_write_track(AVFormatContext *s, AVStream *st, MXFPackage *packag
 
     // write track uid
     mxf_write_local_tag(pb, 16, 0x3C0A);
-    mxf_write_uuid(pb, package->type == MaterialPackage ? Track : Track + TypeBottom, st->index);
+    mxf_write_uuid(pb, Track, mxf->track_uuid_offset);
     PRINT_KEY(s, "track uid", pb->buf_ptr - 16);
 
     // write track id
@@ -884,7 +885,7 @@  static void mxf_write_track(AVFormatContext *s, AVStream *st, MXFPackage *packag
 
     // write sequence refs
     mxf_write_local_tag(pb, 16, 0x4803);
-    mxf_write_uuid(pb, package->type == MaterialPackage ? Sequence: Sequence + TypeBottom, st->index);
+    mxf_write_uuid(pb, Sequence, mxf->track_uuid_offset);
 }
 
 static const uint8_t smpte_12m_timecode_track_data_ul[] = { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x01,0x03,0x02,0x01,0x01,0x00,0x00,0x00 };
@@ -924,7 +925,7 @@  static void mxf_write_sequence(AVFormatContext *s, AVStream *st, MXFPackage *pac
     klv_encode_ber_length(pb, 80);
 
     mxf_write_local_tag(pb, 16, 0x3C0A);
-    mxf_write_uuid(pb, package->type == MaterialPackage ? Sequence: Sequence + TypeBottom, st->index);
+    mxf_write_uuid(pb, Sequence, mxf->track_uuid_offset);
 
     PRINT_KEY(s, "sequence uid", pb->buf_ptr - 16);
     mxf_write_common_fields(s, st);
@@ -936,9 +937,8 @@  static void mxf_write_sequence(AVFormatContext *s, AVStream *st, MXFPackage *pac
         component = TimecodeComponent;
     else
         component = SourceClip;
-    if (package->type == SourcePackage)
-        component += TypeBottom;
-    mxf_write_uuid(pb, component, st->index);
+
+    mxf_write_uuid(pb, component, mxf->track_uuid_offset);
 }
 
 static void mxf_write_timecode_component(AVFormatContext *s, AVStream *st, MXFPackage *package)
@@ -951,8 +951,7 @@  static void mxf_write_timecode_component(AVFormatContext *s, AVStream *st, MXFPa
 
     // UID
     mxf_write_local_tag(pb, 16, 0x3C0A);
-    mxf_write_uuid(pb, package->type == MaterialPackage ? TimecodeComponent :
-                   TimecodeComponent + TypeBottom, st->index);
+    mxf_write_uuid(pb, TimecodeComponent, mxf->track_uuid_offset);
 
     mxf_write_common_fields(s, st);
 
@@ -971,6 +970,7 @@  static void mxf_write_timecode_component(AVFormatContext *s, AVStream *st, MXFPa
 
 static void mxf_write_structural_component(AVFormatContext *s, AVStream *st, MXFPackage *package)
 {
+    MXFContext *mxf = s->priv_data;
     AVIOContext *pb = s->pb;
     int i;
 
@@ -980,7 +980,7 @@  static void mxf_write_structural_component(AVFormatContext *s, AVStream *st, MXF
 
     // write uid
     mxf_write_local_tag(pb, 16, 0x3C0A);
-    mxf_write_uuid(pb, package->type == MaterialPackage ? SourceClip: SourceClip + TypeBottom, st->index);
+    mxf_write_uuid(pb, SourceClip, mxf->track_uuid_offset);
 
     PRINT_KEY(s, "structural component uid", pb->buf_ptr - 16);
     mxf_write_common_fields(s, st);
@@ -1357,7 +1357,7 @@  static void mxf_write_package(AVFormatContext *s, MXFPackage *package)
 
     // write package umid
     mxf_write_local_tag(pb, 32, 0x4401);
-    mxf_write_umid(s, package->type == SourcePackage);
+    mxf_write_umid(s, package->instance);
     PRINT_KEY(s, "package umid second part", pb->buf_ptr - 16);
 
     // package name
@@ -1375,10 +1375,9 @@  static void mxf_write_package(AVFormatContext *s, MXFPackage *package)
     // write track refs
     mxf_write_local_tag(pb, track_count*16 + 8, 0x4403);
     mxf_write_refs_count(pb, track_count);
-    mxf_write_uuid(pb, package->type == MaterialPackage ? Track :
-                   Track + TypeBottom, -1); // timecode track
+    mxf_write_uuid(pb, Track, mxf->track_uuid_offset); // timecode track
     for (i = 0; i < s->nb_streams; i++)
-        mxf_write_uuid(pb, package->type == MaterialPackage ? Track : Track + TypeBottom, i);
+        mxf_write_uuid(pb, Track,  mxf->track_uuid_offset + i + 1);
 
     // write user comment refs
     if (mxf->store_user_comments) {
@@ -1402,12 +1401,14 @@  static void mxf_write_package(AVFormatContext *s, MXFPackage *package)
     mxf_write_track(s, mxf->timecode_track, package);
     mxf_write_sequence(s, mxf->timecode_track, package);
     mxf_write_timecode_component(s, mxf->timecode_track, package);
+    mxf->track_uuid_offset++;
 
     for (i = 0; i < s->nb_streams; i++) {
         AVStream *st = s->streams[i];
         mxf_write_track(s, st, package);
         mxf_write_sequence(s, st, package);
         mxf_write_structural_component(s, st, package);
+        mxf->track_uuid_offset++;
 
         if (package->type == SourcePackage) {
             MXFStreamContext *sc = st->priv_data;
@@ -1440,6 +1441,7 @@  static int mxf_write_essence_container_data(AVFormatContext *s)
 
 static int mxf_write_header_metadata_sets(AVFormatContext *s)
 {
+    MXFContext *mxf = s->priv_data;
     AVDictionaryEntry *entry = NULL;
     AVStream *st = NULL;
     int i;
@@ -1448,6 +1450,7 @@  static int mxf_write_header_metadata_sets(AVFormatContext *s)
     int package_count = 2;
     packages[0].type = MaterialPackage;
     packages[1].type = SourcePackage;
+    packages[1].instance = 1;
 
     if (entry = av_dict_get(s->metadata, "material_package_name", NULL, 0))
        packages[0].name = entry->value;
@@ -1468,6 +1471,7 @@  static int mxf_write_header_metadata_sets(AVFormatContext *s)
     mxf_write_preface(s);
     mxf_write_identification(s);
     mxf_write_content_storage(s, packages, package_count);
+    mxf->track_uuid_offset = 0;
     for (i = 0; i < package_count; i++)
         mxf_write_package(s, &packages[i]);
     mxf_write_essence_container_data(s);
diff --git a/tests/ref/fate/copy-trac4914 b/tests/ref/fate/copy-trac4914
index e0864a0035..a8f287fafa 100644
--- a/tests/ref/fate/copy-trac4914
+++ b/tests/ref/fate/copy-trac4914
@@ -1,4 +1,4 @@ 
-d51f6bcc96885a2ce8517ae8c774f610 *tests/data/fate/copy-trac4914.mxf
+05fdc4a6e28abb2c26e96224682d2684 *tests/data/fate/copy-trac4914.mxf
 560697 tests/data/fate/copy-trac4914.mxf
 #tb 0: 1001/30000
 #media_type 0: video
diff --git a/tests/ref/fate/time_base b/tests/ref/fate/time_base
index 7923556b35..4dd14084d3 100644
--- a/tests/ref/fate/time_base
+++ b/tests/ref/fate/time_base
@@ -1 +1 @@ 
-d26a35b141551b36c5b8bd716451cfcb
+f97551f884df5ab709c5869c66c7b9bc
diff --git a/tests/ref/lavf/mxf b/tests/ref/lavf/mxf
index b9c37334a9..7318447ecb 100644
--- a/tests/ref/lavf/mxf
+++ b/tests/ref/lavf/mxf
@@ -1,9 +1,9 @@ 
-1c06a9d69b6e309579784db5ecb0b69f *./tests/data/lavf/lavf.mxf
+d4140129463dec64bdb4a7d7ad1b0c82 *./tests/data/lavf/lavf.mxf
 525369 ./tests/data/lavf/lavf.mxf
 ./tests/data/lavf/lavf.mxf CRC=0x8dddfaab
-50b4f9ca0493e6d83f4c52dc3aa2b7a5 *./tests/data/lavf/lavf.mxf
+a27bb8cd5e185ea13b0a8daa4eb221cd *./tests/data/lavf/lavf.mxf
 560697 ./tests/data/lavf/lavf.mxf
 ./tests/data/lavf/lavf.mxf CRC=0xf21b1b48
-4b71b154ae37364c8028cb50850a54c5 *./tests/data/lavf/lavf.mxf
+395bf0047c97ceca96935357166b94c7 *./tests/data/lavf/lavf.mxf
 525369 ./tests/data/lavf/lavf.mxf
 ./tests/data/lavf/lavf.mxf CRC=0x8dddfaab
diff --git a/tests/ref/lavf/mxf_d10 b/tests/ref/lavf/mxf_d10
index 134db876d5..2384d427b0 100644
--- a/tests/ref/lavf/mxf_d10
+++ b/tests/ref/lavf/mxf_d10
@@ -1,3 +1,3 @@ 
-73c0cb416548c33d0651c59519a8f7e2 *./tests/data/lavf/lavf.mxf_d10
+f4694941b0cd5b5e3c91064d84dbd345 *./tests/data/lavf/lavf.mxf_d10
 5330989 ./tests/data/lavf/lavf.mxf_d10
 ./tests/data/lavf/lavf.mxf_d10 CRC=0x6c74d488
diff --git a/tests/ref/lavf/mxf_dv25 b/tests/ref/lavf/mxf_dv25
index 85094828d1..e836b14240 100644
--- a/tests/ref/lavf/mxf_dv25
+++ b/tests/ref/lavf/mxf_dv25
@@ -1,3 +1,3 @@ 
-1871bd11947924116776201f24fd0adf *./tests/data/lavf/lavf.mxf_dv25
+1ca8143bf6cf322fd39f6e856959d502 *./tests/data/lavf/lavf.mxf_dv25
 3833389 ./tests/data/lavf/lavf.mxf_dv25
 ./tests/data/lavf/lavf.mxf_dv25 CRC=0xbdaf7f52
diff --git a/tests/ref/lavf/mxf_dvcpro50 b/tests/ref/lavf/mxf_dvcpro50
index 1d0cf79996..bb3d6b928a 100644
--- a/tests/ref/lavf/mxf_dvcpro50
+++ b/tests/ref/lavf/mxf_dvcpro50
@@ -1,3 +1,3 @@ 
-6c9cb62911ac16c3b55f0ad0b052c05b *./tests/data/lavf/lavf.mxf_dvcpro50
+987fd4b2abb36433fba0e35f4092efc6 *./tests/data/lavf/lavf.mxf_dvcpro50
 7430189 ./tests/data/lavf/lavf.mxf_dvcpro50
 ./tests/data/lavf/lavf.mxf_dvcpro50 CRC=0xe3bbe4b4
diff --git a/tests/ref/lavf/mxf_opatom b/tests/ref/lavf/mxf_opatom
index ea1190c06a..1cc612e627 100644
--- a/tests/ref/lavf/mxf_opatom
+++ b/tests/ref/lavf/mxf_opatom
@@ -1,3 +1,3 @@ 
-962c2cd582340f8961a8283636093abf *./tests/data/lavf/lavf.mxf_opatom
+b8fe60f7457b83709f33357d04c8db0c *./tests/data/lavf/lavf.mxf_opatom
 4717113 ./tests/data/lavf/lavf.mxf_opatom
 ./tests/data/lavf/lavf.mxf_opatom CRC=0xf55aa22a
diff --git a/tests/ref/lavf/mxf_opatom_audio b/tests/ref/lavf/mxf_opatom_audio
index 953df9094f..deed55e526 100644
--- a/tests/ref/lavf/mxf_opatom_audio
+++ b/tests/ref/lavf/mxf_opatom_audio
@@ -1,3 +1,3 @@ 
-d4ad5a0faf410a9d9e99b3328143e89d *./tests/data/lavf/lavf.mxf_opatom_audio
+e7da52bd591e6eddb4e1af381a4e5bd4 *./tests/data/lavf/lavf.mxf_opatom_audio
 101945 ./tests/data/lavf/lavf.mxf_opatom_audio
 ./tests/data/lavf/lavf.mxf_opatom_audio CRC=0xd155c6ff