diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-05-19 14:10:13 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-05-19 14:10:13 +0200 |
commit | 8447658550006996d30e232b1d77614c92a4cc5e (patch) | |
tree | 049e2d57d62f1946b625f9c21035af5d7c664033 /libavcodec/hevcpred_template.c | |
parent | 93318983c3e565b3079362ec69cf3362febc5004 (diff) | |
parent | a1c2b48018b09d2613f075ec0748c95bd520ac00 (diff) | |
download | ffmpeg-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.c | 16 |
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) |