diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c index f5d5dafff4..2aea844a8b 100644 --- a/libavcodec/jpeg2000dec.c +++ b/libavcodec/jpeg2000dec.c @@ -1060,14 +1060,12 @@ static inline void mct_decode(Jpeg2000DecoderContext *s, Jpeg2000Tile *tile) s->dsp.mct_decode[tile->codsty[0].transform](src[0], src[1], src[2], csize); } -static int jpeg2000_decode_tile(Jpeg2000DecoderContext *s, Jpeg2000Tile *tile, - AVFrame *picture) +static void tile_codeblocks(Jpeg2000DecoderContext *s, Jpeg2000Tile *tile) { + Jpeg2000T1Context t1; + int compno, reslevelno, bandno; - int x, y; - uint8_t *line; - Jpeg2000T1Context t1; /* Loop on tile components */ for (compno = 0; compno < s->ncomponents; compno++) { @@ -1116,6 +1114,17 @@ static int jpeg2000_decode_tile(Jpeg2000DecoderContext *s, Jpeg2000Tile *tile, /* inverse DWT */ ff_dwt_decode(&comp->dwt, codsty->transform == FF_DWT97 ? (void*)comp->f_data : (void*)comp->i_data); } /*end comp */ +} + +static int jpeg2000_decode_tile(Jpeg2000DecoderContext *s, Jpeg2000Tile *tile, + AVFrame *picture) +{ + int compno; + int x, y; + + uint8_t *line; + + tile_codeblocks(s, tile); /* inverse MCT transformation */ if (tile->codsty[0].mct)