View Full Version : ffdshow tryouts project: Discussion & Development
Rectal Prolapse
25th March 2007, 20:27
DeepMeepBeep said:
What seems to indicate that this a ffdshow bug is that like multiblitz mentioned it, if you don't use ffdshow as a VC1 decoder but only as a postprocessor filter you get the issue while the same VC1 decoder alone without ffdshow works fine.
I can confirm this - everything gets reported as 29.97 by FFDShow when it is attached to a VC1 decoder in the chain. Verified by Reclock and VMR9.
Fizick
25th March 2007, 21:58
I try to use ffdshow for realtime encoding to MPEG2 in AVI (constant bitrate, lavcodec).
I found that I must set "decoder bitsteam buffer size" to big value (about 10000000) and "maximum bitrate" to non-zero at "ratecontrol" tab. In other cases encoder freeze my system. may be it is possible somehow protect user from wrong settings. For example, use mean bitrate as a max bitrate, and auto-enlarge buffers to safe value (how to calculate it?).
haruhiko_yamagata
26th March 2007, 00:07
AFAIK, Haruhiko's builds were all ANSI. That could explain the manifest issue (see link above or here (http://www.codeguru.com/forum/showthread.php?t=386815&highlight=manifest))
It's all so much easier in a managed environment though :D
ANSI or UNICODE does not mater. Leak's builds are UNICODE, but it have the same behavior.
ferchon03
26th March 2007, 00:08
Hello, I have a problem and I can't find a solution.
Every time I close the ffdshow video or audio decoder configuration I get this error:
"RunDLL An exception occurred while trying to run 'ffdshow.ax,configure'."
I've installed XP SP2 and the latest ffdshow from free-codecs.com.
Anyone know how I can fix it?
Thanks in advance.
Dr Pizza
26th March 2007, 02:24
The only thing I've found that's obviously broken in x64 is the OSD; the display is completely corrupt. This isn't new, though; the old ffdshow x64 build has the same problem, so whatever's broken has been broken for many months.
Oh, now I see that the OSD uses MMX. Didn't think of that. I'm beginning to implement the MMX stubs (using SSE2 integer ops), as that seems to be the easiest way to move forward (as it means the code using MMX intrinsics can remain unchanged). The code is now better than it was, but there are still visual problems with the OSD. It's readable, kinda, but something's getting screwed up with the outlines. I might be doing some arithmetic backwards or something. Though I haven't compared to see how it looks in a 32-bit build, so maybe not.
I've only put in the functions needed for the OSD so far, because it's easy to tell when they're working and when they're not. I don't know what the other things (kernelDeint, TomsMoComp) should do, so I don't know how to tell if they're working or not.
Edit: aha, the problem was I was using a signed function for something that should have been unsigned. With that fixed I now have a properly working OSD.
Leak
26th March 2007, 07:42
Every time I close the ffdshow video or audio decoder configuration I get this error:
"RunDLL An exception occurred while trying to run 'ffdshow.ax,configure'."
I've installed XP SP2 and the latest ffdshow from free-codecs.com.
Anyone know how I can fix it?
That usually happens if you have more than one version of ffdshow installed somewhere and configure brings up the config dialog of an older installation (i.e. not the one you installed last).
Look where the links are pointing to and make sure they're pointing at the directory where you last installed ffdshow, and probably clean up older installations if that's what's causing this... :)
Removing all ffdshow versions and then installing just one should also fix it, I guess.
SealTooGreat
26th March 2007, 08:30
@haruhiko_yamagata
HERE (http://www.mytempdir.com/1270174) is the ffdshow video preset that i use, referring my previous post (http://forum.doom9.org/showthread.php?p=974892#post974892)...btw I've tried ffdshow_rev1074_20070325_clsid_sse_icl9 and it doesn't strech my anamorphic encodes (xvid/ac3/avi) while keeping green line in the right border.
cc979
26th March 2007, 09:56
@haruhiko_yamagata
HERE (http://www.mytempdir.com/1270174) is the ffdshow video preset that i use, referring my previous post (http://forum.doom9.org/showthread.php?p=974892#post974892)...btw I've tried ffdshow_rev1074_20070325_clsid_sse_icl9 and it doesn't strech my anamorphic encodes (xvid/ac3/avi) while keeping green line in the right border.
what video card have you got ?
haruhiko_yamagata
26th March 2007, 09:59
@haruhiko_yamagata
HERE (http://www.mytempdir.com/1270174) is the ffdshow video preset that i use, referring my previous post (http://forum.doom9.org/showthread.php?p=974892#post974892)...btw I've tried ffdshow_rev1074_20070325_clsid_sse_icl9 and it doesn't strech my anamorphic encodes (xvid/ac3/avi) while keeping green line in the right border.
Thank you for your preset, I'm begining to understand.
I found milan's 20051115 works, 20051129 does not work.
beta1 works? I can't reproduce this.
It's "Output->Allow output format change during playback".
3 mode for this was introduced between 20051115 and 20051129. Intermediate state does not work. It works with it checked and "Connect to compatible filters only" unchecked. If "Connect to compatible filters only" is checked MPC fails over VMR on Windows Xp.
Haali's renderer is not working for me (probably because of my hardware). I have black screen. The AR changes correctly with 20051115 though. So my testing is not reliable.
Should Haali's renderer be added to compatible filters?
Please test rev 1075 with "Output->Allow output format change during playback" checked and "Connect to compatible filters only" unchecked.
With the setting above, beta1 works, beta2a does not work. So I think I have understand your issue :D.
wozio
26th March 2007, 12:07
Hi,
I have a question: is it possible to use VMR9 deinterlacing using ffdshow for decoding for example mpeg2 tv broadcasts? It is possible with dscaler5 when set to auto deinterlacing and nv12 output color space and also in coreavc (for h264 of course) when set to directshow deinterlacing.
Has it something to overlay mixer hw deinterlacing option in outut tab?
Regards
Piotr
SealTooGreat
26th March 2007, 12:54
@haruhiko_yamagata
"Use overlay mixer" also has to be checked in order to get correct AR and I always keep "Connect to compatible filters only" unchecked 'cause Haali Renderer is not on the list. And you are right it doesn't work with "Output->Allow output format change during playback" intermediate state.
It seems that rev 1075 doesn't exist at ffdshow download page. Have you meant rev 1074?!
With the setting above, beta1 works, beta2a does not work.
I wonder why?!:confused:
...I've rolled back to rev1006_clsid_sse_icl9 - works fine for me considering this problem I came on.(beta1 works fine too)
Leak
26th March 2007, 13:02
It seems that rev 1075 doesn't exist at ffdshow download page. Have you meant rev 1074?!
He definitely meant rev. 1075 (http://svn.sourceforge.net/viewvc/ffdshow-tryout/?view=log) - it's just that nobody has compiled it yet...
kurt
26th March 2007, 13:09
...I've rolled back to rev1006_clsid_sse_icl9 - works fine for me considering this problem I came on.(beta1 works fine too)
here beta2 doesn't work only for avi files (par.testfile) (http://home.arcor.de/evil.bert/test/xvid.par.avi)
other containers like mkv/mp4 don't show this behavior...
info:
latest mpc build by drevil_xxl
latest haali splitter
Edit: nevermind, rev 1075 should fix it
marcellus
26th March 2007, 14:02
I try to use ffdshow for realtime encoding to MPEG2 in AVI (constant bitrate, lavcodec).
I found that I must set "decoder bitsteam buffer size" to big value (about 10000000) and "maximum bitrate" to non-zero at "ratecontrol" tab. In other cases encoder freeze my system. may be it is possible somehow protect user from wrong settings. For example, use mean bitrate as a max bitrate, and auto-enlarge buffers to safe value (how to calculate it?).
In ffdshow encoder dialog use Presets->Load All->Libavcodec DVD PAL (or anything you find apropriate). This should give good defaults. I myself use that preset but I change bitrate from 6000 to 1500-2000 kbs (plus I use 2 b frames). With that setting I obtain acceptable tv captures.
Fizick
26th March 2007, 19:54
marcellus,
thanks. (My CPU is slow, so I try use 352x576. with max bitrate 4000. )
Leak
26th March 2007, 20:18
Download (http://leak.no-ip.org/AviSynth/ffdshow/)
Patch (https://sourceforge.net/tracker/index.php?func=detail&aid=1676882&group_id=173941&atid=867362) (against rev. 1076)
Another small update - I've added "applying pulldown" to the OSD info when pulldown is actually being applied.
I've also added debug printouts, which can be activated by starting the Avisynth script with a "#debug" comment. Those printouts can be logged with utilities like Sysinternal's DebugView.
np: Denzel + Huhn - Karlsruhe (Paraport)
SealTooGreat
26th March 2007, 20:19
@haruhiko_yamagata
rev 1075 works fine with MPC(+Haali Renderer), considering PAR/anamorphic issue.
Thanx :)
marcellus
26th March 2007, 21:29
@Fizick
I don't know what cpu you have, mine is an AthlonXP 2600 (I wouldn't call it fast these days :( ) and I capture full PAL->Kerneldeinterlace->Mpeg2 encode. (the audio part is captured as wav, I convert it to mp2 after the capture). I always use icl9 ffdshow compiles, it really makes a difference.
But keep in mind that a larger bitrate means more cpu needed (i don't know why) so that's why I keep it low at 1500 kpbs. 4000 kbps at 352x576 I think is overkill with libavcodec quality.
I forgot to mention that I "cooked" a custom quantization matrix that works very well with libavcodec mpeg2 encoder (I tried it with Xvid too but although I got good results I sticked with H.236 for Xvid encodes):
8,14,18,21,23,24,26,27
14,21,24,27,29,30,32,33
18,24,28,30,33,34,36,37
21,27,30,33,35,37,38,39
23,29,33,35,37,39,40,41
24,30,34,37,39,40,42,43
26,32,36,38,40,42,43,44
27,33,37,39,41,43,44,46
16,20,23,24,26,27,28,29
20,24,27,29,30,31,32,33
23,27,29,31,32,33,34,35
24,29,31,33,34,35,36,37
26,30,32,34,35,37,37,38
27,31,33,35,37,38,39,39
28,32,34,36,37,39,40,40
29,33,35,37,38,39,40,41
Kado
26th March 2007, 21:35
Hello
I was wondering if someone could add the wma decoder to the list of selectable decoders for WMA 7/8/9 like it it was done before but for WMV formats, so instead of using libavcodec I could use wma decoder within ffdshow.
Also I found the following issue:
If the plug in "dsp_stacker.dll" for Winamp is in the plugins folder after opening a file that uses ffdshow audio decoder if you try to open the audio decoder panel, the player (MPC in my case) hangs and you need to use the task manager to close it. This only happens if the winamp dsp option is enabled in ffdshow (i'm using enhancer for audio processing).
Steps to replicate this event:
Enable dsp processing in ffdshow with a plugin like Enhancer (http://www.winamp.com/plugins/details.php?id=81361) , install Multiple-DSP Stacker (http://www.winamp.com/plugins/details.php?id=128742) , open a file that uses ffdshow audio decoder and try to open the decoder panel.
If you load the file then install the dsp stacker the panel will open normally and the dsp stacker will be listed in the dsp plugins list.
Kado
foxyshadis
27th March 2007, 13:07
The wmv decoders do list wmv, as long as you have them installed correctly. I think it requires at least WMP9, I can't say for sure though, since I have 11 now.
Will have to test the DSP issue, although some DSP plugins just plain aren't coded very nicely, and practically none support greater than 16-bit stereo.
Leak
27th March 2007, 13:19
The wmv decoders do list wmv, as long as you have them installed correctly. I think it requires at least WMP9, I can't say for sure though, since I have 11 now.
Right, but Kado wanted the same for WMA in the audio decoder - only libavcodec can be chosen for WMA 7-9...
Kado
27th March 2007, 14:06
Will have to test the DSP issue, although some DSP plugins just plain aren't coded very nicely, and practically none support greater than 16-bit stereo.
In my case, Enhancer only suports audio up to stereo and 16bits max, so if you put the mixer (i'm using quadro settings) in front of the winamp dsp (in ffdshow) there won't be any sound processing from Enhancer, the same happens if the original file is 24bits or greater since ffdshow only converts the sample format in the end of all processing. Anyway the problem comes from the dsp stacker plugin, and since I only use it when shoutcasting (very rare) I remove the dll extension from the file and everything goes great.
Regarding WMA, I want exactly what Leak said, and I have WMP11 installed aswell.
Also since I have an Audigy 2 ZS is it worth to force 24bit output?
Kado
iron2000
27th March 2007, 16:35
The wmv decoder doesn't show for me.
Now on WMP10 with WM11 runtime.
WMP11 seems even more bloated and occupy more disk space so I choose 10 instead.
Are the Real and QT decoders suppose to show too?
Mine is only libavcodec.
clsid
27th March 2007, 17:01
Are the Real and QT decoders suppose to show too?
Mine is only libavcodec.
Only libavcodec is available for those. Also note that RealMedia is only partially supported, so it is pretty much useless.
Inventive Software
27th March 2007, 20:52
What the hell happened to ffdshow while I was away from Doom9 eh? :p :D ;)
oddball
27th March 2007, 23:28
ffdshow has problems with high bitrate DTS (1536kbps). AC3Filter plays them back flawlessly but ffdshow output stutters. I use SPDIF out in both ffdshow and AC3Filter.
David1105
28th March 2007, 01:39
Which ineterface in source of ffdshow, which grants access to change settings for "Audio settings" (Specifically, check/uncheck "Volume", "Normalize" and "Max. amplification", etc.), in the Audio Decoder Properties page?
IaudioFilterVolume seems like not exposed to outside. Is IffProcAudio the right one?
Thanks!
Kado
28th March 2007, 11:33
Which ineterface in ffdshow which grants access to change settings for "Audio settings" (Specifically, check/uncheck "Volume", "Normalize" and "Max. amplification", etc.), in the Audio Decoder Properties page?
Do you mean this (http://img.villagephotos.com/p/2004-6/737150/ffdshow_audio_panel.jpg)?
Kado
Peuj
28th March 2007, 16:58
Hi,
Just to know, have the Didee's YlevelsG, YlevelsS, YlevelsC been fixed finally?
http://forum.doom9.org/showthread.php?p=902088#post902088
Thanks
Revgen
28th March 2007, 17:52
I have problems capturing video using Dscaler 4.1.15 ( www.dscaler.org ) and FFDShow tryouts version 1058 March 22nd.
This happens on all previous versions of FFDshow too. Whenvever I try to cap using the VFW interface with ffdshow, my caps look good for half-a-sec then they turn into garbage.
Here's a clip for you guys to look at.
http://www.mediafire.com/?cog4grzzqzz
It's a huffyuv cap. It plays in VLC player. I can't open it in Vdub though.
Is it possible that Dscaler and FFDshow are using shared resources and possibly causing a conflict?
David1105
28th March 2007, 18:52
Do you mean this (http://img.villagephotos.com/p/2004-6/737150/ffdshow_audio_panel.jpg)?
Kado
No, I mean to change those settings programmatically, rather than manually.
_xxl
28th March 2007, 19:44
ffdshow has problems with high bitrate DTS (1536kbps). AC3Filter plays them back flawlessly but ffdshow output stutters. I use SPDIF out in both ffdshow and AC3Filter.
Can you do a regression test to see if this is a ffdshow/tryout bug?
multiblitz
28th March 2007, 23:00
DeepMeepBeep said:
I can confirm this - everything gets reported as 29.97 by FFDShow when it is attached to a VC1 decoder in the chain. Verified by Reclock and VMR9.
Can someone look into this bug ? PLEEEEEEEEAAAAAASE
Leak
29th March 2007, 08:32
I can confirm this - everything gets reported as 29.97 by FFDShow when it is attached to a VC1 decoder in the chain. Verified by Reclock and VMR9.
Well, if it works anything like DVD does then that's correct.
23.976FPS material on DVDs actually states that it's 29.970FPS in the video info header, but then the decoder only returns 23.976 frames per second (with timestamps that alternate between 33 and 50ms duration) and sets flags on the video to mark it as interlaced - that's what's called soft pulldown.
It's then up to the Video Renderer to make sense of everything and recognize that mess as 23.976FPS (or just treat it as 29.970FPS interlaced, like your good old analog TV set would); of course it could be that ffdshow doesn't pass all flags along correctly, but the video stream probably is marked as 29.970FPS in the video info header.
haruhiko_yamagata
29th March 2007, 09:41
Hi,
Just to know, have the Didee's YlevelsG, YlevelsS, YlevelsC been fixed finally?
http://forum.doom9.org/showthread.php?p=902088#post902088
Thanks
Yes, it has been fixed.
Randi
29th March 2007, 11:32
i can confirm the high bitrate (1.5mbit) DTS bug, also that it used to work in older versions, I don't have time to test which version, though
DeepBeepMeep
29th March 2007, 11:42
it could be that ffdshow doesn't pass all flags along correctly, but the video stream probably is marked as 29.970FPS in the video info header.
Yep that's my theory (see my previous post). However the issue isn't only about fps reported incorrectly, the video is really accelerated as if it had really 29.970 fps and consequently audio and video gets out of sync
fastplayer
29th March 2007, 11:48
i can confirm the high bitrate (1.5mbit) DTS bug, also that it used to work in older versions, I don't have time to test which version, though
Does it happen too when downmixed to stereo?
_xxl
29th March 2007, 14:28
also that it used to work in older versions, I don't have time to test which version, though
I don't have time to fix your bug.
Peuj
29th March 2007, 15:52
Yes, it has been fixed.
Thanks :)
Peuj
29th March 2007, 16:33
I have some questions about the "Levels":
I want to do this YlevelsS(0,1.6,255,0,255).
So I select YlevelsS but after I'm lost :p
Should I set input "0,255" || ouput "0,255" and Gamma 1.6 ?
because I see in this thread http://forum.doom9.org/showthread.php?t=113991&highlight=ColorYUV that for Levels(16,1,240,0,255) I have to do: input "16,240" || ouput "1,255" and Gamma 1
I think I miss something with the Gamma value :confused:
Some other questions about the Levels:
Do I need to check "Show histogram" and "Full range"?
What is the Automatic check box?
Thanks for your help.
foxyshadis
29th March 2007, 17:35
Yes, that's exactly how to translate from avisynth syntax to a levels gui. (Some gui put the gamma slide in with the input, which is where avisynth got its version.)
Show histogram just overlays a grey histogram on the levels window, so you can watch your changes in realtime. (More difficult with a stupid modal window like MPC's, my #1 complaint about the player.) Full range depends on what you're doing with the levels, if input and output are both in clipped "tv" range you don't want to use it, but otherwise you do.
Automatic should be avoided unless you want jumpy levels. Try it and see what happens.
Rectal Prolapse
29th March 2007, 20:18
Well, if it works anything like DVD does then that's correct.
Unfortunately this results in massive A/V sync problems, and sometimes the video plays too fast as well!
Without FFDShow, the renderer reports 23.976 fps - which is the correct framerate. This is true for ALL VC1 decoders I've tried - they ALL feed 23.976 to the renderer.
So, I'm not sure what is going on here. With an AVC decoder attached to FFDShow, it works as expected - 23.976 fps reported by FFDShow and the renderer.
skystrife
30th March 2007, 03:11
Oh, now I see that the OSD uses MMX. Didn't think of that. I'm beginning to implement the MMX stubs (using SSE2 integer ops), as that seems to be the easiest way to move forward (as it means the code using MMX intrinsics can remain unchanged). The code is now better than it was, but there are still visual problems with the OSD. It's readable, kinda, but something's getting screwed up with the outlines. I might be doing some arithmetic backwards or something. Though I haven't compared to see how it looks in a 32-bit build, so maybe not.
I've only put in the functions needed for the OSD so far, because it's easy to tell when they're working and when they're not. I don't know what the other things (kernelDeint, TomsMoComp) should do, so I don't know how to tell if they're working or not.
Edit: aha, the problem was I was using a signed function for something that should have been unsigned. With that fixed I now have a properly working OSD.
Gonna pester you about progress again. =P
Peuj
30th March 2007, 10:06
Yes, that's exactly how to translate from avisynth syntax to a levels gui. (Some gui put the gamma slide in with the input, which is where avisynth got its version.)
Show histogram just overlays a grey histogram on the levels window, so you can watch your changes in realtime. (More difficult with a stupid modal window like MPC's, my #1 complaint about the player.) Full range depends on what you're doing with the levels, if input and output are both in clipped "tv" range you don't want to use it, but otherwise you do.
Automatic should be avoided unless you want jumpy levels. Try it and see what happens.
OK thanks !!
Just to be sure, when you say "in clipped "tv" range" you mean "16,240" right ?
So as I use haali renderer all my video will be in 0,255 and I should always use Full range.
Dr Pizza
30th March 2007, 16:03
Gonna pester you about progress again. =P
OK, I can put the build up somewhere if people can look at it (it's pure VC++ 8 SP1), but I need somewhere to put the source (GPL, you know, I can't redistribute my build without redistributing source, and I have no practical place to stick the source at the moment).
It's worked well for all the things I've thrown at it (various MPEG-4 variants, 1080p H.264), but I don't have an exhaustive set of test files or anything like that, and don't use much in the way of postprocessing/filtering. There are things I know should be problematic, as I still haven't implemented all the MMX routines and had to #ifdef out a couple of bits of build-breaking inline asm.
Leak
30th March 2007, 16:38
OK, I can put the build up somewhere if people can look at it (it's pure VC++ 8 SP1), but I need somewhere to put the source (GPL, you know, I can't redistribute my build without redistributing source, and I have no practical place to stick the source at the moment).
You might want to read the GPL again :p - you can redistribute it sans source as much as you like, as long as you provide the source (even if it's just via email) when someone asks for it. Of course, just putting the source next to the binary is easier.
Also, why don't you just add a patch to the patches tracker on SourceForge?
np: Bleubird - Writer (Rip USA (The Birdfleu))
Dr Pizza
30th March 2007, 16:51
You might want to read the GPL again :p - you can redistribute it sans source as much as you like, as long as you provide the source (even if it's just via email)
That leaves me on the hook for 3 years, and that's not something I'm willing to commit to. Of the three source provision options that the GPL has (source alongside, 3 years on-demand access, or a reference to another person's source distribution of the kind mentioned previously), only one is practical; the first. Distribution with source alongside (in the same package).
when someone asks for it. Of course, just putting the source next to the binary is easier.
Right.
Also, why don't you just add a patch to the patches tracker on SourceForge?
I have no idea how I would go about doing that, and I don't see how I can make a 3 year guarantee about SourceForge.
clsid
30th March 2007, 16:56
Don't worry too much. It's not like someone is going to sue you.
cc979
30th March 2007, 17:08
problem compiling faad when using the new mingw headers - w32api-3.9 and runtime.3-12
gcc -c -I. -I../.. -DSTDC_HEADERS -mno-cygwin -mdll -mthreads -pipe -mmmx -DNDEBUG -UDEBUG -DWIN32 -D_WIN32 -O2 -march=pentium-mmx -mtune=i686 -fomit-frame-pointer -finline-functions -finline -frename-registers -fweb -funit-at-a-time -Os -MMD -o bits.o bits.c
In file included from bits.c:33:
common.h:220: error: conflicting types for 'uint32_t'
d:/mingw/bin/../lib/gcc/i686-pc-mingw32/4.0.4/../../../../include/stdint.h:32: error: previous declaration of 'uint32_t' was here
common.h:223: error: conflicting types for 'int32_t'
d:/mingw/bin/../lib/gcc/i686-pc-mingw32/4.0.4/../../../../include/stdint.h:31: error: previous declaration of 'int32_t' was here
common.h:225: error: conflicting types for 'int8_t'
d:/mingw/bin/../lib/gcc/i686-pc-mingw32/4.0.4/../../../../include/stdint.h:27: error: previous declaration of 'int8_t' was here
make: *** [bits.o] Error 1
this there a quick fix or should go back to previous headers
cheers
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.