summaryrefslogtreecommitdiff
path: root/libavcodec/h264addpx_template.c
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2013-02-18 21:03:02 -0800
committerMartin Storsjö <martin@martin.st>2013-04-10 11:03:06 +0300
commit62844c3fd66940c7747e9b2bb7804e265319f43f (patch)
treeb0e5a05644457aa5d7598d1fefa1a41f83550753 /libavcodec/h264addpx_template.c
parente8cafd2773bc56455c8816593cbd9368f2d69a80 (diff)
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/h264addpx_template.c')
-rw-r--r--libavcodec/h264addpx_template.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/h264addpx_template.c b/libavcodec/h264addpx_template.c
index d1babc54e5..cdbfc67dfe 100644
--- a/libavcodec/h264addpx_template.c
+++ b/libavcodec/h264addpx_template.c
@@ -43,6 +43,8 @@ static void FUNCC(ff_h264_add_pixels4)(uint8_t *_dst, int16_t *_src, int stride)
dst += stride;
src += 4;
}
+
+ memset(_src, 0, sizeof(dctcoef) * 16);
}
static void FUNCC(ff_h264_add_pixels8)(uint8_t *_dst, int16_t *_src, int stride)
@@ -65,4 +67,6 @@ static void FUNCC(ff_h264_add_pixels8)(uint8_t *_dst, int16_t *_src, int stride)
dst += stride;
src += 8;
}
+
+ memset(_src, 0, sizeof(dctcoef) * 64);
}