Build failure against FFmpeg 3.0
Brought to you by:
ddennedy,
lilo_booter
FFmpeg recently cut their 3.0 release (tarball), and unfortunately mlt 0.9.8 fails to build against this major release, which is preventing us from landing FFmpeg 3.0 at Homebrew. I would be grateful if you could fix this issue (maybe it's already fixed) and cut a release as soon as possible, because apparenty everyone building against the latest libavformat is affected.
Here's what happens when building on OS X 10.11.3, which suggests that an AV_
prefix should be added to many identifiers:
> ./configure --prefix=/usr/local/Cellar/mlt/0.9.8 --disable-jackrack --disable-swfdec --disable-gtk ... > make ... clang -I../.. -DARCH_X86_64 -Wall -DPIC -O2 -pipe -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fPIC -D__DARWIN__ -I/usr/local/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE -DAVDATADIR=\"/usr/local/Cellar/ffmpeg/3.0/share/ffmpeg/\" -I/usr/local/Cellar/ffmpeg/3.0/include -I/usr/local/Cellar/ffmpeg/3.0/include -I/usr/local/Cellar/ffmpeg/3.0/include -I/usr/local/Cellar/ffmpeg/3.0/include -I/usr/local/Cellar/ffmpeg/3.0/include -DFILTERS -DCODECS -DAVDEVICE -c -o consumer_avformat.o consumer_avformat.c filter_swscale.c:40:12: error: use of undeclared identifier 'PIX_FMT_RGB24'; did you mean 'AV_PIX_FMT_RGB24'? value = PIX_FMT_RGB24; ^~~~~~~~~~~~~ AV_PIX_FMT_RGB24 /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:65:5: note: 'AV_PIX_FMT_RGB24' declared here AV_PIX_FMT_RGB24, ///< packed RGB 8:8:8, 24bpp, RGBRGB... ^ filter_avcolour_space.c:50:12: error: use of undeclared identifier 'PIX_FMT_RGB24'; did you mean 'AV_PIX_FMT_RGB24'? value = PIX_FMT_RGB24; ^~~~~~~~~~~~~ AV_PIX_FMT_RGB24 /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:65:5: note: 'AV_PIX_FMT_RGB24' declared here filter_swscale.c:44:12: error: use of undeclared identifier 'PIX_FMT_RGBA'; did you mean 'AV_PIX_FMT_RGBA'? value = PIX_FMT_RGBA; ^~~~~~~~~~~~ AV_PIX_FMT_RGBA /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:95:5: note: 'AV_PIX_FMT_RGBA' declared here AV_PIX_FMT_RGB24, ///< packed RGB 8:8:8, 24bpp, RGBRGB... ^ AV_PIX_FMT_RGBA, ///< packed RGBA 8:8:8:8, 32bpp, RGBARGBA... ^ filter_avcolour_space.c:54:12: error: use of undeclared identifier 'PIX_FMT_RGBA'; did you mean 'AV_PIX_FMT_RGBA'? value = PIX_FMT_RGBA; ^~~~~~~~~~~~ AV_PIX_FMT_RGBA /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:95:5: note: 'AV_PIX_FMT_RGBA' declared here AV_PIX_FMT_RGBA, ///< packed RGBA 8:8:8:8, 32bpp, RGBARGBA... ^ filter_avcolour_space.c:57:12: error: use of undeclared identifier 'PIX_FMT_YUYV422'; did you mean 'AV_PIX_FMT_YUYV422'? value = PIX_FMT_YUYV422; ^~~~~~~~~~~~~~~ AV_PIX_FMT_YUYV422 /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:64:5: note: 'AV_PIX_FMT_YUYV422' declared here AV_PIX_FMT_YUYV422, ///< packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr ^ filter_avcolour_space.c:60:12: error: use of undeclared identifier 'PIX_FMT_YUV420P'; did you mean 'AV_PIX_FMT_YUV420P'? value = PIX_FMT_YUV420P; ^~~~~~~~~~~~~~~ AV_PIX_FMT_YUV420P /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:63:5: note: 'AV_PIX_FMT_YUV420P' declared here AV_PIX_FMT_YUV420P, ///< planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples) ^ filter_swscale.c:47:12: error: use of undeclared identifier 'PIX_FMT_YUYV422'; did you mean 'AV_PIX_FMT_YUYV422'? value = PIX_FMT_YUYV422; ^~~~~~~~~~~~~~~ AV_PIX_FMT_YUYV422 /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:64:5: note: 'AV_PIX_FMT_YUYV422' declared here AV_PIX_FMT_YUYV422, ///< packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr ^ filter_avdeinterlace.c:237:20: error: use of undeclared identifier 'PIX_FMT_YUV420P'; did you mean 'AV_PIX_FMT_YUV420P'? if (pix_fmt != PIX_FMT_YUV420P && ^~~~~~~~~~~~~~~ AV_PIX_FMT_YUV420P /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:63:5: note: 'AV_PIX_FMT_YUV420P' declared here AV_PIX_FMT_YUV420P, ///< planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples) ^ filter_avcolour_space.c:126:18: error: use of undeclared identifier 'PIX_FMT_YUYV422'; did you mean 'AV_PIX_FMT_YUYV422'? if ( out_fmt == PIX_FMT_YUYV422 ) ^~~~~~~~~~~~~~~ AV_PIX_FMT_YUYV422 /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:64:5: note: 'AV_PIX_FMT_YUYV422' declared here AV_PIX_FMT_YUYV422, ///< packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr ^ filter_swscale.c:50:12: error: use of undeclared identifier 'PIX_FMT_YUV420P'; did you mean 'AV_PIX_FMT_YUV420P'? value = PIX_FMT_YUV420P; ^~~~~~~~~~~~~~~ AV_PIX_FMT_YUV420P /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:63:5: note: 'AV_PIX_FMT_YUV420P' declared here AV_PIX_FMT_YUV420P, ///< planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples) ^ filter_avdeinterlace.c:238:20: error: use of undeclared identifier 'PIX_FMT_YUV422P'; did you mean 'AV_PIX_FMT_YUV422P'? pix_fmt != PIX_FMT_YUV422P && ^~~~~~~~~~~~~~~ AV_PIX_FMT_YUV422P /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:67:5: note: 'AV_PIX_FMT_YUV422P' declared here AV_PIX_FMT_YUV422P, ///< planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples) ^ filter_avcolour_space.c:131:11: error: use of undeclared identifier 'SWS_CPU_CAPS_MMX' flags |= SWS_CPU_CAPS_MMX; ^ filter_swscale.c:112:12: error: use of undeclared identifier 'SWS_CPU_CAPS_MMX' interp |= SWS_CPU_CAPS_MMX; ^ filter_avdeinterlace.c:239:20: error: use of undeclared identifier 'PIX_FMT_YUYV422'; did you mean 'AV_PIX_FMT_YUYV422'? pix_fmt != PIX_FMT_YUYV422 && ^~~~~~~~~~~~~~~ AV_PIX_FMT_YUYV422 /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:64:5: note: 'AV_PIX_FMT_YUYV422' declared here AV_PIX_FMT_YUYV422, ///< packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr ^ filter_avcolour_space.c:134:11: error: use of undeclared identifier 'SWS_CPU_CAPS_MMX2' flags |= SWS_CPU_CAPS_MMX2; ^ filter_swscale.c:115:12: error: use of undeclared identifier 'SWS_CPU_CAPS_MMX2' interp |= SWS_CPU_CAPS_MMX2; ^ filter_avdeinterlace.c:240:20: error: use of undeclared identifier 'PIX_FMT_YUV444P'; did you mean 'AV_PIX_FMT_YUV444P'? pix_fmt != PIX_FMT_YUV444P && ^~~~~~~~~~~~~~~ AV_PIX_FMT_YUV444P /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:68:5: note: 'AV_PIX_FMT_YUV444P' declared here AV_PIX_FMT_YUV444P, ///< planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples) ^ filter_avcolour_space.c:144:19: error: use of undeclared identifier 'PIX_FMT_RGB24'; did you mean 'AV_PIX_FMT_RGB24'? if ( out_fmt == PIX_FMT_RGB24 || out_fmt == PIX_FMT_RGBA ) ^~~~~~~~~~~~~ AV_PIX_FMT_RGB24 /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:65:5: note: 'AV_PIX_FMT_RGB24' declared here AV_PIX_FMT_RGB24, ///< packed RGB 8:8:8, 24bpp, RGBRGB... ^ producer_avformat.c:507:25: error: incomplete result type 'enum PixelFormat' in function definition static enum PixelFormat pick_pix_fmt( enum PixelFormat pix_fmt ) ^ filter_swscale.c:151:16: error: use of undeclared identifier 'PIX_FMT_GRAY8'; did you mean 'AV_PIX_FMT_GRAY8'? producer_avformat.c:507:13: note: forward declaration of 'enum PixelFormat' avformat = PIX_FMT_GRAY8; ^~~~~~~~~~~~~ AV_PIX_FMT_GRAY8 /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:71:5: note: 'AV_PIX_FMT_GRAY8' declared here AV_PIX_FMT_GRAY8, ///< Y , 8bpp ^ static enum PixelFormat pick_pix_fmt( enum PixelFormat pix_fmt ) ^ producer_avformat.c:507:56: error: variable has incomplete type 'enum PixelFormat' static enum PixelFormat pick_pix_fmt( enum PixelFormat pix_fmt ) ^ producer_avformat.c:507:13: note: forward declaration of 'enum PixelFormat' static enum PixelFormat pick_pix_fmt( enum PixelFormat pix_fmt ) ^ filter_avcolour_space.c:144:47: error: use of undeclared identifier 'PIX_FMT_RGBA'; did you mean 'AV_PIX_FMT_RGBA'? if ( out_fmt == PIX_FMT_RGB24 || out_fmt == PIX_FMT_RGBA ) ^~~~~~~~~~~~ AV_PIX_FMT_RGBA /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:95:5: note: 'AV_PIX_FMT_RGBA' declared here AV_PIX_FMT_RGBA, ///< packed RGBA 8:8:8:8, 32bpp, RGBARGBA... ^ filter_avdeinterlace.c:241:13: error: use of undeclared identifier 'PIX_FMT_YUV411P'; did you mean 'AV_PIX_FMT_YUV411P'? pix_fmt != PIX_FMT_YUV411P) ^~~~~~~~~~~~~~~ AV_PIX_FMT_YUV411P /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:70:5: note: 'AV_PIX_FMT_YUV411P' declared here AV_PIX_FMT_YUV411P, ///< planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples) ^ producer_avformat.c:979:61: error: variable has incomplete type 'enum PixelFormat' static mlt_image_format pick_image_format( enum PixelFormat pix_fmt ) ^ producer_avformat.c:507:13: note: forward declaration of 'enum PixelFormat' static enum PixelFormat pick_pix_fmt( enum PixelFormat pix_fmt ) ^ filter_avdeinterlace.c:246:18: error: use of undeclared identifier 'PIX_FMT_YUYV422'; did you mean 'AV_PIX_FMT_YUYV422'? if ( pix_fmt != PIX_FMT_YUYV422 ) ^~~~~~~~~~~~~~~ AV_PIX_FMT_YUYV422 /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:64:5: note: 'AV_PIX_FMT_YUYV422' declared here AV_PIX_FMT_YUYV422, ///< packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr ^ consumer_avformat.c:442:25: error: filter_swscale.c:incomplete result type 'enum PixelFormat' in function definition185 :65: error: use of undeclared identifier 'PIX_FMT_RGB32'; did you mean 'AV_PIX_FMT_RGB0'? static enum PixelFormat pick_pix_fmt( mlt_image_format img_fmt ) ^ consumer_avformat.c:442:13: note: forward declaration of 'enum PixelFormat' struct SwsContext *context = sws_getContext( *width, *width, PIX_FMT_RGB32, 64, 64, PIX_FMT_RGB32, SWS_BILINEAR, NULL, NULL, NULL); ^~~~~~~~~~~~~ AV_PIX_FMT_RGB0 /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.hstatic enum PixelFormat pick_pix_fmt( mlt_image_format img_fmt ) ^ :246:5: note: 'AV_PIX_FMT_RGB0' declared here AV_PIX_FMT_RGB0, ///< packed RGB 8:8:8, 32bpp, RGBXRGBX... X=unused/undefined ^ filter_swscale.c:185:88: error: use of undeclared identifier 'PIX_FMT_RGB32' struct SwsContext *context = sws_getContext( *width, *width, PIX_FMT_RGB32, 64, 64, PIX_FMT_RGB32, SWS_BILINEAR, NULL, NULL, NULL); ^ 9 errors generated. filter_avcolour_space.c:329:65: error: use of undeclared identifier 'PIX_FMT_RGB32'; did you mean 'AV_PIX_FMT_RGB0'? filter_avdeinterlace.c:251:20: error: use of undeclared identifier 'PIX_FMT_YUV420P'; did you mean 'AV_PIX_FMT_YUV420P'? case PIX_FMT_YUV420P: ^~~~~~~~~~~~~~~ AV_PIX_FMT_YUV420P /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h: struct SwsContext *context = sws_getContext( *width, *width, PIX_FMT_RGB32, 64, 64, PIX_FMT_RGB32, SWS_BILINEAR, NULL, NULL, NULL);63 : ^~~~~~~~~~~~~5 : AV_PIX_FMT_RGB0 note: 'AV_PIX_FMT_YUV420P' declared here /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:246:5: note: 'AV_PIX_FMT_RGB0' declared here AV_PIX_FMT_YUV420P, ///< planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples) ^ AV_PIX_FMT_RGB0, ///< packed RGB 8:8:8, 32bpp, RGBXRGBX... X=unused/undefined ^ filter_avcolour_space.c:329:88: error: use of undeclared identifier 'PIX_FMT_RGB32' struct SwsContext *context = sws_getContext( *width, *width, PIX_FMT_RGB32, 64, 64, PIX_FMT_RGB32, SWS_BILINEAR, NULL, NULL, NULL); ^ 11 errors generated. producer_avformat.c:1075:11: error: use of undeclared identifier 'SWS_CPU_CAPS_MMX' flags |= SWS_CPU_CAPS_MMX; ^ consumer_avformat.c:447:10: error: use of undeclared identifier 'PIX_FMT_RGB24'; did you mean 'AV_PIX_FMT_RGB24'? return PIX_FMT_RGB24; ^~~~~~~~~~~~~ AV_PIX_FMT_RGB24 /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:65:5: note: 'AV_PIX_FMT_RGB24' declared here AV_PIX_FMT_RGB24, ///< packed RGB 8:8:8, 24bpp, RGBRGB... ^ make[2]: *** [filter_swscale.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: *** [filter_avcolour_space.o] Error 1 filter_avdeinterlace.c:255:20: error: use of undeclared identifier 'PIX_FMT_YUV422P'; did you mean 'AV_PIX_FMT_YUV422P'? case PIX_FMT_YUV422P: ^~~~~~~~~~~~~~~ AV_PIX_FMT_YUV422P /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:67:5: note: 'AV_PIX_FMT_YUV422P' declared here AV_PIX_FMT_YUV422P, ///< planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples) ^ consumer_avformat.c:449:10: error: use of undeclared identifier 'PIX_FMT_RGBA'; did you mean 'AV_PIX_FMT_RGBA'? return PIX_FMT_RGBA; ^~~~~~~~~~~~ AV_PIX_FMT_RGBA /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:95:5: note: 'AV_PIX_FMT_RGBA' declared here AV_PIX_FMT_RGBA, ///< packed RGBA 8:8:8:8, 32bpp, RGBARGBA... ^ producer_avformat.c:1078:11: error: use of undeclared identifier 'SWS_CPU_CAPS_MMX2' flags |= SWS_CPU_CAPS_MMX2; ^ filter_avdeinterlace.c:258:20: error: use of undeclared identifier 'PIX_FMT_YUV411P'; did you mean 'AV_PIX_FMT_YUV411P'? case PIX_FMT_YUV411P: ^~~~~~~~~~~~~~~ AV_PIX_FMT_YUV411P /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:70:5: note: 'AV_PIX_FMT_YUV411P' declared here AV_PIX_FMT_YUV411P, ///< planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples) ^ consumer_avformat.c:451:10: error: use of undeclared identifier 'PIX_FMT_YUV420P'; did you mean 'AV_PIX_FMT_YUV420P'? return PIX_FMT_YUV420P; ^~~~~~~~~~~~~~~ AV_PIX_FMT_YUV420P /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:63:5: note: 'AV_PIX_FMT_YUV420P' declared here AV_PIX_FMT_YUV420P, ///< planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples) ^ filter_avdeinterlace.c:315:35: error: use of undeclared identifier 'PIX_FMT_YUYV422'; did you mean 'AV_PIX_FMT_YUYV422'? avpicture_fill( output, *image, PIX_FMT_YUYV422, *width, *height ); ^~~~~~~~~~~~~~~ AV_PIX_FMT_YUYV422 /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:64:5: note: 'AV_PIX_FMT_YUYV422' declared here AV_PIX_FMT_YUYV422, ///< packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr ^ producer_avformat.c:1086:20: error: use of undeclared identifier 'PIX_FMT_YUVA420P'; did you mean 'AV_PIX_FMT_YUVA420P'? if ( ( pix_fmt == PIX_FMT_YUVA420P ^~~~~~~~~~~~~~~~ AV_PIX_FMT_YUVA420P /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:103:5: note: 'AV_PIX_FMT_YUVA420P' declared here AV_PIX_FMT_YUVA420P, ///< planar YUV 4:2:0, 20bpp, (1 Cr & Cb sample per 2x2 Y & A samples) ^ consumer_avformat.c:453:10: error: use of undeclared identifier 'PIX_FMT_YUYV422'; did you mean 'AV_PIX_FMT_YUYV422'? return PIX_FMT_YUYV422; ^~~~~~~~~~~~~~~ AV_PIX_FMT_YUYV422 /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:64:5: note: 'AV_PIX_FMT_YUYV422' declared here AV_PIX_FMT_YUYV422, ///< packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr ^ filter_avdeinterlace.c:316:46: error: use of undeclared identifier 'PIX_FMT_YUYV422'; did you mean 'AV_PIX_FMT_YUYV422'? mlt_avpicture_deinterlace( output, output, PIX_FMT_YUYV422, *width, *height ); ^~~~~~~~~~~~~~~ AV_PIX_FMT_YUYV422 /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:64:5: note: 'AV_PIX_FMT_YUYV422' declared here AV_PIX_FMT_YUYV422, ///< packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr ^ 11 errors generated. producer_avformat.c:1088:18: error: use of undeclared identifier 'PIX_FMT_YUVA444P'; did you mean 'AV_PIX_FMT_YUVA444P'? || pix_fmt == PIX_FMT_YUVA444P ^~~~~~~~~~~~~~~~ AV_PIX_FMT_YUVA444P /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:189:5: note: 'AV_PIX_FMT_YUVA444P' declared here AV_PIX_FMT_YUVA444P, ///< planar YUV 4:4:4 32bpp, (1 Cr & Cb sample per 1x1 Y & A samples) ^ make[2]: *** [filter_avdeinterlace.o] Error 1 consumer_avformat.c:801:81: error: use of undeclared identifier 'PIX_FMT_YUV420P'; did you mean 'AV_PIX_FMT_YUV420P'? c->pix_fmt = pix_fmt? av_get_pix_fmt( pix_fmt ) : codec? codec->pix_fmts[0] : PIX_FMT_YUV420P; ^~~~~~~~~~~~~~~ AV_PIX_FMT_YUV420P /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:63:5: note: 'AV_PIX_FMT_YUV420P' declared here AV_PIX_FMT_YUV420P, ///< planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples) ^ producer_avformat.c:1113:19: error: use of undeclared identifier 'PIX_FMT_YUV420P'; did you mean 'AV_PIX_FMT_YUV420P'? width, height, PIX_FMT_YUV420P, flags, NULL, NULL, NULL); ^~~~~~~~~~~~~~~ AV_PIX_FMT_YUV420P /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:63:5: note: 'AV_PIX_FMT_YUV420P' declared here AV_PIX_FMT_YUV420P, ///< planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples) ^ consumer_avformat.c:1036:12: error: invalid operands to binary expression ('enum PixelFormat' and 'int') for( ; *p!=-1; p++ ) ~~^ ~~ consumer_avformat.c:1036:19: error: arithmetic on a pointer to an incomplete type 'const enum PixelFormat' for( ; *p!=-1; p++ ) ~^ consumer_avformat.c:442:13: note: forward declaration of 'enum PixelFormat' static enum PixelFormat pick_pix_fmt( mlt_image_format img_fmt ) ^ consumer_avformat.c:1038:11: error: invalid operands to binary expression ('enum PixelFormat' and 'int') if( *p == video_enc->pix_fmt ) ~~ ^ ~~~~~~~~~~~~~~~~~~ consumer_avformat.c:1041:10: error: invalid operands to binary expression ('enum PixelFormat' and 'int') if( *p == -1 ) ~~ ^ ~~ producer_avformat.c:1136:19: error: use of undeclared identifier 'PIX_FMT_RGB24'; did you mean 'AV_PIX_FMT_RGB24'? width, height, PIX_FMT_RGB24, flags | SWS_FULL_CHR_H_INT, NULL, NULL, NULL); ^~~~~~~~~~~~~ AV_PIX_FMT_RGB24 /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:65:5: note: 'AV_PIX_FMT_RGB24' declared here AV_PIX_FMT_RGB24, ///< packed RGB 8:8:8, 24bpp, RGBRGB... ^ producer_avformat.c:1138:36: error: use of undeclared identifier 'PIX_FMT_RGB24'; did you mean 'AV_PIX_FMT_RGB24'? avpicture_fill( &output, buffer, PIX_FMT_RGB24, width, height ); ^~~~~~~~~~~~~ AV_PIX_FMT_RGB24 /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:65:5: note: 'AV_PIX_FMT_RGB24' declared here AV_PIX_FMT_RGB24, ///< packed RGB 8:8:8, 24bpp, RGBRGB... ^ producer_avformat.c:1148:19: error: use of undeclared identifier 'PIX_FMT_RGBA'; did you mean 'AV_PIX_FMT_RGBA'? width, height, PIX_FMT_RGBA, flags | SWS_FULL_CHR_H_INT, NULL, NULL, NULL); ^~~~~~~~~~~~ AV_PIX_FMT_RGBA /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:95:5: note: 'AV_PIX_FMT_RGBA' declared here AV_PIX_FMT_RGBA, ///< packed RGBA 8:8:8:8, 32bpp, RGBARGBA... ^ consumer_avformat.c:1795:16: error: use of undeclared identifier 'SWS_CPU_CAPS_MMX' flags |= SWS_CPU_CAPS_MMX; ^ producer_avformat.c:1150:36: error: use of undeclared identifier 'PIX_FMT_RGBA'; did you mean 'AV_PIX_FMT_RGBA'? avpicture_fill( &output, buffer, PIX_FMT_RGBA, width, height ); ^~~~~~~~~~~~ AV_PIX_FMT_RGBA /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:95:5: note: 'AV_PIX_FMT_RGBA' declared here AV_PIX_FMT_RGBA, ///< packed RGBA 8:8:8:8, 32bpp, RGBARGBA... ^ consumer_avformat.c:1798:16: error: use of undeclared identifier 'SWS_CPU_CAPS_MMX2' flags |= SWS_CPU_CAPS_MMX2; ^ producer_avformat.c:1161:19: error: use of undeclared identifier 'PIX_FMT_YUYV422'; did you mean 'AV_PIX_FMT_YUYV422'? width, height, PIX_FMT_YUYV422, flags | SWS_FULL_CHR_H_INP, NULL, NULL, NULL); ^~~~~~~~~~~~~~~ AV_PIX_FMT_YUYV422 /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:64:5: note: 'AV_PIX_FMT_YUYV422' declared here AV_PIX_FMT_YUYV422, ///< packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr ^ consumer_avformat.c:1811:26: error: use of undeclared identifier 'PIX_FMT_RGBA'; did you mean 'AV_PIX_FMT_RGBA'? if ( c->pix_fmt == PIX_FMT_RGBA || ^~~~~~~~~~~~ AV_PIX_FMT_RGBA /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:95:5: note: 'AV_PIX_FMT_RGBA' declared here AV_PIX_FMT_RGBA, ///< packed RGBA 8:8:8:8, 32bpp, RGBARGBA... ^ producer_avformat.c:1167:36: error: use of undeclared identifier 'PIX_FMT_YUYV422'; did you mean 'AV_PIX_FMT_YUYV422'? avpicture_fill( &output, buffer, PIX_FMT_YUYV422, width, height ); ^~~~~~~~~~~~~~~ AV_PIX_FMT_YUYV422 /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:64:5: note: 'AV_PIX_FMT_YUYV422' declared here AV_PIX_FMT_YUYV422, ///< packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr ^ consumer_avformat.c:1812:26: error: use of undeclared identifier 'PIX_FMT_ARGB'; did you mean 'AV_PIX_FMT_ARGB'? c->pix_fmt == PIX_FMT_ARGB || ^~~~~~~~~~~~ AV_PIX_FMT_ARGB /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:94:5: note: 'AV_PIX_FMT_ARGB' declared here AV_PIX_FMT_ARGB, ///< packed ARGB 8:8:8:8, 32bpp, ARGBARGB... ^ consumer_avformat.c:1813:26: error: use of undeclared identifier 'PIX_FMT_BGRA'; did you mean 'AV_PIX_FMT_BGRA'? c->pix_fmt == PIX_FMT_BGRA ) ^~~~~~~~~~~~ AV_PIX_FMT_BGRA /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:97:5: note: 'AV_PIX_FMT_BGRA' declared here AV_PIX_FMT_BGRA, ///< packed BGRA 8:8:8:8, 32bpp, BGRABGRA... ^ producer_avformat.c:1313:30: error: use of undeclared identifier 'PIX_FMT_ARGB'; did you mean 'AV_PIX_FMT_ARGB'? codec_context->pix_fmt == PIX_FMT_ARGB || ^~~~~~~~~~~~ AV_PIX_FMT_ARGB /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:94:5: note: 'AV_PIX_FMT_ARGB' declared here AV_PIX_FMT_ARGB, ///< packed ARGB 8:8:8:8, 32bpp, ARGBARGB... ^ producer_avformat.c:1314:30: error: use of undeclared identifier 'PIX_FMT_RGBA'; did you mean 'AV_PIX_FMT_RGBA'? codec_context->pix_fmt == PIX_FMT_RGBA || ^~~~~~~~~~~~ AV_PIX_FMT_RGBA /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:95:5: note: 'AV_PIX_FMT_RGBA' declared here AV_PIX_FMT_RGBA, ///< packed RGBA 8:8:8:8, 32bpp, RGBARGBA... ^ 15 errors generated. producer_avformat.c:1315:30: error: use of undeclared identifier 'PIX_FMT_ABGR'; did you mean 'AV_PIX_FMT_ABGR'? codec_context->pix_fmt == PIX_FMT_ABGR || ^~~~~~~~~~~~ AV_PIX_FMT_ABGR /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:96:5: note: 'AV_PIX_FMT_ABGR' declared here AV_PIX_FMT_ABGR, ///< packed ABGR 8:8:8:8, 32bpp, ABGRABGR... ^ producer_avformat.c:1316:30: error: use of undeclared identifier 'PIX_FMT_BGRA'; did you mean 'AV_PIX_FMT_BGRA'? codec_context->pix_fmt == PIX_FMT_BGRA ) ^~~~~~~~~~~~ AV_PIX_FMT_BGRA /usr/local/Cellar/ffmpeg/3.0/include/libavutil/pixfmt.h:97:5: note: 'AV_PIX_FMT_BGRA' declared here AV_PIX_FMT_BGRA, ///< packed BGRA 8:8:8:8, 32bpp, BGRABGRA... ^ producer_avformat.c:1317:32: error: argument type 'enum PixelFormat' is incomplete *format = pick_image_format( codec_context->pix_fmt ); ^~~~~~~~~~~~~~~~~~~~~~ producer_avformat.c:507:13: note: forward declaration of 'enum PixelFormat' static enum PixelFormat pick_pix_fmt( enum PixelFormat pix_fmt ) ^ make[2]: *** [consumer_avformat.o] Error 1 19 errors generated. make[2]: *** [producer_avformat.o] Error 1 make[1]: *** [all] Error 1 make: *** [all] Error 1
I do not understand how you expect a dependency that has newer version that breaks API will work. You need to use our git repo until I comfortable with our current state and motivated to making a new release.
Sorry, I'm not sure if I sounded hostile or anything (if so I apologize), but I was not expecting it to work, and not blaming anyone. I was just reporting a bug/build failure.
Yes I could verify that the issue has been fixed on master. Is it not possible to expedite the release process? As I said, it is blocking FFmpeg 3.0 at Homebrew (it's not the only one, and I totally understand why), and I imagine it won't be heartening for your new users either to install the latest versions of all dependencies only to get a build failure.
No, I did not get an impression that you are upset. It is good to get notices out to all the dependencies, but I got the impression that you already released the homebrew ffmpeg 3.0 release exposing all users to breakage! I was thinking about getting a bug fix done before next release, but it is not critical and could potentially create a regression. So, I will make a new release very soon.
No we didn't. It's in a PR, it won't be merged until green light on all dependents.
That'd be cool. Thanks.
mlt 6.0.0 released
Cool, thanks for the quick reaction!