[MacPorts] #44386: New version of FFmpeg (specifically, avcodec.h in libavcodec) building of mplayer2
#44386: New version of FFmpeg (specifically, avcodec.h in libavcodec) building of mplayer2 ---------------------------------------+-------------------------------- Reporter: zmwangx@… | Owner: macports-tickets@… Type: defect | Status: new Priority: High | Milestone: Component: ports | Version: 2.3.1 Keywords: ffmpeg, libav, libavcodec | Port: mplayer2 ---------------------------------------+-------------------------------- `mplayer2` requires the Libav.org version of `libavcodec` to function. Previously the VideoLan.org (I mean, FFmpeg.org) version of `libavcodec` also works, and the `mplayer2` port depends on that. However, a recent change to FFmpeg breaks it. Specifically, in the 2.3 release, due to [http://git.videolan.org/?p=ffmpeg.git;a=commit;h=67d29da4bd23057a1f646568442... commit 67d29da], which says, {{{ avcodec: increase FF_INPUT_BUFFER_PADDING_SIZE to 32 Sometimes the input buffers get directly used as raw images and SIMD optimized video/image filters can sometimes read more than 16 bytes over the end. a specific example is the AVX 24bpp to yuv code This also fixes fate-vsynth3-rgb }}} The requirement {{{ #include "libavcodec/avcodec.h" #if MP_INPUT_BUFFER_PADDING_SIZE < FF_INPUT_BUFFER_PADDING_SIZE #error MP_INPUT_BUFFER_PADDING_SIZE is too small! #endif }}} in [http://git.mplayer2.org/mplayer2/tree/libmpdemux/demuxer.c mplayer2.git/libmpdemux/demuxer.c] is broken, since `MP_INPUT_BUFFER_PADDING_SIZE` is `16` as defined in [http://git.mplayer2.org/mplayer2/tree/libmpdemux/demuxer.h mplayer2.git/libmpdemux/demuxer.h]. This is clearly reflected in the following error when running `port install -v mplayer2`: {{{ libmpdemux/demuxer.c:48:2: error: MP_INPUT_BUFFER_PADDING_SIZE is too small! #error MP_INPUT_BUFFER_PADDING_SIZE is too small! }}} -- Ticket URL: <https://trac.macports.org/ticket/44386> MacPorts <http://www.macports.org/> Ports system for OS X
#44386: New version of FFmpeg (specifically, avcodec.h in libavcodec) building of mplayer2 ------------------------+--------------------------------------- Reporter: zmwangx@… | Owner: macports-tickets@… Type: defect | Status: new Priority: High | Milestone: Component: ports | Version: 2.3.1 Resolution: | Keywords: ffmpeg, libav, libavcodec Port: mplayer2 | ------------------------+--------------------------------------- Comment (by zmwangx@…): The title should read "New version of FFmpeg (specifically, avcodec.h in libavcodec) breaks building of mplayer2". Sorry for the typo. -- Ticket URL: <https://trac.macports.org/ticket/44386#comment:1> MacPorts <http://www.macports.org/> Ports system for OS X
#44386: ffmpeg 2.3 (specifically, avcodec.h in libavcodec) breaks building of mplayer2 ------------------------+--------------------------------------- Reporter: zmwangx@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: ffmpeg, libav, libavcodec Port: mplayer2 | ------------------------+--------------------------------------- Changes (by devans@…): * cc: cal@…, devans@… (added) * priority: High => Normal * version: 2.3.1 => Comment: Please CC the port maintainers when submitting a ticket and leave the priority field for the use of MacPorts management. Sounds like this is an issue that should be handled upstream (mplayer2 or ffmpeg as might be appropriate). Are you suggesting a particular solution to the problem? -- Ticket URL: <https://trac.macports.org/ticket/44386#comment:2> MacPorts <http://www.macports.org/> Ports system for OS X
#44386: ffmpeg 2.3 (specifically, avcodec.h in libavcodec) breaks building of mplayer2 ------------------------+--------------------------------------- Reporter: zmwangx@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: ffmpeg, libav, libavcodec Port: mplayer2 | ------------------------+--------------------------------------- Comment (by zmwangx@…): Sorry for the priority and CC. I don't think this can be handled upstream since * FFmpeg is changing for the better, there's no reason for them to roll back for compatibility with MPlayer or mplayer2; * Strictly speaking, `mplayer2` depends on Libav (which is a fork of FFmpeg) rather than FFmpeg; FFmpeg just happened to work by being mostly compatible with Libav; * The `mplayer2` project itself seems largely dead, the latest commit on master dating back to October 2013. (Anyway, the same problematic code seems to also appear in the latest svn version of MPlayer.) However, the `mplayer2` project itself does have a [http://git.mplayer2.org/mplayer2-build/ mplayer-build.git] repo that correctly handles its own dependencies, at the cost of building its own version of `libavcodec`, etc. `mplayer-build` works fine at least at this moment. -- Ticket URL: <https://trac.macports.org/ticket/44386#comment:3> MacPorts <http://www.macports.org/> Ports system for OS X
#44386: ffmpeg 2.3 (specifically, avcodec.h in libavcodec) breaks building of mplayer2 ------------------------+--------------------------------------- Reporter: zmwangx@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: ffmpeg, libav, libavcodec Port: mplayer2 | ------------------------+--------------------------------------- Comment (by devans@…): Thanks for the background. Does increasing MP_INPUT_BUFFER_PADDING_SIZE to 32 fix the problem for you? -- Ticket URL: <https://trac.macports.org/ticket/44386#comment:4> MacPorts <http://www.macports.org/> Ports system for OS X
#44386: ffmpeg 2.3 (specifically, avcodec.h in libavcodec) breaks building of mplayer2 ------------------------+--------------------------------------- Reporter: zmwangx@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: ffmpeg, libav, libavcodec Port: mplayer2 | ------------------------+--------------------------------------- Comment (by zmwangx@…): Well, all I can say is that it builds, and I didn't encounter any problems with a few test videos. I didn't go through all occurrences of the macro in the code base (and I doubt if I'm gonna understand the code), so I can't comment on whether there are side effects. -- Ticket URL: <https://trac.macports.org/ticket/44386#comment:5> MacPorts <http://www.macports.org/> Ports system for OS X
#44386: ffmpeg 2.3 (specifically, avcodec.h in libavcodec) breaks building of mplayer2 ------------------------+--------------------------------------- Reporter: zmwangx@… | Owner: macports-tickets@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: Resolution: fixed | Keywords: ffmpeg, libav, libavcodec Port: mplayer2 | ------------------------+--------------------------------------- Changes (by devans@…): * status: new => closed * resolution: => fixed Comment: Taking ffmpeg's word for it that bigger is better, mplayer2 input buffer padding size increased to 32 to match ffmpeg version 2.3 in r122337. Incremented revision to rebuild so everyone is using the same buffer size. As stated by reporter, this fixes building of mplayer2 with ffmpeg 2.3 and a few quick video tests show no obvious problems. Thanks for the report. -- Ticket URL: <https://trac.macports.org/ticket/44386#comment:6> MacPorts <http://www.macports.org/> Ports system for OS X
#44386: ffmpeg 2.3 (specifically, avcodec.h in libavcodec) breaks building of mplayer2 ------------------------+-------------------------------- Reporter: zmwangx@… | Owner: macports-tickets@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: Resolution: fixed | Keywords: Port: mplayer2 | ------------------------+-------------------------------- Changes (by mf2k@…): * keywords: ffmpeg, libav, libavcodec => -- Ticket URL: <https://trac.macports.org/ticket/44386#comment:7> MacPorts <http://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts