[svn] / trunk / xvidcore / src / bitstream / mbcoding.c Repository:
ViewVC logotype

Diff of /trunk/xvidcore/src/bitstream/mbcoding.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1775, Wed Jun 27 14:38:05 2007 UTC revision 1895, Fri Oct 15 16:20:48 2010 UTC
# Line 19  Line 19 
19   *  along with this program ; if not, write to the Free Software   *  along with this program ; if not, write to the Free Software
20   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
21   *   *
22   * $Id: mbcoding.c,v 1.55 2007-06-27 14:38:05 Isibaar Exp $   * $Id: mbcoding.c,v 1.59 2010-10-15 16:20:48 Isibaar Exp $
23   *   *
24   ****************************************************************************/   ****************************************************************************/
25    
# Line 588  Line 588 
588                          CodeVector(bs, pMB->pmvs[i].x, frame->fcode);                          CodeVector(bs, pMB->pmvs[i].x, frame->fcode);
589                          CodeVector(bs, pMB->pmvs[i].y, frame->fcode);                          CodeVector(bs, pMB->pmvs[i].y, frame->fcode);
590    
591  #ifdef _DEBUG  #if 0 /* #ifdef _DEBUG */
592                          if (i == 0) /* for simplicity */ {                          if (i == 0) /* for simplicity */ {
593                                  int coded_length = BitstreamPos(bs) - bits;                                  int coded_length = BitstreamPos(bs) - bits;
594                                  int estimated_length = d_mv_bits(pMB->pmvs[i].x, pMB->pmvs[i].y, zeroMV, frame->fcode, 0);                                  int estimated_length = d_mv_bits(pMB->pmvs[i].x, pMB->pmvs[i].y, zeroMV, frame->fcode, 0);
# Line 1075  Line 1075 
1075          return (level << 20) >> 20;          return (level << 20) >> 20;
1076    
1077    error:    error:
1078          *run = VLC_ERROR;          *run = 64;
1079          return 0;          return 0;
1080  }  }
1081    
# Line 1087  Line 1087 
1087  {  {
1088    
1089          const uint16_t *scan = scan_tables[direction];          const uint16_t *scan = scan_tables[direction];
1090          int level, run, last;          int level, run, last = 0;
1091    
1092          do {          do {
1093                  level = get_coeff(bs, &run, &last, 1, 0);                  level = get_coeff(bs, &run, &last, 1, 0);
1094                  coeff += run;                  coeff += run;
1095                  if ((run|coeff)&~63) {                  if (coeff & ~63) {
1096                          DPRINTF(XVID_DEBUG_ERROR,"fatal: invalid run or index");                          DPRINTF(XVID_DEBUG_ERROR,"fatal: invalid run or index");
1097                          break;                          break;
1098                  }                  }
# Line 1127  Line 1127 
1127          int p;          int p;
1128          int level;          int level;
1129          int run;          int run;
1130          int last;          int last = 0;
1131    
1132          p = 0;          p = 0;
1133          do {          do {
1134                  level = get_coeff(bs, &run, &last, 0, 0);                  level = get_coeff(bs, &run, &last, 0, 0);
1135                  p += run;                  p += run;
1136                  if ((p|run)&~63) {                  if (p & ~63) {
1137                          DPRINTF(XVID_DEBUG_ERROR,"fatal: invalid run or index");                          DPRINTF(XVID_DEBUG_ERROR,"fatal: invalid run or index");
1138                          break;                          break;
1139                  }                  }
# Line 1162  Line 1162 
1162          int p;          int p;
1163          int level;          int level;
1164          int run;          int run;
1165          int last;          int last = 0;
1166    
1167          p = 0;          p = 0;
1168          do {          do {
1169                  level = get_coeff(bs, &run, &last, 0, 0);                  level = get_coeff(bs, &run, &last, 0, 0);
1170                  p += run;                  p += run;
1171                  if ((p|run)&~63) {                  if (p & ~63) {
1172                          DPRINTF(XVID_DEBUG_ERROR,"fatal: invalid run or index");                          DPRINTF(XVID_DEBUG_ERROR,"fatal: invalid run or index");
1173                          break;                          break;
1174                  }                  }
# Line 1972  Line 1972 
1972          26708, 29545, 29472, 26223, 30580, 29281,  8293, 29545,          26708, 29545, 29472, 26223, 30580, 29281,  8293, 29545,
1973          25632, 29285, 30313, 25701, 26144, 28530,  8301, 26740,          25632, 29285, 30313, 25701, 26144, 28530,  8301, 26740,
1974           8293, 20039,  8277, 20551,  8268, 30296, 17513, 25376,           8293, 20039,  8277, 20551,  8268, 30296, 17513, 25376,
1975          25711, 25445, 10272, 11825, 11825, 10544,  2606, 28505,          25711, 25445, 10272, 11825, 11827, 10544,  2606, 28505,
1976          29301, 29472, 26223, 30580, 29281,  8293, 26980, 29811,          29301, 29472, 26223, 30580, 29281,  8293, 26980, 29811,
1977          26994, 30050, 28532,  8306, 24936,  8307, 28532, 26400,          26994, 30050, 28532,  8306, 24936,  8307, 28532, 26400,
1978          30313,  8293, 25441, 25955, 29555, 29728,  8303, 29801,          30313,  8293, 25441, 25955, 29555, 29728,  8303, 29801,

Legend:
Removed from v.1775  
changed lines
  Added in v.1895

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4