diff options
author | Hendrik Leppkes <h.leppkes@gmail.com> | 2015-09-16 14:01:58 +0200 |
---|---|---|
committer | Hendrik Leppkes <h.leppkes@gmail.com> | 2015-09-16 14:01:58 +0200 |
commit | 2fc552b629d771c8357a1b0262af4b21e5bcd4b8 (patch) | |
tree | 93a44bae974e270363ceed4c7293b741a677d424 /libavcodec/jpeg2000.c | |
parent | 054ce2d6ab15a9f3cb9cb1cac9b2f07a6323d8a5 (diff) | |
parent | 95a41311ac3a44773cc4dc407408aca35b1f8e26 (diff) | |
download | ffmpeg-2fc552b629d771c8357a1b0262af4b21e5bcd4b8.tar.gz |
Merge commit '95a41311ac3a44773cc4dc407408aca35b1f8e26'
* commit '95a41311ac3a44773cc4dc407408aca35b1f8e26':
jpeg2000: Factor out band stepsize initialization
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
Diffstat (limited to 'libavcodec/jpeg2000.c')
-rw-r--r-- | libavcodec/jpeg2000.c | 38 |
1 files changed, 24 insertions, 14 deletions
diff --git a/libavcodec/jpeg2000.c b/libavcodec/jpeg2000.c index c1c6452816..d7ab4e1d6b 100644 --- a/libavcodec/jpeg2000.c +++ b/libavcodec/jpeg2000.c @@ -191,21 +191,13 @@ void ff_jpeg2000_set_significance(Jpeg2000T1Context *t1, int x, int y, // static const uint8_t lut_gain[2][4] = { { 0, 0, 0, 0 }, { 0, 1, 1, 2 } }; (unused) -static int init_band(AVCodecContext *avctx, - Jpeg2000ResLevel *reslevel, - Jpeg2000Component *comp, - Jpeg2000CodingStyle *codsty, - Jpeg2000QuantStyle *qntsty, - int bandno, int gbandno, int reslevelno, - int cbps, int dx, int dy) +static void init_band_stepsize(AVCodecContext *avctx, + Jpeg2000Band *band, + Jpeg2000CodingStyle *codsty, + Jpeg2000QuantStyle *qntsty, + int bandno, int gbandno, int reslevelno, + int cbps) { - Jpeg2000Band *band = reslevel->band + bandno; - uint8_t log2_band_prec_width, log2_band_prec_height; - int declvl = codsty->nreslevels - reslevelno; // N_L -r see ISO/IEC 15444-1:2002 B.5 - int cblkno, precno; - int nb_precincts; - int i, j; - /* TODO: Implementation of quantization step not finished, * see ISO/IEC 15444-1:2002 E.1 and A.6.4. */ switch (qntsty->quantsty) { @@ -259,6 +251,24 @@ static int init_band(AVCodecContext *avctx, * If not set output of entropic decoder is not correct. */ if (!av_codec_is_encoder(avctx->codec)) band->f_stepsize *= 0.5; +} + +static int init_band(AVCodecContext *avctx, + Jpeg2000ResLevel *reslevel, + Jpeg2000Component *comp, + Jpeg2000CodingStyle *codsty, + Jpeg2000QuantStyle *qntsty, + int bandno, int gbandno, int reslevelno, + int cbps, int dx, int dy) +{ + Jpeg2000Band *band = reslevel->band + bandno; + uint8_t log2_band_prec_width, log2_band_prec_height; + int declvl = codsty->nreslevels - reslevelno; // N_L -r see ISO/IEC 15444-1:2002 B.5 + int cblkno, precno; + int nb_precincts; + int i, j; + + init_band_stepsize(avctx, band, codsty, qntsty, bandno, gbandno, reslevelno, cbps); /* computation of tbx_0, tbx_1, tby_0, tby_1 * see ISO/IEC 15444-1:2002 B.5 eq. B-15 and tbl B.1 |