Commit 1b709f23 authored by Luca Barbato's avatar Luca Barbato

jpeg2000: Refactor decode_packets

Move the packet-specific parsers in separate functions.
parent 29b00f88
...@@ -732,15 +732,11 @@ static int jpeg2000_decode_packet(Jpeg2000DecoderContext *s, ...@@ -732,15 +732,11 @@ static int jpeg2000_decode_packet(Jpeg2000DecoderContext *s,
return 0; return 0;
} }
static int jpeg2000_decode_packets(Jpeg2000DecoderContext *s, Jpeg2000Tile *tile) static int decode_pgod_lrcp(Jpeg2000DecoderContext *s, Jpeg2000Tile *tile)
{ {
int ret = 0;
int layno, reslevelno, compno, precno, ok_reslevel; int layno, reslevelno, compno, precno, ok_reslevel;
int x, y; int ret;
s->bit_index = 8;
switch (tile->codsty[0].prog_order) {
case JPEG2000_PGOD_LRCP:
for (layno = 0; layno < tile->codsty[0].nlayers; layno++) { for (layno = 0; layno < tile->codsty[0].nlayers; layno++) {
ok_reslevel = 1; ok_reslevel = 1;
for (reslevelno = 0; ok_reslevel; reslevelno++) { for (reslevelno = 0; ok_reslevel; reslevelno++) {
...@@ -763,9 +759,15 @@ static int jpeg2000_decode_packets(Jpeg2000DecoderContext *s, Jpeg2000Tile *tile ...@@ -763,9 +759,15 @@ static int jpeg2000_decode_packets(Jpeg2000DecoderContext *s, Jpeg2000Tile *tile
} }
} }
} }
break;
case JPEG2000_PGOD_CPRL: return 0;
}
static int decode_pgod_cprl(Jpeg2000DecoderContext *s, Jpeg2000Tile *tile)
{
int layno, reslevelno, compno, precno;
int ret, x, y;
for (compno = 0; compno < s->ncomponents; compno++) { for (compno = 0; compno < s->ncomponents; compno++) {
Jpeg2000CodingStyle *codsty = tile->codsty + compno; Jpeg2000CodingStyle *codsty = tile->codsty + compno;
Jpeg2000QuantStyle *qntsty = tile->qntsty + compno; Jpeg2000QuantStyle *qntsty = tile->qntsty + compno;
...@@ -811,6 +813,22 @@ static int jpeg2000_decode_packets(Jpeg2000DecoderContext *s, Jpeg2000Tile *tile ...@@ -811,6 +813,22 @@ static int jpeg2000_decode_packets(Jpeg2000DecoderContext *s, Jpeg2000Tile *tile
} }
} }
} }
return 0;
}
static int jpeg2000_decode_packets(Jpeg2000DecoderContext *s, Jpeg2000Tile *tile)
{
int ret = 0;
s->bit_index = 8;
switch (tile->codsty[0].prog_order) {
case JPEG2000_PGOD_LRCP:
ret = decode_pgod_lrcp(s, tile);
break;
case JPEG2000_PGOD_CPRL:
ret = decode_pgod_cprl(s, tile);
break; break;
case JPEG2000_PGOD_RLCP: case JPEG2000_PGOD_RLCP:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment