Mercurial > libavcodec.hg
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(); |