summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/xine/video_out.h1
-rw-r--r--src/video_out/video_out_vdpau.c10
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;