summaryrefslogtreecommitdiff
path: root/ffmpeg/libavcodec/bfin
diff options
context:
space:
mode:
Diffstat (limited to 'ffmpeg/libavcodec/bfin')
-rw-r--r--ffmpeg/libavcodec/bfin/Makefile2
-rw-r--r--ffmpeg/libavcodec/bfin/dsputil_bfin.c4
-rw-r--r--ffmpeg/libavcodec/bfin/hpel_pixels_bfin.S2
-rw-r--r--ffmpeg/libavcodec/bfin/hpeldsp_bfin.c6
-rw-r--r--ffmpeg/libavcodec/bfin/vp3_bfin.c23
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;
+ }
}