summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-03-26 14:40:49 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-03-26 14:40:49 +0100
commit32620691011186a0a3932bba8ddb078ce5312f22 (patch)
treebad6b8eaaaf727a9ba94c38d8bceab5c8f50e1b1
parent152c8fd856e505119c0a2040a9525715fc255c9a (diff)
parente7373585f827d4ec05d952daa3877e8decfe3c08 (diff)
downloadffmpeg-streaming-32620691011186a0a3932bba8ddb078ce5312f22.zip
ffmpeg-streaming-32620691011186a0a3932bba8ddb078ce5312f22.tar.gz
Merge commit 'e7373585f827d4ec05d952daa3877e8decfe3c08'
* commit 'e7373585f827d4ec05d952daa3877e8decfe3c08': dsputil_template: Move bits that are used templatized into separate file Conflicts: libavcodec/dsputil_template.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/dsputil.c3
-rw-r--r--libavcodec/dsputil_template.c27
-rw-r--r--libavcodec/dsputilenc_template.c51
3 files changed, 53 insertions, 28 deletions
diff --git a/libavcodec/dsputil.c b/libavcodec/dsputil.c
index dbe0426..edd7b04 100644
--- a/libavcodec/dsputil.c
+++ b/libavcodec/dsputil.c
@@ -46,13 +46,14 @@
uint32_t ff_square_tab[512] = { 0, };
#define BIT_DEPTH 16
-#include "dsputil_template.c"
+#include "dsputilenc_template.c"
#undef BIT_DEPTH
#define BIT_DEPTH 8
#include "hpel_template.c"
#include "tpel_template.c"
#include "dsputil_template.c"
+#include "dsputilenc_template.c"
// 0x7f7f7f7f or 0x7f7f7f7f7f7f7f7f or whatever, depending on the cpu's native arithmetic size
#define pb_7f (~0UL / 255 * 0x7f)
diff --git a/libavcodec/dsputil_template.c b/libavcodec/dsputil_template.c
index f245dc9..a99f55b 100644
--- a/libavcodec/dsputil_template.c
+++ b/libavcodec/dsputil_template.c
@@ -31,7 +31,6 @@
#include "bit_depth_template.c"
-#if BIT_DEPTH == 8
/* draw the edges of width 'w' of an image of size width, height */
// FIXME: Check that this is OK for MPEG-4 interlaced.
static void FUNCC(draw_edges)(uint8_t *_buf, int _wrap, int width, int height,
@@ -62,30 +61,7 @@ static void FUNCC(draw_edges)(uint8_t *_buf, int _wrap, int width, int height,
memcpy(last_line + (i + 1) * wrap, last_line,
(width + w + w) * sizeof(pixel));
}
-#endif
-static void FUNCC(get_pixels)(int16_t *av_restrict block, const uint8_t *_pixels,
- int line_size)
-{
- const pixel *pixels = (const pixel *) _pixels;
- int i;
-
- /* read the pixels */
- for (i = 0; i < 8; i++) {
- block[0] = pixels[0];
- block[1] = pixels[1];
- block[2] = pixels[2];
- block[3] = pixels[3];
- block[4] = pixels[4];
- block[5] = pixels[5];
- block[6] = pixels[6];
- block[7] = pixels[7];
- pixels += line_size / sizeof(pixel);
- block += 8;
- }
-}
-
-#if BIT_DEPTH == 8
static void FUNCC(clear_block)(int16_t *block)
{
memset(block, 0, sizeof(int16_t) * 64);
@@ -95,7 +71,6 @@ static void FUNCC(clear_blocks)(int16_t *blocks)
{
memset(blocks, 0, sizeof(int16_t) * 6 * 64);
}
-#endif
#define PIXOP2(OPNAME, OP) \
static inline void FUNC(OPNAME ## _no_rnd_pixels8_l2)(uint8_t *dst, \
@@ -338,10 +313,8 @@ CALL_2X_PIXELS(FUNCC(OPNAME ## _pixels16_xy2), \
#define op_avg(a, b) a = rnd_avg_pixel4(a, b)
#define op_put(a, b) a = b
-#if BIT_DEPTH == 8
#define put_no_rnd_pixels8_8_c put_pixels8_8_c
PIXOP2(avg, op_avg)
PIXOP2(put, op_put)
-#endif
#undef op_avg
#undef op_put
diff --git a/libavcodec/dsputilenc_template.c b/libavcodec/dsputilenc_template.c
new file mode 100644
index 0000000..711c404
--- /dev/null
+++ b/libavcodec/dsputilenc_template.c
@@ -0,0 +1,51 @@
+/*
+ * DSP utils
+ * Copyright (c) 2000, 2001 Fabrice Bellard
+ * Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
+ *
+ * gmc & q-pel & 32/64 bit based MC by Michael Niedermayer <michaelni@gmx.at>
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+/**
+ * @file
+ * DSP utils
+ */
+
+#include "bit_depth_template.c"
+
+static void FUNCC(get_pixels)(int16_t *av_restrict block, const uint8_t *_pixels,
+ int line_size)
+{
+ const pixel *pixels = (const pixel *) _pixels;
+ int i;
+
+ /* read the pixels */
+ for (i = 0; i < 8; i++) {
+ block[0] = pixels[0];
+ block[1] = pixels[1];
+ block[2] = pixels[2];
+ block[3] = pixels[3];
+ block[4] = pixels[4];
+ block[5] = pixels[5];
+ block[6] = pixels[6];
+ block[7] = pixels[7];
+ pixels += line_size / sizeof(pixel);
+ block += 8;
+ }
+}
OpenPOWER on IntegriCloud