aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/hevcpred_template.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-05-19 14:10:13 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-05-19 14:10:13 +0200
commit8447658550006996d30e232b1d77614c92a4cc5e (patch)
tree049e2d57d62f1946b625f9c21035af5d7c664033 /libavcodec/hevcpred_template.c
parent93318983c3e565b3079362ec69cf3362febc5004 (diff)
parenta1c2b48018b09d2613f075ec0748c95bd520ac00 (diff)
downloadffmpeg-8447658550006996d30e232b1d77614c92a4cc5e.tar.gz
Merge commit 'a1c2b48018b09d2613f075ec0748c95bd520ac00'
* commit 'a1c2b48018b09d2613f075ec0748c95bd520ac00': hevc: templatize intra_pred Conflicts: libavcodec/hevc.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/hevcpred_template.c')
-rw-r--r--libavcodec/hevcpred_template.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/libavcodec/hevcpred_template.c b/libavcodec/hevcpred_template.c
index ece40ddbaf..ad99a8493e 100644
--- a/libavcodec/hevcpred_template.c
+++ b/libavcodec/hevcpred_template.c
@@ -27,7 +27,8 @@
#define POS(x, y) src[(x) + stride * (y)]
-static void FUNC(intra_pred)(HEVCContext *s, int x0, int y0, int log2_size, int c_idx)
+static av_always_inline void FUNC(intra_pred)(HEVCContext *s, int x0, int y0,
+ int log2_size, int c_idx)
{
#define PU(x) \
((x) >> s->sps->log2_min_pu_size)
@@ -362,6 +363,19 @@ static void FUNC(intra_pred)(HEVCContext *s, int x0, int y0, int log2_size, int
}
}
+#define INTRA_PRED(size) \
+static void FUNC(intra_pred_ ## size)(HEVCContext *s, int x0, int y0, int c_idx) \
+{ \
+ FUNC(intra_pred)(s, x0, y0, size, c_idx); \
+}
+
+INTRA_PRED(2)
+INTRA_PRED(3)
+INTRA_PRED(4)
+INTRA_PRED(5)
+
+#undef INTRA_PRED
+
static av_always_inline void FUNC(pred_planar)(uint8_t *_src, const uint8_t *_top,
const uint8_t *_left, ptrdiff_t stride,
int trafo_size)