aboutsummaryrefslogtreecommitdiffstats
path: root/x11
diff options
context:
space:
mode:
authorjbeich <jbeich@FreeBSD.org>2018-04-27 19:09:29 +0800
committerjbeich <jbeich@FreeBSD.org>2018-04-27 19:09:29 +0800
commitcc62a6816b54bafcb429c3b878a73f2fc8091214 (patch)
treea291ad14f07fbb1cfd4274c4a1e2a957a1e26581 /x11
parent32be6dba5887065478c5c77b1c04020dd06eb095 (diff)
downloadfreebsd-ports-gnome-cc62a6816b54bafcb429c3b878a73f2fc8091214.tar.gz
freebsd-ports-gnome-cc62a6816b54bafcb429c3b878a73f2fc8091214.tar.zst
freebsd-ports-gnome-cc62a6816b54bafcb429c3b878a73f2fc8091214.zip
x11/xpra: unbreak with ffmpeg 4.0
xpra/codecs/dec_avcodec2/decoder.c:5656:72: error: use of undeclared identifier 'CODEC_FLAG2_FAST' __pyx_v_self->codec_ctx->flags2 = (__pyx_v_self->codec_ctx->flags2 | CODEC_FLAG2_FAST); ^ PR: 227726 Obtained from: upstream
Diffstat (limited to 'x11')
-rw-r--r--x11/xpra/files/patch-xpra_codecs_dec__avcodec2_decoder.pyx22
-rw-r--r--x11/xpra/files/patch-xpra_codecs_enc__ffmpeg_encoder.pyx185
2 files changed, 207 insertions, 0 deletions
diff --git a/x11/xpra/files/patch-xpra_codecs_dec__avcodec2_decoder.pyx b/x11/xpra/files/patch-xpra_codecs_dec__avcodec2_decoder.pyx
new file mode 100644
index 000000000000..908893d0697a
--- /dev/null
+++ b/x11/xpra/files/patch-xpra_codecs_dec__avcodec2_decoder.pyx
@@ -0,0 +1,22 @@
+https://www.xpra.org/trac/changeset/18086/xpra
+
+--- xpra/codecs/dec_avcodec2/decoder.pyx.orig 2017-03-17 07:24:28 UTC
++++ xpra/codecs/dec_avcodec2/decoder.pyx
+@@ -51,7 +51,7 @@ cdef extern from "libavutil/pixfmt.h":
+ AVPixelFormat AV_PIX_FMT_GBRP
+
+ cdef extern from "libavcodec/avcodec.h":
+- int CODEC_FLAG2_FAST
++ int AV_CODEC_FLAG2_FAST
+
+ ctypedef struct AVFrame:
+ uint8_t **data
+@@ -357,7 +357,7 @@ cdef class Decoder:
+ self.codec_ctx.thread_safe_callbacks = 1
+ self.codec_ctx.thread_type = 2 #FF_THREAD_SLICE: allow more than one thread per frame
+ self.codec_ctx.thread_count = 0 #auto
+- self.codec_ctx.flags2 |= CODEC_FLAG2_FAST #may cause "no deblock across slices" - which should be fine
++ self.codec_ctx.flags2 |= AV_CODEC_FLAG2_FAST #may cause "no deblock across slices" - which should be fine
+ r = avcodec_open2(self.codec_ctx, self.codec, NULL)
+ if r<0:
+ log.error("could not open codec: %s", av_error_str(r))
diff --git a/x11/xpra/files/patch-xpra_codecs_enc__ffmpeg_encoder.pyx b/x11/xpra/files/patch-xpra_codecs_enc__ffmpeg_encoder.pyx
new file mode 100644
index 000000000000..ba529472090b
--- /dev/null
+++ b/x11/xpra/files/patch-xpra_codecs_enc__ffmpeg_encoder.pyx
@@ -0,0 +1,185 @@
+https://www.xpra.org/trac/changeset/18088/xpra
+
+--- xpra/codecs/enc_ffmpeg/encoder.pyx.orig 2017-03-17 07:24:28 UTC
++++ xpra/codecs/enc_ffmpeg/encoder.pyx
+@@ -134,44 +134,36 @@ cdef extern from "libavcodec/avcodec.h":
+ int FF_PROFILE_H264_HIGH_444_INTRA
+ int FF_PROFILE_H264_CAVLC_444
+
+- int CODEC_FLAG_UNALIGNED
+- int CODEC_FLAG_QSCALE
+- int CODEC_FLAG_4MV
+- int CODEC_FLAG_OUTPUT_CORRUPT
+- int CODEC_FLAG_QPEL
+- int CODEC_FLAG_GMC
+- int CODEC_FLAG_MV0
+- int CODEC_FLAG_INPUT_PRESERVED
+- int CODEC_FLAG_PASS1
+- int CODEC_FLAG_PASS2
+- int CODEC_FLAG_GRAY
+- int CODEC_FLAG_EMU_EDGE
+- int CODEC_FLAG_PSNR
+- int CODEC_FLAG_TRUNCATED
+- int CODEC_FLAG_NORMALIZE_AQP
+- int CODEC_FLAG_INTERLACED_DCT
+- int CODEC_FLAG_GLOBAL_HEADER
++ int AV_CODEC_FLAG_UNALIGNED
++ int AV_CODEC_FLAG_QSCALE
++ int AV_CODEC_FLAG_4MV
++ int AV_CODEC_FLAG_OUTPUT_CORRUPT
++ int AV_CODEC_FLAG_QPEL
++ int AV_CODEC_FLAG_PASS1
++ int AV_CODEC_FLAG_PASS2
++ int AV_CODEC_FLAG_GRAY
++ int AV_CODEC_FLAG_PSNR
++ int AV_CODEC_FLAG_TRUNCATED
++ int AV_CODEC_FLAG_INTERLACED_DCT
++ int AV_CODEC_FLAG_GLOBAL_HEADER
+
+- int CODEC_FLAG2_FAST
++ int AV_CODEC_FLAG2_FAST
+
+- int CODEC_CAP_DRAW_HORIZ_BAND
+- int CODEC_CAP_DR1
+- int CODEC_CAP_TRUNCATED
+- int CODEC_CAP_HWACCEL
+- int CODEC_CAP_DELAY
+- int CODEC_CAP_SMALL_LAST_FRAME
+- int CODEC_CAP_HWACCEL_VDPAU
+- int CODEC_CAP_SUBFRAMES
+- int CODEC_CAP_EXPERIMENTAL
+- int CODEC_CAP_CHANNEL_CONF
+- int CODEC_CAP_NEG_LINESIZES
+- int CODEC_CAP_FRAME_THREADS
+- int CODEC_CAP_SLICE_THREADS
+- int CODEC_CAP_PARAM_CHANGE
+- int CODEC_CAP_AUTO_THREADS
+- int CODEC_CAP_VARIABLE_FRAME_SIZE
+- int CODEC_CAP_INTRA_ONLY
+- int CODEC_CAP_LOSSLESS
++ int AV_CODEC_CAP_DRAW_HORIZ_BAND
++ int AV_CODEC_CAP_DR1
++ int AV_CODEC_CAP_TRUNCATED
++ int AV_CODEC_CAP_DELAY
++ int AV_CODEC_CAP_SMALL_LAST_FRAME
++ int AV_CODEC_CAP_SUBFRAMES
++ int AV_CODEC_CAP_EXPERIMENTAL
++ int AV_CODEC_CAP_CHANNEL_CONF
++ int AV_CODEC_CAP_FRAME_THREADS
++ int AV_CODEC_CAP_SLICE_THREADS
++ int AV_CODEC_CAP_PARAM_CHANGE
++ int AV_CODEC_CAP_AUTO_THREADS
++ int AV_CODEC_CAP_VARIABLE_FRAME_SIZE
++ int AV_CODEC_CAP_INTRA_ONLY
++ int AV_CODEC_CAP_LOSSLESS
+
+ ctypedef struct AVFrame:
+ uint8_t **data
+@@ -385,7 +377,6 @@ cdef extern from "libavformat/avformat.h":
+ int AVFMT_NOFILE #Demuxer will use avio_open, no opened file should be provided by the caller
+ int AVFMT_NEEDNUMBER #Needs '%d' in filename
+ int AVFMT_SHOW_IDS #Show format stream IDs numbers
+- int AVFMT_RAWPICTURE #Format wants AVPicture structure for raw picture data. @deprecated Not used anymore
+ int AVFMT_GLOBALHEADER #Format wants global header
+ int AVFMT_NOTIMESTAMPS #Format does not need / have any timestamps
+ int AVFMT_GENERIC_INDEX #Use generic index building code
+@@ -489,27 +480,22 @@ AVFMTCTX = {
+ }
+
+ CODEC_FLAGS = {
+- CODEC_FLAG_UNALIGNED : "UNALIGNED",
+- CODEC_FLAG_QSCALE : "QSCALE",
+- CODEC_FLAG_4MV : "4MV",
+- CODEC_FLAG_OUTPUT_CORRUPT : "OUTPUT_CORRUPT",
+- CODEC_FLAG_QPEL : "QPEL",
+- CODEC_FLAG_GMC : "GMC",
+- CODEC_FLAG_MV0 : "MV0",
+- CODEC_FLAG_INPUT_PRESERVED : "INPUT_PRESERVED",
+- CODEC_FLAG_PASS1 : "PASS1",
+- CODEC_FLAG_PASS2 : "PASS2",
+- CODEC_FLAG_GRAY : "GRAY",
+- CODEC_FLAG_EMU_EDGE : "EMU_EDGE",
+- CODEC_FLAG_PSNR : "PSNR",
+- CODEC_FLAG_TRUNCATED : "TRUNCATED",
+- CODEC_FLAG_NORMALIZE_AQP : "NORMALIZE_AQP",
+- CODEC_FLAG_INTERLACED_DCT : "INTERLACED_DCT",
+- CODEC_FLAG_GLOBAL_HEADER : "GLOBAL_HEADER",
++ AV_CODEC_FLAG_UNALIGNED : "UNALIGNED",
++ AV_CODEC_FLAG_QSCALE : "QSCALE",
++ AV_CODEC_FLAG_4MV : "4MV",
++ AV_CODEC_FLAG_OUTPUT_CORRUPT : "OUTPUT_CORRUPT",
++ AV_CODEC_FLAG_QPEL : "QPEL",
++ AV_CODEC_FLAG_PASS1 : "PASS1",
++ AV_CODEC_FLAG_PASS2 : "PASS2",
++ AV_CODEC_FLAG_GRAY : "GRAY",
++ AV_CODEC_FLAG_PSNR : "PSNR",
++ AV_CODEC_FLAG_TRUNCATED : "TRUNCATED",
++ AV_CODEC_FLAG_INTERLACED_DCT : "INTERLACED_DCT",
++ AV_CODEC_FLAG_GLOBAL_HEADER : "GLOBAL_HEADER",
+ }
+
+ CODEC_FLAGS2 = {
+- CODEC_FLAG2_FAST : "FAST",
++ AV_CODEC_FLAG2_FAST : "FAST",
+ }
+
+ FMT_FLAGS = {
+@@ -535,7 +521,6 @@ AVFMT = {
+ AVFMT_NOFILE : "NOFILE",
+ AVFMT_NEEDNUMBER : "NEEDNUMBER",
+ AVFMT_SHOW_IDS : "SHOW_IDS",
+- AVFMT_RAWPICTURE : "RAWPICTURE",
+ AVFMT_GLOBALHEADER : "GLOBALHEADER",
+ AVFMT_NOTIMESTAMPS : "NOTIMESTAMPS",
+ AVFMT_GENERIC_INDEX : "GENERIC_INDEX",
+@@ -554,24 +539,21 @@ AVFMT = {
+
+
+ CAPS = {
+- CODEC_CAP_DRAW_HORIZ_BAND : "DRAW_HORIZ_BAND",
+- CODEC_CAP_DR1 : "DR1",
+- CODEC_CAP_TRUNCATED : "TRUNCATED",
+- CODEC_CAP_HWACCEL : "HWACCEL",
+- CODEC_CAP_DELAY : "DELAY",
+- CODEC_CAP_SMALL_LAST_FRAME : "SMALL_LAST_FRAME",
+- CODEC_CAP_HWACCEL_VDPAU : "HWACCEL_VDPAU",
+- CODEC_CAP_SUBFRAMES : "SUBFRAMES",
+- CODEC_CAP_EXPERIMENTAL : "EXPERIMENTAL",
+- CODEC_CAP_CHANNEL_CONF : "CHANNEL_CONF",
+- CODEC_CAP_NEG_LINESIZES : "NEG_LINESIZES",
+- CODEC_CAP_FRAME_THREADS : "FRAME_THREADS",
+- CODEC_CAP_SLICE_THREADS : "SLICE_THREADS",
+- CODEC_CAP_PARAM_CHANGE : "PARAM_CHANGE",
+- CODEC_CAP_AUTO_THREADS : "AUTO_THREADS",
+- CODEC_CAP_VARIABLE_FRAME_SIZE : "VARIABLE_FRAME_SIZE",
+- CODEC_CAP_INTRA_ONLY : "INTRA_ONLY",
+- CODEC_CAP_LOSSLESS : "LOSSLESS",
++ AV_CODEC_CAP_DRAW_HORIZ_BAND : "DRAW_HORIZ_BAND",
++ AV_CODEC_CAP_DR1 : "DR1",
++ AV_CODEC_CAP_TRUNCATED : "TRUNCATED",
++ AV_CODEC_CAP_DELAY : "DELAY",
++ AV_CODEC_CAP_SMALL_LAST_FRAME : "SMALL_LAST_FRAME",
++ AV_CODEC_CAP_SUBFRAMES : "SUBFRAMES",
++ AV_CODEC_CAP_EXPERIMENTAL : "EXPERIMENTAL",
++ AV_CODEC_CAP_CHANNEL_CONF : "CHANNEL_CONF",
++ AV_CODEC_CAP_FRAME_THREADS : "FRAME_THREADS",
++ AV_CODEC_CAP_SLICE_THREADS : "SLICE_THREADS",
++ AV_CODEC_CAP_PARAM_CHANGE : "PARAM_CHANGE",
++ AV_CODEC_CAP_AUTO_THREADS : "AUTO_THREADS",
++ AV_CODEC_CAP_VARIABLE_FRAME_SIZE : "VARIABLE_FRAME_SIZE",
++ AV_CODEC_CAP_INTRA_ONLY : "INTRA_ONLY",
++ AV_CODEC_CAP_LOSSLESS : "LOSSLESS",
+ }
+ log("CODEC_CAP:")
+ print_nested_dict(dict((hex(abs(k)),v) for k,v in CAPS.items()), print_fn=log.debug)
+@@ -890,8 +872,8 @@ cdef class Encoder(object):
+ self.video_ctx.thread_type = THREAD_TYPE
+ self.video_ctx.thread_count = THREAD_COUNT #0=auto
+ #if oformat.flags & AVFMT_GLOBALHEADER:
+- self.video_ctx.flags |= CODEC_FLAG_GLOBAL_HEADER
+- self.video_ctx.flags2 |= CODEC_FLAG2_FAST #may cause "no deblock across slices" - which should be fine
++ self.video_ctx.flags |= AV_CODEC_FLAG_GLOBAL_HEADER
++ self.video_ctx.flags2 |= AV_CODEC_FLAG2_FAST #may cause "no deblock across slices" - which should be fine
+ if self.encoding.startswith("h264") and profile:
+ r = av_dict_set(&opts, b"vprofile", strtobytes(profile), 0)
+ log("av_dict_set vprofile=%s returned %i", profile, r)