diff dsputil.h @ 1977:89422281f6f6 libavcodec

reorganize and simplify the VP3 IDCT stuff
author melanson
date Mon, 26 Apr 2004 00:20:29 +0000
parents 8c5489b2cf3e
children ef919e9ef73e
line wrap: on
line diff
--- a/dsputil.h	Sun Apr 25 19:03:35 2004 +0000
+++ b/dsputil.h	Mon Apr 26 00:20:29 2004 +0000
@@ -62,23 +62,16 @@
 
 /* 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 @@
 
     /** 
      * 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.
+     * 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_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.
-     * @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_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;