Mercurial > libavcodec.hg
comparison h264.c @ 8355:179f8e1327ce libavcodec
Factorize 3 multiplications out, code becomes 3 cpu cycles faster.
(not significant as thats just per MB)
author | michael |
---|---|
date | Tue, 16 Dec 2008 21:08:16 +0000 |
parents | 5e6f65181881 |
children | 1ef90fd7706a |
comparison
equal
deleted
inserted
replaced
8354:5e6f65181881 | 8355:179f8e1327ce |
---|---|
2369 const int transform_bypass = !simple && (s->qscale == 0 && h->sps.transform_bypass); | 2369 const int transform_bypass = !simple && (s->qscale == 0 && h->sps.transform_bypass); |
2370 const int is_h264 = simple || s->codec_id == CODEC_ID_H264; | 2370 const int is_h264 = simple || s->codec_id == CODEC_ID_H264; |
2371 void (*idct_add)(uint8_t *dst, DCTELEM *block, int stride); | 2371 void (*idct_add)(uint8_t *dst, DCTELEM *block, int stride); |
2372 void (*idct_dc_add)(uint8_t *dst, DCTELEM *block, int stride); | 2372 void (*idct_dc_add)(uint8_t *dst, DCTELEM *block, int stride); |
2373 | 2373 |
2374 dest_y = s->current_picture.data[0] + (mb_y * 16* s->linesize ) + mb_x * 16; | 2374 dest_y = s->current_picture.data[0] + (mb_x + mb_y * s->linesize ) * 16; |
2375 dest_cb = s->current_picture.data[1] + (mb_y * 8 * s->uvlinesize) + mb_x * 8; | 2375 dest_cb = s->current_picture.data[1] + (mb_x + mb_y * s->uvlinesize) * 8; |
2376 dest_cr = s->current_picture.data[2] + (mb_y * 8 * s->uvlinesize) + mb_x * 8; | 2376 dest_cr = s->current_picture.data[2] + (mb_x + mb_y * s->uvlinesize) * 8; |
2377 | 2377 |
2378 s->dsp.prefetch(dest_y + (s->mb_x&3)*4*s->linesize + 64, s->linesize, 4); | 2378 s->dsp.prefetch(dest_y + (s->mb_x&3)*4*s->linesize + 64, s->linesize, 4); |
2379 s->dsp.prefetch(dest_cb + (s->mb_x&7)*s->uvlinesize + 64, dest_cr - dest_cb, 2); | 2379 s->dsp.prefetch(dest_cb + (s->mb_x&7)*s->uvlinesize + 64, dest_cr - dest_cb, 2); |
2380 | 2380 |
2381 if (!simple && MB_FIELD) { | 2381 if (!simple && MB_FIELD) { |