On 2013-12-14 17:32:57 -0800, Mason Carter wrote:
> Apply David Conrad's old patch to the modern codebase.
> 
> http://ffmpeg.org/pipermail/ffmpeg-devel/2009-April/059877.html
> ---
>  libavcodec/arm/h264cmc_neon.S     | 13 +++++++++++++
>  libavcodec/arm/vc1dsp_init_neon.c | 10 ++++++++++
>  2 files changed, 23 insertions(+)
> 
> diff --git a/libavcodec/arm/h264cmc_neon.S b/libavcodec/arm/h264cmc_neon.S
> index 15301f8..3183dd8 100644
> --- a/libavcodec/arm/h264cmc_neon.S
> +++ b/libavcodec/arm/h264cmc_neon.S
> @@ -39,6 +39,9 @@ function ff_\type\()_\codec\()_chroma_mc8_neon, export=1
>          add             r6,  r6,  r7,  lsl #1
>          vld1.16         {d22[],d23[]}, [r6,:16]
>    .endif
> +  .ifc \codec,vc1
> +        vmov.u16        q11, #28
> +  .endif
>  
>  A       muls            r7,  r4,  r5
>  T       mul             r7,  r4,  r5
> @@ -183,6 +186,9 @@ function ff_\type\()_\codec\()_chroma_mc4_neon, export=1
>          add             r6,  r6,  r7,  lsl #1
>          vld1.16         {d22[],d23[]}, [r6,:16]
>    .endif
> +  .ifc \codec,vc1
> +        vmov.u16        q11, #28
> +  .endif
>  
>  A       muls            r7,  r4,  r5
>  T       mul             r7,  r4,  r5
> @@ -396,3 +402,10 @@ endconst
>          h264_chroma_mc4 put, rv40
>          h264_chroma_mc4 avg, rv40
>  #endif
> +
> +#if CONFIG_VC1_DECODER
> +        h264_chroma_mc8 put, vc1
> +        h264_chroma_mc8 avg, vc1
> +        h264_chroma_mc4 put, vc1
> +        h264_chroma_mc4 avg, vc1
> +#endif
> diff --git a/libavcodec/arm/vc1dsp_init_neon.c 
> b/libavcodec/arm/vc1dsp_init_neon.c
> index 105e47d..218788c 100644
> --- a/libavcodec/arm/vc1dsp_init_neon.c
> +++ b/libavcodec/arm/vc1dsp_init_neon.c
> @@ -54,6 +54,11 @@ void ff_put_vc1_mspel_mc31_neon(uint8_t *dst, const 
> uint8_t *src, ptrdiff_t stri
>  void ff_put_vc1_mspel_mc32_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t 
> stride, int rnd);
>  void ff_put_vc1_mspel_mc33_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t 
> stride, int rnd);
>  
> +void ff_put_vc1_chroma_mc8_neon(uint8_t *dst, uint8_t *src, int stride, int 
> h, int x, int y);
> +void ff_avg_vc1_chroma_mc8_neon(uint8_t *dst, uint8_t *src, int stride, int 
> h, int x, int y);
> +void ff_put_vc1_chroma_mc4_neon(uint8_t *dst, uint8_t *src, int stride, int 
> h, int x, int y);
> +void ff_avg_vc1_chroma_mc4_neon(uint8_t *dst, uint8_t *src, int stride, int 
> h, int x, int y);
> +
>  av_cold void ff_vc1dsp_init_neon(VC1DSPContext *dsp)
>  {
>      dsp->vc1_inv_trans_8x8 = ff_vc1_inv_trans_8x8_neon;
> @@ -81,4 +86,9 @@ av_cold void ff_vc1dsp_init_neon(VC1DSPContext *dsp)
>      dsp->put_vc1_mspel_pixels_tab[13] = ff_put_vc1_mspel_mc13_neon;
>      dsp->put_vc1_mspel_pixels_tab[14] = ff_put_vc1_mspel_mc23_neon;
>      dsp->put_vc1_mspel_pixels_tab[15] = ff_put_vc1_mspel_mc33_neon;
> +
> +    dsp->put_no_rnd_vc1_chroma_pixels_tab[0] = ff_put_vc1_chroma_mc8_neon;
> +    dsp->avg_no_rnd_vc1_chroma_pixels_tab[0] = ff_avg_vc1_chroma_mc8_neon;
> +    dsp->put_no_rnd_vc1_chroma_pixels_tab[1] = ff_put_vc1_chroma_mc4_neon;
> +    dsp->avg_no_rnd_vc1_chroma_pixels_tab[1] = ff_avg_vc1_chroma_mc4_neon;
>  }
> -- 

ok

The first patch looks good too (no review) even though it's a
little verbose. full review will probably follow tomorrow.

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

Reply via email to