summaryrefslogtreecommitdiff
path: root/libavcodec/dsputil.h
diff options
context:
space:
mode:
authorMike Melanson <mike@multimedia.cx>2004-04-26 00:20:29 +0000
committerMike Melanson <mike@multimedia.cx>2004-04-26 00:20:29 +0000
commit116824d0aa1c416c3fb0f2c39d339fc00ae251f3 (patch)
tree0d062e4045aee066c0003234e1d4b716ad1b2c83 /libavcodec/dsputil.h
parent4ea4b274697767abddda3c425ba4bb43dfdee52f (diff)
reorganize and simplify the VP3 IDCT stuff
Originally committed as revision 3071 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/dsputil.h')
-rw-r--r--libavcodec/dsputil.h47
1 files changed, 12 insertions, 35 deletions
diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h
index b5468724f1..0307dbd6ab 100644
--- a/libavcodec/dsputil.h
+++ b/libavcodec/dsputil.h
@@ -62,23 +62,16 @@ extern uint8_t cropTbl[256 + 2 * MAX_NEG_CROP];
/* VP3 DSP functions */
void vp3_dsp_init_c(void);
-void vp3_idct_put_c(int16_t *input_data, int16_t *dequant_matrix,
- int coeff_count, uint8_t *dest, int stride);
-void vp3_idct_add_c(int16_t *input_data, int16_t *dequant_matrix,
- int coeff_count, uint8_t *dest, int stride);
+void vp3_idct_c(int16_t *input_data, int16_t *dequant_matrix,
+ int coeff_count, DCTELEM *output_data);
void vp3_dsp_init_mmx(void);
-void vp3_idct_put_mmx(int16_t *input_data, int16_t *dequant_matrix,
- int coeff_count, uint8_t *dest, int stride);
-void vp3_idct_add_mmx(int16_t *input_data, int16_t *dequant_matrix,
- int coeff_count, uint8_t *dest, int stride);
+void vp3_idct_mmx(int16_t *input_data, int16_t *dequant_matrix,
+ int coeff_count, DCTELEM *output_data);
void vp3_dsp_init_sse2(void);
-void vp3_idct_put_sse2(int16_t *input_data, int16_t *dequant_matrix,
- int coeff_count, uint8_t *dest, int stride);
-void vp3_idct_add_sse2(int16_t *input_data, int16_t *dequant_matrix,
- int coeff_count, uint8_t *dest, int stride);
-
+void vp3_idct_sse2(int16_t *input_data, int16_t *dequant_matrix,
+ int coeff_count, DCTELEM *output_data);
/* minimum alignment rules ;)
if u notice errors in the align stuff, need more alignment for some asm code for some cpu
@@ -318,32 +311,16 @@ typedef struct DSPContext {
/**
* This function is responsible for taking a block of zigzag'd,
- * quantized DCT coefficients, reconstructing the original block of
- * samples, and placing it into the output.
- * @param input_data 64 zigzag'd, quantized DCT coefficients
- * @param dequant_matrix 64 zigzag'd quantizer coefficients
- * @param coeff_count index of the last coefficient
- * @param dest the final output location where the transformed samples
- * are to be placed
- * @param stride the width in 8-bit samples of a line on this plane
- */
- void (*vp3_idct_put)(int16_t *input_data, int16_t *dequant_matrix,
- int coeff_count, uint8_t *dest, int stride);
-
- /**
- * This function is responsible for taking a block of zigzag'd,
- * quantized DCT coefficients, reconstructing the original block of
- * samples, and adding the transformed samples to an existing block of
- * samples in the output.
+ * quantized DCT coefficients and reconstructing the original block of
+ * samples.
* @param input_data 64 zigzag'd, quantized DCT coefficients
* @param dequant_matrix 64 zigzag'd quantizer coefficients
* @param coeff_count index of the last coefficient
- * @param dest the final output location where the transformed samples
- * are to be placed
- * @param stride the width in 8-bit samples of a line on this plane
+ * @param output_samples space for 64 DCTELEMs where the transformed
+ * samples will be stored
*/
- void (*vp3_idct_add)(int16_t *input_data, int16_t *dequant_matrix,
- int coeff_count, uint8_t *dest, int stride);
+ void (*vp3_idct)(int16_t *input_data, int16_t *dequant_matrix,
+ int coeff_count, DCTELEM *output_samples);
} DSPContext;