mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-11 09:55:36 +00:00
applemedia: vtdec: Enable hardware accelerated decoding on 10.9
This commit is contained in:
parent
d111f37f74
commit
72e989f2da
1 changed files with 16 additions and 1 deletions
|
@ -96,6 +96,13 @@ static GstStaticPadTemplate gst_vtdec_sink_template =
|
|||
#define GST_VTDEC_CV_VIDEO_FORMAT kCVPixelFormatType_422YpCbCr8
|
||||
#endif
|
||||
|
||||
/* define EnableHardwareAcceleratedVideoDecoder in < 10.9 */
|
||||
#if MAC_OS_X_VERSION_MAX_ALLOWED < 1090
|
||||
const CFStringRef
|
||||
kVTVideoDecoderSpecification_EnableHardwareAcceleratedVideoDecoder =
|
||||
CFSTR ("EnableHardwareAcceleratedVideoDecoder");
|
||||
#endif
|
||||
|
||||
#define VIDEO_SRC_CAPS \
|
||||
GST_VIDEO_CAPS_MAKE("{" GST_VTDEC_VIDEO_FORMAT_STR "}")
|
||||
|
||||
|
@ -309,8 +316,15 @@ gst_vtdec_create_session (GstVtdec * vtdec)
|
|||
{
|
||||
CFMutableDictionaryRef output_image_buffer_attrs;
|
||||
VTDecompressionOutputCallbackRecord callback;
|
||||
CFMutableDictionaryRef videoDecoderSpecification;
|
||||
OSStatus status;
|
||||
|
||||
videoDecoderSpecification =
|
||||
CFDictionaryCreateMutable (NULL, 0, &kCFTypeDictionaryKeyCallBacks,
|
||||
&kCFTypeDictionaryValueCallBacks);
|
||||
gst_vtutil_dict_set_boolean (videoDecoderSpecification,
|
||||
kVTVideoDecoderSpecification_EnableHardwareAcceleratedVideoDecoder, TRUE);
|
||||
|
||||
output_image_buffer_attrs =
|
||||
CFDictionaryCreateMutable (NULL, 0, &kCFTypeDictionaryKeyCallBacks,
|
||||
&kCFTypeDictionaryValueCallBacks);
|
||||
|
@ -327,7 +341,8 @@ gst_vtdec_create_session (GstVtdec * vtdec)
|
|||
callback.decompressionOutputRefCon = vtdec;
|
||||
|
||||
status = VTDecompressionSessionCreate (NULL, vtdec->format_description,
|
||||
NULL, output_image_buffer_attrs, &callback, &vtdec->session);
|
||||
videoDecoderSpecification, output_image_buffer_attrs, &callback,
|
||||
&vtdec->session);
|
||||
|
||||
CFRelease (output_image_buffer_attrs);
|
||||
|
||||
|
|
Loading…
Reference in a new issue