diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2013-02-18 21:03:02 -0800 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2013-04-10 11:03:06 +0300 |
commit | 62844c3fd66940c7747e9b2bb7804e265319f43f (patch) | |
tree | b0e5a05644457aa5d7598d1fefa1a41f83550753 /libavcodec/h264pred.h | |
parent | e8cafd2773bc56455c8816593cbd9368f2d69a80 (diff) | |
download | ffmpeg-62844c3fd66940c7747e9b2bb7804e265319f43f.tar.gz |
h264: Integrate clear_blocks calls with IDCT
The non-intra-pcm branch in hl_decode_mb (simple, 8bpp) goes from 700
to 672 cycles, and the complete loop of decode_mb_cabac and hl_decode_mb
(in the decode_slice loop) goes from 1759 to 1733 cycles on the clip
tested (cathedral), i.e. almost 30 cycles per mb faster.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavcodec/h264pred.h')
-rw-r--r-- | libavcodec/h264pred.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libavcodec/h264pred.h b/libavcodec/h264pred.h index ad1739a3c5..62e5b79dc8 100644 --- a/libavcodec/h264pred.h +++ b/libavcodec/h264pred.h @@ -98,15 +98,15 @@ typedef struct H264PredContext { void(*pred16x16[4 + 3 + 2])(uint8_t *src, ptrdiff_t stride); void(*pred4x4_add[2])(uint8_t *pix /*align 4*/, - const int16_t *block /*align 16*/, ptrdiff_t stride); + int16_t *block /*align 16*/, ptrdiff_t stride); void(*pred8x8l_add[2])(uint8_t *pix /*align 8*/, - const int16_t *block /*align 16*/, ptrdiff_t stride); + int16_t *block /*align 16*/, ptrdiff_t stride); void(*pred8x8_add[3])(uint8_t *pix /*align 8*/, const int *block_offset, - const int16_t *block /*align 16*/, ptrdiff_t stride); + int16_t *block /*align 16*/, ptrdiff_t stride); void(*pred16x16_add[3])(uint8_t *pix /*align 16*/, const int *block_offset, - const int16_t *block /*align 16*/, ptrdiff_t stride); + int16_t *block /*align 16*/, ptrdiff_t stride); } H264PredContext; void ff_h264_pred_init(H264PredContext *h, int codec_id, |