radhermit 14/05/04 16:28:46 Added: vbam-1.8.0.1228-ffmpeg2.patch Log: Fix build with =media-video/ffmpeg-2* (bug #476496, patch by aballier). (Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 4AB3E85B4F064CA3)
Revision Changes Path 1.1 games-emulation/vbam/files/vbam-1.8.0.1228-ffmpeg2.patch file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/games-emulation/vbam/files/vbam-1.8.0.1228-ffmpeg2.patch?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/games-emulation/vbam/files/vbam-1.8.0.1228-ffmpeg2.patch?rev=1.1&content-type=text/plain Index: vbam-1.8.0.1228-ffmpeg2.patch =================================================================== --- vbam-1.8.0.1228/src/common/ffmpeg.cpp +++ vbam-1.8.0.1228/src/common/ffmpeg.cpp @@ -178,17 +178,31 @@ MediaRet MediaRecorder::setup_video_stre // make sure RGB is supported (mostly not) if(codec->pix_fmts) { const enum PixelFormat *p; +#if LIBAVCODEC_VERSION_MAJOR < 55 int64_t mask = 0; +#endif for(p = codec->pix_fmts; *p != -1; p++) { // may get complaints about 1LL; thus the cast +#if LIBAVCODEC_VERSION_MAJOR < 55 mask |= ((int64_t)1) << *p; +#endif if(*p == pixfmt) break; } if(*p == -1) { // if not supported, use a converter to the next best format // this is swscale, the converter used by the output demo +#if LIBAVCODEC_VERSION_MAJOR < 55 enum PixelFormat dp = (PixelFormat)avcodec_find_best_pix_fmt(mask, pixfmt, 0, NULL); +#else +#if LIBAVCODEC_VERSION_MICRO >= 100 +// FFmpeg + enum AVPixelFormat dp = avcodec_find_best_pix_fmt_of_list(codec->pix_fmts, pixfmt, 0, NULL); +#else +// Libav + enum AVPixelFormat dp = avcodec_find_best_pix_fmt2(codec->pix_fmts, pixfmt, 0, NULL); +#endif +#endif if(dp == -1) dp = codec->pix_fmts[0]; if(!(convpic = avcodec_alloc_frame()) ||
