Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
10th November 2011, 23:16 | #6901 | Link |
Registered User
Join Date: May 2004
Posts: 5,351
|
Nev, I'm confused, those deinterlacing changes only apply to the CUVID code or have you added software deinterlacing support? And people please pay attention to whatever answer we get and don't ask this 100 times. Thanks!
__________________
HTPC: Windows 11, AMD 5900X, RTX 3080, Pioneer Elite VSX-LX303, LG G2 77" OLED |
10th November 2011, 23:18 | #6902 | Link | |
Registered User
Join Date: Apr 2010
Posts: 49
|
Quote:
- You only understand English and need English subs for all other languages. - A film has a French main audio track and an English commentary track. There currently are no options to prioritze language tracks by flags (i.e., forced) so if you mux this film with both language tracks and tag them correctly for language you will always get the commentary track with subs turned off. Not at all what you want. The only way I've been able to keep the commentray track in a mux is to label it "und" knowing that then it would not be included in the selection criteria. I can't see any other way to handle this except to choose a completely unrealistic language tag for the commentary track. So I don't want to see "und" become a priority or I'd like to see a way to handle that scenario by flags or language logic. Note: Haali didn't/doesn't handle this any better. The "und" trick was the only way I could find to do it there too. Last edited by glorp; 10th November 2011 at 23:27. |
|
10th November 2011, 23:28 | #6903 | Link |
Registered User
Join Date: Dec 2002
Posts: 5,565
|
Well, nevcairiel does not want to apply any advanced logic to the audio selection at all, so my (unfinished) proposal wouldn't change your situation. You could still mark your commentary tracks as "und" and be happy.
Remember, my proposed prioritization when using the *-symbol: 1.) languages in the audio field 2.) "und" 3.) the rest Nothing would change for you, the proposal of prioritizing "und" over "the rest" is only for the *-character. Though your situation really shows one of the downsides of using Matroska files instead of DVDs/Blu-Rays with menus. Makes me even stronger think about searching the track names for things like "forced" or "commentary", instead of just looking at the Matroska flags. Last edited by sneaker_ger; 10th November 2011 at 23:30. |
10th November 2011, 23:39 | #6904 | Link | ||
Registered User
Join Date: Apr 2010
Posts: 49
|
Quote:
Quote:
Last edited by glorp; 10th November 2011 at 23:43. |
||
10th November 2011, 23:47 | #6905 | Link | |
Registered User
Join Date: Dec 2002
Posts: 5,565
|
Quote:
I'm currently writing down a few basic assumptions for a new proposal, but with that decision, certain limitations will remain, sadly. |
|
11th November 2011, 00:27 | #6907 | Link | |
Registered User
Join Date: Mar 2002
Location: Sofia, Bulgaria
Posts: 661
|
Quote:
I think these changes are meant to control the deinterlacer in madVR ... or any other renderer that reads the correct flags and obeys them ... and in the future probably for the software deinterlacer in LAV itself
__________________
Z370M Pro4 | i3-8100 | 16GB RAM | 256GB SSD + 40TB NAS NVIDIA GTX 1060 6GB (385.28) | LG OLED65B7V Win 10 64bit 1803 + Zoom Player v14 |
|
11th November 2011, 00:46 | #6908 | Link |
Registered User
Join Date: May 2004
Posts: 5,351
|
That's fine (and good as I wanted to test madVR deinterlacing vs the CUVID deinterlacing like you've been doing) but I just wanted to get clarification. Cause if I'm confused, others likely will be, too. But that's a good thing if that's what this change is for. I'll have to build myself a copy and then update to the latest nVidia beta driver since I BELIEVE they fixed that annoying black screen nonsense in 7MC in the latest driver.
__________________
HTPC: Windows 11, AMD 5900X, RTX 3080, Pioneer Elite VSX-LX303, LG G2 77" OLED |
11th November 2011, 07:47 | #6909 | Link | |||||
Registered Developer
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,348
|
Quote:
Quote:
Quote:
Quote:
Quote:
Regarding the advanced selection - i'm not sure why you really need the audio selection in there. It seems far more logical that people have a preferred audio language, and then want subtitles that go with that audio language, instead of the other way around. What kinds of rules are you aiming to achieve with that? "If english subs are present, use japanese audio" seems like a silly rule to me - its far more likely people want "If japanese audio is used, use english subs".
__________________
LAV Filters - open source ffmpeg based media splitter and decoders Last edited by nevcairiel; 11th November 2011 at 07:54. |
|||||
11th November 2011, 09:16 | #6910 | Link | |
Registered User
Join Date: Feb 2011
Posts: 26
|
Quote:
I'll test this ASAP and report back. |
|
11th November 2011, 09:40 | #6912 | Link |
Registered Developer
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,348
|
Once there actually are main stream codecs and files that use it, sure. Until then, no. (So not for some years)
__________________
LAV Filters - open source ffmpeg based media splitter and decoders |
11th November 2011, 17:10 | #6914 | Link | |
Registered User
Join Date: Nov 2002
Posts: 131
|
Quote:
Examples: Configured language: eng, fre Harry Potter: Audio: eng:"original", fre, esl Subs: eng, fre, esl Selected on playback: Audio: eng Sub: None Excel Saga: Audio: jpn:"original", eng Subs: eng Selected on playback: Audio: jpn Sub: eng Gwendoline: Audio: eng:"original", fre:"original" Subtitles: eng, fre Selected on playback: Audio: eng Sub: None Cheesy (Dubbed) Kung Fu Movie Audio: zho:"original", eng Subs: zho Selected on Playback Audio: eng Subs: None If that all makes sense... does it make sense to treat the default flag for audio tracks as the "original" flag in my suggestion? |
|
11th November 2011, 17:48 | #6915 | Link | |
Registered User
Join Date: Dec 2002
Posts: 5,565
|
Quote:
|
|
11th November 2011, 17:51 | #6916 | Link |
Registered User
Join Date: Dec 2002
Posts: 5,565
|
I have thought about an improved advanced selection logic, based on the following assumptions:
1. The audio track selection is not part of the advanced logic. This is by nev's choice and will not be changed. 2. The languages in the audio selection field are languages the user prefers over other languages. If possible, these should take priority over any quasi random selection. 3. "Undefined" tracks are more likely to be known by the user, than defined tracks that are not listed by the user as known languages. 4. Users might want to prioritize certain audio languages they do not understand. They need subtitles in a language they DO understand for these, though. 5. The selection fields should be both human readable and fillable, without having to resort to some kind of batch system. 6. The advanced logic should not make it necessary for the user to write down each and every possible combiniation. The more languages you understand, the more complicated it currently gets, because you basically have to write at least one pair for each possible combination. Wildcards are a solution to make the options faster to write and easier to read and grasp. 7. The new logic should for the most part be downwards compatible to the old logic. Exceptions are quasi random selections, which may be superceded by selections based on known languages. 8. The new logic shall be easy to implement, by substituting wildcards through combinations already known by the old logic. 9. People might want to select the subtitle language not based on the general order of known languages, but according to the currently selected audio language. The biggest problem I see with my new proposal, is the limitation imposed by assumption #1. This means that assumption #4 can not be satisfied in its entirety. The first change I deduce from assumption #4 and #1 is: a) the audio selection field has to be split into two separate groups: - [A] = the current audio selection field. LAV splitter will select the audio track according to this list, its meaning will stay the same and it is thus backwards compatible. If [A] is empty, then [A]=[B] - [B] = a new group with languages the user actually understands. If [B] is empty, then [B]=[A] b) Now we already have our two new wildcards: [A] and [B]. Naturally, LAV shall obey the order given by the user when selecting a track with these wildcards. c) We will also introduce a new operator: "!" (exclamation point) This operator allows the user to easily select only languages that are not part of a group (or isn't a specific language). d) To meet assumption #9 we need to introduce yet another wildcard: "[?]" (interrogation mark, in brackets as to stay consisted with the other wildcards) This wildcard means "same as selected audio language". This allows to select multiple audio/subtitle pairs, without having to write a new pair for every language. This wildcard can only be used for the subtitle, not for the audio. e) to account for assumptions 2#, #3 and #4, we need to redefine the "*"-wildcard. From now on it shall use the following order for the subtitle track: - select [B], incl. [?] - select "und", incl. [?] - select [A], incl. [?] - select the rest (e.g. by track ID, ascending) This order will increase the probability of a "lucky hit", i.e. selecting a language that is understood by the user. "[?]" shall NOT be prioritized within any group, for this could disobey the language order setup by the user. If he wants to prioritize "[?]", he has to create a separate pair. I will now give an example on how to use this new logic. We have an American that only speaks English, but likes to watch Korean and Japanese movies in their original audio. Of course he needs subtitles for that. In the "audio field" (group [A]): kor,jpn,eng In the "languages understood" (group [B]): eng In the "subtitle selection" field: [B]:[?]|f;[B]:[B]|f;[B]:off;![B]:* Let's not forget, because of assumption #1, the audio tracks is selected before anything else: 1.) tries to select a Korean audio track 2.) tries to select a Japanese audio track 3.) tries to select an English audio track Only after that comes the subtitle selection, which consists of four parts: 1.) if the user understands the selected audio track, it will try to select the forced subtitle track of the same language. If not found, try: 2.) if the user understands the selected audio track, it will select a subtitle track with a language understood by the user. If not found, try: 3.) if the user understands the selected audio track, subtitles will be deactivated. If not found, try: 4.) if the user does not understand the selected audio track, it will select any subtitle track, in the order [B], "und", [A], rest Some parts of the last pair can be exchanged with others and will probabably still lead to the desired result. Most users won't even need [A]. (The example shows why #1 and #4 can not be combined, btw. If a file has only a Korean and an English audio track, but no subtitles, the Korean audio track gets selected, even though the American can not understand a single word, because of the missing subtitles. A more advanced logic would be able to switch to the English audio track in this specific case, although the user usually prefers the Korean track.) Now this is a very simple example, which shouldn't be too complicated, even with the current logic. But if a user understands two, three or even more languages, the old logic gets very complicated. For the new logic, it doesn't really matter, you just enter the additional languages in field [A] and/or [B]. Now let's check if the new logic meets assumption #8, "easy to implement": The above example would translate to: eng:eng|f;eng:eng|f;eng:off;... (The fourth part of the selection would be too long to write out, but it doesn't pose any problems.) Basically all pairs with the new symbols can be subsituted by a number of pairs of the old logic. I'd say the remaining assumptions are also respected: #7: check, it does not redifine any existing setting, users can simply update. The only exception is the *-wildcard, but it wasn't predictable to begin with. #5: check, the new wildcards and the new operator are easily writeable and readable. In fact, the wildcards can significatly reduce the amount of characters, improving the user experience. Now for the summary: - Introduction of new wildcards [A] (audio track selection group), [B] (languages actually understood group), [?] (currently selected audio language) - Introduction of a new operator "!" (all languages BUT the group/language behind the operator) - Redefinition of the "*"-wildcard, new order: [B], "und", [A], rest My new proposal would make things shorter and easier, but sadly, it cannot solve #4 under the current conditions. |
11th November 2011, 17:54 | #6917 | Link |
Registered User
Join Date: Dec 2002
Posts: 5,565
|
(Sorry, the style got lost a bit while copying over from my text editor. Got to go, right now, I hope it's readable.)
Proposal for a combined subtitle and audio track selection. (I know it's insane, just a bit of brainstorming.) A combined subtitle and audio track selection could solve #4 shown in the example in my other proposal. The downside: assumptions #1 and #7 are false. Summary: - Introduction of new wildcards [A] (Group A), [B] (Group B), [?] (currently selected audio/subtitle language) - Introduction of a new operator "!" (all languages BUT the group/language behind the operator) - Redefinition of the "*"-wildcard, >new order for subtitles: [B], "und", [A], rest, off >new order for audio : [A], [B], "und", rest, off - Syntax extensions: combination of elements: >*:[A][B] >*:![A]![B] = *:!([A][B]) (more parts of the set theory supposable, of course) -several track types >[A]|f|d| -explicit definition of "|!n" = not forced, "|!d" = not default, "|!fd" = neither forced nor default etc.: [A]|!f = not forced of Group A The syntax extensions could of course also be used for the first proposal, but I wanted to keep that one sane. Regard them as "optional"! Example of the old proposal solved: Group [A]: kor,jpn (NOT eng) Group [B]: eng In the combined selection field: [A]:[B];[B]:[?]|f;[B]:[B]|f;[B]:off;*:* reads: 1.) Try to select an audio track of Group A and a subtitle track of Group B. If not found, try: 2.) Try to select an audio track of Group B and a forced subtitle track of the same language. If not found, try: 3.) Try to select an audio track of Group B and a forced subtitle track of Group B. If not found, try: 4.) Try to select an audio track of Group B and disable all subtitles. If not found, try: 5.) Select an audio track in the order [A], [B], "und", rest, off, and a subtitle track in the order [B], "und", [A], rest, off. We see that the problem of the old mode has been solved. With Korean and English audio and no subtitles, the English audio gets selected. With Korean and English audio, and an English subtitle track, the Korean audio and the English subtitles get selected. Last edited by sneaker_ger; 11th November 2011 at 17:58. |
11th November 2011, 18:01 | #6919 | Link | |
Registered Developer
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,348
|
Quote:
"[B]:off;![B]:*" is equal to "[B]:off;*:*" because [B] will never reach the last selection anyway. Also, instead of having a separate "group" for [B], maybe some kind of special symbol on the language tags could be used, to keep it in one box. I would propose "!" for "important", but it would be confusing with "!" meaning "not" in the advanced box. Maybe "~kor,~jpn,eng" ? :d I'll read it in detail later.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders |
|
11th November 2011, 18:06 | #6920 | Link | |
Registered User
Join Date: Dec 2002
Posts: 5,565
|
Quote:
But there's a reason we have "for()" in programming languages, even though we could as well combine "while()", "if()" and "i++". It is easier to write, read and grasp. I wouldn't regard my proposals as the solution. It's more like a base for further discussions. |
|
Tags |
decoders, directshow, filters, splitter |
|
|