[FFmpeg-devel] [PATCH] Fix videotoolbox compile error on OS X 10.8.

Dan Dennedy dan at dennedy.org
Mon Jun 20 00:11:48 CEST 2016


Fixes error:
libavcodec/videotoolbox.c:511:18: error: implicit declaration of
function 'CMVideoFormatDescriptionCreateFromH264ParameterSets' is
invalid in C99

This was added in 10.9:
https://developer.apple.com/reference/coremedia/1489818-cmvideoformatdescriptioncreatefr?language=objc
---
 libavcodec/videotoolbox.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libavcodec/videotoolbox.c b/libavcodec/videotoolbox.c
index 502b2e3..7b5245a 100644
--- a/libavcodec/videotoolbox.c
+++ b/libavcodec/videotoolbox.c
@@ -495,6 +495,8 @@ static CMVideoFormatDescriptionRef
videotoolbox_format_desc_create(AVCodecContex
 {
     CMFormatDescriptionRef cm_fmt_desc = NULL;
     int status;
+
+#if TARGET_OS_IPHONE || defined(__MAC_10_9)
     H264Context *h = codec_type == kCMVideoCodecType_H264 ?
avctx->priv_data : NULL;

     if (h && h->ps.sps->data_size && h->ps.pps->data_size) {
@@ -522,6 +524,7 @@ static CMVideoFormatDescriptionRef
videotoolbox_format_desc_create(AVCodecContex
             return NULL;
         }
     } else {
+#endif
         status = CMVideoFormatDescriptionCreate(kCFAllocatorDefault,
                                                 codec_type,
                                                 width,
@@ -533,7 +536,9 @@ static CMVideoFormatDescriptionRef
videotoolbox_format_desc_create(AVCodecContex
             av_log(avctx, AV_LOG_ERROR, "Error creating format
description: %d\n", status);
             return NULL;
         }
+#if TARGET_OS_IPHONE || defined(__MAC_10_9)
     }
+#endif

     return cm_fmt_desc;
 }
-- 
2.4.5
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Fix-videotoolbox-compile-error-on-OS-X-10.8.patch
Type: application/octet-stream
Size: 1776 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20160619/2b8fc360/attachment.obj>


More information about the ffmpeg-devel mailing list