summaryrefslogtreecommitdiff
path: root/libavcodec/idctdsp.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-09-03 03:18:07 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-09-03 03:19:40 +0200
commit5db23c07a3f76d31e8e3178f8bacb68289bba62b (patch)
treee798d3c254a0cc5a38b7e5f78864326919516602 /libavcodec/idctdsp.c
parent9e59a7be1cc9bd840d91f78c55b7f4953659319b (diff)
parent95c0cec03acec0a80cc1c7db48f3b2355d9e767b (diff)
Merge commit '95c0cec03acec0a80cc1c7db48f3b2355d9e767b'
* commit '95c0cec03acec0a80cc1c7db48f3b2355d9e767b': idctdsp: Add global function pointers for {add|put}_pixels_clamped functions Conflicts: libavcodec/arm/idctdsp_init_arm.c libavcodec/dct.h libavcodec/idctdsp.c libavcodec/jrevdct.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/idctdsp.c')
-rw-r--r--libavcodec/idctdsp.c33
1 files changed, 14 insertions, 19 deletions
diff --git a/libavcodec/idctdsp.c b/libavcodec/idctdsp.c
index 8311fab92f..cf12f1606a 100644
--- a/libavcodec/idctdsp.c
+++ b/libavcodec/idctdsp.c
@@ -80,8 +80,11 @@ av_cold void ff_init_scantable_permutation(uint8_t *idct_permutation,
}
}
-void ff_put_pixels_clamped(const int16_t *block, uint8_t *av_restrict pixels,
- int line_size)
+void (*ff_put_pixels_clamped)(const int16_t *block, uint8_t *pixels, int line_size);
+void (*ff_add_pixels_clamped)(const int16_t *block, uint8_t *pixels, int line_size);
+
+static void put_pixels_clamped_c(const int16_t *block, uint8_t *av_restrict pixels,
+ int line_size)
{
int i;
@@ -154,8 +157,8 @@ static void put_signed_pixels_clamped_c(const int16_t *block,
}
}
-void ff_add_pixels_clamped(const int16_t *block, uint8_t *av_restrict pixels,
- int line_size)
+static void add_pixels_clamped_c(const int16_t *block, uint8_t *av_restrict pixels,
+ int line_size)
{
int i;
@@ -204,17 +207,6 @@ static void add_pixels_clamped2_c(const int16_t *block, uint8_t *av_restrict pix
}
}
-static void jref_idct_put(uint8_t *dest, int line_size, int16_t *block)
-{
- ff_j_rev_dct(block);
- ff_put_pixels_clamped(block, dest, line_size);
-}
-
-static void jref_idct_add(uint8_t *dest, int line_size, int16_t *block)
-{
- ff_j_rev_dct(block);
- ff_add_pixels_clamped(block, dest, line_size);
-}
static void ff_jref_idct4_put(uint8_t *dest, int line_size, int16_t *block)
{
ff_j_rev_dct4 (block);
@@ -278,8 +270,8 @@ av_cold void ff_idctdsp_init(IDCTDSPContext *c, AVCodecContext *avctx)
c->perm_type = FF_IDCT_PERM_NONE;
} else {
if (avctx->idct_algo == FF_IDCT_INT) {
- c->idct_put = jref_idct_put;
- c->idct_add = jref_idct_add;
+ c->idct_put = ff_jref_idct_put;
+ c->idct_add = ff_jref_idct_add;
c->idct = ff_j_rev_dct;
c->perm_type = FF_IDCT_PERM_LIBMPEG2;
} else if (avctx->idct_algo == FF_IDCT_FAAN) {
@@ -296,9 +288,12 @@ av_cold void ff_idctdsp_init(IDCTDSPContext *c, AVCodecContext *avctx)
}
}
- c->put_pixels_clamped = ff_put_pixels_clamped;
+ c->put_pixels_clamped = put_pixels_clamped_c;
c->put_signed_pixels_clamped = put_signed_pixels_clamped_c;
- c->add_pixels_clamped = ff_add_pixels_clamped;
+ c->add_pixels_clamped = add_pixels_clamped_c;
+
+ ff_put_pixels_clamped = c->put_pixels_clamped;
+ ff_add_pixels_clamped = c->add_pixels_clamped;
if (CONFIG_MPEG4_DECODER && avctx->idct_algo == FF_IDCT_XVID)
ff_xvid_idct_init(c, avctx);