Mercurial > libavcodec.hg
comparison h263.c @ 174:ac5075a55488 libavcodec
new IDCT code by Michael Niedermayer (michaelni@gmx.at) - #define SIMPLE_IDCT to enable
author | arpi_esp |
---|---|
date | Sun, 09 Dec 2001 12:04:09 +0000 |
parents | de80712db90b |
children | 840cd25bf259 |
comparison
equal
deleted
inserted
replaced
173:37eaaa9596cc | 174:ac5075a55488 |
---|---|
552 *dc_val_ptr = &dc_val[(x) + (y) * wrap]; | 552 *dc_val_ptr = &dc_val[(x) + (y) * wrap]; |
553 | 553 |
554 return pred; | 554 return pred; |
555 } | 555 } |
556 | 556 |
557 void mpeg4_pred_ac(MpegEncContext * s, INT16 *block, int n, | 557 void mpeg4_pred_ac(MpegEncContext * s, INT16 *block, int n, |
558 int dir) | 558 int dir) |
559 { | 559 { |
560 int x, y, wrap, i; | 560 int x, y, wrap, i; |
561 INT16 *ac_val, *ac_val1; | 561 INT16 *ac_val, *ac_val1; |
562 | 562 |
577 if (s->ac_pred) { | 577 if (s->ac_pred) { |
578 if (dir == 0) { | 578 if (dir == 0) { |
579 /* left prediction */ | 579 /* left prediction */ |
580 ac_val -= 16; | 580 ac_val -= 16; |
581 for(i=1;i<8;i++) { | 581 for(i=1;i<8;i++) { |
582 block[i*8] += ac_val[i]; | 582 block[block_permute_op(i*8)] += ac_val[i]; |
583 } | 583 } |
584 } else { | 584 } else { |
585 /* top prediction */ | 585 /* top prediction */ |
586 ac_val -= 16 * wrap; | 586 ac_val -= 16 * wrap; |
587 for(i=1;i<8;i++) { | 587 for(i=1;i<8;i++) { |
588 block[i] += ac_val[i + 8]; | 588 block[block_permute_op(i)] += ac_val[i + 8]; |
589 } | 589 } |
590 } | 590 } |
591 } | 591 } |
592 /* left copy */ | 592 /* left copy */ |
593 for(i=1;i<8;i++) | 593 for(i=1;i<8;i++) |
594 ac_val1[i] = block[i * 8]; | 594 ac_val1[i] = block[block_permute_op(i * 8)]; |
595 /* top copy */ | 595 /* top copy */ |
596 for(i=1;i<8;i++) | 596 for(i=1;i<8;i++) |
597 ac_val1[8 + i] = block[i]; | 597 ac_val1[8 + i] = block[block_permute_op(i)]; |
598 } | 598 } |
599 | 599 |
600 static inline void mpeg4_encode_dc(MpegEncContext * s, int level, int n, int *dir_ptr) | 600 static inline void mpeg4_encode_dc(MpegEncContext * s, int level, int n, int *dir_ptr) |
601 { | 601 { |
602 int size, v, pred; | 602 int size, v, pred; |