View Full Version : ffdshow tryouts project: Discussion & Development


Pages : 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Dr Pizza
5th April 2007, 18:41
Spaces in the path cause problems. Hence the usage of GetShortName. Try if this works:

[Registry]
Root: HKLM; Subkey: SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32; ValueType: string; ValueName: VIDC.FFDS; ValueData: {code:GetVFWLocation|}; Flags: uninsdeletevalue; Components: ffdshow\vfw

[C0de]
function GetVFWLocation(dummy: String): String;
begin
Result := GetShortName(ExpandConstant('{app}\ff_vfw.dll'));
end;
OK, I finally got round to testing this out.

It does the job.

Specifically, the value in Drivers32 apparently can't use an LFN. The LFN seems to work OK in drivers.desc.

But with that change, vdub can load files that require ffdshow to decode. Whether the library issue is resolved, I don't know--I have the VC8 libraries installed SxS as well as private to ffdshow, so I'm guessing I wouldn't see issues *anyway*.

vlada
5th April 2007, 18:58
@kurt: Sorry, I forgot to mention I am using beta2 release.

clsid
5th April 2007, 19:07
OK, I finally got round to testing this out.

It does the job.

Specifically, the value in Drivers32 apparently can't use an LFN. The LFN seems to work OK in drivers.desc.

But with that change, vdub can load files that require ffdshow to decode. Whether the library issue is resolved, I don't know--I have the VC8 libraries installed SxS as well as private to ffdshow, so I'm guessing I wouldn't see issues *anyway*.
Great. I'll update the script in SVN with the modification.

kurt
5th April 2007, 20:14
@kurt: Sorry, I forgot to mention I am using beta2 release.
jap, I had the same problem. latest build(s) solved it
http://sourceforge.net/project/showfiles.php?group_id=173941&package_id=199416

Leak
9th April 2007, 16:28
Here's another update of my patch:

* Skip ahead in AviSynth instead of reinitializing everything when the cache needs to be disregarded - that should prevent longer pauses when seeking caused by AviSynth filters getting initialized again. Note that the filter of course still gets reinitialized when the output format changes or playback is stopped.

* Made sure that timestamps produced are strictly increasing (Overlay Mixer is not too fond of frames that end before they start)

* Removed the "Current" buffer setting as it's been folded into the "ahead" setting, especially when the correct setting for that can be gotten from the OSD (make sure "AviSynth info" is checked on the OSD page) - be warned that the detection can't be perfect if AviSynth filters malfunction when not enough buffers are set, so perhaps start out with a setting of 10/10...

* Added a "Use Current" button to fill in the current max back/ahead buffers shown in the OSD in the config dialog for convenience

Download (http://leak.no-ip.org/AviSynth/ffdshow/ffdshow_AviSynth_rev1093_20070409.exe) (MSVC build of patched rev. 1093)
Patch against rev. 1093 (https://sourceforge.net/tracker/index.php?func=detail&aid=1676882&group_id=173941&atid=867362)

P.S.: I'm pretty happy with the patch as it is now - any chance of it getting rolled into SVN?

np: cLOUDDEAD - Physics Of A Unicycle (Ten)

_xxl
9th April 2007, 18:42
http://www.cccp-project.net/beta
Is this the same ffdshow?
Tryouts?

haruhiko_yamagata
10th April 2007, 10:23
Thanks for this act! I have asked about a month ago about the new DFX plugin (ver. 8.x) which is able to connect to multichannel audio (it works in winamp), but not working in ffdshow !
Can you do something about it ? (dts, aac, ac3, etc.)

Thank you !
OK, I have downloaded DFX plugin and it says "no audio" when it is connected to multi-channel audio. I'll look into this. Thank you.

chros
10th April 2007, 19:17
OK, I have downloaded DFX plugin and it says "no audio" when it is connected to multi-channel audio. I'll look into this. Thank you.
No! We thank you !!! :)

Of course there's a lot of dsp plugin which doesn't support multichannel audio (yet...), so the tweak must apply only them which does ...

haruhiko_yamagata
11th April 2007, 12:07
Thanks for this act! I have asked about a month ago about the new DFX plugin (ver. 8.x) which is able to connect to multichannel audio (it works in winamp), but not working in ffdshow !
Can you do something about it ? (dts, aac, ac3, etc.)

Thank you !
Multi-channel audio is excluded from ffdshow-winamp plugin on purpose.bool TaudioFilterWinamp2::is(const TsampleFormat &fmt,const TfilterSettingsAudio *cfg)
{
return super::is(fmt,cfg) && fmt.nchannels<=2;
}

If I remove <=2, it works, but some other plugins does not work, gets very noisy.
I tested winamp2, it seems it's the same. The new DFX plugin does not work with multi-channel audio. Do you use winamp5?

haruhiko_yamagata
11th April 2007, 14:42
A lot of people are having trouble finding the 'presets' functionality in ffdshow because it is not in a very obvious place.

Some suggestions to improve the GUI:

* Rename 'Image settings' to 'Profiles/Presets'
* Rename 'Show/hide filters' to 'Filters' and remove the indentation.
* Remove indentations for 'Decoder options', 'Queue & misc' and 'Output'.

And for ffdshow audio decoder:

* Rename 'Audio settings' to 'Profiles/Presets'.
* Rename 'Show/hide filters' to 'Filters' and remove indentation.
* Remove indentation for 'Output'.

Agreed.
Should "Automatic preset loading" be checked by default?

clsid
11th April 2007, 14:59
There is no need to enable it when there are no custom presets. So perhaps enable it when a user adds a new preset?

Kado
11th April 2007, 15:42
@haruhiko_yamagata
I have tested three winamp dsp plugins for surround sound / 24bit stereo / 24bit surround output in winamp:
Enhancer v0.17 (generates noise / No sound processing / no sound processing)
iZotope Ozone For Winamp (no sound processing / works normally / no sound processing)
DFX v8.325 for Winamp (processed surround sound output / works normally / processed surround sound output)

Used Winamp v5.34.1239 beta (http://forums.winamp.com/showthread.php?threadid=267694) (directsound output with hardware acceleration nedded for surround output and "Allow surround sound" in playback settings, to force 24bit output in winamp tick "allow 24bit" in Playback settings).
Audio source was "Mai-Otome Zwei - 02" (16bit 48kHz AAC 5.1 audio track)
Creative SB Audigy 2 ZS in quad speaker setup (CMSS was disabled to avoid creation of artificial surround from stereo source)

Anyway I think that Winamp only outputs audio in mono, stereo and same as source (like 5.1) even if you have quad speaker setup selected.
Maybe you should add a button in ffdshow winamp dsp tab like in winamp playback settings, "allow surround sound", to enable or disable dsp surround sound processing if possible.

Here's a pic (http://img.villagephotos.com/p/2004-6/737150/winamp_and_dfx.jpg) of DFX processing surround sound in winamp.

Leak
11th April 2007, 19:58
Here's a quick bugfix update of my patch:

* Fixed a division by zero exception due to an improperly initialized variable (d'oh!)
* Reported number of back buffers after a seek was too high - since it reported requests for frames that were before the position that was seeked to, which are unavailable anyways
* Script errors now actually produce a clip with the original video and the error subtitled onto it

It's now really difficult to get a number of back buffers other than 0 due to the fix above - I might remove the back buffers completely since the internal AviSynth cache does the same (unless there's not enough memory for the AviSynth cache, but since it can't be turned off we're now buffering all frames twice); that would leave exactly 2 new settings: number of buffers and "Apply pulldown"...

Download (http://leak.no-ip.org/AviSynth/ffdshow/ffdshow_AviSynth_rev1094_20070411.exe)
Patch (https://sourceforge.net/tracker/index.php?func=detail&aid=1676882&group_id=173941&atid=867362) (against rev. 1094)

np: Radiohead - The Tourist (OK Computer)

chros
11th April 2007, 23:10
Multi-channel audio is excluded from ffdshow-winamp plugin on purpose.
I thought so, because there were no dsp plugins which support multichannel audio until DFX v8.x ...
bool TaudioFilterWinamp2::is(const TsampleFormat &fmt,const TfilterSettingsAudio *cfg)
{
return super::is(fmt,cfg) && fmt.nchannels<=2;
}

If I remove <=2, it works, but some other plugins does not work, gets very noisy.
So is DFX v8.x working if you remove the 2ch restrection ??? Whoaa !!! I'm so excited!
I tested winamp2, it seems it's the same. The new DFX plugin does not work with multi-channel audio. Do you use winamp5?
What do you mean? That you've tried in winamp2 and it's not working?
I'm using winamp5 full which is free (not pro).

@Kado: first, thanks for testing...
Maybe you should add a button in ffdshow winamp dsp tab like in winamp playback settings, "allow surround sound", to enable or disable dsp surround sound processing if possible.
It's a very good idea!
Or a better one (if it's possible): this setting can be apply to every plugin simultaniously ...

I'm hardly waiting the testing period !!! :)

PS: I'm using quad setup too (I have an Videologic Sirocco Crossfire 4.1 speaker set), in the following chain:
splitter -> ffdshow decoders -> ffdshow filters (Winamp DSP (DFX), LFE crossover) -> AC3filter (for 4ch output) -> DynEQ filter (to get dynamic range compression)

haruhiko_yamagata
11th April 2007, 23:58
There is no need to enable it when there are no custom presets. So perhaps enable it when a user adds a new preset?
Well, (users and) I often forget to enable it.
On initial installation, there is no custom presets, so no need to disable it?

haruhiko_yamagata
12th April 2007, 00:08
ffdshow's winamp plugin handler is winamp2 plugin handler.
I think we have to update it to winamp5 plugin handler.

Delerue
12th April 2007, 05:01
Am I wrong or 'Cubic Blending' is broken? I see a lot of artifact in build 1090. I'm using this post (http://forum.doom9.org/showpost.php?p=946643&postcount=161) as a base of the best deinterlacing method. Any suggestion?

Leak
12th April 2007, 09:00
Sure would be easier to have trac, to quickly skim svn diffs.
If you're using TortoiseSVN, you can just select two revisions in the "Show log..." dialog, then right click on one and select "Show differences as unified diff" - that yields all changes between to revisions in one diff file.

Or right click and select "Compare revisions" to get a list of all changed files, then double click on one to get a diff of just those two files in TortoiseSVN's diff viewer, which displays both files side by side.

Quite useful, IMHO.

TheShadowRunner
12th April 2007, 09:30
Hey All,
Just a simple request pertaining to .ASS type subs.
Those don't seem to be affected by the font size selection under the "Subtitles" > "Font" section.
Could this be fixed/implemented ?
Later,

TSR
Edit: Also, what exactly is this "autosize" checkbox supposed to do? (still on the "Subtitles" > "Font" section)

BlindWanderer
12th April 2007, 09:55
I was browsing change 1094 and i found a less then optimal line of code in 'trunk/src/ffmpeg/libavcodec/h264.c' @Line 8031
http://ffdshow-tryout.svn.sourceforge.net/viewvc/ffdshow-tryout/trunk/src/ffmpeg/libavcodec/h264.c?r1=1094&r2=1093&pathrev=1094
while(ptr[dst_length - 1] == 0 && dst_length > 0)
Should be:
while(dst_length > 0 && ptr[dst_length - 1] == 0)

And shouldn't 8033 be
bit_length= (dst_length <= 0) ? 0 : (8*dst_length - decode_rbsp_trailing(h, ptr + dst_length - 1));

I'm kinda impressed and appalled someone grammar checked the comments.

clsid
12th April 2007, 11:55
^ committed ;)

foxyshadis
12th April 2007, 12:22
If you're using TortoiseSVN, you can just select two revisions in the "Show log..." dialog, then right click on one and select "Show differences as unified diff" - that yields all changes between to revisions in one diff file.

Or right click and select "Compare revisions" to get a list of all changed files, then double click on one to get a diff of just those two files in TortoiseSVN's diff viewer, which displays both files side by side.

Quite useful, IMHO.

That's exactly what I do. I'll admit it - Trac is just prettier. >.>

Hey All,
Just a simple request pertaining to .ASS type subs.
Those don't seem to be affected by the font size selection under the "Subtitles" > "Font" section.
Could this be fixed/implemented ?
No. SSA/ASS is based on fixed font sizes. But since I think this was an extremely dumb decision on the designers' parts - typical publisher mentality, whether it's brochures or fansubs - I'd be quite willing to propose that the size doubles as a scale.

But how to scale the values inside without forcing them all to the same size? Just multiplying them won't really work. I say pick the most common style (adding up the lines for each) and fix it at the selected font size, scaling everything else according to the ratio. Annoying, but that's what you get when protocols are designed badly.

Thoughts?

Later,

TSR
Edit: Also, what exactly is this "autosize" checkbox supposed to do? (still on the "Subtitles" > "Font" section)
Sizes based on the width of the text, iirc. Again, only currently works for srt.

Kado
12th April 2007, 14:21
Wrong order of operations, imho. Keep the mixer before the Winamp plugin filter always, then you can downmix if necessary without affecting the plugins. The mixer is your mono/dual/multichannel switch. ;)

If I do it that way I'll end up with stereo output because Enhancer only supports 16bit stereo, I use volume to normalize audio then enhancer or dfx to enhance the audio then the mixer to up/downmix to quad but if source audio is more than 2 channel winamp dsp will be bypassed on purpose. What I was asking is that an option would be added so that audio with more than 2 channels be dumped to winamp dsp.

Multi-channel audio is excluded from ffdshow-winamp plugin on purpose.bool TaudioFilterWinamp2::is(const TsampleFormat &fmt,const TfilterSettingsAudio *cfg)
{
return super::is(fmt,cfg) && fmt.nchannels<=2;
}

If I remove <=2, it works, but some other plugins does not work, gets very noisy.
I tested winamp2, it seems it's the same.

Milan probably did that because there were no multichannel winamp dsp plugins at the time, but now it's time to embrace the new technologies!:p

squid_80
12th April 2007, 15:02
Hmm I haven't been keeping up with this thread and all the 64-bit developments. A few things spring to mind:

xp64 does come with a 64-bit media player, but it sucks badly: c:\windows\system32\mplay32.exe
directshowsource plugin is (and has been for quite some time) available for avisynth64, but I am yet to hear of anyone using it.
64-bit splitters for mkv and mp4 are available from celtic_druid ( http://ffdshow.faireal.net/mirror/Media%20Player%20Classic/external%20filters/x64/ ). Just download and regsvr32 them.

jidelite
13th April 2007, 02:38
Here's another update of my patch:

* Skip ahead in AviSynth instead of reinitializing everything when the cache needs to be disregarded - that should prevent longer pauses when seeking caused by AviSynth filters getting initialized again. Note that the filter of course still gets reinitialized when the output format changes or playback is stopped.

* Made sure that timestamps produced are strictly increasing (Overlay Mixer is not too fond of frames that end before they start)

* Removed the "Current" buffer setting as it's been folded into the "ahead" setting, especially when the correct setting for that can be gotten from the OSD (make sure "AviSynth info" is checked on the OSD page) - be warned that the detection can't be perfect if AviSynth filters malfunction when not enough buffers are set, so perhaps start out with a setting of 10/10...

* Added a "Use Current" button to fill in the current max back/ahead buffers shown in the OSD in the config dialog for convenience

Download (http://leak.no-ip.org/AviSynth/ffdshow/ffdshow_AviSynth_rev1093_20070409.exe) (MSVC build of patched rev. 1093)
Patch against rev. 1093 (https://sourceforge.net/tracker/index.php?func=detail&aid=1676882&group_id=173941&atid=867362)

P.S.: I'm pretty happy with the patch as it is now - any chance of it getting rolled into SVN?

np: cLOUDDEAD - Physics Of A Unicycle (Ten)

Leak,
I like your patched version as it allows me to have alittle more headroom for my P4 3.0 with regular DVD viewing. However, I still come across a stutter or 2 (that I don't see with an un-patched version) and was wondering if you could provide a way to 'bypass' your patch in case I want to do regular AviSynth filter processing to test with?

jidelite

Eno / Omni
13th April 2007, 03:36
What's the main difference between your and xxl release ? =)

Leak
13th April 2007, 08:34
Leak,
I like your patched version as it allows me to have alittle more headroom for my P4 3.0 with regular DVD viewing. However, I still come across a stutter or 2 (that I don't see with an un-patched version) and was wondering if you could provide a way to 'bypass' your patch in case I want to do regular AviSynth filter processing to test with?
Could you perhaps tell me what script you were using that produced those stutters, and when? Were those one-time stutters or did they start and then last until you seeked or paused or something like that?

(Do note that the extra buffering isn't meant to smoothen playback or "give headroom", like you wrote - for that, activate ffdshow's queue on the "Queue & misc" page... it's meant to allow AviSynth filters to work correctly that need more than just the current frame or that add/remove frames. Or, if I were completely selfish I would say it's meant to make TIVTC work on the fly... :D)

Anyway, to bypass almost anything just uncheck "Apply pulldown" and set both buffer settings to zero - that should do it, except that it probably still does an extra blit when compared to the old implementation - that's next on my to-do list to fix.

Kado
13th April 2007, 18:42
What's the main difference between your and xxl release ? =)

In terms of usage and performance there are none. There are more details in another page of this tread. :search:

Anyway, I suppose you are talking about clsid and xxl's builds, Leak's build has additional AviSynth tweaks and optimizations.

jidelite
14th April 2007, 00:05
Could you perhaps tell me what script you were using that produced those stutters, and when? Were those one-time stutters or did they start and then last until you seeked or paused or something like that?

(Do note that the extra buffering isn't meant to smoothen playback or "give headroom", like you wrote - for that, activate ffdshow's queue on the "Queue & misc" page... it's meant to allow AviSynth filters to work correctly that need more than just the current frame or that add/remove frames. Or, if I were completely selfish I would say it's meant to make TIVTC work on the fly... :D)

Anyway, to bypass almost anything just uncheck "Apply pulldown" and set both buffer settings to zero - that should do it, except that it probably still does an extra blit when compared to the old implementation - that's next on my to-do list to fix.

Leak,
Yes, you are right, perhaps 'headroom' was a bad choice of words. Your patch allows me to run filters that would
otherwise stutter on a non-patched ffdshow builds.
I posted this in another thread but here goes - I'm using:
Abit AG8 Motherboard
P4 530J 3.0 GHz using hyperthreading
GeForce 6600
1 Gb ((2) 512 ddr-sdram)
TheaterTek software player

At the moment I've only been using the 1 filter/Avisynth script (nothing else is check in ffdshow):
Buffers BACK=1 AHEAD=3 (The OSD indicates this filter only needs 1-back & 1-ahead.)
SetMemoryMax(224)
SetMTMode(2)
SeeSaw(NRlimit=1, NRlimit2=3,Sstr=1.4,Slimit=5,Spower=2,Sdamplo=2,SdampHi=20,Szp=10,Bias=65,SootheT=10)

I sat down finally to watch the R1 version DVD of 'Blood Diamond' and 1:17 into the first chapter the video freezes and
stutters for about 2-3 seconds and then it is fine - something that doesn't happen with an unpatched version of ffdshow. I didn't watch it all the way thru with your patched version but the first couple of chapters seem to work ok after that so it
appears to be a one time thing. I tried unchecking "Apply pulldown" and set both buffer settings to zero but I get the
same results. I also reported (in another thread) the same thing happening with the montage on my Video Essentials DVD. I'll have to watch more DVD's with your patched version to see if I can get more examples.

Thanks,
jidelite

Avish
14th April 2007, 08:53
Hey Leak!!

Can you please tell me how to get your build working? I mean "TIVTC on the fly" thingy you keep talking about!!! :)

I've MPC, your latest ffdshow build, avisynth 2.5.7 & latest TIVTC dlls. Now I wanna know how to get it work?? What script should I use? what options should be ticked or unticked?? etc etc...

Thanks in advance!! :)

Leak
14th April 2007, 09:46
Hey Leak!!

Can you please tell me how to get your build working? I mean "TIVTC on the fly" thingy you keep talking about!!! :)

I've MPC, your latest ffdshow build, avisynth 2.5.7 & latest TIVTC dlls. Now I wanna know how to get it work?? What script should I use? what options should be ticked or unticked?? etc etc...
Yeah, I know, it's still a bit lacking in the "documentation" department. But I'm currently a bit swamped with other work, so it'll take a bit to write.

Anyhow, in your case a script like
TFM(order=1) # add chroma=false for a bit of speedup
TDecimate(mode=1,hybrid=1,conCycle=1) # and maybe chroma=false again
should work, although you might want to tweak that - I'd suggest consulting TIVTC's documentation anyhow... :)

- Check "Add ffdshow video source", which adds a "ffdshow_source" command to the beginning of the script, which is an AviSynth filter provided by ffdshow that acts like AVISource and feeds AviSynth the frames ffdshow gets

- Check "Apply pulldown", which should always be checked for IVTC as it makes sure MPEG2 and other video that has interlace flags gets turned into proper interlaced 30FPS video like you'd get when watching a DVD on a TV, instead of the 24/30 FPS mix it might be on a PC

- Check the four colorspace checkboxes; you could uncheck the two RGB settings since TIVTC only supports YUY2 and YV12, but you can always just do the conversion yourself in the AviSynth script

- Use values for back and ahead that the "AviSynth info" in the ffdshow OSD spits out while playing video using the above script; for me that's 0 back and 12 ahead - you might have to do that again if it reports a higher value after seeking around a bit.

np: Sage Francis - Smoke And Mirrors (Personal Journals)

Leak
14th April 2007, 09:57
Leak,
At the moment I've only been using the 1 filter/Avisynth script (nothing else is check in ffdshow):
Buffers BACK=1 AHEAD=3 (The OSD indicates this filter only needs 1-back & 1-ahead.)
Hmmm... are you really using my latest build? There was a bug in the previous version that would often report more needed back buffers than there really were - now it's quite rare, but not impossible to get a back value other than 0. (I guess I'll have to try SeeSaw myself sometimes... :D)

Still, if the OSD says "1 ahead", I'd really recommend using just 1 for the buffers ahead setting, since the greater that value the greater the pause (and CPU load) between starting/seeking and the beginning of playback.

I sat down finally to watch the R1 version DVD of 'Blood Diamond' and 1:17 into the first chapter the video freezes and stutters for about 2-3 seconds and then it is fine - something that doesn't happen with an unpatched version of ffdshow. I didn't watch it all the way thru with your patched version but the first couple of chapters seem to work ok after that so it appears to be a one time thing. I tried unchecking "Apply pulldown" and set both buffer settings to zero but I get the same results. I also reported (in another thread) the same thing happening with the montage on my Video Essentials DVD. I'll have to watch more DVD's with your patched version to see if I can get more examples.
Hmmm... could you perhaps extract the first two minutes or so of your Blood Diamond DVD (using DVD Decrypter and Chopper XP or something like that) and upload it somewhere so I can try this out myself?

Also, how much CPU load do you have while playing the DVD? And does this also happen if you don't use SetMTMode? (It's not going to help much with HyperThreading anyway...)

np: Sage Francis - Pitchers Of Silence (Personal Journals)

Avish
14th April 2007, 11:09
Yeah, I know, it's still a bit lacking in the "documentation" department. But I'm currently a bit swamped with other work, so it'll take a bit to write.

Anyhow, in your case a script like
TFM(order=1) # add chroma=false for a bit of speedup
TDecimate(mode=1,hybrid=1,conCycle=1) # and maybe chroma=false again
should work, although you might want to tweak that - I'd suggest consulting TIVTC's documentation anyhow... :)

- Check "Add ffdshow video source", which adds a "ffdshow_source" command to the beginning of the script, which is an AviSynth filter provided by ffdshow that acts like AVISource and feeds AviSynth the frames ffdshow gets

- Check "Apply pulldown", which should always be checked for IVTC as it makes sure MPEG2 and other video that has interlace flags gets turned into proper interlaced 30FPS video like you'd get when watching a DVD on a TV, instead of the 24/30 FPS mix it might be on a PC

- Check the four colorspace checkboxes; you could uncheck the two RGB settings since TIVTC only supports YUY2 and YV12, but you can always just do the conversion yourself in the AviSynth script

- Use values for back and ahead that the "AviSynth info" in the ffdshow OSD spits out while playing video using the above script; for me that's 0 back and 12 ahead - you might have to do that again if it reports a higher value after seeking around a bit.

Thanks man for the quick n' detailed reply!!! :)
I'll try it out immidiately. :D

jidelite
14th April 2007, 16:07
Leak,
Hmmm... are you really using my latest build? There was a bug in the previous version that would often report more needed back buffers than there really were - now it's quite rare, but not impossible to get a back value other than 0. (I guess I'll have to try SeeSaw myself sometimes... )

Still, if the OSD says "1 ahead", I'd really recommend using just 1 for the buffers ahead setting, since the greater that value the greater the pause (and CPU load) between starting/seeking and the beginning of playback.


My mistake :eek: , I am using your latest build and the back value IS 0

Also, how much CPU load do you have while playing the DVD? And does this also happen if you don't use SetMTMode? (It's not going to help much with HyperThreading anyway...)


My CPU load is about 30%. I removed the SetMTMode and I get the same results.

Hmmm... could you perhaps extract the first two minutes or so of your Blood Diamond DVD (using DVD Decrypter and Chopper XP or something like that) and upload it somewhere so I can try this out myself?


I have a 30 sec (29Mb) that you can get here: http://files.filefront.com/Blood_Diamond_chp1zip/;7237285;/fileinfo.html

Thanks,
jidelite

Leak
14th April 2007, 16:51
I have a 30 sec (29Mb) that you can get here: http://files.filefront.com/Blood_Diamond_chp1zip/;7237285;/fileinfo.html
Ummm... is the scene where it stuttered in there, and where?

EDIT: Scratch that, it studders if I poke it enough - somehow I managed to get the timestamps messed up; turn on "Frame duration" in ffdshow's OSD and you'll see they oscillate between 41 and 75 ms, instead of a steady 41 ms... :(

I'll look into it this evening. As a workaround, you can seek back a bit once or twice, it should fix itself then...

np: Contriva - Unhelpful (Separate Chambers)

jidelite
14th April 2007, 19:00
Ummm... is the scene where it stuttered in there, and where?

EDIT: Scratch that, it studders if I poke it enough - somehow I managed to get the timestamps messed up; turn on "Frame duration" in ffdshow's OSD and you'll see they oscillate between 41 and 75 ms, instead of a steady 41 ms... :(

I'll look into it this evening. As a workaround, you can seek back a bit once or twice, it should fix itself then...

np: Contriva - Unhelpful (Separate Chambers)

Glad you could spot it :). I turned on the Frame Duration in the OSD and I did see it oscillate. While I'm loading clips, here is a 1 min (70Mb) clip from my Video Essentials disc that also gives me problems - http://files.filefront.com/Video_Essential_clipzip/;7238638;/fileinfo.html...

Thanks,
jidelite

FredThompson
14th April 2007, 23:12
Would somone please add a selective setting to the deinterlacing such that it is only enabled if the source is above a use specified set of X and Y dimensions? I have kernel deinterlacing on by default (I work with a lot of different camcorder source) and have noticed podcast-sized video looks horrible. Maybe this is part of how kernel deinterlacer works. There doesn't seem to be much negative effect while viewing large video but 320x240 progressive looks horrible.

FredThompson
15th April 2007, 11:16
wrt my comment about kernal deinterlacer, it seems to only be a problem with Apple-encoded mp4v. It's really odd.

Leak
15th April 2007, 14:57
Another update:

* Added some comments to the code
* Don't always reallocate the buffers
* Fix b0rked code to get the decoder's filters in BeginFlush, since that's not gonna work in the encoder, which will then likely crash or act strangely
* Really make timestamps strictly increasing; frame durations in the last version could start to oscillate, turning playback into a stutter-o-rama

Download (http://leak.no-ip.org/AviSynth/ffdshow/ffdshow_AviSynth_rev1103_20070415.exe)
Patch (https://sourceforge.net/tracker/index.php?func=detail&aid=1676882&group_id=173941&atid=867362) (against rev. 1103)

One thing I still need to do is make the filter not buffer anything at all if buffering is disabled, but I didn't have the time to squeeze this in today.

@jidelite: The last change listed above should hopefully fix your problem, could you please try it? At least I wasn't able to make playback of the sample you posted stutter again, no matter how hard I tried seeking around in it, which always triggered it after a few tries with the last build...

@haruhiko_yamagata: Are you still getting green frames with this version? I think I made sure that no frames that AviSynth may have cached (and discarded, or zeroed, or whatever) are used after a seek anymore.

np: Richie Hawtin - TZ Entry Point (DE9 - Transitions)

jidelite
15th April 2007, 23:11
Another update:

* Added some comments to the code
* Don't always reallocate the buffers
* Fix b0rked code to get the decoder's filters in BeginFlush, since that's not gonna work in the encoder, which will then likely crash or act strangely
* Really make timestamps strictly increasing; frame durations in the last version could start to oscillate, turning playback into a stutter-o-rama

Download (http://leak.no-ip.org/AviSynth/ffdshow/ffdshow_AviSynth_rev1103_20070415.exe)
Patch (https://sourceforge.net/tracker/index.php?func=detail&aid=1676882&group_id=173941&atid=867362) (against rev. 1103)

@jidelite: The last change listed above should hopefully fix your problem, could you please try it? At least I wasn't able to make playback of the sample you posted stutter again, no matter how hard I tried seeking around in it, which always triggered it after a few tries with the last build...

np: Richie Hawtin - TZ Entry Point (DE9 - Transitions)

Leak, tried rev. 1103 and I still get same results. By the way, my videos oscillates between 41ms & 33ms when I have a problem (if that makes a difference) - and always in the same location. Thanks for looking into this - if you cannot reproduce it and no one else is reporting a stuttering problem (this doesn't happen in every movie) then this could very well be isolated to my PC.

jidelite

Leak
16th April 2007, 00:25
Leak, tried rev. 1103 and I still get same results. By the way, my videos oscillates between 41ms & 33ms when I have a problem (if that makes a difference) - and always in the same location.
Well, if it's always in the same location at 1:17 in - could you perhaps extract the whole first two minutes, like I asked earlier?

That should make reproducing it a lot easier... :)

jidelite
16th April 2007, 01:25
Well, if it's always in the same location at 1:17 in - could you perhaps extract the whole first two minutes, like I asked earlier?

That should make reproducing it a lot easier... :)

I will extract the first 2 minutes but I also put another clip out (see post #1041) that is 1 minute long that exhibits the behavior a few times:
approx 3sec in - oscillates from 41->33->41
approx 10sec in - oscillates from 41->33->41
approx 41sec in - oscillates from 41->33
approx 1:00min in - oscillates from 33->41
approx 1:03 min in - oscillates from 41->33

EDIT: 1:30min of chp1 for Blood Diamond Here (http://files.filefront.com/Blood_Diamond_chp1_130zip/;7250873;/fileinfo.html)

jidelite

Leak
16th April 2007, 08:01
I will extract the first 2 minutes but I also put another clip out (see post #1041) that is 1 minute long that exhibits the behavior a few times:
approx 3sec in - oscillates from 41->33->41
approx 10sec in - oscillates from 41->33->41
approx 41sec in - oscillates from 41->33
approx 1:00min in - oscillates from 33->41
approx 1:03 min in - oscillates from 41->33

EDIT: 1:30min of chp1 for Blood Diamond Here (http://files.filefront.com/Blood_Diamond_chp1_130zip/;7250873;/fileinfo.html)
Thanks!

I'll take a look at it when I get home since I'm at work... :)

haruhiko_yamagata
16th April 2007, 15:40
@haruhiko_yamagata: Are you still getting green frames with this version? I think I made sure that no frames that AviSynth may have cached (and discarded, or zeroed, or whatever) are used after a seek anymore.

Great, it's OK. No green flash at all :D .

Seb.26
17th April 2007, 16:58
Hi guys ! :)

Just one small question :

<< Is there a way to disabling the TV->PC level remapping, in FFDShow, when input format is YV12 (or YU2) and ouput format is RGB32 ?! >>

ie: for allowing users to customize the mapping matrix ... think about BTB & WTW ... ;)

check
18th April 2007, 07:57
Just a bump to let you know I'm well on my way for writing up an ffdshow reference page: mewiki.project357.com/wiki/FFDShow_reference (http://mewiki.project357.com/wiki/FFDShow_reference)
I've written up info for the three most important pages, but haven't written any more yet. I won't be writing up any info on any of the transform filters, but I do hope to write info on the equivalent pages for the ffdshow audio component, and maybe a little more on the other 'meta' pages of ffdshow. I would of course welcome it if others chose to write them :) I've posted the link here for two reasons:
o to get people to point out my mistakes (and fix them)
o to find some suckers to write the rest for me
Any volunteers? :)

alter4
18th April 2007, 10:37
Gradual denoise crush on my system on some movies(not any law, it's irregular). Win XP SP2 Pentium 4 631. All ffdshow setting are default, just only turn on denoise. Bug appears both in GCC and ICL builds.

fastplayer
18th April 2007, 13:26
o to get people to point out my mistakes (and fix them)
Found one:
"High Quality YUV to RGB Conversion: Because (almost) all video files are compressed in a YV format (usually YV12), ffdshow much convert from the YV colour system to the RGB colour system when outputting RGB modes."

By the way, nice job, check! :)
Everything explained straight to the point. Just how I like it :D

Kado
18th April 2007, 14:49
@haruhiko_yamagata
Found another incompatible Winamp DSP plugin: Adapt-x v3.61c (http://www.winamp.com/plugins/details.php?id=138579). This one does not work with ffdshow and if it is in the list for usage it will make MPC not work properly, after opening a few files when you try to open a new one MPC says "Failed to query the needed interfaces for playback". I was wondering if you can add it to the DSP plugin ban list as well.

Is not possible to use Direct X audio plugins from within ffdshow right?

vlada
18th April 2007, 16:59
Is there somewhere a page, which would collect known bugs and their status? Also it would be nice to have somewhere feature requests collected.

I think it would help both users and developers.

foxyshadis
18th April 2007, 21:26
Is there somewhere a page, which would collect known bugs and their status? Also it would be nice to have somewhere feature requests collected.

I think it would help both users and developers.

Souceforge bugtracker (http://sourceforge.net/tracker/?group_id=173941)

This should probably be linked in the first post, even though it technically falls under the project page.

haruhiko_yamagata
19th April 2007, 12:44
Just a bump to let you know I'm well on my way for writing up an ffdshow reference page: mewiki.project357.com/wiki/FFDShow_reference (http://mewiki.project357.com/wiki/FFDShow_reference)
I've written up info for the three most important pages, but haven't written any more yet. I won't be writing up any info on any of the transform filters, but I do hope to write info on the equivalent pages for the ffdshow audio component, and maybe a little more on the other 'meta' pages of ffdshow. I would of course welcome it if others chose to write them :) I've posted the link here for two reasons:
o to get people to point out my mistakes (and fix them)
o to find some suckers to write the rest for me
Any volunteers? :)Thank you for your documentation and place. I have posted "resize.htm" there.

Well, my goal is to create ffdshow.chm (microsoft htmlhelp document). So I need html. Writing two version (html and wiki) increases my work...

But if we get some volunteers by using MeWiki, it's worth while. Anybody can perticipate and contribute MeWiki, which I think a really ideal solution.

haruhiko_yamagata
19th April 2007, 12:51
Gradual denoise crush on my system on some movies(not any law, it's irregular). Win XP SP2 Pentium 4 631. All ffdshow setting are default, just only turn on denoise. Bug appears both in GCC and ICL builds.
I cannot reproduce.
What is your CPU? Which build do you use?
What is the size (width, height) of the video?

haruhiko_yamagata
19th April 2007, 13:31
@haruhiko_yamagata
Found another incompatible Winamp DSP plugin: Adapt-x v3.61c (http://www.winamp.com/plugins/details.php?id=138579). This one does not work with ffdshow and if it is in the list for usage it will make MPC not work properly, after opening a few files when you try to open a new one MPC says "Failed to query the needed interfaces for playback". I was wondering if you can add it to the DSP plugin ban list as well.

Is not possible to use Direct X audio plugins from within ffdshow right?OK, I'll look into it.

// EDIT
Excluded. I'm not sure why it does not work. Maybe ffdshow's bug, just for the time being...

I cannot find the way to know which plugins are compatible with mlltichannel audio. I'm going to add a check box so that user can manually choose.

foxyshadis
19th April 2007, 16:59
Thank you for your documentation and place. I have posted "resize.htm" there.

Well, my goal is to create ffdshow.chm (microsoft htmlhelp document). So I need html. Writing two version (html and wiki) increases my work...

But if we get some volunteers by using MeWiki, it's worth while. Anybody can perticipate and contribute MeWiki, which I think a really ideal solution.

Wilbert has a script that can convert from Wiki into plain html, for avisynth's offline documentation. ffdshow's could probably work with the same thing. You can send him a PM and see if he has it handy.

chros
19th April 2007, 18:46
I cannot find the way to know which plugins are compatible with mlltichannel audio. I'm going to add a check box so that user can manually choose.
I'm hardly waiting to test it !!!! Let me know when it's integrated! Thanks !!!

Another question: when DFX plugin is used it stoles the focus (even in hidden mode, which is my default) from the player (eg. MPC). Can you do something about this ?

Thanks...

thuan
22nd April 2007, 06:53
What does Vista Optimized with Albain's build mean?

iron2000
22nd April 2007, 09:09
For the HW deinterlacing at the output page, must the player by set to overlay mixer to use it?
No VMR?

HW deinterlacing does auto-deinterlacing, isn't it?

How I wish there would be some really thorough indepth guide for ffdshow something like the ATI Catalyst guide at TweakGuides. Maybe it can be a wiki for fast updates on the status of the features.

Leak
22nd April 2007, 11:15
I will extract the first 2 minutes but I also put another clip out (see post #1041) that is 1 minute long that exhibits the behavior a few times:
approx 3sec in - oscillates from 41->33->41
approx 10sec in - oscillates from 41->33->41
approx 41sec in - oscillates from 41->33
approx 1:00min in - oscillates from 33->41
approx 1:03 min in - oscillates from 41->33
(first of all - sorry for taking my time with answering this, but I'm a bit stressed out at work currently so this had to wait until the weekend...)

Okay, I've tested the Video Essential clip several times in a row, logging the OSD values (esp. AviSynth info and Frame duration) to a csv file - there's an option on the OSD config page if you want to do the same.

It played at a constant 41.7xxx ms per frame for me, except for two or three scene changes in the beginning where the frame duration dipped down to 33ms for a single frame - which is surely caused by a bad edit (wonky interlace flags caused by cutting and/or pasting parts of the video after applying the flags in postproduction). If that's what you meant by "oscillate", that's perfectly normal and happens all the time; also, it should be almost unnoticeable.

It's caused by my filter calculating the new timestamps directly from the old ones so the timestamps stay in sync - I could assign all frames the same duration by making up timestamps myself, but that would make the audio/video sync drift apart over time...

But what I meant by "oscillate" was a repeating pattern of "41 41 41 33" for the whole length of the video causing massive stutter - and that hasn't happened for me with my last version, no matter how hard I tried.

np: Richie Hawtin - TZ Entry Point (DE9 - Transitions)

clsid
22nd April 2007, 13:35
What does Vista Optimized with Albain's build mean?
The only difference is an additional audio feature that was added specifically for Vista.

From SVN:Added audio device selection for multichannel streams (for Vista only). This lets deal with the audio end points problem in Vista : only one entry point can be used at a time. This feature will let use another device than the default one for multichannel streams.

haruhiko_yamagata
22nd April 2007, 14:31
For the HW deinterlacing at the output page, must the player by set to overlay mixer to use it?
No VMR?

HW deinterlacing does auto-deinterlacing, isn't it?

How I wish there would be some really thorough indepth guide for ffdshow something like the ATI Catalyst guide at TweakGuides. Maybe it can be a wiki for fast updates on the status of the features.
"Use overlay mixer" is historical naming. In this era of VMR, the name of the check box doesn't make sense in my opinion.

Technically speaking, "Use overlay mixer" force (or allow by intermediate state) ffdshow to use VIDEOINFOHEADER2.
If not checked, VIDEOINFOHEADER is used.
VIDEOINFOHEADER2 is superior in the point that it can specify pixel aspect ratio (SAR), interlacing flag (called HW deinterlacing there).

Intermediate state in VMR7/9 is same as checked.
Intermediate state except VMR, first try VIDEOINFOHEADER2 and if failed to connect, try VIDEOINFOHEADER.

If I remember correctly, on Windows 2000, when default video renderer of OS is specified by the application, "Use overlay mixer" works just like its name. If checed, overlaymixer, If not, old renderer.

Could anyone fix my English and post it to MeWiki?

I would like to rename the check box. What should it be called? "Send pixel aspect ratio to video renderer"?

clsid
22nd April 2007, 14:37
Perhaps "Use advanced renderer capabilities" or "Send control flags to renderer".

haruhiko_yamagata
22nd April 2007, 15:01
A lot of people are having trouble finding the 'presets' functionality in ffdshow because it is not in a very obvious place.

Some suggestions to improve the GUI:

* Rename 'Image settings' to 'Profiles/Presets'

* Which do you prefer 'Profiles/Presets' or 'Profiles/Preset settings'?

* Rename 'Show/hide filters' to 'Filters' and remove the indentation.

I tried, but it did not look better to me.

* Remove indentations for 'Decoder options', 'Queue & misc' and 'Output'.

The indentation means that they are in preset settings (The indentation begins 'Image settings') though this idea of milan is less likely to be understood. Cosmetically, removing indentation does not look better to me.

haruhiko_yamagata
22nd April 2007, 15:15
typedef struct tagVIDEOINFOHEADER {
RECT rcSource,
RECT rcTarget;
DWORD dwBitRate;
DWORD dwBitErrorRate;
REFERENCE_TIME AvgTimePerFrame;
BITMAPINFOHEADER bmiHeader;
} VIDEOINFOHEADER

typedef struct tagVIDEOINFOHEADER2 {
RECT rcSource;
RECT rcTarget;
DWORD dwBitRate;
DWORD dwBitErrorRate;
REFERENCE_TIME AvgTimePerFrame;
DWORD dwInterlaceFlags;
DWORD dwCopyProtectFlags;
DWORD dwPictAspectRatioX;
DWORD dwPictAspectRatioY;
DWORD dwReserved1;
DWORD dwReserved2;
BITMAPINFOHEADER bmiHeader;
} VIDEOINFOHEADER2;

The difference is aspect ratio, interlace and copy protect.
ffdshow does not set copy protect flag, AFAIK.
dwInterlaceFlags is set only if "HW deinterlacing" is checked.

fastplayer
22nd April 2007, 15:31
..."Send control flags to renderer".
Sounds good to me. The tooltip should contain a short explanation of all 3 states like
Checked: ffdshow uses advanced control flags like SAR and interlacing...
Greyed-out: ffdshow tries to use advanced control flags but falls back if unsupported...
Unchecked: ffdshow does not use any of the advanced control flags...

haruhiko_yamagata
22nd April 2007, 16:03
Sounds good to me. The tooltip should contain a short explanation of all 3 states like

Checked: ffdshow uses advanced control flags like SAR and interlacing...


Well, if "HW deinterlacing" is not checked, only SAR is the advanced control flag.

fastplayer
22nd April 2007, 16:09
It was just meant as a template. Until now I didn't know what this check box meant. The tooltip was as meaningful as last week's newspaper...
Maybe something like this:
"ffdshow uses advanced control flags like SAR and interlacing (if selected below) etc."

clsid
22nd April 2007, 16:38
* Which do you prefer 'Profiles/Presets' or 'Profiles/Preset settings'?
Preset settings

clsid
22nd April 2007, 16:43
Btw, is there any reason to keep the "use overlay mixer" checkbox? Could we not just make the intermediate state behavior the standard behavior?

jidelite
22nd April 2007, 22:50
(first of all - sorry for taking my time with answering this, but I'm a bit stressed out at work currently so this had to wait until the weekend...)

No problem. I know how stressful work can be. I'm just glad you have taken them time to review this.

Okay, I've tested the Video Essential clip several times in a row, logging the OSD values (esp. AviSynth info and Frame duration) to a csv file - there's an option on the OSD config page if you want to do the same.

It played at a constant 41.7xxx ms per frame for me, except for two or three scene changes in the beginning where the frame duration dipped down to 33ms for a single frame - which is surely caused by a bad edit (wonky interlace flags caused by cutting and/or pasting parts of the video after applying the flags in postproduction). If that's what you meant by "oscillate", that's perfectly normal and happens all the time; also, it should be almost unnoticeable.

Yes, this is what I meant by "oscillating" but here is the frustrating part for me; when I use your ffdshow version and the frame duration dips to 33ms (like the clips I provided) my video stutters/freezes for a couple of secs. All other ffdshow versions I use handle the frame dips very smoothly without a problem. I will continue to test your version(s) but it will sure make testing easier when you add the switch to turn buffering on/off so I don't have to continue un-installing your version of ffdshow to go back to one that plays smoothly for me. I really wish someone else could confirm that this is happening to them but as it stands, if its only me, then forget about this as I'm sure there are other things you can do with your valuable time.

Thanks,
jidelite

zambelli
23rd April 2007, 00:14
HW deinterlacing does auto-deinterlacing, isn't it
VIDEOINFOHEADER2 is superior in the point that it can specify pixel aspect ratio (SAR), interlacing flag (called HW deinterlacing there).
I think "Hardware deinterlacing" is a misnomer. Setting the dwInterlaceFlags in VIH2 enables the downstream DirectShow filter to treat the content as interlaced. In most cases the next filter after a decoder (such as Ffdshow) is the Video Renderer. VMR7, VMR9 and EVR know that if dwInterlaceFlags has AMINTERLACE_IsInterlaced set, they should try to perform deinterlacing. Whether the deinterlacing is truly performed in software (CPU only) or hardware (GPU assisted through DXVA) is irrelevant to the decoder. So I think calling this feature "hardware deinterlacing" is not most accurate. If all it does is enable VIH2 and sets the AMINTERLACE_IsInterlaced flag, then it would more apt to name it "Enable interlaced signaling" or something like that. After all, there's no guarantee that the next filter in the graph is a renderer - so there's still no guarantee deinterlacing will be performed if that checkbox is checked.

foxyshadis
23rd April 2007, 01:57
Btw, is there any reason to keep the "use overlay mixer" checkbox? Could we not just make the intermediate state behavior the standard behavior?

Agreed unless anyone knows of a case where another filter rejects VIH2, even though it works when forced on.

vlada
23rd April 2007, 08:30
Hi, I just read about a deinterlace filter in MPlayer called Yadif (http://forum.doom9.org/showthread.php?t=124284). It is a smart bob filter, which doubles framerate, has both spatial and temporal detection and an edge directed interpolation. I haven't tried it yet myself, but in a test I've seen it looks very good.

I'm wondering, if it would be possible to add this filter in ffdshow.

Kurtnoise
23rd April 2007, 10:32
@devs : lavc doesn't compile with MSVC in the last svn rev (due to the latest atrac3 mods)...Seems to be ok with gcc though.

HeadBangeR77
23rd April 2007, 10:46
Checked: ffdshow uses advanced control flags like SAR and interlacing...
Greyed-out: ffdshow tries to use advanced control flags but falls back if unsupported...
Unchecked: ffdshow does not use any of the advanced control flags...
This has made the option finally clear to me. Cheers!

Just one quite a noobish question: As long as I remember the option has been checked & greyed out in my case. What does it depend on? Graphic card's drivers? Graphic card's capabilities? OS as well? Or maybe all of them together to some extent?

Thanks in advance.
cheers,
HDBR77

PS. A quick look at video render pin revealed I've got "formattype: FORMAT_VideoInfo2" for all the formats I checked.

@ zambelli:
If all it does is enable VIH2 and sets the AMINTERLACE_IsInterlaced flag, then it would more apt to name it "Enable interlaced signaling" or something like that.
Do you assume then, if it's unchecked, that the video render (no matter which is being used) won't get the signalling as to whether the video is interlaced or not? If it's true, would the render always try to perform deinterlacing with this option checked? :confused:

vlada
23rd April 2007, 11:35
One more question: It used to be possible to install ffdshow even with a user account. Now I can't install ffdshow even as a poweruser, the installer tells me I need to have an administrator account. Why?

haruhiko_yamagata
23rd April 2007, 15:17
Btw, is there any reason to keep the "use overlay mixer" checkbox? Could we not just make the intermediate state behavior the standard behavior?
Hmm... seems to be a good idea. Only one negative point of intermediate state that I know is that it slows down connection process compared to "checked" state.
User-friendliness may prioritize over it though.

But I'm not brave enough to remove it, because ffdshow has a huge variety of users. There may be some users who need that feature for the reason that I cannot imagine.

haruhiko_yamagata
23rd April 2007, 15:25
@ zambelli:

Do you assume then, if it's unchecked, that the video render (no matter which is being used) won't get the signalling as to whether the video is interlaced or not? If it's true, would the render always try to perform deinterlacing with this option checked? :confused:
If it's unchecked the video renderer won't get any information regarding interlacing. They should be treated as progressive (some video renderers may try IVTC for DVD, though I'm not sure).
If it's checked, the flag is set if it is interlaced or not. For progressive stream, the flag is set progressive. What matters a lot is DVD, they are always interlaced but in most cases they were originally film, i.e. progressive.

wozio
23rd April 2007, 18:51
If it's unchecked the video renderer won't get any information regarding interlacing. They should be treated as progressive (some video renderers may try IVTC for DVD, though I'm not sure).
If it's checked, the flag is set if it is interlaced or not. For progressive stream, the flag is set progressive. What matters a lot is DVD, they are always interlaced but in most cases they were originally film, i.e. progressive.
Isn't it VIDEOINFOHEADER2 set for each media sample passed to renderer? So only thing to do for decoder is to pass flags from encoded stream. It is up to renderer (or in fact drivers if we are talking about VMR) to detect correct deinterlacing mode.

Keepitsimple
24th April 2007, 00:00
maybe time for next official beta?

haruhiko_yamagata
24th April 2007, 00:18
Isn't it VIDEOINFOHEADER2 set for each media sample passed to renderer?Yes.
So only thing to do for decoder is to pass flags from encoded stream.ffdshow pass interlacing flags only when "HW deinterlacing" is checked. Otherwise ffdshow sets the flag progressive. Most of DirectShow decoders have this kind of option.
It is up to renderer (or in fact drivers if we are talking about VMR) to detect correct deinterlacing mode.Decoders can choose weave and bob.

zambelli
24th April 2007, 02:16
Yes.
ffdshow pass interlacing flags only when "HW deinterlacing" is checked. Otherwise ffdshow sets the flag progressive. Most of DirectShow decoders have this kind of option.
Decoders can choose weave and bob.
Correct. In most cases "weave" is the same as progressive (or no VIH2) since it instructs the renderer to simply leave the frames weaved as is. "Weave" basically means "don't touch".

Most decoders will signal AMINTERLACE_DisplayModeBobOnly when they want the renderer to deinterlace the video, but this doesn't imply that bobbing must be used. Depending on the VMR and its mode (VMR7 acts differently in regular vs YUV Mixing mode), same-framerate deinterlacing or double-framerate bobbing might occur. That part's up to the renderer and the video HW.

Furthermore, I've noticed that most GPU deinterlacers do a good job of detecting true interlaced vs progressive signaled as interlaced and adapting the renderered framerate on the fly. I encoded a video once of a 1-minute source where the first half was truly interlaced, and then the second half was the same as the first half but deinterlaced. The first half was encoded in VC-1 as field interlaced, and the second half was encoded as progressive - but the whole ASF file was signaled as interlaced. When decoded back via DXVA and VMR9, the first half was played back at 59.94 fps, and then at the midpoint the framerate started dropping until it reached 29.97 fps. I think I tested this on an Nvidia 6600 GPU.

wozio
24th April 2007, 07:02
Depending on the VMR and its mode (VMR7 acts differently in regular vs YUV Mixing mode
I noticed the same for VMR9 but I think it is not regular mixing vs YUV mixing but more non mixing vs mixing mode (as far as I can tell yuv mixing is almost the same as rgb mixing but without last step of converting to RGB and passing it as a output, but I'm trying it only with one HW and only in my own app so I probably messed something).

Furthermore, I've noticed that most GPU deinterlacers do a good job of detecting true interlaced vs progressive signaled as interlaced and adapting the renderered framerate on the fly. I encoded a video once of a 1-minute source where the first half was truly interlaced, and then the second half was the same as the first half but deinterlaced. The first half was encoded in VC-1 as field interlaced, and the second half was encoded as progressive - but the whole ASF file was signaled as interlaced. When decoded back via DXVA and VMR9, the first half was played back at 59.94 fps, and then at the midpoint the framerate started dropping until it reached 29.97 fps. I think I tested this on an Nvidia 6600 GPU.

Modern GPUs can do even more, for example regular film telecined material broadcasted with scrolling text in regular ntsc frame rate can be properly deinterlaced to maintain both ivtc and smooth text movement :)

One more thing to add here. On my HW (ATI X1650) renderer (VMR9) input colorspace must be set to NV12 for advanced deinterlacing to work. With other colospaces driver does simple bob. So I have to disable all other colorspaces in ffdshow to force NV12 output. It would be good to add some kind of list with possibility to prioritize proposed colorspaces. This is really done well in coreavc, there is a list with colorspaces and they are proposed downstream in order (it is possible to move colorspaces on list as weel as disabling some of them).

Anyway for me this HW deinterlacing setting in ffdshow is not needed and confusing.

alter4
24th April 2007, 08:35
I cannot reproduce.
What is your CPU? Which build do you use?
What is the size (width, height) of the video?
My CPU is pentium 4 (model 631) video size 540x300
which build is not important, bug appears in all builds

iron2000
24th April 2007, 12:43
Anyway for me this HW deinterlacing setting in ffdshow is not needed and confusing.

Wow, sure did confuse me.

So when checked the next filter after ffdshow will know if the video is interlaced or not and when unchecked ffdshow will mark all videos as deinterlaced?

What if the driver has more method other than weave and bob, does it mean that ffdshow restricts it only to the 2 methods?

The guide at MeWiki is a pretty good start, hope that it will cover all the options in the future or maybe put them up on a ffdshow-tryouts wiki.

haruhiko_yamagata
24th April 2007, 15:15
Wow, sure did confuse me.

So when checked the next filter after ffdshow will know if the video is interlaced or not and when unchecked ffdshow will mark all videos as deinterlaced?Yes. As a hint for downstream. But downstream filter may detect the stream interlaced (or telecined DVD) and try to deinterlace (IVTC). It's downstream's choice.

What if the driver has more method other than weave and bob, does it mean that ffdshow restricts it only to the 2 methods?
It's just flag. Downstream filters may ignore the flag. You can force the downtream filter to ignore the upper stream's flag, if the filter supports the configuration.

vlada
24th April 2007, 16:38
What if the driver has more method other than weave and bob, does it mean that ffdshow restricts it only to the 2 methods?

As zambelli already said, weave is not a deinterlace method. It means, that the renderer treats the video as if it was progressive (no matter if it really is). So the only choice for an interlaced video is (smart) bob. There are usually no other deinterlace methods. But if you had for example a graphic card with more deinterlace algorithms, you'd have to choose them in driver properties. There's no way how ffdhsow could control it.

cc979
24th April 2007, 19:51
on ffdshow svn version 1122 is there a typo on
line 124 of makefile_c.inc

should it be this ?
--def $(GCCDEF) $(GCCDLLENTRY) -o $@ $(OBJS) -lpthread $(GCCLIBS)


as it did not compile before i changed it

_xxl
25th April 2007, 05:58
I would like to uncheck TomsMoComp,kernelDeint and x264 from msvc 2003(2005) solution files.
http://img17.imagevenue.com/loc992/th_77370_Capture_122_992lo.jpg (http://img17.imagevenue.com/img.php?image=77370_Capture_122_992lo.jpg)
TomsMoComp,kernelDeint should be compiled by ICL and x264 by GCC.

zambelli
25th April 2007, 08:28
I have a question regarding the Audio Decoder Configuration option under Output named "Don't use WAVEFORMATEXTENSIBLE header when not needed"...

Would it be possible to make this into a dropdown list with options:
* Never use WAVE_FORMAT_EXTENSIBLE
* Don't use WAVE_FORMAT_EXTENSIBLE when not needed
* Always use WAVE_FORMAT_EXTENSIBLE

As it is right now, I can prevent Ffdshow from outputting WAVE_FORMAT_EXTENSIBLE headers, but I can't force it to output WAVE_FORMAT_EXTENSIBLE headers.

check
25th April 2007, 09:21
The second option would be better worded "Only use when needed". Double negatives suck :P

Leak
25th April 2007, 10:36
TomsMoComp,kernelDeint should be compiled by ICL and x264 by GCC.
No argument about x264 from me, but what about us folks who only have MSVC (and of course GCC, since it's free)?

And isn't there a separate ICL9 project anyway?

clsid
25th April 2007, 11:34
ICL9 binaries for TomsMoComp and kernelDeint are in the SVN. So there is no need to compile them.

I agree that they should be removed (not just unchecked) from the main msvc solution files. There are separate project files present for them anyway.

TheShadowRunner
26th April 2007, 00:13
2 little suggestions:

- for the installer: if it could remember the language used during previous ffdshow installations.

- for ffdshow: for the "logoaway" feature, if we could have a feature for setting the position easily. Like a preview either in red or as negative image, to set the position accurately, and then we would disable it for the normal processing.
Hope you see what i mean ^^;
Later,

TSR

clsid
26th April 2007, 10:59
2 little suggestions:
- for the installer: if it could remember the language used during previous ffdshow installations.That is not possible with the install software that we use.

haruhiko_yamagata
26th April 2007, 16:11
My CPU is pentium 4 (model 631) video size 540x300
which build is not important, bug appears in all builds
Thank you. Now I can reproduce the bug.
The debug may be hard because it's random and rare.

Seb.26
26th April 2007, 16:24
Hi world ! :)

is there a way to disabling the TV->PC level remapping done when input is YV12/YU2 and output is RGB32 ?!
( = just output same level in RGB32 ... )

Thanks !
Seb.

_xxl
27th April 2007, 09:01
I have added SSE3 & SSSE3 detection code:
Patch
http://rapidshare.com/files/28159079/ssse3.rar.html
Bin
http://rapidshare.com/files/28158873/ffdshow_rev1124_20070427_xxl_test.exe.html
Yasm 0.6.0 is needed.
If anybody is interested in testing and helping me to fix it.
This will be used in xvidcore 1.2 and x264.

Px
27th April 2007, 13:31
I have added SSE3 & SSSE3 detection code:
Patch
http://rapidshare.com/files/28159079/ssse3.rar.html
Bin
http://rapidshare.com/files/28158873/ffdshow_rev1124_20070427_xxl_test.exe.html
Yasm 0.6.0 is needed.
If anybody is interested in testing and helping me to fix it.
This will be used in xvidcore 1.2 and x264.
Intel E6300
http://users.i.com.ua/~finish/ffdshow/ffd_c2d.png
Intel P3-450 :D
http://users.i.com.ua/~finish/ffdshow/ffd_p3.png

Also small speedup compared to 1090 icl9
1090
Null
User: 44s, kernel: 0s, total: 44s, real: 46s, fps: 26.4, dfps: 25.5
o/m
User: 45s, kernel: 0s, total: 45s, real: 46s, fps: 26.1, dfps: 25.6
1124
Null
User: 43s, kernel: 0s, total: 43s, real: 44s, fps: 26.9, dfps: 26.3
o/m
User: 44s, kernel: 0s, total: 44s, real: 45s, fps: 26.5, dfps: 25.9

_xxl
27th April 2007, 19:38
Intel E6300 doesn't have 3dnow! ext.
3dnow! ext can't be disabled...

Inventive Software
27th April 2007, 22:41
Yes, but just because it's enabled doesn't mean it's used. ;) It says it'll use it if it's there, which it plainly isn't, and I have no idea what the inherent difference is between Intel's MMX and SSE, and AMD's 3DNow!

Px
27th April 2007, 22:59
Intel E6300 doesn't have 3dnow! ext.
3dnow! ext can't be disabled...
Why? It's disabled because it unsupported, nothing wrong...

Px
27th April 2007, 23:00
Yes, but just because it's enabled doesn't mean it's used. ;) It says it'll use it if it's there, which it plainly isn't, and I have no idea what the inherent difference is between Intel's MMX and SSE, and AMD's 3DNow!
That is religion question :D

foxyshadis
28th April 2007, 05:13
That is religion question :D

Until recently the AMD processors were always optimized much better for 3dnow than for SSE/2, but they gained rough parity in later revisions of the K8. There were also a few things you could do better in 3dnow anyway, but they've been incorporated into the SSE monster set over the years.

_xxl
28th April 2007, 06:58
It's disabled because it unsupported
Look again please.
I''ll try to fix this bug.
Yes, but just because it's enabled doesn't mean it's used
True but it will be used:
SSE3 in xvidcore 1.2.
SSSE3 in x264.
SSE4(2) maybe it will be used in x264.

Kurtnoise
28th April 2007, 10:06
Best patch of the year...:D

Index: bin/clear.bat
===================================================================
--- bin/clear.bat (revision 1125)
+++ bin/clear.bat (working copy)
@@ -1 +1 @@
-rm *.exe *.dll *.ilk *.ax *.vdf *.acm
+del *.exe *.dll *.ilk *.ax *.vdf *.acm

Px
28th April 2007, 11:40
Look again please.
I''ll try to fix this bug.

I understand, you telling about lower part where user choose extensions, and I speaking about upper part, where shows actually used extensions :)
And I agree - checkboxes with unsupported extensions must be grayed :)

Leak
29th April 2007, 20:10
Here's yet another update of my AviSynth patch - sorry for the two-week delay caused mainly by my TFT monitor's backlight dying:

* Disable buffering when "Apply pulldown" is off and ahead and back buffers are set to 0 (i.e. the old AviSynth filter behaviour)
* Use original timestamps when the number of frames isn't changed

Patch (https://sourceforge.net/tracker/index.php?func=detail&aid=1676882&group_id=173941&atid=867362) (against rev. 1125)
Download (http://leak.no-ip.org/AviSynth/ffdshow/ffdshow_AviSynth_rev1125_20070429.exe) (pure MSVC 8/GCC 3.4.4 build with ICL9 kerneldeint/tomsmocomp DLLs)

I'd consider this version feature-complete; all that's left is adding a help-file documenting the AviSynth filter settings and operation and, of course, priming the help button on the AviSynth page to bring it up - but I thought another release while I'm tackling that can't hurt...

np: Hug - Tactic Without Practice (Heroes)

Piyoko
29th April 2007, 23:06
I just wanted to thank you for your work on this, Leak, as I've been looking for a good on-the-fly IVTC solution to watching anime DVDs for a very long time now. :)

Your newest version however gives me a "System exception - Access Violation" error message whenever I add TDecimate() to the AviSynth script.

I'm also wondering, is there any way to make the subtitles look better when decoding DVDs with ffdshow (libmpeg2.) As it is now they look terrible as the colour information is completely out of whack, for example: ffdshow/libmpeg2 (bad) (http://img362.imageshack.us/img362/8294/azubadjm2.png), nVidia decoder (good) (http://img460.imageshack.us/img460/7959/azugoodsg2.png).

Leak
30th April 2007, 00:32
I just wanted to thank you for your work on this, Leak, as I've been looking for a good on-the-fly IVTC solution to watching anime DVDs for a very long time now. :)
*cough*

Same here... :)

Your newest version however gives me a "System exception - Access Violation" error message whenever I add TDecimate() to the AviSynth script.
Strange, it works fine for me - what's the exact script you're using, and what are your buffer settings? And what filter are you using for MPEG2 decoding?

EDIT: Hmmm... I just noticed a crash when I use one of AviSynth's resizing filters after TFM/TDecimate... that's strange.

I'll investigate that further tomorrow; it's a bit late now...

I'm also wondering, is there any way to make the subtitles look better when decoding DVDs with ffdshow (libmpeg2.) As it is now they look terrible as the colour information is completely out of whack, for example: ffdshow/libmpeg2 (bad) (http://img362.imageshack.us/img362/8294/azubadjm2.png), nVidia decoder (good) (http://img460.imageshack.us/img460/7959/azugoodsg2.png).
Hmmm... I guess Haruhiko will have to answer that one, as I hardly know anything about the DVD subtitle part - except that there once was a bug in there that could crash ffdshow... :)

np: Jimi Tenor & Kabu Kabu - Hermetic Man (Joystone)

haruhiko_yamagata
30th April 2007, 07:14
I'm also wondering, is there any way to make the subtitles look better when decoding DVDs with ffdshow (libmpeg2.) As it is now they look terrible as the colour information is completely out of whack, for example: ffdshow/libmpeg2 (bad) (http://img362.imageshack.us/img362/8294/azubadjm2.png), nVidia decoder (good) (http://img460.imageshack.us/img460/7959/azugoodsg2.png).
OK, perhaps it's not DVD specific. ffdshow's color subtitle rendering is broken. I have a plan to fix this and make it ASS2 compatible, though it's hard...

jidelite
30th April 2007, 13:06
Here's yet another update of my AviSynth patch - sorry for the two-week delay caused mainly by my TFT monitor's backlight dying:

* Disable buffering when "Apply pulldown" is off and ahead and back buffers are set to 0 (i.e. the old AviSynth filter behaviour)
* Use original timestamps when the number of frames isn't changed

Patch (https://sourceforge.net/tracker/index.php?func=detail&aid=1676882&group_id=173941&atid=867362) (against rev. 1125)
Download (http://leak.no-ip.org/AviSynth/ffdshow/ffdshow_AviSynth_rev1125_20070429.exe) (pure MSVC 8/GCC 3.4.4 build with ICL9 kerneldeint/tomsmocomp DLLs)

I'd consider this version feature-complete; all that's left is adding a help-file documenting the AviSynth filter settings and operation and, of course, priming the help button on the AviSynth page to bring it up - but I thought another release while I'm tackling that can't hurt...

np: Hug - Tactic Without Practice (Heroes)

Leak,
Using your lastest version, I tried disabling buffering by unchecking "Apply pulldown" and seting ahead and back buffers to 0 but I get the same behavior as if buffering was on (slight stutter when the frame duration changes). I looked at the AviSynth OSD info and it still tells me I'm buffering ahead 1 (using the SeeSaw filter only). Should the AviSynth display look the same as if buffering were turned on when it is set to off?

Thanks,
jidelite

Piyoko
30th April 2007, 15:01
OK, perhaps it's not DVD specific. ffdshow's color subtitle rendering is broken. I have a plan to fix this and make it ASS2 compatible, though it's hard...
I really appreciate it, thanks.

Strange, it works fine for me - what's the exact script you're using, and what are your buffer settings? And what filter are you using for MPEG2 decoding?
I used the exact same settings from 1103, which worked there. This is the script I used:
LoadPlugin("C:\TIVTC\TIVTC.dll")
TFM(order=1,mode=1,PP=0,chroma=false)
TDecimate(mode=0,hybrid=0,chroma=false)
Tried both using the internal ffdshow mpeg2 decoders, as well as an external (MPC's built-in) and got the same error message with all of them. With 1103 I used buffers 0 back/11 ahead, but again it didn't matter for 1125, got the same error no matter what.

Leak
30th April 2007, 15:31
Using your lastest version, I tried disabling buffering by unchecking "Apply pulldown" and seting ahead and back buffers to 0 but I get the same behavior as if buffering was on (slight stutter when the frame duration changes). I looked at the AviSynth OSD info and it still tells me I'm buffering ahead 1 (using the SeeSaw filter only). Should the AviSynth display look the same as if buffering were turned on when it is set to off?
Well, with those settings I just take a single frame, immediately run it through the AviSynth script and spit the frame out again with the same timestamps that went in, so I don't know where that stutter comes from - unless the timestamps are totally bogus (like the start and end timestamps of the current frame being before the end timestamp of the last frame), which will make it silently drop the frame or adjust the timestamps slightly if the difference is small enough.

As far as the OSD is concerned - it only shows the values that would be neccessary for proper operation, but the filter itself will use the values you set in the config page.

np: Pole - Like Rain (But Different) (Pole)

Leak
30th April 2007, 15:39
Tried both using the internal ffdshow mpeg2 decoders, as well as an external (MPC's built-in) and got the same error message with all of them. With 1103 I used buffers 0 back/11 ahead, but again it didn't matter for 1125, got the same error no matter what.
Heh... turns out I was using TIVTC 1.0.0RC4; updating to 1.0.1 "fixed" things so I get the same error message as you now... *boggles*

I'll look into it. :)

EDIT: Okay, I found the problem - TIVTC starts requesting frames in TFM or TDecimate (can't remember which) as soon as the filter is constructed, which I didn't really expect, so a few variables weren't initialized at that time that should have been.

Of course, I really can't hand TFM/TDecimate a frame at that point (ffdshow didn't even produce one yet), but I guess simply handing it a blank frame is better than a crash... :)

Oh yeah, Haruhiko - that most probably was where your green frames came from...

I'm still hunting some other bug that messes up the last timestamp for static DVD menus if "Apply pulldown" is deactivated and causes the static image to not show up, but that should be it then.

np: Burnt Friedman & Jaki Liebezeit - Wirklich (Secret Rhythms)

_xxl
30th April 2007, 22:28
Please test my new builds.
http://rapidshare.com/files/28939785/ffdshow_rev1126_20070430.rar.html
I don't have a SSSE3 (Intel core2) cpu.I can't test if X264 is faster or not.

wozio
1st May 2007, 08:10
I'm still hunting some other bug that messes up the last timestamp for static DVD menus if "Apply pulldown" is deactivated and causes the static image to not show up, but that should be it then.
I also have problems with static dvd menus but I haven't had time to track why it occurs. In cyberlink decoder it plays fine. If something can be done with it it would be great. I noticed the same thing in dscaler5 decoder so seems this is libmpeg2 problem.

BTW when apply pulldown is deactivated in your patched version it behavies exactly the same as normal ffdshow, right?

Leak
1st May 2007, 09:31
I also have problems with static dvd menus but I haven't had time to track why it occurs. In cyberlink decoder it plays fine. If something can be done with it it would be great. I noticed the same thing in dscaler5 decoder so seems this is libmpeg2 problem.
Well, if the problem is that the menu image doesn't show up then yeah, that's it.

If the problem is that there's no highlights on static DVD menus, then that's something that needs to be fixed in the DVD subtitle part, probably by copying the last frame and overlaying the changed highlight on it - the problem is that during static DVD menus there's no new image being produced that a changed highlight could be overlaid on, which is what makes highlights work on animated menus.

BTW when apply pulldown is deactivated in your patched version it behavies exactly the same as normal ffdshow, right?
Not quite - you'll have to both deactivate "Apply pulldown" and set both buffer settings to 0.

wozio
1st May 2007, 12:09
When you mentioned it I tried and I have a lot of problems with dvd menus. First highlight doesn't show in animated menu, it shows after first button change. In static menus highlights don't show at all. And going back to menu from movie doesn't work, menu does not appear but works (I mean choosing button triggers correct action but it must be done blind).

I have ffdshow rev 1120 normal one.

Kado
1st May 2007, 13:03
@drevil_xxl
Used your rev1125 test build and GCC crashes as well on my Pentium D 930 and Windows XP.
SSE3 does not get used on my system when selected on the options and cannot test SSSE3 because my system does not support it.

EDIT
SSE3 is working, MPC must be reopened for changes to take effect, reopening the video is not enough!
EDIT/

Leak
1st May 2007, 14:29
When you mentioned it I tried and I have a lot of problems with dvd menus. First highlight doesn't show in animated menu, it shows after first button change.
Strange, it does for me...
In static menus highlights don't show at all.
Yeah, that's what I wrote above.
And going back to menu from movie doesn't work, menu does not appear but works (I mean choosing button triggers correct action but it must be done blind).
Which movie, if I may ask, and what player are you using?

I've found one situation where going back to the menu just plain doesn't work when using either MPC's internal MPEG2 decoder or ffdshow, and that would be when you're looking at a self-playing image gallery/slide show (as is often included as an extra on DVDs) and hit "title menu" right after the image has changed.

What I found was that the timestamp generated (by Microsoft's DVD navigator, I assume) for the menu image then is before the last timestamp generated for the still image, so the menu image isn't shown by the renderer - but that happens with MPC's internal MPEG2 decoder as well. Hitting "title menu" a second time helps in that case.

(To reproduce: watch a slide show, drop down the "Navigate" menu, and click on "Title menu" as soon as the image changes. Chances are that you won't be seeing the menu...)
I have ffdshow rev 1120 normal one.
So you were not using AviSynth filtering at all, if I'm reading this correctly?

np: Burnt Friedman - Conjoined (Plays Love Songs)

vio_man
1st May 2007, 15:23
Why there are more non-SSE compiled binaries? At free-codecs.com, the MMX optimized binaries are always updated, but the SSE ones are not. I have an Athlon XP 2500+ (Barton core) and it supports SSE.

Episode
1st May 2007, 15:41
free-codecs.com is not maintained by ffdshow-tryouts team. If you want to have bleeding edge builds, use www.ffdshow.info instead.

Also, it shouldn't matter whether the build is compiled with SSE or not since the code is already hand optimized for mmx, sse and sse2.

Leak
1st May 2007, 16:27
2 Bugfixes for my AviSynth patch:

* Fix crashes caused by still uninitialized buffer variables when AviSynth filter instances requested frames right after being created (TIVTC, I'm talking about you... :D)
* fix bogus timestamps right after flushing/seeking

Download (http://leak.no-ip.org/AviSynth/ffdshow/ffdshow_AviSynth_rev1126_20070501.exe)
Patch (https://sourceforge.net/tracker/index.php?func=detail&aid=1676882&group_id=173941&atid=867362) (against rev. 1126)

The filter should be feature complete now, but due to me hunting the above bugs the documentation is still to be written... :/

NB: That build contains drevil_xxl's SSE3 additions, so if anything is acting wonky try it with SSE3/SSSE3 on the "Info & debug" page disabled...

np: Pole - Streit (2)

Rectal Prolapse
1st May 2007, 16:49
Leak you are doing amazing work. Pretty soon we can dump NVIDIA and ATI decoders and use the deinterlacing solutions that actually work. :)

So I guess all that is left is making it work in HD resolutions ;)

Leak
1st May 2007, 16:50
So I guess all that is left is making it work in HD resolutions ;)
I'm afraid that needs to be solved by throwing more hardware (i.e. a beefier CPU) at it, although I'd love to solve it via a simple patch... ;)

np: Burnt Friedman & Jaki Liebezeit - The Librarian (ft. David Sylvian) (Secret Rhythms 2)

Piyoko
1st May 2007, 18:10
Thanks Leak, it's working nicely now!

There is already a fairly good mod of Dscaler5 aimed to do IVTC on HD (and SD) content, but unfortunately it only works for film, it's no good for anime (unless it was originally animated using cels, and those shows are few and far between now.)

Leak
1st May 2007, 18:26
There is already a fairly good mod of Dscaler5 aimed to do IVTC on HD (and SD) content, but unfortunately it only works for film, it's no good for anime (unless it was originally animated using cels, and those shows are few and far between now.)
How so?

The only problem with regard to anime I could think of would be that it discarded the first found duplicate instead of a frame of the longest duplicate chain, but that shouldn't be hard to add to said mod...

Or do you mean it's not handling hybrid (24/30 FPS) material well?

np: Pole - Raum 2 Variation (Kit Clayton) (R)

Piyoko
1st May 2007, 19:13
The detection algorithm was done to work with 24fps film and it simply doesn't work with the problematic cadence of digitally rendered anime. It's possible that it's an easy fix, but I'm not smart enough to figure something like that out. :p

Leak
1st May 2007, 21:11
Okay, I'm not going to tackle writing docs at this late an hour, but I had another idea - I guess I could pass the current aspect ratio into AviSynth as a global variable which is read back after the script has been compiled to get a new aspect ratio for the resulting images.

That way, a script could dynamically detect whether it's fed 4:3 or 16:9 video (as the script already gets recompiled when either the frame size or the aspect ratio changes) and adjust it's output... either size the images to 800x600 directly for 4:3 material or resize it to 852x480, crop off 26 pixels at the left and right and add a 60 pixel border above and below for 16:9 material, with a 4:3 output aspect ratio in any case - just the right size for my 800x600 projector... :D

(Yeah, it's a bit cumbersome to do stuff like that using the ternary "? :" operator in AviSynth, but it's doable...)

np: Atom - On the Edge of Fidelity (Replicant Rumba Rockers (remixed by Burnt Friedman))

wozio
1st May 2007, 22:14
Strange, it does for me...
Which movie, if I may ask, and what player are you using?
It occurs both in MPC and in my own app. In MPC I must move mouse for first button to be highlighted even when mouse pointer is on top of it. In my application, since it has only keyboard interface I must move to another button by arrow. On static menus no highlight is displayed.

I've found one situation where going back to the menu just plain doesn't work when using either MPC's internal MPEG2 decoder or ffdshow, and that would be when you're looking at a self-playing image gallery/slide show (as is often included as an extra on DVDs) and hit "title menu" right after the image has changed.
That looks to be fixed in your latest version, great.

So you were not using AviSynth filtering at all, if I'm reading this correctly?
I'm not using it since I don't need it.

Leak
1st May 2007, 22:34
It occurs both in MPC and in my own app. In MPC I must move mouse for first button to be highlighted even when mouse pointer is on top of it. In my application, since it has only keyboard interface I must move to another button by arrow. On static menus no highlight is displayed.
Hmmm... have you turned on the image queue? Maybe you're just noticing the lag it can produce when it buffers 10 frames ahead? Or maybe the DVD navigator has a different idea where the mouse hotspots are than what ffdshow has; but at least when using the keyboard (after setting menu keys up in MPC) the menu item changes almost instantly for me.

That looks to be fixed in your latest version, great.
Certainly not, as I've tested it several times and sure enough it happens... it's not caused by ffdshow, though, as it happens even when not using ffdshow - I just noticed that the generated timestamps I was getting were whack when I dumped them out while debugging...

np: Burnt Friedman & The Nu Dub Players - Real Abstraction (Can´t Cool)

foxyshadis
2nd May 2007, 01:13
Hmmm... have you turned on the image queue? Maybe you're just noticing the lag it can produce when it buffers 10 frames ahead? Or maybe the DVD navigator has a different idea where the mouse hotspots are than what ffdshow has; but at least when using the keyboard (after setting menu keys up in MPC) the menu item changes almost instantly for me.

Seen this happen pretty often; I think some dvd authors set it up for remote keys, test it that way, and never really think about mice on pcs. Same problems happen in powerdvd and windvd, or at least did several years ago, if they've implemented any workaround logic since. Mousing over everything looking for the hotspot can be quite frustrating sometimes (like certain old adventure games), to the point of just randomly trying titles looking for the main movie.

Delerue
2nd May 2007, 02:33
Hmmm... have you turned on the image queue? Maybe you're just noticing the lag it can produce when it buffers 10 frames ahead?

Using MPC I notice this lag when using FFDShow to decode DVD menus. Using the same MPC with internal MPEG2 filter doesn't show this problem. I'm not using queue.

wozio
2nd May 2007, 07:56
Hmmm... have you turned on the image queue? Maybe you're just noticing the lag it can produce when it buffers 10 frames ahead? Or maybe the DVD navigator has a different idea where the mouse hotspots are than what ffdshow has; but at least when using the keyboard (after setting menu keys up in MPC) the menu item changes almost instantly for me.
Yes they are changing instantly on animated menus, but first one isn't highlighted when menu appears. And I think mouse coords are ok since when I move mouse it is displayed properly. When using keyboard it should highlight first button anyway.

Maybe I can rip some menus where I have problem and send it to you to check.

Certainly not, as I've tested it several times and sure enough it happens... it's not caused by ffdshow, though, as it happens even when not using ffdshow - I just noticed that the generated timestamps I was getting were whack when I dumped them out while debugging...
For me I haven't had any problem using cyberlink, both using software and dxva mode.

Leak
2nd May 2007, 08:16
For me I haven't had any problem using cyberlink, both using software and dxva mode.
Well, I doubt Cyberlink is using Microsoft's DVD navigator, if that's what causes this - try looking at the DirectShow graph with graphedit and look if the "DVD Navigator" filter from quartz.dll is in there...

And for me, the first menu item ("PLAY") is always highlighted when the menu of my Ghost In The Shell: Stand Alone Complex vol. 1 DVD starts up...

wozio
2nd May 2007, 13:41
I mean only mpeg2 decoder from cyberlink, rest of graph exactly the same as when using ffdshow (dvd navigator from ms is used).

Anyway static menus doesn't work at all, something is wrong in ffdshow. Here is example ffdshow:

http://img300.imageshack.us/img300/9209/ffdshowzq1.jpg

cyberlink:

http://img486.imageshack.us/img486/4471/cyberlinkiu7.jpg

Probably when this will be fixed animated menus will fix also.

Leak
2nd May 2007, 14:00
something is wrong in ffdshow
Well, I guess I wrote this several times above, but let me reiterate:

* DVD menus are done via DVD subtitles
* ffdshow always overlays the current DVD subtitles on the frames it produces
* Static menus don't (continually) produce any frames after the first
* Thus, ffdshow has nothing to overlay changed subtitles/highlights on
* Maybe highlighting on animated menus doesn't work if it's there from the very first frame, but the animated menus I know where the first highlight appears once the menu has settled down definitely do work

ffdshow would need to buffer the last frame and produce new frames with new timestamps when the subtitles change, but it doesn't do that yet; and to be honest ffdshow's subtitle filter/handling is waaay over my head...

Leak
2nd May 2007, 20:11
*phew*

It only took me half of this afternoon, but I managed to craft a help page for my patch (http://leak.no-ip.org/AviSynth/ffdshow/docs/html/en/AviSynth.htm)... :)

It's not hooked up inside ffdshow itself yet, so there's no new build to download, but could you guys please have a look at it (http://leak.no-ip.org/AviSynth/ffdshow/docs/html/en/AviSynth.htm) and comment on it and suggest improvements?

:thanks:

np: Pole - Paula (1)

fastplayer
2nd May 2007, 20:47
...
It's not hooked up inside ffdshow itself yet, so there's no new build to download, but could you guys please have a look at it (http://leak.no-ip.org/AviSynth/ffdshow/docs/html/en/AviSynth.htm) and comment on it and suggest improvements?...
:thanks:
Now I know what AviSynth actually is... *me blushes, runs away, and hides*

Edit: If you still have the nerves you could replace the ampersands & in the URLs with &amp;. That should make it XHTML-compliant. Thanks!

Leak
2nd May 2007, 21:01
Edit: If you still have the nerves you could replace the ampersands & in the URLs with &amp;. That should make it XHTML-compliant. Thanks!
Eeep... did I mention that I write webapps for a living? >_<

Fixed.

I guess the other pages could have some SPAN-tags removed - what's the use of nesting a <SPAN> directly inside a <P>aragraph only to set a CSS class for the text? (I'd say that the headings should use <H>-tags for WCAG-compliance, but I doubt people who install ffdshow and AviSynth are using a screenreader at the same time - stranger things have happened, though...)

np: Atom - All Notes Off (Replicant Rumba Rockers (remixed by Burnt Friedman))

fastplayer
2nd May 2007, 22:41
I guess the other pages could have some SPAN-tags removed - what's the use of nesting a <SPAN> directly inside a <P>aragraph only to set a CSS class for the text?
Bad habits... I'll look into it.

Px
3rd May 2007, 00:11
Please test my new builds.
http://rapidshare.com/files/28939785/ffdshow_rev1126_20070430.rar.html
I don't have a SSSE3 (Intel core2) cpu.I can't test if X264 is faster or not.
Video - Sin_City_x264_720p.mkv, null render

1090-clsid
User: 39s, kernel: 0s, total: 39s, real: 39s, fps: 51.1, dfps: 50.5
1125-clsid
User: 37s, kernel: 0s, total: 37s, real: 38s, fps: 52.8, dfps: 51.9
1126-gcc
User: 37s, kernel: 0s, total: 37s, real: 38s, fps: 52.8, dfps: 51.9
1126-msvc2003
User: 37s, kernel: 0s, total: 37s, real: 38s, fps: 52.8, dfps: 52.1
1126-msvc2005
User: 37s, kernel: 0s, total: 37s, real: 38s, fps: 52.9, dfps: 52.2
1126-gcc
http://users.i.com.ua/~finish/ffdshow/1126-gcc.png
1126-msvc2003/2005
http://users.i.com.ua/~finish/ffdshow/1126-msvc.png

jidelite
3rd May 2007, 02:01
Leak, Again, I applaud you for the excellent progress you have made. My concern with your latest patched version is where you can ‘disable buffering’ – on my system it appears I cannot disable buffering when I uncheck "Apply pulldown" and set ahead and back buffers to 0 (or maybe I am but you are doing something with the frame(s) besides just spitting them out). I have used those clips that the frame duration changes from 41 ms to 33 ms as viewed on the OSD (the ones from Video Essentials and Blood Diamond) as my “torture test” for your patch and my video still stutters/freezes for a couple of sec. at the point were the frame duration changes. I have noticed that my P4 3.0 Ghz usually runs around 50-65% with my filters but at the frame duration changes it's pushed to 100% (from the OSD) which is why I probably see a longer pause. I understand that these frame duration changes can be common (be it a bad it or whatever) but they do not always go unnoticed with your patch; whereas with every unpatched version of ffdshow these same frame duration changes play fine. Now, I don’t sit and look at frame durations counts when I watch a movie but I know a pause when I see one and the only change I’ve made was to uninstall one unpatched version of ffdshow and installed your patched version. In fact, I’ve done this over and over with the same results.

Again, I’m just using ffdshow/Avisynth scripts for realtime viewing of R1 DVDs. I use TheaterTek software player and I want to sharpen my picture a little so I use the SeeSaw or LimitedSharpenFaster filter – that’s it. So far, I haven’t seen anyone else say they are experiencing a slight freezing/pausing with frame duration changes with your patch so by all means, dismiss this as a ‘user error/problem’. I guess I will continue to test and see what happens once your patch is incorporated in the ffdshow builds…

Thanks,
jidelite

haruhiko_yamagata
3rd May 2007, 04:36
*phew*

It only took me half of this afternoon, but I managed to craft a help page for my patch (http://leak.no-ip.org/AviSynth/ffdshow/docs/html/en/AviSynth.htm)... :)
Great, your document is very clear and easy to read.
:thanks:

foxyshadis
3rd May 2007, 07:57
With the blood diamond test, I see a lot of weirdness whenever Haali's is used as the splitter, framerate is halved even though timestamps are correct, and occasional non-reproduceable freezes with the MS dvd navigator and a few other splitters at 0:19, but not the internal one (so far). Since it lasts such a short time, trying to break in at the right moment has been impossible, though setting some condition might work better.

Also, great guide, but I keep trying to click on the checkboxes. :p

Leak
3rd May 2007, 08:15
With the blood diamond test, I see a lot of weirdness whenever Haali's is used as the splitter, framerate is halved even though timestamps are correct, and occasional non-reproduceable freezes with the MS dvd navigator and a few other splitters at 0:19, but not the internal one (so far). Since it lasts such a short time, trying to break in at the right moment has been impossible, though setting some condition might work better.
Hmmm... would that be with AviSynth filtering or without?

For the record - I'm using Gabest's MPEG splitter, and the file plays through normally for me, whether I use TIVTC or not...

Leak
3rd May 2007, 08:24
Leak, Again, I applaud you for the excellent progress you have made.
Thanks. :)

My concern with your latest patched version is where you can ‘disable buffering’ – on my system it appears I cannot disable buffering when I uncheck "Apply pulldown" and set ahead and back buffers to 0 (or maybe I am but you are doing something with the frame(s) besides just spitting them out).
Hmmm... could you try the following?

* Download DebugView from Microsoft (http://www.microsoft.com/technet/sysinternals/Miscellaneous/DebugView.mspx)

* Run DebugView, go to "Edit > Filter/Highlight..." and enter "TimgFilterAvisynth:" (sans quotes) in the "Include:" box, then hit OK and probably minimize it so it won't take much extra time scrolling the output across the screen

* Add "#debug" as the very first line of your AviSynth script

* Open your media player, play the material you're having problems with until you get past one of those stutters or two

* Save the output of DebugView to a file and mail it to leak (at) gmx (dot) at

That should give us some clues as to what's happening.

I have noticed that my P4 3.0 Ghz usually runs around 50-65% with my filters but at the frame duration changes it's pushed to 100% (from the OSD) which is why I probably see a longer pause.
What happens if you strip down your script to where it doesn't use as much CPU? Could you perhaps try that?

Still, even when the timestamps fluctuate a bit the AviSynth filter shouldn't do anything special, it'll just produce similar timestamp fluctuations in the output, but it won't treat the frame any different than others or reset all buffers or anything.

By the way, what video renderer are you using?

Again, I’m just using ffdshow/Avisynth scripts for realtime viewing of R1 DVDs. I use TheaterTek software player and I want to sharpen my picture a little so I use the SeeSaw or LimitedSharpenFaster filter – that’s it.
Okay, so I don't have that player and really don't want to buy it, so could you perhaps try this in Media Player Classic (http://forum.doom9.org/showthread.php?p=975082#post975082) as well? And, in case you're using the nVidia MPEG decoder that seems to come with TheaterTek, could you please use ffdshow's MPEG2 decoder instead?

I'm pretty sure AviSynth filtering works perfectly with ffdshow's built-in MPEG2 decoder, but I really can't vouch for other decoders...

foxyshadis
3rd May 2007, 08:32
Hmmm... would that be with AviSynth filtering or without?

For the record - I'm using Gabest's MPEG splitter, and the file plays through normally for me, whether I use TIVTC or not...

With avisynth, sorry. Tested with other combinations of apply pulldown, different filters, etc, but changing the splitter was the only thing that ever seems to cause a hiccup.

btw, this is what shows in the debug console when it happens:

[2948] TimgFilterAvisynth: Requesting frame 42 from Avisynth
[2948] TimgFilterAvisynth: Looked up frame 42, using frame 42
[2948] TimgFilterAvisynth: Frame 42: 0 back, 0 ahead; requested 42
[2948] TimgFilterAvisynth: Delivering frame 42; 2285.616100 - 2335.666000 = 50.049900
[2948] TimgFilterAvisynth: onFlush
[2948] TffdshowDecVideoOutputPin:: DeliverBeginFlush
[2948] TffdshowDecVideoOutputPin:: DeliverEndFlush
[2948] TimgFilterAvisynth: (Re-)Initializing buffers
[2948] TimgFilterAvisynth: Passing through frame 43, 2335.666000 - 2369.032600 = 33.366600
[2948] TimgFilterAvisynth: Requesting frame 43 from Avisynth
[2948] TimgFilterAvisynth: Looked up frame 43, using frame 43
[2948] TimgFilterAvisynth: Frame 43: 0 back, 0 ahead; requested 43
[2948] TimgFilterAvisynth: Delivering frame 43; 2335.666000 - 2369.032600 = 33.366600
[2948] TimgFilterAvisynth: Passing through frame 44, 2369.032600 - 2419.082500 = 50.049900



I'm stupid, I should have noticed this correlation earlier, ever .5-1s hang has one of these pairs.

By using something called the "Universal Open Source MPEG Splitter" I can regularly make it happen at 0:04 and 0:19.

_xxl
3rd May 2007, 08:38
x264 is an encoder.Use virtualdub and see if 1126 is faster.ffdshow.ax compiled by MinGW GCC can't detect (S)SSE3.Please use MSVC builds.

Leak
3rd May 2007, 08:40
btw, this is what shows in the debug console when it happens:
[2948] TimgFilterAvisynth: onFlush
[2948] TffdshowDecVideoOutputPin:: DeliverBeginFlush
[2948] TffdshowDecVideoOutputPin:: DeliverEndFlush
[2948] TimgFilterAvisynth: (Re-)Initializing buffers
Ugh. The other splitters I know only do a BeginFlush when you seek in the DVD navigator; that's sadly about the only way to detect that there is some seeking going on at that point in a DVD graph.

So what I do is drop all buffered frames, then start buffering again - processing and delivering the frames that had been buffered before the seek will just make things look funny and take longer.

I guess I'll have to try using Haali's splitter when I get home, but I'm not sure what I should do about this - if I ignore the DirectShow flushes navigating the DVD will get laggy.

EDIT: But I still can't figure out why it would stutter with the settings you had to have set, namely no Apply pulldown and no buffering - after all, in that case it just passes through the current frame, with no pre-buffering or anything else that would take any noticeable time (and nothing to drop, either), and as you can see the timestamps are consecutive as well... :confused:

EDIT2: The timestamps on the DebugView log entries would have been interesting... those would show where the exact pause happened.

chros
3rd May 2007, 09:30
@haruhiko_yamagata: I don't want to hurry you, but when will be merged the DFX multichannel patch?

Thank you for your effort ...

jidelite
3rd May 2007, 14:34
Thanks. :)


Hmmm... could you try the following?

* Download DebugView from Microsoft (http://www.microsoft.com/technet/sysinternals/Miscellaneous/DebugView.mspx)

* Run DebugView, go to "Edit > Filter/Highlight..." and enter "TimgFilterAvisynth:" (sans quotes) in the "Include:" box, then hit OK and probably minimize it so it won't take much extra time scrolling the output across the screen

* Add "#debug" as the very first line of your AviSynth script

* Open your media player, play the material you're having problems with until you get past one of those stutters or two

* Save the output of DebugView to a file and mail it to leak (at) gmx (dot) at

That should give us some clues as to what's happening. ...

When I get home I will certainly try and debug this on my PC. I will try to do this on an unpatched version as well.


What happens if you strip down your script to where it doesn't use as much CPU? Could you perhaps try that?

When I strip down my script to where my OSD says I'm using about 15-20% cpu (and buffering is disabled), the pause time is definitely reduced but the OSD does show something being reset. I don't know if this makes a difference but I'm also using the mult-thread version of the avisynth.dll from tsp's MT package.


Okay, so I don't have that player and really don't want to buy it, so could you perhaps try this in Media Player Classic (http://forum.doom9.org/showthread.php?p=975082#post975082) as well? And, in case you're using the nVidia MPEG decoder that seems to come with TheaterTek, could you please use ffdshow's MPEG2 decoder instead?

I can't blame anyone for not wanting to purchase a particular player :) so I will try to use MPC and I'll try to see if I can build a graph to use ffdshow's MPEG2 decoder instead...

Thanks,
jidelite

Leak
3rd May 2007, 14:48
I will try to do this on an unpatched version as well.
That won't do much, as none of the debug output I'm looking for is printed by the unpatched version...

But if what foxyshadis wrote above is the same that happens to you then I'm not sure how to fix it - after all, the splitter in that case asks ffdshow to flush everything it has queued, and I happily oblige...

foxyshadis
3rd May 2007, 16:24
EDIT: But I still can't figure out why it would stutter with the settings you had to have set, namely no Apply pulldown and no buffering - after all, in that case it just passes through the current frame, with no pre-buffering or anything else that would take any noticeable time (and nothing to drop, either), and as you can see the timestamps are consecutive as well... :confused:

EDIT2: The timestamps on the DebugView log entries would have been interesting... those would show where the exact pause happened.

The stutter is just the scriptenvironment re-initializing itself, changing settings always causes the same lag for me; the luts for seesaw take a bit to fill, and I bet jidelite's complex script is using quite a few of them with several instances of something like MT+LSF (where each filter has to be initialized in each thread) so it's worse.

I wish debugview copied timestamps, but they were at 4.4s and 23s from the start, which didn't correspond to the video time. The first was at frame 43; it's dark but noticeable. I ran dgindex over it but since I don't deal with mpeg-2 much, I don't know what to look for to detect errors.

I'm also not sure what can be done about it. Set up some kind of conditions to just ignore it? I don't know.

Leak
3rd May 2007, 16:57
The stutter is just the scriptenvironment re-initializing itself, changing settings always causes the same lag for me; the luts for seesaw take a bit to fill, and I bet jidelite's complex script is using quite a few of them with several instances of something like MT+LSF (where each filter has to be initialized in each thread) so it's worse.
Ah, but it shouldn't be doing that, and it most probably isn't, unless you get two messages about "(Re-)Starting playback" and "Freeing buffers". In all other cases (unless buffering is totally disabled), I only seek forward 1000 or so frames in the script (to make sure AviSynth doesn't re-use cached stuff), which shouldn't have that much of an impact.

The stutter with buffering turned on is most probably coming from decoding and buffering 12 frames (in TIVTC's case) before playback resumes, but of course that shouldn't (can't?) happen when it's turned off...

I gotta try to reproduce this with Haali's splitter, but first I need to test that RMAed 17" piece of monitor next to me... :D

np: Burnt Friedman - Fucking Long Time (Plays Love Songs)

Fizick
3rd May 2007, 18:55
Leak, correction of doc (last phrase):

Replace:

...disable "Apply pulldown" to get the old behaviour of earlier AviSynth versions back...

By:

...disable "Apply pulldown" to get the old behaviour of earlier FFDSHOW versions back...

Leak
3rd May 2007, 21:08
Leak, correction of doc (last phrase)
Errr... oops. :thanks:

Soulhunter
3rd May 2007, 22:48
Hey, just want to thank you all for continuing FFDShow development! :]


Thanks 'n Bye

Px
4th May 2007, 01:20
x264 is an encoder.Use virtualdub and see if 1126 is faster.ffdshow.ax compiled by MinGW GCC can't detect (S)SSE3.Please use MSVC builds.
Ok, I'll test it on sunday.....

foxyshadis
4th May 2007, 01:37
Okay, not quite so confused anymore. The faulty splitter I was using was v1.000 of gabest's, from mid-2004, whereas the current and built-in are 1.003, where the sync problem is fixed. Not sure why MS DVD Nav. only trips over it occasionally, instead of always, but it is in the same spots.

Don't use Haali's, btw, wait a few more versions. The MPEG-PS code isn't working very well right now, in fact it works better on .evo than .vob.

jidelite
4th May 2007, 03:09
Thanks. :)


Hmmm... could you try the following?

* Download DebugView from Microsoft (http://www.microsoft.com/technet/sysinternals/Miscellaneous/DebugView.mspx)

* Run DebugView, go to "Edit > Filter/Highlight..." and enter "TimgFilterAvisynth:" (sans quotes) in the "Include:" box, then hit OK and probably minimize it so it won't take much extra time scrolling the output across the screen

* Add "#debug" as the very first line of your AviSynth script

* Open your media player, play the material you're having problems with until you get past one of those stutters or two

* Save the output of DebugView to a file and mail it to leak (at) gmx (dot) at

That should give us some clues as to what's happening.


Ok. DebugView file are on their way. Still working on MPC and trying to use ffdshow's MPEG2 decoder in TheaterTek.

foxyshadis, :thanks: for looking into this as well...

jidelite

haruhiko_yamagata
4th May 2007, 03:34
@haruhiko_yamagata: I don't want to hurry you, but when will be merged the DFX multichannel patch?

Thank you for your effort ...
I have been building a new PC and developing environment. Now it's mostly done, please wait a bit more.

Leak
4th May 2007, 08:17
Ok. DebugView file are on their way. Still working on MPC and trying to use ffdshow's MPEG2 decoder in TheaterTek.

foxyshadis, :thanks: for looking into this as well...
Well, looking at your log files I can see that the DirectShow graph was stopped and restarted several times; if it wasn't you hitting "Stop" and "Play" repeatedly then I'm afraid it was your player software causing those stutters, since I'm re-initializing the AviSynth script after a full stop.

Why it would stop the DirectShow graph during playback is really beyond me, though... :confused:

zambelli
4th May 2007, 09:38
Have the YV12 raw decoding issues been addressed in recent builds? The Beta2 still has issues handling YV12 video and rendering it to VMR7/9 in both DShow and VfW.

chros
4th May 2007, 10:56
I have been building a new PC and developing environment. Now it's mostly done, please wait a bit more.
Thank you very much!

jidelite
4th May 2007, 12:55
Well, looking at your log files I can see that the DirectShow graph was stopped and restarted several times; if it wasn't you hitting "Stop" and "Play" repeatedly then I'm afraid it was your player software causing those stutters, since I'm re-initializing the AviSynth script after a full stop.

Why it would stop the DirectShow graph during playback is really beyond me, though... :confused:

Hmmm... Sounds like I'm back to square 1 :( since I didn't hit stop or play during playback. I'm sure you see from the logs that I always have a problem when the frame duration changes from 41 ms to 33 ms - even when buffering is off so my script is not behaving like unpatched versions of ffdshow on my PC. As you pointed out, TheaterTek uses the nvidia decoder so I will see if I can get MPC to use the same decoder when I get a chance to play with it this weekend.

Thanks,
jidelite

Leak
4th May 2007, 13:15
Hmmm... Sounds like I'm back to square 1 :( since I didn't hit stop or play during playback. I'm sure you see from the logs that I always have a problem when the frame duration changes from 41 ms to 33 ms - even when buffering is off so my script is not behaving like unpatched versions of ffdshow on my PC.
Okay, so looking at the old code again shows that ffdshow didn't do anything special when the graph was stopped (it only reinitialized AviSynth when the frame size changed), but this really isn't an option anymore, since I have to get rid of the buffered frames somehow... playing the last few frames buffered when the stop came when it gets restarted again is simply wrong.

I could make AviSynth seek forward instead of totally resetting it, but I rather like the idea of getting everything back into a working state by hitting "Stop", followed by "Play".

I could add that as an option, though... "Reset on stop" or something. But still, it's idiotic for the graph to be stopped then restarted in the middle of playback if the user did not do anything...

jidelite
4th May 2007, 15:00
Okay, so looking at the old code again shows that ffdshow didn't do anything special when the graph was stopped (it only reinitialized AviSynth when the frame size changed), but this really isn't an option anymore, since I have to get rid of the buffered frames somehow... playing the last few frames buffered when the stop came when it gets restarted again is simply wrong.

I could make AviSynth seek forward instead of totally resetting it, but I rather like the idea of getting everything back into a working state by hitting "Stop", followed by "Play".

I could add that as an option, though... "Reset on stop" or something. But still, it's idiotic for the graph to be stopped then restarted in the middle of playback if the user did not do anything...

Forgive me if this sounds far-fetched & simplistic since I'm not a ffdshow coder (believe me, I have great respect for you guys that maintain this code) but as a compromise if I set the parms to disable buffering, can you disgard the initial buffers the way you normally do and then not buffer anymore (just reinitialized AviSynth like the old code) since you now know its turned off?

jidelite

Leak
4th May 2007, 15:54
Forgive me if this sounds far-fetched & simplistic since I'm not a ffdshow coder (believe me, I have great respect for you guys that maintain this code) but as a compromise if I set the parms to disable buffering, can you disgard the initial buffers the way you normally do and then not buffer anymore (just reinitialized AviSynth like the old code) since you now know its turned off?
I think you meant "if buffering is turned off, could you skip resetting AviSynth like it was done previously", right?

Sure, why not? But I guess I'll just skip the total reset on stop anyway, and simply skip ahead to lose the buffered frames like I do when the DirectShow graph is flushed - after all, a fix that only works if you cripple the filter (by turning off buffering) isn't much of a fix.

You'll just have to edit the AviSynth script to totally reset AviSynth, then, or toggle the filter off and on via the tray menu or a hotkey...

clsid
4th May 2007, 18:04
Have the YV12 raw decoding issues been addressed in recent builds? The Beta2 still has issues handling YV12 video and rendering it to VMR7/9 in both DShow and VfW.I haven't seen a fix for that mentioned in the SVN logs. So I think they are still present.

Kado
4th May 2007, 18:34
Revision 1130
Winamp plugin: multichannel processing
A new check box "Allow multichannel audio processing" can be configured for every plugins.

Great haruhiko! Now just have to wait for another nightly build by drevil_xxl or clsid to test it. :thanks:

zambelli
4th May 2007, 21:26
I haven't seen a fix for that mentioned in the SVN logs. So I think they are still present.
I'm surprised that bug is not a higher priority, given that Ffdshow is commonly used as the codec for handling YV12 video.

clsid
4th May 2007, 22:58
How to reproduce the YV12 bugs?

I tried forcing YV12 output in the Xvid decoder. However ffdshow (placed after Xvid in graph) reports the input as IYUV.

jidelite
5th May 2007, 03:01
I think you meant "if buffering is turned off, could you skip resetting AviSynth like it was done previously", right?

Sure, why not? But I guess I'll just skip the total reset on stop anyway, and simply skip ahead to lose the buffered frames like I do when the DirectShow graph is flushed - after all, a fix that only works if you cripple the filter (by turning off buffering) isn't much of a fix.

You'll just have to edit the AviSynth script to totally reset AviSynth, then, or toggle the filter off and on via the tray menu or a hotkey...

Leak, Got around to configuring MPC to play my Video Essentials clip. All things being equal (& buffering off), I ran the clip through the internal MPEG-2 Decoder and then the Nvidia Video decoder that came with TheaterTek (nvviddec.ax: 4020.223.0.0). Interesting thing is the internal MPEG-2 Decoder played the clip perfect while the Nvidia Decoder paused/stuttered on the frame duration change as always. Taking a snapshot from the DebugView log of the same clip played by MPC, the decoders produced the attached output.

For sure, the frame durations from the decoders are handled differently. To be fare, the pause/stuttering from the Nvidia decoder hasn't happen a whole lot during my regular viewing of movies so far (I think I counted 2) but who knows how many other DVDs are out there where the decoder screws up on a frame duration change with your patch. I still wish others could confirm what I see since I know there are alot of Nvidia video decoder users out there :confused: ...


jidelite

foxyshadis
5th May 2007, 03:24
I'm beginning to wonder if these segments are concatenated together from separate encodes with wildly different timestamps, which I hear happens quite a bit when people copy /b the encodes. It's concievable that the studio did it in segments. Too bad I don't have any of neuron2's tools. Well, that's not quite true, I might have something.

The solution might be to simply keep a blacklist of filters that cause spectacular failures in avisynth.

zambelli
5th May 2007, 04:55
How to reproduce the YV12 bugs?
I tried forcing YV12 output in the Xvid decoder. However ffdshow (placed after Xvid in graph) reports the input as IYUV.
Check out:
http://forum.doom9.org/showthread.php?p=970974#post970974
http://forum.doom9.org/showthread.php?p=973655#post973655

A simple Avisynth script can be used to repro:
ColorBars(320, 240, "YV12")

Disable all raw video codec handling in Video Decoder Configuration.
Enable "All YUV" raw video codec handling in VfW configuration.

Drop the test .avs script into GraphEdit. Render with the default VMR7. Check the renderer input pin properties for input format. Stop the graph, remove the video renderer and replace it with VMR9. Render the video again and check the VMR input pin properties again.

Now enable "All YUV" raw video handling in the Dshow Video Decoder Configuration and repeat the same repro steps.

Getting the decoder to render YV12 doesn't seem to work, and there seem to be some mirroring issues with the VfW component.

WorBry
5th May 2007, 10:00
Fizicks AVISynth port of the MPlayer deinterlace filter, Yadif, is creating quite a buzz.

http://forum.doom9.org/showthread.php?p=999472#post999472

Any chance of incorporating it in the FFDShow decoder deinterlace options, ideally with an option for double-rate (bobbed) output?

Leak
5th May 2007, 11:17
The solution might be to simply keep a blacklist of filters that cause spectacular failures in avisynth.
Nah... like I said, I'll just skip resetting AviSynth on a stop and just make it flush all buffers like I do on a seek or flush. That'll still cause some jerkiness and/or dropped frames (and that's why I'll recommend using ffdshow for MPEG2 decoding), but it won't be that much of a pause.

If you really need to reset AviSynth for some reason (which should be rather seldom), just define a hotkey for enabling/disabling the AviSynth filter and hit it twice in a row, or change the script.

I'm afraid I probably won't be able to work on it before tomorrow, though.

Also, the pulldown handling really needs 3 options, like in DGIndex: "Honor flags" (like it does now when it's checked, to get out 30 FPS material), "Force film" (which is missing currently, to get out 24 FPS material with correct timestamps) and "Ignore flags" (like it does now when it's unchecked).

Without that "force film" option, you can't really use filters that add or remove frames (like a bobber) on almost-correctly flagged progressive material which you don't want to IVTC yourself. Shouldn't be hard to add, though - I just need to correct the timestamps a bit so they don't alternate between 33 and 50 ms.

np: Pole - Strand (3)

haruhiko_yamagata
5th May 2007, 15:02
Check out:
http://forum.doom9.org/showthread.php?p=970974#post970974
http://forum.doom9.org/showthread.php?p=973655#post973655

A simple Avisynth script can be used to repro:
ColorBars(320, 240, "YV12")

Disable all raw video codec handling in Video Decoder Configuration.
Enable "All YUV" raw video codec handling in VfW configuration.

Drop the test .avs script into GraphEdit. Render with the default VMR7. Check the renderer input pin properties for input format. Stop the graph, remove the video renderer and replace it with VMR9. Render the video again and check the VMR input pin properties again.

Now enable "All YUV" raw video handling in the Dshow Video Decoder Configuration and repeat the same repro steps.

Getting the decoder to render YV12 doesn't seem to work, and there seem to be some mirroring issues with the VfW component.
Now I'm looking this issue. I can reproduce the flip issue.
As for YV12->YUY2 conversion, when ffdshow is wrapped by AviDecompresser (i.e. vfw codecs are used in a DirectShow filter graph), it appears that AviDecompresser doesn't want YV12 output. Do you have any vfw codecs that output YV12 from AviDecompresser's output pin? If nobody have such codecs, it's not a ffdshow's bug.

diizzy
5th May 2007, 18:45
@ clsid
In your installer (Inno Setup) you have two versions of ffdshow.ax and ff_wmv9.dll, what's the difference between ffdshow,1.ax and ffdshow,2.ax and which one is which?
//Danne

fastplayer
5th May 2007, 19:24
...what's the difference between ffdshow,1.ax and ffdshow,2.ax and which one is which?
ffdshow,1.ax is the ANSI, ffdshow,2.ax the Unicode version.

Px
5th May 2007, 21:30
Quick test
[AKROSS]_Tayo_-_Pale_Sun.avi (DivX 5.2.1, 640 x 360, 1715 kbps -> H264, 640 x 360, 1000 kbps), 3:18
ffdshow_rev1125_20070428_clsid
3:20
ffdshow_rev1126_20070430_xxl_msvc2005
3:19
Doom.720p.avi (DivX 6.0.0, 1280 x 720, 4027 kbps -> H264, 1280 x 720, 2000 kbps), 1:15
ffdshow_rev1125_20070428_clsid
2:48
ffdshow_rev1126_20070430_xxl_msvc2003
2:46
ffdshow_rev1126_20070430_xxl_msvc2005
2:46

Maybe on more longer videos will be more difference between builds, but I don't have time to test it now....

thuan
6th May 2007, 10:03
Find something interesting with two xxl's builds. Tested on the same file Chevalier ep2 HD subbed by Shinsen-subs with timecodec running through the OP part as it's the most CPU stressing part. I have those results:

build 1122
user: 70s kernel: 0s total: 70s real: 71s fps: 30.6 dfps: 30.2

build 1136
user: 75s kernel: 0s total: 75s real: 76s fps: 28.7 dfps: 28.3

Seems to be because of different gcc versions used to compiled ffdshow. Not much different but I noticed with 1136 a scene where ffdshow has to skip inloop filter, with 1122 everything goes smoothly.

multiblitz
6th May 2007, 13:09
Has anyonw looked into this bug:

http://sourceforge.net/tracker/index.php?func=detail&aid=1695996&group_id=173941&atid=867360

"When I build a graph with Haali-splitter, VC-1 codec from Microsoft, I have
a fine playback at 24 fps (HD-DVD-rip from my own Discs onto my media,
server, playing *.evo).

When I integrate ffdshow into the chain, re-clock reports not only 30fps,
but audio and video are heavily out of sync. It does not matter if I use
ffdshow as raw-postprocessor or if I use ffshow as VC-1-decoder as well. As
soon as ffdshow is in the video-chain, video and audio is out of sync
(beta2 release). "

?

If not, could you please be so kind ? I would love to use ffdshow as my playback/pq-tuning solution as well for HD-DCD, as my cinema has a pretty big screnn and ffdshow really shines...

haruhiko_yamagata
6th May 2007, 14:08
Has anyonw looked into this bug:

http://sourceforge.net/tracker/index.php?func=detail&aid=1695996&group_id=173941&atid=867360

"When I build a graph with Haali-splitter, VC-1 codec from Microsoft, I have
a fine playback at 24 fps (HD-DVD-rip from my own Discs onto my media,
server, playing *.evo).

When I integrate ffdshow into the chain, re-clock reports not only 30fps,
but audio and video are heavily out of sync. It does not matter if I use
ffdshow as raw-postprocessor or if I use ffshow as VC-1-decoder as well. As
soon as ffdshow is in the video-chain, video and audio is out of sync
(beta2 release). "

?

If not, could you please be so kind ? I would love to use ffdshow as my playback/pq-tuning solution as well for HD-DCD, as my cinema has a pretty big screnn and ffdshow really shines...Not yet, partly because I don't have a sample VC1 in EVO. Could you upload a sample?

multiblitz
6th May 2007, 17:38
haruhiko_yamagata, it would be wonderful if you could have a look into it . I am happy to upload a trailer, if anyone can tell me where and how to upload.

Otherwise you can download two trailers with emule:

ed2k://|file|[Trailer]%20The%20chronicles%20of%20Riddick%20[HD-DVD][VC1+DDPlus].EVO|178018304|E062E84C619E9206F89EC742A6852084|/

ed2k://|file|[Trailer]%20Serenity%20[HD-DVD].EVO|137259008|5D8EB063EE02AAB60D007CDEF4B6ECC1|/

I am really thankful, if you could have a look into the issues as you only would need ffdshow for the best HD-DVD-playback possible (and yes, I own all my disks myself, this one here is about improving pq).

wozio
6th May 2007, 17:50
Not yet, partly because I don't have a sample VC1 in EVO. Could you upload a sample?
I started to load to megaupload.com but it will take some time.

BTW in mkv with latest haali splitter behaviour is the same, correct frame rate with ms decoder and wrong with ffdshow (even when wmv9 decoders are used inside).

Dr Pizza
6th May 2007, 20:34
OK, I've synced with the trunk again and will try to put up a new build/patch some time in the next week.

I'm beginning to take a look at the various "64-bit compatibility warnings" that VC++8 provides; they're generally pretty helpful, and there's quite a lot of them, and at least some of them should definitely be fixed (to avoid potential pointer truncations and similar). I'm going to start going through and doing that; I think mostly it's going to be a question of using different typedefs (e.g. DWORD_PTR instead of DWORD) and so the code should be clean on both 32-bit and 64-bit builds.

However, I'd like to check that what I'm seeing is accurate; it looks like the mini lzo library used by ffdshow for its settings is not using Win64 types properly. The library itself does know how to build for Win64 properly, but it doesn't seem to be doing so. For Win64 LZO_ABI_LLP64 should be set, but it apparently isn't.

Another thing, there are some bits of code that are depending on __WIN32__. __WIN32__ is not set for Win64, but at least some of the code I've seen should be included for any Windows build, not just 32-bit (though maybe it's only used for gcc builds, in which case it doesn't matter, as I'm not doing 64-bit builds with gcc). I think they should be checking for (maybe) _WIN32 (which VC++, at least, always defines, even for 64-bit builds), or perhaps there should be three symbols; Win32, Win64, and "Windows".

multiblitz
6th May 2007, 23:16
Ok, I uploaded a trailer in EVO:

http://www.megaupload.com/?d=8EGB8DWJ

_xxl
7th May 2007, 10:38
@Pizza
Can you do separate patches for all fixes?
x64 patch:
http://rapidshare.com/files/29983702/x64.patch.html
ftp://mplayerhq.hu/MPlayer/samples/evob/
VC1 and H.264 evobs.

clsid
7th May 2007, 11:49
Split the "Info & Debug" page into three pages:

- "DirectShow control", containing the Merit/Instances/Blacklist/Whitelist stuff. Located below "Codecs".
- "Video Details" / "Audio Details", containing the stuff from Info. Located above "OSD".
- "SIMD Debug", containing the SIMD stuff. Located above "About".

fastplayer
7th May 2007, 12:12
While we're at GUI suggestions, what do you think about removing the horizontal line and that grey border around the drop-down menu?

http://img185.imageshack.us/img185/4564/ffdshownv7.png

Maybe something like this (with removed group box):

http://img295.imageshack.us/img295/6886/ffdshowto3.png

haruhiko_yamagata
7th May 2007, 14:18
Ok, I uploaded a trailer in EVO:

http://www.megaupload.com/?d=8EGB8DWJ
Thank you. AV sync broken. Confirmed.

chros
8th May 2007, 20:54
Originally Posted by h_yamagata
Revision 1130
Winamp plugin: multichannel processing
A new check box "Allow multichannel audio processing" can be configured for every plugins.
"multichannel support per plugin": it's perfect!!! Thank you!
I have tried ffdshow_rev1133_20070504_clsid.exe, and it works perfectly.
(haruhiko: if you want you can make contact with the DFX guys, I think they would make your name out of gold :) if they knew that DFX is fully working in the directshow players through ffdshow, since they try to create so many plugin for so many players (WMP, Real, etc.))

One last thing (which I have asked earlier): can you prevent DFX to steal the focus from the player (or is this the fault of DFX) ?

Terka
9th May 2007, 13:48
is it possible to apply MoComp2 via avisynth?

foxyshadis
9th May 2007, 14:55
With the ffavisynth filter it is. It's installed in ffdshow's folder, either loadplugin() it from there or put it in your avisynth plugin folder. Create a preset with mocomp deinterlacing enabled. In the avisynth script, call ffdshow("presetname") and it'll run the video through ffdshow.

Not all versions come with ffavisynth.dll. Post to the ffdshow thread if you have trouble.

Terka
9th May 2007, 15:36
i cant see MoComp2 in ffdshow?

chipzoller
9th May 2007, 15:41
foxyshadis, can you give a hint as to where you create the preset? I assume you create a preset in the vfw config screen rather than the decoder? I'd like to try this out myself and compare it...

LoRd_MuldeR
9th May 2007, 21:43
i cant see MoComp2 in ffdshow?

You need the Plugins from DScaler ;)

Go the ffdshow configuration, then to "Tray, dialog & paths" and then set DScaler folder.
You will then see the "DScaler: Video (MoComp2)" filter on the list of Deinterlace filters.

DScaler download can be found here:
http://deinterlace.sourceforge.net/downloads.htm

Terka
10th May 2007, 10:41
>LoRd_MuldeR
it works now, thank you.
Has Dscaler some deint. filters that output 50p, not 25p?

haruhiko_yamagata
10th May 2007, 14:12
One last thing (which I have asked earlier): can you prevent DFX to steal the focus from the player (or is this the fault of DFX) ?
I'm afraid I can't.

WorBry
10th May 2007, 18:56
With the ffavisynth filter it is. It's installed in ffdshow's folder, either loadplugin() it from there or put it in your avisynth plugin folder. Create a preset with mocomp deinterlacing enabled. In the avisynth script, call ffdshow("presetname") and it'll run the video through ffdshow.

Not all versions come with ffavisynth.dll. Post to the ffdshow thread if you have trouble.

OK, that applies to calling FFDShow filters from an AVISynth script. If I understand correctly, it is also possible to do the reverse i.e. call an AVI script from FFDShow. If so, could someone explain how to do this?

My interest is, in part, sparked by the topic I addressed earlier in this thread:

http://forum.doom9.org/showthread.php?p=999502#post999502

If no-one is interested in adding Yadif to the list of deinterlace presets in FFDShow, is it at least possible to call the AVISynth plugin from FFDShow?

Leak
10th May 2007, 19:04
If no-one is interested in adding Yadif to the list of deinterlace presets in FFDShow, is it at least possible to call the AVISynth plugin from FFDShow?
*cough* (http://leak.no-ip.org/AviSynth/ffdshow/docs/html/en/AviSynth.htm)

(While I'm at it - sorry all for not having finished the next update to the AviSynth filter, but real life intruded; I'll hopefully get it done this weekend...)

np: Adult. - Red Herring (Why Bother?)

WorBry
12th May 2007, 06:43
*cough* (http://leak.no-ip.org/AviSynth/ffdshow/docs/html/en/AviSynth.htm)

(While I'm at it - sorry all for not having finished the next update to the AviSynth filter, but real life intruded; I'll hopefully get it done this weekend...)


Thanks for the link Leak :) I'd pretty much figured thats how its done, but whenever I've tried even simple scripts with vfw-FFDShow in VDub, either it crashes or freezes at the first frame. Got Yadif sort of working with the 'main' FFDShow decoder (played back with TCMP) but the motion is very jerky. Maybe, as the tutorial suggests, I need to adjust the 'buffers back/ahead'. However, in the try-outs build I'm using (rev 1145 6th May) I can see no such setting. Nor can I find 'AVISynth' in the listed OSD display items (and in the vfw version I cannot see OSD at all in the decoder config); which version should I use, or is that coming in your update?

Cheers

Leak
12th May 2007, 11:32
Thanks for the link Leak :)
Glad to be of service.
However, in the try-outs build I'm using (rev 1145 6th May) I can see no such setting. Nor can I find 'AVISynth' in the listed OSD display items (and in the vfw version I cannot see OSD at all in the decoder config); which version should I use, or is that coming in your update?
I'm still working on it, but you can get builds with it here (http://leak.no-ip.org/AviSynth/ffdshow/) - just remember that those builds aren't always based on the latest and greatest ffdshow code.

haruhiko_yamagata
12th May 2007, 14:27
Has anyonw looked into this bug:

http://sourceforge.net/tracker/index.php?func=detail&aid=1695996&group_id=173941&atid=867360

"When I build a graph with Haali-splitter, VC-1 codec from Microsoft, I have
a fine playback at 24 fps (HD-DVD-rip from my own Discs onto my media,
server, playing *.evo).

When I integrate ffdshow into the chain, re-clock reports not only 30fps,
but audio and video are heavily out of sync. It does not matter if I use
ffdshow as raw-postprocessor or if I use ffdshow as VC-1-decoder as well. As
soon as ffdshow is in the video-chain, video and audio is out of sync
(beta2 release). "

?

If not, could you please be so kind ? I would love to use ffdshow as my playback/pq-tuning solution as well for HD-DCD, as my cinema has a pretty big screnn and ffdshow really shines...
ffdshow video decoder receives timestamps saying 30fps(33ms) from VIDEOINFOHEADER2 and IMediaSample::GetTime.
This is not likely ffdshow's bug. Please report this issue to Haali.
I don't know what trick Microsoft's codec use though.

DeepBeepMeep
13th May 2007, 00:21
ffdshow video decoder receives timestamps saying 30fps(33ms) from VIDEOINFOHEADER2 and IMediaSample::GetTime.
This is not likely ffdshow's bug. Please report this issue to Haali.
I don't know what trick Microsoft's codec use though.

I had already reported the incompatibility to Haali and he was quite convinced the issue was not coming from his filter.

In fact it could be that the stream is really 29.976 fps in order to played on NTSC TV and therefore the average frame duration of 30ms makes sense. However this should be combined with the telecine flags (AM_VIDEO_FLAG_FIELD1FIRST / AM_VIDEO_FLAG_REPEAT_FIELD) which are supposed to increase the duration of every other frame by 50%. So to obtain 23.97 fps the durations of the frames should 50ms 33ms 50ms 33ms etc... It seems here the telecine flags are ignored by a filter or not forwarded to the next filter in the chain.

cc979
13th May 2007, 02:20
i have been busy with other things, just tried to build svn:1155 and fails with many errors

as there been some gcc side changes?

cheers

ps. looked more closely errors are on libavcodec/svq3.c & libavcodec/h264.c

haruhiko_yamagata
13th May 2007, 05:36
I had already reported the incompatibility to Haali and he was quite convinced the issue was not coming from his filter.

In fact it could be that the stream is really 29.976 fps in order to played on NTSC TV and therefore the average frame duration of 30ms makes sense. However this should be combined with the telecine flags (AM_VIDEO_FLAG_FIELD1FIRST / AM_VIDEO_FLAG_REPEAT_FIELD) which are supposed to increase the duration of every other frame by 50%. So to obtain 23.97 fps the durations of the frames should 50ms 33ms 50ms 33ms etc... It seems here the telecine flags are ignored by a filter or not forwarded to the next filter in the chain.
Thank you. I'll look into it again.

iron2000
14th May 2007, 14:43
What needs to be enabled for ffdshow to do the colour settings of VMR9?

Kado
14th May 2007, 16:30
@iron2000
Try using only RGB32 in the output color spaces, disabling the others.

@haruhiko_yamagata
Found an issue with the "allow multichannel audio processing" option. If you play a file with two audio streams (one 5.1 and other 2.0) and have the option disabled, when the 5.1 track is played no processing is made which is normal but when you change to the 2.0 track no audio processing occurs even though ffdshow is outputting audio properly. If you enable then disable the option during the 2.0 audio playback processing begins and continues as ffdshow is now aware of the type of audio track.
If you do the reverse it happens again: playing 2.0 audio with option disabled and sound processing ,switch to 5.1 audio and sound will processed with the option disabled which is not ok for stereo plugins.
This probably happens because i'm using haali media splitter which handles the streams, so ffdshow is not totally aware of the audio stream changes.

P.S.=> Is it possible to add a function to load DirectX audio dsp's from within ffdshow like is done with the winamp plugins?

Leak
14th May 2007, 18:00
While I'm putting the finishing touches to a new version of my patch - is it just me, or are all recent ffdshow installer builds missing all of the html documentation that is still hooked up inside the config dialogs?

np: Mia Doi Todd - Muscle, Bond & Blood (Chessie Mix) (La Ninja)

fano
14th May 2007, 19:42
I'm using the release 1104 of Apr 15 2007 - ICL and I've some issues with subtitles... they are always on and I like to have the possibility that they are off at default and that pressing a key on my remote I can active them and if they are more than 1 cicle around them as is:

no subs -> sub 1 -> sub 2 -> ... -> no subs

I've found the keys & remote section and I'm tried to use the CTRL+ALT+L combination (it was CTRL+ALT+S but it conflicted with Mediaportal) and with keyboard it works (but it doesn't cicle!!! On/Off only) but with my Imon remote I've to press longer to have the command executed and in this way ffdshow sees more that a key pression and do on-off-on for example :eek:

This is not my remote fault... it works well with Mediaportal and Medioo...

Another annoying thing is that after I've enabled/disabled subs for a file ffdshow remember the previous status and that is not
good in my opion....

Thanks for help,
fano

Leak
14th May 2007, 21:49
Here's the aforementioned AviSynth patch update:

Download (http://leak.no-ip.org/AviSynth/ffdshow/ffdshow_AviSynth_rev1167_20070514.exe)
Documentation (http://leak.no-ip.org/AviSynth/ffdshow/docs/html/en/avisynth.htm)
Patch (https://sourceforge.net/tracker/index.php?func=detail&aid=1676882&group_id=173941&atid=867362) (against rev. 1167)

Changes:

* Reset AviSynth only after deactivating the filter or when the image size or the script changes - that's about as low as I can go when it comes to resetting AviSynth

* Added a help webpage for the filter (see link above)

* One additional pulldown option ("Smooth timestamps") to smooth out alternating timestamps without duplicating fields - this should make adding/dropping frames work on 24 FPS movie material, probably even on hybrid material, but the output frame rate will then vary proportional to the input frame rate

* Global variables "ffdshow_dar_x" and "ffdshow_dar_y" now available to the AviSynth script to get and/or set the aspect ratio and process images differently depending on the aspec ratio; this way the script can react to aspect ratio changes since it is reset when the ratio changes:


function Resize_16_9(v)
{
ffdshow_dar_x=4 ffdshow_dar_Y=3
return v.LanczosResize(800,480,22,0,676,480).AddBorders(0,60,0,60)
}

function Resize_4_3(v)
{
ffdshow_dar_x=4 ffdshow_dar_Y=3
return v.LanczosResize(800,600)
}

TFM(order=1,chroma=false)
TDecimate(mode=1,hybrid=1,conCycle=1,chroma=false)

ar=float(ffdshow_dar_x)/float(ffdshow_dar_y)
diff=ar-1.5555

abs(abs(diff)-0.2222) > 0.05 ? last : \
(diff >= 0 \
? last.Resize_16_9 \
: last.Resize_4_3)
That script is fitting 16:9 and 4:3 DVD video into 800x600 for my projector, in case you're wondering... :D

Oh, and make sure "Keep aspect ratio" is off in MPC if you're using it when tinkering with the aspect ratio, as MPC will ask the DVD navigator for the DVD's current aspect ratio instead of using the video's output aspect ratio, and that will get the resized video squashed another time... :(

TODO: Use the above to actually watch a DVD again on my projector several weeks after the last time... :/

np: Tarwater - When Tomorrow Comes (Spider Smile)

WorBry
15th May 2007, 08:02
Here's the aforementioned AviSynth patch update:

Download (http://leak.no-ip.org/AviSynth/ffdshow/ffdshow_AviSynth_rev1167_20070514.exe)
Documentation (http://leak.no-ip.org/AviSynth/ffdshow/docs/html/en/avisynth.htm)
Patch (https://sourceforge.net/tracker/index.php?func=detail&aid=1676882&group_id=173941&atid=867362) (against rev. 1167)



Really excellent Leak.

Yep, with the Yadif, adjusting the 'buffers ahead/back' did the trick. Real-time, on-the-fly, smart-bobbed (50p) playback of interlaced PAL DV in 'yer favourite' player (well mine anyway -TCMP). Cant be bad. IMHO, Yadif knocks spots (literally) off the existing FFDShow deinterlacers and DScaler plugins.

Still cant get it to work properly in the vfw FFDshow version though. Same-framerate (mode=0) output is OK, but bobbed (mode=1) output just gives me a black screen.

zambelli
15th May 2007, 08:07
Suggestions for Ffdshow installer defaults:

Components:
+ enable "Avisynth scripts serving"

Decoders:
- disable MP3
- disable MP1, MP2
+ enable FLAC

Speaker setup:
* choose "disable mixer" or add the "same as input" option

Misc:
+ enable "Show tray icon" and "Extended info" for all encoders/decoders


My reasoning for disabling default MPEG audio decoding support is that those codecs are already supported on Windows without Ffdshow and I don't think Ffdshow should ever be changing the default codec assignment unless the user specifically choses to do so. Ffdshow should augment the existing codec ecosystem but not change it. I think this is the "right" thing to do not for political reasons, but for legacy/compatibility reasons.

In the long run, I think some sort of intelligent codec detection system might be in order where the installer checks whether a decoder already exists for a given video or audio type and doesn't enable the equivalent ffdshow decoder by default. Example: When DivX or CoreAVC are already installed on a system, it might be safer to assume those are the preferred DivX/XviD and H.264 decoders. The users can always override them if they decide they prefer Ffdshow.

Leak
15th May 2007, 08:21
Really excellent Leak.
:D

Still cant get it to work in the vfw FFDshow version though. Before, VDub either crashed or froze at first frame. Now I'm just getting a black screen.
Can't say I can recommend using it with VfW, as the buffering isn't going to work at all due to the way VfW works - you can't refuse to give an output frame back when VfW hands you an input frame, or return more than one frame at a time, which is how buffering and inserting/removing frame works in DirectShow.

This means you can't really use filters that change the number of frames in the stream, like bobbers and decimation - pure spatial filtering without buffering should still work, although I haven't tested it lately. Just buffering ahead/back probably works as well, but the video will be delayed by a number of frames equal to the buffer ahead setting, and the same number of frames will be then missing at the end.

Then again, when using VfW for encoding it's better to use AviSynth directly anyway, if at all possible.

WorBry
15th May 2007, 08:53
:D
Can't say I can recommend using it with VfW, as the buffering isn't going to work at all due to the way VfW works - you can't refuse to give an output frame back when VfW hands you an input frame, or return more than one frame at a time, which is how buffering and inserting/removing frame works in DirectShow.

This means you can't really use filters that change the number of frames in the stream, like bobbers and decimation - pure spatial filtering without buffering should still work, although I haven't tested it lately. Just buffering ahead/back probably works as well, but the video will be delayed by a number of frames equal to the buffer ahead setting, and the same number of frames will be then missing at the end.

Then again, when using VfW for encoding it's better to use AviSynth directly anyway, if at all possible.

Note: I'd edited my comment about vfw i.e. sort of got it to work with 25p (mode=0) output, but not 50p (mode=1). Thanks for the explanation.

For vfw I do normally use AVIsynth directly; I was just intrigued by the query posted by thiseas:

http://forum.doom9.org/showthread.php?p=999056#post999056

i.e. the notion of being able to just drop a DV source into VDub, without loading it into a script.

Leak
15th May 2007, 09:02
For vfw I do normally use AVIsynth directly; I was just intrigued by the query posted by thiseas:

http://forum.doom9.org/showthread.php?p=999056#post999056

i.e. the notion of being able to just drop a DV source into VDub, without loading it into a script.
I'm afraid that also won't work because you'd need to double the number of frames VfW reports to the application if you don't want your video being cut in half, which also isn't possible.

It should work with applications that use DirectShow for either de- or encoding, though - too bad VirtualDub isn't one of those... :(

WorBry
15th May 2007, 10:06
Thanks again for the explanation :)

haruhiko_yamagata
15th May 2007, 11:45
@haruhiko_yamagata
Found an issue with the "allow multichannel audio processing" option. If you play a file with two audio streams (one 5.1 and other 2.0) and have the option disabled, when the 5.1 track is played no processing is made which is normal but when you change to the 2.0 track no audio processing occurs even though ffdshow is outputting audio properly. If you enable then disable the option during the 2.0 audio playback processing begins and continues as ffdshow is now aware of the type of audio track.
If you do the reverse it happens again: playing 2.0 audio with option disabled and sound processing ,switch to 5.1 audio and sound will processed with the option disabled which is not ok for stereo plugins.
This probably happens because i'm using haali media splitter which handles the streams, so ffdshow is not totally aware of the audio stream changes.Thank you for report.
Please provide a sample file.

P.S.=> Is it possible to add a function to load DirectX audio dsp's from within ffdshow like is done with the winamp plugins?I'm not sure, as for now, I don't have much time.

_xxl
15th May 2007, 11:51
Latest's (1167,1155) libavcodec mpeg4 encoder is crashing.
Rev 1148 is working ok.
Tested with Intel Dual Core SSSE3.
30867cb9: 660f7f4c2420 movdqa [esp+20h], xmm1 <-- FAULT
Crash reason: Access Violation

Crash context:
An out-of-bounds memory access (access violation) occurred in module 'libavcodec'...

...reading address FFFFFFFF...

...while compressing frame 0 from 0b3a0020 to 0b1a0020 using codec "ffdshow Video Codec" (VideoSequenceCompressor.cpp:618)...

...while running thread "Processing" (thread.cpp:150).

Kado
15th May 2007, 15:32
Thank you for report.
Please provide a sample file.

Sample here. (http://rapidshare.com/files/31445600/5.1_2.0_sample.mka.html)

I'm not sure, as for now, I don't have much time.
Wakarimashita!:)

clsid
15th May 2007, 16:10
Latest's (1167,1155) libavcodec mpeg4 encoder is crashing.
Rev 1148 is working ok.
Tested with Intel Dual Core SSSE3.
It works ok for me (on default settings) on an old Athlon (MMX/MMXext).

So it may be caused by the added SSE2/SSSE3 SIMD code of rev1155.

haruhiko_yamagata
15th May 2007, 16:14
Sample here. (http://rapidshare.com/files/31445600/5.1_2.0_sample.mka.html)

Thank you. I can reproduce the problem.

_xxl
15th May 2007, 16:16
Rev 1155 doesn't have SSSE3 enabled.
Maybe some custom code is missing?

clsid
15th May 2007, 18:31
Yes, but some SSE2 code was added/changed.

_xxl
15th May 2007, 19:07
"movdqa"
Doesn't depend on data alignment:
"movdqu"
(/arch:SSE2)
The compiler generated SSE code uses the MOVDQA instruction which requires the data to be aligned on a 16-byte boundary, but it is not safe to assume that the last element of an array of struct "data" is aligned on a 16-byte boundary due to its odd size, and executing the code aborts with an access violation at the first movdqa instruction.
Is this access violation due to movdqa on misaligned memory address?

wozio
15th May 2007, 20:49
I have noticed that when HW deinterlacing is checked then ffdshow sets video in connection media type as interlaced (AMINTERLACE_IsInterlaced flag always set in VIDEOINFOHEADER2) even when it is in fact progressive. I know that later every video frame is presented with progressive flag set but I don't think if it is correct. I checked coreavc and it sets interlaced flag only when video stream is truly interlaced.

In result VMR9 reports doubled output frame rate and achieved is half of that.

Is it possible to fix it? I want to predict output frame rate of the rendered video in my application and want to check it from connection media type, when ffdshow always sets interlaced flag I will end with incorrect result.

zambelli
16th May 2007, 05:48
I have noticed that when HW deinterlacing is checked then ffdshow sets video in connection media type as interlaced (AMINTERLACE_IsInterlaced flag always set in VIDEOINFOHEADER2) even when it is in fact progressive.
I think libavcodec libs need to be enabled to pass that info to the Dshow filter layer. Any codec that supports interlaced video (MPEG-2, H.264, VC-1, etc.) would need to pass that info out, ideally per every frame, but at the least once for the sequence.

squid_80
16th May 2007, 06:57
Is this access violation due to movdqa on misaligned memory address?
If you posted the full virtualdub crash log it would be pretty easy to tell. I doubt whether it's the fault of the compiler, they don't generate SSE2 code unless it's really safe. More than likely this is caused by some hand written assembly which is assuming the stack pointer to be 16-byte aligned - this is done by gcc but not MSVC.

_xxl
16th May 2007, 08:08
Vd 1.6.1 crashinfo:
http://rapidshare.com/files/31573240/crashinfo.txt.html

haruhiko_yamagata
16th May 2007, 12:35
I have noticed that when HW deinterlacing is checked then ffdshow sets video in connection media type as interlaced (AMINTERLACE_IsInterlaced flag always set in VIDEOINFOHEADER2) even when it is in fact progressive. I know that later every video frame is presented with progressive flag set but I don't think if it is correct. I checked coreavc and it sets interlaced flag only when video stream is truly interlaced.

In result VMR9 reports doubled output frame rate and achieved is half of that.

Is it possible to fix it? I want to predict output frame rate of the rendered video in my application and want to check it from connection media type, when ffdshow always sets interlaced flag I will end with incorrect result.
It's difficult. To set the flag properly, ffdshow has to decode a few frames or at least the "codec private".
In most cases, codec private should help, but it's not easy because I don't have the documentation about codec private.

squid_80
16th May 2007, 13:00
Vd 1.6.1 crashinfo:
http://rapidshare.com/files/31573240/crashinfo.txt.html
The assembly code causing the crash appears to be an fdct function, most likely it's the fdct_col_##cpu function found in ffmpeg/libavcodec/i386/fdct_mmx.c. You'd need to find where the function is being called from and make sure the int16_t array being passed as the 2nd parameter is declared as being 16-byte aligned.

swordsman
16th May 2007, 13:48
Thanks for great codec!!!!
I've found strange thing - for all versions after 1025
drawOSD function isn't working. At 1025 and below
all is Ok. Does that mean you changed header file or
it's simply broken?

multiblitz
16th May 2007, 18:39
Thank you. I'll look into it again.

That would be great actually. THX

[Toff]
16th May 2007, 21:39
I've just spent more than an hour trying to remotely diagnose some video file loading problems in one of my application to finally find the culprit here: ffdshow and its white list.
I was not aware of this "new" functionality, so I was starting to pull my hair seeing the video loading well in the good old mplayer2.exe and in graphedit.
The user was using a codec pack so he didn't even see any ffdshow configurations dialog.
IMHO the white list option should be disabled by default, and only the black list should be pre-filled with some application known to cause problems.
At the very least a warning window should popup telling what's going one and why it's not loading with an option to not show the warning again.

jidelite
16th May 2007, 23:54
Here's the aforementioned AviSynth patch update:

Download (http://leak.no-ip.org/AviSynth/ffdshow/ffdshow_AviSynth_rev1167_20070514.exe)
Documentation (http://leak.no-ip.org/AviSynth/ffdshow/docs/html/en/avisynth.htm)
Patch (https://sourceforge.net/tracker/index.php?func=detail&aid=1676882&group_id=173941&atid=867362) (against rev. 1167)

Changes:

* Reset AviSynth only after deactivating the filter or when the image size or the script changes - that's about as low as I can go when it comes to resetting AviSynth

* Added a help webpage for the filter (see link above)

* One additional pulldown option ("Smooth timestamps") to smooth out alternating timestamps without duplicating fields - this should make adding/dropping frames work on 24 FPS movie material, probably even on hybrid material, but the output frame rate will then vary proportional to the input frame rate


Leak, Finally got a chance to try your latest patch and I must say, this time you did it :)!! I no longer get any stuttering on DVDs when my frame duration changes. I cannot thank you enough for all your hard work!

:thanks:
jidelite

haruhiko_yamagata
17th May 2007, 00:14
;1004141']I've just spent more than an hour trying to remotely diagnose some video file loading problems in one of my application to finally find the culprit here: ffdshow and its white list.
I was not aware of this "new" functionality, so I was starting to pull my hair seeing the video loading well in the good old mplayer2.exe and in graphedit.
The user was using a codec pack so he didn't even see any ffdshow configurations dialog.
IMHO the white list option should be disabled by default, and only the black list should be pre-filled with some application known to cause problems.Codec packs may not show the installation dialog for the compatibility list. They should either show a dialog on installation or disable compatibility list.
At the very least a warning window should popup telling what's going one and why it's not loading with an option to not show the warning again.
Yes, it's a good idea.

haruhiko_yamagata
17th May 2007, 15:36
Decoders:
- disable MP3
- disable MP1, MP2

My reasoning for disabling default MPEG audio decoding support is that those codecs are already supported on Windows without Ffdshow and I don't think Ffdshow should ever be changing the default codec assignment unless the user specifically choses to do so. Ffdshow should augment the existing codec ecosystem but not change it. I think this is the "right" thing to do not for political reasons, but for legacy/compatibility reasons.

I agree. What other's opinion?
Speaker setup:
* choose "disable mixer" or add the "same as input" option
No.

ExtraEye
17th May 2007, 15:55
i like decoding mp3 with ffdshow. Isn't it better to decode it that way?

fastplayer
17th May 2007, 16:03
What other's opinion?
I agree about zambelli's MP1/2/3 and tray icon suggestions but I don't understand why the mixer should be disabled.

vlada
17th May 2007, 16:19
I don't agree with disabling MPEG-1 audio. For example with ffdshow I can use volume normalization. I also know many people who use ffdhsow to upmix stereo MP3 to 5.1. Or are there any problems with the ffdshow decoder why it should be disabled?

One of the strong points of ffdshow is the fact, that it usually takes over any other decoders installed in system. So it can very often fix problems caused by various codecpacks.

Edit: Maybe instead of it, we might want to create some easy to understand profiles during installation (with the option to choose details):

1) Enable only basic formats
2) Enable all fully supported formats (including VfW)
3) Enable everything

zambelli
17th May 2007, 21:58
i like decoding mp3 with ffdshow. Isn't it better to decode it that way?
My suggestion was more based on backwards compatibility and legacy support than on quality. I'm not sure how much quality gain there is in decoding MP3 with Ffdshow versus the default Fraunhofer decoder anyway.

I don't agree with disabling MPEG-1 audio. For example with ffdshow I can use volume normalization. I also know many people who use ffdhsow to upmix stereo MP3 to 5.1. Or are there any problems with the ffdshow decoder why it should be disabled?
We're talking about defaults here. There'd be nothing stopping users who want to upmix MP3 to select MP3 during install.

One of the strong points of ffdshow is the fact, that it usually takes over any other decoders installed in system. So it can very often fix problems caused by various codecpacks.
It shouldn't be Ffdshow's role to solve problems introduced by bad codec packs. That'd be like sweeping the problem under the rug anyway.

My approach for installing Ffdshow has always been to let it handle only codecs which aren't already handled by other codecs on the system - unless there's a very good reason to do so. I think the installer's goal should be to fill the gaps in codec coverage, not try to patch existing codecs. Idealy there'd be a detection method in the installer that checks for present codecs - but at the least, I think Ffdshow should not replace decoders that are known to exist on every Windows OS (MP2/MP3, MPEG-1, WMA, WMV, etc.).

vlada
18th May 2007, 01:42
@zambelli> But AFAIK currently ffdshow works right the opposite way. It has very high merit a replaces all existing filters (why everybody calls them codecs?). I think your request would be much better fulfilled if you just decreased ffdshow's merit and enabled all formats. Then ffdshow would be used only if there are no other filters installed.

My target is always to let ffdshow handle as much formats (why everybody calls them codecs?) as it can, because I want to use the same postprocessing filters for all formats (subtitles, volume normalization, downmix). I know I could just use ffdhow as RAW filter, but why not letting it do the decoding part too. I'm afraid we'll probably won't find a common attitude on this matter.

That's why I suggest to prepare some presets so users can choose what they want. Informed people like you and me have no problems to select whatever they want. So I think we shouldn't care about what we need, but what setting will be the best for a common user. And unfortunately many users have their system damaged by different codecpacks. I already saved many people by telling them just to install ffdshow with default setting, if they had video playback problems and hoped to solve it by installing more and more codecpacks :devil: I agree it's sweeping the problem under the rug, but have you ever tried to explain to a common user how to work with Graphedit, identify problematic filters and disable them?

The way ffdshow works now gains a lot of success because it solves many video playback issues people have. But I think it's up to the developers to decide which way they want to go. There are 2 extremes: Associate everything to ffdshow (my wish) or associate only formats not yet supported on the system (your wish). Maybe something between would be the right choice.

squid_80
18th May 2007, 03:40
but at the least, I think Ffdshow should not replace decoders that are known to exist on every Windows OS (MP2/MP3, MPEG-1, WMA, WMV, etc.).
Windows x64 doesn't have a 64-bit mp3 codec, and I've never known any windows to come with an acm mp2 codec.

haruhiko_yamagata
18th May 2007, 10:37
@Leak
Thank you for your great work. It is getting more stable and I can report only one this meaningless issue.
FadeIn(30)
With this script and your latest build, when I seek, fade in occurs every time. Without your patch, fade in occurs only on start up (after stop). Which is normal?

Well, my sample is meaningless test. But compatible behavior with original ffdshow is more likable for the case that buffering is not necessary.

Here, I have a feature request.
Please add a new check box "Enable buffering", off by default. Buffers back/ahead can be set 10/10 or something by default.

With the check box off, "Buffers back/ahead", "Use Current", "3:2 Pulldown" is grayed out. The behavior can be as compatible as possible unless the original one is too buggy.

It's good for not only compatibility but also user's convenience.

Leak
18th May 2007, 11:26
@Leak
Thank you for your great work. It is getting more stable and I can report only one this meaningless issue.
Thanks! :)

FadeIn(30)
With this script and your latest build, when I seek, fade in occurs every time. Without your patch, fade in occurs only on start up (after stop). Which is normal?
There's a problem with FadeIn, because it makes the output clip one frame longer than the input clip.

Since every time my filter skips ahead it adds 1000 to the frame number and rounds it up according to the input/output frame ratio - this works fine if the ratio is 5:4 with IVTC, or 1:2 with bobbing, but with a ratio of 10810800:10810801 the value to round to gets waaay too big and thus the current frame number is reset to 0.

If you use FadeIn0, which doesn't add an extra frame at the very end of the clip (which you probably won't ever reach anyway), you won't get that problem, but you won't get the fade either (unless it's several thousand frames long), since all the resizing/re-connecting/re-you-name-it at the beginning of playback will make the filter seek ahead several thousand frames.

I'm afraid there's not much I can do... if I don't seek ahead, you'll be getting green/double/wrong frames again, and if I go back to reseting AviSynth, people will complain about seeking/starting being slow, and the FadeIn is going to happen after every seek.

Then again, using FadeIn doesn't make much sense, and FadeOut won't work anyway - it's best to only use filters in ffdshow that will do their magic on all frames of the video, and not just some fixed range of a clip that is a moving target.

It does work when buffering is turned off, though, as seeking ahead only seeks ahead one frame then.

Well, my sample is meaningless test. But compatible behavior with original ffdshow is more likable for the case that buffering is not necessary.
It already is compatible in that regard when you use FadeIn0 - I guess I can just disable the rounding part as well when buffering is off since it doesn't really make much sense then, as the only adding and removing of frames that will work reliably then is either multiplying or dividing the input number of frames by an integer, i.e. halving or doubling the number of frames.

I was planning to add some code to figure out a "better" ratio if it's just off by a few frames (in a range of, say, -15 to +15 frames, by just trying them out), as any difference of a few frames with a clip that's 10 million frames long can be compensated by buffering an extra frame or two ahead at most.

Here, I have a feature request.
Please add a new check box "Enable buffering", off by default. Buffers back/ahead can be set 10/10 or something by default.

With the check box off, "Buffers back/ahead", "Use Current", "3:2 Pulldown" is grayed out. The behavior can be as compatible as possible unless the original one is too buggy.

It's good for not only compatibility but also user's convenience.
Sure, why not? :)

Would a checkbox before "Buffers back/ahead" be sufficient? I really don't want tear the dialog design apart another time, which would be neccessary to fit another checkbox with label.

I won't disable the pulldown options though, as they're independent from buffering - only "Apply pulldown" adds frames, and that's just using the current and the previous frame, so there's no lag introduced either since it doesn't buffer ahead.

The pulldown part would even make sense as a filter on it's own - if you've got a TV connected to the PC you can make sure it gets it's 30 interlaced frames per second that way instead of leaving that up to the renderer. And smoothing the timestamps just averages the frame duration to get the oscillating between two frame lenghts out, but won't do anything else.

I've also found that leaving the script empty produces no image at all; most probably because an empty script in the config is used to signal the filter to reset itself - that should probably be fixed... :)

Also, it would probably be nice to change the FPS value in the output video headers as well instead of just mangling the timestamps - do you perhaps know where that information is stored?

haruhiko_yamagata
18th May 2007, 12:53
There's a problem with FadeIn, because it makes the output clip one frame longer than the input clip. Thank you for explanation.
Sure, why not? :):thanks:
Also, it would probably be nice to change the FPS value in the output video headers as well instead of just mangling the timestamps - do you perhaps know where that information is stored?
It's in VIDEOINFOHEADER / VIDEOINFOHEADER2. They are used on connection. It should be hard to calculate the value before decoding begins. I think it's better to leave it as it is.

vlada
18th May 2007, 14:32
@squid_80> ffdshow supports ACM codecs? How can I enable/disable them?

clsid
18th May 2007, 14:33
My suggestion was more based on backwards compatibility and legacy support than on quality.
What kind of compatibility issues are there? A whitelist was recently added to ffdshow to prevent the filter from being used by (possibly) incompatible applications/games.

Vampik
19th May 2007, 11:53
It seems that libavcodec encoding is totally broken since rev.1155. drevil_xxl said mpeg4 doesn't work, but really any other format doesn't work too. Error message is the same, tested on Athlon 64 SSE3.

clsid
19th May 2007, 18:30
I am reverting one of the ffmpeg patches. That should hopefully fix the encoding crash. New build will be online asap.

Vampik
19th May 2007, 19:33
It doesn't work. I've just compiled libavcodec.dll, rev.1183, gcc 4.0.4 - the same crash.

Isochroma
19th May 2007, 22:35
I use ffdshow for decoing MPEG audio, and would not use any version without such support. It's really important to me, because it gives extended realtime bitrate info while playing, among other things.

Leak
19th May 2007, 22:58
I use ffdshow for decoing MPEG audio, and would not use any version without such support. It's really important to me, because it gives extended realtime bitrate info while playing, among other things.
Errr... could it be that you missed the part where the whole discussion was about what codecs to enable *by default* (i.e. you still being able to activate any and all of them via ffdshow's configuration window if you so choose) and not about dropping support for any of them?

Just saying...

np: David Sylvian - Jean The Birdman (Everything And Nothing)

Inventive Software
20th May 2007, 02:35
Suggestion for the installer: have a sub-option on the codecs selection page, so the user can choose to use WMV or libavcodec, for WMV7, WMV8, WMV9, WVC1, *if* Microsoft codecs are installed. This is also assuming it's relatively easy to check whether the codecs are installed.....

Dr Pizza
20th May 2007, 13:02
The recent change (May 10th) for processor feature detection is making me sad.

The asm functions (check_cpu_features etc.) are declared in an extern "C" block in a .cpp file. This is making VC++ presume that their names should be completely undecorated.

However, cpuid64.asm is built with PREFIX defined, and with PREFIX defined, functions gain a leading underscore.

In other words, cpuid64.obj exports a function _check_cpu_features, but the linker is looking for check_cpu_features.

Easiest thing would be to remove the PREFIX define.

clsid
20th May 2007, 13:40
Edit: you should have SVN access now. So you can commit fixes.

squid_80
20th May 2007, 16:34
However, cpuid64.asm is built with PREFIX defined, and with PREFIX defined, functions gain a leading underscore.
If it's a 64-bit .asm file, it shouldn't have the %ifdef PREFIX stuff in it. No 64-bit compiler adds leading underscores to function names, no matter what OS is used (an underscore is added on 32-bit windows, but not linux; this is why %ifdef PREFIX commonly exists).

Dr Pizza
20th May 2007, 22:16
That sounds reasonable. I've not bothered to look at what the 64-bit name mangling rules are, if it's "never add an underscore" then I'll just kill all the PREFIX stuff.

I notice that the x64 asm in x264 has some PREFIX stuff too. I guess I might as well purge that too.

Leak
20th May 2007, 23:30
Another update to my AviSynth patch:

* Add a checkbox for en-/disabling all buffering
* Add tooltips to buffer edit fields
* Properly clear the frame that is returned to AviSynth if no frames are buffered (to prevent green frames from popping up in YUY2)
* Fix missing video if script is empty (d'oh!)
* Reorder some controls and IDs for better readability
* Slightly tweak the config dialog layout

Patch (https://sourceforge.net/tracker/?func=detail&atid=867362&aid=1676882&group_id=173941) (against rev. 1186)
Download (http://leak.no-ip.org/AviSynth/ffdshow/ffdshow_AviSynth_rev1186_20070520.exe)
Documentation (http://leak.no-ip.org/AviSynth/ffdshow/docs/html/en/avisynth.htm) (not updated yet)

@Haruhiko: I've not yet added code to compensate scripts making the clip slightly longer or shorter (like FadeIn(...)), but other than that it's as good as feature complete...

Any objections against me checking this into SVN in the next few days?

EDIT: come to think of it - has anybody ever tried the AviSynth filter (old or new, doesn't matter much) on Windows x64 and an x64 build of ffdshow?

np: El-P - Dear Sirs (I'll Sleep When You're Dead)

haruhiko_yamagata
21st May 2007, 14:54
Another update to my AviSynth patch:

* Add a checkbox for en-/disabling all buffering
* Add tooltips to buffer edit fields
* Properly clear the frame that is returned to AviSynth if no frames are buffered (to prevent green frames from popping up in YUY2)
* Fix missing video if script is empty (d'oh!)
* Reorder some controls and IDs for better readability
* Slightly tweak the config dialog layout

Patch (https://sourceforge.net/tracker/?func=detail&atid=867362&aid=1676882&group_id=173941) (against rev. 1186)
Download (http://leak.no-ip.org/AviSynth/ffdshow/ffdshow_AviSynth_rev1186_20070520.exe)
Documentation (http://leak.no-ip.org/AviSynth/ffdshow/docs/html/en/avisynth.htm) (not updated yet)

@Haruhiko: I've not yet added code to compensate scripts making the clip slightly longer or shorter (like FadeIn(...)), but other than that it's as good as feature complete...

Any objections against me checking this into SVN in the next few days?

EDIT: come to think of it - has anybody ever tried the AviSynth filter (old or new, doesn't matter much) on Windows x64 and an x64 build of ffdshow?

np: El-P - Dear Sirs (I'll Sleep When You're Dead)
Thank you very much. You have svn access now.:D

fusion_400
21st May 2007, 15:02
FFDSHOW has a major bug atleast in Virtualdub where it refuses to encode material that is in 30fps. The latest version that worked well was revision 1122 that was made 20070424. 25fps works fine though. I don't know why this bug has now been reintroduced in later builds revision 1132 was the first one to have the bug reintroduced.

I hope this bug will be fixed because i encode alot of material from canon ixus 30 that uses 30fps framrate.

haruhiko_yamagata
21st May 2007, 16:16
FFDSHOW has a major bug atleast in Virtualdub where it refuses to encode material that is in 30fps. The latest version that worked well was revision 1122 that was made 20070424. 25fps works fine though. I don't know why this bug has now been reintroduced in later builds revision 1132 was the first one to have the bug reintroduced.

I hope this bug will be fixed because i encode alot of material from canon ixus 30 that uses 30fps framrate.
I fixed it yesterday at rev 1186/1189.

_xxl
21st May 2007, 17:58
Please read:
http://lists.mplayerhq.hu/pipermail/ffmpeg-user/2007-May/008878.html
Maybe this is the answer to latest libavcodec SSE2 crashes?

Leak
21st May 2007, 18:12
Please read:
http://lists.mplayerhq.hu/pipermail/ffmpeg-user/2007-May/008878.html
Maybe this is the answer to latest libavcodec SSE2 crashes?
Heh. Good thing I spent the last few days trying to build GCC 4.2.0 in MinGW... and I've almost succeeded... :D

Now all I need is to sort out the few remaining issues... :/

np: Gui Boratto - Mr. Decay (Chromophobia)

clsid
21st May 2007, 19:44
You can download a compiled version of GCC 4.2.0 here:
http://forum.doom9.org/showthread.php?t=108215&page=6

Px
21st May 2007, 21:35
EDIT: come to think of it - has anybody ever tried the AviSynth filter (old or new, doesn't matter much) on Windows x64 and an x64 build of ffdshow?
I can try, if you tell me how :)

cc979
22nd May 2007, 00:38
is the libavcodec in ffdshow only compiled with gcc-4.2.0, as it does compile any more gcc-4.0.4

cheers

chros
22nd May 2007, 09:38
If I set the number of threads to 2 at the Decoder Options (at Codecs libavcodec is selected for MPEG2) MPC is immediately crashing (if I set beack to 1 then everithyng is OK.)

1080i MPEG2 material, Athlon X2 4600 CPU, ffdshow build 1133

Can anyone confirm this?

_xxl
22nd May 2007, 09:53
Latest libavcodec has some problems.All started with rev 1155
and SSE2 encoding.Maybe a good bug report should be made to ffmpeg?

cc979
22nd May 2007, 15:47
i am having major problems compiling the ffdshow-tryout svn - libavcodec builds fine gcc-4.2.0 but i have problems the rest of it

what is the working method to compile ffdshow now?

cheers

clsid
22nd May 2007, 16:04
Most of us use Visual Studio (2003/2005) to compile ffdshow.ax

_xxl
22nd May 2007, 16:21
You need to add in makefile.inc:
CFLAGS+=-DHAVE_MMX
and soon
CFLAGS+=-DARCH_IS_IA32 -DARCH_IS_32BIT
because xvid4.h is going to be merged with xvid.h.

haruhiko_yamagata
22nd May 2007, 16:50
If I set the number of threads to 2 at the Decoder Options (at Codecs libavcodec is selected for MPEG2) MPC is immediately crashing (if I set beack to 1 then everithyng is OK.)

1080i MPEG2 material, Athlon X2 4600 CPU, ffdshow build 1133

Can anyone confirm this?
I cannot reproduce. 1080i MPEG2, core2duo, build 1133.
If it is sample specific, please upload a sample.

cc979
22nd May 2007, 18:07
You need to add in makefile.inc:
CFLAGS+=-DHAVE_MMX
and soon
CFLAGS+=-DARCH_IS_IA32 -DARCH_IS_32BIT
because xvid4.h is going to be merged with xvid.h.

thanks the fixed it, cheers

kurt
22nd May 2007, 18:49
@ Leak: I got a problem with your avisynth patch. When playing an anamorphic video and enabling seesaw script, mpc (with haali renderer) ignores the PAR flag.

Just tested previous versions and with rev. 1126 (01.05.2007) everything is fine.

here is a simple seesaw script but I don't think it matters (yadif shows the same behaviour):

a= last

b=a.fluxsmoothst()

SeeSaw(a,b, NRlimit=3, NRlimit2=4, Sstr=1.5, Slimit=5, Spower=5, Sdamplo=6, Szp=16)
xvid par testfile (http://home.arcor.de/evil.bert/test/xvid.par.avi)

fusion_400
22nd May 2007, 20:31
I fixed it yesterday at rev 1186/1189.

Hi i tested both ffdshow_rev1187_20070520_clsid and ffdshow_rev1193_20070522_xxl builds and both still have the same 30fps bug. FFDSHOW will not encode anything in virtualdub when using 30fps framerate. The FPS is exactly 30fps it is not 29.97fps ntsc standard but exactly 30 fps from canon ixus 30 camera that uses MJPEG 640X480@30FPS.

This is the virtualdub error message:

Cannot start video compression:

An unknown error occurred (may be corrupt data)
(error code -100)

------------------

LoRd_MuldeR
22nd May 2007, 21:29
I just noticed a bug with ffdshow and anamorphic video!

The video was encoded with Xvid at an resolution of 688x560 and a PAR auf 140:129.
The resulting video plays 100% fine at 4:3 in both MPlayer and VLC Media Player.

Unfortuantely this is what happens with MPC + ffdshow:

http://img454.imageshack.us/img454/2827/anamorphlc6.png

Tested with ffdshow-tryouts revision 1187. Also I use the latest Haali Renderer.
As soon as I use the XviD Decoder-Filter instead of ffdshow, it works okay in MPC too.

I uploaded a sample:
Download: http://www.mytempdir.com/1335646
Password: doom9

Episode
22nd May 2007, 22:23
@LoRd_MuldeR, Sorry, but I cannot reproduce this with rev 1187, mpc and haali renderer. It plays perfectly fine with any renderer available in mpc.

GmorG McRoth
22nd May 2007, 22:29
Same here works perfectly well.

http://xs215.xs.to/xs215/07212/2007-05-22_232810.jpg.xs.jpg (http://xs.to/xs.php?h=xs215&d=07212&f=2007-05-22_232810.jpg)

LoRd_MuldeR
22nd May 2007, 22:31
@LoRd_MuldeR, Sorry, but I cannot reproduce this with rev 1187, mpc and haali renderer. It plays perfectly fine with any renderer available in mpc.

I just tried other renderers and the problem seems to be Haali Renderer + ffdshow :(

ffdshow + VMR9 (Renderless): Okay
ffdshow + Overlay: Okay
ffdshow + Haali Renderer: Broken (see screenshot above)

Xvid Decoder + VMR9 (Renderless): Okay
Xvid Decoder + Overlay: Okay
Xvid Decoder + Haali Renderer: Okay


Any ideas ???

GmorG McRoth
22nd May 2007, 22:32
I just tried other renderers and the problem seems to be Haali Renderer + ffdshow :(


I use Haali and it works. Maybe do full reinstall of Haali filters (uninstall old, restart, install new).
Also Haali uses GPU PS2 for it's calculations if I'm not mistaken, so updating your video card drivers may help.

LoRd_MuldeR
22nd May 2007, 22:36
I use Haali and it works. Maybe do full reinstall of Haali filters (uninstall old, restart, install new).

I already did that before I wrote the bug report.

GmorG McRoth
22nd May 2007, 22:43
I see you are using MPC moded by casimir, I used last MPC made by drevil_xxl, maybe here is problem.

LoRd_MuldeR
22nd May 2007, 22:49
I see you are using MPC moded by casimir, I used last MPC made by drevil_xxl, maybe here is problem.

1. The same problem happens with drevil_xxl's build too

2. As soon as I enable "resize" in ffdshow the problem disappears and (now it gets strange) keeps gone, even if I disable resize again. Once I re-open the video, the problem is back...

GmorG McRoth
22nd May 2007, 22:53
Wicked XD

ok then, who binary of FFDShow you have installed?
I used ffdshow_rev1187_20070520_clsid.exe

LoRd_MuldeR
22nd May 2007, 22:56
Wicked XD

ok then, who binary of FFDShow you have installed?
I used ffdshow_rev1187_20070520_clsid.exe

exactly that one :)

// EDIT

I just went back to ffdshow_beta2a_20070322_clsid.exe and the problem is gone :cool:

// EDIT²

Another attempt with ffdshow_rev1187_20070520_clsid.exe and problem returns...

Inventive Software
22nd May 2007, 23:22
Hi i tested both ffdshow_rev1187_20070520_clsid and ffdshow_rev1193_20070522_xxl builds and both still have the same 30fps bug. FFDSHOW will not encode anything in virtualdub when using 30fps framerate. The FPS is exactly 30fps it is not 29.97fps ntsc standard but exactly 30 fps from canon ixus 30 camera that uses MJPEG 640X480@30FPS.

This is the virtualdub error message:

Cannot start video compression:

An unknown error occurred (may be corrupt data)
(error code -100)

------------------

From the SVN changelog:

Revision 1186 - Directory Listing
Modified Sun May 20 14:47:28 2007 UTC (2 days, 7 hours ago) by h_yamagata

Bug fix
The following encoders only work for input with specific frame rates: MPEG4, MPEG 1 and MPEG 2. The accepted frame rates are 25*2^n. For example: 6.25, 12.5, 25, 50, 100.

This is most likely the limitation. The following fixes have been applied, but don't go into any detail:

Revision 1189 - Directory Listing
Modified Mon May 21 11:32:49 2007 UTC (34 hours, 47 minutes ago) by h_yamagata

minor fix of rev 1186
(revert Tffvfw.cpp and move the change to TvideoCodecLibavcodec.cpp)
Revision 1192 - Directory Listing
Modified Tue May 22 13:12:23 2007 UTC (9 hours, 7 minutes ago) by h_yamagata

more fix about rev 1186 issue.

Leak
23rd May 2007, 00:07
@ Leak: I got a problem with your avisynth patch. When playing an anamorphic video and enabling seesaw script, mpc (with haali renderer) ignores the PAR flag.
Yeah, something's not right - you should be able to set any aspect ratio you want in your AviSynth script (or just pass the input aspect ratio through), but no matter what values you use the aspect ratio stays the same...

That needs some investigation, but I was busy this evening with building a new version of GCC - I'll look into it tomorrow.

EDIT: I guess I'll better wait with checking in the new AviSynth filter until I've fixed that one. :)

np: RJD2 - Chicken-Bone Circuit (Deadringer)

Dr Pizza
23rd May 2007, 02:14
The cpu test introduced in revision 1151 is faulty on x64.

The file in question is Tconfig.cpp.

I don't quite understand the #ifndef __GNUC__ on line 212; it seems to me that IsProcessorFeaturePresent is always the right way to test for processor features on Windows.

But no matter; I think the code as it stands is trying to enable MMX on x64. Although the SSE/SSE2/SSE3/SSSE3 features get tested explicitly, and disabled if they fail, MMX and MMXEXT are never tested, and so, I suspect, never disabled. Forcibly disabling them (available_cpu_flags &= ~FF_CPU_MMX; available_cpu_flags &= ~FF_CPU_MMXEXT;) restores ffdshow to working order, as does using IsProcessorFeaturePresent (presumably because IsProcessorFeaturePresent knows that x64 has no MMX).

akupenguin
23rd May 2007, 02:44
There aren't any x86_64 CPUs without MMX, there aren't any x86_64 OSs that don't support MMX (win64 allows MMX in userspace, just not in the kernel), and ffmpeg doesn't support using SSE* without using MMX.

B.F.
23rd May 2007, 04:30
URL http://www.comq.ru/user/alex/pirates2/pirates2.mp4
Mpeg4AVC HighProfile video.
Picture is broken using ffdshow, mplayer or KMP.
Look normal using CoreAVC 1.2.

chros
23rd May 2007, 07:38
I just tried other renderers and the problem seems to be Haali Renderer + ffdshow :(

ffdshow + VMR9 (Renderless): Okay
ffdshow + Overlay: Okay
ffdshow + Haali Renderer: Broken (see screenshot above)

Xvid Decoder + VMR9 (Renderless): Okay
Xvid Decoder + Overlay: Okay
Xvid Decoder + Haali Renderer: Okay

Any ideas ???
Yes, once same was for me too, and I have reported to Haali, but I got no answer:
http://forum.doom9.org/showthread.php?p=1001143#post1001143

The problem related to ffdshow (I'm using ffdshow_rev1133_20070504_clsid.exe): if The Raw Video is set to All Supported at the Codecs, the problem occurs. So I don't know if it's the fault of Haali's renderer or ffdshow ... (But strange is that VMR is OK.)
(tried several MPC builds (the official 6.4.9.0 too), latest haali's package).
And if ffdshow is in the DS chain, the problem occurs, if ffdshow isn't, the problem gone ...

EDIT: I found an mpg1 (from VCD) which also produces the same bug, when libavcodec is selected at the Codecs in MPG1 ...

chros
23rd May 2007, 07:48
URL http://www.comq.ru/user/alex/pirates2/pirates2.mp4
Mpeg4AVC HighProfile video.
Picture is broken using ffdshow, mplayer or KMP.
Look normal using CoreAVC 1.2.
Confirmed with rev 1133, and it plays fine with CoreAVC 1.3 too :) (You sould report this in the coreavc thread, because this is the 1st time when coreavc is able to decode something that ffdshow isn't :) )

No matter, if I remux to mkv. Does the whole file produce this, or only this splitted chunk?

PS: the AR is wrong ... :)

B.F.
23rd May 2007, 08:14
Confirmed with rev 1133, and it plays fine with CoreAVC 1.3 too :) (You sould report this in the coreavc thread, because this is the 1st time when coreavc is able to decode something that ffdshow isn't :) )
No matter, if I remux to mkv. Does the whole file produce this, or only this splitted chunk?
PS: the AR is wrong ... :)
This is not my file.
I was just surprised about ffdshow can't play it normally, so I report about this bug here.

akupenguin
23rd May 2007, 08:27
http://www.comq.ru/user/alex/pirates2/pirates2.mp4
I get artifacts when playing that in MPlayer, and I still get artifacts after remuxing to mkv, but if I demux to raw .264 and play that then it works. (had to demux with MP4Box; mkvextract refuses.) So... maybe a bug in lavc's AVC1 bitstream parser?

chros
23rd May 2007, 08:27
I cannot reproduce. 1080i MPEG2, core2duo, build 1133.
If it is sample specific, please upload a sample.
Thanks for the answer, I have tried with several content (mpg1, mpeg2 DVD, mpeg2 720p, mpeg2 1080i) and it works indeed.
Altough my MPC is sometimes crashing with the 1080i content (so maybe my Windows is rather old...)

Dr Pizza
23rd May 2007, 09:06
There aren't any x86_64 CPUs without MMX, there aren't any x86_64 OSs that don't support MMX (win64 allows MMX in userspace, just not in the kernel), and ffmpeg doesn't support using SSE* without using MMX.
But it doesn't work, which seems the more important consideration to me. Furthermore, IsProcessorFeaturePresent returns 0 ("not present") for MMX (for 64-bit apps; for 32-bit apps it returns 1 ("present")).

akupenguin
23rd May 2007, 09:26
Interesting. Then I wonder why no one has complained about x264, which uses cpuid exclusively and thus always enables MMX on win64.
I also wonder why MS decided not to support MMX. There are good reasons to use it: it's faster than SSE* in any case where your data doesn't fill a whole XMM register, e.g. processing a block <= 8 pixels wide.

Dr Pizza
23rd May 2007, 09:34
Interesting. I wonder why no one has complained about x264, which uses cpuid exclusively and thus always enables MMX on win64.

It's quite possible that the problem is that the MMX routines don't actually work properly in x64, hence the broken behaviour. I'm not sure at the moment which ones are actually getting called.

squid_80
23rd May 2007, 09:55
Furthermore, IsProcessorFeaturePresent returns 0 ("not present") for MMX (for 64-bit apps; for 32-bit apps it returns 1 ("present")).
Forget IsProcessorFeaturePresent. MS have obviously broken it on purpose to falsely report MMX as unavailable. As Akupenguin said the OS does support it, it's even possible to use it in inline assembly if you use Intel's compiler. There must be a bug in the MMX code that's causing it to crash. If you can get a crash report from virtualdub, post it here and I'll see if I can figure out what's going wrong.

LoRd_MuldeR
23rd May 2007, 10:43
Yes, once same was for me too, and I have reported to Haali, but I got no answer:
http://forum.doom9.org/showthread.php?p=1001143#post1001143

It obviously is a ffdshow problem, as "Beta-2a" works okay and current SVN is broken...

Peuj
23rd May 2007, 10:56
It obviously is a ffdshow problem, as "Beta-2a" works okay and current SVN is broken...

I don't reproduce your image issue but for me the sound is not sync with Haali renderer :confused:

Px
23rd May 2007, 11:28
It's quite possible that the problem is that the MMX routines don't actually work properly in x64, hence the broken behaviour.
Because of the move to the 64-bit ISA and the elimination of MMX, 3DNow! and the x87 FPU, Windows applications that include inline assembly code will not compile on Windows x64.
Early reports claimed that the operating system scheduler would not save and restore the x87 FPU machine state across thread context switches. Observed behavior shows that this is not the case: the x87 state is saved and restored, except for kernel-mode-only threads. Nevertheless, the most recent documentation available from Microsoft states that the x87/MMX/3DNow! instructions may not be used in long mode.
And also
AMD x64 stated very clear that MMX and others are not supported in x64 mode. SSE and up are x64 compatible according to AMD.

Dr Pizza
23rd May 2007, 12:30
There must be a bug in the MMX code that's causing it to crash.
It's not crashing; it's just rendering a black video (though occasionally a narrow band on the right edge appears showing what I believe to be some correctly decoded video). I'll have a look closer tonight to see if it's anything easy.

LoRd_MuldeR
23rd May 2007, 16:40
I don't reproduce your image issue but for me the sound is not sync with Haali renderer :confused:

Audio is perfectly in sync here, only the video is screwed... :(

// EDIT

ffdshow_rev1193_20070522_clsid.exe has the same problem!

Dr Pizza
23rd May 2007, 20:00
OK, it looks like I need to fill out more of the MMX intrinsics for VC++.

Once it's done in C/SSE2 intrinsics it would be sensible to replace it all with a .asm file to actually use MMX, I suppose (unless it really is going away), but for the time being it's much easier to write SSE2 intrinsics than mess about with stupid x86 asm, not least as I have no idea how parameter passing works.

chipzoller
23rd May 2007, 20:27
This may be considered an unimportant feature to be developed of ffdshow, but I'm wondering if any work is being done to strengthen the decoding of soft vobsubs? It currently DOES work however not very well. I've only dealt with vobsubs muxed in mkv with AVC content, but I've noticed that ffdshow will sometimes not decode if there is any backwards seeking, or if forward seeking is done without letting the video playback for a minute or thereabouts.

Leak
23rd May 2007, 23:07
Here's yet another update of my AviSynth filter, hopefully it's the last before checking this into SVN (modulo a documentation update):

* Fix aspect ratio handling (i.e. actually handle AR where it really matters)
* Don't create a new AviSynth clip in setOutFmt if frame size and AR are still the same (should make opening a file a bit quicker when the script takes long to initialize)
* Reset the "Enable buffering" checkbox when resetting the filter settings
* Quench aspect ratio DPRINTF spam

Patch (https://sourceforge.net/tracker/?func=detail&atid=867362&aid=1676882&group_id=173941) (against rev. 1193)
Download (http://leak.no-ip.org/AviSynth/ffdshow/ffdshow_AviSynth_rev1193_20070523.exe)
Documentation (http://leak.no-ip.org/AviSynth/ffdshow/docs/html/en/avisynth.htm) (still as out of date as last time, sorry)

@kurt: could you please try again? The aspect ratio should be correct now, or at least it was for me with that test clip of yours... :)

np: Mikkel Metal - Stand Guard (Brone And Wait)

kurt
23rd May 2007, 23:32
yeah, it works fine now! Thank you, Leak!

haruhiko_yamagata
24th May 2007, 00:13
I just noticed a bug with ffdshow and anamorphic video!

The video was encoded with Xvid at an resolution of 688x560 and a PAR auf 140:129.
The resulting video plays 100% fine at 4:3 in both MPlayer and VLC Media Player.

Unfortuantely this is what happens with MPC + ffdshow:
It works for me. Could you pin point the revision that this bug begins, if you have time?

// EDIT
Please uncheck "Allow output format changes during playback" and try again.

thuan
24th May 2007, 00:55
I just noticed a bug with ffdshow and anamorphic video!

The video was encoded with Xvid at an resolution of 688x560 and a PAR auf 140:129.
The resulting video plays 100% fine at 4:3 in both MPlayer and VLC Media Player.

I can't reproduce the problem here works fine as it should. 945G latest driver for Vista. MPC (latest drevil) tested with VMR and Haali. ffdshow rev.1193 by drevil.

Peuj
24th May 2007, 09:18
I don't reproduce your image issue but for me the sound is not sync with Haali renderer :confused:

It works for me. Could you pin point the revision that this bug begins, if you have time?

// EDIT
Please uncheck "Allow output format changes during playback" and try again.

Just to say that unchecking "Allow output format changes during playback" solves my issue with the sound not sync.

Thanks

Episode
24th May 2007, 11:49
@LoRd_MuldeR, I'm betting this has something to do with graphic card's drivers or operating system. It works fine for me with Nvidia 7800GS with 165.01 driverset under Windows XP.

haruhiko_yamagata
24th May 2007, 13:37
I would like to rename "Use overlaymixer" -> "Set pixel aspect ratio in output media type" and add tooltip hint
formerly called "Use overlay mixer".

Checked: Advanced connection method that includes the information about pixel aspect ratio (SAR) and interlacing will be used to connect with the down stream filter (usually video renderer).
Indeterminate state: First try advanced connection method, if failed try classic connection method.

and rename "HW deinterlacing"->"Set interlacing related flag in output media type"
formerly called "HW deinterlacing".

Send the interlacing related information obtained from the upper stream or ffdshow's internal decoders to the down stream.
Down stream filter (usually video renderer) will take this information and try to deinterlace.
This information will be used just for reference and the actual output depends on the implementation of the down stream filter.
Please fix my English and anything.

Leak
24th May 2007, 17:26
[...]hopefully it's the last before checking this into SVN (modulo a documentation update)
Yep, it sure was. Checked into SVN as revision 1194.

Since the only difference between my last build and this one is some whitespace changes in the source code and said documentation update I'm not going to post a new build. :)

np: Kettel - Mwoeb (Re: Through Friendly Waters)

fastplayer
24th May 2007, 17:32
Please fix my English and anything.
Small correction to the 1st tooltip:
Indeterminate state: First try advanced connection method, if it fails, then try classic connection method.
In the 2nd tooltip please don't start a new line after each period.

Eragon4ever
24th May 2007, 17:36
I would say:

Indeterminate state: First try advanced connection method, if it fails try classic connection method.

Leak
24th May 2007, 17:40
Agreed - those options really are named a bit awkward nowadays.

I would like to rename "Use overlaymixer" -> "Set pixel aspect ratio in output media type" and add tooltip hint

Hmmm...

Unchecked: Use classic connection method
Checked: Use an advanced connection method that includes pixel aspect ratio (SAR) and interlacing information when connecting with the next filter (usually a video renderer).
Indeterminate/grayed: Try advanced connection method first and fall back to classic connection method if it fails.

(formerly called "Use overlay mixer")

and rename "HW deinterlacing"->"Set interlacing related flag in output media type"

I would have called it "Set interlace flag in output media type":

Send interlacing related information obtained from the input stream or ffdshow's internal decoders to the next filter.
Some filters (like video renderers) will use this information to deinterlace the video if neccessary.

This is just for informing the downstream filters - the actual result will depend purely on the implementation of these filters.

(formerly called "HW deinterlacing")

Please fix my English and anything.

I put the "formerly called ..." at the end of the tooltip, since information about what the option does is probably more relevant. :)

EDIT: Whoa... 2 other replies while I was writing my reply... :D

np: Kettel - Whom (Re: Through Friendly Waters)

LoRd_MuldeR
24th May 2007, 21:15
Please uncheck "Allow output format changes during playback" and try again.

Yup, that fixes the problem :) :) :)

Do I still need to find the revision that introduced the bug?


@LoRd_MuldeR, I'm betting this has something to do with graphic card's drivers or operating system. It works fine for me with Nvidia 7800GS with 165.01 driverset under Windows XP.

I've got an ATI Radeon 9800 Pro, running with latest Catalyst 7.4 drivers under Windows XP.

GmorG McRoth
24th May 2007, 21:41
Anyone else noticed performance drop between
ffdshow_rev1187_20070520_clsid.exe and ffdshow_rev1193_20070522_clsid.exe
I may be wrong and my testing is unscientific (using task manager), but it seems like with ffdshow_rev1193_20070522_clsid.exe i'm getting about 3-7% more CPU usage (tested on mpeg1 file and divx5 file)

My CPU is prescott 3.0 GHz
GFX is GeForce FX 5700
I'm using MPC with Haali renderer.

Haali
24th May 2007, 23:01
Btw, why do you even need that overlay mixer checkbox? I offer both mediatypes (VideoInfo2 first and VideoInfo after it) in my filters, and it seems to work quite good without any need for tunable settings. As for interlaced output, you can easily change the interlace mode with a dynamic mt change. If the only thing that you change is dwInterlaceFlags, then it doesn't cause any problems.

haruhiko_yamagata
24th May 2007, 23:54
Yup, that fixes the problem :) :) :)OK, then I'll think what it means.
Do I still need to find the revision that introduced the bug?No.

LoRd_MuldeR
24th May 2007, 23:55
OK, then I'll think what it means.

:thanks:

haruhiko_yamagata
25th May 2007, 00:04
Btw, why do you even need that overlay mixer checkbox? I offer both mediatypes (VideoInfo2 first and VideoInfo after it) in my filters, and it seems to work quite good without any need for tunable settings. As for interlaced output, you can easily change the interlace mode with a dynamic mt change. If the only thing that you change is dwInterlaceFlags, then it doesn't cause any problems.I agree most people including me don't need "Use overlaymixer" check box. I think this check box is historical stuff. On Windows Xp, it's almost useless.
On Windows 2000, when system default renderer is selected, overlaymixer will be used if checked, while old renderer will be used if unchecked.

As for HW deinterlacing, it's required because the interlacing flag is not always reliable.

Anyway, thank you for coming here.

Peuj
25th May 2007, 11:09
URL http://www.comq.ru/user/alex/pirates2/pirates2.mp4
Mpeg4AVC HighProfile video.
Picture is broken using ffdshow, mplayer or KMP.
Look normal using CoreAVC 1.2.

Confirmed with rev 1133, and it plays fine with CoreAVC 1.3 too :) (You sould report this in the coreavc thread, because this is the 1st time when coreavc is able to decode something that ffdshow isn't :) )

No matter, if I remux to mkv. Does the whole file produce this, or only this splitted chunk?

I get artifacts when playing that in MPlayer, and I still get artifacts after remuxing to mkv, but if I demux to raw .264 and play that then it works. (had to demux with MP4Box; mkvextract refuses.) So... maybe a bug in lavc's AVC1 bitstream parser?

Hi,

So it's a libavcodec problem? does somebody has report the problem to the ffmpeg team?

Thunderbolt8
26th May 2007, 03:03
anything like multithreading/multi-cpu support planned for ffdshow ?

haruhiko_yamagata
26th May 2007, 05:00
@fastplayer, Eragon4ever, Leak
Thank you. Committed as rev 1200.

Jeremy Duncan
26th May 2007, 06:07
Hello,

I'm glad to see Leak's tweak added to FFDshow.

I just downloaded and installed FFDshow version 1198, clsid.
I then setup FFDshow as I usually do.
I set output to yv12, input to all supported raw video.
I then used only avisynth, and set the osd to show the nessessary frames, so I could tweak the new setting.
But if showed no frame change.

http://www.imagehosting.com/out.php/t682121_Whahappen.jpg (http://www.imagehosting.com/out.php/i682121_Whahappen.jpg)

SetMemoryMax(1024)
FluxSmoothT(3)
ColorMatrix(Mode="Rec.601->Rec.709",scaling=2,threads=2)
MT("SeeSaw(NRlimit=0, NRlimit2=5, Sstr=2.40, Szp=1, Slimit=50, Sdamplo=16, Spower=1, sootheT=95, SdampHi=39)",3)
lanczosresize(1680, 1050)

I used the settings in post # 2
Link (http://forum.doom9.org/showthread.php?t=115727)

The frontend I used was MPC, the one I lined to in the link above.

Previously, with Leak's other avisynth tweaked ffdshow, there was a few frames shown ahead and back, so I know that it shouldn't be zero.

Please fix this leak. :)

Edit. Oh, the movie was blade 1, the ntsc sddvd version.
If you look at page 6 in the link it will show you previous results using Leak's tweak.

multiblitz
26th May 2007, 10:03
Has anyonw looked into this bug:

http://sourceforge.net/tracker/index.php?func=detail&aid=1695996&group_id=173941&atid=867360

"When I build a graph with Haali-splitter, VC-1 codec from Microsoft, I have
a fine playback at 24 fps (HD-DVD-rip from my own Discs onto my media,
server, playing *.evo).

When I integrate ffdshow into the chain, re-clock reports not only 30fps,
but audio and video are heavily out of sync. It does not matter if I use
ffdshow as raw-postprocessor or if I use ffshow as VC-1-decoder as well. As
soon as ffdshow is in the video-chain, video and audio is out of sync
(beta2 release). "

?

If not, could you please be so kind ? I would love to use ffdshow as my playback/pq-tuning solution as well for HD-DCD, as my cinema has a pretty big screnn and ffdshow really shines...

As haali and all other active members are together here: Would it be possible to taggle this bug together ?

haruhiko_yamagata
26th May 2007, 10:52
As haali and all other active members are together here: Would it be possible to taggle this bug together ?
I looked into this, I found the timestamps are set to increase 33.36ms (should be 41.6ms) for every frame.
I found no interlacing related flags are set for either for each samples or connection info.

I looked into livavcodec's vc1 decoder, it does not seem to find any information that can fix this issue. Perhaps I passed over it or it's not implemented (stored as "reserved").

But in fact MS decoder can decode properly connected to Haali's splitter.

When microsoft's DMO is called from ffdshow, the DMO does not return any usefull information.

When ffdshow is connect to the DMO's output pin, it does not send any usefull information.

So the information is hidden in the stream, but I cannot find it.
Haali, any advice is wellcome. Should I go to your thread?

LoRd_MuldeR
26th May 2007, 11:11
Please uncheck "Allow output format changes during playback" and try again.

I noticed that this (http://forum.doom9.org/showpost.php?p=1006288&postcount=1281) bug is related to "Allow output format changes during playback" and "Set pixel aspect ratio in output media type". If I disable both of them, I get 'correct' video but without any pre-scaling applied. So it's not 4:3, as it should be. If I check "Set pixel aspect ratio in output media type" only, then I still get no pre-scaling! If I check "Allow output format changes during playback" only, then I get the bug, where the lower half of the video frame is filled with crap. Only both options enabled give good result!

haruhiko_yamagata
26th May 2007, 12:28
@LoRd_MuldeR
I still cannot reproduce.
I have added a small work around for this issue.
Please see if rev 1203 works.
If I check "Set pixel aspect ratio in output media type" only, then I still get no pre-scaling!
Output format change occurs just before the first frame is shown because AVI splitters do not give the SAR info in the connection process. So technically it's "during playback". I know it's not very user friendly but how should it be explained in the dialog?

LoRd_MuldeR
26th May 2007, 12:41
Output format change occurs just before the first frame is shown because AVI splitters do not give the SAR info in the connection process.

Thank you for looking into that issue.
I will test your workaround as soon as there's a new build available...

LoRd_MuldeR
26th May 2007, 15:11
@LoRd_MuldeR
I still cannot reproduce.
I have added a small work around for this issue.
Please see if rev 1203 works.

Yes, in rev 1203 I cannot reproduce the error any more :) :) :)

Nevertheless I still need to check both options ("Allow output format changes during playback" and "Set pixel aspect ratio in output media type") to make the video renderer pre-scale the video to the required aspect of 4:3. This combination worked with previous build too.

haruhiko_yamagata
26th May 2007, 15:30
Yes, in rev 1203 I cannot reproduce the error any more :) :) :)

Nevertheless I still need to check both options ("Allow output format changes during playback" and "Set pixel aspect ratio in output media type") to make the video renderer pre-scale the video to the required aspect of 4:3. This combination worked with previous build too.
Thank you for testing.
It's OK, because it's the default settings. On beta2a, it was necessary to change "Allow output format changes during playback" from intermediate state to checked.

Haali
26th May 2007, 19:38
I looked into this, I found the timestamps are set to increase 33.36ms (should be 41.6ms) for every frame.
I found no interlacing related flags are set for either for each samples or connection info.

I looked into livavcodec's vc1 decoder, it does not seem to find any information that can fix this issue. Perhaps I passed over it or it's not implemented (stored as "reserved").

But in fact MS decoder can decode properly connected to Haali's splitter.

When microsoft's DMO is called from ffdshow, the DMO does not return any usefull information.

When ffdshow is connect to the DMO's output pin, it does not send any usefull information.

So the information is hidden in the stream, but I cannot find it.
Haali, any advice is wellcome. Should I go to your thread?
The samples I have here have 30000/1001 fps interlaced set in the sequence header. I didn't investigate further, but I guess the stream is actually progressive with rff flags set similar to mpeg-2 case. The DMO Wrapper + DMO then ignore the interlaced part and output 24000/1001 fps progressive video.

Edit: I've checked the frame headers, and the streams indeed use TFF/RFF flags. I'll copy them into sample properties, and adjust timestamps slightly to account for RFF, but that's all I can do in the splitter.

haruhiko_yamagata
26th May 2007, 22:30
The samples I have here have 30000/1001 fps interlaced set in the sequence header. I didn't investigate further, but I guess the stream is actually progressive with rff flags set similar to mpeg-2 case. The DMO Wrapper + DMO then ignore the interlaced part and output 24000/1001 fps progressive video.

Edit: I've checked the frame headers, and the streams indeed use TFF/RFF flags. I'll copy them into sample properties, and adjust timestamps slightly to account for RFF, but that's all I can do in the splitter.
Thank you very much. Currently RFF is not implemented in ffdshow, but that's our job to do:).

_xxl
27th May 2007, 12:12
Is libavcodec compiled with mingw gcc 4.2.0 broken?
http://i11.tinypic.com/4kk4136.jpg
http://i18.tinypic.com/5yu20xx.jpg
Maybe it doesn't crash if SSE2 is not used?

haruhiko_yamagata
27th May 2007, 13:32
Is libavcodec compiled with mingw gcc 4.2.0 broken?
Maybe it doesn't crash if SSE2 is not used?
Sorry for that. The message box should be hidden. I have changed it from AV_LOG_ERROR to AV_LOG_WARNING.
It doesn't crash unless SSE2 is used.

thuan
27th May 2007, 13:58
In the latest drevil's build (r.1210), liba52 and libdts don't work they are not loaded and showed as not found in the about page -> version details. My computer is a vista core2duo.

clsid
27th May 2007, 14:32
Sorry for that. The message box should be hidden. I have changed it from AV_LOG_ERROR to AV_LOG_WARNING.
It doesn't crash unless SSE2 is used.
Could you perhaps add an option (in ffdshow.ax) to write these messages (all av_log_* types) to text file (%TEMP%\ffdshow.log)? I think that would be useful.

_xxl
27th May 2007, 15:56
(r.1210)
Removed.
New test build.Fixed SSE2 encoding.Patch by clsid.
MinGW GCC 4.2.0 is needed to compile libavcodec.
Please test it.
http://rapidshare.com/files/33688376/ffdshow_rev1213_20070527_xxl.exe.html
http://rapidshare.com/files/33688474/sse2.patch.html

JarrettH
27th May 2007, 18:35
How about a new beta?:eek::cool:

multiblitz
27th May 2007, 18:42
Ok, I uploaded a trailer in EVO:

http://www.megaupload.com/?d=8EGB8DWJ

Haali, If it helps, here is a sample I uploaded which comes form a HD-DVD.

clsid
28th May 2007, 14:45
Here are two different builds of libavcodec. Everyone please test the performance for both encoding and decoding.

http://rapidshare.com/files/33863226/libavcodectest.rar.html

LoRd_MuldeR
28th May 2007, 17:18
Here are two different builds of libavcodec. Everyone please test the performance for both encoding and decoding.

http://rapidshare.com/files/33863226/libavcodectest.rar.html

H.264 playback performance:

[libavcodec_404.dll]
User: 108s, kernel: 20s, total: 129s, real: 136s, fps: 88.2, dfps: 83.8
User: 107s, kernel: 22s, total: 129s, real: 136s, fps: 88.0, dfps: 83.7

[libavcodec_420.dll]
User: 104s, kernel: 25s, total: 129s, real: 136s, fps: 88.0, dfps: 83.8
User: 104s, kernel: 25s, total: 129s, real: 136s, fps: 88.3, dfps: 83.8

Thunderbolt8
29th May 2007, 20:44
is it somehow in the near future planned to establish multi core/multi threading support with ffdshow tryouts ? if no, why not ?

rack04
29th May 2007, 21:08
I have just installed "ffdshow_rev1220_20070529_clsid" but when I check the Media Player Classic filters it doesn't show FFDShow. Also I don't see the icons in the task bar. Can someone explain what I'm doing wrong?

http://i11.photobucket.com/albums/a199/rack04/untitled-11.jpg

http://i11.photobucket.com/albums/a199/rack04/untitled2-3.jpg

clsid
29th May 2007, 22:01
is it somehow in the near future planned to establish multi core/multi threading support with ffdshow tryouts ? if no, why not ?
ffdshow uses libavcodec for decoding. That is not yet multi threaded. So harass the FFmpeg devs :p


@rack04, seems like the ffdshow filter has not been registered. Re-install it. Also try disabling the whitelist. MediaInfo is not yet in the list.

rack04
29th May 2007, 22:11
I just posted the Mediainfo so you would know what kind of file I'm dealing with. I tried reinstall and it still doesn't seem to register the ffdshow filter. I have no problems getting this to work on my home pc but this is on my work pc.

fastplayer
29th May 2007, 22:34
I just posted the Mediainfo so you would know what kind of file I'm dealing with. I tried reinstall and it still doesn't seem to register the ffdshow filter. I have no problems getting this to work on my home pc but this is on my work pc.
AFAIK, admin rights are needed for the filter to be registered. You sure you're logged in as an admin on your work PC?

rack04
29th May 2007, 22:50
AFAIK, admin rights are needed for the filter to be registered. You sure you're logged in as an admin on your work PC?

Good call. Thanks probably it.

_xxl
30th May 2007, 07:55
MediaInfo is not yet in the list.

Maybe soon h_yamagata will commit this patch:
ffdshow: compatibility manager.
This will solve the list issue.

Dr Pizza
30th May 2007, 09:44
OK, I know it makes the compiler output very chatty (about 8000 warnings for the entire thing), but will anyone be upset if I commit changes that set warning level 4 with 64-bit portability warnings on every project?

Also, I would like to add the projects that *don't* get built in VC++ for 32-bit builds into the project; if I add them but disable them for 32-bit (so they only build in VC++ when a 64-bit build is performed) would that upset anyone?

_xxl
30th May 2007, 11:32
Also, I would like to add the projects that *don't* get built in VC++ for 32-bit builds into the project; if I add them but disable them for 32-bit (so they only build in VC++ when a 64-bit build is performed) would that upset anyone?
I would prefer to add some x64 binary files to svn.
FFmpeg and mplayer are not included in 2003(5) solutions file
because they shouldn't be compiled by msvc.The same for x264 and xvidcore.Also can you please try to compile for x64 libavcodec, libmplayer ,x264 and xvidcore with mingw gcc 4.2.0?

Keepitsimple
30th May 2007, 11:57
I dont know if this is the right place to ask. But is somebody working on dual/quad core support for decoding h.264?

fastplayer
30th May 2007, 11:59
^Look a few posts above yours or use the search...

clsid
30th May 2007, 11:59
OK, I know it makes the compiler output very chatty (about 8000 warnings for the entire thing), but will anyone be upset if I commit changes that set warning level 4 with 64-bit portability warnings on every project?

Also, I would like to add the projects that *don't* get built in VC++ for 32-bit builds into the project; if I add them but disable them for 32-bit (so they only build in VC++ when a 64-bit build is performed) would that upset anyone?
Maybe it is better to make a copy of the current solutions. Then you can change whatever you want. Once all x64 problems have been resolved, then we can merge the solutions together again.

_xxl
30th May 2007, 12:18
But is somebody working on dual/quad core support for decoding h.264?
Please ask the ffmpeg developers again.

Inventive Software
30th May 2007, 12:18
H.264 decoding uses libavcodec, developed by FFmpeg and many others. You want multicore, bug those developers, not us! :p We just implement libavcodec in DirectShow. ;)



Suggestion for the installer: have a sub-option on the codecs selection page, so the user can choose to use WMV or libavcodec, for WMV7, WMV8, WMV9, WVC1, *if* Microsoft codecs are installed. This is also assuming it's relatively easy to check whether the codecs are installed.....

Has anything come of this? Would be nice to configure in the installer / give people the opportunity to choose between MS WMV9 and libavcodec, without having to install ffdshow and configure it from the shortcuts.

Dr Pizza
30th May 2007, 12:38
I would prefer to add some x64 binary files to svn.
I don't follow you; binary files of what?

FFmpeg and mplayer are not included in 2003(5) solutions file
because they shouldn't be compiled by msvc.The same for x264 and xvidcore.
OK, but (a) I am building them in MSVC at the moment (because it appears to work, in general, and because MSVC is generally pretty helpful at pointing out things that aren't safe in 64-bit code) (b) even if I were building in gcc, I still want to use MSVC for editing and whatnot (c) I don't think they can be built in gcc at the moment because AFAIK there's no stable version that has a 64-bit PE target. It's a choice between MSVC and Intel (and I don't have Intel's compiler and can't really justify the expense of it).

So it's MSVC or nothing, I think. And for the basic testing I've performed so far, MSVC looks like it's working tolerably well; the files I've got basically work (random selection of xvid/divx and some H.264, and I think an FLV1 or two). At some point I will try to look at drdivx some time to see if it has any important ffmpeg MSVC changes (it would be nice to work around some of the C99isms that MSVC can't handle).

It would be nice to have a test suite containing representative samples of all the different codecs and significant variations thereof.

Also can you please try to compile for x64 libavcodec, libmplayer ,x264 and xvidcore with mingw gcc 4.2.0?
If you can tell me where to get a suitable compiler, sure. I didn't think that x64 PE was going to be a target for gcc until the 4.3 branch.

Dr Pizza
30th May 2007, 12:44
Maybe it is better to make a copy of the current solutions. Then you can change whatever you want. Once all x64 problems have been resolved, then we can merge the solutions together again.
My fear with doing that is that when new source files are added to the projects (which happens quite often) they would not get added to the x64 project files at the same time which would probably cause surprises and confusion.

clsid
30th May 2007, 13:15
I usually update the ICL9 project files afterwards too. It's not a big problem. Whenever there are vcproj files in the update list when I update my local SVN, then I run a compare with UltraEdit/UltraCompare.

Dr Pizza
30th May 2007, 13:21
OK, that should work out OK then. I'll try to get some _64 VS2005 project files in sometime this week.

_xxl
30th May 2007, 13:25
x86-64

Can ffmpeg be compiled for x86-64 by GCC or not?

celtic_druid
30th May 2007, 13:35
For *nix, yes. mingw64 I think is still a bit of a ways off, although there were some patches for binutils and gcc.

ICL is available as a 30day demo, although in the past when I have tried it for ffdshow x64 it often resulted in crashes anyway.

Dr Pizza
30th May 2007, 13:39
Can ffmpeg be compiled for x86-64 by GCC or not?
In Linux, yes, I believe it can, but AFAIK there's no x64 PE target for gcc/binutils at the moment.

I know about the icl 30 day demo, but it's not really a good option, since I expect it will take longer than 30 days to get ffdshow 100% happy in x64. I also don't know how reliable icl is. I hear it's much better these days, but it used to have an extraordinarily buggy backend that would consistently do such exciting things as omitting to emit entire functions because it incorrectly believed them to be uncalled. It's not really something I want to have to battle with.

squid_80
30th May 2007, 14:20
I recently gave up the battle of converting inline assmembly to external asm/intrinsics for compiling x64 projects with vs2005 and just use icl instead. The assembly code still needs to be changed but it's a lot less work and headaches.

Delerue
30th May 2007, 19:19
I just posted the Mediainfo so you would know what kind of file I'm dealing with. I tried reinstall and it still doesn't seem to register the ffdshow filter. I have no problems getting this to work on my home pc but this is on my work pc.

Maybe CoreAVC has high priority over the FFDShow filter. Any other format (xVid, Divx, etc.) can be open using FFDShow? If 'yes', you may try to change the 'merity' in 'DirectShow Control', inside the 'FFDShow video decoder configuration'. Besides, are you sure that 'H.264/AVC' filter is enable in 'Codecs', inside the 'FFDShow video decoder configuration'?

Jeremy Duncan
30th May 2007, 19:24
Hello,

I'm glad to see Leak's tweak added to FFDshow.

I just downloaded and installed FFDshow version 1198, clsid.
I then setup FFDshow as I usually do.
I set output to yv12, input to all supported raw video.
I then used only avisynth, and set the osd to show the nessessary frames, so I could tweak the new setting.
But if showed no frame change.

http://www.imagehosting.com/out.php/t682121_Whahappen.jpg (http://www.imagehosting.com/out.php/i682121_Whahappen.jpg)

SetMemoryMax(1024)
FluxSmoothT(3)
ColorMatrix(Mode="Rec.601->Rec.709",scaling=2,threads=2)
MT("SeeSaw(NRlimit=0, NRlimit2=5, Sstr=2.40, Szp=1, Slimit=50, Sdamplo=16, Spower=1, sootheT=95, SdampHi=39)",3)
lanczosresize(1680, 1050)

I used the settings in post # 2
Link (http://forum.doom9.org/showthread.php?t=115727)

The frontend I used was MPC, the one I lined to in the link above.

Previously, with Leak's other avisynth tweaked ffdshow, there was a few frames shown ahead and back, so I know that it shouldn't be zero.

Please fix this leak. :)

Edit. Oh, the movie was blade 1, the ntsc sddvd version.
If you look at page 6 in the link it will show you previous results using Leak's tweak.

There's another problem. When I check osd, and cpu load. The cpu load is at zero when I play a movie.
When I adjust the back ahead during movie playback, I see the movie jutter like it's adjusting frames, so I think that leak's tweak is fine, but something is wrong with the osd.

I'm using the clsid 1220 version.

_xxl
30th May 2007, 19:43
Question about parallelizing h264 decoding:
http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2007-May/029046.html
Or this?
http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2007-May/029712.html

alph@
31st May 2007, 20:25
in the ffdshow tryouts clsid 1220 in the avisynth filters there is a new parameter '3:2pulldown' with three choices; With what is it linked, and with a script 'seesaw' what should i use ,'ignore pulldown-apply pulldown-smooth timestamps.

kurt
1st June 2007, 06:00
@ alph@: it's part of the new avisynth patch introduced by Leak. Read the doku (http://leak.no-ip.org/AviSynth/ffdshow/docs/html/en/avisynth.htm) for more informations.

Leak
1st June 2007, 12:35
@ alph@: it's part of the new avisynth patch introduced by Leak. Read the doku (http://leak.no-ip.org/AviSynth/ffdshow/docs/html/en/avisynth.htm) for more informations.
Ummm... the documentation is now living here (http://ffdshow-tryout.sourceforge.net/html/en/avisynth.htm), and it's linked directly from the project's front page... ;)

(Or, in other words, I'm not totally sure the page on my server is current... :D)

np: Secede - Vega Libre (Vega Libre)

Leak
1st June 2007, 14:53
Previously, with Leak's other avisynth tweaked ffdshow, there was a few frames shown ahead and back, so I know that it shouldn't be zero.

Please fix this leak. :)
Well, I would - but I'm afraid it just plain works correctly for me with clsid's 1220 build:

Screenshot of MPC running your script on an NTSC DVD (http://leak.no-ip.org/Stuff/ffdshow_AviSynth_1220.png)

I'm afraid I can't really fix what I can't reproduce...

(Do note that some of the back values that my earlier builds reported were quite bogus - it should now be 0 most of the time, as AviSynth's internal cache is usually handling those requests...)

On the other hand, I've found that resizing in AviSynth sometimes causes crashes on open with Haali's renderer, but it works fine with all other renderers - even with MPC's EVR renderer on Windows XP, which is probably the most untested combination.

Also, since just playing a DVD using ffdshow as a decoder without even turning on/using AviSynth produces garbage until the AR changes from 4:3 to 16:9 I'm wondering if there isn't either a bug in Haali's renderer or at least a bug in ffdshow itself that only manifests when using Haali's renderer...

np: Håkan Lidbo - Half Man Half Lobster (Dunka Dunka)

Leak
1st June 2007, 16:01
@Haruhiko:
I gave your TS file with the aspect ratio change in it a try, but I really doubt it's my AviSynth filter that causes this, as the aspect ratio doesn't change with it disabled either.

It does, however, change as soon as you check "Video Frame/Keep Aspect Ratio" in MPC, so maybe this has something to do with how MPC uses Haali's renderer?

Oh, and this is what I get when I open my Ghost In The Shell DVD while using Haali's renderer with ffdshow:

http://leak.no-ip.org/Stuff/Haali_DVD_crapshot.png

(The logo in the lower part obviously is from my playing your TS file earlier...)

Again, this has nothing to do with my filter, except that when I use my DVD IVTCing AviSynth script that always resizes everything to 800x600 4:3 the picture is fine...

np: Håkan Lidbo - Baksug (Dunka Dunka)

haruhiko_yamagata
1st June 2007, 16:32
@Haruhiko:
I gave your TS file with the aspect ratio change in it a try, but I really doubt it's my AviSynth filter that causes this, as the aspect ratio doesn't change with it disabled either.

It does, however, change as soon as you check "Video Frame/Keep Aspect Ratio" in MPC, so maybe this has something to do with how MPC uses Haali's renderer?

"Video Frame/Keep Aspect Ratio" is checked. It's the default behavior of MPC.
The AR changes without AviSynth filter or with old AviSynth filter.
With your AviSynth filter on, the AR changes once but the next moment the AR goes back to the former AR.
I hope this information help you to reproduce.

(The sample we are talking about is "test.ts" that has been discussed here. The AR changes during playback.)

Leak
1st June 2007, 16:54
"Video Frame/Keep Aspect Ratio" is checked. It's the default behavior of MPC.
The AR changes without AviSynth filter or with old AviSynth filter.
With your AviSynth filter on, the AR changes once but the next moment the AR goes back to the former AR.
I hope this information help you to reproduce.

(The sample we are talking about is "test.ts" that has been discussed here. The AR changes during playback.)
Sorry, but I still can't reproduce this.

Using Casimir666's latest MPC release (with "Keep Aspect Ratio " and "Touch Window From Inside" checked), clsid's rev. 1220 ffdshow build (with only "Subtitles" and "AviSynth" checked), Haali's latest renderer and AviSynth 2.5.7 (+ tsp's updated multithreading-supporting avisynth.dll) it simply works here with the following script:

Subtitle(String(ffdshow_dar_x) + ":" + String(ffdshow_dar_y))

It starts out as 4:3, then switches to 16:9, which is also subtitled into the upper left corner of the picture - just as it should be.

By the way - setting the "Overlay aspect ratio" to anything but "Default" makes the image crap out with Haali's renderer just like my DVD did when opening the file, while adjusting it while the file is playing will suddenly fix this... :confused:

np: Anders Ilar - Ludwijka 6 (Ludwijka Extended Visit)

haruhiko_yamagata
1st June 2007, 17:11
Sorry, but I still can't reproduce this.

Using Casimir666's latest MPC release (with "Keep Aspect Ratio " and "Touch Window From Inside" checked), clsid's rev. 1220 ffdshow build (with only "Subtitles" and "AviSynth" checked), Haali's latest renderer and AviSynth 2.5.7 (+ tsp's updated multithreading-supporting avisynth.dll) it simply works here with the following script:

Subtitle(String(ffdshow_dar_x) + ":" + String(ffdshow_dar_y))

It starts out as 4:3, then switches to 16:9, which is also subtitled into the upper left corner of the picture - just as it should be.
Your script says 16:9, but the screen remain 4:3. I use MPC's internal source filter/splitter, if it helps.

Leak
1st June 2007, 17:26
Your script says 16:9, but the screen remain 4:3. I use MPC's internal source filter/splitter, if it helps.
I'm afraid it works the same with both Haali's splitter and MPC's internal one.

My filter always sets a new DAR on the TffPict it returns at the end of process() (which it obviously got right as can be seen by the subtitle), so I honestly can't think of what else I could do to make it work correctly on your machine... :/

np: The Cinematic Orchestra - To Build A Home (Ma Fleur)

cc979
1st June 2007, 18:55
i get a weird half-screen when i enable osd within haali render

Jeremy Duncan
1st June 2007, 20:21
________ Software ________

Media Player Classic (http://prdownloads.sourceforge.net/guliverkli/mpc2kxp6490.zip?download)
Avisynth (http://downloads.sourceforge.net/avisynth2/Avisynth_257.exe)
FFDshow (http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_rev1222_20070601_xxl.exe?modtime=1180719225&big_mirror=0)
MT (http://www.avisynth.org/tsp/MT_07.zip)
Removegrain 0.9 (http://home.pages.at/kassandro/RemoveGrain/RemoveGrain.zip)
Removegrain 1.0 (http://home.arcor.de/kassandro/RemoveGrain/RemoveGrain.rar)
MT_Masktools (http://manao4.free.fr/masktools-v2.0a30.zip)
Masktools (http://manao4.free.fr/MaskTools-v1.5.8.zip)
Colormatrix (http://web.missouri.edu/~kes25c/ColorMatrixv21.zip)
Fluxsmooth (http://avisynth.org/warpenterprises/files/fluxsmooth_25_dll_20040729.zip)
Seesaw (http://files.filefront.com//;7666109;;/)

Media player classic
http://aycu10.webshots.com/image/16649/2002426417056984169_th.jpg (http://allyoucanupload.webshots.com/v/2002426417056984169)

Nvidia codec
http://aycu36.webshots.com/image/15035/2002488869998518792_th.jpg (http://allyoucanupload.webshots.com/v/2002488869998518792)

FFDshow Audio Decoder
http://aycu36.webshots.com/image/15035/2002448764943314098_th.jpg (http://allyoucanupload.webshots.com/v/2002448764943314098)


FFDshow
http://aycu31.webshots.com/image/16590/2002651641347265222_th.jpg (http://allyoucanupload.webshots.com/v/2002651641347265222)

Result
http://aycu35.webshots.com/image/16234/2002619037585013009_th.jpg (http://allyoucanupload.webshots.com/v/2002619037585013009)


________ SeeSaw Avisynth ________

Codecs: All supported
Avisynth: YV12 checked, Add FFdshow Video source checked

SetMemoryMax(1024)
FluxSmoothT(3)
ColorMatrix(Mode="Rec.601->Rec.709",scaling=2,threads=2)
MT("SeeSaw(NRlimit=0, NRlimit2=5, Sstr=2.40, Szp=1, Slimit=50, Sdamplo=16, Spower=1, sootheT=95, SdampHi=39)",3)
lanczosresize(1280, 800)

Queue & Output: Queue output samples checked
Output: YV12 checked

________ FFdshow Audio Decoder ________
- Check OSD,and Check Jitter.
- Close FFdshow Audio Decoder, and play a movie.
- While the movie is playing. You'll the the word "Jitter" in the top left of the screen.
Beside the word Jitter is a number. Write this number down, or remember what it was.
- Open the FFdshow Audio decoder again.
Check the Delay Tab. Set each box to the number you wrote down in the previous step.


Leak. To reproduce the error I'm getting.
Please use the plugins I've included, and the software I've linked too.
Use the settings in the pictures.
I see you've got other colorspaces checked in the Avisynth tab, and are using blackmanresize.
Please copy the settings I've posted. :)

It's not giving me the same results as your getting.

Edit. I'm using vista premium.

Leak
1st June 2007, 21:58
Edit. I'm using vista premium.
Well, let's see... I don't have the nVidia decoder and I don't have Vista, nor do I want to have or "acquire" any of them.

But even when I try to replicate your settings as closely as possible (using Gabest's standalone MPEG2 decoder instead of the nVidia one, and Windows XP Professional), I don't get that behaviour. It should especially not say "requested none" there, as that would mean that no frame was requested from AviSynth by my filter, which should only be possible if your script doesn't do use the input video at all, like if you use "Version()" as your script.

There's several things you can try:

* Use as few filters as possible that don't come with ffdshow, i.e. use it's own MPEG2 decoder (preferable libmpeg2) instead of nVidia's

* Select a definite renderer in MPC instead of "System default", or at least tell me which one is listed in the "Filters" submenu of MPC's context menu

* Try a simpler script, i.e. either comment out everything in it and add stuff back line by line, or just use "Info()" as a script for a start

* Start your AviSynth script with "#debug" as the first line, run DebugView (http://www.microsoft.com/technet/sysinternals/Miscellaneous/DebugView.mspx), then re-open MPC and play your DVD for a bit, use "Save as..." in DebugView to save it's log and mail it to me (leak (at) gmx (dot) at)

* Start your DVD, then run Graphedit (http://leak.no-ip.org/AviSynth/ffdshow/Graphedit_060304.zip) (which is a tiny part of Microsoft's huge Platform SDK), select "Connect to remote graph..." in the file menu, choose the hopefully only graph in the list and post a screenshot of the result.

Sorry, but that's the only advice that I can give you...

np: Slicker - Knock Me Down Girl (Telefon Tel Aviv Remix) (Telefon Tel Aviv Remixes Compiled)

haruhiko_yamagata
1st June 2007, 23:45
I'm afraid it works the same with both Haali's splitter and MPC's internal one.

My filter always sets a new DAR on the TffPict it returns at the end of process() (which it obviously got right as can be seen by the subtitle), so I honestly can't think of what else I could do to make it work correctly on your machine... :/

OK, then I'll try on it.

Jeremy Duncan
2nd June 2007, 01:42
* Use as few filters as possible that don't come with ffdshow, i.e. use it's own MPEG2 decoder (preferable libmpeg2) instead of nVidia's

I used a few filters.
I tested casimirs Media Player Classic, and used the last one gabest made.
With casimirs I used vrm9 renderless and vista evr.
I used dscaler video codec and ffdshow audio codec on casimirs mpc, and the mpc video codec and the ffdshow audio codec on gabest's mpc.
I tested Zoomplayer pro with the ffdshow audio decoder, vmr9 windowless, and the dscaler video codec.

* Select a definite renderer in MPC instead of "System default", or at least tell me which one is listed in the "Filters" submenu of MPC's context menu
I tested vmr9 renderless, vmr9 windowless, and vista evr.

* Try a simpler script, i.e. either comment out everything in it and add stuff back line by line, or just use "Info()" as a script for a start

* Start your AviSynth script with "#debug" as the first line, run DebugView (http://www.microsoft.com/technet/sysinternals/Miscellaneous/DebugView.mspx), then re-open MPC and play your DVD for a bit, use "Save as..." in DebugView to save it's log and mail it to me (leak (at) gmx (dot) at)
I'll post the files below.

* Start your DVD, then run Graphedit (http://leak.no-ip.org/AviSynth/ffdshow/Graphedit_060304.zip) (which is a tiny part of Microsoft's huge Platform SDK), select "Connect to remote graph..." in the file menu, choose the hopefully only graph in the list and post a screenshot of the result.
It showed no graph on the list for both mpc versions and zoom player pro.

Here's a solution, but I don't know how to do it.


I am unable to connect to remote graph from my application after installing vista sdk. Everything was working fine till i installed vista sdk. after installing vista sdk, when i click on connect to remote graph i get the message box diaplaying the pid and IFiltergraph id. but when i hit OK, nothing happens. I registered the proppage.dll file also. but still its not working. can any one please help me. Thanks.

In Vista, the proxy/stub code used by the "remote graph" feature was moved from quartz.dll to proppage.dll. That means, on Vista you need to register the Vista SDK version of proppage.dll. But on a pre-Vista OS, do not register that version of proppage.dll, because then you'll get the wrong proxy/stub version.

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1544377&SiteID=1

Here's those debug logs
http://files.filefront.com//;7669173;;/

Jeremy Duncan
2nd June 2007, 02:34
Here's the vista version of proppage.dll, but I don't know how to register it with Regsvr32.
May I ask for some help. Please.

http://files.filefront.com//;7669395;;/

Jeremy Duncan
2nd June 2007, 07:55
* Start your DVD, then run Graphedit (http://leak.no-ip.org/AviSynth/ffdshow/Graphedit_060304.zip) (which is a tiny part of Microsoft's huge Platform SDK), select "Connect to remote graph..." in the file menu, choose the hopefully only graph in the list and post a screenshot of the result.


These three pictures used Casimir666's Media Player Classic, and Vista evr.
They all used the seesaw setting I posted.

1, used the basic video decoder included with MPC.
http://aycu22.webshots.com/image/17621/2004944463552464646_th.jpg (http://allyoucanupload.webshots.com/v/2004944463552464646)

2, used the DScaler video codec.
http://aycu01.webshots.com/image/18640/2004957278732338383_th.jpg (http://allyoucanupload.webshots.com/v/2004957278732338383)

3, used the Nvidia video codec
http://aycu10.webshots.com/image/17809/2004918968192889299_th.jpg (http://allyoucanupload.webshots.com/v/2004918968192889299)

To use graphedit, I had to run this: I opened accessories, then ran command prompt as admin. I then put the .dll into system32 and ran this in the open cmd prompt:
regsvr32.exe %systemroot%\System32\proppage.dll

I tried running graphedit with Zoomplayer, and it didn't work.

Leak
2nd June 2007, 09:30
Here's the vista version of proppage.dll, but I don't know how to register it with Regsvr32.
May I ask for some help. Please.

http://files.filefront.com//;7669395;;/
Well, as far as I can see from those logs the filter is working as it should, it's just that the info in the OSD is bogus...

It would have been nice if you had started DebugView before even opening your player app to see what happens when the filter connects, but those files at least show that only the OSD seems to be whack... but unless I find a way to reproduce this I'm not sure what to do against it... :(

np: Mouse On Mars - Blood Comes (Radical Connector)

DeepBeepMeep
2nd June 2007, 11:40
Thank you very much. Currently RFF is not implemented in ffdshow, but that's our job to do:).


Good to read that Haali and the ffdshow team have progressed on this issue ! As long as the IVTC flags are given by the the splitter and the timestamps are properly set, there isn't any need to implement RFF (that is to repeat fields in the output). This flag is only useful to display progressive content on an interlaced display (by turning a 24fps progressive movie into a 30 fps interlaced movies). The only thing that may be required is to further adjust the timestamps if RFF is detected.

Leak
2nd June 2007, 12:14
This flag is only useful to display progressive content on an interlaced display (by turning a 24fps progressive movie into a 30 fps interlaced movies).
Not neccessarily - my AviSynth filter will produce 30FPS interlaced out of 24FPS progressive (or "not quite progressive", as some DVDs that I own demonstrate) into 30FPS interlaced using only the TFF/BFF flag if you select "Apply pulldown", by evaluating the TFF/BFF transitions from frame to frame. That way you can salvage those wrongly flagged DVDs by running TIVTC or Decomb on them... :)

Of course, that's probably a bit too CPU-intensive for HD material...

np: Mouse On Mars - Funky Tiste (Glam)

Jeremy Duncan
2nd June 2007, 19:34
It would have been nice if you had started DebugView before even opening your player app to see what happens when the filter connects

Here you go.
Link (http://files.filefront.com//;7674830;;/)

Edit this one only use fluxsmoothet(3) in the avisynth text box. I didn't use #debug

Jeremy Duncan
2nd June 2007, 20:02
Here's another log. I "started DebugView before even opening your player app to see what happens when the filter connects".

This is the avisynth code I used in the avisynth text box.

#debug
SetMemoryMax(1024)
FluxSmoothT(3)
ColorMatrix(Mode="Rec.601->Rec.709",scaling=2,threads=2)
MT("SeeSaw(NRlimit=0, NRlimit2=5, Sstr=2.40, Szp=1, Slimit=50, Sdamplo=16, Spower=1, sootheT=95, SdampHi=39)",3)
lanczosresize(1280, 800)


Here's a link to the log.
Link (http://files.filefront.com//;7675041;;/)

_xxl
2nd June 2007, 21:34
Parallelized h264 decoder:
http://rapidshare.com/files/34883716/ffdshow_rev1224_20070602_xxl.exe.html

Patch from:
http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/

Only for testing!!!Maybe broken.

amt
2nd June 2007, 23:58
Parallelized h264 decoder:
http://rapidshare.com/files/34883716/ffdshow_rev1224_20070602_xxl.exe.html
Only for testing!!!Maybe broken.
Patch from:
http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/
Tested with a couple of files and it crashes mpc with almost every x264 encoded video and corrupts part of the picture from h264 broadcast captures.

Px
3rd June 2007, 00:14
Parallelized h264 decoder:
http://rapidshare.com/files/34883716/ffdshow_rev1224_20070602_xxl.exe.html
Only for testing!!!Maybe broken.
Some second core usage on 10 Mbps video, crash on most of my test h264 video

jidelite
3rd June 2007, 04:09
Well, let's see... I don't have the nVidia decoder and I don't have Vista, nor do I want to have or "acquire" any of them.

But even when I try to replicate your settings as closely as possible (using Gabest's standalone MPEG2 decoder instead of the nVidia one, and Windows XP Professional), I don't get that behaviour. It should especially not say "requested none" there, as that would mean that no frame was requested from AviSynth by my filter, which should only be possible if your script doesn't do use the input video at all, like if you use "Version()" as your script...

Leak, I basically get the same OSD as
Jeremy Duncan (0 in the back/ahead fields and "requested none" with my SeeSaw script when I usually see back=0 / ahead=1) when I use ffdshow_rev1220_20070529_clsid.exe but everything is good when I use ffdshow_rev1220_20070531_clsid_sse_icl9.exe...

jidelite

Jeremy Duncan
3rd June 2007, 06:24
http://aycu02.webshots.com/image/19041/2004209699754571741_th.jpg (http://allyoucanupload.webshots.com/v/2004209699754571741)

http://aycu04.webshots.com/image/15923/2004222122390351138_th.jpg (http://allyoucanupload.webshots.com/v/2004222122390351138)

http://aycu15.webshots.com/image/15814/2004201984852626319_rs.jpg (http://allyoucanupload.webshots.com/v/2004201984852626319)

Log (http://files.filefront.com//;7678266;;/)

ffdshow_rev1220_20070531_clsid_sse_icl9.exe
http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_rev1220_20070531_clsid_sse_icl9.exe?modtime=1180652956&big_mirror=0

ffdshow_rev1222_20070601_xxl.exe
http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_rev1222_20070601_xxl.exe?modtime=1180719225&big_mirror=0

Using ffdshow_rev1220_20070531_clsid_sse_icl9.exe, I took these screenshots, and the log I linked to.
It would only get tot he root menu, then die. It quit and all I had was a black screen, and the movie stopped playing.
I was resizing it to 1680, 950.

I then decided to make the resizing a multiple of 4. So I changed the resizing to 1680, 952.
It worked.
When I got to the root menu, it was still a black screen, but I moved the mouse around.
Each time the mouse moved over a icon on the rrot menu screen, it counted as a frame.
*****If I'm at the root menu, and I don't move the mouse over the icons, no frames move, so the screen stays black.*****
The good news, is that it counted 2 ahead from the moment I started the movie.

I then thought that it was a resizing issue, and that if I set the resizing to a multiple of 4, then the previous version of FFDshow would have similiar results.
Nope. ffdshow_rev1222_20070601_xxl.exe showed no frames ahead at all. Zero.

Hahaha.

So now, we need to figure out how to get it so that resizing doesn't need to be a multiple of four, and that the root menu isn't black.
But the frames ahead is working fine.

I used Gabest MPC, Nvidia video codec, FFDshow Audio codec, the plugins I linked to before.
VMR9 Renderless, and default output in MPC.
I tested various sizes inclding 1680, 952, this worked, and 720, 480, this worked too. 1680, 950 did not work, I couldn't get out of root menu to the movie.

This was the Avisynth code I used.
SetMemoryMax(1024)
FluxSmoothT(3)
ColorMatrix(Mode="Rec.601->Rec.709",scaling=2,threads=2)
MT("SeeSaw(NRlimit=0, NRlimit2=5, Sstr=2.40, Szp=1, Slimit=50, Sdamplo=16, Spower=1, sootheT=95, SdampHi=39)",3)
lanczosresize(1680, 952)

Jeremy Duncan
3rd June 2007, 06:45
See the picture with the lady sitting down, in my previous post.
See that ahead is 2...the Buffer checkbox is unchecked !

I noticed this, and decided to play a movie and switch checking and unchecking the Buffer box to see what the osd would do.
Regardless if the buffer box was checked or not, it stayed at two.
I then closed MPC, and opened the FFDshow video configuration and unchecked the Buffer box, then started the movie and watched the osd to see if the Ahead would be at two. It was ! :)

haruhiko_yamagata
3rd June 2007, 09:34
@Leak
I have fixed the AR problem with Haali's renderer.
I have another issue related to AviSynth. This problem is not new.
Please try this.

First resize to 720x720. Keep original aspect ratio.
Next use AviSynth filter.

The AR is broken. The video renderer does not matter.

Another case,
With the sample I have sent you (ARchangeDuringPlayback.ts) and Haali's video renderer, first start playing only resize on, next check AviSynth during playback, it's more messy...

I hope you can fix this.

Leak
3rd June 2007, 14:26
Leak, I basically get the same OSD as
Jeremy Duncan (0 in the back/ahead fields and "requested none" with my SeeSaw script when I usually see back=0 / ahead=1) when I use ffdshow_rev1220_20070529_clsid.exe but everything is good when I use ffdshow_rev1220_20070531_clsid_sse_icl9.exe...
Okay, this is getting seriously weird now. Yes, I get the exact same result when using the non-ICL9 build as opposed to the ICL9 build, but the non-ICL9 one should in theory behave quite the same as my local MSVC/GCC development builds which never exhibited this behaviour... :confused:

I'll wait and see if this happens again when clsid releases his next build; it's only an OSD display bug after all since the AviSynth filter *is* applied - just add an "Info()" at the script's end and you'll see... :)

np: The Black Dog - Techno Playtime (Book Of Dogma)

Leak
3rd June 2007, 14:41
See the picture with the lady sitting down, in my previous post.
See that ahead is 2...the Buffer checkbox is unchecked!
It's only reporting that the script requested a frame that's two frames ahead vs. the current frame - it doesn't matter if buffering is on or off, it just shows the script's behaviour.

Anyway, yeah, static menus *will not work* if you don't use ffdshow's built in MPEG2 decoder set to "libmpeg2" to decode MPEG2 video. Period.

When playback hits a static menu, decoding just stops, but of course the menu image is then only buffered ahead and never requested. I've modified the libmpeg2 codec so it'll signal the end of an MPEG2 sequence so the AviSynth filter can return those 2 frames at the end, but this plain doesn't work with external decoders - there's nothing I can do about that, I'm afraid. If you want to watch DVDs and get working static menus, use ffdshow for decoding them.

@haruhiko: I'll look into it.

np: The Black Dog - Seers & Sages (Book Of Dogma)

clsid
3rd June 2007, 14:43
Doing a full clean rebuild now. New build will be online asap.

Leak
3rd June 2007, 15:26
@Leak
I have fixed the AR problem with Haali's renderer.
Thanks. :)
Please try this.

First resize to 720x720. Keep original aspect ratio.
Next use AviSynth filter.

The AR is broken. The video renderer does not matter.
Ah, I see - the resize adds borders at the top and bottom that of course aren't in the image data (so AviSynth will still see an image with no borders), but are taken into account when I request the DAR of the image.

I'll see if I can figure out a way to get the DAR of the image without the borders. Still, the borders will be lost that way, but what should I do? AviSynth has no concept of "padding" the image on it's four sides (as much as it has no concept of "aspect ratio", that's why I added those 2 variables - but I really don't want to frankenstein yet another workaround like this into the filter), so I'd either have to add the borders to the image data (yuck) or simply drop them.

I'll probably just add a "ffdshow_SetDAR" script function to AviSynth that'll change the DAR if you want and leaves everything alone if it isn't used. But of course, it's best not to use the resize filter before the AviSynth filter; if you need to resize you can always do that at the beginning of the AviSynth script - that'll also save some RAM as it won't buffer the resized images; it's probably best to put the AviSynth filter as early as possible in your filter chain anyway.

np: The Black Dog - Tactile (Book Of Dogma)

clsid
3rd June 2007, 16:22
In the default order the AviSynth filter is below Resizing. So the order needs to be changed.

multiblitz
3rd June 2007, 18:09
Good to read that Haali and the ffdshow team have progressed on this issue ! As long as the IVTC flags are given by the the splitter and the timestamps are properly set, there isn't any need to implement RFF (that is to repeat fields in the output). This flag is only useful to display progressive content on an interlaced display (by turning a 24fps progressive movie into a 30 fps interlaced movies). The only thing that may be required is to further adjust the timestamps if RFF is detected.

That sound promissing, so I understand that Haali's splitter needs to progress first before you guys can start to pick up the ball in ffdshow ?

Anyway, this would be absolutely fantastic. Many thanks to this community for bringing it together !

Leak
3rd June 2007, 18:40
Okay, I added some extra checking code the the ffdshow_source filter that should complain about a "bogus input pointer" in DebugView if the missing OSD is caused by what I think is the culprit (namely the wrong ffdshow_source filter instance being used by AviSynth)...

I'm afraid I still can't reproduce this in my own builds so someone else has to make a new build to test this. The checking code also has the added bonus that the OSD *should* work despite it's complaining, but that's more a workaround than a solution to be honest...

np: The Black Dog - Chiba (Book Of Dogma)

Jeremy Duncan
3rd June 2007, 21:04
use ffdshow's built in MPEG2 decoder set to "libmpeg2" to decode MPEG2 video.

http://aycu09.webshots.com/image/18368/2002441676048623234_th.jpg (http://allyoucanupload.webshots.com/v/2002441676048623234)

http://aycu35.webshots.com/image/17474/2001536722732009033_th.jpg (http://allyoucanupload.webshots.com/v/2001536722732009033)

ffdshow_rev1220_20070531_clsid_sse_icl9.exe works fine now. Thanks.
It's a lot sharper than the Nvidia codec was though.

Leak
3rd June 2007, 21:29
It's a lot sharper than the Nvidia codec was though.
And there I always thought people considered that a *good* thing... :)

np: Tied & Tickled Trie - A Rocket Debris Cloud Drifts (Aelita)

haruhiko_yamagata
4th June 2007, 10:24
Thanks. :)

Ah, I see - the resize adds borders at the top and bottom that of course aren't in the image data (so AviSynth will still see an image with no borders), but are taken into account when I request the DAR of the image.

I'll see if I can figure out a way to get the DAR of the image without the borders. Still, the borders will be lost that way, but what should I do? AviSynth has no concept of "padding" the image on it's four sides (as much as it has no concept of "aspect ratio", that's why I added those 2 variables - but I really don't want to frankenstein yet another workaround like this into the filter), so I'd either have to add the borders to the image data (yuck) or simply drop them.Please don't drop them. Users may want to adjust to full screen.
But of course, it's best not to use the resize filter before the AviSynth filter; if you need to resize you can always do that at the beginning of the AviSynth script - that'll also save some RAM as it won't buffer the resized images; it's probably best to put the AviSynth filter as early as possible in your filter chain anyway.
True, but bug is a bug...
Not all users are experts, they may want to use ffdshow's resize rather than learning how to use AviSynth's resize.

Jeremy Duncan
4th June 2007, 10:28
Can Clsid or xxl please make a FFDshow update that uses version 1239.

http://ffdshow-tryout.svn.sourceforge.net/viewvc/ffdshow-tryout/trunk/?view=log

Leak
4th June 2007, 10:41
Please don't drop them. Users may want to adjust to full screen.
Well, what do you suggest then?

Simply leaving the borders as they are is not an option as soon as the script does resizing. And I really don't want to kludge another set of variables (ffdshow_borderLeft/Right/Top/Bottom) into there...

Of course, if someone really needs borders for some reason there's always the "AddBorders" filter that adds a real (as opposed to a virtual) border around the image.

True, but bug is a bug...
Not all users are experts, they may want to use ffdshow's resize rather than learning how to use AviSynth's resize.
I would have just documented in the docs that any border on the image gets dropped and have left it at that, to be honest.

What good are those virtual borders anyway? They center the image, which is usually also done by the player application, and if you want to use that space to overlay something (like subs) at some point the virtual borders have to be turned into "real" borders (i.e. the kind that's made of black pixel data) anyway.

haruhiko_yamagata
4th June 2007, 11:10
Well, what do you suggest then?

Simply leaving the borders as they are is not an option as soon as the script does resizing. And I really don't want to kludge another set of variables (ffdshow_borderLeft/Right/Top/Bottom) into there...

Of course, if someone really needs borders for some reason there's always the "AddBorders" filter that adds a real (as opposed to a virtual) border around the image.
Who use resize both in ffdshow and AviSynth? If AviSynth filter change dimensions, there's no choice but to drop the borders. But if AviSynth does not change it, then it's best to keep it.

Leak
4th June 2007, 11:49
Who use resize both in ffdshow and AviSynth? If AviSynth filter change dimensions, there's no choice but to drop the borders. But if AviSynth does not change it, then it's best to keep it.
Ummm... yes, that was what I meant, actually. I was only talking about the case when the image is resized - though I probably should have worded it differently... :D

So what needs to be changed is for the AviSynth filter to use the correct(ed) AR for the actual image, not the AR for the image+borders. That, and simply leaving the AR alone if it isn't changed.

It might take a bit until I come around to fix that, though, along with a script function to set a new AR (so I can find out whether the AR should actually be changed) and maybe a rewrite of the AviSynth interface so it doesn't keep pouring ffdshow_source functions into the AviSynth script environment.

(I only recently realized that adding a function to AviSynth simply adds it to a linked list, no matter if there already is a function of the same name; this might just be the cause of the OSD weirdness...)

clsid
4th June 2007, 13:04
Wouldn't changing the (default) order of the filters in ffdshow solve this issue? Doing AviSynth before Resizing instead of the other way around.

Leak
4th June 2007, 13:12
Wouldn't changing the (default) order of the filters in ffdshow solve this issue? Doing AviSynth before Resizing instead of the other way around.
Not exactly, since users are free to change the order and they'll probably expect things to work the other way around as well - and I do agree that it should, I just hadn't expected/experienced/noticed/etc. this case since I always use AviSynth right after "Subtitles" as the first filter... :)

_xxl
4th June 2007, 13:15
Parallelized h264 decoder:

Tested with:
http://www.mplayerhq.hu/MPlayer/samples/V-codecs/AVC1/bb2.mp4
1 core:
User: 17s, kernel: 0s, total: 17s, real: 17s, fps: 202.5, dfps: 202.5
http://www.imagehosting.com/out.php/t729627_Capture2.jpg (http://www.imagehosting.com/out.php/i729627_Capture2.jpg)
2 cores:
User: 0s, kernel: 0s, total: 0s, real: 17s, fps: 4365.5, dfps: 208.6
http://www.imagehosting.com/out.php/t729622_Capture.jpg (http://www.imagehosting.com/out.php/i729622_Capture.jpg)

Doesn't work with this sample.

chros
4th June 2007, 17:42
It seems that is broken.No multithreaded.
Woowww!!! At least some progress in this topic...
I'm hardly waiting a working version to test ... :)

Inventive Software
4th June 2007, 17:55
Tested with:
http://www.mplayerhq.hu/MPlayer/samples/V-codecs/AVC1/bb2.mp4
1 core:
User: 17s, kernel: 0s, total: 17s, real: 17s, fps: 202.5, dfps: 202.5
http://www.imagehosting.com/out.php/t729627_Capture2.jpg (http://www.imagehosting.com/out.php/i729627_Capture2.jpg)
2 cores:
User: 0s, kernel: 0s, total: 0s, real: 17s, fps: 4365.5, dfps: 208.6
http://www.imagehosting.com/out.php/t729622_Capture.jpg (http://www.imagehosting.com/out.php/i729622_Capture.jpg)
It seems that is broken.No multithreaded.

4365 FPS is mighty impressive, even if it's broken completely! :D

Jeremy Duncan
4th June 2007, 18:19
Using xxl 1240 FFDshow
http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_rev1240_20070604_xxl.exe?modtime=1180967715&big_mirror=0

Here's the log
http://files.filefront.com//;7690920;;/

Here's a picture of the graph
http://aycu36.webshots.com/image/16995/2005470001086814868_th.jpg (http://allyoucanupload.webshots.com/v/2005470001086814868)

I used FFDshow Mpeg2 libavcodec dvd decoding and the nvidia video decoder.

It still showed no back or ahead, buffer was checked in Avisynth.
http://aycu25.webshots.com/image/17104/2005000146207085836_th.jpg (http://allyoucanupload.webshots.com/v/2005000146207085836)

i USED vmr9, DEFAULT OUTPUT IN mpc.
The plugins I linked to before.
and this code
#debug
SetMemoryMax(1024)
FluxSmoothT(3)
ColorMatrix(Mode="Rec.601->Rec.709",scaling=2,threads=2)
MT("SeeSaw(NRlimit=0, NRlimit2=5, Sstr=2.40, Szp=1, Slimit=50, Sdamplo=16, Spower=1, sootheT=95, SdampHi=39)",3)
lanczosresize(720, 480)

Edit. I'm using Vista Premium.

matt2971
4th June 2007, 19:26
Hi,

Sorry if this is the wrong place to post this question about ffdshow usage, but I'm having trouble finding the right place with so many different pages out there. If it is, can anyone point me to the correct place?

I've used a lot of different recent builds by various people with different results, and am wondering what is the best build for my particular setup, as I'm aware they are sometimes optimized for various Operating systems and instructions sets.

I have an old PIII 1.4ghz with MMX and SSE but nothing above that, and am running XP SP2.

I am currently using the ffdshow_rev1099_20070414_xxl.exe build.

Any advice on the best build to use, and where to get it would be appreciated.

Matt

clsid
4th June 2007, 20:26
Any of the generic builds will do just fine.

chros
4th June 2007, 20:42
I have been playing around with the new Leak's patched ffdshow (ffdshow_rev1237_20070603_clsid.exe), and try to accomplish this:

Is it makes sense at all to telecine 23.976 fps progressive content to 59.94 fps progressive one on a LCD TV/monitor running 60 Hz (from my comp) ?

If it is:
I have tried a 720p-avc content, with MPC, ffdshow decodes H264 and Haali's renderer. Settings:
x Avisynth , Ignore Pulldown, Buffer back/ahead: 30/30 (I don't know which values must be entered for ChangeFPS)
my avisynth script:
# I'm using the modded dll
SetMTMode(1,0)
# some sharpening, good results with good speed
asharp(1,6,-1,true)
# telecine to 59.94 fps: it creates a 3232.. pattern from 23.976 fps
ChangeFPS("ntsc_double")

I doubled the default values in Haali's renderer too:
Buffers: 65M , Frames: 82

Without Leak's patch: it stutters like hell. :)
But with it, sometimes it skips frames, maybe my comp is slow for it ...
My comp is: Athlon X2 4600, 1GB DDRAM, GeForce 7600GT (256MB)

And last: thanks guys for your hard work!

Leak
4th June 2007, 21:04
Is it makes sense at all to telecine 23.976 fps progressive content to 59.94 fps progressive one on a LCD TV/monitor running 60 Hz (from my comp) ?
Errr... if you really were to 3:2 telecine progressive video you'd actually get combed frames, I bet that's not what you want...

Anyway setting the buffers to 30/30 is really close to madness; the higher you set them the more lag you'll get and I'd not be surprised if your dropped frames come from that.

You *should* see the current best values for ahead and back in the OSD ("AviSynth info"), but you might not since there's something funny going on with it currently that I can't pinpoint... :(

Anyhow, I bet 0/1 (or 0 and a very small number) should be plenty for your use case, but honestly I think your best bet would be to just play your video as-is and let the renderer duplicate frames where neccessary.

Of course, setting your monitor to 72 Hz would be best...

np: Mouse On Mars - Schlecktron (Double Mix) (Rost Pocks)

fastplayer
4th June 2007, 23:03
@all SF members:
Don't forget to vote for ffdshow tryouts (http://sourceforge.net/awards/cca/nomination.php?group_id=173941&from=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fffdshow-tryout)! :)
:thanks:

mpioner
5th June 2007, 04:55
Developers
plz add silent install options to InnoSetup

matt2971
5th June 2007, 06:56
OK, cheers for that.

Delerue
5th June 2007, 06:59
I think that MPEG1 (both libavcodec and libmpeg2) decode is broken. I tested with this sample (http://rapidshare.com/files/35312010/Bangalore_Choir_-_Loaded_Gun.7z.html) and noticed that it stutters a lot (at 0:11 sec, per example), and the aspect ratio isn't correct. The file was verified with MPC internal filter, Windows XP default decoder (with MPC and WMP11), VLC and SMPlayer (MPlayer), and it seems to run very well.

I tried with the build 1245 (inside the 'About' tab is written 1240, hehehe).

B.F.
5th June 2007, 07:54
Strange bug in SVQ3 decoder.
(Link was deleted)
It play fine with QuickTime decoder.

chros
5th June 2007, 08:10
Errr... if you really were to 3:2 telecine progressive video you'd actually get combed frames, I bet that's not what you want...
Are you sure it's working that way?
From the manual: ChangeFPS changes the frame rate by deleting or duplicating frames. So I'm think it doesn't produces combed frames.

Anyway setting the buffers to 30/30 is really close to madness; the higher you set them the more lag you'll get and I'd not be surprised if your dropped frames come from that. ...
Anyhow, I bet 0/1 (or 0 and a very small number) should be plenty for your use case, ...
Thanks. 0/1 values working pretty much the same like 30/30 :)
ChangeFPS("ntsc_double") is still unwatchable, I'll try ChangeFPS("ntsc_video") which results a 1111211112... pattern.

but honestly I think your best bet would be to just play your video as-is and let the renderer duplicate frames where neccessary.
If it's working this way, then probably this is the best choice. I'll ask Haali ...

Of course, setting your monitor to 72 Hz would be best...
Yep, but my TV is only capable of 60 Hz.

Leak
5th June 2007, 08:22
Are you sure it's working that way?
From the manual: ChangeFPS changes the frame rate by deleting or duplicating frames. So I'm think it doesn't produces combed frames.
Ummm... what I meant was that ChangeFPS alone in no way, shape or form will ever produce "true" 3:2 pulldown, as 3:2 pulldown needs to be applied to fields, not frames.

Thanks. 0/1 values working pretty much the same like 30/30 :)
ChangeFPS("ntsc_double") is still unwatchable, I'll try ChangeFPS("ntsc_video") which results a 1111211112... pattern.
What CPU load does the Windows task manager report? If it's around 50% on a dual-core machine it's probably too CPU-intensive... but seeing as it does work on a P4 2.8GHz here (okay, just the ChangeFPS("ntsc_double") part) I guess it's either the Asharp part gobbling up too much CPU or perhaps the usage of SetMTMode...

Yep, but my TV is only capable of 60 Hz.
Whoever is responsible for all kinds of displays being locked to 60Hz (often even in 50Hz PAL land) needs to be dragged out and shot with a cathode ray tube... :D

foxyshadis
5th June 2007, 08:38
Strange bug in SVQ3 decoder.
It play fine with QuickTime decoder.

SVQ3 with b-frames has had that problem for a while. It definitely sucks, I didn't find the problem last time but I'll look again - it might be a splitter issue though. (Sourceforge's tracker is impossibly bad for searching and sorting, but I think it isn't officially reported there. I'll take care of it. I'd donate if only they'd improve that and the mailing list, but I almost want to install Jira or Trac on the webspace instead.)

Bringing up a cam here was a bad idea though. Struck for rule 6.

foxyshadis
5th June 2007, 08:51
Put the changefps at the end of the script definitely, and try not to use other ffdshow filters after it. You'll now be (uselessly) filtering everything at 60fps instead of 24. You could also use convertfps (blended instead of jerky). Or make a short function to insert between each cycle a blend of frames 4 & 1 of the next, but that'll only be 29.97fps. I'd probably get too fancy for your tastes, I <3 the script. :p

Sometimes I really just wish you could have multiple avisynth instances, to run things like this after everything else.

B.F.
5th June 2007, 09:06
SVQ3 with b-frames has had that problem for a while. It definitely sucks, I didn't find the problem last time but I'll look again - it might be a splitter issue though. (Sourceforge's tracker is impossibly bad for searching and sorting, but I think it isn't officially reported there. I'll take care of it. I'd donate if only they'd improve that and the mailing list, but I almost want to install Jira or Trac on the webspace instead.)

Bringing up a cam here was a bad idea though. Struck for rule 6.

That was a smallest file I can find. :)
It was traler from one of movie news sites.
I just change extension from mov to mp4, so it can be played using Haali Splitter instead a QT.

P.S.
Can you delete that link from your post too?

Leak
5th June 2007, 09:19
Sometimes I really just wish you could have multiple avisynth instances, to run things like this after everything else.
*drops 10 foot pole*
*backs away slowly, trying to make no noise*
*turns around quietly*
*runs like hell*

:D

clsid
5th June 2007, 11:16
Developers
plz add silent install options to InnoSetup
All InnoSetup installers are already capable of performing silent installs...

installer.exe /verysilent

(changing the options in the installer is possible too with /components="item1,item2,etc" /tasks="item1,item2,etc")

chros
5th June 2007, 21:24
Ummm... what I meant was that ChangeFPS alone in no way, shape or form will ever produce "true" 3:2 pulldown, as 3:2 pulldown needs to be applied to fields, not frames.
So it was a little misunderstanding, caused by my not perfect knowledge :)

What CPU load does the Windows task manager report? If it's around 50% on a dual-core machine it's probably too CPU-intensive... but seeing as it does work on a P4 2.8GHz here (okay, just the ChangeFPS("ntsc_double") part) I guess it's either the Asharp part gobbling up too much CPU or perhaps the usage of SetMTMode...
But with what content? I tried with 720p-AVC, and yes: one of my core is at 80%. I have tried with a standard xvid content (640*xxx) and it worked ... Thanks

Whoever is responsible for all kinds of displays being locked to 60Hz (often even in 50Hz PAL land) needs to be dragged out and shot with a cathode ray tube... :D
:D At least it isn't interlaced ... :D

And an interesting thing with MPC-ffdshow_h264decoding on a dualcore CPU (no further filters are applied with the test):
1. start a 720p-AVC content, and see the loads of CPU (at here, core1 is minimal, core2 is very high)
2. stop the playback (don't close MPC), then start the playback again, and see the CPU: at here, the 2 cores is almost the same. :)
Can somebody reproduce this?
(I haven't installed AMD's DualCore Optimizer, but I use RMClock for it.)

_xxl
6th June 2007, 07:30
And an interesting thing with MPC-ffdshow_h264decoding on a dualcore CPU (no further filters are applied with the test):
1. start a 720p-AVC content, and see the loads of CPU (at here, core1 is minimal, core2 is very high)
2. stop the playback (don't close MPC), then start the playback again, and see the CPU: at here, the 2 cores is almost the same.
Can somebody reproduce this?

http://forum.doom9.org/showthread.php?p=923944#post923944
http://forum.doom9.org/showthread.php?p=923950#post923950

chros
6th June 2007, 10:11
http://forum.doom9.org/showthread.php?p=923944#post923944
http://forum.doom9.org/showthread.php?p=923950#post923950
Aha, I missed that, thanks.

Try process explorer's single aggregate graph, in process properties. Or just set MPC's affinity to one CPU. You'll find the graphs are mostly stable, and all you're seeing is the kernel's habit of tossing threads around in strange fashions. It doesn't really affect performance to execute half-and-half on two cpus instead of one.
I'll try this, but as I remember, for me it really affected the performance.

_xxl
6th June 2007, 19:26
New test build:
http://rapidshare.com/files/35616997/ffdshow_rev1249_20070606_xxl.exe.html
Patch:
http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2007-June/030649.html

Works with:
http://www.moviemaze.de/media/trailer/2140/superman-returns.html

1 core:
User: 10s, kernel: 0s, total: 10s, real: 10s, fps: 337.4, dfps: 334.0

2 cores:
User: 3s, kernel: 0s, total: 3s, real: 7s, fps: 956.3, dfps: 463.3

http://www.moviemaze.de/media/trailer/1451/king-kong.html

1 core:
User: 17s, kernel: 0s, total: 17s, real: 17s, fps: 206.1, dfps: 200.6

2 cores:
User: 8s, kernel: 0s, total: 8s, real: 14s, fps: 433.2, dfps: 256.9

It doesn't work with h264 evob's.

http://samples.mplayerhq.hu/evob/Departed%20Trailer.EVO

and this:

http://rapidshare.com/files/35755611/Star.Wars.V.mkv.html

Keepitsimple
6th June 2007, 21:26
This dual core support for h264 decoding. You who are in the know; what time frame are we talking about before its implemented in ffdshow? Imo the single most important update since I dont know when.. :)

fastplayer
6th June 2007, 22:12
Slightly OT:
Am I the only one who has probs with SF's SVN? When I commit I get an error message that commit failed but the files are committed actually. And the changelog opens only after pressing the F5 button a hundred times... :confused:

_xxl
6th June 2007, 22:16
The same for me.

clsid
6th June 2007, 23:13
The commit issue only happens occasionally to me. The internal server error on the changelog page happens all the time. SF desperately needs extra server power. Or even better, make the webpages less bloated.

foxyshadis
7th June 2007, 04:29
This dual core support for h264 decoding. You who are in the know; what time frame are we talking about before its implemented in ffdshow? Imo the single most important update since I dont know when.. :)

That's exactly what the post above yours is about:
New test build:
http://rapidshare.com/files/35616997/ffdshow_rev1249_20070606_xxl.exe.html
Patch:
http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2007-June/030649.html
It seems to me to be broken.

We're totally dependant on some of the ffmpeg gurus dealing with it. There isn't and will never be a "time frame", although at the moment it's getting much closer. There's no point in asking repeatedly here, the reply's always the same.

check
7th June 2007, 05:07
Just a note to say that the h264 parallelisation going on there is slice level, which means unless the video was encoded with slices, you will see no benefit at all. I'm not sure how useful this will be in general, no HDVDs/BDs come with sliced video (afaik), and x264 does not slice anymore either.

Delerue
7th June 2007, 05:49
Can someone confirm this (http://forum.doom9.org/showpost.php?p=1010814&postcount=1431) bug, please?

fastplayer
7th June 2007, 11:48
I think that MPEG1 (both libavcodec and libmpeg2) decode is broken.
With ffdshow's libmpeg (rev1245) it plays fine and AR is correct. With ffdshow's libavcodec the AR is wrong (from the beginning) but no stutters at all.

Edit: AR is wrong with another MPEG1 file I have here when using ffdshow's libavcodec. If needed, I can upload it.

Leak
7th June 2007, 12:44
And the changelog opens only after pressing the F5 button a hundred times... :confused:
Yeah, it's rare that you'll get an actual changelog via SF's web page nowadays.

Works much better when I use TortoiseSVN, though, as that bypasses the web server...

Sirber
7th June 2007, 13:27
This dual core support for h264 decoding. You who are in the know; what time frame are we talking about before its implemented in ffdshow? Imo the single most important update since I dont know when.. :)

I've been waiting for ages for that! GREAT WORK!!!!!!!!!!!!! :D

[edit]

How do I set the number of decoding threads for H264?

_xxl
7th June 2007, 14:15
http://www.imagehosting.com/out.php/t744676_Capture.jpg (http://www.imagehosting.com/out.php/i744676_Capture.jpg)

Sirber
7th June 2007, 14:32
http://www.imagehosting.com/out.php/t744676_Capture.jpg (http://www.imagehosting.com/out.php/i744676_Capture.jpg)

Thanks!
The hint still says mpeg1/2 only ;)

haruhiko_yamagata
7th June 2007, 16:08
I think that MPEG1 (both libavcodec and libmpeg2) decode is broken.
With libavcodec, the AR is wrong and stutters.
With libmpeg2, the AR is correct and stutters.
With MPS's libmpeg2, the AR is correct and stutters.
With Microsoft's, no problem.

How about droping libavcodec-MPEG 1/2?
The bug with libmpeg2 has to be fixed.

Delerue
8th June 2007, 00:04
With libavcodec, the AR is wrong and stutters.
With libmpeg2, the AR is correct and stutters.
With MPS's libmpeg2, the AR is correct and stutters.
With Microsoft's, no problem.

Thanks, man. Just to be clear, when you say 'MPS's libmpeg2' you mean 'MPC libmpeg2'? Sorry if I'm saying something wrong.

How about droping libavcodec-MPEG 1/2? The bug with libmpeg2 has to be fixed.

Would be really great. :)

haruhiko_yamagata
8th June 2007, 11:24
Thanks, man. Just to be clear, when you say 'MPS's libmpeg2' you mean 'MPC libmpeg2'? Sorry if I'm saying something wrong.
Oops, it's a typo. MPC libmpeg2.

Nicholi
9th June 2007, 09:48
Slight bug reportage and other musings.

This was mentioned once in the ancient ffdshow thread concerning tryouts. I'm not sure if it was resolved then or perhaps it wasn't broken at all at that time, but it seems to be now. Motion Vector visualizations are not showing up for divx, xvid, h.264 (and probably more) when lavc is used for decoding. I double checked with the latest clsid available (r1245) tests to be sure it wasn't my own builds. Someone else pointed this out to me (quite a long time ago, just never got around to reported it) and when I asked a few others they all said motion vectors weren't working either, but the other two visualizations are fine. This sounds almost identical to that old report but a few people were also reporting it worked fine. It seems to be working fine from milan's svn though, what could be the problem? Can anyone else confirm motion vectors are not showing up? I can bring a whole slew of hosers who can report it not working, perhaps we can figure out what the problem is.

Next subject... 7.1 audio, ugh :(. Am I correct in assuming the mixing code is part of ffdshow, or is that from ffmpeg? Currently 7.1 audio passed through ffdshow gets all wonkified, not sure how to describe it. Its not as though certain channels are just lost or remapped incorrectly, it sounds totally weird. Has this already been discussed at length concerning ffdshow? Perhaps without going into the work of mixing combinations up to 8 channels a temporary fix could be used to just ignore the 2 new channels in 7.1? We could garnish samples from our friendly HD-DVD/BR consumers.

Last thing, which is just a minor inconvenience I've noticed and not that important but you might agree the functionality is a bit off. When you are mixing the audio and using a custom graph, the dropdown in mixing MUST be set to the number of output channels you desire. For example, if the source is 5.1 and the dropdown is set to '2/0 Stereo' it will not matter how many channels you have mapped to speakers in the custom graph, you will only get 2 channels out (L/R). I was thinking more along the lines that when a custom graph is used for mixing the option set in the dropdown should be ignored. Anyone else think the same? Obviously you catch on quickly when ffdshow displays only 2ch output, I think it would just make more sense from a usability perspective.

_xxl
9th June 2007, 10:38
Motion Vector visualizations are not showing up for divx, xvid, h.264 (and probably more) when lavc is used for decoding.
broken since:
ffdshow_rev1029_20070314

Nicholi
10th June 2007, 03:57
Ahh, it wasn't listed in the known problems on the first page when I posted. It seems clsid just updated that though.

Another random thing just noticed in my latest builds (was not apparent in clsid r1245 but is now in r1263). Start up graphedit, insert filters (ctrl+f), and open up the 'DirectShow Filters' tree. Graphedit immediately closes when doing that for some reason. Anyone else getting this?

haruhiko_yamagata
10th June 2007, 05:38
Ahh, it wasn't listed in the known problems on the first page when I posted. It seems clsid just updated that though.

Another random thing just noticed in my latest builds (was not apparent in clsid r1245 but is now in r1263). Start up graphedit, insert filters (ctrl+f), and open up the 'DirectShow Filters' tree. Graphedit immediately closes when doing that for some reason. Anyone else getting this?
It's a bug of GraphEdit.
It's since rev 1248 that add one Four-CC. That code is not wrong at all, but maybe ffdshow supports too many Four-CC for GraphEdit. The size of data is configured correctly, but GraphEdit has some assumption that the size is smaller...

Nicholi
10th June 2007, 06:20
I think thats a pretty big thing to say it is a Graphedit bug.... even if it is, it is a very useful tool that would now be rendered useless. I don't think thats really better off for ffdshow-tryouts. Theres no chance you can fix ffdshow for the "bug" in Graphedit?

haruhiko_yamagata
10th June 2007, 10:00
I think thats a pretty big thing to say it is a Graphedit bug.... even if it is, it is a very useful tool that would now be rendered useless. I don't think thats really better off for ffdshow-tryouts. Theres no chance you can fix ffdshow for the "bug" in Graphedit?Of course.
Four-CCs are listed in both lower case and upper case, which may not be always necessary. Lower case form of minor four-CCs could be removed. clsid and drevil_xxl, which four-CCs can be removed? Remoing any two four-CCs make it work.
Or more radically, we can add a new input pin, or if it does not work, add a new filter with different GUID. But this is not a very good option for now.

_xxl
10th June 2007, 10:29
Just keep 20 most used fourcc's:
H264,AVC1,X264,XVID,DIVX,DX50,DIV3,DIV4,3IVX,MP43,MP42,MP41,
MP4V,H263,HFYU,MPG2,WMV1,WMV2,WMV3,WVC1,
or remove:
CRAM,AASC,AVRN,CAVS,EM2V,FPS1,MMES,VIXL,CDVC,CDV5,DVIS,PDVC?

clsid
10th June 2007, 11:07
I have removed the least common FourCCs from the list of exposed codes. More than enough to workaround the GraphEdit bug.

The list may be further reduced by removing some lowercase ones. However, that would need some investigation about which FourCCs (uppercase vs lowercase vs mixed) actually occur in the wild.

Btw, why is it that both uppercase and lowercase are needed? Is DirectShow that dumb? Or is it a workaround for badly programmed applications?

haruhiko_yamagata
10th June 2007, 15:35
FourCC is case sensitive.
const AMOVIESETUP_MEDIATYPE TffdshowDecVideo::inputMediaTypes[]=
{
{ &MEDIATYPE_Video, &MEDIASUBTYPE_NULL },
{ &MEDIATYPE_DVD_ENCRYPTED_PACK, &MEDIASUBTYPE_NULL },
{ &MEDIATYPE_DVD_ENCRYPTED_PACK, &MEDIASUBTYPE_MPEG2_VIDEO },
{ &MEDIATYPE_DVD_ENCRYPTED_PACK, &MEDIASUBTYPE_AVC1 },
{ &MEDIATYPE_DVD_ENCRYPTED_PACK, &MEDIASUBTYPE_WVC1 },
// Few most used FourCCs
{ &MEDIATYPE_Video, &MEDIASUBTYPE_XVID },
{ &MEDIATYPE_Video, &MEDIASUBTYPE_xvid },
{ &MEDIATYPE_Video, &MEDIASUBTYPE_DIVX },
{ &MEDIATYPE_Video, &MEDIASUBTYPE_divx },
{ &MEDIATYPE_Video, &MEDIASUBTYPE_DX50 },

Because "&MEDIATYPE_Video, &MEDIASUBTYPE_NULL" is listed, all the MEDIATYPE_Video are queried and ffdshow can judge accept or not. So we don't have to add minor FourCC there.
Without "&MEDIATYPE_Video, &MEDIASUBTYPE_NULL" even MPC cannot find ffdshow if the FourCC's case does not match.

Leak
10th June 2007, 17:11
I've checked in a change with rev. 1272 to always pass the object containing the frame information and statistics used in the OSD as a pointer; I assume somewhere along the way one of the references used for it previously actually caused a copy to be made and thus any changes couldn't propagate back to where they should.

I'll still make changing the aspect ratio an AviSynth function, but I want to see that OSD problem fixed first.

The skewered aspect ratio when using ffdshow's internal resizer before AviSynth should also have been fixed by my other checkin earlier today. :)

np: Popnoname - Mother Earth (White Album)

chros
10th June 2007, 22:34
New test build:
http://rapidshare.com/files/35616997/ffdshow_rev1249_20070606_xxl.exe.html
Yes, it's working with the apple's trailers (I have tried 1080p contents) too, but with none of my reencodes which were made with Sharktooth HQ-Slower profile.

Probably the cause of this what "check" mentioned:
Just a note to say that the h264 parallelisation going on there is slice level, which means unless the video was encoded with slices, you will see no benefit at all. I'm not sure how useful this will be in general, no HDVDs/BDs come with sliced video (afaik), and x264 does not slice anymore either.

Which is a very sad thing ... :( I hope ffmpeg guys will implement the other method instead of this.

Leak
10th June 2007, 23:57
I've checked in a change with rev. 1272 to always pass the object containing the frame information and statistics used in the OSD as a pointer; I assume somewhere along the way one of the references used for it previously actually caused a copy to be made and thus any changes couldn't propagate back to where they should.
Now that's yet another spectacular case of FAIL... :(

I'm getting a constant "requested none" with drevil_xxl's 1272 build again. Could you (or clsid) perhaps enlighten me what you're doing different with your builds?

Everytime I compile a ffdshow unicode release build here with Visual Studio 2005 SP1 and install it, the OSD simply works as expected. Those are simply checkouts of whatever version is current in SVN, exported to my temp dir and built there, so there's no residue of any earlier builds left...

Everytime I install one of your builds, I get "requested none" instead of information which frame was requested from ffdshow_source, even though the filter itself clearly works.

What's the voodoo I'm missing here to make my builds fail the same way? Debugging stuff that won't reliably break is hard... :confused:

Or is this somehow because I'm using VS 2005 and you're using an older version?

Could one of you perhaps debug this a bit for me? Does the problem even show up with debug builds?

Anyway, just set a breakpoint at the start of TimgFilterAvisynth:: ffdshow_source:: process and before the GetFrame() call in TimgFilterAvisynth:: Tavisynth:: process() and check whether any of the statistics that are changed in input in ffdshow_source are reflected in Tavisynth after the GetFrame() call, and whether both inputs are even pointing to the same memory location... I really can't think of anything else that could cause such behaviour...

np: Porn Sword Tobacco - Do The Astrowaltz (New Exclusice Olympic Heights)

_xxl
11th June 2007, 06:26
My builds are ansi and ffdshow.ax is compiled by MSVC2003 sp1 + SDK windows server 2003 r2.
{ &MEDIATYPE_Video, &MEDIASUBTYPE_XVID },
{ &MEDIATYPE_Video, &MEDIASUBTYPE_xvid },
{ &MEDIATYPE_Video, &MEDIASUBTYPE_DIVX },
{ &MEDIATYPE_Video, &MEDIASUBTYPE_divx },
{ &MEDIATYPE_Video, &MEDIASUBTYPE_DX50 },
{ &MEDIATYPE_Video, &MEDIASUBTYPE_dx50 },

Where are lower case xvid,divx,dx50... used?Are any app's that use them?Are they safe to remove?

_xxl
11th June 2007, 18:41
Parallelized h264 decoder
New test build:
http://rapidshare.com/files/36550005/ffdshow_rev1273_20070611_xxl.exe.html

jeffy
11th June 2007, 19:35
Well, it happened a few days ago...
I decided to give AddGrain at the playback time a chance and so I added these lines into the Avisynth section of FFDSHOW:
#Addgrain(4, 0.2, 0.3)
AddGrain(3,0,0)
AddGrain(3,0,0)


When I try to subsequently play the mp4 files created in x264, I get the error "Failed to query the needed interfaces for playback", usually starting from the second file. It doesn't matter if there are a few files in the playlist or if I just close the first file and try to open another one.

Short hw info: Asus P5W DH Deluxe, E6600/3.46 GHz, 2 GB DDR2/800 MHz (770 MHz running), Windows XP Professional SP2
Application: Media Player Classic 6.4.9.0
Avisynth: 2.57 tsp MT version 5, build: Mar 1 2007 21:27:12
MPC Option: Use the same player for each media file

If I do not use this option, the file opened after the last one will be opened without the error message, but it doesn't work for the playlist files anyway.

The options "Avisynth" and "OSD" are the only ones checked in the left pane.
If I uncheck Avisynth, there are no such errors even with playlist!
Version: ffdshow tryouts revision 1269 Jun 10 2007 12:45:49 (msvc 2003, x86, unicode)
Downloaded from free-codecs.com

Does anyone have some clues what to do or the same experience? Thank you in advance!

Nicholi
12th June 2007, 00:14
I'm surprised no one else has continued to bring this up. I guess everyone is just using the older mingw headers. Still a problem in SVN for libfaad (http://forum.doom9.org/showpost.php?p=977180&postcount=950). As someone already found out from poking around the problem is from the update in mingw-runtime-3.12, in which stdlib.h also includes stdint.h. I assume everyone here is using mingw, so its eventually going to be a problem in the future. Unless the mingw dev reverts something back.

Also were there any ideas on the last thing I mentioned in this post (http://forum.doom9.org/showpost.php?p=1012120&postcount=1459)? Is that the expected behavior for audio Mixing with a custom matrix? The user is required to select the correct number of output channels via the dropdown?

foxyshadis
12th June 2007, 00:58
Nicholi, what do you think about disabling the columns that aren't allowed by the current speaker selection? It's possible to change the speaker settings based on what the user enters, but seems like a lot of work for little gain; at least disabling them would make it obvious something has to be selected.

Didn't realize the mingw headers had changed, thanks for the heads up.

homerpez
12th June 2007, 02:59
Sorry to butt in, but I wondered if this was a known bug in FFDShow?...

I was using the add-a-border feature in FFDShow in order to compensate for overscan on my HDTV, while playing anime fansubs (the overscan would cut off 1/2 the subtitles, and Nvidia doesn't offer that feature for HDMI out yet).

Well, the good news is, under "Resize Aspect --> Borders", I can set border to 5% outside, resize unchecked, and this does exactly what I wanted to compensate for overscan...

However I noticed that in Windows Media player, the border itself is blacker than the surrounding empty space.

As an example, picture a 4:3 image on a 16:9 screen. In the center is the picture, then around that is the 5% border, which is pitch black. The space beyond that on either side is a dark gray color, not black.

WMP seems to show dark gray here, PowerDVD shows black throughout, but with a line between the 5% black border and the surrounding black space.

Media Player Classic, of course, shows black as it should (you cant see any difference between the black border and the surrounding black space.)

Just wondering if anyone else noticed this?

check
12th June 2007, 03:13
It's most likely an issue with your WMP setup. Have you set it to use the VMR7 renderer? On many setups it causes this error.

Nicholi
12th June 2007, 03:17
Nicholi, what do you think about disabling the columns that aren't allowed by the current speaker selection? It's possible to change the speaker settings based on what the user enters, but seems like a lot of work for little gain; at least disabling them would make it obvious something has to be selected.
That would work too. The user can obviously see what channels aren't going out then at least, I'm sure they'll figure out at that point to change the dropdown. One would hope at least. Perhaps a tooltip also for a nudge in the right direction?

homerpez
12th June 2007, 07:57
It's most likely an issue with your WMP setup. Have you set it to use the VMR7 renderer? On many setups it causes this error.

I can't seem to find anywhere in WMP 11 (Vista) that lets me specify the renderer, one way or another...

That's ok though, as Media Player Classic seems to display what I want the right way. It's clunky, but dammit, it works. :D

Just seeing if this was anything I could fix system-wide... but a working solution is a working solution.

chros
12th June 2007, 08:19
If I uncheck Avisynth, there are no such errors even with playlist!
Confirmed !
The last week I have posted this, but I didn't realize that it's the cause of the problem.
I was using asharp (and I'm using the modded avisynth.dll):
MT("asharp(1,6,-1,true)",3)

Then I must disable Avisynth, and set these settings in the Sharpen section (but in this case it's not multithreaded), because it was driven me crazy ... :)

Leak
12th June 2007, 08:21
When I try to subsequently play the mp4 files created in x264, I get the error "Failed to query the needed interfaces for playback", usually starting from the second file. It doesn't matter if there are a few files in the playlist or if I just close the first file and try to open another one.
Aiiieee... I thought that was a problem with Casimir666's updated MPC builds, but I guess I broke something... :(

I'll have a look at it when I get home.

jeffy
12th June 2007, 08:46
Confirmed !
The last week I have posted this, but I didn't realize that it's the cause of the problem.
I was using asharp (and I'm using the modded avisynth.dll):
MT("asharp(1,6,-1,true)",3)

Then I must disable Avisynth, and set these settings in the Sharpen section (but in this case it's not multithreaded), because it was driven me crazy ... :)


Well, still testing, but with non-MT AviSynth, version:
2.57 build: Dec 31 2006 13:16:28, the problem is gone!

chros
12th June 2007, 09:06
Well, still testing, but with non-MT AviSynth, version:
2.57 build: Dec 31 2006 13:16:28, the problem is gone!
OK, thanks.
I told tsp about this here: http://forum.doom9.org/showthread.php?t=94996&page=27

chros
12th June 2007, 09:07
New test build:
http://rapidshare.com/files/36550005/ffdshow_rev1273_20070611_xxl.exe.html
it's working the same way as the previous one ...
Changes?

_xxl
12th June 2007, 09:18
Previous test build didn't worked with this:
http://rapidshare.com/files/35755611/Star.Wars.V.mkv.html
if threads=>2.Image was wrong.

chros
12th June 2007, 09:33
Didn't worked with this:
http://rapidshare.com/files/35755611/Star.Wars.V.mkv.html
It's working here: MPC, built-in mkv splitter .

Edit: what do you mean: working?
If you mean the distributed decoding, then it's not working ... (But it plays the file.)

Leak
12th June 2007, 09:37
Well, still testing, but with non-MT AviSynth, version:
2.57 build: Dec 31 2006 13:16:28, the problem is gone!
Oh... I guess I didn't break it after all, then... :)

I did all testing with the non-MT version until recently, so it never cropped up.

Px
12th June 2007, 14:40
New test build:
http://rapidshare.com/files/36550005/ffdshow_rev1273_20070611_xxl.exe.html
No crash but also no parallelization......

clsid
12th June 2007, 14:48
It only uses multiple threads if the H.264 video uses slices. Most videos don't use slices.

Px
12th June 2007, 15:32
It only uses multiple threads if the H.264 video uses slices. Most videos don't use slices.
Oh, I forget, somebody write this before.
Ok, how can I check that video use slices, or not?

_xxl
12th June 2007, 19:56
Latest libavcodec DV encoding is broken.
3086a94d: 660f6f4110 movdqa xmm0, [ecx+10h] <-- FAULT
3086a952: 660f6f4960 movdqa xmm1, [ecx+60h]

Zep
12th June 2007, 20:43
interesting bug. (I think it is ffdshow )


ok I'm not sure which version this started happening but I use mplayerc and go full screen with the auto change the screen rez to 1280 x 720 option to watch 720p stuff. When I do I get a massive freeze just after the screen switches rez and is drawn black to get ready to start showing the video.

the real pain in the butt of this is that I can't access anything via mouse and when I go to keyboard and hit the mplayerc close key combo nothing happens. I can press ctrl alt del and process explorer loads and sometimes I can see it in and sometimes I can't. Everything is super slow because mplayerc is using 100% CPU and all drawing on screen is super slow. I mean like taking minutes to draw the tasks window. (all windows and other apps slow too ) The only way for me to fix things is key combo a log out and back in since all on screen drawing at that new rez is hosed.

Now this only happens with ffdshow video being used. if I turn off the codec of whatever I was about to watch in ffdshow and use a built in codec or the codec directly in xvid's case the rez switch works fine but I lose all the cool extra's of ffdshow :(

There is no crash per se'. mplayerc is stuck in some crazy 100% cpu loop and does not respond to keyboard input. There is no crash log. If I do decide to wait it out and use process explorer to kill mplayerc as soon as I kill it speed and drawing are back to normal and I am still in the 1280 x 720 rez.

Just going full screen without the rez switch works fine so it seems that somehow the rez switch confuses ffdshow?


I'm using clsid June 3 version. Thoughts?


thx

Nicholi
12th June 2007, 21:59
Just a random note concerning r1278 that might be useful to know. The problem was not specifically the latest DivX (i.e. 6.6.1). The qpel workaround was damaging DivX videos with qpel since 6.1 actually (the build number being 1814 you see in the patch). All the patch does is only use the qpel workarounds on anything lower then DivX 6.1.

Delerue
12th June 2007, 22:59
A strange bug found with this video (http://www.ftp2share.com/folder/ed4bc48b-3122-4aba-84fc-d57948e04668/pearl_jam?system=*) (to test you don't need to download all the parts) if we use 'Kernel Bob' deinterlacing. The memory usage grows fast and indefinitely. In 10 seconds the usage is around 1 GB (!!!). The most weird thing is that if you stop the video and play it again the usage doesn't reset. Build tested: 1281_20070612_xxl

Dr Pizza
13th June 2007, 01:10
I can't seem to find anywhere in WMP 11 (Vista) that lets me specify the renderer, one way or another...

That's ok though, as Media Player Classic seems to display what I want the right way. It's clunky, but dammit, it works. :D

Just seeing if this was anything I could fix system-wide... but a working solution is a working solution.

WMP in Vista uses EVR.

haruhiko_yamagata
13th June 2007, 13:05
interesting bug. (I think it is ffdshow )


ok I'm not sure which version this started happening but I use mplayerc and go full screen with the auto change the screen rez to 1280 x 720 option to watch 720p stuff. When I do I get a massive freeze just after the screen switches rez and is drawn black to get ready to start showing the video.

The feature doesn't work for me with or without ffdshow.
ffdshow may be concerned, but it's more likely video driver or MPC's problem. I use GeForce 7900.

haruhiko_yamagata
13th June 2007, 15:05
A strange bug found with this video (http://www.ftp2share.com/folder/ed4bc48b-3122-4aba-84fc-d57948e04668/pearl_jam?system=*) (to test you don't need to download all the parts) if we use 'Kernel Bob' deinterlacing. The memory usage grows fast and indefinitely. In 10 seconds the usage is around 1 GB (!!!). The most weird thing is that if you stop the video and play it again the usage doesn't reset. Build tested: 1281_20070612_xxl
Confirmed. I'll look into it.

B.F.
14th June 2007, 03:51
Are you planning ALAC support?
http://craz.net/programs/itunes/alac.html

As far as I know it already a part ffmpeg.

_xxl
14th June 2007, 05:57
http://sourceforge.net/tracker/index.php?func=detail&aid=1359547&group_id=53761&atid=471492
Read about alac.

Zep
14th June 2007, 13:21
The feature doesn't work for me with or without ffdshow.
ffdshow may be concerned, but it's more likely video driver or MPC's problem. I use GeForce 7900.

interesting. it works fine for me without ffdshow. I use an ATI 1950XT with latest drivers (well I haven't checked for new ones in a few weeks anyway) hmmm I wish we could figure out exactly where the problem is so it could be fixed by the proper party :)

I guess I could let it hang and wait it out then go into process explorer and see what thread is maxed out CPU wise. That may be a place to start?

is there a way to see video driver threads?


what is strange is that mplayerc does not respond to keyboard input so it seems like the problem is there in some crazy low level loop that somehow never lets the input code get a chance to run to check for key presses. Which would mean mplayerc is a single thread for whole app? (I find that hard to believe) guess I will find out soon enough :)

Yong
14th June 2007, 14:00
http://sourceforge.net/tracker/index.php?func=detail&aid=1359547&group_id=53761&atid=471492
Read about alac.
We need a volunteer to modify the mov parser in media player classic to support alac :cool:

clsid
14th June 2007, 15:51
This filters plays Alac:
http://www.dsp-worx.de/?n=15

Nicholi
14th June 2007, 16:54
Finally got together some 7.1 audio samples.

Here is an 8ch sample provided by Microsoft (http://www.microsoft.com/windows/windowsmedia/howto/articles/Multichannel.aspx#link6). For some reason they set the channel mask to 0x3F (which would imply a 5.1 speaker assignment) though I'm guessing it should be 0x63F. From browsing this page (http://www.microsoft.com/windows/windowsmedia/howto/articles/creating71audio.aspx), this page (http://www.microsoft.com/windows/windowsmedia/howto/articles/audio9procmmt.aspx), and this handy word document (http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/SpkrConfig5.doc) I take it the speaker assignment should be 0x63F. Though as I've seen Josh Coalson (FLAC dev) point out a few times, the "official" 7.1 speaker assignment hasn't come to light yet. The 2nd page I linked displays the two major assignments used I am guessing (Dolby and SDDS). Either being 0x63F (the Dolby way, "7.1 home theater speakers") or 0xFF (SDDS, "7.1 wide configuration speakers").

Anyways, with that out of the way and a sample which nicely shows which channels are going where, the fun can begin! I have also compressed the sample to FLAC here (http://www.cccp-project.net/beta/test_files/7.1_Fun/) with both the reference encoder and FFMPEG's encoder (converted to 16bit thus smaller). Also I put the files into Matroska because seemingly CoreFLAC will crash when attempting to play them in the native flac container.

You should get the same result when playing the file through ffdshow though, whether as plain uncompressed PCM or as FLAC. Otherwise without ffdshow in the chain the audio will come out just fine. The only other sample I have, which is from a Blu-ray movie, (located here with video (http://www.cccp-project.net/beta/test_files/Inosensu_K%f4kaku_kid%f4tai-sample.mkv), 80mb, and here as plain Ogg FLAC (http://www.cccp-project.net/beta/test_files/Inosensu_K%f4kaku_kid%f4tai-sample-Track2.ogg), 4.3mb) I couldn't really tell what was going on. Though with the MS sample you can hear it sounds as though its playing slower then normal. I think it would be understandable to ignore full 7.1 support for now since it seems "the industry" hasn't fully decided on how to implement it. However I think if anything being able to play discrete 7.1 but only getting 5.1 output would be a good goal for now, unless that requires a phenomenal amount of hacking around which would only need to be replaced when 7.1 support does come along.

haruhiko_yamagata
15th June 2007, 11:01
A strange bug found with this video (http://www.ftp2share.com/folder/ed4bc48b-3122-4aba-84fc-d57948e04668/pearl_jam?system=*) (to test you don't need to download all the parts) if we use 'Kernel Bob' deinterlacing. The memory usage grows fast and indefinitely. In 10 seconds the usage is around 1 GB (!!!). The most weird thing is that if you stop the video and play it again the usage doesn't reset. Build tested: 1281_20070612_xxl
Fixed at rev 1286-1287. Thank you for your report.

Amour
15th June 2007, 13:11
When installing ffdshow, they ask if I want "libmpeg2" or "libavcodec" for decoding MPEG-1. Which one of the two is recommended for highest compatibility?

fastplayer
15th June 2007, 13:14
^libmpeg2.

Leak
15th June 2007, 13:45
Fixed at rev 1286-1287. Thank you for your report.
That's strange - this could have only been the huge memory leak that was reported when the TKernelDeint object was being destroyed and re-created with every frame... :confused:

np: New Order - Turn My Way (Get Ready)

clsid
15th June 2007, 14:19
When installing ffdshow, they ask if I want "libmpeg2" or "libavcodec" for decoding MPEG-1. Which one of the two is recommended for highest compatibility?
Or none of the two. Windows also has its own MPEG-1 decoder, which works fine.

ExtraEye
15th June 2007, 14:52
isn't libmpeg2 faster for decoding though?

thuan
15th June 2007, 16:49
File tested: Naru2.mpg Narcissu 2 OP can be dled from here (http://stage-nana.sakura.ne.jp/down_e.htm). Renderer: null

ffdshow libmpeg2 (latest 1280 by clsid)
user: 8s; kernel: 0s; total: 8s; real: 8s; fps: 570.4; dfps: 531.0

gabest mpv decoder (compiled by drevil 20070325)
user: 6s; kernel: 0s; total: 6s; real: 6s; fps: 750.6; dfps: 701.4

MS Mpeg video decoder (comes with vista)
user: 3s; kernel: 0s; total: 3s; real: 3s; fps: 1331.0; dfps: 1263.4

System: E4300; 945G chipset/graphic; 2GB RAM.

akupenguin
15th June 2007, 22:40
isn't libmpeg2 faster for decoding though?
depends.

File tested: Naru2.mpg

System: A64 3800
mplayer ffmpeg
user: 4.98; system: 0.08; real: 5.08; fps: 924

mplayer libmpeg2
user: 7.14; system: 0.10; real: 7.32; fps: 646

-----
System: C2D E6600
mplayer ffmpeg
user: 3.04; system: 0.03; real: 3.08; fps: 1523

mplayer libmpeg2
user: 2.76; system: 0.03; real: 2.79; fps: 1676

foxyshadis
16th June 2007, 00:30
More to the point, the only thing mpeg-1 decoding speed matters on is a P2.

For mpeg2, libmpeg2 was more reliable whereas lavc had a few artifact causing bugs when I tested (a year ago?), that may have changed for the better by now.

haruhiko_yamagata
16th June 2007, 00:48
That's strange - this could have only been the huge memory leak that was reported when the TKernelDeint object was being destroyed and re-created with every frame... :confused:

np: New Order - Turn My Way (Get Ready)Yes, it is.
This bug was an old bug, which unfortunately been triggered by buggy rev 344. With rev 344-1286, the field order changes frequently, which means "the TKernelDeint object was being destroyed and re-created with (nealy) every frame".
Rev 1286 fixes the old bug, rev 1287 fixes the bug of rev 344.

// EDIT
After all, rev 344 was not buggy at all. Rev 1287 has been reverted.

thuan
16th June 2007, 01:02
This is completely weird. If I enable set interlace flag then I get the above result for ffdshow libmpeg mpeg1 decoding. If it's disable then I get nearly identical result as gabest decoder
user: 6s; kernel: 0s; total: 6s; real: 6s; fps: 743.1; dfps: 725.1
All outputs are the same null renderer and output colorspace is YUY2 in either case. Can't understand as the file is progressive and the null renderer shouldn't do any deinterlace.

Warren
16th June 2007, 03:15
Is there a compile guide for ffdshow-tryouts anywhere? I managed to compile it with vs8 under vista but I can't get anything to actually load the filter - graphedits keeps coming back saying that "No combination of intermediate filters could be found to make the connection. (Return code: 0x80040217)"

Any clues on if I'm just stupidly missing a step?

Delerue
16th June 2007, 05:47
Fixed at rev 1286-1287. Thank you for your report.

Thanks for the fix, man. ;)

haruhiko_yamagata
16th June 2007, 06:37
Is there a compile guide for ffdshow-tryouts anywhere? I managed to compile it with vs8 under vista but I can't get anything to actually load the filter - graphedits keeps coming back saying that "No combination of intermediate filters could be found to make the connection. (Return code: 0x80040217)"

Any clues on if I'm just stupidly missing a step?
Not yet.
This (http://ffdshow-tryout.sourceforge.net/phpBB2/viewtopic.php?t=362) is the best place to ask.
I guess you don't have libavcodec.dll, libmplayer.dll, etc in the bin directory.

Leak
16th June 2007, 10:35
I guess you don't have libavcodec.dll, libmplayer.dll, etc in the bin directory.
Yeah, it's probably missing libmplayer - I'm getting the same error whenever I forget to compile it... IIRC all most of the colorspace conversion routines rely on it - or was it the Blit functions?

@warren: You'll probably want to install GCC as well to compile those DLLs; if you don't want to install the mess that is MinGW you could simply install Cygwin, it's version of GCC (3.4.5) is a bit ancient but it should work...

np: Robert Babicz - Milo's Groove (A Cheerful Temper)

Jeremy Duncan
16th June 2007, 10:55
I'm using This (http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_rev1280_20070612_clsid_sse_icl9.exe?modtime=1181669840&big_mirror=0) version of FFDshow, and it's working fine using Leak's tweak.

I'm using the FFDshow audio and Video Codecs.
Here's my log.

http://files.filefront.com//;7797993;;/

Here's my ffdshow settings
________ Deinterlace configuration. Updated June 16, 2007________

\\\\\ Codecs tab
Set Mpeg2 to Libmpeg2, and check "DVD decoding".
Set Raw video to All supported

\\\\\ Blur & NR tab
Set denoise3d: Luma: 0.00, Chroma: 2.00, Time: 3.00, HQ Checked

\\\\\ Avisynth tab
YV12 checked,
Add FFdshow Video source checked,
3:2 Pulldown box: Apply Pulldown checked,
Buffer back/Ahead: 1, 0
copy and paste the code below into the avisynth text box, and then click apply.

SetMemoryMax(1024)
LeakKernelDeint(order=1, threshold =5, sharp=true, twoway=true, forceCPU=0)

\\\\\ Resize & aspect tab
Specify size 1280x 800 (Match your screen resolution)
Process Pixel aspect ratio internally checked
No aspect ratio correction checked
Lanczos
Taps: 2
Luma Sharpen: 1.34
Accurate rounding checked

\\\\\ Queue & Output tab
Set Queue output samples checked

\\\\\ Output tab
YV12 checked

The software I used was gabest's mpc, the FFDshow I linked to, Leakkerdeint, and Windows Vista Premium.
Default output in MPC.

Leak
17th June 2007, 12:20
Okay, I believe I finally laid the OSD problem my AviSynth filter had when compiled with Visual Studio 2003 (i.e. the statistics not showing up) to rest since I got my grubby hands on VS2k3 - still not having finished my long overdue masters thesis ought to be good for something once in a while... :D

Anyway, it was caused by the "/Oa" optimization switch which is no longer supported in VS2k5, so I obviously never had a problem when compiling with it - throwing a couple of "volatile"s onto the statistic variables fixed it in VS2k3 compiles, though.

@haruhiko: Could it be your latest subtitle changes somehow messed up the OSD? When I activate it in my rev. 1294 compile the very first line of the OSD ends up at the bottom of the image, while the second line of the OSD is where it should be...

EDIT: I assume a vertical position of 0 is somehow special cased now as simply letting the y position start at 1 instead of 0 by adding 1 to the initial value of y in line 477 of TimgFilterOSD.cpp (or setting the vertical position to 1%, but that's an even greater step) makes the OSD look correct; but I'd say shifting the OSD down a pixel is a rather silly workaround...

np: Tied + Tickled Trio - Tamaghis (Aelita)

haruhiko_yamagata
18th June 2007, 11:12
@haruhiko: Could it be your latest subtitle changes somehow messed up the OSD? When I activate it in my rev. 1294 compile the very first line of the OSD ends up at the bottom of the image, while the second line of the OSD is where it should be...

Oops, it's broken...
Cast (double) was missing. Fixed at rev 1303.

hege
18th June 2007, 19:53
Hi, a small (but important) feature request..

I have widescreen plasma tv with 1024x768 resolution (4:3 pixels), and I like to resize everything to exactly that.

Could you add a simple "display aspect ratio" setting? Like MPC has "Scale to 16:9 TV" etc. I'd much rather do it in ffdshow than having unnecessary resize with display adapter.

It does work manually now by setting "Aspect ratio: Manual: 1.33:1". But if I watch a ~21:9 movie, I have to change it to 1.77:1. It would be much easier to just "Keep original aspect ratio" and "Display aspect ratio: 1.33".

Thanks.

foxyshadis
19th June 2007, 00:46
If you set it to "specify horizontal size" at 1024 (or specify both), and "keep original aspect ratio", it should always set the vertical to comply with the screen size and original aspect on a 4/3; it only stretches if you turn aspect off. If it doesn't, it's some sort of bug.

Whoa, we got a new icon.

cyberbeing
19th June 2007, 01:29
For ffdshow "Resize & aspect" would it be possible to add a "Resize if..." option for aspect ratio?

Amour
19th June 2007, 01:45
Or none of the two. Windows also has its own MPEG-1 decoder, which works fine.
Not as fine as you would imagine. I have a video with MPEG-2 in a MPEG-1 container (according to G-Spot), and it doesn't play without enabling ffdshow MPEG-1 decoder.

Thats why I was asking for which one to choose between libmpeg2 and libavcodec.

Amour
19th June 2007, 01:58
File tested: Naru2.mpg Narcissu 2 OP can be dled from here (http://stage-nana.sakura.ne.jp/down_e.htm). Renderer: null

Woah... this video is almost completely static, like a picture slideshow. Why using it as a fps test?

thuan
19th June 2007, 02:12
Do it for fun on a whim and it's the only MPEG-1 movie I have at hand.
Not as fine as you would imagine. I have a video with MPEG-2 in a MPEG-1 container (according to G-Spot), and it doesn't play without enabling ffdshow MPEG-1 decoder.
You ask the MPEG-1 decoder to decode MPEG-2?

hege
19th June 2007, 05:48
If you set it to "specify horizontal size" at 1024 (or specify both), and "keep original aspect ratio", it should always set the vertical to comply with the screen size and original aspect on a 4/3; it only stretches if you turn aspect off. If it doesn't, it's some sort of bug.


I guess you didn't understand my problem. I have 16:9 screen, but 4:3 desktop (it's stretched sideways). How would ffdshow know that if I don't tell it?

Leak
20th June 2007, 22:04
I believe that I've taken care of the "dirty borders" problem with revision 1310; it was a case of some filters (my AviSynth filter and all deinterlacers) creating a new output frame but not setting the "dirty border" flag that causes the borders to be cleared at the end of the filter chain...

Please tell me if there's some other filter that still produces garbled borders after you add borders with the "Resize & Aspect > Borders" filter earlier on in the filter chain.

np: Collabs 3000 - Acid Trezcore (Metalism)

haruhiko_yamagata
21st June 2007, 12:23
Hi, a small (but important) feature request..

I have widescreen plasma tv with 1024x768 resolution (4:3 pixels), and I like to resize everything to exactly that.

Could you add a simple "display aspect ratio" setting? Like MPC has "Scale to 16:9 TV" etc. I'd much rather do it in ffdshow than having unnecessary resize with display adapter.

It does work manually now by setting "Aspect ratio: Manual: 1.33:1". But if I watch a ~21:9 movie, I have to change it to 1.77:1. It would be much easier to just "Keep original aspect ratio" and "Display aspect ratio: 1.33".

Thanks.
OK, I'll try on it when I have time.

Soulhunter
21st June 2007, 20:05
Any chance you gonna add AALib [and this color version you have in MPlayer] output to ffdshow?


Tia n' Bye

Jeremy Duncan
22nd June 2007, 03:54
Using CLSID's generic 1309 version of FFDshow. Leak's tweak works fine.

Log
http://files.filefront.com//;7850384;;/

http://aycu06.webshots.com/image/17685/2000320438758541855_th.jpg (http://allyoucanupload.webshots.com/v/2000320438758541855)

http://aycu06.webshots.com/image/17685/2000304959386673506_th.jpg (http://allyoucanupload.webshots.com/v/2000304959386673506)

I'm using the Seesaw config with gabest's mpc from my guide here: Link (http://forum.doom9.org/showthread.php?t=115727)

foxyshadis
22nd June 2007, 04:15
Any chance you gonna add AALib [and this color version you have in MPlayer] output to ffdshow?

Although AAlib and matrixview are cute, is there anyone who actually wants to watch movies that way, let alone needs it? They'd have to make a very strong case for incorporation.

Leak
22nd June 2007, 08:21
Although AAlib and matrixview are cute, is there anyone who actually wants to watch movies that way, let alone needs it? They'd have to make a very strong case for incorporation.
Wouldn't an AALib DirectShow renderer make more sense anyway? :D

Soulhunter
22nd June 2007, 10:45
Although AAlib and matrixview are cute, is there anyone who actually wants to watch movies that way, let alone needs it? They'd have to make a very strong case for incorporation. Probably its not that important for watching movies [tho still fun] but you could use it in AVS as well [afaik there is no AVS version of AALib] to add this cool effect to selfmade musicvideos etc...


Tia n Bye

_xxl
22nd June 2007, 20:14
Intel® Integrated Performance Primitives Code Samples can be found here:
http://www.intel.com/cd/software/products/asmo-na/eng/219967.htm#download
Intel® Integrated Performance Primitives H.264 Decoder
What is new:
new threading scheme was implemented. The decoder has got more scalability on 4cpu systems.
some algorithmic optimizations were done in CAVLC/CABAC entropy elements decoding.
new scheme of errors handling was introduced. The decoder able to play streams which have errors or missing fields/frames. Exception handling was implemented.
Known Limitations:
decoder supports decoding of files created by JM9.2 compliant encoders or latest.
decoder supports baseline, main, extended and high profiles features.
decoder can crash on some streams which have got errors or missed/redundant data.
decoder can produce artifacts on XScale based platforms.
decoder doesn’t support multi-threading for streams with slice groups.

haruhiko_yamagata
23rd June 2007, 08:21
I believe that I've taken care of the "dirty borders" problem with revision 1310; it was a case of some filters (my AviSynth filter and all deinterlacers) creating a new output frame but not setting the "dirty border" flag that causes the borders to be cleared at the end of the filter chain...

Please tell me if there's some other filter that still produces garbled borders after you add borders with the "Resize & Aspect > Borders" filter earlier on in the filter chain.

np: Collabs 3000 - Acid Trezcore (Metalism)
Thanks for the fix, it's working greatly.

cyberbeing
23rd June 2007, 12:18
Could you once again add the ability to force ffdshow deblocking for h.264 video (after in-loop deblocking). I know this is something that is an old issue and you will most likely refuse to re-add it to the UI but could you at least add a hidden registry entry or something for those (like me) that have a desire to do it?

You might ask, why do I want to force extra deblocking when h264's has in-loop deblocking?
The reason is I often run into h264 encodes that are still blocky even after in-loop blocking (usually the result of a blocky source which is poorly re-encoded at a low bitrate). Using something like fast spp deblocking at low strength (1-25%) seems to do a good job cleaning up that leftover blocking and smoothing out gradient banding without destroying the video. The ability to do this again directly in ffdshow without having to feed it raw video from another decoder would be nice.

Seb.26
27th June 2007, 14:09
Hi guys ...

I have add some (small) things to FFDShow-tryout (b2a) :

1) Allow "PC YUV" mode in output = user can disable the TV->PC level mapping done when YUV->RGB convert.

2) New work mode in level filter : "Seb's BTB&WTW" =
user define default mapping [16;235]->[0;255] or [16;235]->[16;235] ie.
Then the level filter will detect BTB & WTW and adjust the input scale = if some BTB are detected, mapping will change to [13;235]->[0;255] ie.

This 2 functions allow user to output RGB32 [0;235] with all the BTB&WTW automaticaly included without any dynamic loose

I've used tortoise and VS 2005 C++ express ... (start from beta2 source)
... How could I propose my patch to officials devs for including it in official builds ?

:thanks:

foxyshadis
27th June 2007, 14:37
Post it to the tracker (http://sourceforge.net/tracker/?group_id=173941&atid=867362), and if you want a lot of testing & discussion, post builds here too. (Like Leak did. ;p) To create the patch just select tortoise->create patch from the svn root folder, and choose all the important files.

It'd help if you can first raise yours to current SVN, in case there are any conflicts that you would know better how to take care of, but not necessary.

Sounds cool, btw.

Leak
27th June 2007, 14:46
Well, since we're on the topic of ffdshow... :D

I'm currently working on a (to my surprise rather small) patch to scale all configuration dialogs horizontally - it's already working almost correctly, I've only got to fix a few small display problems and add an option to the translation templates that lets you choose the amount of scaling. Basically I'm just taking the dialogs created in Twindow's CreateDialog (IIRC) and stretch all controls horizontally, as Windows' mechanism of creating dialogs from templates is horribly un-configurable.

It's main purpose is to give the German translation more room for it's usually longer labels *WITHOUT* resorting to using Times New Roman as dialog font... *shudder*

I'm curious - who else here that could use a bit more horizontal space for translations? :) (Or maybe for the English version, even...)

Seb.26
27th June 2007, 15:01
It'd help if you can first raise yours to current SVN, in case there are any conflicts that you would know better how to take care of, but not necessary.
Ok, I will do this 3 points ( update&merge / upload on tracker / link release here :) )

Thanks for your help ! ;)

multiblitz
27th June 2007, 16:43
Good to read that Haali and the ffdshow team have progressed on this issue ! As long as the IVTC flags are given by the the splitter and the timestamps are properly set, there isn't any need to implement RFF (that is to repeat fields in the output). This flag is only useful to display progressive content on an interlaced display (by turning a 24fps progressive movie into a 30 fps interlaced movies). The only thing that may be required is to further adjust the timestamps if RFF is detected.

Hi, guys, any news on this one (the HD-DVD Video /audio -Sync-Issue )...?

albain
28th June 2007, 14:04
Hi,

I am trying to instanciate the FFDShow decoder filter inside my application.
It works if I try to retrieve the FFDShow interfaces, but not with the IBaseFilter interface :
IffDecoder *ffdshowVideo;
CoCreateInstance(CLSID_FFDSHOW, NULL, CLSCTX_INPROC, IID_IffDecoder, (LPVOID *)&ffdshowVideo); => OK

IBaseFilter *ffdshowVideo;
CoCreateInstance(CLSID_FFDSHOW, NULL, CLSCTX_INPROC, IID_IBaseFilter, (LPVOID *)&ffdshowVideo); => KO

This is weird because FFDShow decoder implements this interface. How can it be added to a graph if it is not the case ?

Any help would be appreciated
Thanks

EDIT : never mind, I found why. This is because visual studio (or my executable) is not in the supported applications inside FFDShow configuration

_xxl
28th June 2007, 20:29
I can't commit anything to SVN.

fastplayer
28th June 2007, 21:29
^I couldn't access SVN log for the entire day. Now it works...

clsid
1st July 2007, 13:17
@all, a pre-beta3 build is now available at sourceforge. Please test it. If no big problems are reported in the next 24 hours, this build will become official beta3.

Leak
1st July 2007, 15:48
@all, a pre-beta3 build is now available at sourceforge. Please test it. If no big problems are reported in the next 24 hours, this build will become official beta3.
Whoops, I guess my configuration dialog changes commit came at a bit of an odd time then? :(

(Checking here before committing might have been a good idea, of course...)

Back them out if you want or branch on the revision before my checkin...

np: Lusine - Everything Under The Sun (Lawrence Mix) (Podgelism)

deets
1st July 2007, 18:46
i need help :(

would someone post a 64bit version of one of the updated ffdshow tryouts? the problem is this, vista 64 limits the digital output to only 64 bit players, which i think is currently only wmp11 64bit. The problem is that it seems the h.264 support in the ffdshow 64 bit i can find is broken, only outputs green.

coreavc doesnt work in the 64 wmp but does in 32 bit, but not digital out.


Dr. Pizza compiled a version, but sadly i cant find it anywhere and the link he posted is dead.

anyone help :)

Amour
1st July 2007, 20:23
@all, a pre-beta3 build is now available at sourceforge.
I just love the name of it. :D

Amour
1st July 2007, 21:51
Feature request:
I cannot read the TechSmith Screen Capture Codec with ffdshow. For a sample video:
http://www.planet-minesweeper.com/bestever/marc_shouten_exp.avi

clsid
1st July 2007, 22:03
That file plays perfectly fine with ffdshow.

haruhiko_yamagata
2nd July 2007, 00:10
i need help :(

would someone post a 64bit version of one of the updated ffdshow tryouts? the problem is this, vista 64 limits the digital output to only 64 bit players, which i think is currently only wmp11 64bit. The problem is that it seems the h.264 support in the ffdshow 64 bit i can find is broken, only outputs green.First, update your video driver if available. Next, unchecking YV12 (and YUY2?) in ffdshow output page may fix the problem.

Jeremy Duncan
2nd July 2007, 03:32
@all, a pre-beta3 build is now available at sourceforge. Please test it. If no big problems are reported in the next 24 hours, this build will become official beta3.

Works fine. :thanks:

deets
2nd July 2007, 04:33
First, update your video driver if available. Next, unchecking YV12 (and YUY2?) in ffdshow output page may fix the problem.

oh man, that worked, many thanks :)

would be great if coreavc was also 64bit so we could use that if we wanted.

edit: well i say it worked, the screen is no longer green, but something very odd is going on as the audio is out of sync and the picture gets jumpy. not upto full cpu usage though.

Amour
2nd July 2007, 14:17
That file plays perfectly fine with ffdshow.
MPC gives me:
C:\Documents and Settings\Amour\Bureau\marc_shouten_exp.avi::Output
AVI Splitter::Stream 00

Media Type 0:
--------------------------
Video: TSCC 504x364 (7794:7423) 15.00fps

AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: Unknown GUID Name {63637374-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo {05589F80-C356-11CE-BF01-00AA0055595A}
bFixedSizeSamples: 0
bTemporalCompression: 1
lSampleSize: 1
cbFormat: 88

VIDEOINFOHEADER:
rcSource: (0,0)-(0,0)
rcTarget: (0,0)-(0,0)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 666666

BITMAPINFOHEADER:
biSize: 40
biWidth: 504
biHeight: 364
biPlanes: 1
biBitCount: 24
biCompression: tscc
biSizeImage: 1100736
biXPelsPerMeter: 1142
biYPelsPerMeter: 866
biClrUsed: 0
biClrImportant: 0

pbFormat:
0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0020: 00 00 00 00 00 00 00 00 2a 2c 0a 00 00 00 00 00 ........*,......
0030: 28 00 00 00 f8 01 00 00 6c 01 00 00 01 00 18 00 (...ø...l.......
0040: 74 73 63 63 c0 cb 10 00 76 04 00 00 62 03 00 00 tsccÀË..v...b...
0050: 00 00 00 00 00 00 00 00 ........

And GSpot:
Failed to connect Output pin 0x0093624c ("Stream 00") on AVI Splitter to input pin 0x06490054 ("In") on filter 0x039bbb6c ("ffdshow Video Decoder").ConnectDirect() failed. Error: 0x80040207: [unknown]
And WMP:
0xC00D119A : Impossible to read file

clsid
2nd July 2007, 15:11
Then Techsmith is probably disabled in your ffdshow configuration.

Leak
2nd July 2007, 16:35
Then Techsmith is probably disabled in your ffdshow configuration.
It didn't work for me with drevil_xxl's 1325 build either (and yes, Techsmith was set to libavcodec), but after installing your 1245 build (the last one before the big fourCC prune) it suddenly worked, and after installing 1325 on top of that it continued to work... :confused:

Not that I'd have an idea why it worked, but it did...

np: The Orb - Sun Of (Orb Sessions Volume 1)

_xxl
2nd July 2007, 18:26
Vista DVD Maker and Windows Movie Maker crashes due to ffdshow:
http://sourceforge.net/tracker/index.php?func=detail&aid=1681694&group_id=53761&atid=471490
and
http://sourceforge.net/tracker/index.php?func=detail&aid=1697759&group_id=53761&atid=471490
Please test if true.

Fizick
3rd July 2007, 05:04
I'm curious - who else here that could use a bit more horizontal space for translations? :)
Yes, we need in space for Russian translation.

JarrettH
3rd July 2007, 07:58
good work on new beta :)

Leak
3rd July 2007, 08:55
Yes, we need in space for Russian translation.
Well, from rev. 1325 onward you can add two percent values called "horizontalScale9x"/"horizontalScaleNT" (one for each OS, similar to the font and point size) to the "[Font]" section of the translation file to scale the config dialogs horizontally; a value of 100 (the default) disables scaling, while a value of, say, 125 makes the dialogs 25% wider. :)

You'll have to re-open the config dialog after switching languages, though, as the scaling is applied as soon as the dialogs are created and can't really be done afterwards. The same goes for the fonts and point sizes...

haruhiko_yamagata
4th July 2007, 12:59
Color font is now rendered correctly.
Body, outline and shadow of the font have size, color and alpha for each.
This patch also have some x64 updates. The rendering engine is written in MMX and SSE2, which is compatible with win64.

Details and the patch (http://sourceforge.net/tracker/index.php?func=detail&aid=1747775&group_id=173941&atid=867362)
Sample image:
http://i10.tinypic.com/4pv8vh1.jpg

Kado
4th July 2007, 13:47
@haruhiko_yamagata

Great! Can't wait for a build to test the new renderer.

fastplayer
4th July 2007, 14:30
The rendering engine is written in MMX and SSE2,...
Is rendering subtitles that CPU-intensive that you have to use SIMD instructions which maybe 3 people on earth understand? These 3 people being you, a guy from AMD and another one from Intel. :D

Leak
4th July 2007, 14:48
Is rendering subtitles that CPU-intensive that you have to use SIMD instructions which maybe 3 people on earth understand? These 3 people being you, a guy from AMD and another one from Intel. :D
*cough* (http://www.agner.org/optimize/) :D

fastplayer
4th July 2007, 16:14
*cough* (http://www.agner.org/optimize/) :D
When I see assembly code, I do one thing: run for cover! :D

Anyway thanks for the link! The first manual (http://www.agner.org/optimize/optimizing_cpp.pdf) is actually pretty understandable even for a "garbage collector"-spoiled programmer like me :D

haruhiko_yamagata
4th July 2007, 16:27
Well, I have written it in SIMD to learn it. Current CPU is fast enough to run the C code.
I disliked compiler compatibility problem and used yasm.
I faced x64 calling convention problem, which messed the code. The code is platform dependent at least for 64bit code. And perhaps that's why inline asm is prefered.

fastplayer
4th July 2007, 16:40
I wouldn't mind a link to a build if you have compiled it already :)

_xxl
4th July 2007, 18:43
Color font is now rendered correctly.
Body, outline and shadow of the font have size, color and alpha for each.
This patch also have some x64 updates. The rendering engine is written in MMX and SSE2, which is compatible with win64.

win32:
http://rapidshare.com/files/41006179/ffdshow_rev1327_20070704_xxl.exe.html
win64:
http://rapidshare.com/files/41056860/ffdshow_rev1327_20070704_xxl_x64.exe.html

fastplayer
4th July 2007, 19:03
win32:
http://rapidshare.com/files/41006179/ffdshow_rev1327_20070704_xxl.exe.html
:thanks:

deets
4th July 2007, 19:33
if someone could make a 64 bit version ill buy them a pizza (a cheap one mind you!) i cant use my machine as a media player currently :(

Amour
4th July 2007, 21:19
Then Techsmith is probably disabled in your ffdshow configuration.
Right!
Now I found where the problem is. On a clean install, if you check "reset all ffdshow settings", and then you check all possible video codecs, it won't activate everything at the end of the installation.

With ffdshow beta3, you have to manually activate the following codecs one by one after a full installation:
* Other MPEG2
* Other MJPEG
* 8BPS
* Other DV
* CamStudio
* LOCO
* MSZH
* Techsmith
* ZLIB
* ZMBV
* Autodesc RLE
* ASV1/2
* ATI VCR1
* Chinese AVS
* Creative YUV
* Indeo 2
* Indeo 3
* Fraps
* Miro VideoXL
* Q-team QPEG
* Real Video
* Ultimotion
* Winnov V1
* Snow
* AviSynth

Amour
4th July 2007, 21:55
Ah, very strange!!!
I just uninstalled ffdshow again, and installed the same beta3, and now the installation is different and displays a lot more codecs. I really do not understand why it wasn't like that the previous times.

Maybe the "reset all ffdshow settings" feature will only work after two installs instead of one.

[edit]
By the way, the clsid files (including the beta ones) do not include the ffdshow logo; xxl files do.

Kado
4th July 2007, 22:09
win32:
http://rapidshare.com/files/41006179/ffdshow_rev1327_20070704_xxl.exe.html

:thanks:


MPC crashes as soon as subtitles are going to be displayed if using ffdshow subtitle renderer, windows says it's splitter.ax (haali spliter) at fault, if using MPC internal matroska spliter it says "unknown".
Anybody else tested this?

haruhiko_yamagata
5th July 2007, 09:52
:thanks:


MPC crashes as soon as subtitles are going to be displayed if using ffdshow subtitle renderer, windows says it's splitter.ax (haali spliter) at fault, if using MPC internal matroska spliter it says "unknown".
Anybody else tested this?

Oops! I had messed something just before I created the patch. Please add "%else" at line 505 in fontRenderer.asm
%ifidn __OUTPUT_FORMAT__,win64
%else
mov reg_sp, reg_bx
%endif

clsid
5th July 2007, 11:38
I have fixed the installer issue.

haruhiko_yamagata
5th July 2007, 13:30
Test build (Win32) (http://rapidshare.com/files/41149625/ffdshow_rev1328_20070705_Q.exe.html) with the font renderer patch.

deets
5th July 2007, 13:37
thanks for the 64 bit version, but once its installed, i cant open the config boxes and it wont play any files, although the icon will load up.

clsid
5th July 2007, 14:06
Vista DVD Maker and Windows Movie Maker crashes due to ffdshow:
http://sourceforge.net/tracker/index.php?func=detail&aid=1681694&group_id=53761&atid=471490
and
http://sourceforge.net/tracker/index.php?func=detail&aid=1697759&group_id=53761&atid=471490
Please test if true.
I have also seen a report from someone saying that a whole bunch of ffdshow video decoder icons appeared in the systray when loading a video in Movie Maker.

Is there anyone here with these programs installed that can confirm the incompatibility with ffdshow?

haruhiko_yamagata
5th July 2007, 14:17
thanks for the 64 bit version, but once its installed, i cant open the config boxes and it wont play any files, although the icon will load up.
It works for me.

Kado
5th July 2007, 14:26
@haruhiko_yamagata

Great! It works now. Is it possible to change subtitles resolution like mpc does? we are having a small discussion about subtitles quality here (http://forum.doom9.org/showthread.php?p=1020953#post1020953) and here (http://forum.doom9.org/showthread.php?p=1021688#post1021688).

@drevil_xxl and clsid

I have windows movie maker and after adding some videos to the timeline and messing around with it, it eventualy hangs, does not crash, just hangs and I see a bunch of haali splitter icons in the system tray but no ffdshow icons at all.

oddball
5th July 2007, 14:35
OK here we go. Using that latest build I get no subtitles with MKV files with embedded subs when I have VobSub enabled in ffdshow's subtitle settings. I have to manually click on 'Show subtitles' in stream selection. In players like GOM player there is no option to select the stream or to 'Show subtitles' so it does not work. Both seem to work OK on external .ssa or .ass subtitles etc.

Also things like drop shadows and font size do not work (Either with VobSub enabled or not). Width works. But the font size and any effects are effectively dead.

The other problem I have (Using VobSub 2.37 so not directly ffdshow related) is that if I size the font to a larger size in VobSUb and then restart the MKV it defaults back to the original font size. I think that is because it follows the rules set in the .ssa. Anyone know how to overide that?

deets
5th July 2007, 14:56
It works for me.


hmm, ill give it another go then :) is this using wmp11 64 bit?

haruhiko_yamagata
5th July 2007, 15:13
hmm, ill give it another go then :) is this using wmp11 64 bit?
No, I'm using Windows Xp64 and graphedit.

deets
5th July 2007, 15:18
in vista 64 you cant open the configs and also h.264 playback just hangs. I did get an mpeg4 + AC3 file to play so its just an issue with the configs and H.264 playback it seems :)

haruhiko_yamagata
5th July 2007, 15:28
OK here we go. Using that latest build I get no subtitles with MKV files with embedded subs when I have VobSub enabled in ffdshow's subtitle settings. I have to manually click on 'Show subtitles' in stream selection. In players like GOM player there is no option to select the stream or to 'Show subtitles' so it does not work. Both seem to work OK on external .ssa or .ass subtitles etc.

Also things like drop shadows and font size do not work (Either with VobSub enabled or not). Width works. But the font size and any effects are effectively dead.

The other problem I have (Using VobSub 2.37 so not directly ffdshow related) is that if I size the font to a larger size in VobSUb and then restart the MKV it defaults back to the original font size. I think that is because it follows the rules set in the .ssa. Anyone know how to overide that?
Please clear up.
What is embedded in "MKV files with embedded subs"?
Are you tring to modify the size, shadow or outline of vobsub? My patched is targeted for text subtitles. Vobsub resizing is not supported by my patch. Vobsub rendering is not changed.
Over-riding the size of ssa subtilte is not easy. Even if it were implemented, it would often break the layout and make the subtitle unreadable.

haruhiko_yamagata
5th July 2007, 15:29
in vista 64 you cant open the configs and also h.264 playback just hangs. I did get an mpeg4 + AC3 file to play so its just an issue with the configs and H.264 playback it seems :)
Unfortunately, I don't have Vista64.

deets
5th July 2007, 15:49
ah no worries :)
seems such a pain to compile all this for vista 64, if only MS hadnt changed the audio stuff then it wouldn't be so vital :(

does anyone have vista 64 which they could compile and test it for, if only i was smart enough :(

haruhiko_yamagata
5th July 2007, 16:22
@haruhiko_yamagata

Great! It works now. Is it possible to change subtitles resolution like mpc does? You can place subtitle filter before or after resize. Is this what you want?

we are having a small discussion about subtitles quality here (http://forum.doom9.org/showthread.php?p=1020953#post1020953) and here (http://forum.doom9.org/showthread.php?p=1021688#post1021688).
ffdshow (with my patch) is not comparable to VSfilter in quality (and any points), but ffdshow's rendering engine is potentially high quality and fast. At least RGB version is required (it's not too hard :)). Another problem is the outline.

_xxl
5th July 2007, 16:37
ffdshow_rev1328_20070705 patched:
win32
http://rapidshare.com/files/41237028/ffdshow_rev1328_20070705_xxl.exe.html
win64
http://rapidshare.com/files/41239086/ffdshow_rev1328_20070705_x64.exe.html

Delerue
6th July 2007, 00:14
I noticed that 'kernel bob' deinterlacing makes the sound get out of sync after some time with some interlaced videos. I tested with a MPEG2 DVD disc. I set 'threshold' to '0', and leave all the other options disable. The CPU usage is far from 10%. Any ideas?

P.S.: other deinterlacing methods, like '5-tap lowpass', work fine.

deets
6th July 2007, 03:12
win64
http://rapidshare.com/files/41239086/ffdshow_rev1328_20070705_x64.exe.html

sadly the 64 bit version just crashes either the config or media player given a rundll32 error :(

the only 64 bit version i can find that works (minus h.264 support) is one from march 30 2007 which is part of a klite 64 bit codec pack. (which i completely remove before installing any tests etc.)

but i really do appreciate all the work you guys are doing for us 64 bit users, if MS hadnt locked us down to 64 bit players if we want true 5.1 then this wouldn't be so vital :(

_xxl
6th July 2007, 06:31
Can you look at:
http://forum.doom9.org/showthread.php?t=127674
crashes either the config or media player given a rundll32 error
?

thuan
6th July 2007, 13:23
ffdshow_rev1328_20070705 patched:
win32
http://rapidshare.com/files/41237028/ffdshow_rev1328_20070705_xxl.exe.html
win64
http://rapidshare.com/files/41239086/ffdshow_rev1328_20070705_x64.exe.html

Using WinXP SP2 x86 up to date Core 2 Duo CPU. Enabling subtitle then unchecking "Process Whole Image" crash ffdshow. Subtitle is embedded in mkv [SS-Eclipse] Hayate no Gotoku! - 14 (1280x720 h264) [BB63F1E5].mkv.

Haruhiko-san can you add an option to draw OSD and subtitle only in the video area? I don't like the OSD/sub to appear on the black border.

EDIT: Sorry, forget the request unchecking Letter box does it. Newby ffdshow sub filter user.

LoRd_MuldeR
6th July 2007, 17:18
http://tirnanog.fate.jp/mirror/ffdshow/ffdshow_rev1328_20070706_x64.exe

Shapierian
6th July 2007, 19:42
Tremor is out of date in ffdshow-tryouts. Is there any chance of updating from xiph svn ( https://trac.xiph.org/browser/trunk/Tremor?order=date&desc=1 )? Among other things there were memleak fixes from xiph.

deets
6th July 2007, 20:01
http://tirnanog.fate.jp/mirror/ffdshow/ffdshow_rev1328_20070706_x64.exe

error loading ffdshow.ax

cant get this to work under vista 64 either :( says side by side configuration is incorrect?

deets
6th July 2007, 20:04
Can you look at:
http://forum.doom9.org/showthread.php?t=127674

?

no joy doing this either :(

celtic_druid
6th July 2007, 20:26
Worked fine here under XP x64, both in VDub and graphedit. No idea about Vista. Didn't include any MSVC runtime files though, which would I guess be a problem if your system doesn't have them.

_xxl
6th July 2007, 20:28
Can you make a more detailed bug report?
@celtic_druid
What compiler did you use for x64?
I had compiled most files with Intel 10 x64.

haruhiko_yamagata
6th July 2007, 22:42
Worked fine here under XP x64, both in VDub and graphedit. No idea about Vista. Didn't include any MSVC runtime files though, which would I guess be a problem if your system doesn't have them.
Thanks, probably that's it.

thuan
7th July 2007, 00:56
Rev. 1329 and later has the new OSD/sub patch from Haruhiko-san included right? Just want to make sure.

celtic_druid
7th July 2007, 05:01
I used MSVC for everything since in the past I have had problems with x64 builds and ICL. Probably work my way back to ICL seeing what files can be compiled with it without issues. Previously I am not sure I ever got ffdshow.ax running stable even without opt flags set. Still that would have been ICL9, not 10.

_xxl
7th July 2007, 07:50
Is this build working?
http://rapidshare.com/files/41487492/ffdshow_rev1335_20070706_x64.exe.html

SBeaver
7th July 2007, 16:22
Is this build working?
http://rapidshare.com/files/41487492/ffdshow_rev1335_20070706_x64.exe.html

This one works. most things play in graphedit x64. (running vista x64)

deets
7th July 2007, 16:47
Is this build working?
http://rapidshare.com/files/41487492/ffdshow_rev1335_20070706_x64.exe.html


some good and bad news :) it works fine, loads up the config screens without any issues etc. so thats good.

the problem is that h.264 playback is very jerky, maybe 2-3fps and is totally out of sync with the audio.

If i go back to using the 32bit version in mpc rev1328 plays just fine without any noticeable jerky playback. of course no digital out though :P

thanks for your work though :) and its good to know ffdshow audio passes through the digital to spdif in 64 bit mode.

so the only issue is getting the h.264 playback upto standard of the 32 bit version

celtic_druid
7th July 2007, 16:55
I tested H.264 playback with a 720p source and it played ok here with my build. For better performance you would need a x86_64-pc-mingw32 compile of libavcodec though.

SBeaver
7th July 2007, 16:58
I had some h264 decoding issues too but I get blocking instead, framerate seems ok but there is a lot of blocking that I don't get when using 32bit versions. Blocking mostly at the edges and it seemed like color levels changed suddenly in the middle of playback making it brighter or darker.

_xxl
7th July 2007, 17:01
Where can I find x86_64-pc-mingw32?

celtic_druid
7th July 2007, 17:14
gcc 4.3 offers a x86_64-pc-mingw32 target as does binutils, however I don't know how usable it is currently.

TheShadowRunner
7th July 2007, 18:59
the download to ffdshow_rev1334_20070706_clsid.exe on sourceforge seem to be broken (on all mirrors too)

deets
7th July 2007, 19:13
ok some more testing :)

720p seems go out of syn very slowly and 1080p start off out of sync. cpu isnt being topped out or anything.

thanks for all your work on this, im sure as more people switch to vista64 for media playback, more would need this :)

also, i had a quick test and messing about with the colorspace seemed to speed things along a little bit more, although i havent had a chance to test this, i think the nv one was the least out of sync?

skystrife
7th July 2007, 21:45
These things are probably already known, but whatever:

High quality YV12 to RGB conversion is broken in x64 builds. It doesn't crash the player, but the video is really discolored.

DeBand is broken in x64 builds. It doesn't crash the player, but the video turns into static.

I'm sure there are other things, but those I use often.

foxyshadis
7th July 2007, 21:54
If you have a dual core, then 50% is "topped out" for a single thread. ffdshow's not entirely single-threaded, but the decoding part is (it's the most cpu intensive if you aren't filtering). Do you have skip deblocking and drop frames when behind on?

zambelli
8th July 2007, 04:21
Speaking of multithreading... How comes "Queue output samples" still isn't the default option for all apps? Allegedly it improves performance even on single procs.

SealTooGreat
8th July 2007, 06:48
ffdshow_rev1340 can't recognize specific subtitle letters, although the Charset is selected as Easteurope.
rev1280 works fine.

haruhiko_yamagata
8th July 2007, 13:58
Rev. 1329 and later has the new OSD/sub patch from Haruhiko-san included right? Just want to make sure.Yes, rev 1329(1330) or later have the patch.

haruhiko_yamagata
8th July 2007, 14:02
Speaking of multithreading... How comes "Queue output samples" still isn't the default option for all apps? Allegedly it improves performance even on single procs.
It still have compatibility issue on some (ATI's) GPU.

haruhiko_yamagata
8th July 2007, 14:12
ffdshow_rev1340 can't recognize specific subtitle letters, although the Charset is selected as Easteurope.
rev1280 works fine.
Thanks, I'll commit the fix tomorrow.

haruhiko_yamagata
8th July 2007, 14:52
These things are probably already known, but whatever:

High quality YV12 to RGB conversion is broken in x64 builds. It doesn't crash the player, but the video is really discolored.

DeBand is broken in x64 builds. It doesn't crash the player, but the video turns into static.

I'm sure there are other things, but those I use often.Thank you for your reports, but I can't reproduce.

deets
8th July 2007, 21:04
thanks for all your input :)

i can now watch 1280x720p without the audio going out of sync.

I have "skip deblocking always" ticked and have "queue output samples" ticked and drop frames on delay set to 1500.

would you guys mind if i hosted this 64 bit version on my site and linked to it in my blog.

also, im sure this has been asked about lots, but would it be too time consuming to make ffdshow and its h.264 support multi threaded? and any chance of a 64 bit version of mpc so we could quit using wmp11.

i ask a lot, but i hope it dont appear greedy and im genuinely very grateful for all you guys work on this :)

clsid
8th July 2007, 21:35
The 32-bit version of MPC works perfectly fine on 64-bit Windows. Also the 32-bit ffdshow is faster than the 64-bit ffdshow.

The only reason I see to use 64-bit ffdshow is for 64-bit Media Center.

deets
8th July 2007, 21:38
64 bit vista has the digital audio output locked to 64 bit applications, hence the request :) and 64 bit media players need a 64 bit codec to work.

i would gladly go back to using 32 bit mpc and ffdshow if i could get digital out put :(

SBeaver
8th July 2007, 21:39
The 32-bit version of MPC works perfectly fine on 64-bit Windows. Also the 32-bit ffdshow is faster than the 64-bit ffdshow.

The only reason I see to use 64-bit ffdshow is for 64-bit Media Center.

Yeah that, and for everyone running vista who wants SPDIF passthrough.

edit: never mind... ^^

foxyshadis
9th July 2007, 01:35
would you guys mind if i hosted this 64 bit version on my site and linked to it in my blog.
You can, but it'll probably be out of date very quickly. Which reminds me: clsid & drevil, how about adding a Nightly Builds for x64 files target? (Even though it won't get updated as often as the others.) Or do you prefer upping the files to the existing slots instead?

also, im sure this has been asked about lots, but would it be too time consuming to make ffdshow and its h.264 support multi threaded?
Not really something any of us can control. :( You can ask the ffmpeg guys, but I'm sure they've heard it many times by now, and need an expert or a sponsor to get the work done.

and any chance of a 64 bit version of mpc so we could quit using wmp11.
Better to ask Casimir - see the new MPC builds thread in the players forum.

Delerue
9th July 2007, 14:25
I noticed that 'kernel bob' deinterlacing makes the sound get out of sync after some time with some interlaced videos. I tested with a MPEG2 DVD disc. I set 'threshold' to '0', and leave all the other options disable. The CPU usage is far (less) from 10%. Any ideas?

P.S.: other deinterlacing methods, like '5-tap lowpass', work fine.

Please, can anyone confirm this?

deets
9th July 2007, 16:56
You can, but it'll probably be out of date very quickly. Which reminds me: clsid & drevil, how about adding a Nightly Builds for x64 files target? (Even though it won't get updated as often as the others.) Or do you prefer upping the files to the existing slots instead?


Not really something any of us can control. :( You can ask the ffmpeg guys, but I'm sure they've heard it many times by now, and need an expert or a sponsor to get the work done.


Better to ask Casimir - see the new MPC builds thread in the players forum.

ah ok, i think ill link to a version just for now as im sure there are plenty of vista 64 users who are having the same issues. once (if) you guys update a 64 bit version often, ill just link to that :)

ill go harass casimir (joke!) and see what he says :D

thanks for all your help :)

_xxl
9th July 2007, 18:01
64 bit vista has the digital audio output locked to 64 bit applications, hence the request and 64 bit media players need a 64 bit codec to work.
Just curious why are you using x64?
http://www.dslreports.com/forum/remark,17772982~start=0

celtic_druid
9th July 2007, 18:16
Maybe they have 2 8800GTX's and want to use more than 2.5GB's of RAM?

Imagine if everyone decided not to use 64bit OS's because of compatibility problems. The more people use 64bit OS's, the less compatibility problems there will be because the more resources will go into solving them.

deets
9th July 2007, 18:33
Just curious why are you using x64?
http://www.dslreports.com/forum/remark,17772982~start=0

in my case, i was building up a secondary PC and I had to get a new OS, my choices were either xp (again) or vista 32 or 64. As vista was not much more than XP I decided to go with that.

after looking into things, I found I had all the drivers I would need for vista 64 so decided to go for that as my cpu is 64 bit as well :p

i of course was not aware of the 64 bit lock down for spdif or even that my rpc1 patched DVD drive wouldnt work (although this is true of 32/64 vista)

but the true 64 bit apps i use, such as wmp11 and bon echo (firefox) appear a little faster than the 32 bit version on both vista and xp.

If i can get an ffdshow copy upto its 32bit speed or a 64 bit version of coreavc, then in my setup everything would be good :)

im sure more and more will go vista 64 so once these small issues are sorted, all will be cool!

Zach
10th July 2007, 00:45
I asked this yesterday in the Newbies forum (link (http://forum.doom9.org/showthread.php?t=127799)), but in hindsight, I should have asked this here. (But I didn't even know about this thread! :o) Well, this is actually a different question, so this isn't really a cross-post.


If I install the CCCP (http://www.cccp-project.net/), since that is rarely updated, will I break it if afterwards I install the latest ffdshow package from this thread?

In addition, in another thread, I read the Vista Codec pack is updated every couple of weeks. Until the CCCP, I've always shied away from codec packs, but should I reconsider and just abandon the CCCP just install (and subsequently update) the Vista Codec packs?

Cryptum
10th July 2007, 00:56
You can test CCCP beta version ;)
-> http://www.cccp-project.net/beta/

The latest has normaly ffdshow beta3 (or at least a recent tryouts version)

Da Cryptum

Ryokurin
10th July 2007, 01:57
In addition, in another thread, I read the Vista Codec pack is updated every couple of weeks. Until the CCCP, I've always shied away from codec packs, but should I reconsider and just abandon the CCCP just install (and subsequently update) the Vista Codec packs?

If you keep up with what they are changing, typically they are updating the FFDshow in the Vista Codec pack to a newer tryout version, or fixing some bug. Frankly using any codec pack can potentially be bad news and most people here will say to install what you want manually, but for the most part Vista Codec pack is ok.

check
10th July 2007, 10:25
CCCP is a 32bit codec pack that includes its own build of ffdshow, heavily based on tryouts patches (there are only a few differences now). There is no need ever to install multiple ffdshow versions, just pick one to install and don't install duplicates.

If you want to use official tryouts builds instead of the CCCP's, just do not install CCCP's ffdshow.

As for Vista Codec Pack, there should be no reason to need both this and CCCP installed.

haruhiko_yamagata
10th July 2007, 10:40
If CCCP (or anybody) is planing to release a build based on beta3, I would like to recommend to patch by rev 1340,1342 and if possible rev 1331.

Maybe that's what we should do as beta3a.

SBeaver
10th July 2007, 10:45
I had to install vista codec pack x64 to get splitters/demuxers for mkv and other containers to work in WMP.
I don't use their ffdshow x64 build becase it's so old.
haalis media splitter doesn't seem to work at all with x64 players.

One thing relevant to this thread that I'd like to mention:
When you have two ffdshow builds installed at the same time (one 32bit and one 64bit), they seem to share the settings so if I turn on a filter or change some setting in x64 this affects x86 too.
So you might want to keep that in mind in the future builds, maybe you could let them have separate settings.

Perhaps it would be feasible to make a hybrid build that works as x64 but can fall back to 32bit when used in 32bit players. (MS must have something like this since their codecs seem to work for both).
An easier way might be to stay 32bit but to implement some kind of workaround for the spdif output, sending it on to a x64 app so that you can still get passthrough on 32bit players.

Has anyone considered this or is that up to ffmpegs' team to worry about?

_xxl
10th July 2007, 11:18
When you have two ffdshow builds installed at the same time...
You shouldn't.
SVN is down.

celtic_druid
10th July 2007, 11:20
Last I checked all the splitters, etc. installed by the Vista x64 pack were just my guliverkli builds from some time back, which you can still download as separate *.ax files and register.

Personally I think that the settings should stay shared, although it wouldn't be hard to add a suffix like 64 to the registry key. I think the next ffdshow build I do will be an x64 installer that installs 64bit and 32bit builds. Better to install two matching builds at the same time I think.

What happens with S/PDIF output with say mplayer?

SBeaver
10th July 2007, 12:01
Last I checked all the splitters, etc. installed by the Vista x64 pack were just my guliverkli builds from some time back, which you can still download as separate *.ax files and register.

Personally I think that the settings should stay shared, although it wouldn't be hard to add a suffix like 64 to the registry key. I think the next ffdshow build I do will be an x64 installer that installs 64bit and 32bit builds. Better to install two matching builds at the same time I think.

What happens with S/PDIF output with say mplayer?

Sounds like a good idea. I don't really mind shared settings either, but when one thing works for 32bit but not for 64bit then you get into all sorts of trouble and have to change settings between every file you want to play.
But as you said, if you match the two builds there should be a lot less such issues, maybe it wont matter at all.

Zach
10th July 2007, 12:32
If you want to use official tryouts builds instead of the CCCP's, just do not install CCCP's ffdshow.
heh... it's usually the simplest and most obvious solutions that allude me sometimes. :)

As for Vista Codec Pack, there should be no reason to need both this and CCCP installed.
No, of course not.

I had to install vista codec pack x64 to get splitters/demuxers for mkv and other containers to work in WMP.
I don't use their ffdshow x64 build becase it's so old.
haalis media splitter doesn't seem to work at all with x64 players.
Are you talking about on the default 32-bit WMP11?

When I had Vista64 installed a few weeks ago (before I went back to XP briefly), I installed nVidia's mpeg codec, DivX, xvid, ac3filter, and then the current CCCP (all in that order), and I had no problems decoding anything: mpg, divx, xvid, mkv, and even ogm, though ogm was a surprise--I wasn't expecting that!

Now if you are talking about the 64-bit WMP11, well, I never bothered even running that except maybe once, so I don't know.

SBeaver
10th July 2007, 12:36
yes that was regarding wmp x64

_xxl
10th July 2007, 13:46
http://www.ffdshow.info/ domain name for sale?
http://i14.tinypic.com/6c7wh1t.jpg

Liisachan
10th July 2007, 14:14
maybe the domain was expired and has been "squatted" (or "camped") by a money-mad registerer. I'd say ignoring is the best strategy.

haruhiko_yamagata
10th July 2007, 14:35
I noticed that 'kernel bob' deinterlacing makes the sound get out of sync after some time with some interlaced videos. I tested with a MPEG2 DVD disc. I set 'threshold' to '0', and leave all the other options disable. The CPU usage is far from 10%. Any ideas?

P.S.: other deinterlacing methods, like '5-tap lowpass', work fine.
I can't reproduce. Do you have any sample that you can send to us?

clsid
10th July 2007, 17:11
@all

SVN has been relocated to "ffdshow-tryout.svn.sourceforge.net"

bob0r
11th July 2007, 08:14
Too lazy to read back, not sure if explained at all:
ffdshow_rev1348_20070710_clsid.exe size (Bytes): 4072905
ffdshow_rev1349_20070710_xxl.exe size (Bytes): 3764984
Why is there such difference in size again? (both are generic builds)

_xxl
11th July 2007, 08:52
My build is only ansi.Clsid build is ansi + unicode.

thuan
11th July 2007, 10:21
Look like maybe MS or Intel mess up. After I install this http://support.microsoft.com/?kbid=936357 I use a Core2Duo on XPSP2 up to date. Playing certain h264 file ([AniYoshi]_School_Days_-_01_(h264)_[02F5F33E].mkv) with ffdshow_rev1334_20070706_clsid_sse_icl9.exe result in a access violation.
ZoomPlayler pop up a message box: Access violation 035C1A12 in module 'ffdshow.ax'. Read of address 02687003.
Before I've played that file fine. I'll uninstall the hotfix and report later.

Report: Sorry not the hotfix problem. It's the bug where certain h264 file will make ffdshow crash if ffdshow.ax compiled with icl9 again. Previously, I have played other files before that file so it plays ok.

thuan
11th July 2007, 10:51
My build is only ansi.Clsid build is ansi + unicode.
Also clsid build has some dlls compiled with icl9.

_xxl
11th July 2007, 11:25
Playing certain h264 file ([AniYoshi]_School_Days_-_01_(h264)_[02F5F33E].mkv) with ffdshow_rev1334_20070706_clsid_sse_icl9.exe result in a access violation.
Can you provide a small sample?It crashes if embedded subtitles are disabled?

thuan
11th July 2007, 11:45
The file has no embedded sub and it crashes whether sub filter is enabled or not. You can get a small sample here (http://rapidshare.com/files/42280597/_AniYoshi__School_Days_-_01__h264___02F5F33E_-001.mkv.html).

_xxl
11th July 2007, 13:05
It doesn't crash with ffdshow.ax msvc 2003 build.

vinetu
11th July 2007, 13:14
thuan the sample you provide plays fine here with both 1349 and 1348 builds from drevil_xxl and from clsid. I'm useing MPC, so I guess the splitter is internal MPC matroska splitter.What's the splitter filter in your machine?
Core2Duo E4300,WinXP SP2 up to date,Radeon 9600 AGP,2GB RAM.

Mangix
11th July 2007, 14:25
i just tried it with ffdshow rev1341 and when i tried playing it, it froze. CoreAVC works fine though. Splitter that i used was Haali(latest version).

thuan
11th July 2007, 14:27
Yeah, I knew as I said in my previous post. This is a bug that certain h264 file encoded by certain x264 revision make ffdshow.ax compiled by icl crash.
As this bug isn't included in the bug list in the first post anymore. I thought it fixed.

haruhiko_yamagata
11th July 2007, 15:24
Yeah, I knew as I said in my previous post. This is a bug that certain h264 file encoded by certain x264 revision make ffdshow.ax compiled by icl crash.
As this bug isn't included in the bug list in the first post anymore. I thought it fixed.
It's similar but different issue to rev 1280 issue.
I found why and going to fix it soon.

Delerue
11th July 2007, 17:20
I can't reproduce. Do you have any sample that you can send to us?

I would like to help, but I don't know how can I extract a sample from a DVD without changing its original format. Can you tell me how?

Thanks.

Px
11th July 2007, 18:01
I would like to help, but I don't know how can I extract a sample from a DVD without changing its original format. Can you tell me how?
Try with TMPGEnc

zambelli
12th July 2007, 09:01
Perhaps it would be feasible to make a hybrid build that works as x64 but can fall back to 32bit when used in 32bit players. (MS must have something like this since their codecs seem to work for both).
That's not possible. A compiled binary is either 32-bit or 64-bit - it can't be both.
Microsoft codecs in Vista x64 exist as separate binaries in both SysWOW64 and System32 folders.

SBeaver
12th July 2007, 09:13
That's not possible. A compiled binary is either 32-bit or 64-bit - it can't be both.
Microsoft codecs in Vista x64 exist as separate binaries in both SysWOW64 and System32 folders.

was thinking more of a 64bit binary that can support 32bit players
on second thought I don't know exactly what I was thinking, just some way to make it work for both 64 and 32bit players with as little trouble as possible.

Inventive Software
12th July 2007, 09:39
Bundle it twice in the installer. Would make the installer quite big mind, but would satisfy your needs. ;)

Separate builds work fine at the moment, because there's a lot of things different between 32bit and 64bit, file locations, registry settings etc.

vlada
12th July 2007, 11:25
I would like to help, but I don't know how can I extract a sample from a DVD without changing its original format. Can you tell me how?

Thanks.

It's difficult. Your problem might have something to do with the way the files are muxed. And I'm afraid that just every tool you use will remux the video. But anyway you can try to cut the video and see if it still gets out-of-sync.

Beside TMPGEnc you can try Avidemux or Womble MPEG Wizard (a free fully functional trial version is available).

in_awe
12th July 2007, 22:19
Despite the expanded AviSynth options in the newer ffdshow tryouts, is it still not possible to change the frame rate of video? I'm using Zoom Player + DScaler 5 + the latest ffdshow tryout beta + the latest AviSynth to play DVDs. I'm trying to change the frame rate from 24fps to 60fps with some interpolated frames to even out judder on a 60hz fixed rate display. I've tried the various pulldown settings in the AviSynth section of ffdshow (smooth timestamps is quite nice for display on a 72hz capable display BTW - thanks Leak!) but all I get is slow motion video with stuttery sound. The ffdshow OSD shows the frame duration changing, but that isn't reflected in the speed the video actually plays at.

If the frame rate is still fixed, is that something that couldn't be changed without a full rewrite of ffdshow (similar to trying to add vfr to avisynth) or would it be possible with minor code changes?

On a related note, are the original frame durations the OSD lists (alternating between 33ms and 50ms) generated by ffdshow, or are those coming from DScaler 5 (or perhaps even Zoom Player)? I know they are based on the DVD's flags, but I'm wondering which program is interpreting those flags to decide the frame durations.

If all of this has been asked previously then I appologize for asking it again. I've been reading through this thread, but am only back to about page 70 so far.

Thanks in advance for any replies.

LoRd_MuldeR
12th July 2007, 22:33
was thinking more of a 64bit binary that can support 32bit players

32-Bit executables can not load 64-Bit DLLs and vice versa...

Delerue
12th July 2007, 22:43
I can't reproduce. Do you have any sample that you can send to us?

Nevermind... I can't reproduce anymore. Really odd. :|

Sorry for this wrong report.

Delerue
12th July 2007, 22:48
Despite the expanded AviSynth options in the newer ffdshow tryouts, is it still not possible to change the frame rate of video?

The only way I know to do it is using MVTools AVYSynth plugin; to be more precise, the MVFLowFPS script. Take a look at this thread here (http://forum.doom9.org/showthread.php?t=84770&page=20) (look at my first post at this page).

foxyshadis
12th July 2007, 23:20
On a related note, are the original frame durations the OSD lists (alternating between 33ms and 50ms) generated by ffdshow, or are those coming from DScaler 5 (or perhaps even Zoom Player)? I know they are based on the DVD's flags, but I'm wondering which program is interpreting those flags to decide the frame durations.

Generated by the splitter, based on some combination of the framerate, default duration, and frame timestamps, depending on the container. Occasionally modified by the decoder, deinterlacer, or anything else on the way to the renderer.

The issue sounds weird - it should always be playing at full speed, when you use ffdshow bobbing or avisynth, no matter how many frames you insert, unless the cpu just can't keep up at all. Then again, I haven't used dscaler as decoder in ages. What is the exact method you're using to interpolate frames? And for completeness, what renderer are you using, and is queuing enabled and working?

Delerue
13th July 2007, 02:14
Is there a simple way to add a subtitle in a DVD (ripped to HD) using FFDShow + MPC? I mean, I just want to watch the DVD in the computer, so I don't want to demux and stuff like that.

The only way I know to do it is using SMPlayer. It works perfectly, but it lacks some of the good filters/configurations we have in FFDShow.

in_awe
13th July 2007, 02:37
foxyshadis,

OK, I'm an idiot. I never even checked CPU utilization. In my simplest script, all I was doing was a SelectEvery(2,0,0,1,1,1) followed by an Info(). I assumed that those were such simple commands that there was no way they would max out my CPU (a P4 2.6Ghz - kinda old, but not TOO bad). I was wrong. The Info() command gobbles up a lot of CPU! I kept including it to see what AviSynth was doing internally. Once I knocked that out, no more stuttering.

Next I tested the script that was my original goal:
AssumeFPS(24000,1001)
ConvertFPS(47.952)
SelectEvery(4,0,0,1,2,2)

Basically, frames AB become AAxBB, with x being a blend of A and B. 24 frames become 60 with somewhat reduced judder. This script now works on my system, but drives my CPU to about 80%. I'd like to slip a Laczos resize in there to 1360x768 (my LCD resolution) and maybe a better interpolation than blend, but would need to bring down CPU utilization first. Any suggestions on a less CPU intensive method for what I'm trying?

I'm quite surprised by how much CPU the AviSynth commands require. ConvertFPS is just blending frames. SelectEvery is just specifying which frames to use. Neither seems like it should take much CPU to do. I must be missing something.

Wait... I just enabled queueing and that dropped CPU usage to ~65%. It looks like about half of that is ffshow/AviSynth. Better... we'll see if that leaves enough room for the resize.

Thanks again for the help!

chros
13th July 2007, 09:42
Is there a simple way to add a subtitle in a DVD (ripped to HD) using FFDShow + MPC?
In MPC: File -> Load Subtitle isn't working after playback started?

Delerue
13th July 2007, 14:32
In MPC: File -> Load Subtitle isn't working after playback started?

It works, but stutters a lot. I would like to use DirectVobSub or FFDShow subtitle filter. Any idea?

foxyshadis
14th July 2007, 06:26
Info() is so heavy because it uses GDI antialiasing. (Very slow, not meant for playback as you saw.) The OSD routines ffdshow and MPC use are much lighter, and it's too bad avisynth doesn't use those.

I'm not sure what you could do past convertfps. MVtools means much more cpu. There aren't any fast Trimension-type plugins, although you might be able to cut mvtools down enough that it's a little faster.

Dr Pizza
14th July 2007, 13:08
btw, I am still working on 64-bit builds, if people are interested, but I have had some hardware failures which have set me back a bit. I think I should be up and running now. There are a bunch of things I saw the other day that looked dubious (pointer truncations and so on) that I am wanting to look at, and I hope I will now get a chance to do so.

Dr Pizza
14th July 2007, 13:22
High quality YV12 to RGB conversion is broken in x64 builds. It doesn't crash the player, but the video is really discolored.
I found that but it looks like someone has fixed it; it's now not discoloured (it was going all pink before), but it does seem to be unusably slow.

The only thing that I know of that uses RGB by default is Windows' thumbnailing; with the broken conversion the thumbnails go all pink. I disabled high quality and rebuilt my thumbnails to resolve the issue.

Dr Pizza
14th July 2007, 13:47
I am also writing a (simple) 64-bit video application (http://www.codeplex.com/awkawk/) if people want to try that; quicker than WMP (and less annoying when it crashes) and less ugly than graphedit.

I hear it has some weird issues where its menu gets overwritten by the video or something, so any advice that'll help me fix that would be appreciated. :)

SBeaver
14th July 2007, 23:44
I am also writing a (simple) 64-bit video application (http://www.codeplex.com/awkawk/) if people want to try that; quicker than WMP (and less annoying when it crashes) and less ugly than graphedit.

I hear it has some weird issues where its menu gets overwritten by the video or something, so any advice that'll help me fix that would be appreciated. :)

Wonderful!
If you havn't already, make your own thread about the player in the software player forums, I'm sure a lot of people will be interested and will lend a hand with testing and suggestions and more.
I'm very happy to try
:helpful:

btw, does it have built in splitters for evo, mkv and such? that might be helpful. (don't have time to check, have to sleep, bye)

Dr Pizza
15th July 2007, 00:17
Oh, it's not anything like ready for people to really look at. Too many weird things happen unexpectedly.

zambelli
15th July 2007, 04:00
Question for the Ffdshow tryouts dev team:
Is there some sort of plan or timeline for a "final" Ffdshow release? Will the beta releases just continue indefinitely (beta27?) or will at some point Ffdshow finally get a v1.0 release? :)

zhitch
15th July 2007, 04:45
I just wanted to thank all the ffdshow devs and especially Dr Pizza for his work on the X64 build.... and to all who help make such a wonderfully useful and free prog... thanks again

_xxl
15th July 2007, 08:13
There are some issues to fix.

Px
15th July 2007, 14:10
Small remark:
Nightly builds by xxl
Latest x64 Notes (2007-07-13 11:39)
ffdshow_rev1352_20070713_x64.exe Mirror 3418678 154 IA64 None
It's not IA64, it's x86_64 or AMD64, IA64 - Itanium.....

Warpman
15th July 2007, 15:36
seems my old divx 5.0 encodes stopped working :( (using rev 1340)

sample --> http://rapidshare.com/files/43055685/sample_dx5.avi.html

(2mb)

the file works fine in vlc/mplayer :thanks:

Delerue
15th July 2007, 16:54
seems my old divx 5.0 encodes stopped working :( (using rev 1340)

sample --> http://rapidshare.com/files/43055685/sample_dx5.avi.html

With 1350 works perfectly here.

clsid
15th July 2007, 16:56
That sample plays OK here (rev1355).

Leak
15th July 2007, 18:54
I would like to help, but I don't know how can I extract a sample from a DVD without changing its original format. Can you tell me how?
Maybe you could blank everything but the part you're after with VOB Blanker - that should give you pretty much the same DVD, but with everything unneccessary blanked and thus much smaller...

np: The Orb - Ultraworld Probe Six - Perpetual Dawn (Adventures Beyond The Ultraworld (Disc 2))

haruhiko_yamagata
16th July 2007, 05:50
I have written RGB version of text subtitle and OSD renderer. The rendering quality (in the detail) is improved.
Patch (http://sourceforge.net/tracker/index.php?func=detail&aid=1747775&group_id=173941&atid=867362)
Binary for testing (http://rapidshare.com/files/43166692/ffdshow_rev1355_20070716_Q.exe.html).

RGB mode is used if the output color space is RGB and no other image filter is used in the downstream of the filter chain (automatic).
OSD is listed at the top of the filter chain, but in fact it's added to the last. So if the output color space is RGB, OSD is rendered in RGB mode.

Warpman
16th July 2007, 13:35
That sample plays OK here (rev1355).

just updated to 1355 as well ... stil no output with libavcodec. Selecting "xvid" works fine though :(

btw im using haali to split avi files, but i dont thing that is an issue cause it didn't work muxed in mkv either...

Ive got an AMD XP 2500+ (Barton core) if that matters
Output colorspace is YUY 2


AHH got it!
The Error only appers if under Decoder options
Workaround encoder bugs
Autodetect is unchecked!

deets
16th July 2007, 17:01
oh and thanks for putting the x64 version on the main sourceforge page with the other versions :)

magnusr
16th July 2007, 20:44
Trying the latest xxl x64 build on my vista 64bit system with a intel core 2 gives the following error when trying to open video or audio decoder configuration: Error loading ffdshow.ax

From the application log in windows:

Activation context generation failed for "C:\Program Files\ffdshow\ffdshow.ax".Error in manifest or policy file "" on line . A component version required by the application conflicts with another component version already active. Conflicting components are:. Component 1: C:\Windows\WinSxS\manifests\amd64_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.312_none_c905b7a4878399c1.manifest. Component 2: C:\Program Files\ffdshow\Microsoft.VC80.CRT.MANIFEST.

skystrife
16th July 2007, 23:14
I have a similar issue to magnusr. When I install the latest x64 build from sourceforge, however, everything is broken for me. Audio decoder config, video decoder config, vfw config (which never worked on 32-bit either, but I could care less). It won't decode any type of video anymore, either. My guess is something went awry when it was compiled.

squid_80
17th July 2007, 04:02
Works just fine here.

Go forth and install: http://www.microsoft.com/downloads/details.aspx?FamilyID=EB4EBE2D-33C0-4A47-9DD4-B9A6D7BD44DA&displaylang=en

magnusr
17th July 2007, 10:18
Works just fine here.

Go forth and install: http://www.microsoft.com/downloads/details.aspx?FamilyID=EB4EBE2D-33C0-4A47-9DD4-B9A6D7BD44DA&displaylang=en

During the innstalation of Catalyst 7.6 for Vista x64 I got Microsoft Visual C++ 2005 Redistributable Package (x64). But it dosent say SP1 when i look at it on add remove program.

Update:

The link you are linking to says: Supported Operating Systems: Windows 2000; Windows Server 2003; Windows XP.

Didnt notice that until after installation. Now I have to exact same lines under control panel Programs:

Microsoft Visual C++ 2005 Redistributable (x64)
Microsoft Visual C++ 2005 Redistributable (x64)

Maybe I should remove the version you linked to since it doent say vista under supported operating systems? Besides it dosent say SP1 under programs. Just two of the same.

Ill wait with removing it until ive tested ffdshow. On RDP from work atm.

Dr Pizza
17th July 2007, 10:33
x86 2005 SP1 redist: http://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647

x64 2005 SP1 redist: http://www.microsoft.com/downloads/details.aspx?familyid=EB4EBE2D-33C0-4A47-9DD4-B9A6D7BD44DA

No idea why they don't list Vista, but it certainly works.

magnusr
17th July 2007, 10:38
x86 2005 SP1 redist: http://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647

x64 2005 SP1 redist: http://www.microsoft.com/downloads/details.aspx?familyid=EB4EBE2D-33C0-4A47-9DD4-B9A6D7BD44DA

No idea why they don't list Vista, but it certainly works.

Weird since now I have two exact same lines under programs (previously known as add remove programs). Neither mentions SP1. But I did install the version that you guys linked to who says SP1 in the name.

Anyway on rdp to home atm, ill test ffdshow when i get home.

clsid
17th July 2007, 11:34
ffdshow should be using the local assembly that is bundled with it. So installing the runtime should not be needed. Perhaps the bundled DLL is not the correct version, not matching the manifest?

squid_80
17th July 2007, 11:52
The microsoft.vc80.crt.manifest file doesn't match msvcr80.dll. Also I'm not sure it's legal to redistribute the .dll in this way.
For your convenience, we have provided the following folders for use when redistributing VC++ runtime files. Subject to the license terms for the software, you may redistribute the folder (unmodified) in the application local folder as a sub-folder with no change to the folder name. You may also redistribute all the files (*.dll and *.manifest) within a folder, listed below the folder for your convenience, as an entire set.So you have to redistribute all the files in the folder, not just msvcr80.dll.

haruhiko_yamagata
17th July 2007, 14:23
The microsoft.vc80.crt.manifest file doesn't match msvcr80.dll.
True, should be updated.
Also I'm not sure it's legal to redistribute the .dll in this way.
So you have to redistribute all the files in the folder, not just msvcr80.dll.
Japanese version of redist.txt says, "また、フォルダに含まれるすべてのファイル (*.dll および *.manifest) を再頒布することもできます。"
Which means we can redistribute any of the files.

squid_80
17th July 2007, 14:31
I guess you mean this part (I can't read your quote):

You may also redistribute all the files (*.dll and *.manifest) within a folder, listed below the folder for your convenience, as an entire set.

_xxl
17th July 2007, 14:37
Is "VISTA_SPDIF" needed in x64 build?I don't have win64 and can't test this.

Episode
17th July 2007, 14:50
@squid_80, notice that it says word may, not must.

haruhiko_yamagata
17th July 2007, 15:40
I guess you mean this part (I can't read your quote):
Yes, Japanese version does not have as an entire set. Of course, Japanese version is as official as English one.

Dr Pizza
17th July 2007, 20:40
Is "VISTA_SPDIF" needed in x64 build?I don't have win64 and can't test this.

Dunno. I don't have anything attached to the SPDIF headers on my motherboard, so I have no real way of knowing what's going on with that.

clsid
17th July 2007, 20:41
ffdshow tryouts is a nominee for the SourceForge.net Community Choice Awards in the category "Best Project for Multimedia".

Vote here:
http://sourceforge.net/community/index.php/landing-pages/cca07/

In the unlikely event that ffdshow wins, we may choose a charity that will receive a donation.

Are there any suggestions for a good charity? I was thinking about something like the World Wildlife Foundation or an aids or cancer foundation.

magnusr
17th July 2007, 20:42
Is "VISTA_SPDIF" needed in x64 build?I don't have win64 and can't test this.

Sorry cant answer that since i stopped using spdif (spdif cant handle 6 channel pcm audio, only 2). Need 6 channel pcm audio for HD-DVD so I can enjoy DD+, dts-hd etc.

And can you belive this my ati 2600xt cant handle dd+ or dts-hd throuh its hdmi ouput (only 2 channel pcm, ac3 and dts here also). Its like a nerfed hdmi with spdif built in.

Atleast my PS3 gets 6 channel pcm over the hdmi cable :)

Getting off topic here. sorry.

Dr Pizza
17th July 2007, 20:43
Wouldn't it ultimately be easier/more robust if the installer, instead of bundling the .dll and the manifest, just bundled the redist .exe? That way the .ax and other .dlls wouldn't need any special manifest file or anything (just the embedded manifest the linker puts in automatically). I suppose it would make the installer a little larger.

Dr Pizza
17th July 2007, 20:44
@squid_80, notice that it says word may, not must.

"may" confers permission, not ability; you have permission to (i.e. you "may") distribute the files as a complete set. It says nothing about distributing partial sets. And because it doesn't say you can, it means you can't.

haruhiko_yamagata
18th July 2007, 00:02
Wouldn't it ultimately be easier/more robust if the installer, instead of bundling the .dll and the manifest, just bundled the redist .exe? That way the .ax and other .dlls wouldn't need any special manifest file or anything (just the embedded manifest the linker puts in automatically). I suppose it would make the installer a little larger.ffdshow.ax.manifext and ff_vfw.dll.manifest is required to enable Xp visual style for Windows Xp x64, even with the redist installed. I think it's a bug of Windows Xp. Windows Vista has different behavior.

Dr Pizza
18th July 2007, 01:03
XP x64 is frankly pretty unloved by MS; that sure sounds like a bug, as I don't think visual styles should need a separate manifest.

Leak
18th July 2007, 16:47
Is there a reason EVR isn't in the list of compatible filters for output format changes? I'd have a patch that adds it ready to go unless there's some showstopper problem with it that I'm unaware of - seems to work fine for me in XP with .Net 3.0 installed and MPC Homecinema 1.0.9.0 when I uncheck the "compatible only" option.

magnusr
18th July 2007, 17:26
lol never noticed before now. Vista x64s media player runs in 32 bits by default.

Just downloaded the normal ffdshow from clid and it works fine. LOL.

Its possible to change media player to operate in 64bits though; http://www.windows-now.com/blogs/chris123nt/archive/2006/10/10/WMP-on-Vista-x64.aspx

deets
18th July 2007, 18:11
yeah it was odd :P and spdif out doesnt work in wmp 32bit, only 64 bit! (in fact only worked in any 64bit media player)

but there is a hotfix to sort that out...

clsid
18th July 2007, 18:18
Is there a reason EVR isn't in the list of compatible filters for output format changes? I'd have a patch that adds it ready to go unless there's some showstopper problem with it that I'm unaware of - seems to work fine for me in XP with .Net 3.0 installed and MPC Homecinema 1.0.9.0 when I uncheck the "compatible only" option.I would say commit it. If it does fail for some reason it can always be reverted.


@all, there is a new ICL9 build online at sourceforge. Please test the following output option in ffdshow in this build: "High quality YV12 to RGB conversion". Some changes were made to it (not yet commited to SVN).

Thunderbolt8
18th July 2007, 19:43
ffdshow uses libavcodec for decoding. That is not yet multi threaded. So harass the FFmpeg devs :p

I dont know anything about that stuff, but is it right that the mpeg stuff is also an integrated part of windows, or made by other guys as installable codecs ? Here are lots of skilled people around, wouldnt it be possible for them to alter the file and be able to bring out a modified version that supports multithreading ?

Leak
18th July 2007, 19:56
I would say commit it. If it does fail for some reason it can always be reverted.
Right - done.

_xxl
18th July 2007, 21:08
A new test build.YV12->RGB32 conversion.
Bin:
http://rapidshare.com/files/43674999/ffdshow_rev1361_20070718_xxl.exe.html
Patch by haruhiko_yamagata:
http://rapidshare.com/files/43675373/patch.patch.html

haruhiko_yamagata
18th July 2007, 23:51
A new test build.YV12->RGB32 conversion.
Bin:
http://rapidshare.com/files/43674999/ffdshow_rev1361_20070718_xxl.exe.html
Patch by haruhiko_yamagata:
http://rapidshare.com/files/43675373/patch.patch.html
Thank you.

The patch updates Xvid's YV12<->RGB color space conversion. The new one is written in yasm (32bit: mmx, 64bit: sse2). For 32bit version, it is almost untouched. Just imported from Xvid project.
It has been MMX intrinsic in ffdshow. MSVC compiles fine, while ICL9 does not optimally. Yasm version is faster than ICL9 version.

x64 version is win64-SSE2 (ported by me).
On x64, MMX intrinsic is not compiled properly - very slow. This version is much faster. I'll send this to Xvid devs.

thuan
19th July 2007, 14:01
ffdshow_rev1358_20070712_clsid_sse_icl9 crashs when rendering this [Mendoi]_Kiss_Dum_-_Engage_Planet_01_[127FA4DC].mkv with ffdshow subtitle filter after some seeking around or enable and disable the sub filter consecutive. Without subtitle rendering the file works ok with this ffdshow version. You can find the sample here (http://rapidshare.com/files/43803019/_Mendoi__Kiss_Dum_-_Engage_Planet_01__127FA4DC_-017.mkv.html), I have tested the sample it does crash when seeking over half the sample.

I hope to see when the internal sub filter can handle karaoke.

haruhiko_yamagata
19th July 2007, 14:38
ffdshow_rev1358_20070712_clsid_sse_icl9 crashs when rendering this [Mendoi]_Kiss_Dum_-_Engage_Planet_01_[127FA4DC].mkv with ffdshow subtitle filter after some seeking around or enable and disable the sub filter consecutive. Without subtitle rendering the file works ok with this ffdshow version. You can find the sample here (http://rapidshare.com/files/43803019/_Mendoi__Kiss_Dum_-_Engage_Planet_01__127FA4DC_-017.mkv.html), I have tested the sample it does crash when seeking over half the sample.

I hope to see when the internal sub filter can handle karaoke.Thank you, but I can't reproduce until now.
Karaoke, fade-in & fade-out, word wrapping, collisions, thicker outlines... many things to do about subtitle. I just like to code for subtitles, it's fun.

thuan
19th July 2007, 16:17
Weird it happens consistently for me with either the build I mentioned and with this build http://rapidshare.com/files/43674999/ffdshow_rev1361_20070718_xxl.exe.html too. No need to seek around I only let the video play till a line appears and it crashes. Tested on my main computer (a Core 2) and my old one (a Sempron T-bred no SSE2). Both have WinXPSP2 up to date.

Eragon4ever
19th July 2007, 16:34
Can't reproduce either.
Using ffdshow_rev1358_20070712_clsid_sse_icl9 on P4HT, XP SP2.

clsid
19th July 2007, 16:55
Does it also happen if you first uninstall and then do a fresh install with default settings?

Eragon4ever
19th July 2007, 19:26
http://ffdshow-tryout.sourceforge.net/phpBB2/viewtopic.php?t=437

thuan
20th July 2007, 06:03
Does it also happen if you first uninstall and then do a fresh install with default settings?
Yes, it does happen.

Later eps of that series (Kiss Dum fansubbed by Mendoi) has another problem. It looks like a libavcodec h264 decoder problem though as some times after seeking the video is messed up or stuck till a I-frame is decoded. I can't be sure which ep as I have watched this long ago but I'm sure it's one of the recent ones.

_xxl
20th July 2007, 07:37
It looks like a libavcodec h264 decoder problem though as some times after seeking the video is messed up or stuck till a I-frame is decoded.
Mplayer or ffmpeg are working?
If not report here:
http://ffmpeg.mplayerhq.hu/mailinglists.html

thuan
20th July 2007, 10:15
Ok, I will test when I have time. Forgot to mention that CoreAVC doesn't have this problem.

TheShadowRunner
23rd July 2007, 18:59
The "Restore position" feature doesn't seem to work anymore on build 1355 (and probably a few buils prior to that).
Each time I show the FFDshow window by double-clicking on the tray icon, the window gets shifted about 20 pixels on the left every time.
I'm on XP SP2.

Leak
23rd July 2007, 19:59
Each time I show the FFDshow window by double-clicking on the tray icon, the window gets shifted about 20 pixels on the left every time.
Whoops... but try the German translated version for an even bigger shift. :D

Anyway, I'm checking in a fix at this very moment... :)

np: Coldcut - True Skool (Spank Rock BBC Soundsystem Remix) (Sound Mirrors Remixes)

TheShadowRunner
27th July 2007, 19:47
Thanks for fixing it Leak, works perfect now ;)
See you,

TSR

zambelli
29th July 2007, 01:56
How come "Queue output samples" options is still disabled or limited to mplayerc.exe by default? The notes in the pane below say:

"Queue is disabled by default because of stability problem.
If you dare try it, uncheck or add the execute file name of the video applications, separated by semicolons."

This has been around since before the Tryout project even existed. Are there still stability issues with the feature or should this be updated? Should frame queueing be enabled or not?

haruhiko_yamagata
29th July 2007, 12:28
How come "Queue output samples" options is still disabled or limited to mplayerc.exe by default? The notes in the pane below say:

"Queue is disabled by default because of stability problem.
If you dare try it, uncheck or add the execute file name of the video applications, separated by semicolons."

This has been around since before the Tryout project even existed. Are there still stability issues with the feature or should this be updated? Should frame queueing be enabled or not?
It's difficult. Applications may hook video renderer. So the stability of queueing may depend on applications. I cannot test thousands of DirectShow applications.

Queueing also depends on the implementation of video drivers. It is effective on G400. It works with most of nvidia cards. It has known compatibility issue with some of the ATI's video cards. I cannot buy many video cards and if I could, I won't be able to fix such compatibility issues.

Current CPU and GPU are pretty fast. On newer system, I do not recommend queueing. But if you are suffering from speed and dropping a few frames per second, it may worth trying. If it is effective you may want to continue using, if not just disable.

Romario
29th July 2007, 21:59
clsid, congrats, you compiled first ICL10 ffdshow build.

But, size is 3.56 MB instead 4.0 for former ICL9.1 build. Why?

And, can ICL10 builds be faster then ICL9.1?

clsid
29th July 2007, 23:21
I haven't included xvidcore and x264 in the latest build. Hence the smaller size.

I don't think there will be a performance difference between ICL10 and ICL9. Difference between 9 and 10 is mostly just support for some new Intel CPUs in the code optimizer. But since the ffdshow build is not optimized for specific CPUs that stuff doesn't matter.

Eragon4ever
29th July 2007, 23:36
Two feature requests I received:

1. Using a "," as decimal delimiter depending on local settings.
2. Adding an option to show OSD without caption. (e.g. "Time remaining: 00:05:14" gets "00:05:14")

Romario
30th July 2007, 00:17
I haven't included xvidcore and x264 in the latest build. Hence the smaller size.

Why you didn't? Can you fix it soon?

egandt
30th July 2007, 01:01
How do I install both 32 and 64bit versions of ffdshow such that they work together where 64bit software will using the 64bit version and 32bit software will use the 32bit version? Is there anything special I must do, I wanted to ask be for installing 2 versions messed up my system.

Thanks,
ERIC

tebby
30th July 2007, 03:43
@Thuan

Great news! It seems that in clsid's new build ffdshow_rev1381_20070729_clsid.exe (http://sourceforge.net/project/showfiles.php?group_id=173941&package_id=199416&release_id=439904) has fixed the subtitling bug in your video. It seems h_yamagata has fixed the problem in revision 1377 which has to do with subtitle word wrapping. Interesting. Excellent job ffdshow devs!

thuan
30th July 2007, 12:01
@Thuan

Great news! It seems that in clsid's new build ffdshow_rev1381_20070729_clsid.exe (http://sourceforge.net/project/showfiles.php?group_id=173941&package_id=199416&release_id=439904) has fixed the subtitling bug in your video. It seems h_yamagata has fixed the problem in revision 1377 which has to do with subtitle word wrapping. Interesting. Excellent job ffdshow devs!

Yeah, you're right. The weird thing is why haruhiko-san can't reproduce it.

Dr Pizza
30th July 2007, 12:32
How do I install both 32 and 64bit versions of ffdshow such that they work together where 64bit software will using the 64bit version and 32bit software will use the 32bit version? Is there anything special I must do, I wanted to ask be for installing 2 versions messed up my system.

Thanks,
ERIC

They should install side-by-side without any trouble.

The only annoying part is the start menu icons; the last-installed version will clobber the icons of the first-installed version. I think in practice this doesn't matter (as I think they end up sharing the settings anyway) but it's something I've been meaning to investigate.

haruhiko_yamagata
30th July 2007, 14:28
Yeah, you're right. The weird thing is why haruhiko-san can't reproduce it.
Really weird, but good to hear that it is fixed :) .

clsid
30th July 2007, 15:29
They should install side-by-side without any trouble.

The only annoying part is the start menu icons; the last-installed version will clobber the icons of the first-installed version. I think in practice this doesn't matter (as I think they end up sharing the settings anyway) but it's something I've been meaning to investigate.I will update the install script to use "ffdshow64" as the default start menu folder name. That should be a good workaround for now (for fresh installs).

If ffdshow64 stores it settings in the 32-bit registry hive, then I would consider that a bug. Not something critical, but something that should be fixed in the future.

clsid
30th July 2007, 15:37
Why you didn't? Can you fix it soon?
There is nothing to be fixed. I can include them if people really need them.

Px
30th July 2007, 15:40
If ffdshow64 stores it settings in the 32-bit registry hive, then I would consider that a bug. Not something critical, but something that should be fixed in the future.
ffdshow x64 stores settings in HKEY_LOCAL_MACHINE\SOFTWARE\GNU
ffdshow x32 - HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\GNU

harald_karner
30th July 2007, 15:49
The H.263+ encoder seems to hang (at least under certain circumstances) when used with a maximum bitrate setting.

Debugging ffdshow showed, that the encoder hangs in function MPV_encode_picture in File src\ffmpeg\libavcodec\mpegvideo_enc.c, where it never gets beyond the "goto vbv_retry;" statement. Nevertheless, the problem seems to be ffdshow specific, since I was not able to reproduce it with ffmpeg using the corresponding command line parameters.

My encoder settings:
ftp://partner.scottygroup.com/pub/ffdshow.4380/ffdshow.reg

My Input file: input.avi, 1024x768, RGB24 (11MB)
ftp://partner.scottygroup.com/pub/ffdshow.4380/input.avi

Graph to reproduce behaviour in GraphEdit:
FileSource (input.avi) -> AviSplitter -> ffdshow Encoder -> Null renderer

See also:
https://sourceforge.net/tracker/?func=detail&atid=867360&aid=1739935&group_id=173941

Dr Pizza
30th July 2007, 16:30
ffdshow x64 stores settings in HKEY_LOCAL_MACHINE\SOFTWARE\GNU
ffdshow x32 - HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\GNU

I think that that is dependent on the virtualization setting of the 32-bit app in question, isn't it?

(as in, I thought that redirecting registry reads/writes to wow6432node only happened for virtualized applications--and not all 32-bit apps are virtualized)

foxyshadis
30th July 2007, 17:38
No, all 32-bit apps have their own registry. Virtualization is only HKLM->HKCU and HKLM32->HKCU32 (for short); all 32bit apps get their own registry, with some exceptions, though it's possible to access the 64-bit version from 32-bit.

TheShadowRunner
30th July 2007, 20:55
Hi All, here is a little request for the FFDShow Audio decoder.
I enabled the Stream Switcher feature and for movie files such as .MKV that contain 2 audio streams, for exemple Japanese & English, I would like FFDShow Audio to automatically select the Japanese stream upon playing the file.

When FFDshow Audio didn't have this feature, I used ZoomPlayer's preferred stream setting and it worked fine, selecting the Japanese stream automatically, but now with Stream Switcher enabled, ZP doesnt manage to force the preferred audio stream anymore it seems.

Since ZP actually can't interract with this FFDshow Audio codec feature, I would like to request a setting somewhere in FFDshow Audio codec to select the favorite language for the audio stream.

Here is the ZP forum link detailing this:
http://forum.inmatrix.com/index.php?showtopic=6262

Thanks in advance,

TSR

foxyshadis
30th July 2007, 22:13
The simplest option would probably be to clone the haali splitter preferences, unless someone has a better idea.

clsid
30th July 2007, 22:27
Why do you enable the audio switcher in ffdshow in the first place? What's wrong with using the internal switcher in ZoomPlayer?

TheShadowRunner
30th July 2007, 22:31
I like having only 1 FFDShow Audio tray icon ^_^ but most importantly it seems that when the Audio Switcher is off, both streams are decoded although one of them isn't used so it's wasted CPU. With Audio Switcher On i think only the selected stream is decoded?
Thanks for your interest in this guys!
Later,

TSR

edit: in ZP's graph, i can see 2 "Default Directsound Output device" to render both streams when Audio Switcher is OFF. When On, only 1 "Default Directsound Output device", the graph is cleaner too! ;)

DeathTheSheep
30th July 2007, 23:45
Found a rather crass bug when I try to enter a negative (which you are supposed to do, by the way):
http://gabe.ej.am/invalid.PNG

;)

squid_80
31st July 2007, 00:00
Found a rather crass bug when I try to enter a negative (which you are supposed to do, by the way):
;)
How is that valid? You'd end up with a negative quantizer.

zambelli
31st July 2007, 00:52
It's difficult. Applications may hook video renderer. So the stability of queueing may depend on applications. I cannot test thousands of DirectShow applications.
Does queueing only get used when rendering to screen? Would a graph without a renderer have any advantage from sample queueing?

Queueing also depends on the implementation of video drivers. It is effective on G400. It works with most of nvidia cards. It has known compatibility issue with some of the ATI's video cards. I cannot buy many video cards and if I could, I won't be able to fix such compatibility issues.
Can you elaborate on what exactly queueing does and how it's related to the video driver? Thanks!

DeathTheSheep
31st July 2007, 01:15
Not necessarily true, and that goes for the offset value below it, as well. It is -0.8 by default, but once you try to change it or erase the negative sign, all trouble begins. The I multiplier, for instance, is set to -.8 by default but the field disallows negative numbers?!

The feature beneath it, I offset, is the additive offset by which the current chosen quantizer is reduced in order to allocate better quality (higher bitrate) to the I-frames. Thus, a negative offset is required to adjust keyframe quality relative to P/B frames.

thuan
31st July 2007, 08:57
Opening a video with embedded subtitle (I have only tested ass or ssa embedded subs) then pause for a long time and later resume some times the player will crash when encountering the next sub line. After that opening the file that crashed will result in crashing every time there's a sub line appearing (nothing appears really it crashes before), restart fix it.
Zoom Player 5.00 with ffdshow_rev1381_20070729_clsid_sse_icl10 internal sub filter, output colorspace is YV12, CPU: Core 2 Duo, XPSP2.

clsid
31st July 2007, 12:59
I like having only 1 FFDShow Audio tray icon ^_^ but most importantly it seems that when the Audio Switcher is off, both streams are decoded although one of them isn't used so it's wasted CPU. With Audio Switcher On i think only the selected stream is decoded?
Thanks for your interest in this guys!
Later,

TSR

edit: in ZP's graph, i can see 2 "Default Directsound Output device" to render both streams when Audio Switcher is OFF. When On, only 1 "Default Directsound Output device", the graph is cleaner too! ;)
OK, so basically ZoomPlayer just has a crappy switcher.

If you use MPC or Haali's splitter, then you also will only have just 1 active audio stream in the graph.

TheShadowRunner
1st August 2007, 05:13
Hmm possibly. Still it would be great to have a Preferred Language selection feature, similar to the one there is for Subtitles > Vobsub in the FFDShow Video codec.

Besides, there is a lot of empty space on the current Stream Switcher page at the moment, don't you think? ;)

See you,

TSR

thuan
1st August 2007, 06:21
I like having only 1 FFDShow Audio tray icon ^_^ but most importantly it seems that when the Audio Switcher is off, both streams are decoded although one of them isn't used so it's wasted CPU. With Audio Switcher On i think only the selected stream is decoded?
Thanks for your interest in this guys!
Later,

TSR

edit: in ZP's graph, i can see 2 "Default Directsound Output device" to render both streams when Audio Switcher is OFF. When On, only 1 "Default Directsound Output device", the graph is cleaner too! ;)

This is not true, even with 2 or more audio filters in ZP graph only one is active at a time (only one is fed with audio data), the others don't do any decoding (check its properties).
I don't understand why you don't use Haali splitter either. It works ok for any mkv and ogm files I throw at it.

But then again, a language priority system in ffdshow audio switcher is nice for ppl use it, I don't think many use it though.

haruhiko_yamagata
1st August 2007, 10:43
Hi All, here is a little request for the FFDShow Audio decoder.
I enabled the Stream Switcher feature and for movie files such as .MKV that contain 2 audio streams, for exemple Japanese & English, I would like FFDShow Audio to automatically select the Japanese stream upon playing the file.
Thanks, good idea. But it's low priority for me.
Of course, it is great if anybody does it.

haruhiko_yamagata
1st August 2007, 10:47
Does queueing only get used when rendering to screen? Would a graph without a renderer have any advantage from sample queueing?
If there is no video renderer in the graph, queueing does not work.
Can you elaborate on what exactly queueing does and how it's related to the video driver? Thanks!I'll write queue.htm in the future. Please wait.

haruhiko_yamagata
1st August 2007, 11:11
Opening a video with embedded subtitle (I have only tested ass or ssa embedded subs) then pause for a long time and later resume some times the player will crash when encountering the next sub line. After that opening the file that crashed will result in crashing every time there's a sub line appearing (nothing appears really it crashes before), restart fix it.
Zoom Player 5.00 with ffdshow_rev1381_20070729_clsid_sse_icl10 internal sub filter, output colorspace is YV12, CPU: Core 2 Duo, XPSP2.
Thanks, but I can't reproduce. Is it same with MPC?
Zoom player does not show subtitle at all if I enable "Smart Play".
If it is sample specific, please send me the sample.

Daedalus01
1st August 2007, 13:35
hi

ffdshow audio decoder is extremely useful because i can add audio delay to offset the out of sync audio of some dvd encodes. however, for one particular movie (pirates of the caribbean 1) the delay seems to be longer than 5000ms, which is the maximum ffdshow allows.

does anyone know how to add delay that is longer than 5000ms?

thanks

HeadBangeR77
1st August 2007, 14:22
hi

ffdshow audio decoder is extremely useful because i can add audio delay to offset the out of sync audio of some dvd encodes. however, for one particular movie (pirates of the caribbean 1) the delay seems to be longer than 5000ms, which is the maximum ffdshow allows.

does anyone know how to add delay that is longer than 5000ms?

thanks
In such a case it's got nothing to do with ffdshow.
Just recreate the file using VDubMod, AVIMux GUI, MKVmerge or MP4 Box, depending on the container, and add an appropriate delay to the audio track before interleaving it with the video.

@ ffdshow crew:
I've encountered a problem concerning letterboxing and subtitles recently. I always like to have the subtitles displayed under the main film area, so I add 16:9 letterboxing for 1:2.35/1.240 widescreen films and 4:3 letterboxing for 16:9 films. In the latter case ffdshow doesn't just add black bars beneath and above, but also at the sides, so when I switch to full screen a part of the film is pan scanned, including some longer subtitles lines. Usually it's just one letter or even a halve of it but it's annoying nevertheless.
MPC build from May + ffdshow rev. 1358 ICL9 by clsid.

Can anyone reproduce such a behaviour?

thuan
2nd August 2007, 01:47
I haven't used MPC for a long time. I will check with it later. I don't use "Smart Play" in ZP as my computer is pretty much 3rd party filter clean. It's not really sample specific but all of them are anime in H264 720p with subs (like Dennou Coil from Ureshii, Hayate no Gotoku from Eclipse...). And even with that, it's tricky to reproduced, I just open a video then let it pause there doing other things then return, some times it crashes some times not.

Daedalus01
2nd August 2007, 02:23
In such a case it's got nothing to do with ffdshow.
Just recreate the file using VDubMod, AVIMux GUI, MKVmerge or MP4 Box, depending on the container, and add an appropriate delay to the audio track before interleaving it with the video.



thats wat i finally did, but if ffdshow lets me add audio delay >5000ms i dont have to go through a remux

haruhiko_yamagata
2nd August 2007, 11:13
@ ffdshow crew:
I've encountered a problem concerning letterboxing and subtitles recently. I always like to have the subtitles displayed under the main film area, so I add 16:9 letterboxing for 1:2.35/1.240 widescreen films and 4:3 letterboxing for 16:9 films. In the latter case ffdshow doesn't just add black bars beneath and above, but also at the sides, so when I switch to full screen a part of the film is pan scanned, including some longer subtitles lines. Usually it's just one letter or even a halve of it but it's annoying nevertheless.
MPC build from May + ffdshow rev. 1358 ICL9 by clsid.

Can anyone reproduce such a behaviour?Thank you for testing. I found some problems around subtitle letterbox. I'm trying to fix them.

HeadBangeR77
2nd August 2007, 17:42
Thank you for testing. I found some problems around subtitle letterbox. I'm trying to fix them.

Thank your for the quick reaction! You've already done whole lot of good work on the field of improving the subtitles part of ffdshow :)
Looking forward to next patches & fixes ;)

cheers /HDBR77

oddball
2nd August 2007, 17:43
libavcodec is too darned slow.

Is anyone working on making the decoder faster? I have a (W)VC1 at 1920x1080 and libavc decoding lags behind the audio. If I disable it in ffdshow and let WMP11's codec take over it plays fine. Also some full HD x264 stuff plays slow using libavc.

I have an E6600 which SHOULD be enough? I'm thinking about overclocking it to 3Ghz in order to playback some of this stuff smoothly at least until CoreAVC 1.5 is out.

Also. Is anyone working on hyperthreading the ffdshow decoder?

One more thing. High bitrate DTS is still a BIG problem with ffdshow using SPDIF passthru. It stutters like crazy. I have to disable ffdshow's DTS decoder and let AC3Filter decode it instead.

_xxl
2nd August 2007, 18:17
Known limitations:
4.H264 and VC-1 libavc aren't multithreaded.
5.High bitrate DTS stutters when using SPDIF passthru.

scarbrtj
3rd August 2007, 06:32
FWIW, my (ffdshow) observation as it relates to VC-1:

1) WMP 11 only: no playback
2) WMP 11 + Haali: playback but with really bad artifacts/colors in particular parts
3) WMP 11 + Haali + ffdshow (wmv9): mostly good playback but bad "stuttering" in some portions of playback (spotty)...but good on CPU usage (~30%, both cores)
4) WMP 11 + Haali + ffdshow (libavcodec): mostly good playback but bad "stuttering" in some portions of playback (spotty)...CPU usage ~0% one core, 80-100% other core...and yes, audio goes out of sync

_xxl
3rd August 2007, 08:56
WMP 11 + Haali:
Is your sample .evob?

scarbrtj
3rd August 2007, 14:21
@_xxl:

Nope. Files from Bluray discs; I would call them VC-1 .m2ts files. I have tried .evob files too; same sort of "problems" you might say. (Right now I'm perseverating on the .m2ts files though.)

haruhiko_yamagata
4th August 2007, 04:08
hi

ffdshow audio decoder is extremely useful because i can add audio delay to offset the out of sync audio of some dvd encodes. however, for one particular movie (pirates of the caribbean 1) the delay seems to be longer than 5000ms, which is the maximum ffdshow allows.

does anyone know how to add delay that is longer than 5000ms?

thanksI'm not sure if it is good idea to add such long delay, but anyway, I changed the upper limit from 5000ms to 20000ms at rev 1399.

haruhiko_yamagata
4th August 2007, 04:10
Found a rather crass bug when I try to enter a negative (which you are supposed to do, by the way):
fixed at rev 1398.:thanks:

molitar
4th August 2007, 09:04
Help with keyboard controls. I enabled them but none of the keyboard commands work at all. Any idea what is wrong?

Leak
4th August 2007, 10:31
Help with keyboard controls. I enabled them but none of the keyboard commands work at all. Any idea what is wrong?
You need to hold down both keys you defined as "Activation keys" together with any of the other function keys.

If that doesn't work, try checking "Process keypresses even if not focused" which will make the hotkeys system-wide, which means they should work even if you're using some other app.

np: Anthony Rother - Brainshaker (Super Space Model)

molitar
4th August 2007, 15:13
You need to hold down both keys you defined as "Activation keys" together with any of the other function keys.

If that doesn't work, try checking "Process keypresses even if not focused" which will make the hotkeys system-wide, which means they should work even if you're using some other app.

np: Anthony Rother - Brainshaker (Super Space Model)

Thanks Leak looked all over but didn't see any reference that you had to use 3 keys.

molitar
4th August 2007, 19:08
hello I am using a remote control software called UICE and it is very stable and easier to use than Girder and way cheaper.. Only $20 for it. Problem is that I have not had any luck with getting it to work with the ffdshow remote api. Could you please look at this software and see if you can figure out how to make it work with ffdshow? The download for the 30 day trial can be found here. (http://www.mediatexx.com/download/index.htm)

multiblitz
6th August 2007, 18:47
one quick question to the avisynth-professionals here: Currently I cant's use ffdshow for playback of hd-dvd as it does not get the 24fps-speed right, works only with 30fps, so video and audio are heavily out of sync. Is there a way to use avisynth to force ffdshow to play it with the right speed ? Would be great as I like to us some postprosseing even with hd-dvd...

THX for your patience & forgive me that ths a bit off-topic, but it sounds to me that here are all the experts who might have a solution...

multiblitz
6th August 2007, 18:50
On the VC-1.Issue. I believe we have still the bug in both, the haali-splitter and ffdshow: HD_DVD is played back at 30fps instead of 24fps und so video and audio is heavily out of sync, which is a pitty. OUr has anyone found a solution to that yet ?

foxyshadis
6th August 2007, 19:26
I understand that this thread is about encoding, but one quick question to the avisynth-professionals here: Currently I cant's use ffdshow for playback of hd-dvd as it does not get the 24fps-speed right, works only with 30fps, so video and audio are heavily out of sync. Is there a way to use avisynth to force ffdshow to play it with the right speed ? Would be great as I like to us some postprosseing even with hd-dvd...

This would be a better place to ask such a question. You can always try prefacing your avisynth script with AssumeFPS(24) or 23.976.

HeadBangeR77
6th August 2007, 21:21
Subtitles letterboxing works without problems here (have checked the same films that had used to cause problems). I like the new blurring function of subs, works flawlessly in YUY2 also, not only RGB.
Thanks a bunch for all the improvements (rev. 1406 by clsid). :)

Keepitsimple
6th August 2007, 21:46
I just wanted to say that you coders do an amazing job. Keep it up!

Leak
6th August 2007, 22:03
I understand that this thread is about encoding[...]
Errr.. what gave you that idea? :confused:

Just saying...

Also, I'm afraid AssumeFPS won't work as the AviSynth filter takes it's timestamps from the input frames and basically ignores any FPS change in the script - you'd have to remove or add frames to actually change the FPS, but that still won't fix your problem, as the overall length stays the same.

I know the old AviSynth filter allowed changing the speed with AssumeFPS, but it simply scaled the timestamps, so if you changed the script in the middle of playback you'd get one long pause (or the decoder running at full tilt and no frames) because there'd either be a big gaping hole in the timestamps, or suddenly the timestamps would be before the previous ones.

And, of course, it didn't allow changing the FPS while keeping the length the same, as is needed for bobbing or IVTCing. That's why I went with simply interpolating between the existing timestamps where needed, which makes sure audio and video stay in sync - in normal cases, of course.

I do think it'd make more sense to fix the VC1 decoder, but that's a bit out of my league...

np: Retina.IT - Tetsub (Semeion)

haruhiko_yamagata
10th August 2007, 09:36
Hi, a small (but important) feature request..

I have widescreen plasma tv with 1024x768 resolution (4:3 pixels), and I like to resize everything to exactly that.

Could you add a simple "display aspect ratio" setting? Like MPC has "Scale to 16:9 TV" etc. I'd much rather do it in ffdshow than having unnecessary resize with display adapter.

It does work manually now by setting "Aspect ratio: Manual: 1.33:1". But if I watch a ~21:9 movie, I have to change it to 1.77:1. It would be much easier to just "Keep original aspect ratio" and "Display aspect ratio: 1.33".

Thanks.
Added at rev 1413 as an option of "Process aspect ratio internally".

jodur
10th August 2007, 09:44
Thank you for this nice program, i use ffdshow already a long time with success.
I now recently own a media center with Vista Home Premium (32 bits).
When I want to playback 1080p HD movies with ffdshow (libavodec) the playback is jerky (Not enough CPU power? Core 2 Duo T5500, NVIDEA G7600), so I decided to use CoreAVC instead of libavodec for HD playback. The playback is now very smooth even with 1080p.
The drawback is however, that ffdshow isn’t showing any subtitles any more. I enabled raw video, so ffdshow is inserted in the graph. When I look in grapedit, I see that Coreavc is used for video decoding and ffdshow is used for displaying subtitles. Playing the file in graphedit also results in a video with subtitles. (so far so good!)

However!!:
Playing the same video file in WMP11 in Vista results in a video, without subtitles!
Playing the same video on my XP machine with WMP11 and the same decoder settings (same graph) results in a video with subtitles.

Conclusion:
It looks like the raw video filter doesn’t work in Vista in conjunction with WMP11 (in grapedit in vista the raw video works, so proper ably in a other player (NON WMP11) it will work also)
WMP11 is a must have for me, because it’s the native player of the MCE shell.

Question:
Is there a change this will be fixed in a newer build from ffdshow. I can’t imagine that I am the the only non native “English speaker” who is having this problem with Vista, CoreAVC and ffdshow subtitles. I remember I saw in some earlier postings in this forum, that people reporting also problems with the raw video in conjunction with the dscaler filter in Vista.

Alternative?:
As alternative I played around with VS-filter (only V2.23 is working well for all formats (DivX,H264 etc.)) for displaying subtitles. But in this case with some video’s the display ratio / (Width/Height) is fucked up by VS-filter. So this isn’t really a alternative.

Does anybody have any clues for this problem??

haruhiko_yamagata
10th August 2007, 11:10
It looks like the raw video filter doesn’t work in Vista in conjunction with WMP11Thank you for the details.
Yes, I know it does not work.
I'll look into it when I have time, but if WMP11 is excluding ffdshow on purpose, it may be difficult to find the way.

Yong
10th August 2007, 22:21
1).operating system = windows xp sp2 home @ celeron 1.2ghz
2).ffdshow r1413 msvc 2003 x86 ansi build
3).ffdshow settings and used filters = queue, resize, subtitles, osd
4).media player = mpc hc 1090
5).output colorspaces = yuy2
6).Haali Media Splitter
7).video renderers = vmr9 windowed
8).video/audio samples = playing any video also show the same problem
9).the osd is showing inconsistent font weight. resize, change some options at osd font will solve the problem.

here is my osd settings:
http://img248.imageshack.us/img248/1481/clipboard01zn8.gif

screenshot:
http://img248.imageshack.us/img248/2441/clipboard01ca2.jpg

2. overlay resize bug
resize mess up output when use overlay mixer.
all settings are same as above, except colorspace is yv12,
resize filer settings are default, except the "multiply by:" field, when the value is 0.1 to 0.9, and 1.1 to 1.9, the output will mess up. sorry cant test above 3 :p

3. h264 grayscale decoding is broken
its ancient bug...
ffdshow h264 grayscale decoding show greenish color instead of grayscale.

Mc Onyx
11th August 2007, 14:16
I'm not sure this was answered before, so i apologize if it was.
The thing is that i'm using Vista and FFDshow audio decoder won't kick in . When i play a movie with MP3 soundtrack, Microsoft's MP3 Audio Decoder DMO takes the decoding, if it's AC3 or DTS some other filter kick's in. But if i enable PCM decoding in AC3 Filter, then FFDShow Audio decoder takes the decoding, but that's not what i want, don't want AC3 Filter postprocessing the stream. There's no problem with the FFDShow Video Decoder! And i checked the merits and have set FFDShow Audio Dec. to highest. Thanks.

:EDIT: Forget it, just figured it out, i had Don't use WAVEFORMATEXTENSIBLE ticked under the output and for some reason that was the culprit!

vlada
11th August 2007, 17:38
I found a possible bug in AviSynth frameserving (AVIS codec).

I'll describe first what I wanted to do: I have a video from Panasonic AVCHD camcorder. It is 1080i PAFF so any libavcodec based tool instantly crashes with it. I wanted to open this file in SONY Vegas. But it is High Profile video and since Vegas supports h.264 through QuickTime, it won't open it. So my last possibility is CoreAVC and frameservering.

The video plays fine using Haali's splitter, CoreAVC for video and ffdshow for audio (AC3), except that the first frame is broken (but this is a minor issue). VD has no problems opening the video through AviSynth with DirectShowSource. Unfortunately Vegas doesn't support AVS. So I used MakeAVIS tool from ffdshow and create a "fake" AVI. Unfortunately this AVI can't be opened in Vegas and instantly crashes VirtualDub. I aslo tried another movie (AVI). With DirectShowSource the result was the same, with AviSource VD didn't crash but displays an error message: VideoSourceAVI Error: The operation is not supported (error code -1) in status bar and shows no video. The fake AVIs play fine through DirectShow, are just vertically flipped. So I believe the problem is somewhere in VfW AVIS codec. I tried ffdshow beta2, beta3 and build 1413 with the same results.

Btw. I use AviSynth 2.58. I'll try it with 2.57 too.

Could someone confirm this or even better fix it?

Edit: Same situation with Avisynth 2.57. Except the "fake" AVI movie isn't upside down when playing through DirectShow.

haruhiko_yamagata
12th August 2007, 13:12
9).the osd is showing inconsistent font weight. resize, change some options at osd font will solve the problem.
Thank you. I've just returned from a small trip.
I can reproduce and will try to fix it.
2. overlay resize bug
3. h264 grayscale decoding is broken

I'll test tomorrow.

Leak
12th August 2007, 14:02
The video plays fine using Haali's splitter, CoreAVC for video and ffdshow for audio (AC3), except that the first frame is broken (but this is a minor issue). VD has no problems opening the video through AviSynth with DirectShowSource. Unfortunately Vegas doesn't support AVS. So I used MakeAVIS tool from ffdshow and create a "fake" AVI. Unfortunately this AVI can't be opened in Vegas and instantly crashes VirtualDub. I aslo tried another movie (AVI). With DirectShowSource the result was the same, with AviSource VD didn't crash but displays an error message: VideoSourceAVI Error: The operation is not supported (error code -1) in status bar and shows no video. The fake AVIs play fine through DirectShow, are just vertically flipped. So I believe the problem is somewhere in VfW AVIS codec. I tried ffdshow beta2, beta3 and build 1413 with the same results.
That's strange.

I'm afraid I don't have CoreAVC (nor do I have any use for it and thus no intention of buying it) and therefore can't try this here - could you perhaps check if the same error also happens in conjunction with some other codec?

np: Fennesz / Sakamoto - Abyss (Cendre)

DeepBeepMeep
12th August 2007, 15:30
As far I can tell, there are still some incompatibility with EVO files parsed by Haali filter and ffdshow VC1 video decoder. The Audio and Video get out of sync.

Haali in this post (http://forum.doom9.org/showthread.php?p=1007787#post1007787) had fixed some stuff on his part and normally the rff flag should be now forwarded to the next filter in the chain. It seems the last thing to do is to handle this flag.

Some samples EVO files had been posted in the past. Even needed, I can post another one.

It would be greatly appreciated if this bug could be fixed it would save plenty of people to remux EVO file to a matroska file to have proper playback. Thanks.

multiblitz
12th August 2007, 22:37
As far I can tell, there are still some incompatibility with EVO files parsed by Haali filter and ffdshow VC1 video decoder. The Audio and Video get out of sync.

Haali in this post (http://forum.doom9.org/showthread.php?p=1007787#post1007787) had fixed some stuff on his part and normally the rff flag should be now forwarded to the next filter in the chain. It seems the last thing to do is to handle this flag.

Some samples EVO files had been posted in the past. Even needed, I can post another one.

It would be greatly appreciated if this bug could be fixed it would save plenty of people to remux EVO file to a matroska file to have proper playback. Thanks.

Thanks for bringing this up again...I am as well hoping to get a fix on that...I guess the demand for a beautiful VC-1 playback is raising as the new HD-formats become more popular and even now blu-ray is using it...so, pleeeease.

vlada
13th August 2007, 00:14
Leak
Sorry, I wasn't clear enough. The other file I tried was AVI/MPEG-4 ASP decoded by ffdshow. So I think the problem is general and will probably happen with any format/codecs.

Leak
13th August 2007, 00:23
Leak
Sorry, I wasn't clear enough. The other file I tried was AVI/MPEG-4 ASP decoded by ffdshow. So I think the problem is general and will probably happen with any format/codecs.
Okay, that's something I have to take a look at, then... :)

np: Fennesz - Surf (Field Recordings 1995:2002)

bugblatter
13th August 2007, 06:48
Hi, I just recently started seeing a problem in ffdshow I had never seen before when playing mpeg1 videos. It seems to play fine, but when the video reaches the end, the player (media player classic) hangs and the CPU% shoots up to 100% until I manually kill the process. It seems obvious, but I haven't found any other mention of it in this thread, and I can't find any other reason for it either.

It seems ffdshow_rev1390_20070731_xxl.exe was that last one that worked before the problem started. The only thing in the changelog was "updated libavcodec". I retried several subsequent builds up to ffdshow-rev1413_20070809_xxl.exe with no success. Going back to rev1390 was successful.

It fails with MPEG1 set to "libavcodec", but succeeds with "libmpeg2" or "disabled". I just have it set for libmpeg2 now so it's no problem, but I thought I would mention it.

As for a sample, the first hit on google for "mpeg1 sample" works: http://www.kvcd.net/portal/articles.php?lng=en&pg=60 and click on "704x480-showoff.mpg"

Btw, I'm new here and just wanted to say thanks for all the great work on this project.

haruhiko_yamagata
13th August 2007, 10:44
As far I can tell, there are still some incompatibility with EVO files parsed by Haali filter and ffdshow VC1 video decoder. The Audio and Video get out of sync.

Haali in this post (http://forum.doom9.org/showthread.php?p=1007787#post1007787) had fixed some stuff on his part and normally the rff flag should be now forwarded to the next filter in the chain. It seems the last thing to do is to handle this flag.

03/06/2007
New Features:
Added support for more audio formats in quicktime files.
Added support for zlib compressed headers in quicktime files.
Subtitle streams are now shown by shell extension.
Added a preview tab and range selection to GDSMux.
Added A/V encoding support to GDSMux.
Added hardsubbing support to GDSMux.
Added minimal editing support to GDSMux.
Added support for loading cuesheets and HD-DVD xml chapter files in GDSMux chapter editor.
Added support for more video and audio formats to the muxer.
Fixed items:
Fixed a regression in PS timestamps calculation.
Fixed GetCurrentImage in the renderer so it behaves correctly when called indirectly via FGM.
Fixed some minor bugs in GDSMux chapter editor.
Fixed next/prev segment IDs generation and reading in GDSMux.
Other improvements and bugfixes.

Unfortunately 03/06/2007 version does not seem to have the fix. I think we have to wait for the coming release.

DeepBeepMeep
13th August 2007, 11:52
Unfortunately 03/06/2007 version does not seem to have the fix. I think we have to wait for the coming release.

Thanks for looking at the issue. Haali post I have quoted dates one week before the the last release, so it is possible the last release included the fix but was not mentioned in the change log. An easy way to check would be to see if the rff flag is there. Or hopefully Haali can inform us about the status of this fix, he seems to be around these days...

bluesk1d
13th August 2007, 14:54
I will just ask this briefly as I don't want to get too involved with it and start posting samples if it is already a known issue/resolution. I backed up my first AVC HD DVD the other day (all before have been VC-1) and while decoding with ffdshow beta (1324), there was strange green, magenta, red color shifting. It was restricted to specific shots in random scenes almost as if there was something in the actual image characteristics of the shot that triggered it.

My decode went through the following steps

Graph edit:
Haali media splitter (Ripped HD DVD evo file containing the feature h.264 stream) > ffdshow video decoder > AVI splitter (not sure why but graphedit added this on its own and wouldnt render without it)

The graph is then referenced by an AVS using DirectShowSource

Simply playing the disc reveals that this problem is not in the source. I had this same issue before with a MKV that had an H.264 stream and I don't recall what I did to fix it. Any tips would be greatly appreciated. Is there an issue with decoding directly from within the evo container?

haruhiko_yamagata
13th August 2007, 14:58
9).the osd is showing inconsistent font weight. resize, change some options at osd font will solve the problem.
fixed at rev 1416.

2. overlay resize bug
I cannot reproduce.

3. h264 grayscale decoding is broken

I can reproduce. I would like to test mplayer, but I don't know the command line.
Maybe we shuold disable the option for h264.

clsid
13th August 2007, 15:12
Hi, I just recently started seeing a problem in ffdshow I had never seen before when playing mpeg1 videos. It seems to play fine, but when the video reaches the end, the player (media player classic) hangs and the CPU% shoots up to 100% until I manually kill the process. It seems obvious, but I haven't found any other mention of it in this thread, and I can't find any other reason for it either.

It seems ffdshow_rev1390_20070731_xxl.exe was that last one that worked before the problem started. The only thing in the changelog was "updated libavcodec". I retried several subsequent builds up to ffdshow-rev1413_20070809_xxl.exe with no success. Going back to rev1390 was successful.

It fails with MPEG1 set to "libavcodec", but succeeds with "libmpeg2" or "disabled". I just have it set for libmpeg2 now so it's no problem, but I thought I would mention it.

As for a sample, the first hit on google for "mpeg1 sample" works: http://www.kvcd.net/portal/articles.php?lng=en&pg=60 and click on "704x480-showoff.mpg"

Btw, I'm new here and just wanted to say thanks for all the great work on this project.
I can reproduce the bug.

There have been some changes to libavcodec regarding MPEG in revision 1391.

See if the problem occurs with FFmpeg as well.

Blight
13th August 2007, 17:35
I just encountered an ffdshow incompatibility issue which should be easily resolvable:

If you try to play OGG Vorbis content (.ogg audio files) with Haali Media Splitter being used as the source/parser filter, ffdshow refuses connection.

The CLSID subtype on the output pin of the haali filter is "{8D2FD10B-5841-4A6B-8905-588FEC1ADED9}".

I think it's just a matter of accepting the connection, no?

bugblatter
13th August 2007, 18:15
I can reproduce the bug.

There have been some changes to libavcodec regarding MPEG in revision 1391.

See if the problem occurs with FFmpeg as well.

Hmm, forgive my inexperience, but I have not used ffmpeg directly before. To give it a try, I got the latest build I could find, ffmpeg.rev9767.7z, but its date (July 20th) seems to put it before the problem occurred. I tried it anyway, using "ffplay", and there was not any problem. I don't have the tools to compile it directly.

clsid
13th August 2007, 22:51
I have fixed the problem at revision 1419.

Amour
14th August 2007, 03:41
Problem with the following installation file by clsid:
ffdshow_rev1413_20070810_clsid.exe

When installing a first time, I check all video formats.
When installing a second time, the following video formats get unchecked automatically:
*DivX
*Xvid
*Generic MPEG-4

This is using the English language setup.

Yong
14th August 2007, 13:21
fixed at rev 1416.thanks ;)

I cannot reproduce.
hmm, its reproducible by me, but the bug will gone after restart mpc.
more intersting if the colorspace is yuy2, the video is cropped and instead of resized. sometime mpc will freeze by changing the "multiply by" value.

I can reproduce. I would like to test mplayer, but I don't know the command line.

Maybe we shuold disable the option for h264.
-vfm ffmpeg -lavdopts gray:)

haruhiko_yamagata
14th August 2007, 16:43
I just encountered an ffdshow incompatibility issue which should be easily resolvable:

If you try to play OGG Vorbis content (.ogg audio files) with Haali Media Splitter being used as the source/parser filter, ffdshow refuses connection.

The CLSID subtype on the output pin of the haali filter is "{8D2FD10B-5841-4A6B-8905-588FEC1ADED9}".

I think it's just a matter of accepting the connection, no?
I cannot reproduce. I have tried "vorbis_aka.ogg" with Haali Media Splitter and it works for me.
Could you provide a sample?

haruhiko_yamagata
14th August 2007, 16:45
-vfm ffmpeg -lavdopts gray:)Thank you. mplayer does not work.
But I found the work around for it in ffdshow. I found some other issues around gray decoding.

Blight
15th August 2007, 06:24
haruhiko_yamagata:
Ignore it, something was screwy with my ffdshow registry entries and vorbis somehow got disabled.

madshi
15th August 2007, 09:40
The ffdshow FLAC decoder doesn't seem to like 8 channels. Sound is distorted with ffdshow tryouts. Here's a sample file:

http://madshi.net/8.flac

DeeGee
15th August 2007, 10:17
libavcodec seems to have some trouble outputting non-mod16 video. I used Fraps to capture some video at 1680x1050 and the video looks like this when played back with ffdshow or mplayer. The problem showed up in both the uncompressed video and xvid compressed version, but disappeared when fraps own codec and xvid were used to decompress.

screencap1 (http://students.oamk.fi/~t3paja01/sekalaista/snapshot20070815115627.jpg)
screencap2 (http://students.oamk.fi/~t3paja01/sekalaista/snapshot20070815115708.jpg)

[edit] Seems like XviD used YUY2 colorspace for output and when i forced ffdshow to use it everything was fine. A Nvidia video driver bug with YV12?

albain
15th August 2007, 12:24
Hi all,

I have fixed the heavy stutterring issue with DTS streams with high bitrate : revision 1420.
This usually concerns blueray videos that hold high quality sound track
Please report me if there are regressions on other numeric formats

libavcodec is too darned slow.

Is anyone working on making the decoder faster? I have a (W)VC1 at 1920x1080 and libavc decoding lags behind the audio. If I disable it in ffdshow and let WMP11's codec take over it plays fine. Also some full HD x264 stuff plays slow using libavc.

I have an E6600 which SHOULD be enough? I'm thinking about overclocking it to 3Ghz in order to playback some of this stuff smoothly at least until CoreAVC 1.5 is out.

Also. Is anyone working on hyperthreading the ffdshow decoder?

One more thing. High bitrate DTS is still a BIG problem with ffdshow using SPDIF passthru. It stutters like crazy. I have to disable ffdshow's DTS decoder and let AC3Filter decode it instead.

Inventive Software
15th August 2007, 12:32
For the record, ffdshow-tryouts DO NOT work on libavcodec's video decoding speed. That's the domain of ffmpeg and Mplayer, so complain to them, not us. :p However, do bear in mind that the VC-1 decoder is still in it's infancy, so is bound to be slow decoding. It will get faster as it's more optimised. ;)

CruNcher
15th August 2007, 12:57
Yep exactly even the biggos implementations are slow yet for VC-1 and have no Hardware accelleration (Mainconcept/Elecard) (Sonic most of their stuff is based on Mainconcept/Elecard research) so in that regards Libavcodecs VC-1 Decoder does quiet well compare :P (Cyberlinks Decoder seems more advanced but it seems only working inside powerdvd :P)

haruhiko_yamagata
15th August 2007, 12:59
I will just ask this briefly as I don't want to get too involved with it and start posting samples if it is already a known issue/resolution. I backed up my first AVC HD DVD the other day (all before have been VC-1) and while decoding with ffdshow beta (1324), there was strange green, magenta, red color shifting. It was restricted to specific shots in random scenes almost as if there was something in the actual image characteristics of the shot that triggered it.

My decode went through the following steps

Graph edit:
Haali media splitter (Ripped HD DVD evo file containing the feature h.264 stream) > ffdshow video decoder > AVI splitter (not sure why but graphedit added this on its own and wouldnt render without it)

The graph is then referenced by an AVS using DirectShowSource

Simply playing the disc reveals that this problem is not in the source. I had this same issue before with a MKV that had an H.264 stream and I don't recall what I did to fix it. Any tips would be greatly appreciated. Is there an issue with decoding directly from within the evo container?
If you are trying to decode VC1 using libavcodec's VC1 decoder, it's a known issue. "wmv9" should work.

Warpman
15th August 2007, 13:00
This sample http://rapidshare.com/files/49123646/realaacbug.mkv.html (22mb)(rapidshare) seems to cause an access violation after playing a few seconds.
It only happens with realaac, libfaad2 decodes it just fine.

Can someone confirm this?
:thanks:

using ffdshow rev 1371 here

breez
15th August 2007, 13:53
Is there any work towards getting ffdshow filters multithreaded? Couldn't different tasks be run on different cores eg. decoding and resize on core 0 and other filters + colorspace conversion on core 1?

bluesk1d
15th August 2007, 14:34
If you are trying to decode VC1 using libavcodec's VC1 decoder, it's a known issue. "wmv9" should work.

Thanks but Im only using libavcodec for decoding the H.264 from the HD DVD evo file. VC-1 playback is handled by Microsoft WM9 advanced profile codecs.

Amour
15th August 2007, 14:58
Problem with the following installation file by clsid:
ffdshow_rev1413_20070810_clsid.exe

When installing a first time, I check all video formats.
When installing a second time, the following video formats get unchecked automatically:
*DivX
*Xvid
*Generic MPEG-4

This is using the English language setup.

Ok, I tried it again, and this time it didn't uncheck: so the behaviour is random.

In all case, I still have problems when re-installing ffdshow. Here is an example with screencaptures.

STEP 1 = Uninstall ffdshow
STEP 2 = Install ffdshow (and reset all default)
STEP 3 = Install ffdshow again


On first install I get:
http://img45.imageshack.us/img45/6757/ffdshow3sn8.jpg (http://imageshack.us)
http://img524.imageshack.us/img524/820/ffdshow5av9.jpg (http://imageshack.us)
http://img45.imageshack.us/img45/739/ffdshow6xa9.jpg (http://imageshack.us)


On second install I get:
http://img45.imageshack.us/img45/7577/ffdshow3kj2.jpg (http://imageshack.us)
http://img524.imageshack.us/img524/8192/ffdshow5qz6.jpg (http://imageshack.us)


So you will notice that on second installation, many checkboxes have disappeared:

* CorePNG, MS Video 1, MSRLE, Techsmith, Truemotion
* ASV1/2, CYUV, ZLIB, 8BPS, LOCO, MSZH, QPEG, WNV1, VCR1
* CamStudio, ZMBV, Ultimotion, VIXL, AASC, IV32, FPS1, RT21

* ADPCM, MS GSM, Truespeech

* Always skip H.264 inloop deblocking

clsid
15th August 2007, 15:13
That is all intentional. In the past the installer would remember the installer settings from previous installations. But many didn't like that and wanted the installer to retain their current settings better.

The installer will read your current settings from the registry and adjust the checkboxes accordingly. So Xvid disabled in the installer means that Xvid is disabled in your ffdshow settings.

The options that cover multiple formats are hidden during update because it is not really possible to determine the correct state for them.

If you want to change all settings during an update, you should either uninstall first, or adjust the settings in the ffdshow configuration dialogs.

Amour
16th August 2007, 01:37
The options that cover multiple formats are hidden during update because it is not really possible to determine the correct state for them.
Why? You cannot store it in registry like the others? Could you make it grey instead of hidding it? Because currently it looks like a bug.

And I wish that the "reset to default" would have the following behaviour: when selecting this option, it would check or uncheck the other boxes to make it like a default ffdshow configuration (eventually grey it). Currently, I do not understand the way it works: does it ignores all the other choices below?

haruhiko_yamagata
16th August 2007, 10:58
This sample http://rapidshare.com/files/49123646/realaacbug.mkv.html (22mb)(rapidshare) seems to cause an access violation after playing a few seconds.
It only happens with realaac, libfaad2 decodes it just fine.

Can someone confirm this?
:thanks:

using ffdshow rev 1371 hereI can reproduce the crash. Are you sure that the file is not broken?

madshi
16th August 2007, 11:10
The ffdshow FLAC decoder doesn't seem to like 8 channels. Sound is distorted with ffdshow tryouts. Here's a sample file:

http://madshi.net/8.flac
Anyone? At least a confirmation would be nice. Thanks!!

Warpman
16th August 2007, 11:43
I can reproduce the crash. Are you sure that the file is not broken?

well it works fine with libfaad2 and i have another sample which shows the same behavier. I don't think they are both broken.
Just tried coreAAC and it plays fine as well.
But i noticed both file have unusual high jitter up to +-150 maybe realaac can't handle this?
My newer encoded files have no jitter at all.

i just let it run in vlc's debug mode
it returnes
faad warning: Gain control not yet implemented
main warning: buffer is 42651 in advance, triggering downsampling
main warning: timing screwed, stopping resampling

at the points where realaac usally crashes.

But don't ask me what that means ;)

@madshi
i can confirm this, debug says:
flac debug: decode STREAMINFO
flac debug: channels:8 samplerate:48000 bitspersamples:16
flac debug: STREAMINFO decoded
flac error: This stream uses too many audio channels
i guess 8channels are not implementet atm.

clsid
16th August 2007, 13:07
Why? You cannot store it in registry like the others? Could you make it grey instead of hidding it? Because currently it looks like a bug.

And I wish that the "reset to default" would have the following behaviour: when selecting this option, it would check or uncheck the other boxes to make it like a default ffdshow configuration (eventually grey it). Currently, I do not understand the way it works: does it ignores all the other choices below?
Lets say an option covers 5 formats. You disable one of them after installation. Now what should the state be for the 5 formats together? It is undefined.

Reset to defaults cannot modify the current selection in the installer. At least not with any complicated scripts, which I am certainly not going to write. If you want to reset, you should do a clean install, not an update.

I think it might be a better idea to completely hide the format options during an update installation. So that a user is forced to use the ffdshow configuration screens to make changes.

haruhiko_yamagata
16th August 2007, 14:20
well it works fine with libfaad2 and i have another sample which shows the same behavier. I don't think they are both broken.
Just tried coreAAC and it plays fine as well.
But i noticed both file have unusual high jitter up to +-150 maybe realaac can't handle this?
My newer encoded files have no jitter at all.

i just let it run in vlc's debug mode
it returnes
faad warning: Gain control not yet implemented
main warning: buffer is 42651 in advance, triggering downsampling
main warning: timing screwed, stopping resampling

at the points where realaac usally crashes.

But don't ask me what that means ;)

Thank you very much.
From readme.txt of realaac,
Not currently supported:
- main or SSR profile, LTP
- coupling channel elements (CCE)
- 960/1920-sample frame size
- low-power mode SBR
- downsampled (single-rate) SBR
- parametric stereo

Do these infomation help?

Warpman
16th August 2007, 16:09
Thank you very much.
From readme.txt of realaac,

Do these infomation help?

Well i don't know the settings i used for the files (unfortunatly).
So it's quite possible that i used something not yet implemented in realaac.

I'll just reencode those 2 files and see if the problem occurs again in the future.

Thank you for your help.

Is libfaad2 the preferable decoder then? Or does it have some other limitations?

haruhiko_yamagata
17th August 2007, 12:39
Is libfaad2 the preferable decoder then? Or does it have some other limitations?I'm not sure.

sarvatt
17th August 2007, 23:33
AC3 output is not working for me at all in 1425 on vista x32 on 2 machines, had to revert to 1413. This is with ogg, mp3 and AAC input sources, did not check any others before reverting. If I select don't encode multichannel streams I can get sound on non multi channel sources through MPC, but for some reason it is outputting LPCM that way needing another decoder to be added to the graph. I don't know what other information is needed but I will pass along anything that can help track it down if requested.

Delerue
18th August 2007, 20:32
Weird bug. If you check the avisynth plugin you can't open a video with MPC if there's another running at the same time. I'm using MPC last version from clsid (http://forum.doom9.org/showthread.php?t=128616) and FFDShow build 1425. The message I got is 'failed to query the needed interfaces for playback'.

Leak
18th August 2007, 21:16
Weird bug. If you check the avisynth plugin you can't open a video with MPC if there's another running at the same time. I'm using MPC last version from clsid (http://forum.doom9.org/showthread.php?t=128616) and FFDShow build 1425. The message I got is 'failed to query the needed interfaces for playback'.
Are you using tsp's modified AviSynth? The one with the patches for MT? If so, that's probably a bug in there, as it doesn't happen with regular AviSynth 2.5.7...

np: Sofa Surfers - Can I Get A Witness (ft. Dawna Lee) (Encounters)

Delerue
19th August 2007, 06:34
Are you using tsp's modified AviSynth? The one with the patches for MT? If so, that's probably a bug in there, as it doesn't happen with regular AviSynth 2.5.7...

You're right. I installed the official version and now is working great. Thanks. ;)

Liisachan
19th August 2007, 09:33
edit: Sry ignore this post: the problem was on my side and has been fixed already
--

Vrobis decoders in ffdshow are still bad. Tremor was known to be bad, but the current Tremor, so called high accuracy mode, is still poor in quality. libavcodec is as bad as Tremor too.

The quality difference is so obvious that scoring 15/15 at abx against CoreVorbis is quite easy. I don't know why this is happening. To get decent quality, I'd have to recommend to disable Vorbis decoders in ffdshow and to use CoreVorbis (or maybe MPC's internal one).

Samples.
http://ffdshow.faireal.net/tmp/Vorbis_Test_Input.ogg
OggEnc v2.83 (libvorbis aoTuVr1), ~ 2sec, 43KiB

Decoded by:
- CoreVorbis
http://ffdshow.faireal.net/tmp/Vorbis_Test_CoreVorbis.wav
- ffdshow (lavc)
http://ffdshow.faireal.net/tmp/Vorbis_Test_lavc.wav

tested ffdshow_beta3_rev1324_20070701_clsid.exe

edit: adding this.
- Decoded by foobar2000:
http://ffdshow.faireal.net/tmp/Vorbis_Test_fb2k.wav

sarvatt
19th August 2007, 11:15
Is there any way to have ffdshow use alternative codecs (similar to how you can pick xvid or WMV9) on the codec page? I would prefer to use ffdshow for subtitle decoding for all of my material with all of the wonderful fixes it has gotten lately and have it use coreavc for the h264 decoding, but I don't know how to do it without loading ffdshow as a postprocessing filter which would interfere with hardware acceleration on TV in the playback app I use. VSFilter doesn't work for me in mediaportal or MPC's EVR (non-custom presenter mode) whereas FFDShow does, and it would be nice to be able to do it without having to use libavcodec for h264 or loading a seperate postprocessing filter for all videos :) Thanks in advance for any tips on it.

TheShadowRunner
19th August 2007, 11:35
Wow sarvatt, you requested exactly what I had in mind the last couple of days. (since coreavc is a bit faster than ffdshow's internal x264 decoder and ffdshow is great for subs, consuming less CPU than vobsub too).

A question though, when i select WMV9 for decoding instead of libavcodec for WMV type, how exactly does it work since when building such graph in graphedit, i don't see "WMVideo Decoder DMO" anywhere? It it in use but somehow hidden from the graph?
Later,

TSR

Leak
19th August 2007, 11:47
Is there any way to have ffdshow use alternative codecs (similar to how you can pick xvid or WMV9) on the codec page? I would prefer to use ffdshow for subtitle decoding for all of my material with all of the wonderful fixes it has gotten lately and have it use coreavc for the h264 decoding, but I don't know how to do it without loading ffdshow as a postprocessing filter which would interfere with hardware acceleration on TV in the playback app I use.
Ummm... the problem here is that "postprocessing" and "adding subtitles" is exactly the same problem - both have to alter the video the decoder produces, and hardware acceleration just won't work right once you put something in between hardware decoding and rendering...

Also, I wouldn't be surprised if this won't work because of DRM considerations - after all, if a filter can just alter the hardware decoded video it can just save the frames out to disc, making any kind of content protection moot. :(

np: Tocotronic - Wehrlos (Kapitulation)

check
19th August 2007, 12:04
There's a dead simple way to use coreavc for decoding and ffdshow for subtitles... Just set ffdshow to decode raw video :p

TheShadowRunner
19th August 2007, 12:31
check, yeah rite :p
Wayyyy too CPU consuming :/

check
19th August 2007, 12:40
It is? I can't see how integrating coreavc into ffdshow would be any faster -- subtitle blitting simply takes a lot of CPU.

sarvatt
19th August 2007, 14:34
That is the thing, I do not want to use ffdshow for raw video as it will load for everything including videos where I do not want to use FFDShow. I want it to only load for the codecs I pick on the codec page but still have the ability to use it only for h264 material as I do not use ffdshow for h264. It's hard for me to explain so I will try to break down the scenario I am facing..

Playback software: Mediaportal (EVR) or MPC EVR (not custom presenter mode as I cannot get acceleration in it)
Source files: h264, WMV, and xvid in MKV all with subtitles, Live and recorded mpeg2 .ts from the tuner with no subtitles and DXVA2 acceleration with deinterlacing.

My options are
1) use VMR9 and rely on the haali splitter/playback program to load VSFilter if needed which works and not use FFDShow for subtitles at all.
2) use EVR (preferred) in which VSFilter refuses to load, no subtitles for h264 material as I am using CoreAVC and not FFDShow.
3) Set FFDShow to decode raw video making it always load thus breaking DXVA for my mpeg2 in both VMR9 and EVR.
4) Set FFDShow to decode h264 which is not an option as a good chunk of my source material is too tough for it to decode on my HTPC.


What I am looking to do is to either force ffdshow to load as an additional filter only for the h264 material which I can't figure out how to do within the limitations of the media playback programs I use, or find out if it is possible to have ffdshow load an external codec internally similar to how it loads xvid or WMV9 so that it wont interfere with my mpeg2 TV decoding and I could enable h264 on the ffdshow codec page. Thank you very much for the replies so far though, I realize it might not be a very common situation and appreciate the help!

Edit: Hmm after doing some messing with it I think I can get it working like I'm asking if I set raw video to all YUV so it ignores NV12. Hopefully it doesn't interfere with hardware deinterlaced but software decoded YUY2 files but I don't expect to run into that often :D I was under the impression loading it as a raw filter after the decoding was what was messing up vsfilter in EVR but I guess it's the subtitle pin connection that is doing it.

madshi
19th August 2007, 19:29
@madshi
i can confirm this, debug says:
flac debug: decode STREAMINFO
flac debug: channels:8 samplerate:48000 bitspersamples:16
flac debug: STREAMINFO decoded
flac error: This stream uses too many audio channels
i guess 8channels are not implementet atm.
Thank you for the confirmation!

FWIW, I've tried another FLAC decoder and fed that decoder's output into ffdshow's raw audio filter (because that decoder's 8 channel output was not accepted by any other filter). There the same problem occurs. I'm not sure, it could be that the other decoder has the same problem. Or maybe ffdshow *generally* stumbles with 8 channels?

Yong
19th August 2007, 20:31
Vrobis decoders in ffdshow are still bad. Tremor was known to be bad, but the current Tremor, so called high accuracy mode, is still poor in quality. libavcodec is as bad as Tremor too.

The quality difference is so obvious that scoring 15/15 at abx against CoreVorbis is quite easy. I don't know why this is happening. To get decent quality, I'd have to recommend to disable Vorbis decoders in ffdshow and to use CoreVorbis (or maybe MPC's internal one).

Samples.
http://ffdshow.faireal.net/tmp/Vorbis_Test_Input.ogg
OggEnc v2.83 (libvorbis aoTuVr1), ~ 2sec, 43KiB

Decoded by:
- CoreVorbis
http://ffdshow.faireal.net/tmp/Vorbis_Test_CoreVorbis.wav
- ffdshow (lavc)
http://ffdshow.faireal.net/tmp/Vorbis_Test_lavc.wav

tested ffdshow_beta3_rev1324_20070701_clsid.exe

edit: adding this.
- Decoded by foobar2000:
http://ffdshow.faireal.net/tmp/Vorbis_Test_fb2k.wav
no difference either use lavc/tremor or mpc internal vorbis decoder when playing.:confused:
make sure disable any audio filter before abx :p
anyone can comfirm this?

the lavc decoded sample u uploaded does show somekind of high frequency loss.
sounds like it was downsampled by ffdshow resampler or FIR filter.

jodur
19th August 2007, 21:12
There's a dead simple way to use coreavc for decoding and ffdshow for subtitles... Just set ffdshow to decode raw video :p

To Bad this won't Work for Vista Users!!!

See Thread before:

http://forum.doom9.org/showthread.php?p=1032411#post1032411

and

http://ffdshow-tryout.sourceforge.net/phpBB2/viewtopic.php?t=429

Sharktooth
19th August 2007, 23:56
Vista? Is that an OS? :p

Liisachan
20th August 2007, 01:11
no difference either use lavc/tremor or mpc internal vorbis decoder when playing.:confused:
make sure disable any audio filter before abx :p
anyone can comfirm this?

the lavc decoded sample u uploaded does show somekind of high frequency loss.
sounds like it was downsampled by ffdshow resampler or FIR filter.

Hi, thanks for your suggestion! Looks that way. While config'ing 'Output' I accidentally have ticked 'Mixer', a few pixel above, which caused this mess. My mistake. However I'll check this again when I have time.
-baka me!

clsid
21st August 2007, 16:48
I think the "DVD decoding (not working yet)" string in ffdshow should be updated. What exactly works and what works not with regard to DVD decoding by ffdshow? Is it only decryption that isn't supported?

ShadowVlican
21st August 2007, 20:58
i think i found a bug which hasn't been mentioned (searched but found nothing)

there's something wrong with the SPDIF setting:
http://img26.picoodle.com/img/img26/9/8/21/f_asdfm_8faf9f1.png (http://www.picoodle.com/view.php?img=/9/8/21/f_asdfm_8faf9f1.png&srv=img26)

works fine when i use this, i hear sound on my receiver:
ffdshow_rev1371_20070723_clsid.exe

doesn't work when i use the latest (i tried these), i don't hear sound on my receiver:
ffdshow_rev1425_20070817_xxl.exe
ffdshow_rev1431_20070821_clsid_sse_icl10.exe

everything else on the graph is kept the same of course (same player, same filters, exact same settings, same files, same drivers, etc....)

i'm not a programmer, so i have no idea what has changed since the rev1371 release and rev1431 release... but surely something HAS changed relating to AC3/DTS SPDIF

clsid
21st August 2007, 23:00
This might have been fixed at rev1432:
http://ffdshow-tryout.svn.sourceforge.net/viewvc/ffdshow-tryout/?view=log

foxyshadis
23rd August 2007, 15:27
sarvatt, buy Zoom Player Pro and set up customized media profiles. That way you can force everything to be decoded and played exactly how you want.

I'm curious about the possibility of adding coreavc as an 'alternative' codec, if it's not complicated, but I really have no time to even look into it. :( Particularly since I typically use it for post-processing everything except HD.

sarvatt
24th August 2007, 02:19
sarvatt, buy Zoom Player Pro and set up customized media profiles. That way you can force everything to be decoded and played exactly how you want.

I'm curious about the possibility of adding coreavc as an 'alternative' codec, if it's not complicated, but I really have no time to even look into it. :( Particularly since I typically use it for post-processing everything except HD.

Thank you for the suggestion, I actually have purchased it and use it fine that way in the past for my laptop but I have alot of problems using it as an external video playback program inside mediaportal. I have just gone back to VMR9+vsfilter for now as I think the EVR implementation in mediaportal isn't ready for prime time because it would crash using FFDShow for subtitles loading from raw video sometimes (on coreavc h264 HD files only oddly enough) then work when the program was restarted.

SPDIF passthrough/AC3 output is still broken for me as well in 1437 on vista x86, 1413 is the last one that works. I don't have any builds between 1413 and 1425 to see which one broke it though, but 1425 was the first one that I noticed it.

cbemoore
25th August 2007, 19:10
SPDIF passthrough/AC3 output is still broken for me as well in 1437 on vista x86, 1413 is the last one that works. I don't have any builds between 1413 and 1425 to see which one broke it though, but 1425 was the first one that I noticed it.

I'm also seeing this problem with the latest builds.....

_xxl
25th August 2007, 19:37
Read more:
http://ffdshow-tryout.sourceforge.net/phpBB2/viewtopic.php?t=478
Is rev 1424 working?Are there other related issues?
Can you please test:
http://rapidshare.com/files/51252887/ffdshow.rar.html

cc979
27th August 2007, 01:01
compiling svn 1439 using gcc-4.0.4 i get this error


TffDecoder.cpp: In member function 'void TffdshowDecVideo::ConnectCompatibleFilter()':
TffDecoder.cpp:623: error: expected primary-expression before ')' token
TffDecoder.cpp:623: error: '__uuidof' was not declared in this scope
TffDecoder.cpp: In member function 'void TffdshowDecVideo::DisconnectFromCompatibleFilter()':
TffDecoder.cpp:696: error: expected primary-expression before ')' token
TffDecoder.cpp:696: error: '__uuidof' was not declared in this scope
TffdshowVideoInputPin.cpp: In member function 'virtual long int TffdshowVideoInputPin::CheckMediaType(const CMediaType*)':
TffdshowVideoInputPin.cpp:180: error: expected primary-expression before ')' token
TffdshowVideoInputPin.cpp:180: error: '__uuidof' was not declared in this scope
make: *** [ffdshow_all.o] Error 1


anyone else getting problems ?

ShadowVlican
27th August 2007, 04:48
Read more:
http://ffdshow-tryout.sourceforge.net/phpBB2/viewtopic.php?t=478
Is rev 1424 working?Are there other related issues?
Can you please test:
http://rapidshare.com/files/51252887/ffdshow.rar.html
folders #2 and #3 work!!! but #1 doesn't

_xxl
27th August 2007, 06:33
Partialy reverted 1424:
Index: TffdshowDecAudio.cpp
===================================================================
--- TffdshowDecAudio.cpp (revision 1438)
+++ TffdshowDecAudio.cpp (working copy)
@@ -796,7 +796,7 @@
pDataOutW[2]=type;
pDataOutW[3]=WORD(size*16);
//pDataOutW[4] = 0x0b77; // AC3 syncword (removed because works only for DTS, not for DD)
- _swab((char*)buf,(char*)&pDataOutW[10],(int)(size*2-2));
+ _swab((char*)buf,(char*)&pDataOutW[4],(int)size);
}
else
{

cbemoore
29th August 2007, 07:38
I'd like to try out Albain's latest fixes for the SPDIF passthrough problem (rev 1440), but the latest build available to download is rev 1437. Could I ask clsid or xxl to kick off a nightly build when you have a free moment?

haruhiko_yamagata
29th August 2007, 14:30
compiling svn 1439 using gcc-4.0.4 i get this error
Yes, __uuidof is microsoft specific. Rev 1443 is OK. :)

cc979
29th August 2007, 14:50
Yes, __uuidof is microsoft specific. Rev 1443 is OK. :)

anyway around it ?

rack04
29th August 2007, 19:09
Is it ok to install over an older version or should I uninstall before installing the newest version?

foxyshadis
29th August 2007, 19:11
Uninstalling removes all of your settings, overwriting won't.

Leak
29th August 2007, 21:08
anyway around it ?
Well, using revision 1442+ should do it... *hint hint*

np: Pass Into Silence - Iceblink (Pop Ambient 2006)

Porsche_fan
29th August 2007, 22:50
I’ve experienced a minor bug using BSplayer and the aviSynth in ffdshow starting after version 1193. I am not exactly sure which version the issue started occurring because I started downloading Leak’s builds with the frame buffering feature and didn’t resume normal ffdshow downloads until after build 1300 or so, which is when I initially noticed the issue.


The problem is that BSplayer gives a floating point error at the first initial start of trying to play an avi file. The error message gives the option to close BSplayer or continue. If I choose to continue, the player is then able to play any video fine without displaying the error message again and plays as many videos as I like just like normal. The error message won’t resurface until the player is actually closed and is opened again.


This issue doesn’t occur with Media Player Classic and I have tried several versions of BSplayer including the newest and the last version 137.826 which didn’t contain adware.


Also the issue doesn’t occur when aviSynth isn’t selected and it only occurs when some scripts are used in aviSynth. So for example the following script doesn’t produce an error…

LimitedSharpenFaster(ss_x=1.0,ss_y=1.0)

However, when smode=4 is added the error appears.

LimitedSharpenFaster(ss_x=1.0,ss_y=1.0,Smode=4)


I think it may be related somehow to the input colorspaces. I have had a similar error in versions that “worked” if I had not selected all of the input colorspaces in aviSynth. So for example if only YV12 was selected I receive the same floating point error in build 1193. However, in the versions of ffdshow after 1193 version I can’t solve the issue by changing the input colorspaces.


Also there seems to be an issue with resize. When I select resize to 1.25 it resizes much more than 1.25.


Thanks for the effort involved in developing ffdshow...I absolutely love it.:)

thuan
30th August 2007, 03:04
Again, subtitle rendering crashes with clsid's ffdshow rev1443 on [SS-Eclipse] Hayate no Gotoku! - 22 (1280x720 h264) [971BE017].mkv. Rev1437 from _xxl works fine. Both were tested with latest MPC by clsid. Here's a sample (http://rapidshare.com/files/52157538/_SS-Eclipse__Hayate_no_Gotoku__-_22__1280x720_h264___971BE017_-001.mkv.html) and my ffdshow settings (http://rapidshare.com/files/52157608/settings.reg.html). It crashes at Hayate's line: "I must work hard for Hinagiku-san's sake, too."
Computer spec: Core 2 Duo, chipset/video card: 945G, Vista32 up to date, using Haali renderer (latest). This is my new OS installation, hope you can reproduce it.

foxyshadis
30th August 2007, 10:43
Can you use mkvextract (or one of the guis for it) to demux the ssa subs, then zip them and attach here or to an uploader service?

fastplayer
30th August 2007, 11:36
It crashes for me too at 0:28min (XPSP2, rev1443, MPC internal MKV splitter). Here's the ASS file:
[Script Info]
; Script generated by Aegisub v2.00 PRE-RELEASE (SVN r1458, ArchMageZeratuL)
; http://www.aegisub.net
Title: Hayate no Gotoku - 22
ScriptType: v4.00+
WrapStyle: 0
PlayResX: 704
PlayResY: 400
ScaledBorderAndShadow: no
Collisions: Normal
Last Style Storage: hayate
Audio File: ?video
Video File: Hayate22-Timing-Crapraw.avi
Video Aspect Ratio: 0
Video Zoom: 8
Video Position: 20015

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Montara Gothic,32,&H0FFFFFFF,&H0000FFFF,&H00714A40,&H80000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,0
Style: Default-alt,Montara Gothic,32,&H1EFFFFFF,&H0000FFFF,&H00855A7F,&H80000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,0
Style: Note,Arial Rounded MT Bold Eclipse,20,&H00FFFFFF,&H0000FFFF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,8,10,10,10,0

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,,
Comment: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,,
Comment: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,,
Comment: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,,
Comment: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,,
Comment: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,,
Comment: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,,

Dialogue: 0,0:00:04.53,0:00:09.37,Default,Hay,0000,0000,0000,,When watching Hayate no Gotoku, make sure to watch at a good distance away from the TV in a well lit room.
Dialogue: 0,0:00:09.37,0:00:09.99,Default,Nag,0000,0000,0000,,Got it?
Dialogue: 0,0:00:14.57,0:00:16.81,Default,Nag,0000,0000,0000,,He's out training again?
Dialogue: 0,0:00:16.81,0:00:21.70,Default,Mar,0000,0000,0000,,He did say he was going to come up with an ultimate move over summer vacation, so I think he's a little under the gun.
Dialogue: 0,0:00:24.77,0:00:26.38,Default,Nag,0000,0000,0000,,From so early in the morning...
Dialogue: 0,0:00:26.38,0:00:29.14,Default,Nag,0000,0000,0000,,Is he a sixty-year-old boxer in training?
Dialogue: 0,0:00:29.34,0:00:31.65,Default,Hay,0000,0000,0000,,I must work hard for Hinagiku-san's sake, too. {ep20}
Dialogue: 0,0:00:31.65,0:00:34.52,Default,Nag,0000,0000,0000,,Yup, you're right, for Hinagiku's sake, too-{ep20}
Dialogue: 0,0:00:34.52,0:00:35.08,Default,Nag,0000,0000,0000,,Wait. {ep20}
Dialogue: 0,0:00:36.62,0:00:40.38,Default,Mar,0000,0000,0000,,But how he can put full effort into everything is one of his good attributes.
Dialogue: 0,0:00:40.38,0:00:41.64,Default,Nag,0000,0000,0000,,It's not good!
Dialogue: 0,0:00:43.10,0:00:47.46,Default,Nag,0000,0000,0000,,Because summer is about to end,\Nshouldn't we be spending time together?
Dialogue: 0,0:00:48.02,0:00:52.69,Default,Nag,0000,0000,0000,,Imagine what Ro*** must have felt when he lost Adri**!
Dialogue: 0,0:00:53.13,0:00:56.08,Default,Nag,0000,0000,0000,,Seriously, what's on his mind?
Dialogue: 0,0:00:56.08,0:00:57.10,Default,Kla,0000,0000,0000,,Milady.
Dialogue: 0,0:00:58.51,0:01:00.57,Default,Kla,0000,0000,0000,,Ayasaki Hayate at your service!
Dialogue: 0,0:00:19.90,0:00:24.27,Note,,0000,0000,0000,,Shirt: Namidabashi

thuan
30th August 2007, 13:46
Can you use mkvextract (or one of the guis for it) to demux the ssa subs, then zip them and attach here or to an uploader service?

Here you are http://rapidshare.com/files/52238614/sub.ass.html.

B.F.
31st August 2007, 02:52
Postprocessing doesn't work with FLV4 in new ffdshow builds.

SBeaver
31st August 2007, 05:26
Hope to see the eac3 decoder in ffdshow soon :)

btw, why is there no realtime DTS encoder in ffdshow? Is that a licensing issue or does it eat too much cpu?

_xxl
31st August 2007, 07:01
eac3 decoder
What is new?Can't be decoded by AC3 decoder?

haruhiko_yamagata
31st August 2007, 09:36
Again, subtitle rendering crashes with clsid's ffdshow rev1443 ...
Sorry for the bug. fixed at rev 1444.

Mc Onyx
31st August 2007, 15:10
What is new?Can't be decoded by AC3 decoder?

He means EAC3 a.k.a. Dolby Digital Plus, which is the codec used on HDDVD and Blu-Ray and it's not decodable by old AC3 decoders. FFMPEG is working on the decoder and it's present i nightly builds of FFMPEG and Mplayer. It would be great if someone could compile a ffdshow test build with the decoder for testing, if it's possible. A lot of people would be very happy to be able to decode EAC3 through Dshow with opensource decoder. You can find more info in this thread.

http://forum.doom9.org/showthread.php?t=129050

tongyang
1st September 2007, 12:42
Hello, I apologize if this is not the right place to post this.

http://www.megaupload.com/?d=HSNZ3DFV

[Hauu~].Higurashi.no.Naku.Koro.ni.Kai.08.(H264.Vorbis)[ED850938].mkv

I have a problem with the subtitle positioning of the file linked above (139MB). Most of the videos I have work very well except this one. I have included screenshots on what ffdshow shows and what it should show with directvobsub.

Wrong:

http://img263.imageshack.us/img263/1521/higurashi1bpj4.th.jpg (http://img263.imageshack.us/my.php?image=higurashi1bpj4.jpg)http://img263.imageshack.us/img263/6480/higurashi2bfo2.th.jpg (http://img263.imageshack.us/my.php?image=higurashi2bfo2.jpg)http://img211.imageshack.us/img211/9900/higurashi3bno2.th.jpg (http://img211.imageshack.us/my.php?image=higurashi3bno2.jpg)http://img505.imageshack.us/img505/685/higurashi4bxd7.th.jpg (http://img505.imageshack.us/my.php?image=higurashi4bxd7.jpg)http://img505.imageshack.us/img505/213/higurashi5bbm4.th.jpg (http://img505.imageshack.us/my.php?image=higurashi5bbm4.jpg)http://img211.imageshack.us/img211/8839/higurashi6bcs8.th.jpg (http://img211.imageshack.us/my.php?image=higurashi6bcs8.jpg)

What it should show:

http://img505.imageshack.us/img505/5148/higurashi1auy9.th.jpg (http://img505.imageshack.us/my.php?image=higurashi1auy9.jpg)http://img263.imageshack.us/img263/5662/higurashi2aoi0.th.jpg (http://img263.imageshack.us/my.php?image=higurashi2aoi0.jpg)http://img211.imageshack.us/img211/6501/higurashi3aaj0.th.jpg (http://img211.imageshack.us/my.php?image=higurashi3aaj0.jpg)http://img211.imageshack.us/img211/9589/higurashi4awp0.th.jpg (http://img211.imageshack.us/my.php?image=higurashi4awp0.jpg)http://img263.imageshack.us/img263/7398/higurashi5aah1.th.jpg (http://img263.imageshack.us/my.php?image=higurashi5aah1.jpg)http://img211.imageshack.us/img211/8898/higurashi6aoo1.th.jpg (http://img211.imageshack.us/my.php?image=higurashi6aoo1.jpg)

Hope what I provided is enough. Feel free to ask for more details... (this is using revision 1431 by the way)

thuan
1st September 2007, 16:06
I've seen some of this kind of inconsistency between ffdshow sub renderer and VSFilter too. But I am lazy to make a screenshot comparison like you.

And Higurashi is a great series since Monster about this kind of thing hehe.

Milvus
1st September 2007, 19:08
I think this example show that différent implementations of ass/ssa renderers can have significant differences in the final result. It's the same kind of problems than with HTML rendering in different browsers : specs are complex, incompletly implemented, with lot of versions...

I hope in the future there will be work to harmonize all this, because if not, we wil never be able to use softsubs a there true potential.

Kado
1st September 2007, 19:33
I've tested it with casimir's mpc, and it is confirmed.
Using mpc's internal renderer the subs appear in proper place and with ffdshow's (rev1448) they don't and there are some different colors as well (3rd image).
however ffdshow subs seems to blend more to the video witch is nice (maybe some translucent effect?, 2nd image).
Also, I don't get that incorrect character from image 2 (between "original work" and "original story")

haruhiko_yamagata
2nd September 2007, 09:46
@tongyang
Thank you. I'll test that sample. At least I can reproduce some of the issues.

@Milvus
I have just implemented font rendering engine. SSA/ASS in ffdshow is experimental and pre-alpha status. They are just bugs or not implemented. It's not time to mention the compatibility.

Leak
2nd September 2007, 17:23
Haruhiko,

when I turn the OSD on (using the default font settings) with rev. 1451 it crashes on me at _fontPrepareOutline_sse2 + 0x1e - going back to 1450 fixes this.

Setting the outline width for the OSD to 0 works for a few frames (with stray black lines appearing above the text) but then it still crashes at the exact same location.

np: Burnt Friedman & The Nu Dub Players - It's Thunder (Just Landed)

Warpman
2nd September 2007, 18:08
however ffdshow subs seems to blend more to the video witch is nice (maybe some translucent effect?, 2nd image).


That is because mpcs internal renderer doubles the rendering resolution by default and creates much sharper subtitles, vsfilter can do that, too.

haruhiko_yamagata
2nd September 2007, 22:55
Haruhiko,

when I turn the OSD on (using the default font settings) with rev. 1451 it crashes on me at _fontPrepareOutline_sse2 + 0x1e - going back to 1450 fixes this.

Setting the outline width for the OSD to 0 works for a few frames (with stray black lines appearing above the text) but then it still crashes at the exact same location.

np: Burnt Friedman & The Nu Dub Players - It's Thunder (Just Landed)Oops, release build crashes. Constant data was not aligned. I have fixed at rev 1452.

haruhiko_yamagata
2nd September 2007, 23:16
[Hauu~].Higurashi.no.Naku.Koro.ni.Kai.08.(H264.Vorbis)[ED850938].mkv

I have a problem with the subtitle positioning of the file linked above (139MB).
Positioning problems have been fixed at rev 1452-1453. :thanks:

Leak
2nd September 2007, 23:36
Oops, release build crashes. Constant data was not aligned. I have fixed at rev 1452.
I'm afraid that didn't do it...

I checked out rev. 1452, made a fresh export into an empty directory, compiled everything there and - same result.

It doesn't matter if I do a debug or release build, by the way.

It still crashes in this line:
026CFA16 F3 0F 7E 09 movq xmm1,mmword ptr [ecx]
with an access violation... :(

For what's it worth - I put a
DPRINTF(_l("%i/%i,%i/%i"),x,_dx,y,_dy);
in front of the call to fontPrepareOutline_sse2 in line 323 and it crashed at "201/288,21/22". so it almost made it to the end - I guess you're just a few bytes short there...

*time passes*

Yeah, changing line 229 to
bmp[0]=(unsigned char*)aligned_calloc3(extra_dx,extra_dy+1,16,16);
prevents the crash, but it surely isn't correct either.

Also, is it just me, or has the distance between the OSD lines increased?

Hope this helps... :)

EDIT: I'm too sleepy to do another compile, but looking at the changes I guess rev. 1453 doesn't affect the above...

np: Burnt Friedman & Jaki Liebezeit - The Sticks (Secret Rhythms 2)

tongyang
3rd September 2007, 02:59
Positioning problems have been fixed at rev 1452-1453. :thanks:

Wow, that was fast. Thanks!!

chros
3rd September 2007, 08:28
I tried to playback a dts-wav file (*.wav) with MPC and ffdshow v1381 , but no success ...
Filters: Wave Parser , ffdshow

in ffdshow codecs: DTS in wav is checked (nothing happens)
AC3filter can playback it (if I check PCM at system tab)

Anyone confirm it ? Or do I need something to set?
If it's a bug, can someone tell a working version number?

Thanks

haruhiko_yamagata
3rd September 2007, 13:48
I'm afraid that didn't do it...

I checked out rev. 1452, made a fresh export into an empty directory, compiled everything there and - same result.
Thank you. I hope rev 1454 is OK.

Yong
3rd September 2007, 15:22
guys, do i need to use msvc 2005 to compile ffdshow?
i've tried compile it with gcc4.2.1(from mingw.org), everything is fine(not very sure though :p) but the OSD eats alot of cpu usage.
especially the dynamic one, eg frame type, cpu load, frame mean quantizer and so on.
static one is fine though, and shadow is disabled.
using rev1450 here, tried sourceforge build(xxl rev1425) which doesnt have cpu usage problem :(
btw my cpu is celeron 1.2ghz :D

update: tried sourceforge build by xxl rev1453, same problem, can anyone confirm this?
i think it isnt gcc problem, may be due to recently updated OSD code?
time to get new cpu:p

vortex_hl
3rd September 2007, 17:58
update: tried sourceforge build by xxl rev1453, same problem, can anyone confirm this?
i think it isnt gcc problem, may be due to recently updated OSD code?

i can confirm that. ffdshow_rev1431_20070821_clsid_sse_icl10.exe and earlier versions are fine. after rev1434 osd slowdown bug appears. maybe "vertical scaling" code cause this.

cyberbeing
3rd September 2007, 18:35
Also, I don't get that incorrect character from image 2 (between "original work" and "original story")

FFDshow just isn't displaying the Unicode character correctly. It must be displaying the subs with an ANSI encoding when it should be using the UTF-8 encoding of the subtitle.

cc979
3rd September 2007, 19:45
guys, do i need to use msvc 2005 to compile ffdshow?
i've tried compile it with gcc4.2.1(from mingw.org), everything is fine(not very sure though :p) but the OSD eats alot of cpu usage.
especially the dynamic one, eg frame type, cpu load, frame mean quantizer and so on.
static one is fine though, and shadow is disabled.
using rev1450 here, tried sourceforge build(xxl rev1425) which doesnt have cpu usage problem :(
btw my cpu is celeron 1.2ghz :D

update: tried sourceforge build by xxl rev1453, same problem, can anyone confirm this?
i think it isnt gcc problem, may be due to recently updated OSD code?
time to get new cpu:p

i only compile it with gcc-4.0.4

Leak
3rd September 2007, 20:42
Thank you. I hope rev 1454 is OK.
Confirmed - rev. 1455 doesn't crash anymore. But the speed, as mentioned above, is still abysmal even in a release build... :(

Also, "Fast rendering" only renders the very first OSD line when checked - I don't think it's supposed to do that?

np: Reinhard Voight - Ready For Take Off (Kompakt Total 6 (Disc 1))

ShadowVlican
4th September 2007, 05:24
thanks for addressing the SPDIF issue i pointed out back a couple pages

but the way you have implemented it is non-intuitive:
http://img27.picoodle.com/img/img27/9/9/3/f_tempm_38d3851.jpg (http://www.picoodle.com/view.php?img=/9/9/3/f_tempm_38d3851.jpg&srv=img27)
revision 1453

the option "Maximize SPDIF compatibility" should not be part of AC3 output (should not be greyed out) because it also affects AC3/DTS passthrough, where ffdshow shouldn't be touching the AC3/DTS stream at all

"Maximize SPDIF compatibility" should not be bound to the AC3 checkbox

i get around this little quirk by enabling AC3, checking on "Maximize SPDIF compatibility", then checking off AC3

Yong
4th September 2007, 12:34
i only compile it with gcc-4.0.4
do you have the osd high cpu usage problem?

i can confirm that. ffdshow_rev1431_20070821_clsid_sse_icl10.exe and earlier versions are fine. after rev1434 osd slowdown bug appears. maybe "vertical scaling" code cause this.
thx for confirmation;)

DMD
4th September 2007, 12:50
Up to the version ffdshow_rev1381_20070729, ffdshow audio works in correct way getting in exit SPDIF the digital stream.
But from the following releases this doesn't happen, yet the setting is the same.

These are the screens in sequence (double clik to magnify): http://img178.imageshack.us/img178/7229/settingffdshowaudioij0.jpg

Excuse I had forgotten me the screen of the setting of the output
http://img104.imageshack.us/img104/92/screenoutlz4.jpg (http://imageshack.us)


The test that the setting is correct, is that the "monitor level" some volume is correctly visualized.
What can you prevent the correct transfer the exits spdif of the digital stream?
can you give me some help? :helpful::(

Cordially I thank
Domenico

cbemoore
4th September 2007, 18:51
Up to the version ffdshow_rev1381_20070729, ffdshow audio works in correct way getting in exit SPDIF the digital stream.
But from the following releases this doesn't happen, yet the setting is the same.
Domenico

In the "output" section, try selecting "Maximise SPDIF compatibility".

Chris

haruhiko_yamagata
4th September 2007, 23:52
guys, do i need to use msvc 2005 to compile ffdshow?
i've tried compile it with gcc4.2.1(from mingw.org), everything is fine(not very sure though :p) but the OSD eats alot of cpu usage.
especially the dynamic one, eg frame type, cpu load, frame mean quantizer and so on.
static one is fine though, and shadow is disabled.
using rev1450 here, tried sourceforge build(xxl rev1425) which doesnt have cpu usage problem :(
btw my cpu is celeron 1.2ghz :D

update: tried sourceforge build by xxl rev1453, same problem, can anyone confirm this?
i think it isnt gcc problem, may be due to recently updated OSD code?
time to get new cpu:p
Thanks, I can reproduce. Swscaler, which I used for scaling, is slower than the original code. When I try bilinear, it's better but still slower. I'll try to use original code when it's not too complicated (vertical scaling, blur).

haruhiko_yamagata
4th September 2007, 23:56
Also, "Fast rendering" only renders the very first OSD line when checked - I don't think it's supposed to do that?
Confirmed. I have broken it when I have implemented baseline of the font. OK, it's not too difficult to fix.

DMD
4th September 2007, 23:58
In the "output" section, try selecting "Maximise SPDIF compatibility".

Thanks for the jewels suggestions
Problem resolved with the release rev1443_20070829_clsid
But with the release rev1437_20070823_clsid_sse_icl10 doesn't work because the selection doesn't exist "Maximize SPDIF Compatibility" :confused:

rev1437_20070823_clsid_sse_icl10
http://img525.imageshack.us/img525/8320/1437xv4.jpg (http://imageshack.us)

rev1443_20070829_clsid
http://img405.imageshack.us/img405/1920/1443ks9.jpg (http://imageshack.us)

cbemoore
5th September 2007, 00:25
Thanks for the jewels suggestions
Problem resolved with the release rev1443_20070829_clsid
But with the release rev1437_20070823_clsid_sse_icl10 doesn't work because the selection doesn't exist "Maximize SPDIF Compatibility" :confused:

Exactly.

Rev 1381 works correctly, but doesn't support high-bitrate DTS streams.

Rev 1437 supports high-bitrate DTS streams, but this makes changes to the SPDIF signal which some receivers can't handle.

Therefore, rev 1443 contains a checkbox (maximise SPDIF compatibility) which allows you to toggle between the original behaviour (which doesn't support high-bitrate DTS streams) and the updated behaviour (which doesn't work with all receivers).

Does that make sense?

Ginsonic
5th September 2007, 07:33
Hi guys,

I see a strange effect, when I switch to german language in ffdshow. After restarting the player and displaying ffdshow's filter properties, the property window has shrunk on the right side and many items are no longer acessible (window is not resizable). After switching back to english language and restarting the player again, everything is allright.
BTW: Many thanks for Your marvellous work !

DMD
5th September 2007, 07:33
@ cbemoore

A release is needed that is compatible with all the receivers, it doesn't have sense install a release for every model of receiver.

Leak
5th September 2007, 08:31
I see a strange effect, when I switch to german language in ffdshow. After restarting the player and displaying ffdshow's filter properties, the property window has shrunk on the right side and many items are no longer acessible (window is not resizable). After switching back to english language and restarting the player again, everything is allright.
BTW: Many thanks for Your marvellous work !
What OS are you using? And could you perhaps post a screenshot of the distorted window?

Leak
5th September 2007, 08:32
A release is needed that is compatible with all the receivers, it doesn't have sense install a release for every model of receiver.
So how is ffdshow supposed to automagically know that you have a receiver that can't handle high bitrate DTS streams?

cc979
5th September 2007, 09:19
@Yong: osd seems broke on cpu load shows svn 1455

weird thing is no text appears when opening filter - the tabs are blank but the details in tab are ok

haruhiko_yamagata
5th September 2007, 09:38
I have fixed the fast rendering problem at rev 1457.
At rev 1456, OSD CPU usage is significantly lowed compared to rev 1455, but still a bit slower than before.

@cc979: weird thing is no text appears when opening filter - the tabs are blank but the details in tab are okI don't understand. What do you mean by "filter"?

DMD
5th September 2007, 10:04
So how is ffdshow supposed to automagically know that you have a receiver that can't handle high bitrate DTS streams?
I use a sintoamply Yamaha RX795a

Leak
5th September 2007, 11:27
I use a sintoamply Yamaha RX795a
That didn't answer my question at all.

How is ffdshow supposed to know what receiver you have, and what it's capabilities are? SPDIF out is a one-way connection, there's nothing coming back from the receiver that identifies it.

Also, you don't have to install a different ffdshow release depending on your receiver, but you just might have to check the "Max. SPDIF compatibility" checkbox - is that too much to ask?

clsid
5th September 2007, 12:26
Maybe the option should be changed. Ensure maximum compatibility by default (old behaviour) and require to check a box to enable support for high bitrate DTS. The checkbox could be called something like "high bitrate DTS over SPDIF workaround", with a tooltip like "may not work with some receivers".

santiago_kq
5th September 2007, 16:39
Is there any way I can use the *same* FIR filter that ffdshow uses, but with Mplayer / Mencoder on Linux?

I need to batch convert some videos, but when I bump up the volume (needed for my conversion), I need to compensate for the added noise, using a filter... and FIR was the only one that worked great for me, automatically.

Thanks in advance,

cc979
5th September 2007, 17:02
@haruhiko_yamagata here is a picture of the bug

http://img521.imageshack.us/img521/8317/clipboard1bu5.png (http://imageshack.us)

Kado
5th September 2007, 20:47
@cc979

Isn't it Windowblinds that just messed around with the text (I suppose you're using it)? I'm using the latest build (1463) and everything is ok.

cc979
5th September 2007, 22:52
just plain windows, no visual extras

ShadowVlican
6th September 2007, 04:49
Maybe the option should be changed. Ensure maximum compatibility by default (old behaviour) and require to check a box to enable support for high bitrate DTS. The checkbox could be called something like "high bitrate DTS over SPDIF workaround", with a tooltip like "may not work with some receivers".
i second this request

that and make the checkbox independent from the AC3 output (people that want AC3/DTS passthrough do not check this box anyways)

Ginsonic
6th September 2007, 07:27
What OS are you using? And could you perhaps post a screenshot of the distorted window?

Yes of course ! I am using WindowsXP german and here are the two screenshots (english and german language setting).

albain
6th September 2007, 09:16
Exactly.

Rev 1381 works correctly, but doesn't support high-bitrate DTS streams.

Rev 1437 supports high-bitrate DTS streams, but this makes changes to the SPDIF signal which some receivers can't handle.

Therefore, rev 1443 contains a checkbox (maximise SPDIF compatibility) which allows you to toggle between the original behaviour (which doesn't support high-bitrate DTS streams) and the updated behaviour (which doesn't work with all receivers).

Does that make sense?

Ok I am the one who implemented the new SPDIF format, and I didn't figure out why it doesn't work on some receivers. On my receiver every signals are working (high bitrates DTS and any DTS/AC3 stream).
I think that the problem is related to the data buffer which is not filled correctly.
As long as the solution is not found, it is necessary to keep this checkbox in order to switch between the old and the new signal.

Anyway, as proposed clsid, it is a good idea to contact ac3filter developer in order to know how he made a 100% successful SPDIF signal. I checked his code but it's not the same method

If someone wants to dig around :
Buffer size :
old behaviour :
pProperties->cBuffers=4;
new behaviour :
pProperties->cBuffers=10;


Buffer filling :
old behaviour :
pDataOutW[0]=0xf872;
pDataOutW[1]=0x4e1f;
pDataOutW[2]=type;
pDataOutW[3]=WORD(size*8);
_swab((char*)buf,(char*)&pDataOutW[4],(int)size);

new behaviour :
pDataOutW[0]=0xf872;
pDataOutW[1]=0x4e1f;
pDataOutW[2]=type;
pDataOutW[3]=WORD(size*16);
_swab((char*)buf,(char*)&pDataOutW[10],(int)(size*2-2));

Revision 1460 : the checkbox has been moved to the codec section, but it is not enabled by default

haruhiko_yamagata
6th September 2007, 13:17
I tried to playback a dts-wav file (*.wav) with MPC and ffdshow v1381 , but no success ...
Filters: Wave Parser , ffdshow

in ffdshow codecs: DTS in wav is checked (nothing happens)
AC3filter can playback it (if I check PCM at system tab)

Anyone confirm it ? Or do I need something to set?
If it's a bug, can someone tell a working version number?

Thanks
I have the same issue. It's not likely to be a decoder's bug. Something in the registry is broken. I remember system recovery of Windows Xp have worked for me.
Can anybody tell me why?

haruhiko_yamagata
6th September 2007, 13:19
Postprocessing doesn't work with FLV4 in new ffdshow builds.
OK, it's easy to add FLV4 (VP6F) to the pp list.
But is pp useful for FLV4? I have only one sample which does not need pp.

cbemoore
6th September 2007, 13:34
Ok I am the one who implemented the new SPDIF format, and I didn't figure out why it doesn't work on some receivers.

Hi albain,

I'm not an expert, but could the problem be due to the commented-out AC3 syncword?

The ffdshow code says:

//pDataOutW[4] = 0x0b77; // AC3 syncword (removed because works only for DTS, not for DD)

I've looked at a few other code samples on the web, and they all seem to include the AC3 syncword. Maybe re-adding it would solve the problem?

Chris

foxyshadis
6th September 2007, 13:50
OK, it's easy to add FLV4 (VP6F) to the pp list.
But is pp useful for FLV4? I have only one sample which does not need pp.

I've found that inloop is normally on but can be disabled. Hm. Can add a force PP checkbox, maybe, or see if lavc's pp-enabled field is more reliable now. I'll search out some flv4 and see what happens.

Slightly off the topic, might add h.264 deblocking back in, as another optional algorithm to complement the mplayer, nic's, and spp currently. I'm thinking that's what I should have done originally, but what do you think?

Inventive Software
6th September 2007, 14:22
FLV4 had inloop? Then why do Youtube videos look so bad? :confused:

And foxy: are you talking about adding an option enabling / disabling the H.264 inloop deblocking filter, as opposed to adding H.264 postprocessing deblocking? The latter isn't good, the former is a good idea. ;)

EDIT: On second thoughts, the method you use probably wouldn't work for most video. I think it's only unique to H.264 that particular inloop deblocker.

Leak
6th September 2007, 15:07
FLV4 had inloop? Then why do Youtube videos look so bad? :confused:
IIRC those are mostly FLV1, aka Sorenson Spark aka (almost) H.263.

albain
6th September 2007, 15:32
//pDataOutW[4] = 0x0b77; // AC3 syncword (removed because works only for DTS, not for DD)

I've looked at a few other code samples on the web, and they all seem to include the AC3 syncword. Maybe re-adding it would solve the problem?
Chris

I removed it because it made AC3 streams not work (only DTS did).
I had a look on ac3filter code, and it seems to be far more complicated than FFDShow code, and maybe this is the issue : the buffer may need to be scanned for syncword...

foxyshadis
6th September 2007, 21:10
FLV4 had inloop? Then why do Youtube videos look so bad? :confused:

And foxy: are you talking about adding an option enabling / disabling the H.264 inloop deblocking filter, as opposed to adding H.264 postprocessing deblocking? The latter isn't good, the former is a good idea. ;)

EDIT: On second thoughts, the method you use probably wouldn't work for most video. I think it's only unique to H.264 that particular inloop deblocker.

Inloop disabling is already available on the codecs page. I mean adding a PP option, but unrelated to whether it's playing h.264 or not, it'd be available for mpeg-4 and other streams too. Same algorithm Donal Graft's Deblock uses, and it works pretty well there, just has a different character than mplayer deblocking.

Some of the early Google Videos were done in VP6, until they switched to Spark everywhere (yuck).

albain
7th September 2007, 08:05
One more thing : the new SPDIF behaviour also solves the messup with the audio channels on some multichannel formats.
Besides ac3filter also uses 10 buffers (new behaviour) instead of 4 (old behaviour), so I do believe that the solution is not far

Otherwise I have tried some other methods to fill in the buffer with no success for now

To people where the new behaviour does not work : please tell me if the no sound issue occurs for any audio format (5.1 dolby digital, 5.1 dts), and if you have dev skills you can try to play with the buffer filling (in tffaudiodecoder.cpp / deliversamplespdif). The problem is that I am completely blind on that subject

haruhiko_yamagata
7th September 2007, 12:51
@haruhiko_yamagata here is a picture of the bugI can't reproduce. Could you give a try on the downloads from souceforge.net?

haruhiko_yamagata
7th September 2007, 12:52
I mean adding a PP option, but unrelated to whether it's playing h.264 or not, it'd be available for mpeg-4 and other streams too.It's a good idea. Could you write the code?

Shinjite
7th September 2007, 19:48
Is the latest lavc h264 decoder multi-threaded?
Does it have an impact on P4HT procs?

I have tested clsid's rev 1465, it seems like the H264 decoding still fully utilises 1 thread instead of 2....

Sharktooth
7th September 2007, 20:24
the very latest lavc uses multiple threads for decoding h.264 BUT only if the stream was encoded with multiple slices.

http://forum.doom9.org/showthread.php?t=129702

cc979
8th September 2007, 02:26
I can't reproduce. Could you give a try on the downloads from souceforge.net?

i checked svn 1443 that is fine, but around svn 1451+ it started - maybe the text is stored different but not sure

Kado
8th September 2007, 13:10
Something regarding subtitles... I've been comparing (again) ffdshow renderer and MPC renderer and i've realized that you can get even better subs from ffdshow if you use resize the video before the subs are rendered.
ffdshow places the subs over the video and mpc feeds them to the renderer, thats why (probably) we can't have s subtitle resolution option like mpc has because in ffdshow the subs are dependent on the video resolution.
what's the best settings for resizing a video that can match haali renderer's quality, I'm resizing to 1680pix horizontal.
also, haali resize is done in hardware right (ps2.0)?

Is the resizing done in a different thread from the decoding as well?

foxyshadis
8th September 2007, 13:26
Haali uses bicubic, and in hardware, yes. (But it's configurable, whereas ffdshow only has one sharpness setting, 0.6 iirc. Also apparently it uses ps 1.4 now.) MPC's subtitle alpha blending is also in hardware, so it gets a free speed boost ffdshow can't. You'll probably want to use Letterbox 16:10 in subtitles after the resize.

I'll see what I can do for the PP stuff.

Kado
8th September 2007, 14:09
thanks for the info. I've noticed that subs have less resolution when using haali if compared to vmr9 and evr from mpc subs renderer.
http://pwp.netcabo.pt/kado/doom9/clip_2.pnghttp://pwp.netcabo.pt/kado/doom9/clip.png

I have found some positioning errors when using ffdshow subs renderer, japs text goes on top of english text, luperry.com in wrong place etc, can be seen at min 1.06
http://img.villagephotos.com/p/2004-6/737150/ffdshow.jpghttp://img.villagephotos.com/p/2004-6/737150/mpc.jpg

Sample here (http://rapidshare.com/files/54220775/sample.mkv.html).

Audio and video have nothing to do with the subs but have the same aspect ratio. subs are from "[LuPerry]_Sumomomo_Momomo_-_01_(1280x720_x264).[F5CDB4ED].mkv"

haruhiko_yamagata
9th September 2007, 11:32
thanks for the info. I've noticed that subs have less resolution when using haali if compared to vmr9 and evr from mpc subs renderer.I know MPC has better quality, but you can get better quality from ffdshow. First, check haali's splitter settings (double click the tray icon, Options->Input->Load embedded fonts). Second resize to 1680 horizontally and place subtitle after resize (last is best). Use RGB32 output if CPU can catch up. When ffdshow's subtitle filter get complete, the average CPU would be much faster :sly:.
I'm learning what MPC does for the good quality. It's quite well written, but hard to understand for me.

I have found some positioning errors when using ffdshow subs renderer, japs text goes on top of english text, luperry.com in wrong place etc, can be seen at min 1.06Thank you. I can reproduce. The difference in size is more anoying (hard to fix).

//EDIT The positioning errors are collisions, animation effects and rotation ({\frz}). They are not implemented yet. I have plans to do, but at least after a few months.

Mc Onyx
9th September 2007, 14:14
It seems that FFMPEG's E-AC3 a.k.a. Dolby Digital Plus decoder is finished and i'm wondering if it's possible for someone to make a FFDShow build, that has the decoder integrated... Thanks

haruhiko_yamagata
9th September 2007, 14:25
Something regarding subtitles... I've been comparing (again) ffdshow renderer and MPC renderer and i've realized that you can get even better subs from ffdshow if you use resize the video before the subs are rendered.
ffdshow places the subs over the video and mpc feeds them to the renderer, thats why (probably) we can't have s subtitle resolution option like mpc has because in ffdshow the subs are dependent on the video resolution.
what's the best settings for resizing a video that can match haali renderer's quality, I'm resizing to 1680pix horizontal.
also, haali resize is done in hardware right (ps2.0)?

Is the resizing done in a different thread from the decoding as well?Yes, ffdshow cannot have subtitle resolution option like mpc. It's impossible. ffdshow does the software alpha blending in the main memory.
Resizing is done in the decoding thread. It uses more than two threads if CPU supports it.
Preparing subtitle should be done in separate thread, but currently it is done in the decoding thread. If you are dropping the frame or experiencing a delay when a new subtitle pops up, queing may help.

SBeaver
9th September 2007, 19:10
Hi there I have a question, something I might have touched on before.
Is it possible for 32bit ffdshow to pass on ac3/dts somehow to a 64bit application (like ffdshow 64bit for example).
Since ffdshow is pretty much the only 64bit dshow decoder available except some MS decoders, it's hard to stay away from 32bit media players, since the only one for 64bit is wmp11 which has a lot of limitations.
Any direction to another 64bit media player would appreciated

Leak
9th September 2007, 19:45
Any direction to another 64bit media player would appreciated
Since you can't mix 32 and 64bit code in an application this is rather unlikely.

Then again, media playback isn't exactly something that begs for a 64bit app anyway in my book... so why not use a 32bit player on a 64bit OS? All the extra address space and registers isn't going to make a world of a difference...

np: New Order - Everything's Gone Green (Singles (Disc 1))

SBeaver
9th September 2007, 21:27
Since you can't mix 32 and 64bit code in an application this is rather unlikely.

Then again, media playback isn't exactly something that begs for a 64bit app anyway in my book... so why not use a 32bit player on a 64bit OS? All the extra address space and registers isn't going to make a world of a difference...

np: New Order - Everything's Gone Green (Singles (Disc 1))

ac3/dts passthrough requires a 64bit app, or some kind of hack.
This goes for all vista x64 systems afaik, and so far 64bit ffdshow is the only thing that works.
Which in turn forces me to use a 64bit player and that is where the trouble starts. This should be a more important problem to solve when more and more move to vista x64.

edit: couldn't the 32bit player + ffdshow split out the audio as usual, and then send that to a 64bit application? There must be some line of communication that can be used

Romario
9th September 2007, 23:23
Can someone update x64 builds of ffdshow, please? And add multi-thread decoding to 64-bit ffdshow.

Thanks.

cca
10th September 2007, 09:01
ac3/dts passthrough requires a 64bit app, or some kind of hack.
This goes for all vista x64 systems afaik, and so far 64bit ffdshow is the only thing that works.
Which in turn forces me to use a 64bit player and that is where the trouble starts. This should be a more important problem to solve when more and more move to vista x64.

Strange, since I use 32 bit ffdshow along with Zoom Player and Media Player Classic and my S/PDIF Passthrough works perfectly. I do need to check the "Maximize S/PDIF Compatibily" checkbox though. That's on Vista 64 with a Sound Blaster X-Fi Platinum.

SBeaver
10th September 2007, 13:14
Strange, since I use 32 bit ffdshow along with Zoom Player and Media Player Classic and my S/PDIF Passthrough works perfectly. I do need to check the "Maximize S/PDIF Compatibily" checkbox though. That's on Vista 64 with a Sound Blaster X-Fi Platinum.

Well ever since vista was released I've been reading about people like you who say everything is ok, maybe creative has some workaround in their drivers but it doesn't work for anyone else.

clsid
10th September 2007, 14:44
Also make sure you have the two recent Vista Performance and Compatibility updates installed.

cca
11th September 2007, 08:42
Well ever since vista was released I've been reading about people like you who say everything is ok, maybe creative has some workaround in their drivers but it doesn't work for anyone else.

Well, I also have an onboard HD Audio card, for which I have installed the drivers for. I can check it out after work, and tell you if it is working too or not.

cca
11th September 2007, 12:43
Well, not sure what is happening after all, but it is something regarding ffdhsow. With the 1471 release I am unable to passthough anything, but AC3Filter does it just fine, and it is NOT a 64 bit filter. Also notable, when ffdhsow is used in conjuction with ReClock, it DOES manage to passthrough. It's up to the devs from this point on.

albain
11th September 2007, 13:01
Well, not sure what is happening after all, but it is something regarding ffdhsow. With the 1471 release I am unable to passthough anything, but AC3Filter does it just fine, and it is NOT a 64 bit filter. Also notable, when ffdhsow is used in conjuction with ReClock, it DOES manage to passthrough. It's up to the devs from this point on.

Interesting... this is definitely a buffer sizing issue
All the people who have problems own a 64 bits version of the OS (some datatypes have different size in 32/64bits) ?
It is important to know the answer to this question

Concerning the sound card, I have a creative XFI music and everything works fine on my setup. The problem comes from the HT receiver, and the way it handles the SPDIF (unperfect) encoding.

Otherwise the best way to solve this problem is that someone having these problems would test different sizing parameters with the option "maximize spdif compatibility" unchecked, untill he gets some correct sound.
Of course if AC3filter creator can give us some tips it would be much faster...

cca
11th September 2007, 15:47
Well, I can indeed confirm that I use Windows Vista 64bit as my main OS. The problems I described were complete failure of ffdshow to connect to the audio renderer in S/PDIF mode, the receiver never had a problem in my case. Istead, what was happening was that AC3Filter was connecting after ffdshow and was doing S/PDIF decoding downmixing again! If I totally remove AC3Filter, ffdhshow just fails to produce any audio, not able to connect to the audio renderer. If I indeed specify ReClock as the audio renderer, everything works flawlessly. If we can figure this out by testing, I volunteer to help if I can. My receiver supports Dolby Digital EX and DTS 6.1.

SBeaver
11th September 2007, 16:47
Just so we are clear on this, I hope all of you actually have a way to tell what signal is going to the reciever.
From all information I have gathered there should be no way to passthrough ac3/dts using 32bit filters in vista x64.
At most you'll get decoded and downmixed to stereo pcm.
There is no need to mention xp x64 since it has no limitations in this area.
I have two soundcards myself, one via envy24HT based and on realtek 850 based.
None of these work on 32bit (realtek last tried with drivers sometime this spring, I assume nothing has changed) but both work when using a 64bit filter like ffdshow x64 builds.
Also please note that trying dts and ac3 in vistas audio settings and playing a test sound proves nothing since it is a 64bit app and should always work anyway.
The only systems I've seed with claimed working passthrough are creative soundcards they are either all false claims or creative has a workaround that they use somehow, but then why wouldn't all other manufacturers do the same thing?

edit: regarding reclock, did you use kernel streaming as the audio renderer? perhaps that bypasses vistas limiting audio stack in some way.

cca
11th September 2007, 16:58
Just so we are clear on this, I hope all of you actually have a way to tell what signal is going to the reciever.
From all information I have gathered there should be no way to passthrough ac3/dts using 32bit filters in vista x64.
At most you'll get decoded and downmixed to stereo pcm.
There is no need to mention xp x64 since it has no limitations in this area.
I have two soundcards myself, one via envy24HT based and on realtek 850 based.
None of these work on 32bit (realtek last tried with drivers sometime this spring, I assume nothing has changed) but both work when using a 64bit filter like ffdshow x64 builds.
Also please note that trying dts and ac3 in vistas audio settings and playing a test sound proves nothing since it is a 64bit app and should always work anyway.
The only systems I've seed with claimed working passthrough are creative soundcards they are either all false claims or creative has a workaround that they use somehow, but then why wouldn't all other manufacturers do the same thing?

edit: regarding reclock, did you use kernel streaming as the audio renderer? perhaps that bypasses vistas limiting audio stack in some way.
No, I did not used Kernel Streaming, I have it setup to use WaveOut for S/PDIF in ReClock. Also, AC3Filter can do S/PDIF with both my SoundBlaster X-Fi and my onboard SoundMAX audio device. Beware though: I also have a Logitech Webcam with microphone. I cannot get S/PDIF to work if the that microphone is left enabled in device manager, I have to manualy go and DISABLE totally the mic, which appears as USB Audio device. Sounds strange, but it happens exactly like this.

SBeaver
11th September 2007, 17:07
No, I did not used Kernel Streaming, I have it setup to use WaveOut for S/PDIF in ReClock. Also, AC3Filter can do S/PDIF with both my SoundBlaster X-Fi and my onboard SoundMAX audio device. Beware though: I also have a Logitech Webcam with microphone. I cannot get S/PDIF to work if the that microphone is left enabled in device manager, I have to manualy go and DISABLE totally the mic, which appears as USB Audio device. Sounds strange, but it happens exactly like this.

I also have a usb audio device, I will try and remove it and see if it changes anything.
What was the audio you played btw? It's better if you say ac3 or dts since SPDIF really goes without saying since you can't pass anything through without it.

cca
11th September 2007, 17:15
I also have a usb audio device, I will try and remove it and see if it changes anything.
What was the audio you played btw? It's better if you say ac3 or dts since SPDIF really goes without saying since you can't pass anything through without it.

It was AC3 5.1 if that helps. The Dolby Digital led lit up immediately in the receiver.

SBeaver
11th September 2007, 17:24
It was AC3 5.1 if that helps. The Dolby Digital led lit up immediately in the receiver.


OK I hope that's acurate, my reciever can tell which channels are included and such but I guess if it gets a dolby signal something must be working right for you.

I tried again with the same results.
AC3filter shows the level bars and it says input it 5.1 and output is 5.1 and my reciever is still getting pcm stereo.
Then I try and check the use spdif (passthrough) and then I don't get any audio to the reciever at all.
And in x64 media players everything as working

phunqe
12th September 2007, 00:43
Feels like I'm missing something fundamental here, but I can't get ffdshow's h264 decoding to work on both my CPU cores. I've even tried setting the number of threads to 2 in decoder options, but it only uses one.

Currently using ffdshow_rev1471_20070909_clsid, but I've tried with other revisions as well and also on a different machine. Tried on both XP SP2 and Vista Ultimate x86.

Please advice.

Thank you.

foxyshadis
12th September 2007, 02:28
It only decodes if it has multiple slices, like apple trailers, old x264 multithreaded encodes, Nero (I think?), maybe others. No idea whether HD discs use slices, if not then no threading currently.

cc979
12th September 2007, 05:29
@haruhiko_yamagata remember when i mentioned about 'no text' in video decoder configuration part, which shows ..

codecs, directshow control, ... (which does not show anymore for me)

is unicode required to compile ffdshow.ax, as ansi from gcc is not displayed ?

cheers

haruhiko_yamagata
12th September 2007, 11:24
@haruhiko_yamagata remember when i mentioned about 'no text' in video decoder configuration part, which shows ..

codecs, directshow control, ... (which does not show anymore for me)

is unicode required to compile ffdshow.ax, as ansi from gcc is not displayed ?

cheersI compiled ffdshow by GCC 4.0.4. It works fine for me. I cannot reproduce. Could you send me the ffdshow.ax?

cc979
12th September 2007, 16:08
did one working and a new one
http://www.speedyshare.com/778904670.html

cheers

phunqe
13th September 2007, 08:57
How's the roadmap looking regarding dual core / multi processor support? Even with a fast cpu I get choppy performance when playing high bitrate 1080p videos.

Using CoreAVC for now, but it would be nice to have everything in one place.

foxyshadis
13th September 2007, 09:00
You'll have to ask ffmpeg. ffdshow is only the public face (like mplayer and vlc), actual decoding algorithms aren't written by us. =p

phunqe
13th September 2007, 09:43
...and there is a good example on that I should get my morning coffee before even remotely trying to ask any questions whatsoever.

Sorry :p

Leak
13th September 2007, 16:31
I'm having a slightly different problem with the ffdshow audio decoder and "swap channels" (which I use to swap the left and right channels since I have my stereo speakers behind me when I'm using my projector):

I was watching the first season of Star Trek: Voyager on DVD when I noticed that the episodes on the second disc stayed silent *unless* I activated 32-bit output in the ffdshow audio decoder. Using 16 or 24 bit instead doesn't work, as the 5.1 AC3 audio will stay silent - but it does work in the menu at first, which only has stereo audio... :confused:

Could it be that channel swapping, for whatever reason, only works right with 32bit output?

The three filters I'm using are the mixer (to mix 5.1 down to stereo), "swap channels" to swap left and right and "volume" to amplify things a bit.

I've used VOB Blanker to produce a stripped down set of files that is still able to reproduce the problem and put it here (http://leak.no-ip.org/Stuff/Voyager1.1.2_Menus.7z) in case someone wants to try this out - just open the VIDEO_TS.IFO in MPC, click "English", "Phage" and "Launch" - as soon as the episode starts to play (without having "32 bit output" checked), there's no more sound from there on, as going back to the menu also lacks any sound after that.

np: Mike Shannon - Last One Terrified (Possible Conclusions To Stories That Never End)

yesgrey
13th September 2007, 23:35
It would be great to have an option in the output tab for converting to a custom RGB. This custom RGB would be obtained specifying the conversion 3x3 matrix to convert from YV12/YUY2 -> RGB.

This is needed because some displays have RGB primaries different from the BT.709, and with a custom matrix we can correct them to obtain the colors as they are supposed to be.

Ideally, we would have two RGB custom sets, because some videos are BT.601 and others are BT.709.

Would this be very hard to do? In case it's a simple thing is there anyone who can do it? I could try to do it, but I don't know where to start, and my c++ and asm skills are very low... I only know c.

Thanks.

haruhiko_yamagata
14th September 2007, 14:02
It would be great to have an option in the output tab for converting to a custom RGB...
Do you have any samples that use non BT.601? It's not too hard, but I need sample to work on.

yesgrey
14th September 2007, 19:50
Do you have any samples that use non BT.601? It's not too hard, but I need sample to work on.

I think that any blu-ray or hd-dvd are in BT.709. I could try to prepare you a little sample, but any sample should work, even a BT.601 one, because the idea is not correcting the source, the idea is changing the source in a way that when output in the display it shows the right colors. Some displays have a color gammut wider than the source, so, at the output, the colors are different than what's supposed to be. We can correct this with a transformation matrix to convert the source colors from the source color gammut to the display color gammut. I already wrote a matlab file to calculate this matrix, now I only need a way to use this matrix. ffdshow is the best place, since lots of people use it for viewing their content.

Or when you talk about a sample you are talking about a custom matrix sample?

Thanks for your help.

amt
14th September 2007, 20:38
Such a feature would be appreciated. My LCD TV has a nasty red push and it would be nice to be able to compensate for it in ffdshow.

@yesgrey3
How did you calculate a custom matrix for your display? Did you use a colorimeter to measure the displays real gammut?

Atak_Snajpera
14th September 2007, 23:23
I have one question. Why MJPEG in VFW decoder is disabled by default?

yesgrey
15th September 2007, 00:06
@amt

Yes, it's the only way. With the primaries coordinates, it's just doing the math. Let's see how all this works out and then I will put here my matlab file.

Nicholi
15th September 2007, 00:14
I'm having a slightly different problem with the ffdshow audio decoder and "swap channels" (which I use to swap the left and right channels since I have my stereo speakers behind me when I'm using my projector):

I was watching the first season of Star Trek: Voyager on DVD when I noticed that the episodes on the second disc stayed silent *unless* I activated 32-bit output in the ffdshow audio decoder. Using 16 or 24 bit instead doesn't work, as the 5.1 AC3 audio will stay silent - but it does work in the menu at first, which only has stereo audio... :confused:

Could it be that channel swapping, for whatever reason, only works right with 32bit output?
I'm surprised my eye caught this post. I can confirm Leak's initial finding. Awhile back I ran into a DVD much like his, it opened with trailers that were 2ch stereo audio but the menu and movie had 5.1. Everything was fine through the trailers but when the menu followed (and also into the movie) the sound was completely gone. Basically running on ffd defaults, no filters and 16bit output.

What I noticed was if I forced the channel mixing (set it to 5.1) and played from the beginning of the DVD everything was fine. But leaving the mixing off caused the change in channel numbers to freak out ffd. Never did check with 32bit output, didn't occur to me. But I checked again just now and attempting to force any of the other outputs makes no difference.

haruhiko_yamagata
15th September 2007, 06:14
did one working and a new one
http://www.speedyshare.com/778904670.html

cheers
OK, I'm begining to understand. Though I cannot reproduce using my own compilation, I hope next my commit will fix it.

yesgrey
15th September 2007, 14:57
haruhiko,

Here is a sample custom matrix:
C = [0.879244 0.101276 0.019480]
[0.044836 0.915219 0.039945]
[0.015503 0.097127 0.887370]

Considering the BT.601->RGB conversion matrix as B, the conversion from YUV->custom RGB should be:
[RGBcustom] = C x B x [YUV]

Leak
15th September 2007, 17:43
I was wondering one thing about auto-preset loading: it loads the first preset that matches *any* condition set for the preset - wouldn't it make much more sense to at least include the option to only load the first preset to match *all* conditions?

I.e. I have two presets that convert DVDs for my 800x600 projector, but one for NTSC and one for PAL - currently I can't make an autoload preset that only loads when there's both the "DVD Navigator" filter in the graph *and* the frame rate is 30Hz for NTSC and another similar one for 25Hz for PAL...

Mind if I add a per-preset option to choose whether any or all conditions must match? :)

np: Mike Shannon - Tears (Possible Conclusions To Stories That Never End)

clsid
15th September 2007, 21:25
Instead of adding yet another option, wouldn't it be better to just make it work the logical way. For me also that would mean using AND instead of OR on all the enabled conditions in a preset.

Leak
15th September 2007, 23:20
Instead of adding yet another option, wouldn't it be better to just make it work the logical way. For me also that would mean using AND instead of OR on all the enabled conditions in a preset.
Well, sure. I just was erring on the cautious side because someone might already be making use of the "OR" behaviour, which would of course break with a change to "AND"...

The code change itself should be rather minimal, but the implications might not be. What does the rest here think?

np: Luke Vibert - Comphex (Chicago, Detroit, Redruth)

Bathrone
16th September 2007, 04:02
Can a new build be done please theres some changes in the log I'm keen to test, thanks.

yesgrey
16th September 2007, 19:09
Haruhiko,
Here is a little help from me: I have made some changes to the ffdshow video output dialog tab. Let me know what you think (and others from here, also) about it. If you all agree about it, let me know how should I add it.

Looking at it you could have a better idea of what I am suggesting:
-a way to select the matrix coefficients for the YUV->RGB conversion (I have looked at ffdshow code and it appears that it already supports both matrices, I think it's just needed to add the code for the selection)
-allowing a conversion between RGB spaces with different primaries coordinates. For this, we should supply a matrix for the conversion. This matrix should be applied after the conversion from YUV->RGB. If we multiply the YUV->RGB matrix with the RGB->RGBdisplay matrix at the beggining, the YUV->RGBdisplay conversion could be done without any processing penalty.

Rash
16th September 2007, 22:50
I've noticed that ffdshow's systray icons always create the right-click menu on the ffdshow audio icon (the blue one on clsid build). But I usually play videos that require only the video decoder, so I don't get a menu. Is there a way I could make ffdshow create the menu on the video decoder tray icon?

Thank you.

foxyshadis
17th September 2007, 03:50
Haruhiko,
Here is a little help from me: I have made some changes to the ffdshow video output dialog tab. Let me know what you think (and others from here, also) about it. If you all agree about it, let me know how should I add it.

Looking at it you could have a better idea of what I am suggesting:
-a way to select the matrix coefficients for the YUV->RGB conversion (I have looked at ffdshow code and it appears that it already supports both matrices, I think it's just needed to add the code for the selection)
-allowing a conversion between RGB spaces with different primaries coordinates. For this, we should supply a matrix for the conversion. This matrix should be applied after the conversion from YUV->RGB. If we multiply the YUV->RGB matrix with the RGB->RGBdisplay matrix at the beggining, the YUV->RGBdisplay conversion could be done without any processing penalty.

That's a decent UI for it, although I'm of the opinion that a custom RGB conversion should be done as a separate filter, not as part of the normal conversion. Mainly because few would use it, but also because I'm concerned that applying the matrix before or after would cause banding and slowdown. (So does levels, and I already avoid its use whenever possible.) Fortunately, it'd probably actually be easier to avoid both by just precomputing the coefficients and combining them into one operation. (Obviously this won't work with ICM profiles, but so far no one's requested those.)

yesgrey
17th September 2007, 10:29
Fortunately, it'd probably actually be easier to avoid both by just precomputing the coefficients and combining them into one operation.

That's my idea. Maybe I was not clear enough, but that was my thinking. It's just multiplying the two matrices before starting the process to obtain the coefficients. That's also why I thought adding this matrix to the output tab. If it is a diagonal matrix with all coefficients 1.0, it does nothing. Another option (which I prefer) is putting a check box to enable/disable the use ot the custom RGB matrix, but the dialog is already so crowd!...

I have considered this instead of the ICM profiles because it would be easier and faster to do. It would be perfect if we just entered our display primaries coordinates and then ffdshow would do all the math, but that was a much more harder task, and very few people would actually use it, because not everyone could measure their display primaries.
To easier the task, I have written a little matlab file for calculating the conversion matrix for the display color primaries. With this file and the ffdshow presets/profiles capability, we could approach the ICM profiles capability.

I know this is not completelly accurate, because for a correct ICM we should correct the RGB colors at the linear domain, but according to Poynton's colorfaq n.20, if all the conversion coefficients are close to either zero or one, the resulting erros of performing the conversion at the non-linear domain will be insignificant.

haruhiko_yamagata
18th September 2007, 12:49
Haruhiko,
Here is a little help from me: I have made some changes to the ffdshow video output dialog tab. Let me know what you think (and others from here, also) about it. If you all agree about it, let me know how should I add it.
Thank you. It explains clearly what you need.
The dialog is cool, but bit too crowded for new users. I think new page should be added as an option to "Output".

yesgrey
18th September 2007, 13:11
The dialog is cool, but bit too crowded for new users.

Yes, i thought it too.

I forgot one thing. The conversion routines to RGB have four options: rec601, rec709, pc601, pc709. Currently, i believe the conversion to RGB uses the rec601 option, but it would be great to have all 4 available, especially the pc601 and pc709 options, because that are the most important for an accurate viewing.

I have considered another way of solving my request, maybe it's easier...
Since ffdshow has avisynth support, I could request to be added the possibility of a custom matrix to the ConvertToRGB routine and then use it with ffdshow. This routine already have all the other options I am requesting with a plus: we could use better sample algorithms for the chroma (in 2.6).

Since this is a correction needed only for the viewing, the right place to do it is in ffdshow, but let me know what you think about it...

obieobieobie
18th September 2007, 13:48
Is there a difference between the mpeg4 asp decoder in ffdshow and the one in vlc? I can see combing artifacts when ffdshow decodes but not when vlc decodes the same file. The file is ripped from cable tv and deinterlaced before encoding.

edit: no deinterlacing is enabled in either ffdshow or vlc

haruhiko_yamagata
18th September 2007, 15:26
The conversion routines to RGB have four options: rec601, rec709, pc601, pc709.
Is it possible to auto-detect rec and pc?
If you have samples that use pc601/709, please send us some.

LotharZ
18th September 2007, 16:17
Hi, I found 2 sub/idx (vobsub) files that seems ffdshow can't handle.

Track1 show the first line but then freezes and Track2 isnt showed. They were merged on a mkv file but no works in and out of the file.

They come from a Cromatine (anime) episode.
[a-s]_sakigaki!!_cromartie_high_school_-_23_-_stone_cold_crazy__ranmasaotome_[AC5956B4].mkv

Files: http://sharebee.com/ff3a1f10

At same time, I've a request, could you add a feature on the Subtitles section that discarts the SSA tangs on that kind of subs, It could be really useful to watch some subtitles that have annoying gothic fonts or extremely small sizes coded.

thx

yesgrey
18th September 2007, 22:24
Is it possible to auto-detect rec and pc?

I don't think so. The real question is that the conversion from YUV to RGB should translate the Y channel [0:255] to RGB [0:255]. The video black and white at YUV [16,16,16] and [235,235,235] should be converted to RGB [16,16,16] and [235,235,235], because it still exist video info bellow [16,16,16] and above [235,235,235]. If you use rec, the whites will be crushed, because all YUV values above [235,235,235] will be converted to RGB [255,255,255]. All dvd movies should be converted with pc values. This is the same thing between overlay mixer and VMR. Overlay mixer convert YUV to RGB using rec and VMR convert using pc, the way it should be. That's why we should prefer VMR for viewing instead of overlay mixer.

If you want to read more about this subject try this thread, which is very informative:
http://archive2.avsforum.com/avs-vb/showthread.php?t=416292&highlight=blacker+AND+than+AND+black

yesgrey
18th September 2007, 23:25
haruhiko,
you have a PM.

KoD
19th September 2007, 11:27
yesgrey3, what you are saying and what the Microsoft engineers speak of in that article (it's Microsoft that asked of Nvidia and ATi too implement the VMR this way) is not the proper way. Don't trust what others say so much, read about color transforms from the specs yourself.

haruhiko_yamagata
19th September 2007, 11:38
Hi, I found 2 sub/idx (vobsub) files that seems ffdshow can't handle.

Track1 show the first line but then freezes and Track2 isnt showed. They were merged on a mkv file but no works in and out of the file.

They come from a Cromatine (anime) episode.
[a-s]_sakigaki!!_cromartie_high_school_-_23_-_stone_cold_crazy__ranmasaotome_[AC5956B4].mkv

Files: http://sharebee.com/ff3a1f10

OK, confirmed. I can reproduce if I check "Obey positional settings from Subtitles page". If I uncheck it, I can watch the subtitles but its color is wrong.

At same time, I've a request, could you add a feature on the Subtitles section that discarts the SSA tangs on that kind of subs, It could be really useful to watch some subtitles that have annoying gothic fonts or extremely small sizes coded.

thxIt's not too hard to implement. The problem is that the dialog is too crowded.

haruhiko_yamagata
19th September 2007, 11:40
All dvd movies should be converted with pc values.Is this correct? The color spaces are really confusing.

Jeremy Duncan
19th September 2007, 15:48
Is this correct? The color spaces are really confusing.

If you want to be sure. Post the question in this forum:
Link (http://www.avsforum.com/avs-vb/forumdisplay.php?f=139)

haruhiko_yamagata
19th September 2007, 16:24
If we multiply the YUV->RGB matrix with the RGB->RGBdisplay matrix at the beggining, the YUV->RGBdisplay conversion could be done without any processing penalty.Unfortunately it costs more CPU.BT.709 color space conversion (please check if it is correct)

R=1.164(Y-16)+1.792(V-128)
G=1.164(Y-16)-0.2128(U-128)+0.5323(V-128)
B=1.164(Y-16)-2.111(U-128)Here, to get R, we don't have to calculate x*(U-128).
If we want to support custom matrix, we have to calculate x*(U-128) for R and x*(V-128) for G. So it means we have to modify the asm code a lot.

haruhiko_yamagata
19th September 2007, 16:29
If you want to be sure. Post the question in this forum:
Link (http://www.avsforum.com/avs-vb/forumdisplay.php?f=139)
I have converted some DVD using pc601, which have resulted poor image. I think most DVD should not be converted with pc601. And yes, there are few DVD that should be converted with pc601. MPC seems to detect automatically and does a good job.

yesgrey
19th September 2007, 18:37
yesgrey3, what you are saying and what the Microsoft engineers speak of in that article (it's Microsoft that asked of Nvidia and ATi too implement the VMR this way) is not the proper way. Don't trust what others say so much, read about color transforms from the specs yourself.

Where could I read about it?
I do not trusted them. What they said in that thread makes sense and is logical. I also have tryed to perform the conversion as they suggested and realized that it made sense to be that way. Maybe I am wrong and they are wrong, I don't know, but it's strange when the "wrong" way makes sense and the "correct" doesn't,
but maybe I am not seeing the whole picture...

Wilbert
19th September 2007, 20:09
@haruhiko_yamagata,

The correct formulas for YCbCr [16,235] <-> RGB [0,255] (Rec.709) are:

R=1.164*(Y-16)+1.792*(V-128)
G=1.164*(Y-16)-0.2129*(U-128)-0.5326*(V-128)
B=1.164*(Y-16)+2.113*(U-128)

as derived in http://avisynth.org/mediawiki/Color_conversions.

yesgrey
19th September 2007, 21:45
I have converted some DVD using pc601, which have resulted poor image.

Yes, I also agree that using pc601 the image is less appealling that using rec601, but it does not means that is the way it should be done. With rec601 the image has more contrast, which is more appealling, but you also get a crush in the whites. Very bright scenes became all white, instead of several shades of white. I have seen it in some movies.

yesgrey
19th September 2007, 21:52
Unfortunately it costs more CPU.Here, to get R, we don't have to calculate x*(U-128).
If we want to support custom matrix, we have to calculate x*(U-128) for R and x*(V-128) for G. So it means we have to modify the asm code a lot.

Yes, you are right. I forgot that without the custom matrix there are less two values to consider, which have to be considered when the matrices multiplication occur.

Maybe it's better the other option of using avisynth ConvertToRGB, since with it the code is already wrote to support the full matrix.

Thanks anyway!

Wilbert
19th September 2007, 22:06
Yes, I also agree that using pc601 the image is less appealling that using rec601, but it does not means that is the way it should be done. With rec601 the image has more contrast, which is more appealling, but you also get a crush in the whites.
Yes, but that's only a little crush. On DVDs black is centered around 16 and white is centered around 235. I say centered, because 16 is not the min and 235 not the max value, but those are averages. You can see this nicely with AviSynth and Limiter(show=true).

yesgrey
19th September 2007, 23:09
Yes, but that's only a little crush. On DVDs black is centered around 16 and white is centered around 235. I say centered, because 16 is not the min and 235 not the max value, but those are averages. You can see this nicely with AviSynth and Limiter(show=true).

Yes, that's exactly the conclusion of the thread I have put the link. The more relevant is the data above 235, because the data bellow 16 is not supposed to be viewed, that's the reason for some people using a compromise solution, like: [14,245]->[0:255], and for this they use the filter levels. But if the conversion to RGB uses the rec mode, this cannot be done. That's why I suggest the conversion could also be done with the pc mode, so we can customize the output for our likings. ffdshow as it is now, is not very usefull for converting to RGB.

The use of the [0,255]->[0,255] is justified because they say it's a more smooth conversion from YUV to RGB which could cause less banding. For me, I think the best should be the compromise solution.

Kado
19th September 2007, 23:21
It looks like VMR9 uses the "set pixel aspect ratio in output media type" but evr and haali renderer don't.
with vmr9 video play wide but with evr and haali plays more 4:3 style with option enabled/intermediate and 4:3 for all with option disabled.
video info: size:704x480, sar:853/704, dar:853/480.
file is "[Hauu~].Higurashi.no.Naku.Koro.ni.Nekogoroshi-hen.(H264.Vorbis)[F654D046].mkv"

thuan
20th September 2007, 01:45
@Kado: I can play that file perfectly fine over here with Haali with everything is default.

EDIT: Which splitter are you using? Haali or Gabest?

Kado
20th September 2007, 10:30
I'm using haali splitter. in your system you get wide screen video with haali renderer for that file? in mine wide is only with vmr9...

haruhiko_yamagata
20th September 2007, 10:52
I tried to playback a dts-wav file (*.wav) with MPC and ffdshow v1381 , but no success ...
Filters: Wave Parser , ffdshow

in ffdshow codecs: DTS in wav is checked (nothing happens)
AC3filter can playback it (if I check PCM at system tab)

Anyone confirm it ? Or do I need something to set?
If it's a bug, can someone tell a working version number?

ThanksI found the way.
* Enable "Uncompressed" and "Check for DTS in WAV" at the foot note of DTS.
* Raise the merit value.

thuan
20th September 2007, 11:41
Yeah, perfectly normal over here. Maybe you should try resetting your MPC settings for aspect ratio and related stuffs (settings under Video Frame and Pan&Scan).