|
|
|
@@ -4875,7 +4875,7 @@ static int mov_write_ftyp_tag(AVIOContext *pb, AVFormatContext *s) |
|
|
|
{ |
|
|
|
MOVMuxContext *mov = s->priv_data; |
|
|
|
int64_t pos = avio_tell(pb); |
|
|
|
int has_h264 = 0, has_video = 0; |
|
|
|
int has_h264 = 0, has_av1 = 0, has_video = 0; |
|
|
|
int i; |
|
|
|
|
|
|
|
for (i = 0; i < s->nb_streams; i++) { |
|
|
|
@@ -4886,6 +4886,8 @@ static int mov_write_ftyp_tag(AVIOContext *pb, AVFormatContext *s) |
|
|
|
has_video = 1; |
|
|
|
if (st->codecpar->codec_id == AV_CODEC_ID_H264) |
|
|
|
has_h264 = 1; |
|
|
|
if (st->codecpar->codec_id == AV_CODEC_ID_AV1) |
|
|
|
has_av1 = 1; |
|
|
|
} |
|
|
|
|
|
|
|
avio_wb32(pb, 0); /* size */ |
|
|
|
@@ -4909,6 +4911,8 @@ static int mov_write_ftyp_tag(AVIOContext *pb, AVFormatContext *s) |
|
|
|
ffio_wfourcc(pb, "cmfc"); |
|
|
|
if (mov->flags & FF_MOV_FLAG_FRAGMENT && !(mov->flags & FF_MOV_FLAG_NEGATIVE_CTS_OFFSETS)) |
|
|
|
ffio_wfourcc(pb, "iso6"); |
|
|
|
if (has_av1) |
|
|
|
ffio_wfourcc(pb, "av01"); |
|
|
|
} else { |
|
|
|
if (mov->flags & FF_MOV_FLAG_FRAGMENT) |
|
|
|
ffio_wfourcc(pb, "iso6"); |
|
|
|
|