Commit 9f0d0b83 authored by kostya's avatar kostya

Band quant tables should not be assigned inside band tile loop,

one time is enough.
Patch by Maxim (max_pole, gmx de)



git-svn-id: file:///var/local/repositories/ffmpeg/trunk@22279 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent ce7fa96c
...@@ -568,6 +568,18 @@ static int decode_band(IVI5DecContext *ctx, int plane_num, ...@@ -568,6 +568,18 @@ static int decode_band(IVI5DecContext *ctx, int plane_num,
return -1; return -1;
} }
if (band->blk_size == 8) {
band->intra_base = &ivi5_base_quant_8x8_intra[band->quant_mat][0];
band->inter_base = &ivi5_base_quant_8x8_inter[band->quant_mat][0];
band->intra_scale = &ivi5_scale_quant_8x8_intra[band->quant_mat][0];
band->inter_scale = &ivi5_scale_quant_8x8_inter[band->quant_mat][0];
} else {
band->intra_base = ivi5_base_quant_4x4_intra;
band->inter_base = ivi5_base_quant_4x4_inter;
band->intra_scale = ivi5_scale_quant_4x4_intra;
band->inter_scale = ivi5_scale_quant_4x4_inter;
}
band->rv_map = &ctx->rvmap_tabs[band->rvmap_sel]; band->rv_map = &ctx->rvmap_tabs[band->rvmap_sel];
/* apply corrections to the selected rvmap table if present */ /* apply corrections to the selected rvmap table if present */
...@@ -593,18 +605,6 @@ static int decode_band(IVI5DecContext *ctx, int plane_num, ...@@ -593,18 +605,6 @@ static int decode_band(IVI5DecContext *ctx, int plane_num,
if (result < 0) if (result < 0)
break; break;
if (band->blk_size == 8) {
band->intra_base = &ivi5_base_quant_8x8_intra[band->quant_mat][0];
band->inter_base = &ivi5_base_quant_8x8_inter[band->quant_mat][0];
band->intra_scale = &ivi5_scale_quant_8x8_intra[band->quant_mat][0];
band->inter_scale = &ivi5_scale_quant_8x8_inter[band->quant_mat][0];
} else {
band->intra_base = ivi5_base_quant_4x4_intra;
band->inter_base = ivi5_base_quant_4x4_inter;
band->intra_scale = ivi5_scale_quant_4x4_intra;
band->inter_scale = ivi5_scale_quant_4x4_inter;
}
result = ff_ivi_decode_blocks(&ctx->gb, band, tile); result = ff_ivi_decode_blocks(&ctx->gb, band, tile);
if (result < 0) { if (result < 0) {
av_log(avctx, AV_LOG_ERROR, "Corrupted blocks data encountered!\n"); av_log(avctx, AV_LOG_ERROR, "Corrupted blocks data encountered!\n");
......
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