Skip to content

Commit 9d06c35

Browse files
committed
add freerdp 3.31.0 related upstream patches to fix compile
1 parent a3b1127 commit 9d06c35

2 files changed

Lines changed: 112 additions & 0 deletions

File tree

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
From 87bb73db5fabc75ea34c214c157a74fa4ab7c265 Mon Sep 17 00:00:00 2001
2+
From: fundawang <fundawang@yeah.net>
3+
Date: Thu, 27 Aug 2026 09:29:17 +0800
4+
Subject: [PATCH] only use AV_PIX_FMT_D3D12 in ffmpeg 7
5+
6+
As we ensure freerdp builds on ffmpeg 5.1.3, make it conditioned.
7+
---
8+
libfreerdp/codec/h264_ffmpeg.c | 2 ++
9+
1 file changed, 2 insertions(+)
10+
11+
diff --git a/libfreerdp/codec/h264_ffmpeg.c b/libfreerdp/codec/h264_ffmpeg.c
12+
index 8ebf2a08..d04162a3 100644
13+
--- a/libfreerdp/codec/h264_ffmpeg.c
14+
+++ b/libfreerdp/codec/h264_ffmpeg.c
15+
@@ -301,7 +301,9 @@ static const char* av_format_str(int32_t format)
16+
EVCASE(AV_PIX_FMT_P412LE);
17+
EVCASE(AV_PIX_FMT_GBRAP14BE);
18+
EVCASE(AV_PIX_FMT_GBRAP14LE);
19+
+#if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(59,16,100)
20+
EVCASE(AV_PIX_FMT_D3D12);
21+
+#endif
22+
EVCASE(AV_PIX_FMT_NB);
23+
default:
24+
return "AV_PIX_FMT_UNKNOWN";
25+
--
26+
2.50.1 (Apple Git-155)
27+
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
From efd1bec48578982a2dd63eeb9249365f0abde37b Mon Sep 17 00:00:00 2001
2+
From: Armin Novak <armin.novak@thincast.com>
3+
Date: Fri, 28 Aug 2026 10:56:39 +0200
4+
Subject: [PATCH] [codec,h264] fix missing version guards
5+
6+
fixes -DWITH_VAAPI=ON on older systems
7+
---
8+
libfreerdp/codec/h264_ffmpeg.c | 31 ++++++++++++++++++++++++-------
9+
1 file changed, 24 insertions(+), 7 deletions(-)
10+
11+
diff --git a/libfreerdp/codec/h264_ffmpeg.c b/libfreerdp/codec/h264_ffmpeg.c
12+
index d04162a3..d1e03e9e 100644
13+
--- a/libfreerdp/codec/h264_ffmpeg.c
14+
+++ b/libfreerdp/codec/h264_ffmpeg.c
15+
@@ -267,22 +267,29 @@ static const char* av_format_str(int32_t format)
16+
EVCASE(AV_PIX_FMT_VULKAN);
17+
EVCASE(AV_PIX_FMT_Y210BE);
18+
EVCASE(AV_PIX_FMT_Y210LE);
19+
- EVCASE(AV_PIX_FMT_X2RGB10LE);
20+
- EVCASE(AV_PIX_FMT_X2RGB10BE);
21+
- EVCASE(AV_PIX_FMT_X2BGR10LE);
22+
- EVCASE(AV_PIX_FMT_X2BGR10BE);
23+
+#if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(57, 17, 100)
24+
EVCASE(AV_PIX_FMT_P210BE);
25+
EVCASE(AV_PIX_FMT_P210LE);
26+
- EVCASE(AV_PIX_FMT_P410BE);
27+
- EVCASE(AV_PIX_FMT_P410LE);
28+
EVCASE(AV_PIX_FMT_P216BE);
29+
EVCASE(AV_PIX_FMT_P216LE);
30+
+ EVCASE(AV_PIX_FMT_P410BE);
31+
+ EVCASE(AV_PIX_FMT_P410LE);
32+
+ EVCASE(AV_PIX_FMT_X2RGB10LE);
33+
+ EVCASE(AV_PIX_FMT_X2RGB10BE);
34+
+ EVCASE(AV_PIX_FMT_X2BGR10LE);
35+
+ EVCASE(AV_PIX_FMT_X2BGR10BE);
36+
EVCASE(AV_PIX_FMT_P416BE);
37+
EVCASE(AV_PIX_FMT_P416LE);
38+
+#endif
39+
+#if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(58, 2, 100)
40+
EVCASE(AV_PIX_FMT_VUYA);
41+
+ EVCASE(AV_PIX_FMT_VUYX);
42+
+#endif
43+
+#if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(57, 33, 101)
44+
EVCASE(AV_PIX_FMT_RGBAF16BE);
45+
EVCASE(AV_PIX_FMT_RGBAF16LE);
46+
- EVCASE(AV_PIX_FMT_VUYX);
47+
+#endif
48+
+#if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(57, 37, 100)
49+
EVCASE(AV_PIX_FMT_P012LE);
50+
EVCASE(AV_PIX_FMT_P012BE);
51+
EVCASE(AV_PIX_FMT_Y212BE);
52+
@@ -295,12 +302,17 @@ static const char* av_format_str(int32_t format)
53+
EVCASE(AV_PIX_FMT_RGBF32LE);
54+
EVCASE(AV_PIX_FMT_RGBAF32BE);
55+
EVCASE(AV_PIX_FMT_RGBAF32LE);
56+
+#endif
57+
+#if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(59, 10, 100)
58+
EVCASE(AV_PIX_FMT_P212BE);
59+
EVCASE(AV_PIX_FMT_P212LE);
60+
EVCASE(AV_PIX_FMT_P412BE);
61+
EVCASE(AV_PIX_FMT_P412LE);
62+
+#endif
63+
+#if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(59, 14, 100)
64+
EVCASE(AV_PIX_FMT_GBRAP14BE);
65+
EVCASE(AV_PIX_FMT_GBRAP14LE);
66+
+#endif
67+
#if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(59,16,100)
68+
EVCASE(AV_PIX_FMT_D3D12);
69+
#endif
70+
@@ -681,7 +693,12 @@ static int libavcodec_decompress(H264_CONTEXT* WINPR_RESTRICT h264,
71+
goto fail;
72+
}
73+
74+
+#if LIBSWSCALE_VERSION_INT >= AV_VERSION_INT(6, 4, 100)
75+
status = sws_scale_frame(sys->swsctx, sys->videoFrame, target);
76+
+#else
77+
+#error "Need SWScale >= 6.4.100"
78+
+#endif
79+
+
80+
if (status < 0)
81+
{
82+
WLog_Print(h264->log, WLOG_ERROR, "Failed to convert video frame (status=%d) (%s)",
83+
--
84+
2.50.1 (Apple Git-155)
85+

0 commit comments

Comments
 (0)