exr: fix scan_line_size calculation

This one will also work in cases when file have channels
we are not going to use.

Only compressed files where affected by this bug.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
Paul B Mahol 2012-07-13 23:48:50 +00:00
parent cd3136e84a
commit bc0ef29cf0

View File

@ -498,7 +498,7 @@ static int decode_frame(AVCodecContext *avctx,
bxmin = xmin * 2 * av_pix_fmt_descriptors[avctx->pix_fmt].nb_components;
axmax = (avctx->width - (xmax + 1)) * 2 * av_pix_fmt_descriptors[avctx->pix_fmt].nb_components;
out_line_size = avctx->width * 2 * av_pix_fmt_descriptors[avctx->pix_fmt].nb_components;
scan_line_size = xdelta * av_pix_fmt_descriptors[avctx->pix_fmt].nb_components * FFMAX(2 * s->bits_per_color_id, 1);
scan_line_size = xdelta * current_channel_offset;
uncompressed_size = scan_line_size * scan_lines_per_block;
if (s->compr != EXR_RAW) {