[FFmpeg-cvslog] avformat/movenc: don't write a calculated avgBitrate when the provided one is unset
James Almer
git at videolan.org
Fri Nov 22 16:13:41 EET 2024
ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Sun Nov 17 23:01:37 2024 -0300| [944212acad7c2254d9dc14764b29e0023aaa645a] | committer: James Almer
avformat/movenc: don't write a calculated avgBitrate when the provided one is unset
avgBitrate == 0 is used to signal a VBR track, so if that value is propagated by an
encoder, don't overwrite it with a calculated value based on track size.
Part of a fix for ticket #11303.
Signed-off-by: James Almer <jamrial at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=944212acad7c2254d9dc14764b29e0023aaa645a
---
libavformat/movenc.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index b6772ae548..0595c4ce82 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -737,6 +737,9 @@ static struct mpeg4_bit_rate_values calculate_mpeg4_bit_rates(MOVTrack *track)
// utilize values from properties if we have them available
if (props) {
+ // no avg_bitrate signals that the track is VBR
+ if (!props->avg_bitrate)
+ bit_rates.avg_bit_rate = props->avg_bitrate;
bit_rates.max_bit_rate = FFMAX(bit_rates.max_bit_rate,
props->max_bitrate);
bit_rates.buffer_size = props->buffer_size / 8;
More information about the ffmpeg-cvslog
mailing list