Ich muss dazu sagen, dass ich softhdcuvid disconnected parallel zu softhddevice starte und dann umschalte, aber das hat nie Probleme gegeben.

Nvidia 535 mit softhdcuvid
-
-
Dazu musst du in video.c in Zeile 2702 aus 1:0:1 eim 1:-1:1 machen. Und Feedback geben
Das Zittern bleibt mit folgender Änderung:
-
Ich hab gereade mein Prod-System angesschmissen, auf meinem Test-System habe ich keine 1080i Sender und nutze noch 525.
Ich starte das das System auf einem 720p-Sender, schalte um auf softhdcuvid, s.o., schalte um auf einen 1080i-Sender, alles ok, wechsle auf einen anderen 1080i, Falschfarben, wechsle auf einen SD-Sender und zurück, alles ok.
Code
Display Moresofthdcuvid.1080i.CutLeftRight = 0 softhdcuvid.1080i.CutTopBottom = 0 softhdcuvid.1080i.Deinterlace = 1 softhdcuvid.1080i.Denoise = 0 softhdcuvid.1080i.InverseTelecine = 0 softhdcuvid.1080i.Scaling = 2 softhdcuvid.1080i.Sharpen = 0 softhdcuvid.1080i.SkipChromaDeinterlace = 0 softhdcuvid.1080i_fake.CutLeftRight = 0 softhdcuvid.1080i_fake.CutTopBottom = 0 softhdcuvid.1080i_fake.Deinterlace = 1 softhdcuvid.1080i_fake.Denoise = 0 softhdcuvid.1080i_fake.InverseTelecine = 0 softhdcuvid.1080i_fake.Scaling = 4 softhdcuvid.1080i_fake.Sharpen = 0 softhdcuvid.1080i_fake.SkipChromaDeinterlace = 0 softhdcuvid.576i.CutLeftRight = 0 softhdcuvid.576i.CutTopBottom = 0 softhdcuvid.576i.Deinterlace = 3 softhdcuvid.576i.Denoise = 0 softhdcuvid.576i.InverseTelecine = 0 softhdcuvid.576i.Scaling = 5 softhdcuvid.576i.Sharpen = 0 softhdcuvid.576i.SkipChromaDeinterlace = 0 softhdcuvid.60HzMode = 0 softhdcuvid.720p.CutLeftRight = 0 softhdcuvid.720p.CutTopBottom = 0 softhdcuvid.720p.Deinterlace = 1 softhdcuvid.720p.Denoise = 0 softhdcuvid.720p.InverseTelecine = 0 softhdcuvid.720p.Scaling = 4 softhdcuvid.720p.Sharpen = 0 softhdcuvid.720p.SkipChromaDeinterlace = 0 softhdcuvid.AudioAutoAES = 0 softhdcuvid.AudioBufferTime = 0 softhdcuvid.AudioCompression = 0 softhdcuvid.AudioDelay = 0 softhdcuvid.AudioDownmix = 0 softhdcuvid.AudioDrift = 3 softhdcuvid.AudioMaxCompression = 0 softhdcuvid.AudioMaxNormalize = 0 softhdcuvid.AudioNormalize = 0 softhdcuvid.AudioPassthrough = 13 softhdcuvid.AudioSoftvol = 1 softhdcuvid.AudioStereoDescent = 0 softhdcuvid.AutoCrop.Delay = 0 softhdcuvid.AutoCrop.Interval = 0 softhdcuvid.AutoCrop.Tolerance = 0 softhdcuvid.Background = 0 softhdcuvid.BlackPicture = 1 softhdcuvid.Brightness = 0 softhdcuvid.CBlindness = 0 softhdcuvid.CBlindnessFaktor = 0 softhdcuvid.ClearOnSwitch = 0 softhdcuvid.Contrast = 100 softhdcuvid.DetachFromMainMenu = 0 softhdcuvid.EnableDPMSatBlackScreen = 0 softhdcuvid.Gamma = 100 softhdcuvid.HideMainMenuEntry = 0 softhdcuvid.Hue = 0 softhdcuvid.MakePrimary = 0 softhdcuvid.MaxSizeGPUImageCache = 128 softhdcuvid.Osd.Height = 0 softhdcuvid.Osd.Width = 0 softhdcuvid.pip.Alt.Height = 50 softhdcuvid.pip.Alt.VideoHeight = 50 softhdcuvid.pip.Alt.VideoWidth = 0 softhdcuvid.pip.Alt.VideoX = 0 softhdcuvid.pip.Alt.VideoY = 0 softhdcuvid.pip.Alt.Width = 0 softhdcuvid.pip.Alt.X = 0 softhdcuvid.pip.Alt.Y = 50 softhdcuvid.pip.Height = 18 softhdcuvid.pip.VideoHeight = 0 softhdcuvid.pip.VideoWidth = 0 softhdcuvid.pip.VideoX = 0 softhdcuvid.pip.VideoY = 0 softhdcuvid.pip.Width = 18 softhdcuvid.pip.X = 79 softhdcuvid.pip.Y = 5 softhdcuvid.Saturation = 100 softhdcuvid.SoftStartSync = 0 softhdcuvid.StudioLevels = 1 softhdcuvid.Suspend.Close = 1 softhdcuvid.Suspend.X11 = 0 softhdcuvid.TargetColorSpace = 0 softhdcuvid.Temperature = 0 softhdcuvid.UHD.CutLeftRight = 0 softhdcuvid.UHD.CutTopBottom = 0 softhdcuvid.UHD.Deinterlace = 1 softhdcuvid.UHD.Denoise = 0 softhdcuvid.UHD.InverseTelecine = 0 softhdcuvid.UHD.Scaling = 2 softhdcuvid.UHD.Sharpen = 0 softhdcuvid.UHD.SkipChromaDeinterlace = 0 softhdcuvid.Video4to3DisplayFormat = 1 softhdcuvid.VideoOtherDisplayFormat = 1
-
Was mir gerade auffällt, das Zittern tritt nur auf, wenn der Bildinhalt sich verändert.
-
softhdcuvid.576i.Deinterlace = 3
Das ist sicher falsch. Es sollte 0 = cuda oder 1 = yadif sein.
Was mir gerade auffällt, das Zittern tritt nur auf, wenn der Bildinhalt sich verändert.
da sieht mir so aus als ob die Reihenfolge der Bilder nicht stimmt. Vielleicht solltest du doch mal ffmpeg updaten. Das schadet zumindest nicht.
Wie ist denn der X server eingestellt? Und welche cuda version hast du ?
-
Im Menü wird yadif angezeigt, ich werde das von Hand korrigieren, wenn ich eine Aufzeichnungspause habe.
Edit
Wechsel nach cuda und zurück nach yadif hat genügt.
-
Also, mit yadif bei SD habe ich auch das Gezittere, schalte ich zurück auf cuda sieht SD wieder sauber aus. Falschfarben treten nach wie vor nur bei 1080i auf, und zwar beim Wechsel von 1080i nach 1080i.
-
Wie ist denn der X server eingestellt? Und welche cuda version hast du ?
Codevdr ~ # nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2023 NVIDIA Corporation Built on Tue_Aug_15_22:02:13_PDT_2023 Cuda compilation tools, release 12.2, V12.2.140 Build cuda_12.2.r12.2/compiler.33191640_0
Anbei noch das Xorg.log.
Reicht das?
ffmpeg aktualisiere ich und werde berichten.
Muss ich da noch evtl. ein use-flag setzen (siehe ffmpeg_use.txt)?
-
Also, mit yadif bei SD habe ich auch das Gezittere, schalte ich zurück auf cuda sieht SD wieder sauber aus.
Da bin ich erst mal froh, dass ich nicht der einzige bin...
-
Liegt wohl an gentoo
-
Vielleicht solltest du doch mal ffmpeg updaten. Das schadet zumindest nicht.
Mit ffmpeg 6.0 zittert das Bild auch bei ServusTV HD mit Yadif.
-
Das Zittern habe ich nur bei SD, HD ist top, wenn es läuft.
-
Anbei noch das Xorg.log.
Du nutzt ein Custom EDID. Ist das irgendwie modifiziert oder nur das Edid das dein Monitor/TV eh liefern würde ? Bist du sicher das dein TV auf progressiv läuft ? Das zittern bei SD scheint ein Problem von Yadif zu sein.
Das Falschfarben Problem bleibt mir ein Rätsel. Und das ist erst mit dem 535er Treiber aufgetreten ?
-
Das Falschfarben Problem bleibt mir ein Rätsel. Und das ist erst mit dem 535er Treiber aufgetreten ?
Ja, bei 525 ist alles ok, Ich hatte Dir gestern zwei Links dazu geposted. Das eigentliche Problem ist, dass yadif manchmal nicht anspringt.
-
Das eigentliche Problem ist, dass yadif manchmal nicht anspringt.
Was ist denn dann im Log zu sehen. Wenn es klappt muss da
Init YADIF ok
stehen oder halt
Init of YADIF Filter failed
-
Code
Display MoreSep 22 11:14:08 vdr3-2 vdr: Set Playmode 1 Sep 22 11:14:08 vdr3-2 vdr: video: set trick-speed 0 Sep 22 11:14:08 vdr3-2 vdr: pesdemux: pes start code id 0xbd Sep 22 11:14:08 vdr3-2 vdr: video: new stream 861ms Sep 22 11:14:08 vdr3-2 vdr: video: h264 detected Sep 22 11:14:08 vdr3-2 vdr: pesdemux: new codec 000000 -> 0x15003 Sep 22 11:14:08 vdr3-2 vdr: codec: using audio codec ID 0x15003 (ac3) Sep 22 11:14:08 vdr3-2 vdr: codec: audio 'ATSC A/52A (AC-3)' Sep 22 11:14:08 vdr3-2 vdr: codec/audio: Chanlayout 3 format change fltp 48000Hz *2 channels PCM AC-3 E-AC-3 pass-through Sep 22 11:14:08 vdr3-2 vdr: codec/audio: resample fltp 48000Hz *2 -> s16 48000Hz *2 Sep 22 11:14:08 vdr3-2 vdr: in VideoDecode make close Sep 22 11:14:08 vdr3-2 vdr: CodecVideoClose Sep 22 11:14:08 vdr3-2 vdr: CodecVideoOpen h264 Sep 22 11:14:08 vdr3-2 vdr: ***************codec: Video Open using video codec ID 0x001b (h264) Sep 22 11:14:08 vdr3-2 vdr: codec: decoder found Sep 22 11:14:08 vdr3-2 vdr: codec: video 'Nvidia CUVID H264 decoder' Sep 22 11:14:08 vdr3-2 vdr: Codec open 0 Sep 22 11:14:08 vdr3-2 vdr: Initializing cuvid hwaccel thread ID:4109 Sep 22 11:14:08 vdr3-2 vdr: schon passiert Sep 22 11:14:09 vdr3-2 vdr: video: ready --:--:--.--- 20ms/frame 1580ms Sep 22 11:14:09 vdr3-2 vdr: Cuvid_get_format: codec 27 fmts: Sep 22 11:14:09 vdr3-2 vdr: 0x00000075 cuda Sep 22 11:14:09 vdr3-2 vdr: 0x00000017 nv12 Sep 22 11:14:09 vdr3-2 vdr: Cuvid_get_format: codec 27 fmts: Sep 22 11:14:09 vdr3-2 vdr: 0x00000075 cuda Sep 22 11:14:09 vdr3-2 vdr: video profile -99 codec id 27 Sep 22 11:14:09 vdr3-2 vdr: video: create decoder 16bit?=0 1920x1080 old 1280 720 Sep 22 11:14:09 vdr3-2 vdr: Cuvid Clean up Sep 22 11:14:09 vdr3-2 vdr: video/cuvid: CuvidDestroySurfaces Sep 22 11:14:09 vdr3-2 vdr: [3879] channel 171 (CNBC HD (S)) event Fr. 22.09.2023 11:00-11:30 'Worldwide Exchange' status 4 Sep 22 11:14:09 vdr3-2 vdr: video/cuvid: CuvidCreateSurfaces: 1920x1080 * 7 Sep 22 11:14:09 vdr3-2 vdr: video/vulkan: create 7 Textures Format NV12 w 1920 h 1080 Sep 22 11:14:09 vdr3-2 vdr: video: speed up video, droping frame -103 Sep 22 11:14:09 vdr3-2 vdr: deint = Yadif Sep 22 11:14:09 vdr3-2 vdr: GetFormat Init ok 1920x1080 Sep 22 11:14:09 vdr3-2 vdr: Init YADIF ok Sep 22 11:14:09 vdr3-2 vdr: ++++++++++++++++++++++++++++++++++++starte audio Sep 22 11:14:09 vdr3-2 vdr: video/cuvid: aspect ratio changed Sep 22 11:14:09 vdr3-2 vdr: video: input 1920x1080 (1:1) Sep 22 11:14:09 vdr3-2 vdr: video: display aspect 16:9 Resolution 3 Sep 22 11:14:09 vdr3-2 vdr: video: video +0+0 3840x2160 Sep 22 11:14:09 vdr3-2 vdr: video: crop to +0+0 1920x1080 Sep 22 11:14:09 vdr3-2 vdr: video: normal aspect output 3840x2160+0+0 Sep 22 11:14:09 vdr3-2 vdr: codec/audio: inital drift delay 488ms Sep 22 11:14:09 vdr3-2 vdr: video: slow down video, duping frame 88 Sep 22 11:14:09 vdr3-2 vdr: video/cuvid: synced after 33 frames 2251ms Sep 22 11:14:38 vdr3-2 vdr: [3961] switching to channel 97 S19.2E-1-1007-4914 (ServusTV HD Deutschland (S)) Sep 22 11:14:38 vdr3-2 vdr: Set Playmode 0 Sep 22 11:14:38 vdr3-2 vdr: video: set closing Sep 22 11:14:38 vdr3-2 vdr: video: set clock --:--:--.--- Sep 22 11:14:38 vdr3-2 vdr: video: reset start Sep 22 11:14:38 vdr3-2 vdr: video: set clock --:--:--.--- Sep 22 11:14:38 vdr3-2 vdr: video: new stream start Sep 22 11:14:38 vdr3-2 vdr: [3961] [vdrweb] Detaching HbbTV ait filter from device 1 Sep 22 11:14:38 vdr3-2 vdr: video/cuvid: closing eof Sep 22 11:14:39 vdr3-2 vdr: Set Playmode 1 Sep 22 11:14:39 vdr3-2 vdr: video: set trick-speed 0 Sep 22 11:14:39 vdr3-2 vdr: pesdemux: new codec 000000 -> 0x15003 Sep 22 11:14:39 vdr3-2 vdr: codec: using audio codec ID 0x15003 (ac3) Sep 22 11:14:39 vdr3-2 vdr: codec: audio 'ATSC A/52A (AC-3)' Sep 22 11:14:39 vdr3-2 vdr: codec/audio: Chanlayout 60f format change fltp 48000Hz *6 channels PCM AC-3 E-AC-3 pass-through Sep 22 11:14:39 vdr3-2 vdr: codec/audio: resample fltp 48000Hz *6 -> s16 48000Hz *2 Sep 22 11:14:39 vdr3-2 vdr: video: new stream 502ms Sep 22 11:14:39 vdr3-2 vdr: [softhddev] invalid PES video packet Sep 22 11:14:39 vdr3-2 vdr: pesdemux: pes start code id 0xbd Sep 22 11:14:39 vdr3-2 vdr: in VideoDecode make close Sep 22 11:14:39 vdr3-2 vdr: CodecVideoClose Sep 22 11:14:39 vdr3-2 vdr: [3879] channel 116 (ORF1 HD (S)) event Fr. 22.09.2023 11:09-11:53 (VPS: 22.09. 11:10) 'Soko Kitzbühel' status 4 Sep 22 11:14:39 vdr3-2 vdr: [softhddev] 3 invalid PES video packet(s) Sep 22 11:14:39 vdr3-2 vdr: video: h264 detected Sep 22 11:14:39 vdr3-2 vdr: CodecVideoOpen h264 Sep 22 11:14:39 vdr3-2 vdr: ***************codec: Video Open using video codec ID 0x001b (h264) Sep 22 11:14:39 vdr3-2 vdr: codec: decoder found Sep 22 11:14:39 vdr3-2 vdr: codec: video 'Nvidia CUVID H264 decoder' Sep 22 11:14:39 vdr3-2 vdr: Codec open 0 Sep 22 11:14:39 vdr3-2 vdr: Initializing cuvid hwaccel thread ID:4109 Sep 22 11:14:39 vdr3-2 vdr: schon passiert Sep 22 11:14:40 vdr3-2 vdr: video: ready --:--:--.--- 20ms/frame 1325ms Sep 22 11:14:40 vdr3-2 vdr: Cuvid_get_format: codec 27 fmts: Sep 22 11:14:40 vdr3-2 vdr: 0x00000075 cuda Sep 22 11:14:40 vdr3-2 vdr: 0x00000017 nv12 Sep 22 11:14:40 vdr3-2 vdr: Cuvid_get_format: codec 27 fmts: Sep 22 11:14:40 vdr3-2 vdr: 0x00000075 cuda Sep 22 11:14:40 vdr3-2 vdr: video profile -99 codec id 27 Sep 22 11:14:40 vdr3-2 vdr: video: create decoder 16bit?=0 1920x1080 old 1920 1080 Sep 22 11:14:40 vdr3-2 vdr: video: slow down video, duping frame 28 Sep 22 11:14:40 vdr3-2 vdr: GetFormat Init ok 1920x1080 Sep 22 11:14:40 vdr3-2 vdr: ++++++++++++++++++++++++++++++++++++starte audio Sep 22 11:14:40 vdr3-2 vdr: video/cuvid: aspect ratio changed Sep 22 11:14:40 vdr3-2 vdr: video: input 1920x1080 (1:1) Sep 22 11:14:40 vdr3-2 vdr: video: display aspect 16:9 Resolution 3 Sep 22 11:14:40 vdr3-2 vdr: video: video +0+0 3840x2160 Sep 22 11:14:40 vdr3-2 vdr: video: crop to +0+0 1920x1080 Sep 22 11:14:40 vdr3-2 vdr: video: normal aspect output 3840x2160+0+0 Sep 22 11:14:40 vdr3-2 vdr: codec/audio: inital drift delay 271ms Sep 22 11:14:40 vdr3-2 vdr: video: slow down video, duping frame 93 Sep 22 11:14:40 vdr3-2 vdr: video/cuvid: synced after 28 frames 1900ms Sep 22 11:14:46 vdr3-2 vdr: video: grab
Wenn ich das richtig sehe, versucht er garnicht yadif zu starten.
-
Wenn sich die Auflösung nicht ändert dann wird der deinterlacer nicht neu initialisiert.
Nimm mal den YADIF Block ab Zeile 2963 in video.c und schiebe ihn vor den if. Also auf Zeile 2943.
-
Ich sitze im Moment nicht vor dem TV, mache also quasi Ferndiagnose, beim ersten 1080i scheint yadif nicht angesprungen zu sein, nach Wechsel auf anderen 1080i war er dann da und ab dann funktioniert auch der Ksnalwechsel.
In jedem Fall eine Verbesserung.Das muss ich mir nochmal genauer anschauen, wenn ich vorm TV sitze.
Die Initialisierung ist jetzt verschoben, evtl muss es an beide Stellen.
-
Ich bin mir mittlerweile sicher das das geändert werden muss. Ich teste das nochmal hier und werde dann git updaten.
Edit:
So ich habe es nun eingecheckt.
-
So wollte ich das haben!
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!