Mercurial > libavcodec.hg
diff dsputil.c @ 8232:520a6e56b8c0 libavcodec
RV40 MC functions
author | kostya |
---|---|
date | Mon, 01 Dec 2008 06:36:22 +0000 |
parents | 3d4e01bcd2a5 |
children | 800444234375 |
line wrap: on
line diff
--- a/dsputil.c Sun Nov 30 23:51:02 2008 +0000 +++ b/dsputil.c Mon Dec 01 06:36:22 2008 +0000 @@ -2743,6 +2743,23 @@ /* H264 specific */ void ff_h264dspenc_init(DSPContext* c, AVCodecContext *avctx); +#if defined(CONFIG_RV40_DECODER) +static void put_rv40_qpel16_mc33_c(uint8_t *dst, uint8_t *src, int stride){ + put_pixels16_xy2_c(dst, src, stride, 16); +} +static void avg_rv40_qpel16_mc33_c(uint8_t *dst, uint8_t *src, int stride){ + avg_pixels16_xy2_c(dst, src, stride, 16); +} +static void put_rv40_qpel8_mc33_c(uint8_t *dst, uint8_t *src, int stride){ + put_pixels8_xy2_c(dst, src, stride, 8); +} +static void avg_rv40_qpel8_mc33_c(uint8_t *dst, uint8_t *src, int stride){ + avg_pixels8_xy2_c(dst, src, stride, 8); +} + +void ff_rv40dsp_init(DSPContext* c, AVCodecContext *avctx); +#endif /* CONFIG_RV40_DECODER */ + static void wmv2_mspel8_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int w){ uint8_t *cm = ff_cropTbl + MAX_NEG_CROP; int i; @@ -4411,6 +4428,13 @@ #if defined(CONFIG_H264_ENCODER) ff_h264dspenc_init(c,avctx); #endif +#if defined(CONFIG_RV40_DECODER) + ff_rv40dsp_init(c,avctx); + c->put_rv40_qpel_pixels_tab[0][15] = put_rv40_qpel16_mc33_c; + c->avg_rv40_qpel_pixels_tab[0][15] = avg_rv40_qpel16_mc33_c; + c->put_rv40_qpel_pixels_tab[1][15] = put_rv40_qpel8_mc33_c; + c->avg_rv40_qpel_pixels_tab[1][15] = avg_rv40_qpel8_mc33_c; +#endif c->put_mspel_pixels_tab[0]= put_mspel8_mc00_c; c->put_mspel_pixels_tab[1]= put_mspel8_mc10_c;