diff options
author | Diego Biurrun <diego@biurrun.de> | 2013-08-16 00:29:23 +0200 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2013-08-24 16:14:15 +0200 |
commit | ff9d57e7dfc8c171bea3fb9129aa87fa28d89f18 (patch) | |
tree | 95bf9d8a312961e74289bd1801d21eb47f62279f | |
parent | f407856968dcf4ff6c7240abe3afc17c00d81b46 (diff) | |
download | ffmpeg-ff9d57e7dfc8c171bea3fb9129aa87fa28d89f18.tar.gz |
h264_cabac: Mark functions calling decode_cabac_residual_internal as noinline
This ensures that decode_cabac_residual_internal actually does get inlined,
which it otherwise does not, even though it is marked as always_inline.
-rw-r--r-- | libavcodec/h264_cabac.c | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/libavcodec/h264_cabac.c b/libavcodec/h264_cabac.c index 79b715ffdd..43ddf7d56e 100644 --- a/libavcodec/h264_cabac.c +++ b/libavcodec/h264_cabac.c @@ -27,6 +27,7 @@ #define CABAC(h) 1 +#include "libavutil/attributes.h" #include "config.h" #include "cabac.h" #include "cabac_functions.h" @@ -1740,26 +1741,30 @@ decode_cabac_residual_internal(H264Context *h, int16_t *block, } -static void decode_cabac_residual_dc_internal(H264Context *h, int16_t *block, - int cat, int n, - const uint8_t *scantable, - int max_coeff) +static av_noinline void decode_cabac_residual_dc_internal(H264Context *h, + int16_t *block, + int cat, int n, + const uint8_t *scantable, + int max_coeff) { decode_cabac_residual_internal(h, block, cat, n, scantable, NULL, max_coeff, 1, 0); } -static void decode_cabac_residual_dc_internal_422(H264Context *h, int16_t *block, - int cat, int n, const uint8_t *scantable, - int max_coeff) +static av_noinline void decode_cabac_residual_dc_internal_422(H264Context *h, + int16_t *block, + int cat, int n, + const uint8_t *scantable, + int max_coeff) { decode_cabac_residual_internal(h, block, cat, n, scantable, NULL, max_coeff, 1, 1); } -static void decode_cabac_residual_nondc_internal(H264Context *h, int16_t *block, - int cat, int n, - const uint8_t *scantable, - const uint32_t *qmul, - int max_coeff) +static av_noinline void decode_cabac_residual_nondc_internal(H264Context *h, + int16_t *block, + int cat, int n, + const uint8_t *scantable, + const uint32_t *qmul, + int max_coeff) { decode_cabac_residual_internal(h, block, cat, n, scantable, qmul, max_coeff, 0, 0); } |