Index: vbam-1.8.0.1228/src/common/ffmpeg.cpp =================================================================== --- vbam-1.8.0.1228.orig/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()) ||