[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