summaryrefslogtreecommitdiff
path: root/libavcodec/ljpegenc.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-12-06 14:24:06 +0100
committerMichael Niedermayer <michaelni@gmx.at>2013-12-06 14:31:23 +0100
commit2b215f39391c0f9ddb547d16d568776e9e5da54d (patch)
treede093856d64626144ceb9c8a345ad6e4efd0b8f2 /libavcodec/ljpegenc.c
parent535af2c22211567bb237525f89d058b5b08e33b1 (diff)
mjpeg/ljpegenc: factor ff_mjpeg_init_hvsample() out
This reduces the amount of duplicated code Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/ljpegenc.c')
-rw-r--r--libavcodec/ljpegenc.c22
1 files changed, 1 insertions, 21 deletions
diff --git a/libavcodec/ljpegenc.c b/libavcodec/ljpegenc.c
index e7e32eff5b..35b82fdea2 100644
--- a/libavcodec/ljpegenc.c
+++ b/libavcodec/ljpegenc.c
@@ -272,7 +272,6 @@ static av_cold int ljpeg_encode_close(AVCodecContext *avctx)
static av_cold int ljpeg_encode_init(AVCodecContext *avctx)
{
LJpegEncContext *s = avctx->priv_data;
- int chroma_v_shift, chroma_h_shift;
if ((avctx->pix_fmt == AV_PIX_FMT_YUV420P ||
avctx->pix_fmt == AV_PIX_FMT_YUV422P ||
@@ -296,26 +295,7 @@ static av_cold int ljpeg_encode_init(AVCodecContext *avctx)
ff_dsputil_init(&s->dsp, avctx);
ff_init_scantable(s->dsp.idct_permutation, &s->scantable, ff_zigzag_direct);
- av_pix_fmt_get_chroma_sub_sample(avctx->pix_fmt, &chroma_h_shift,
- &chroma_v_shift);
-
- if ( avctx->pix_fmt == AV_PIX_FMT_BGR0
- || avctx->pix_fmt == AV_PIX_FMT_BGRA
- || avctx->pix_fmt == AV_PIX_FMT_BGR24) {
- s->vsample[0] = s->hsample[0] =
- s->vsample[1] = s->hsample[1] =
- s->vsample[2] = s->hsample[2] = 1;
- } else if (avctx->pix_fmt == AV_PIX_FMT_YUV444P || avctx->pix_fmt == AV_PIX_FMT_YUVJ444P) {
- s->vsample[0] = s->vsample[1] = s->vsample[2] = 2;
- s->hsample[0] = s->hsample[1] = s->hsample[2] = 1;
- } else {
- s->vsample[0] = 2;
- s->vsample[1] = 2 >> chroma_v_shift;
- s->vsample[2] = 2 >> chroma_v_shift;
- s->hsample[0] = 2;
- s->hsample[1] = 2 >> chroma_h_shift;
- s->hsample[2] = 2 >> chroma_h_shift;
- }
+ ff_mjpeg_init_hvsample(avctx, s->hsample, s->vsample);
ff_mjpeg_build_huffman_codes(s->huff_size_dc_luminance,
s->huff_code_dc_luminance,