View Full Version : ffdshow tryouts project: Discussion & Development
mrcorbo
30th October 2008, 05:02
@ Eragon4ever
I like that layout, though I'd move the output sample formats section to the top above the S/PDIF options. Seems very clear and intuitive.
tal.aloni
30th October 2008, 08:42
Eragon4ever,
I appreciate the time, but It's not very accurate:
LPCM has nothing to do with SPDIF,
DTS is pass-through only, while AC3 can have post processing done on it.
I think the seperation should be based on pass-through.
but like I said, the original design stores the supported formats in the same reg key. it would be unwise to store AC3 twice, so it's either my latest design, or creating a new pass-though key.
Tal
Edit:
I just figured The only way to pass through AC3, and encode everything else to AC3, is adding a seperate pass-through checkbox, so we'll go back to clsid's design.
SeeMoreDigital
30th October 2008, 10:00
Eragon4ever,
I appreciate the time, but It's not very accurate:
LPCM has nothing to do with SPDIF,LPCM bitstream audio can be passed via SPDIF. As can AAC and WMA Pro bitstreams. There are even amplifiers with WMA Pro decoding chip-sets...
tal.aloni
30th October 2008, 10:26
LPCM bitstream audio can be passed via SPDIF. As can AAC and WMA Pro bitstreams. There are even amplifiers with WMA Pro decoding chip-sets...
True, but the LPCM checkbox in ffdshow cannot be outputted to spdif. (you can output LPCM to spdif if you select every other PCM format).
albain
30th October 2008, 10:26
I'd rather see the SPDIF options in a separate box (not the same as the output sample format), because it is clearer and also in the future there will be more : bitstream TrueHD, bitstream DTS-HD
tal.aloni
30th October 2008, 12:17
I'd rather see the SPDIF options in a separate box (not the same as the output sample format), because it is clearer and also in the future there will be more : bitstream TrueHD, bitstream DTS-HD
like this, right?
(I'm positive this is the way to go, pass-through should be seperated from the output sample format like you said, especially if we consider future formats (both pass-trough and encoding))
http://iknowu.net/files/public/ffdshow/Output.png
tal.aloni
30th October 2008, 12:25
Not good, the encode option has to be in the passthrough border, too. You could place the sample formats next to instead of on top of each other to gain some more room and then move the encode stuff in the correct border.
Well, the new plan is to sepeate between formats that will be post-processed, and formats that won't (pass-through).
pass-through formats will have priority if selected, and that's why they are on top.
Edit:
please note that the suggested modifications should give us some new functionality, for example:
+ the ability to have a preset that have DTS Pass-through only, and a preset that have AC3 pass-through only. (it was double or nothing up until today)
+ the ability to encode DTS to AC3 and pass-through AC3 in one preset and pass-through both in another.
albain
30th October 2008, 12:48
like this, right?
(I'm positive this is the way to go, pass-through should be seperated from the output sample format like you said, especially if we consider future formats (both pass-trough and encoding))
http://iknowu.net/files/public/ffdshow/Output.png
I think this is the best layout
Also, SPDIF will disappear from the AC3/DTS codec section.
Lastly, if AC3/DTS codec are set to disabled, no decoding and no passthrough will be applied (FFDShow won't be used).
Do we all agree on this layout and new rules ?
@tal.aloni : are you ready to implement this or you'd rather let one of us code ?
tal.aloni
30th October 2008, 13:06
SPDIF will disappear from the AC3/DTS codec section.
exactly, the checkbox as well.
Lastly, if AC3/DTS codec are set to disabled, no decoding and no passthrough will be applied (FFDShow won't be used).
of course.
Do we all agree on this layout and new rules ?
I do.
@tal.aloni : are you ready to implement this or you'd rather let one of us code ?
I'm already on it.
haruhiko_yamagata
30th October 2008, 13:58
The new dialog looks good.
@tal.aloni : please remember to support upgrade install from global settings to preset settings.
tal.aloni
30th October 2008, 15:20
The new dialog looks good.
@tal.aloni : please remember to support upgrade install from global settings to preset settings.
Is there a specific place in which I can transform the registry settings after the upgrade?
(I presume the "AC3 > spdif" setting will be replaced with other value, like "AC3 > liba52")
Edit:
I should do it in ffdshow_installer.iss, right?
albain
30th October 2008, 17:32
Is there a specific place in which I can transform the registry settings after the upgrade?
(I presume the "AC3 > spdif" setting will be replaced with other value, like "AC3 > liba52")
Edit:
I should do it in ffdshow_installer.iss, right?
Yes, you have to update ffdshow_installer.iss, but also the global settings : I see only one global setting to migrate to a preset setting, i.e the checkbox under in codec section "Use SPDIF when AC3 selected".
Also, all the code that accesses to CODEC_ID_SPDIF_AC3 and CODEC_ID_SPDIF_DTS (a global grep should do it) must be reviewed to take in account the preset settings + the codecId, unless you change the codecId before these tests occur.
For example, replace all the "if codecId==CODEC_ID_SPDIF_AC3"
by
if ((codecId==CODEC_ID_LIBA52 || codecId==CODEC_ID_AC3) && is_ac3_spdif_passthrough())
Last thing, that is tricky : in TaudioParser.cpp, I test if codecId for AC3 is set to SPDIF. However, this test is not based on the current codecId (which can be MLP/TrueHD), but according to the codecId assigned to the AC3 waveformat (WAVE_FORMAT_AC3_W)
So the test must be replaced by :
if (globalSettings->getCodecId(WAVE_FORMAT_AC3_W,NULL) != CODEC_ID_NONE && is_ac3_spdif_passthrough())...
Same thing for DTS.
Don't hesitate to tell me if you need some help
STaRGaZeR
30th October 2008, 18:29
I can confirm libav glitches with MP3. This (http://unigine.com/download/video/Unigine_Tropics_1024x576.avi) sample is full of them. No problems with libmad.
albain
30th October 2008, 19:25
I can confirm libav glitches with MP3. This (http://unigine.com/download/video/Unigine_Tropics_1024x576.avi) sample is full of them. No problems with libmad.
Do you have the same gildtches with mplayer using libavcodec ?
STaRGaZeR
30th October 2008, 20:11
Nope, MPlayer plays it fine. Also, If I demux it libav decodes it with no problems.
tal.aloni
30th October 2008, 20:40
How can I access current preset information from TaudioParser.cpp?
(everything else is working already)
Thanks,
Tal
albain
30th October 2008, 21:32
How can I access current preset information from TaudioParser.cpp?
(everything else is working already)
Thanks,
Tal
With deci you have access to all the parameters :
Example :
deci->getParam2(IDFF_ac3SPDIF) for an int value
deci->getParamStr(...) for a string value
tal.aloni
30th October 2008, 22:05
Thanks,
deci->getParam2(IDFF_aoutpassthroughsfs) return always 0, but the registry value associated is not 0. any idea what am I doing wrong? (inside the "init" method)
even existing values, like deci->getParam2(IDFF_outsfs) returns 0.
Edit: it's working inside "getCodecIdFromStream" method, can anyone explain?
Thanks,
Tal
haruhiko_yamagata
30th October 2008, 23:41
I don't know where you have inserted the code, but probably before preset settings are loaded.
Preset settings are loaded later (at the end of connecting) and we can't move this to earlier stage.
And that's why codec settings cannot belong to preset settings.
tal.aloni
31st October 2008, 00:22
I don't know where you have inserted the code, but probably before preset settings are loaded.
Preset settings are loaded later (at the end of connecting) and we can't move this to earlier stage.
And that's why codec settings cannot belong to preset settings.
Thanks, I managed to do it another way.
I have finished with the changes, and it's working flawlessly.
the only task left is the registry update during the setup,
the idea is to turn on AC3 passthrough if one has selected
AC3 > spdif, or has selected 'Use SPDIF when AC3 output set'.
(possibly, only in presets where AC3 output is set)
after that, we need to set AC3 > liba52 and delete the 'Use SPDIF when AC3 output set' reg key. same for DTS.
passthroughsfs (the preset reg key for pass-through sample formats supported) equals 1 when AC3 is set, 2 when DTS is set and 3 when both are set.
can somebody write / assist in making the necessary modifications to the install script?
Thanks,
Tal
p.s. along the way, I found an old bug:
DTS extracted from DTS-Waves are played back too fast when using DTS pass-through (48 instead of 44.1).
DigitalDeviant
31st October 2008, 02:01
I'm trying to use TIVTC on a few mixed film/hard telecine discs with r2265 and it seems that "apply pulldown" in the avisynth section doesn't work anymore. Is it really broken or am I doing something wrong?
albain
31st October 2008, 09:34
Thanks, I managed to do it another way.
I have finished with the changes, and it's working flawlessly.
the only task left is the registry update during the setup,
the idea is to turn on AC3 passthrough if one has selected
AC3 > spdif, or has selected 'Use SPDIF when AC3 output set'.
(possibly, only in presets where AC3 output is set)
after that, we need to set AC3 > liba52 and delete the 'Use SPDIF when AC3 output set' reg key. same for DTS.
passthroughsfs (the preset reg key for pass-through sample formats supported) equals 1 when AC3 is set, 2 when DTS is set and 3 when both are set.
can somebody write / assist in making the necessary modifications to the install script?
Thanks,
Tal
p.s. along the way, I found an old bug:
DTS extracted from DTS-Waves are played back too fast when using DTS pass-through (48 instead of 44.1).
Otherwise you can update it later (i.e the first time the parser receives a buffer).
Concerning DTS, I was not aware of this, I thought that I had fixed this : DTS in wav can have 96,48 or 44khz (even if 44 is the most common)
Concerning the installer, you can PM the patch and I will make the necessary modifications and send back an updated patch
SeeMoreDigital
31st October 2008, 09:40
Would something like this be practical/make sense to users: -
http://i33.tinypic.com/2vd01lu.png
Cheers
tal.aloni
31st October 2008, 10:16
Would something like this be practical/make sense to users:
No. the whole point is to move the output options (spdif included) to the output tab, and make them based on presets.
albain
31st October 2008, 10:55
Yes, the goal is to be able to switch the configuration with different presets, which is not possible inside codec section because these settings are static
DigitalDeviant
31st October 2008, 13:21
I'm trying to use TIVTC on a few mixed film/hard telecine discs with r2265 and it seems that "apply pulldown" in the avisynth section doesn't work anymore. Is it really broken or am I doing something wrong?
I narrowed it down to something changing in between r2228 and r2253.
Leak
31st October 2008, 14:18
I narrowed it down to something changing in between r2228 and r2253.
I'm pretty sure that's caused by r2236 (http://ffdshow-tryout.svn.sourceforge.net/viewvc/ffdshow-tryout?view=rev&revision=2236) - flagging soft telecined material as progressive is nice when the flags were set properly in the first place so that removing them will correctly yield progressive video, but it absolutely breaks "Apply pulldown" which relies (obviously) on the frames being flagged as interlaced and will of course produce artifacts if the flags are set wrong... :(
What would be needed here would be TvideoCodecLibmpeg2's SetDeinterlaceMethod flagging a frame as progressive and still setting the TFF/BFF flags - which should be possible, since they're separate bits in an enum.
So in most places the INT_TFF/INT_BFF bits should be just ignored when PROGRESSIVE_FRAME bit is set, but in the AviSynth filter "Apply Pulldown" would instead ignore PROGRESSIVE_FRAME in favour of the interlacing bits...
What do you think, Haruhiko?
EDIT: Come to think of it - shouldn't there be an option on the output page what to do with telecined video? I.e. an option to choose which flags to discard when both PROGRESSIVE_FRAME and TFF_?FF are set, as I'm sure some people (like those using TV out) would like telecined material to be flagged interlaced all the way to the renderer...
lucassp
31st October 2008, 15:21
Does FFDShow flag DV content as interlaced so that the VMR deinterlacer can do the deinterlacing?
tal.aloni
31st October 2008, 23:17
It took much more than expected, mostly because of the setup part, but here it is:
+ AC3 / DTS pass-through is now based on presets.
the new settings will be applied automatically during the setup (this was the most practical place)for the 'default' preset based on the old settings. (I'm guessing 99.9% of the users have a single preset).
if other presets exist, the pass-through settings will be disabled by default. that's unfortunate, but that's the best I can do. (again, we are talking about a group of sophisticated users, who use both 2 presets and SPDIF, they are the ones who will appreciate the new flexibility the most).
patch:
http://iknowu.net/files/public/ffdshow/2273-Passthrough-RC2-Patch.zip
here is a build as well, but it's built using MSVS-2005 , so the performance is not so good:
http://iknowu.net/files/public/ffdshow/ffdshow_rev2273_20081031-Pass-Through-RC2.exe
Note:
during testing, I found two bugs that were inherited from previous versions:
* 44,100hz DTS files are played back too fast when passed-through.
* DTS-WAV files playback result in "clicks" when passed-through.
I lack the knowledge needed to solve those issues.
Thanks to those who helped (the usual suspects),
Tal
haruhiko_yamagata
1st November 2008, 10:07
I'm pretty sure that's caused by r2236 (http://ffdshow-tryout.svn.sourceforge.net/viewvc/ffdshow-tryout?view=rev&revision=2236) - flagging soft telecined material as progressive is nice when the flags were set properly in the first place so that removing them will correctly yield progressive video, but it absolutely breaks "Apply pulldown" which relies (obviously) on the frames being flagged as interlaced and will of course produce artifacts if the flags are set wrong... :(
What would be needed here would be TvideoCodecLibmpeg2's SetDeinterlaceMethod flagging a frame as progressive and still setting the TFF/BFF flags - which should be possible, since they're separate bits in an enum.
So in most places the INT_TFF/INT_BFF bits should be just ignored when PROGRESSIVE_FRAME bit is set, but in the AviSynth filter "Apply Pulldown" would instead ignore PROGRESSIVE_FRAME in favour of the interlacing bits...
What do you think, Haruhiko?OK, I'll flag PROGRESSIVE_FRAME | INT_TFF/INTBFF there and ignore INT_TFF/INT_BFF when sending them to downstream.
EDIT: Come to think of it - shouldn't there be an option on the output page what to do with telecined video? I.e. an option to choose which flags to discard when both PROGRESSIVE_FRAME and TFF_?FF are set, as I'm sure some people (like those using TV out) would like telecined material to be flagged interlaced all the way to the renderer...
Oh, yes that was me who connected 1080i projector and forgot about it.
Could you implement this?
And even better average timestamps without requiring the help of AviSynth filter.
I have to finish yadif. It works for most files, but does not work for DVDs. I have understood why you have suffered that much on implementing the new AviSynth filter. I'll need your help.
tal.aloni
1st November 2008, 10:47
I was thinking of renaming the "Dolby Decoder" tab to "Extended Decoding" and move the decoder DRC setting there (so it will be preset based, and also slider based)
[with an appropriate label, like "Enable decoder dynamic range compression if available"]
I think that one slider for both AC3 and DTS is sufficient.
what do you say?
Leak
1st November 2008, 11:04
OK, I'll flag PROGRESSIVE_FRAME | INT_TFF/INTBFF there and ignore INT_TFF/INT_BFF when sending them to downstream.
Sounds good - and I think you've got more experience where those flags are checked than me... :)
Oh, yes that was me who connected 1080i projector and forgot about it.
Could you implement this?
How about adding a checkbox "Flag soft telecined video as progressive" to the output page? If it's checked, the INT_?FF flags will be discarded, and if it isn't checked the PROGRESSIVE_FRAME flag will be discarded instead - but of course only in case both are set.
I'll do that tomorrow if nobody objects...
And even better average timestamps without requiring the help of AviSynth filter.
I've always been thinking about turning the 3:2 pulldown part of the AviSynth filter into it's own "3:2 pulldown" filter - how about that?
The config page would have a checkbox to (de-)activate the filter and two radio buttons for "Apply pulldown" and "Smooth timestamps".
All it needs is to buffer the last frame, so it shouldn't be hard to do..
I have to finish yadif. It works for most files, but does not work for DVDs. I have understood why you have suffered that much on implementing the new AviSynth filter. I'll need your help.
Just ask away... :)
np: Uusitalo - Karhunainen (Karhunainen)
haruhiko_yamagata
1st November 2008, 12:43
It took much more than expected, mostly because of the setup part, but here it is:
I knew it would be much harder than just implementing the feature. All the more I asked you.
+ AC3 / DTS pass-through is now based on presets.
the new settings will be applied automatically during the setup (this was the most practical place)for the 'default' preset based on the old settings. (I'm guessing 99.9% of the users have a single preset).
if other presets exist, the pass-through settings will be disabled by default. that's unfortunate, but that's the best I can do. (again, we are talking about a group of sophisticated users, who use both 2 presets and SPDIF, they are the ones who will appreciate the new flexibility the most).
I think we should not come to a compromise. It's just very hard, not impossible. Was it really impossible for you?
albain
1st November 2008, 12:51
I was thinking of renaming the "Dolby Decoder" tab to "Extended Decoding" and move the decoder DRC setting there (so it will be preset based, and also slider based)
[with an appropriate label, like "Enable decoder dynamic range compression if available"]
I think that one slider for both AC3 and DTS is sufficient.
what do you say?
I agree it would be great.
Concerning the DTS in wav problem, I will dig this around when I will have the equipment to test it (by the end of the week-end). In the meantime, we can apply your patch (if other admins agree).
I have tested it on my side and it works.
tal.aloni
1st November 2008, 13:04
I think we should not come to a compromise. It's just very hard, not impossible. Was it really impossible for you?
I have dug more into the Inno setup documentation, and I found a way,
now the upgrade is entirely automatic.
Here is the updated patch:
http://iknowu.net/files/public/ffdshow/2273-Passthrough-RC4-patch.zip
build:
http://iknowu.net/files/public/ffdshow/ffdshow_rev2273_20081031-Pass-Through-RC4.exe
clsid
1st November 2008, 13:23
I don't think it is really needed to support an upgrade path for non-default profiles. Sure it is possible, with InnoSetup pascal code you can do pretty much everything, but imho it is a waste of time. Power users should be able to figure out what to do themselves. Many users re-install ffdshow instead of updating anyway. Too much non-essential backwards compatibility just creates a mess. But it is your call. If you think it is useful, then go ahead and implement it.
nautilus7
1st November 2008, 13:31
albain, 7.1 TrueHD work now. Thanks.
rickardk
1st November 2008, 14:08
I was thinking of renaming the "Dolby Decoder" tab to "Extended Decoding" and move the decoder DRC setting there (so it will be preset based, and also slider based)
[with an appropriate label, like "Enable decoder dynamic range compression if available"]
I think that one slider for both AC3 and DTS is sufficient.
what do you say?
Great idea!
ACrowley
1st November 2008, 14:16
albain, 7.1 TrueHD work now. Thanks.
which build do you mean ? i cant see a new build from albain on the last pages ?
i think i mised some updates ? TrueHD into m2ts is working now when i seek forward in bigger Steps. It wasnt working with older builds, because the Audio stops with some distortions etc
Now its fine :)
nautilus7
1st November 2008, 14:24
It's not by albain. It's from here: http://xvidvideo.ru
Eragon4ever
1st November 2008, 14:30
The audio branch has been imported to trunk so any rev2253+ trunk builds contain the new codecs. The 7.1 TrueHD fix was at rev2266.
ACrowley
1st November 2008, 15:06
The audio branch has been imported to trunk so any rev2253+ trunk builds contain the new codecs. The 7.1 TrueHD fix was at rev2266.
thx 4 info, i use ffdshow_rev2275_20081101_clsid.
DrKnowLittle
1st November 2008, 16:58
I have a small subtitle request that I think would benefit most users. When having a movie with embedded subs it always takes priority over any external subtitle file nomatter what order one set in the "Extensions Priority" list. I would like to see a "Use Internal subs only if no external is found" checkbox or even better "fix" the priority list to include a "internal" tag so one could choose whatever is best.
Other than that I can't see how ffdshow_tryouts can get any better :thanks::thanks:
LotharZ
1st November 2008, 22:17
I have an small sugestion, now that there are some improves over embedded subtitles.
What about to add an option to override the font that comes with some movies and change their size?
That could be useful when they have some unreadable or extremely ugly font.
thx
avivahl
1st November 2008, 23:31
I have a small subtitle request that I think would benefit most users. When having a movie with embedded subs it always takes priority over any external subtitle file nomatter what order one set in the "Extensions Priority" list. I would like to see a "Use Internal subs only if no external is found" checkbox
+1!!! This would by really helpful! :O
haruhiko_yamagata
1st November 2008, 23:34
I don't think it is really needed to support an upgrade path for non-default profiles. Sure it is possible, with InnoSetup pascal code you can do pretty much everything, but imho it is a waste of time. Power users should be able to figure out what to do themselves. Many users re-install ffdshow instead of updating anyway. Too much non-essential backwards compatibility just creates a mess.
I'm against your opinion. Less than 0.1% of users are reading here. If they suddenly loose output from SPDIF, they will waste their time a lot. If they are unlucky, they will loose more than one hour until they find it. And naturally stop using ffdshow.
His code isn't messy at all. It's quite readable.
LoRd_MuldeR
2nd November 2008, 00:08
I saw that Yadif is available as a "built-in" deinterlacer in MT-branch builds. Since I use Yadif a lot, I'd like to see that feature in "regular" builds. Are there any plans?
Yes, I know that I can use Yadif via Avisynth. But it takes quite some time to load up the Avisynth environment. So I'd prefer the internal version...
Anima123
2nd November 2008, 04:08
I was thinking of renaming the "Dolby Decoder" tab to "Extended Decoding" and move the decoder DRC setting there (so it will be preset based, and also slider based)
"Dolby Decoder" will be activated even the in stream is just plain stereo. How about add an option to bypass "Dolby Decoder" when there's no rear channel within the in stream no matter it's been chosen or not?
haruhiko_yamagata
2nd November 2008, 04:32
I have dug more into the Inno setup documentation, and I found a way,
now the upgrade is entirely automatic.
Here is the updated patch:
http://iknowu.net/files/public/ffdshow/2273-Passthrough-RC4-patch.zip
build:
http://iknowu.net/files/public/ffdshow/ffdshow_rev2273_20081031-Pass-Through-RC4.exe
Thanks for the fix.
if (presetList[index] <> 'default') thenActive preset should be gotten from ffdshow_audio/activePreset in the registry. If it fails default to 'default'.
The installer still list "SPDIF" below AC3 and DTS, but does nothing if I change it to "SPDIF".
haruhiko_yamagata
2nd November 2008, 04:33
I saw that Yadif is available as a "built-in" deinterlacer in MT-branch builds. Since I use Yadif a lot, I'd like to see that feature in "regular" builds. Are there any plans?
Yes, of course. Please read a few posts above (http://forum.doom9.org/showthread.php?p=1208719#post1208719).
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.