diff -Naur a/libavformat/movenc.c b/libavformat/movenc.c
|
a
|
b
|
|
| 1074 | 1074 | return update_size(pb, pos); |
| 1075 | 1075 | } |
| 1076 | 1076 | |
| | 1077 | static int mov_write_btrt_tag(AVIOContext *pb, MOVTrack *track) |
| | 1078 | { |
| | 1079 | int64_t pos = avio_tell(pb); |
| | 1080 | AVCPBProperties *props; |
| | 1081 | props = (AVCPBProperties*)av_stream_get_side_data(track->st, AV_PKT_DATA_CPB_PROPERTIES, NULL); |
| | 1082 | unsigned avg_bitrate; |
| | 1083 | avg_bitrate = compute_avg_bitrate(track); |
| | 1084 | |
| | 1085 | avio_wb32(pb, 0); |
| | 1086 | ffio_wfourcc(pb, "btrt"); |
| | 1087 | avio_wb32(pb, props ? props->buffer_size : 0); |
| | 1088 | avio_wb32(pb, props ? FFMAX3(props->max_bitrate, props->avg_bitrate, avg_bitrate) : FFMAX(track->par->bit_rate, avg_bitrate)); |
| | 1089 | avio_wb32(pb, avg_bitrate); |
| | 1090 | return update_size(pb, pos); |
| | 1091 | } |
| | 1092 | |
| 1077 | 1093 | static int mov_write_vpcc_tag(AVFormatContext *s, AVIOContext *pb, MOVTrack *track) |
| 1078 | 1094 | { |
| 1079 | 1095 | int64_t pos = avio_tell(pb); |
| … |
… |
|
| 1917 | 1933 | mov_write_hvcc_tag(pb, track); |
| 1918 | 1934 | else if (track->par->codec_id == AV_CODEC_ID_H264 && !TAG_IS_AVCI(track->tag)) { |
| 1919 | 1935 | mov_write_avcc_tag(pb, track); |
| | 1936 | mov_write_btrt_tag(pb, track); |
| 1920 | 1937 | if (track->mode == MODE_IPOD) |
| 1921 | 1938 | mov_write_uuid_tag_ipod(pb); |
| 1922 | 1939 | } else if (track->par->codec_id == AV_CODEC_ID_VP9) { |