(24.08.2021, 15:28)Selur Wrote: About the frame rate adjustment: That would only be needed in case the encoder is also ffmpeg based when piping the output to an encoder, the frame rate ist written by the encoder.
Yes, that's what it seems.
(24.08.2021, 15:28)Selur Wrote: Okay, I probalby will change teh cuvid support to only offer:
a. bob (this will do -deint 2)
a. same-rate (this will do -deint 2 -drop_second_frame)
Why not just redact it as "CUVID (FFmpeg)" and let the user choose whether, which and how to use the options CUVID provides? Similar to what you did with YadifMod.
Basically provide the options for "-gpu <string>", "-surfaces <int>", "-crop <string>" and "-resize <string>". And let the user enable and customize the options they want to use.
(24.08.2021, 15:28)Selur Wrote:
Quote:Sorry, forgot to mention that after the h264 input was loaded and the defaults were set, I restored the defaults. This is why I think defaults should not retain the decoder, but only the deinterlacer. Hybrid should always decide the decoder based on the input and never the user.
Okay, loading the defaults after loading the source will always cause problems, since most of the setting collected will be lost,...
-> probably not going to changing that.
I'll send you a video on Drive, so you can understand better. But that will be later.
Quote:Basically provide the options for "-gpu <string>", "-surfaces <int>", "-crop <string>" and "-resize <string>". And let the user enable and customize the options they want to use.
May be at another time. At some time I need to actually relax some time.
Main problem is with that, that users complain when their settings are not properly predicted by Hybrid and Hybrid crashes or created junk output because the user doesn't know what he is doing.
Especially not planning to add these features without knowing more about them, i.e. what war valid strings for '-gpu' also in what order will ffmpeg apply crop&resize? The order they are specified, always crop first, always resize first.
-> without proper documentation I'm not going to even try to implement these changes.
Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Quote:Basically provide the options for "-gpu <string>", "-surfaces <int>", "-crop <string>" and "-resize <string>". And let the user enable and customize the options they want to use.
May be at another time. At some time I need to actually relax some time.
Understood. No problem.
(24.08.2021, 15:46)Selur Wrote: Especially not planning to add these features without knowing more about them, i.e. what war valid strings for '-gpu' also in what order will ffmpeg apply crop&resize? The order they are specified, always crop first, always resize first.
-> without proper documentation I'm not going to even try to implement these changes.
Of course. Understandable.
For "-gpu", no idea.
For "-crop", it's as specified: "(top)x(bottom)x(left)x(right)".
for example: 6x6x0x0. Meaning 6 pixels cropped from top, 6 from bottom and none for left and right.
For "-surfaces", I don't know what that means.
For "-resize", as specified in the help again. You need to enter the desired output resolution.
You implement what you can, when you can, if you can.
I can help with testing for these particular features, because I see most of them useful, but not today. I'll let you know when, if you think it's helpful.
and what resolution does the output have for these.
2. Does crop properly work on interlaced content that isn't deinterlaced but again encoded to interlaced output?
3. Does crop need mod4 bottom and top crop values on YUV420 content if the input is interlaced and not deinterlacing is used?
4. Does crop need mod4 bottom and top crop values on YUV420 content if the input is interlaced and deinterlacing is used?
5. Does crop need mod2 crop values if the input is yuv420?
6. Will I get different output if '-resize', '-crop' ´, '-deint' are all used but their order differs? (related to the first question)
7. Does cuvid properly work when used with nvenc based encoders?
Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
and what resolution does the output have for these.
2. Does crop properly work on interlaced content that isn't deinterlaced but again encoded to interlaced output?
3. Does crop need mod4 bottom and top crop values on YUV420 content if the input is interlaced and not deinterlacing is used?
4. Does crop need mod4 bottom and top crop values on YUV420 content if the input is interlaced and deinterlacing is used?
5. Does crop need mod2 crop values if the input is yuv420?
6. Will I get different output if '-resize', '-crop' ´, '-deint' are all used but their order differs? (related to the first question)
7. Does cuvid properly work when used with nvenc based encoders?
24.08.2021, 19:36 (This post was last modified: 24.08.2021, 19:43 by Selur.)
Quote:The video of how the bug is triggered ..
try with the dev version I send you a link to,... it should refresh the decoder when starting the job creation.
That said, loading a Model after loading a source file will overwrite tons of settings and probably break other stuff.
-> I'll adjust Hybrid to throw out the current source if someone does this in the furture.
Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Also, I see a bit of an inexplicable drop in performance in Hybrid compared to FFmpeg. If I have an input file long enough, the FPS count will drop to around 50, while in FFmpeg it only drops to 86.
EDIT: As for the "none" deinterlacing option, I don't see how one could bug it, since the checks are done when the job is created. I think it should be kept for a couple of releases and then removed as well, because, at this point, all it does is tell the user they have to choose either to encode the video interlaced or to deinterlace it.