View Full Version : ffdshow tryouts project: Discussion & Development
clsid
13th August 2008, 14:14
If it's not that much of a hassle, then add it, I have some old encodes that use it.
It's not easy. I will attempt it later this week.
iron2000
13th August 2008, 15:48
Sample file as in the file that is played?
For me is any MKV file with Vorbis audio.
One is the Slayers Revolution anime from SS-Eclipse fansub.
Another is Zettai Karen Children from Deculture fansub.
Theres a lot more.
Inventive Software
13th August 2008, 16:03
Sorry, can't help with "fansubs" or similar downloaded material. Consult rule 6 for more information. If you don't use it in day-to-day encoding, you've no need for it. Go use CoreVorbis.
iron2000
13th August 2008, 17:21
Ok understood.
Thanks anyway.
vlada
13th August 2008, 22:47
Does anyone here use the VorbisGain option?
Yes, I do. It is a very important feature for me, when listening to music. But usually I use foobar2000 which has it's own decoder. But for a DirectShow player it might be important.
On the other hand there are is only one common DirectShow music player - WMP. Next year maybe AmaroK will become popular. But both players have their own solution to equalize volume. WMP has some proprietary solution, AmaroK applies VorbisGain (ReplayGain) during playback.
Anyway ReplayGain support is part of Vorbis specification AFAIK. So it should be implemented, I think.
thuan
14th August 2008, 12:02
@Inventive Software: Leaving fansub aside, a bug is a bug in libavcodec vorbis decoder. You can just make a sample yourself using the latest oggenc(2). It doesn't work anywhere AFAIK. And if you ask for a sample, I'd just say what can I upload without breaking rule 6, is it some thing I made myself?
EDIT: @clsid: Thank you, your latest build fixed this problem.
pitch.fr
14th August 2008, 19:36
is there a way to get TWO Avisynth filters in a row ?
Ideally I'd like to do :
1) LSF in YV12 in Avisynth
2) unsharp masking in YV12
3) ConvertToRGB32 and some RGB32 filters in Avisynth
I've tried to use both the "ffdshow Video Decoder" and the "ffdshow Raw Video Filter", but they seem to use the same settings :(
and if I do it all in ffdshow, it does YV12(source)>RGB32(LSF+ConvertToRGB32)>YV12(unsharp masking)>RGB32, which ruins the PQ and the CPU cycles...
clsid
14th August 2008, 21:06
Not possible. You'll have to find a way to do unsharp masking in Avisynth. I assume there is an Avisynth plugin for that?
pitch.fr
14th August 2008, 21:27
yes, this is identical to the unsharp masking in ffdshow(based on neuron2's code) :
VD_UnsharpMask(diameter=3,strength=__,threshold=0)
but this plugin code is vastly unoptimized and not usable in real time at all(event with MT) :(
that'd be cool if ffdshow was modular, and you could use several times the same filter :)
yesgrey
15th August 2008, 00:11
I think you could use multiple instances of ffdshow... one after the other. See tab Directshow control. I think I have run it one time, without wanting it, and then disabled it.
pitch.fr
15th August 2008, 01:13
yes, but you're never sure of what order they'll be opened in.
and they would all use the same settings.
but that's OK, unsharp masking prior to LSF looks good too.
and with my 3.3Ghz Q6600, I can run LSF and DDCC in real time to get SMPTE-C gamut conversion(the native gamut of DVD/BD) :D
Avisynth support in ffdshow is really awesome :)
and I've recently found out that doing 24/96 upsampling in AC3filter was multithreaded, 96KHz upsampling in ffdshow is a lot more CPU/jitter intensive.
bottom line is : a +3Ghz Q6600 is like the ultimate CPU to use ffdshow+avisynth :)
http://pix.nofrag.com/7/b/4/ba67a6e00fe1d143238978fa776c4tt.jpg (http://pix.nofrag.com/7/b/4/ba67a6e00fe1d143238978fa776c4.html)
http://pix.nofrag.com/7/b/9/106cf2f94eaec28a0da84a6ddc5e0tt.jpg (http://pix.nofrag.com/7/b/9/106cf2f94eaec28a0da84a6ddc5e0.html)
besides, the ICL10 versions of ffdshow seem a bit faster, thanks clsid!
Rumbah
15th August 2008, 14:40
I just ran into a problematic sample but I don't know if it's the fault of ffdshow, Avisynth or the stream itself.
If I play the original video file in Virtualdub via ffdshow VFW it works. The playback with FFPlay also works. But if I open the video via Avisynth, the ending gets corrupted (and I get a green first frame). I'm using ffdshow beta 5. I did a test encode with the video to show the corrupted results I get.
I tried the latest version (rev 2079) but the problem still isn't gone. If I can provide any further information that helps just tell me ;)
clsid
15th August 2008, 15:12
The likelihood of your problem being fixed any time soon is exactly zero. Reason: there are no active developers in the ffdshow project at this moment.
The only updates that are currently being done to ffdshow are related to libavcodec.
Rumbah
15th August 2008, 15:57
The likelihood of your problem being fixed any time soon is exactly zero. Reason: there are no active developers in the ffdshow project at this moment.
That's sad to hear.
Then I'll just have to use FFmpegSource as I don't get the error that way.
iron2000
15th August 2008, 18:21
Found out that my Vorbis problem is with the changes in the kX DSP.
Problem now solved.
pitch.fr
16th August 2008, 14:32
is there a way to get some good DeHalo/Dering in ffdshow ?
I've tried the Dering in the "post processing" filter, but it isn't working too well on strongly halo'ed videos.
and the Avisynth filters I've found are slooooooow as hell.
you see, the Gothika BD is just unwatchable :
http://pix.nofrag.com/2/9/a/e9d735b179b19cfc592b032fc26dbtt.jpg (http://pix.nofrag.com/2/9/a/e9d735b179b19cfc592b032fc26db.html)
Mercury_22
16th August 2008, 18:25
Hi !
Please help me :helpful: I have an old problem : I can't play (only black screen with sound) many mpeg4 / DX50, (encoder XviD build 37) files on Vista & EVR output
This problem apperas only with Intel video "cards" and EVR or Evr custom output (=Vista).
If I use DivX codec or any player with VMR output on vista (= NO WMP) or any other video card I have no problem !
So i'm thinking if divx it's working why ffdshow isn't ?
Here is a sample Mpeg4Test (http://rapidshare.com/files/121074851/Mpeg4Test.avi.html) or Mirror (http://www.dump.ro/download.php?file=Testmpeg4.avi&id=MzBmNzhiNzhlYjZiOGQ3ZGU5OGJiZjkzODMxMTk2MmI=&download=true)
:helpful: :thanks:
Edit: solved thanks to clsid : I've just disabled YV12 in ffdshow output settings !
Why it's ffdshow the only one with Forced by default YV12 Colorspace output ? (DivX or Xvid don't have this by default)
Eragon4ever
16th August 2008, 21:58
http://samples.mplayerhq.hu/V-codecs/FPS1/v5/fraps-v5-bouncing-balls.avi
This video does not play correctly in ffdshow, it does however in ffplay (thanks for updating the build, clsid). This is how it should look like:
http://img401.imageshack.us/img401/396/snap0010eu5.png
In ffdshow the on-screen text is light blue and the balls are red<->blue.
clsid
17th August 2008, 00:12
Yes, colors are wrong, even with an up-to-date version of libavcodec. I don't know why. Perhaps a colorspace issue. I have no idea how to fix it.
pjo
18th August 2008, 06:14
Hello folks. I am trying to find out why AAC5.1 audio is not played ok with MPC.
If MPC setting is changed not to use ffdshow, it plays ok.
http://rapidshare.de/files/40262409/00001cutted.m2ts.html
This is the first portion of the file. The first few seconds portion is an ending of a news show with mono AAC (probably), then the main show starts with AAC5.1.
After cutting the news portion with tsMuxeR, the main show is really AAC5.1 when played with MPC without using ffdshow.
Does ffdshow support AAC5.1 ?
pjo
pjo
18th August 2008, 12:56
Hello folks. I am trying to find out why AAC5.1 audio is not played ok with MPC.
If MPC setting is changed not to use ffdshow, it plays ok.
http://rapidshare.de/files/40262409/00001cutted.m2ts.html
This is the first portion of the file. The first few seconds portion is an ending of a news show with mono AAC (probably), then the main show starts with AAC5.1.
After cutting the news portion with tsMuxeR, the main show is really AAC5.1 when played with MPC without using ffdshow.
Does ffdshow support AAC5.1 ?
pjo
I was able to cut the first part of the mono news show segment of the .m2ts file with MurdocCutter. And then it has only AAC5.1 part. It plays ok with ffdshow or AAC decoder. Checking "downmix to stereo" does not matter in this case.
VLC and MPC with AAC decoder can cope with the sudden change of the audio channel format. MPC with ffdshow does not cope with this change.
pjo
tetsuo55
19th August 2008, 12:51
For which codecs can ffdshow be considered as Best of the pack? i know that its Divx/Xvid decoder is the fastest while maintaining the same quality.
What about the other audio/video codecs?
Sharktooth
19th August 2008, 13:21
there is no Best... as usual. however i use it for everything...
tetsuo55
19th August 2008, 14:20
well in this case Best could be used because:
These applications are all doing the same thing in the same way to reach the exact same result. all things equal it comes down to the one that uses the least CPU time.
The only problem is the output image is not always bit-for-bit identical (usually this means a bug in the decoder, better/worse post processing(which im not asking about at this time) or better/worse handeling of errors in the bitstream)
i once read a mpeg1 comparison where one of the decoders "fixed" the bitstream errors with a psychovisual repair of the broken pixels. It used a bleed effect to mask them, kinda like Philips Ambilight
Sharktooth
19th August 2008, 14:35
nope... "best" cant apply coz i may prefer PP options while others may prefer the speed or the multithreading or other factors/features.
"best" is ALWAYS subjective and there is NO case where the word "best" is appopriate except "best is what's best for yourself". hence the forum rule number 12...
tetsuo55
19th August 2008, 14:46
nope... "best" cant apply coz i may prefer PP options while others may prefer the speed or the multithreading or other factors/features.
"best" is ALWAYS subjective and there is NO case where the word "best" is appopriate except "best is what's best for yourself". hence the forum rule number 12...
Fair enough.
Question:
Which of the codecs in FFdshow meet the following requirements for me:
*Has bit-for-bit equal image quality to other decoders(Basically just displays the image as it was ment to be displayed)
*Has the fastest/equal decoding engine when compared to the competition
*Has better/equal handling of broken files than competing decoders
*Has better/equal bitstream error handling than competing decoders(psychovisual fixes are a bonus)
I believe the post-processing engine in FFdshow is seperated from the codecs, so in this case the quality of post-processing does not matter. (if you happen to know the difference in quality for PP though please mention it)
Dark Shikari
19th August 2008, 14:54
*Has bit-for-bit equal image quality to other decoders(Basically just displays the image as it was ment to be displayed)H.264, since nearly no other lossy format has that (MPEG-4 ASP certainly doesn't), and FFDshow's support for VC-1 isn't totally complete.
tetsuo55
19th August 2008, 14:58
H.264, since nearly no other lossy format has that (MPEG-4 ASP certainly doesn't), and FFDshow's support for VC-1 isn't totally complete.
Hmm i didn't know that. The only way to compare would be PSNR between source and transcoded image played back with the available decoders for that format with all PP disabled
Dark Shikari
19th August 2008, 15:06
Hmm i didn't know that. The only way to compare would be PSNR between source and transcoded image played back with the available decoders for that format with all PP disabledNo comparison necessary, any format that uses DCT and doesn't specify an exact DCT approximation is inherently not bit-exact.
Sharktooth
19th August 2008, 15:06
the h.264 standard includes bit exact decoding. if the decoder isnt able to do it then it's not compliant.
you may be almost safe assuming the major h.264 known decoders are displaying the SAME picture.
tetsuo55
19th August 2008, 15:09
So for h264 you only have to compare the other features.
And for all the other codecs you have to do a PSNR check on a source and compressed file using all available decoders to find out which one produces and image closest to the original
No wonder almost no-one wants to do that
---
And thanks guys, i didn't know h264 rocked this much(it was already my personal favorite)
nm
19th August 2008, 22:58
i once read a mpeg1 comparison where one of the decoders "fixed" the bitstream errors with a psychovisual repair of the broken pixels. It used a bleed effect to mask them, kinda like Philips Ambilight
That was probably the MPEG-1/2 decoder in FFmpeg/libavcodec (and in ffdshow, if enabled): http://compression.ru/video/codec_comparison/mpeg-2_2006_en.html
It uses linear blending to cover broken macroblocks.
tetsuo55
19th August 2008, 23:09
That was probably the MPEG-1/2 decoder in FFmpeg/libavcodec (and in ffdshow, if enabled): http://compression.ru/video/codec_comparison/mpeg-2_2006_en.html
It uses linear blending to cover broken macroblocks.
Indeed!, does ffdshow use this for all codecs?
Mr VacBob
20th August 2008, 04:33
The important ones (mpeg-*) have it implemented. I think it's not really tuned for h264, though.
3ngel
20th August 2008, 14:41
I would like to signal a bug in the DTS-ES decoder.
With a DTS-ES 6.1 Discrete stream, the BackSurroundCenter channel is not decoded (field in the BackC of FFDshow is blank). Pheraps the ES extension is not recognized correctly?
I have samples stream to test, and this
http://www.sr.se/laddahem/multikanal/dts/norgeES.zip
that is said to be DTS-ES 6.1 Discrete.
Hope this help
clsid
20th August 2008, 15:50
I suspect the problem is that there is no BackC on the Volume page. Meaning that ffdshow probably just ignores any input on that channel. BackC is present on the Mixer page. So ffdshow should able to output to it (using a custom matrix).
Now you will have to find someone to add BackC to the Volume page. And no, I won't do it.
3ngel
20th August 2008, 16:16
But the problem, is that in the "Mixer" panel, even if i set "same as input" as matrix, the BackC rectangle channel remains blank so that means that the channel is not read at all at the first decoding stage of dts.
clsid
20th August 2008, 16:44
That's what I said. Noting is done with the decoded input on that channel. And there aren't multiple decoding stages. Audio gets decoded in a single step (by libdts) and the decoded audio is then processed by the filters in ffdshow.
Of course it is also possible that your file simply gets decoded as 5.1 by libdts.
3ngel
20th August 2008, 16:59
Of course it is also possible that your file simply gets decoded as 5.1 by libdts.
Yes, that's what i mean. Because i know that the discrete ES channel (BackC) is stored in a separate extension in the dts frame, pheraps for some reason that frame part is ignored by libdts.
So i was asking if someone can take a look at it :)
EDIT:
Ah, so you say the ES channel is decoded but ignored by the mixer and volume? But in this case would not every decoded (for axample from a 7.1 LPCM) BackC would be ignored?
clsid
20th August 2008, 17:59
I can confirm that libdts only supports regular DTS.
http://www.videolan.org/developers/libdca.html
None of the extensions (extra channels, 96/192kHz sample rates) have been implemented (and unfortunately the public standard provides only minimal information on them).
So there is no solution for your problem.
3ngel
20th August 2008, 18:16
I see, thanks for the info :)
What a pity btw :(
I suppose i'll have to search for some alternate dts decoder eheh
3ngel
20th August 2008, 20:18
Here i am again :)
Now first try to DTS-ES i've used use Sonic Decoder, and it effectly does decodes 6.1 channels.
But here cames two questions:
1) Why the BackL, BackC, BackR aren't considered when doing a DPLII downmixing? Here the screen
http://img373.imageshack.us/img373/6497/clipboard01cm6.png
As you can see they are 0,0,0 thus being eliminated instead of downmixed
2) What is the difference between a DPLII matrix and a Prologic Matrix? They seem identical
http://img229.imageshack.us/img229/6148/clipboard02da8.png
UPDATE:
These are the Matrix of Ac3Filter
Surround
http://img380.imageshack.us/img380/623/dpl1kn1.png
DPLII
http://img293.imageshack.us/img293/7411/dpl2ta7.png
These are from Wikipedia
http://img380.imageshack.us/img380/5731/25727837ww4.png
For the 6.1 Channels there is a specific Matrix called
Dolby Pro Logic IIx
UPDATE2:
And here it is directly from Dolby site the DPLIIx Matrix (at last from the phase point of view)
http://img169.imageshack.us/img169/2431/129025gc2.jpg
The BackC could be inserted between the Lb Rb offsiting them a bit
tetsuo55
22nd August 2008, 17:45
I decided to set everything to libvacodec(except h264). I did the same with the audio(except for AC3/DTS).
Reading the ffmpeg libvacodec changelogs it does seem that a lot of the supported codecs are faster or as fast as other decoders.
The only way its going to get any better if people use it and report bugs right?
I set postprocessing to :
Should i enable "automatic quality control"? its now set to preset all the way to the right.
mplayer>accurate deblocking
Should i enable "fix luminance" and "Full luma range"?
Then Decoder options:
IDCT: auto
Work around Encoder bugs: autodetect
Error resilience: very agressive
Error concealment: guess MVS + deblock
Are any of these settings hurting quality instead of helping? is there any setting i can/should increase or enable to increase it?
Ps it looks like Libvacodec supports more codecs than are selectable in ffdshow.
The ones i noticed because i personally want to use them is realmedia 3.0 up to 4.0
clsid
22nd August 2008, 19:19
All "automatic quality control" does is lower the amount of postprocessing if CPU usage is high.
Leave all those decoder options at their defaults. There is no benefit in changing them.
FFmpeg does not have working decoders for RV30/RV40 yet. Also, many of the formats that libavcodec supports can not be played in DirectShow, due to the lack of source filters for the files that contain those formats, so it would be pointless to add them to ffdshow.
pitch.fr
24th August 2008, 14:07
Is there a way to get artifacts-free deinterlace in ffdshow on NTSC Video 29.97fps DVD ?
I've read quite a lot about interlaced streams, and basically the 2 fields you get are not from the same original frame.....so perfect IVTC requires to do some time based computing and put back each FULL frame together by putting them back in the right order.
and it seems that BOB based deinterlacing schemes basically divide the vertical resolution/2, so blending is not quite an option as it ruins the original sharpness ?!
which leads to my original question : is there a way to get artifacts-free deinterlace on 29.97 NTSC video DVD ? apart from doing some dirty blending that will create artifacts and divide the vertical resolution/2 ? :(
I've tried the BOB thingies with a refresh rate that's the double of the frame rate, but that didn't yield good results either.
I've also tried several Avisynth deinterlacers......they prolly work really well, but they're really not meant for real time use :rolleyes:
Octo-puss
24th August 2008, 17:12
I noticed there's new type of package at downloads - albain's builds. How is that different from others?
clsid
24th August 2008, 18:28
It isn't different.
Octo-puss
24th August 2008, 18:37
What's the point then? Guess I'm missing something.
pitch.fr
24th August 2008, 19:33
well it's ICL10, and it's newer than the latest from clsid.
ICL10 builds are significantly faster on a C2D/C2Q :)
Octo-puss
24th August 2008, 19:58
I assume ICL10 is some kind of compiler?... programmer's voodoo or like that? :D
guess it works just as well as other builds on non-C2Ds?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.