View Full Version : New ffdshow build (?)
KoD
13th September 2006, 22:23
The problem in multithreading is when all those threads have to communicate with one another.
clsid
13th September 2006, 23:52
As I said earlier today, queueing is causing problems even with MPC: when using the seekbar to change the position, the image will often freeze for a few seconds, but not the sound. And that's very annoying.
What is the meaning, the purpose of queueing? I do not understand this functionality/feature.
What the queue does is queue video frames before they get send to the renderer. It also executes the video renderer on worker thread. The queue can help decrease the number of frame drops when running at near 100% cpu usage. It is only useful on multicore cpus and perhaps also on P4s with hyperthreading. Haruhiko can give you a better explanation.
Just disable the option if it gives you troubles. I consider it both an expert and experimental option that should be disabled by default.
Px
14th September 2006, 00:03
Revision 150 - Directory Listing
Modified Thu Sep 7 13:15:17 2006 UTC (5 days, 2 hours ago) by h_yamagata
Bug fix(? alpha test) : Raw video :
When Divx5=disabled and Raw video=all supported, the Divx5 video flips. The player is MPC.
Please see if it does not have any side effects.
Does anything change before and after rev 150? Please test.
That is old bug, it appears even if Raw video is also disabled. Reason - when system don't find needed DSH-codec, it search for suitable VfW-codec, and if find it - use him through DSH/VfW layer. Disable support for DivX5 in ffdshow VfW codec, and bug will dissapear....
Jeremy Duncan
14th September 2006, 01:14
Queue output samples, when checked, freezes Media Player Classic when you use the seek bar.
I'm using the August 21, 2006 version of FFdshow, and Media Player Classic 6.4.9.0 and Dscaler 5008 with Reclock.
deadfones
14th September 2006, 03:15
Today's tests (with an xvid file):
<snip>
[clsid] rev164 (default settings = Output queueing OFF)
BSPlayer: ok
WMP: ok
MPC: ok
<snip>
We only have problems with this Output queueing feature: is it really usefull and user friendly? Instead of applying haruhiko_yamagata's rev173 MPC-only-by-default solution, I advice to use clsid's feature-disabled-by-default solution.
clsid build 164 is good. Instant seeks with the seekbar in MPC and where I used to get video stalling using the seekbar, at least now it waits a little, stutters, and catches up.
Without output queuing, I get frame drops (more like play a second then stutter) on divx3, divx5, and xvid, at least. This is with a P4c 3.0ghz and ddr400. My CPU isn't maxed out, it's actually at about 15%, but the frames still drop. It may or may not have something to do with my multiple display configuration (running latest nvidia drivers).
Edit: 15% with HT, so about 30% actually.
DSP8000
14th September 2006, 05:08
clsid build 164 is good. Instant seeks with the seekbar in MPC and where I used to get video stalling using the seekbar, at least now it waits a little, stutters, and catches up.
I can confirm this, build 164 works good.
However, build 181 clsid instantly crashes MPC and ffdshow video decoder config.Even after reinstall & reset settings.I think Output queueing is causing this.
haruhiko_yamagata
14th September 2006, 10:00
We only have problems with this Output queueing feature: is it really usefull and user friendly? Instead of applying haruhiko_yamagata's rev173 MPC-only-by-default solution, I advice to use clsid's feature-disabled-by-default solution.
Don't forget ffdshow is a free software. Be polite.
It's a bug of MPC, not queue's. Even old ffdshow without queue the symptom is here, though the frequency is lower.
Simply uncheck MPC's internal source filter "AVI" and everything goes fine.
clsid
14th September 2006, 10:21
I don't have any seeking problems at all when the queue is turned on. Tried with both the internal AVI splitter on and off in MPC (rev 611).
Perhaps the issue appears on multicore or hyperthreading cpus only?
haruhiko_yamagata
14th September 2006, 10:34
I don't have any seeking problems at all when the queue is turned on. Tried with both the internal AVI splitter on and off in MPC (rev 611).
Perhaps the issue appears on multicore or hyperthreading cpus only?
It's reproducible on sigle CPU, too.
The video will freeze a few seconds. It's not a crash nor hang up. I know it's time stamp issue, I'll try to work around the bug when I have time.
haruhiko_yamagata
14th September 2006, 12:42
I can confirm this, build 164 works good.
However, build 181 clsid instantly crashes MPC and ffdshow video decoder config.Even after reinstall & reset settings.I think Output queueing is causing this.
It's not reproducible for me. Why do you think queue is the culplit?
haruhiko_yamagata
14th September 2006, 12:59
Queue output samples, when checked, freezes Media Player Classic when you use the seek bar.
I'm using the August 21, 2006 version of FFdshow, and Media Player Classic 6.4.9.0 and Dscaler 5008 with Reclock.
Such a complicated setting with one line report. What am I supposed to do?
Amour
14th September 2006, 13:17
We only have problems with this Output queueing feature: is it really usefull and user friendly? Instead of applying haruhiko_yamagata's rev173 MPC-only-by-default solution, I advice to use clsid's feature-disabled-by-default solution.Don't forget ffdshow is a free software. Be polite.
Sorry.
Was giving an advice, reporting a problem, didn't mean to hurt you.
Amour
14th September 2006, 13:29
I would like to update the French translation of ffdshow (some phrases are displayed in English). Where/What/How should I do?
haruhiko_yamagata
14th September 2006, 13:36
I would like to update the French translation of ffdshow (some phrases are displayed in English). Where/What/How should I do?
Create a patch and post it here (http://sourceforge.net/tracker/?group_id=173941&atid=867362).
KoD
14th September 2006, 15:09
This might be or not related to some audio issues when resuming playback after pausing on WinXpSP2: KB 920872 (http://support.microsoft.com/?kbid=920872).
n3w813
14th September 2006, 17:37
On these 2 ffdshow versions.....(and maybe on other new builds, haven't tried them all yet)
H-Yamagata's
ffdshow-20060913-rev173-Q.exe
CLSID's
ffdshow_rev181_20060913_clsid.exe
When you enable 'Automatic Preset Loading' in the Image Settings menu, and exit, you will get an exception error when you try to start the ffdshow video configuration program again.
To disable auto preset, I go in the registry and change the value for...
HKCU\Software\GNU\ffdshow\autoPresets from 1 to 0
then ffdshow configuration utility will open correctly.
Can somebody else verify this?
clsid
14th September 2006, 19:12
Confirmed.
_xxl
14th September 2006, 20:09
http://minkymomo.info/~meroko_deathnote/tmp/codec_test/glider/glider_vp6.2.0.10.avi
please test!
_xxl
14th September 2006, 21:41
On these 2 ffdshow versions.....(and maybe on other new builds, haven't tried them all yet)
H-Yamagata's
ffdshow-20060913-rev173-Q.exe
CLSID's
ffdshow_rev181_20060913_clsid.exe
When you enable 'Automatic Preset Loading' in the Image Settings menu, and exit, you will get an exception error when you try to start the ffdshow video configuration program again.
To disable auto preset, I go in the registry and change the value for...
HKCU\Software\GNU\ffdshow\autoPresets from 1 to 0
then ffdshow configuration utility will open correctly.
Can somebody else verify this?
ffdshow_rev164_20060911_clsid and ffdshow-tryouts-rev155-AMD-XP-K8 are working for me.
shae
14th September 2006, 23:07
Btw guys, this is the new thread where thoughts on versioning, stable releases, future plans, etc should be discussed:
http://forum.doom9.org/showthread.php?t=115869
foxyshadis! The next thing, you might suggest having a dedicated sub-forum! :) (Does anyone really think it's NOT better? Do the admins object?)
Updated list of known issues:Why not use the SF bug tracker? Much more organized, and maybe easier, though I'm not a fan of the SF structure in general.
---
BTW, how come ffdshow doesn't have a dynamic range compessor? It's very much needed for AC3 and the likes, but also for stereo in cases this was converted from AC3 without adjustments.
KoD
14th September 2006, 23:18
BTW, how come ffdshow doesn't have a dynamic range compessor? It's very much needed for AC3 and the likes, but also for stereo in cases this was converted from AC3 without adjustments.
What do you think Normalize does ?
And you can always enable drc (better than how normalize does its thing) on AC3 and DTS streams since they're meant to work with drc anyway. (it's on the codecs page when you select either ac3 or dts)
foxyshadis
14th September 2006, 23:51
Normalize and DRC solve totally different problems, so neither can substitute for the other. (Though they should be used together.) DRC is very helpful for AAC/MP3 as well, but you have to use a winamp2 filter for it, and those make ffdshow very unstable. There's nothing special about AC3/DTS concerning DRC, other than having in-stream values, just that their decoders include the capability. (The in-stream values tend to suck if the encoding was done cheaply anyway.)
shae
15th September 2006, 04:21
What do you think Normalize does ?Normalizes? :) I.e., maximizes peaks while keeping the wave proportions. That's not very helpful in most cases.
And you can always enable drc
It's on, but doesn't appear to do much (for that reason or another?). The sound shifts from whisper silent parts to unbearable loudness, so I'm constantly playing with the volume.
What's needed is something configurable.
Jeremy Duncan
15th September 2006, 07:05
Such a complicated setting with one line report. What am I supposed to do?
I'm using Media Player Classic 6.4.9.0
FFdshow August 21, 2006 found at afterdawn.com
I'm using Dscaler 5008 audio and video decoder, and reclock in Media Player Classic External Filters.
Dscaler is using YV12
FFdshow is inputting all supported, outputing YV12.
Blur & NR, Denoise3d: Luma: 0.00, Chroma: 2.00, Time: 4.00, HQ checked.
FFdshow is using Resize & Aspect:
Multiply by Resize 2.000, No aspect ratio correction, Lanczos, No luma sharpening, accurate rounding unchecked.
My monitor is set to a refresh rate of 75 Hz.
Reclock is doing a custom adaption set to 60.000 fps, the reclock light is green.
When Reclock is set to 25fps and the refresh rate is 75 Hz I get the same problem.
And lastly, when queue output samples is checked in FFdshow, when I use the seek bar in Media Player Classic, it freezes and I need to use the task manager to end the Media Player Classic process.
Using no setting in FFdshow but queue output samples. Input raw video all supported, output YV12. It still freezes when I use the seek bar in Media Player Classic.
The internal filter in Media Player Classic: "AVI" is unchecked.
The freezing problem is there with it checked or unchecked.
_xxl
15th September 2006, 07:13
On these 2 ffdshow versions.....(and maybe on other new builds, haven't tried them all yet)
H-Yamagata's
ffdshow-20060913-rev173-Q.exe
CLSID's
ffdshow_rev181_20060913_clsid.exe
When you enable 'Automatic Preset Loading' in the Image Settings menu, and exit, you will get an exception error when you try to start the ffdshow video configuration program again.
To disable auto preset, I go in the registry and change the value for...
HKCU\Software\GNU\ffdshow\autoPresets from 1 to 0
then ffdshow configuration utility will open correctly.
Can somebody else verify this?
http://rapidshare.de/files/33170803/FFdshow-Tryouts-200609015-rev172.exe.html
FFdshow-Tryouts-200609015-rev172 works ok.
rev 173 is not working?
clsid
15th September 2006, 13:10
rev173 contains a small change to the presets code. Haruhiko should be able to fix the bug.
In rev184 ffdshow finally gets used in the DirectShow graph for a VP6 file. However, the decoded video is b0rked with weird colors (mostly green) and artifacts. Same for VP5.
I haven't managed to play FLV files containing VP6 video yet. I even tried adding FLV4 FourCC which MPC uses to play such files.
haruhiko_yamagata
15th September 2006, 13:12
I'm using Media Player Classic 6.4.9.0
FFdshow August 21, 2006 found at afterdawn.com
I'm using Dscaler 5008 audio and video decoder, and reclock in Media Player Classic External Filters.
Dscaler is using YV12
FFdshow is inputting all supported, outputing YV12.
Blur & NR, Denoise3d: Luma: 0.00, Chroma: 2.00, Time: 4.00, HQ checked.
FFdshow is using Resize & Aspect:
Multiply by Resize 2.000, No aspect ratio correction, Lanczos, No luma sharpening, accurate rounding unchecked.
My monitor is set to a refresh rate of 75 Hz.
Reclock is doing a custom adaption set to 60.000 fps, the reclock light is green.
When Reclock is set to 25fps and the refresh rate is 75 Hz I get the same problem.
And lastly, when queue output samples is checked in FFdshow, when I use the seek bar in Media Player Classic, it freezes and I need to use the task manager to end the Media Player Classic process.
Using no setting in FFdshow but queue output samples. Input raw video all supported, output YV12. It still freezes when I use the seek bar in Media Player Classic.
The internal filter in Media Player Classic: "AVI" is unchecked.
The freezing problem is there with it checked or unchecked.
I found a bug related to queue and seek. The internal filter in Media Player Classic "AVI" does not call Run at the expected timing. It may not be good, but a bug seems to be in ffdshow side. The bug should not be too difficult to fix, though I'm not sure if the bug is related to your problem.
I have not tryed a reproduce test. Please keep wating here and when the bug is fixed, please test again and report.
haruhiko_yamagata
15th September 2006, 13:18
Recent builds including clsid's and videomixer9's genelic builds do not work on Pentium-MMX.
My "SSE" build ffdshow-20060730-Q.exe works. My "SSE" build simply use "official" makefile and vcproj. I label my build "SSE" just because they are not tested on non SSE CPUs.
So it's not a build problem nor installer's. Perhaps some code in ffdshow-tryouts. Could you confirm this?
igor1st
15th September 2006, 13:49
Recent builds including clsid's and videomixer9's genelic builds do not work on Pentium-MMX.
So it's not a build problem nor installer's. Perhaps some code in ffdshow-tryouts. Could you confirm this?
Revision 71:
"-O3 -march=i586" -> "-O2 -march=i686"
From manual:
i586 - Intel Pentium CPU with no MMX support.
i686 - Intel PentiumPro CPU.
pentium-mmx - Intel PentiumMMX CPU based on Pentium core with MMX instruction set support.
clsid
15th September 2006, 14:14
I will make a test build with "-march=pentium-mmx -mtune=pentium2".
test build (http://www.mytempdir.com/930756)
KoD
15th September 2006, 15:28
The end result of Normalize is range compression. And it's dynamic if it keeps autoadjusting itself during playback to avoid clipping. Which means the quality is not that great since you'll already have clipping when these adjustments have to be made. Normalization done during playback is quite bad because of this and very dependent on the audio material it has to work with. If the audio stream has a wide dynamic range already which varies a lot during playback, normalization is quite useless. There can be artifacts like in this case: "two people are speaking and suddenly a phone rings somewhere in the room while the people keep on speaking - if clipping happens, normalization will reduce the amplification gain and suddenly the voices of those people are much softer than they were. And if the ring tone is really loud it can happen you won't hear the people speaking at all".
DRC in AC3 and DTS is great if the audio stream was compressed with proper hints. Some of them aren't. DRC hints are much better than normalization during playback for obvious reasons (no real-time analysis for adjustments constraint). One can also use those hints and implement various degrees of range compression, like those "quiet/normal/noisy environment" profiles most commercial decoders have.
Egh
15th September 2006, 15:35
Normalization done during playback is quite bad because of this and very dependent on the audio material it has to work with. If the audio stream has a wide dynamic range already which varies a lot during playback, normalization is quite useless.
I still think that AC3Filter dynamic normalization is superior. I never use ffdshow's one, on my system I make AC3Filter accept decoded raw audio streams from ffdshow.
KoD
15th September 2006, 15:53
AC3filter and ffdshow normalization work in the same way since they are both based on the same source code. Here is a more in-depth explanation: ac3filter audio theory docs (http://ac3filter.net/doc/ac3filter/ac3filter_eng.html#theory).
haruhiko_yamagata
15th September 2006, 15:53
I will make a test build with "-march=pentium-mmx -mtune=pentium2".
test build (http://www.mytempdir.com/930756)
Great. It works on Pentium-MMX.
cc979
15th September 2006, 17:05
just quick test
tested using elephant dream_hd xvid/ac3 (8mbs stream mostly)
using 07-07-06 hali splitter
clsid
ffdshow_rev187_20060915_clsid.exe
null: User: 8s, kernel: 0s, total: 8s, real: 8s, fps: 76.4, dfps: 73.7
vmr9: User: 8s, kernel: 0s, total: 8s, real: 10s, fps: 77.8, dfps: 59.8
ovrl: User: 8s, kernel: 0s, total: 9s, real: 9s, fps: 72.4, dfps: 70.3
clsid
ffdshow_rev187_20060915_clsid_generic.exe
null: User: 8s, kernel: 0s, total: 8s, real: 9s, fps: 74.5, dfps: 70.1
vmr9: User: 8s, kernel: 0s, total: 8s, real: 11s, fps: 75.0, dfps: 58.1
ovrl: User: 8s, kernel: 0s, total: 9s, real: 9s, fps: 72.7, dfps: 70.1
clsid
ffdshow_rev181_20060913_clsid.exe
null: User: 8s, kernel: 0s, total: 8s, real: 8s, fps: 75.7, dfps: 74.6
vmr9: User: 8s, kernel: 0s, total: 8s, real: 11s, fps: 75.4, dfps: 59.0
ovrl: User: 9s, kernel: 0s, total: 9s, real: 9s, fps: 70.2, dfps: 68.7
videomixer9
ffdshow-tryouts-rev155.exe
null: User: 8s, kernel: 0s, total: 8s, real: 8s, fps: 81.6, dfps: 80.7
vmr9: User: 7s, kernel: 1s, total: 9s, real: 10s, fps: 72.0, dfps: 61.2
User: 8s, kernel: 0s, total: 8s, real: 8s, fps: 78.2, dfps: 75.0
drevil_xxl
ffdshow-tryouts-rev155-AMD-XP-K8.exe
null: User: 8s, kernel: 0s, total: 8s, real: 8s, fps: 79.6, dfps: 78.7
vmr9: User: 8s, kernel: 1s, total: 9s, real: 10s, fps: 68.3, dfps: 59.8
ovrl: User: 8s, kernel: 0s, total: 8s, real: 8s, fps: 76.8, dfps: 73.0
videomixer9
15th September 2006, 18:58
for GCC 3.4.5 add -frename-registers -fweb and -funit-at-a-time. ICL should have global optimizations turned on (/Qip and /Og) and be set to O3 optimization, also for the .ax turn of loop unrolling (/Qunroll0). Any kind of automatic vectorization will make things usually slower, so leave off /Qx or /Qax switches and also don't use /arch. Link Time Code Generation is not really worth it for the .ax file.
foxyshadis
15th September 2006, 19:59
The end result of Normalize is range compression. And it's dynamic if it keeps autoadjusting itself during playback to avoid clipping. Which means the quality is not that great since you'll already have clipping when these adjustments have to be made. Normalization done during playback is quite bad because of this and very dependent on the audio material it has to work with. If the audio stream has a wide dynamic range already which varies a lot during playback, normalization is quite useless. There can be artifacts like in this case: "two people are speaking and suddenly a phone rings somewhere in the room while the people keep on speaking - if clipping happens, normalization will reduce the amplification gain and suddenly the voices of those people are much softer than they were. And if the ring tone is really loud it can happen you won't hear the people speaking at all".
DRC in AC3 and DTS is great if the audio stream was compressed with proper hints. Some of them aren't. DRC hints are much better than normalization during playback for obvious reasons (no real-time analysis for adjustments constraint). One can also use those hints and implement various degrees of range compression, like those "quiet/normal/noisy environment" profiles most commercial decoders have.
That's not DRC, that's dynamic (windowed) peak normalization. DRC is peak amplitude reduction, narrowing the range between soft and loud sounds on a much smaller timescale (limiters are almost instantaneous on/off), usually including some gain/peak normalization to bring the total volume back to maximum. Reference (http://en.wikipedia.org/wiki/Audio_level_compression). No special information is needed in the bitstream, although it can help prevent over- or under-compression, especially is the player is too slow to pick up peaks in time. That's why DTS and AC3 include the DRC hints in the bitstream, along with normalization hints.
I'd like to find some code that can be included in ffdshow, because I don't fancy writing my own. Most of the open source compressors utilize bitstream hints so they don't need a full implementation, which won't be any help to processing raw audio.
igor1st
15th September 2006, 20:30
AC3filter and ffdshow normalization work in the same way since they are both based on the same source code. Here is a more in-depth explanation: ac3filter audio theory docs (http://ac3filter.net/doc/ac3filter/ac3filter_eng.html#theory).
ffdshow uses method2 from mplayer (use several samples to smooth the variations via the standard weighted mean over past samples). And this is not the same as DRC or one-pass normalize in AC3Filter.
KoD
15th September 2006, 20:32
Range compression is still range compression no matter what algorithm you use to achieve it, people.
"use several samples to smooth the variations via the standard weighted mean over past samples". Now I understand why it does so badly on recovering from loud sounds... it treats them as too widely dispersed variations.
TFM_TheMask
15th September 2006, 21:33
I think I found a bug in the latest tryouts.
It seems like when your source is *.MOV with AAC 6 channel audio (for example the HD trailers from Apple (http://www.apple.com/trailers/)) and you want to encode the audio to AC3 with the ffdshow AC3 encoder there are a lot of downmix overflows. The sound seems to be distorted as if the volume is to high.
Now I have installed back an old version of ffdshow (dated 24-11-2005) and the sound is Ok now when doing the AC3 encoding. No downmix overflows.
Jeremy Duncan
16th September 2006, 11:53
I found a bug related to queue and seek. The internal filter in Media Player Classic "AVI" does not call Run at the expected timing. It may not be good, but a bug seems to be in ffdshow side. The bug should not be too difficult to fix, though I'm not sure if the bug is related to your problem.
I have not tryed a reproduce test. Please keep wating here and when the bug is fixed, please test again and report.
When you release the patched version of FFdshow. Please post the download link too.
LoRd_MuldeR
16th September 2006, 12:03
When you release the patched version of FFdshow. Please post the download link too.
Look at the Changelog (http://svn.sourceforge.net/viewvc/ffdshow-tryout/?view=log) to see what has been fixed recently and then get the latest build here (http://sourceforge.net/project/showfiles.php?group_id=173941).
Egh
16th September 2006, 14:56
Range compression is still range compression no matter what algorithm you use to achieve it, people.
Yes, but exact implementation is different. I prefer AC3Filter's one to ffdshow. I think AC3F recovers quicker from loud sounds. And overall does more balanced job, i think. (of course it's largely subjective, but I asked Milan last year to use AC3Filter's one in ffdshow :P)
And i don't use DRC or one-pass btw.
foxyshadis
16th September 2006, 19:51
AC3Filter does seem to have a much better normalizer and compressor, igor1st pointed it out to me and is working with the code. It would be quite nice to have that integrated instead of mplayer's mediocre version.
ckjnigel
16th September 2006, 20:03
I searched to no avail for new trunk (?) builds optimized for 64-bit Windows. Is anybody making them?
pdanpdan
16th September 2006, 20:22
I also have the same problems with autoloading presets on ffdshow video configure on all versions after rev 173
"When you enable 'Automatic Preset Loading' in the Image Settings menu, and exit, you will get an exception error when you try to start the ffdshow video configuration program again."
Kostarum Rex Persia
17th September 2006, 02:05
@
videomixer9 , haruhiko_yamagata, clsid and drevil_xxl
Can you guys, join your forces and finally make some decent 64-bit optimized FFDSHOW. Only celtic_druid made one 64-bit build, long time ago.
This is a big feature request.
Px
17th September 2006, 02:30
As I remember, the 64-bit ffdshow needs 64-bit player, do you know such players?
thuan
17th September 2006, 02:44
There's one as fas as I know graphedit64
foxyshadis
17th September 2006, 03:03
KRP, file an enhancement request on the sourceforge page, so that it's not forgotten, but I can tell you now that it's going to be a low priority request for some time, at least until vista comes out and the rest of the world wakes up to 64-bit.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.