[libav-devel] [PATCH] bfin: vp3: Separate VP3 initialization code from general dsputil code

2013-01-21 Thread Diego Biurrun
---

This is untested due to lack of a bfin cross-compilation environment.

 libavcodec/bfin/Makefile   |4 ++--
 libavcodec/bfin/dsputil_bfin.c |8 +---
 libavcodec/bfin/vp3_bfin.c |6 ++
 libavcodec/vp3dsp.c|2 ++
 libavcodec/vp3dsp.h|1 +
 5 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/libavcodec/bfin/Makefile b/libavcodec/bfin/Makefile
index be81e6c..d1b41bc 100644
--- a/libavcodec/bfin/Makefile
+++ b/libavcodec/bfin/Makefile
@@ -2,7 +2,7 @@ OBJS += bfin/dsputil_bfin.o 
\
 bfin/fdct_bfin.o\
 bfin/idct_bfin.o\
 bfin/pixels_bfin.o  \
-bfin/vp3_bfin.o \
-bfin/vp3_idct_bfin.o\
 
 OBJS-$(CONFIG_MPEGVIDEOENC) += bfin/mpegvideo_bfin.o
+OBJS-$(CONFIG_VP3DSP)   += bfin/vp3_bfin.o  \
+   bfin/vp3_idct_bfin.o
diff --git a/libavcodec/bfin/dsputil_bfin.c b/libavcodec/bfin/dsputil_bfin.c
index 6a96d08..492e8c8 100644
--- a/libavcodec/bfin/dsputil_bfin.c
+++ b/libavcodec/bfin/dsputil_bfin.c
@@ -256,13 +256,7 @@ void ff_dsputil_init_bfin( DSPContext* c, AVCodecContext 
*avctx )
 if (avctx-bits_per_raw_sample = 8) {
 if (avctx-dct_algo == FF_DCT_AUTO)
 c-fdct  = ff_bfin_fdct;
-
-if (avctx-idct_algo == FF_IDCT_VP3) {
-c-idct_permutation_type = FF_NO_IDCT_PERM;
-c-idct  = ff_bfin_vp3_idct;
-c-idct_add  = ff_bfin_vp3_idct_add;
-c-idct_put  = ff_bfin_vp3_idct_put;
-} else 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/libavcodec/bfin/vp3_bfin.c b/libavcodec/bfin/vp3_bfin.c
index 962d383..b45063e 100644
--- a/libavcodec/bfin/vp3_bfin.c
+++ b/libavcodec/bfin/vp3_bfin.c
@@ -41,3 +41,9 @@ void ff_bfin_vp3_idct_add (uint8_t *dest, int line_size, 
int16_t *block)
 ff_bfin_vp3_idct (block);
 ff_bfin_add_pixels_clamped (block, dest, line_size);
 }
+
+void ff_vp3dsp_init_bfin(VP3DSPContext *c, int flags)
+{
+c-idct_add  = ff_bfin_vp3_idct_add;
+c-idct_put  = ff_bfin_vp3_idct_put;
+}
diff --git a/libavcodec/vp3dsp.c b/libavcodec/vp3dsp.c
index 7354ec5..a8966e2 100644
--- a/libavcodec/vp3dsp.c
+++ b/libavcodec/vp3dsp.c
@@ -291,6 +291,8 @@ av_cold void ff_vp3dsp_init(VP3DSPContext *c, int flags)
 
 if (ARCH_ARM)
 ff_vp3dsp_init_arm(c, flags);
+if (ARCH_BFIN)
+ff_vp3dsp_init_bfin(c, flags);
 if (ARCH_PPC)
 ff_vp3dsp_init_ppc(c, flags);
 if (ARCH_X86)
diff --git a/libavcodec/vp3dsp.h b/libavcodec/vp3dsp.h
index acc70e1..6e3910e 100644
--- a/libavcodec/vp3dsp.h
+++ b/libavcodec/vp3dsp.h
@@ -33,6 +33,7 @@ typedef struct VP3DSPContext {
 
 void ff_vp3dsp_init(VP3DSPContext *c, int flags);
 void ff_vp3dsp_init_arm(VP3DSPContext *c, int flags);
+void ff_vp3dsp_init_bfin(VP3DSPContext *c, int flags);
 void ff_vp3dsp_init_ppc(VP3DSPContext *c, int flags);
 void ff_vp3dsp_init_x86(VP3DSPContext *c, int flags);
 
-- 
1.7.2.5

___
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel


Re: [libav-devel] [PATCH] bfin: vp3: Separate VP3 initialization code from general dsputil code

2013-01-21 Thread Ronald S. Bultje
Hi,

On Mon, Jan 21, 2013 at 1:01 AM, Diego Biurrun di...@biurrun.de wrote:
 ---

 This is untested due to lack of a bfin cross-compilation environment.

  libavcodec/bfin/Makefile   |4 ++--
  libavcodec/bfin/dsputil_bfin.c |8 +---
  libavcodec/bfin/vp3_bfin.c |6 ++
  libavcodec/vp3dsp.c|2 ++
  libavcodec/vp3dsp.h|1 +
  5 files changed, 12 insertions(+), 9 deletions(-)

OK.

Ronald
___
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel