summaryrefslogtreecommitdiff
path: root/src/video_dec
diff options
context:
space:
mode:
authorChristophe Thommeret <hftom@free.fr>2010-01-14 19:18:02 +0100
committerChristophe Thommeret <hftom@free.fr>2010-01-14 19:18:02 +0100
commitf881de2a9c9fab8c1f938fecbc1a8279e33dc729 (patch)
tree1eab5de7695dd241f78b000589d6712c6e30de38 /src/video_dec
parent11e5e873e50542d9d0106b3e5e33023861db23a0 (diff)
downloadxine-lib-f881de2a9c9fab8c1f938fecbc1a8279e33dc729.tar.gz
xine-lib-f881de2a9c9fab8c1f938fecbc1a8279e33dc729.tar.bz2
Don't deinterlace still frames
still frames are marked by the decoder and the video_out will not deinterlace if the flag is set.
Diffstat (limited to 'src/video_dec')
-rw-r--r--src/video_dec/libvdpau/vdpau_mpeg12.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/video_dec/libvdpau/vdpau_mpeg12.c b/src/video_dec/libvdpau/vdpau_mpeg12.c
index a44f84cdd..a990c9852 100644
--- a/src/video_dec/libvdpau/vdpau_mpeg12.c
+++ b/src/video_dec/libvdpau/vdpau_mpeg12.c
@@ -702,8 +702,9 @@ static void decode_picture( vdpau_mpeg12_decoder_t *vd, uint8_t end_of_sequence
return;
}
+ int still_image = (end_of_sequence) ? VO_STILL_IMAGE : 0;
vo_frame_t *img = vd->stream->video_out->get_frame( vd->stream->video_out, seq->coded_width, seq->coded_height,
- seq->ratio, XINE_IMGFMT_VDPAU, VO_BOTH_FIELDS|seq->chroma|seq->reset );
+ seq->ratio, XINE_IMGFMT_VDPAU, VO_BOTH_FIELDS | seq->chroma | seq->reset | still_image );
seq->reset = 0;
vdpau_accel_t *accel = (vdpau_accel_t*)img->accel_data;
if ( !seq->accel_vdpau )