On Sat, Apr 22, 2017 at 6:33 AM, Luca Barbato <[email protected]> wrote:
> From: Paul B Mahol <[email protected]>
>
> Signed-off-by: Paul B Mahol <[email protected]>
> Signed-off-by: Luca Barbato <[email protected]>
> ---
>  libavcodec/utvideodec.c | 12 ++++++++++--
>  1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/libavcodec/utvideodec.c b/libavcodec/utvideodec.c
> index 0f58c83..ed6368e 100644
> --- a/libavcodec/utvideodec.c
> +++ b/libavcodec/utvideodec.c
> @@ -686,7 +686,11 @@ static void restore_gradient_planar_il(UtvideoContext 
> *c, uint8_t *src, ptrdiff_
>                  C = bsrc[i - 1];
>                  bsrc[i] = (A - B + C + bsrc[i]) & 0xFF;
>              }
> -            for (i = 0; i < width; i++) {
> +            A = bsrc[-stride];
> +            B = bsrc[-(1 + stride + stride - width)];
> +            C = bsrc[width - 1];
> +            bsrc[stride] = (A - B + C + bsrc[stride]) & 0xFF;
> +            for (i = 1; i < width; i++) {
>                  A = bsrc[i - stride];
>                  B = bsrc[i - (1 + stride)];
>                  C = bsrc[i - 1 + stride];
> @@ -784,7 +788,11 @@ static void restore_gradient_packed_il(uint8_t *src, int 
> step, ptrdiff_t stride,
>                  C = bsrc[i - step];
>                  bsrc[i] = (A - B + C + bsrc[i]) & 0xFF;
>              }
> -            for (i = 0; i < width * step; i += step) {
> +            A = bsrc[-stride];
> +            B = bsrc[-(step + stride + stride - width * step)];
> +            C = bsrc[width * step - step];
> +            bsrc[stride] = (A - B + C + bsrc[stride]) & 0xFF;
> +            for (i = step; i < width * step; i += step) {
>                  A = bsrc[i - stride];
>                  B = bsrc[i - (step + stride)];
>                  C = bsrc[i - step + stride];
> --

probably ok
-- 
Vittorio
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to