softhdcuvid/softhdvaapi/softhddrm with hevc and UHD
-
-
Zitat
In file included from video.c:618:
hdr.c: In function ‘set_hdr_metadata’:
hdr.c:332:32: error: storage size of ‘data’ isn’t known
332 | struct hdr_output_metadata data;
| ^~~~
Änderung in hdr.c
eigentlich war das mit dem aktuellem Stand in Git schon bereinigt
wäre auch eine Möglichkeit --> wenn das schon der hdr.c steht.
Grüße
cinfo
-
Auf sowas kommt doch keiner
Bleiben immer noch 7 Error-Meldungen, die alle video.c betreffen:
Code
Alles anzeigen... video.c: At top level: video.c:1399:21: error: array type has incomplete element type 'struct pl_frame' 1399 | struct pl_frame pl_frames[CODEC_SURFACES_MAX + 1]; // images for Placebo chain | ^~~~~~~~~ In file included from video.c:1495: shaders.h: In function 'sc_generate': shaders.h:253:11: warning: unused variable 'frag' [-Wunused-variable] 253 | char *frag; | ^~~~ video.c: In function 'CuvidTestSurfaces': video.c:1800:13: warning: suggest parentheses around assignment used as truth value [-Wparentheses] 1800 | if (i = atomic_read(&CuvidDecoders[0]->SurfacesFilled) < VIDEO_SURFACES_MAX - 1) | ^ video.c: At top level: video.c:1973:1: warning: return type defaults to 'int' [-Wimplicit-int] 1973 | make_egl() | ^~~~~~~~ video.c: In function 'make_egl': video.c:1998:14: warning: unused variable 'n' [-Wunused-variable] 1998 | int vID, n; | ^ video.c: In function 'createTextureDst': video.c:2381:12: error: dereferencing pointer to incomplete type 'struct pl_frame' 2381 | img->signature = i; | ^~ video.c:2283:20: warning: unused variable 'tex' [-Wunused-variable] 2283 | struct pl_tex *tex; | ^~~ video.c:2281:25: warning: unused variable 'fd' [-Wunused-variable] 2281 | int n, i, size = 1, fd; | ^~ video.c:2281:15: warning: variable 'size' set but not used [-Wunused-but-set-variable] 2281 | int n, i, size = 1, fd; | ^~~~ video.c: In function 'generateVAAPIImage': video.c:2411:51: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 2411 | vaExportSurfaceHandle(decoder->VaDisplay, (unsigned int)frame->data[3], VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME_2, | ^ video.c:2418:39: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 2418 | vaSyncSurface(decoder->VaDisplay, (unsigned int)frame->data[3]); | ^ video.c:2435:17: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 2435 | fmt = pl_find_named_fmt(p->gpu, n == 0 ? "r8" : "rg8"); // 8 Bit YUV | ^ video.c:2437:17: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 2437 | fmt = pl_find_named_fmt(p->gpu, n == 0 ? "r16" : "rg16"); // 10 Bit YUV | ^ video.c:2463:22: error: 'struct pl_shared_mem' has no member named 'stride_h' 2463 | .stride_h = n == 0 ? image_height : image_height / 2, | ^~~~~~~~ video.c:2464:22: error: 'struct pl_shared_mem' has no member named 'stride_w' 2464 | .stride_w = desc.layers[n].pitch[0], | ^~~~~~~~ video.c:2464:33: warning: excess elements in struct initializer 2464 | .stride_w = desc.layers[n].pitch[0], | ^~~~ video.c:2464:33: note: (near initialization for '(anonymous)') video.c:2465:39: warning: initialized field overwritten [-Woverride-init] 2465 | .drm_format_mod = desc.objects[id].drm_format_modifier, | ^~~~ video.c:2465:39: note: (near initialization for '(anonymous).drm_format_mod') video.c:2467:9: warning: missing initializer for field 'initial_data' of 'struct pl_tex_params' [-Wmissing-field-initializers] 2467 | }; | ^ In file included from /usr/include/libplacebo/vulkan.h:22, from video.c:188: /usr/include/libplacebo/gpu.h:335:17: note: 'initial_data' declared here 335 | const void *initial_data; | ^~~~~~~~~~~~ video.c:2407:14: warning: unused variable 'first_time' [-Wunused-variable] 2407 | uint64_t first_time; | ^~~~~~~~~~ video.c:2406:9: warning: unused variable 'toggle' [-Wunused-variable] 2406 | int toggle = 0; | ^~~~~~ video.c: In function 'init_generic_hwaccel': video.c:2869:69: warning: unknown escape sequence: '\,' 2869 | new_fctx->initial_pool_size, old_fctx->initial_pool_size); | ^ video.c: In function 'Cuvid_get_format': video.c:2917:26: warning: unused variable 'deint' [-Wunused-variable] 2917 | int bitformat16 = 0, deint = 0; | ^~~~~ video.c: In function 'get_RGB': video.c:3056:12: error: variable 'target' has initializer but incomplete type 3056 | struct pl_frame target = { 0 }; | ^~~~~~~~ video.c:3056:32: warning: excess elements in struct initializer 3056 | struct pl_frame target = { 0 }; | ^ video.c:3056:32: note: (near initialization for 'target') video.c:3056:21: error: storage size of 'target' isn't known 3056 | struct pl_frame target = { 0 }; | ^~~~~~ video.c:3068:11: warning: unused variable 'texLoc' [-Wunused-variable] 3068 | GLint texLoc; ... video.c:377:28: warning: 'VideoScreen' defined but not used [-Wunused-variable] 377 | static xcb_screen_t const *VideoScreen; ///< video screen | ^~~~~~~~~~~ make: *** [<eingebaut>: video.o] Fehler 1
Wenn das Beheben der Fehlermeldungen zu aufwendig ist, lassen wir es lieber, will euch damit keine Zeit rauben. Ich bin nur neugierig gewesen und wollte die Entwicklung hier mal selber ausprobieren ...
-
Hi,
ZitatWenn das Beheben der Fehlermeldungen zu aufwendig ist, lassen wir es lieber, will euch damit keine Zeit rauben. Ich bin nur neugierig gewesen und wollte die Entwicklung hier mal selber ausprobieren ...
auch das gehört dazu, denn niemand kennt Deine Systemumgebung (Softwarestand der Lib´s etc..)
Hier die Makefile-Einstellung für softhddrm ohne libplacebo (wird zur Zeit nicht benötigt)
Code
Alles anzeigen# # Makefile for a Video Disk Recorder plugin # # $Id: 2a41981a57e5e83036463c6a08c84b86ed9d2be3 $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. # By default the main source file also carries this name. ### Configuration (edit this for your needs) # comment out if not needed # what kind of decoder do we make - # if VAAPI is enabled the pluginname is softhdvaapi # if CUVID is enabled the pluginname is softhdcuvid # if DRM is enabled the pluginname is softhddrm VAAPI ?= 0 CUVID ?= 0 # if you enable DRM then the plugin will only run without X server # only valid for VAAPI DRM ?= 1 # use libplacebo - # available for all decoders but for DRM you need LIBPLACEBO_GL LIBPLACEBO ?= 0 LIBPLACEBO_GL ?= 0
also Makefile anpassen und ein
Grüße
cinfo
-
Ich sehe das hier mit veraltetem libplacebo compiliert wird. Es wird die aktuelle Version 116 benötigt. Sonst geht es nicht.
Der ganze HDR Kram ist halt bleeding edge im Moment
-
Bei mir ist libplacebo Version 2.72, ist das zu neu?
-
Bei mir ist libplacebo Version 2.72, ist das zu neu?
Leider ist auch bei der libplacebo ein Versionschaos. Ich rede hier von der API Version die man als Nummer hinter der libplacebo sieht.
Schau mal unter /usr/lib64 was hinter der libplacebo für eine Nummer steht. Das ist die API Version. Bei dir vermutlich 72.
Für die aktuellen HDR Tests und auch das aktuelle softhd... plugin mit placebo wird aber 116 gebraucht.
Und eine aktuelle libdrm schadet auch nicht
-
Ist 72, also zu alt. Bei libdrm hab ich libdrm-2.4.104
-
Ist 72, also zu alt. Bei libdrm hab ich libdrm-2.4.104
libdrm 2.4.104 scheint mir aktuell zu sein. Ich habe da auch nix neueres.
-
Wenn ich softhdcuvid mit cuvid und libplacebo libplacebo.so.116 starte bekomme ich folgendes:
Code
Alles anzeigenMar 17 15:21:29 vdr3-2 vdr[16999]: ***************codec: Video Open using video codec ID 0x00ad (hevc) Mar 17 15:21:29 vdr3-2 vdr[16999]: codec: decoder found Mar 17 15:21:29 vdr3-2 vdr[16999]: codec: video 'Nvidia CUVID HEVC decoder' Mar 17 15:21:29 vdr3-2 vdr[16999]: Codec open 0 Mar 17 15:21:29 vdr3-2 vdr[16999]: Initializing cuvid hwaccel thread ID:17079 Mar 17 15:21:29 vdr3-2 vdr[16999]: video: ready --:--:--.--- 20ms/frame 12307455 ms Mar 17 15:21:29 vdr3-2 vdr[16999]: Cuvid_get_format: codec 173 fmts: Mar 17 15:21:29 vdr3-2 vdr[16999]: 0x00000077 cuda Mar 17 15:21:29 vdr3-2 vdr[16999]: 0x00000017 nv12 Mar 17 15:21:29 vdr3-2 vdr[16999]: Cuvid_get_format: codec 173 fmts: Mar 17 15:21:29 vdr3-2 vdr[16999]: 0x00000077 cuda Mar 17 15:21:29 vdr3-2 vdr[16999]: video profile -99 codec id 173 Mar 17 15:21:29 vdr3-2 vdr[16999]: video: create decoder 16bit?=0 1920x1080 old 0 0 Mar 17 15:21:29 vdr3-2 vdr[16999]: Cuvid Clean up Mar 17 15:21:29 vdr3-2 vdr[16999]: video/cuvid: CuvidCreateSurfaces: 1920x1080 * 7 Mar 17 15:21:29 vdr3-2 vdr[16999]: video/vulkan: create 7 Textures Format NV12 w 1920 h 1080 Mar 17 15:21:29 vdr3-2 kernel: video decoder[17079]: segfault at e0 ip 00007f3f495f942f sp 00007f3ec1fe69e0 error 4 in libplacebo.so.116[7f3f495eb000+49000] Mar 17 15:21:29 vdr3-2 kernel: Code: 37 2c 04 00 41 b9 40 00 00 00 4c 8b 04 c8 31 c9 41 c1 e0 03 e9 52 22 ff ff 66 90 41 55 41 54 55 53 48 83 ec 08 48 85 f6 74 51 <8b> 87 e0 00 00 00 85 c0 7e 47 48 8b 9f d8 00 00 00 83 e8 01 48 89
-
Hmm hast du die libplacebo selbst übersetzt ? Kannst du mal einen bt vom dump machen ?
-
Selbst übersetzen passiert bei gentoo immer, git-Stand ist Version 9999
Wenn ich den Coredump finde, kann ich nen bt machen.
-
Versuchs mal mit coredumpctl gdb der lädt immer den letzten coredump
-
-
Das kommt wohl über systemd, bei Gentoo nicht unbedingt Standard.
-
Hi,
mit der softhddrm Version 3.4.1 aktuell aus dem Git erkennt das TV-Gerät kein HDR Ausgabe mehr?
Softhddrm von gestern 3.4.0 wieder eingespielt und HDR wird wieder erkannt, hm?
Grüße
cinfo
-
Hi,
mit der softhddrm Version 3.4.1 aktuell aus dem Git erkennt das TV-Gerät kein HDR Ausgabe mehr?
Softhddrm von gestern 3.4.0 wieder eingespielt und HDR wird wieder erkannt, hm?
Hättest du das README gelesen Du musst in der Konfig den Monitor Typ auf UHD-HDR stellen.
-
das ist schräg -- hat was von Ostern fein fein
Zitatsuper finde ich nicht -- ist wohl spät --> Makefile? setup.conf?
Grüße
cinfo
-
Ist im Konfig Menu enthalten unter Video
-
Ist im Konfig Menu enthalten unter Video
fein fein funktioniert, danke
sollte dieser Eintrag in der setup.conf sein
Grüße
cinfo
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!