mirror of
https://github.com/microsoft/vcpkg.git
synced 2025-06-07 01:24:47 +08:00
[ffmpeg] Add patch for upstream fixes
address build failures in pangolin that are related to updating the ffmpeg library by pulling in pangolin fix from upstream.
This commit is contained in:
parent
a9527a8489
commit
3439aef9c0
@ -1,4 +1,4 @@
|
||||
Source: pangolin
|
||||
Version: 0.5-3
|
||||
Version: 0.5-4
|
||||
Build-Depends: eigen3, glew, libpng, libjpeg-turbo, ffmpeg
|
||||
Description: Lightweight GUI Library
|
||||
|
69
ports/pangolin/deprecated_constants.patch
Normal file
69
ports/pangolin/deprecated_constants.patch
Normal file
@ -0,0 +1,69 @@
|
||||
diff --git a/src/video/drivers/ffmpeg.cpp b/src/video/drivers/ffmpeg.cpp
|
||||
index 435225d..ff30349 100644
|
||||
--- a/src/video/drivers/ffmpeg.cpp
|
||||
+++ b/src/video/drivers/ffmpeg.cpp
|
||||
@@ -34,6 +34,8 @@ extern "C"
|
||||
#include <libavutil/mathematics.h>
|
||||
}
|
||||
|
||||
+#define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER
|
||||
+
|
||||
namespace pangolin
|
||||
{
|
||||
|
||||
@@ -74,8 +76,10 @@ std::string FfmpegFmtToString(const AVPixelFormat fmt)
|
||||
TEST_PIX_FMT_RETURN(YUVJ420P);
|
||||
TEST_PIX_FMT_RETURN(YUVJ422P);
|
||||
TEST_PIX_FMT_RETURN(YUVJ444P);
|
||||
+#ifdef FF_API_XVMC
|
||||
TEST_PIX_FMT_RETURN(XVMC_MPEG2_MC);
|
||||
TEST_PIX_FMT_RETURN(XVMC_MPEG2_IDCT);
|
||||
+#endif
|
||||
TEST_PIX_FMT_RETURN(UYVY422);
|
||||
TEST_PIX_FMT_RETURN(UYYVYY411);
|
||||
TEST_PIX_FMT_RETURN(BGR8);
|
||||
@@ -95,11 +99,13 @@ std::string FfmpegFmtToString(const AVPixelFormat fmt)
|
||||
TEST_PIX_FMT_RETURN(YUV440P);
|
||||
TEST_PIX_FMT_RETURN(YUVJ440P);
|
||||
TEST_PIX_FMT_RETURN(YUVA420P);
|
||||
+#ifdef FF_API_VDPAU
|
||||
TEST_PIX_FMT_RETURN(VDPAU_H264);
|
||||
TEST_PIX_FMT_RETURN(VDPAU_MPEG1);
|
||||
TEST_PIX_FMT_RETURN(VDPAU_MPEG2);
|
||||
TEST_PIX_FMT_RETURN(VDPAU_WMV3);
|
||||
TEST_PIX_FMT_RETURN(VDPAU_VC1);
|
||||
+#endif
|
||||
TEST_PIX_FMT_RETURN(RGB48BE );
|
||||
TEST_PIX_FMT_RETURN(RGB48LE );
|
||||
TEST_PIX_FMT_RETURN(RGB565BE);
|
||||
@@ -119,7 +125,9 @@ std::string FfmpegFmtToString(const AVPixelFormat fmt)
|
||||
TEST_PIX_FMT_RETURN(YUV422P16BE);
|
||||
TEST_PIX_FMT_RETURN(YUV444P16LE);
|
||||
TEST_PIX_FMT_RETURN(YUV444P16BE);
|
||||
+#ifdef FF_API_VDPAU
|
||||
TEST_PIX_FMT_RETURN(VDPAU_MPEG4);
|
||||
+#endif
|
||||
TEST_PIX_FMT_RETURN(DXVA2_VLD);
|
||||
TEST_PIX_FMT_RETURN(RGB444BE);
|
||||
TEST_PIX_FMT_RETURN(RGB444LE);
|
||||
@@ -559,7 +567,8 @@ void FfmpegVideoOutputStream::WriteFrame(AVFrame* frame)
|
||||
|
||||
int ret;
|
||||
int got_packet = 1;
|
||||
-
|
||||
+
|
||||
+#if FF_API_LAVF_FMT_RAWPICTURE
|
||||
// Setup AVPacket
|
||||
if (recorder.oc->oformat->flags & AVFMT_RAWPICTURE) {
|
||||
/* Raw video case - directly store the picture in the packet */
|
||||
@@ -569,6 +578,10 @@ void FfmpegVideoOutputStream::WriteFrame(AVFrame* frame)
|
||||
pkt.pts = frame->pts;
|
||||
ret = 0;
|
||||
} else {
|
||||
+#else
|
||||
+ {
|
||||
+#endif
|
||||
+
|
||||
/* encode the image */
|
||||
#if (LIBAVFORMAT_VERSION_MAJOR >= 54)
|
||||
ret = avcodec_encode_video2(stream->codec, &pkt, frame, &got_packet);
|
@ -6,6 +6,7 @@ vcpkg_from_github(
|
||||
REF v0.5
|
||||
SHA512 7ebeec108f33f1aa8b1ad08e3ca128a837b22d33e3fc580021f981784043b023a1bf563bbfa8b51d46863db770b336d24fc84ee3d836b85e0da1848281b2a5b2
|
||||
HEAD_REF master
|
||||
PATCHES deprecated_constants.patch # Change from upstream pangolin to address build failures from latest ffmpeg library
|
||||
)
|
||||
|
||||
file(REMOVE ${SOURCE_PATH}/CMakeModules/FindGLEW.cmake)
|
||||
|
Loading…
Reference in New Issue
Block a user