forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
app-emulation/vice: Fix compiling with '>=media-video/ffmpeg-3'.
Add a patch to allow compiling '2.4.27-r2' with 'ffmpeg-3' installed. Backported from: https://sourceforge.net/p/vice-emu/code/31580/ Also change 'PATCH' to 'PATCHES'. Package-Manager: portage-2.3.2 Closes: gentoo#2759
- Loading branch information
1 parent
a9882d4
commit ace6814
Showing
2 changed files
with
71 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
# Patch to fix compiling with ffmpeg-3. | ||
# Backported from: https://sourceforge.net/p/vice-emu/code/31580/ | ||
|
||
--- /src/gfxoutputdrv/ffmpeglib.h | ||
+++ /src/gfxoutputdrv/ffmpeglib.h | ||
@@ -76,6 +76,14 @@ | ||
#define AVCodecID CodecID | ||
#endif | ||
|
||
+#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(55,17,103) | ||
+#define VICE_AV_PIX_FMT_RGB24 PIX_FMT_RGB24 | ||
+#define VICE_AV_PixelFormat PixelFormat | ||
+#else | ||
+#define VICE_AV_PIX_FMT_RGB24 AV_PIX_FMT_RGB24 | ||
+#define VICE_AV_PixelFormat AVPixelFormat | ||
+#endif | ||
+ | ||
/* avcodec fucntions */ | ||
typedef void(*av_init_packet_t)(AVPacket *pkt); | ||
typedef int(*avcodec_open2_t)(AVCodecContext*, AVCodec*, AVDictionary **); | ||
@@ -118,7 +126,7 @@ | ||
|
||
/* swscale functions */ | ||
typedef struct SwsContext * (*sws_getContext_t)(int srcW, int srcH, | ||
- enum PixelFormat srcFormat, int dstW, int dstH, enum PixelFormat dstFormat, | ||
+ enum VICE_AV_PixelFormat srcFormat, int dstW, int dstH, enum VICE_AV_PixelFormat dstFormat, | ||
int flags, SwsFilter *srcFilter, SwsFilter *dstFilter, double *param); | ||
typedef void (*sws_freeContext_t)(struct SwsContext *swsContext); | ||
typedef int (*sws_scale_t)(struct SwsContext *context, uint8_t* srcSlice[], | ||
|
||
--- /src/gfxoutputdrv/ffmpegdrv.c | ||
+++ /src/gfxoutputdrv/ffmpegdrv.c | ||
@@ -671,8 +671,8 @@ | ||
picture is needed too. It is then converted to the required | ||
output format */ | ||
video_st.tmp_frame = NULL; | ||
- if (c->pix_fmt != PIX_FMT_RGB24) { | ||
- video_st.tmp_frame = ffmpegdrv_alloc_picture(PIX_FMT_RGB24, c->width, c->height); | ||
+ if (c->pix_fmt != VICE_AV_PIX_FMT_RGB24) { | ||
+ video_st.tmp_frame = ffmpegdrv_alloc_picture(VICE_AV_PIX_FMT_RGB24, c->width, c->height); | ||
if (!video_st.tmp_frame) { | ||
log_debug("ffmpegdrv: could not allocate temporary picture"); | ||
return -1; | ||
@@ -769,9 +769,9 @@ | ||
|
||
#ifdef HAVE_FFMPEG_SWSCALE | ||
/* setup scaler */ | ||
- if (c->pix_fmt != PIX_FMT_RGB24) { | ||
+ if (c->pix_fmt != VICE_AV_PIX_FMT_RGB24) { | ||
sws_ctx = VICE_P_SWS_GETCONTEXT | ||
- (video_width, video_height, PIX_FMT_RGB24, | ||
+ (video_width, video_height, VICE_AV_PIX_FMT_RGB24, | ||
video_width, video_height, c->pix_fmt, | ||
SWS_BICUBIC, | ||
NULL, NULL, NULL); | ||
@@ -948,7 +948,7 @@ | ||
|
||
c = video_st.st->codec; | ||
|
||
- if (c->pix_fmt != PIX_FMT_RGB24) { | ||
+ if (c->pix_fmt != VICE_AV_PIX_FMT_RGB24) { | ||
ffmpegdrv_fill_rgb_image(screenshot, video_st.tmp_frame); | ||
|
||
if (sws_ctx != NULL) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters