[FFmpeg-devel] [PATCH] AVFoundation: Add -pixel_format option

Hanspeter Niederstrasser niederstrasser at gmail.com
Wed Jul 9 13:29:47 CEST 2014


This broke compiling on OS X < 10.8 (I am on 10.7)

clang -I. -I/src/ffmpeg/ -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE -DPIC -DHAVE_AV_CONFIG_H -I/sw/include -std=c99
-fomit-frame-pointer -fPIC -pthread -I/sw/include -I/sw/include
-I/sw/include/bs2b -I/sw/include -I/sw/include/freetype2 -I/sw/include
-I/sw/include/opus -I/sw/include -I/sw/include
-I/sw/include/schroedinger-1.0 -I/sw/include/liboil-0.3 -I/sw/include
-I/sw/include -I/sw/include -I/sw/include -I/sw/include/SDL
-D_GNU_SOURCE=1 -D_THREAD_SAFE -g -Wdeclaration-after-statement -Wall
-Wdisabled-optimization -Wpointer-arith -Wredundant-decls
-Wwrite-strings -Wtype-limits -Wundef -Wmissing-prototypes
-Wno-pointer-to-int-cast -Wstrict-prototypes -Wempty-body
-Wno-parentheses -Wno-switch -Wno-format-zero-length -Wno-pointer-sign
-O3 -fno-math-errno -fno-signed-zeros -Qunused-arguments
-Werror=implicit-function-declaration -Werror=missing-prototypes
-Werror=return-type  -MMD -MF libavdevice/avfoundation.d -MT
libavdevice/avfoundation.o -c -o libavdevice/avfoundation.o
/src/ffmpeg/libavdevice/avfoundation.m
/src/ffmpeg/libavdevice/avfoundation.m:73:32: error: use of undeclared
identifier 'kCVPixelFormatType_OneComponent8'
    { AV_PIX_FMT_GRAY8,        kCVPixelFormatType_OneComponent8 },
                               ^
1 error generated.

https://developer.apple.com/library/mac/documentation/QuartzCore/Reference/CVPixelFormatDescriptionRef/Reference/reference.html
says that kCVPixelFormatType_OneComponent8 is 10.8+ only.

Possible configure patch (it successfully deactivates the avfoundation
indev on 10.7, but I get lots of general C errors in config.log rather
than just undeclared kCVPixelFormatType_OneComponent8 like I was
expecting) ?:

8< ---- 8< ---- 8< ---- 8< ----

diff --git a/configure b/configure
index e20bf8e..395fb7d 100755
--- a/configure
+++ b/configure
@@ -4695,7 +4695,7 @@ for func in $MATH_FUNCS; do
 done

 # these are off by default, so fail if requested and not available
-enabled avfoundation_indev && { check_header_oc
AVFoundation/AVFoundation.h || disable avfoundation_indev; }
+enabled avfoundation_indev && { check_lib2
AVFoundation/AVFoundation.h kCVPixelFormatType_OneComponent8
-Wl,-framework,AVFoundation || disable avfoundation_indev; }
 enabled avisynth          && { { check_lib2 "windows.h" LoadLibrary; } ||
                                { check_lib2 "dlfcn.h" dlopen -ldl; } ||
                                die "ERROR: LoadLibrary/dlopen not
found for avisynth"; }

8< ---- 8< ---- 8< ---- 8< ----
-- 
Disclaimer:
By sending an email to ANY of my addresses you are agreeing that:
1. I am by definition, "the intended recipient"
2. All information in the email is mine to do with as I see fit and
make such financial profit, political mileage, or good joke as it
lends itself to.
3. I may take the contents as representing the views of your company.
4. This overrides any disclaimer or statement of confidentiality that
may be included with your message.


More information about the ffmpeg-devel mailing list