[FFmpeg-cvslog] avcodec/mpeg12enc: Simplify writing bits
Andreas Rheinhardt
git at videolan.org
Fri Mar 7 16:22:21 EET 2025
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Mon Mar 3 18:42:13 2025 +0100| [6e225123d8583fdce55037b85eaef5453f201959] | committer: Andreas Rheinhardt
avcodec/mpeg12enc: Simplify writing bits
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6e225123d8583fdce55037b85eaef5453f201959
---
libavcodec/mpeg12enc.c | 16 ++++------------
1 file changed, 4 insertions(+), 12 deletions(-)
diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c
index 3f23045afc..ca51430fce 100644
--- a/libavcodec/mpeg12enc.c
+++ b/libavcodec/mpeg12enc.c
@@ -594,10 +594,8 @@ void ff_mpeg1_encode_picture_header(MpegEncContext *s)
if (fpa_type != 0) {
put_header(s, USER_START_CODE);
- put_bits(&s->pb, 8, 'J'); // S3D_video_format_signaling_identifier
- put_bits(&s->pb, 8, 'P');
- put_bits(&s->pb, 8, '3');
- put_bits(&s->pb, 8, 'D');
+ // S3D_video_format_signaling_identifier
+ put_bits32(&s->pb, MKBETAG('J','P','3','D'));
put_bits(&s->pb, 8, 0x03); // S3D_video_format_length
put_bits(&s->pb, 1, 1); // reserved_bit
@@ -612,21 +610,15 @@ void ff_mpeg1_encode_picture_header(MpegEncContext *s)
AV_FRAME_DATA_A53_CC);
if (side_data) {
if (side_data->size <= A53_MAX_CC_COUNT * 3 && side_data->size % 3 == 0) {
- int i = 0;
-
put_header (s, USER_START_CODE);
- put_bits(&s->pb, 8, 'G'); // user_identifier
- put_bits(&s->pb, 8, 'A');
- put_bits(&s->pb, 8, '9');
- put_bits(&s->pb, 8, '4');
+ put_bits32(&s->pb, MKBETAG('G','A','9','4')); // user_identifier
put_bits(&s->pb, 8, 3); // user_data_type_code
put_bits(&s->pb, 8,
(side_data->size / 3 & A53_MAX_CC_COUNT) | 0x40); // flags, cc_count
put_bits(&s->pb, 8, 0xff); // em_data
- for (i = 0; i < side_data->size; i++)
- put_bits(&s->pb, 8, side_data->data[i]);
+ ff_copy_bits(&s->pb, side_data->data, side_data->size);
put_bits(&s->pb, 8, 0xff); // marker_bits
} else {
More information about the ffmpeg-cvslog
mailing list