Kostya <kostya.shish...@gmail.com> writes:

> @@ -1019,11 +1022,11 @@ static int bink_decode_plane(BinkContext *c, 
> GetBitContext *gb, int plane_idx,
>                          ublock[*scan++] = get_value(c, BINK_SRC_COLORS);
>                      break;
>                  case INTRA_BLOCK:
> -                    c->dsp.clear_block(block);
> -                    block[0] = get_value(c, BINK_SRC_INTRA_DC);
> -                    read_dct_coeffs(gb, block, c->scantable.permutated, 
> bink_intra_quant, -1);
> -                    c->dsp.idct(block);
> -                    c->dsp.put_pixels_nonclamped(block, ublock, 8);
> +                    memset(dctblock, 0, sizeof(*dctblock) * 64);
> +                    dctblock[0] = get_value(c, BINK_SRC_INTRA_DC);
> +                    read_dct_coeffs(gb, dctblock, bink_scan, 
> bink_intra_quant, -1);
> +                    c->bdsp.idct(dctblock);
> +                    c->bdsp.put_block(dctblock, ublock);

Why doesn't this use idct_put() with an output stride of 8?  Seems to me
would do the same thing with less code.

-- 
Måns Rullgård
m...@mansr.com
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to