aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2013-12-01 22:05:18 +0100
committerAnton Khirnov <anton@khirnov.net>2013-12-05 13:35:30 +0100
commit86eb2eaac629909d6ee4067c6f1e485a4e70473d (patch)
tree4d7f765b2f4fb30225e5e3f28ec157d9d15d4d20 /libavcodec
parent3360ad995530ea6967b1e83981b4aa8240fbb0ed (diff)
downloadffmpeg-86eb2eaac629909d6ee4067c6f1e485a4e70473d.tar.gz
mjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_dc()
This will allow deMpegEncContextizing the LJPEG encoder.
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/ljpegenc.c16
-rw-r--r--libavcodec/mjpegenc.c12
-rw-r--r--libavcodec/mjpegenc.h2
3 files changed, 15 insertions, 15 deletions
diff --git a/libavcodec/ljpegenc.c b/libavcodec/ljpegenc.c
index 46b51ab48d..1ca2d37ad1 100644
--- a/libavcodec/ljpegenc.c
+++ b/libavcodec/ljpegenc.c
@@ -115,9 +115,9 @@ static int encode_picture_lossless(AVCodecContext *avctx, AVPacket *pkt,
diff= ((left[i] - pred + 0x100)&0x1FF) - 0x100;
if(i==0)
- ff_mjpeg_encode_dc(s, diff, m->huff_size_dc_luminance, m->huff_code_dc_luminance); //FIXME ugly
+ ff_mjpeg_encode_dc(&s->pb, diff, m->huff_size_dc_luminance, m->huff_code_dc_luminance); //FIXME ugly
else
- ff_mjpeg_encode_dc(s, diff, m->huff_size_dc_chrominance, m->huff_code_dc_chrominance);
+ ff_mjpeg_encode_dc(&s->pb, diff, m->huff_size_dc_chrominance, m->huff_code_dc_chrominance);
}
}
}
@@ -158,9 +158,9 @@ static int encode_picture_lossless(AVCodecContext *avctx, AVPacket *pkt,
}
if(i==0)
- ff_mjpeg_encode_dc(s, *ptr - pred, m->huff_size_dc_luminance, m->huff_code_dc_luminance); //FIXME ugly
+ ff_mjpeg_encode_dc(&s->pb, *ptr - pred, m->huff_size_dc_luminance, m->huff_code_dc_luminance); //FIXME ugly
else
- ff_mjpeg_encode_dc(s, *ptr - pred, m->huff_size_dc_chrominance, m->huff_code_dc_chrominance);
+ ff_mjpeg_encode_dc(&s->pb, *ptr - pred, m->huff_size_dc_chrominance, m->huff_code_dc_chrominance);
}
}
}
@@ -170,19 +170,19 @@ static int encode_picture_lossless(AVCodecContext *avctx, AVPacket *pkt,
int x, y, h, v, linesize;
h = s->mjpeg_hsample[i];
v = s->mjpeg_vsample[i];
- linesize= p->linesize[i];
+ linesize = pict->linesize[i];
for(y=0; y<v; y++){
for(x=0; x<h; x++){
int pred;
- ptr = p->data[i] + (linesize * (v * mb_y + y)) + (h * mb_x + x); //FIXME optimize this crap
+ ptr = pict->data[i] + (linesize * (v * mb_y + y)) + (h * mb_x + x); //FIXME optimize this crap
PREDICT(pred, ptr[-linesize-1], ptr[-linesize], ptr[-1], predictor);
if(i==0)
- ff_mjpeg_encode_dc(s, *ptr - pred, m->huff_size_dc_luminance, m->huff_code_dc_luminance); //FIXME ugly
+ ff_mjpeg_encode_dc(&s->pb, *ptr - pred, m->huff_size_dc_luminance, m->huff_code_dc_luminance); //FIXME ugly
else
- ff_mjpeg_encode_dc(s, *ptr - pred, m->huff_size_dc_chrominance, m->huff_code_dc_chrominance);
+ ff_mjpeg_encode_dc(&s->pb, *ptr - pred, m->huff_size_dc_chrominance, m->huff_code_dc_chrominance);
}
}
}
diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c
index f5c70f9c3c..054cc66a4b 100644
--- a/libavcodec/mjpegenc.c
+++ b/libavcodec/mjpegenc.c
@@ -340,13 +340,13 @@ void ff_mjpeg_encode_picture_trailer(PutBitContext *pb, int header_bits)
put_marker(pb, EOI);
}
-void ff_mjpeg_encode_dc(MpegEncContext *s, int val,
+void ff_mjpeg_encode_dc(PutBitContext *pb, int val,
uint8_t *huff_size, uint16_t *huff_code)
{
int mant, nbits;
if (val == 0) {
- put_bits(&s->pb, huff_size[0], huff_code[0]);
+ put_bits(pb, huff_size[0], huff_code[0]);
} else {
mant = val;
if (val < 0) {
@@ -356,9 +356,9 @@ void ff_mjpeg_encode_dc(MpegEncContext *s, int val,
nbits= av_log2_16bit(val) + 1;
- put_bits(&s->pb, huff_size[nbits], huff_code[nbits]);
+ put_bits(pb, huff_size[nbits], huff_code[nbits]);
- put_sbits(&s->pb, nbits, mant);
+ put_sbits(pb, nbits, mant);
}
}
@@ -375,11 +375,11 @@ static void encode_block(MpegEncContext *s, int16_t *block, int n)
dc = block[0]; /* overflow is impossible */
val = dc - s->last_dc[component];
if (n < 4) {
- ff_mjpeg_encode_dc(s, val, m->huff_size_dc_luminance, m->huff_code_dc_luminance);
+ ff_mjpeg_encode_dc(&s->pb, val, m->huff_size_dc_luminance, m->huff_code_dc_luminance);
huff_size_ac = m->huff_size_ac_luminance;
huff_code_ac = m->huff_code_ac_luminance;
} else {
- ff_mjpeg_encode_dc(s, val, m->huff_size_dc_chrominance, m->huff_code_dc_chrominance);
+ ff_mjpeg_encode_dc(&s->pb, val, m->huff_size_dc_chrominance, m->huff_code_dc_chrominance);
huff_size_ac = m->huff_size_ac_chrominance;
huff_code_ac = m->huff_code_ac_chrominance;
}
diff --git a/libavcodec/mjpegenc.h b/libavcodec/mjpegenc.h
index 81dd7475e9..2ad55f29f0 100644
--- a/libavcodec/mjpegenc.h
+++ b/libavcodec/mjpegenc.h
@@ -56,7 +56,7 @@ void ff_mjpeg_encode_picture_header(AVCodecContext *avctx, PutBitContext *pb,
uint16_t intra_matrix[64]);
void ff_mjpeg_encode_picture_trailer(PutBitContext *pb, int header_bits);
void ff_mjpeg_encode_stuffing(PutBitContext *pbc);
-void ff_mjpeg_encode_dc(MpegEncContext *s, int val,
+void ff_mjpeg_encode_dc(PutBitContext *pb, int val,
uint8_t *huff_size, uint16_t *huff_code);
void ff_mjpeg_encode_mb(MpegEncContext *s, int16_t block[6][64]);