[FFmpeg-cvslog] avcodec/mpegaudioenc: Combine writing scale factors

Andreas Rheinhardt git at videolan.org
Mon Apr 14 00:18:28 EEST 2025


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Thu Apr 10 21:34:55 2025 +0200| [6f7ebeff708b271acead9324fc6c8da38b996e1b] | committer: Andreas Rheinhardt

avcodec/mpegaudioenc: Combine writing scale factors

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6f7ebeff708b271acead9324fc6c8da38b996e1b
---

 libavcodec/mpegaudioenc.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/libavcodec/mpegaudioenc.c b/libavcodec/mpegaudioenc.c
index 35347d386c..b10487b7ff 100644
--- a/libavcodec/mpegaudioenc.c
+++ b/libavcodec/mpegaudioenc.c
@@ -717,14 +717,11 @@ static void encode_frame(MpegAudioContext *s,
                 sf = &s->scale_factors[ch][i][0];
                 switch(s->scale_code[ch][i]) {
                 case 0:
-                    put_bits(p, 6, sf[0]);
-                    put_bits(p, 6, sf[1]);
-                    put_bits(p, 6, sf[2]);
+                    put_bits(p, 18, sf[0] << 12 | sf[1] << 6 | sf[2]);
                     break;
                 case 3:
                 case 1:
-                    put_bits(p, 6, sf[0]);
-                    put_bits(p, 6, sf[2]);
+                    put_bits(p, 12, sf[0] << 6 | sf[2]);
                     break;
                 case 2:
                     put_bits(p, 6, sf[0]);



More information about the ffmpeg-cvslog mailing list