aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/jpeg2000.c
diff options
context:
space:
mode:
authorHendrik Leppkes <h.leppkes@gmail.com>2015-09-16 14:01:58 +0200
committerHendrik Leppkes <h.leppkes@gmail.com>2015-09-16 14:01:58 +0200
commit2fc552b629d771c8357a1b0262af4b21e5bcd4b8 (patch)
tree93a44bae974e270363ceed4c7293b741a677d424 /libavcodec/jpeg2000.c
parent054ce2d6ab15a9f3cb9cb1cac9b2f07a6323d8a5 (diff)
parent95a41311ac3a44773cc4dc407408aca35b1f8e26 (diff)
downloadffmpeg-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.c38
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