diff options
-rw-r--r-- | src/libvdpau/dpb.h | 2 | ||||
-rw-r--r-- | src/libvdpau/vdpau_h264.c | 7 |
2 files changed, 1 insertions, 8 deletions
diff --git a/src/libvdpau/dpb.h b/src/libvdpau/dpb.h index ab4e71809..6578aa42f 100644 --- a/src/libvdpau/dpb.h +++ b/src/libvdpau/dpb.h @@ -40,8 +40,6 @@ struct decoded_picture { uint8_t delayed_output; - uint8_t misses_references; - struct decoded_picture *next; }; diff --git a/src/libvdpau/vdpau_h264.c b/src/libvdpau/vdpau_h264.c index bdbe713a7..2d053f239 100644 --- a/src/libvdpau/vdpau_h264.c +++ b/src/libvdpau/vdpau_h264.c @@ -488,8 +488,6 @@ static int vdpau_decoder_render(video_decoder_t *this_gen, VdpBitstreamBuffer *v decoded_pic = init_decoded_picture(this->nal_parser->current_nal, surface, img); this->last_ref_pic = decoded_pic; decoded_pic->used_for_reference = 1; - if(pic.num_ref_frames < this->nal_parser->current_nal->sps->num_ref_frames) - decoded_pic->misses_references = 1; dpb_add_picture(&(this->nal_parser->dpb), decoded_pic, sps->num_ref_frames); this->dangling_img = NULL; } else if(slc->field_pic_flag && this->wait_for_bottom_field) { @@ -522,10 +520,7 @@ static int vdpau_decoder_render(video_decoder_t *this_gen, VdpBitstreamBuffer *v /* now retrieve the next output frame */ if ((decoded_pic = dpb_get_next_out_picture(&(this->nal_parser->dpb))) != NULL) { decoded_pic->img->top_field_first = (decoded_pic->nal->top_field_order_cnt <= decoded_pic->nal->bottom_field_order_cnt); - if(!decoded_pic->misses_references) - decoded_pic->img->draw(decoded_pic->img, this->stream); - else - printf("skip frame, it misses references!"); + decoded_pic->img->draw(decoded_pic->img, this->stream); dpb_set_output_picture(&(this->nal_parser->dpb), decoded_pic); } |