[svn] / branches / release-1_3-branch / xvidcore / src / decoder.c Repository:
ViewVC logotype

Diff of /branches/release-1_3-branch/xvidcore/src/decoder.c

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

trunk/xvidcore/src/decoder.c revision 1911, Sat Dec 18 10:13:38 2010 UTC branches/release-1_3-branch/xvidcore/src/decoder.c revision 2130, Fri Jan 8 17:40:12 2016 UTC
# Line 20  Line 20 
20   *  along with this program ; if not, write to the Free Software   *  along with this program ; if not, write to the Free Software
21   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
22   *   *
23   * $Id: decoder.c,v 1.85 2010-12-18 10:13:30 Isibaar Exp $   * $Id$
24   *   *
25   ****************************************************************************/   ****************************************************************************/
26    
# Line 1391  Line 1391 
1391        MACROBLOCK *last_mb = &dec->last_mbs[y * dec->mb_width + x];        MACROBLOCK *last_mb = &dec->last_mbs[y * dec->mb_width + x];
1392        int intra_dc_threshold; /* fake variable */        int intra_dc_threshold; /* fake variable */
1393    
       if (check_resync_marker(bs, resync_len)) {  
         int bound = read_video_packet_header(bs, dec, resync_len, &quant,  
                            &fcode_forward, &fcode_backward, &intra_dc_threshold);  
         x = bound % dec->mb_width;  
         y = MIN((bound / dec->mb_width), (dec->mb_height-1));  
         /* reset predicted macroblocks */  
         dec->p_fmv = dec->p_bmv = zeromv;  
         /* update resync len with new fcodes */  
         resync_len = get_resync_len_b(fcode_backward, fcode_forward);  
       }  
   
1394        mv =        mv =
1395        mb->b_mvs[0] = mb->b_mvs[1] = mb->b_mvs[2] = mb->b_mvs[3] =        mb->b_mvs[0] = mb->b_mvs[1] = mb->b_mvs[2] = mb->b_mvs[3] =
1396        mb->mvs[0] = mb->mvs[1] = mb->mvs[2] = mb->mvs[3] = zeromv;        mb->mvs[0] = mb->mvs[1] = mb->mvs[2] = mb->mvs[3] = zeromv;
# Line 1420  Line 1409 
1409          continue;          continue;
1410        }        }
1411    
1412          if (check_resync_marker(bs, resync_len)) {
1413            int bound = read_video_packet_header(bs, dec, resync_len, &quant,
1414                               &fcode_forward, &fcode_backward, &intra_dc_threshold);
1415    
1416                    bound = MAX(0, bound-1); /* valid bound must always be >0 */
1417            x = bound % dec->mb_width;
1418            y = MIN((bound / dec->mb_width), (dec->mb_height-1));
1419            /* reset predicted macroblocks */
1420            dec->p_fmv = dec->p_bmv = zeromv;
1421            /* update resync len with new fcodes */
1422            resync_len = get_resync_len_b(fcode_backward, fcode_forward);
1423                    continue; /* re-init loop */
1424              }
1425    
1426        if (!BitstreamGetBit(bs)) { /* modb=='0' */        if (!BitstreamGetBit(bs)) { /* modb=='0' */
1427          const uint8_t modb2 = BitstreamGetBit(bs);          const uint8_t modb2 = BitstreamGetBit(bs);
1428    
# Line 1644  Line 1647 
1647      if(stats) {      if(stats) {
1648        stats->type = XVID_TYPE_VOL;        stats->type = XVID_TYPE_VOL;
1649        stats->data.vol.general = 0;        stats->data.vol.general = 0;
1650        /*XXX: if (dec->interlacing)            stats->data.vop.general = 0;
1651          stats->data.vol.general |= ++INTERLACING; */            if (dec->interlacing) {
1652        stats->data.vol.width = dec->width;                    stats->data.vol.general |= XVID_VOL_INTERLACING;
1653                      if (dec->top_field_first) {
1654                              stats->data.vop.general |= XVID_VOP_TOPFIELDFIRST;
1655                      }
1656              }      stats->data.vol.width = dec->width;
1657        stats->data.vol.height = dec->height;        stats->data.vol.height = dec->height;
1658        stats->data.vol.par = dec->aspect_ratio;        stats->data.vol.par = dec->aspect_ratio;
1659        stats->data.vol.par_width = dec->par_width;        stats->data.vol.par_width = dec->par_width;

Legend:
Removed from v.1911  
changed lines
  Added in v.2130

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