View Full Version : New ffdshow build (?)
clsid
28th September 2006, 12:57
List of known issues in revision 286:
1) VMnc and VP6F/FLV4 do not work. ffdshow isn't even placed in the DirectShow graph. (reported by clsid)
2) VC-1 crashes (FourCC wmva). (reported by clsid)
3) SVQ3 crashes when used in combination with Haali's MP4 splitter. Possibly not a ffdshow issue. (reported by Peuj)
4) Some SVQ3 files play with artifacts / color shifts / totally messed up picture. Same issues in FFplay. (reported by clsid, Peuj)
5) If there's an error in avisynth script in ffdshow, the error message is displayed on top of video. That's ok, but interestingly enough, even if I uncheck the whole avisynth page in ffdshow, the error message still remains. (reported by Egh)
6) When there's more than one audio-stream in the file and you're using ffdshow's built-in audio-switcher, ffdshow performs all audio post-processing on all of the streams, thus slowing it way down. (reported by flanger216)
7) When outputting the audio to AC3 using the ffdshow AC3 encoder there are a lot of downmix overflows. The sound seems to be distorted as if the volume is to high. (reported by TFM_TheMask)
8) Output queue enabled + VMR9 renderless + RGB32 + specific video cards + pause = blackout problem
9) Wavpack decoder crashes on this file (http://rapidshare.de/files/34646550/SoC__XviD_WavPack_MP3_-007.mkv.html). (reported by clsid)
10) The following encoders are possibly broken: MPEG 4, MPEG 1, MPEG 2, h.263, H.261 and DV. (please confirm) (reported by clsid)
ToDo:
1) Fix known bugs (duh!)
2) H.264 deblocking options should be moved to 'Decoder options' as single combobox with "standard deblocking, no b-frame deblocking, no deblocking" options in it. (suggested by Egh)
3) libavcodec vorbis needs updating
4) libavcodec SNOW encoder needs updating
Yong
28th September 2006, 13:46
TTA playback in ffdshow no longer working :o
tested with ttaspliter / halli media spliter with ffdshow_rev282_20060928_clsid.exe
haruhiko_yamagata
28th September 2006, 13:50
9) H.264 deblocking options should be moved to 'Decoder options' as single combobox with "standard deblocking, no b-frame deblocking, no deblocking" options in it. (suggested by Egh)
should be moved to ToDo.
As for encoder, I'm not good at it, but I've never succeeded in encoding in mpeg2.
clsid
28th September 2006, 15:29
TTA playback in ffdshow no longer working :o
tested with ttaspliter / halli media spliter with ffdshow_rev282_20060928_clsid.exeEdit: fixing it now. It seems that the ffmpeg decoding code doesn't work properly. The decoding code from True Audio Software that is used in official ffdshow SVN is working.
rev288 build (http://prdownloads.sourceforge.net/ffdshow-tryout/ffdshow_rev288_20060928_clsid.exe?download)
Jeremy Duncan
28th September 2006, 17:39
Revision 285
Bug fix : black out in only one frame movie
Now, it's fixed. Thank you for your report.
Works fine now.
Thank you !
bob0r
28th September 2006, 18:59
I have a question, before ffdshow starts to change a lot:
Developers, compilers and others involved, what are the next few steps for ffdshow?
Fixing the last known bugs and go for a "stable" build?
Or will development always go on?
I really want to update ffdshow on x264.nl, as i heard libav got faster with decoding, but when i do put a new version online, i prefer it to be pretty stable overall.
Please advice me!
Isochroma
28th September 2006, 19:43
Some weird idea: instead of removing x264 entirely, why not just remove the encoder, and provide an interface to the x264 commandline encoder? There would be a space/browse button to specify the .exe location (would be pre-filled with the standard "c:\program files\x264" path.
This way, only changes to the x264 commandline parameters specs would require changes to ffdshow, and then only to add simple parameters. A generated commandline string could be shown & editable.
Frames would be served automatically by utilizing the already builtin frameserving capability of ffdshow, with a user-specificable path/filename for the dummy avi. This way the vfw frame-at-once method could work reasonably well with vdub, etc. The frameserver would cache previous/next n frames to ensure that if the cmdline encoder requested them out-of-order, they would be available.
Of course, the file you save it to in vdub would just be a dummy, and ffdshow sends a user-specified output path/filename to x264 cmdline.
So ffdshow becomes an x264 vfw frontend, perhaps updated with more options than other non-vfw x264 frontends, and of course having the exclusive vfw capability allowing its use in many applications.
foxyshadis
28th September 2006, 20:09
x264 also has (undocumented) raw stdout output with -o -, that way you could also store it in avi. (Provided you have enough of a parser to find frame starts and ends.) Not a huge fan of that, but it's not the end of the world. It's an interesting idea, all in all, though I'd still push something like megui first.
Bobor, we're heading more for a stable release, along with updates to mplayer & ffmpeg as they come. It's been a while since big new updates have been done. Haruhiko's been making huge headway on the buglist!
clsid
28th September 2006, 20:25
There are already good encoding solutions for x264, both for VFW and CLI. Why waste time and effort to re-invent the wheel in ffdshow?
@bob0r
Current builds are pretty stable. If you look at the list of known issues, then most of the issues were either already present in old ffdshow build or are related to some newly added formats. Most problems with the output queue should be fixed by now. Moreover, the queue option is disabled by default.
The main goal at the moment is to fix all remaining issues. Development will go on in a sense of keeping updated with ffmpeg code. No unstable new features should be added.
If you want to put a 'stable' version on your site, then just disable the newly added formats that are not yet working properly. You can disable VC-1, VP6F and Wavpack by simply commenting out a few lines of code in "\src\dialog\Ccodecs.cpp".
I have uploaded a 'stable' build for you here (http://rapidshare.de/files/34787210/ffdshow_rev288_20060928_clsid_x264.nl.exe.html). It contains both ansi and unicode version. So it works on Windows 9x too. Also includes all required runtimes. Broken formats are disabled and hidden from the gui.
Eragon4ever
28th September 2006, 21:22
I reported before WMV3 not decoded from ffdshow (this file (http://rapidshare.de/files/34792989/Full_Metal_Panic_01.DVD_AAC__KAA__3A5B517F_-001.mkv.html)) but this file (here (http://rapidshare.de/files/34793812/_KAA__Cowboy_Bebop_Movie.DVD_AC3-5.1__DCB9E280_-001.mkv.html))is decoded well. For the not working file ffdshow isn't placed in the DirectShow graph.
bob0r
28th September 2006, 21:35
@clsid
What compilers are used for what files?
What cpu optimization is used?
I need the most generic build, but with SSE at least.
Jeremy Duncan
28th September 2006, 21:53
http://img476.imageshack.us/img476/8947/avk6.jpg
Using this version of FFdshow:
ffdshow_rev288_20060928_clsid.
I have three accounts on my XP home PC.
2 are limited accounts.
I first uninstalled the old version and installed this version of FFdshow.
Next I set the 2 limited accounts to administrator, and set up reclock, MPC, and FFdshow.
On one of the limited accounts I made admin, and the original administrator accounts, 2 accounts, I had no problem, but on one of the limited accounts I made admin I get this weird text throughout the whole decoder program when I open it to set it up.
I uninstalled the FFdshow, and redownloaded the same version, version, ffdshow_rev288_20060928_clsid. Same problem on the same account.
I just reformatted and I am positive it's not my PC but FFdshow thats acting buggy.
Please look into it. Thank you.
Link to the picture:
Link (http://img476.imageshack.us/img476/8947/avk6.jpg)
therealjoeblow
28th September 2006, 22:24
I asked sometime ago if this simple fix could be included, but don't see it in latest builds.
When selecting hot-heys for keyboard control, I'd prefer to have no activation key, just a single keystroke to invoke the hot-key command. That way I can just assign the numbers 0-9 to toggle my favorite functions and use that with existing ATI remote wonder plugins instead of getting into the complexity of programming girder.
The only way I've found to get rid of the activation keys #1 and #2 is to delete them from the registry, in which case they show up as "none" in the keyboard control config screen.
Likewise, once a key is set, there doesn't appear to be any way to get rid of it completely, again only editing the registry and deleting it there?
Could this be added, maybe pressing ESC could set the key to none?
clsid
28th September 2006, 22:47
What compilers are used for what files?
What cpu optimization is used?
I need the most generic build, but with SSE at least.
Compilers are MSVC71 (for ffdshow.ax), ICL9.1 (most other files) and GCC 3.4.5 (libavcodec, libmplayer). It works on Pentium MMX and newer. It includes all handoptimized MMX/MMXext/SSE/SSE2/3dnow assembly code. The compilers have not been configured to enforce SSE as the minimum required instruction set since that doesn't actually improve the decoding performance. You can find several discussions about that in this topic.
@Jeremy, what language setting are you using in ffdshow? It looks like a language file is being used. Most of them are incomplete, that could explain why some texts are still English.
Jeremy Duncan
29th September 2006, 00:58
Ok. I reformatted one of my PC's and put the new FFdshow on.
There was no text problem, it was all english. So I guess there's something wrong with the PC that had the problem.
I only use FFdshow in English. I don't use any language files.
Maybe though. It was conflictiing with an older version of FFdshow.
To test it out. Make three accounts in XP, install this version of FFdshow:
Link (http://rapidshare.de/files/34523297/FFdshow-20060821-rev2546.exe.html)
Set up FFdshow using only English, in the one Admin account.
Uninstall it, and install this version of FFdshow;
Link (http://prdownloads.sourceforge.net/ffdshow-tryout/ffdshow_rev288_20060928_clsid.exe?download)
Now open FFdshow in the other two accounts and see if the text is goofy.
bob0r
29th September 2006, 10:34
@clsid
I thought i read SSE2 does not gain much or any speed over SSE, but not using SSE by forcing it, it may not be used, and not using SSE was a huge difference on my AMD XP 1800+.
Sadly i can't test that anymore, as the lightning fried most of it.
haruhiko_yamagata
29th September 2006, 12:03
@developers
I wrote a patch for after build registration. Current ffdshow loads its component from HKEY_LOCAL_MACHINE\SOFTWARE\GNU\ffdshow pth. When you rewrite the reg value, ffdshow can load from bin directory, but in that cace, the default instalation directory is bin directory.
I added a new reg value "pthPriority". Now, ffdshow loads components from pthPriority if it exists. If it doesn't exist ffdshow loads components from pth. pthPriority is written only by register.bat. So pthPriority doesn't exist in user's PC.
When developpers install a new build, the NSIS installer delete the reg value "pthPriority". Inno setup is not supported in this patch. Please write code for your installers. When your installer's are ready, I'll commit this. So please commit the installer code to remove pthPriority, if you agree.
When developpers install a old build, pthPriority is ignored and there should be no problem.
[patch] (http://sourceforge.net/tracker/index.php?func=detail&aid=1567632&group_id=173941&atid=867362)
clsid
29th September 2006, 12:31
I thought i read SSE2 does not gain much or any speed over SSE, but not using SSE by forcing it, it may not be used, and not using SSE was a huge difference on my AMD XP 1800+.It will use all of the SSE assembly code. It only does not use additional compiler switches that make it try to transform generic code into SSE instructions. There is not much code in ffdshow that can benefit from that.
@haruhiko, I have updated the Inno installers to delete that key.
Peuj
29th September 2006, 12:31
Hi,
Just to say, I don't know anything about compilers and cpu optimization but comparing the generic build ffdshow_rev288_20060928_clsid.exe and the FFdshow-Tryouts-20060928-rev286-sse.exe with the same settings, I can play some HD 720p mov files with the sse build and not with the generic build because it lags / freezes during the play.
My config:
Number of cores 1
Number of threads 2 (max 2)
Name Intel Pentium 4
Codename Prescott
Specification Intel(R) Pentium(R) 4 CPU 3.40GHz
Package Socket 478 mPGA (platform ID = 2h)
CPUID F.3.4
Extended CPUID F.3
Core Stepping D0
Technology 90 nm
Core Speed 3400.1 MHz (17.0 x 200.0 MHz)
Rated Bus speed 800.0 MHz
Stock frequency 3400 MHz
Instructions sets MMX, SSE, SSE2, SSE3
But as I don't know anything about that maybe it's normal. :)
haruhiko_yamagata
29th September 2006, 12:43
Hi,
Just to say, I don't know anything about compilers and cpu optimization but comparing the generic build ffdshow_rev288_20060928_clsid.exe and the FFdshow-Tryouts-20060928-rev286-sse.exe with the same settings, I can play some HD 720p mov files with the sse build and not with the generic build because it lags / freezes during the play.
What kind of file is it(h.264, divx,...)?
Divx may benefit from compiler optimization. As far as I know, h.264 does not. But for 3.4Ghz P4HT, I think divx optimization is not important.
Peuj
29th September 2006, 12:52
What kind of file is it(h.264, divx,...)?
Divx may benefit from compiler optimization. As far as I know, h.264 does not. But for 3.4Ghz P4HT, I think divx optimization is not important.
oh sorry I didn't think to give information about the file:
http://images.apple.com/movies/sony_pictures/surfs_up/surfs_up-tsr1_h720p.mov
Video #0
Codec : H.264
Info : H.264 (3GPP)
PlayTime : 2mn 17s
Bit rate : 5759 Kbps
Width : 1280
Height : 688
Aspect ratio : 16/9
Frame rate : 23.976 fps
Bits/(Pixel*Frame) : 0.273
Size : 98745087
Audio #0
Codec : AAC LC
PlayTime : 2mn 17s
Bit rate : 435 Kbps
Channel(s) : 6 channels
Sampling rate : 48 KHz
StreamSize : 7466323
clsid
29th September 2006, 13:07
You can use Haali's timecode.exe to run a benchmark.
But anyway. My InnoSetup script (see SVN) is capable of cpu detection, so it is possible to include multiple builds, e.g. MMX/SSE/SSE2 versions of the performance critical files (ffdshow.ax, libavcodec, libmplayer). That way you can make everyone happy with a single installer.
haruhiko_yamagata
29th September 2006, 13:41
Ok. I reformatted one of my PC's and put the new FFdshow on.
There was no text problem, it was all english. So I guess there's something wrong with the PC that had the problem.
I only use FFdshow in English. I don't use any language files.
Maybe though. It was conflictiing with an older version of FFdshow.
To test it out. Make three accounts in XP, install this version of FFdshow:
Link (http://rapidshare.de/files/34523297/FFdshow-20060821-rev2546.exe.html)
Set up FFdshow using only English, in the one Admin account.
Uninstall it, and install this version of FFdshow;
Link (http://prdownloads.sourceforge.net/ffdshow-tryout/ffdshow_rev288_20060928_clsid.exe?download)
Now open FFdshow in the other two accounts and see if the text is goofy.
I tested but I could not reproduce.
Peuj
29th September 2006, 13:53
You can use Haali's timecode.exe to run a benchmark.
But anyway. My InnoSetup script (see SVN) is capable of cpu detection, so it is possible to include multiple builds, e.g. MMX/SSE/SSE2 versions of the performance critical files (ffdshow.ax, libavcodec, libmplayer). That way you can make everyone happy with a single installer.
No I think it's ok, in fact it was not exactly the same settings that's why I don't have the same result. Sorry.
I didn't see it the first time but with your script the "skip deblocking when safe" for h264 is not check but it is with the drevil_xxl's build.
I don't know what that means really but "skip deblocking when safe" checked allow me to play the file.
clsid
29th September 2006, 14:28
That option will disable the inloop deblocking feature of H.264. It may lower the visual quality. I don't think it is very noticable with for example those Apple trailers, it will make more difference on low bitrate files.
Benchmark with surfs_up-tsr1_h720p.hdmov:
- normal settings: 28.0 fps
- skip deblocking when safe: 33.3 fps
- skip deblocking always: 43.5 fps
That is a 55% increase in average performance!
haruhiko_yamagata
30th September 2006, 01:00
Current ffdshow's default setting is 6 speakers. If you don't have center speaker, you will not hear vocal and most important part of the 5.1ch stream. People may think it's a bug. And yes,it is. So I think speaker set up is very important.
clsid's installer have speaker configulation, but it's at the bottom of long scroll down. It should be given a separate page. Current setting should be respected, and if it is the new installation, enable Mixer and 2 speakers as default.
NSIS installer does not have it. It's duplicated work to implement for both. Now clsid's installer looks fine, except for msvcr80.dll private assembly installation. I don't have MSVC7.1 pro, so I need the msvcr80 support for my build. vcredist_x86 is too large to pack.
haruhiko_yamagata
30th September 2006, 01:19
3) SVQ3 crashes when used in combination with Haali's MP4 splitter. Possibly not a ffdshow issue. (reported by Peuj)
In my test, SVQ3 crashes when used in combination with Quick Time Movie Parser. Haali's MP4 splitter does not try to parse the mov file. I'll attack this bug today.
haruhiko_yamagata
30th September 2006, 03:52
I could not compile libavcodec.dll with MSVC8. Too many errors to fix.
haruhiko_yamagata
30th September 2006, 04:52
Revision 296
show error message if the source filter did not provide for necessary information to decode SVQ3.
Revision 295
Reverted svq3.c
3) SVQ3 crashes when used in combination with Quick Time Movie Parser. Milan said "HACK: 3ivx splitter doesn't provide any extradata".
What message should we show? Here's my idea, not very good.
The splitter filter did not provide for necessary information to decode SVQ3.
Please try alternative source filter.
1. Fix my poor English, please.
2. Can we recommend proper source filter? Free, independent, stable and easy to install.
henryho_hk
30th September 2006, 12:00
OSD shows incorrect fps for mp4 file.
I encode a raw file by xvid_encraw and then mux it into mp4 as follows:
MP4Box.exe -fps 15 -add sample.cmp -new sample.mp4
When I load this mp4 in mp4UI, it shows 15fps. On the other hand, ffdshow says it's 25fps. The mp4 file is uploaded here:
http://rapidshare.de/files/34967663/sample.mp4.html
haruhiko_yamagata
30th September 2006, 12:49
OSD shows incorrect fps for mp4 file.
I encode a raw file by xvid_encraw and then mux it into mp4 as follows:
MP4Box.exe -fps 15 -add sample.cmp -new sample.mp4
When I load this mp4 in mp4UI, it shows 15fps. On the other hand, ffdshow says it's 25fps. The mp4 file is uploaded here:
http://rapidshare.de/files/34967663/sample.mp4.html
It's not reproducible. ffdshow says it's 15fps.
Give us more information such as ffdshow version, setting, OS, video renderer, application etc.
clsid
30th September 2006, 13:25
Current ffdshow's default setting is 6 speakers. If you don't have center speaker, you will not hear vocal and most important part of the 5.1ch stream. People may think it's a bug. And yes,it is. So I think speaker set up is very important.
clsid's installer have speaker configulation, but it's at the bottom of long scroll down. It should be given a separate page. Current setting should be respected, and if it is the new installation, enable Mixer and 2 speakers as default.
NSIS installer does not have it. It's duplicated work to implement for both. Now clsid's installer looks fine, except for msvcr80.dll private assembly installation. I don't have MSVC7.1 pro, so I need the msvcr80 support for my build. vcredist_x86 is too large to pack.
I will make a separate page in the installer for the speaker config.
Current installer is able to detect if vcredist_x86 is installed and inform the user if it is not installed.
Perhaps we can adapt vcredist_x86 to only include msvcr80.dll and not the other dlls (which we don't need). Or if the destination folder is a fixed value (I think it is, but I am not 100% sure, I'll have to unpack the msi), then I can let Inno install msvcr80.dll as a private assembly.
henryho_hk
30th September 2006, 13:33
It's not reproducible.
Sorry.... It's the problem of the internal MP4 splitter of Media Player Classic. No more problem after disabling it.
haruhiko_yamagata
30th September 2006, 13:34
I will make a separate page in the installer for the speaker config.
Current installer is able to detect if vcredist_x86 is installed and inform the user if it is not installed.
Perhaps we can adapt vcredist_x86 to only include msvcr80.dll and not the other dlls (which we don't need). Or if the destination folder is a fixed value (I think it is, but I am not 100% sure, I'll have to unpack the msi), then I can let Inno install msvcr80.dll as a private assembly.
Thank you. To learn about private assembly, we have to read a lot of document in MSDN. Easiest way to do is port recent changes in the NSIS script.
foxyshadis
30th September 2006, 13:54
btw, clsid, you might want to take a look at this key:
HKEY_CURRENT_CONFIG\System\CurrentControlSet\Enum\HDAUDIO\
FUNC_01&VEN_10EC&DEV_0883&SUBSYS_1025160D&REV_1000\4&AFF89C6&0&0001\DirectSound\Speaker Configuration
Which controls the xp speaker configuration. I'm not sure, but I think that everything between HDAUDIO and DirectSound is dependant on the sound card. If you can traverse the registry instead of just opening it'll still be possible.
At least, it would be a better default than an arbitrary 5.1; most people who get surround would presumably change it.
Values:
0 - none
1 - stereo
2 - mono
3 - stereo
4 - 4.0
5 - 5.0
6 - 5.1
7 - 7.1
8 - 7.1
0xA0004 - stereo
0x140004 - stereo
If it's too complex for the installer, perhaps we could implement it in ffdshow instead, as a "default" configuration.
Yong
30th September 2006, 14:21
1. mpc/ffdshow.ax crash when i try load the impulse file with the covcolver filter.
2. It seems there is no way to disable snow decoding in ffdshow,
ffdshow crash when i try to play snow(encoded with latest mplayer/lavc).
tested with ffdshow_rev294_20060929_clsid.exe:D
haruhiko_yamagata
30th September 2006, 15:02
btw, clsid, you might want to take a look at this key:
HKEY_CURRENT_CONFIG\System\CurrentControlSet\Enum\HDAUDIO\
FUNC_01&VEN_10EC&DEV_0883&SUBSYS_1025160D&REV_1000\4&AFF89C6&0&0001\DirectSound\Speaker Configuration
Which controls the xp speaker configuration. I'm not sure, but I think that everything between HDAUDIO and DirectSound is dependant on the sound card. If you can traverse the registry instead of just opening it'll still be possible.
At least, it would be a better default than an arbitrary 5.1; most people who get surround would presumably change it.
In my PC, it is
HKEY_CURRENT_CONFIG\System\CurrentControlSet\Enum\PCI\VEN_8086&DEV_24D5&SUBSYS_81F91033&REV_02\3&61AAA01&0&FD\DirectSound\Speaker Configuration
No key such as HDAUDIO. So probably it is dependent on sound card.
clsid
30th September 2006, 16:44
Those keys are hardware dependent. For now, I'll make the installer default to stereo. I'll implement a custom page for speaker config later.
clsid
30th September 2006, 17:12
List of known issues in revision 299:
1) VMnc, VC-1 and VP6F do not work. ffdshow isn't even placed in the DirectShow graph. (reported by clsid)
2) Some SVQ3 files play with artifacts / color shifts / totally messed up picture. Same issues in FFplay. (reported by clsid, Peuj)
3) When there's more than one audio-stream in the file and you're using ffdshow's built-in audio-switcher, ffdshow performs all audio post-processing on all of the streams, thus slowing it way down. (reported by flanger216)
4) When outputting the audio to AC3 using the ffdshow AC3 encoder there are a lot of downmix overflows. The sound seems to be distorted as if the volume is to high. (reported by TFM_TheMask)
5) Output queue enabled + VMR9 renderless + RGB32 + specific video cards + pause = blackout problem
6) Wavpack decoder crashes on this file (http://rapidshare.de/files/34646550/SoC__XviD_WavPack_MP3_-007.mkv.html). (reported by clsid)
7) The following encoders are possibly broken: MPEG 4, MPEG 1, MPEG 2, h.263, H.261 and DV. (please confirm) (reported by clsid)
8) It seems there is no way to disable snow decoding in ffdshow. Also ffdshow crash when i try to play snow (encoded with latest mplayer/lavc). (reported by Yong)
9) mpc/ffdshow.ax crash when i try load the impulse file (???) with the Convolver audio filter. (reported by Yong)
ToDo:
1) Fix known bugs (duh!)
2) H.264 deblocking options should be moved to 'Decoder options' as single combobox with "standard deblocking, no b-frame deblocking, no deblocking" options in it. (suggested by Egh)
3) Speaker setup page in InnoSetup installer
4) libavcodec vorbis needs updating
5) libavcodec SNOW encoder needs updating
6) libavcodec rv10 needs updating
7) check if there are other ffmpeg updates that we missed
8) keyboard control feature request (http://forum.doom9.org/showthread.php?p=881108#post881108) by therealjoeblow.
DeathTheSheep
30th September 2006, 19:11
MPEG 4 and MPEG 1/2 only accept 25fps files.
h.263 only accepts certain resolutions. This may be true of DV and H.261 as well; I don't really use them.
Quantizer noise shaping also appears broken (causes crashes).
Additionally, some ME modes cause crashing (PSNR mode, notably).
Windows Media encoding seems to be broken (I have WMP11b2).
Yong
30th September 2006, 19:41
I still remember these codec(mpeg1/2/4/h263) work on older version of ffdshow, without fps restriction.
from lavc h261.c
static int ff_h261_get_picture_format(int width, int height){
// QCIF
if (width == 176 && height == 144)
return 0;
// CIF
else if (width == 352 && height == 288)
return 1;
// ERROR
else
return -1;
}
h261 only accept 352x288 and 176x144.
2nd pass encoding option: alternate cruve compression, also cause a crash when using it, its an old bug:scared:
(i remember i reported this bug before, but milan seems to never fix it, he said the ffvfw is given by a low priority than decoding part...)
foxyshadis
30th September 2006, 21:29
I added a QoS dialog, if anyone wants to look at it:
http://foxyshadis.slightlydark.com/random/qospanel.png
This is what I think would work. In "Method" goes "Skip deblocking when safe", "Skip deblocking on delay", "Skip deblocking always". Always would ignore and grey out the delay value. But I'm not sure about it; you could just set delay to 0 ms for your selection to apply always. Or 100 ms if you want it on but carefully. Skip deblocking when safe would apply the delay also, so the naming isn't that great. Hmm. (Also, double-delay could also skip always until it gets under double delay, in case safe isn't enough for certain scenes - or always.) Or we can remove the whole combo box and just apply progressively more skipping as delay increases. I have to think about this now.
Of course kill-filters isn't implemented so it's greyed out and will be invisible, but I think it might be even more important than the other options. It'd be a good feature once the bug-purge is over.
What else would fit into this sort of dialog? Hmm. Oh yeah, since having lots of boxes under image settings is getting rediculous, all the non-filter ones should be moved to a "General Options", along with Info & Debug panels, and image settings renamed to Image Filters. What do you guys think?
Reino
30th September 2006, 22:10
6) Wavpack decoder crashes on this file (http://rapidshare.de/files/34646550/SoC__XviD_WavPack_MP3_-007.mkv.html). (reported by clsid)No problems with this in MediaPlayer Classic when switching streams, though when I switch from WV to MP3 in ZoomPlayer, the whole player crashes.
I'm using:
- Media Player Classic Rev.611
- Gabest MKV Splitter 1.0.2.9 (20060503)
- ffdshow_rev142_20060906_clsid.exe
- Zoom Player WMV Professional 4.51
clsid
30th September 2006, 22:25
I added a QoS dialog, if anyone wants to look at it:
http://foxyshadis.slightlydark.com/random/qospanel.png
This is what I think would work. In "Method" goes "Skip deblocking when safe", "Skip deblocking on delay", "Skip deblocking always". Always would ignore and grey out the delay value. But I'm not sure about it; you could just set delay to 0 ms for your selection to apply always. Or 100 ms if you want it on but carefully. Skip deblocking when safe would apply the delay also, so the naming isn't that great. Hmm. (Also, double-delay could also skip always until it gets under double delay, in case safe isn't enough for certain scenes - or always.) Or we can remove the whole combo box and just apply progressively more skipping as delay increases. I have to think about this now.
The delay field should only be used when skip on delay method is chosen. I don't think that allowing a value of 0 to disable it is a good idea. Perhaps it is better to merge the "skip h264 deblocking" checkbox and the method dropdown menu into a single dropdown menu with four choices: never, on delay (default), when safe, always. Seems a bit more logical to me.
clsid
30th September 2006, 23:07
No problems with this in MediaPlayer Classic when switching streams, though when I switch from WV to MP3 in ZoomPlayer, the whole player crashes.
I'm using:
- Media Player Classic Rev.611
- Gabest MKV Splitter 1.0.2.9 (20060503)
- ffdshow_rev142_20060906_clsid.exe
- Zoom Player WMV Professional 4.51
ZoomPlayer also gives me an error on stream switching. Happens with Haali splitter and CoreWavPack decoder too. So I think that may be a bug in ZoomPlayer.
Using ffdshow to decode wavpack crashes for me on that file with both the internal mkv splitter in MPC (rev611) and Haali's splitter.
foxyshadis
30th September 2006, 23:44
Also, VC-1, VP6, and SVQ3 could probably all benefit from the same skipping, since they all can use some form of inloop deblocking. Provided lavc supports it; at most, we can ask ffmpeg if not.
Howabout a checkbox for "Skip" followed by combobox w/ safe deblocking, all deblocking, safe deblocking on delay, all deblocking on delay. Or replace the latter two with adaptive deblocking when delayed.
clsid
1st October 2006, 00:22
That would be fine too. Perhaps you could also add a textlabel to explain in short what the option does? That may make it less confusing for the average user. Something like: skipping deblocking may lower the visual quality, but it will also boost the decoding performance (lower the cpu usage).
cc979
1st October 2006, 02:08
@clsid
I thought i read SSE2 does not gain much or any speed over SSE, but not using SSE by forcing it, it may not be used, and not using SSE was a huge difference on my AMD XP 1800+.
Sadly i can't test that anymore, as the lightning fried most of it.
if you look at some of my previous posts, i was benching sse/sse2 xvids and differents builds
Egh
1st October 2006, 03:34
Howabout a checkbox for "Skip" followed by combobox w/ safe deblocking, all deblocking, safe deblocking on delay, all deblocking on delay. Or replace the latter two with adaptive deblocking when delayed.
wheeee! :) Someone actually is going to implement my suggestion :)
Concerning the naming: does "no deblocking when safe" mean "no deblocking for b-frames"? :) If so, then use the latter phrasing (same as combobox in CoreAVC). In the case those two are actually different modes, probably would be a good idea to add "no deblocking for b-frames" as well. Does anybody know for sure what "safe" means in h264 inloop settings context?
Concerning adaptive inloop filter: for typical user, less confusing variant imo would be 4 options in the combobox with delay editboxes enabled only if "adaptive deblocking" is chosen. At least that was my vision from the very begining :P
Thus "deblocking always off; deblocking off for b-frames; adaptive deblocking; deblocking always on" seem to be best choice as items for the deblocking combobox.
@ haruhiko_yamagata :
The splitter filter did not provide for necessary information to decode SVQ3.
Please try alternative source filter.
Try this:
The splitter failed to provide necessary information to decode SVQ3 properly. Please try an alternative source filter.
Egh
1st October 2006, 14:12
OK, it's been a while, so time to report a bug :P
For a change it's encoder in ffdshow, not decoder.
Each AVI has 2 fourcc values. When I select YV12 in vdub (in ffdshow of course), the resulting values in the saved AVI file will be: FFDS and YV12. So fourcc handler will be "ffds" and imo that's wrong. That interferes with some programs like x264, which refuse to accept that file despite plain YV12 avi support.
The question is how this first value (FFDS) is defined?
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.