[cvs] / xvidcore / src / decoder.c Repository:
ViewVC logotype

Diff of /xvidcore/src/decoder.c

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

revision 1.20, Fri Jun 14 13:21:13 2002 UTC revision 1.21, Sat Jun 22 07:23:09 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 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.1.20  
changed lines
  Added in v.1.21

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