Message ID | CAA4bkHboD=T=QxR+GHmmbdxn3aG38SjqdjHybJTxyh2vVo-xZA@mail.gmail.com |
---|---|
State | New |
Headers | show |
On Fri, 3 Mar 2017 18:16:18 +0800 Wang Bin <wbsecg1@gmail.com> wrote: > From 011d03c4d2b6b138de539dcf5019169781ee7fb2 Mon Sep 17 00:00:00 2001 > From: wang-bin <wbsecg1@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.
On Fri, 3 Mar 2017 18:16:18 +0800 Wang Bin <wbsecg1@gmail.com> wrote: > From 011d03c4d2b6b138de539dcf5019169781ee7fb2 Mon Sep 17 00:00:00 2001 > From: wang-bin <wbsecg1@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); Applied. The patch was broken by auto-wrapping in your mail client. I managed to fix it, but please use git send-email next time, or attach it as attachment.
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
From 011d03c4d2b6b138de539dcf5019169781ee7fb2 Mon Sep 17 00:00:00 2001 From: wang-bin <wbsecg1@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(+) 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);