diff options
Diffstat (limited to 'ffmpeg/libavcodec/bfin')
| -rw-r--r-- | ffmpeg/libavcodec/bfin/Makefile | 2 | ||||
| -rw-r--r-- | ffmpeg/libavcodec/bfin/dsputil_bfin.c | 4 | ||||
| -rw-r--r-- | ffmpeg/libavcodec/bfin/hpel_pixels_bfin.S | 2 | ||||
| -rw-r--r-- | ffmpeg/libavcodec/bfin/hpeldsp_bfin.c | 6 | ||||
| -rw-r--r-- | ffmpeg/libavcodec/bfin/vp3_bfin.c | 23 |
5 files changed, 23 insertions, 14 deletions
diff --git a/ffmpeg/libavcodec/bfin/Makefile b/ffmpeg/libavcodec/bfin/Makefile index f7a5f42..c293360 100644 --- a/ffmpeg/libavcodec/bfin/Makefile +++ b/ffmpeg/libavcodec/bfin/Makefile @@ -3,7 +3,7 @@ OBJS += bfin/dsputil_bfin.o \ bfin/idct_bfin.o \ bfin/pixels_bfin.o \ -OBJS-$(CONFIG_HPELDS) += bfin/hpeldsp_bfin.o \ +OBJS-$(CONFIG_HPELDSP) += bfin/hpeldsp_bfin.o \ bfin/hpel_pixels_bfin.o OBJS-$(CONFIG_MPEGVIDEOENC) += bfin/mpegvideo_bfin.o OBJS-$(CONFIG_VP3DSP) += bfin/vp3_bfin.o \ diff --git a/ffmpeg/libavcodec/bfin/dsputil_bfin.c b/ffmpeg/libavcodec/bfin/dsputil_bfin.c index c9a0f15..a95fd6b 100644 --- a/ffmpeg/libavcodec/bfin/dsputil_bfin.c +++ b/ffmpeg/libavcodec/bfin/dsputil_bfin.c @@ -132,7 +132,7 @@ av_cold void ff_dsputil_init_bfin(DSPContext *c, AVCodecContext *avctx) c->add_pixels_clamped = ff_bfin_add_pixels_clamped; if (!high_bit_depth) - c->get_pixels = ff_bfin_get_pixels; + c->get_pixels = ff_bfin_get_pixels; c->clear_blocks = bfin_clear_blocks; c->pix_sum = ff_bfin_pix_sum; c->pix_norm1 = ff_bfin_pix_norm1; @@ -163,7 +163,7 @@ av_cold void ff_dsputil_init_bfin(DSPContext *c, AVCodecContext *avctx) if (avctx->dct_algo == FF_DCT_AUTO) c->fdct = ff_bfin_fdct; - if (avctx->idct_algo == FF_IDCT_AUTO) { + if (avctx->idct_algo == FF_IDCT_AUTO) { c->idct_permutation_type = FF_NO_IDCT_PERM; c->idct = ff_bfin_idct; c->idct_add = bfin_idct_add; diff --git a/ffmpeg/libavcodec/bfin/hpel_pixels_bfin.S b/ffmpeg/libavcodec/bfin/hpel_pixels_bfin.S index b22bc29..c0cbf1f 100644 --- a/ffmpeg/libavcodec/bfin/hpel_pixels_bfin.S +++ b/ffmpeg/libavcodec/bfin/hpel_pixels_bfin.S @@ -20,7 +20,7 @@ */ #include "config_bfin.h" -/** +/* motion compensation primitives diff --git a/ffmpeg/libavcodec/bfin/hpeldsp_bfin.c b/ffmpeg/libavcodec/bfin/hpeldsp_bfin.c index 8b4af49..2df551b 100644 --- a/ffmpeg/libavcodec/bfin/hpeldsp_bfin.c +++ b/ffmpeg/libavcodec/bfin/hpeldsp_bfin.c @@ -21,6 +21,10 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include <stddef.h> +#include <stdint.h> + +#include "libavutil/attributes.h" #include "libavcodec/hpeldsp.h" #include "hpeldsp_bfin.h" @@ -95,7 +99,7 @@ static void bfin_put_pixels16_y2_nornd (uint8_t *block, const uint8_t *pixels, p ff_bfin_put_pixels16uc_nornd (block, pixels, pixels+line_size, line_size, h); } -void ff_hpeldsp_init_bfin(HpelDSPContext* c, int flags) +av_cold void ff_hpeldsp_init_bfin(HpelDSPContext *c, int flags) { c->put_pixels_tab[0][0] = bfin_put_pixels16; c->put_pixels_tab[0][1] = bfin_put_pixels16_x2; diff --git a/ffmpeg/libavcodec/bfin/vp3_bfin.c b/ffmpeg/libavcodec/bfin/vp3_bfin.c index 366955b..868c431 100644 --- a/ffmpeg/libavcodec/bfin/vp3_bfin.c +++ b/ffmpeg/libavcodec/bfin/vp3_bfin.c @@ -28,33 +28,38 @@ #include "vp3_bfin.h" /* Intra iDCT offset 128 */ -static void ff_bfin_vp3_idct_put (uint8_t *dest, int line_size, int16_t *block) +static void bfin_vp3_idct_put(uint8_t *dest, int line_size, int16_t *block) { - uint8_t *cm = ff_cropTbl + MAX_NEG_CROP + 128; + const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP + 128; int i,j; ff_bfin_vp3_idct (block); for (i=0;i<8;i++) for (j=0;j<8;j++) - dest[line_size*i+j]=cm[block[i*8+j]]; + dest[line_size*i + j] = cm[block[j*8 + i]]; memset(block, 0, 128); } /* Inter iDCT */ -static void ff_bfin_vp3_idct_add (uint8_t *dest, int line_size, int16_t *block) +static void bfin_vp3_idct_add(uint8_t *dest, int line_size, int16_t *block) { + const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP; + int i, j; + ff_bfin_vp3_idct (block); - ff_bfin_add_pixels_clamped (block, dest, line_size); + for (i = 0; i < 8; i++) + for (j = 0; j < 8; j++) + dest[line_size*i + j] = cm[dest[line_size*i + j] + block[j*8 + i]]; memset(block, 0, 128); } av_cold void ff_vp3dsp_init_bfin(VP3DSPContext *c, int flags) { - // FIXME: these functions are disabled because they expect unpermutated - // IDCT coefficients as input, but the coefficients are transposed - //c->idct_add = ff_bfin_vp3_idct_add; - //c->idct_put = ff_bfin_vp3_idct_put; + if (!(flags & CODEC_FLAG_BITEXACT)) { + c->idct_add = bfin_vp3_idct_add; + c->idct_put = bfin_vp3_idct_put; + } } |
