On Thu, Jan 21, 2016 at 9:22 AM, Martin Storsjö <[email protected]> wrote:
> On Thu, 21 Jan 2016, Diego Biurrun wrote:
>
>> On Wed, Jan 20, 2016 at 11:11:31AM -0500, Vittorio Giovara wrote:
>>>
>>> On Wed, Jan 20, 2016 at 3:19 AM, Martin Storsjö <[email protected]> wrote:
>>> > On Wed, 20 Jan 2016, Vittorio Giovara wrote:
>>> >> --- a/configure
>>> >> +++ b/configure
>>> >> @@ -2430,7 +2430,7 @@ enable swscale_alpha
>>> >>
>>> >> check_lib math.h sin -lm && LIBM="-lm"
>>> >> enabled vaapi && require vaapi va/va.h vaInitialize -lva
>>> >> +check_cc <<EOF && enable_weak vda
>>> >> +#include <VideoDecodeAcceleration/VDADecoder.h>
>>> >> +int main(void) {
>>> >> +    CVPixelBufferRelease(NULL);
>>> >> +    return 0;
>>> >> +}
>>> >> +EOF
>>> >
>>> > Why does this need a separate explicit test, isn't it enough with the
>>> > deps
>>> > on VideoDecodeAcceleration_VDADecoder_h?
>>>
>>> the presence of header is not enough, if vda is enabled, gcc will fail
>>> compiling with these errors
>>>
>>> CC    libavcodec/vda.o
>>> In file included from /usr/include/Availability.h:168:0,
>>>                  from
>>>
>>> /usr/local/Cellar/gcc/5.3.0/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include-fixed/math.h:46,
>>>                  from
>>>
>>> /System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:19,
>>>                  from
>>>
>>> /System/Library/Frameworks/VideoDecodeAcceleration.framework/Headers/VDADecoder.h:21,
>>>                  from /Users/GiovaraV/src/libav/libavcodec/vda.h:42,
>>>                  from /Users/GiovaraV/src/libav/libavcodec/vda.c:23:
>>>
>>> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Headers/LSInfoDeprecated.h:1242:34:
>>> error: expected ',' or '}' before '__attribute__'
>>>    kLSHandlerOptionsDefault
>>> __OSX_AVAILABLE_BUT_DEPRECATED_MSG(__MAC_10_4, __MAC_10_11,
>>> __IPHONE_4_0, __IPHONE_9_0, "Creator codes are deprecated on OS X.") =
>>> 0,
>>>                                   ^
>>>
>>> /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Headers/LSOpenDeprecated.h:27:33:
>>> error: expected ',' or '}' before '__attribute__'
>>>    kLSLaunchStartClassic
>>> __OSX_AVAILABLE_BUT_DEPRECATED_MSG(__MAC_10_0, __MAC_10_11,
>>> __IPHONE_NA, __IPHONE_NA, "The Classic environment is no longer
>>> supported.") = 0x00020000, /* Does nothing.*/
>>>                                  ^
>>> In file included from
>>>
>>> /System/Library/Frameworks/CoreGraphics.framework/Headers/CGContext.h:18:0,
>>>                  from
>>>
>>> /System/Library/Frameworks/CoreGraphics.framework/Headers/CGBitmapContext.h:9,
>>>                  from
>>>
>>> /System/Library/Frameworks/CoreGraphics.framework/Headers/CoreGraphics.h:11,
>>>                  from
>>>
>>> /System/Library/Frameworks/ApplicationServices.framework/Headers/ApplicationServices.h:35,
>>>                  from
>>>
>>> /System/Library/Frameworks/CoreVideo.framework/Headers/CVDisplayLink.h:23,
>>>                  from
>>> /System/Library/Frameworks/CoreVideo.framework/Headers/CoreVideo.h:25,
>>>                  from
>>>
>>> /System/Library/Frameworks/VideoDecodeAcceleration.framework/Headers/VDADecoder.h:22,
>>>                  from ~/src/libav/libavcodec/vda.h:42,
>>>                  from ~/src/libav/libavcodec/vda.c:23:
>>> /System/Library/Frameworks/CoreGraphics.framework/Headers/CGFont.h:53:40:
>>> error: initializer element is not constant
>>>  static const CGFontIndex kCGGlyphMax = kCGFontIndexMax;
>>>                                         ^
>>> In file included from
>>> /System/Library/Frameworks/CoreVideo.framework/Headers/CoreVideo.h:25:0,
>>>                  from
>>>
>>> /System/Library/Frameworks/VideoDecodeAcceleration.framework/Headers/VDADecoder.h:22,
>>>                  from ~/src/libav/libavcodec/vda.h:42,
>>>                  from ~/src/libav/libavcodec/vda.c:23:
>>>
>>> /System/Library/Frameworks/CoreVideo.framework/Headers/CVDisplayLink.h:152:92:
>>> error: unknown type name 'CVDisplayLinkOutputHandler'
>>>  CV_EXPORT CVReturn CVDisplayLinkSetOutputHandler( CVDisplayLinkRef
>>> CV_NONNULL displayLink, CVDisplayLinkOutputHandler CV_NONNULL handler
>>> );
>>
>>
>> And this isn't actually a missing header somewhere that can be worked
>> around?
>
>
> Luca said it was relating to blocks, an Apple C extension (for anonymous
> functions), which apparently isn't supported in gcc.
>
> I guess the patch (or something else that has the same effect, but wait
> until Diego is finished with it) is ok with me, but the commit message
> should at least mention gcc and blocks in some way.
>
> // Martin

Any more comments? Diego are you find with this solution (plus amended
commit message)?
-- 
Vittorio
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to