This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Trying to deinterlace with Bob NVEnc; job crashes
#21
What really is strange is that you mentioned that cuvid bob deinterlacing would be better than NVEnc bob deinterlacing, since after a quick look at the code they should use the same functions on the decoder chip.

I also just found a small bug in Hybrid that I introduced a few days ago which causes it to not properly update the deinterlacer list and some other small stuff.
-> will send you a link to a new dev version in a few minutes.

Cu Selur
Reply
#22
(21.08.2021, 22:05)Selur Wrote: But I'm a bit confused that you speak of 1080i25 files, since your sample is only SD.

The sample was just an example that showcased QTGMC flicker. Even on Medium I still get some flicker on that image.

I'm speaking of DVB-C broadcasts. Those are 1080i25. I need speed while processing those, as they are immense files (3h plus). I don't need the tiniest level of detail, but general stability and full 50p - something CUVID offers.

(21.08.2021, 22:05)Selur Wrote: On my system I get ~100fps with that,...

I have a GTX 980, so 10 bit doesn't work. 8 bit does at 170 FPS.

(21.08.2021, 22:28)Selur Wrote: What really is strange is that you mentioned that cuvid bob deinterlacing would be better than NVEnc bob deinterlacing, since after a quick look at the code they should use the same functions on the decoder chip.

Not the bob deinterlacing, the adaptive deinterlacing that doesn't exist in NVEnc, but is used by default in the GPU drivers.

Bob
Adaptive

(21.08.2021, 22:28)Selur Wrote: I also just found a small bug in Hybrid that I introduced a few days ago which causes it to not properly update the deinterlacer list and some other small stuff.
-> will send you a link to a new dev version in a few minutes.

Haven't noticed the bug, or at least I don't suppose I have. Not sure how I'll test for that.
Reply
#23
Quote:Not sure how I'll test for that.
You don't have to. Smile

Quote:I have a GTX 980, so 10 bit doesn't work. 8 bit does at 170 FPS.
Okay, how does Bwdif fair for that clip?

Quote:Not the bob deinterlacing, the adaptive deinterlacing that doesn't exist in NVEnc, but is used by default in the GPU drivers.
Try adding '--interlace auto' under 'NVEnc->Misc->Addition', looks like that works. Smile
'NVEnc->Hardware->Only use encoder' need to be enabled for it to work.
(https://github.com/rigaya/NVEnc/blob/mas...ace-string)
In case that helps I'll add an option for it in Hybrid directly.

Cu Selur
Reply
#24
(22.08.2021, 06:56)Selur Wrote:
Quote:I have a GTX 980, so 10 bit doesn't work. 8 bit does at 170 FPS.
Okay, how does Bwdif fair for that clip?

Bwdif does fine. No signs of unwanted artifacts and the detail is as much as I'd like.
Problem is, if I remove the cropper, it drops to 96 FPS and the bitrate is extremely high (36 Mb/s, while the original had 8 Mb/s video). x264 keeps that bitrate at about 13 Mb/s. I also have to upload these videos to a Cloud, so final size does matter. 15 vs 13 is irelevant, but 36 vs 13 is.

The change in CRF (23->18) seems to affect results by 1-2 FPS.

If I replace NVEnc with x264, the FPS drops to 45-55 FPS.

For comparison, the command I made with cuvid adaptive deinterlacing and x264 encoding in FFmpeg was running at 80-150 FPS, resulting bitrate being 13 Mb/s for an hour long video.

If I replace x264 with NVEnc (high profile, crf 18), it runs at 220 FPS constantly, resulting bitrate again around 36 Mb/s.

(22.08.2021, 06:56)Selur Wrote:
Quote:Not the bob deinterlacing, the adaptive deinterlacing that doesn't exist in NVEnc, but is used by default in the GPU drivers.
Try adding '--interlace auto' under 'NVEnc->Misc->Addition', looks like that works. Smile
'NVEnc->Hardware->Only use encoder' need to be enabled for it to work.
(https://github.com/rigaya/NVEnc/blob/mas...ace-string)

That doesn't work. It deinterlaces using the deinterlacer selected in the "Filtering" tab. Tested and confirmed.
All that option does is it specifies the field order for the input.

P.S.: You removed the ability to disable the deinterlacer in the filtering tab in the dev version where you changed the Deinterlacer list behavior. It would be useful if you could re-add it.


Attached Files Thumbnail(s)
   
Reply
#25
Quote:That doesn't work. It deinterlaces using the deinterlacer selected in the "Filtering" tab. Tested and confirmed.
Are you sure you configured it right?

Here it works fine:
  • enabling 'NVEnc->Hardware->Only use encoder
  • setting Filtering->(De-)Interlace/Telecine->Deinterlace/Telecine Settings->Deinterlace handling" to "Bob (NVEnc)"
  • setting 'NVEnc->Misc->Addition' to '--interlace auto'
NVEnc call should contain both "--vpp-deinterlace bob" and "--interlace auto" for example:
NVEnc --avhw -i -INPUT- --fps 59.940 --codec h264 --profile high --level auto --sar 8:9 --lookahead 32 --vbrhq 0 --vbr-quality 23.00 --aq --aq-strength 5 --gop-len 0 --ref 7 --nonrefp --bframes 0 --no-b-adapt --mv-precision Q-pel --cabac --deblock --preset default --colorrange limited --colorprim undef --colormatrix bt709 --vpp-deinterlace bob --interlace auto --vpp-resize spline64 --output-res 720x480 --vpp-gauss disabled --cuda-schedule sync --keyfile GENERATED_KEY_FILE --output "E:\Temp\bff.264"

Cu Selur
Reply
#26
I'll try again later.
I used the simple Deinterlace, but I don't see why the Bob deinterlacer would act differently if I specified it the field order.
Reply
#27
'interlace' needs to be set to "auto" = detect each frame.
Did you do that?
Reply
#28
Yes, I did that. I can give you the debug output and check, since I have one for the respective session.

Let me know if you'd want to see it.

But again, I used the normal Deinterlace from NVEnc, which outputs at 25, not 50.
Reply
#29
Then I don't get what is missing, since using '--vpp-deinterlace adaptive' with '--interlace auto' should be the same as the cuvid deinterlacer with "-deint 2".

Cu Selur
Reply
#30
Just send you a link to a dev version which allows to set '--interlace' through the ui in the NVEnc->Hardware tab.

Cu Selur
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)