summaryrefslogtreecommitdiff
path: root/libavcodec/jpeg2000.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-07-03 15:20:37 +0200
committerMichael Niedermayer <michaelni@gmx.at>2013-07-03 15:20:37 +0200
commit11cf4b72475f70a35d78b04e3b21d295c2da8a1d (patch)
treefaf09b9f98d831beab3df7ee9bdc10279502d0fa /libavcodec/jpeg2000.c
parentc7a092cb2d573535dbc26e93a1664f3db39df47c (diff)
parentf9581f1414ec8e3e7d0868793cda4f2e4fa113ea (diff)
Merge commit 'f9581f1414ec8e3e7d0868793cda4f2e4fa113ea'
* commit 'f9581f1414ec8e3e7d0868793cda4f2e4fa113ea': jpeg2000: Improve reduced resolution decoding jpeg2000: Compute quantization for 'scalar derived' in the correct case. jpeg2000: Calculate code-block coord in ff_jpeg2000_init_component() Conflicts: libavcodec/jpeg2000.c libavcodec/jpeg2000dec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/jpeg2000.c')
-rw-r--r--libavcodec/jpeg2000.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/libavcodec/jpeg2000.c b/libavcodec/jpeg2000.c
index 1ab5eb842c..37d7a653db 100644
--- a/libavcodec/jpeg2000.c
+++ b/libavcodec/jpeg2000.c
@@ -316,7 +316,7 @@ int ff_jpeg2000_init_component(Jpeg2000Component *comp,
break;
}
/* FIXME: In openjepg code stespize = stepsize * 0.5. Why?
- * If not set output of entropic decoder is not correct. */
+ * If not set output of entropic decoder is not correct. */
if (!av_codec_is_encoder(avctx->codec))
band->f_stepsize *= 0.5;
@@ -451,14 +451,18 @@ int ff_jpeg2000_init_component(Jpeg2000Component *comp,
/* Compute Cy1 */
cblk->coord[1][1] = FFMIN(Cy0 + (1 << band->log2_cblk_height),
prec->coord[1][1]);
-
- if((bandno + !!reslevelno) & 1) {
- cblk->coord[0][0] += comp->reslevel[reslevelno-1].coord[0][1] - comp->reslevel[reslevelno-1].coord[0][0];
- cblk->coord[0][1] += comp->reslevel[reslevelno-1].coord[0][1] - comp->reslevel[reslevelno-1].coord[0][0];
+ /* Update code-blocks coordinates according sub-band position */
+ if ((bandno + !!reslevelno) & 1) {
+ cblk->coord[0][0] += comp->reslevel[reslevelno-1].coord[0][1] -
+ comp->reslevel[reslevelno-1].coord[0][0];
+ cblk->coord[0][1] += comp->reslevel[reslevelno-1].coord[0][1] -
+ comp->reslevel[reslevelno-1].coord[0][0];
}
- if((bandno + !!reslevelno) & 2) {
- cblk->coord[1][0] += comp->reslevel[reslevelno-1].coord[1][1] - comp->reslevel[reslevelno-1].coord[1][0];
- cblk->coord[1][1] += comp->reslevel[reslevelno-1].coord[1][1] - comp->reslevel[reslevelno-1].coord[1][0];
+ if ((bandno + !!reslevelno) & 2) {
+ cblk->coord[1][0] += comp->reslevel[reslevelno-1].coord[1][1] -
+ comp->reslevel[reslevelno-1].coord[1][0];
+ cblk->coord[1][1] += comp->reslevel[reslevelno-1].coord[1][1] -
+ comp->reslevel[reslevelno-1].coord[1][0];
}
cblk->zero = 0;