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

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

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

revision 208, Fri Jun 14 13:21:35 2002 UTC revision 233, Sat Jun 22 07:23:10 2002 UTC
# Line 32  Line 32 
32   *   *
33   *  History:   *  History:
34   *   *
35     *      22.06.2002      added primative N_VOP support
36     *                              #define BFRAMES_DEC now enables Minchenm's bframe decoder
37   *  08.05.2002  add low_delay support for B_VOP decode   *  08.05.2002  add low_delay support for B_VOP decode
38   *              MinChen <chenm001@163.com>   *              MinChen <chenm001@163.com>
39   *  05.05.2002  fix some B-frame decode problem   *  05.05.2002  fix some B-frame decode problem
# Line 47  Line 49 
49   *  22.12.2001  lock based interpolation   *  22.12.2001  lock based interpolation
50   *  01.12.2001  inital version; (c)2001 peter ross <pross@cs.rmit.edu.au>   *  01.12.2001  inital version; (c)2001 peter ross <pross@cs.rmit.edu.au>
51   *   *
52   *  $Id: decoder.c,v 1.20 2002-06-14 13:21:13 Isibaar Exp $   *  $Id: decoder.c,v 1.21 2002-06-22 07:23:09 suxen_drol Exp $
53   *   *
54   *************************************************************************/   *************************************************************************/
55    
# Line 1250  Line 1252 
1252                  break;                  break;
1253    
1254          case B_VOP:          case B_VOP:
1255  #ifdef BFRAMES  #ifdef BFRAMES_DEC
1256                  if (dec->time_pp > dec->time_bp) {                  if (dec->time_pp > dec->time_bp) {
1257                          DEBUG1("B_VOP  Time=", dec->time);                          DEBUG1("B_VOP  Time=", dec->time);
1258                          decoder_bframe(dec, &bs, quant, fcode_forward, fcode_backward);                          decoder_bframe(dec, &bs, quant, fcode_forward, fcode_backward);
1259                  } else {                  } else {
1260                          DEBUG("broken B-frame!");                          DEBUG("broken B-frame!");
1261                  }                  }
1262    #else
1263                    image_copy(&dec->cur, &dec->refn[0], dec->edged_width, dec->height);
1264  #endif  #endif
1265                  break;                  break;
1266    
1267          case N_VOP:                             // vop not coded          case N_VOP:                             // vop not coded
1268                    // when low_delay==0, N_VOP's should interpolate between the past and future frames
1269                    image_copy(&dec->cur, &dec->refn[0], dec->edged_width, dec->height);
1270                  break;                  break;
1271    
1272          default:          default:
# Line 1269  Line 1275 
1275    
1276          frame->length = BitstreamPos(&bs) / 8;          frame->length = BitstreamPos(&bs) / 8;
1277    
1278  #ifdef BFRAMES  #ifdef BFRAMES_DEC
1279          // test if no B_VOP          // test if no B_VOP
1280          if (dec->low_delay) {          if (dec->low_delay) {
1281  #endif  #endif
1282                  image_output(&dec->cur, dec->width, dec->height, dec->edged_width,                  image_output(&dec->cur, dec->width, dec->height, dec->edged_width,
1283                                           frame->image, frame->stride, frame->colorspace);                                           frame->image, frame->stride, frame->colorspace);
1284  #ifdef BFRAMES  #ifdef BFRAMES_DEC
1285          } else {          } else {
1286                  if (dec->frames >= 1) {                  if (dec->frames >= 1) {
1287                          start_timer();                          start_timer();

Legend:
Removed from v.208  
changed lines
  Added in v.233

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