On Mon, Apr 17, 2017 at 07:20:36PM +0200, Alexandra Hájková wrote:
> ---
>  libavcodec/arm/hevc_idct.S        | 50 
> ++++++++++++++++++++++++++++++++-------
>  libavcodec/arm/hevcdsp_init_arm.c | 21 +++++++++++-----
>  2 files changed, 56 insertions(+), 15 deletions(-)

hevc: arm: Add IDCT DC for bitdepth 10

> --- a/libavcodec/arm/hevcdsp_init_arm.c
> +++ b/libavcodec/arm/hevcdsp_init_arm.c
> @@ -25,13 +25,18 @@
>  
> -void ff_hevc_idct_4x4_8_neon(int16_t *coeffs, int col_limit);
>  void ff_hevc_idct_4x4_dc_8_neon(int16_t *coeffs);
> -void ff_hevc_idct_8x8_8_neon(int16_t *coeffs, int col_limit);
>  void ff_hevc_idct_8x8_dc_8_neon(int16_t *coeffs);
> -void ff_hevc_idct_16x16_8_neon(int16_t *coeffs, int col_limit);
>  void ff_hevc_idct_16x16_dc_8_neon(int16_t *coeffs);
>  void ff_hevc_idct_32x32_dc_8_neon(int16_t *coeffs);
> +void ff_hevc_idct_4x4_dc_10_neon(int16_t *coeffs);
> +void ff_hevc_idct_8x8_dc_10_neon(int16_t *coeffs);
> +void ff_hevc_idct_16x16_dc_10_neon(int16_t *coeffs);
> +void ff_hevc_idct_32x32_dc_10_neon(int16_t *coeffs);
> +
> +void ff_hevc_idct_4x4_8_neon(int16_t *coeffs, int col_limit);
> +void ff_hevc_idct_8x8_8_neon(int16_t *coeffs, int col_limit);
> +void ff_hevc_idct_16x16_8_neon(int16_t *coeffs, int col_limit);
>  void ff_hevc_idct_4x4_10_neon(int16_t *coeffs, int col_limit);
>  void ff_hevc_idct_8x8_10_neon(int16_t *coeffs, int col_limit);
>  void ff_hevc_idct_16x16_10_neon(int16_t *coeffs, int col_limit);
> @@ -51,9 +56,13 @@ av_cold void ff_hevc_dsp_init_arm(HEVCDSPContext *c, int 
> bit_depth)
>              c->idct_dc[3] = ff_hevc_idct_32x32_dc_8_neon;
>          }
>          if (bit_depth == 10) {
> -            c->idct[0] = ff_hevc_idct_4x4_10_neon;
> -            c->idct[1] = ff_hevc_idct_8x8_10_neon;
> -            c->idct[2] = ff_hevc_idct_16x16_10_neon;
> +            c->idct[0]    = ff_hevc_idct_4x4_10_neon;
> +            c->idct_dc[0] = ff_hevc_idct_4x4_dc_10_neon;
> +            c->idct[1]    = ff_hevc_idct_8x8_10_neon;
> +            c->idct_dc[1] = ff_hevc_idct_8x8_dc_10_neon;
> +            c->idct[2]    = ff_hevc_idct_16x16_10_neon;
> +            c->idct_dc[2] = ff_hevc_idct_16x16_dc_10_neon;
> +            c->idct_dc[3] = ff_hevc_idct_32x32_dc_10_neon;

I'd group idct and idct_dc separately, like you do for the prototypes.
That would also reduce the diff.

Diego
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to