[svn] / branches / dev-api-4 / xvidcore / src / decoder.c Repository:
ViewVC logotype

Diff of /branches/dev-api-4/xvidcore/src/decoder.c

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

revision 1107, Sat Aug 2 15:08:48 2003 UTC revision 1153, Wed Sep 24 01:38:29 2003 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.49.2.10 2003-08-02 15:08:12 edgomez Exp $   * $Id: decoder.c,v 1.49.2.12 2003-09-24 01:38:29 edgomez Exp $
24   *   *
25   ****************************************************************************/   ****************************************************************************/
26    
# Line 915  Line 915 
915    
916                                  intra = (mb->mode == MODE_INTRA || mb->mode == MODE_INTRA_Q);                                  intra = (mb->mode == MODE_INTRA || mb->mode == MODE_INTRA_Q);
917    
                                 if (intra) {  
                                         acpred_flag = BitstreamGetBit(bs);  
                                 }  
   
918                                  if (gmc_warp && (mb->mode == MODE_INTER || mb->mode == MODE_INTER_Q))                                  if (gmc_warp && (mb->mode == MODE_INTER || mb->mode == MODE_INTER_Q))
                                 {  
919                                          mcsel = BitstreamGetBit(bs);                                          mcsel = BitstreamGetBit(bs);
920                                  }  
921                                    if (intra)
922                                            acpred_flag = BitstreamGetBit(bs);
923    
924                                  cbpy = get_cbpy(bs, intra);                                  cbpy = get_cbpy(bs, intra);
925                                  DPRINTF(XVID_DEBUG_MB, "cbpy %i  mcsel %i \n", cbpy,mcsel);                                  DPRINTF(XVID_DEBUG_MB, "cbpy %i  mcsel %i \n", cbpy,mcsel);
# Line 1731  Line 1728 
1728          WARPPOINTS gmc_warp;          WARPPOINTS gmc_warp;
1729          int coding_type;          int coding_type;
1730          int success, output, seen_something;          int success, output, seen_something;
         idctFuncPtr idct_save;  
1731    
1732          if (XVID_VERSION_MAJOR(frame->version) != 1 || (stats && XVID_VERSION_MAJOR(stats->version) != 1))      /* v1.x.x */          if (XVID_VERSION_MAJOR(frame->version) != 1 || (stats && XVID_VERSION_MAJOR(stats->version) != 1))      /* v1.x.x */
1733                  return XVID_ERR_VERSION;                  return XVID_ERR_VERSION;
# Line 1777  Line 1773 
1773          success = 0;          success = 0;
1774          output = 0;          output = 0;
1775          seen_something = 0;          seen_something = 0;
         idct_save = idct;  
1776    
1777  repeat:  repeat:
1778    
# Line 1819  Line 1814 
1814    
1815          dec->p_bmv.x = dec->p_bmv.y = dec->p_fmv.y = dec->p_fmv.y = 0;  /* init pred vector to 0 */          dec->p_bmv.x = dec->p_bmv.y = dec->p_fmv.y = dec->p_fmv.y = 0;  /* init pred vector to 0 */
1816    
 #if defined(ARCH_IS_IA32)  
         /*  
          * /!\ Ugly hack /!\  
          * IA32: Prior to xvid bitstream 10, we were using Walten's mmx/xmm idct  
          */  
         if((idct == simple_idct_mmx) && (dec->bs_version < 10))  
                 idct = idct_mmx;  
 #endif  
   
1817          /* packed_mode: special-N_VOP treament */          /* packed_mode: special-N_VOP treament */
1818          if (dec->packed_mode && coding_type == N_VOP)          if (dec->packed_mode && coding_type == N_VOP)
1819          {          {
# Line 1956  Line 1942 
1942          emms();          emms();
1943          stop_global_timer();          stop_global_timer();
1944    
         idct = idct_save;  
   
1945          return BitstreamPos(&bs) / 8;   /* number of bytes consumed */          return BitstreamPos(&bs) / 8;   /* number of bytes consumed */
1946  }  }

Legend:
Removed from v.1107  
changed lines
  Added in v.1153

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