diff options
author | Julian Scheel <julian@jusst.de> | 2008-12-15 09:07:38 +0000 |
---|---|---|
committer | Julian Scheel <julian@jusst.de> | 2008-12-15 09:07:38 +0000 |
commit | ff60558d1695c5c7ffc68b234b92fcde1f781dab (patch) | |
tree | 43da21e035db3fd28861ed5581092afe50c92bac /src/libvdpau/dpb.c | |
parent | 4ad3c69c9557f7a4385c549556ef3f1bf08740b5 (diff) | |
download | xine-lib-ff60558d1695c5c7ffc68b234b92fcde1f781dab.tar.gz xine-lib-ff60558d1695c5c7ffc68b234b92fcde1f781dab.tar.bz2 |
More testing.
Diffstat (limited to 'src/libvdpau/dpb.c')
-rw-r--r-- | src/libvdpau/dpb.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libvdpau/dpb.c b/src/libvdpau/dpb.c index bbcfe4a9d..5afc93fb6 100644 --- a/src/libvdpau/dpb.c +++ b/src/libvdpau/dpb.c @@ -40,14 +40,16 @@ void free_decoded_picture(struct decoded_picture *pic) struct decoded_picture* dpb_get_next_out_picture(struct dpb *dpb) { struct decoded_picture *pic = dpb->pictures; - struct decoded_picture *outpic = pic; + struct decoded_picture *outpic = NULL; if(dpb->used < MAX_DPB_SIZE) return NULL; if (pic != NULL) do { - if (pic->nal->top_field_order_cnt < outpic->nal->top_field_order_cnt) + if (pic->delayed_output && + (outpic == NULL || + pic->nal->top_field_order_cnt < outpic->nal->top_field_order_cnt)) outpic = pic; } while ((pic = pic->next) != NULL); |