diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-12-06 10:14:15 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-12-06 10:28:20 +0100 |
commit | 5cda499d6607050c70f90315845ceb1cec4266bd (patch) | |
tree | f3148f9d7a968f6d7374e321bc631319afb5d2bb | |
parent | 5ac558113202faef976e2095dfa14618e8e96b6d (diff) | |
parent | 6d70639c7d5fe762c5f18de574eafa817fb53ef7 (diff) | |
download | ffmpeg-5cda499d6607050c70f90315845ceb1cec4266bd.tar.gz |
Merge commit '6d70639c7d5fe762c5f18de574eafa817fb53ef7'
* commit '6d70639c7d5fe762c5f18de574eafa817fb53ef7':
mjpegenc: do not pass MpegEncContext to jpeg_table_header()
Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/mjpegenc.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c index 380bb1b4da..4771704bd7 100644 --- a/libavcodec/mjpegenc.c +++ b/libavcodec/mjpegenc.c @@ -104,13 +104,15 @@ static int put_huffman_table(PutBitContext *p, int table_class, int table_id, return n + 17; } -static void jpeg_table_header(MpegEncContext *s) +static void jpeg_table_header(AVCodecContext *avctx, PutBitContext *p, + ScanTable *intra_scantable, + uint16_t intra_matrix[64], + int hsample[3]) { - PutBitContext *p = &s->pb; int i, j, size; uint8_t *ptr; - if (s->avctx->codec_id != AV_CODEC_ID_LJPEG) { + if (avctx->codec_id != AV_CODEC_ID_LJPEG) { /* quant matrixes */ put_marker(p, DQT); #ifdef TWOMATRIXES @@ -121,8 +123,8 @@ static void jpeg_table_header(MpegEncContext *s) put_bits(p, 4, 0); /* 8 bit precision */ put_bits(p, 4, 0); /* table 0 */ for(i=0;i<64;i++) { - j = s->intra_scantable.permutated[i]; - put_bits(p, 8, s->intra_matrix[j]); + j = intra_scantable->permutated[i]; + put_bits(p, 8, intra_matrix[j]); } #ifdef TWOMATRIXES put_bits(p, 4, 0); /* 8 bit precision */ @@ -134,10 +136,10 @@ static void jpeg_table_header(MpegEncContext *s) #endif } - if(s->avctx->active_thread_type & FF_THREAD_SLICE){ + if(avctx->active_thread_type & FF_THREAD_SLICE){ put_marker(p, DRI); put_bits(p, 16, 4); - put_bits(p, 16, (s->width-1)/(8*s->mjpeg_hsample[0]) + 1); + put_bits(p, 16, (avctx->width-1)/(8*hsample[0]) + 1); } /* huffman table */ @@ -212,7 +214,7 @@ void ff_mjpeg_encode_picture_header(MpegEncContext *s) jpeg_put_comments(s->avctx, &s->pb); - jpeg_table_header(s); + jpeg_table_header(s->avctx, &s->pb, &s->intra_scantable, s->intra_matrix, s->mjpeg_hsample); switch(s->avctx->codec_id){ case AV_CODEC_ID_MJPEG: put_marker(&s->pb, SOF0 ); break; |