{"name": "h264_v_loop_filter_luma_mmx2", "code": "__m64 * __fastcall h264_v_loop_filter_luma_mmx2 ( __m64 * @@a1@@ , unsigned int @@a2@@ , int @@a3@@ , int @@a4@@ , __int64 @@a5@@ ) { __m64 * @@result@@ ; if ( ( * ( _BYTE * ) @@a5@@ & * ( _BYTE * ) ( @@a5@@ + Number ) & Number ) == Number ) h264_loop_filter_luma_mmx2 ( @@a1@@ , @@a2@@ , @@a3@@ - Number , @@a4@@ - Number , ( unsigned int * ) @@a5@@ ) ; @@result@@ = ( __m64 * ) ( unsigned __int8 ) ( * ( _BYTE * ) ( @@a5@@ + Number ) & * ( _BYTE * ) ( @@a5@@ + Number ) ) ; if ( ( * ( _BYTE * ) ( @@a5@@ + Number ) & * ( _BYTE * ) ( @@a5@@ + Number ) & Number ) == Number ) @@result@@ = h264_loop_filter_luma_mmx2 ( @@a1@@ + Number , @@a2@@ , @@a3@@ - Number , @@a4@@ - Number , ( unsigned int * ) ( @@a5@@ + Number ) ) ; return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 3, "t": "__m64"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}, {"n": "result", "t": {"T": 3, "t": "__m64"}, "location": "r8"}]}
{"name": "h264_loop_filter_luma_mmx2", "code": "__m64 * __fastcall h264_loop_filter_luma_mmx2 ( __m64 * @@a1@@ , unsigned int @@a2@@ , unsigned int @@a3@@ , unsigned int @@a4@@ , unsigned int * @@a5@@ ) { __m64 * v5 ; __m64 * @@result@@ ; __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 ; __m64 v27 ; __m64 v28 ; __m64 v29 ; __m64 @@v30@@ ; __m64 @@v31@@ ; __m64 @@v32@@ ; @@v30@@ = ( __m64 ) __PAIR64__ ( @@a2@@ , @@a3@@ ) ; v5 = ( __m64 * ) ( ( char * ) @@a1@@ + ( int ) ( Number * @@a2@@ ) ) ; @@result@@ = @@a1@@ ; @@v7@@ = * ( __m64 * ) ( ( char * ) v5 + * ( ( int * ) & @@v30@@ + Number ) ) ; @@v8@@ = * ( __m64 * ) ( ( char * ) v5 + Number * * ( ( int * ) & @@v30@@ + Number ) ) ; @@v9@@ = ( __m64 ) @@a1@@ -> m64_u64 ; v10 = _m_pshufw ( @@v30@@ , Number ) ; v11 = _m_pshufw ( ( __m64 ) __PAIR64__ ( @@a3@@ , @@a4@@ ) , Number ) ; v12 = _m_packuswb ( v11 , v11 ) ; v13 = _m_pcmpeqb ( _m_por ( _m_por ( _m_psubusb ( _m_por ( _m_psubusb ( @@v8@@ , ( __m64 ) @@a1@@ -> m64_u64 ) , _m_psubusb ( ( __m64 ) @@a1@@ -> m64_u64 , @@v8@@ ) ) , _m_packuswb ( v10 , v10 ) ) , _m_psubusb ( _m_por ( _m_psubusb ( @@v7@@ , @@v8@@ ) , _m_psubusb ( @@v8@@ , @@v7@@ ) ) , v12 ) ) , _m_psubusb ( _m_por ( _m_psubusb ( * ( __m64 * ) ( ( char * ) @@a1@@ + * ( ( int * ) & @@v30@@ + Number ) ) , ( __m64 ) @@a1@@ -> m64_u64 ) , _m_psubusb ( ( __m64 ) @@a1@@ -> m64_u64 , * ( __m64 * ) ( ( char * ) @@a1@@ + * ( ( int * ) & @@v30@@ + Number ) ) ) ) , v12 ) ) , Number L ) ; v14 = _mm_cvtsi32_si64 ( * @@a5@@ ) ; v15 = _m_punpcklbw ( v14 , v14 ) ; @@v32@@ = _m_punpcklwd ( v15 , v15 ) ; @@v31@@ = _m_pand ( v13 , _m_pcmpgtb ( @@v32@@ , ( __m64 ) Number ) ) ; v16 = _m_pand ( _m_pcmpeqb ( _m_psubusb ( _m_psubusb ( @@v8@@ , ( __m64 ) v5 -> m64_u64 ) , v12 ) , _m_psubusb ( _m_psubusb ( ( __m64 ) v5 -> m64_u64 , @@v8@@ ) , v12 ) ) , @@v31@@ ) ; v17 = _m_pand ( @@v31@@ , @@v32@@ ) ; v18 = _m_psubb ( v17 , v16 ) ; v19 = _m_pand ( v16 , v17 ) ; v20 = _m_pavgb ( @@v8@@ , ( __m64 ) @@a1@@ -> m64_u64 ) ; * ( __m64 * ) ( ( char * ) v5 + * ( ( int * ) & @@v30@@ + Number ) ) = _m_pminub ( _m_pmaxub ( _m_psubusb ( _m_pavgb ( ( __m64 ) v5 -> m64_u64 , v20 ) , _m_pand ( _m_pxor ( v20 , ( __m64 ) v5 -> m64_u64 ) , ( __m64 ) ff_bone ) ) , _m_psubusb ( @@v7@@ , v19 ) ) , _m_paddusb ( v19 , @@v7@@ ) ) ; v21 = * ( __m64 * ) ( ( char * ) @@a1@@ + Number * * ( ( int * ) & @@v30@@ + Number ) ) ; v22 = _m_pand ( _m_pcmpeqb ( _m_psubusb ( _m_psubusb ( @@v9@@ , v21 ) , v12 ) , _m_psubusb ( _m_psubusb ( v21 , @@v9@@ ) , v12 ) ) , @@v31@@ ) ; v23 = _m_pand ( @@v32@@ , v22 ) ; v24 = _m_psubb ( v18 , v22 ) ; v25 = * ( __m64 * ) ( ( char * ) @@a1@@ + * ( ( int * ) & @@v30@@ + Number ) ) ; v26 = _m_pavgb ( @@v8@@ , @@v9@@ ) ; * ( __m64 * ) ( ( char * ) @@a1@@ + * ( ( int * ) & @@v30@@ + Number ) ) = _m_pminub ( _m_pmaxub ( _m_psubusb ( _m_pavgb ( v21 , v26 ) , _m_pand ( _m_pxor ( v26 , v21 ) , ( __m64 ) ff_bone ) ) , _m_psubusb ( v25 , v23 ) ) , _m_paddusb ( v23 , v25 ) ) ; v27 = _m_paddusb ( _m_pavgb ( _m_pavgb ( _m_pavgb ( _m_pxor ( v25 , ( __m64 ) Number ) , @@v7@@ ) , ( __m64 ) ff_pb_3 ) , _m_pand ( _m_pxor ( @@v8@@ , @@v9@@ ) , ( __m64 ) ff_bone ) ) , _m_pavgb ( _m_pxor ( ( __m64 ) Number , @@v8@@ ) , @@v9@@ ) ) ; v28 = _m_pminub ( _m_psubusb ( ( __m64 ) ff_pb_A1 , v27 ) , v24 ) ; v29 = _m_pminub ( _m_psubusb ( v27 , ( __m64 ) ff_pb_A1 ) , v24 ) ; * ( __m64 * ) ( ( char * ) v5 + Number * * ( ( int * ) & @@v30@@ + Number ) ) = _m_paddusb ( _m_psubusb ( @@v8@@ , v28 ) , v29 ) ; @@a1@@ -> m64_u64 = ( unsigned __int64 ) _m_paddusb ( _m_psubusb ( @@v9@@ , v29 ) , v28 ) ; return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r24"}, {"n": "v7", "t": {"T": 8}, "location": "r424"}, {"n": "v8", "t": {"T": 8}, "location": "r432"}, {"n": "v9", "t": {"T": 8}, "location": "r440"}, {"n": "a1", "t": {"T": 3, "t": "__m64"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r64"}, {"n": "a5", "t": {"T": 3, "t": "unsigned int"}, "location": "r72"}, {"n": "result", "t": {"T": 3, "t": "__m64"}, "location": "r8"}, {"n": "v31", "t": {"T": 8}, "location": "s16"}, {"n": "v30", "t": {"T": 8}, "location": "s32"}, {"n": "v32", "t": {"T": 8}, "location": "s8"}]} {"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"}]}