#endif // ARCH_X86_64
if( cpu&X264_CPU_AVX512 )
{
+ pf_interlaced->scan_4x4 = x264_zigzag_scan_4x4_field_avx512;
pf_progressive->scan_4x4 = x264_zigzag_scan_4x4_frame_avx512;
pf_progressive->scan_8x8 = x264_zigzag_scan_8x8_frame_avx512;
}
}
if( cpu&X264_CPU_AVX512 )
{
+ pf_interlaced->scan_4x4 = x264_zigzag_scan_4x4_field_avx512;
pf_progressive->scan_4x4 = x264_zigzag_scan_4x4_frame_avx512;
pf_progressive->scan_8x8 = x264_zigzag_scan_8x8_frame_avx512;
}
mova [r0], m0
RET
+cglobal zigzag_scan_4x4_field, 2,2
+ mova m0, [r1]
+ pshufd xmm1, [r1+8], q3102
+ mova [r0], m0
+ movu [r0+8], xmm1
+ RET
+
cglobal zigzag_scan_8x8_frame, 2,2
psrld m0, [scan_frame_avx512], 4
mova m1, [r1+0*64]
mova [r0], m0
RET
+cglobal zigzag_scan_4x4_field, 2,2
+ mova m0, [r1]
+ pshuflw xmm1, [r1+4], q3102
+ mova [r0], m0
+ movq [r0+4], xmm1
+ RET
+
INIT_ZMM avx512
cglobal zigzag_scan_8x8_frame, 2,2
psrlw m0, [scan_frame_avx512], 4
void x264_zigzag_scan_4x4_frame_avx ( dctcoef level[16], dctcoef dct[16] );
void x264_zigzag_scan_4x4_frame_xop ( dctcoef level[16], dctcoef dct[16] );
void x264_zigzag_scan_4x4_frame_avx512( dctcoef level[16], dctcoef dct[16] );
-void x264_zigzag_scan_4x4_field_sse2 ( int32_t level[16], int32_t dct[16] );
-void x264_zigzag_scan_4x4_field_sse ( int16_t level[16], int16_t dct[16] );
+void x264_zigzag_scan_4x4_field_sse ( int16_t level[16], int16_t dct[16] );
+void x264_zigzag_scan_4x4_field_sse2 ( int32_t level[16], int32_t dct[16] );
+void x264_zigzag_scan_4x4_field_avx512( dctcoef level[16], dctcoef dct[16] );
void x264_zigzag_scan_8x8_field_xop ( int16_t level[64], int16_t dct[64] );
void x264_zigzag_scan_8x8_field_avx ( int32_t level[64], int32_t dct[64] );
void x264_zigzag_scan_8x8_field_sse4 ( int32_t level[64], int32_t dct[64] );