[FFmpeg-cvslog] avcodec/mjpegenc_common: Move code for MJPEG/AMV to mjpegenc
Andreas Rheinhardt
git at videolan.org
Tue Jan 4 18:20:26 EET 2022
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Wed Dec 22 01:13:53 2021 +0100| [8edb2c638cb2970585ad4bc1a5dc632bdc85ae45] | committer: Andreas Rheinhardt
avcodec/mjpegenc_common: Move code for MJPEG/AMV to mjpegenc
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8edb2c638cb2970585ad4bc1a5dc632bdc85ae45
---
libavcodec/mjpegenc.c | 4 ++++
libavcodec/mjpegenc_common.c | 14 ++------------
2 files changed, 6 insertions(+), 12 deletions(-)
diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c
index 152919f4c8..89b22ab42d 100644
--- a/libavcodec/mjpegenc.c
+++ b/libavcodec/mjpegenc.c
@@ -78,6 +78,10 @@ static void mjpeg_encode_picture_header(MpegEncContext *s)
{
ff_mjpeg_encode_picture_header(s->avctx, &s->pb, &s->intra_scantable,
s->pred, s->intra_matrix, s->chroma_intra_matrix);
+
+ s->esc_pos = put_bytes_count(&s->pb, 0);
+ for (int i = 1; i < s->slice_context_count; i++)
+ s->thread_context[i]->esc_pos = 0;
}
void ff_mjpeg_amv_encode_picture_header(MpegEncContext *s)
diff --git a/libavcodec/mjpegenc_common.c b/libavcodec/mjpegenc_common.c
index ba5c5320d7..86a9791477 100644
--- a/libavcodec/mjpegenc_common.c
+++ b/libavcodec/mjpegenc_common.c
@@ -224,7 +224,6 @@ void ff_mjpeg_encode_picture_header(AVCodecContext *avctx, PutBitContext *pb,
{
const int lossless = avctx->codec_id != AV_CODEC_ID_MJPEG && avctx->codec_id != AV_CODEC_ID_AMV;
int hsample[4], vsample[4];
- int i;
int components = 3 + (avctx->pix_fmt == AV_PIX_FMT_BGRA);
int chroma_matrix = !!memcmp(luma_intra_matrix,
chroma_intra_matrix,
@@ -235,7 +234,8 @@ void ff_mjpeg_encode_picture_header(AVCodecContext *avctx, PutBitContext *pb,
put_marker(pb, SOI);
// hack for AMV mjpeg format
- if(avctx->codec_id == AV_CODEC_ID_AMV) goto end;
+ if (avctx->codec_id == AV_CODEC_ID_AMV)
+ return;
jpeg_put_comments(avctx, pb);
@@ -319,16 +319,6 @@ void ff_mjpeg_encode_picture_header(AVCodecContext *avctx, PutBitContext *pb,
}
put_bits(pb, 8, 0); /* Ah/Al (not used) */
-
-end:
- if (!lossless) {
- MpegEncContext *s = avctx->priv_data;
- av_assert0(avctx->codec->priv_data_size > sizeof(MpegEncContext));
-
- s->esc_pos = put_bytes_count(pb, 0);
- for(i=1; i<s->slice_context_count; i++)
- s->thread_context[i]->esc_pos = 0;
- }
}
void ff_mjpeg_escape_FF(PutBitContext *pb, int start)
More information about the ffmpeg-cvslog
mailing list