vice-3.2: re-add vice 3.2
vice 3.3 performs ugly Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
From 6f69c122f0ea97b89bb0bb72cb75e97dc24d5506 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||
Date: Fri, 8 Jun 2018 11:10:25 +0200
|
||||
Subject: [PATCH] Hack build with latest FFMPEG
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Taking videos in raw format won't work with ne FFMPEG.
|
||||
|
||||
| ../../../vice-3.2/src/gfxoutputdrv/ffmpegdrv.c:363:34: error: 'CODEC_CAP_VARIABLE_FRAME_SIZE' undeclared (first use in this function); did you mean 'AV_CODEC_CAP_VARIABLE_FRAME_SIZE'?
|
||||
| if (c->codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE) {
|
||||
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
| AV_CODEC_CAP_VARIABLE_FRAME_SIZE
|
||||
|
||||
| ../../../vice-3.2/src/gfxoutputdrv/ffmpegdrv.c:461:21: error: 'CODEC_FLAG_GLOBAL_HEADER' undeclared (first use in this function); did you mean 'AV_CODEC_FLAG_GLOBAL_HEADER'?
|
||||
| c->flags |= CODEC_FLAG_GLOBAL_HEADER;
|
||||
| ^~~~~~~~~~~~~~~~~~~~~~~~
|
||||
| AV_CODEC_FLAG_GLOBAL_HEADER
|
||||
|
||||
| ../../../../../../../../../oe-core/workspace/sources/vice/src/gfxoutputdrv/ffmpegdrv.c:982:40: error: 'AVFMT_RAWPICTURE' undeclared (first use in this function); did you mean 'FF_API_AVPICTURE'?
|
||||
| if (ffmpegdrv_oc->oformat->flags & AVFMT_RAWPICTURE) {
|
||||
| ^~~~~~~~~~~~~~~~
|
||||
| FF_API_AVPICTURE
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||
---
|
||||
src/gfxoutputdrv/ffmpegdrv.c | 16 ++++++++++++++++
|
||||
1 file changed, 16 insertions(+)
|
||||
|
||||
diff --git a/src/gfxoutputdrv/ffmpegdrv.c b/src/gfxoutputdrv/ffmpegdrv.c
|
||||
index 4748348..b52e39b 100644
|
||||
--- a/src/gfxoutputdrv/ffmpegdrv.c
|
||||
+++ b/src/gfxoutputdrv/ffmpegdrv.c
|
||||
@@ -360,7 +360,11 @@ static int ffmpegdrv_open_audio(AVFormatContext *oc, AVStream *st)
|
||||
}
|
||||
|
||||
audio_is_open = 1;
|
||||
+#ifdef AV_CODEC_CAP_VARIABLE_FRAME_SIZE
|
||||
+ if (c->codec->capabilities & AV_CODEC_CAP_VARIABLE_FRAME_SIZE) {
|
||||
+#else
|
||||
if (c->codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE) {
|
||||
+#endif
|
||||
audio_inbuf_samples = 10000;
|
||||
} else {
|
||||
audio_inbuf_samples = c->frame_size;
|
||||
@@ -454,7 +458,11 @@ static int ffmpegmovie_init_audio(int speed, int channels, soundmovie_buffer_t *
|
||||
|
||||
/* Some formats want stream headers to be separate. */
|
||||
if (ffmpegdrv_oc->oformat->flags & AVFMT_GLOBALHEADER)
|
||||
+#ifdef AV_CODEC_FLAG_GLOBAL_HEADER
|
||||
+ c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
|
||||
+#else
|
||||
c->flags |= CODEC_FLAG_GLOBAL_HEADER;
|
||||
+#endif
|
||||
|
||||
/* create resampler context */
|
||||
#ifndef HAVE_FFMPEG_AVRESAMPLE
|
||||
@@ -787,7 +795,11 @@ static void ffmpegdrv_init_video(screenshot_t *screenshot)
|
||||
|
||||
/* Some formats want stream headers to be separate. */
|
||||
if (ffmpegdrv_oc->oformat->flags & AVFMT_GLOBALHEADER) {
|
||||
+#ifdef AV_CODEC_FLAG_GLOBAL_HEADER
|
||||
+ c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
|
||||
+#else
|
||||
c->flags |= CODEC_FLAG_GLOBAL_HEADER;
|
||||
+#endif
|
||||
}
|
||||
|
||||
if (audio_init_done) {
|
||||
@@ -967,6 +979,7 @@ static int ffmpegdrv_record(screenshot_t *screenshot)
|
||||
|
||||
video_st.frame->pts = video_st.next_pts++;
|
||||
|
||||
+#ifdef AVFMT_RAWPICTURE
|
||||
if (ffmpegdrv_oc->oformat->flags & AVFMT_RAWPICTURE) {
|
||||
AVPacket pkt;
|
||||
VICE_P_AV_INIT_PACKET(&pkt);
|
||||
@@ -978,6 +991,7 @@ static int ffmpegdrv_record(screenshot_t *screenshot)
|
||||
|
||||
ret = VICE_P_AV_INTERLEAVED_WRITE_FRAME(ffmpegdrv_oc, &pkt);
|
||||
} else {
|
||||
+#endif
|
||||
AVPacket pkt = { 0 };
|
||||
int got_packet;
|
||||
|
||||
@@ -998,7 +1012,9 @@ static int ffmpegdrv_record(screenshot_t *screenshot)
|
||||
} else {
|
||||
ret = 0;
|
||||
}
|
||||
+#ifdef AVFMT_RAWPICTURE
|
||||
}
|
||||
+#endif
|
||||
if (ret < 0) {
|
||||
log_debug("Error while writing video frame");
|
||||
return -1;
|
||||
--
|
||||
2.14.3
|
||||
|
||||
30
recipes-emulators/vice/vice-3.2/0003-Set-fixed-VICEDIR.patch
Normal file
30
recipes-emulators/vice/vice-3.2/0003-Set-fixed-VICEDIR.patch
Normal file
@@ -0,0 +1,30 @@
|
||||
From f4fa367ab6e79cbfd77254237335f383311006ec Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||
Date: Sat, 9 Feb 2019 22:16:52 +0100
|
||||
Subject: [PATCH] Set fixed VICEDIR
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Upstream-Status: Inappropriate [configuration]
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||
---
|
||||
configure.ac | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index c5139fd..402e893 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -5010,6 +5010,7 @@ case "$host_os" in
|
||||
AM_CONDITIONAL(ALTERNATE_DOCDIR, false)
|
||||
;;
|
||||
esac
|
||||
+VICEDIR="$libdir/vice"
|
||||
AC_SUBST(VICEDIR)
|
||||
AC_DEFINE_UNQUOTED(VICEDIR, "$VICEDIR",
|
||||
[Where should we lookup for data files?])
|
||||
--
|
||||
2.20.1
|
||||
|
||||
73
recipes-emulators/vice/vice-3.2_3.2.bb
Normal file
73
recipes-emulators/vice/vice-3.2_3.2.bb
Normal file
@@ -0,0 +1,73 @@
|
||||
SUMMARY = "Versatile Commodore Emulator"
|
||||
HOMEPAGE = "http://vice-emu.sourceforge.net"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
|
||||
|
||||
# Sources for c64 software:
|
||||
# [1] ftp://arnold.c64.org/pub/games/
|
||||
|
||||
BPN = "vice"
|
||||
|
||||
SRC_URI = " \
|
||||
${SOURCEFORGE_MIRROR}/vice-emu/${BPN}-${PV}.tar.gz \
|
||||
file://0001-fix-autoreconfig.patch \
|
||||
file://0002-Hack-build-with-latest-FFMPEG.patch \
|
||||
file://0003-Set-fixed-VICEDIR.patch \
|
||||
file://c64_16.png \
|
||||
file://c64_32.png \
|
||||
file://c64_48.png \
|
||||
file://vice_64.desktop \
|
||||
"
|
||||
SRC_URI[md5sum] = "58ba6b6653097898e059e0194615705a"
|
||||
SRC_URI[sha256sum] = "28d99f5e110720c97ef16d8dd4219cf9a67661d58819835d19378143697ba523"
|
||||
|
||||
inherit autotools pkgconfig gtk-icon-cache
|
||||
|
||||
DEPENDS = " \
|
||||
bdftopcf-native \
|
||||
mkfontdir-native \
|
||||
mkfontscale-native \
|
||||
xa-native \
|
||||
bison-native \
|
||||
gtk+ \
|
||||
libav \
|
||||
libsdl \
|
||||
libpng \
|
||||
jpeg \
|
||||
giflib \
|
||||
libxxf86vm \
|
||||
portaudio-v19 \
|
||||
mpg123 \
|
||||
virtual/libgl \
|
||||
vte9 \
|
||||
${@bb.utils.contains("DISTRO_FEATURES", "x11 opengl", "gtkglext", "", d)} \
|
||||
"
|
||||
|
||||
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}"
|
||||
PACKAGECONFIG[pulseaudio] = "--with-pulse,--without-pulse,pulseaudio,pulseaudio-server"
|
||||
|
||||
EXTRA_OECONF = " \
|
||||
--disable-option-checking \
|
||||
--enable-external-ffmpeg \
|
||||
--enable-parsid \
|
||||
--enable-fullscreen \
|
||||
--enable-gnomeui \
|
||||
--with-uithreads \
|
||||
--without-oss \
|
||||
--libdir=${libdir} \
|
||||
"
|
||||
|
||||
do_install_append() {
|
||||
install -d ${D}/${datadir}/applications
|
||||
install -m 0644 ${WORKDIR}/vice_64.desktop ${D}/${datadir}/applications
|
||||
|
||||
for size in 16 32 48; do
|
||||
install -d ${D}/${datadir}/icons/hicolor/${size}x${size}/apps
|
||||
install -m 0644 ${WORKDIR}/c64_${size}.png ${D}/${datadir}/icons/hicolor/${size}x${size}/apps/c64.png
|
||||
done
|
||||
}
|
||||
|
||||
FILES_${PN} += "${datadir}/icons"
|
||||
|
||||
RREPLACES_${PN} += "vice"
|
||||
RCONFLICTS_${PN} += "vice"
|
||||
@@ -66,3 +66,6 @@ do_install_append() {
|
||||
}
|
||||
|
||||
RDEPENDS_${PN} += "hicolor-icon-theme"
|
||||
|
||||
RREPLACES_${PN} += "vice-3.2"
|
||||
RCONFLICTS_${PN} += "vice-3.2"
|
||||
|
||||
Reference in New Issue
Block a user