From: Zhao Zhili <zhiliz...@tencent.com> sizeof AVMasteringDisplayMetadata isn't part of ABI. --- libavformat/flvdec.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c index 62baeafafd..7ea4275784 100644 --- a/libavformat/flvdec.c +++ b/libavformat/flvdec.c @@ -1248,15 +1248,22 @@ static int flv_update_video_color_info(AVFormatContext *s, AVStream *st) } if (has_mastering_primaries || has_mastering_luminance) { - AVMasteringDisplayMetadata *metadata; - AVPacketSideData *sd = av_packet_side_data_new(&st->codecpar->coded_side_data, + size_t size = 0; + AVMasteringDisplayMetadata *metadata = av_mastering_display_metadata_alloc_size(&size); + AVPacketSideData *sd; + + if (!metadata) + return AVERROR(ENOMEM); + + sd = av_packet_side_data_add(&st->codecpar->coded_side_data, &st->codecpar->nb_coded_side_data, AV_PKT_DATA_MASTERING_DISPLAY_METADATA, - sizeof(AVMasteringDisplayMetadata), 0); - if (!sd) + metadata, size, 0); + if (!sd) { + av_freep(&metadata); return AVERROR(ENOMEM); - metadata = (AVMasteringDisplayMetadata*)sd->data; - memset(metadata, 0, sizeof(AVMasteringDisplayMetadata)); + } + // hdrCll if (has_mastering_luminance) { metadata->max_luminance = av_d2q(mastering_meta->max_luminance, INT_MAX); -- 2.46.0 _______________________________________________ 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".