Log in

View Full Version : dffshow filter


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

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.