summaryrefslogtreecommitdiff
path: root/libavcodec/dsputil.h
diff options
context:
space:
mode:
authorLoren Merritt <lorenm@u.washington.edu>2005-01-07 05:56:07 +0000
committerLoren Merritt <lorenm@u.washington.edu>2005-01-07 05:56:07 +0000
commit9f2d1b4ff5b2c3a3da16752d99c778f2e954c92d (patch)
tree576eb7c010474c5961875b5bc8c75d835ae01bc2 /libavcodec/dsputil.h
parent85df8f7cf0b30ebba2bfc9fdd48d2582729744cc (diff)
H.264 weighted prediction.
Bidirectional weighting has not been tested for bitwise accuracy, but looks correct. Originally committed as revision 3811 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/dsputil.h')
-rw-r--r--libavcodec/dsputil.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h
index 83b10baf81..7598b3a251 100644
--- a/libavcodec/dsputil.h
+++ b/libavcodec/dsputil.h
@@ -105,6 +105,8 @@ typedef void (*op_pixels_func)(uint8_t *block/*align width (8 or 16)*/, const ui
typedef void (*tpel_mc_func)(uint8_t *block/*align width (8 or 16)*/, const uint8_t *pixels/*align 1*/, int line_size, int w, int h);
typedef void (*qpel_mc_func)(uint8_t *dst/*align width (8 or 16)*/, uint8_t *src/*align 1*/, int stride);
typedef void (*h264_chroma_mc_func)(uint8_t *dst/*align 8*/, uint8_t *src/*align 1*/, int srcStride, int h, int x, int y);
+typedef void (*h264_weight_func)(uint8_t *block, int stride, int log2_denom, int weight, int offset);
+typedef void (*h264_biweight_func)(uint8_t *dst, uint8_t *src, int stride, int log2_denom, int weightd, int weights, int offsetd, int offsets);
#define DEF_OLD_QPEL(name)\
void ff_put_ ## name (uint8_t *dst/*align width (8 or 16)*/, uint8_t *src/*align 1*/, int stride);\
@@ -258,6 +260,9 @@ typedef struct DSPContext {
qpel_mc_func put_h264_qpel_pixels_tab[3][16];
qpel_mc_func avg_h264_qpel_pixels_tab[3][16];
+ h264_weight_func weight_h264_pixels_tab[10];
+ h264_biweight_func biweight_h264_pixels_tab[10];
+
me_cmp_func pix_abs[2][4];
/* huffyuv specific */