summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorLoren Merritt <lorenm@u.washington.edu>2006-10-11 21:34:15 +0000
committerLoren Merritt <lorenm@u.washington.edu>2006-10-11 21:34:15 +0000
commita957c27b037ae85b66405461d9541aeb9d4d2225 (patch)
tree750179c82baf0a4ed297b23be1f5e050da69874b /libavcodec
parent1f4d5e9f69e84f4d6cd78e31909f547d4d698ed8 (diff)
more prefetches, 2% faster h264
Originally committed as revision 6664 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/h264.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index e35bb4cd73..f159579d9c 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -3639,6 +3639,9 @@ static void hl_decode_mb(H264Context *h){
dest_cb = s->current_picture.data[1] + (mb_y * 8 * s->uvlinesize) + mb_x * 8;
dest_cr = s->current_picture.data[2] + (mb_y * 8 * s->uvlinesize) + mb_x * 8;
+ s->dsp.prefetch(dest_y + (s->mb_x&3)*4*s->linesize + 64, s->linesize, 4);
+ s->dsp.prefetch(dest_cb + (s->mb_x&7)*s->uvlinesize + 64, dest_cr - dest_cb, 2);
+
if (MB_FIELD) {
linesize = h->mb_linesize = s->linesize * 2;
uvlinesize = h->mb_uvlinesize = s->uvlinesize * 2;