On 3/2/2024 5:51 AM, zhupengfei via ffmpeg-devel wrote:
@@ -1100,8 +1262,17 @@ retry:
video_codec_id = avio_rb32(s->pb);
size -= 4;
}
- if ((flags & FLV_VIDEO_FRAMETYPE_MASK) == FLV_FRAME_VIDEO_INFO_CMD)
+
+ if (enhanced_flv && stream_type == FLV_STREAM_TYPE_VIDEO && (flags &
FLV_VIDEO_FRAMETYPE_MASK) == FLV_FRAME_VIDEO_INFO_CMD) {
+ type = flags & 0x0F;
+ if (type == PacketTypeMetadata) {
warning: comparison between 'enum FlvTagType' and 'enum <anonymous>'
[-Wenum-compare]
I changed it locally to use a new packet_type variable in this scope.
Will apply the set soon if no one objects.
+ int ret = flv_parse_video_color_info(s, st, next);
+ av_log(s, AV_LOG_DEBUG, "enhanced flv parse metadata ret %d and
skip\n", ret);
+ }
+ goto skip;
+ } else if ((flags & FLV_VIDEO_FRAMETYPE_MASK) ==
FLV_FRAME_VIDEO_INFO_CMD) {
goto skip;
+ }
} else if (type == FLV_TAG_TYPE_META) {
stream_type=FLV_STREAM_TYPE_SUBTITLE;
if (size > 13 + 1 + 4) { // Header-type metadata stuff
@@ -1287,6 +1458,11 @@ retry_duration:
goto leave;
}
+ if (enhanced_flv && stream_type == FLV_STREAM_TYPE_VIDEO && flv->meta_color_info_flag) {
+ flv_update_video_color_info(s, st); // update av packet side data
+ flv->meta_color_info_flag = 0;
+ }
+
if (st->codecpar->codec_id == AV_CODEC_ID_H264 ||
st->codecpar->codec_id == AV_CODEC_ID_MPEG4 ||
(st->codecpar->codec_id == AV_CODEC_ID_HEVC && type ==
PacketTypeCodedFrames)) {
// sign extension
_______________________________________________
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".