[MacPorts] #51221: py-bob-io-video: build fails with ffmpeg-3.0+
MacPorts
noreply at macports.org
Sun Apr 24 06:25:30 PDT 2016
#51221: py-bob-io-video: build fails with ffmpeg-3.0+
----------------------+-----------------------------
Reporter: devans@… | Owner: tiago.pereira@…
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version:
Keywords: haspatch | Port: py-bob-io-video
----------------------+-----------------------------
As noted in #50694, the current version of py{27,34}-bob-io-video fails to
build with ffmpeg 3.0+ due to the use of deprecated API removed in ffmpeg
3.0.
{{{
[ 25%] Building CXX object
CMakeFiles/bob_io_video.dir/opt/local/var/macports/build
/_opt_macports_trunk_dports_python_py-bob-io-video/py27-bob-io-
video/work/bob.io.video-2.0.5/bob/io/video/cpp/utils.cpp.o
/Applications/Xcode-7.2/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
-DBLITZ_VERSION=\"0.10\" -DHAVE_AVFORMAT_ALLOC_OUTPUT_CONTEXT2=None
-DHAVE_BLITZ=1 -DHAVE_LIBAVCODEC=1 -DHAVE_LIBAVFORMAT=1 -DHAVE_LIBAVUTIL=1
-DHAVE_LIBSWSCALE=1 -DLIBAVCODEC_VERSION=\"57.24.102\"
-DLIBAVFORMAT_VERSION=\"57.25.100\" -DLIBAVUTIL_VERSION=\"55.17.103\"
-DLIBSWSCALE_VERSION=\"4.0.100\" -DNO_IMPORT_ARRAY=1
-DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION
-DPY_ARRAY_UNIQUE_SYMBOL=BOB_NUMPY_C_API -D__STDC_CONSTANT_MACROS=None
-Dbob_io_video_EXPORTS
-I/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
/site-packages/bob/io/base/include -isystem /opt/local/include
-I/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
/site-packages/bob/core/include -I/opt/local/var/macports/build
/_opt_macports_trunk_dports_python_py-bob-io-video/py27-bob-io-
video/work/bob.io.video-2.0.5/bob/io/video/include
-I/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
/site-packages/bob/blitz/include -isystem
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
/site-packages/numpy/core/include -std=c++0x -pedantic -Wall -pthread
-Qunused-arguments -m64 -arch x86_64 -isysroot
/Applications/Xcode-7.2/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk
-mmacosx-version-min=10.10 -fPIC -o
CMakeFiles/bob_io_video.dir/opt/local/var/macports/build
/_opt_macports_trunk_dports_python_py-bob-io-video/py27-bob-io-
video/work/bob.io.video-2.0.5/bob/io/video/cpp/utils.cpp.o -c
/opt/local/var/macports/build/_opt_macports_trunk_dports_python_py-bob-io-
video/py27-bob-io-video/work/bob.io.video-2.0.5/bob/io/video/cpp/utils.cpp
In file included from /opt/local/var/macports/build
/_opt_macports_trunk_dports_python_py-bob-io-video/py27-bob-io-
video/work/bob.io.video-2.0.5/bob/io/video/cpp/utils.cpp:28:
/opt/local/var/macports/build/_opt_macports_trunk_dports_python_py-bob-io-
video/py27-bob-io-
video/work/bob.io.video-2.0.5/bob/io/video/include/bob.io.video/utils.h:125:7:
error: unknown type name 'PixelFormat'; did you mean 'AVPixelFormat'?
PixelFormat source_pixel_format, PixelFormat dest_pixel_format);
^~~~~~~~~~~
AVPixelFormat
/opt/local/include/libavutil/pixfmt.h:61:6: note: 'AVPixelFormat' declared
here
enum AVPixelFormat {
^
In file included from /opt/local/var/macports/build
/_opt_macports_trunk_dports_python_py-bob-io-video/py27-bob-io-
video/work/bob.io.video-2.0.5/bob/io/video/cpp/utils.cpp:28:
/opt/local/var/macports/build/_opt_macports_trunk_dports_python_py-bob-io-
video/py27-bob-io-
video/work/bob.io.video-2.0.5/bob/io/video/include/bob.io.video/utils.h:125:40:
error: unknown type name 'PixelFormat'; did you mean 'AVPixelFormat'?
PixelFormat source_pixel_format, PixelFormat dest_pixel_format);
^~~~~~~~~~~
AVPixelFormat
/opt/local/include/libavutil/pixfmt.h:61:6: note: 'AVPixelFormat' declared
here
enum AVPixelFormat {
^
In file included from /opt/local/var/macports/build
/_opt_macports_trunk_dports_python_py-bob-io-video/py27-bob-io-
video/work/bob.io.video-2.0.5/bob/io/video/cpp/utils.cpp:28:
/opt/local/var/macports/build/_opt_macports_trunk_dports_python_py-bob-io-
video/py27-bob-io-
video/work/bob.io.video-2.0.5/bob/io/video/include/bob.io.video/utils.h:138:49:
error: unknown type name 'PixelFormat'; did you mean 'AVPixelFormat'?
boost::shared_ptr<AVCodecContext> stream, PixelFormat pixfmt);
^~~~~~~~~~~
AVPixelFormat
/opt/local/include/libavutil/pixfmt.h:61:6: note: 'AVPixelFormat' declared
here
enum AVPixelFormat {
^
/opt/local/var/macports/build/_opt_macports_trunk_dports_python_py-bob-io-
video/py27-bob-io-
video/work/bob.io.video-2.0.5/bob/io/video/cpp/utils.cpp:716:34: error:
use of undeclared identifier 'PIX_FMT_YUV420P'; did you mean
'AV_PIX_FMT_YUV420P'?
retval->codec->pix_fmt = AV_PIX_FMT_YUV420P;
^~~~~~~~~~~~~~~~~~
AV_PIX_FMT_YUV420P
/opt/local/var/macports/build/_opt_macports_trunk_dports_python_py-bob-io-
video/py27-bob-io-
video/work/bob.io.video-2.0.5/bob/io/video/cpp/utils.cpp:45:28: note:
expanded from macro 'AV_PIX_FMT_YUV420P'
#define AV_PIX_FMT_YUV420P PIX_FMT_YUV420P
^
/opt/local/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)
^
/opt/local/var/macports/build/_opt_macports_trunk_dports_python_py-bob-io-
video/py27-bob-io-
video/work/bob.io.video-2.0.5/bob/io/video/cpp/utils.cpp:757:46: error:
unknown type name 'PixelFormat'; did you mean 'AVPixelFormat'?
boost::shared_ptr<AVCodecContext> codec, PixelFormat pixfmt) {
^~~~~~~~~~~
AVPixelFormat
/opt/local/include/libavutil/pixfmt.h:61:6: note: 'AVPixelFormat' declared
here
enum AVPixelFormat {
^
/opt/local/var/macports/build/_opt_macports_trunk_dports_python_py-bob-io-
video/py27-bob-io-
video/work/bob.io.video-2.0.5/bob/io/video/cpp/utils.cpp:814:12: warning:
'avpicture_alloc' is deprecated [-Wdeprecated-declarations]
int ok = avpicture_alloc(&picture, pixfmt, codec->width, codec->height);
^
/opt/local/include/libavcodec/avcodec.h:4871:5: note: 'avpicture_alloc'
has been explicitly marked deprecated here
int avpicture_alloc(AVPicture *picture, enum AVPixelFormat pix_fmt, int
width, int height);
^
/opt/local/var/macports/build/_opt_macports_trunk_dports_python_py-bob-io-
video/py27-bob-io-
video/work/bob.io.video-2.0.5/bob/io/video/cpp/utils.cpp:862:2: error:
unknown type name 'PixelFormat'; did you mean 'AVPixelFormat'?
PixelFormat source_pixel_format, PixelFormat dest_pixel_format) {
^~~~~~~~~~~
AVPixelFormat
/opt/local/include/libavutil/pixfmt.h:61:6: note: 'AVPixelFormat' declared
here
enum AVPixelFormat {
^
/opt/local/var/macports/build/_opt_macports_trunk_dports_python_py-bob-io-
video/py27-bob-io-
video/work/bob.io.video-2.0.5/bob/io/video/cpp/utils.cpp:862:35: error:
unknown type name 'PixelFormat'; did you mean 'AVPixelFormat'?
PixelFormat source_pixel_format, PixelFormat dest_pixel_format) {
^~~~~~~~~~~
AVPixelFormat
/opt/local/include/libavutil/pixfmt.h:61:6: note: 'AVPixelFormat' declared
here
enum AVPixelFormat {
^
/opt/local/var/macports/build/_opt_macports_trunk_dports_python_py-bob-io-
video/py27-bob-io-
video/work/bob.io.video-2.0.5/bob/io/video/cpp/utils.cpp:1112:27: warning:
'av_free_packet' is deprecated [-Wdeprecated-declarations]
if (p->size || p->data) av_free_packet(p);
^
/opt/local/include/libavcodec/avcodec.h:4040:6: note: 'av_free_packet' has
been explicitly marked deprecated here
void av_free_packet(AVPacket *pkt);
^
/opt/local/var/macports/build/_opt_macports_trunk_dports_python_py-bob-io-
video/py27-bob-io-
video/work/bob.io.video-2.0.5/bob/io/video/cpp/utils.cpp:1149:26: warning:
'coded_frame' is deprecated [-Wdeprecated-declarations]
if (stream->codec->coded_frame->key_frame) pkt->flags |=
AV_PKT_FLAG_KEY;
^
/opt/local/include/libavcodec/avcodec.h:2945:35: note: 'coded_frame' has
been explicitly marked deprecated here
attribute_deprecated AVFrame *coded_frame;
^
/opt/local/var/macports/build/_opt_macports_trunk_dports_python_py-bob-io-
video/py27-bob-io-
video/work/bob.io.video-2.0.5/bob/io/video/cpp/utils.cpp:1272:26: warning:
'coded_frame' is deprecated [-Wdeprecated-declarations]
if (stream->codec->coded_frame &&
stream->codec->coded_frame->key_frame)
^
/opt/local/include/libavcodec/avcodec.h:2945:35: note: 'coded_frame' has
been explicitly marked deprecated here
attribute_deprecated AVFrame *coded_frame;
^
/opt/local/var/macports/build/_opt_macports_trunk_dports_python_py-bob-io-
video/py27-bob-io-
video/work/bob.io.video-2.0.5/bob/io/video/cpp/utils.cpp:1272:56: warning:
'coded_frame' is deprecated [-Wdeprecated-declarations]
if (stream->codec->coded_frame &&
stream->codec->coded_frame->key_frame)
^
/opt/local/include/libavcodec/avcodec.h:2945:35: note: 'coded_frame' has
been explicitly marked deprecated here
attribute_deprecated AVFrame *coded_frame;
^
/opt/local/var/macports/build/_opt_macports_trunk_dports_python_py-bob-io-
video/py27-bob-io-
video/work/bob.io.video-2.0.5/bob/io/video/cpp/utils.cpp:1425:5: warning:
'av_free_packet' is deprecated [-Wdeprecated-declarations]
av_free_packet(pkt.get());
^
/opt/local/include/libavcodec/avcodec.h:4040:6: note: 'av_free_packet' has
been explicitly marked deprecated here
void av_free_packet(AVPacket *pkt);
^
/opt/local/var/macports/build/_opt_macports_trunk_dports_python_py-bob-io-
video/py27-bob-io-
video/work/bob.io.video-2.0.5/bob/io/video/cpp/utils.cpp:1519:5: warning:
'av_free_packet' is deprecated [-Wdeprecated-declarations]
av_free_packet(pkt.get());
^
/opt/local/include/libavcodec/avcodec.h:4040:6: note: 'av_free_packet' has
been explicitly marked deprecated here
void av_free_packet(AVPacket *pkt);
^
7 warnings and 7 errors generated.
make[2]: *** [CMakeFiles/bob_io_video.dir/opt/local/var/macports/build
/_opt_macports_trunk_dports_python_py-bob-io-video/py27-bob-io-
video/work/bob.io.video-2.0.5/bob/io/video/cpp/utils.cpp.o] Error 1
make[1]: *** [CMakeFiles/bob_io_video.dir/all] Error 2
}}}
Similar errors occur in bob/io/video/cpp/reader.cpp and
bob/io/video/cpp/writer.cpp.
Attached is a proposed patch that fixes the ffmpeg 3.0 build errors
without effecting builds on earlier versions. Tested with ffmpeg 2.8.6
and 3.0.1.
Let me know if you agree this patch can be committed. I'd like to do this
as soon as possible so that we can upgrade ffmpeg to the 3.0 version
series now at ffmpeg 3.0.1.
Thanks
--
Ticket URL: <https://trac.macports.org/ticket/51221>
MacPorts <https://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list