diff options
author | Mike Melanson <mike@multimedia.cx> | 2004-04-26 00:20:29 +0000 |
---|---|---|
committer | Mike Melanson <mike@multimedia.cx> | 2004-04-26 00:20:29 +0000 |
commit | 116824d0aa1c416c3fb0f2c39d339fc00ae251f3 (patch) | |
tree | 0d062e4045aee066c0003234e1d4b716ad1b2c83 /libavcodec/i386/vp3dsp_sse2.c | |
parent | 4ea4b274697767abddda3c425ba4bb43dfdee52f (diff) | |
download | ffmpeg-116824d0aa1c416c3fb0f2c39d339fc00ae251f3.tar.gz |
reorganize and simplify the VP3 IDCT stuff
Originally committed as revision 3071 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/i386/vp3dsp_sse2.c')
-rw-r--r-- | libavcodec/i386/vp3dsp_sse2.c | 61 |
1 files changed, 3 insertions, 58 deletions
diff --git a/libavcodec/i386/vp3dsp_sse2.c b/libavcodec/i386/vp3dsp_sse2.c index c8f9158afb..6adfd2f9fa 100644 --- a/libavcodec/i386/vp3dsp_sse2.c +++ b/libavcodec/i386/vp3dsp_sse2.c @@ -799,11 +799,12 @@ static unsigned short __align16 SSE2_idct_data[7 * 8] = void vp3_dsp_init_sse2(void) { /* nop */ +av_log(NULL, AV_LOG_INFO, "Hey! SSE2!\n"); } -static void vp3_idct_sse2(int16_t *input_data, int16_t *dequant_matrix, - int16_t *output_data) +void vp3_idct_sse2(int16_t *input_data, int16_t *dequant_matrix, + int coeff_count, int16_t *output_data) { unsigned char *input_bytes = (unsigned char *)input_data; unsigned char *dequant_matrix_bytes = (unsigned char *)dequant_matrix; @@ -832,59 +833,3 @@ static void vp3_idct_sse2(int16_t *input_data, int16_t *dequant_matrix, SSE2_Column_IDCT(); } - - -void vp3_idct_put_sse2(int16_t *input_data, int16_t *dequant_matrix, - int coeff_count, uint8_t *dest, int stride) -{ - int16_t transformed_data[64]; - int16_t *op; - int i, j; - - vp3_idct_sse2(input_data, dequant_matrix, transformed_data); - - /* place in final output */ - op = transformed_data; - for (i = 0; i < 8; i++) { - for (j = 0; j < 8; j++) { - if (*op < -128) - *dest = 0; - else if (*op > 127) - *dest = 255; - else - *dest = (uint8_t)(*op + 128); - op++; - dest++; - } - dest += (stride - 8); - } -} - - -void vp3_idct_add_sse2(int16_t *input_data, int16_t *dequant_matrix, - int coeff_count, uint8_t *dest, int stride) -{ - int16_t transformed_data[64]; - int16_t *op; - int i, j; - int16_t sample; - - vp3_idct_sse2(input_data, dequant_matrix, transformed_data); - - /* place in final output */ - op = transformed_data; - for (i = 0; i < 8; i++) { - for (j = 0; j < 8; j++) { - sample = *dest + *op; - if (sample < 0) - *dest = 0; - else if (sample > 255) - *dest = 255; - else - *dest = (uint8_t)(sample & 0xFF); - op++; - dest++; - } - dest += (stride - 8); - } -} |