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

fastplayer
14th February 2010, 15:03
We decided to release Beta 7. It is based on the pretty stable revision 3154. DXVA decoding is not part of it because it has just been added recently and there might pop up some unexpected issues.
Changelog and download link are available at the homepage:
http://ffdshow-tryout.sourceforge.net/

STaRGaZeR
14th February 2010, 16:40
I've made a quick fix to the problem reported earlier (VC-1 crash at the end of the stream).

right now, up to 11 of the last frames in VC-1 may be truncated when using DXVA, I hope to implement a thorough fix that will also include more efficient frame ordering when I have the time.

There's another "issue" with VC-1 videos. If the video is 1080p with a 2,35 aspect ratio the very first frames have the black bars green. It doesn't happen in all videos, but where it happens it happens all the time.

tal.aloni
14th February 2010, 17:26
There's another "issue" with VC-1 videos. If the video is 1080p with a 2,35 aspect ratio the very first frames have the black bars green.

STaRGaZeR, please report how each of the decoders behave regarding the issue: wmv9, libavcodec and DXVA.

dehati_paul
14th February 2010, 18:10
First of all thanks to tal and albain for enabling DXVA support in ffdshow.

I am curious to know the difference between DXVA implementation between MPC-HC and ffdshow (apart from post-processing capability). Till now I have been using MPC-HC standalone filters for video decoding the DXVA videos, but if DXVA support in ffdshow is more advanced (or more comprehensive) then I will switch to ffdshow. Also curious about the DXVA-HD (DXVA 3.0??) support in Windows 7.

Please let me know.

rsd78
14th February 2010, 18:26
I am getting an odd bug with ffdshow dxva. Note, I only tried this with one or two files but it was reproducible.

Basically if I fast forward for a while, say for 60 minutes of a movie it would eventually freeze/crash (no blue screen just everything non-responsive). This was with overlay, but didn't matter if subtitles were being displayed or not.

I believe the version of ffdshow I currently have installed is 3265.

This happens within Win 7 Media Center. This does not happen with using ffdshow software decoding (tested with the same file). I'm running x32, e8400, ati 2600xt, etc.

I can try with other files, but in general I noticed a little more bugginess with dxva enabled. For example, in Media Center if I press the info button, it brings up the typical info overlay screen. But then if I press the back button on my remote, it causes MC to crash. Again this doesn't happen with software decoding. I realize not many here are necessarily using Media Center for playback but thought I"d mention what I've noticed.

I can try to get more info if needed, just let me know. Thanks

tal.aloni
14th February 2010, 19:32
dehati_paul,
since both projects are open source, any advancement that is needed and can be adopted will be (by both sides),
the only advancement ffdshow will have over MPC-HC for the foreseeable future is to have OSD / subtitles without being tied to a specific renderer (MPC-HC).


rsd78,
DXVA will always be somewhat less stable, as it relies on the renderer, the driver and the underlying hardware.
freezes (deadlocks) are usually caused by the decoder waiting for DX surfaces to become available while not freeing old surfaces. I wouldn't be surprised if some bugs are still present in that code.
crashes should not occur, and are easier to eliminate, when you can reproduce them repeatedly, let me know.

some crashes has already been fixed in latest revisions.

Tal

Keiyakusha
14th February 2010, 22:04
Is it theoretically possible to see DXVA for mpeg4-asp and wmv (not VC1) or this is works only through CUDA? (Since relatively new nvidia GPUs supports that)

STaRGaZeR
14th February 2010, 22:18
STaRGaZeR, please report how each of the decoders behave regarding the issue: wmv9, libavcodec and DXVA.

wmv9 --> No issues.
libavcodec --> No issues.
DXVA --> As reported. Example: http://img237.imageshack.us/img237/8721/yyyb.png. Just after opening "The Mummy" BD, remuxed to MKV. Another example is "Matrix Reloaded", playing its m2ts files directly.

tal.aloni
15th February 2010, 00:20
Is it theoretically possible to see DXVA for mpeg4-asp and wmv

no, the API is only for MPEG2 / H.264 and VC-1


Stargazer, doesn't look like much can be done, but it wouldn't hurt if you post a sample.

STaRGaZeR
15th February 2010, 01:19
http://www.megaupload.com/?d=UQFK5B2T (22MB)

MPC's DXVA decoder does the same BTW.

nalooti
15th February 2010, 09:34
the selling points of ffdshow (besides support for wide variety of formats) are performance and post-processing.

audio post-processing include: volume normalization, equalization, and up / down mixing.

video post-processing include software deinterlacing.

those are my favorite features, there is so much more inside.
for example: I can use the same equalization for all my audio formats (AC3 / DTS / FLAC), because ffdshow supports all of them.
thanks you for your reply;

when you say post processing, do you mean that all those effects as normalization, equalization, etc. are applied while you're viewing the videos ? then how much cpu you use (I mean the FFDShow process takes how many percent in your task manager ?) ?

I can't read VOB files in my 7 Media Center while they can be viewed in Windows 7 in the explorer by wmp (and outside of 7MC). Is this something, FFDShow could fix ?

nalooti

tal.aloni
15th February 2010, 11:32
do you mean that all those effects as normalization, equalization, etc. are applied while you're viewing the videos ?


exactly.

then how much cpu you use?

that depends, audio post processing is not very significant, video post processing can be.


I can't read VOB files in my 7 Media Center while they can be viewed in Windows 7 in the explorer by wmp (and outside of 7MC). Is this something, FFDShow could fix ?


no, you need mpeg2 splitter, I think haali media splitter might help. I'm not a windows 7 expert though.

Tal

arestarh
15th February 2010, 12:58
tal.aloni
Hello!
I'm again about problems with translation.
I can't open in translation mode dialogs:
http://i044.radikal.ru/0912/8c/4f224226244at.jpg (http://radikal.ru/F/i044.radikal.ru/0912/8c/4f224226244a.png.html)
And even I manually edit file of localization(add necessary strings), *Add* and *Reset* buttons in both dialogs and also dialog *Use ffdshow only in* is not appeared in GUI:
http://i056.radikal.ru/1001/8f/c5f527d8a0e5t.jpg (http://radikal.ru/F/i056.radikal.ru/1001/8f/c5f527d8a0e5.png.html)
simply, I can't translate this elements...

And about section of Subtitles in configuration dialog.
I can't translate this dialog:
http://s001.radikal.ru/i195/1001/5a/a492876a1c84t.jpg (http://radikal.ru/F/s001.radikal.ru/i195/1001/5a/a492876a1c84.png.html)

Edit:
Also, I can't translate following header(language file contains string "configuration=translation_of_this_header"):
http://i081.radikal.ru/1001/8b/9c44bb460e6dt.jpg (http://radikal.ru/F/i081.radikal.ru/1001/8b/9c44bb460e6d.png.html)

ikarad
15th February 2010, 15:09
Hi,

some updates on bluray subtitles : it is now working and it was more difficult than I thought because both ffmpeg and mplayer PGS implentation are buggy.

I'll send my code to MPC team (or I'll fix it by myself if I have time)


It also took some time because I would like to be able to use the scaler used by vobsub : gaussian, bilinear,... scalers

It will let us have the best rendering quality as any other player.


Also, some extra work was needed to adapt the position and size of the subtitles if one enables the resize filter or enable subs zooming.
How soon do you expect to release this upgrade?

tal.aloni
15th February 2010, 18:29
arestarh,
I don't know much about translations, and I have other priorities ATM, perhaps in the future albain will have the will and time to help.

tal.aloni
15th February 2010, 20:30
Please also report it here --> http://forums.nvidia.com/index.php?showforum=33
It's possible that the bug will be fixed.

bug reported:

http://forums.nvidia.com/index.php?showtopic=159813

hopefully they will fix it, and XP users of nvidia GPU can enjoy surface overlay with latest drivers.

DeathWolf
16th February 2010, 04:07
Would it be possible to get an option to ignore stream AR, at least for AVC?

It appears some people are muxing with a wrong stream AR and a good container AR, and that ffdshow gives precedence to the stream AR versus the dshow ar.(Now, don't try this with haali's demuxer, it's perverted and rewrites the stream without the ar, which is not the case of other mkv demuxers)

rsd78
16th February 2010, 04:28
dehati_paul,
since both projects are open source, any advancement that is needed and can be adopted will be (by both sides),
the only advancement ffdshow will have over MPC-HC for the foreseeable future is to have OSD / subtitles without being tied to a specific renderer (MPC-HC).


rsd78,
DXVA will always be somewhat less stable, as it relies on the renderer, the driver and the underlying hardware.
freezes (deadlocks) are usually caused by the decoder waiting for DX surfaces to become available while not freeing old surfaces. I wouldn't be surprised if some bugs are still present in that code.
crashes should not occur, and are easier to eliminate, when you can reproduce them repeatedly, let me know.

some crashes has already been fixed in latest revisions.

Tal

Latest svn (3268) seems to have fixed the crash when pressing the info button in Media Center than pressing it again or Back.

However the one major issue I've been getting with dxva is when fast forwarding in Media Center. I basically just let it ff for a little bit and it eventually crashes Media Center, sometimes 20-30 minutes into a movie and sometimes after fast forwarding 1hr or more. Seems to be pretty consistent, and doesn't happen with software decoding. Happened with the 3 or so files I just tried (all mkv, some 720 and some 1080p). I don't know if it matters, but this is with playing files streamed from another machine.

I'm guessing people using mpc-hc aren't seeing this?

Let me know if there are any logs I can gather or check and I will get them for you.

Thanks again.

Gleb Egorych
16th February 2010, 10:58
bug reported:

http://forums.nvidia.com/index.php?showtopic=159813
Thanks.

Sebastiii
16th February 2010, 12:30
bug reported:

http://forums.nvidia.com/index.php?showtopic=159813

hopefully they will fix it, and XP users of nvidia GPU can enjoy surface overlay with latest drivers.

Thanks too :)

fastplayer
16th February 2010, 12:40
bug reported:

http://forums.nvidia.com/index.php?showtopic=159813

hopefully they will fix it, and XP users of nvidia GPU can enjoy surface overlay with latest drivers.
Never ever has a bug been fixed that was reported on their forum.
Try this:
http://www.nvidia.com/object/driverqualityassurance.html

Oh, and you better remove your email address from that post. ;)

Gleb Egorych
16th February 2010, 13:06
Never ever has a bug been fixed that was reported on their forum.
I reported a bug on the forum some time ago and it was fixed in 196.21.

tal.aloni
16th February 2010, 14:18
Try this:
http://www.nvidia.com/object/driverqualityassurance.html

Done.

Starks
16th February 2010, 23:16
Is there any way for ffdshow to display subtitles at resolutions higher than the video resolution?

For example, if I wanted to watch a 480p video on a 1080p screen or monitor, fullscreen will display the subtitles at a rather fuzzy 480p, instead of scaling to match the fullscreen resolution and aspect ratio of the video.

Kado
17th February 2010, 01:23
resize the image with ffdshow to 1080 then render the subtitles.

Keiyakusha
17th February 2010, 01:24
Put resize before subtitles maybe?
(edit: oops, I'm slow)

jhb50
17th February 2010, 01:34
jhb50,
the BSOD might be also caused by an additional filter in the chain, or additional software that is installed in your system.

(a rogue filter would explain why powerdvd is not effected)

the only other option you have if you want to make ffdshow work, is to initiate a debug session, and see in which line of code triggers the BSOD.



Hi Tal: Thanks for your help on this.

I'm still trying to pin this down. I have restored this system with its recovery disks, and installed MPC-HT alone, so there are no rogue filters or other conflicts.

My question is do MPC-HT "H264/AVC (DXVA) internal filter, the external MPC-Video Decoder and ffdshow(DXVA) all use the same code to implement DXVA, because all 3 of them create a BSOD?

If they all use different code then I have to assume the problem lies elsewhere like with the driver even though POWER-DVD9 works fine, but if they do share code then the problem may still be within this common code and the way it interfaces to the GMA500.

Please advise. Thanks.

It sure would be nice to find another DXVA decoder to try. Anyone know of one?
==========================================================
EDIT: NEW INFO!

After more digging I found the ArcSoft Video Decoder included in HDPack. I installed it and used it as an External Filter in MPC-HC and it plays all my videos with subtitles and DXVA and no BSOD's. My tiny 1.3 ghz netbook with HDMI output can now play my 1280x720 video without dropped frames or BSOD's at 25% cpu.
1920x1080 video plays with blocky artifacts at about the same CPU load, so the bottle neck is not with the CPU.

Since I now have 2 video decoder filters that work correctly with DXVA (PDVD9 and Acsoft), I can now say without qualification that MPC and ffdshow are using common code and they have a bug that creates a BSOD when used to play AVC video with DXVA enabled with the Intel GMA500.

I will update my MPC Bug report #277 accordingly.

tal.aloni
17th February 2010, 10:05
jhb50,
as I said earlier, MPC-HC (both internal and stand alone) and ffdshow uses a very similar code.

I pointed earlier two things that the cyberlink / arcsoft decoder might be doing differently.
if you have the time, and want to try and get ffdshow working, I can make some beta builds, and instruct you how to log debug messages, and eventually we will be able to pin down the line of code that triggers the crash.

Tal

Edit:
you can start by downloading DebugView,
http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx

set it up to automatically log to file (File > Log To File),
then go to start menu > programs > ffdshow > Video Decoder Configuration
under "Info & CPU", enable "Output strings to debugger".

start using the DXVA decoder, and after the computer crash and restarts, use pastebin.com to send me the log.

rsd78
17th February 2010, 16:16
jhb50,
as I said earlier, MPC-HC (both internal and stand alone) and ffdshow uses a very similar code.

I pointed earlier two things that the cyberlink / arcsoft decoder might be doing differently.
if you have the time, and want to try and get ffdshow working, I can make some beta builds, and instruct you how to log debug messages, and eventually we will be able to pin down the line of code that triggers the crash.

Tal

Edit:
you can start by downloading DebugView,
http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx

set it up to automatically log to file (File > Log To File),
then go to start menu > programs > ffdshow > Video Decoder Configuration
under "Info & CPU", enable "Output strings to debugger".

start using the DXVA decoder, and after the computer crash and restarts, use pastebin.com to send me the log.

Sorry to bug you Tal again, but I wasn't sure if you saw my post about ff/rew in Media center always crashing with ffdshow dxva.

Would the above logging be useful to send to you for my particular problem as well? It doesn't crash the whole computer, but just Media Center. Thanks!

tal.aloni
17th February 2010, 17:20
rsd78,
thanks for reminding me, I intended to test media center and see if I can recreate this issue, but forgot about it...
I'll test it later today.

Edit: indeed there is a crash, but look at the cause:

Problem signature:
Problem Event Name: BEX64
Application Name: ehshell.exe
Application Version: 6.1.7600.16385
Application Timestamp: 4a5bd053
Fault Module Name: splitter.x64.ax

rsd78
17th February 2010, 19:11
rsd78,
thanks for reminding me, I intended to test media center and see if I can recreate this issue, but forgot about it...
I'll test it later today.

Edit: indeed there is a crash, but look at the cause:

Problem signature:
Problem Event Name: BEX64
Application Name: ehshell.exe
Application Version: 6.1.7600.16385
Application Timestamp: 4a5bd053
Fault Module Name: splitter.x64.ax

Good catch. I'm assuming you're using the mpc splitter?

I was using Haali myself, but can test out mpc.

tal.aloni
17th February 2010, 19:19
splitter.x64.ax = haali media splitter.

rsd78
17th February 2010, 19:20
splitter.x64.ax = haali media splitter.

Ahh ok thanks, I will experiment with the other one then.

rsd78
17th February 2010, 20:02
Using Gabest seems to fix most of the ff/rew crashes (still had one random one with labavcodec being the faulty module). Also this fixed the issue of garbled frames after 30 second skip. However now I'm not getting the context menu pop up from Media Control to happen it seems. But at least this is progress!

rsd78
17th February 2010, 20:24
@Albain or Tal (sorry if this belongs more in the Media Control forum), but I am seeing an issue with Gabest and ffdshow dxva and Media Control within Media Center.

I can't get the context menu to pop up automatically and it does not consistently find all the embedded subtitles (I can turn off/on subs overall but doesn't usually let me select between specific languages). Thanks!

EDIT: Did more testing and using Gabest with regular ffdshow works fine with MediaControl (Context Menu pop up appears, I can see all the embedded subtitles fine and can select between them). So I'm not sure if it's a ffdshow dxva issue, mediacontrol, or Gabest. Would love for this to be worked out if there is truly something to fix, as Gabest seemed to resolve all garbling/seeking issues I had with dxva while using Haali. Note using Haali + ffdshow (dxva or regular) + mediacontrol I don't have this issue.

Thanks again for all your work.

Inventive Software
17th February 2010, 23:08
I've been out of the loop a while, so I do apologise. What limitations are there with the DXVA decoder, currently?

XhmikosR
18th February 2010, 01:17
@devs: rev3269 has broken wmv playback for me, using wmv9 as video decoder and libavcodec as audio decoder, causing mpc-hc to crash. With rev3268 every wmv video plays fines.

cbemoore
18th February 2010, 01:49
@devs: rev3269 has broken wmv playback for me, using wmv9 as video decoder and libavcodec as audio decoder, causing mpc-hc to crash. With rev3268 every wmv video plays fines.

I noticed that some of the FFDShow-specific code has been removed in rev3269. Not sure if it was intentional, or if it was a merge error?

jhb50
18th February 2010, 08:53
debugger".

start using the DXVA decoder, and after the computer crash and restarts, use pastebin.com to send me the log.

Hi Tal:

Happy to help pin this down. Here is first dump...too small for pastebin!

00000000 0.00000000 [3472] TffdshowBase::Constructor
00000001 0.17777427 [3472] TffdshowDecVideo::Constructor
00000002 0.20727970 [3472] TffdshowDecVideoOutputPin::Constructor
00000003 0.20758197 [3472] TffdshowDecVideoDXVA constructor
00000004 0.20790295 [3472] TffdshowDec::GetPages
00000005 17.29215240 [3472] TffdshowDecVideo::Destructor
00000006 17.29269028 [3472] TffdshowDecVideoOutputPin::Destructor

I also have BSOD dump files if you want them.
John

tal.aloni
18th February 2010, 10:26
John,
something is very different than what I'm familiar with.
the first 4 lines match my experience, but then a different path is taken and the output pin disconnects.

this is way before DXVA 1.0 / 2.0 negotiation and buffer allocation.

I would suggest taking another log while using GraphStudio
( http://blog.monogram.sk/janos/2009/06/14/monogram-graphstudio-0320/ )

it would also help to visually identify all the filters involved, and verify that the crash comes before starting playback (during the connection stage).

XhmikosR
18th February 2010, 11:50
@devs: rev3269 has broken wmv playback for me, using wmv9 as video decoder and libavcodec as audio decoder, causing mpc-hc to crash. With rev3268 every wmv video plays fines.

After some more testing I found out that reverting the changes made in rev3269 in src/ffmpeg/libavcodec/fft.c fixes the problems; no more crashes.
So either by reverting fft.c or by using #define CONFIG_MDCT 1 in src/ffmpeg/config.h the problem is fixed.

fastplayer
18th February 2010, 11:59
http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2010-February/027462.html
Maybe it is required to add a parameter like --enable-mdct when building libavcodec?
Just guessing here... :D

XhmikosR
18th February 2010, 12:01
Look above :p I was just editing my post while you were posting.

fastplayer
18th February 2010, 12:03
Look above :p I was just editing my post while you were posting.
At least, I wasn't too far off with my "educated" guess :)

CiNcH
18th February 2010, 14:29
Coming back to the discussion about ATi not supporting VLD/bitstream-level decoding for MPEG-2... well... it actually does, starting with UVD2 (HD 4000 and 5000 series).

One can enable the DXVA profile 'DXVA2_ModeMPEG2_VLD' within registry or with the help of DXVAChecker (key 'VForceUVDMPEG2VLD'). It may not function correctly (green picture and system crash was reported). So it seems that ATi simply decided to disable the feature by default instead of debugging their driver...

XhmikosR
18th February 2010, 17:34
Compilation in rev3272 is broken.

http://pastie.org/private/zvhaikhexwfqa53its5vng

alexins
18th February 2010, 19:03
Compilation in rev3272 is broken.

http://pastie.org/private/zvhaikhexwfqa53its5vng

I confirm.

jhb50
18th February 2010, 19:18
OK. I can use ffdshow to play the file without DXVA and see the MPC-HC filters that are used. I assume that the same set would be used with ffdshow(DXVA). Is that what you mean by visually identifying them?

I can also use Graphedt to see the same thing.

I can see the MPC-HC playback window open and then the screen goes black and then the BSOD.

I will try all 3 and get back to you later today.

I'll do an ffdshow log as well so we can see the path when it works without DXVA.

uncertainty
18th February 2010, 23:14
BTW Ive been doing some benchmarks with rev3268 and no longer notice any major difference (cpu wise) between ffmpeg-mt and libavcodec for h264 material. In the past I would see a good 10-20% improvement on my duo-core with ffmpeg-mt.

If both are roughly equal now, cpu-wise, which provides a higher quality image if either?

thanks

tal.aloni
18th February 2010, 23:46
jhb50:
sorry, I was a bit unclear:
I meant start graphedit / graphstudio,
start DebugView,
load the file,
now, according to previous logs, I assume that the computer will crash.

if it doesn't, make sure you don't have an additinal filter that shouldn't be there, and start the playback.


uncertainty:
all H.264 decoders should have the same PQ.