[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.49.2.20, Sun Nov 30 16:13:15 2003 UTC revision 1.49.2.22, Wed Dec 10 01:01:07 2003 UTC
# Line 1316  Line 1316 
1316  void decoder_output(DECODER * dec, IMAGE * img, MACROBLOCK * mbs,  void decoder_output(DECODER * dec, IMAGE * img, MACROBLOCK * mbs,
1317                                          xvid_dec_frame_t * frame, xvid_dec_stats_t * stats, int coding_type)                                          xvid_dec_frame_t * frame, xvid_dec_stats_t * stats, int coding_type)
1318  {  {
1319            if (frame->general & (XVID_DEBLOCKY|XVID_DEBLOCKUV))    /* post process */
1320            {
1321                    /* note: image is stored to tmp */
1322                    image_copy(&dec->tmp, img, dec->edged_width, dec->height);
1323                    image_deblock(&dec->tmp, dec->edged_width,
1324                                              mbs, dec->mb_width, dec->mb_height, dec->mb_width,
1325                                              frame->general);
1326                    img = &dec->tmp;
1327            }
1328    
1329          image_output(img, dec->width, dec->height,          image_output(img, dec->width, dec->height,
1330                                   dec->edged_width, (uint8_t**)frame->output.plane, frame->output.stride,                                   dec->edged_width, (uint8_t**)frame->output.plane, frame->output.stride,
1331                                   frame->output.csp, dec->interlacing);                                   frame->output.csp, dec->interlacing);
# Line 1491  Line 1501 
1501                          /* attemping to decode a bvop without atleast 2 reference frames */                          /* attemping to decode a bvop without atleast 2 reference frames */
1502                          image_printf(&dec->cur, dec->edged_width, dec->height, 16, 16,                          image_printf(&dec->cur, dec->edged_width, dec->height, 16, 16,
1503                                                  "broken b-frame, mising ref frames");                                                  "broken b-frame, mising ref frames");
1504                            stats->type = XVID_TYPE_NOTHING;
1505                  } else if (dec->time_pp <= dec->time_bp) {                  } else if (dec->time_pp <= dec->time_bp) {
1506                          /* this occurs when dx50_bvop_compatibility==0 sequences are                          /* this occurs when dx50_bvop_compatibility==0 sequences are
1507                          decoded in vfw. */                          decoded in vfw. */
1508                          image_printf(&dec->cur, dec->edged_width, dec->height, 16, 16,                          image_printf(&dec->cur, dec->edged_width, dec->height, 16, 16,
1509                                                  "broken b-frame, tpp=%i tbp=%i", dec->time_pp, dec->time_bp);                                                  "broken b-frame, tpp=%i tbp=%i", dec->time_pp, dec->time_bp);
1510                            stats->type = XVID_TYPE_NOTHING;
1511                  } else {                  } else {
1512                          decoder_bframe(dec, &bs, quant, fcode_forward, fcode_backward);                          decoder_bframe(dec, &bs, quant, fcode_forward, fcode_backward);
1513                            decoder_output(dec, &dec->cur, dec->mbs, frame, stats, coding_type);
1514                  }                  }
1515    
                 decoder_output(dec, &dec->cur, dec->mbs, frame, stats, coding_type);  
1516                  output = 1;                  output = 1;
1517                  dec->frames++;                  dec->frames++;
1518          }          }

Legend:
Removed from v.1.49.2.20  
changed lines
  Added in v.1.49.2.22

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