]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/rv34dsp.h
cljr: return a more sensible value when encountering invalid headers
[ffmpeg] / libavcodec / rv34dsp.h
index e1def7dc267ed2cf0920a24e33deed9d8ec7acac..695af06970095be9ee1567c7a07d1379d075ebc3 100644 (file)
@@ -34,17 +34,31 @@ typedef void (*rv40_weight_func)(uint8_t *dst/*align width (8 or 16)*/,
                                  uint8_t *src2/*align width (8 or 16)*/,
                                  int w1, int w2, int stride);
 
+typedef void (*rv34_inv_transform_func)(DCTELEM *block);
+
+typedef void (*rv40_loop_filter_func)(uint8_t *src, int stride, int dmode,
+                                      int lim_q1, int lim_p1, int alpha,
+                                      int beta, int beta2, int chroma,
+                                      int edge);
+
 typedef struct RV34DSPContext {
     qpel_mc_func put_pixels_tab[4][16];
     qpel_mc_func avg_pixels_tab[4][16];
     h264_chroma_mc_func put_chroma_pixels_tab[3];
     h264_chroma_mc_func avg_chroma_pixels_tab[3];
     rv40_weight_func rv40_weight_pixels_tab[2];
+    rv34_inv_transform_func rv34_inv_transform_tab[2];
+    rv40_loop_filter_func rv40_h_loop_filter;
+    rv40_loop_filter_func rv40_v_loop_filter;
 } RV34DSPContext;
 
 void ff_rv30dsp_init(RV34DSPContext *c, DSPContext* dsp);
+void ff_rv34dsp_init(RV34DSPContext *c, DSPContext* dsp);
 void ff_rv40dsp_init(RV34DSPContext *c, DSPContext* dsp);
 
+void ff_rv34dsp_init_neon(RV34DSPContext *c, DSPContext *dsp);
+
 void ff_rv40dsp_init_x86(RV34DSPContext *c, DSPContext *dsp);
+void ff_rv40dsp_init_neon(RV34DSPContext *c, DSPContext *dsp);
 
 #endif /* AVCODEC_RV34DSP_H */