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

Diff of /trunk/xvidcore/src/encoder.c

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

revision 326, Sun Jul 21 23:34:08 2002 UTC revision 340, Wed Jul 24 23:17:19 2002 UTC
# Line 39  Line 39 
39   *             MinChen <chenm001@163.com>   *             MinChen <chenm001@163.com>
40   *  14.04.2002 added FrameCodeB()   *  14.04.2002 added FrameCodeB()
41   *   *
42   *  $Id: encoder.c,v 1.62 2002-07-21 23:34:07 chl Exp $   *  $Id: encoder.c,v 1.64 2002-07-24 23:17:19 chl Exp $
43   *   *
44   ****************************************************************************/   ****************************************************************************/
45    
46    
47  #include <stdlib.h>  #include <stdlib.h>
48  #include <stdio.h>  #include <stdio.h>
49  #include <math.h>  #include <math.h>
# Line 1016  Line 1017 
1017                  } else {                  } else {
1018                          pEnc->current->quant = pFrame->bquant;                          pEnc->current->quant = pFrame->bquant;
1019                  }                  }
1020  /*                if (pEnc->current->quant < 1)                  if (pEnc->current->quant < 1)
1021                          pEnc->current->quant = 1;                          pEnc->current->quant = 1;
1022    
1023                  if (pEnc->current->quant > 31)                  if (pEnc->current->quant > 31)
1024                          pEnc->current->quant = 31;                          pEnc->current->quant = 31;
1025    
1026  */  
1027                          DPRINTF(DPRINTF_DEBUG,"*** BFRAME (store) bf: head=%i tail=%i   queue: head=%i tail=%i size=%i  quant=%i\n",                          DPRINTF(DPRINTF_DEBUG,"*** BFRAME (store) bf: head=%i tail=%i   queue: head=%i tail=%i size=%i  quant=%i\n",
1028                                  pEnc->bframenum_head, pEnc->bframenum_tail,                                  pEnc->bframenum_head, pEnc->bframenum_tail,
1029                                  pEnc->queue_head, pEnc->queue_tail, pEnc->queue_size,pEnc->current->quant);                                  pEnc->queue_head, pEnc->queue_tail, pEnc->queue_size,pEnc->current->quant);
# Line 1883  Line 1884 
1884                                                                    qcoeff);                                                                    qcoeff);
1885                          //mb->cbp = MBTransQuantBVOP(&pEnc->mbParam, x, y, dct_codes, qcoeff, &frame->image, frame->quant);                          //mb->cbp = MBTransQuantBVOP(&pEnc->mbParam, x, y, dct_codes, qcoeff, &frame->image, frame->quant);
1886    
1887                            if ( (mb->mode == MODE_DIRECT) && (mb->cbp == 0)
1888                          if ((mb->mode == MODE_INTERPOLATE || mb->mode == MODE_DIRECT)                                  && (mb->deltamv.x == 0) && (mb->deltamv.y == 0) ) {
                                 && mb->cbp == 0 && mb->mvs[0].x == 0 && mb->mvs[0].y == 0) {  
1889                                  mb->mode = MODE_DIRECT_NONE_MV; // skipped                                  mb->mode = MODE_DIRECT_NONE_MV; // skipped
1890                          }                          }
1891    
1892    /* update predictors for forward and backward vectors */
1893                          if (mb->mode == MODE_INTERPOLATE || mb->mode == MODE_FORWARD) {                          if (mb->mode == MODE_INTERPOLATE || mb->mode == MODE_FORWARD) {
1894                                  mb->pmvs[0].x = mb->mvs[0].x - forward.x;                                  mb->pmvs[0].x = mb->mvs[0].x - forward.x;
1895                                  mb->pmvs[0].y = mb->mvs[0].y - forward.y;                                  mb->pmvs[0].y = mb->mvs[0].y - forward.y;
# Line 1902  Line 1903 
1903                                  backward.x = mb->b_mvs[0].x;                                  backward.x = mb->b_mvs[0].x;
1904                                  backward.y = mb->b_mvs[0].y;                                  backward.y = mb->b_mvs[0].y;
1905                          }                          }
1906    
1907  //                      DPRINTF("%05i : [%i %i] M=%i CBP=%i MVS=%i,%i forward=%i,%i", pEnc->m_framenum, x, y, mb->mode, mb->cbp, mb->mvs[0].x, mb->mvs[0].y, forward.x, forward.y);  //                      DPRINTF("%05i : [%i %i] M=%i CBP=%i MVS=%i,%i forward=%i,%i", pEnc->m_framenum, x, y, mb->mode, mb->cbp, mb->mvs[0].x, mb->mvs[0].y, forward.x, forward.y);
1908    
1909  #ifdef BFRAMES_DEC_DEBUG  #ifdef BFRAMES_DEC_DEBUG
# Line 1929  Line 1931 
1931  #endif  #endif
1932  }  }
1933  #endif  #endif
1934    
1935    
1936    /*      in case internal output is needed somewhere... */
1937    /*      {
1938            FILE *filehandle;
1939            filehandle=fopen("last-b.pgm","wb");
1940            if (filehandle)
1941            {
1942                    fprintf(filehandle,"P5\n\n");           //
1943                    fprintf(filehandle,"%d %d 255\n",pEnc->mbParam.edged_width,pEnc->mbParam.edged_height);
1944                    fwrite(frame->image.y,pEnc->mbParam.edged_width,pEnc->mbParam.edged_height,filehandle);
1945                    fclose(filehandle);
1946                    }
1947            }
1948    */

Legend:
Removed from v.326  
changed lines
  Added in v.340

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