[FFmpeg-devel] [PATCH 2/2] vp9: use LOCAL_ALIGNED_32 for left/top intra_pred pointers

Ronald S. Bultje rsbultje at gmail.com
Thu Apr 24 21:20:22 CEST 2014


Hi,

On Thu, Apr 24, 2014 at 1:11 PM, James Almer <jamrial at gmail.com> wrote:

> This is needed for future AVX2 implementations
>
> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
>  libavcodec/vp9.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c
> index cbc885b..d970709 100644
> --- a/libavcodec/vp9.c
> +++ b/libavcodec/vp9.c
> @@ -2448,8 +2448,8 @@ static void intra_recon(AVCodecContext *ctx,
> ptrdiff_t y_off, ptrdiff_t uv_off)
>      int tx = 4 * s->lossless + b->tx, uvtx = b->uvtx + 4 * s->lossless;
>      int uvstep1d = 1 << b->uvtx, p;
>      uint8_t *dst = s->dst[0], *dst_r = s->frames[CUR_FRAME].tf.f->data[0]
> + y_off;
> -    LOCAL_ALIGNED_16(uint8_t, a_buf, [48]);
> -    LOCAL_ALIGNED_16(uint8_t, l, [32]);
> +    LOCAL_ALIGNED_32(uint8_t, a_buf, [64]);
> +    LOCAL_ALIGNED_32(uint8_t, l, [32]);
>
>      for (n = 0, y = 0; y < end_y; y += step1d) {
>          uint8_t *ptr = dst, *ptr_r = dst_r;
> @@ -2457,7 +2457,7 @@ static void intra_recon(AVCodecContext *ctx,
> ptrdiff_t y_off, ptrdiff_t uv_off)
>                                 ptr_r += 4 * step1d, n += step) {
>              int mode = b->mode[b->bs > BS_8x8 && b->tx == TX_4X4 ?
>                                 y * 2 + x : 0];
> -            uint8_t *a = &a_buf[16];
> +            uint8_t *a = &a_buf[32];
>              enum TxfmType txtp = vp9_intra_txfm_type[mode];
>              int eob = b->skip ? 0 : b->tx > TX_8X8 ? AV_RN16A(&s->eob[n])
> : s->eob[n];


OK.

Ronald


More information about the ffmpeg-devel mailing list