On Tue,  4 Mar 2014 13:01:51 +0100, Janne Grunau <[email protected]> wrote:
> Various optimized DSP functions read one line past the aligned picture.
> Several ARMv6 put_pixels functions in HpelDSPContext load the input of
> the next line while processing the current one. Explicitly allow this
> for all codecs and not just H264.
> 
> Bug-Id: 646
> CC: [email protected]
> ---
>  libavcodec/utils.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/libavcodec/utils.c b/libavcodec/utils.c
> index c88b346..a1de113 100644
> --- a/libavcodec/utils.c
> +++ b/libavcodec/utils.c
> @@ -265,9 +265,12 @@ void avcodec_align_dimensions2(AVCodecContext *s, int 
> *width, int *height,
>  
>      *width  = FFALIGN(*width, w_align);
>      *height = FFALIGN(*height, h_align);
> -    if (s->codec_id == AV_CODEC_ID_H264)
> -        // some of the optimized chroma MC reads one line too much
> -        *height += 2;
> +
> +    /* Some optimized dsp functions read one line too much (H264 chroma mc,
> +     * ARM put_pixels functions, ...). Always add two lines so that 
> subsampled
> +     * chroma has also one additional line.
> +     */
> +    *height += 2;
>  
>      for (i = 0; i < 4; i++)
>          linesize_align[i] = STRIDE_ALIGN;
> -- 
> 1.9.0
> 

If you think it is still needed, I'm ok with this.

It can hide bugs though.

-- 
Anton Khirnov
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to