comparison i386/vp3dsp_sse2.c @ 2696:9699d325049d libavcodec

porting the mmx&sse2 (sse2 untested) vp3 idcts to the lavc idct API
author michael
date Tue, 17 May 2005 18:28:40 +0000
parents 6d104923f8f3
children ba8ecddf5598
comparison
equal deleted inserted replaced
2695:5d4a6edbc99c 2696:9699d325049d
794 movdqu_r2m(xmm3, *(eax+112)); /* write 77 75 74 66 65 53 52 34 */ \ 794 movdqu_r2m(xmm3, *(eax+112)); /* write 77 75 74 66 65 53 52 34 */ \
795 \ 795 \
796 } /* end of SSE2_Dequantize Macro */ 796 } /* end of SSE2_Dequantize Macro */
797 797
798 798
799 void vp3_dsp_init_sse2(void) 799 void ff_vp3_idct_sse2(int16_t *input_data)
800 {
801 /* nop */
802 }
803
804
805 void vp3_idct_sse2(int16_t *input_data, int16_t *dequant_matrix,
806 int coeff_count, int16_t *output_data)
807 { 800 {
808 unsigned char *input_bytes = (unsigned char *)input_data; 801 unsigned char *input_bytes = (unsigned char *)input_data;
809 unsigned char *dequant_matrix_bytes = (unsigned char *)dequant_matrix;
810 unsigned char *dequant_const_bytes = (unsigned char *)SSE2_dequant_const; 802 unsigned char *dequant_const_bytes = (unsigned char *)SSE2_dequant_const;
811 unsigned char *output_data_bytes = (unsigned char *)output_data; 803 unsigned char *output_data_bytes = (unsigned char *)input_data;
812 unsigned char *idct_data_bytes = (unsigned char *)SSE2_idct_data; 804 unsigned char *idct_data_bytes = (unsigned char *)SSE2_idct_data;
813 unsigned char *Eight = (unsigned char *)eight_data; 805 unsigned char *Eight = (unsigned char *)eight_data;
814 806
815 #define eax input_bytes 807 #define eax input_bytes
816 #define ebx dequant_matrix_bytes 808 //#define ebx dequant_matrix_bytes
817 #define ecx dequant_const_bytes 809 #define ecx dequant_const_bytes
818 #define edx idct_data_bytes 810 #define edx idct_data_bytes
819 811
820 #define I(i) (eax + 16 * i) 812 #define I(i) (eax + 16 * i)
821 #define O(i) (ebx + 16 * i) 813 #define O(i) (ebx + 16 * i)
822 #define C(i) (edx + 16 * (i-1)) 814 #define C(i) (edx + 16 * (i-1))
823 815
824 SSE2_Dequantize(); 816 // SSE2_Dequantize();
825 817
826 #undef ebx 818 #undef ebx
827 #define ebx output_data_bytes 819 #define ebx output_data_bytes
828 820
829 SSE2_Row_IDCT(); 821 SSE2_Row_IDCT();