summaryrefslogtreecommitdiffstats
path: root/libavcodec/mjpegenc.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-12-06 10:14:15 +0100
committerMichael Niedermayer <michaelni@gmx.at>2013-12-06 10:28:20 +0100
commit5cda499d6607050c70f90315845ceb1cec4266bd (patch)
treef3148f9d7a968f6d7374e321bc631319afb5d2bb /libavcodec/mjpegenc.c
parent5ac558113202faef976e2095dfa14618e8e96b6d (diff)
parent6d70639c7d5fe762c5f18de574eafa817fb53ef7 (diff)
downloadffmpeg-streaming-5cda499d6607050c70f90315845ceb1cec4266bd.zip
ffmpeg-streaming-5cda499d6607050c70f90315845ceb1cec4266bd.tar.gz
Merge commit '6d70639c7d5fe762c5f18de574eafa817fb53ef7'
* commit '6d70639c7d5fe762c5f18de574eafa817fb53ef7': mjpegenc: do not pass MpegEncContext to jpeg_table_header() Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/mjpegenc.c')
-rw-r--r--libavcodec/mjpegenc.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c
index 380bb1b..4771704 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;
OpenPOWER on IntegriCloud