vdpau: add implementation of VdpDecoderGetParameters
This commit is contained in:
parent
ea78480029
commit
34145ecdad
|
@ -145,6 +145,18 @@ vlVdpDecoderGetParameters(VdpDecoder decoder,
|
|||
uint32_t *width,
|
||||
uint32_t *height)
|
||||
{
|
||||
vlVdpDecoder *vldecoder;
|
||||
|
||||
VDPAU_MSG(VDPAU_TRACE, "[VDPAU] decoder get parameters called\n");
|
||||
|
||||
vldecoder = (vlVdpDecoder *)vlGetDataHTAB(decoder);
|
||||
if (!vldecoder)
|
||||
return VDP_STATUS_INVALID_HANDLE;
|
||||
|
||||
*profile = PipeToProfile(vldecoder->decoder->profile);
|
||||
*width = vldecoder->decoder->width;
|
||||
*height = vldecoder->decoder->height;
|
||||
|
||||
return VDP_STATUS_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -171,6 +171,28 @@ ProfileToPipe(VdpDecoderProfile vdpau_profile)
|
|||
}
|
||||
}
|
||||
|
||||
static inline VdpDecoderProfile
|
||||
PipeToProfile(enum pipe_video_profile p_profile)
|
||||
{
|
||||
switch (p_profile) {
|
||||
case PIPE_VIDEO_PROFILE_MPEG1:
|
||||
return VDP_DECODER_PROFILE_MPEG1;
|
||||
case PIPE_VIDEO_PROFILE_MPEG2_SIMPLE:
|
||||
return VDP_DECODER_PROFILE_MPEG2_SIMPLE;
|
||||
case PIPE_VIDEO_PROFILE_MPEG2_MAIN:
|
||||
return VDP_DECODER_PROFILE_MPEG2_MAIN;
|
||||
case PIPE_VIDEO_PROFILE_MPEG4_AVC_BASELINE:
|
||||
return VDP_DECODER_PROFILE_H264_BASELINE;
|
||||
case PIPE_VIDEO_PROFILE_MPEG4_AVC_MAIN: /* Not defined in p_format.h */
|
||||
return VDP_DECODER_PROFILE_H264_MAIN;
|
||||
case PIPE_VIDEO_PROFILE_MPEG4_AVC_HIGH:
|
||||
return VDP_DECODER_PROFILE_H264_HIGH;
|
||||
default:
|
||||
assert(0);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
typedef struct
|
||||
{
|
||||
Display *display;
|
||||
|
|
Loading…
Reference in New Issue