* [FFmpeg-devel] [PATCH 1/3] avformat/matroskadec: don't use sizeof(AVMasteringDisplayMetadata)
@ 2024-06-19 18:24 James Almer
2024-06-19 18:24 ` [FFmpeg-devel] [PATCH 2/3] avformat/mov: " James Almer
2024-06-19 18:24 ` [FFmpeg-devel] [PATCH 3/3] avformat/mxfdec: " James Almer
0 siblings, 2 replies; 4+ messages in thread
From: James Almer @ 2024-06-19 18:24 UTC (permalink / raw)
To: ffmpeg-devel
It's not part of the libavutil ABI.
Signed-off-by: James Almer <jamrial@gmail.com>
---
libavformat/matroskadec.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index 328109b354..6bc5fa621e 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -2324,15 +2324,15 @@ static int mkv_parse_video_color(AVStream *st, const MatroskaTrack *track) {
}
if (has_mastering_primaries || has_mastering_luminance) {
- AVMasteringDisplayMetadata *metadata;
- AVPacketSideData *sd = av_packet_side_data_new(&st->codecpar->coded_side_data,
- &st->codecpar->nb_coded_side_data,
- AV_PKT_DATA_MASTERING_DISPLAY_METADATA,
- sizeof(AVMasteringDisplayMetadata), 0);
- if (!sd)
+ size_t size = 0;
+ AVMasteringDisplayMetadata *metadata = av_mastering_display_metadata_alloc_size(&size);
+ if (!metadata)
+ return AVERROR(ENOMEM);
+ if (!av_packet_side_data_add(&st->codecpar->coded_side_data, &st->codecpar->nb_coded_side_data,
+ AV_PKT_DATA_MASTERING_DISPLAY_METADATA, metadata, size, 0)) {
+ av_freep(&metadata);
return AVERROR(ENOMEM);
- metadata = (AVMasteringDisplayMetadata*)sd->data;
- memset(metadata, 0, sizeof(AVMasteringDisplayMetadata));
+ }
if (has_mastering_primaries) {
metadata->display_primaries[0][0] = av_d2q(mastering_meta->r_x, INT_MAX);
metadata->display_primaries[0][1] = av_d2q(mastering_meta->r_y, INT_MAX);
--
2.45.2
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 4+ messages in thread
* [FFmpeg-devel] [PATCH 2/3] avformat/mov: don't use sizeof(AVMasteringDisplayMetadata)
2024-06-19 18:24 [FFmpeg-devel] [PATCH 1/3] avformat/matroskadec: don't use sizeof(AVMasteringDisplayMetadata) James Almer
@ 2024-06-19 18:24 ` James Almer
2024-06-19 18:24 ` [FFmpeg-devel] [PATCH 3/3] avformat/mxfdec: " James Almer
1 sibling, 0 replies; 4+ messages in thread
From: James Almer @ 2024-06-19 18:24 UTC (permalink / raw)
To: ffmpeg-devel
It's not part of the libavutil ABI.
Signed-off-by: James Almer <jamrial@gmail.com>
---
libavformat/isom.h | 1 +
libavformat/mov.c | 6 +++---
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/libavformat/isom.h b/libavformat/isom.h
index c0a5788e08..35b767a52c 100644
--- a/libavformat/isom.h
+++ b/libavformat/isom.h
@@ -250,6 +250,7 @@ typedef struct MOVStreamContext {
AVSphericalMapping *spherical;
size_t spherical_size;
AVMasteringDisplayMetadata *mastering;
+ size_t mastering_size;
AVContentLightMetadata *coll;
size_t coll_size;
AVAmbientViewingEnvironment *ambient;
diff --git a/libavformat/mov.c b/libavformat/mov.c
index 367af8478b..2d5b24b9a9 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -6138,7 +6138,7 @@ static int mov_read_smdm(MOVContext *c, AVIOContext *pb, MOVAtom atom)
avio_skip(pb, 3); /* flags */
- sc->mastering = av_mastering_display_metadata_alloc();
+ sc->mastering = av_mastering_display_metadata_alloc_size(&sc->mastering_size);
if (!sc->mastering)
return AVERROR(ENOMEM);
@@ -6181,7 +6181,7 @@ static int mov_read_mdcv(MOVContext *c, AVIOContext *pb, MOVAtom atom)
return 0;
}
- sc->mastering = av_mastering_display_metadata_alloc();
+ sc->mastering = av_mastering_display_metadata_alloc_size(&sc->mastering_size);
if (!sc->mastering)
return AVERROR(ENOMEM);
@@ -10043,7 +10043,7 @@ static int mov_read_header(AVFormatContext *s)
if (sc->mastering) {
if (!av_packet_side_data_add(&st->codecpar->coded_side_data, &st->codecpar->nb_coded_side_data,
AV_PKT_DATA_MASTERING_DISPLAY_METADATA,
- (uint8_t *)sc->mastering, sizeof(*sc->mastering), 0))
+ (uint8_t *)sc->mastering, sc->mastering_size, 0))
return AVERROR(ENOMEM);
sc->mastering = NULL;
--
2.45.2
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 4+ messages in thread
* [FFmpeg-devel] [PATCH 3/3] avformat/mxfdec: don't use sizeof(AVMasteringDisplayMetadata)
2024-06-19 18:24 [FFmpeg-devel] [PATCH 1/3] avformat/matroskadec: don't use sizeof(AVMasteringDisplayMetadata) James Almer
2024-06-19 18:24 ` [FFmpeg-devel] [PATCH 2/3] avformat/mov: " James Almer
@ 2024-06-19 18:24 ` James Almer
2024-06-20 17:50 ` Tomas Härdin
1 sibling, 1 reply; 4+ messages in thread
From: James Almer @ 2024-06-19 18:24 UTC (permalink / raw)
To: ffmpeg-devel
It's not part of the libavutil ABI.
Signed-off-by: James Almer <jamrial@gmail.com>
---
libavformat/mxfdec.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c
index 852fb7e056..a5863445ab 100644
--- a/libavformat/mxfdec.c
+++ b/libavformat/mxfdec.c
@@ -227,6 +227,7 @@ typedef struct MXFDescriptor {
UID color_trc_ul;
UID color_space_ul;
AVMasteringDisplayMetadata *mastering;
+ size_t mastering_size;
AVContentLightMetadata *coll;
size_t coll_size;
} MXFDescriptor;
@@ -1424,7 +1425,7 @@ static int mxf_read_generic_descriptor(void *arg, AVIOContext *pb, int tag, int
}
if (IS_KLV_KEY(uid, mxf_mastering_display_prefix)) {
if (!descriptor->mastering) {
- descriptor->mastering = av_mastering_display_metadata_alloc();
+ descriptor->mastering = av_mastering_display_metadata_alloc_size(&descriptor->mastering_size);
if (!descriptor->mastering)
return AVERROR(ENOMEM);
}
@@ -2955,7 +2956,7 @@ static int mxf_parse_structural_metadata(MXFContext *mxf)
if (descriptor->mastering) {
if (!av_packet_side_data_add(&st->codecpar->coded_side_data, &st->codecpar->nb_coded_side_data,
AV_PKT_DATA_MASTERING_DISPLAY_METADATA,
- (uint8_t *)descriptor->mastering, sizeof(*descriptor->mastering), 0)) {
+ (uint8_t *)descriptor->mastering, descriptor->mastering_size, 0)) {
ret = AVERROR(ENOMEM);
goto fail_and_free;
}
--
2.45.2
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [FFmpeg-devel] [PATCH 3/3] avformat/mxfdec: don't use sizeof(AVMasteringDisplayMetadata)
2024-06-19 18:24 ` [FFmpeg-devel] [PATCH 3/3] avformat/mxfdec: " James Almer
@ 2024-06-20 17:50 ` Tomas Härdin
0 siblings, 0 replies; 4+ messages in thread
From: Tomas Härdin @ 2024-06-20 17:50 UTC (permalink / raw)
To: FFmpeg development discussions and patches
ons 2024-06-19 klockan 15:24 -0300 skrev James Almer:
> It's not part of the libavutil ABI.
>
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
> libavformat/mxfdec.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c
> index 852fb7e056..a5863445ab 100644
> --- a/libavformat/mxfdec.c
> +++ b/libavformat/mxfdec.c
> @@ -227,6 +227,7 @@ typedef struct MXFDescriptor {
> UID color_trc_ul;
> UID color_space_ul;
> AVMasteringDisplayMetadata *mastering;
> + size_t mastering_size;
> AVContentLightMetadata *coll;
> size_t coll_size;
> } MXFDescriptor;
> @@ -1424,7 +1425,7 @@ static int mxf_read_generic_descriptor(void
> *arg, AVIOContext *pb, int tag, int
> }
> if (IS_KLV_KEY(uid, mxf_mastering_display_prefix)) {
> if (!descriptor->mastering) {
> - descriptor->mastering =
> av_mastering_display_metadata_alloc();
> + descriptor->mastering =
> av_mastering_display_metadata_alloc_size(&descriptor-
> >mastering_size);
> if (!descriptor->mastering)
> return AVERROR(ENOMEM);
> }
> @@ -2955,7 +2956,7 @@ static int
> mxf_parse_structural_metadata(MXFContext *mxf)
> if (descriptor->mastering) {
> if (!av_packet_side_data_add(&st->codecpar-
> >coded_side_data, &st->codecpar->nb_coded_side_data,
>
> AV_PKT_DATA_MASTERING_DISPLAY_METADATA,
> - (uint8_t *)descriptor-
> >mastering, sizeof(*descriptor->mastering), 0)) {
> + (uint8_t *)descriptor-
> >mastering, descriptor->mastering_size, 0)) {
> ret = AVERROR(ENOMEM);
> goto fail_and_free;
> }
Looks OK
/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-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-06-20 17:51 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-06-19 18:24 [FFmpeg-devel] [PATCH 1/3] avformat/matroskadec: don't use sizeof(AVMasteringDisplayMetadata) James Almer
2024-06-19 18:24 ` [FFmpeg-devel] [PATCH 2/3] avformat/mov: " James Almer
2024-06-19 18:24 ` [FFmpeg-devel] [PATCH 3/3] avformat/mxfdec: " James Almer
2024-06-20 17:50 ` Tomas Härdin
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git