Mercurial > libavcodec.hg
comparison msmpeg4.c @ 3781:8e79b099d354 libavcodec
dc_val should be signed
author | mru |
---|---|
date | Wed, 27 Sep 2006 22:13:44 +0000 |
parents | 20545fbb6f7c |
children | c8c591fe26f8 |
comparison
equal
deleted
inserted
replaced
3780:6741c0e88310 | 3781:8e79b099d354 |
---|---|
625 return FASTDIV((sum + (scale>>1)), scale); | 625 return FASTDIV((sum + (scale>>1)), scale); |
626 } | 626 } |
627 | 627 |
628 /* dir = 0: left, dir = 1: top prediction */ | 628 /* dir = 0: left, dir = 1: top prediction */ |
629 static inline int msmpeg4_pred_dc(MpegEncContext * s, int n, | 629 static inline int msmpeg4_pred_dc(MpegEncContext * s, int n, |
630 uint16_t **dc_val_ptr, int *dir_ptr) | 630 int16_t **dc_val_ptr, int *dir_ptr) |
631 { | 631 { |
632 int a, b, c, wrap, pred, scale; | 632 int a, b, c, wrap, pred, scale; |
633 uint16_t *dc_val; | 633 int16_t *dc_val; |
634 | 634 |
635 /* find prediction */ | 635 /* find prediction */ |
636 if (n < 4) { | 636 if (n < 4) { |
637 scale = s->y_dc_scale; | 637 scale = s->y_dc_scale; |
638 } else { | 638 } else { |
785 pred = msmpeg4v1_pred_dc(s, n, &dc_val); | 785 pred = msmpeg4v1_pred_dc(s, n, &dc_val); |
786 | 786 |
787 /* update predictor */ | 787 /* update predictor */ |
788 *dc_val= level; | 788 *dc_val= level; |
789 }else{ | 789 }else{ |
790 uint16_t *dc_val; | 790 int16_t *dc_val; |
791 pred = msmpeg4_pred_dc(s, n, &dc_val, dir_ptr); | 791 pred = msmpeg4_pred_dc(s, n, &dc_val, dir_ptr); |
792 | 792 |
793 /* update predictor */ | 793 /* update predictor */ |
794 if (n < 4) { | 794 if (n < 4) { |
795 *dc_val = level * s->y_dc_scale; | 795 *dc_val = level * s->y_dc_scale; |
1873 level += pred; | 1873 level += pred; |
1874 | 1874 |
1875 /* update predictor */ | 1875 /* update predictor */ |
1876 *dc_val= level; | 1876 *dc_val= level; |
1877 }else{ | 1877 }else{ |
1878 uint16_t *dc_val; | 1878 int16_t *dc_val; |
1879 pred = msmpeg4_pred_dc(s, n, &dc_val, dir_ptr); | 1879 pred = msmpeg4_pred_dc(s, n, &dc_val, dir_ptr); |
1880 level += pred; | 1880 level += pred; |
1881 | 1881 |
1882 /* update predictor */ | 1882 /* update predictor */ |
1883 if (n < 4) { | 1883 if (n < 4) { |