View Full Version : ffdshow tryouts project: Discussion & Development
Peuj
2nd March 2007, 13:59
Hi,authors
Thank you for your efforts.
I can't playback(weird color/block noise?) this sample in wmv3(libavcodec).(ff_wmv9 is fine)
http://tirnanog.fate.jp/tmp/sample/wmv3/FullMetal%5bwmv+AAC%5d_remux-006.mkv
As for this sample works fine with libavcodec/ff_wmv9 either.
http://tirnanog.fate.jp/tmp/sample/wmv3/Bebop%5bwmv+AC3%5d_remux-004.mkv
I have tested with mpc/wmp10 and haali/gabest splitter.
Can anyone reproduce?
Regards.
Hi,
I can reproduce your playback problem (weird color/block noise).
I only have the problem with WMV3 set to libavcodec
http://sourceforge.net/tracker/index.php?func=detail&aid=1669045&group_id=53761&atid=471489
Tested:
directvobsub 2.37 + ffdshow-rev899_20070209_gcc_xxl +WMP
Bug, more vobsub bug, than ffdshow. May i guess, that that video have non-standart dimensions, like 638x478 instead of 640x480?
_xxl
2nd March 2007, 14:33
Bebop[wmv+AC3]_remux-004.mkv
Works for me.
MPC(WMP11)+Haali+latest ffdshow.
FullMetal[wmv+AAC]_remux-006.mkv
Confirmed.
Maybe libavcodec wmv3 support is incomplete.
Opening video decoder: [dmo] DMO video codecs
ERROR: Could not open required DirectShow codec wmvdmod.dll.
IMediaObject ERROR: 00DF62C6 no such class object (0x80004001 : -2147467263)
Failed to create DMO filter
You need to upgrade/install the binary codecs package.
Go to http://www.mplayerhq.hu/dload.html
VDecoder init failed :(
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
[wmv3 @ 00CC2A50]Profile value 2 is forbidden (and WMV3 Complex Profile is unsupported)
Could not open codec.
VDecoder init failed :(
Cannot find codec matching selected -vo and video format 0x33564D57.
Read DOCS/HTML/en/codecs.html!
==========================================================================
Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio Coding)
Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio Coding)
FAAD: compressed input bitrate missing, assuming 128kbit/s!
AUDIO: 48000 Hz, 2 ch, s16le, 128.0 kbit/8.33% (ratio: 16000->192000)
ID_AUDIO_BITRATE=128000
ID_AUDIO_RATE=48000
ID_AUDIO_NCH=2
Selected audio codec: [faad] afm: faad (FAAD AAC (MPEG-2/MPEG-4 Audio) decoder)
==========================================================================
AO: [dsound] 48000Hz 2ch s16le (2 bytes per sample)
ID_AUDIO_CODEC=faad
Video: no video
Starting playback...
Exiting... (End of file)
Peuj
2nd March 2007, 14:40
Works for me.
MPC(WMP11)+Haali+latest ffdshow.
Yes this one works well for me and for wyrd too (I think)
and I use too: MPC(WMP11)+Haali+latest ffdshow
kikker
2nd March 2007, 21:08
With the recent builds (I'm running 973) and VSfilter *OR* Vobsub and not at the same time, WMP11 just sits there if there are subtitles in the same folder as the AVI. In fact VistaMC just crashes altogether claiming the culprit is either VSfilter or Vobsub.
I was scratching my head over that one for a while until I rememberd the 'subtitles' section in ffdshow. If I check that off, things seem to be normal. Strange thing is that I never had to check that off before. :o
_xxl
2nd March 2007, 22:56
I was scratching my head over that one for a while until I rememberd the 'subtitles' section in ffdshow. If I check that off, things seem to be normal. Strange thing is that I never had to check that off before.
Any samples?
zambelli
2nd March 2007, 23:26
and in the ffdshow audio there are:
WMA 7
WMA 8/9
Actually, WMA7, WMA8 and WMA9 are all the same codec = WMA v2. The older v1 was used in products that I don't think even carried the Windows Media name, like MSN Audio or something. There really isn't a v3, unless you count Pro and Lossless as v3, but nobody does that.
Anima123
3rd March 2007, 03:40
I'm using drevil_xxl's build. Since rev978, there's compatible issue with CrystalPlayer. Cannot configure ffdshow within player and thus the output color space wont be YV12. Besides, the picture is upside down.
The last working build is rev964.
Edit: Just tried with success under Administrator. While I'm working under another restricted account, could that be the problem? How could I fix it?
Keepitsimple
3rd March 2007, 05:34
Is there a wikipage or something which lists what the different options in ffdshow do?
The number of things you can do is almost overwhelming without a decent documentation.
foxyshadis
3rd March 2007, 07:09
I'm not very versed on how inno and nsis work, so I'll leave it to you guys. But I found out from akupenguin that the default keyframe distance in FFV1 is way, way too high, and should be reset to 2-10 or so. 2 would probably be fine (4% larger), if you want to know how much loss in involved vs 300 frames:
1 - 7%
2 - 4%
3 - 3%
5 - 2%
10 - 1%
If you could set it to force a lower value if upgrading from an older version, that'd be cool. If anyone really needs it, I doubt it's a major inconvenience to reset it.
haruhiko_yamagata
3rd March 2007, 07:38
I'm using drevil_xxl's build. Since rev978, there's compatible issue with CrystalPlayer. Cannot configure ffdshow within player and thus the output color space wont be YV12. Besides, the picture is upside down.
The last working build is rev964.
Edit: Just tried with success under Administrator. While I'm working under another restricted account, could that be the problem? How could I fix it?
Do you see ffdshow-icons in the task tray?
What is the executable filename for your crystalplayer?
Does unchecking "Use ffdshow only in:" help?
cc979
3rd March 2007, 08:48
I'm using drevil_xxl's build. Since rev978, there's compatible issue with CrystalPlayer. Cannot configure ffdshow within player and thus the output color space wont be YV12. Besides, the picture is upside down.
The last working build is rev964.
Edit: Just tried with success under Administrator. While I'm working under another restricted account, could that be the problem? How could I fix it?
i thought crystal-player had its own codecs/filters
Delerue
3rd March 2007, 09:46
i thought crystal-player had its own codecs/filters
MPEG 1 and 2 are build inside the player, but xVid, DivX and H.264/AVC don't. I don't know about FLV (can't open), and WMV I'm not sure, but I think that it uses external codec.
BTW, this player has an amazing option called 'motion morphing' that is similar to the TrimensionDNM (from WinDVD), but unfortunately still has some bugs. :(
----------
Revision 981
srt subtitle:fix sticky italic
Oh, yeah, baby. Thanks!
;)
Dark_Angel_PT
3rd March 2007, 13:12
Can anyone tell me if the branch (beta 1) is being updated with bugs found and fixed in the trunk? Like the srt italics one?
foxyshadis
3rd March 2007, 13:35
Not until Beta 2.
Thanks drevil, checking it out. =D
Inventive Software
3rd March 2007, 20:55
Regarding your keyframes in FFV1 foxy, isn't that cause it doesn't really have delta-frames implemented as efficiently as, say, MSU?
JarrettH
4th March 2007, 02:30
what's in store for rev1000?:D
Inventive Software
4th March 2007, 03:24
Hopefully beta2, it's been long enough... ;)
foxyshadis
4th March 2007, 03:42
Well, akupenguin explained to me that it doesn't use delta frames at all in the classic sense. It only keeps context (dictionaries) around for future frames, sort of like rar solid archiving. He had a patch for delta frames that sounds cool and majorly effective, but it was never finished.
I was extremely surprised, actually, because I thought it was simply impossible to get that level of performance - the most efficient lossless video codec I've used - without advanced inter prediction. But then again, it only gives marginal gains to MSU as well, about 4% on my test case. (ending up about the same as ffv1 with 3 kf dist, and w/o it's a bit larger than ffv1 pure intra) Maybe MSU doesn't use deltas either, just context.
It's probably only really effective with true duplicate frames or 90% duplicates.
akupenguin
4th March 2007, 11:53
Maybe MSU doesn't use deltas either, just context.
MSU has a "Motion Estimation" tab. They wouldn't call it that if it didn't use conventional delta frames.
foxyshadis
5th March 2007, 08:22
This was brought to my attention by Fransiskus Febrianto in an email: http://sourceforge.net/tracker/index.php?func=detail&aid=1673817&group_id=173941&atid=867360
A strtrim() function doesn't exist in straight C/C++, sadly, but it exists in several alternative string libraries or the linux kernel, if anyone wants to pull a known good one out.
WRFan
5th March 2007, 09:15
ffdshow sets wrong merit for mpeg1 audio, I hate this decoder. I am using Vista x64 and there are no x64 merit changers available. Had to change the merits manually, both for MS Audio Mpeg decoder and ffdshow audio decoder. Why the hell are they doing this? Nobody would use this decoder unless absolutely necessary. I only installed it, because I couldn't find a x64 version of the intervideo decoders I usually use. I don't need it to decode mpeg1, because MS already provides a decoder for this purpose.
There is not a single x64 dx decoder for dvd available, so one would thing the ffdshow developers would invest their time in adding this function. Instead, they develop an mpeg1 decoder? which nobody needs! and then forcing people to use it?! how ugly is that?!!
To change the merits, go to
HKEY_CLASSES_ROOT\CLSID\{083863F1-70DE-11D0-BD40-00A0C911CE86}\Instance\{0F40E1E5-4F79-4988-B1A9-CC98794E6B55}
and
HKEY_CLASSES_ROOT\CLSID\{083863F1-70DE-11D0-BD40-00A0C911CE86}\Instance\{4A2286E0-7BEF-11CE-9BD9-0000E202599C}
the first one is the ffdshow crappy decoder, the second is the good old MS one. the merit starts (or rather ends, it's the other way around for some reason) with the fifth hex byte, set 00,00,60,00 for ffdshow and 00,00,80,00 for MS audio. or rather, you know what? set the ffdshow to 0x200001, that's just 1 above the do_not_use value. 'cause this decoder is as crappy as the mainconcept decoders that can't decode anything, but set the highest merit possible.
If someone knows of a x64 dx dvd decoder, please tell me. Can't even watch my favorite movies on x64 version of WMP, what a shame
_xxl
5th March 2007, 09:32
the first one is the ffdshow crappy decoder, the second is the good old MS one. the merit starts (or rather ends, it's the other way around for some reason) with the fifth hex byte, set 00,00,60,00 for ffdshow and 00,00,80,00 for MS audio. or rather, you know what? set the ffdshow to 0x200001, that's just 1 above the do_not_use value. 'cause this decoder is as crappy as the mainconcept decoders that can't decode anything, but set the highest merit possible.
It seems to me that you know everything better.
Leak
5th March 2007, 09:41
ffdshow sets wrong merit for mpeg1 audio, I hate this decoder.
Whoa there - did ffdshow's audio decoder run over your dog or something? :confused:
Instead of flaming about how ffdshow "sets the wrong merit" you could just have opened it's audio config dialog, gone to the "Codecs" page and just disabled the much hated "MP1/MP2" decoder or chosen to use libmad instead of mp3lib if it's quality is that bad.
Please do some research next time instead of making yourself look silly here...
WRFan
5th March 2007, 09:46
Instead of flaming about how ffdshow "sets the wrong merit" you could just have opened it's audio config dialog, gone to the "Codecs" page and just disabled the much hated "MP1/MP2" decoder or chosen to use libmad instead of mp3lib if it's quality is that bad.
I can't disable the mp2 decoder, because that's the only reason I installed this thing. the problem is that it's coupled with mp1 decoder for some reason, so you can't disable one without disabling the other one at the same time.
and yes, I tried the other mpeg2 decoder too, the libmad thingy, so what? ffdshow still decodes mpeg1, unless you change the merit. it's not even so much about ffdshow, but I've witnessed too many decoders in my life which are completely useless and still set high merits. those bundled with soundforge, the mainconcept crap, are a good example. please, just let the user decide! the developers always think they know better than the consumers.
Leak
5th March 2007, 09:55
In other things... it looks like I finally have succeeded to make an updated AviSynth filter that allows AviSynth some limited access to frames other than the current one (by buffering a specified amount of frames ahead and back) *and* makes it possible to actually drop or add frames (as long as it does so uniformly across the whole clip).
I.e. you can use stuff like TIVTC (which was my main motivation), Decomb, temporal filters and such on-the-fly... :D
I've also added an option to actually honor the interlace flags set by the decoder and apply 3:2 pulldown to the video before handing the frames to AviSynth - that helps a lot with smoothness if the flags on the video are horrible and you IVTC it yourself instead.
Of course, since my current code is mostly frankensteined together I'll need to go over it again to make a submittable patch and clean up some other stuff, and I still have to add the new options to the config dialog.
Anyway, if the patch is ready to go, who/where do I send it to? Or should I post it to the patches tracker on Sourceforge?
Also - is there a way to detect that the end of the stream has been hit? I'd need to deliver all samples still in the buffer at that point, as currently those silently get dropped - then again, dropping ~5 frames at the end of an episode or a movie probably is peanuts if everything else was properly IVTCed... :)
Leak
5th March 2007, 10:02
I can't disable the mp2 decoder, because that's the only reason I installed this thing. the problem is that it's coupled with mp1 decoder for some reason, so you can't disable one without disabling the other one at the same time.
Well, how about just asking to uncouple the MP1 and MP2 decoders on the config page then?
Also, the tone of your first post above was just rude - what was that meant to accomplish?
fastplayer
5th March 2007, 10:07
Also, the tone of your first post above was just rude - what was that meant to accomplish?
Tone? Those were just the joys of being an early adopter. 5 years too early. At least... :D
Bathrone
5th March 2007, 10:43
Ok, testing build revision 993, drevil compile, I always after install select the run audio and video config windows.
There was a crash as I moved onto the info and debug section of the video config app , and vista 32bit caught the following:
Product
Windows host process (Rundll32)
Problem
Stopped working
Date
5/03/2007 6:39 PM
Status
More information available
Problem signature
Problem Event Name: APPCRASH
Application Name: rundll32.exe
Application Version: 6.0.6000.16386
Application Timestamp: 4549b0e1
Fault Module Name: ffdshow.ax
Fault Module Version: 1.0.3.989
Fault Module Timestamp: 45eb1715
Exception Code: c0000005
Exception Offset: 000f0660
OS Version: 6.0.6000.2.0.0.256.1
Locale ID: 3081
Additional Information 1: cae0
Additional Information 2: c6b143c661515d69d4d8c4d358f23b56
Additional Information 3: 70ba
Additional Information 4: 86a876815086556d3329ef640b2e521b
Extra information about the problem
Bucket ID: 390435836
_xxl
5th March 2007, 11:01
Exception Code: c0000005
https://sourceforge.net/tracker/index.php?func=detail&aid=1670119&group_id=173941&atid=867360
foxyshadis
5th March 2007, 11:49
Leak, that sounds amazing. I gave it an hour and sort of gave up, I'm so glad you have more stamina. ;) Attaching a patch to the tracker and making a post linking to it here would probably be the best way.
Leak
5th March 2007, 11:56
Leak, that sounds amazing. I gave it an hour and sort of gave up, I'm so glad you have more stamina. ;) Attaching a patch to the tracker and making a post linking to it here would probably be the best way.
Roger that. :)
Gimme a day or two or so for the aforementioned clean-ups and interface changes, though.
And then there's that dentist appointment I'm off to in a few minutes... *ouch*
haruhiko_yamagata
6th March 2007, 13:17
Ok, testing build revision 993, drevil compile, I always after install select the run audio and video config windows.
Please test rev 994 or later, if it is fixed.
clsid
7th March 2007, 00:50
Subtitle suggestion:
Currently a user must choose between "Search in" and "File". I prefer (heuristic) search, but occasionally I manually need to select the correct file (from "subtitle sources"). Problem is that ffdshow remembers that setting. So next time I use it with a different video, it will use the wrong subs.
My suggestion is to remove the radio buttons. ffdshow should always use the Search method. A user can override the selected sub when needed by using the File field. That sub should then be used during the active session only.
fastplayer
7th March 2007, 01:52
Problem is that ffdshow remembers that setting.
Good idea!
It drove me nuts one time until I "figured out" to set ffdshow back to search for subtitles...
molitar
7th March 2007, 04:20
Well I am trying to use a software called uICE to send keyboard messages to the window to activate OSD. But for the life of me I can't get it to work at all. OSD works fine if I manually type in the keys but when I try to use the app uICE to send keys to it it does not register.
uICE can be downloaded from here... http://www.mediatexx.com/ it's only $20 vs $100 for Proximis Girder so I really would like some help on figuring out how to make it work with ffdshow so I can use this one. It also works 100x better with my serial port X10 remote while Proximis Girder will keep messing up the remote commands.
500 Kip
7th March 2007, 06:04
I get the following error when trying to launch the "Audio Decoder Configuration" from the start menu.
http://www.rmruk.com/pdf/ffdshow_audio.png
I'm using "ffdshow_rev1004_20070306_xxl.exe"
Peuj
7th March 2007, 10:14
I get the following error when trying to launch the "Audio Decoder Configuration" from the start menu.
http://www.rmruk.com/pdf/ffdshow_audio.png
I'm using "ffdshow_rev1004_20070306_xxl.exe"
I don't reproduce the problem with the ffdshow_rev1004_20070306_xxl.exe
haruhiko_yamagata
7th March 2007, 10:55
I get the following error when trying to launch the "Audio Decoder Configuration" from the start menu.
http://www.rmruk.com/pdf/ffdshow_audio.png
I'm using "ffdshow_rev1004_20070306_xxl.exe"
Are there any body who can reproduce this?
If not, the file (your local copy) may be broken.
Episode
7th March 2007, 15:59
Sorry, I cannot reproduce it either. Must be broken file or incomplete installation.
Leak
7th March 2007, 23:59
Gimme a day or two or so for the aforementioned clean-ups and interface changes, though.
Okay... it's probably gonna take a wee bit longer yet, as I hadn't taken into account that static DVD menus don't like simply being buffered for a certain number of frames because they'll never get displayed due to there being no notification that the remaining frames need to be flushed.
That's why I had to make a small modification to tvideocodeclibmpeg2.cpp/.h as well to signal the end of an MPEG2 sequence inside the picture's fieldtype flags. If that flag is encountered, the AviSynth filter will now flush all buffered frames and then reset the AviSynth environment, which is a bit ugly but also about the only way to make sure nothing is left in AviSynth's cache...
Oh yeah - code for applying 3:2 pulldown according to the TFF/BFF flags was also neccessary in turn to fix badly flagged DVDs with TIVTC.
So what's left is extending the UI to make the filter configurable, making a patch, testing it against a recent SVN checkout and submitting it, but I'll leave that for tomorrow. *yawn*
Oh yeah, another thing - while working with ffdshow as an MPEG2 decoder I noticed a total absence of DVD subtitles; am I right to assume that decoding/displaying of those is not implemented yet, or did I forget to throw a switch somewhere in the config dialogs?
np: Boards Of Canada - Aquarius (Version 3) (Peel Session)
MacAddict
8th March 2007, 00:56
Leak, thanks for your efforts in the cleanup. For me, watching a DVD with subtitles just requires me to right click in the window and select the subtitle from the sub-menu. Is this what you were looking for? Now that I think about it that might be MPC's sub engine :-\
HeadBangeR77
8th March 2007, 01:25
Leak, thanks for your efforts in the cleanup. For me, watching a DVD with subtitles just requires me to right click in the window and select the subtitle from the sub-menu. Is this what you were looking for? Now that I think about it that might be MPC's sub engine :-\
I can only second the first sentence. :)
As to MPEG-2 subtitles, there are none ... :( MPC's internal engine renders them in VMR9 and VMR7 renderless modes, which I don't use (VMR7 windowed as a rule). A fellow like me is derived of all possibilities of having DVD subtitles - MPC's splitter indicates their presence, but they cannot be rendered - neither while using MPC's MPEG-2 decoder (works better) nor ffdshow's one (works a bit worse, though has improved much recently).
If ffdshow's MPEG-2 decoding improved, then I could use VMR9 renderless + HQ RGB32. Internal ffdshow's support would be nice, though. ;)
@ clsid
Thanks a bunch for the latest 1006 ICL9 build! :)
@ h_yamagata
I could praise your name for working on ffdshow's subtitles (and albain's, whoever he is) ;)
Keepitsimple
8th March 2007, 03:07
whats wrong with ffdshows mpeg2 decoding?
HeadBangeR77
8th March 2007, 03:22
whats wrong with ffdshows mpeg2 decoding?
By simple watching, if you don't touch the keyboard, absolutely nothing. Artefacts (usually some macroblocks) appear while seeking/skipping + you've got to wait a while (from 1 sec to eternity ;)). I haven't got such problems while using the built-in MPC's decoding (ironically, both come from the same source i.e. ffmpeg).
haruhiko_yamagata
8th March 2007, 14:34
By simple watching, if you don't touch the keyboard, absolutely nothing. Artefacts (usually some macroblocks) appear while seeking/skipping + you've got to wait a while (from 1 sec to eternity ;)). I haven't got such problems while using the built-in MPC's decoding (ironically, both come from the same source i.e. ffmpeg).
As for DVD subtitles, I have not tested much.
But the artifacts have been fixed at rev 750 (libmpeg2).
Is it still noticeable?
Oh, yes, libavcodec mpeg2 decoder has such issue, please use libmpeg2.
_xxl
8th March 2007, 14:51
haven't got such problems while using the built-in MPC's decoding ironically, both come from the same source i.e. ffmpeg
MPC uses libmpeg2 not ffmpeg.
madshi
8th March 2007, 18:14
Hey guys,
I'm trying to get an instance of the ffdShow Audio Processor in my little Delphi program. But I'm desperately failing. This returns "class not registered":
const ffdShowAudioProcessor : TGuid = '{B86F6BEE-E7C0-4D03-8D52-5B4430CF6C88}';
CoCreateInstance(ffdShowAudioProcessor, nil, CLSCTX_ALL, IID_IBaseFilter, ffdShow);
The very same code works for every other DShow filter I've tried - but not for ffdShow. This code works:
CoCreateInstance(ffdShowAudioProcessor, nil, CLSCTX_ALL, IID_IUnknown, ffdShow);
However, trying to get an IBaseFilter interface (by using QueryInterface) again fails.
Can anybody help, please?
HeadBangeR77
8th March 2007, 22:08
As for DVD subtitles, I have not tested much.
But the artifacts have been fixed at rev 750 (libmpeg2).
Is it still noticeable?
I know it has really improved much somewhere after ICL9 743 (which still had many artefacts), as I wrote above. I thought everything was ok, yet after 10 minutes of seeking and jumping forwards and backwards I noticed some macroblocks (occasionally). Seeking wasn't perfect btw. (tried many DVDs, and my both optical drives + my notebook).
Oh, yes, libavcodec mpeg2 decoder has such issue, please use libmpeg2.
I've been using libmpeg2 all the time back from the beginning, so it's libmpeg2 (ffdshow) vs. libmpeg2 (MPC) duel. ;)
DeepBeepMeep
8th March 2007, 22:39
It seems there is a compatibility problem with Haali Filter and Ffdshow tryouts. The Video is accelerated at 29.97 fps instead of staying at 23.976 and Audio / Video gets out sync
when an EVO with VC1 is played.
It occurs if Ffdshow is added in the DirectShow chain that is:
- if Ffdshow is the VC1 decoder with either choice of codec
- if WMVVideo is the VC1 decoder and is followed by Ffdshow in the DirectShow chain
If WMVVideo is used alone there isn't any audio / video sync problem.
My assumption is that Telecine flags such as "Repeat field" are ignored by the the Ffshow filter.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.