Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add DGDecNV and BestSource chunk method #776

Merged
merged 7 commits into from
Nov 26, 2023

Conversation

Simulping
Copy link
Contributor

@Simulping Simulping commented Jul 16, 2023

As the title suggests, adds two new chunking methods to Av1an.

The docs is a bit general and could be worked on a bit since I don't really want to say anything that could be misinformation about the technical details. The current chunk method order now is: DGDecNV > lsmash > ffms2 > bestsource > hybrid

DGDecNV requires an external program called "dgindexnv" to index the video first, though its already bundled with the binaries and plugins itself provided, and as the name suggests, it requires an NVIDIA GPU. Which also requires PureVideo, but that's ancient technology so everyone should have it anyway. And only decodes AVC/HEVC/MPG/VC-1.

BestSource is similar to select, its slow but should decode everything

and from my observation and testing, both methods successfully "resolve" #745
here's a test clip where gray frames keep appearing: https://cdn.discordapp.com/attachments/587033245061873759/1126937326333997076/CutJJBA1-7.mkv

@shssoichiro
Copy link
Collaborator

Could you please run cargo fmt on your changes? The CI is complaining about the formatting, it seems.

@shssoichiro
Copy link
Collaborator

My biggest concern is that I've heard in the past there have been issues where hardware decoding of various codecs is not accurate. Is this something that should be taken into account?

@Quackdoc
Copy link

hwdec on a lot of devices is for sure not accurate a lot of times, that being said, having a super slim colorshift is probably a lot better then massive gray squares. IMO any hwdec should never be considered "accurate"

@shssoichiro
Copy link
Collaborator

I don't love having that as the default... but I'm not sure if there's a better option since lsmash kind of fails on VC1 and certain other codecs, and bestsource is really, really slow... I may brainstorm or google a bit when I have time.

@Bl4cKn1gh7
Copy link

I also don't think that having DGDecNV as the default makes that much sense, as it's not like everyone has an Nvidia GPU on their system. That being said, I think it doesn't hurt to add it as long as any concerns are included in the help page of Av1an, e.g. not mathematically lossless, requires nvidia purevideo, etc.

I think it would be a good addition to help solve the grey frame problem, and if someone has hardware that they want to use, as long as they're aware of what the nuances are, they should be able to use it. As long as it doesn't create problems for the rest of the program of course.

@Simulping
Copy link
Contributor Author

@shssoichiro @Bl4cKn1gh7 I'll restore the original order and edit the PR then, later

@master-of-zen
Copy link
Owner

we have a certified tabulation moment

@shssoichiro shssoichiro merged commit aa7058c into master-of-zen:master Nov 26, 2023
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants