Log in

View Full Version : ffdshow tryouts project: Discussion & Development


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 [26] 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308

vlada
18th May 2007, 14:32
@squid_80> ffdshow supports ACM codecs? How can I enable/disable them?

clsid
18th May 2007, 14:33
My suggestion was more based on backwards compatibility and legacy support than on quality.
What kind of compatibility issues are there? A whitelist was recently added to ffdshow to prevent the filter from being used by (possibly) incompatible applications/games.

Vampik
19th May 2007, 11:53
It seems that libavcodec encoding is totally broken since rev.1155. drevil_xxl said mpeg4 doesn't work, but really any other format doesn't work too. Error message is the same, tested on Athlon 64 SSE3.

clsid
19th May 2007, 18:30
I am reverting one of the ffmpeg patches. That should hopefully fix the encoding crash. New build will be online asap.

Vampik
19th May 2007, 19:33
It doesn't work. I've just compiled libavcodec.dll, rev.1183, gcc 4.0.4 - the same crash.

Isochroma
19th May 2007, 22:35
I use ffdshow for decoing MPEG audio, and would not use any version without such support. It's really important to me, because it gives extended realtime bitrate info while playing, among other things.

Leak
19th May 2007, 22:58
I use ffdshow for decoing MPEG audio, and would not use any version without such support. It's really important to me, because it gives extended realtime bitrate info while playing, among other things.
Errr... could it be that you missed the part where the whole discussion was about what codecs to enable *by default* (i.e. you still being able to activate any and all of them via ffdshow's configuration window if you so choose) and not about dropping support for any of them?

Just saying...

np: David Sylvian - Jean The Birdman (Everything And Nothing)

Inventive Software
20th May 2007, 02:35
Suggestion for the installer: have a sub-option on the codecs selection page, so the user can choose to use WMV or libavcodec, for WMV7, WMV8, WMV9, WVC1, *if* Microsoft codecs are installed. This is also assuming it's relatively easy to check whether the codecs are installed.....

Dr Pizza
20th May 2007, 13:02
The recent change (May 10th) for processor feature detection is making me sad.

The asm functions (check_cpu_features etc.) are declared in an extern "C" block in a .cpp file. This is making VC++ presume that their names should be completely undecorated.

However, cpuid64.asm is built with PREFIX defined, and with PREFIX defined, functions gain a leading underscore.

In other words, cpuid64.obj exports a function _check_cpu_features, but the linker is looking for check_cpu_features.

Easiest thing would be to remove the PREFIX define.

clsid
20th May 2007, 13:40
Edit: you should have SVN access now. So you can commit fixes.

squid_80
20th May 2007, 16:34
However, cpuid64.asm is built with PREFIX defined, and with PREFIX defined, functions gain a leading underscore.
If it's a 64-bit .asm file, it shouldn't have the %ifdef PREFIX stuff in it. No 64-bit compiler adds leading underscores to function names, no matter what OS is used (an underscore is added on 32-bit windows, but not linux; this is why %ifdef PREFIX commonly exists).

Dr Pizza
20th May 2007, 22:16
That sounds reasonable. I've not bothered to look at what the 64-bit name mangling rules are, if it's "never add an underscore" then I'll just kill all the PREFIX stuff.

I notice that the x64 asm in x264 has some PREFIX stuff too. I guess I might as well purge that too.

Leak
20th May 2007, 23:30
Another update to my AviSynth patch:

* Add a checkbox for en-/disabling all buffering
* Add tooltips to buffer edit fields
* Properly clear the frame that is returned to AviSynth if no frames are buffered (to prevent green frames from popping up in YUY2)
* Fix missing video if script is empty (d'oh!)
* Reorder some controls and IDs for better readability
* Slightly tweak the config dialog layout

Patch (https://sourceforge.net/tracker/?func=detail&atid=867362&aid=1676882&group_id=173941) (against rev. 1186)
Download (http://leak.no-ip.org/AviSynth/ffdshow/ffdshow_AviSynth_rev1186_20070520.exe)
Documentation (http://leak.no-ip.org/AviSynth/ffdshow/docs/html/en/avisynth.htm) (not updated yet)

@Haruhiko: I've not yet added code to compensate scripts making the clip slightly longer or shorter (like FadeIn(...)), but other than that it's as good as feature complete...

Any objections against me checking this into SVN in the next few days?

EDIT: come to think of it - has anybody ever tried the AviSynth filter (old or new, doesn't matter much) on Windows x64 and an x64 build of ffdshow?

np: El-P - Dear Sirs (I'll Sleep When You're Dead)

haruhiko_yamagata
21st May 2007, 14:54
Another update to my AviSynth patch:

* Add a checkbox for en-/disabling all buffering
* Add tooltips to buffer edit fields
* Properly clear the frame that is returned to AviSynth if no frames are buffered (to prevent green frames from popping up in YUY2)
* Fix missing video if script is empty (d'oh!)
* Reorder some controls and IDs for better readability
* Slightly tweak the config dialog layout

Patch (https://sourceforge.net/tracker/?func=detail&atid=867362&aid=1676882&group_id=173941) (against rev. 1186)
Download (http://leak.no-ip.org/AviSynth/ffdshow/ffdshow_AviSynth_rev1186_20070520.exe)
Documentation (http://leak.no-ip.org/AviSynth/ffdshow/docs/html/en/avisynth.htm) (not updated yet)

@Haruhiko: I've not yet added code to compensate scripts making the clip slightly longer or shorter (like FadeIn(...)), but other than that it's as good as feature complete...

Any objections against me checking this into SVN in the next few days?

EDIT: come to think of it - has anybody ever tried the AviSynth filter (old or new, doesn't matter much) on Windows x64 and an x64 build of ffdshow?

np: El-P - Dear Sirs (I'll Sleep When You're Dead)
Thank you very much. You have svn access now.:D

fusion_400
21st May 2007, 15:02
FFDSHOW has a major bug atleast in Virtualdub where it refuses to encode material that is in 30fps. The latest version that worked well was revision 1122 that was made 20070424. 25fps works fine though. I don't know why this bug has now been reintroduced in later builds revision 1132 was the first one to have the bug reintroduced.

I hope this bug will be fixed because i encode alot of material from canon ixus 30 that uses 30fps framrate.

haruhiko_yamagata
21st May 2007, 16:16
FFDSHOW has a major bug atleast in Virtualdub where it refuses to encode material that is in 30fps. The latest version that worked well was revision 1122 that was made 20070424. 25fps works fine though. I don't know why this bug has now been reintroduced in later builds revision 1132 was the first one to have the bug reintroduced.

I hope this bug will be fixed because i encode alot of material from canon ixus 30 that uses 30fps framrate.
I fixed it yesterday at rev 1186/1189.

_xxl
21st May 2007, 17:58
Please read:
http://lists.mplayerhq.hu/pipermail/ffmpeg-user/2007-May/008878.html
Maybe this is the answer to latest libavcodec SSE2 crashes?

Leak
21st May 2007, 18:12
Please read:
http://lists.mplayerhq.hu/pipermail/ffmpeg-user/2007-May/008878.html
Maybe this is the answer to latest libavcodec SSE2 crashes?
Heh. Good thing I spent the last few days trying to build GCC 4.2.0 in MinGW... and I've almost succeeded... :D

Now all I need is to sort out the few remaining issues... :/

np: Gui Boratto - Mr. Decay (Chromophobia)

clsid
21st May 2007, 19:44
You can download a compiled version of GCC 4.2.0 here:
http://forum.doom9.org/showthread.php?t=108215&page=6

Px
21st May 2007, 21:35
EDIT: come to think of it - has anybody ever tried the AviSynth filter (old or new, doesn't matter much) on Windows x64 and an x64 build of ffdshow?
I can try, if you tell me how :)

cc979
22nd May 2007, 00:38
is the libavcodec in ffdshow only compiled with gcc-4.2.0, as it does compile any more gcc-4.0.4

cheers

chros
22nd May 2007, 09:38
If I set the number of threads to 2 at the Decoder Options (at Codecs libavcodec is selected for MPEG2) MPC is immediately crashing (if I set beack to 1 then everithyng is OK.)

1080i MPEG2 material, Athlon X2 4600 CPU, ffdshow build 1133

Can anyone confirm this?

_xxl
22nd May 2007, 09:53
Latest libavcodec has some problems.All started with rev 1155
and SSE2 encoding.Maybe a good bug report should be made to ffmpeg?

cc979
22nd May 2007, 15:47
i am having major problems compiling the ffdshow-tryout svn - libavcodec builds fine gcc-4.2.0 but i have problems the rest of it

what is the working method to compile ffdshow now?

cheers

clsid
22nd May 2007, 16:04
Most of us use Visual Studio (2003/2005) to compile ffdshow.ax

_xxl
22nd May 2007, 16:21
You need to add in makefile.inc:
CFLAGS+=-DHAVE_MMX
and soon
CFLAGS+=-DARCH_IS_IA32 -DARCH_IS_32BIT
because xvid4.h is going to be merged with xvid.h.

haruhiko_yamagata
22nd May 2007, 16:50
If I set the number of threads to 2 at the Decoder Options (at Codecs libavcodec is selected for MPEG2) MPC is immediately crashing (if I set beack to 1 then everithyng is OK.)

1080i MPEG2 material, Athlon X2 4600 CPU, ffdshow build 1133

Can anyone confirm this?
I cannot reproduce. 1080i MPEG2, core2duo, build 1133.
If it is sample specific, please upload a sample.

cc979
22nd May 2007, 18:07
You need to add in makefile.inc:
CFLAGS+=-DHAVE_MMX
and soon
CFLAGS+=-DARCH_IS_IA32 -DARCH_IS_32BIT
because xvid4.h is going to be merged with xvid.h.

thanks the fixed it, cheers

kurt
22nd May 2007, 18:49
@ Leak: I got a problem with your avisynth patch. When playing an anamorphic video and enabling seesaw script, mpc (with haali renderer) ignores the PAR flag.

Just tested previous versions and with rev. 1126 (01.05.2007) everything is fine.

here is a simple seesaw script but I don't think it matters (yadif shows the same behaviour):

a= last

b=a.fluxsmoothst()

SeeSaw(a,b, NRlimit=3, NRlimit2=4, Sstr=1.5, Slimit=5, Spower=5, Sdamplo=6, Szp=16)
xvid par testfile (http://home.arcor.de/evil.bert/test/xvid.par.avi)

fusion_400
22nd May 2007, 20:31
I fixed it yesterday at rev 1186/1189.

Hi i tested both ffdshow_rev1187_20070520_clsid and ffdshow_rev1193_20070522_xxl builds and both still have the same 30fps bug. FFDSHOW will not encode anything in virtualdub when using 30fps framerate. The FPS is exactly 30fps it is not 29.97fps ntsc standard but exactly 30 fps from canon ixus 30 camera that uses MJPEG 640X480@30FPS.

This is the virtualdub error message:

Cannot start video compression:

An unknown error occurred (may be corrupt data)
(error code -100)

------------------

LoRd_MuldeR
22nd May 2007, 21:29
I just noticed a bug with ffdshow and anamorphic video!

The video was encoded with Xvid at an resolution of 688x560 and a PAR auf 140:129.
The resulting video plays 100% fine at 4:3 in both MPlayer and VLC Media Player.

Unfortuantely this is what happens with MPC + ffdshow:

http://img454.imageshack.us/img454/2827/anamorphlc6.png

Tested with ffdshow-tryouts revision 1187. Also I use the latest Haali Renderer.
As soon as I use the XviD Decoder-Filter instead of ffdshow, it works okay in MPC too.

I uploaded a sample:
Download: http://www.mytempdir.com/1335646
Password: doom9

Episode
22nd May 2007, 22:23
@LoRd_MuldeR, Sorry, but I cannot reproduce this with rev 1187, mpc and haali renderer. It plays perfectly fine with any renderer available in mpc.

GmorG McRoth
22nd May 2007, 22:29
Same here works perfectly well.

http://xs215.xs.to/xs215/07212/2007-05-22_232810.jpg.xs.jpg (http://xs.to/xs.php?h=xs215&d=07212&f=2007-05-22_232810.jpg)

LoRd_MuldeR
22nd May 2007, 22:31
@LoRd_MuldeR, Sorry, but I cannot reproduce this with rev 1187, mpc and haali renderer. It plays perfectly fine with any renderer available in mpc.

I just tried other renderers and the problem seems to be Haali Renderer + ffdshow :(

ffdshow + VMR9 (Renderless): Okay
ffdshow + Overlay: Okay
ffdshow + Haali Renderer: Broken (see screenshot above)

Xvid Decoder + VMR9 (Renderless): Okay
Xvid Decoder + Overlay: Okay
Xvid Decoder + Haali Renderer: Okay


Any ideas ???

GmorG McRoth
22nd May 2007, 22:32
I just tried other renderers and the problem seems to be Haali Renderer + ffdshow :(


I use Haali and it works. Maybe do full reinstall of Haali filters (uninstall old, restart, install new).
Also Haali uses GPU PS2 for it's calculations if I'm not mistaken, so updating your video card drivers may help.

LoRd_MuldeR
22nd May 2007, 22:36
I use Haali and it works. Maybe do full reinstall of Haali filters (uninstall old, restart, install new).

I already did that before I wrote the bug report.

GmorG McRoth
22nd May 2007, 22:43
I see you are using MPC moded by casimir, I used last MPC made by drevil_xxl, maybe here is problem.

LoRd_MuldeR
22nd May 2007, 22:49
I see you are using MPC moded by casimir, I used last MPC made by drevil_xxl, maybe here is problem.

1. The same problem happens with drevil_xxl's build too

2. As soon as I enable "resize" in ffdshow the problem disappears and (now it gets strange) keeps gone, even if I disable resize again. Once I re-open the video, the problem is back...

GmorG McRoth
22nd May 2007, 22:53
Wicked XD

ok then, who binary of FFDShow you have installed?
I used ffdshow_rev1187_20070520_clsid.exe

LoRd_MuldeR
22nd May 2007, 22:56
Wicked XD

ok then, who binary of FFDShow you have installed?
I used ffdshow_rev1187_20070520_clsid.exe

exactly that one :)

// EDIT

I just went back to ffdshow_beta2a_20070322_clsid.exe and the problem is gone :cool:

// EDITē

Another attempt with ffdshow_rev1187_20070520_clsid.exe and problem returns...

Inventive Software
22nd May 2007, 23:22
Hi i tested both ffdshow_rev1187_20070520_clsid and ffdshow_rev1193_20070522_xxl builds and both still have the same 30fps bug. FFDSHOW will not encode anything in virtualdub when using 30fps framerate. The FPS is exactly 30fps it is not 29.97fps ntsc standard but exactly 30 fps from canon ixus 30 camera that uses MJPEG 640X480@30FPS.

This is the virtualdub error message:

Cannot start video compression:

An unknown error occurred (may be corrupt data)
(error code -100)

------------------

From the SVN changelog:

Revision 1186 - Directory Listing
Modified Sun May 20 14:47:28 2007 UTC (2 days, 7 hours ago) by h_yamagata

Bug fix
The following encoders only work for input with specific frame rates: MPEG4, MPEG 1 and MPEG 2. The accepted frame rates are 25*2^n. For example: 6.25, 12.5, 25, 50, 100.

This is most likely the limitation. The following fixes have been applied, but don't go into any detail:

Revision 1189 - Directory Listing
Modified Mon May 21 11:32:49 2007 UTC (34 hours, 47 minutes ago) by h_yamagata

minor fix of rev 1186
(revert Tffvfw.cpp and move the change to TvideoCodecLibavcodec.cpp)
Revision 1192 - Directory Listing
Modified Tue May 22 13:12:23 2007 UTC (9 hours, 7 minutes ago) by h_yamagata

more fix about rev 1186 issue.

Leak
23rd May 2007, 00:07
@ Leak: I got a problem with your avisynth patch. When playing an anamorphic video and enabling seesaw script, mpc (with haali renderer) ignores the PAR flag.
Yeah, something's not right - you should be able to set any aspect ratio you want in your AviSynth script (or just pass the input aspect ratio through), but no matter what values you use the aspect ratio stays the same...

That needs some investigation, but I was busy this evening with building a new version of GCC - I'll look into it tomorrow.

EDIT: I guess I'll better wait with checking in the new AviSynth filter until I've fixed that one. :)

np: RJD2 - Chicken-Bone Circuit (Deadringer)

Dr Pizza
23rd May 2007, 02:14
The cpu test introduced in revision 1151 is faulty on x64.

The file in question is Tconfig.cpp.

I don't quite understand the #ifndef __GNUC__ on line 212; it seems to me that IsProcessorFeaturePresent is always the right way to test for processor features on Windows.

But no matter; I think the code as it stands is trying to enable MMX on x64. Although the SSE/SSE2/SSE3/SSSE3 features get tested explicitly, and disabled if they fail, MMX and MMXEXT are never tested, and so, I suspect, never disabled. Forcibly disabling them (available_cpu_flags &= ~FF_CPU_MMX; available_cpu_flags &= ~FF_CPU_MMXEXT;) restores ffdshow to working order, as does using IsProcessorFeaturePresent (presumably because IsProcessorFeaturePresent knows that x64 has no MMX).

akupenguin
23rd May 2007, 02:44
There aren't any x86_64 CPUs without MMX, there aren't any x86_64 OSs that don't support MMX (win64 allows MMX in userspace, just not in the kernel), and ffmpeg doesn't support using SSE* without using MMX.

B.F.
23rd May 2007, 04:30
URL http://www.comq.ru/user/alex/pirates2/pirates2.mp4
Mpeg4AVC HighProfile video.
Picture is broken using ffdshow, mplayer or KMP.
Look normal using CoreAVC 1.2.

chros
23rd May 2007, 07:38
I just tried other renderers and the problem seems to be Haali Renderer + ffdshow :(

ffdshow + VMR9 (Renderless): Okay
ffdshow + Overlay: Okay
ffdshow + Haali Renderer: Broken (see screenshot above)

Xvid Decoder + VMR9 (Renderless): Okay
Xvid Decoder + Overlay: Okay
Xvid Decoder + Haali Renderer: Okay

Any ideas ???
Yes, once same was for me too, and I have reported to Haali, but I got no answer:
http://forum.doom9.org/showthread.php?p=1001143#post1001143

The problem related to ffdshow (I'm using ffdshow_rev1133_20070504_clsid.exe): if The Raw Video is set to All Supported at the Codecs, the problem occurs. So I don't know if it's the fault of Haali's renderer or ffdshow ... (But strange is that VMR is OK.)
(tried several MPC builds (the official 6.4.9.0 too), latest haali's package).
And if ffdshow is in the DS chain, the problem occurs, if ffdshow isn't, the problem gone ...

EDIT: I found an mpg1 (from VCD) which also produces the same bug, when libavcodec is selected at the Codecs in MPG1 ...

chros
23rd May 2007, 07:48
URL http://www.comq.ru/user/alex/pirates2/pirates2.mp4
Mpeg4AVC HighProfile video.
Picture is broken using ffdshow, mplayer or KMP.
Look normal using CoreAVC 1.2.
Confirmed with rev 1133, and it plays fine with CoreAVC 1.3 too :) (You sould report this in the coreavc thread, because this is the 1st time when coreavc is able to decode something that ffdshow isn't :) )

No matter, if I remux to mkv. Does the whole file produce this, or only this splitted chunk?

PS: the AR is wrong ... :)

B.F.
23rd May 2007, 08:14
Confirmed with rev 1133, and it plays fine with CoreAVC 1.3 too :) (You sould report this in the coreavc thread, because this is the 1st time when coreavc is able to decode something that ffdshow isn't :) )
No matter, if I remux to mkv. Does the whole file produce this, or only this splitted chunk?
PS: the AR is wrong ... :)
This is not my file.
I was just surprised about ffdshow can't play it normally, so I report about this bug here.

akupenguin
23rd May 2007, 08:27
http://www.comq.ru/user/alex/pirates2/pirates2.mp4
I get artifacts when playing that in MPlayer, and I still get artifacts after remuxing to mkv, but if I demux to raw .264 and play that then it works. (had to demux with MP4Box; mkvextract refuses.) So... maybe a bug in lavc's AVC1 bitstream parser?

chros
23rd May 2007, 08:27
I cannot reproduce. 1080i MPEG2, core2duo, build 1133.
If it is sample specific, please upload a sample.
Thanks for the answer, I have tried with several content (mpg1, mpeg2 DVD, mpeg2 720p, mpeg2 1080i) and it works indeed.
Altough my MPC is sometimes crashing with the 1080i content (so maybe my Windows is rather old...)