{"name": "ff_h264_idct_add16_mmx2", "code": "unsigned int * __fastcall ff_h264_idct_add16_mmx2 ( __int64 @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ , int @@a4@@ , __int64 @@a5@@ ) { __int64 v5 ; unsigned int * @@result@@ ; int @@i@@ ; for ( @@i@@ = Number ; @@i@@ <= Number ; ++ @@i@@ ) { v5 = ( unsigned __int8 ) scan8 [ @@i@@ ] ; @@result@@ = ( unsigned int * ) * ( unsigned __int8 * ) ( v5 + @@a5@@ ) ; if ( * ( _BYTE * ) ( v5 + @@a5@@ ) ) { if ( * ( _BYTE * ) ( v5 + @@a5@@ ) == Number && * ( _WORD * ) ( Number L * @@i@@ + @@a3@@ ) ) @@result@@ = ff_h264_idct_dc_add_mmx2 ( ( unsigned int * ) ( * ( int * ) ( Number L * @@i@@ + @@a2@@ ) + @@a1@@ ) , ( __int16 * ) ( Number L * @@i@@ + @@a3@@ ) , @@a4@@ ) ; else @@result@@ = ff_h264_idct_add_mmx ( ( unsigned int * ) ( * ( int * ) ( Number L * @@i@@ + @@a2@@ ) + @@a1@@ ) , ( __m64 * ) ( Number L * @@i@@ + @@a3@@ ) , @@a4@@ ) ; } } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}, {"n": "result", "t": {"T": 3, "t": "unsigned int"}, "location": "r8"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}]}
{"name": "ff_h264_idct_add_mmx", "code": "unsigned int * __fastcall ff_h264_idct_add_mmx ( unsigned int * @@a1@@ , __m64 * @@a2@@ , int @@a3@@ ) { __m64 v4 ; __m64 v5 ; __m64 v6 ; __m64 v7 ; __m64 v8 ; __m64 v9 ; __m64 v10 ; __m64 v11 ; __m64 v12 ; __m64 v13 ; __m64 v14 ; __m64 v15 ; __m64 v16 ; __m64 v17 ; __m64 v18 ; __m64 v19 ; __m64 v20 ; __m64 v21 ; __m64 v22 ; __m64 v23 ; __m64 v24 ; __m64 v25 ; __m64 v26 ; unsigned int * v27 ; unsigned int * v28 ; unsigned int * result ; v4 = @@a2@@ [ Number ] ; v5 = _m_paddw ( @@a2@@ [ Number ] , ( __m64 ) @@a2@@ -> m64_u64 ) ; v6 = _m_psubw ( _m_paddw ( ( __m64 ) @@a2@@ -> m64_u64 , ( __m64 ) @@a2@@ -> m64_u64 ) , v5 ) ; v7 = @@a2@@ [ Number ] ; v8 = _m_paddw ( _m_paddw ( _m_psrawi ( v7 , Number ) , v4 ) , v5 ) ; v9 = _m_paddw ( _m_psubw ( _m_psrawi ( v4 , Number ) , v7 ) , v6 ) ; v10 = _m_psubw ( _m_paddw ( v5 , v5 ) , v8 ) ; v11 = v8 ; v12 = _m_punpcklwd ( v8 , v9 ) ; v13 = _m_punpckhwd ( v11 , v9 ) ; v14 = _m_psubw ( _m_paddw ( v6 , v6 ) , v9 ) ; v15 = _m_punpcklwd ( v14 , v10 ) ; v16 = _m_punpckhwd ( v14 , v10 ) ; v17 = v12 ; v18 = _m_punpckldq ( v12 , v15 ) ; v19 = _m_punpckhdq ( v17 , v15 ) ; v20 = v13 ; v21 = _m_paddw ( v18 , * ( __m64 * ) & ff_pw_32 ) ; v22 = _m_paddw ( _m_punpckldq ( v13 , v16 ) , v21 ) ; v23 = _m_psubw ( _m_paddw ( v21 , v21 ) , v22 ) ; v24 = _m_punpckhdq ( v20 , v16 ) ; v25 = _m_paddw ( _m_paddw ( _m_psrawi ( v24 , Number ) , v19 ) , v22 ) ; v26 = _m_paddw ( _m_psubw ( _m_psrawi ( v19 , Number ) , v24 ) , v23 ) ; * @@a1@@ = _mm_cvtsi64_si32 ( _m_packuswb ( _m_paddsw ( _m_psrawi ( v25 , Number ) , _m_punpcklbw ( _mm_cvtsi32_si64 ( * @@a1@@ ) , Number L ) ) , Number L ) ) ; v27 = ( unsigned int * ) ( ( char * ) @@a1@@ + @@a3@@ ) ; * v27 = _mm_cvtsi64_si32 ( _m_packuswb ( _m_paddsw ( _m_psrawi ( v26 , Number ) , _m_punpcklbw ( _mm_cvtsi32_si64 ( * v27 ) , Number L ) ) , Number L ) ) ; v28 = ( unsigned int * ) ( ( char * ) v27 + @@a3@@ ) ; * v28 = _mm_cvtsi64_si32 ( _m_packuswb ( _m_paddsw ( _m_psrawi ( _m_psubw ( _m_paddw ( v23 , v23 ) , v26 ) , Number ) , _m_punpcklbw ( _mm_cvtsi32_si64 ( * v28 ) , Number L ) ) , Number L ) ) ; result = ( unsigned int * ) ( ( char * ) v28 + @@a3@@ ) ; * result = _mm_cvtsi64_si32 ( _m_packuswb ( _m_paddsw ( _m_psrawi ( _m_psubw ( _m_paddw ( v22 , v22 ) , v25 ) , Number ) , _m_punpcklbw ( _mm_cvtsi32_si64 ( * result ) , Number L ) ) , Number L ) ) ; return result ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "unsigned int"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "__m64"}, "location": "r64"}]} {"name": "ff_h264_idct_dc_add_mmx2", "code": "unsigned int * __fastcall ff_h264_idct_dc_add_mmx2 ( unsigned int * @@a1@@ , __int16 * @@a2@@ , int @@a3@@ ) { __m64 v3 ; __m64 v4 ; __m64 v5 ; __m64 v6 ; unsigned int * @@result@@ ; unsigned int * v8 ; unsigned int * @@v9@@ ; __m64 @@v10@@ ; __m64 @@v11@@ ; __m64 @@v12@@ ; v3 = _m_pshufw ( _mm_cvtsi32_si64 ( ( * @@a2@@ + Number ) >> Number ) , Number ) ; v4 = _m_psubw ( Number L , v3 ) ; v5 = _m_packuswb ( v3 , v3 ) ; v6 = _m_packuswb ( v4 , v4 ) ; @@result@@ = ( unsigned int * ) ( ( char * ) @@a1@@ + @@a3@@ ) ; v8 = ( unsigned int * ) ( ( char * ) @@a1@@ + Number * @@a3@@ ) ; @@v9@@ = ( unsigned int * ) ( ( char * ) @@a1@@ + Number * @@a3@@ ) ; @@v10@@ = _m_psubusb ( _m_paddusb ( _mm_cvtsi32_si64 ( * @@result@@ ) , v5 ) , v6 ) ; @@v11@@ = _m_psubusb ( _m_paddusb ( _mm_cvtsi32_si64 ( * v8 ) , v5 ) , v6 ) ; @@v12@@ = _m_psubusb ( _m_paddusb ( _mm_cvtsi32_si64 ( * @@v9@@ ) , v5 ) , v6 ) ; * @@a1@@ = _mm_cvtsi64_si32 ( _m_psubusb ( _m_paddusb ( _mm_cvtsi32_si64 ( * @@a1@@ ) , v5 ) , v6 ) ) ; * @@result@@ = _mm_cvtsi64_si32 ( @@v10@@ ) ; * v8 = _mm_cvtsi64_si32 ( @@v11@@ ) ; * @@v9@@ = _mm_cvtsi64_si32 ( @@v12@@ ) ; return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "v9", "t": {"T": 3, "t": "unsigned int"}, "location": "r24"}, {"n": "v10", "t": {"T": 8}, "location": "r448"}, {"n": "v11", "t": {"T": 8}, "location": "r456"}, {"n": "v12", "t": {"T": 8}, "location": "r464"}, {"n": "a1", "t": {"T": 3, "t": "unsigned int"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "__int16"}, "location": "r64"}, {"n": "result", "t": {"T": 3, "t": "unsigned int"}, "location": "r8"}]} {"name": "ff_h264_idct_add16_mmx", "code": "unsigned int * __fastcall ff_h264_idct_add16_mmx ( __int64 @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ , int @@a4@@ , __int64 @@a5@@ ) { unsigned int * @@result@@ ; int @@i@@ ; for ( @@i@@ = Number ; @@i@@ <= Number ; ++ @@i@@ ) { @@result@@ = ( unsigned int * ) * ( unsigned __int8 * ) ( ( unsigned __int8 ) scan8 [ @@i@@ ] + @@a5@@ ) ; if ( ( _BYTE ) @@result@@ ) @@result@@ = ff_h264_idct_add_mmx ( ( unsigned int * ) ( * ( int * ) ( Number L * @@i@@ + @@a2@@ ) + @@a1@@ ) , ( __m64 * ) ( Number L * @@i@@ + @@a3@@ ) , @@a4@@ ) ; } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}, {"n": "result", "t": {"T": 3, "t": "unsigned int"}, "location": "r8"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}]} {"name": "ff_h264dsp_init_x86", "code": "__int64 ( __fastcall * * __fastcall ff_h264dsp_init_x86 ( __int64 ( __fastcall * * @@a1@@ ) ( __int64 @@a1@@ , int a2 , unsigned int a3 , unsigned int a4 , int a5 ) ) ) ( __int64 @@a1@@ , int a2 , unsigned int a3 , unsigned int a4 , int a5 ) { __int64 ( __fastcall * * @@result@@ ) ( __int64 , int , unsigned int , unsigned int , int ) ; mm_flags = mm_support ( ) ; @@result@@ = ( __int64 ( __fastcall * * ) ( __int64 , int , unsigned int , unsigned int , int ) ) ( mm_flags & Number ) ; if ( ( mm_flags & Number ) != Number ) { @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) ff_h264_idct_add_mmx ; @@a1@@ [ Number ] = @@a1@@ [ Number ] ; @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) ff_h264_idct8_add_mmx ; @@a1@@ [ Number ] = @@a1@@ [ Number ] ; @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) ff_h264_idct_add16_mmx ; @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) ff_h264_idct8_add4_mmx ; @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) ff_h264_idct_add8_mmx ; @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) ff_h264_idct_add16intra_mmx ; if ( ( mm_flags & Number ) != Number ) { @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) ff_h264_idct_dc_add_mmx2 ; @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) ff_h264_idct8_dc_add_mmx2 ; @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) ff_h264_idct_add16_mmx2 ; @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) ff_h264_idct8_add4_mmx2 ; @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) ff_h264_idct_add8_mmx2 ; @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) ff_h264_idct_add16intra_mmx2 ; @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) h264_v_loop_filter_luma_mmx2 ; @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) h264_h_loop_filter_luma_mmx2 ; @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) h264_v_loop_filter_chroma_mmx2 ; @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) h264_h_loop_filter_chroma_mmx2 ; @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) h264_v_loop_filter_chroma_intra_mmx2 ; @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) h264_h_loop_filter_chroma_intra_mmx2 ; @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) h264_loop_filter_strength_mmx2 ; * @@a1@@ = ff_h264_weight_16x16_mmx2 ; @@a1@@ [ Number ] = ff_h264_weight_16x8_mmx2 ; @@a1@@ [ Number ] = ff_h264_weight_8x16_mmx2 ; @@a1@@ [ Number ] = ff_h264_weight_8x8_mmx2 ; @@a1@@ [ Number ] = ff_h264_weight_8x4_mmx2 ; @@a1@@ [ Number ] = ff_h264_weight_4x8_mmx2 ; @@a1@@ [ Number ] = ff_h264_weight_4x4_mmx2 ; @@a1@@ [ Number ] = ff_h264_weight_4x2_mmx2 ; @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) ff_h264_biweight_16x16_mmx2 ; @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) ff_h264_biweight_16x8_mmx2 ; @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) ff_h264_biweight_8x16_mmx2 ; @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) ff_h264_biweight_8x8_mmx2 ; @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) ff_h264_biweight_8x4_mmx2 ; @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) ff_h264_biweight_4x8_mmx2 ; @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) ff_h264_biweight_4x4_mmx2 ; @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) ff_h264_biweight_4x2_mmx2 ; } @@result@@ = ( __int64 ( __fastcall * * ) ( __int64 , int , unsigned int , unsigned int , int ) ) ( mm_flags & Number ) ; if ( ( mm_flags & Number ) != Number ) { @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) ff_h264_idct8_add_sse2 ; @@result@@ = @@a1@@ ; @@a1@@ [ Number ] = ( __int64 ( __fastcall * ) ( __int64 , int , unsigned int , unsigned int , int ) ) ff_h264_idct8_add4_sse2 ; } } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 9, "n": "__int64 (__fastcall **)(__int64 a1, int a2, unsigned int a3, unsigned int a4, int a5)"}, "location": "r56"}, {"n": "result", "t": {"T": 9, "n": "__int64 (__fastcall **)(__int64 a1, int a2, unsigned int a3, unsigned int a4, int a5)"}, "location": "r8"}]}