View Full Version : ffdshow tryouts project: Discussion & Development
fastplayer
22nd March 2010, 18:32
No, I mean enabled. Post-processing an already post-processed (deblocked) video doesn't make much sense to me.
Eragon4ever
22nd March 2010, 18:49
The deblocking is part of any valid decoding. Therefore it is no post-processing IMHO. Filters should not be concerned by what the decoding of a certain codec does.
Is it normal that the postprocessing filter is applicable only to the following codecs :
In general case it is normal, strange is that DIVX missing in this list
STaRGaZeR
22nd March 2010, 20:48
I think you guys have a confusion between two deblocking filters. Albain is not talking about H.264's inloop deblocking, but the deblocking filter inside ffdshow's postprocessing filter. Nothing to do with each other. ffdshow's postprocessing filter is like any other filter like resize or subtitles, you apply it if you want to. Any restrictions would be illogical.
albain
23rd March 2010, 09:11
That's right, there are presets to apply those restrictions
Hello guys, I need some help : I spent a lot of time on this, I still don't understand why the postprocessing filter does not work correctly (I get a black picture when enabled)
Here is the source patch (http://damienbt.free.fr/ffdshow_ffmpeglibs_update10.patch), if one of you could have a look at it
libswscale seems to be okay now
libpostproc seems to be working on the deinterlacer part, but not on the deblocking (postprocessing) part.
The parameterts that are sent to the filter seem to be fine, so this has to be something inside the postprocess methods
Thank you for your help
_xxl
23rd March 2010, 16:44
In general case it is normal, strange is that DIVX missing in this list
Isn't missing:
case CODEC_ID_MPEG4
case CODEC_ID_XVID4
_xxl
23rd March 2010, 16:48
I think you guys have a confusion between two deblocking filters. Albain is not talking about H.264's inloop deblocking, but the deblocking filter inside ffdshow's postprocessing filter. Nothing to do with each other. ffdshow's postprocessing filter is like any other filter like resize or subtitles, you apply it if you want to. Any restrictions would be illogical.
Was removed in 2006 because H.264 has internal inloop deblocking and additional postprocessing wouldn't help.
STaRGaZeR
23rd March 2010, 18:18
Was removed in 2006 because H.264 has internal inloop deblocking and additional postprocessing wouldn't help.
Internal inloop deblocking is not a sustitute of a deblocking filter. Plus an H.264 stream can be encoded without it for any obscure reason, and it will probably look like garbage without any postprocessing.
EDIT: albain, your patch is password protected.
albain
23rd March 2010, 18:46
Internal inloop deblocking is not a sustitute of a deblocking filter. Plus an H.264 stream can be encoded without it for any obscure reason, and it will probably look like garbage without any postprocessing.
EDIT: albain, your patch is password protected.
Sorry : here is the right link (http://damienbt.free.fr/ffdshow_ffmpeglibs_update10.patch)
_xxl
23rd March 2010, 19:10
I think you guys have a confusion between two deblocking filters. Albain is not talking about H.264's inloop deblocking, but the deblocking filter inside ffdshow's postprocessing filter. Nothing to do with each other. ffdshow's postprocessing filter is like any other filter like resize or subtitles, you apply it if you want to. Any restrictions would be illogical.
We should ask H.264 experts on this forum.
albain
As you checking the postprocessing filter, please take a look on SPP Deblocking (and fast SPP deblocking in particular case), with full postprocessing enabled it very slow even on modern cpus, while on builds from near 2006-2008 it was a lot faster.
Of course, I taking into account grown of resolution in video files :)
clsid
23rd March 2010, 20:07
regarding releasing a new beta, I personally think that some of the new features are still a work in progress, and I still want to implement a default white list for DXVA like clsid suggested.
(we have to do this in order to avoid problems with many programs)Do you have any estimate when you will have time to work on this?
I have made an initial list of the most commonly used players:
"bsplayer.exe;ehshell.exe;gom.exe;graphedit.exe;graphedt.exe;graphstudio.exe;graphstudio64.exe;kmplayer.exe;mpc-hc.exe;mpc-hc64.exe;mplayerc.exe;wmplayer.exe;zplayer.exe;"
STaRGaZeR
23rd March 2010, 20:22
Sorry : here is the right link (http://damienbt.free.fr/ffdshow_ffmpeglibs_update10.patch)
Good, some issues fixed as you said: bicubic, gauss, the hangs and the missing list of filters fixed too :)
We should ask H.264 experts on this forum.
http://mewiki.project357.com/wiki/X264_Settings#no-deblock
Check "--no-deblock". Also note that x264's ultrafast preset has --no-deblock in it.
tal.aloni
24th March 2010, 14:05
@clsid
since I develop features in parallel, I have a main trunk directory and several non-svn directories.
with your latest changes, I can't build any of them.... :(
what should we do?
1>Performing Pre-Build Event...
1>SubWCRev : 'd:\Development\ffdshow\3330' is not a working copy
1>Compiling resources...
Edit:
maybe something like this?
@if ERRORLEVEL 6 goto :NoSubWCRev
p.s.
why update_version is pre-build event?
isn't it only needed for innosetup?
Tal
clsid
24th March 2010, 14:33
albain
As you checking the postprocessing filter, please take a look on SPP Deblocking (and fast SPP deblocking in particular case), with full postprocessing enabled it very slow even on modern cpus, while on builds from near 2006-2008 it was a lot faster.
Of course, I taking into account grown of resolution in video files :)The 'preset' slider controls how many passes the SPP deblocker performs. Set it to for example 2 or 3, and it will be much lighter on the CPU.
clsid
24th March 2010, 14:46
@clsid
since I develop features in parallel, I have a main trunk directory and several non-svn directories.
with your latest changes, I can't build any of them.... :(
what should we do?
1>Performing Pre-Build Event...
1>SubWCRev : 'd:\Development\ffdshow\3330' is not a working copy
1>Compiling resources...
Edit:
maybe something like this?
@if ERRORLEVEL 6 goto :NoSubWCRev
p.s.
why update_version is pre-build event?
isn't it only needed for innosetup?
Tal
The SVN revision is used in the file resource too (and in the future perhaps also on the About page in settings). So that is why it is done pre-build.
I am fixing it now.
tal.aloni
24th March 2010, 15:05
I am fixing it now.
Thanks,
for TortoiseSVN 1.6.7 (latest), the error code returned is 6 (SVN error), 10 doesn't work (seems like a bug on their side).
adding both 6 and 10 will be the best solution here.
Edit:
IF ERRORLEVEL construction has one strange feature, it returns TRUE if the return code was equal to or higher than the specified errorlevel.
here is the suggested fix:
@if ERRORLEVEL 6 if not ERRORLEVEL 7 goto :NoSubWCRev
@if ERRORLEVEL 10 if not ERRORLEVEL 11 goto :NoSubWCRev
clsid
24th March 2010, 15:20
In that case I will change it to:
if %ERRORLEVEL%==6
if %ERRORLEVEL%==10
rsd78
24th March 2010, 15:23
@developers
It would be great to release a new beta very soon.
Many things have been fixed since beta7 : DXVA2, HD audio, bluray subtitles support
I have nearly finished my work on libswscale and libpostproc libraries, but the commit should done only after this new beta.
What do you think ?
Albain, I apologize if I'm coming off as nagging (which is not my intent), but I'd love it if the issues with DXVA + ff/rew could be fixed before putting out an official beta (isn't that an oxymoron? :) )
To summarize for others (@Tetsuo for the mpc-hc splitter issue ?), using a player other than mpc-hc (i.e. Windows Media Center) using dxva + haali + ff/rew crashes. Using dxva + gabest + ff/rew works however gabest splitter (at least for mkvs) fails to consistently "see" the subtitle/audio streams (using Albain's Media Control).
tal.aloni
24th March 2010, 15:29
In that case I will change it to:
if %ERRORLEVEL%==6
if %ERRORLEVEL%==10
seem to work as well.
Thanks!
stax76
24th March 2010, 16:13
@clsid
Please add StaxRip to the whitelist.
tal.aloni
24th March 2010, 16:32
this patch makes the compatibility manager ("show dialog when an unknown application tries to load ffdshow") independent and not shared between ffdshow / DXVA / audio decoder,
we also enabled here a short DXVA whitelist.
http://iknowu.net/files/public/ffdshow/DXVA/DXVA-Compatibility.patch
albain
24th March 2010, 17:45
Albain, I apologize if I'm coming off as nagging (which is not my intent), but I'd love it if the issues with DXVA + ff/rew could be fixed before putting out an official beta (isn't that an oxymoron? :) )
To summarize for others (@Tetsuo for the mpc-hc splitter issue ?), using a player other than mpc-hc (i.e. Windows Media Center) using dxva + haali + ff/rew crashes. Using dxva + gabest + ff/rew works however gabest splitter (at least for mkvs) fails to consistently "see" the subtitle/audio streams (using Albain's Media Control).
I don't reproduce the crash anymore in the last revisions. Tested it in Windows 7 x64 + media center + Haali + DXVA mode + FF/RW on a H264 720p mkv
rsd78
24th March 2010, 17:53
I don't reproduce the crash anymore in the last revisions. Tested it in Windows 7 x64 + media center + Haali + DXVA mode + FF/RW on a H264 720p mkv
Thanks Albain, I will test again. I was using not the latest version of Haali before so I will try to duplicate.
Any chance of finding a work around for the subs/audio stream issue with the mpc-hc mkv splitter? I'd prefer to use this splitter long term since it supports the HD Audio better.
Thanks again, for all your hard work.
clsid
24th March 2010, 17:56
@stax76
Doing so right now.
@tal
isCompMgrChanged is now obsolete right? If so, that could also be removed from the code.
The 'preset' slider controls how many passes the SPP deblocker performs. Set it to for example 2 or 3, and it will be much lighter on the CPU.
I knew about that, but "before" it works in 6 or 5 passes on most videos, and now, at twice powerful cpu - with only 3 or 4 :)
albain
24th March 2010, 22:39
Thanks Albain, I will test again. I was using not the latest version of Haali before so I will try to duplicate.
Any chance of finding a work around for the subs/audio stream issue with the mpc-hc mkv splitter? I'd prefer to use this splitter long term since it supports the HD Audio better.
Thanks again, for all your hard work.
I have applied a fix (rather a workaround) to media control, I have to post the new builds
rsd78
25th March 2010, 00:02
I have applied a fix (rather a workaround) to media control, I have to post the new builds
Awesome, thank you again Albain.
albain
25th March 2010, 16:49
FYI, I posted new media control builds on sourceforge and my website (6.0.4)
rsd78
26th March 2010, 00:24
FYI, I posted new media control builds on sourceforge and my website (6.0.4)
@Albain,
I upgraded to MediaControl 6.04, Ffdshow 3334, Gabest splitter 1764, latest Haali (I'm using Shark's pack basically), and unfortunately I"m having the same issues. This is on Win 7 x32. NOTE: All the issues I'm seeing are only when using ffdshow dxva and not ffdshow software decoding (everything works as expected in this case).
I tested a couple of 720p MKVs and I get crashes still using haali if I ff/rew for any length of time.
With the mpc-splitter, I still have the issues with it detecting the subs. Context menu doesn't pop up (because it didn't detect the individual embedded subs), but even when I manually go into the Sub/Audio stream selection menu of Media Control it simply has the Checkbox for "Show Subtitles". I can turn off/on subs correctly from there, however it fails to enumerate the embedded subs (i.e. it's just blank, it doesn't list any of the embedded subs. I haven't tried with external subs).
Hopefully someone else can confirm what I'm seeing, but if you need logs/info please let me know. Sorry this has been a persistent problem, but I do appreciate the effort you have put into it.
EDIT: Also I noticed a small Media Control bug I think. It kept failing to detect ffdshow dxva running even after applying the Recommended Configuration. I looked into the settings and noticed that in the ffdshow dxva control/inputs settings were not set to use "Remote Control API" and the "User Defined Settings". I think your "Apply Min/Recommended Changes" buttons seemed to only do this for regular ffdshow. Once I made these changes MediaControl detected ffdshow dxva.
EDIT2: Another note/bug with MC. From your front page the Download button goes to an error page (not found). I had to download it manually through Sourceforge. Also on Sourgeforge the current version listed is 6.02, I had to go to show all files to get to 6.04.
Mtz
26th March 2010, 04:18
I'm using Subtitle Workshop from many years.
Starting with ffdshow rev. 3314 I always have this error:
http://thumbnails4.imagebam.com/7352/1af96d73515640.gif (http://www.imagebam.com/image/1af96d73515640)
so I cannot use Subtitle Workshop to sync the subtitles.
Please fix this error because I cant use any newer version of ffdshow after rev. 3309.
enjoy,
Mtz
albain
26th March 2010, 08:35
Ok, I'll fix those 2
About DXVA + Haali + FF/RW : I'll make some deeper tests with 720p mkv to reproduce it
The only difference with you is that I own windows 7 x64
STaRGaZeR
26th March 2010, 14:34
albain, if you still don't have a good solution for it can you tell me what to change in the code to disable the only 2 change of codecs when dealing with TrueHD and AC3 for the time being? A lot of European Blu-ray titles have a TrueHD English track and then all the others in standard DD, and changing between them is driving me insane, having to reopen the movie. Or at least can you tell me how to increase the number of allowed changes? Thanks!
rsd78
26th March 2010, 17:33
Ok, I'll fix those 2
About DXVA + Haali + FF/RW : I'll make some deeper tests with 720p mkv to reproduce it
The only difference with you is that I own windows 7 x64
Thanks Albain.
Out of curiosity, any idea why the latest MediaControl did not fix that issue with the mpc-splitter? What was it supposed to do?
TFM_TheMask
26th March 2010, 19:25
@Albain: Did you by any chance had a look at the bug in the dts and ac3 passtrough when connecting it to the filewriter filter to extract the original AC3 or DTS stream?
albain
26th March 2010, 23:42
@Stargazer : a good solution must be thought according to the following.
- NewSegment event is raised when a there is a seek or when there is a stream switching
- The same stream can hold AC3 blocks & TrueHD blocks or DTS blocks with DTSHD blocks. So the audio parser must be put in the situation where the blocks it scans may not correspond to the resulting stream format (may be TrueHD if meets AC3 block or DTSHD if meets DTS core block)
So the right solution would be to scan for the stream format only a few seconds after a newsegment is raised. The solution is here but I don't have the time for now (as for new ffmpeg libraries)
Currently the audio parser stops scanning for the stream format after 2 changes which is not the best solution I agree
@rsd78 : I have changed the way media control scans the streams.
Formerly the streams were scanned for only once, now they are scanned anytime you raise the a menu that needs access to it.
The MPC bug is not fixed yet, this is a workaround : so if the streams don't appear at first, this is because the MPC splitter did not detect them. You have to wait a few seconds that the splitter detects them and then raise the Media Control menu
@TFM_TheMask : no, sorry
STaRGaZeR
27th March 2010, 00:20
@Stargazer : a good solution must be thought according to the following.
- NewSegment event is raised when a there is a seek or when there is a stream switching
- The same stream can hold AC3 blocks & TrueHD blocks or DTS blocks with DTSHD blocks. So the audio parser must be put in the situation where the blocks it scans may not correspond to the resulting stream format (may be TrueHD if meets AC3 block or DTSHD if meets DTS core block)
So the right solution would be to scan for the stream format only a few seconds after a newsegment is raised. The solution is here but I don't have the time for now (as for new ffmpeg libraries)
Currently the audio parser stops scanning for the stream format after 2 changes which is not the best solution I agree
Thanks for the detailed explanation. Can you tell me how to change ffdshow's code to stop scanning after, let's say, 50 changes instead of 2? If it's complicated forget about it, but if it's changing a 2 for a 50 somewhere in the code please tell me so I can live with my own builds until you have time to do the right thing :D
rsd78
27th March 2010, 01:03
@rsd78 : I have changed the way media control scans the streams.
Formerly the streams were scanned for only once, now they are scanned anytime you raise the a menu that needs access to it.
The MPC bug is not fixed yet, this is a workaround : so if the streams don't appear at first, this is because the MPC splitter did not detect them. You have to wait a few seconds that the splitter detects them and then raise the Media Control menu
Thanks Albain. Unfortunately it still doesn't seem to work for me. I played an mkv that had 5+ sub streams in it, waited 60 seconds into it, got into the menu and still did not show the individual sub streams.
albain
27th March 2010, 10:09
Thanks Albain. Unfortunately it still doesn't seem to work for me. I played an mkv that had 5+ sub streams in it, waited 60 seconds into it, got into the menu and still did not show the individual sub streams.
Do the streams appear within the MPC splitter menu ?
albain
27th March 2010, 10:10
Thanks for the detailed explanation. Can you tell me how to change ffdshow's code to stop scanning after, let's say, 50 changes instead of 2? If it's complicated forget about it, but if it's changing a 2 for a 50 somewhere in the code please tell me so I can live with my own builds until you have time to do the right thing :D
It is located inside TaudioParser.cpp. I don't have the code here but there are comments to describe the behaviour (I think this is located at the end of the file)
albain
27th March 2010, 10:13
I'm using Subtitle Workshop from many years.
Starting with ffdshow rev. 3314 I always have this error:
http://thumbnails4.imagebam.com/7352/1af96d73515640.gif (http://www.imagebam.com/image/1af96d73515640)
so I cannot use Subtitle Workshop to sync the subtitles.
Please fix this error because I cant use any newer version of ffdshow after rev. 3309.
enjoy,
Mtz
Do you have the exact faulty revision ? It would help a lot if you could narrow it down a little more
Only ffmpeg updates were made between rev 3309 and 3314
rpm7200
27th March 2010, 14:52
when i enable lfe croosover libavcodec is using 32 bit floating point but when i don't use lfe croosover, libavcodec is using 16 bit integer. is this a bug?
albain
27th March 2010, 15:04
Thanks for the detailed explanation. Can you tell me how to change ffdshow's code to stop scanning after, let's say, 50 changes instead of 2? If it's complicated forget about it, but if it's changing a 2 for a 50 somewhere in the code please tell me so I can live with my own builds until you have time to do the right thing :D
Hi again, can you try this build (http://damienbt.free.fr/ffdshow_rev3335_201011_dbt_.exe) and let me know if this fixes this issue ?
rsd78
27th March 2010, 18:27
Do the streams appear within the MPC splitter menu ?
If I right click on the ffdshow dxva tray icon and then go to Subtitle Sources, yes I do see the list of individual subs while playing a movie.
After doing that I checked with Media Control and it still didn't enumerate those same subs from the Media Control Menu (doesn't list any individual streams).
STaRGaZeR
27th March 2010, 19:11
Hi again, can you try this build (http://damienbt.free.fr/ffdshow_rev3335_201011_dbt_.exe) and let me know if this fixes this issue ?
No, it doesn't :(. In an MKV with AC3 and THD, changing from the AC3 track to the THD track results in silence, ffdshow reports 621 kbps ac3 (liba52). If I change back to the AC3 track I get silence too, with the same message. Info & CPU is empty in both cases.
albain
27th March 2010, 20:10
No, it doesn't :(. In an MKV with AC3 and THD, changing from the AC3 track to the THD track results in silence, ffdshow reports 621 kbps ac3 (liba52). If I change back to the AC3 track I get silence too, with the same message. Info & CPU is empty in both cases.
Okay, I'll make a build with debug traces
I can't test it by myself because I don't have any HD receiver for now
EDIT : I also forgot something in my code, it should work with this build (I hope)
Here is the new link (http://damienbt.free.fr/ffdshow_rev3335_20100327_dbt_.exe) : build that should fix audio stream switching
Also I am going to post a build with the new ffmpeg swscale and postprocessing libraries : I don't reproduce the black picture with postprocessing enabled anymore (!). I just made a clean/rebuild all. Maybe I had some crap that was not up to date
Here is the link (http://damienbt.free.fr/ffdshow_rev3335_20100327_dbt_newlibs_beta9.exe) for the ffdshow build with the new ffmpeg libraries
Thank you for your feedbacks
STaRGaZeR
27th March 2010, 21:40
With the audio build: AC3-->THD results in silence, ffdshow reports 6xx kbps ac3 (liba52). But now if I change back to the AC3 track I get sound. It's like ffdshow doesn't detect the format change. Oh I forgot to say, I use analog audio, no bitstreaming so I can't test that.
I will report my findings with the new libraries beta in a moment.
EDIT, newlibs report:
RGB32:
- Luminance fix in picture properties, black screen. But wait, if you enable deband and you place it after picture properties everything is fine! The filter works and the image is not black. Maybe this can help you with debugging.
- Deinterlacing, same as luminance fix, it works perfectly fine but only if you put it before deband and you activate it, otherwise black screen with ffmpeg deints.
- Postprocessing with mplayer checked, I get black screen. Again if I activate deband after PP it works perfectly fine.
- mplayer temporal noise reducer in Blur, same as above, with deband after it it works fine.
- White shadow in DVD subs, still present. Not a problem with the libs, but still there.
YUY2:
With SD content, exact same issues as RGB32, but changing the black screens with the double speed but same number of frames issue I reported earlier. With HD content, exact same issues as RGB32 but changing the black screens with stuttering. Activating deband after the filters fixes the double speed and the stuttering.
NV12: black screen always. This time deband does nothing.
It looks like everything works OK with deband, maybe that filter does something that should be added in the other filters too. Find this thing and everything will work like a charm (at least the bugs I've found) :)
EDIT 2: Log (http://www.mediafire.com/?onzkyyhdmmr). MKV file with AC3 as primary audio. Then at about second 45 I change to the THD track, sound is gone. Then again at second 55 I change back to the AC3 track, sound is heard again. This log is done with "ffdshow_rev3335_20100327_dbt_.exe"
albain
27th March 2010, 23:28
Ok thanks, please post the debugview logs of the tests with AC3 <=> TrueHD switches
video_magic
28th March 2010, 00:59
@ rsd78:
Did you know there is a new Haali Splitter? 27-03-10
http://haali.su/mkv/
albain
28th March 2010, 11:04
Thanks stargazer
Here is a new build (http://damienbt.free.fr/ffdshow_rev3335_20100327_dbt_.exe) on the audio part
I disabled the jitter correction for TrueHD & MLP codecs
About the build with the new libraries, I don't understand, I really don't reproduce the black screen issues anymore. Although I used the same sample as before (which caused me black screen). The only thing that changed is I had to reformat my drive (so new fresh installation)
Have you tried a clean install ?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.