{"name": "avg_h264_qpel8or16_hv_lowpass_mmx2", "code": "__int64 __fastcall avg_h264_qpel8or16_hv_lowpass_mmx2 ( __m64 * @@a1@@ , __m64 * @@a2@@ , __int64 @@a3@@ , int @@a4@@ , __int64 @@a5@@ , int @@a6@@ , int @@a7@@ ) { unsigned int * v7 ; __m64 v8 ; unsigned int * v9 ; __m64 v10 ; unsigned int * v11 ; __m64 v12 ; unsigned int * v13 ; __m64 v14 ; unsigned int * v15 ; __m64 v16 ; __m64 v17 ; __m64 v18 ; __m64 v19 ; __m64 v20 ; unsigned int * v21 ; __m64 v22 ; unsigned int * v23 ; __m64 v24 ; unsigned int * v25 ; __m64 v26 ; unsigned int * v27 ; __m64 v28 ; unsigned int * v29 ; __m64 v30 ; unsigned int * v31 ; __m64 v32 ; unsigned int * v33 ; __m64 v34 ; __m64 v35 ; unsigned int * v36 ; __m64 v37 ; unsigned int * v38 ; __m64 v39 ; unsigned int * v40 ; __m64 v41 ; unsigned int * v42 ; __m64 v43 ; unsigned int * v44 ; __m64 v45 ; unsigned int * v46 ; __m64 v47 ; unsigned int * v48 ; __m64 * v50 ; __m64 * v51 ; int v52 ; __m64 v53 ; __m64 v54 ; __m64 v55 ; __m64 v56 ; __m64 v57 ; __m64 v58 ; __m64 v59 ; __int64 result ; int @@v61@@ ; int @@v62@@ ; unsigned int * i ; unsigned int * v64 ; __m64 * @@v65@@ ; unsigned int @@v66@@ ; __m64 * @@v68@@ ; @@v61@@ = @@a4@@ ; @@v65@@ = @@a2@@ ; @@v62@@ = ( @@a7@@ + Number ) >> Number ; for ( i = ( unsigned int * ) ( Number - Number * @@a6@@ + @@a3@@ ) ; @@v62@@ -- ; i = ( unsigned int * ) ( ( char * ) v64 + Number - @@a6@@ * ( @@a7@@ + Number ) ) ) { v7 = ( unsigned int * ) ( ( char * ) i + @@a6@@ ) ; v8 = _mm_cvtsi32_si64 ( * v7 ) ; v9 = ( unsigned int * ) ( ( char * ) v7 + @@a6@@ ) ; v10 = _mm_cvtsi32_si64 ( * v9 ) ; v11 = ( unsigned int * ) ( ( char * ) v9 + @@a6@@ ) ; v12 = _mm_cvtsi32_si64 ( * v11 ) ; v13 = ( unsigned int * ) ( ( char * ) v11 + @@a6@@ ) ; v14 = _mm_cvtsi32_si64 ( * v13 ) ; v15 = ( unsigned int * ) ( ( char * ) v13 + @@a6@@ ) ; v16 = _m_punpcklbw ( v8 , Number L ) ; v17 = _m_punpcklbw ( v10 , Number L ) ; v18 = _m_punpcklbw ( v12 , Number L ) ; v19 = _m_punpcklbw ( v14 , Number L ) ; v20 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v15 ) , Number L ) ; v21 = ( unsigned int * ) ( ( char * ) v15 + @@a6@@ ) ; @@v65@@ -> m64_u64 = ( unsigned __int64 ) _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v17 , v18 ) , Number ) , v16 ) , v19 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( _m_punpcklbw ( _mm_cvtsi32_si64 ( * i ) , Number L ) , * ( __m64 * ) & ff_pw_16 ) , v20 ) ) ; v22 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v21 ) , Number L ) ; v23 = ( unsigned int * ) ( ( char * ) v21 + @@a6@@ ) ; @@v65@@ [ Number ] . m64_u64 = ( unsigned __int64 ) _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v18 , v19 ) , Number ) , v17 ) , v20 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v16 , * ( __m64 * ) & ff_pw_16 ) , v22 ) ) ; v24 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v23 ) , Number L ) ; v25 = ( unsigned int * ) ( ( char * ) v23 + @@a6@@ ) ; @@v65@@ [ Number ] . m64_u64 = ( unsigned __int64 ) _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v19 , v20 ) , Number ) , v18 ) , v22 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v17 , * ( __m64 * ) & ff_pw_16 ) , v24 ) ) ; v26 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v25 ) , Number L ) ; v27 = ( unsigned int * ) ( ( char * ) v25 + @@a6@@ ) ; @@v65@@ [ Number ] . m64_u64 = ( unsigned __int64 ) _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v20 , v22 ) , Number ) , v19 ) , v24 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v18 , * ( __m64 * ) & ff_pw_16 ) , v26 ) ) ; v28 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v27 ) , Number L ) ; v29 = ( unsigned int * ) ( ( char * ) v27 + @@a6@@ ) ; @@v65@@ [ Number ] . m64_u64 = ( unsigned __int64 ) _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v22 , v24 ) , Number ) , v20 ) , v26 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v19 , * ( __m64 * ) & ff_pw_16 ) , v28 ) ) ; v30 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v29 ) , Number L ) ; v31 = ( unsigned int * ) ( ( char * ) v29 + @@a6@@ ) ; @@v65@@ [ Number ] . m64_u64 = ( unsigned __int64 ) _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v24 , v26 ) , Number ) , v22 ) , v28 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v20 , * ( __m64 * ) & ff_pw_16 ) , v30 ) ) ; v32 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v31 ) , Number L ) ; v33 = ( unsigned int * ) ( ( char * ) v31 + @@a6@@ ) ; @@v65@@ [ Number ] . m64_u64 = ( unsigned __int64 ) _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v26 , v28 ) , Number ) , v24 ) , v30 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v22 , * ( __m64 * ) & ff_pw_16 ) , v32 ) ) ; v34 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v33 ) , Number L ) ; @@v65@@ [ Number ] . m64_u64 = ( unsigned __int64 ) _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v28 , v30 ) , Number ) , v26 ) , v32 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v24 , * ( __m64 * ) & ff_pw_16 ) , v34 ) ) ; v64 = ( unsigned int * ) ( ( char * ) v33 + @@a6@@ ) ; if ( @@a7@@ == Number ) { v35 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v64 ) , Number L ) ; v36 = ( unsigned int * ) ( ( char * ) v64 + @@a6@@ ) ; @@v65@@ [ Number ] . m64_u64 = ( unsigned __int64 ) _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v30 , v32 ) , Number ) , v28 ) , v34 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v26 , * ( __m64 * ) & ff_pw_16 ) , v35 ) ) ; v37 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v36 ) , Number L ) ; v38 = ( unsigned int * ) ( ( char * ) v36 + @@a6@@ ) ; @@v65@@ [ Number ] . m64_u64 = ( unsigned __int64 ) _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v32 , v34 ) , Number ) , v30 ) , v35 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v28 , * ( __m64 * ) & ff_pw_16 ) , v37 ) ) ; v39 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v38 ) , Number L ) ; v40 = ( unsigned int * ) ( ( char * ) v38 + @@a6@@ ) ; @@v65@@ [ Number ] . m64_u64 = ( unsigned __int64 ) _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v34 , v35 ) , Number ) , v32 ) , v37 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v30 , * ( __m64 * ) & ff_pw_16 ) , v39 ) ) ; v41 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v40 ) , Number L ) ; v42 = ( unsigned int * ) ( ( char * ) v40 + @@a6@@ ) ; @@v65@@ [ Number ] . m64_u64 = ( unsigned __int64 ) _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v35 , v37 ) , Number ) , v34 ) , v39 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v32 , * ( __m64 * ) & ff_pw_16 ) , v41 ) ) ; v43 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v42 ) , Number L ) ; v44 = ( unsigned int * ) ( ( char * ) v42 + @@a6@@ ) ; @@v65@@ [ Number ] . m64_u64 = ( unsigned __int64 ) _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v37 , v39 ) , Number ) , v35 ) , v41 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v34 , * ( __m64 * ) & ff_pw_16 ) , v43 ) ) ; v45 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v44 ) , Number L ) ; v46 = ( unsigned int * ) ( ( char * ) v44 + @@a6@@ ) ; @@v65@@ [ Number ] . m64_u64 = ( unsigned __int64 ) _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v39 , v41 ) , Number ) , v37 ) , v43 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v35 , * ( __m64 * ) & ff_pw_16 ) , v45 ) ) ; v47 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v46 ) , Number L ) ; v48 = ( unsigned int * ) ( ( char * ) v46 + @@a6@@ ) ; @@v65@@ [ Number ] . m64_u64 = ( unsigned __int64 ) _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v41 , v43 ) , Number ) , v39 ) , v45 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v37 , * ( __m64 * ) & ff_pw_16 ) , v47 ) ) ; @@v65@@ [ Number ] . m64_u64 = ( unsigned __int64 ) _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v43 , v45 ) , Number ) , v41 ) , v47 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v39 , * ( __m64 * ) & ff_pw_16 ) , _m_punpcklbw ( _mm_cvtsi32_si64 ( * v48 ) , Number L ) ) ) ; v64 = ( unsigned int * ) ( ( char * ) v48 + @@a6@@ ) ; } ++ @@v65@@ ; } @@v68@@ = @@a2@@ ; @@v66@@ = @@a7@@ >> Number ; do { v50 = @@v68@@ ; v51 = @@a1@@ ; v52 = @@a7@@ ; do { v53 = v50 [ Number ] ; v54 = * ( __m64 * ) ( ( char * ) v50 + Number ) ; v55 = _m_paddw ( ( __m64 ) v50 -> m64_u64 , v54 ) ; v56 = _m_paddw ( * ( __m64 * ) ( ( char * ) v50 + Number ) , v53 ) ; v57 = _m_paddw ( v54 , v50 [ Number ] ) ; v58 = _m_paddw ( * ( __m64 * ) ( ( char * ) v50 + Number ) , * ( __m64 * ) ( ( char * ) v50 + Number ) ) ; v59 = _m_paddw ( * ( __m64 * ) ( ( char * ) v50 + Number ) , * ( __m64 * ) ( ( char * ) v50 + Number ) ) ; v51 -> m64_u64 = ( unsigned __int64 ) _m_pavgb ( _m_packuswb ( _m_psrawi ( _m_paddw ( _m_psrawi ( _m_paddsw ( _m_psubw ( _m_psrawi ( _m_psubw ( v55 , v56 ) , Number ) , v56 ) , v58 ) , Number ) , v58 ) , Number ) , _m_psrawi ( _m_paddw ( _m_psrawi ( _m_paddsw ( _m_psubw ( _m_psrawi ( _m_psubw ( _m_paddw ( v53 , * ( __m64 * ) ( ( char * ) v50 + Number ) ) , v57 ) , Number ) , v57 ) , v59 ) , Number ) , v59 ) , Number ) ) , ( __m64 ) v51 -> m64_u64 ) ; v50 += Number ; v51 = ( __m64 * ) ( ( char * ) v51 + @@a4@@ ) ; -- v52 ; } while ( v52 ) ; @@v68@@ = & v50 [ Number * @@a7@@ + Number ] ; @@a1@@ = ( __m64 * ) ( ( char * ) v51 + Number - @@a7@@ * @@v61@@ ) ; result = @@v66@@ -- ; } while ( ( _DWORD ) result ) ; 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": 3, "t": "__m64"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "__m64"}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}, {"n": "a6", "t": {"T": 1, "n": "int", "s": 4}, "location": "r80"}, {"n": "a7", "t": {"T": 1, "n": "int", "s": 4}, "location": "s-8"}, {"n": "v61", "t": {"T": 1, "n": "int", "s": 4}, "location": "s108"}, {"n": "v68", "t": {"T": 3, "t": "__m64"}, "location": "s16"}, {"n": "v66", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s32"}, {"n": "v65", "t": {"T": 3, "t": "__m64"}, "location": "s48"}, {"n": "v62", "t": {"T": 1, "n": "int", "s": 4}, "location": "s72"}]}
{"name": "avg_h264_qpel8_hv_lowpass_mmx2", "code": "__int64 __fastcall avg_h264_qpel8_hv_lowpass_mmx2 ( __m64 * @@a1@@ , __m64 * @@a2@@ , __int64 @@a3@@ , int @@a4@@ , unsigned int @@a5@@ , int @@a6@@ ) { return avg_h264_qpel8or16_hv_lowpass_mmx2 ( @@a1@@ , @@a2@@ , @@a3@@ , @@a4@@ , @@a5@@ , @@a6@@ , Number ) ; }", "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": 3, "t": "__m64"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "__m64"}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r72"}, {"n": "a6", "t": {"T": 1, "n": "int", "s": 4}, "location": "r80"}]} {"name": "avg_h264_qpel16_hv_lowpass_mmx2", "code": "__int64 __fastcall avg_h264_qpel16_hv_lowpass_mmx2 ( __m64 * @@a1@@ , __m64 * @@a2@@ , __int64 @@a3@@ , int @@a4@@ , unsigned int @@a5@@ , int @@a6@@ ) { return avg_h264_qpel8or16_hv_lowpass_mmx2 ( @@a1@@ , @@a2@@ , @@a3@@ , @@a4@@ , @@a5@@ , @@a6@@ , Number ) ; }", "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": 3, "t": "__m64"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "__m64"}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r72"}, {"n": "a6", "t": {"T": 1, "n": "int", "s": 4}, "location": "r80"}]}