View Full Version : dffshow filter


wing1
14th April 2002, 07:26
wow! The filter is awsome. Just download it and ran with xvid encoded clip and the result is just splendid.

mwillberg
14th April 2002, 09:16
Yeah, I second that, great work!

debris
14th April 2002, 09:35
WOW!

I also just tried it and I'm deeply impressed! Especially the possibility to add noise, as stupid as it may sound in the first moment, really helps to beef up 1CD rips as you get (some sort of) film grain back.
Quite low CPU usage, very good image quality and the "automatic quality control" make this one my new default output filter for all kinds of xvid and divx! :)
Are the xvid developers already working together with this guy? If not: better start doing so and you can kick every commercial codec's b*tt!

avih
14th April 2002, 10:23
yes, this guy posts in the xvid forum.
he's done an excellent job, but atm the filter contains separate decoding library from ffmpeg. it would be more appropriate that an xvid dshow filter would not contain other decoding code than xvid's.

however, on the bright side, this is actually a stand alone decoder+dshow filter+postprocessor for all majour mpeg4 formats. why do u want it integrated into xvid? just use it :)

indeed excellent work.

regards
avi.

TheXung
14th April 2002, 10:39
How bizarre that the noise actually seems to give it something, though I prefer it at a lower setting than the default 25. It's like the idea of adding non-audible high frequencies to mp3's during playback.


This is a little different than the noise principle, but while we're on the subject of adding random stuff during playback, has anyone tried implementing some SBR-type technology that mp3pro has? I'm not really sure how mp3pro generates the higher frequencies from only the low frequency, but what if the same algorithm were applied to video. We could try to generate the higher frequencies that were lost during quantizing.

Koepi
14th April 2002, 10:51
The principle behind mp3pro is very simple (and is based upon scientific research in this matter for deep sea divers...)

You just take your input signal, calculate the dominant harmonics (very easily done while your in the frequency domain anyways) and then calculate the corresponding higher frequency harmonics (just double the frequency 8 times and you're one octave higher). It _does_ bias the signal totally in terms of "reproducing the original", but may give a nice listening impression.

This written, how would you find harmonics in a picture? How would it look like if you add those additional high-frequency harmonics? Would you really want a _destroyed_ reproduction of your signal or wouldn't it matter if it gets badly biased? (I just want to mention that i really dislike mp3pro).
The additional noise is a nice idea and doesn't necessarily destroy the picture, while adding new harmonics would...

Regards,
Koepi

-h
14th April 2002, 10:59
ffmpeg is a much older project than XviD, and is basically an effort to modularly encode/decode as many block-based video formats as possible. It's quite highly optimised (though more could be done in this area), however the focus has really been on decoding performance/formats. Check it out here (http://ffmpeg.sourceforge.net).

The MPEG-4 encoding side is quite a bit weaker than XviD - you can try out ffmpeg's encoding performance with this codec (http://cutka.szm.sk/ffvfw/ffvfw.html). ffdshow's author grafted XviD's vfw frontend onto ffmpeg, it works mostly the same, it just generates worse quality files for me (and does it slower too ;)).

-h

mwillberg
14th April 2002, 11:09
All I know is that with sharpening and a little noise all movies look a LOT better... I guess it's because the eye is used to film grain, and therefore it looks more natural than the "pure" output. Even my TV-caps of The Simpsons (which I filter like crazy to remove all noise before encoding) looks amazing with noise added.

The People's Elbow
14th April 2002, 11:18
Wow, this is really a masterpiece...especially for anime encodes!
Did not test it @ "normal" movies yet, but on cartoons the integrated filters really work wonders. And the performance is nice, either!

greetz,
Elbow

cult
14th April 2002, 13:44
how can I use this filter?I tried to replace the xvid.ax that was included with koepis 12/04 version with the new ,but everytime i try to play a xvid movie the zoom player or wmp get a crash

Gazza
14th April 2002, 13:57
I also had problems with recent encodes and the new filter. On my last two encodes I 'enabled interlacing' and 'Hinted ME'. Without the new filter installed they play very well - excellent results guys! However when I ran these through zoom player after installing the new filter I just got solid green screens interspersed with blocks of color.
If I went back to an encode using an earlier xvid build (could have been 6 April or ~27 Mar) then everything is OK and the new filter is very very good. But on later encodes it doesn't work.

-h
14th April 2002, 14:28
I also had problems with recent encodes and the new filter. On my last two encodes I 'enabled interlacing' and 'Hinted ME'. Without the new filter installed they play very well - excellent results guys! However when I ran these through zoom player after installing the new filter I just got solid green screens interspersed with blocks of color.

That's a problem with ffmpeg - remember, there is *no* code from XviD in this, apart from a couple hundred lines that interface with dshow. Specifically, ffmpeg does not support MPEG-4 video streams with field-dct macroblock types (i.e. interlacing).

I don't know when it will be added.

-h

Nic
14th April 2002, 15:37
Maybe it would be better for me to try & port the relevant ffmpeg code to the xvid dshow filter....

However, the source of ffmpeg is messy to say the least :)

-Nic

debris
14th April 2002, 15:51
Hey Nic, this would be great to say the least! :) :) :)

I'd really like an "add noise" option in your decoder filter because after seeing how it improves especially blocky low-bitrate 1CD rips I don't want to miss this features no more.
Sharpening is nice but at least for me only secondary priority and the rest of the filter looks and works quite like your filter already does.

debris
14th April 2002, 15:58
Oh I forgot: the noise function made my 1CD rip of this trashy DEFA-movie "Der Schweigende Planet" (1959 AFAIK) look really _better_ than the original DVD.
The whole movie is very blurry and has some problems with flickering colors and stuff. And it seems they "mastered" it using some heavy heavy noise filtering. Not a pleasure to look at, but a pleasure for xvid to encode without any resizing (just cropping off the black borders). Even the 1CD-version looks almost like the DVD.
My point now is: the addition of noise really gives it back its filmlook that it lost because of the crappy mastering.

Veeeery nice... :)

vinouz
14th April 2002, 16:04
@Koepi:
just double the frequency 8 times and you're one octave higher

It's not exactly that : in fact an octave higher means a double frequency. There's a simple logarithmic relation between octaves (the human perception of height of sound) and frequency.
putting octave-3-A (440Hz) = note 0, you get :

freq(Note) = 440*2^(Note/12)
and reversely note(Freq) = ipart(log2(Freq/440)*12)

else you're right. I'd really like to see these new harmonics, should be a nice psychaedelic effect ;op.

Vincent

debris
14th April 2002, 16:20
While we start comparing audio and video compression and adding "harmonics" I just got another idea:

Some audio editor apps offer denoising based on taking some sort of a "noise fingerprint" first and then subtracting just the kind of noise from the signal leaving even higher frequencies intact (which most other noise filters just cut off or damp).
What about taking a "grain/noise fingerprint" first and then adding it via a special dshow filter afterwards to make the video look more "alive" again?! ;)

What I mean is: every movie is shot on one kind of film (most of the time) which means that it contains the same amount, kind and size of noise or grain all the time. Now if we just take a low-motion scene with a one-coloured background for example and have the encoder select a rectangle containing just this colour (like a wall or sky or something), let it analyze the luma/chroma-noise in it and then store this info somewhere in the stream, we could tell the decoder to add similar noise to it again afterwards because the original noise has been lost during encoding.
I know that professional compositing solutions like discreet flame use similar techniques to add filmgrain to stills and scenes shot on video to make them look like the rest of the movie/spot.

Just an idea though for some crazy guys to implement after adding b-frames, GMC, ... ;)

Koepi
14th April 2002, 16:22
Heh, I had 2x there first as well, but then I remembered that there was something about an A beeing 440 Hz but 880Hz wasn't really the next octave but the next tone (H [B in some notations]) or something.

But well, the first thing you remember is nearly always right... :)

But I doubt that this looks _good_. For sound this might be ok, but it should give you strange color shifts, ringing or something like that on movies.

Best regards,
Koepi

trbarry
14th April 2002, 16:35
Quantized IDCT based compression takes advantage of the fact that the components of many frequencies are quantized to zero making them easy to compress. I wonder if instead of noise the decoded picture would look more realistic it a small non-zero value was added to these components during decoding, at least for more heavily quantized higher frequency components.

It would have to be done so as to not mess up motion comp but the results might be interesting. Is any such optional process used now anywhere? I'm just learning about this stuff.

- Tom

chemmajik
14th April 2002, 17:45
The most impressive thing I like about this program is the register/deregister built in for all known codecs. For a developer this saves alot of headaches. He used VS.NET to compile it I think it requires msvcrt70.lib to compile. The universal decoder, beam me up scottie.... I was wanting to add a smoother somehow in it, not as extreme as the one divx5 does for xvid.

TheXung
14th April 2002, 18:24
Since I doubt many of us here are "scientists" on this matter, I think we just need to do it and see if there is any improvement, an ad hoc approach instead of a theoretical.

The way I see it, a macroblock is part of a picture, and this part of a picture will likely need more than just one frequency to recreate it. I am thinking there would be 2 or 3 "harmonic" frequencies already in the data and just a random 4th or 5th harmonic wouldmake it look more textured or provide a sharper edge.

gldblade
14th April 2002, 20:03
Just wondering, does this happen to use the same code as Nic's DSF? I dunno why, but I'm getting pretty poor results. The color is sometimes way off for me and it looks kinda ugly, though I can't exactly put my finger on why.

rui
14th April 2002, 20:47
Well, i am using the dffshow filter to play all my divx3, 4 and 5 rips. All this without any divx code installed in my comp (i had some trouble getting rid of all the spyware divx5.01 pro left in my comp, so for me it will be a long time before i will install divx again)
For xvid, since i have the codec and Nic's ds filter installed, i don't use dffshow filter.

Prosper
14th April 2002, 23:50
Wow, I am really impressed, this thing is fast. Nice featureset, too.
One little thing that would be nice, tho, is a box somewhere that displays the fourcc of the clip being played, sometimes I forget whether the clip is Divx4, 5, XVid, or what exactly. (Not like it makes much difference, but still, it would be nice)

Shayne
15th April 2002, 01:35
quote

"Maybe it would be better for me to try & port the relevant ffmpeg code to the xvid dshow filter....

However, the source of ffmpeg is messy to say the least

-Nic"

This dsf is better than sliced bread ............ from clutter comes genius. I think it would be a big step up to include this in XviD. Come on Nic give credit where credit is due ......... please

-h
15th April 2002, 03:05
This dsf is better than sliced bread ............ from clutter comes genius. I think it would be a big step up to include this in XviD. Come on Nic give credit where credit is due ......... please

I dunno about that, it's just a playback filter ;)

I would've been more impressed if it contained *all* the formats that ffmpeg supports. That would've been awesome.

-h

ookzDVD
15th April 2002, 03:47
Nice playback filter,

Thank you, now I can include it to my next every 1 cd-rip,
only 216KB, but can play all DivX and XviD ;) so I don't
have to make custom autorun for my every DivX or Xvid ;)

dffshow (216KB) + Bsplayer (815KB) + OggDS (381KB) = 1412KB (< 2MB) ;)
so my Movie could be 698MB for 700MB CD ;) nice!

Ned
15th April 2002, 03:59
I'm finding the deblocking features look bad with 3.11 rips. It gives a posterization look to color gradients.

I'd suggest an option to enable/disable features for DIV3 playback.

How does the 3.11 quality slider relate to ffdshow's post-processing options?

chemmajik
15th April 2002, 05:21
You just goto the filter properties & just disable it, you may have to reopen the movie. Also it does install a configurator in the menu.

Gazza
15th April 2002, 07:32
@-h

I've just recieved confirmation from the developer of ffdshow that libavcodec doesn't support interlacing. That explains and confirms your advice on the subject.

OK, so if interlacing is not a good idea for ffdshow then what other advantage would selecting interlacing provide for me at this time? Does it improve the overall quality? What does this interlacing button do?

I have another suggestion but I will post that onto the 'use alt curve' thread as it is more applicable into that discussion.

Gazza

Gazza
15th April 2002, 08:31
If I install ffdshow and I have interlaced encodes which do not play through ffdshow, how can I 'turn-off' ffdshow without uninstalling it altogether? I normally use zoom player to see my encodes.

Thanks in advance

Gazza

-h
15th April 2002, 08:47
Interlacing is a different method of encoding macroblocks whereby individual fields are preserved - the kind of interlacing artifacts you'd see in a TV capture.

If your video isn't interlaced, it's probably a bad idea to use it, as it slows things down immensely and just uses more bits if no interlacing artifacts are present.

If you don't want to use ffdshow for your interlaced clip, open the ffdshow properties and uncheck the XVID option - it will then revert to using the old XviD decoder to play your movies.

-h

rui
15th April 2002, 08:50
I believe you just have to run the reg setup (that option that is in the dffshow filter folder, in the Start, Programs, dffshow), and unselect the codec which you don't want to de decoded by dffshow filter. I have done that with xvid, for example.

Edit: Sorry for double posting, -h beat me in the answer.

Gazza
15th April 2002, 08:51
-h, thanks for the explanation regarding interlacing, etc.

On turning off filter, I should have guessed this, however its been a long day. I'm going now to have a cool beer and improve my understanding of xvid and other matters...

Gazza

Gazza
15th April 2002, 08:58
rui

no need to apologise for helping me out - I appreciate the help. I am sure that there are others that have similar issues and will be helped out as well.

Gazza

Shayne
15th April 2002, 12:30
Dont know lad makes my xvid vids look a whole lot better with a little tweaking ............. :) its a keeper for me

Nic
15th April 2002, 12:43
Keep it then....

No full credit/kudos goes to its creators...however, it would be good to have the source cleaned up & included in XviD...don't you think?

-Nic

-h
15th April 2002, 12:54
No full credit/kudos goes to its creators...however, it would be good to have the source cleaned up & included in XviD...don't you think?

Indeed.

I just don't want to be the one sifting through and converting :)

-h

Nic
15th April 2002, 13:21
:D LoL I cant remember if it was ffmpeg or mplayer that had the worst post-processing code...its almost unreadable :)

-Nic

avih
15th April 2002, 18:40
i somewhat lost the motivation to re-write my postprocessing code since we have now 2 great ones: nic's and milan's (ffdshow) and i just lost too much code to start a 3rd postprocessing build.

so i thought of joining him with his work.
i talked to him and we might start working together soon on some cleanning and compiling a pure postprocessing library, to be used with xvid, without the ffmpeg decoding. (regardless of his efforts on an all-in-one decoder/dshow/postprocessor). it currently compiles only on cygwin, so making a more portable/nasm code that will be able to compile with xvid is also necessary.


avi.

kvs
15th April 2002, 20:12
bring it on! :)

/mm okay this post was not worth a page 3 :D oh well....

trbarry
15th April 2002, 20:31
It would be nice to at least incorporate the parts of the code that supposedly makes it faster.

- Tom

debris
15th April 2002, 20:48
The noise, it's the noise, give me the noise!!!

Noize, noize I need da NOOOOIIIIZZZEEE!!!!

Sorry... but the noise really is my favourite :)

avih
15th April 2002, 22:29
i have already implemented a noise generator some weeks ago (check out: http://www.videocoding.de/forum/viewtopic.php?topic=398&forum=2 )
i'm already discussing milan on ways to improve his noise gen, from feedbacks i got on my own build .here's a response from rooboy after testing my lost build:
Fantastic work with the filter, the improvment is absolutly amazing.

It is interesting to note that the chroma (u,v) noise makes the most
difference to the superman clip that I posted. (In fact even with
a huge amount of luma (Y) noise, the banding can still be seen).

Also the temporal noise allows a lower setting of chroma and luma
noise than if spatial noise alone is used (and I think the temporal
looks better overall).....

so my code was lost, but the concept is there. (rooboy has the dll, i don't even have a copy now) i won't re-write my build again anyway. it should be quite simple adding noise to nic's filter (when the code becomes available).

just take it easy, xvid will eventually have an excellent dshow filter :)

avi

Gazza
16th April 2002, 00:10
Using ffdshow you are able to bring image detail that was normally unnoticeable into view. For example, video of a night scene contains heaps of black. Altering the settings can 'lighten' this area into grey's but also increases the blockiness of the view.

One very interesting aspect I noticed was how these 'greyed' blocks move in relation to each other. If you lighten a scene and watch the uniform background you can see that whole areas (or groups of blocks) tend to be grouped together and seem to move across the screen as one large object. It's a weird symptom and tends to distract.

Got any ideas what causes it? It may not be a problem as long as you don't wind up the brightness but then it may be pointing to something not previously noticed.

Gazza

Shayne
16th April 2002, 00:37
yes i do nic with ur talent it could only get better

athos
16th April 2002, 10:58
@Gazza: I think this is due to Luminance masking.

Gazza
16th April 2002, 11:56
@athos
I haven't used luminance masking for a while as I generally shoot for 2 cd rips. Should I be using luminance masking?

Gazza

rui
16th April 2002, 21:05
There is a new version with presets, and some changes to the default noise strenght.
http://cutka.szm.sk/xvid/xvid.html

I am not the software creator, i only saw this in the owner’s site!

Foxer
16th April 2002, 22:09
16.4.2002..

Is it just me or does it royally screw up playback when you open another avi/asf without closing the player first? lol

The audio from the previous avi/asf continues and the image is screwed unless you use the reference idct.

Caddis
17th April 2002, 05:02
It's not just you.
I've had the problem too with bsplayer.
This filter does like DivX 5 either does it?
I get a strange transparent vertical bar on the right side with 5.01. I guess that's why it is disabled at install.

Gazza
17th April 2002, 05:12
Caddis
I don't use Divx5 but I remember some message regarding the latest version Divx5.01. People reported seeing a bar on the right hand side with this latest version. I think Doom9 may have reported this. Check out the Divx5 forum..

Uli
17th April 2002, 07:27
Originally posted by Foxer
16.4.2002..

Is it just me or...

Unfortunately it's not only you...

but anyway, a great filter, especially for 'old' DivX 3 content ;)

greetz, Uli

milan
18th April 2002, 12:00
Hi,

I'm ffdshow developer, but the most important code comes from XviD directshow filter, ffmpeg (video decoding) and mplayer (postprocessing).

There was a serious bug in 16.4. version. Now it should be fixed, but if you have any suggestions or bugreports, please let me know.

omol
18th April 2002, 20:23
Originally posted by milan
Hi,

I'm ffdshow developer, but the most important code comes from XviD directshow filter, ffmpeg (video decoding) and mplayer (postprocessing).

There was a serious bug in 16.4. version. Now it should be fixed, but if you have any suggestions or bugreports, please let me know.

Not a suggestion but a bug report of your ffvfw here...;) 4 motion vectors per MB with H263P is broken. Also, could you elaborate on what actually it is? And also what actually "High quality" does?

regards,
omol

Foxer
18th April 2002, 23:26
@milan

Haven't found any problems with simple(16383) yet :)

milan
19th April 2002, 07:01
Originally posted by omol


Not a suggestion but a bug report of your ffvfw here...;) 4 motion vectors per MB with H263P is broken. Also, could you elaborate on what actually it is? And also what actually "High quality" does?

regards,
omol

Yes I knew this, but since ffvfw is only an experiment I didn't care. Libavcodec's encoding routines are improvad constantly so in a few days it may be fixed.
High quality means that compression is better and slower, but is not as good as Xvid's.

Uli
19th April 2002, 07:09
The new version (18.4.) works ok for me, the screwing of additional tracks opened in mplayer is gone.
I love this filter ;)

greetz, Uli

JWillE
20th April 2002, 03:49
Love the filter!! On the auto presets and the filename
recall button to the left of the preset name box, is
there any way the path could just be deleted and the
filename be used for auto detection. It seem as if all
my paths are too long to use this option.
:(

Peters
20th April 2002, 20:05
Originally posted by JWillE
Love the filter!! On the auto presets and the filename
recall button to the left of the preset name box, is
there any way the path could just be deleted and the
filename be used for auto detection. It seem as if all
my paths are too long to use this option.
:(

I don't have this pb with long paths (how long are your's?)

check the entry in regedit

HKEY_CURRENT_USER\Software\GNU\ffdshow

JWillE
20th April 2002, 21:16
I am probabaly just getting ahead of the development of the
auto preset feature as it says clearly on the ffdshow webpage
that this feature will be updated. Anyhow the presets are being
saved in the registry, it just so happened that when I was testing
to see if my settings were "auto loaded" I was using the flip
video setting as an indicator and it seems that this setting isn't
stored successfully (on my machine). In the registry, the "flip"
variable is always zero whether flip is activated on save settings
or not. Also, I was loading the files back and forth without
restarting the player (Zoom Player v2.50, Bsplay wont let me use
the handy >> button next to the preset name box). It seems as if
as of now, I can only rely on the first video played to have the settings autoloaded. Afterwards, those first autoloaded settings
remain until I close the player...

No complaints the just keep up the good work;)

Thanks

oddball
23rd April 2002, 09:12
It would be nice to have an icon appear in the system tray on playback (Like VobSub and DiVXG400 do) with some of the more common options there to enable/disable. Saves going through the motions to go into the options menu for every movie.

rui
23rd April 2002, 09:16
I vote in favour of oddball's idea :)
It would in fact simplify matters, in some movies i like to enable noise, others i don't, some movies i like to have more post processing than others, etc...

avih
23rd April 2002, 10:01
@riu and oddball:

then you should leave wmp6.4 and switch to zoom player or bs player. they both have access to all the filters by right clicking on the movie area. (powerdivx will have this feature as well in the upcomming 4.0 release).

you'll gain many more features, like resizing, changing aspect ratio, seeking the movie while in full screen and many more.

avi.

BlackSun
23rd April 2002, 10:24
Originally posted by avih
@riu and oddball:

then you should leave wmp6.4 and switch to zoom player or bs player. they both have access to all the filters by right clicking on the movie area. (powerdivx will have this feature as well in the upcomming 4.0 release).

you'll gain many more features, like resizing, changing aspect ratio, seeking the movie while in full screen and many more.

avi.

PowerDivX 4 can do that :)

rui
23rd April 2002, 11:04
avih, i use bsplayer, but, like you said, you still have to right-click on the picture, then select properties, and only then you have access to the dffshow filter properties.
And since i see my divx(for xvid i still use Nic's ds filter)on the tv's, at a res. of 640, i have some trouble to get to the properties option (it's one of the last options)
With vobsub, one just has to click on the system tray symbol and have access to the subs properties. If dffshow filter could have such an icon in the system tray, one could just click over it, and have access to all the dffshow properties.
Or even better, some kind of hot-key, to avoid to switch off full-screen, to see the system tray ;)

Neo Neko
23rd April 2002, 17:57
Yes the option to have controlls for it in the system tray would be quite usefull. Easy and at your finger tips. It would also solve the problem that Microsoft screwed things up with WiMP 7 & 8 so you can't access the filter settings from inside or while the movie is playing!


____________________________________________________
PS: Anyone else having problems figuring out BlackSuns new avatar? MaTTer was so far off last night it scarred me! He does that some times. ;)

morello12
25th April 2002, 01:47
rui:
If dffshow filter could have such an icon in the system tray, one could just click over it, and have access to all the dffshow properties.
Or even better, some kind of hot-key, to avoid to switch off full-screen, to see the system tray

During the installations there is a choice to allow it to make a shortcut for configuration in your startmenu. Do that. Right click the shortcut, and assign it a shortcut key. Viola! Problems solved :)

rui
25th April 2002, 12:08
morello12, thanks for the tip :)

Gazza
24th May 2002, 04:38
I downloaded the latest version of ffdshow (ffdshow-20020521.exe) and have found that it will crash either bsplay or the zoomplayer. It crashes in two modes;

With the picture properties box first checked, then attempting to move the gamma correction slider, or

Without the picture properties box first checked, moving the gamma correction slider is fine until the pictures properties box is checked.

Seems to be a conflict between the slider control and the picture properties checkbox.

Gazza

milan
24th May 2002, 06:58
There is a bug in gamma correction code. It is fixed in CVS now. Next compile will be availabe today or on monday.

avih
24th May 2002, 10:16
@milan:
nice progress on ffdshow, great :)

i thought of a new feature for ffdshow (it's usefull for me at least).

i don't re-encode, i capture once in cbr, and therefore can't use filters to correct the image during re-encoding.

the problem (not ffdshow related): sometimes the chroma (u/v) signal 'bleeds' (usually to the right), prob because under-optimal cables, or other signal related problems (prob the luma and chroma signal use different frequencies, and with non-optimal cabes, it creates this 'offset' on tv/capture). so in the resulting clip, the chroma layer is shifted to the right by few pixels. it's not a problem 'fixing' this in ffdshow, and in a private ffdshow build, i used one of the sliders to control the horizontal chroma displacement, compiled, and it's working nicely to my satisfaction.

can u add this feature to ffdshow so i won't have to re-compile every new version ? ;). i prefere not touching the ffdshow cvs, and it would be much faster for you to do that (just offset the image->u, image->v by +-<slder> ehere slider can be -10..10 for example).

i also have a small problem with ffdshow. no matter what idct i use, i sometimes get those faint green/purple shades (especially on dark scenes, with complex blocks). while the xvid dshow filter shows them correctly.

so can u add the xvid idct to your filter? at least you'll have a 'genuine' module of the xvid decoder.

cheers for the great work
avi.

milan
24th May 2002, 10:33
Chroma displacement will be added soon, it shouldn't be a problem. Problem will be the placement of another two sliders :)

I will add xvid IDCT routine, hope it will help. It would be good if there would be one which would be good for every codec, but I'm not sure if this is possible.

P.S.

Right now I've got an idea how to organize configuration dialog: the tree with categorized filters on the left and rest of dialog filled with configuration page with short help about selected filter at the bottom. This layout is becoming something like standard (see Mozilla, whole KDE,...) so why not use it for ffdshow too?

kilg0r3
24th May 2002, 20:45
great idea!
i have come to love this kind of layout in the preferences dialogs of opera and textpad.

kilg0r3
24th May 2002, 20:46
-

kxy
24th May 2002, 20:59
RadicalEd reported a bug(he call it a cool discovery) a while ago, I confirmed that. That was back in the 22nd May 2002 10:18.

http://forum.doom9.org/showthread.php?s=&threadid=24542&pagenumber=2

-h
2nd June 2002, 22:56
Just a note on the IDCT precision - the MPEG4 spec is supposed to force every block to be encoded as intra at least every 132 frames (despite MoMuSys not doing it). I'm guessing the green/purple blocks appear after 4 or 5 seconds from an I-frame?

I doubt this has been addressed in XviD yet, so I'll have a look at it. I think it was on the ffmpeg mailing list a while back, so it might have been addressed in it.

-h

avih
3rd June 2002, 00:03
-h, milan.

the green/purple color appears (VERY very faint) about 2 sec (might be less, but it's very hard to tell) after a key frame, and increases. then clears at the next keyframe. it reminds me of the old divx decoder with mpeg quant bug, but fainter.

it only shows with ffdshow (with any idct option), and not with vdub or xvid dshow filter or divx(4) dshow filter after fourcc change. it's mostly noticable on dark static scenes with relatively high complexity (grid/forest/fence/fabric texture/etc). it doesn't look like in bock or mb boundry, but rather 'floating' over a larger area.

clips: 416x288, cbr capture (bitrate 650-950 kbps), pal, search precision 6 (with all latest builds, didn't test ffdshow with old encodings)

i don't know enough about the decoding process to determine whether it's an idct issue or other decoding issue though.

cheers
avi.

ps.
is there a way i can capture dshow output image so i can post an example?

-h
3rd June 2002, 05:32
the green/purple color appears (VERY very faint) about 2 sec (might be less, but it's very hard to tell) after a key frame, and increases. then clears at the next keyframe. it reminds me of the old divx decoder with mpeg quant bug, but fainter.

That feels pretty quick for an IDCT issue, perhaps something else is at fault? I'm not sure.

is there a way i can capture dshow output image so i can post an example?

You can set up avisynth to use the dshow filter for decompression instead of going through vfw with "DirectShowSource("foo.avi")". Be warned that excessive seeking in vdub has a habit of crashing when using dshow via avisynth.

-h

avih
3rd June 2002, 08:40
You can set up avisynth to use the dshow filter for decompression instead of going through vfw with "DirectShowSource("foo.avi")". Be warned that excessive seeking in vdub has a habit of crashing when using dshow via avisynth.
of course i can ;) thx.

i've made a page that demonstrates the ffdshow green/purple bug when decoding xvid clip.
it shows a frame from 3 locations: frame 250 (keyframe), 300 and 549. using xvid vfw decoder, xvid nic's dshow filter and ffdshow ref-idct. the page has all the info regarding the encoding method and image capture method.

interesting note: the xvid dshow decoder seems to delay the clip by 2 frames, so i had to select frames 252, 302 and 551. the ffdshow seems to delay the clip by 1 frame. but this might also be an vdub-avs problem (still, there's a 1 frame difference between ffdshow and xvid dshow).

check it out at http://www.geocities.com/avihpit/ffdshow-xvid-bug/index.html
the whole page is about 200K with all 9 images.

hope it helps
avi

milan
3rd June 2002, 09:06
I encountered similar bug too when watching one scene from AI. Selecting normal idct helped.
Because of increasing number of messages reporting bad image quality I'm thinking about solutions:

1. wait until libavcodec would give good results for all movies and then make new ffdshow release
2. implement XVID IDCT into ffdshow
3. add ability to use XviD decoding routines

XVID IDCT is implemented in ffdshow CVS (you can checkout it from http://sf.net/projects/ffdshow ). This should help for XVID movies, but I'm not sure if it would be good for DIV3 - needs testing.
Yesterday I've tried to compile xvidcore with stripping encoding routines. Size of resulting dll was < 150KB which is acceptable and I'm sure Xvid developers would know better which routines to strip to create smallest possible decoding only XVID dll. I think it would be quite easy to add this to ffdshow with an option to choose "xviddecore" or libavcodec on decoding startup.
Of course best solution for me would be correct libavcodec, but in the meantime I could try to add "xviddecore" library

P.S. for some time libavcodec contains simple motion vector visualization. Now ffdshow CVS version can use this.

avih
3rd June 2002, 11:14
hi milan.
since afaik, the complilation in not streight forward, can u compile it and release an alpha or similar title?

(or is it simple?? is msvc enough??)

thanx
avi.

milan
3rd June 2002, 11:23
You need Cygwin/Mingw and nasm too and have to run 2 makefiles and then compile msvc project.
I think I should write some short compilation instructions.

Today I have to finish automatic preset loading and offset filter. I hope it will be possible to release new compile tomorrow.

avih
3rd June 2002, 11:54
great to hear, and thanx for your commitment to ffdshow.

however, i find cygwin quite annoying (i always have hard times configuring it correctly), i can live with mingw though ;)

thx again
avi.

milan
6th June 2002, 13:26
I've just released new ffdshow compile on SF.NET. It still may contains some bugs, so please test it and send me bugreports (and suggestions too).
For now I don't want to add new features. I will focus on testing and documentation writing.

mwillberg
7th June 2002, 11:22
Wow. For some reason I haven't remembered to check for new versions of this filter since the 19.4-release. Great new interface, and loads of new features that sound interesting. Can't wait to get home and play around with it.

Great work!

avih
7th June 2002, 12:57
milan, it's working great, and the features are really nice and usefull.
unfortunately, i deleted the test clip that i was talking about with the green/purple bug. so i can't test the same one with xvid idct. it is however my defaulty idct now, and i'll find some clips that show buggy with the reference idct, and compare them to the xvid one.

cheers for the great work.
avi

ps
did i ask about the yuy2 input?? i can't remember that ;)

oddball
7th June 2002, 13:57
I love the new crop and ratio functions! :)

Vanos_b
7th June 2002, 22:00
A very nice tool indeed, but I would have 2 remarks: 1. the best quality I can get is with the reference IDCT but it's extremely slow (on my Duron/900 I can't watch a movie 640/352 even with all the other options turned off). Any chance to improve the speed? 2. The noise effect introduced by ffdshow it's a very good ideea, but somehow I find the algorithm in DivX 5.02 better as in ffdshow there is sort of flickering with both algorithms; but I guess you can't know how it's done to implement it too so this was just an ideea. BTW the speed for DIVX 5 if just great, I mean for the rips done with Q-pel where there's no way I can get 25fps with postprocessing even at 2 in DivX Decoder but it's just fine with ffdshow even with max postprocessing+noise. Great work!
Regards.

Shayne
8th June 2002, 14:26
This filter does not seem to work so great on my machine.

Athlon
Matrox g400 max dual head

The ffdshow19.4.2002 build would produce big green macro blocks and lock up

The ffdshow-20020606 build does nothing it takes a long time to start playing then black screen with the timer counting.

This is tested with xvid and divx3 the xvids works fine with Nics ds filter

Didée
8th June 2002, 22:15
Shayne: NoNoNo,

I´m sitting here at my old comp, Athlon (Classic 700) with Matrox G400MAX DualHead, running WinXP Pro.

ffdshow works great and without any problems.
All builds did so.

There must be something screwed up in your system. Such can happen quite easily, with myriads of codec/filter/etc installations/deinstallations all the time ...

Uli
9th June 2002, 16:41
Your new filter works great :)
Even the subtitle function is working, but the subtitles have a constant delay of about 19 seconds. I have .srt subtitles and they are recognized fine, only they are 19 seconds behind. But i cant input negative delay to compensate. All other functions are working great ( P III 1 GHz, 256MB RAM, Notebook ). I will test further on my *real* machine.

greetz, Uli

slavickas
9th June 2002, 20:53
worx great just one note
why motion vectors are postprocessed?shouldn't it be on final stage?

ARDA
9th June 2002, 22:27
@Shayne

I have a Matrox 550 and the ffdshow filter works great. But sometimes ago,
I had a similar problem and the cause was; in the beginning if I do not remember wrong, the ffdshow did not include and installer and I had made it manually by copying the ax and dlls in my system32,etc. Look for old ffdshow.ax,libavcodec.dll and llibposproc.dll in your system; delete them. Reinstall and told us if that could help you.

Arda

milan
10th June 2002, 07:08
@avih
You asked for separate postprocessing filter - now it's done with just one filter :)

@Vanos_b
Both noise algorithms in ffdshow are very simple - just variations or random noise. If anyone has idea how to do this better (to realy emulate film noise) let me now. I will try to implement this.

@Uli
Subtitles aren't finished. Subtitles parser is taken from mplayer and I haven't test it much. Subtitles delay and fps changing will be implemented.

@slavickas
For now motion vectors are drawn by libavcodec during decoding. They should be exported and drawn by ffdshow. I will try to modify libavcodec to do this.

Rick83
10th June 2002, 09:02
I love your work - ffdshow is really good! It´s small and it´s fast - you can´t really say that about the DivX 5.x decoder-package...

However, I´d like to say that I´d keep on optimizing the code so that people with old pc´s can also watch some movies... You´ve done great work when I look how much cpu-power your decoder needs, but maybe you can make this even better?
Not everyone has got a cpu with 1 ghz or more... You know, my fan is controlled by the motherboard, and if the usage of my cpu is high, this fan gets faster - and louder. ;-(

But I don´t want to complain about something, just my "2 cents". ;-)

Ciao, Rick

milan
10th June 2002, 09:23
libavcodec used for decoding isn't my work. It is realy fast and its developers are working on making it even faster.
Postprocessing filter (deblocking, deringing, level fix) and resizing code was developed by Michael Niedermayer. I think it is very fast.
Colorspace conversion routines are taken from XviD project and they propably could be replaced with faster ones.
Other postprocessing filters are created (or at least implemented) by me. Many of them are MMX optimized, but since this was first time I used MMX instructions they aren't optimal. I could try to do this better, or I could ask someone more skilled in MMX optimization to help (any volunteers?).
If ffdshow with all postprocessing filter disabled is still slow for you, you can wait for new libavcodec or you try to install mingw and compile libavcodec with optimization options targeted to your CPU. I will write compilation instructions today or tomorrow, watch ffdshow SourceForge page.

P.S.
DIVX 5.0.2 can use hardware overlay. I'm trying to use it too, because this may increase speed too.

raistlin2k
10th June 2002, 09:31
Pictures in Bram Stoker's Dracula coded in DivX 5.02 look bad, a lot of picture distortion. Unfortunately, I can't get a picture of it at the moment, I'll post it later. Anybody aware of this problem? Pixels are moving around, for example a door, moves like it is a chewing gum?!?

Raist

athos
10th June 2002, 19:26
milan> i tried ffdshow and i love it! i use it instead of all divx's and xvid now, and i recommend it to my friends. I have a fast enough CPU for decoding using slower codecs, and i dont use much postprocessing (just deringing), but the more efficient code makes seeking a lot faster. also i like the "divx3"-style searching (blank until frame found) better than divx4/5 (fast-forward video).

now, i have a question: could you put up a (small) description of the different iDCT algorithms? i have read the readme, and i understand the default ("simple") is the fastest and "accurate enough", while reference produces the best quality, but what about the other ones (for example there is another "simple" - what's the difference?).

keep up the good work!

Rasi
11th June 2002, 01:48
dont know if this has been posted, otherwise ignore it...

there seems to be a bug at least in divx3 playback.. it occours everytime i drag & drop a new clip, while playing one already... the picture looks like being painted then.. only way to get 2 clips working is restarting the player.. if i uncheck divx3 decoding in filter everything is fine tho...

milan
11th June 2002, 07:12
@athos
various IDCT routines were meant as temporary solution until there wouldn't be one accurate for every movie or some autodetection. But it seems, that this will take some time and description will be needed, so I will write one.

@Rasi
There were some reports about this problem. Once this was bug in ffdshow, but I thought I've solved it in latest versions. It could be caused by the player too when it doesn't release ffdshow before playing new file. Which player do you use? Are there some other filters active (DIVXG400, vobsub,...)? I would like to solve this problem.

Shayne
11th June 2002, 13:03
Yes my friend it appears that i had the libavcodec.dll stuck in my sys32 directory. Thought i searched all once but i guess just the ffdshow.ax ........... Thanks, all seems to be well

Rasi
11th June 2002, 13:28
i have been using the latest version of the filter (allthough i wasnt sure, cause the latest news on the site are from 04/18)

it appeared with zoom player and media player at least (6.4)
vobsub is installed, but not used, as i never use subtitles...

apart from this, the normal divx playback filters (3.11, 4 and xvid)

are installed...

milan
11th June 2002, 13:38
That page is outdated. I have to redirect it to new page http://sf.net/projects/ffdshow . I know I should care more about web page and documentation :(
Please download 06/06 version and try it.

raistlin2k
12th June 2002, 10:15
Can't post my mentioned bug in Dracula as pics, you see it only clearly in the video. I hope admins allow this abut 1 MB big sample from the movie, showing the bug.

It appears only when using FFDSHow for decoding, not in Divx 5.02
I played around with the settings of both decoders, but stil the same: DivX ok, FFDshow broken:(

I would really be happy if this gets fixed, FFDShow is twice faster than the DivX 5.02 dec (even with all speed-up-option of divx enabled):p

Raist

Rasi
12th June 2002, 10:19
just to let you know.. the problem is fixed with later build

milan
12th June 2002, 11:09
OK.

Btw I updated new ffdshow page (http://cutka.szm.sk/ffdshow). I hope I will have time and will to write documentation too.

morsafr
12th June 2002, 18:09
Just a little request.
Could ffdshow use the leftover space for displaying subtitles ?

It would be easier to read subtitles in the black bars :o)

milan
13th June 2002, 06:46
When I will implement "add black borders" feature, this will be solved too.

Kyo
13th June 2002, 06:54
If you like, i would write a documentation about the use and the options just PM or e-mail me, i have a bit of time...

milan
14th June 2002, 08:35
@raistlin2k

Yesterday I updated libavcodec used in ffdshow and your sample video is now decoded correctly. I'm thinking about new "unplanned" release, but if you don't mind, I would rather wait until monday, because I want to implement deblocking strength control (Michael Niedermayer's post to xvid forum gave me the idea) and some other small enhancements.
Big thanks goes to libavcodec developers :)

raistlin2k
14th June 2002, 10:53
HURRA!!

Great to see (or hear:p ) that it's working now.

I will count seconds till monday;)

Raist

ookzDVD
18th June 2002, 03:56
@milan,

thank you for your latest build 17/06,
it's nice to use your filter,
but I still find more block artifact while playing XviD
if compared with Nic's DS build 13/05 which producing
less block artifact with the same postprocessing level.

raistlin2k
18th June 2002, 07:44
DivX Decoding bug is gone.

Great work again, milan.

Thank you very much for this!

Raist

P.S. Have you thought of speeding up the encoders, too?:p
You see fddshow takes half cpu-time on my AMD 1333 compared to DivX Decoder. If a encoder done by you would do the same, i could encoe at about 50 fps@720x576

Rasi
18th June 2002, 07:44
hmm, that doesnt seem to be logical to me..
as you can use the original xvid.dll now with the newest build...
..havent tried it now tho

milan
18th June 2002, 08:05
Again: decoding routines aren't developed by me. ffmpeg team and especially Michael Niedermayer is developing the superb libavcodec library.
And now to the point: libavcodec has encoding routines too. About two months ago I've put them together with xvid VFW interface and created ffvfw compressor. You can download it from http://cutka.szm.sk . That version is a little bit slower than xvid and quality is worse too. But since then libavcodec encoding routines has been enhanced and now it is as fast as xvid (50fps propably could be reached with low quality encoding) and quality is pretty close to it too (this is only my opinion, I've tested it only on few short clips). It now supports b-frames encoding too, so it's propably time to release new ffvfw version. I think I will do this soon. Btw this means ffdshow developement will be somehow slowed down, but don't worry I will continuously work on it.

int 21h
18th June 2002, 13:16
Is it possible to add support for arbitrary fourcc codes? For example, BLZ0, by adding a checkbox or something, I think we could make Blizzard cut scenes in Warcraft III play through ffdshow and its settings.

milan
18th June 2002, 13:49
I don't have any experiences with Blizard Cutscenes files (are they in some proprietary format or, for example, standard MPEG4?), but if there is an decoder for BLZ0 filter (directshow or vfw) and it outputs YUY2 or RGB uncompressed video, select the "Raw video" checkbox in ffdshow codecs page and ffdshow should be used as postprocessing filter when playing these files.

int 21h
18th June 2002, 13:59
They are packed into a proprietary archive format.

However, in the game directory is a file called Blizzard.ax, which is the DirectShow DivX filter that the game uses to decode the files once extracted. In the registry you can find an enumerated key for storing the filter properties (which aren't accessible), and its associated fourcc codes. The fourcc code BLZ0 just makes the files use this DirectShow filter instead of the normal DivX one. Changing the fourcc code in the included sample avis to DIVX and DX50, makes the files then play with the ffdshow filters. (The Warcraft III CD has two preview trailers on it, that have the BLZ0 fourcc code, when played in mplayer2.exe, the directshow filter "DivX for Blizzard Entertainment" is used (Blizzard.ax))

So I think that if you unregistered Blizzard.ax, registered the BLZ0 fourcc extension with ffdshow, then you could control how much acceleration there was during the cutscenes in the game (since its just decoding with this directshow filter).

Kyo
20th June 2002, 06:09
@Milan

I already have the CVS and the help files in txt.
You think that the docummentation will be a web page or pdf format?

-Kyo

milan
20th June 2002, 06:52
It doesn't matter now, but you can write it in html and then it could be reformated and converted to pdf when needed.

athos
20th June 2002, 16:12
milan> i experience a lot of instability using the latest version (0617) of ffdshow. WMP (6.4) is very unstable and refuses to play some files, and sometimes it hangs. 8.0 behaves similarly, although not always on the same files. these problems started when i used the slider to change the deblocking strength, so it might be related to that function. Problems disappear when i switch back to 0606. I am running Windows XP Pro.

milan
21st June 2002, 06:56
I'm sorry, but some features in the latest build seems to be quite buggy. Yesterday I've found and fixed some of them. I will try to relase new build next week, hopefuly much more stable.

milan
21st June 2002, 09:55
ffdshow now has "flip video" check box to correct horizontaly swapped video. I would like to autodetect the need of video flipping. This detection could be propably based upon graphic card name/chip.
I would like to ask anyone who have to check this checkbox to send me name of used graphic card. I will create internal ffdshow database which will be used to decide initial state of flip video. Of course this checkbox will not be removed to be able to correct misdetection.

This is just an idea (divx decoder doesn't have such checkbox) and I'm not sure if this depends on graphic card only - but even this would surely help.

gabest
21st June 2002, 20:26
milan, a little hint:

rgb & height>0 -> flipped (GDI)
rgb & height<0 -> topdown (ddraw)
yuv & height>0 -> topdown (every filter should use height>0 for yuv)
yuv & height<0 -> topdown (only used by the video renderer, it may indicate overlay, but may also be a fix for a flipped img bug in the old msmpeg4 decoder, as the rumors say...)

If you match the format and height for both the input and output pin buffers and produce/transfer the image correctly then you should never see a flipped picture.

Gazza
24th June 2002, 04:32
Milan,

I have noticed that there is some color breakup with the latest ffdshow and uManiacs latest xvid encodes. Please refer to http://forum.doom9.org/showthread.php?s=&threadid=27778 for details.

[edit] I've noticed that within ffdshow, if xvid is ticked but 'Decode with xvid' is not then I get these weird color effects. Ticking this box removes the effect and everything returns to normal.


Gazza

oddball
24th June 2002, 15:07
Any chance of a horizontal and vertical positioning of the image output? A combination of this and resizing can sort out a lot of overscanning issues :)

avih
24th June 2002, 17:11
you can use zoom player for vert/horiz positionning (and resizing of course, although ffdshow has more resizing algorithms that i find especially usefull, such as the bicubic resize)

oddball
24th June 2002, 21:41
I'd rather have a left/right, up/down. Zoom is not very good.

avih
24th June 2002, 22:24
Originally posted by oddball
I'd rather have a left/right, up/down. Zoom is not very good.

did u try the arrow keys? ;)

Nasse
24th June 2002, 23:03
is it only me who has this bug with the newest build? when i open a folder with video files in (divx 3.11 and xvid coded ones) it closes the folder after a few seconds... oh.. my operating system is windows xp pro...

Uli
25th June 2002, 10:00
Hello,

first, i love this filter :)
But i have a little issue:
If you have a long scene, where a key frame is inserted at no scene change, it looks, as if the colors get a 'refresh'. I don't have this effect using Nic's filter. Both filters are at post processing level 5. This is only a minor issue, cause key frames are mostly at scene changes, but once you've noticed it, it's getting annoying...

anyway, great work.

greetz, Uli

oddball
25th June 2002, 17:48
Avih you misunderstand me. Zoom will zoom the picture in but not out (It does not shrink the image on the overlay in order to correct any overscan on the TV). In other words adding in custom sized black boarders left/right and top/bottom (Not crop but pushing and shrinking the image inwards either on the vertical or horizontal plane). If you use the aspect ratio option on say 4:3 material you can correct overscan top and bottom. But not the sides (I have a 16:9 widescreen TV so I hope you understand what I am getting at here).

Basically I need overscan reduction. I can do this to a certain extent using a combination of DIVXG400 and ffdshow but would prefer one or the other to let me do it (DIVXG400 does not let me correct top and bottom overscan for some reason in 16:9 output. I reported this bug to the maker of DIVXG400 but he says it must be to do with my Matrox G400 drivers. I do not believe this is so to be honest but he does not want to listen. Fair enough).

Anyhow I hope Milan will look into adding this option.

avih
25th June 2002, 22:51
@oddball:
sorry, either i don't understand what you're trying to achieve, or you don't understand me or you missed some of zoom player's features.

you can set the AR any way you like. after that you can zoom in OR OUT on both axises together (respectively) or on any of the axises. you can move the image at any direction. both zoomming and positionning can be pixel based or % based.

+/- zoom in/out. arrows= position. right-click -> aspect ratio. right click -> zoom axis.

doesn't that do what u want?

sorry if i misunderstood you.
avi

ps. to get higher quality resize on tv-out i use ffdshow to resize bicubic to 640x480 (before all other filters = checked), and then zoom out with zoom player to compensate for the overscan, and it fits my tv-screen perfectly and with great quality.

HarryM
26th June 2002, 10:42
Can you add into ffdshow 'AR correction' like ZoomPlayer? For native non-4:3 resolutions?

oddball
28th June 2002, 01:40
I don't use ZoomPlayer. I don't like it. I use BSPLayer. That's where you are confused. I was talking about adding it into ffdshow itself.

ivanova
2nd July 2002, 03:29
I posted about this in the xvid forum, but still no reply.

Anyone notice the 1 frame delay in playback of divx 5.0.2 content?

athos
12th July 2002, 20:17
I cannot play video using ffdshow (tried the two latest versions) and detonator drivers later than 28.32 (for my Geforce3) using mplayer2 (WMP 6.4) under WindowsXP. It does work with WMP 8.0, or if I also load DirectVobSub, which I think converts to another color space.

gabest
12th July 2002, 20:28
I think ffdshow is trying to output the picture in YV12, but when DVobSub is connected after, it switches into YUY2 (which is the first on the list of prefered color formats by default).

Peters
21st July 2002, 18:21
Originally posted by athos
I cannot play video using ffdshow (tried the two latest versions) and detonator drivers later than 28.32 (for my Geforce3) using mplayer2 (WMP 6.4) under WindowsXP. It does work with WMP 8.0, or if I also load DirectVobSub, which I think converts to another color space.

Same pb here, with any version of ffdshow, woks only with detonator drivers <= 28.32 (Geforce DDR)

rui
22nd July 2002, 08:43
I have that problem too.
Uff, i was thinking that it was my system. I almost formated the all thing.
But since bsplayer and media player 8 function, i will live with it.

taylormadearmy
22nd July 2002, 10:27
I've got the same problem too - I have down rated drviers to previous version. Any news on a fix for ffdshow, or is it the drivers fault?

Didée
22nd July 2002, 11:35
... but how many thousand times I heard something like "Matrox is crap, Matrox drivers are crap, ATI is crap, ATI drivers are crap ... Nvidea rules"

:) LOL ! ;)

Not ANY problems here, with neither Matrox G400MAX nor ATI AIW 8500DV!
(Okay, I don´t play fifty-seven different ego-shooters per week. Maybe I missed a single bug.)

Sorry for this post not being helpful, but frome time to time I have to steam off a little ...

Defiler
22nd July 2002, 18:00
On a system with a clean install, and only the following components:
ffdshow ver. 06-17-2002
Intervideo MPEG-2 Playback Filter ver. 4.05.20
Intervideo AC-3 Audio Filter ver. 4.05.20
Ogg Vorbis DirectShow Filters ver. 0.9.9.1
Moonlight Odio Dekoda ver. 1.0
DivX ;-) Audio Codec ver. 4.2

..even when ffdshow is set to handle DIV3 files, I have certain AVIs on my system that report "Unknown file format (DIV3)"
Do I still need DivX 3.11 alpha installed to play these? I was hoping to be able to do without it. I have other files here that report themselves as DIV3 while being played with ffdshow, yet work fine.
Any ideas as to why some DIV3 files would play, and others not? I'm using pure ffdshow. None of the "Play with XviD" checkboxes are active.

athos
29th August 2002, 20:09
Originally posted by Peters
Same pb here, with any version of ffdshow, woks only with detonator drivers <= 28.32 (Geforce DDR)

This may come a bit late, but I checked out ffdshow and compiled it myself. It seems most problems, including this one have been resolved. I am using the latest (40.41) detonators now with ffdshow-20020827 and it works great. I followed the instructions, and used cygwin, nasm and the directx sdk (had some trouble with this though, nothing to do with ffdshow) and even the Nullsoft install system to create a real installer.

I suppose, since ffdshow is opensource, that I could send this to someone who's willing to try it. Keep in mind that this is not meant to be a release. If you dont like taking chances, better wait because I think milan will do a proper release soon.

Also, please let me know if I am not allowed to distribute this.

TheUnforgiven
30th August 2002, 02:28
i haven't read the thread and i dont know what r u talking about..
just wanted to thank milan for his great efforts. he is a wizard.

Rick83
30th August 2002, 06:44
Originally posted by athos


This may come a bit late, but I checked out ffdshow and compiled it myself. It seems most problems, including this one have been resolved. I am using the latest (40.41) detonators now with ffdshow-20020827 and it works great. I followed the instructions, and used cygwin, nasm and the directx sdk (had some trouble with this though, nothing to do with ffdshow) and even the Nullsoft install system to create a real installer.

I suppose, since ffdshow is opensource, that I could send this to someone who's willing to try it. Keep in mind that this is not meant to be a release. If you dont like taking chances, better wait because I think milan will do a proper release soon.

Also, please let me know if I am not allowed to distribute this.

Where´s the 20020827 source from? The newest version of ffdshow I know is 20020716.

@Milan: did you stop development of ffdshow? If so i´d be very sad...

Ciao, Rick

-h
30th August 2002, 07:33
Where´s the 20020827 source from? The newest version of ffdshow I know is 20020716.

http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ffdshow

or, run

cvs -z3 -d:pserver:anonymous@cvs.ffdshow.sourceforge.net:/cvsroot/ffdshow co ffdshow

-h

Rick83
30th August 2002, 08:52
thank you -h, but is there a precompiled windows-version available? i thought the ffdshow-project was stopped ´cause i always looked at http://sourceforge.net/projects/ffdshow/

ciao, rick

athos
30th August 2002, 10:41
No there is no newer precompiled version available. I checked out the cvs (see -h's post) and compiled it myself. But I read a post from milan at the xvid.org forum (before xvid development stopped) stating that he was planning on a new release anytime soon.

Looking at the todo-list, he has done a great deal of work:
urgent

- fix beginnig of playing and sometimes corrupted seeking [mostly fixed]
- correct one frame shift [done when no b-frames]

todo

- automatic postprocessing quality adjustment (as in mplayer) [DONE]
- use colorspace conversion routines from xvid [DONE]
- play DIVX: decoding works, but how register filter also for DIVX FOURCC [DONE]
- play DX50: only if ffmpeg supports all pro features of divx 5 [DONE - USER CHOICE]
- play DIV3: decoding works (msmpeg4), need register for DIV3 FOURCC [DONE]
- place itself before other codecs [DONE]
- brightness, contrast, gamma correction [DONE]
- memory align [DONE]
- nice installer (NSIS) [DONE]
- independend configuration dialog (started by shortcut in windows start menu) [DONE]
- chroma noise and some dependancy on last frame [DONE]
- interlacing
- postprocessing strength [CAN ONLY STRENGTHEN THE EFFECT]
- information about played file [DONE]
- split configuration dialog to more property pages [DONE]
- support for video with dimensions not multiples of 16 [DONE BY ADDING BLACK BORDERS]
- complete configuration through IffDecoder interface [DONE]
- version number in About page [DONE]
- DIVX 5.0.1 b frames and ogm [DONE]
- tray icon [DONE]

not important

- unsharp mask [DONE], warpsharp
- aspect ratio [DONE] => internal resizing [DONE]

wishes

- maybe it could play also mpeg1 and mpeg2 (DVD)
- statically linked

=======================================================================
priorities
dscaler [FOR NOW DEINTERLACER FROM MPLAYER]
add black borders [DONE]
documentation, compilation instructions
better noise
less memory
config dialog on tray icon doubleclick [DONE]
hardware overlay
check and write xvid version [DISPLAYING DONE]
subtitles clipping [DONE], wrapping, selection [WORKS SOMEHOW], faster preparation [FASTER], more inteligent search and frame parsing
better changeOrder COM functions [DONE]
full keyboard control in cfg dialog [DONE]
OSD [DONE]
levels filter [DONE]
possiblity to use mplayer YUV->RGB conversion
chroma only blur
pan and scan

ffdshow is truly a great project! keep up the good work!

Rick83
30th August 2002, 12:31
yes, ffdshow is really great!!!
and i´m very lucky with it now, i´m only afraid what would happen when for example a new divx-version comes and ffdshow could not play it and milan would not make new versions... we would have to use the shitty divx-decoder...
oh no, let us hope that will never be the case. ;-)

milan
30th August 2002, 14:18
ffdshow development isn't stopped. I'm updating sources almost daily (ffdshow is somewhere around 50th place in SourceForge's activity list), but it's not ready for a relase now. As you can see from TODO list, there are many tasks to finish. This doesn't mean ffdshow is unusable now. For me it works better than any previous version.
Now when ffvfw is operational, I can go back to ffdshow development. For example yesterday I imported smoother filter from VirtualDub. It's slow for realtime playback, but since it is mainly intended for image preprocessing when ffdshow is used by ffvfw it is acceptable.
Top priority for me now is to add the ability of ffdshow image processing filters to use other colorspaces than YV12 or at least to avoid unnecessary conversions. For example now when ffdshow processes external raw video (libavcodec and xvid decoding is fine) which came in YUY2 format and output should be in YUY2 format too, it is still internally converted to YV12 even when no processing is done. This has to be fixed.
Related to this is the usage of mplayer's colorspace conversion routines. They seem to be faster and have higher quality than those from XviD.

If anyone is willing to provide ffdshow compiles, it would great. At SourceForge I would like to release only stable versions.

And about possible new DIVX: I think new DIVX will be MPEG4 compatible and libavcodec should be able to decode it. If not, I'm sure Michael Niedermayer (main libavcodec developer) will implement new features as he did for DIVX 5. And in that case only new libavcodec.dll would be needed, so update could be prepared very quickly.

Thank you for using ffdshow and interesting in its development.

P.S. As a proof, that sometimes I don't want to do something important, but I like to just toying with code is feature introduced recently upon request of one user. ffdshow can now hook keyboard input and process it, so some of it's features can be controlled by keyboard. For example CTRL+ALT+S toggles subtitles. This is very experimental feature and doesn't work always - sometimes ffdshow looses that keyboard hook, but maybe it will be included in next release if i would be able to fix it. The most interesting effect is ability to seek in movie with keyboard and even in WMP 6.4 - I wouldn't believe that decoder filter can do such things.

athos
30th August 2002, 15:00
It's pretty small, i'll just attach it here.

Again, keep in mind that this is not a stable version. It works great for me though.

oddball
30th August 2002, 18:23
Hey Milan. Great stuff! Glad to hear you are still working on this. Can I add a request please? :)

I'd like to see a feature of moving the image vertically and horizontally in order to help with overscan compensation on TV outs. My TV has an annoying right shift on S-Video in which I cannot correct without affecting other video sources. I'd like the ability to shift the image to the left. Also the ability to zoom the image outside the frame would be cool too. At present you can zoom the image but only within the frame. It does not affect anything outside the borders. Cropping does not fix it either. Aspect ratio helps but is not the same thing. You can only adjust aspect ratio to create either black borders top and bottom or left and right but not at the same time. Resize also has no impact on TV out. Thus my request for the zoom and positioning functions to compensate for TV overscan (Basically I am talking about zooming and positioning the overlay I think).

In the utility DiVXG400 there is an overscan compensation where you can input a percentage. Unfortunately it does not work very well for me in 16:9 mode for widescreen TV output. I'd like to see something a bit more configureable.

Hope you understand what I mean by this :)

mwillberg
30th August 2002, 18:54
@oddball:

This is a bit OT, but have you tried ZoomPlayer? It sounds like just the problems it is designed for...

athos
30th August 2002, 19:31
Trying to attach...

-h
30th August 2002, 20:31
Trying to attach...

I take it you built this with .NET ..

-h

athos
31st August 2002, 00:49
Originally posted by -h
Trying to attach...

I take it you built this with .NET ..

-h

Yes, does it require some special dlls? I built it according to milan's compile instructions, using latest cygwin, latest nasm, Visual C++ .Net and ICL for the MS dshow SDK.

avih
31st August 2002, 01:50
it runs out of the box for me.
i have xp-pro (no sp1 installed), msvc6 + sp5 + pp installed.
no other 'system' upgrades.
and it runs fine.

@milan:
filters (postprocessing / temporal) seems to be MUCH slower than in the 22-6 build.

great work for the features though.

cheers

-h
31st August 2002, 02:33
It requires msvcrt70.dll, which only comes with the .NET runtime or Windows XP. Or if it's distributed separately of course.

I don't see why though, all the functions it's calling are the same as the older msvcrt.dll versions. I guess M$ just likes to force upgrades :)

-h

Yusaku
31st August 2002, 06:43
@milan: it'd be also neat if you could consider including DVobSub's subbing capabilities to ffds. I know that it does have subs, but still there's quite a difference between jaggy .SRTs and nicely animated, alpha-blended Advanced SSA. And removing DVobSub from the graph would definitely at least remove the need to copy whole picture data once.

Of course, you'd have to ask gabest if he'd allow you to include his (freely available) source in GPL program...

Defiler
31st August 2002, 07:22
Including DVobSub functionality would also make it easier to point people at the tools required to play something a friend has given them.

oddball
31st August 2002, 09:30
Athos: This latest version is GREAT! The new black borders in the aspect menu is just what I was looking for. The ability to shrink the image to compensate for overscan.
But can you do one last thing in that area? Can we have independant left/right/top/bottom instead of or as well as vertical/horizontal black borders? The ability to unlock or lock is very usefull for vertical and horizontal black borders. But if there was independant on all sides I could push the right margin without affecting the left margin (When adjusting horizontal black borders independantly of vertical black borders,it shrinks the image both sides. What I also want to do is be able to shrink the image from right to left without changing the left side whatsoever).

Hope that makes sense :)

athos
31st August 2002, 10:48
Originally posted by -h
It requires msvcrt70.dll, which only comes with the .NET runtime or Windows XP. Or if it's distributed separately of course.

I don't see why though, all the functions it's calling are the same as the older msvcrt.dll versions. I guess M$ just likes to force upgrades :)

-h

I'll just post that one too so everyone can use this. I assume you mean "msvcr70.dll" because i could not find "msvcrt70.dll".

btw, i have a strange problem. With my regular user profile, everything works fine. But if i switch user, postprocessing is very slow. If i disable postprocessing, everything runs fine here too..

athos
31st August 2002, 10:50
Originally posted by oddball
Athos: This latest version is GREAT!
This should be adressed to Milan, hes the coding genious :) I merely compiled it. Milan will release a precompiled version on the sourceforge page as soon as it is stable.

cult
31st August 2002, 18:04
i cant find the option to enable/disable the codecs like milan's ffdshow.Only when it installs.I am missing smthing?

oddball
31st August 2002, 20:06
Sorry Milan. Thanks athos.

Same request as before aimed at Milan. Independant left/right/top/bttom black borders (Maybe an extra advanced option in the aspect ratio menu?).

Big thanks!

athos
31st August 2002, 22:06
Originally posted by cult
i cant find the option to enable/disable the codecs like milan's ffdshow.Only when it installs.I am missing smthing?
this _is_ Milan's ffdshow, only a later version. the enable/disable codecs are in the configuration, as before. I have not changed anything, just compiled the sourcecode.

gulikoza
1st September 2002, 11:40
The overlay does not work for me in 16bit color mode, neither with xvid of ffdshow filter but divx decoder does not have any problems with it...Is there a possibility this could be fixed?

milan
2nd September 2002, 07:12
I'd like to see a feature of moving the image vertically and horizontally in order to help with overscan compensation on TV outs


I think offset filter could handle this.


filters (postprocessing / temporal) seems to be MUCH slower than in the 22-6 build.


I can understand why temporal smoother is slower: it's C++ code and its speed depends on compiler. But I don't know why postprocessing should be slow: it is heavily MMX optimized code and should be equaly fast with almost all compiler options. It seem some profiling is needed... Maybe the problem is in some other part of ffdshow.


It requires msvcrt70.dll, which only comes with the .NET runtime or Windows XP. Or if it's distributed separately of course.


This is the reason, why ffdshow releases are compiled with VC6.


it'd be also neat if you could consider including DVobSub's subbing capabilities to ffds. I know that it does have subs, but still there's quite a difference between jaggy .SRTs and nicely animated, alpha-blended Advanced SSA. And removing DVobSub from the graph would definitely at least remove the need to copy whole picture data once.

Of course, you'd have to ask gabest if he'd allow you to include his (freely available) source in GPL program...


I haven't seen DVobSub's subtitles yet (most of time I use MicroDVD format), so I can say anything about possible support in ffdshow. I need to see some samples and VobSub source code first.


But can you do one last thing in that area? Can we have independant left/right/top/bottom instead of or as well as vertical/horizontal black borders?


It should be easy to add, but it will propably require new config page, because there isn't much space left in resize&aspect page.


btw, i have a strange problem. With my regular user profile, everything works fine. But if i switch user, postprocessing is very slow. If i disable postprocessing, everything runs fine here too..


This is realy strange. I will have to look, what I've changed in postprocessing since last release. And just to be sure: do you mean postprocessing page (deblocking, deringing) or ffdshow image filters as a whole?


The overlay does not work for me in 16bit color mode, neither with xvid of ffdshow filter but divx decoder does not have any problems with it...Is there a possibility this could be fixed?


ffdshow uses xvid's code for DirectShow interface with only very small changes. If there is someone who could help me with DirectShow handling, please contact me.

P.S. Another unusual feature was added during weekend: video delay. On misc. page you can set video delay in miliseconds. It can be negative or positive and can be used for correcting badly created AVI's with A/V desync (I had one with almost one second difference between audio and video). However I tested it only in WMP 6.4 and I'm not sure how other players would handle this.

Didée
2nd September 2002, 08:16
Just to mention postprocessing speed, too:

My older PC, an Athlon 700 classic, can´t catch up any more with even one single postprocessing field enabled. (yes, deblocking stuff)
With 2002-06-17, I could crank up everything to the max, and it runs smooth.
So, something definetly has become worse.

Keep up the good work - I can hardly remember the time when we had no ffdshow ;)

Yusaku
2nd September 2002, 08:28
I haven't seen DVobSub's subtitles yet (most of time I use MicroDVD format), so I can say anything about possible support in ffdshow. I need to see some samples and VobSub source code first.
DVobSub, filter and source, are all at http://vobsub.edensrising.com

it handles almost any subtitle format, the best of them being Advanced SSA for the moment (animations support, alpha-blending etc.) and straight VOB to video VobSub format. See PM for both formats examples.

milan
2nd September 2002, 11:43
I just performed some speed tests of ffdshow (in graphedit with null output and "use clock" unchecked). Sample video was decoded in about 18 seconds without postprocessing and in ~22 seconds with postprocessing (deblock H, deblock V, dering). I need to check visually (difference seems too low to me) if postprocessing is done correctly, but now I don't know what could cause reported slowdown.

avih
2nd September 2002, 16:47
@milan:
regarding the filters slow-down, i'm playing an xvid (448x288) with mp2 audio (tried with 'decode using xvid' either checked or unchecked). all settings at default.

without postproc, i get 25fps playback. when i enable postproc (only luma deringing) i get 3(!)fps. when i uncheck the postproc checkbox, the decoding speed jumps to 50/100 fps (fast toggling) for a while, and then back to 25fps.

btw, if i enable the postproc checkbox, but leave all checkboxes on this tab unchecked, it plays normally, but as soon as i enable the 1st checkbox ( either h/ v/ deblock/ dering/ luma/ chroma/ temporal/ luminance/ full_luma_range) the playback gows down to 3fps (according to the info panel).

hope it helps.

ps1: when trying any filter that's NOT in the postprocessing tab, it's working like charm.

ps2: when decoding using xvid, the motion vertors are invisible, so maybe it should be disables in that situation.

ps3: i see that the deinterlacing doesn't double the frame(/field) rate. do u have any plan for this? even a simple bob (practically 0% cpu needed for that) would be much better at 50fps (pal) than any 25 fps motion-zelus-compensated-deinterlacing ;)

keep up the great work
avi

-h
2nd September 2002, 21:56
ps3: i see that the deinterlacing doesn't double the frame(/field) rate. do u have any plan for this? even a simple bob (practically 0% cpu needed for that) would be much better at 50fps (pal) than any 25 fps motion-zelus-compensated-deinterlacing ;)

I don't believe ffdshow can do this - the fps should be set by the AVI parser in the filter chain, not the decompressor. You'd have to be extremely sneaky to pull it off.

-h

gabest
2nd September 2002, 22:19
It's not hard to double the frame rate, I've already tried this deinterlacing thing in dvobsub and it worked fine. Each sample needs to be sent twice with the right timestamps attached (start -> (start+end)/2, (start+end)/2 -> end)

athos
2nd September 2002, 23:50
Originally posted by milan
This is the reason, why ffdshow releases are compiled with VC6.

I compiled the MS DirctShow samples, which are used in ffshow, with the Intel C++ Compiler. I could not get it to work with the main ffdshow project (Visual Studio would crash when i tried to load the "solution" converted with Intels slnconverter.exe). I suppose this should be possible to work around in some way.

Do you think there could be anything to gain from this? Or are most of the cpu-intesive parts in libavcodec, and thus already assembly optimized?
Originally posted by milan
This is realy strange. I will have to look, what I've changed in postprocessing since last release. And just to be sure: do you mean postprocessing page (deblocking, deringing) or ffdshow image filters as a whole?

I mean just the postprocessing page, like avih described. By user profile, I mean different users in Windows XP.

sherpya
3rd September 2002, 02:14
CVS snap compiled with vs6 (no need for msvcrt7)
However this is an unofficial release so do not bug Milan
ffdshow-20020903.exe (http://forum.doom9.it/software/other/ffdshow-20020903.exe)

milan
3rd September 2002, 07:21
@avih
Thank you for informations, it should be easier now to find the problem.
XviD doesn't export motion vectors information. You are right, I should disable options which aren't available or doesn't do anything depending on other settings.

@gabest
I thought about this too, but I'm not sure if it will be possible now when ffdshow is based on CVideoTransformFilter class. Maybe it will be needed to derive it from CTransformFilter. Please, could you help me with this? BTW there were some ideas of including DVobSub functionality to ffdshow, but I think DVobSub is very good standalone filter and copying its sources to ffdshow would be just waste of time.

@athos
I compiled ffdshow with Intel C++ Compiler recently, but in VS6. It doesn't need any project conversion. Binaries were workable, but bigger. I haven't tried to use ICC in VS.NET.
ICC could speedup some ffdshow image processing filters which aren't MMX optimized: levels, time smooth, smoother,...

@sherpya
Thank you for this compile. I hope it will help to find (and fix) more ffdshow issues.

gabest
3rd September 2002, 07:43
Originally posted by milan
@gabest
I thought about this too, but I'm not sure if it will be possible now when ffdshow is based on CVideoTransformFilter class. Maybe it will be needed to derive it from CTransformFilter. Please, could you help me with this? BTW there were some ideas of including DVobSub functionality to ffdshow, but I think DVobSub is very good standalone filter and copying its sources to ffdshow would be just waste of time.Basicly, to double the frame count you have to completly override CTransformFilter::Receive and copy the same code twice into your own class. CVideoTransformFilter::Receive also overrides everything just to add its own extensions, of which I'm not sure if they are any useful to you.

Yusaku
3rd September 2002, 07:57
The problem of DVobSub is that it makes one "unnecessary" copy of uncompressed video data from input to output that eats a few percent of processor usage (so that it can overlay subs on a known field). But I am aware that the performance hit is not too big, so... it doesn't really matter.

Consider it a suggestion not worth the time to implement it :)

gabest
3rd September 2002, 08:06
Actually, that copying is needed to do faster alpha blending. If the output buffer is a dd surface in vmem, then it becomes very slow to read those pixels back.

athos
4th September 2002, 16:03
I have made a new compile with a fresh CVS checkout from today. This time I managed to use ICL for the main ffdshow files too. I have installed VC++ 6, but after hours of trying I could not get it to compile properly, so this is Vc++ 7. I also changed the -O4 and -O2 gcc options to -O3, because it is supposed to be more aggressive optimization than -O2, and I could not find -O4 in the documentation.

It runs fine on my system.

My intention is not really to produce new builds every day, but I wanted to try and compile it in Vc++ 6, which failed, and then I wanted to compile all VC projects with ICL, which I did.

My problem with VC++6 is that it cannot find "C:\Program Files\STLport\lib\stlport_vc6_static.lib" which is hardcoded in the project file (VC++7 has no problem with this), and the compiler cannot find max and min functions in std namespace (again, no problem in VC++7). I suspect these might be beginner problems, so I beg those more experience to help me here.

Also I managed to open the solution file after having converted it to Intel compiler, after removing libavcodec from the workspace. i think it is not needed in the project since ffmpeg and mplayer are compiled separetaly using gcc's make.

Edit: I am not allowed to attach this, too big. Send me a PM if you want it.

KyleK
4th September 2002, 19:17
I had the same problem. you need to compile the lib manually before you can compile the ffdshow project. for this just go to the stlport/src dir and type "make". If you've installed gcc 3.xx it should work fine. After that you should be able to compile the project.

athos
4th September 2002, 22:12
Originally posted by KyleK
I had the same problem. you need to compile the lib manually before you can compile the ffdshow project. for this just go to the stlport/src dir and type "make". If you've installed gcc 3.xx it should work fine. After that you should be able to compile the project.

thank you, but where is this lib? i cannot find it in ffdshow or cygwin. is it supposed to be installed with cygwin?

and what about the problem with std::max and std::min? they are supposed to be declared in the standard library (according to msdn documentation) and i assume they have be #included properly. perhaps i have the wrong order of included dirs in Visual Studio?

KyleK
5th September 2002, 02:41
Take a look at the readme.txt or install.txt which comes with STLPort. It says that you need to compile the libraries by yourself.
There's a step-by-step description also, but it's really not that complicated. I'd send you the file, but i uninstalled vc6 already (which by the way fucked up my XP ;/).

PS: Remember to include the cygwin\bin path in your windows PATH variable.

PPS: Regarding your min/max problem. Did you update your VS6 with Service Pack 5? I ask because i did right after a clean installation of VS6, and i never had any error about a min/max function. I got some other errors though, which i fixed manually ;)

gabest
5th September 2002, 03:00
Originally posted by athos
and what about the problem with std::max and std::min? they are supposed to be declared in the standard library (according to msdn documentation) and i assume they have be #included properly. perhaps i have the wrong order of included dirs in Visual Studio? The Standard C++ Library definition of _MIN and _MAX changed from:
#define _MAX _cpp_max
#define _MIN _cpp_minto:
#define _MAX (max)
#define _MIN (min)This makes definitions of std::_MIN invalid.

The following sample compiled in Visual C++ 6.0, but fails on the indicated line in the current version:#include <xutility>
#include <stdlib.h>
using namespace std;
void main()
{
std::_MAX(3,4); // error
_MAX(4,5);
}
@MSDN / Visual C++ Concepts: Porting and Upgrading

milan
5th September 2002, 07:12
I had to use STLport for VC6 compile because I use std::map and it's constructor always crashed ffdshow. Maybe I did something wrong, some switches or defines weren't right, but instead of trying to fix usage of not standard conforming VC6 STL, I downloaded STLport and used it. Path to that library is hardcoded in dsp file, but it's to problem to change it in project configuration dialog.
std::min and std::max seems to be missing from VC6 STL, but C macros min and max aren't present in GCC. So I had to decide and result is the usage of STL templates: ffdshow is a C++ project :)

gabest
5th September 2002, 07:39
milan: Are you using DllEntryPoint from the dshow baseclasses directly? I have been doing that for a long time (like the dshow examples), but after I added the c++ lib to the list, it was crashing dvobsub. Try to declare your own DllMain and hook up DllEntryPoint from it.

milan
5th September 2002, 07:47
Yesterday I implemented fps doubling (it's a quick hack, but seems to work). I tried it with one sample THX vob file with DVD2AVI -> AviSynth -> ffdshow with raw video processing. In first frame first field was displayed, in second the second field. Height of fields was doubled by ffdshow internal software scaler. This is surely very simple method of deinterlacing and the results weren't very good, but what's the most important, it worked. However on my AMD Athlon 850 with ATI Radeon, the CPU load was about 80%. Of course it's because of need to handle 50 frames per second and the software upscaling. It should be possible to replace SW scale by HW by setting the aspect ratio of overlay (DIVX 5 can do this) but I don't know how.
If you think this could be useful, I can try to implement some better deinterlacer: would TomsMoComp be suitable for this?

athos
5th September 2002, 10:53
Ok now i get it, sorry if im a bit slow. I have to download STLPort separetaly. std::min and std::max are defined in STLPort (and they are not macros). Its a bit weird that VC7 compiles with no problem, but perhaps it has better standard compliance, and defines these functions, and thus does not need STLPort?

Anyway, why does M$ have to make such trouble over these simple and basic functions.. Well, "The paths of Gates are intricate and strange". :)

@milan: I think you made a wise decision, to stick the standard STL.

sherpya
5th September 2002, 12:29
A hint: I've used stlport without compiling the lib just edit
stl_user_config.h
and uncomment
# define _STLP_NO_OWN_IOSTREAMS 1

sh0dan
5th September 2002, 12:40
Originally posted by milan
I had to use STLport for VC6 compile because I use std::map and it's constructor always crashed ffdshow. Maybe I did something wrong, some switches or defines weren't right, but instead of trying to fix usage of not standard conforming VC6 STL, I downloaded STLport and used it. Path to that library is hardcoded in dsp file, but it's to problem to change it in project configuration dialog.


A wild shot: In avisynth development we had some unexplained problems on some machines (mainly win98), with out VC6 compiled binaries. By a lot of testing we found out that it was caused by a compile error, when we used "__declspec(align(8))" to get proper 8 byte alignments of int64's. I don't know if this could be related to your crashes.

milan
5th September 2002, 12:45
@sherpya
Thank you very much.
I added this define directly to dsp, so there is no need to modify any file. It will be in CVS in a few hours.

@sh0dan
I'm using __declspec(align(8)) too, but I'm not sure if this could be the reason. However it was solved for me by using STLport.

P.S. CVS is now a little bit messy. fps doulbing is hardcoded and I'm preparing to add MPEG2 decoding support. So it may be possible ffdshow CVS version will not be usable sometimes. Maybe I should learn how to use branches :)

sekxx
5th September 2002, 13:09
Athos Compile can be find here:
http://www.sekxx.org/ffdshow/

LordDethstar
5th September 2002, 17:36
I have an idea about presets. Would it be possible to implement automatic preset loading based on the properties of movies? That way you could define a preset for whenever a movie has a resolution of 352*240 or 352*288 and blow it up to 640*480 with heavy filtering. Movies with different resolutions would remain unaffected.

oddball
6th September 2002, 06:26
I'm having a big problem with the latest Athos compiles. Playback is very slow on my PIII 700 system. A 640x480 res DiVX plays back at 100% CPU and my mouse jerks around.
I have found that if I set the IDCT to Xvid things become a lot better and although it still peaks at 100% CPU usage it is not always at 100% and I can still use my system to a degree.
Both simple and simple deprecated are extremely slow. Even normal is faster than those two IDCT modes.

I didn't have this problem with the last official Milan compile. I might have to reinstall it and test it out.

New info: OK just tested and with the Milan 20020617 build CPU usage stays below 50% on average with the occasional jumps above up to and including 100% but mostly sits under 50%. Simple IDCT is enabled. Gonna reinstall the new build now and try again.

OK now I know what the cause is. Adding black borders (To compensate for my TV's overscan) in ffdshow adds a CONSIDERABLE impact on the CPU. Typically Milan's official 20020617 also has a lower CPU usage than the newest Athos compile. The new compile adds at least a 10% CPU usage jump with no processing options like black bars etc enabled. If I enabled black bars CPU usage jumps to 100%!

I am sure DiVXG400's overscan compensation does not add any CPU hit although it's not as good *SIGH* :(

Any ideas why the latest buid is slower than the last official release? Also why does black borders increase so much CPU?

P.S. Changing aspect in ffdshow also appears to have an impact on CPU usage. Probably because both aspect and black borders do similar things. I would love to know how DiVXG400 does it's overscan compensation without impacting CPU usage. Hmmm. If only it had more control though :P

Edit: Been having a think about this one. Could it be that by adding black borders it resizes the video? Even though the playback window size does not change? Is it like resizing the overlay from say 640x to say 720x? I noticed any DiVX that are 720x tend to be heavy hitters on the CPU. Excuse me if I am totally wrong :)

milan
6th September 2002, 09:59
It seems I found reason for performance degradation when postprocessing in applied.
When processing strength isn't default (100%), quantizer array passed from libavcodes gets modified. But in the inner loop one old debug message was left. It was the DEBUGSx macro. These debug macros are activated in file ffdebug.h at 4th line (#if 1). This was set on. I'm sorry for this, but sometimes it's useful for me even in release build. So for the next time: when you will compile ffdshow, please check that file line is set to #if 0. This should fix some of reported slowdowns.
About black borders: yes, video gets resized. ffdshow can't set output video resolution during playback and aspect ratio changing and adding black borders are done by scaling source image and drawing black borders around it. Drawing black borders is optimized to draw it only when needed, but maybe I did it wrong and it is drawn one every frame under some conditions. If you would like to test it, please download dbgview from www.sysinternals.com and run ffdshow version with DEBUGS macros enabled and watch the messages. If messages like "clearBorder" appears too often (without subtitles it should be only once on first frame), contact me.
Btw if you want only to add black borders, set desired output resolution and set the resize method to none. No aspect ratio correction or resizing will be done, source image will only be copied to the center of destination frame.

avih
6th September 2002, 10:24
@milan
from the above link, built at 03-09-02 (3 days ago) it didn't have that slowdown in postprocessing. maybe he disabled the debug in that build?

milan
6th September 2002, 10:36
Maybe he did, maybe I. I'm changing this often and commiting to CVS with other files.

athos
6th September 2002, 10:59
@milan, about the post processing strength. i found out that this was causing the slowdown i mentioned when i switch users. for some reason it was set to 50% for my other users, and therefore reduced the framerate to 3fps or something. when i set it at 100% it works great with postprocessing enabled.

@oddball, the 10% increase in cpu usage might well be me using worse optimization flags than milan when compiling. I am still learning :)

i am trying to compile with vc++6 still. now im down to a link problem, i get an error saying some symbols have allready been defined. of course, vc++7 doesnt mind. i did not upload this latest build to sekxx' site, because it has milans deinterlacing hardcoded. to me, it makes a non-interlaced clip look interlacing..

about the interlacing, i do not really understand why it has to be so difficult to handle. i browsed the 100fps.com site. from what i understand, in interlaced video every other frame has the even lines and every other has the odd lines. shouldnt it be pretty easy just to combine these to frames into one or two deinterlaced frames? i guess im missing something, because this doesnt sound like it should have to be too cpu intensive.

milan
6th September 2002, 11:13
i am trying to compile with vc++6 still. now im down to a link problem, i get an error saying some symbols have allready been defined. of course


If you will send me build log with names of duplicate symbols, I will try to help you.

About deinterlacing: as I wrote I'm just begginer to this (have read www.100fps.com too). Others surely will give you better answers than I would be able. For me now it's only sufficient that I'm able double the framerate in ffdshow (output each field in separate frame) and this weekend I will try to add new deinterlace method: TomsMoComp.

athos
6th September 2002, 11:29
Originally posted by milan
If you will send me build log with names of duplicate symbols, I will try to help you.

Thanks, you have PM.

athos
6th September 2002, 14:20
Ok milan helped me so that I can now compile in VC++6. I have uploaded a new compile with a freshly checked out source @ http://ffdshow.sekxx.org/ffdshow-20020906.exe
Since this is VC++6, there is no need for the msvcr70.dll file. I used Intel C++ Compiler 6.0 with -O3 optimze setting.

@milan> Perhaps the libavcodec gets even more optimized if you use -O3 instead of -O2 in the config.mak, ie:
OPTFLAGS=-O3 -march=i586 -mcpu=i686 -fomit-frame-pointer -finline
also, i prefer not to have the ffdshow.ax filter automatically registered after a compile, but i guess thats a matter of taste.
Another small thing - there was an "F" at the beginning of the TffDecoder.cpp file which caused some compile problems, but i guess youve allready seen that.

cult
6th September 2002, 15:39
I think I found A bug.Whatever color u select in osd it will change it to black.The only way is to unistall the filter and let the green it has as deafult.

oddball
6th September 2002, 21:09
Whatever you did in this latest build sorted all the CPU usage issues. In fact I would say it's running faster than ever!

I can have both black borders and pre-processing enabled and it's not maxxing out my CPU anymore. It hovers around 50-60% mostly.

Cool! Thanks for this great app guys. I look forward to further developments. :)

BTW Gabest, read the PM I sent you ;)

MaTTeR
6th September 2002, 23:08
Originally posted by oddball
Whatever you did in this latest build sorted all the CPU usage issues. In fact I would say it's running faster than ever!

I have to agree, the ICL build obviously likes my PIII 800 HTPC. Nice work guys!

athos
7th September 2002, 15:45
Yeah it seems to work fine. Milan has already implemented TomsMoComp! However, deinterlacing does not seem to switch off when you disable it. Still, great work Milan!

mkanet
7th September 2002, 19:10
Can someone look into why all the latest unofficial builds of fdshow have broken gamma correction? With the last official build on sourceforge, gamma correction works correctly.

For me, having the gamma correction in ANY position besides "off" will jump to a really high gamma level; nothing in between. It does the same thing with under levels. Basically, leaving me with either too much gamma or no gamma correction.

I am using a Geforce 3 with the Detonator 4 drivers from Nvidia.

milan
9th September 2002, 07:54
I think I found A bug.Whatever color u select in osd it will change it to black.The only way is to unistall the filter and let the green it has as deafult.


Thanks. It's fixed now. OSD font configuration was quite broken: typical copy'n'paste bug.


I have to agree, the ICL build obviously likes my PIII 800 HTPC. Nice work guys!


I had only 30 day evaluation ICL version which expired long time ago. Donations are wellcome :)


Milan has already implemented TomsMoComp! However, deinterlacing does not seem to switch off when you disable it. Still, great work Milan!


Only the GUI for TomsMoComp is implemented for now. It does nothing yet. Sorry.


Can someone look into why all the latest unofficial builds of fdshow have broken gamma correction? With the last official build on sourceforge, gamma correction works correctly.


Gamma correction in Picture properties page uses MMX optimized code from http://www.stereopsis.com/polygamma.html .It is an approximation with quadratic polymonial and is faster than the old lookup table method. However, only 2.2 gamma correction is working now. For the other values to work I have to compute coefficients for approximation function with least squares method or whatever... Anyone interesting in this?
For now you can use levels filter: it has gamma correction which works. It uses lookup table like the old gamma correction method did and it's even more precise.

athos
12th September 2002, 11:44
I have made a new compile today, download at http://ffdshow.sekxx.org/ffdshow-20020912.exe. I also made a compile a couple of days ago that i uploaded but forgot to post here :\ (download @ http://ffdshow.sekxx.org/ffdshow-20020909.exe). All compiles now are VC6 with ICL, so I removed the VC7 file as it is no longer necessary. I will post my compiles at http://ffdshow.sekxx.org, so check there if you want to be sure not to miss anything in case i forget to post :)

New in todays compile are the beginning of MPEG-1 and MPEG-2 decoding support. MPEG-1 works ok until I try to fastforward, MPEG-2 works only very little. Still, this CVS snapshot was taken in the middle of milan's development, and I'm sure all will work great when he's finished! Imagine, one codec for ALL MPEG1/2/4!!

All we need is sound support *hint hint* :D:D:D

milan
12th September 2002, 12:06
Since I started ffdshow development I wanted MPEG1 and MPEG2 decoding because libavcodec supports it. For long time I didn't know how to do this, because mpeg demuxers output packets and not frames. Now I'm making some progress: MPEG 1 is decoded quite correctly (on few sample clips I'm using to test there are only small image corruptions after seeking). MPEG 2 is a bit harder, but I had some success too. BTW I'm using Ligos MPEG splitter: it works better for me.
The main problem is timing: I don't know how to set frame timestamps and now video is played at maximum speed allowed by CPU.

About sound support: I think mp3 and ogg directshow decoders are good enough, but there are of course some possible speed improvements: using Tremor for ogg decoding (AFAIK it's faster) and for mp3 could be used MMX/3DNOW/K7/SSE optimized mp3 decoder from mplayer. But don't want me to do this, because I have no experiences in creating audio decoding filters and I don't know about any GPLed project, which I could use as a base for experiments.

And if someone wants to develop something realy useful: what about directshow mp4 demux filter. Or is it already being developed?

athos
12th September 2002, 12:11
The part about audio support in ffdshow was more of a joke:) However, it would be really cool to have a "general" audio decoder filter for mp3/ac3/ogg/aac much like ffdshow is for video.

milan
12th September 2002, 12:21
I know, but I just had some ideas and thought someone might find them useful.

Defiler
12th September 2002, 16:18
I have at least one AVI here (DIVX FourCC), that is total madness with the Athos builds of ffdshow.
I've tried the three versions linked in this thread, all are the same. If I use the 6-17-02 official build of ffdshow, or DivX 5.02 Pro to decode the AVI, everything is fine. I had a friend verify this on a very different machine, yielding the same results.

Here's what it looks like:
http://hellninjacommando.com/misc/athos-ffdshow.jpg

Rrrough
12th September 2002, 22:37
hey, maybe the idea of the "universal-audio-decoder" isn't that far away...
take a look at this thread, maybe someone could help out...?

http://forum.doom9.org/showthread.php?threadid=33224

lat3ralis
12th September 2002, 22:49
AC3 decoding would be good ;)

I always have problems decoding an avi with an ac3 track
in wmp 6.4 :(

milan
13th September 2002, 06:56
@Defiler

This is realy bad. Please could you send me small part of that file? I would like to test it.

@Rrrough

I just asked for sources.

oddball
13th September 2002, 11:10
Good stuff.

Any idea when we will see some more control over black borders? Ideally I'd like to be able to shift the TV out overlay to the left or right and up or down. But not sure how this would work. I can only think that a seperate control to shrink from left to right or right to left or top to bottom or bottom to top would work in this instance. Then I can finally adjust my TV's overscan to compensate for a right shift on S-Video inputs (Which is what I used for the PC TV out). At present my TV overscan positioning sits somewhere between with a little cropping on the right hand side on S-Video in and cropping on the left on RGB sources (Like Digital satellite).

If I can find a way to shift output from the PC TV out to S-Video in on the TV using ffdshow I can have the TV setup to display perfectly on all sources.

It's a selfish request I know :)

milan
13th September 2002, 11:24
Just a quick solution for now:
Add black borders, select offset filter and move it after resize&aspect, check "process whole image" and move sliders (set both luma and chroma shifts to equal). If I understood your problem correctly, this should help.

BTW I've never tried TV output and I don't have any experiences with possible problems.

athos
13th September 2002, 12:39
Originally posted by milan
But don't want me to do this, because I have no experiences in creating audio decoding filters and I don't know about any GPLed project, which I could use as a base for experiments.

Well apart from mplayer, there is the MAD project (http://www.mars.org/home/rob/proj/mpeg/) which is GPL and imo renders the best sound. Of course the OGG project is also GPL (the is a directshow project @ http://sourceforge.net/projects/mediaxw doesnt seem to have been updated for a while though). As pointed out above, there is a GPL AC3 prject (http://xvalex.hotbox.ru/programs/ac3filter/ac3filter_eng.html)

For AAC, there is the MPEG4IP project (http://sourceforge.net/projects/mpeg4ip/) I'm not sure how helpful it would be though.

Originally posted by milan
And if someone wants to develop something realy useful: what about directshow mp4 demux filter. Or is it already being developed?

Well, Nic has made some work on a aac dshow filter, I'm not sure if it includes mp4 demuxing. The "crappy beta2" version can be found here (http://www.inf.ufpr.br/~rja00/files/AAC2WAV.zip).

For me the greatest benefits of an audio counterpart of the ffdshow filter would be:
OpenSource, with all the benefits that comes with this
One filter for all (or most) audio, at least the audio used in video files.
Because it is the same filter, the same settings apply, for example dedynamic and speaker settings.

I am sorry that I am not experienced enough in directshow programming to initiate such a project, but one can still dream :)

Defiler
13th September 2002, 13:32
Originally posted by milan
@Defiler

This is realy bad. Please could you send me small part of that file? I would like to test it.
My pleasure. I verified that even after trimming, it plays properly with 6-17-02, and improperly with 9-xx-02 builds.
ffdshow test clip (http://hellninjacommando.com/misc/avisynth/ffdshow-insane.avi)

milan
13th September 2002, 13:51
I'm not able to download it. I'm behind a firewall and can't download AVIs right now. Please change the extension or compress it to zip.

Thanks

Defiler
13th September 2002, 13:55
Originally posted by milan
I'm not able to download it. I'm behind a firewall and can't download AVIs right now. Please change the extension or compress it to zip.Here's a zipped version:
ffdshow test clip (zipped) (http://hellninjacommando.com/misc/avisynth/ffdshow-insane.zip)

milan
13th September 2002, 14:23
Just a few minutes ago I posted this message to "Bad news for interlacing" thread:


ffdshow now supports (thanks to libavcodec and especialy Michael Niedermayer) both XviD interlaced 'modes'. On misc. page in cfg dialog is new option "workaround bugs", where you can set if next played movie should be treated as old xvid interlaced video.
This changed was commited to CVS few minutes ago so no binaries yet.


If you'll select "old libavcodec and opendivx files" workaround, your file will be played correctly.

billou2k
13th September 2002, 14:47
Hi and congratulations with the new versions of ffdshow
It's amazing all the new features you've put in it:D
just a small problem (hehe): I've just noticed on the machine I m using that once I press stop I cant play the video again : if I press play after that it just goes directly to the last frame of the sequence. the same thing happens if the video plays till the end and I want to play it again.
the only solution is to reload it in the player.
did someone notice that as well?

btw I tried defiler's sequence and it's the same for me, the video is just messed up, but even without using ffdshow I'm snot sure your sequence is ok: I've got a strange green sequence and text with blocks , only the second part looks ok. When running it in vdub it just crashes it when playing. it seems that just the end of the sequence is not corrupted that could be why ffdshow doesnt play it correctly.

milan
13th September 2002, 14:53
just a small problem (hehe): I've just noticed on the machine I m using that once I press stop I cant play the video again : if I press play after that it just goes directly to the last frame of the sequence. the same thing happens if the video plays till the end and I want to play it again.
the only solution is to reload it in the player.


When athos compiled latest ffdshow version, there was very stupid bug (= instead of == in comparison) in CVS. It was fixed soon after. Just wait for new build.

Defiler
13th September 2002, 14:53
Originally posted by billou2k
btw I tried defiler's sequence and it's the same for me, the video is just messed up, but even without using ffdshow I'm snot sure your sequence is ok: I've got a strange green sequence and text with blocks , only the second part looks ok. When running it in vdub it just crashes it when playing. it seems that just the end of the sequence is not corrupted that could be why ffdshow doesnt play it correctly. Works great for me in VirtualDub, with ffdshow 6-17-02, and with the "Official" DivX codecs. I've tested it extensively. Clearly there's something "interesting" about the clip, but it does play properly without the latest ffdshow.

billou2k
13th September 2002, 15:12
@defiler :I realise now I dont have divx 5 installed on the machine i tested the sequence but only an old opendivx version that's probably why it was messed up;-) sorry about that.

@milan: I see:D I did that one too many times as well;-)
thanks

athos
13th September 2002, 15:22
It seems like its time for a new build: http://ffdshow.sekxx.org/ffdshow-20020913.exe

I only tested it briefly.

billou2k
13th September 2002, 15:41
Great!
works fine with me!
(but defiler sequence still screwed.)
THX!

oddball
13th September 2002, 18:26
Thanks Milan. The luma/chroma method really did the trick. :)

jamest
13th September 2002, 21:02
I had OSD on but CPU always show 0 even when all settings maxed with visible lagged fps.

athos
14th September 2002, 00:40
Originally posted by jamest
I had OSD on but CPU always show 0 even when all settings maxed with visible lagged fps.

It works for me, but it is not very accurate. Either 0%, 25% or 50%. Perhaps you are always below 25% and therefore 0%?

Defiler's test clip is weird for me too, but milan's workaround does the trick.

wizzzard
14th September 2002, 01:21
Hello, milan,

first I want to thank you for this great piece of software. You made something true that was the dream of many home cinema fans - a filter you can use with a DVD graph.

Your filter is heavily discussed at AVS and the biggest german HT forum at www.beisammen.de

Perhaps you find some time to think about a question.

I love your unsharp mask but it generates some noise as a side effect. There is no adjustable noise filter (to remove the noise) so my trick is to use the blur filter. I de-activate the "Soften" abd bring the "Temporal smooth" on "1". It works, but the processor usage is extremly high. Even my XP 1900+ has problems. Is there a way to make it more efficient?

Can you add a simple noise filter? I think this is importend for DVD and video. My DivX Files has some times much noise within and so I would be glad to reduce it. The best would be an adjustable noise filter for different quality sources. I know there is a temporal noise filter in Post Processing but it's not adjustable, so for most sources it's to strong ;)

Best Regards

Frank

Defiler
14th September 2002, 04:54
Wizzzard: Welcome to Doom9. Always nice to see AVSForum guys here.

wizzzard
14th September 2002, 09:38
Hello,

thanks for the warm welcome. I'm not really an AVS Guy, because I personally think it's censored. I'm more a www.beisammen.de guy, but sorry it's in german. I'm called "frbie" there and there is a big thread about the new possibilities with ffdshow and DVD playback. This is something we ever wanted - the possibility to improve the picture quality with a seperate filter you can use with the Zoomplayer. The Zoomplayer is the favorite frontend for most of the DVD enthusiasts.

You find the german thread here. (http://212.105.197.47/vbportal/forums/showthread.php?s=&threadid=20688) Perhaps you can translate it with bubblefish when you're interested. It's about using ffdshow with DVD's.

When it's not allowed to post links to other forums, remove the link please.

CU

Frank

mi5
14th September 2002, 20:24
milan: first of all, thanks for the great piece of software. ffdshow made it possible for me to watch divx content on my second computer (a K6-2, 400) as it decodes divx content quite a bit faster then divx itself. I am using the latest official build.

now, after I've found this thread, I have downloaded and tried latest builds by athos and have to say that performance has reduced somewhat. now it is on par or slightly slower then divx 5.02. I am normally not using any post-processing or advanced features, so can only assume that something changed in the decoder core. Or is it no longer 3Dnow optimized?

athos
14th September 2002, 22:07
I think this might have to do with my optimization settings. I am aiming for Pentium Pro / Pentium II and higher.

Perhaps it would be a good idea to make different builds aimed at different architectures, for example a Pentium build and a Pentium 4 build? Maybe AMD builds? I will try to change my settings for my next build and we will see if it makes any difference.

MaTTeR
14th September 2002, 22:14
CPU specific compiles would be most welcome:D I'd love to see an AMD/Athlon optimized compile.

Maybe it's already been brought up but what are the chances to see the Lanczos resize filter implemented? Just a thought

Great work guys!

EDIT: Ooops...just noticed the lastest version has the Lanczos resize filter:D Sorry I never noticed it before.

athos
15th September 2002, 00:24
I think I found a bug. If I choose Xvid iDCT (I have Xvid installed btw), the settings wont be saved. The next time I check properties, it will be sett to the older version of the "simple" iDCT. This happens whether or not I have checked use xvid dll for XVID codec (this probably doesnt matter).

ookzDVD
15th September 2002, 07:30
@athos,

Thank you for your ffdshow's build, but if you don't mind,
would you please add the _change_log_ everytime you release
new build.

mi5
15th September 2002, 09:17
athos: good idea with processor specific builds. would probably also make sense also to make separate builds for higher end (Athlon XP/P4) and one for older processors.
aware it's extra work for you, but trust me a lot of people will appreciate that.

athos
15th September 2002, 09:51
About cpu-specific builds: I think I will wait with this until the next stable release. I will try to modify my compiler parameters to better support lower-end cpus for the next release though.

About changelogs: Milan is doing all the development, and he writes changelogs for the stable releases. I have asked uManiac to use his system of latest CVS commit comments for a kind of "user-unfriendly" changelog like he uses for his xvid instabuilds.

wizzzard
15th September 2002, 10:01
Originally posted by athos
About cpu-specific builds: I think I will wait with this until the next stable release. I will try to modify my compiler parameters to better support lower-end cpus for the next release though.

About changelogs: Milan is doing all the development, and he writes changelogs for the stable releases. I have asked uManiac to use his system of latest CVS commit comments for a kind of "user-unfriendly" changelog like he uses for his xvid instabuilds.

Hello, arthos,

this is a very important point for many of us. I use a Athlon XP 1900 and as many others I use it for DVD. My best configuration includes the unsharp mask combined with the Blur - temporal smoth. But I cannot use it because there are to much frame droppes. My CPU is used about 98% (with a GeForce 4) and 100% (with a Radeon VE - PCI. Can you image ;)? You see a real good picture and you cannot use it :( And this a 1900+

Please help with this lower CPU release.

Thanks in advance.

Frank

athos
15th September 2002, 10:09
I think some of these filters (for example temporal smooth) are in unoptimized c++ code. there is only so much the compiler can do about this. the post-processing on the other hand, is hand-optimized in assembler, and thus really fast no matter what compiler settings.

milan can answer this better.

ffdshow is compiled in both vc++ and gcc. for vc++ i use intel's compiler, which i guess optimizes mostly for intel cpu's. there are some compiler options in gcc for amd, but other than that i dont know how to better support those cpus. are there any amd-specific compilers?

wizzzard
15th September 2002, 19:01
Hello, arthos,

thanks for answer. When I understood in the right way the only person who can solve the problem is milan himselfs.

I can only hope that he'll find the time. In fact it's not so much. The only real point is the blur filter. All others are normal in processor usage. I personally find the temporal smoth really importend.

Do you know the feeling. You see something sweet but you cannot reach it ;)

Frank

milan
16th September 2002, 07:24
I had OSD on but CPU always show 0 even when all settings maxed with visible lagged fps.


What Windows version are you using? Does automatic quality control work? I'm asking because CPU load measuring code was converted from one Delphi unit and maybe I've made some bugs.


It works for me, but it is not very accurate. Either 0%, 25% or 50%. Perhaps you are always below 25% and therefore 0%?


CPU load is measured after each frame is decompressed by reading windows performance stats. Propably they are not precise enough. Maybe some averaging would help.


I love your unsharp mask but it generates some noise as a side effect. There is no adjustable noise filter (to remove the noise) so my trick is to use the blur filter. I de-activate the "Soften" abd bring the "Temporal smooth" on "1". It works, but the processor usage is extremly high. Even my XP 1900+ has problems. Is there a way to make it more efficient?


Temporal smooth is slightly modified VirtualDub filter. It isn't MMX optimized, because I wasn't able to do this. For me it seems, that this filter isn't very suited for MMX optimizations. But maybe I'm wrong and someone will find possible ways to optimize it...
There are lot of temporal smoother filters either for VirtualDub or AviSynth. If you can suggest me one, which if good and fast, I will add it to ffdshow.
BTW temporal smooth was added to ffdshow because I needed denoising during encoding. It wasn't meant for realtime operation.


now, after I've found this thread, I have downloaded and tried latest builds by athos and have to say that performance has reduced somewhat. now it is on par or slightly slower then divx 5.02. I am normally not using any post-processing or advanced features, so can only assume that something changed in the decoder core. Or is it no longer 3Dnow optimized?


I'm not sure what was changed in libavcodec, but surely optimized code was added and not removed. Compiler settings can have some speed impact on libavcodec. For my Athlon Thunderbird it surely helps. To try it, you can download mingw (with gcc-3.2) and try some settings. If you will need help, feel free to ask.


I think I found a bug. If I choose Xvid iDCT (I have Xvid installed btw), the settings wont be saved. The next time I check properties, it will be sett to the older version of the "simple" iDCT. This happens whether or not I have checked use xvid dll for XVID codec (this probably doesnt matter).


Thanks. It is fixed now.

And about changelogs: automatic changelog generated from CVS would be good. However I would have to write better changes description when commiting to CVS. Now they are very short and sometimes not very exact.

Defiler
16th September 2002, 12:54
milan: Just to clarify.. Is the workaround quoted above (for the sample clip I posted) your final statement on the matter, or are you researching a fix for a future version of ffdshow?

milan
16th September 2002, 13:06
It plays correctly for me when bugs workaround option is selected. I can ask Michael Niedermayer why such clips were decoded correctly with older libavcodec versions with default settings and why now some other option has to be specified.
If other clips won't be affected with that bugs workaround I can make it default.

athos
16th September 2002, 16:03
@milan: I dont think you need to write better descriptions. I just ment do use this automatic system to have something to put in the changelog. I think doing this automatic would be easier and also better than me guessing. I am waiting for uManiac to send me his code for this.

You can write a "proper" changelog when you release stable versions.

Defiler
17th September 2002, 19:49
Just chiming in the say that the workaround fixes the problem with that clip for me. I'm experimenting to see if there are any drawbacks to leaving the workaround enabled at all times.

Defiler
18th September 2002, 01:39
I would like to set "workaroundBugs" in the registry to "1" with a .reg file, and I'd like it to work on all machines. I see it in two locations:
HKEY_CURRENT_USER\Software\GNU\ffdshow\default\
HKEY_USERS\S-blah-blah-blah\Software\GNU\ffdshow\default\

Can I just set it in the first location, and have it stick, or do I need to change it in both places? That's problematic, because the second location changes from machine to machine.
Is the NSIS used to build the installer still in the CVS tree?

-h
18th September 2002, 02:01
I would like to set "workaroundBugs" in the registry to "1" with a .reg file, and I'd like it to work on all machines. I see it in two locations:
HKEY_CURRENT_USER\Software\GNU\ffdshow\default\
HKEY_USERS\S-blah-blah-blah\Software\GNU\ffdshow\default\

You only need to alter the value in HKEY_CURRENT_USER, it will be replicated into the HKEY_USERS\x location by Windows.

This must be performed for each user that has an account on the machine, so it is replicated into each of their profile's registry data. If there is only one user, you only have to do it once.

-h

Defiler
18th September 2002, 02:13
Indeed, that works like a charm. Thank you.

iago
18th September 2002, 11:44
Hello everybody,

Sorry to interfere with some comments, but I just wanted to say a few words on this thread which I've been following attentively for a long time.

All this effort going on with ffdshow is really very promising imho. Though there are certain bugs (as mentioned here, and all of which are hopefully getting solved one by one for a future release) in the last two releases by athos, the new options added (levels, deinterlace, temporal noise filter, etc.) are absolutely great both in terms of best possible post-processing and also for deciding on the right parameters and filters for the encoding process.

There is one point I would like to learn a lot:

-> Uniform noise - when checked noise strength doesn't depend on original brightness, otherwise less noise is added to dark areas

I guess here "otherwise" means "if unchecked". So, if uniform noise is checked, the same amount of noise is added to dark areas as well. And if uniform noise is not checked, both with old and new noise algorithms, less noise is added to dark areas.

I wonder if it is possible to generate another noise algorithm as an option, which adds more noise to dark areas, which would also be a solution (and certainly a better solution than ColorYUY2, which decreases the overall quality of the film while solving the blockiness problem in black areas) to the blockiness problem widely discussed in the lumi-masking thread?..

Thanks a lot and kindest regards to all people who put effort on the development and improvement of this amazing filter.

iago

athos
18th September 2002, 13:54
Originally posted by Defiler
Is the NSIS used to build the installer still in the CVS tree?
Yes, under \bin\distrib

oddball
18th September 2002, 16:24
Milan: That luma/chroma trick don't work as well as I thought. What happens is that it just moves to a point whereby it eventually chops the image off the side of the window (While moving the image horizontally or vertically). This in effect chops off some of the image on the TV out also. Not ideal.

I really need the ability to create the black bars on all sides independently. So for instance I can lock all sides except the right hand border and move that from right to left causing the image to shrink from right to left (Just as an example).

Look forward to seeing this advanced ability in a later version ;)

wizzzard
19th September 2002, 00:44
Hello, milan,

you offered your help with the noise reduction filter. With support from the AVS team I got contact with Lindsey Dubb. When I understood right he's in the DScaler team. He will contact you for further discussion.

Thanks in advance.

wotef
22nd September 2002, 12:01
@Athos, re: the IDCT resetting from Xvid to Simple, for the time being I edited hkey_current_user\software\gnu\ffdshow\default\idct and set it to 4

athos
22nd September 2002, 14:38
Originally posted by wotef
@Athos, re: the IDCT resetting from Xvid to Simple, for the time being I edited hkey_current_user\software\gnu\ffdshow\default\idct and set it to 4
Thank you. I think Milan has allready fixed this in the CVS, but I havent been able to compile for a few days. Milan is probably in the middle of something.

milan
23rd September 2002, 07:22
I have problems with MPEG1/2 decoding. It's very slow, but as it seems it's not caused by decoding itself. I added libmpeg2, which seems to be fastest MPEG1/2 decoder, but CPU usage is still 2 times higher than with other MPEG1/2 decoding filters. I need to know where's the problem and I think that best would be time profiling. Please could you suggest me some good profiler which can be used with VS6 or VS.NET? It seems like builtin VS6 profiler isn't able to handle dynamic libraries and I wasn't able to find any profiler in VS.NET.
Thank you for help.

-h
23rd September 2002, 07:50
I have problems with MPEG1/2 decoding. It's very slow, but as it seems it's not caused by decoding itself. I added libmpeg2, which seems to be fastest MPEG1/2 decoder, but CPU usage is still 2 times higher than with other MPEG1/2 decoding filters. I need to know where's the problem and I think that best would be time profiling. Please could you suggest me some good profiler which can be used with VS6 or VS.NET? It seems like builtin VS6 profiler isn't able to handle dynamic libraries and I wasn't able to find any profiler in VS.NET.

Have you looked at timer.c, timer.h and the read_counter() function from portab.h in xvidcore? If you find no other profiling tools, you could add a few timers to your code and see what functions are eating up the most time.

-h

athos
23rd September 2002, 13:56
A new build is up! At milan's request, I will from now on upload the alpha builds to ffdshow's homepage at sourceforge (http://sourceforge.net/projects/ffdshow). Alpha builds will be released in the ffdshow-alpha package, while the regular ffdshow package will be used for stable releases by milan. I have also used a perl script that milan found to produce a nice changelog from the cvs (changes since last release) so you can get an idea on what's new.

wotef
23rd September 2002, 14:45
nice! thanks guys! everything looks sweet so far, just a note for any folks that use bsplayer i had crashes with ffdshow overlay checked until i switched bsplayer's "use overlay" mode from 2 to 1

milan
23rd September 2002, 14:53
I tested it only with WMP6.4 and graphedit. Let me know about more incompatibilities and possible solutions. One day, when docs will be written, this should be included.

athos
24th September 2002, 15:04
Hmmm has anyone tried the latest build yet? Any feedback? Sourceforge tells me there have been 0 (zero) downloads..

milan
24th September 2002, 15:10
There is some delay. I think tomorrow we will see some quite big number :) I've updated ffdshow news page.

rui
24th September 2002, 16:47
Originally posted by athos
Hmmm has anyone tried the latest build yet? Any feedback? Sourceforge tells me there have been 0 (zero) downloads..

:confused: I went there and downloaded yesterday. But didn't tried it yet.

EDIT: but you are right. I just went there and downloaded it again, then refreshed the page and the downloads are at 0

wotef
24th September 2002, 17:24
anyone else having problems playing mpeg1 video (if mpeg1 is checked on the codecs screen - regardless whether "use libmpeg2" is checked)? i get erratic behaviour in mplayer2 and bsplayer - the video either freezes or doesn't display at all, it shows some sign of life when you seek but then promptly falls over again? works fine with the ms codec when "mpeg1" is subsequently unchecked in ffdshow

Foster
24th September 2002, 18:51
i have the same problem as you wotef when i want to play videos in mpeg1-format in bsplayer. is it a failure to me on handling ffdshow or is it just a bug?

best regards
rainer

Blight
24th September 2002, 21:52
I think there's a bug, you can't resize to 800x600 even if you set to "Always resize".

Nic
24th September 2002, 21:59
@milan:
Hiya milan,
First, sorry I havent sent the XviD DShow source yet, will do tomorrow (been swamped in work :( )

Second, I used libmpeg2 to create MPEGDecoder.dll for avisynth & libmpeg2 is very quick, are you building with all the optimised code turned on? If so then I dont know why your having problems...But I could flick thru the source & try & check it out :) , the source for my decoder (although a complete & utter mess, the latest version isnt up yet (which is cleaner thankfully :) )...is always at http://nic.dnsalias.com/MPEGDecoder_src.zip not sure if that will help but the decoder code is at least in C++ there...

If I can help in anyway just give me a shout :)

Take Care,
-Nic

wotef
25th September 2002, 02:06
darn, i also get strange behaviour with zoomplayer - when playing any xvid or divx file, where the codec AND hardware overlay options are checked in ffdshow codec tab, zoomplayer says "invalid floating point operation" until either one or both of these options is unchecked - think this is a zoomplayer bug, but it probably has something to do with the overlay option

milan
25th September 2002, 07:35
anyone else having problems playing mpeg1 video (if mpeg1 is checked on the codecs screen - regardless whether "use libmpeg2" is checked)? i get erratic behaviour in mplayer2 and bsplayer - the video either freezes or doesn't display at all, it shows some sign of life when you seek but then promptly falls over again? works fine with the ms codec when "mpeg1" is subsequently unchecked in ffdshow


MPEG1/2 decoding isn't finished. The biggest problem is with timestamps. I had to set timestamp of output frames, but I still haven't found a good way how to do this. All what's implemented now is a quick hack which sometimes works and sometimes doesn't.


First, sorry I havent sent the XviD DShow source yet, will do tomorrow (been swamped in work )


Ok, as you see I have much work too.


Second, I used libmpeg2 to create MPEGDecoder.dll for avisynth & libmpeg2 is very quick, are you building with all the optimised code turned on?


I'm sorry, but I forgot to call mpeg2_init with CPU features mask. I called it with 0. Now it's much faster, but still I would like to have some good profiler, because I'm afraid that critical ffdshow routines got a little bit "bloated" and need some cleanup. Profiling results would show me where to start.

BTW as I see MPEG2Decoder.dll contains DeCSS. Would be there any possibility to create DirectShow source filter which would contain it?

Nic
25th September 2002, 09:02
Yup I was hoping to do that (create a dshow with decss), but it looks like your already more than half-way there :)
You just have to read the MPEG-2 file in 2048 byte packets, then run it through the decoding function. However you need to get the key first & that might take about 100 2048packets before getting it (but sometimes it gets the key straight away)

Cheers,
-Nic

milan
25th September 2002, 09:19
I'm not sure if I'm really so far, because ffdshow just accepts data sent by some mpeg2 demuxer filter. I thought to support DeCSS it would be needed to write either new demuxer or new file source filter. But if only ffdshow modifications will be sufficient, I will surely try to implement them.

Blight
25th September 2002, 11:05
wotef:
I just checked that and indeed it crashes, but it does so on
IGraphBuilder.RenderFile, which is a DirectShow function that builds the graph, which means that something is wrong with ffdshow...

And yes, I'm aware it doesn't happen on media player, but neither did a similar error in WinDVD's decoder which turned out to be their bug in a similar situaiton.

athos
25th September 2002, 12:42
I think there might be some legal problems with DeCSS because of the use of some decryption key (not sure though). I found this c-code that takes css encrypted data from stdin and outputs decrypted to stdout:
/* efdtt.c Author: Charles M. Hannum <root@ihack.net> */
/* */
/* Thanks to Phil Carmody <fatphil@asdf.org> for additional tweaks. */
/* */
/* Length: 434 bytes (excluding unnecessary newlines) */
/* */
/* Usage is: cat title-key scrambled.vob | efdtt >clear.vob */

#define m(i)(x[i]^s[i+84])<<
unsigned char x[5],y,s[2048];main(n){for(read(0,x,5);read(0,s,n=2048);write(1,s
,n))if(s[y=s[13]%8+20]/16%4==1){int i=m(1)17^256+m(0)8,k=m(2)0,j=m(4)17^m(3)9^k
*2-k%8^8,a=0,c=26;for(s[y]-=16;--c;j*=2)a=a*2^i&1,i=i/2^j&1<<24;for(j=127;++j<n
;c=c>y)c+=y=i^i/8^i>>4^i>>12,i=i>>8^y<<17,a^=a>>14,y=a^a*8^a<<6,a=a>>8^y<<9,k=s
[j],k="7Wo~'G_\216"[k&7]+2^"cr3sfw6v;*k+>/n."[k>>4]*2^k*257/8,s[j]=k^(k&k*2&34)
*6^c+~y;}}
Edit: When the DeCSS trials started, someone wrote a tiny perl-program that could decrypt CSS without using the illegal key from DeCSS. It was however not very fast. This c-program is supposed to be faster, and also legal. Part of the point with these two programs was to prove that it can be done with very little code, that's why its so "compressed" code.

Smiff
25th September 2002, 17:16
hi i haven't posted here before but i've been following this thread for a while, ffdshow is the d*gs you-know-what.

I also get

"Exception in module qdvd.dll.
Invalid floating point operation."

When using the new hardware overlay option on build ffdshow-20020923.exe, with ZoomPlayer 2.90 alpha (the slightly more informative error message is from v2.90). I have no idea what qdvd.dll is or what it's doing other than it's MS "DirectShow DVD PlayBack Runtime" that windows file protection doesn't let me remove.

Anyone have any ideas? The overlay works in WMP6.4 but i don't like WMP6.4! :)


EDIT: i tried unregistering qdvd.dll but it clearly seems to be needed for ffdshow to even load... if there's any other info i can provide please just ask, i really want to see ffdshow working with hardware overlay in ZoomPlayer :)

athos
25th September 2002, 19:48
Perhaps ffdshow collides with the player if they use different overlays. wotef noted that it seems to work in bsplayer if he switches the overlay used.

wizzzard
25th September 2002, 19:53
Hello,

sorry not to be so deep in the development area. Milan mentioned at AVS a denoise filter in the newest version. Is this the version from the 23. September or is it "to be compiled"?

athos
25th September 2002, 20:06
According to the changelog, milan has added it today, so it is "to be compiled". I plan to do a new compile in a couple of days or so.

Smiff
25th September 2002, 20:16
Originally posted by athos
Perhaps ffdshow collides with the player if they use different overlays. wotef noted that it seems to work in bsplayer if he switches the overlay used.


that may be true but i can't see any suitable option in ZoomPlayer... i've posted on ZP forum, let's see what they think...

Stabmaster-Arson
25th September 2002, 23:26
Page 15.....

Blight
26th September 2002, 04:13
qdvd.dll is the DVD used for functions. The crash doesn't occur in ZP itself, but rather in an external DirectShow DLL and can not be the fautl of ZP.

WMP does do several things to supress errors. This was exactly the case with the WinDVD Audio Processing filter, but that error was also in their code.

ZP is more sensitive to external errors, so it pops, nothing I can do about that, but frankly, there should be no external errors to begin with.

As for the different overlays, it's possible milan wrote his code for something that works well on his card, but others with different cards and drivers get the crash, he'll have to verify this against Zoom Player to see if it crashes on his system.

I did test the VMR renderer (which WMP uses by default) and the older Win98/2K renderer. There was no difference. I think the problem is in the DirectShow filter connection code which somehow prompts the DVD filters to try connecting and somehow gets them to crash.

milan
26th September 2002, 07:10
I think I've found the bug. When setting output video properties I forgot to set dwPictAspectRatioX and dwPictAspectRatioY fields in VIDEOINFOHEADER2 struct and they were set to 0. Now they are set either to input video dimensions or to value set on Resize&aspect page. This was clearly my mistake, but still I think this should be handled as a special case by players/graph builder. BTW I have to implement switch to set the aspect ratio acording to MPEG2 header. It has to be handled by SW scaler and overlay too (depending on user choice and HW capabilities).
I added gradual denoise filter from DScaler, but this is just first version (anyway it's already optimized for Integer SSE). I need to compare results with original DScaler filter to see if my implementation is correct.

@athos
Please wait for a few days. In new build I would like to have Nic's postprocessing routines included.

And more about overlay: yesterday I've finaly found out how to set overlay color controls (brightness, contrast, gamma,...): IMixerPinConfig2 interface exposed by Overlay Mixer input pin. I hope in few days ffdshow will not be limited to slow lookup-table gamma correction or that 2.2 MMX approximation, but will be able to use HW.

Koepi
26th September 2002, 07:22
Milan,

that is definatly great news!

I'm a little proud that you did it with hardware overlay - I was searching on that matter some months ago and got stuck in nothing :(

Hell, swiss army knife of decoders/playback filters evolves into everything... when can I write post-processed documents with it? ;) amazing!

Best regards,

Koepi

masken
26th September 2002, 09:50
Originally posted by milan
And more about overlay: yesterday I've finaly found out how to set overlay color controls (brightness, contrast, gamma,...): IMixerPinConfig2 interface exposed by Overlay Mixer input pin. I hope in few days ffdshow will not be limited to slow lookup-table gamma correction or that 2.2 MMX approximation, but will be able to use HW. I envy such talent!

Keep up the good work, you've got millions of fans m8! :D

milan
26th September 2002, 10:04
Why envy?
I was just digging in Microsoft Platform SDK. It would be much easier if DDCOLORCONTROL structure documentation wouldn't be missing in latest DirectX SDK release. Simple search for 'gamma' or 'saturation' would show the way. Fortunately it's present in DirectX 7 SDK archives at MSDN.

Blight
26th September 2002, 10:23
Milan, you could have asked me, I've implemented the Overlay interface months ago...

Oh, and I've only found the interface to it on the Overlay Mixer filter, are you somehow going to implement the interface into your filter, bypassing the Overlay Mixer, or are you going to enforce that the Overlay Mixer be included in the graph?

milan
26th September 2002, 10:38
If I wouldn't find it yesterday, I would surely ask you. In fact, I was testing reported ffdshow's problems with Zoom Player, when I decided to finally implement these controls. BTW: won't they collide with those in Zoom Player?
These new controls will be available only when Overlay Mixer filter will be in the graph. This can be forced by "Hardware overlay" checkbox in ffdshow.
Do you know how to set color properties without the Overlay Mixer filter?

Blight
26th September 2002, 11:00
They may collide, ZP will override them if enabled, depending on where you apply it.

There seems to be a standard "Driver Level" interface to do this as both the ATI and the NVIDIA driver support this, but not always.

BTW, you should know that some NVIDIA and older ATI (128 Fury) don't support Gamma or possibly some of the other settings. There are benefits to using software gamma if your CPU can handle it.

Microsoft actually has a DirectDraw "sample" in which it changes gamma, but guess what, it does so by changing the palette of an 8bit image. Don't you just love those microsoft samples.

Microsoft practically abandoned all DirectDraw documentation, it's simply not there, couldn't even find it on MSDN. So if there's some DirectDraw interface, I have no idea how to access it.

BTW, What are the actual benefits of enabling the Hardware Overlay setting in FFDShow? I understand it adds the Overlay Mixer but besides that, what are the benefits?

milan
26th September 2002, 11:22
That collistion is bad, but I will try to make ffdshow as "friendly" as possible.
I don't want to use specific ATI or NVIDIA driver calls. This would be realy out of scope of MPEG 4 decoding filter :) .
I think I'm able to detect not supported features. It seems when I call IMixerPinConfig2::GetOverlaySurfaceColorControls with dwFlags set to 0xff, it returns all supported features values and sets the mask. For example my ATI seems to not support sharpness control.
And I will surely not remove any software image processing - in fact, I should finally finish MMX approximated gamma correction.

Overlay mixer cons:
- seems to be a little slower - playing at DVD resulution is measurably slower, but maybe I just don't know how to use it correctly
- only one HW overlay can be active at same time

Overlay mixer pros:
- can specify aspect ratio - no need for SW scaling
- flip horizontally and vertically - haven't tested yet
- color controls
- maybe in the future I will add direct rendering and HW overlay seems to support it better - this is just my guess, I haven't done anything yet

There may be other pros/cons which I'm not aware of. Actually HW overlay was added to ffdshow because DIVX 5.0.2 supports it too.

athos
26th September 2002, 13:00
Originally posted by milan
@athos
Please wait for a few days. In new build I would like to have Nic's postprocessing routines included.

Sure. I use the cvs-to-changelog script you sent me to check the progress, will make new compile when Nic's routines have been added.

Blight
26th September 2002, 13:59
I actually specify AR in one of two ways (depending if a setting is enabled in ZP's options).

Either I set the video window to the right AR and set the background black, or I use the IVideoWindow destination rectangle. Not being a Player, I'm not sure if your decoder can use that interface.

The only reason I use the Overlay Mixer is to enforce MPEG2 decoders to respect AR. WinDVD/PowerDVD decoders do not respect the specified AR and instead enforce the MPEG internal AR.

I think the title "Hardware Overlay" is misleading, there's nothing "hardware" about compared to the standard renderer (which also uses the hardware overlay).

Reading the description of "Extended Overlay" on the DivX page doesn't seem to imply any relations to the Overlay Mixer. Here's their description:

Added an "Overlay Extended" mode. Selecting this will cause the filter to try to display video using the hardware overlay instead of the software overlay. The hardware overlay is much faster, but may not be supported on some video cards. When this mode is enabled, DirectShow-based player applications will be unable to open more than one window at a time.


As far as I know, there is no such thing as a software overlay, unless they meant offscreen surface, which is never used by DirectShow if your hardware supports the Overlay to begin with. It's all very odd.

milan
26th September 2002, 14:10
I will rename this option to "Use overlay mixer". Would it be more accurate?
Actually I think the "Extended Overlay" option in DIVX just forces Overlay mixer filter. Sorry, I can't test it in graphedit right now.

Blight
26th September 2002, 15:17
If that's all it does, it would somewhat contradict that they state as it would actually slightly slow decoding as the data was passed over the bus to another filter.

Nic
26th September 2002, 15:33
@milan:
check your PMs...sorry 2 b quick (sorry for the mess of the src ;) )

-Nic

athos
26th September 2002, 21:42
When I use "Hardware Overlay" (as it is still called in 20020923 release), the desktop icons flashes as if the desktop is being redrawn over and over again. Has anyone else seen this? Unchecking hardware overlay fixes this.

oddball
26th September 2002, 22:50
I know you have a ton of other 'features' and bug fixes going on at the moment. But I really am looking forward to having more control over those black bars. The Luma/Chroma trick doesn't quite do what I am attempting to do. I need to be able to have independent control over the black bars for each side. Top/Bottom/Left/Right rather than just top and bottom or left and right when not locked.

Sorry to keep bringing this one to the fore. Selfish git that I am ;)

Smiff
27th September 2002, 01:28
while we're on it, could we please have numerical values of some sort for those bar sizes. To be honest, i find it a bit confusing - why is both an aspect control and the borders, aren't they doing the same thing?

milan
27th September 2002, 06:59
@Nic

Thank you. Maybe today, but surely after weekend this postprocessing will be integrated to ffdshow.

About black bars:
Aspect ratio adds black bars either at left-right or at top-bottom margins. Numerical values for black bars aren't there just becasue I had no space where I could add them. But I agree, aspect ratio/black bars needs rework. For example I need to better handle overlay aspect ratio and MPEG2 aspect information.

midiguy
27th September 2002, 08:08
I was hoping this bug would be fixed in this latest version, but it still exists. It is the video flickering (or jumping) bug. when you enable Deblock (H) luminance and/or Deblock (v) luminance in the post-processing, there are some areas of the video that start to flicker or jump. you notice it especially on areas like plain floors or on foreheads. and it seems to have this problem with everything ffdshow plays back. I think the bug is associated with the post-processing in ffdshow, and has nothing to do with the playback of a particular codec/format. any comments?

Therion
27th September 2002, 08:17
Originally posted by midiguy
I was hoping this bug would be fixed in this latest version, but it still exists. It is the video flickering (or jumping) bug. when you enable Deblock (H) luminance and/or Deblock (v) luminance in the post-processing, there are some areas of the video that start to flicker or jump. you notice it especially on areas like plain floors or on foreheads. and it seems to have this problem with everything ffdshow plays back. I think the bug is associated with the post-processing in ffdshow, and has nothing to do with the playback of a particular codec/format. any comments?

I've noticed this too. The flickering is gone when I disable the post-processing feature, but then everything gets more blocky again. So I just put up with the flickering :(

milan
27th September 2002, 08:29
Current postprocessing routines were developed by Michael Niedermayer for mplayer project. I've just copied them without almost any modification. I will test some clips in mplayer and if these artifacts will be still visible I will ask Michael if he could fix it.
BTW I would like to know if your computers support MMX, SSE or 3DNOW instructions. Results may differ for each type.

Therion
27th September 2002, 08:41
I have an old fashion Athlon 1.4Ghz, so no support for SSE...

David caid
27th September 2002, 09:58
Hello,

I was using ffdshow-20020617.exe and it was absolutely perfect.
I updated ffdshow with the new version (2002-09-23) (after desintalling the previous version). but now I have a crash of WMP related to the libavodec.dll.
It is the same behaviour that I usually encounter with my machine with other product like Koepi Xvid binaries, oggDS filter...) Those problems were related to the OS (WIN98SE) or to my hardware because of some compilations options (CPU optimisation).

Milan, I don't know how you compile the libavcodec.dll (is that you or those you are responsaible of the libavcodec development), did you make those special compilation options that could lead to problems on old CPU ?

David

Blight
27th September 2002, 11:08
Shitframes on decoding...

Using the latest Alpha build, this XVID encode (using the latest XVID build) generates this frame.

Now, loading in virtualdub doesn't have this garbage data, and neither do switching the fourcc and playing through the divx decoder.

I even tried different types of XVID encoding at first, thinking it's the XVID encoder's fault, so I tried H263/MPEG, different bitrates, encoded to huffyuv and then re-encoded, nada. When using ffdshow to decode it, I get this garbage at the start.

Nic
27th September 2002, 13:36
@milan:
Hi Milan, good luck with the code, if you need any assistance just PM me, the new dev3 code completely mucks up my DShow filter, & I dont have the time to re-write it, so once you've put in the PostProcessing from mine, ill be discontinuing my DShow filter...

OT: for dev3-api...BFRAMES are on in core not in vfw? possible xvid.h problems(?)

-Nic

milan
27th September 2002, 14:24
I believe the inclusion is quite completed. I can't test thoroughly yet (the computer I'm using right now has incredibly slow graphic card), but it seems to work. I'm not sure if you should discontinue your XviD DShow filter, but this is your decision.

OT: ffdshow doesn't handle xvid.dll with dev3 api. In fact I haven't checked that branch yet. When it will be ready to use I will modify ffdshow to support new api. I haven't tested new b frames code in xvid (variable number of b frames), but again when that branch will be more stable I will do that.

Right now I'm writing a post to xvid-devel mailing list about quantizer array export support in API 3. Method used in your filter isn't very "clean", but I think 2.1 API won't change, so I can use it too for now.

BTW I don't think this is realy OT. This is XviD forum...

milan
27th September 2002, 14:43
@Blight

please could you provide some samples? If it is libavcodec bug, I will send them to Michael. If it's bug in ffdshow, I will try to fix it.

athos
27th September 2002, 17:05
I have uploaded a new (2002-09-27) alpha build to sourceforge. I have also updated the changelog for the last alpha (2002-09-23) to include all the changes since the last stable release (2002-06-17).

Nic's postprocessing seems to work just fine, but mpeg1/2 still doesnt work well for me, especially not when seeking.

I think the problems with K6 processors are because ffdshow is compiled with Pentium Pro and higher processers as target.

Psyche
27th September 2002, 18:20
@milan:
There's a bug in your last commit to CVS.
This piece of code disables post-processing (in both mplayer and Nic's routines).
if (dxY<16 || dyY<16) return;
When entering process, dxY and dyY are zero and so there's no processing. If no processing, then init is not called and dxY and dyY are not updated with the right values never. So they're always zero and no processing done.

Also, in TimgFilters.cpp there's a
switch (cfg->postproc.method)
but case 0 falls through case 1 giving the TWO PP routines.

Besides, in the sharpen process routine you forgot to uncoment the switch for sharpen.method.

Koepi
27th September 2002, 18:47
Athos,

when uploading new builds, can you disable debug?
It's a little bit annoying during my encoding sessions ;) (but just pure cosmetical).

Thanks,

keep up the good work,

regards,
Koepi

Nic
28th September 2002, 00:23
Well done milan!! :)

Cheers,
-Nic

DeezNutz
28th September 2002, 08:55
Using the two alpha versions 9-23 and 9-27, decoding MPEG1 with ffdshow no longer works, whether I check use libmpeg2 or not. I tried both BSPlayer and Windows Media Player 6.4. I don't see any picture at all.

I have a PIII 500 with an ATI Rage Pro.

Question: if I check to use ffdshow for MPEG2, does that mean I will not require a commercial DVD decoder? Can ffdshow handle DeCSS?

Thanks for your hard work on ffdshow.

Smiff
28th September 2002, 09:58
yeah postprocessing seems to be knackered. hehe.

Blight
28th September 2002, 12:50
Warpsharp doesn't seem to be working in latest build, and the setting can't seem to be remembered after the dialog is closed/reopened.

Also, shouldn't "resize" have a checkbox on the left pane?

wizzzard
28th September 2002, 14:04
Hello,

the famous unsharp mask is definitly broken in the 20020927 build.

I have big stutters and strange(zig-zag) edges. It's not usable anymore. When I install the 20020923 version again everything is fine.

Can someone confirm this, too?

I was so keen to try the newest de-noise with the unsharp mask ;)

CU

Frank

wizzzard
28th September 2002, 14:06
Hello,

an addition.

I tried the de-noise filter. At the first try is works really good with a relativly low performance hit - thanks milan and all others.

athos
29th September 2002, 15:57
Originally posted by Koepi
Athos,

when uploading new builds, can you disable debug?
It's a little bit annoying during my encoding sessions ;) (but just pure cosmetical).

I thought I did use release settings when I compile, but I'll have a look at it for next release. Thanks for pointing this out!

Edit: I have uploaded a new build (same CVS checkout as 0927) where I hope I have disabled debug: (removed, my mistake - see Edit2 below)
I will not upload this to sourceforge for the time being, but if i did it right, i will use this in the next alpha release.

@milan and koepi: What I did was I added
#ifdef NDEBUG to the top of ffdebug.h and of course a corresponding #endif to the bottom. Hope this does the trick :)

@milan, would it be possible to make an option in the installation script to let the user chose where to put the folder in the start menu? not at all important of course :)

Edit2: And this should have been "DEBUG" instead of "NDEBUG", which I realised too late. However it wasnt so easy, wont compile this way. Will dig deeper..

Dali Lama
29th September 2002, 23:31
Hello,

I was thinking...could it be possible to include an xvid decoder inside the .avi or .ogg so that it would register and playback automatically once the end-user clicked play? It doesn't even have to have post-processing or anything, just playback.

Am I making sense?

The benefit is that we don't have to worry about having a decoder installed on the system, it will be embedded with the video file. This would prevent compatability issues and such.

bye,

Dali

oddball
30th September 2002, 00:57
Probably asking in the wrong thread for that.

Smiff
30th September 2002, 01:28
can i make a small suggestions RE the Resize tab - could you make the "Expand to next multiply(sic?)" option seperate from the "specify size" and "specify aspect", so it's a checkbox not part of the radio group, and have it applied _after_ the other. Also allow the user to choose a value (e.g. 2,4,8,16,32...). I ask this because on my G400 i always want the output to have a res that's a particular multiple, even though i also want to resize e.g. to 640xwhatever, then hopefully can do away with DivXG400 filter (i realise this may cause the aspect to not be exactly as specified, that's the users lookout).

edit - ideally allow user to specify x & y rounding seperately, some may have a use for this... i know some hardware/players are only sensitive in one direction, or require different multiples.

Smiff
30th September 2002, 01:53
btw athos somehow PP seems to be OK in that latest build, cheers
edit: nope it seems to work for some films not others, weird (some divx movies i seem to get no postprocessing, others it works great).

Didée
30th September 2002, 02:33
Another suggestion I´d really like to see:

An option to make AR changes relative to the original AR.

This would be very useful for e.g. mixed playback of PAL/NTSC movies, and for VGA/PAL correction, etc.


@ Smiff
Erh, I get my G400 here to do everything. What´s the exact problem - faulty playback with non-MOD32 resolutions?
Since the day ffdshow has border control, I even cancelled the use of DivxG400.

milan
30th September 2002, 07:51
ffdshow was not ready for even alpha release. Nic's postprocessing routines were added, but as I wrote not very tested.

@Psyche:
Thank for pointing at those two bugs. They are fixed now.

I know MPEG1/2 aren't working yet, especially seeking. Propably it was a mistake to enable those two checkboxes. Be sure I'm working on it and when it will be working I will let you know. For now I'm trying warious approaches and once it may work, once not.
Yes, you won't need commercial MPEG 2 decoders when MPEG2 in ffdshow will be finished. I'm not sure if ffdshow by itself can handle DeCSS and this is a low priority to me for now. For AC3 decoding you can use GPLed decoder filter mentioned it this thread earlier.
I'm not sure why unsharp mask shouldn't work. I didn't change anything in it since previous release. Just want to ask other developers: is it safe to use EBX register in inline assembler? I'm using it there and I think I've read somewhere it's not safe. Is this true and could this cause that problem?
Debug output (OutputDebugString) doesn't depend on Release settings. It's for me especialy useful to have it enabled in release compiles when there are no other ways to see what's going. It must be manually undefined for builds intented for releasing to public.
I will try to modify NSIS script as you suggested.
Integrating codecs to AVI is not possible. What could be possible would be "integration" of movie in codec (or player). I think there were some "self-running" MODs, MP3s,... Could be interesting.
Resizing, aspect ratio, borders will be reworked. That idea of using borders for aspect ratio was good and will be used. I will try to implement other suggestions too. But this will take some time.
Warpsharp: this is of course not finished yet. I'm searching some way how to do this in realtime without sacrifying too much of quality. 5x5 blur is already mmx optimized, edges detection will be optimized too (I have an idea how to do this) and displacement will be faster (it will be limited to moving pixels by max. 2 pixels, but I think this should be enough)

So as I see a lot work to do, but during weeked I did something different. Maybe it was just wasting of time, but I've got an idea and immediatelly wanted to code it. The idea was: I wanted to write some sound processing DirectShow filter (equalizer, dynamic reduction - I've tried some other DShow filters, but didn't like any of them), but why should I write them when lots of good DSP filters are available for Winamp 2. So I wrote DirectShow audio in-place processing filter (based on one DirectShow SDK sample), which uses Winamp 2 DSP plugins to process sound samples in DirectShow. Especially I wanted to use DFX 6 filter, because it can do miracles with sound.
I've got it work. Not everything is stable, but it works. Biggest problems are with filters configuration dialogs.
Before I will try to enhance this filter (filter queue,...) I would like to know if there exists some software which does what I described. If yes, then I will abandon this project.
If you want to try it, it's sources are in dsp2dshow (I know it;s stupid name) module if ffdshow SourceForge CVS repository. If you will be interested in binaries, I will release them.

Rrrough
30th September 2002, 08:16
milan,

nice ideas you have. i haven't heard of a filter like that before. definetly a great idea. have you ever tried ozone winamp dsp plugin ??? it's simulating a tube amp and outputs a marvellous sound. would happily give it a try !

cheers

milan
30th September 2002, 08:39
I've downloaded the free version for Winamp and it seems to be working although it's slow. Can that dialog be hidden? I can close it when using winamp, but next time it opens again.
At iZotope page there is a plugin for DirectX. In fact, there are many of very HQ DirectX DSP plugins. Maybe it would be worth to try to use them too.

Rrrough
30th September 2002, 08:49
you can only minimize it to taskbar. it's cpu-hungry, yes it is. but it pays for the sound you get...
the directx version is different, it's meant for post-production. haven't tried much, but it's definetly different.

milan
30th September 2002, 09:16
I've just downloaded ffdshow-20020927 and looked at unsharp.
This version always uses at that time very experimental warpsharp filter. It was forced during testing when there was no cfg dialog option to select it. Now it's OK.
But I'm still curious if it's safe to use EBX in C++ inline assembly.

milan
30th September 2002, 13:48
I released dsp2dshow binaries in a new package on ffdshow SourceForge page. I also started new thread in Audio Encoding forum: http://forum.doom9.org/forumdisplay.php?s=&forumid=11. I think it would be better to discuss about dsp2dshow there.

athos
30th September 2002, 14:40
@milan - Sorry for releasing the binaries too early.

I think the audio filter sounds very interesting!

Smiff
30th September 2002, 17:36
Originally posted by Didée
Another suggestion I´d really like to see:

An option to make AR changes relative to the original AR.

This would be very useful for e.g. mixed playback of PAL/NTSC movies, and for VGA/PAL correction, etc.


@ Smiff
Erh, I get my G400 here to do everything. What´s the exact problem - faulty playback with non-MOD32 resolutions?
Since the day ffdshow has border control, I even cancelled the use of DivxG400.

If i don't have DivXG400 loaded, half the time my video comes out bright green (i assume this is the "mod32" bug - ?) How are you correcting this with ffdshow please, i'd love to do it like that :).

Could we have ffdshow just pad out the borders with black up the correct size (multiple of whatever), rather then resize (to save a resize - it's only a few pixels). Milan? maybe? :)

wizzzard
30th September 2002, 22:40
Originally posted by athos
@milan - Sorry for releasing the binaries too early.

I think the audio filter sounds very interesting!

Hello,

of couse I'm not milan ;) but I like the early compilings. I like it to have the latest features very early even when some of the stuff is not stable. I think this is normal at this develge, so please go ahead with fast compilings ;)

ookzDVD
1st October 2002, 05:02
@milan,

Could you tell us the status of Nic's PP is it integrated yet to the
ffdshow ?

Thank you.

milan
1st October 2002, 07:31
Could we have ffdshow just pad out the borders with black up the correct size (multiple of whatever), rather then resize (to save a resize - it's only a few pixels).


On Resize settings configuration page in method combo box select "None". ffdshow will just copy source image to destination rectangle (clipping or adding black borders). This is faster then resizing.

@wizzzard
When I want to follow development of some project, I'm regularly checking it's CVS and compiling it (mplayer, lame, ogg vorbis, xvid for now). Maybe you could try it too :)
But actually, it was in ffdshow-alpha package and everyone who was downloading it, should be aware of possible bugs. But for example those reports about broken unsharp mask were useless.

I think Nic's PP is correctly integrated now. By reading it's sources I've found how to get xvid.dll quantizers and motion vectors, so even when using xvid.dll for decoding deblocking and "Show motion vectors" will be correct. I want to do this today.

@Nic
I've found outcommented #define PREFETCH in your PP sources. I know it enables MMXEXT instructions, but is it faster enough to keep both versions in ffdshow and select them runtime?

Didée
1st October 2002, 08:25
Originally posted by Smiff
If i don't have DivXG400 loaded, half the time my video comes out bright green (i assume this is the "mod32" bug - ?) How are you correcting this with ffdshow please, i'd love to do it like that :).
The trick is - I don´t correct anything.

For me, playback is definetly fine with MOD16 and MOD8 resolutions.
Just before writing this, I tried to produce a short MOD4 sample to check - but XviD refused to encode this ;) It is advised to use at least MOD16 with XviD, and so I do usually.

Smiff, do you use recent drivers for your G400 ? !!
Currently I´m using v5.82.18, February 2002 or so - these worked 100% flawless for months now. Just a few days ago, Matrox released a new set, but I didn´t try them yet.
Ah, and I´m only referring to WinXP here.

Nic
1st October 2002, 09:53
@milan:
in my experience of using prefetch, it either makes no speed increase or can sometimes actually be slower. I left it disabled because of that. I think its probably best left that way, but if you think it will help things then im sure adding it wouldn't do any harm. :)

Im glad you got it integrated well :) lets hope it works ok with the new dev-api :)

Cheers,
-Nic

ps
with using ebx, I guess if your concerned about using it just push & pop it to be sure ;)

sherpya
1st October 2002, 18:24
Originally posted by milan
I released dsp2dshow binaries in a new package on ffdshow SourceForge page. I also started new thread in Audio Encoding forum: http://forum.doom9.org/forumdisplay.php?s=&forumid=11. I think it would be better to discuss about dsp2dshow there.

I've started an ac3 realtime encoder (dshow filter) using ffmpeg lib (usefull to send ogg 5.1 streams to external ac3 decoders), so milan if you are intrested we can share some infos on dshow shit :P, I've not released to public nothing yet because I've some problem with input buffer alignment and the encoder now works only in mono. But I'm (trying to) working on it with the help of dspguru...

milan
2nd October 2002, 07:08
I'm sorry but I'm not sure if I would be able to help you. I'm not very experienced in writing directshow audio filters (dsp2dshow is slightly modified gargle sample from DirectX SDK). But be sure I will do my best to help you with this. Feel free to send me an email with further details.
For now you can look at this: http://xvalex.hotbox.ru/programs/ac3filter/ac3filter_eng.html. It's GPLed AC3 decoder filter. This might help you. I wanted to modify it to support mp3 decoding with mp3lib and ogg decoding with tremor, but I realy had no time to do this :(

oddball
2nd October 2002, 21:58
Athos I have a problem with your latest build. Gamma correction seems to be fubar. It's either on (Bright) or off. If I move it in either direction along the slider it comes on really bright then goes off if you move to the next along.

Very strange.

athos
2nd October 2002, 22:28
Originally posted by oddball
Athos I have a problem with your latest build. Gamma correction seems to be fubar. It's either on (Bright) or off. If I move it in either direction along the slider it comes on really bright then goes off if you move to the next along.

Very strange.

Yes, I tried here and I get the same results. Never tried it before though. I wonder if this is related to my compile options or something in the sourcecode?

Smiff
2nd October 2002, 23:04
same here, it's been like that for a while, assumed you knew..

milan
3rd October 2002, 07:31
As I wrote before gamma correction in Picture properties tab now uses MMX optimized approximation. But for now the only value which works is 2.2 and it either off or on. I know about it and will fix or (or better to say make this feature realy working). For now use gamma correction on levels tab.

Poy
3rd October 2002, 11:47
Is there coming version where I can move subtiles to near black bar like in DivXG400? And support to all sub format?

athos
3rd October 2002, 19:01
New alpha release uploaded. I have disabled DEBUG, and compiled in "Blend" mode instead of "Penitum Pro and higher", so it should work with older cpu's (K6, Pentium I).

Smiff
3rd October 2002, 20:32
Originally posted by athos
New alpha release uploaded. I have disabled DEBUG, and compiled in "Blend" mode instead of "Penitum Pro and higher", so it should work with older cpu's (K6, Pentium I).

yay, i love you athos (for doing releases genererally :))

edit: yah, great, this is the first good release (for me) since ffdshow-20020923.exe, good work milan, everything (that i use) seems to be working... anyone know where i can find more information on Nic's postprocessing, how it works, how its better (or not) than the old one, etc.?

wizzzard
3rd October 2002, 21:54
Hello,

a dream came true. Now I can use a sharpness filter (unsharp mask - with adds a little noise) in combination with a de-noisefilter.

Thanks to athos, milan and the rest of the team.

Frank

milan
4th October 2002, 07:20
@athos
I wanted to ask you to release new build today, but it's OK, the change I need to be tested is there.


I've updated libavcodec. Now IDCT selection is applied only when reopening movie again (it's not applied instantly) and reference IDCT and XviD IDCT were replaced by libavcodec internal counterparts. Please test them and if results will differ (especially for XviD IDCT) I will put those two IDCTs back again.
Next: bug workaround mode for old opendivx AVIs shouldn't be needed anymore. Michael implemented autodetection. Please test if it's correct.
Custom quantizer matrix decoding should be fixed too.
MPEG1/2 seeking should be a little bit better.
And at last I added -finline-functions switch to libavcodec.dll makefile which made it a little bit bigger and should made it a little bit faster too. Please test this too.

I hope I didn't forgot anything. Happy testing. And don't forget to read changelog :)

Poy
4th October 2002, 10:29
Originally posted by athos
New alpha release uploaded.

To where?

Bluedan
4th October 2002, 11:53
You can find ffdshow installer here (http://sourceforge.net/projects/ffdshow) .

Latest version is also working great for me.
What I'm missing is some documentation on the available options which might be usefull because I'd like to know what I'm actually changing when playing around with the features. Well, there is some info but it's outdated.
But don't mind, it's not high priority. Just in case you get bored with all the coding numbers...

thanks alot for your work!

Smiff
5th October 2002, 01:41
ooh think i found a bug - the overlay controls aren't enabled unless/until you go into the config (?)

mi5
6th October 2002, 10:42
Originally posted by athos
New alpha release uploaded. I have disabled DEBUG, and compiled in "Blend" mode instead of "Penitum Pro and higher", so it should work with older cpu's (K6, Pentium I).

athos - thanks a lot. my k6-2 400 saw a major improvement with the new compilation. still not as fast as the original (June) release, but already very close 2-4% of the CPU utilization.

milan
7th October 2002, 07:29
@Bluedan
In know the documentation is realy missing. Atleast some Howto document shold be written. I don't want to give some false promises, but I hope I will write something like that soon.

@Smiff
Thanks, I will look at this.

@mi5
Now ffdshow has a little bit higher overhead caused by changed image filters architecture. However now I finally have working profiler and can focus on optimizing most time critical parts of ffdshow.

athos
10th October 2002, 17:50
New alpha-build is up (it's been a week).

Blight
11th October 2002, 00:09
Milan, I've had a user request for an ability to be able to save/load ffdshow settings.

Can you write an external interface for the filter with functions for:

LoadFilterData(PathToFileName)
and
SaveFilterData(PathToFileName)

Making it future-compatible, or at least with some checks so it won't crash on future versions?

milan
11th October 2002, 08:33
@Blight
IffDecoder methods saveActivePresetToFile and loadActivePresetFromFile should do that. They store/restore image processing settings. This should be future-compatible because now I'm taking care to not break IffDecoder compatibility.
I thought about implementing IPersistStream methods too.
Or do you need some new simple interface which would contain only those two methods and wouldn't be changed anymore?

@athos
Ok. But if you would wait for few days, ffdshow would have complete (I hope) support for translations. I'm now working on it - I've never did something like this before, but results are quite promising.

athos
11th October 2002, 14:26
@milan: my intention is to release builds about once or twice a week, so i figured i'll just do another build in a few days or so with the finished code.

Koepi
11th October 2002, 14:32
athos:
you forgot to disable debug output again ;)

Thanks for the new build!

Regards,
Koepi

milan
11th October 2002, 14:33
If you want to check translation capabilities download CVS, and in languages directory you'll find original english version and my currect slovak translation. If you want you can try to translate ffdshow to other languages.
Not everything can be translated now, but I'm working on it. I hope on monday it will be finished.

Blight
11th October 2002, 15:24
Milan:
I just want very simple functions that will directly save the filter data to a file (excluding such information as selected codecs).
It should only take one parameter (a string) which is to point to the file load/save. The functions should be exposed as a standard DLL, thus when my player detects the CLSID of the filter, it can then use these functions.

Also, Is there any chance your decoder will support the VP31 format, I think it's open sourced now and their decoder is buggy under XP (shows B&W image unless you disable overlay mixer and vmr).

wizzzard
12th October 2002, 14:11
Hello,

on AVS is a problem report with the gradual de-noise. You find it here. (http://www.avsforum.com/avs-vb/showthread.php?s=&threadid=179264)

Xenoproctologist
13th October 2002, 11:34
I ran a bunch of video files through ffdshow and noticed a couple bugs. Hopefully at least one of these treads new ground.


A). YV12 output results in the chroma being shifted 2 pixels to the right. Other colorspaces don't have this problem. Happens regardless of whether source is divx/xvid/raw avi.


B). I have a 314x235 12fps cinepak video clip which results in some god-awful artifacting. There's a large, diagonal swath cut through it where the remains of frame buffers from previous video clips show through. Is this a mod(4/8/16) issue? Just in case it isn't, here is a 92kb clip of the first 5 frames, which serves to illustrate the problem quite well: (http://home.adelphia.net/~feltmate/files/ffdshow-artifact.avi)


C). In certain circumstances, video output is flipped. Most players play fine on my nVidia Geforce3 (detonator v30.82), the exception being Sasami2k (http://www.sasami2k.com/). My Matrox G200 (driver v5.86.32.0), on the other hand, plays all ffdshow output flipped, regardless of player. I'd put it down as a bug in Matrox's drivers and Sasami2k if it weren't for the fact that all other codecs play perfectly fine.


System Info:

AMD AthlonXP 1.6ghz
nVidia Geforce3 TI200 (driver v30.82)
Matrox G200 Millenium (driver v5.86.32.0)
Windows XP SP1
DirectX 8.1b
Windows Media Player 9 Beta

(Note: Problems existed well before I installed WMP9)

iago
13th October 2002, 21:25
hello all,

First, once again many thanks to everyone working on this filter. I just wanted to mention that the option of "mplayer noise" is really great and very successful in deblocking/hiding blocks in dark/black areas as well as the ones in sky, fire, smoke, etc.

It's really like a safety belt especially for those who don't/didn't use lumoff=-2 with MPEG2Dec3.dll (by Marc FD) in their encodes and those who care about watching their encodes on TV too ;)... (i.e. with a luminance noise stregth of 8-15 as needed)

best regards,
iago

Defiler
13th October 2002, 21:29
Xeno: I don't see any particular artifacting in that test clip of yours. What ffdshow build are you using?
I've got the October 3rd build here.
Athlon XP 2400+
Tyan Tiger MPX
GeForce4 Ti4600 (30.82 drivers)
Windows XP SP1

Your test clip looks good to me in Media Player 6.4 and Zoom Player 2.9 beta.

Smiff
14th October 2002, 01:51
sorry if this is mentioned before but - Xvid Qpel support (please)! (crazy colours atm) (- for anyone with this problem, select "use Xvid" on codecs tab)

MaTTeR
14th October 2002, 03:13
Originally posted by Smiff
(- for anyone with this problem, select "use Xvid" on codecs tab)

Actually that "may" no longer work with Nic's latest build on 10-13. You need to use Nic's DSF without ffdshow for the time being it seems, otherwise the player(s) seem to crash when you open a file that contains B Frames(not sure about Qpel encodes). I tested this on two different machines.

Xenoproctologist
14th October 2002, 06:02
Defiler: ffdshow-alpha 10/10/02

I'd attach a screencap or huffyuv of what I'm getting, but ffdshow's internal screencap is apparently broken and I can't get ffdshow's output to attach to anything but a renderer or overlay mixer in graphedit. In the meantime, I tried it on my Matrox G200 and managed to grab a screencap of the first frame.

PNG, 103KB, Capped in RGB24(flipped) Colorspace (ignore the fact that it's flipped; I've already established that as a separate problem):
(http://home.adelphia.net/~feltmate/files/ffdshow-error-matrox.png)


And now, to better describe what I'm seeing, here is a piss-poor ASCII representation:o:

KEY:1234567890 : good pixels (in sequence)
!@#$%^&*() : pixels with good luma; chroma-shifted to green
_ : green garbage from off the side of the framebuffer
- : black pixels from off the bottom of the framebufferNote: Aspect ratio is, of course, screwed because the characters aren't square. Pretend each character is about 60% wider than it actually is and ignore it.


YV12 Colorspace:1234567890123456789012345678901_
123456789012345678901234567890__
12345678901234567890123456789___
1234567890123456789012345678____
123456789012345678901234567_____
12345678901234567890123456_____7
1234567890123456789012345_____67
123456789012345678901234_____567
12345678901234567890123_____4567
1234567890123456789012_____34567
123456789012345678901_____234567
12345678901234567890_____1234567
1234567890123456789_____01234567
123456789012345678_____901234567
12345678901234567_____8901234567
1234567890123456_____78901234567
123456789012345_____678901234567
12345678901234_____5678901234567
1234567890123_____45678901234567
123456789012_____345678901234567
12345678901_____2345678901234567
1234567890_____12345678901234567
123456789_____012345678901234567
12345678_____()!@#$%^&*()!@#$%^&
YUY2 Colorspace:1234567890123456789012345678901_
456789012345678901234567890__123
678901234567890123456789___12345
890123456789012345678____1234567
012345678901234567_____123456789
234567890123456_____712345678901
456789012345_____671234567890123
678901234_____567123456789012345
890123_____456712345678901234567
012_____345671234567890123456789
_____23456712345678901234567890_
__12345671234567890123456789____
1234567123456789012345678_____90
3456712345678901234567_____89012
5671234567890123456_____78901234
7123456789012345_____67890123456
2345678901234_____56789012345671
4567890123_____45678901234567123
6789012_____34567890123456712345
8901_____23456789012345671234567
0_____12345678901234567123456789
___01234567890123456712345678___
()!@#$%^&*()!@#$%^&-------------
--------------------------------

Semi-educated guess: the video pitch is screwed up.

athos
14th October 2002, 14:44
I decided to put up a new build allready today, so you can try milan's new translation, and also libavcodec has been updated (see changelog).

I have to warn everyone though; in order to compile i had to cange "MIIM_STRING" to "MIIM_TYPE" on line 264 of TconfPage.cpp. MIIM_STRING was not defined, and I found similar statements that used MIIM_TYPE. It is very possible, that by doing this, I broke something, so be ware that bugs in this release might be because of this ugly 'hack' or whatever you want to call it.

Still, a quick check tells me that ffdshow does install and play a text xvid file ok.

I also disabled DEBUG (thanks, Koepi, for reminding me :)). I have more or less finished a script for checking out CVS, applying minor changes to the makefiles (for example not automatically registering ffdshow.ax), compiling and packaging installer. Hopefully, this way I wont forget to disable debug and such things in the future.

I have updated todays alpha release at Sourceforge with a swedish language translation.

To the swedish-speaking people here:
Om ni ser något fel eller har förslag på en bättre översättning, meddela mig!

To everyone:
If you can help with translating ffdshow to some other language, please do!

ZeB
14th October 2002, 23:08
Originally posted by athos
To the swedish-speaking people here:
Om ni ser något fel eller har förslag på en bättre översättning, meddela mig!

OK :)

I OSD verkar det som en del av orden försvunnit..
Teckenu
Tjockle

Särstavade ord:
Bild inställningar
Bild egenskaper

Under bildinställningar finn det en knapp som det står "r automatisk inladdning av förinst" på.

Under denna knapp finns det en checkbox som heter "automatisk inladdning av"

Under efterbehandling finns det en checkbox som heter "Helt luma spect"

Tror det var allt :)

Bra jobb förresten!

athos
14th October 2002, 23:34
Here is a slightly improved swedish translation, tack för hjälpen!
Put in C:\Program Files\ffdshow\languages, or wherever you have installed ffdshow.

I had to shorten some words to fit in the GUI.

lighty
14th October 2002, 23:44
Originally posted by Smiff
sorry if this is mentioned before but - Xvid Qpel support (please)! (crazy colours atm) (- for anyone with this problem, select "use Xvid" on codecs tab)

Selecting XviD in ffd doesn't help a bit. I had to deinstall ffd and then reinstall it only with XviD support totaly disabled.
With original XviD decoder QPel doesn't produce any "crazy coulors" (Nic's compile from 13.10.). I hope this get fixed soon since I used to watch all movies via ffdshow- some of the filters are of great help.

Smiff
15th October 2002, 00:31
sorry, i only posted that because it worked for me - there's no need to uninstall anything, just load the config and (un)select what you want until you find a combination that works... ffdshow is very powerful in that respect. things are a little messy right now with all the changes in XviD and FFdshow happening at once... it's probably best if no-one tries to give any advice atm, except "use what works" :)

A problem i _am_ having with the current ffdshow is that it often crashes when switching between different videos, e.g. going from an ogm/xvid to an avi/divx or vice-versa (zoomplayer reports error in ffshow).

Also seeking with b-frames is a nightmare (? - i assume it's b-frames messing it up)... this might be ZoomPlayer again.. it would be nice if the ZoomPlayer, Xvid and ffdshow guys all got together to perhaps clear some things up, if you're not already, that is :)
EDIT: forget that, it's not b-frames, it's something unrelated with ZP's rewind.

lighty
15th October 2002, 00:58
Ehh-- my mistake...

Your solution does work and it saved me a lot of trouble. It seems I haven't updated my version of ffdshow for a LONG time... :eek:

Now it seems that everything is working as it suppose to work. Just encoded Monsters Inc. with XviD QPel turned on and boy does it seems sharp with almost no visible artifacts and no excessive smoothing like in DivX5. It is a magic using it with precise resize filter like Lanczos... :D

Anyway- now I found a Sourceforge link to alpha builds of ffdshow and I think I am going to keep more attention to updates.

BTW- Milan-- could you pls put link to Sourceforge ffdshow repository to your sig? It could save some less patient ppl trouble of asking for it's location...;)

milan
15th October 2002, 07:52
Again sorry for not respondig for a while, but I had too much work.
First I'm now finally reworking resize/aspect/black borders. This will take some time and I'm not sure if backward compatibility with current settings will be preserved, but I will try do my best.


I just want very simple functions that will directly save the filter data to a file (excluding such information as selected codecs).
It should only take one parameter (a string) which is to point to the file load/save. The functions should be exposed as a standard DLL, thus when my player detects the CLSID of the filter, it can then use these functions.

saveActivePresetToFile saves only settings which affects the output image.
If I understand you correctly, you want those functions to be exported by dll as for example configure function is? But how those functions should know about current IffDecoder instance? I would like to know that, because someone else asked me to export other function which would do some things with subtitles.


on AVS is a problem report with the gradual de-noise. You find it here.

Yes, there is incorrect rounding. I'll look at this soon.


YV12 output results in the chroma being shifted 2 pixels to the right. Other colorspaces don't have this problem. Happens regardless of whether source is divx/xvid/raw avi.

Try to uncheck YV12 output in codecs page. Or you can move chroma planes in offset filter. Or I should fix this, but I don't know how as this seems to be graphic card dependent.
314x235: I surely should handle this automatically by extending width to 320. I'll implement this to new resize system.

"MIIM_STRING to MIIM_TYPE" - You should install new Platform SDK with updated headers. However I can #ifdef it if it won't break anything.

As you surely have noticed, translation support isn't finished. Some strings can't be translated yet, but I'm working on it. The biggest problems will be with Configuration string in property sheet page header (that's why it was changed to ffdshow) and with those short helps at the bottom of cfg pages. I also would like to know how to fit checkboxes and radio buttons to their captions. This would realy help much.

libavcodec doesn't decode xvid qpel correctly. Or xvid doesn't encode qpel correctly? I don't know, but I hope developers will find ways how to fix this.


A problem i _am_ having with the current ffdshow is that it often crashes when switching between different videos, e.g. going from an ogm/xvid to an avi/divx or vice-versa (zoomplayer reports error in ffshow).
[/qoute]
I will test this. As it seems these problems are appearing in ffdshow since its beginning.

[quote]
BTW- Milan-- could you pls put link to Sourceforge ffdshow repository to your sig? It could save some less patient ppl trouble of asking for it's location...

OK. And maybe some funny quote too... And maybe some nice avatar... :)

billou2k
15th October 2002, 15:32
I've done a french translation for ffdshow
I've done the best I could, it's sometimes a bit tricky with some short text fields but nothing ununderstanble.

bon apres midi ;-)

Btw it looks like the pan & scan texts (horizontal and vertical position are not read from the language file, maybe it is still hardcoded.

billou2k
15th October 2002, 15:34
and the file needed:

Blight
15th October 2002, 18:05
Milan:
how those functions should know about current IffDecoder instance

I'm not sure what you mean, I just check the filter graph, find the CLSID for your decoder, there should only be one per filtergraph, once detected, I type-cast it into a class structure that contains the exported functions and then use them...

oddball
15th October 2002, 19:37
Milan: Glad to hear you are finally doing some work on the black borders. For me this is my most awaited feature as you already know. I look forward to testing it out. :)

milan
16th October 2002, 07:21
@billou2k

Thank you for translation.
Pan & scan isn't working yet, so no need for translation.

Tsui
16th October 2002, 19:10
Is it possible to include playback for Angelpotion (fourcc : ap41, same as divx 3.11) and realMagic MPEG-4 Video (fourcc : rmp4, same as xvid) ?

Smiff
16th October 2002, 20:32
Originally posted by Tsui
Is it possible to include playback for Angelpotion (fourcc : ap41, same as divx 3.11) and realMagic MPEG-4 Video (fourcc : rmp4, same as xvid) ?


angelpotion is a con, i think including support would give it legitimacy, better to change the FourCC, i think - ?

Tsui
16th October 2002, 20:55
I know that the Angelpotion Codec is really bad and I personally never used it, but I know someone who has some of those movies on a cdr, so it would be very kind if he can play those videos with the ffdshow filter _without_ patching the fourcc-code which is impossible, when they are allready burnt.
It would be only _one_ checkbox in the config-dialog and all is fine.

Smiff
17th October 2002, 01:04
how about the ability, on the codec tab, to enter an arbitrary fourcc and map it to one existing fourcc (so in this case your friend would type "ap41" or whatever and choose "div3"). (milan?)

Urschl
17th October 2002, 14:15
Offtopic :

I always had problems watch xvid-movies on my 650 P III Notebook with the last stable Version of the Filter (CPU Util 100 %), today I decided to do some Beta Testing....the new Version cured my problems now I can do all the postprocessing and I only have about 40-50 % Util...

Thank you very much !!!!! :D :D :D :D :D :D :D :D :D :D

Smiff
17th October 2002, 14:40
hmmm why does using (chroma) offset raise CPU usage so much?

oddball
18th October 2002, 23:56
Can anyone tell me if this is related to ffdshow in any way? I sometimes have a problem whereby any DiVX/Xvid being sent to the TV out on my Matrox G400 shows as just green and purple, but on the monitor looks fine?

Smiff
19th October 2002, 00:19
Originally posted by oddball
Can anyone tell me if this is related to ffdshow in any way? I sometimes have a problem whereby any DiVX/Xvid being sent to the TV out on my Matrox G400 shows as just green and purple, but on the monitor looks fine?

yeah hi i can tell you exactly what's up - the width isn't a multiple of 32. the obvious thing is to install DivXG400, but since using subtitles i've found a way that doesn't require yet another DSF loaded - VobSub has a "mod32" option on the "General" tab. I discussed getting ffdshow to do this earlier in this thread but i don't think milan got quite what i was blabbering about :( (ffdshow's round to 16 option can't be used with its other resize options).

Didée
19th October 2002, 13:53
Originally posted by Smiff
yeah hi i can tell you exactly what's up - the width isn't a multiple of 32.
Dont't believe outdated rumours.

G400 plays MOD16 perfectly. Period.
G400 plays MOD8 well. Sometimes you'll experience colored bars on some side of the screen with MOD8.

The below-MOD32-problem was true by the time divx4 was bleeding edge - perhaps oddball should consider updating his drivers.

Still, I never ever have seen a better TV-out than that of Matrox' G400.

(And still, I don't really trust XviD using MOD8 resolutions ...)

Regards

Didée

Smiff
19th October 2002, 14:06
not rumours... i have a G400, with the latest drivers... use it almost daily.. have the green/purple problem... never with mod32 checked on vobsub, or divxg400, loaded... maybe it's mod16 or mod32, whatever, oddball try it, my suggestion will work :)

oddball
19th October 2002, 14:30
Oopsy! I must have uninstalled DiVXG400 when I uninstalled Nimo last time. Oh well reinstalled and will see how it goes.

Tsui
19th October 2002, 21:43
@ Athos :
is it possible that you send me the source of your build from 23.Sept. 2002 ?
And I think that it would be a good idea to include the source of every build in the archive.


Greetings
Tsunami

mpeg2hq@lycos.de

athos
20th October 2002, 18:07
Originally posted by Tsui
@ Athos :
is it possible that you send me the source of your build from 23.Sept. 2002 ?
And I think that it would be a good idea to include the source of every build in the archive.


Greetings
Tsunami

mpeg2hq@lycos.de

Sorry, I dont keep the sources. I delete the entire ffdshow directory between compiles to make soure all files are freshly checked out. Milan and I decided not to include sources with the alpha builds, but I guess this might change. I suppose it might be possible through CVS to "step back" to 02-09-23 but I'm not sure how.

easyfab
21st October 2002, 18:14
Just a stupid question,
How can I use the resize option in ffdshow?
The aspect ratio work but not the resize option.
I ask this question because i make a little test for fun (avs script vs ffdshow filter).
The avs script with resize and others filters(denoise, sharpen)under VB and ffdshow with PP,sharpen and resize(if it works :) )under graphedit.

Easyfab

gabest
22nd October 2002, 01:16
milan: Could you please call pOut->SetActualDataLength() with the right picture data length at the end of your Transform() function and not just leave it with the allocated buffer size. Thx.

Blight
23rd October 2002, 04:16
Bug Report:
Trying to create an automatic DVD Graph with the WinDVD v4 filters will cause FFDShow to throw a "Floating Point division by Zero" error.

WinDVD doesn't allow non-renderer filters to connect, that may be the reason, but ffdshow shouldn't crash like that.

Tested with Alpha ffdshow-20021010.exe and ffdshow-20021014-se.exe.

ookzDVD
23rd October 2002, 04:32
@Blight,

I can confirm that too here,
after I un-install the ffdshow.ax the ZoomPlayer now can play my DVD ;)

Xenoproctologist
23rd October 2002, 17:07
1). U/V color planes are swapped when capturing stills in YUY2 color space.
(Found this one while trying to diagnose bug #2)


2). Chroma decoding errors when decoding this XviD video clip:
http://home.adelphia.net/~feltmate/files/haibane_clip.avi (1.8MB)

Changing the IDCT's doesn't help. Checking "Use XviD" fixes it.

Still captures (chroma-swapped, 720x368):
http://home.adelphia.net/~feltmate/files/cap-xvid.png (394KB)
http://home.adelphia.net/~feltmate/files/cap-ffdshow.png (407KB)


Cropped still captures are attached and waiting for Moderator love.
(http://home.adelphia.net/~feltmate/files/cap-ffdshow.png) (343x190, 104kb)

athos
29th October 2002, 17:46
New build is up.

new stuff (and i quote milan):
libavcodec is updated and should decode XviD qpel correctly.

Missing translation strings are handled without crashing cfg dialog (at least
I hope).

Warpsharp is nicer, but slower - I'll try to MMX optimize it

Gradual denoise uses original integer SSE routine.

Framerate doubling by frames averaging (looks quite good, even without scene change
detection) - can be enabled on deinterlace page.

And few others small fixes and enhancements

I'm sorry, but no resizing rewrite nor better black borders control yet.

But in source code you can enable DScaler's filters support -
preliminary and propably not fully correct, but at least I can test
those filters without capture board

iago
29th October 2002, 19:36
@athos and milan

A possible bug report: Using the latest (20021029) build (only "XVID" checked in the Codecs tab; "Use XviD" unchecked), I can't decode rips done with Nic's 23/10/02 build using B-frames. All I get is blocks all around. With the 20021014-se build I didn't have this problem. Btw, I'm using ZoomPlayer 2.80.

One more point: when I check both "XVID" and "Use XviD" in the Codecs tab, ZoomPlayer 2.80 crashes (both with 20021014-se and 20021029 builds).

Any help would be appreciated.

best regards,
iago

edit: all the points mentioned above apply to Nic's 29/10/02 build as well.

easyfab
29th October 2002, 20:00
Originally posted by iago
@athos and milan

A possible bug report: Using the latest (20021029) build (only "XVID" checked in the Codecs tab; "Use XviD" unchecked), I can't decode rips done with Nic's 23/10/02 build using B-frames. All I get is blocks all around.




+1
All my vids with b-frames are blocky(from differents xvid builds).
I first think it was ZP 2.9 rc1 that i've just install but mplayer 6.4 does the same.
With xvi.dll check it freeze and using nic's decoder all is ok.

iago
29th October 2002, 20:03
-> using nic's decoder all is ok.

@easyfab

Yes, I can confirm that. Using Nic's DSF there's no problem with B-frames decoding.

regards,
iago

wizzzard
29th October 2002, 21:59
Hello,

I have some strange points with the upgraded de-noise. Before I used the version from the 3rd of October. I see a decrease of picture quality. When I use the same value I have less de-noise (19), so less that it's not a big difference to nothing. When I increase the values I see the de-noise effect, but I have a softening of the picture (which is logical).

Milan, is this possible?

Addition: After some further testing I'm shure that there is in decrease in picture quality with the upgraded de-noise. I use it for DVD's only with a Readeon VE and a Athlon XP 1900+.

CavalloPazzo
31st October 2002, 00:19
Enabling padding bug and disabling autodetect in miscellaneus seems to work with Xvid-bframe, even if latest version of ffshow sometimes crash the player. I haven't tested enough to know if it crashes anyway with other streams and without enabling these options.
Edit:
Mplayer 6.4 crashes every time I try to open a second file, and zoomplayer when i try to access directshow property page of the second file I 've opened (ly if I've open property page of the first file too) With zoom player the error message is "access violation at address 024cdab0 in module "ffdshow.ax"" or "access violation at address 024cdab0 in module "USER32.dll".

Smiff
31st October 2002, 00:42
when autodetect workarounds is enabled, could you please show which workarounds are in use?

i'm still getting a lot of player crashes from ffdshow when changing files, this makes playlists (zoomplayer is what i use) almost unusable... anyone else?

Xenoproctologist
31st October 2002, 18:14
Horrendous luminance flickering when luminance level fix and frame doubling are both enabled.

WorldBook
5th November 2002, 22:44
This error occured in earlier version of this FFDSHOW filter. I tried the newest version and this error presists. Here is some detailed information. WHen I try to playback divx 5 content I recieve "an illegal operation error":

YPLAYER executed an invalid instruction in
module FFDSHOW.AX at 0187:0349dbf0.
Registers:
EAX=00ef594c CS=0187 EIP=0349dbf0 EFLGS=00010206
EBX=000000bc SS=018f ESP=0079f624 EBP=0079fa64
ECX=00ef594c DS=018f ESI=00ef594c FS=46a7
EDX=00ef594c ES=018f EDI=028cff48 GS=0000
Bytes at CS:EIP:
0f 77 8d b5 d4 fb ff ff bf cc cb 52 03 8a 17 47
Stack dump:
0079f7b4 80000000 0079fa94 7ffce570 0079fab8 0066aed8 0079fa94 00000017 0079f7d8 7ff54fb8 0079fa78 7ff2b890 00000003 0079f674 00000001 00000000

I've heard a lot of positive things about the fdfshow filter. I'd love to be able to make it work on my PC. :)

ookzDVD
6th November 2002, 05:43
I think the 1010 build is the most stable for me, decoding all most
all divx and xvid with b-frame, etc, without problem.

WorldBook
6th November 2002, 05:51
Where can I download the 1010 build from? thanks :)

ookzDVD
6th November 2002, 06:07
@WorldBook,

try this link :
http://prdownloads.sourceforge.net/ffdshow/ffdshow-20021010.exe?download

goodluck! ;)

grahf
6th November 2002, 11:13
I'm not sure if this artifact has been brought to the ffdshow developers attention before: excuse me if it has. Anyway, with any divx3 (and possibly other mpeg4, not sure) content I seem to get periodic horizontal lines smearing the picture. They slowly fade into view, then disappear, only to return 10-20 seconds later.
A picture of the horizontal lines in png format capped from an anime encode:
picture (http://members.shaw.ca/jeremy.jj/ffdshow_artifacts1.png)

I'm using the Oct 29th build of ffdshow, but previous builds exhibited this too (the last stable build I believe as well). Turning over divx3 decoding to the divx5 decoder filter relieves the problem; so its not the source file(s). fyi I run win2k with a p4 and a geforce4 w/ latest drivers.

I can post more pics if you need them (though the 'grab now' screenshot feature in ffdshow only seems to work sometimes), thanks :D

bill_baroud
6th November 2002, 15:14
IDCT
If you see periodically appearing faint horizontal lines in the movie or colors are slightly changing, try to select different IDCT routine


... from the IDCT tab of ffdshow :D
(miscellaneous)

WorldBook
6th November 2002, 16:04
@ookzDVD

Thanks for the advice. However, I tried that build. I recieve 2 different error messages it doesn't seem to work. Any other ideas would be appreciated :) Thanks

grahf
6th November 2002, 23:34
Originally posted by bill_baroud
... from the IDCT tab of ffdshow :D
(miscellaneous)

Thanks! Changing from Xvid idct seems to fix the problem. Any opinions on the best idct to use? Also is mplayer or Nic's postproc superior? Cheers :D

Vern Dias
7th November 2002, 14:37
Are others having these issues or am I doing something wrong here?

FFDSHOW won't work properly with WinDVD4 or CoolDVD. I have issues with the video freezing on a single frame when using either of these players while the audio continues to play.

PowerDVD XP's video decoder output pin won't connect to FFDSHOW's input pin.

Sonic Cineplayer is the only one I have found to work reasonably well, but even it shows a green flash when I hit play.

I have done all my testing with Zoomplayer and I am only playing DVD's.

Thanks in advance.

Vern Dias

Smiff
12th November 2002, 03:49
hi, it's very quiet around here, is everything ok? ;)

grahf, i can tell you mplayer's PP uses a lot less CPU time (at least on one of my PCs).

athos
12th November 2002, 16:39
Milan has been working on, among other things:
Framerate doubling, as proposed in this (http://forum.doom9.org/showthread.php?s=&threadid=36361) thread. Currently only the simplest averaging algorithm is implemented, but it is SSE optimzied.
DScaler support
Perspective correction, as requested here (http://sourceforge.net/tracker/index.php?func=detail&aid=616130&group_id=53761&atid=471492)
Fixing the Win98 bugs
More things that I don't remember currently

A new build is expected tomorrow or in a few days.

Smiff
12th November 2002, 21:20
hi athos, great news. The loss of ffdshow would be a disaster for my ahem viewing habits ;).

I have one (new?) problem to report - often when leaving the ffdshow config, i find my Win2k shell has crashed (have to restart the windows shell). Anyone else report this? Any ideas what might be happening? no other app i have does this, very strange.

Smiff
12th November 2002, 21:22
athos, reading milan's reply to that keystone request, he doesn't seem to have understood correctly. It's the ability to relocate any corner to an arbritary position inside the rectangle, creating a trapezoid type shape. So some kind of linear distortion is applied to the whole image so it is no long rectangular. Hope this makes sense.

edit: here's the first pics google returned:
http://www-2.cs.cmu.edu/~rahuls/Research/Projector/keystone.html

athos
12th November 2002, 22:30
Originally posted by Smiff
I have one (new?) problem to report - often when leaving the ffdshow config, i find my Win2k shell has crashed (have to restart the windows shell). Anyone else report this? Any ideas what might be happening? no other app i have does this, very strange.

What build are you using? This might have been fixed:
2002-10-25 08:39 milan_cutka

hopefully fixed cfg dialog crashing with incomplete translations

athos
13th November 2002, 13:50
New alpha build up:

ffdshow-20021113.exe
&nbsp;&nbsp;&nbsp;Download (http://prdownloads.sourceforge.net/ffdshow/ffdshow-20021113.exe?download)

&nbsp;&nbsp;&nbsp;Notes/ChangeLog (http://sourceforge.net/project/shownotes.php?release_id=122106)

Pasqui
13th November 2002, 20:06
Hi milan,
I just tried athos' new alpha build (ffdshow-20021113.exe) and Nic's Postprocessing does not work anymore. Setting it to level 6 gives me the same result as no postprocessing at all. This was not the case with alpha release ffdshow-20021014-se.exe. Mplayer's PP work properly.

Best regards,

Pasqui.

NiTroGen
14th November 2002, 03:33
Originally posted by Smiff
hi athos, great news. The loss of ffdshow would be a disaster for my ahem viewing habits ;).

I have one (new?) problem to report - often when leaving the ffdshow config, i find my Win2k shell has crashed (have to restart the windows shell). Anyone else report this? Any ideas what might be happening? no other app i have does this, very strange.

Do you use DVobSub for viewing subtitles? I have exactly the same problem with my Win2K shell, but only when running ffdshow config AND DVobSub at the same time.

Smiff
14th November 2002, 04:22
Originally posted by NiTroGen
Do you use DVobSub for viewing subtitles? I have exactly the same problem with my Win2K shell, but only when running ffdshow config AND DVobSub at the same time.

Yes i do... always have dVobSub loaded. Good question. ffdshow has it's own (not good enough, no offense) subtitle support.. maybe some kind of conflict milan? On a seperate but related note, what kind of colourspace conversion are going on with this setup (ffdshow+dvobsub)?

gabest
14th November 2002, 04:43
Could you please test this version of dvobsub together with ffdshow? DVobSub_2.19.exe (http://vobsub.edensrising.com/gettest.php/DVobSub_2.19.exe)

milan
14th November 2002, 09:56
I tested DVobSub 2.18 quicky and as it seems, the shell freezes when DVobSub is used together with ffdshow, but only when ffdshow uses some MMX optimized image filter with emms instruction at end. It seems quite strange to me.
But what's more important, DVobSub 2.19 works correctly.

wotef
14th November 2002, 20:41
hi, don't know if this is an xvid build or ffdshow issue but bframes decode as if frames are being dropped with koepi's 14th November build and 13th November ffdshow...when ffdshow codecs screen is set to "xvid" and "use xvid" (*packed bitstream unchecked)

the video plays at the correct framerate when xvid is checked but "use xvid" is left unchecked

in every other case, i can't get b-frames to decode properly without a garbled image

Smiff
14th November 2002, 22:52
sorry i'm not exactly sure what i was doing to get it to crash... if milan says its ok now, i'd take his word for it :) I will try it as much as possible.

taylormadearmy
15th November 2002, 19:47
When I use ffdshow for playback of divx or xvid, I cannot view fullscreen.

When I go to full screen I momentarily get fullscreen then on the next keyframe the video shrinks into the bottom left hand of the screen and plays at 100% size.

This happens whether or not ffdshow is using xvid for playback. I notice on the sourceforge website that someone else is having the same problem.

Any one else seeing this? I get it with at least the last 2 builds on sourceforge.

KyleK
16th November 2002, 01:27
now you're mentioning this: I noticed the same weird behaviour on the computer of a friend of mine. He had some quite old graphics Card, ATi Rage32 i believe (im not 100% sure). I figured it was something with his drivers.
I got a ATi Radeon 8500, never saw the thing on my PC.

Vern Dias
17th November 2002, 01:33
I have noticed that using the unsharp mask makes pans jerky.

Disabling the unsharp mask restores normal motion to pans.

I am using ffdshow, Sonic Cineplayer 1.5, unsharp mask at 15, but the unsharp mask value doesn't seem to make a difference.

Using a 2 gig P4, processor at 20% to 25%.

Vern Dias

Chibi Jasmin
17th November 2002, 17:50
My 2 cents for the black border thing:

DivXG400 black borders are done by really adding black borders to the video, thereby changing resolution (let's say you have 640 x 272 input video with 10% overscan compensation, output video is 704x272 then, whereby the added pixels on left and right are the black borders). AFAIK no resizing process is involved, but unfortunately DivXG400 operates in YUV2 colorspace.

ffdshow "adds" black borders by resizing the video, which I personally think is no good solution (quality loss through image processing, speed impact), if one just wants the borders and nothing else for tv overscan or similar reasons. But ffdshow can operate in yv12 colorspace.

I understood you (milan) want to rewrite black border code. I don't know where your plans are going, but I'd really like to see the best of both worlds (DivXG400 and ffdshow) on this issue combined: ADDING black borders (not resizing) like DivXG400 does and doing this in YV12 colorspace...would that be possible?

athos
18th November 2002, 11:43
I have found a couple of bugs too:
* MSMPEG4V3 doesnt seem to work. The picture is screwed, seems every horisontal line has the x offset wrong, the picture is all diagonal. The test file worked with ms decoder, so nothing wrong there.
* TomsMoComp Deinterlacer gives me a solid green image, i tried different "effort" settings.

wizzzard
18th November 2002, 14:20
Hello,

I hae a question to the use of DScaler filters.

First I will say that this is a great feature and a great idea of team work.

My questions:

1) I can select a dscaler filter through but how can I select more than one or are all filters in the path automatically selected?

2) In the dscaler filter dialog box is always a checkbox with the filters name. I thought it's to de-activate or activate but it has no effect to check or un-check it. The only way to de-activate the DS-filter is with the main check box. Is this intended or just unfinished?

milan
18th November 2002, 14:49
1) I can select a dscaler filter through but how can I select more than one or are all filters in the path automatically selected?


Only one DScaler filter can be active - it's the one selected in the "Filter" combobox. I will remove this limitation and let DScaler filter behave like other ffdshow image filters, but this will require some rewrite, because number of available DScaler filters can vary and ffdshow can't handle this yet.


2) In the dscaler filter dialog box is always a checkbox with the filters name. I thought it's to de-activate or activate but it has no effect to check or un-check it. The only way to de-activate the DS-filter is with the main check box. Is this intended or just unfinished?


This is used by DScaler and turns filter on/off. ffdshow uses it's own checkboxes instead and I'll remove that checkbox from DScaler filter configuration dialog.

BTW I found a bug in ffdshow's DScaler filters handling code and some filters may not work as expected. It's fixed in CVS and now I'm trying to get DScaler deinterlacers working.


TomsMoComp Deinterlacer gives me a solid green image, i tried different "effort" settings.


TomsMoComp deinterlacer is not working yet. trbarry just released yv12 version and I'll try to add it to ffdshow. It seems that ffdshow will have two possibilities to use TomsMoComp: internal YV12 and external DScaler YUY2 plugin.


MSMPEG4V3 doesnt seem to work. The picture is screwed, seems every horisontal line has the x offset wrong, the picture is all diagonal. The test file worked with ms decoder, so nothing wrong there.

I assume the width of picture is not divisable by 16. Try to use ffdshow's internal resizing (expand to next multiply of 16 with method None).


I just tried athos' new alpha build (ffdshow-20021113.exe) and Nic's Postprocessing does not work anymore. Setting it to level 6 gives me the same result as no postprocessing at all. This was not the case with alpha release ffdshow-20021014-se.exe. Mplayer's PP work properly.


It's fixed now. Michael Niedermayer changed libavcodec and mplayer postprocessing routines to use one byte per quantizer and there is now one quantizer for 16x16 block of pixels and not for 8x8 as previous. There is code in ffdshow which converts this array so it can be used by Nic's postprocessing routines, but it was buggy. It's fixed in CVS now.

kilg0r3
20th November 2002, 09:09
[Feature Request]

It would be nice to have a noise algo that does not make the makro blocks visible, also with strong settings. at the moment the noise seems to be more dense around the edges of macroblocks.

Noise sliders: 1. Grain size, 2. Movement velocity, 3. Noise contrast.

[Question]

What does the 'Process whole image' switch do?

Thanks and congrats for this great tool!

milan
20th November 2002, 12:14
New noise algorithm: I can try to do this or to search if something similar doesn't exists already

Process whole image: after resizing, image may have black borders and this switch makes it possible to decide if following filters should process only picture itself (for example noise - no need to add noise to borders) or black borders too (drawing subtitles).

kilg0r3
20th November 2002, 12:22
i see that this is not a high priority issue. anyway, i'd be althemore happy if you could do it, as i can't do it of course. :)

Chibi Jasmin
20th November 2002, 15:23
Originally posted by Chibi Jasmin
My 2 cents for the black border thing:

DivXG400 black borders are done by really adding black borders to the video, thereby changing resolution (let's say you have 640 x 272 input video with 10% overscan compensation, output video is 704x272 then, whereby the added pixels on left and right are the black borders). AFAIK no resizing process is involved, but unfortunately DivXG400 operates in YUV2 colorspace.

ffdshow "adds" black borders by resizing the video, which I personally think is no good solution (quality loss through image processing, speed impact), if one just wants the borders and nothing else for tv overscan or similar reasons. But ffdshow can operate in yv12 colorspace.

I understood you (milan) want to rewrite black border code. I don't know where your plans are going, but I'd really like to see the best of both worlds (DivXG400 and ffdshow) on this issue combined: ADDING black borders (not resizing) like DivXG400 does and doing this in YV12 colorspace...would that be possible?

@milan: Maybe you didn't feel like answering this, maybe you overlooked...anyway, I'd still appreciate your input on this one...

milan
20th November 2002, 15:46
I'm sorry, but I realy overlooked this post.

I know I promised I'll rework the resizing/aspect/borders, but it was much more interesting for me to add new functionality (DScaler plugins support) than working on something which is in ffdshow already (although not optimal). And I had to fix the most critical bugs to make ffdshow usable on Win9x.

My TODO:
1. get DScaler deinterlacers working (maybe today or tomorrow)
2. release new build (I fixed few bugs)
3. and 4. rewrite resizing and add ability to dynamically load and display image filters - I'm not sure which I'll do first, both of these would be quite difficult.

... and of course fix bugs.

Now you can add black borders by setting output size or aspect ratio and specifying None as resizing method. This is done very fast by just copying old image to new destination rectangle. I know this is propably not what you want, because you cannot spectify exactly how wide the borders should be (in pixels or percents) and the image is always centered.

BTW it would realy make resizing much easier to handle if I would be able to change the size of output video during playback not just when initializing decoding. But I'm afraid it's not possible.

EDIT:
More on dynamic filters loading/displaying: now when there are many useful filters available (DScaler plugins, AVIsynth 2.5 YV12 filters), it's not sufficient to have 10 or more filters hardcoded and always displayed in list. ffdshow has to handle varying number of filters and to display just few of them (user should be able to select them, similar to VirtualDub). Side effect of implementing this correcly would be possibility to add one filter twice or more to processing queue (useful for subtitles). To achieve this quite big rewrite of ffdshow will be needed.

Chibi Jasmin
20th November 2002, 16:58
Originally posted by milan
Now you can add black borders by setting output size or aspect ratio and specifying None as resizing method. This is done very fast by just copying old image to new destination rectangle. I know this is propably not what you want, because you cannot spectify exactly how wide the borders should be (in pixels or percents) and the image is always centered.


Hmm...I must have done something wrong last time I tried that...I know some people requested more, but centered image would be sufficient for me...I will try again...maybe I got something wrong...thanx for hinting me again to this...keep up the great work! Of course having an option to automatically add x % or x pixels would still be great :D

UPDATE: Great, I got it too work :-) Must have done something wrong last time...now I got my borders in YV12...just have to adjust the rectangle size by hand now, but works fine...thanx...

drebel
21st November 2002, 18:05
Trying to create a bridge with a thread in the forum of Xvid.org ,i have a similar problem with ffdshow 13/11/02 : color bleeding only when "xvid and qpel bug" option is enabled.

I followed some of the suggestions(disabling some or all of the options of my VideoRendener(DirectDraw options)to understand if the problem is caused by my overlay,but no luck...

I own a Geforce2MX which theoretically doesnt have these probs in YUV2 or YV12.I'm attaching a capture of the scene to show what i mean:

Autodetect all alone works fine.Any explanations?
Thx in advance
regards,
george

MaTTeR
23rd November 2002, 17:48
Hi Milan,

First, let me thank you for this excellent gem we all love and know as ffdshow.

A small request(I hope)...Is it possible to add more options to OSD? Most of us are always doing multiple filter and codec tests and doing this I find the OSD info to be very valuable. I wonder if such things as source FPS, decoding FPS, filename, bitrate and output color space could be added as OSD options. These would be most helpful to tweak addicts:D

One last thing, ffdshow always displays 0% CPU load on all my machines with several different builds and different settings. Is this function not implemented yet? I didn't see mention of it in the documentation or the accurate deblocking explanation. Many thx for all the efforts.

sekxx
23rd November 2002, 18:06
On my machine ffdshow display CPU usage betwenn 50% (no post processing) and 100% full PP and noise (duron 600 @ 950Mhz).
You must have a very powerfull computer ;)

MaTTeR
23rd November 2002, 18:21
Originally posted by sekxx
You must have a very powerfull computer ;) Well I might consider that on the dual AMD 1600 PC but I'm seeing 0% CPU load on a single PIII 850 system as well. The third system is a dual PIII 850 running XP(uhg) and it also displays 0%. Perhaps ffdshow is making a call to the Windoze built-in counters which I always disable on all my boxes?? Just thought of that...

Blight
24th November 2002, 05:21
The CPU usage is bull, it's never accurate.

For me, playing a 720x576 xvid clip, I get audio desync due to CPU maxing out and yet ffdshow is reported as only using 60% of the CPU. Dropping post processing gets the audio to sync.

Basically, don't trust what you see in this. Oh, and it also means that the auto-postprocessing setting basically doesn't really work.

athos
25th November 2002, 22:55
I put up a new _UNOFFICIAL_ alpha build today at http://ffdshow.sekxx.org/ffdshow-20021125-p4.exe
Note that this is from a snapshot taken in the middle of milan's work, therefore some things may be broken. Hence no official alpha yet.

Also note that this build is optimized exclusively for pentium4, and probably doesnt work/works bad on other processors. I wanted to try if targeting a specific processor makes any difference. If you have a P4, give it a try and say what you think. I used -march=pentium4 -mcpu=pentium4 -O3 for gcc and /G7 /O3 /QaxW /QxW for ICL 7.

So, please not that this build is (1) unofficial, hence not on sourceforge, and (2) exclusively for pentium 4.

There will be an official release soon.

kilg0r3
25th November 2002, 23:19
this might be of interest. there are some problems with color representation (rainbow effects) with xvid clips when 'use xvid' is not checked.

see here
http://www.mynetcologne.de/~nc-allgeife8/usexvid-yes.jpg
and here
http://www.mynetcologne.de/~nc-allgeife8/usexvid-no.jpg

the clip was encoded with bframes only.

NoLogo
26th November 2002, 02:23
@milan

One short question: will asharp (by MarcFD) be included in ffdshow ? Sounds like it works pretty well, and I'd love to give a try :)
Whatever, your filter is great, keep on the good work :)

NoLogo

Shayne
26th November 2002, 04:45
Hi since ur here Blight i am having a problem with zoom player and the latest ffdshow

aspect ratio source 4:3 AND 16:9 no matter what set to stays at source with no resizing.

Xvid bframes is what it is decoding. I switchs to nic's dsf and the vid resizes no problem so the trouble is between ffdshow and zoom player.

NiTroGen
26th November 2002, 13:23
Originally posted by athos
Also note that this build is optimized exclusively for pentium4, and probably doesnt work/works bad on other processors. I wanted to try if targeting a specific processor makes any difference. If you have a P4, give it a try and say what you think. I used -march=pentium4 -mcpu=pentium4 -O3 for gcc and /G7 /O3 /QaxW /QxW for ICL 7.
Is it possible to compile the same ffdshow snapshot for pentium3? I think there are many pentium3 users out there who would like to test it. And also, P4 users could compare these two compilations and see if there is any performance improvement.

NoLogo
26th November 2002, 14:40
@Shayne

Maybe it's the same than with WMP6.4: have you try to change the aspect resize ratio (4:3, 16:9), then close your video and re-open it. I thought it didn't work too, untill I open one day a 16:9 movie in 4:3, a few hours after i change the ratio for another one.
Have a try :)

NoLogo

athos
26th November 2002, 20:23
Originally posted by NiTroGen
Is it possible to compile the same ffdshow snapshot for pentium3? I think there are many pentium3 users out there who would like to test it. And also, P4 users could compare these two compilations and see if there is any performance improvement.

Your wish is my command :) Same snapshot, P3 optimizations: http://ffdshow.sekxx.org/ffdshow-20021125-p3.exe. Should work on Pentium 4 and probably AthlonXP too.

Edit: Corrected spelling and grammar errors.

oddball
26th November 2002, 21:24
Corrected link http://ffdshow.sekxx.org/ffdshow-20021125-p3.exe

NiTroGen
26th November 2002, 21:50
Originally posted by athos
Your will is my law :) Same snapshot, P3 optimizations: http://ffdshow.sekxx.org/ffdshow-20021125-p3.exe. Should work on Penitum 4 and probably AthlonXP too. Thanks a lot, man. You're great!:D

oddball
26th November 2002, 22:35
Here are my results using Windows XP Pro SP1 on a P3 700 with 640MB PC133 SDRAM and a Matrox G400 32 dual head video card. Player is BSplayer 490 with overlay mode 2 enabled. All other pre-processing options are off in ffdshow and BSplayer.

Playing a DiVX5.02 anime clip at 640x480 res.

Performance monitor graph with official alpha build 13 Nov 2002 from sourceforge. Green line is CPU usage
http://www.oddball.nildram.co.uk/ffd13th.jpg

Performance monitor graph with unofficial P3 optimized version
http://www.oddball.nildram.co.uk/ffdp3.jpg

Also I tried the unofficial build from the 18th on that site and it crashed BSplay on exit and refused to play some DiVX5.02 content. Just got a blank screen with no movement of the playback counter.

oddball
26th November 2002, 23:06
Milan|Athos: Any chance of a rework on black borders? It eats CPU and could do with more control as suggested before.

Thanks! :)

Shayne
27th November 2002, 00:10
@ NoLogo

Thankyou for the response but yes i have tried that. With Nics dsf changing aspect ratio is no problem. With ffdshow it is no go. There is sometime in the direct show filter buggering up zplayer.

I have tried un n install but maybe i should do it again and make sure the house is clean.

omol
27th November 2002, 01:27
Originally posted by NoLogo
@milan

One short question: will asharp (by MarcFD) be included in ffdshow ? Sounds like it works pretty well, and I'd love to give a try :)
Whatever, your filter is great, keep on the good work :)

NoLogo

It is in the athos's p4 build, probably in p3 build too, and it looks great.

regards,
omol

athos
27th November 2002, 12:06
For this compile, ICL was only used for the main ffdshow project, and not for libavcodec. Therefore, any gains from the optimizations would be for non (hand-)optimized image filters.

For the next release I will also compile libavcodec with ICL and use the /QaxW switch for using extended instructions (while not breaking compability with other IA-32 processors). Perhaps this will make a difference for the decoding part.

milan
27th November 2002, 12:13
I just want to mention, that ICL compiled libavcodec won't contain any hand-optimized assembly. Only C will be compiled. I needed to compile libavcodec to have debug info which could be used by VisualStudio and other tools (BTW is it possible to generate microsoft compatible debug info with gcc?). I used it to find sources of few memory leaks in libavcodec (yes, there is >200KB memory leak after each decoded movie). However it could be interesting to compare speed of ICL optimized libavcodec and hand-optimized version.

kilg0r3
27th November 2002, 13:51
@milan

did you have a look at the rainbowy :) screenshots

milan
27th November 2002, 14:32
I know that libavcodec has problems with clips encoded with latest XviD versions (qpel, b frames in packed streams, this rainbow effect), but I'm not sure what's causing this: do these development XviD builds produce not fully MPEG4 compatible streams or it's libavcodec fault?

If you are 100% sure that XviD encoded clips are OK, send these bugreports to libavcodec developers. Sample clips can be uploaded to mplayer ftp, instructions are available at http://mplayerhq.hu. BTW are mplayer windows binaries available somewhere? It would be helpful to compare clips decoded in mplayer and clips decoded by ffdshow to be sure that problems are caused by libavcodec and not by ffdshow or mplayer.

I'm sorry for this, but I have enough work fixing and enhancing ffdshow (and maybe ffvfw) and I don't want to solve possible libavcodec bugs.

athos
27th November 2002, 15:27
New unofficial build is up: http://ffdshow.sekxx.org/ffdshow-20021127-icl.exe. This time libavcodec is compiled with ICL 7. I have used /QaxW switch which should make use of cpu extensions (mmx/sse etc) while still being compatible with all ia-32 processors.

You might also need this file: http://ffdshow.sekxx.org/libmmd.dll (put in ffdshow install dir).

On my computer (p4-1.3ghz) libavcodec seems slower when compiled with icl. on the bright side, the memory leak problem should be fixed, according to milan.

Edit: I also put up the same build, but libavcodec compiled with gcc for comparison: http://ffdshow.sekxx.org/ffdshow-20021127-gcc.exe. Note the new filenames, -icl resp -gcc.

milan
27th November 2002, 15:50
I'm sorry, but there are two memory leaks in libavcodec:

One is "by design": when libavcodec is first run, it allocates some tables which would be used for next decoding too. But ffdshow unloads libavcodec.dll after each decoding and when new movie is opened without closing/reopening player, libavcodec.dll is loaded again. But this memory still remains allocated, because libavcodec has no function to free it. Propably on Linux it gets freed on unloading dynamic library, but not on windows. I informed ffmpeg developers and maybe they'll rework this one-time initialization. If not, I'll try to do this. BTW mplayer scaling code has similar 160 bytes memory leak too.

Second memory leak seems to be caused by mingw dll initialization code. libavcodec, libpostproc and libmpeg2_ff dynamic libraries are compiled by gcc and linked using binutils' dllwrap utility. You can check makefiles if I'm doing this correctly, but when unloading any of these dlls, there is call to fflush which seems to leak some memory too. I'm not sure about the details right now, because I'm testing in on other computer. However this second leak is not present when ffdshow uses libavcodec.dll compiled and linked with Microsoft/Intel tools. Today I managed how to replace that mingw dll initialization code and will test it whether it solves the problem and can be used (I'm not very sure, because I replaced 5KB original file with one function just returning TRUE :) ). I hope it will work.

BTW all these leaks were reported by Compuware DevPartner 6.

EDIT: I'm unloading libavcodec after each movie, because next movie could be decoded by xvid or libmpeg2 and I don't want to keep libraries loaded when they aren't used. And I'm trying to not use any static or global variables in ffdshow. Everything should be created/destroyed for each instance of decoder.

oddball
27th November 2002, 16:35
Perhaps you could make use of this code and temporarily add it as a dll unloader on ffdshow exit?

http://lists.jammed.com/forensics/2001/10/0093.html

milan
27th November 2002, 16:54
I'm not sure whether this would help. libavcodec.dll gets unloaded (or at least it should be - there are still some reports about unability to play more movies without closing the player), but memory which was allocated is not freed. I think it's because the memory is allocated in "calling application space" (this is propably wrong term, but I hope you understand what I want to say) and it's freed only after closing the "calling aplication" (media player). The best solution would be if libavcodec would deallocate all memory it uses.

NoLogo
27th November 2002, 18:23
@milan

You talked about putting asharp (by MarcFD) into FFDSow, and I'd like to know if it's on the way, or maybe you have other priorities ?
That's not a request, just for curiosity :)

PS: your filter rocks hard !

Regards
NoLogo

athos
27th November 2002, 18:33
@NoLogo:Originally posted by omol
It is in the athos's p4 build, probably in p3 build too, and it looks great.

regards,
omol

oddball
27th November 2002, 18:34
There is something seriously screwed in the new builds icl and ccs. If I install the icl build withouth libmm.dll in the same folder it complains. If I install the ccs build without libmm.dll it also complains. If I use the icl build and drop the libmm.dll in the install folder it installs without error but then gives an error if you try to play a DiVX in BSplayer. It then nearly locks the computer up and takes several minutes of moving a jerky mouse to task manager to try and kill the player.
If I drop the libmm.dll into the ffdshow folder I don't get the error about a missing dll when I try to play a DiVX in BSplayer but I still get the near lockup and spend several more minutes trying to kill the process.
If I try to install an earlier version of ffdshow it still complains about the libmm.dll for some reason. I have to uninstall new ffdshow first.

Basically I am unable to use the latest builds. I find the fact that a dll file has to be in the install folder AND dropped into the ffdshow folder a pain in the butt.

athos
27th November 2002, 18:43
The libmmd.dll file is needed for some processor extensions. i meant it should be in the folder where ffdshow is installed, ie C:\Program Files\ffdshow. Or you can put it in C:\Windows\System32.

oddball: are you using an Intel processor? Because these optimization are done specifically for intel processors, and therefore might not work well on amd. Note: the libmmd.dll is used for the ffdshow.ax, ie the main ffdshow project, which is the same for both compiles. it is not used by libavcodec compiled with ICL.

I havent tried it much for using image filters, but if it doesnt add anything but trouble, i will of course not use it for alpha builds. Good thing i tried some unofficial compiles :)

oddball
27th November 2002, 19:24
I'm using an Intel P3 700. I am going to uninstall ffdshow and try the icl build again.

EDIT: OK things are working now. Must have been some other problem. Tried both the icl and ccs builds and they ran fine this time. However noticed that if you uninstall either of them. Even if the libmmd.dll is in the ffdshow folder the uninstall routine complains it cannot find the dll. Strange.

P.S. asharp appears to be working very well in these new builds. Previous test builds by athos for p4 and p3 had very odd artefacts in asharp mode.

athos
29th November 2002, 14:42
New unoffical alpha build (i'm trying to find faster yet stable and compatible compile settings): http://ffdshow.sekxx.org/ffdshow-20021129.exe.
No additional .dll should be needed, mingw memory leak should be fixed. Compiled with /QaxW (for mmx, sse etc) and /Qip (for interprocedural optimizations).

duartix
29th November 2002, 18:25
I really don't know from which version, but a few of my old rips now show increasing subtitle desynchronisation being OK a while back.

They are moving ahead with a 23.976 fps rip and falling behind with a 29.970fps one. Ok at 25 fps.

If could say what the problem was I'd say they are fixed at 25fps.
I'd really appreciate this issue being adressed because since the moment I started using ffdshow, I'm taking full advantage of the subtitle feature.

Keep up the great work!

(EDIT)
Well this is a strange one.
Off I was installing VobSub (just the directshow stuff) to get working subtitles (ST) again. So things were like this:

Ffdshow ST not OK.
Deactivated ffdshow ST.
Loaded Vobsub dshow.
Vobsub ST OK.
Unloaded Vobsub dshow.
Activated ffdshow ST.
Ffdshow ST OK. ?????????
Uninstaled Vobsub.
Ffdshow ST still OK.

Smiff
30th November 2002, 00:20
i get an instant Access Violation in ffdshow.ax with these latest unofficial alphas (AMD Duron 1.2Ghz with SSE)

ChronoReverse
30th November 2002, 02:59
Read: Pentium 3 and pentium optimized alphas

MaTTeR
30th November 2002, 03:45
Originally posted by ChronoReverse
Read: Pentium 3 and pentium optimized alphas Exactly, which means in theory it should run fine on an Athlon with SSE support.

sillKotscha
30th November 2002, 10:14
Originally posted by MaTTeR
Exactly, which means in theory it should run fine on an Athlon with SSE support.

and it does :D

Smiff
30th November 2002, 12:34
not for me it don't


edit: i'll try clearing reg

...

yep soz peeps my bad, seems it is necessary to uninstall old versions now.

works on AMD with and without SSE

athos
30th November 2002, 13:04
Can someone confirm that AMD support is broken in these builds? The documentation says that the code should be compatible with IA-32 processors, but I guess Intel is not too concerned with AMD compability.

I guess I should go back to the normal compile flags.

Caleb666
30th November 2002, 13:05
i have a few questions :)

Why would i want to replace my official DivX5 codec with ffdshow?

IS the xvid decoder that in ffdshow is the same as NIC's? if not, what are the differences? (aren't they taken from the same source code?)

thx

MaTTeR
30th November 2002, 13:19
Originally posted by athos
Can someone confirm that AMD support is broken in these builds? All of them have worked just fine on my dual AMD XP system. I have noticed some slight color smearing at the bottom of the screen during playback but it's rare. That problem even happens on my PIII system though but not with Xvid's filter.

Blight
30th November 2002, 13:26
Just a note, on the latest "official" alpha (11/13) post processing is broken. Works ok on the 10/29 alpha.

athos
30th November 2002, 13:28
Originally posted by Caleb666
i have a few questions :)

Why would i want to replace my official DivX5 codec with ffdshow?

ffdshow is faster, it can handle all divx and xvid versions. It has a lot of built in filters, and support for more filters and MPEG1/2 is on the way. You dont have the annoying "fastforward" effect (from DivX 4, 5) when seeking, and seeking is a lot faster than both DivX5 and DivX3.

But it is only a decoder filter, so you cannot encode with it. Use Xvid for that.


IS the xvid decoder that in ffdshow is the same as NIC's? if not, what are the differences? (aren't they taken from the same source code?)

thx

ffdshow uses the decoder from ffmpeg (libavcodec). However NIC's postprocessing code is in ffdshow, and if you have xvid installed you can optionally use the xvid routines for decoding of divx4,5 and xvid (because new improvements of xvid might not be supported yet in libavcodec).

Pasqui
30th November 2002, 15:38
@ Blight
Only Nic's PP is broken. MPlayer's one is working perfectly.

Blight
30th November 2002, 17:28
Pasqui:
No, it's not, in that build both are broken.

Pasqui
30th November 2002, 17:36
Actually I had no problems at all with XviD encodes and ffdshow-20021113.exe while activating mplayer's PP. My video was ugly enough (macroblocks and noise) to see it was effective.

Caleb666
1st December 2002, 00:18
wow athos, that's cool!

But may i ask one thing, the DivX5 codec is not open source, so how exactly does ffdshow decode it?


And may i ask what is ffmpeg/libavcodec?

thanks!

(Note: i don't encode movies yet, all i do is watch some divx's and xvids :))

NoLogo
1st December 2002, 02:03
I have a request that may sound a bit strange, cause it's not what's made today with FFDShow, but I think this could be quite usefull to improve decoding visual quality.

I have seen that post-processing uses to blur the images, actually, when it's at level 6, a lot (ok, maybe I'm paranoid) of details (e.g. faces, walls or roads textures) are lost in some blurred colors (especially on sharp movies). For the moment, the idea is to allow max PP on quiet scene, when CPU load is quite low, and to decrease it on hi-motion scene.
But when do we need highly detailled scenes ? On low-motion scenes, where we have time to see sharpness, whereas high PP can make macroblocs dissappear on hi-mo scenes.

So my idea (tell me if it's stupid or already implemented, but I haven't seen this with FFDShow or any PP-filter - Nic's or DivX's ones) would be to have a 'special quality mode' which would only activate PP for hi-motion scenes, to kill Mblocks, and allow max details on static scenes without adding PP. Of course, this could be mixed with a '100% cpu load' limit, for weak processors.

I hope what I have told is clearly understandable (it's late, I'm preety tired right now, and english isn't my mother's tongue) :)

Best regards
NoLogo

Blight
1st December 2002, 13:41
Caleb666:
DIVX isn't a closed format, it's an implementation of MPEG4 Advanced Simple profile. Same as XVID. So the bits are well documented.

NoLogo:
Doing deringing will blur your image. If your source was clean and the compressor good, you won't really see many ringing effects in the first place.

Personally, I only do Luma-Deblocking (2 notches) and don't mess with chroma and deringing.

NoLogo
1st December 2002, 17:03
@Blight

I agree with you, but blurring the video a little is pretty usefull on low birates and hi-mo scenes, and there's no way (or no way I know), to have full PP only with that kinda ones (where, at 650 kbps, Mblocks may be quite visible). But you should see a XviD 650kbps Ghost Dog to really understand what "progressive-PP" I'd like (love) to have. :)

Regards
NoLogo

Vern Dias
1st December 2002, 18:32
Has anyone else tried the asharp filter on the scrolling titles at the beginning ow either of the Star Wars DVD?

The asharp does wierd things to the letters in the intro scroll on both SW titles when the "unsharp masking threshold" is raised above 0.

This is using ffdshow with Cineplayer 1.5 and the Zoom Player front end...

Vern Dias

Suikun
1st December 2002, 21:48
@milan: could you add an option to the OSD which displays the quantizer of the current frame or is that technically impossible?

drebel
2nd December 2002, 02:48
@vern dias
welcome aboard!You certainly arent a "junior" here.Hope you 'll continue contributing to this forum as with others...:)

About asharp+ffdshow+sonic(video)+windvd(sound)+zoom2.90 all i can say is that i notice a "stairstepping" effect during credits decoding,but i cant remember if the threshold was the reason.My cpu could afford asharp (duron 1GHZ)+ i really wanted to take advantage of the latest WinDVDPlatinum filters(sorry for going OT),so i had to remove ffdshow from the graph's chain (there seems to be an incompatibility either with ffdhow or with the new navigator..)

My suggestion is to post to MarcFD ,the author of asharp cause i have the feeling that is has something to do with the latest optimisations
Avisynth thread here (http://forum.doom9.org/showthread.php?s=&threadid=38436)


regards,
george

NiTroGen
2nd December 2002, 15:29
Originally posted by MaTTeR
All of them have worked just fine on my dual AMD XP system. I have noticed some slight color smearing at the bottom of the screen during playback but it's rare. That problem even happens on my PIII system though but not with Xvid's filter.
After some tests I've done, I found that this color smearing problem (which was not rare at all) occurs with all ffdshow builds after 29/10/2002, only when the video was encoded with QPel option activated. Decoding with build 14-10-2002 is fine. I think that I read somewhere that this is a libavcodec bug.

@Athos or Milan:
Do you have a libavcodec compilation of 14-10-2002? If yes, is it posible to compile a special version of ffdshow that uses this libavcodec version to decode video, but has all new additions since that date?
I've tryied to just replace latest livavcodec.dll with the one dated 14-10-2002, but the results were funny!!!

MaTTeR
2nd December 2002, 15:45
@NiTroGen

I haven't used Qpel in any encodes for a few weeks now and the color smear problem still occurs with the latest ffdshow builds. If I decode using xvid.dll then the problem goes away. So I suspect your right, it's a bug somewhere in libavcodec. Yes, the 13-10-2002 build works perfectly for me as well.

NiTroGen
2nd December 2002, 16:02
@MaTTeR

I haven't noticed this problem with my "non-qpel" encodss. But just try to encode a small video with Qpel option activated and you'll see this color bleeding in almost every deltaframe.

KyleK
2nd December 2002, 21:06
athos, since everyone suggests using the 10/13 build of ffdshow, could you please put that on your private ffdshow site? I can't find this particular build anywhere.

Thanks ;)

Pasqui
2nd December 2002, 21:10
@KyleK
You can find many builds at this page:
http://sourceforge.net/project/showfiles.php?group_id=53761

iago
2nd December 2002, 23:12
@Pasqui

There is "ffdshow-20021014-se.exe" on sourceforge.net, but I am not sure if this is the build NiTroGen and MaTTeR were mentioning?..

regards,
iago

MaTTeR
3rd December 2002, 00:23
I'm using ffdshow-20021010.exe with no problems for the moment, seems rock solid.

NiTroGen
3rd December 2002, 01:15
Originally posted by iago
There is "ffdshow-20021014-se.exe" on sourceforge.net, but I am not sure if this is the build NiTroGen and MaTTeR were mentioning?...
Yes, I was talking about this one. Sorry for the mistake.

kilg0r3
3rd December 2002, 09:22
this might a bit OT but anyway,

does anybody know a way to avoid directX-smoothing, besides disabling hardware acceleration.
I think one no longer needs it when using the resizing routiens in ffdshow.

iago
3rd December 2002, 21:32
I'm using ffdshow-20021010.exe with no problems for the moment, seems rock solid.

Hehe, so am I, Matt ;). It's my birthday build! ;)

Also, it reports the frame type correctly even when "Use XviD" is checked :p.

regards,
iago

NiTroGen
4th December 2002, 00:44
Originally posted by iago
It's my birthday build! ;)
:( There was no build on my birthday (09-Oct). Maybe next year! :p

Chibi Jasmin
10th December 2002, 13:42
Athos, where is your site gone (http://www.sekxx.org/ffdshow/), which always had newest binaries of FFDshow?

Is there any other site with newest binaries?

kilg0r3
10th December 2002, 13:51
@milan

1. is there a possibility to make the luma sharpening of the resizer component available also when not using the resizing function?
i just tried it, and, it gave the clip just the little something it lacked. it even looked very good with the strongest setting of 2.0. all other sharpen filters hurt more than they helped.

2. i noticed that the resizer does not allow a resolution of 800x600 but only 800x800. bug or feature? :)

CavalloPazzo
10th December 2002, 20:07
To Milan:
Dunno if you read this post,
http://forum.doom9.org/showthread.php?s=&threadid=40046
If not, could you read it? it's about the possibility to connect ffdshow to mp4 splitter.

To all other users writing into this thread:
Isn't this thread too long? All that is ffdshow related is written here... I think this is not a good idea...(I don't speak very well english so I have difficulties to write what I exactly would like to say).
Isn't better to write new thread every time?

To Chibi Jasmin:
this link works, http://ffdshow.sekxx.org/ , but there isn't any new build since 29/11.

Chibi Jasmin
11th December 2002, 16:07
Originally posted by CavalloPazzo
To Chibi Jasmin:
this link works, http://ffdshow.sekxx.org/ , but there isn't any new build since 29/11.

Thanx, it indeed works, so I can look for new builds every now and then again...

athos
11th December 2002, 17:24
Hey I like this huge thread ;)

New alpha-build up @ sourceforge today. I'm not sure if milan is in the middle of something, but I think it is time for a new build.
It seems you need to check xvid.dll for correct decoding of (packed) b-frames in xvid content.

bbq@KL
11th December 2002, 23:40
Now TomsMoComp_ff.dll is included. Does it mean TomsMoComp is finally implemented? Thanks.

milan
12th December 2002, 08:13
1. is there a possibility to make the luma sharpening of the resizer component available also when not using the resizing function?
i just tried it, and, it gave the clip just the little something it lacked. it even looked very good with the strongest setting of 2.0. all other sharpen filters hurt more than they helped.

Even asharp? I'm using it with high quality deblock filtering enabled and settings 2,4,2 and I'm very satisfied with the results. Big thanks to Marc FD.
But to answer your question: AFAIK it is possible (mplayer can do this), but you would have to set output size equal to source size to prevent actual resizing. I'll try to make it easier when will be implementing the promised new resizing system.


2. i noticed that the resizer does not allow a resolution of 800x600 but only 800x800. bug or feature?

ffdshow requires new width and height to be multiplies of 16. This is useful for width, but not for height. I'm just modifying ffdshow to allow every even number for height.


Now TomsMoComp_ff.dll is included. Does it mean TomsMoComp is finally implemented? Thanks.

TomsMoComp_ff.dll is just slightly modified TomsMoComp 0.0.1.3 AviSynth filter. It doesn't not double the frame rate.
You can use DScaler TomsMoComp deinterlacing filter which will double the frame rate, but it's much slower due to needed conversion to YUY2 and back.

BTW I'm not working much on ffdshow now, because I don't have time. But I'm expecting to make some big changes to ffdshow soon (were described in this realy huge thread).

milan
13th December 2002, 08:06
I had to remove latest alpha from SF downloads.
I have "simplyfied" uninstall section of ffdshow to delete whole directrory where ffdshow was installed, but forgot that Nimo codecs pack installed ffdshow to Windows/System directory. This means, that when installing new ffdshow build it offers to install to Windows/System directory and by uninstalling it will try remove the whole content of this folder.
I'll release new build soon.

I'm realy sorry for this.

ookzDVD
13th December 2002, 09:53
@milan,

Thank you for the information,
I will not to un-install the ffsdhow, 'cause I will not able to play the XviD :)
"Please don't try this at home, it's very dangerous!" ;)

milan
13th December 2002, 10:08
New build was released. This time it was prepared by me.
Uninstall is fixed and new libavcodec version is included. Every even height in range from 8 to 2048 is allowed.

BTW now I'm trying to connect ffdshow to 3ivx mp4 splitter filter, but without success :( It doesn't even come to media type negotiation although for testing I'm modified ffdshow to connect to every video type.

ookzDVD
13th December 2002, 10:24
@milan,

thank you again for the fast update ffdshow-20021213.exe ;)

milan
13th December 2002, 10:47
I've found out that 3ivx mp4 splitter requests interface with GUID 0E6772C0-DD80-11D4-B58F-A86B66D00000 and calls some its methods before starting the video type negotiation. I don't know whether this is some standard interface (I can't find it it Platform SDK) or, and that would be worse, private interface used by 3ivx directshow filters.

I realy would like ffdshow to cooperate with some mp4 demuxer, because I would like to use this container format. AFAIK there is no open sourced mp4 directshow splitter filter, so I have to try the commercial ones. I've tested few of them and 3ivx's seems to be the best mp4 directshow splitter yet. BTW this doesn't apply to decoder filter: I've found that it decodes one sample mp4 file with mpeg4 video (distributed together with lsx's mpeg4 filters) producing some artifacts.

ChristianHJW
13th December 2002, 10:51
Originally posted by milan I really would like ffdshow to cooperate with some mp4 demuxer, because I would like to use this container formate.

You prefer AAC over Vorbis ?

athos
13th December 2002, 11:03
The new libavcodec seems to be even worse at decoding (packed) b-frames. The last one seemed to just skip them, so the video was choppy. This new ones instead flickers. Of course, with "use xvid" checked everything is fine. At least it seems work is being done in this field, so hopefully future versions of libavcodec will decode fine.

milan
13th December 2002, 11:10
@ChristianHJW

Sorry for misunderstanding.

I'm using Vorbis extensively, but I would like to support as many formats and codecs as possible.

milan
13th December 2002, 12:07
@athos

I didn't have time to test new libavcodec, but after seeing what it does now (and it's not a bug of ffdshow, plain ffmpeg.exe does this too) I sent bugreport to ffmpeg mailing list and uploaded sample file to mplayer ftp.

I hope it'll be fixed soon.

Blight
15th December 2002, 20:15
Ok, bug report for latest build (Dec 13th):

1. MPlayer's post processing isn't working.
2. TomsMoComp "DeInterlacing -> Swap Field" isn't working.
3. Linear Interpolation Deinterlacing isn't working.
4. Linear Blending DeInterlacing isn't working.
5. Cubic Interpolation Deinterlacing isn't working.
6. Median Deinterlacing isn't working.
7. ffmpeg Deinterlacing isn't working.

I think something is seriously broken with deinterlacing...

MoonWalker
15th December 2002, 21:25
And one more...When you choose dering in Nic's filter the image becomes TOO blurry..

MoonWalker

NiTroGen
16th December 2002, 02:45
Well, I did ask it before, but noboby had answered. Is it possible to have a compilation of ffdshow using the old libavcodec (14-Oct) with all the new features of latest releases?

milan
16th December 2002, 08:23
@NiTroGen

Yes and I'll probably do this.

@Blight

Everything you've mentioned (except for tomsmocomp) is handled by libpostproc.dll. I'm just checking this. If there would be something wrong, right after fixing I'll release new build.

Blight
16th December 2002, 20:37
milan:
I thought the deinterlacing were mostly from Donald Graft's filters. I think he's converting his DeInterlace function to YV12, so maybe it's worth integrating that?

Most of these were working to some degree in the Oct 29th build.

Also, it may be useful to add a swap-field general-purpose checkbox for all the deinterlacers as sometimes capture cards screw these things up.

trbarry
17th December 2002, 01:36
I'm afraid I haven't even tried TomsMoComp in ffdshow yet but the builtin option in the deinterlacer is for top first, not field swap.

- Tom

NiTroGen
17th December 2002, 02:45
Originally posted by milan
@NiTroGen

Yes and I'll probably do this.Thanks, Milan. Looking forward to this "new" version.

gabest
17th December 2002, 05:29
Any plans advancing ffdshow into the direction of mpeg2/dvd playback? I've made a nice decss input pin a few days ago :)

Smiff
17th December 2002, 11:05
Originally posted by milan
I had to remove latest alpha from SF downloads.
I have "simplyfied" uninstall section of ffdshow to delete whole directrory where ffdshow was installed, but forgot that Nimo codecs pack installed ffdshow to Windows/System directory. This means, that when installing new ffdshow build it offers to install to Windows/System directory and by uninstalling it will try remove the whole content of this folder.
I'll release new build soon.

I'm realy sorry for this.

f*$*£%^*ing nimo pack.

Sorry just had to say that. Milan please keep up the great work on the great ffdshow.

Blight
17th December 2002, 22:41
Gabst:
Wouldn't DVD decoding basically put a nice big target on milan's forehead, god knows we don't need another MPAA issue...

Sure, I'd like to be able to point to a free DVD Decoder, but I wouldn't want to see anyone get hurt.

gabest
18th December 2002, 05:34
Well, mplayer on linux hasn't been targetted once yet and it can already decrypt ccs in every possible way. Also, there are smartripper, dvddercyptor, vstrip, ... with the same algorithm here at the doom9 free to be downloaded.

milan
18th December 2002, 08:12
Deinterlacers:

I'll try to convert libpostproc from dynamic to static library and link it directly to ffdshow.ax combining gcc and msvc compiled code. I did the same for scaling routines already.

I'm watching Donald Graft's deinterlace filters progress and I can add them to ffdshow. However I haven't tried them yet.

Check box for field swap is planned. I want to implement new flag to internal picture structure which would carry the information about the picture type: top field, bottom field, progressive image. Now there is nothing like that present in ffdshow and when added it will be possible to write interlaced versions of some filters and use this information in colospace conversions too.

Nimo Codecs Pack:

This was clearly my fault. No software should ever remove whole directory where it is installed. It only has to remove all own files and then remove the directory only if it's empty

DVD:

I thought that mpeg2 demuxer or even file source filter has to decrypt DVDs. But if ffdshow can do this, then I would realy like to add this feature. However, I should finish the mpeg1/2 decoding first.
And I'm not sure about the legal issues. Here in Slovakia we don't have DMCA and I think it's the responsibility of user how he uses ffdshow (please correct me if I'm wrong). But probably distribution of binaries on SourceForge could cause problems.

gabest
18th December 2002, 08:26
Originally posted by milan
I thought that mpeg2 demuxer or even file source filter has to decrypt DVDs. But if ffdshow can do this, then I would realy like to add this feature.No, the downstream filter after the dvd navigator has to handle everything. See this (http://vobsub.edensrising.com/decssfilter.zip) sample filter and especially the input pin implementation.

s45i
19th December 2002, 21:36
i have still heavy flickering on solid backgrounds with my desktop (Athlon 1000 Thunderbird) when luminance deblocking is activated (both mplayer and nic's methods)... deblock (H) has the worst flickering effect... tested with the latest builds..

i mention the cpu because on my celeron 466 i cannot see the same flickering (cpu optimization to blame?).. it's a laptop and maybe the screen is fooling me.. :confused:

many thanks to milan for ffdshow, with it i can see movies up to 640x on the move without buying a new notebook :D :D :D

jamest
20th December 2002, 20:16
could DVD support be based off Videolan's project?

http://www.videolan.org/libdvdcss/index.html
libdvdcss is a simple library designed for accessing DVDs like a block device without having to bother about the decryption. The important features are:Portability. Currently supported platforms are GNU/Linux, FreeBSD, NetBSD, OpenBSD, BSD/OS, BeOS, Windows 95/98, Windows NT/2000, MacOS X, Solaris, and HP-UX.
Simplicity. There are currently 7 functions in the API, and we intend to keep this number low.
Freedom. libdvdcss is released under the General Public License, ensuring it will stay free, and used only for free software products.
Just better. Unlike most similar projects, libdvdcss doesn't require the region of your drive to be set.

R3g
20th December 2002, 20:36
Whao ! I forgot this thread. Here is what I posted some minutes ago in a totally off-topic one :

So what about having auto-loadable presets in ffdshow : You set up your ffdshow parameters, save them to a file, to which you give the same name as your movie, and when you start watching your movie, the presets are automatically loaded.
That way, each move can be backed up along with the very smart optimized playback parameters you found.

Well, I think it is a good idea, isn't it?

Didée
21st December 2002, 16:07
Originally posted by R3g
So what about having auto-loadable presets in ffdshow ... I think it is a good idea, isn't it?
Yes, R3g, that's a good idea.

In fact, the idea is so unbelievable good, that

this functionality is already implemented!

for quite some time now ...

:)

CruNcher
21st December 2002, 21:00
@ milan
looks like ffdshow has problems with anamorphic resolutions
i tried to playback movies XviD and DivX 3.11 in anamorphic resolutions 640x272 and 512x288 the borders are there but video gets placed in the middle its not stretched maybe its a problem with directx 9 and the new vmr renderer but i doubt if i playback with normal divx 3.11 directshow filter the picture gets correctly adjusted could u please check that thx :)

the same effect on mpeg2 movies no role if anamorphic or not with Raw Video activated

Configuration:
--------------
Directx 9
Players: Windows Mediaplayer 9, Mediaplayer Classic,Mediaplayer 6.4

R3g
22nd December 2002, 10:19
Originally posted by Didée
Yes, R3g, that's a good idea.

In fact, the idea is so unbelievable good, that

this functionality is already implemented!

for quite some time now ...

:)
OMG ! I was so proud of thinking about such a thing that I didn't even try to see I it was here. At least I have had the idea, even after everybody. I promise, next time I will read the manual before posting. ;)

QQ
23rd December 2002, 09:48
I have some problems with ffdshow:

* broken mpeg playback. It was in 0923, and still is in 1213. Doesnt matter if I check use libmpeg2 or dont, it still doesnt playback - it flickers, sometimes becomes all black and so on. Sound plays good though.

* Whenever I check Blur and NR, the player crashes :)

I hope this will get fixed soon! :)

athos
23rd December 2002, 17:27
Originally posted by QQ
I have some problems with ffdshow:

* broken mpeg playback. It was in 0923, and still is in 1213. Doesnt matter if I check use libmpeg2 or dont, it still doesnt playback - it flickers, sometimes becomes all black and so on. Sound plays good though.

Of course, you did notice this in the configuration:
MPEG1/2 decoding is currently in development and not working correctly.
Refer to this (http://www.altgeek.org/methuselah/rtfm/) Microsoft Knowledgebase article ;)

I can report that xvid decoding (with "use xvid" checked), using either Koepi's (XviD-19122002-1.exe) or Nic's (XVID - 231202) latest builds, is broken. Koepi's XviD-09122002-1.exe works ok.

QQ
23rd December 2002, 17:35
lol, I see I see.. You see (I see!), old one (06xx) used to play them, so I got used to it you see (I see!) :p

CavalloPazzo
4th January 2003, 13:31
With latest build (13/12/2002) the ffdshow dialog box crashes when I go to the info page.
When a new build will be released? And a new ffvfw build? If I had a directx sdk i'd build by myself, but I haven't and I have 56k modem :(

Sirber
4th January 2003, 19:34
The lastest gets greeny over time, also has some prob with bframes.

athos
4th January 2003, 20:39
New alpha build up:

ffdshow-20030103 (http://prdownloads.sourceforge.net/ffdshow/ffdshow-20030103.exe?download)

ChangeLog (https://sourceforge.net/project/shownotes.php?release_id=131530)

Note:
Compiled with DirectX 9 SDK.

DirectShow 9 STRMBASE.lib compiled with Visual Studio .NET and ICL 7.0. Would not compile with Visual Studio 6.

Probably because of this, ffdshow would not compile with VS6, and is therefore compiled with VS.NET (and ICL 7.0).

.NET Framework, or more specifically, some dlls from it is probably needed for this to run.

Uses Nullsoft Install System (NSIS) 2.

I will try to fix this so I can compile with VS6 for future builds, but I wanted to get this one up for people to test the new libavcodec and also to see if ffdshow now is better at handling the newest xvid.

easyfab
4th January 2003, 21:38
Thanks athos for the build.
I'm maybe a little OT but could you please compile ffvfw too (i see in cvs some changes)

iago
4th January 2003, 22:21
@athos

Thanks a lot for the new build. It doesn't crash when "Use XviD" is checked to decode XviD encoded (with Koepi's 03012002-1 binary) clips with qpel and b-frames :).

iago

sillKotscha
4th January 2003, 22:28
Originally posted by iago
@athos

Thanks a lot for the new build.

of course, same from me - great!!

Originally posted by iago
It doesn't crash when "Use XviD" is checked to decode XviD encoded (with Koepi's 03012002-1 binary) clips with qpel and b-frames :).

iago

but imho, it doesn't look as sharp as leaving "Use XviD" unchecked

Sill

iago
4th January 2003, 22:32
@sill,

qpel + "use xvid" unchecked -> smearing !

Hence "use xvid" checked with qpel ! ;)

Lefungus
4th January 2003, 22:43
But Ffdshow + "Use Xvid" checked can't decode Qpel+BFrames clips.

iago
4th January 2003, 22:57
@Lefungus,

Here it can! :) (I mean the latest 20030103 build by athos)

edit: Though sometimes freezing occurs, which is really annoying and might be due to CPU load in my low-spec system as well.

Lefungus
4th January 2003, 23:14
Argl, i also have the latest Ffdshow build -> 20030103 and the latest Koepi build

But when i play my clips, i get "Broken B-frame missing ref frame"

I must add that everything works when i only use ffdshow (ie use xvid unchecked) but as my clips have Qpel+Bframes enabled, i get little smearing

iago
4th January 2003, 23:18
@Lefungus

I agree, as I wrote in the edit part of my above post, that there "is" some problem which is beyond my understanding :).

For the time being I guess I will keep my hands off Qpel and go on decoding with libavcodec.

iago
4th January 2003, 23:38
Btw, imho all these reported problems are actually Qpel (and not ffdshow) related! ;)

So, many thanks again for this new build! ;)

athos
5th January 2003, 00:32
As per request I compiled ffvfw, using VS.NET and ICL 7.0. I'm not sure how I'm supposed to create the ogg theora dll so i excluded it from the installer.

I was able to perform a 1-pass recompression of a short xvid avi that i have using ffvfw, including b-frames.

I'm not sure how milan feels about me putting up this on SourceForge, and he would anyways have to create a new package for it, so I will put it here:

http://athos.web1000.com/ffvfw-20030104.exe

ChangeLog (http://athos.web1000.com/changelog)

(OT: _damn_ this thread is long now..)

Sirber
5th January 2003, 01:14
@athos

We are sorry, but the file you are trying to download is larger than the maximum length permitted under current network conditions. Please try again later when network conditions change. The file you were trying to download was 413068 bytes

mouhahahahahahaha :)

athos
5th January 2003, 01:21
Originally posted by Sirber
@athos

We are sorry, but the file you are trying to download is larger than the maximum length permitted under current network conditions. Please try again later when network conditions change. The file you were trying to download was 413068 bytes

mouhahahahahahaha :)

Try again. Seems to work for me. Sometimes i get to this page telling me I cannot download files linked from offsite, but then there is a link to the file (which I presume is not linked offsite then since this message is onsite).

oddball
5th January 2003, 02:36
No luck athos. Link tells me the same.

CruNcher
5th January 2003, 04:53
use a downloadmanager like flashget worked for me :)

easyfab
5th January 2003, 11:15
@athos
Thanks for the ffvfw compile.
The little test i made with the default parameters on a 512*288 action scene at ~800kb/s is promising. The ffmpeg have made big progress since the last time i tested a ffmpeg build under linux. Now b-frames and q-pel are implemented (not tested yet).
Thanks again athos

HarryM
5th January 2003, 11:34
@athos:

I download ffdshow 03/01/2003, I install it, but ffdshow.ax is'nt registered into OS (windows 98SE). I can't register it manually too (via regsvr32 *.ax). Ffdshow isn't used for playing...

Build 11/12/2002 works good, build 13/12 too, but 03/01/2003 don't for me.

easyfab
5th January 2003, 11:44
@harrym
You can try to copy the ffdshow.ax from the 3/1/03 build into another directory, install another previous ffdshow build and manually recover the .ax file with the 3/01/03 .ax file.
This should work

athos
5th January 2003, 12:56
HarryM> This might be due to the new NSIS2 installer. Maybe running this in the dir ffdshow is installed in will do:
regsvr32.exe ffdshow.ax

I am sorry for the trouble downloading ffvfw, but I dont have any good webspace to put it in. sekxx needs his webspace and bandwidth for other things, and like i said, milan has to decide if i should put this up on sourceforge.

HarryM
5th January 2003, 14:49
Originally posted by athos
HarryM> This might be due to the new NSIS2 installer. Maybe running this in the dir ffdshow is installed in will do:
regsvr32.exe ffdshow.ax


This don't work. I test another method (e.g. install older ffdshow and replace files from newest build, copy files into windows/system/,...) too.

CruNcher
5th January 2003, 19:02
@ harry
you need to have msvcr70.dll in your windows/system directory otherwise it won't work

athos
5th January 2003, 19:36
I think it is small enough to attach here if i zip it:

sillKotscha
5th January 2003, 19:40
no need to - everyone is able to find it here...

http://www.dll-files.com/dllindex/dll-files.shtml?msvcr70 ;)

oddball
5th January 2003, 21:48
Using a download manager did not work either.

Can someone put it on another website so I can download it?

Tester
5th January 2003, 22:11
Originally posted by oddball
Using a download manager did not work either.

Can someone put it on another website so I can download it?



It works! You have to use a referrer.

oddball
5th January 2003, 22:31
No idea what a referrer is. I just click downloads. Why should it be so hard to download a damn file!

Proper working link please.

oddball
6th January 2003, 01:47
I was wondering if something similar to DeLogo or LogoAway could be integrated into ffdshow. This would allow you to block out certain areas of the screen etc. Like removing logo's and hiding foreign subtitles to replace them with ones of your own language (A colored bar would suffice for this).

Should be simple enough to overlay it? That way I could put English subs over say German subs.

BTW I forgot to check but what sub formats does ffdshow support? SRT, SSA, SMI?

bilu
6th January 2003, 12:20
Hi,

Every build after ffdshow-20021113 crashes on my machine.
WInXP SP1 + VobSub 2.20, haven't tried playing DivX, only Xvid ( Koepi's builds, Dec 09 and newer ).


Any suggestions? What should I check?

athos
6th January 2003, 12:25
Originally posted by bilu
Hi,

Every build after ffdshow-20021113 crashes on my machine.
WInXP SP1 + VobSub 2.20, haven't tried playing DivX, only Xvid ( Koepi's builds, Dec 09 and newer ).


Any suggestions? What should I check?

You might want to try to update your video drivers, this has solved some problems in the past. Also, some of the newer xvid builds in combination with ffdshow ("use xvid") generate crashes.

bilu
6th January 2003, 12:35
I already tried with or without XVID, haven't tried with earlier XVID encodes or Divx. I'll try updating drivers tonight.

NiTroGen
6th January 2003, 20:19
@Athos
Still can't download ffvfw. Can you upload it at http://ffdshow.sekxx.org too?

bilu
7th January 2003, 10:29
Hi,

Updating the video drivers has solved my problem, I'm using 03/01/2003 version.

Another issue, need sugestions:
I've noticed that during motion blocks are more noticeable with ffdshow without XVID than with XVID or XVID decoder alone. I'm not using any kind of post-processing in XVID or ffdshow. What can I check?

athos
7th January 2003, 11:12
Originally posted by NiTroGen
@Athos
Still can't download ffvfw. Can you upload it at http://ffdshow.sekxx.org too?

Sorry, Sekxx has told me he needs that site himself now, and asked me not to use it anymore.

I think the problem is with linking directly to files (non-html) on web1000, and therefore i created a small html-page with links to ffvfw. try it: http://athos.web1000.com/ffvfw.html

AlphaDivxMovies
7th January 2003, 13:30
Tried this new version of ffvfw and i must say i am impressed, it seems to be quite as good as xvid, i just have a few questions that i have not seen answered elsewhere:

1) How does X1 differ from the other methods?
2) How much of xvid is implemented? I see B-frames cannot be decoded by the xvid decoder.

drebel
7th January 2003, 19:26
Tried latest ffdshow compilation.Works great,no probs here EXCEPT ONE:
the filter simply cannot connect directly to VMR9 in YV12 mode ,like latest xvid does(a colorspace converter takes place between the two).So, is it possible to make a directx9 compliant version of ffdshow to take advantage of its great capabilities ?

regards,
george

oddball
7th January 2003, 20:18
Forget previous request. Found out VobSub already lets you black box subs. Although maybe a logo blocker of some sort might be handy.

oddball
7th January 2003, 20:21
Drebel. Is this why I get a seperate window open when I playback with VMR9 enabled in Zoom Player? I could not see any benefits speedwise etc. But it may be that ffdshow is causing it to goof?

drebel
7th January 2003, 20:54
It's an activex window.Seems like your filterchain is not fully usable (cannot connect pins well),so zoom creates an alternative...(you have to ask Blight for details)
Moving to detonators 42.01 (uncertified-dx9 compat) to see if it helps!

regards,
george

drebel
7th January 2003, 23:24
...With latest detonators 42.01->better image quality and speed but,of course ,ffdshow still refuses the direct connection to vmr9,even though it reports yv12 as output

Rumata
8th January 2003, 01:22
What libraries do I need to run the latest ffdshow ?
My problem is that after clean install of Win98 I can't run the latest build (20030103). When I run Configuration from the Start->Programs->ffdshow I get the following error-window:
"Error loading ffdshow.ax
One of the library needed to run this application cannot be found."

The 20021213 build runs fine.

Thank's in advance.

ookzDVD
8th January 2003, 05:47
@Forum,

I think the ffdshow-20030103.exe is not decode my XviD correctly while
use it with DirectX 8.1.
It works fine with DirectX 9.

NiTroGen
8th January 2003, 07:40
Originally posted by athos
Sorry, Sekxx has told me he needs that site himself now, and asked me not to use it anymore.

I think the problem is with linking directly to files (non-html) on web1000, and therefore i created a small html-page with links to ffvfw. try it: http://athos.web1000.com/ffvfw.html Sorry, Athos, no luck. Is it possible to send me a copy of ffvfw (at nitrogen@freemail.gr)? I'll upload it to my web space, so that anyone should be able download it with no problem.

NiTroGen
8th January 2003, 07:43
Originally posted by Rumata
What libraries do I need to run the latest ffdshow ?
My problem is that after clean install of Win98 I can't run the latest build (20030103). When I run Configuration from the Start->Programs->ffdshow I get the following error-window:
"Error loading ffdshow.ax
One of the library needed to run this application cannot be found."
.If you have read the previous page, you would have known that MSVCR70.DLL (http://www.dll-files.com/dllindex/dll-files.shtml?msvcr70) is needed to run this build.

Rumata
8th January 2003, 08:38
Originally posted by NiTroGen
If you have read the previous page, you would have known that MSVCR70.DLL (http://www.dll-files.com/dllindex/dll-files.shtml?msvcr70) is needed to run this build.
Sorry. Missed that. Now works great. Thank you.

athos
8th January 2003, 11:46
Originally posted by NiTroGen
Sorry, Athos, no luck. Is it possible to send me a copy of ffvfw (at nitrogen@freemail.gr)? I'll upload it to my web space, so that anyone should be able download it with no problem.

You've got m@il :)

NiTroGen
9th January 2003, 14:35
OK. So here is the latest version of ffvfw (homepages.pathfinder.gr/nitrogen/files/ffvfw-20030104.exe) (change log (homepages.pathfinder.gr/nitrogen/files/ChangeLog.dat)).
I hope there is no problem with downloading now.

masken
10th January 2003, 19:19
Originally posted by sillKotscha
no need to - everyone is able to find it here...

http://www.dll-files.com/dllindex/dll-files.shtml?msvcr70 ;)
Cannot find server :(

Dammit hehe... I don't want to install the whole friggin .NET SDK :D

Found another link..:
http://sourceforge.net/project/showfiles.php?group_id=9891&release_id=118967

athos
11th January 2003, 15:50
I think we should continue ffvfw discussion in separate thread, go to http://forum.doom9.org/showthread.php?s=&threadid=42710

pcdvdguy
11th January 2003, 18:51
Which video-cards are you guys using?
I find that with an old Inno3D Geforce2/MX400 64MB AGP, ffdshow's playback performance (with YV12 output) is slightly *worse* than with YUY2 output. This isn't noticeable for DVD-sized (720x576) video, but on HD-resolution Divx files (1280x720), it makes a difference of about 3-4 fps (on my puny Celeron 1.33GHz...no laughing please!)

A long time ago, a Directshow developer hinted to me (take this with a grain of salt!) that the NVidia Geforce cards didn't internally support YV12 overlays. Instead, the drivers use the hardware-BITBLT engine to convert YV12-input (from the PC) into a different NVidia-friendly format.

At the time I didn't really know what to make about this rumor. Several Dshow programmers complained that NVidia's drivers allocate 2-4X the expected-RAM for any kind of YUV-overlay, (compared to ATI's drivers.)

If you guys force ffdshow's output to YUY2, does the VMR9 connection work?

drebel
11th January 2003, 20:17
If you guys force ffdshow's output to YUY2, does the VMR9 connection work?

NO.My Gforce2MX is only accepting RGB32 as input of VMR9,so forcing yuy2 makes avidecompressor to place between them for colorspace conversion.You could take a look at Gabest's post here (http://forum.doom9.org/showthread.php?s=&threadid=40929&pagenumber=2)

copy-paste :

------------------------------------------------------------------------------------
I guess VMR9 would only accept yv12 if the used video card could do blting from it onto the desktop (my gf2mx can't). I say this because DX9 doesn't seem to have any overlay support in it. Mpeg2 decoders can still use the hw-accelerated mpeg2 decoding / deinterlacing features of the video card through the renderer's input pin, just like with the overlay mixer or the VMR7, but the decoded picture will arrive back in yuy2 (check the info on VMR9's property page). At this point the yuy2 surface could be blted onto the primary surface in a window, or used as a texture to create some crazy effects, or blted on the backbuffer first to compose it with other graphics (like what mpc does to do its subtitling) and flip/copy it to the primary later.

I don't know exactly how much mpeg4 macroblock decoding differs from mpeg2, but as I think a normal video card (and MS's highly undocumented interfaces) are only prepared to handle mpeg2.
------------------------------------------------------------------------------------

With yv12 overlays(with videorendener,of course)no prob here.But VMR9 doesnt use overlays...:(
Anyway,no rush upgrading just for that

EDIT : Downgrading to older detonators NOT DX9 compat.(42.01->40.72 BY OMEGA)allowed me to connect to VMR9 with YUY2...Strange!
PS: Rivatuner's Direct3d tweaks for bliting didn't help at all...

regards,
george

sh0dan
13th January 2003, 13:44
Couldn't you remove the dependency on msvcr70.dll, or at least include it in the installation. Isn't it just a matter of using VC6, or linking the dll as static?

the current solution is not very userfriendly (having to tell my non-computer-minded friends to download a separate dll, finding the system directory, etc.)

Franky
15th January 2003, 02:33
OK, this might be a total newbie question, but since I just noticed that postprocessing, though it can do a remarkable job on cleaning up low bitrate movies, actually makes high bitrate movies look worse. So I was wondering if this is a problem inherited in the postprocessing process itself, or if you could set ffdshow to some sort of golden setting that will clean up bad quality movies but at the same setting not mess up good quality movies (too much).

Koepi
15th January 2003, 07:31
franky,

it's the _nature_ of post processing.

post processng removes artefacts on low bitrate encodings (think of them as artificial details which get wiped out).

Now imagine you have a high bitrate encode, and the details aren't artificial "errors" but wanted. There's no way to detect that the details belong there, so they get wiped out as well, looking worse in the end than without post processing.

Regards
Koepi

Smiff
15th January 2003, 13:42
wow, this thread still hasn't been renamed!

dffshow -> ffdshow.

:p :D

NiTroGen
15th January 2003, 15:08
Originally posted by Smiff
wow, this thread still hasn't been renamed!

dffshow -> ffdshow.

:p :D
Maybe we should rename the filter. ffdshow --> dffshow!!! :D ;)

masken
15th January 2003, 15:38
Originally posted by Koepi
post processng removes artefacts on low bitrate encodings (think of them as artificial details which get wiped out).

Now imagine you have a high bitrate encode, and the details aren't artificial "errors" but wanted. There's no way to detect that the details belong there, so they get wiped out as well, looking worse in the end than without post processing.hmm.. just a small idea... can't one detect the bitrate of the .avi and control post-processing degreees based upon that? SBC postprocessing? :D Perhaps I should go and stand in a corner now hehe... since I'm no programmer? ;)

kilg0r3
15th January 2003, 15:56
@ masken

it would be even cooler to link the degree of pp to the visual quality (i.e. blocking and ringing), which would make pp kick in in blocky highmo scenes. if one cannot determine the degree of blocking, i - if i were a programmer- would use a coefficient of motion, bitrate, resolution ...

joining you in the corner now ... :)

Wormz
15th January 2003, 19:17
What's wrong with the way it currently is, where it automatically lowers postprocessing if it has to due to CPU usage? I think that is a perfect implementation of postprocessing.

kilg0r3
15th January 2003, 19:43
@Worm

you care about cpu usage. this is perfectly alright. i only care about image quality. so, my criterion is entirely independent from cpu usage. pp _degrades_ image quality when you have a good encode but it helps when the video is full of blocks and ringing (read also koepi on previous page).

an adaptive approach is alright. yet, if there is enough cpu power it is far smarter to take the quality of the source data as criterion for the degree of pp.

just my 2 iraqi dinar

athos
15th January 2003, 21:20
I suppose you could make some sort of "guesstimate" regarding the quality of a clip by computing the lenght of the movie * the dimensions (ie bits per pixel, more or less), and then setting threshold values for the amount of postprocessing. Of course this would not be very accurate, as some movies (high motion, bad source, etc) require higher bitrate.

Wormz
15th January 2003, 22:25
Originally posted by kilg0r3
@Worm

you care about cpu usage. this is perfectly alright. i only care about image quality. so, my criterion is entirely independent from cpu usage. pp _degrades_ image quality when you have a good encode but it helps when the video is full of blocks and ringing (read also koepi on previous page).

an adaptive approach is alright. yet, if there is enough cpu power it is far smarter to take the quality of the source data as criterion for the degree of pp.

just my 2 iraqi dinar

Ok, hmm, I understand. Yes, I would say it's nearly impossible for it to autodetect whether it would be a good idea, and calculating based on bitrate, resolution, etc. seems unrealistic as well. I've never noticed postprocessing degrading quality, so I'm gonna do a few tests of my own. Are we talking 2CD rips only or maybe even some 1CD rips on highly compressible movies?

NoLogo
15th January 2003, 22:36
Yes ! that's exactly the request I did on sourceforge ! no PP for good encodes, especially on low bitrate scenes. That features would be some great Xmas present :)
I have seen that PP tends to smooth a little the faces, the pavements, etc...
Isn't it possible to use motion vectors to evaluate when it's low mo and when it's not ?

Regards
NoLogo

NuclearFusi0n
30th January 2003, 00:27
REQUEST
-------

PAR support: say i encode an NTSC video at 720 x 480, the 1:1 resolution
I want to just enter the Pixel Aspect Ratio (in anamorphic encodes, it's 72/79 * 4/3 = 1.21519) and have it correctly display the video with a resolution UPSIZE (retaining full resolution), not downsize (losing vertical resolution usually).

Chibi Jasmin
30th January 2003, 11:58
Originally posted by NuclearFusi0n
REQUEST
-------

PAR support: say i encode an NTSC video at 720 x 480, the 1:1 resolution
I want to just enter the Pixel Aspect Ratio (in anamorphic encodes, it's 72/79 * 4/3 = 1.21519) and have it correctly display the video with a resolution UPSIZE (retaining full resolution), not downsize (losing vertical resolution usually).

I second that! If you implement it, please let us have a few user-defined presets for it as well :-)

And while you're at it...the long promised black borders rework...adding black borders by percentage and stuff...would also be great... :D

Smiff
30th January 2003, 12:09
heheh i gave up on the borders and adjusted my TV

:D

No really, Sony Service menus are confusing as all hell but now i got no overscan with DVD or Sky either :) (can ffdshow do that? ;)

oddball
31st January 2003, 04:19
My TV is adjusted down to 1% or less overscan. It's adjusted as low as it can be before blooming causes odd black edges and corners to appear. The problem is with the way my Matrox G400 outputs the image. It appears to create additional overscan of it's own. Also with the position on my TV. If I adjust the TV signal so it's central and then go to SVID3 for my TV out card the SVID3 image is off center with a border on one side (This is when I set ffdshow to black borders and bring the border size up).

Ideally I would like ffdshow to come up with a more adjustable and less CPU intensive means of creating black borders (The ability to adjust left/right/top/bottom borders independently for instance).

Their is a 3rd party divx playback util called DiVXG400 that allows overscan compensation. His method uses just about 0% CPU and creates the black border effect nicely. However. There is a bug on it that causes 4:3 images sent to a widescreen TV using the Matrox G400 in 16:9 mode that causes the top and bottom to not get overscan compensation. It squeezes the image from the sides just fine. Also if you set the G400 TV out to 4:3 mode it squeezes the bottom fine. I reported this as a bug to the developer of DiVXG400 but he denies it is and has no intention of sorting it out. So I have to switch back and forth between the two modes to get DiVXG400 to overscan compensate correctly for all video playback ratios.

ffdshow is so CPU intensive when it adds black borders that my lowly P3 700 cannot keep up.

It's still #1 on my list of top wishes for ffdshow to sort out.

Smiff
31st January 2003, 10:35
You are right of course, controls are needed. My TV seems to save settings for each input, in particular RGB centering is invaluable. A major problem I have is that i can calibrate for PAL (my region), but then NTSC DivXs are wrong, and vice-versa. It's a bummer. And like you say, you can't eliminate the overscan completely because the TV isn't stable enough.. at least any i can afford.

Bummer eh :( ;)

I don't think you should find a ffdshow too slow on a P3-700... i have found even an Xvid with GMC and Qpel is not too much for my Duron 750 that i use for that... seriouly, i am very fussy about jerky playback, i think you might have to watch your settings better? Sometimes clean reinstalling ffdshow seems to help.

Chibi Jasmin
31st January 2003, 12:01
Originally posted by oddball
My TV is adjusted down to 1% or less overscan. It's adjusted as low as it can be before blooming causes odd black edges and corners to appear. The problem is with the way my Matrox G400 outputs the image. It appears to create additional overscan of it's own. Also with the position on my TV. If I adjust the TV signal so it's central and then go to SVID3 for my TV out card the SVID3 image is off center with a border on one side (This is when I set ffdshow to black borders and bring the border size up).

Ideally I would like ffdshow to come up with a more adjustable and less CPU intensive means of creating black borders (The ability to adjust left/right/top/bottom borders independently for instance).

Their is a 3rd party divx playback util called DiVXG400 that allows overscan compensation. His method uses just about 0% CPU and creates the black border effect nicely. However. There is a bug on it that causes 4:3 images sent to a widescreen TV using the Matrox G400 in 16:9 mode that causes the top and bottom to not get overscan compensation. It squeezes the image from the sides just fine. Also if you set the G400 TV out to 4:3 mode it squeezes the bottom fine. I reported this as a bug to the developer of DiVXG400 but he denies it is and has no intention of sorting it out. So I have to switch back and forth between the two modes to get DiVXG400 to overscan compensate correctly for all video playback ratios.

ffdshow is so CPU intensive when it adds black borders that my lowly P3 700 cannot keep up.

It's still #1 on my list of top wishes for ffdshow to sort out.

Well, DivXG400 is what I am using now, but I thought of getting rid of it and having its functionality of adding black borders integrated into ffdshow...the way it is now in ffdshow I always have to enter the final dimensions myself and set resize to none to get black borders, instead of just entering a percentage to add black borders...

DivXG400 doesn't seem to be updated anymore, it can't display latest VobSub subs etc...

Defiler
31st January 2003, 15:41
I'm seeing some green artifacts watching DivX 5.03 files with ffdshow-alpha 01-03-2003.
Is this old news, or am I the only one?

Monarc
31st January 2003, 18:08
Originally posted by Defiler
I'm seeing some green artifacts watching DivX 5.03 files with ffdshow-alpha 01-03-2003.
Is this old news, or am I the only one?

I don't know. Could you provide a example? (jpeg / avi)

Bye,
Monarc

drebel
31st January 2003, 18:10
DivXG400 doesn't seem to be updated anymore, it can't display latest VobSub subs etc
...plus it has no yv12 support.Best way to remove letterbox is to enable special resolutions on tv by modifying drivers(nv4_disp.inf for example) like 768x576 and tvtool for nvidia or something similar

oddball
31st January 2003, 21:02
There is no such utility for Matrox cards. Sizing of output in players like Zoomplayer have no effect whatsoever on TV overlay output. A lot of TV out cards rely on just displaying the desktop to the TV so that when you zoom to fullscreen on your monitor you get fullscreen on your TV and can resize in Zoomplayer on the screen to your hearts content. But this does not give an accurate display of the image and incorrect colours.

The Matrox cards and some others display a correct TV output using overlay. This means you can have a windowed Zoomplayer for instance but it's still fullscreen on the TV and correctly displays the image/res/colours etc.

So the problem I have is that ffdshow does not add borders without a huge hit on CPU usage or use a bugged DiVXG400. Ideally I'd love to continue using ffdshow for this. I cannot afford to upgrade my PC at present and believe if DiVXG400 can do a similar thing with little or no CPU hit why cannot ffdshow?

Smiff
31st January 2003, 21:14
Originally posted by oddball
There is no such utility for Matrox cards. Sizing of output in players like Zoomplayer have no effect whatsoever on TV overlay output.

They do if you change an option in Matrox's config.

Defiler
1st February 2003, 00:07
Originally posted by Monarc
I don't know. Could you provide a example? (jpeg / avi)

Bye,
Monarc
DivX 5.03, 1.24MB:
http://hellninjacommando.com/temp/divx503.avi

If you play it with ffdshow, you'll see odd green smearing. With DivX 5.03 as the decoder, it looks fine.

jcsston
1st February 2003, 09:30
Originally posted by Defiler
DivX 5.03, 1.24MB:
http://hellninjacommando.com/temp/divx503.avi

If you play it with ffdshow, you'll see odd green smearing. With DivX 5.03 as the decoder, it looks fine.
I see the odd green smears to with the ffdshow too? :confused:
My B-frame encodes with DivX 5.0.3 don't have this, but I'm guessing it's the new QPel?

Chibi Jasmin
1st February 2003, 11:25
Originally posted by drebel
...plus it has no yv12 support.Best way to remove letterbox is to enable special resolutions on tv by modifying drivers(nv4_disp.inf for example) like 768x576 and tvtool for nvidia or something similar

Since YV12 overlay is buggy, when using RGB-output, on Matrox, I can live with that, but you're right, of course.

Chibi Jasmin
1st February 2003, 11:26
Originally posted by Smiff
They do if you change an option in Matrox's config.

So what is it, please?

sam_b
1st February 2003, 12:41
Unchecking "autodetect" in "misc" fixes that clip you posted, at least for me. Got some nasty chroma smearing.

sillKotscha
1st February 2003, 13:15
'autodetect' enables 'divx and xvid qpel bug' as a workaround but obiviously fails in this case - I guess Divx qpel are corrupt (big encoder bug) and ffdshow tries to get rid of this bug but can't handle it propperly... = green effect. So, you can enable all other encoder bug workarounds except 'divx and xvid qpel bug' and of course 'autodetect'. Now qpel are shown as they are and not tried to be corrected.

I guess a new release of ffdshow may be able to detect this bug properly but it won't be nothing else than to get rid of a crappy divx bug...

or even better DivX.com is able to release a propper codec :D

regards Sill

oddball
1st February 2003, 19:49
I'd just like to add that I watch a lot of anime fansubs and most of those are in 4:3 and have subs very low that can sometimes be cutoff the bottom of the TV out. Thus you see my dillema ;)

Defiler
2nd February 2003, 07:05
Can someone tell me what the Accurate Deblocking OSD option is reporting?
Adjusting/Disabling postprocessing doesn't seem to change it.. but files with higher resolution have higher numbers. I've seen values between 32 and 40, and they don't seem to change during any given file.
I can't get the CVS checkout to work, so I can't consult the source to learn more.

Monarc
3rd February 2003, 08:45
Originally posted by Defiler
DivX 5.03, 1.24MB:
http://hellninjacommando.com/temp/divx503.avi

If you play it with ffdshow, you'll see odd green smearing. With DivX 5.03 as the decoder, it looks fine.

Michael Niedermayer fixed the bug in libavcodec (ffmpeg).
You have to wait for a new ffdshow version.

Bye,
Monarc

((( atom )))
3rd February 2003, 23:07
i recently understood from some posts, that the qpel-smearing was fixed meanwhile, so i got the latest build from koepi and found it still smear all over my favorite smearing test-scene when using ffdshow with and without the qpel-bug fixing option.

did i get something wrong? i'd really like to use that feature..

MaTTeR
3rd February 2003, 23:43
I'd say the Qpel smear problem is not totally fixed but it's certainly minimal compared to what we were getting. I don't notice the smear in all scenes now, only a few during the movie playback. Perhaps on the high quantizer frames?

Monarc
4th February 2003, 01:48
Originally posted by ((( atom )))
i recently understood from some posts, that the qpel-smearing was fixed meanwhile, so i got the latest build from koepi and found it still smear all over my favorite smearing test-scene when using ffdshow with and without the qpel-bug fixing option.

Again.

Could you provide an Avi? :)

Or

Test it yourself with mplayer (linux / newest cvs version)
and report the bug to the mplayer-users list.

Bye,
Monarc

((( atom )))
4th February 2003, 02:54
here you go:

used binaries and settings:

koepis XviD-02022003-1 (same result with older ones, though)
ffdshow-20030103

fourcc: xvid
q-pel
chroma motion
dx50 b-vop compatibility

if i use xvid to decode, everything looks fine.

i'll upload 1mb of an avi here and hope it's ok with the mods. if not, please just delete it, so i'll have to find another place..

((( atom )))
4th February 2003, 02:59
..hmmm, while uploading the avi, i figured, that .avi wasn't a valid file-extension to upload, so i pressed the stop-button of my browser and the message still got posted, just without the avi.

so here comes the zip.. even would fit on a floppy (1.44mb). ;)

((( atom )))
4th February 2003, 03:07
..hmmm, while uploading the avi, i figured, that .avi wasn't a valid file-extension to upload, so i pressed the stop-button of my browser and the message still got posted, just without the avi.

argh! -when i just tried it again with a zip-file, i was told that i exceeded the mamimux file-size!

tha actual file is 1.44mb, so i could even attach it with an email, if somebody was willing to either host it or would just be interrested in seing it..

since it came out to right 1.44mb i could also write it to a floppy and mail it if anybody was interrested :D

raistlin2k
4th February 2003, 17:48
funny thing: FFDshow gives me green pictures only when NOT using DVobSub. During DVobSub, everything OK!

Any Idea?

Raist

athos
4th February 2003, 21:10
Originally posted by raistlin2k
funny thing: FFDshow gives me green pictures only when NOT using DVobSub. During DVobSub, everything OK!

Any Idea?

Raist
dvobsub can convert colorspaces, perhaps ffdshow (without dvobsub) outputs to a colorspace that you graphic drivers do not support?

yaz
7th February 2003, 10:22
hi all !

i got some problems with the lates built.

- i've just faced lottsa (s)vcd these days & i gave a try to ffdshow. it has the option of mpeg1/2 support but when clicked, i got only an even black screen. size, sound, eveything seems to be ok, but no picture. what i missed or did wrong? should i install or destall anything else? i use(d) elecard for mpeg1/2 but i'm not fully satisfied with the way it works. (videos are ok, all 'playable' with hard/software players)

- asharp is implemented as postproc sharpener. it does a miracle but sometimes makes some stange effects. i found anything about it in the scroll-down help & the readme of marcfd attached to its avs filter version isn't informative enough to figure out how to tune it for different quality sources. can anyone drop me a short explanation?

- if i destall all of my codecs (just a theoretical case) can ffdshow do all decoding i want in mpeg1/2/(3)/4 or it'd be better to keep something at hand? in an other way round, besides ffdshow what else should i attached to an encoded movie, for providing 'playability' the most? or is it a stupid question?

thanx in advance
yaz

wotef
8th February 2003, 05:38
for mpeg1 and mpeg2 decoding, just use the windvd or powerdvd decoder - as the tooltip says, mpeg1/2 support is not working currently, so uncheck it from ffdshow

asharp :confused: - the readme explains enough, imho, just tweak the different parameters on a test video in avisynth if you want to see the what each parameter does (should do) in ffdshow

yaz
10th February 2003, 10:31
thanx for the answers

Originally posted by wotef
for mpeg1 and mpeg2 decoding, just use the windvd or powerdvd decoder - as the tooltip says, mpeg1/2 support is not working currently, so uncheck it from ffdshow

khmm ... dunno how to ask :-) your answers prompts as if i could use the decoder (only the codecs?) from the players listed. if so, how can i do that?

asharp :confused: - the readme explains enough, imho, just tweak the different parameters on a test video in avisynth if you want to see the what each parameter does (should do) in ffdshow [/B]

yes, that's a way to go. however, ffdshow (sometimes!) imlements modified (restricted?) versions of the corresponding vd/avs filters. say, unsharpmask has 8 parameters in vd & 2-5 in avs (depending on the version) that's the only reason i asked it. ok then, i take this cute little stuff under heavy attack.

thx once more
yaz

Leak
10th February 2003, 23:25
Originally posted by ((( atom )))
i recently understood from some posts, that the qpel-smearing was fixed meanwhile, so i got the latest build from koepi and found it still smear all over my favorite smearing test-scene when using ffdshow with and without the qpel-bug fixing option.

did i get something wrong? i'd really like to use that feature..

Well - I guess you got the wrong idea of what was fixed... in your case, it's not the XviD codec being buggy (since decoding with the "use XviD" option doesn't exhibit the smearing bug), but the libavcodec code that the MP4-decoding part of ffdshow is based on.

So in order to fix your problem, you've got to wait for a new release of ffdshow, not XviD.

(Ideally, I'd have posted this 5 days ago, but who'd thunk that new accounts can only post 5 days after being created... :rolleyes: )

athos
13th February 2003, 17:01
I just wanted to say that I have experienced some problems myself with the latest (official) alpha, namely crashing of Windows Explorer when creating thumbnails for divx3 clips. If this troubles you, I would recommend the build ffdshow-20021213, as this one seems to run fine on my system.

NuclearFusi0n
13th February 2003, 19:04
so when's the new build coming out? anybody? bueller? bueller?

raistlin2k
13th February 2003, 19:29
anyone compared FFDshow to 3ivx-Decoder?

Thy offer both an automatic for CPU-load on post-processing, but which one is better in quality, performance??

For me FFDshow needs less CPU-power, moreover I think 3ivx has sometimes problems with Divx5.03-encoded samples, sometimes video slows down a lot, almost stops, but I guess it's not a CPU-problem, but DivX changed something in their encoder, old DivXDec 5.02 is unable to play my 5.03-encodes, stops always at same position.

Any results to share?

Raist

athos
13th February 2003, 19:51
Originally posted by NuclearFusi0n
so when's the new build coming out? anybody? bueller? bueller?
As soon as I am able to compile a build that actually works. The latest CVS entries indicates that milan is trying to get the colorspace stuff to work now, so lets keep our fingers crossed.

NuclearFusi0n
13th February 2003, 20:24
Originally posted by athos
As soon as I am able to compile a build that actually works. The latest CVS entries indicates that milan is trying to get the colorspace stuff to work now, so lets keep our fingers crossed.
<3

KillaByte
1st April 2003, 01:34
Hi folks.

I got a nasty overlay problem here.
When I switch to fullscreen playback the video gets very blocky (meaning that you can count the pixels - no blurring).

This can only be fixed by switching to 32 bpp.

Seems to be an ffdshow problem because with DivX 5.0.2 as decoder everything looks fine in 16 bpp.


Is this issue on the "to be fixed" list already?

karl_lillevold
3rd April 2003, 06:28
ffdshow works really well, except on one of my systems. I was curious if anyone else has noticed this problem.

With ffdshow installed, opening any AVI file takes several (>5) seconds on my dual 2.2 GHz work system. This is true even for uncompressed files with no audio. With ffdshow uninstalled, it is almost instantaneous. On another system, with pretty much the same setup, but much newer so less DirectShow "clutter" I guess, there is no problem.

The problem is player independent and occurs with MPC, mplayer2, graphedit.

i have tried ffdshow-20021213, and ffdshow-20030103, and both have the problem, on this particular system.

Are there any known problems interacting with other filters, or suggestions where to look? Maybe I will just get the source, see if I can build it, and then run it in the debugger.

Does anyone know a way to clean up DirectShow filters or detect problems?

Latexxx
3rd April 2003, 06:46
With some version of Graphedit came a program wich showed all direct show filters and their filenames. After checking the file name just press start/run.. and write regsvr32 /u blahblahblaa.dll

Defiler
3rd April 2003, 06:54
I have the exact same problem, karl. Check out this registry access log. ffdshow stalls reading this key on my dual Xeon. The second column is a timestamp. i.e. it takes almost 5 seconds to deal with the first ffdshow registry key.


7501 15.90788454 explorer.exe:1536 QueryValue HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Fonts NOTFOUND
7502 15.90790450 explorer.exe:1536 CloseKey HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders SUCCESS Key: 0xE3FAC430
7503 19.65462379 zplayer.exe:71616 CloseKey HKLM\Software\GNU\ffdshow SUCCESS Key: 0xE1FD4818
7504 19.65467872 zplayer.exe:71616 OpenKey HKLM\Software\GNU\ffdshow SUCCESS Key: 0xE1FD4818
7505 19.65470450 zplayer.exe:71616 QueryValue HKLM\Software\GNU\ffdshow\xvid SUCCESS 0x1

In comparison, using the DivX 5.03 Pro decoder, the equivalent section of the log takes less than a second to finish. No startup lag.

NuclearFusi0n
3rd April 2003, 13:04
Originally posted by athos
As soon as I am able to compile a build that actually works. The latest CVS entries indicates that milan is trying to get the colorspace stuff to work now, so lets keep our fingers crossed.
how's the compiling working? sorry to bother :p

karl_lillevold
3rd April 2003, 19:23
Originally posted by Defiler
I have the exact same problem, karl. Check out this registry access log. ffdshow stalls reading this key on my dual Xeon. The second column is a timestamp. i.e. it takes almost 5 seconds to deal with the first ffdshow registry key.

Strange co-incidence. I also have a dual xeon, but it appears that's not related to the problem, at least not here.

I ran regmon, and saw similar numbers you showed, there were two 2 second pauses while mplayerc was starting up, in both cases right before accessing this GNU key. This, however, did not really reveal anything, so then I tried filemon (also from sysinternals, what a great collection of tools!)

Then I found the following:

10:03:52.977 rundll32.exe:996 FASTIO_QUERY_OPEN C:\Program Files\ffdshow\ffdshow.ax SUCCESS
10:03:52.977 rundll32.exe:996 IRP_MJ_CREATE C:\WINDOWS\system32\xvid.dll SUCCESS Attributes: Any Options: Open
10:03:52.977 rundll32.exe:996 IRP_MJ_CLEANUP C:\WINDOWS\system32\xvid.dll SUCCESS
10:03:52.977 rundll32.exe:996 IRP_MJ_CLOSE C:\WINDOWS\system32\xvid.dll SUCCESS
10:03:52.977 System:4 IRP_MJ_QUERY_INFORMATION C:\WINDOWS\system32\xvid.dll SUCCESS FileNameInformation
10:03:54.289 StyleXPService.:1016 FASTIO_QUERY_OPEN C:\WINDOWS\System32\UXTHEME.DLL SUCCESS
10:03:54.289 StyleXPService.:1016 FASTIO_QUERY_OPEN C:\WINDOWS\System32\UXTHEME.DLL SUCCESS
10:03:54.289 StyleXPService.:1016 FASTIO_QUERY_OPEN C:\WINDOWS\System32\UXTHEME.DLL SUCCESS
10:03:54.289 StyleXPService.:1016 FASTIO_QUERY_OPEN C:\WINDOWS\System32\UXTHEME.DLL SUCCESS
10:03:54.977 rundll32.exe:996 FASTIO_QUERY_OPEN C:\Program Files\ffdshow\ffdshow.ax SUCCESS
10:03:54.977 rundll32.exe:996 FASTIO_QUERY_OPEN C:\Program Files\ffdshow\ffdshow.ax SUCCESS
10:03:54.977 rundll32.exe:996 FASTIO_QUERY_OPEN C:\Program Files\ffdshow\ffdshow.ax SUCCESS
10:03:54.977 rundll32.exe:996 FASTIO_QUERY_OPEN C:\Program Files\ffdshow\ffdshow.ax SUCCESS

Notice the long delay right after accessing xvid.dll...
So then I un-installed XviD and that resolved the problem.
No more delay from having ffdshow installed while playing any AVI files.

This time I think I will leave XviD un-installed. It's not needed for playback. This in fact shows it creates even more playback problems (see below), and I can always install it again for any encoding comparisons with RV9 ;)

I also had another problem with XviD: it would break playback of YUY2 and YV12, claiming support for those formats, but then not displaying video.

The XviD version I had was from around mid-March, so it's pretty recent.

Blight
4th April 2003, 16:42
Karl:
Seeing as you seem to be working for Real, what are the chances of some sort of DirectShow integration for the RealAudio/Video formats? Maybe into FFDShow directly?

karl_lillevold
4th April 2003, 17:24
oh, if I could have a dollar for every time that question is asked :)
See for instance this reply : http://forum.doom9.org/showthread.php?s=&postid=284206&highlight=API#post284206

An RV9 DS filter would be very nice, but it takes time to convince people around here how useful this would be for making it easier to use RV9, with regards to encoding tools, multiplexing tools, players, alternative audio formats, porting etc. It is being discussed, but I can not give a timeframe, or even whether or not the codec APIs will be published.

Defiler
5th April 2003, 01:08
Good work finding a resolution, karl.
For me, uninstalling XviD isn't acceptable.. so I'm just going to live without ffdshow for now.

P.S. Dual Xeon users represent!

Blight
5th April 2003, 18:27
karl:
just a wrapper would be nice. Something that would act as a source filter with an RGB/YUV output directly to renderer and a 2nd pin for an audio renderer.

I would like to support RealAudio/Video in Zoom Player, but helix is in C++ and ZP is in delphi. And even if you did convert the headers to Delphi, the whole issue of a dual-interface for controlling video is just asking for trouble.

Emp3r0r
5th April 2003, 22:51
OT: the whole issue of a dual-interface for encoding video is just asking for trouble. I just finally tried WM9 because it workes in VirtualDub and ZoomPlayer. It takes experimenting but I am being slowly impressed.

Blight
6th April 2003, 10:09
I would be wary of WMF, according to Gabest which seemed to have a better look into the API, you need special API code to enable some of the features (greater than 2 channel audio for one).

If microsoft wants to push this format forward, it shouldn't require special API commands just to access such features, instead they should be accessible through a simple filter property dialog.

There are also other API issues involved with WMF (you need to manually create the reader filter, there's scripting support that requires special code ontop of the standard reader, it doesn't support stardard directshow rate controls, etc...)

Shayne
6th April 2003, 17:58
In free we trust for it is the good hearts that produce what is right in this world .............

Peace

athos
6th April 2003, 19:39
Originally posted by NuclearFusi0n
how's the compiling working? sorry to bother :p
Tried again yesterday, with more or less the default compiling options (in case I tried to use some flag that screwed everything up). Still locks the mediaplayers. Milan tells me the stable branch (V1) is working fine for him, so I guess I am doing something wrong, but I cant figure out what.

The Link
6th April 2003, 20:05
@athos:
Did you also try using mingw (means gcc)? I think milan looks after compatability (he was the one telling me how to compile xvid with mingw).

Regards,

The Link

kilg0r3
8th April 2003, 12:43
@milan

it would be very cool if you culd find the time to debug playback of 'packed bitstreams':)

thanks for all

Blight
10th April 2003, 21:33
Severe Bug:
ffdshow crashes when the resolution changes on the fly (like when hooked up into WinDVD and playing PAL content).

This prevents the flexibility of processing dvd content with certain decoders.

wannabe
6th October 2003, 16:16
Hi

I can confirm the Qpel over-smearing in the latest FFDSHOW(20030927) with Koepi's 24062003 XviD Build, even if i use "XviD iDCT"!! The Smearing effect is not that bad with other iDCT's but still not as good as with 24062003 with 24062003...

i made still image captures for your viewing pleasure:

http://www.geocities.com/ungi197/24062003_with_Simple.JPG
http://www.geocities.com/ungi197/24062003_with_XviD.JPG
http://www.geocities.com/ungi197/24062003_with_24062003.JPG


It looks like that FFDSHOW is unable to playback 24062003's quarterpel properly with any of its iDCTs. "Simple iDCT" looks very bad, "XviD iDCT" is a little bit better, but still not as good as with 24062003 with 24062003 playback.

PS: Pls see for yourself, but dont open the pages too many times because geocities transfer is limited for every hour, and i couldnt attach the pictures to the message because its not allowed anymore.

If the .jpgs wouldnt load first, hit CTRL+F5 a few times, geocities is slow...

Gaia
6th October 2003, 16:33
Originally posted by wannabe
Hi

I can confirm the Qpel over-smearing in the latest FFDSHOW(20030927) with Koepi's 24062003 XviD Build, even if i use "XviD iDCT"!! The Smearing effect is not that bad with other iDCT's but still not as good as with 24062003 with 24062003...

i made still image captures for your viewing pleasure:

http://www.geocities.com/ungi197/24062003_with_Simple.JPG
http://www.geocities.com/ungi197/24062003_with_XviD.JPG
http://www.geocities.com/ungi197/24062003_with_24062003.JPG


It looks like that FFDSHOW is unable to playback 24062003's quarterpel properly with any of its iDCTs. "Simple iDCT" looks very bad, "XviD iDCT" is a little bit better, but still not as good as with 24062003 with 24062003 playback.

PS: Pls see for yourself, but dont open the pages too many times because geocities transfer is limited for every hour, and i couldnt attach the pictures to the message because its not allowed anymore.

If the .jpgs wouldnt load first, hit CTRL+F5 a few times, geocities is slow...

Read the rules. Trible posting. You have posted this to atleast 3 threads.

wannabe
6th October 2003, 19:01
Read the rules. Trible posting. You have posted this to atleast 3 threads


I ve posted Something(!) like this 3 threads, not the same. I didnt wanned to flood sorry. There are some elements that are same in my posts but i investigated the problem from different aspects according to the Thread's subject. This problem concerns Koepis latest build as much as ffdshow filter, so i thought both programs developers needs to know about it. Pls be a little bit more constructive, look at the samples and tell your opinion instead of attacking me by default.

Isochroma
16th July 2005, 03:20
with that nice ffdshow: it won't allow the player app to decode the correct aspect ratio for either mkv files that use the values in the container, or mp4 files (native or embedded in mkv) that contain aspect ratio information...

Elic
16th July 2005, 11:49
Isochroma
I had the same problem with mkv. I had LightAlloy 2.9 and ffdshow-10041012, and I solved this problem by several times clicking on ffdshow's "Use overlay mixer" on "Output" tab. Hope it wil be useful to you too :)