summaryrefslogtreecommitdiff
path: root/src/libffmpeg/libavcodec/dsputil.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libffmpeg/libavcodec/dsputil.h')
-rw-r--r--src/libffmpeg/libavcodec/dsputil.h43
1 files changed, 10 insertions, 33 deletions
diff --git a/src/libffmpeg/libavcodec/dsputil.h b/src/libffmpeg/libavcodec/dsputil.h
index 10d2d072a..341d350b5 100644
--- a/src/libffmpeg/libavcodec/dsputil.h
+++ b/src/libffmpeg/libavcodec/dsputil.h
@@ -71,17 +71,9 @@ extern uint32_t squareTbl[512];
extern uint8_t cropTbl[256 + 2 * MAX_NEG_CROP];
/* VP3 DSP functions */
-void vp3_dsp_init_c(void);
-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_mmx(int16_t *input_data, int16_t *dequant_matrix,
- int coeff_count, DCTELEM *output_data);
-
-void vp3_dsp_init_sse2(void);
-void vp3_idct_sse2(int16_t *input_data, int16_t *dequant_matrix,
- int coeff_count, DCTELEM *output_data);
+void ff_vp3_idct_c(DCTELEM *block/* align 16*/);
+void ff_vp3_idct_put_c(uint8_t *dest/*align 8*/, int line_size, DCTELEM *block/*align 16*/);
+void ff_vp3_idct_add_c(uint8_t *dest/*align 8*/, int line_size, DCTELEM *block/*align 16*/);
/* minimum alignment rules ;)
if u notice errors in the align stuff, need more alignment for some asm code for some cpu
@@ -278,10 +270,12 @@ typedef struct DSPContext {
void (*sub_hfyu_median_prediction)(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w, int *left, int *left_top);
void (*bswap_buf)(uint32_t *dst, uint32_t *src, int w);
- void (*h264_v_loop_filter_luma)(uint8_t *pix, int stride, int alpha, int beta, int *tc0);
- void (*h264_h_loop_filter_luma)(uint8_t *pix, int stride, int alpha, int beta, int *tc0);
- void (*h264_v_loop_filter_chroma)(uint8_t *pix, int stride, int alpha, int beta, int *tc0);
- void (*h264_h_loop_filter_chroma)(uint8_t *pix, int stride, int alpha, int beta, int *tc0);
+ void (*h264_v_loop_filter_luma)(uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0);
+ void (*h264_h_loop_filter_luma)(uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0);
+ void (*h264_v_loop_filter_chroma)(uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0);
+ void (*h264_h_loop_filter_chroma)(uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0);
+ void (*h264_v_loop_filter_chroma_intra)(uint8_t *pix, int stride, int alpha, int beta);
+ void (*h264_h_loop_filter_chroma_intra)(uint8_t *pix, int stride, int alpha, int beta);
void (*h263_v_loop_filter)(uint8_t *src, int stride, int qscale);
void (*h263_h_loop_filter)(uint8_t *src, int stride, int qscale);
@@ -326,29 +320,12 @@ typedef struct DSPContext {
#define FF_LIBMPEG2_IDCT_PERM 2
#define FF_SIMPLE_IDCT_PERM 3
#define FF_TRANSPOSE_IDCT_PERM 4
+#define FF_PARTTRANS_IDCT_PERM 5
int (*try_8x8basis)(int16_t rem[64], int16_t weight[64], int16_t basis[64], int scale);
void (*add_8x8basis)(int16_t rem[64], int16_t basis[64], int scale);
#define BASIS_SHIFT 16
#define RECON_SHIFT 6
-
- /**
- * This function handles any initialization for the VP3 DSP functions.
- */
- void (*vp3_dsp_init)(void);
-
- /**
- * This function is responsible for taking a block of zigzag'd,
- * 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 output_samples space for 64 DCTELEMs where the transformed
- * samples will be stored
- */
- void (*vp3_idct)(int16_t *input_data, int16_t *dequant_matrix,
- int coeff_count, DCTELEM *output_samples);
void (*h264_idct_add)(uint8_t *dst, DCTELEM *block, int stride);
} DSPContext;