(23.08.2021, 18:15)Selur Wrote: So if no CUVID decoder can be used, what then?
Hybrid reverts to the normal decoder or simply doesn't use CUVID. Since the CUVID option is unavailable, the user won't be able to choose CUVID and everything should be under control.
(23.08.2021, 18:15)Selur Wrote: I know, question is why doesn't ffmpeg get that it's a decoder?
Not sure, but it is possible FFmpeg might not have a very clear way of specifying a decoder and, as such, it might need the -c:v option two times: in the first is specified the decoder and in the second is specified the encoder.
That's my 2 cents, but I might be wrong.
EDIT: It's possibe this might be a Stackoverflow question, because I cannot identify anything in the documentation that can help.
Posts: 10.982
Threads: 57
Joined: May 2017
Quote:Hybrid reverts to the normal decoder or simply doesn't use CUVID. Since the CUVID option is unavailable, the user won't be able to choose CUVID and everything should be under control.
Problem is: Users use default settings.
So if your default setting loads a source, the source can't be decoded with CUVID, but the output needs to deinterlaced Hybrid can't magically decide to use deinterlacer xy.
Quote:Not sure, but it is possible FFmpeg might not have a very clear way of specifying a decoder and, as such, it might need the -c:v option two times: in the first is specified the decoder and in the second is specified the encoder.
That's my 2 cents, but I might be wrong.
so then it might work with an additonal "-c:v rawvideo",..
Posts: 10.982
Threads: 57
Joined: May 2017
Argh, got it, "-c:v XXX_cuvid" needs to be placed before the input,..
Posts: 10.982
Threads: 57
Joined: May 2017
Okay, what I can do is:
a. let user select 'CUVID (FFmpeg)' as deinterlacer when 'no XSynth' is selected. (can't combine it with Avisynth or Vapoursynth)
b. show the decoder, but adjust it everytime the input changes, based on the input format
c. check on job creation if 'CUVID (FFmpeg)' is selected for an input format that isn't supported by cuvid.
Cu Selur
(23.08.2021, 18:53)Selur Wrote: Argh, got it, "-c:v XXX_cuvid" needs to be placed before the input,..
That makes sense. Glad you figured it out!
(23.08.2021, 20:01)Selur Wrote: Okay, what I can do is:
a. let user select 'CUVID (FFmpeg)' as deinterlacer when 'no XSynth' is selected. (can't combine it with Avisynth or Vapoursynth)
b. show the decoder, but adjust it everytime the input changes, based on the input format
c. check on job creation if 'CUVID (FFmpeg)' is selected for an input format that isn't supported by cuvid.
That's perfect. I was thinking about suggesting a. and b., but point c. didn't strike my mind.
Do keep me up to date with the implementation status, if that's not a problem.
(23.08.2021, 10:58)Selur Wrote: Quote:Third time asking: please reintroduce the ability to disable the deinterlacer.
Not happening.
a. I see no scenario where either adjusting the scan type or the encoder settings doesn't help and this option is necessary.
b. Disabling it was broken and could cause Hybrid sometime interpreting the source as progressive when it wasn't.
So then I guess Hybrid won't do anything if the input is detected as progressive?
Posts: 10.982
Threads: 57
Joined: May 2017
Quote:So then I guess Hybrid won't do anything if the input is detected as progressive?
Yes, it does not deinterlace if the input is detected as progressive or the scan order/typ is overwritten to progressive.
Posts: 785
Threads: 16
Joined: Mar 2020
Yes. If the input is detected or manually force switched as progressive - deinterlacer is disabled. Easy to check by looking at Vapoursynth script window.
First time i also was confused when button "Use deinterlacer" was removed, but as Selur explained in other thread https://forum.selur.net/thread-1495-post...l#pid12425 it is technically more correct way to go.
"Hybrid does only deinterlace if:
a. the source is non-progressive
b. the output is not interlaced
If your source is flagged as interlaced, but in reallity is progressive: overwrite the scan type.
If your source is flagged progressive, but in reallity interlaced: overwrite the scan type."
(23.08.2021, 21:00)Selur Wrote: Quote:So then I guess Hybrid won't do anything if the input is detected as progressive?
Yes, it does not deinterlace if the input is detected as progressive or the scan order/typ is overwritten to progressive.
(23.08.2021, 21:02)shijan Wrote: Yes. If the input is detected or manually force switched as progressive - deinterlacer is disabled. Easy to check by looking at Vapoursynth script window.
First time i also was confused when button "Use deinterlacer" was removed, but as Selur explained in other thread https://forum.selur.net/thread-1495-post...l#pid12425 it is technically more correct way to go.
"Hybrid does only deinterlace if:
a. the source is non-progressive
b. the output is not interlaced
If your source is flagged as interlaced, but in reallity is progressive: overwrite the scan type.
If your source is flagged progressive, but in reallity interlaced: overwrite the scan type."
Makes sense. Thanks!
Posts: 10.982
Threads: 57
Joined: May 2017
Since you all were nagging I'll add a 'Deinterlace handling' option 'none', it is not recommend to use it and the adjustments I did to support it might have totally broken some stuff, but we will see.
Cu Selur
Posts: 10.982
Threads: 57
Joined: May 2017
@antoniu200: will send you a link to a dev version to test in a few minutes.
If add 'none' and 'CUVID (FFMPEG)' as deinterlacers.
Note that to use 'CUVID (FFMPEG)' Filtering->Support need to be set to 'no XSynth'.
I tested it with a few clips and it seem to work, but I'm pretty sure there are some bugs created by these two changes.
Cu Selur
|