On Tue, Jul 12, 2016 at 01:38:03PM +0200, Alexandra Hájková wrote:
> --- /dev/null
> +++ b/libavcodec/x86/hevc_idct.asm
> @@ -0,0 +1,107 @@
> +; 8-bit
> +INIT_MMX mmxext
> +IDCT_DC_NL  4,      8
> +IDCT_DC     8,  2,  8
> +
> +INIT_XMM sse2
> +IDCT_DC_NL  8,      8
> +IDCT_DC    16,  4,  8
> +IDCT_DC    32, 16,  8
> +
> +%if HAVE_AVX2_EXTERNAL
> +INIT_YMM avx2
> +IDCT_DC    16,  2,  8
> +IDCT_DC    32,  8,  8
> +%endif ;HAVE_AVX2_EXTERNAL
> +
> +; 10-bit
> +INIT_MMX mmxext
> +IDCT_DC_NL  4,     10
> +IDCT_DC     8,  2, 10
> +
> +INIT_XMM sse2
> +IDCT_DC_NL  8,     10
> +IDCT_DC    16,  4, 10
> +IDCT_DC    32, 16, 10
> +
> +%if HAVE_AVX2_EXTERNAL
> +INIT_YMM avx2
> +IDCT_DC    16,  2, 10
> +IDCT_DC    32,  8, 10

IMO more compact:

  INIT_MMX mmxext
  IDCT_DC_NL  4,      8
  IDCT_DC_NL  4,     10
  IDCT_DC     8,  2,  8
  IDCT_DC     8,  2, 10

  INIT_XMM sse2
  IDCT_DC_NL  8,      8
  IDCT_DC_NL  8,     10
  IDCT_DC    16,  4,  8
  IDCT_DC    16,  4, 10
  IDCT_DC    32, 16,  8
  IDCT_DC    32, 16, 10

  %if HAVE_AVX2_EXTERNAL
  INIT_YMM avx2
  IDCT_DC    16,  2,  8
  IDCT_DC    16,  2, 10
  IDCT_DC    32,  8,  8
  IDCT_DC    32,  8, 10
  %endif ;HAVE_AVX2_EXTERNAL

or

  INIT_MMX mmxext
  IDCT_DC_NL  4,      8
  IDCT_DC     8,  2,  8
  IDCT_DC_NL  4,     10
  IDCT_DC     8,  2, 10

  INIT_XMM sse2
  IDCT_DC_NL  8,      8
  IDCT_DC    16,  4,  8
  IDCT_DC    32, 16,  8
  IDCT_DC_NL  8,     10
  IDCT_DC    16,  4, 10
  IDCT_DC    32, 16, 10

  %if HAVE_AVX2_EXTERNAL
  INIT_YMM avx2
  IDCT_DC    16,  2,  8
  IDCT_DC    32,  8,  8
  IDCT_DC    16,  2, 10
  IDCT_DC    32,  8, 10
  %endif ;HAVE_AVX2_EXTERNAL

if you prefer keeping the bit depths together.

> --- a/libavcodec/x86/hevcdsp_init.c
> +++ b/libavcodec/x86/hevcdsp_init.c
> @@ -45,6 +45,39 @@ LFC_FUNCS(uint8_t, 10)
> +#define idct_dc_proto(size, bitd, opt) \
> +                void ff_hevc_idct_ ## size ## _dc_add_ ## bitd ## _ ## 
> opt(uint8_t *dst, int16_t *coeffs, ptrdiff_t stride)

random 17 spaces indentation

> +idct_dc_proto(4, 8,mmxext);
> +idct_dc_proto(8, 8,mmxext);
> +idct_dc_proto(16,8,  sse2);
> +idct_dc_proto(32,8,  sse2);
> +
> +idct_dc_proto(32,8,  avx2);

spaces after ','

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

Reply via email to