{"name": "avg_h264_qpel8_v_lowpass_mmx2", "code": "__int64 __fastcall avg_h264_qpel8_v_lowpass_mmx2 ( unsigned int * @@a1@@ , __int64 @@a2@@ , int @@a3@@ , int @@a4@@ ) { return avg_h264_qpel8or16_v_lowpass_mmx2 ( @@a1@@ , @@a2@@ , @@a3@@ , @@a4@@ , Number ) ; }", "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": "unsigned int"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}]}
{"name": "avg_h264_qpel8or16_v_lowpass_mmx2", "code": "__int64 __fastcall avg_h264_qpel8or16_v_lowpass_mmx2 ( unsigned int * @@a1@@ , __int64 @@a2@@ , int @@a3@@ , int @@a4@@ , int @@a5@@ ) { unsigned int * v5 ; __m64 v6 ; unsigned int * v7 ; __m64 v8 ; unsigned int * v9 ; __m64 v10 ; unsigned int * v11 ; __m64 v12 ; unsigned int * v13 ; __m64 v14 ; __m64 v15 ; __m64 v16 ; __m64 v17 ; __m64 v18 ; unsigned int * 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 ; unsigned int * v35 ; __m64 v36 ; unsigned int * v37 ; __m64 v38 ; unsigned int * v39 ; __m64 v40 ; unsigned int * v41 ; __m64 v42 ; unsigned int * v43 ; __m64 v44 ; unsigned int * v45 ; __m64 v46 ; __m64 v47 ; __m64 v48 ; unsigned int * v49 ; __m64 v50 ; unsigned int * v51 ; __m64 v52 ; unsigned int * v53 ; __m64 v54 ; unsigned int * v55 ; __m64 v56 ; unsigned int * v57 ; __m64 v58 ; unsigned int * v59 ; __m64 v60 ; unsigned int * v61 ; __m64 v62 ; unsigned int * v63 ; __m64 v64 ; unsigned int * v65 ; __m64 v66 ; unsigned int * v67 ; __m64 v68 ; unsigned int * v69 ; __m64 v70 ; unsigned int * v71 ; __m64 v72 ; unsigned int * v73 ; __m64 v74 ; unsigned int * v75 ; __m64 v76 ; __int64 result ; unsigned int * v79 ; unsigned int * v80 ; unsigned int * @@v82@@ ; unsigned int @@v83@@ ; @@v83@@ = Number ; v79 = ( unsigned int * ) ( Number * @@a4@@ + @@a2@@ ) ; while ( Number ) { result = @@v83@@ -- ; if ( ! ( _DWORD ) result ) break ; v5 = ( unsigned int * ) ( ( char * ) v79 + @@a4@@ ) ; v6 = _mm_cvtsi32_si64 ( * v5 ) ; v7 = ( unsigned int * ) ( ( char * ) v5 + @@a4@@ ) ; v8 = _mm_cvtsi32_si64 ( * v7 ) ; v9 = ( unsigned int * ) ( ( char * ) v7 + @@a4@@ ) ; v10 = _mm_cvtsi32_si64 ( * v9 ) ; v11 = ( unsigned int * ) ( ( char * ) v9 + @@a4@@ ) ; v12 = _mm_cvtsi32_si64 ( * v11 ) ; v13 = ( unsigned int * ) ( ( char * ) v11 + @@a4@@ ) ; v14 = _m_punpcklbw ( v6 , Number L ) ; v15 = _m_punpcklbw ( v8 , Number L ) ; v16 = _m_punpcklbw ( v10 , Number L ) ; v17 = _m_punpcklbw ( v12 , Number L ) ; v18 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v13 ) , Number L ) ; v19 = ( unsigned int * ) ( ( char * ) v13 + @@a4@@ ) ; v20 = _m_psrawi ( _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v15 , v16 ) , Number ) , v14 ) , v17 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( _m_punpcklbw ( _mm_cvtsi32_si64 ( * v79 ) , Number L ) , * ( __m64 * ) & ff_pw_16 ) , v18 ) ) , Number ) ; * @@a1@@ = _mm_cvtsi64_si32 ( _m_pavgb ( _m_packuswb ( v20 , v20 ) , _mm_cvtsi32_si64 ( * @@a1@@ ) ) ) ; v21 = ( unsigned int * ) ( ( char * ) @@a1@@ + @@a3@@ ) ; v22 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v19 ) , Number L ) ; v23 = ( unsigned int * ) ( ( char * ) v19 + @@a4@@ ) ; v24 = _m_psrawi ( _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v16 , v17 ) , Number ) , v15 ) , v18 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v14 , * ( __m64 * ) & ff_pw_16 ) , v22 ) ) , Number ) ; * v21 = _mm_cvtsi64_si32 ( _m_pavgb ( _m_packuswb ( v24 , v24 ) , _mm_cvtsi32_si64 ( * v21 ) ) ) ; v25 = ( unsigned int * ) ( ( char * ) v21 + @@a3@@ ) ; v26 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v23 ) , Number L ) ; v27 = ( unsigned int * ) ( ( char * ) v23 + @@a4@@ ) ; v28 = _m_psrawi ( _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v17 , v18 ) , Number ) , v16 ) , v22 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v15 , * ( __m64 * ) & ff_pw_16 ) , v26 ) ) , Number ) ; * v25 = _mm_cvtsi64_si32 ( _m_pavgb ( _m_packuswb ( v28 , v28 ) , _mm_cvtsi32_si64 ( * v25 ) ) ) ; v29 = ( unsigned int * ) ( ( char * ) v25 + @@a3@@ ) ; v30 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v27 ) , Number L ) ; v31 = ( unsigned int * ) ( ( char * ) v27 + @@a4@@ ) ; v32 = _m_psrawi ( _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v18 , v22 ) , Number ) , v17 ) , v26 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v16 , * ( __m64 * ) & ff_pw_16 ) , v30 ) ) , Number ) ; * v29 = _mm_cvtsi64_si32 ( _m_pavgb ( _m_packuswb ( v32 , v32 ) , _mm_cvtsi32_si64 ( * v29 ) ) ) ; v33 = ( unsigned int * ) ( ( char * ) v29 + @@a3@@ ) ; v34 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v31 ) , Number L ) ; v35 = ( unsigned int * ) ( ( char * ) v31 + @@a4@@ ) ; v36 = _m_psrawi ( _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v22 , v26 ) , Number ) , v18 ) , v30 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v17 , * ( __m64 * ) & ff_pw_16 ) , v34 ) ) , Number ) ; * v33 = _mm_cvtsi64_si32 ( _m_pavgb ( _m_packuswb ( v36 , v36 ) , _mm_cvtsi32_si64 ( * v33 ) ) ) ; v37 = ( unsigned int * ) ( ( char * ) v33 + @@a3@@ ) ; v38 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v35 ) , Number L ) ; v39 = ( unsigned int * ) ( ( char * ) v35 + @@a4@@ ) ; v40 = _m_psrawi ( _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v26 , v30 ) , Number ) , v22 ) , v34 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v18 , * ( __m64 * ) & ff_pw_16 ) , v38 ) ) , Number ) ; * v37 = _mm_cvtsi64_si32 ( _m_pavgb ( _m_packuswb ( v40 , v40 ) , _mm_cvtsi32_si64 ( * v37 ) ) ) ; v41 = ( unsigned int * ) ( ( char * ) v37 + @@a3@@ ) ; v42 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v39 ) , Number L ) ; v43 = ( unsigned int * ) ( ( char * ) v39 + @@a4@@ ) ; v44 = _m_psrawi ( _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v30 , v34 ) , Number ) , v26 ) , v38 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v22 , * ( __m64 * ) & ff_pw_16 ) , v42 ) ) , Number ) ; * v41 = _mm_cvtsi64_si32 ( _m_pavgb ( _m_packuswb ( v44 , v44 ) , _mm_cvtsi32_si64 ( * v41 ) ) ) ; v45 = ( unsigned int * ) ( ( char * ) v41 + @@a3@@ ) ; v46 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v43 ) , Number L ) ; v47 = _m_psrawi ( _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v34 , v38 ) , Number ) , v30 ) , v42 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v26 , * ( __m64 * ) & ff_pw_16 ) , v46 ) ) , Number ) ; * v45 = _mm_cvtsi64_si32 ( _m_pavgb ( _m_packuswb ( v47 , v47 ) , _mm_cvtsi32_si64 ( * v45 ) ) ) ; v80 = ( unsigned int * ) ( ( char * ) v43 + @@a4@@ ) ; @@v82@@ = ( unsigned int * ) ( ( char * ) v45 + @@a3@@ ) ; if ( @@a5@@ == Number ) { v48 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v80 ) , Number L ) ; v49 = ( unsigned int * ) ( ( char * ) v80 + @@a4@@ ) ; v50 = _m_psrawi ( _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v38 , v42 ) , Number ) , v34 ) , v46 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v30 , * ( __m64 * ) & ff_pw_16 ) , v48 ) ) , Number ) ; * @@v82@@ = _mm_cvtsi64_si32 ( _m_pavgb ( _m_packuswb ( v50 , v50 ) , _mm_cvtsi32_si64 ( * @@v82@@ ) ) ) ; v51 = ( unsigned int * ) ( ( char * ) @@v82@@ + @@a3@@ ) ; v52 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v49 ) , Number L ) ; v53 = ( unsigned int * ) ( ( char * ) v49 + @@a4@@ ) ; v54 = _m_psrawi ( _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v42 , v46 ) , Number ) , v38 ) , v48 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v34 , * ( __m64 * ) & ff_pw_16 ) , v52 ) ) , Number ) ; * v51 = _mm_cvtsi64_si32 ( _m_pavgb ( _m_packuswb ( v54 , v54 ) , _mm_cvtsi32_si64 ( * v51 ) ) ) ; v55 = ( unsigned int * ) ( ( char * ) v51 + @@a3@@ ) ; v56 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v53 ) , Number L ) ; v57 = ( unsigned int * ) ( ( char * ) v53 + @@a4@@ ) ; v58 = _m_psrawi ( _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v46 , v48 ) , Number ) , v42 ) , v52 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v38 , * ( __m64 * ) & ff_pw_16 ) , v56 ) ) , Number ) ; * v55 = _mm_cvtsi64_si32 ( _m_pavgb ( _m_packuswb ( v58 , v58 ) , _mm_cvtsi32_si64 ( * v55 ) ) ) ; v59 = ( unsigned int * ) ( ( char * ) v55 + @@a3@@ ) ; v60 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v57 ) , Number L ) ; v61 = ( unsigned int * ) ( ( char * ) v57 + @@a4@@ ) ; v62 = _m_psrawi ( _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v48 , v52 ) , Number ) , v46 ) , v56 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v42 , * ( __m64 * ) & ff_pw_16 ) , v60 ) ) , Number ) ; * v59 = _mm_cvtsi64_si32 ( _m_pavgb ( _m_packuswb ( v62 , v62 ) , _mm_cvtsi32_si64 ( * v59 ) ) ) ; v63 = ( unsigned int * ) ( ( char * ) v59 + @@a3@@ ) ; v64 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v61 ) , Number L ) ; v65 = ( unsigned int * ) ( ( char * ) v61 + @@a4@@ ) ; v66 = _m_psrawi ( _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v52 , v56 ) , Number ) , v48 ) , v60 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v46 , * ( __m64 * ) & ff_pw_16 ) , v64 ) ) , Number ) ; * v63 = _mm_cvtsi64_si32 ( _m_pavgb ( _m_packuswb ( v66 , v66 ) , _mm_cvtsi32_si64 ( * v63 ) ) ) ; v67 = ( unsigned int * ) ( ( char * ) v63 + @@a3@@ ) ; v68 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v65 ) , Number L ) ; v69 = ( unsigned int * ) ( ( char * ) v65 + @@a4@@ ) ; v70 = _m_psrawi ( _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v56 , v60 ) , Number ) , v52 ) , v64 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v48 , * ( __m64 * ) & ff_pw_16 ) , v68 ) ) , Number ) ; * v67 = _mm_cvtsi64_si32 ( _m_pavgb ( _m_packuswb ( v70 , v70 ) , _mm_cvtsi32_si64 ( * v67 ) ) ) ; v71 = ( unsigned int * ) ( ( char * ) v67 + @@a3@@ ) ; v72 = _m_punpcklbw ( _mm_cvtsi32_si64 ( * v69 ) , Number L ) ; v73 = ( unsigned int * ) ( ( char * ) v69 + @@a4@@ ) ; v74 = _m_psrawi ( _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v60 , v64 ) , Number ) , v56 ) , v68 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v52 , * ( __m64 * ) & ff_pw_16 ) , v72 ) ) , Number ) ; * v71 = _mm_cvtsi64_si32 ( _m_pavgb ( _m_packuswb ( v74 , v74 ) , _mm_cvtsi32_si64 ( * v71 ) ) ) ; v75 = ( unsigned int * ) ( ( char * ) v71 + @@a3@@ ) ; v76 = _m_psrawi ( _m_paddw ( _m_pmullw ( _m_psubw ( _m_psubw ( _m_psllwi ( _m_paddw ( v64 , v68 ) , Number ) , v60 ) , v72 ) , * ( __m64 * ) & ff_pw_5 ) , _m_paddw ( _m_paddw ( v56 , * ( __m64 * ) & ff_pw_16 ) , _m_punpcklbw ( _mm_cvtsi32_si64 ( * v73 ) , Number L ) ) ) , Number ) ; * v75 = _mm_cvtsi64_si32 ( _m_pavgb ( _m_packuswb ( v76 , v76 ) , _mm_cvtsi32_si64 ( * v75 ) ) ) ; v80 = ( unsigned int * ) ( ( char * ) v73 + @@a4@@ ) ; @@v82@@ = ( unsigned int * ) ( ( char * ) v75 + @@a3@@ ) ; } v79 = ( unsigned int * ) ( ( char * ) v80 + Number - @@a4@@ * ( @@a5@@ + Number ) ) ; @@a1@@ = ( unsigned int * ) ( ( char * ) @@v82@@ + Number - @@a3@@ * @@a5@@ ) ; } 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": "unsigned int"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "int", "s": 4}, "location": "r72"}, {"n": "v82", "t": {"T": 3, "t": "unsigned int"}, "location": "s24"}, {"n": "v83", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}]} {"name": "avg_h264_qpel8_mc02_mmx2", "code": "__int64 __fastcall avg_h264_qpel8_mc02_mmx2 ( unsigned int * @@a1@@ , __int64 @@a2@@ , int @@a3@@ ) { return avg_h264_qpel8_v_lowpass_mmx2 ( @@a1@@ , @@a2@@ , @@a3@@ , @@a3@@ ) ; }", "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": 1, "n": "__int64", "s": 8}, "location": "r64"}]}