diff options
-rw-r--r-- | include/xine/video_out.h | 1 | ||||
-rw-r--r-- | src/video_out/video_out_vdpau.c | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/include/xine/video_out.h b/include/xine/video_out.h index f82887d6f..201d0149f 100644 --- a/include/xine/video_out.h +++ b/include/xine/video_out.h @@ -297,6 +297,7 @@ struct xine_video_port_s { #define VO_CAP_VDPAU_H264 0x00000080 /* driver can use VDPAU for H264 */ #define VO_CAP_VDPAU_MPEG12 0x00000100 /* driver can use VDPAU for mpeg1/2 */ #define VO_CAP_VDPAU_VC1 0x00000200 /* driver can use VDPAU for VC1 */ +#define VO_CAP_VDPAU_MPEG4 0x00000400 /* driver can use VDPAU for mpeg4-part2 */ #define VO_CAP_HUE 0x00010000 #define VO_CAP_SATURATION 0x00020000 #define VO_CAP_CONTRAST 0x00040000 diff --git a/src/video_out/video_out_vdpau.c b/src/video_out/video_out_vdpau.c index 668ca1f1b..852b4f856 100644 --- a/src/video_out/video_out_vdpau.c +++ b/src/video_out/video_out_vdpau.c @@ -2756,6 +2756,16 @@ static vo_driver_t *vdpau_open_plugin (video_driver_class_t *class_gen, const vo else this->capabilities |= VO_CAP_VDPAU_MPEG12; +#ifdef VDP_DECODER_PROFILE_MPEG4_PART2_ASP + st = vdp_decoder_query_capabilities( vdp_device, VDP_DECODER_PROFILE_MPEG4_PART2_ASP, &ok, &ml, &mr, &mw, &mh ); + if ( st != VDP_STATUS_OK ) + fprintf(stderr, "vo_vdpau: getting mpeg4-part2_supported failed! : %s\n", vdp_get_error_string( st ) ); + else if ( !ok ) + fprintf(stderr, "vo_vdpau: this hardware doesn't support mpeg4-part2.\n" ); + else + this->capabilities |= VO_CAP_VDPAU_MPEG4; +#endif + for ( i=0; i<NUM_FRAMES_BACK; i++) this->back_frame[i] = NULL; |