[FFmpeg-devel] [PATCH] lavc/videotoolbox: set kCVPixelBufferIOSurfaceOpenGLTextureCompatibilityKey
wm4
nfxjfg at googlemail.com
Fri Mar 3 12:41:12 EET 2017
On Fri, 3 Mar 2017 18:16:18 +0800
Wang Bin <wbsecg1 at gmail.com> wrote:
> From 011d03c4d2b6b138de539dcf5019169781ee7fb2 Mon Sep 17 00:00:00 2001
> From: wang-bin <wbsecg1 at gmail.com>
> Date: Fri, 3 Mar 2017 18:10:54 +0800
> Subject: [PATCH] avcodec/videotoolbox: set
> kCVPixelBufferOpenGLESCompatibilityKey for iOS
>
> kCVPixelBufferIOSurfaceOpenGLTextureCompatibilityKey is not available in
> iOS
> ---
> libavcodec/videotoolbox.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/libavcodec/videotoolbox.c b/libavcodec/videotoolbox.c
> index 824f2d8e68..9199b02055 100644
> --- a/libavcodec/videotoolbox.c
> +++ b/libavcodec/videotoolbox.c
> @@ -31,6 +31,7 @@
> #include "bytestream.h"
> #include "h264dec.h"
> #include "mpegvideo.h"
> +#include <TargetConditionals.h>
>
> #ifndef kVTVideoDecoderSpecification_RequireHardwareAcceleratedVideoDecoder
> # define
> kVTVideoDecoderSpecification_RequireHardwareAcceleratedVideoDecoder
> CFSTR("RequireHardwareAcceleratedVideoDecoder")
> @@ -477,7 +478,11 @@ static CFDictionaryRef
> videotoolbox_buffer_attributes_create(int width,
> CFDictionarySetValue(buffer_attributes,
> kCVPixelBufferIOSurfacePropertiesKey, io_surface_properties);
> CFDictionarySetValue(buffer_attributes, kCVPixelBufferWidthKey, w);
> CFDictionarySetValue(buffer_attributes, kCVPixelBufferHeightKey, h);
> +#if TARGET_OS_IPHONE
> + CFDictionarySetValue(buffer_attributes,
> kCVPixelBufferOpenGLESCompatibilityKey, kCFBooleanTrue);
> +#else
> CFDictionarySetValue(buffer_attributes,
> kCVPixelBufferIOSurfaceOpenGLTextureCompatibilityKey, kCFBooleanTrue);
> +#endif
>
> CFRelease(io_surface_properties);
> CFRelease(cv_pix_fmt);
We use this TARGET_ stuff in some other source files too, so LGTM.
More information about the ffmpeg-devel
mailing list