Re: [FFmpeg-devel] [PATCH v2 3/3] avformat/mxfdec: Read Apple private Content Light Level from MXF

2020-10-12 Thread Tomas Härdin
tis 2020-10-06 klockan 16:20 +0200 skrev Michael Niedermayer:
> On Mon, Oct 05, 2020 at 10:18:32AM +0200, Tomas Härdin wrote:
> > tor 2020-10-01 klockan 22:13 +0200 skrev Michael Niedermayer:
> > > On Thu, Oct 01, 2020 at 03:29:19PM +0100, Harry Mallon wrote:
> > > > > On 30 Sep 2020, at 08:32, Michael Niedermayer 
> > > > >  wrote:
> > > > > 
> > > > > fails on big endian
> > > > > 
> > > > > --- src/tests/ref/fate/mxf-probe-applehdr10   2020-09-28 
> > > > > 23:21:12.291897976 +0200
> > > > > +++ tests/data/fate/mxf-probe-applehdr10  2020-09-30 
> > > > > 09:31:38.614653806 +0200
> > > > > @@ -14,7 +14,7 @@
> > > > > has_b_frames=0
> > > > > sample_aspect_ratio=1:1
> > > > > display_aspect_ratio=16:9
> > > > > -pix_fmt=yuv422p10le
> > > > > +pix_fmt=yuv422p10be
> > > > > level=-99
> > > > > color_range=tv
> > > > > color_space=bt2020nc
> > > > > Test mxf-probe-applehdr10 failed. Look at 
> > > > > tests/data/fate/mxf-probe-applehdr10.err for details.
> > > > > src/tests/Makefile:255: recipe for target 'fate-mxf-probe-applehdr10' 
> > > > > failed
> > > > > make: *** [fate-mxf-probe-applehdr10] Error 1
> > > > 
> > > > It seems fair that the pixel type is in native endian.
> > > 
> > > maybe but the endianness of the decoder output doesnt belong in the
> > > comparission
> > > 
> > > 
> > > > I'm not really familiar enough with FATE to provide a patch to fix this 
> > > > though. Do any other FATE tests have wildcards or two versions for big 
> > > > and little endian?
> > > 
> > > i dont see another probe reference file that contains a le/be format
> > > 
> > > we had le/be issues in other places though where they where fixed by 
> > > forcing
> > > a format with specific endianness in the test IIRC
> > 
> > How about something like this?
> 
> it solves the problem here.
> so LGTM

Pushed

/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".

Re: [FFmpeg-devel] [PATCH v2 3/3] avformat/mxfdec: Read Apple private Content Light Level from MXF

2020-10-06 Thread Michael Niedermayer
On Mon, Oct 05, 2020 at 10:18:32AM +0200, Tomas Härdin wrote:
> tor 2020-10-01 klockan 22:13 +0200 skrev Michael Niedermayer:
> > On Thu, Oct 01, 2020 at 03:29:19PM +0100, Harry Mallon wrote:
> > > > On 30 Sep 2020, at 08:32, Michael Niedermayer  
> > > > wrote:
> > > > 
> > > > fails on big endian
> > > > 
> > > > --- src/tests/ref/fate/mxf-probe-applehdr10 2020-09-28 
> > > > 23:21:12.291897976 +0200
> > > > +++ tests/data/fate/mxf-probe-applehdr102020-09-30 
> > > > 09:31:38.614653806 +0200
> > > > @@ -14,7 +14,7 @@
> > > > has_b_frames=0
> > > > sample_aspect_ratio=1:1
> > > > display_aspect_ratio=16:9
> > > > -pix_fmt=yuv422p10le
> > > > +pix_fmt=yuv422p10be
> > > > level=-99
> > > > color_range=tv
> > > > color_space=bt2020nc
> > > > Test mxf-probe-applehdr10 failed. Look at 
> > > > tests/data/fate/mxf-probe-applehdr10.err for details.
> > > > src/tests/Makefile:255: recipe for target 'fate-mxf-probe-applehdr10' 
> > > > failed
> > > > make: *** [fate-mxf-probe-applehdr10] Error 1
> > > 
> > > It seems fair that the pixel type is in native endian.
> > 
> > maybe but the endianness of the decoder output doesnt belong in the
> > comparission
> > 
> > 
> > > I'm not really familiar enough with FATE to provide a patch to fix this 
> > > though. Do any other FATE tests have wildcards or two versions for big 
> > > and little endian?
> > 
> > i dont see another probe reference file that contains a le/be format
> > 
> > we had le/be issues in other places though where they where fixed by forcing
> > a format with specific endianness in the test IIRC
> 
> How about something like this?

it solves the problem here.
so LGTM

thx

[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Those who are too smart to engage in politics are punished by being
governed by those who are dumber. -- Plato 


signature.asc
Description: PGP signature
___
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".

Re: [FFmpeg-devel] [PATCH v2 3/3] avformat/mxfdec: Read Apple private Content Light Level from MXF

2020-10-05 Thread Tomas Härdin
tor 2020-10-01 klockan 22:13 +0200 skrev Michael Niedermayer:
> On Thu, Oct 01, 2020 at 03:29:19PM +0100, Harry Mallon wrote:
> > > On 30 Sep 2020, at 08:32, Michael Niedermayer  
> > > wrote:
> > > 
> > > fails on big endian
> > > 
> > > --- src/tests/ref/fate/mxf-probe-applehdr10   2020-09-28 
> > > 23:21:12.291897976 +0200
> > > +++ tests/data/fate/mxf-probe-applehdr10  2020-09-30 09:31:38.614653806 
> > > +0200
> > > @@ -14,7 +14,7 @@
> > > has_b_frames=0
> > > sample_aspect_ratio=1:1
> > > display_aspect_ratio=16:9
> > > -pix_fmt=yuv422p10le
> > > +pix_fmt=yuv422p10be
> > > level=-99
> > > color_range=tv
> > > color_space=bt2020nc
> > > Test mxf-probe-applehdr10 failed. Look at 
> > > tests/data/fate/mxf-probe-applehdr10.err for details.
> > > src/tests/Makefile:255: recipe for target 'fate-mxf-probe-applehdr10' 
> > > failed
> > > make: *** [fate-mxf-probe-applehdr10] Error 1
> > 
> > It seems fair that the pixel type is in native endian.
> 
> maybe but the endianness of the decoder output doesnt belong in the
> comparission
> 
> 
> > I'm not really familiar enough with FATE to provide a patch to fix this 
> > though. Do any other FATE tests have wildcards or two versions for big and 
> > little endian?
> 
> i dont see another probe reference file that contains a le/be format
> 
> we had le/be issues in other places though where they where fixed by forcing
> a format with specific endianness in the test IIRC

How about something like this?

/Tomas
From 2b98d97f21420f9db90f0bff3f5ae5d88fcac976 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tomas=20H=C3=A4rdin?= 
Date: Mon, 5 Oct 2020 10:17:13 +0200
Subject: [PATCH] fate-mxf-probe-applehdr10: Ignore endianness

---
 tests/fate/mxf.mak  | 2 +-
 tests/ref/fate/mxf-probe-applehdr10 | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/fate/mxf.mak b/tests/fate/mxf.mak
index 3adef939dc..ca119fa677 100644
--- a/tests/fate/mxf.mak
+++ b/tests/fate/mxf.mak
@@ -35,7 +35,7 @@ fate-mxf-probe-dv25: CMD = run $(PROBE_FORMAT_STREAMS_COMMAND) -i "$(SRC)"
 
 FATE_MXF_PROBE-$(call ENCDEC2, PRORES, PCM_S24LE, MXF) += fate-mxf-probe-applehdr10
 fate-mxf-probe-applehdr10: SRC = $(TARGET_SAMPLES)/mxf/Meridian-Apple_ProResProxy-HDR10.mxf
-fate-mxf-probe-applehdr10: CMD = run $(PROBE_FORMAT_STREAMS_COMMAND) -i "$(SRC)"
+fate-mxf-probe-applehdr10: CMD = run $(PROBE_FORMAT_STREAMS_COMMAND) -i "$(SRC)" | sed -e "s/yuv422p10../yuv422p10/"
 
 FATE_MXF_REEL_NAME-$(call ENCDEC2, MPEG2VIDEO, PCM_S16LE, MXF) += fate-mxf-reel_name
 fate-mxf-reel_name: $(SAMPLES)/mxf/Sony-1.mxf
diff --git a/tests/ref/fate/mxf-probe-applehdr10 b/tests/ref/fate/mxf-probe-applehdr10
index 3430670c52..53a767c1cd 100644
--- a/tests/ref/fate/mxf-probe-applehdr10
+++ b/tests/ref/fate/mxf-probe-applehdr10
@@ -14,7 +14,7 @@ closed_captions=0
 has_b_frames=0
 sample_aspect_ratio=1:1
 display_aspect_ratio=16:9
-pix_fmt=yuv422p10le
+pix_fmt=yuv422p10
 level=-99
 color_range=tv
 color_space=bt2020nc
-- 
2.20.1

___
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".

Re: [FFmpeg-devel] [PATCH v2 3/3] avformat/mxfdec: Read Apple private Content Light Level from MXF

2020-10-01 Thread Michael Niedermayer
On Thu, Oct 01, 2020 at 03:29:19PM +0100, Harry Mallon wrote:
> 
> 
> 
> > On 30 Sep 2020, at 08:32, Michael Niedermayer  
> > wrote:
> > 
> > On Thu, Sep 17, 2020 at 10:49:31PM +0200, Tomas Härdin wrote:
> >> mån 2020-09-14 klockan 12:23 +0200 skrev Tomas Härdin:
> >>> ons 2020-09-09 klockan 15:56 +0100 skrev Harry Mallon:
>  * As embedded by Apple Compressor
>  
>  Signed-off-by: Harry Mallon 
>  ---
>  libavformat/mxfdec.c|  27 +
>  tests/fate/mxf.mak  |   4 +
>  tests/ref/fate/mxf-probe-applehdr10 | 169
>  
> >>> 
> >>> Sweet, I don't have to write the test myself .)
> >>> 
> >>> Just ran FATE, the entire patch set works fine. We just need to get
> >>> that sample into the sample suite then all three of them can be
> >>> pushed.
> >>> I'll see what I can do.
> >> 
> >> FATE suite updated, FATE passes -> patchset pushed
> > 
> > fails on big endian
> > 
> > --- src/tests/ref/fate/mxf-probe-applehdr10 2020-09-28 23:21:12.291897976 
> > +0200
> > +++ tests/data/fate/mxf-probe-applehdr102020-09-30 09:31:38.614653806 
> > +0200
> > @@ -14,7 +14,7 @@
> > has_b_frames=0
> > sample_aspect_ratio=1:1
> > display_aspect_ratio=16:9
> > -pix_fmt=yuv422p10le
> > +pix_fmt=yuv422p10be
> > level=-99
> > color_range=tv
> > color_space=bt2020nc
> > Test mxf-probe-applehdr10 failed. Look at 
> > tests/data/fate/mxf-probe-applehdr10.err for details.
> > src/tests/Makefile:255: recipe for target 'fate-mxf-probe-applehdr10' failed
> > make: *** [fate-mxf-probe-applehdr10] Error 1
> 
> It seems fair that the pixel type is in native endian.

maybe but the endianness of the decoder output doesnt belong in the
comparission


> I'm not really familiar enough with FATE to provide a patch to fix this 
> though. Do any other FATE tests have wildcards or two versions for big and 
> little endian?

i dont see another probe reference file that contains a le/be format

we had le/be issues in other places though where they where fixed by forcing
a format with specific endianness in the test IIRC

thx


[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

It is dangerous to be right in matters on which the established authorities
are wrong. -- Voltaire


signature.asc
Description: PGP signature
___
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".

Re: [FFmpeg-devel] [PATCH v2 3/3] avformat/mxfdec: Read Apple private Content Light Level from MXF

2020-10-01 Thread Harry Mallon



> On 30 Sep 2020, at 08:32, Michael Niedermayer  wrote:
> 
> On Thu, Sep 17, 2020 at 10:49:31PM +0200, Tomas Härdin wrote:
>> mån 2020-09-14 klockan 12:23 +0200 skrev Tomas Härdin:
>>> ons 2020-09-09 klockan 15:56 +0100 skrev Harry Mallon:
 * As embedded by Apple Compressor
 
 Signed-off-by: Harry Mallon 
 ---
 libavformat/mxfdec.c|  27 +
 tests/fate/mxf.mak  |   4 +
 tests/ref/fate/mxf-probe-applehdr10 | 169
 
>>> 
>>> Sweet, I don't have to write the test myself .)
>>> 
>>> Just ran FATE, the entire patch set works fine. We just need to get
>>> that sample into the sample suite then all three of them can be
>>> pushed.
>>> I'll see what I can do.
>> 
>> FATE suite updated, FATE passes -> patchset pushed
> 
> fails on big endian
> 
> --- src/tests/ref/fate/mxf-probe-applehdr10   2020-09-28 23:21:12.291897976 
> +0200
> +++ tests/data/fate/mxf-probe-applehdr10  2020-09-30 09:31:38.614653806 
> +0200
> @@ -14,7 +14,7 @@
> has_b_frames=0
> sample_aspect_ratio=1:1
> display_aspect_ratio=16:9
> -pix_fmt=yuv422p10le
> +pix_fmt=yuv422p10be
> level=-99
> color_range=tv
> color_space=bt2020nc
> Test mxf-probe-applehdr10 failed. Look at 
> tests/data/fate/mxf-probe-applehdr10.err for details.
> src/tests/Makefile:255: recipe for target 'fate-mxf-probe-applehdr10' failed
> make: *** [fate-mxf-probe-applehdr10] Error 1

It seems fair that the pixel type is in native endian. I'm not really familiar 
enough with FATE to provide a patch to fix this though. Do any other FATE tests 
have wildcards or two versions for big and little endian?

> 
> [...]
> 

Harry
___
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".

Re: [FFmpeg-devel] [PATCH v2 3/3] avformat/mxfdec: Read Apple private Content Light Level from MXF

2020-09-30 Thread Michael Niedermayer
On Thu, Sep 17, 2020 at 10:49:31PM +0200, Tomas Härdin wrote:
> mån 2020-09-14 klockan 12:23 +0200 skrev Tomas Härdin:
> > ons 2020-09-09 klockan 15:56 +0100 skrev Harry Mallon:
> > > * As embedded by Apple Compressor
> > > 
> > > Signed-off-by: Harry Mallon 
> > > ---
> > >  libavformat/mxfdec.c|  27 +
> > >  tests/fate/mxf.mak  |   4 +
> > >  tests/ref/fate/mxf-probe-applehdr10 | 169
> > > 
> > 
> > Sweet, I don't have to write the test myself .)
> > 
> > Just ran FATE, the entire patch set works fine. We just need to get
> > that sample into the sample suite then all three of them can be
> > pushed.
> > I'll see what I can do.
> 
> FATE suite updated, FATE passes -> patchset pushed

fails on big endian

--- src/tests/ref/fate/mxf-probe-applehdr10 2020-09-28 23:21:12.291897976 
+0200
+++ tests/data/fate/mxf-probe-applehdr102020-09-30 09:31:38.614653806 
+0200
@@ -14,7 +14,7 @@
 has_b_frames=0
 sample_aspect_ratio=1:1
 display_aspect_ratio=16:9
-pix_fmt=yuv422p10le
+pix_fmt=yuv422p10be
 level=-99
 color_range=tv
 color_space=bt2020nc
Test mxf-probe-applehdr10 failed. Look at 
tests/data/fate/mxf-probe-applehdr10.err for details.
src/tests/Makefile:255: recipe for target 'fate-mxf-probe-applehdr10' failed
make: *** [fate-mxf-probe-applehdr10] Error 1

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I have never wished to cater to the crowd; for what I know they do not
approve, and what they approve I do not know. -- Epicurus


signature.asc
Description: PGP signature
___
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".

Re: [FFmpeg-devel] [PATCH v2 3/3] avformat/mxfdec: Read Apple private Content Light Level from MXF

2020-09-17 Thread Tomas Härdin
mån 2020-09-14 klockan 12:23 +0200 skrev Tomas Härdin:
> ons 2020-09-09 klockan 15:56 +0100 skrev Harry Mallon:
> > * As embedded by Apple Compressor
> > 
> > Signed-off-by: Harry Mallon 
> > ---
> >  libavformat/mxfdec.c|  27 +
> >  tests/fate/mxf.mak  |   4 +
> >  tests/ref/fate/mxf-probe-applehdr10 | 169
> > 
> 
> Sweet, I don't have to write the test myself .)
> 
> Just ran FATE, the entire patch set works fine. We just need to get
> that sample into the sample suite then all three of them can be
> pushed.
> I'll see what I can do.

FATE suite updated, FATE passes -> patchset pushed

/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".

Re: [FFmpeg-devel] [PATCH v2 3/3] avformat/mxfdec: Read Apple private Content Light Level from MXF

2020-09-14 Thread Tomas Härdin
ons 2020-09-09 klockan 15:56 +0100 skrev Harry Mallon:
> * As embedded by Apple Compressor
> 
> Signed-off-by: Harry Mallon 
> ---
>  libavformat/mxfdec.c|  27 +
>  tests/fate/mxf.mak  |   4 +
>  tests/ref/fate/mxf-probe-applehdr10 | 169 

Sweet, I don't have to write the test myself .)

Just ran FATE, the entire patch set works fine. We just need to get
that sample into the sample suite then all three of them can be pushed.
I'll see what I can do.

/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".

[FFmpeg-devel] [PATCH v2 3/3] avformat/mxfdec: Read Apple private Content Light Level from MXF

2020-09-09 Thread Harry Mallon
* As embedded by Apple Compressor

Signed-off-by: Harry Mallon 
---
 libavformat/mxfdec.c|  27 +
 tests/fate/mxf.mak  |   4 +
 tests/ref/fate/mxf-probe-applehdr10 | 169 
 3 files changed, 200 insertions(+)
 create mode 100644 tests/ref/fate/mxf-probe-applehdr10

diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c
index 8d315620bc..d16a7af0df 100644
--- a/libavformat/mxfdec.c
+++ b/libavformat/mxfdec.c
@@ -216,6 +216,8 @@ typedef struct MXFDescriptor {
 UID color_trc_ul;
 UID color_space_ul;
 AVMasteringDisplayMetadata *mastering;
+AVContentLightMetadata *coll;
+size_t coll_size;
 } MXFDescriptor;
 
 typedef struct MXFIndexTableSegment {
@@ -321,6 +323,7 @@ static const uint8_t mxf_canopus_essence_element_key[] 
= { 0x06,0x0e,0x2b,0x
 static const uint8_t mxf_system_item_key_cp[]  = { 
0x06,0x0e,0x2b,0x34,0x02,0x05,0x01,0x01,0x0d,0x01,0x03,0x01,0x04 };
 static const uint8_t mxf_system_item_key_gc[]  = { 
0x06,0x0e,0x2b,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x03,0x01,0x14 };
 static const uint8_t mxf_klv_key[] = { 
0x06,0x0e,0x2b,0x34 };
+static const uint8_t mxf_apple_coll_prefix[]   = { 
0x06,0x0e,0x2b,0x34,0x01,0x01,0x01,0x0e,0x0e,0x20,0x04,0x01,0x05,0x03,0x01 };
 /* complete keys to match */
 static const uint8_t mxf_crypto_source_container_ul[]  = { 
0x06,0x0e,0x2b,0x34,0x01,0x01,0x01,0x09,0x06,0x01,0x01,0x02,0x02,0x00,0x00,0x00 
};
 static const uint8_t mxf_encrypted_triplet_key[]   = { 
0x06,0x0e,0x2b,0x34,0x02,0x04,0x01,0x07,0x0d,0x01,0x03,0x01,0x02,0x7e,0x01,0x00 
};
@@ -331,6 +334,8 @@ static const uint8_t mxf_avid_project_name[]   
= { 0xa5,0xfb,0x7b,0x
 static const uint8_t mxf_jp2k_rsiz[]   = { 
0x06,0x0e,0x2b,0x34,0x02,0x05,0x01,0x01,0x0d,0x01,0x02,0x01,0x01,0x02,0x01,0x00 
};
 static const uint8_t mxf_indirect_value_utf16le[]  = { 
0x4c,0x00,0x02,0x10,0x01,0x00,0x00,0x00,0x00,0x06,0x0e,0x2b,0x34,0x01,0x04,0x01,0x01
 };
 static const uint8_t mxf_indirect_value_utf16be[]  = { 
0x42,0x01,0x10,0x02,0x00,0x00,0x00,0x00,0x00,0x06,0x0e,0x2b,0x34,0x01,0x04,0x01,0x01
 };
+static const uint8_t mxf_apple_coll_max_cll[]  = { 
0x06,0x0e,0x2b,0x34,0x01,0x01,0x01,0x0e,0x0e,0x20,0x04,0x01,0x05,0x03,0x01,0x01 
};
+static const uint8_t mxf_apple_coll_max_fall[] = { 
0x06,0x0e,0x2b,0x34,0x01,0x01,0x01,0x0e,0x0e,0x20,0x04,0x01,0x05,0x03,0x01,0x02 
};
 
 #define IS_KLV_KEY(x, y) (!memcmp(x, y, sizeof(y)))
 
@@ -341,6 +346,7 @@ static void mxf_free_metadataset(MXFMetadataSet **ctx, int 
freectx)
 case Descriptor:
 av_freep(&((MXFDescriptor *)*ctx)->extradata);
 av_freep(&((MXFDescriptor *)*ctx)->mastering);
+av_freep(&((MXFDescriptor *)*ctx)->coll);
 break;
 case MultipleDescriptor:
 av_freep(&((MXFDescriptor *)*ctx)->sub_descriptors_refs);
@@ -1312,6 +1318,19 @@ static int mxf_read_generic_descriptor(void *arg, 
AVIOContext *pb, int tag, int
 descriptor->mastering->has_luminance = 1;
 }
 }
+if (IS_KLV_KEY(uid, mxf_apple_coll_prefix)) {
+if (!descriptor->coll) {
+descriptor->coll = 
av_content_light_metadata_alloc(>coll_size);
+if (!descriptor->coll)
+return AVERROR(ENOMEM);
+}
+if (IS_KLV_KEY(uid, mxf_apple_coll_max_cll)) {
+descriptor->coll->MaxCLL = avio_rb16(pb);
+}
+if (IS_KLV_KEY(uid, mxf_apple_coll_max_fall)) {
+descriptor->coll->MaxFALL = avio_rb16(pb);
+}
+}
 break;
 }
 return 0;
@@ -2580,6 +2599,14 @@ static int mxf_parse_structural_metadata(MXFContext *mxf)
 goto fail_and_free;
 descriptor->mastering = NULL;
 }
+if (descriptor->coll) {
+ret = av_stream_add_side_data(st, 
AV_PKT_DATA_CONTENT_LIGHT_LEVEL,
+  (uint8_t *)descriptor->coll,
+  descriptor->coll_size);
+if (ret < 0)
+goto fail_and_free;
+descriptor->coll = NULL;
+}
 } else if (st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) {
 container_ul = mxf_get_codec_ul(mxf_sound_essence_container_uls, 
essence_container_ul);
 /* Only overwrite existing codec ID if it is unset or A-law, which 
is the default according to SMPTE RP 224. */
diff --git a/tests/fate/mxf.mak b/tests/fate/mxf.mak
index 4aafc1f578..3adef939dc 100644
--- a/tests/fate/mxf.mak
+++ b/tests/fate/mxf.mak
@@ -33,6 +33,10 @@ FATE_MXF_PROBE-$(call ENCDEC2, DVVIDEO, PCM_S16LE, MXF) += 
fate-mxf-probe-dv25
 fate-mxf-probe-dv25: SRC = $(TARGET_SAMPLES)/mxf/Avid-5.mxf
 fate-mxf-probe-dv25: CMD = run $(PROBE_FORMAT_STREAMS_COMMAND) -i