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

nevcairiel
15th September 2010, 08:36
This isn't really something the decoder should do. Either the player, or possibly the renderer should take care of this. Not the decoder.

Alexander01
15th September 2010, 15:34
Yes, but the player/renderer can't do it (WMC), so it would be nice if ffdshow can send a command to change the refesh rate.

noee
15th September 2010, 17:28
You're particular player cannot, but MPC-HC can do it (as well as others) and madshi has committed to adding a refresh rate "changer" to madVR. This feature makes no sense to be at the decoder layer.

clsid
15th September 2010, 18:43
Use MPC-HC, madVR, or ReClock.

SamuriHL
15th September 2010, 18:52
@SamuriHL - have you tried changing the "Smoothing method" - I've seen before where subs appear to have stopped working between one version of ffdshow and the next, but changing to a different Smoothing method makes them reappear - dunno if that means one of the methods is no longer working of course, but that's what worked for me in the past.

Work got in the way, but, I checked and it's as I had it set before when it was working. I haven't touched the 64 bit config other than to update to a new ffdshow version. For me, subtitles are no longer working at all. :( I'm surprised no one else has seen this issue? sigh.

clsid
15th September 2010, 18:57
Obvious thing to check is if post processing is enabled in the DXVA decoder.
Otherwise delete HKEY_CURRENT_USER\Software\GNU\ffdshow_dxva and start with a fresh set of settings.

SamuriHL
15th September 2010, 19:02
Yup. I may have to whack the settings. What's odd is that it's happening on both 32 and 64 bit. I haven't tried it on my other machine yet.

Alexander01
15th September 2010, 21:56
You're particular player cannot, but MPC-HC can do it (as well as others) and madshi has committed to adding a refresh rate "changer" to madVR. This feature makes no sense to be at the decoder layer.

I know MPC-HC does have an option to change the refresh rate based on the video file's fps. But the problem is I use WMC because I can use a remote control, watch TV, timeshift, etc. So if I use MPC-HC the remote control gets useless (need to start every video file from Windows Explorer with the mouse), I can't watch Live TV, and I can't timeshift. Is it impossible to let the ffdshow decoder do a Windows-command to change the refresh rate when the video file gets initialized by the decoder? And then change back to refresh rate when the decoding process is stopped (decoder quits)?

nevcairiel
16th September 2010, 06:58
You could use reclock. It offers a scripting interface to change refresh rates and even works in WMP (as long as you use DirectShow and not MF)

hoborg
16th September 2010, 07:45
Feature request:

MPC-HC MP4 splitter (MP4Splitter.ax) now support old QT *.mov files.
Can be QT PCM audio (subtype {454E4F4E-0000-0010-8000-00AA00389B71}) added to FFDshow audio decoder? MPC MPA decoder already support this, but FFDshow dont connect to MP4Splitter.ax

Here are two samples (http://hobring.esero.net/saf/samples/qt_pcm.zip).

BTW, make sure you have at last MP4Splitter.ax rev. 2551 (http://mpc-hc.svn.sourceforge.net/viewvc/mpc-hc?view=revision&revision=2551).

With QT PCM, it should be now possible to play all old *.MOV files without QT frameworks and QT source filter...
Thanks.

SamuriHL
16th September 2010, 18:31
I'm back with subtitle issues I'm afraid. I've completely cleaned the settings for both 32 and 64 bit, reinstalled with the latest build, and I still get no subtitles in either WMP or MPC-HC. I'm quite well aware of how to configure it to work having helped Damian with his guide on doing exactly that, so, something is not right. These are MKV's created by MakeMKV with PGS subs. As I said previously, they all worked fine until I upgrade ffdshow. I don't have the old installs handy nor do I have time to go try and track down what version it broke in right now. This is frustrating because I know it was working fine before with no changes to the setup other than upgrading to a newer version, and no one else seems to be having problems. sigh.

STaRGaZeR
16th September 2010, 20:15
The problem is on your side, the lastest version works just fine with PGS in MKV.

SamuriHL
16th September 2010, 20:16
Awesome. Well, given that I cleaned the ffdshow settings completely and reinstalled it from scratch, I have no idea at all what the issue is.

SamuriHL
16th September 2010, 20:51
I'm kind of worried now. I output the settings from a machine that is working, import them on my main HTPC that is NOT working, and it still doesn't give me subtitles. WTH could be wrong? :( This was working FINE just a few weeks ago. I'm seriously not happy right now.

EDIT: I take it back. It's not working on this machine, either. I had forgotten to uncheck auto-load subtitles in MPC-HC so it was using the internal subtitle display. SIGH. So that's two machines that it's not working on now. HELP

DJ_Phatic
16th September 2010, 21:36
I have never been able to get the subs working with ffdshow DXVA. I have just done a fresh install of Win7 64-bit and installed r3574 (tried on my previous install with various other revisions).

PGS subs inside MKV created by MakeMKV. Surface overlay enabled, subtitles on using MPC Matroska Splitter.

Subs work fine with MPC-HC Subtitle Engine. Using Catalyst 10.9 hotfix.

SamuriHL
16th September 2010, 21:39
Oh that's SO not what I want to hear. :D I had this working at one point. Something has broken it on both my laptop and my HTPC. Yes, subs work with MPC-HC, but, that's not the only player I use so this is very frustrating. I'm trying to lock it down and figure out what is causing this. So far, no luck at all.

SamuriHL
16th September 2010, 22:11
Yea, none of my machines have it working anymore. I have no idea what broke, but, if the ffdshow developers tell me it's working for them I have to take that as fact. It is NOT working for me at all anymore. I'm very very frustrated at this point.

DJ_Phatic
16th September 2010, 22:17
Same here, trying to get it setup nicely for MediaPortal.

Any ideas how I get LPCM in a mkv to work?

SamuriHL
16th September 2010, 22:25
I've not tried yet. I suppose I can work on that, but, this subtitle thing is really upsetting me now. :( I'll try Kill Bill when I get a chance and see what happens.

rica
16th September 2010, 23:19
Guys please.

What i need is somebody makes PCM bithdepth automatically selected.

_ _ _ _ _

STaRGaZeR
16th September 2010, 23:35
ffdshow r3574:

http://thumbnails26.imagebam.com/9801/bc702a98008540.jpg (http://www.imagebam.com/image/bc702a98008540)

EDIT: DXVA now:

http://thumbnails28.imagebam.com/9801/d77d8a98009395.jpg (http://www.imagebam.com/image/d77d8a98009395)

BTW, the logical first step when you break something is undo what broke it in the first place. Just sayin' :p

SamuriHL
17th September 2010, 00:19
Believe me, I wish I could! :D The only thing I've done to those machines is update FFDSHOW, MPC-HC, and the ATI drivers. I don't use subs very often, but, for forced subs they're, uh, kinda nice to have. :) I just want to be clear here, and I know you're a dev so this is stupid on my part to even ask, but, you have auto-load subtitles unchecked in MPC-HC....right? :)

SamuriHL
17th September 2010, 00:30
So yea, I created an MKV with LPCM from Kill Bill using MakeMKV and I get no audio, either. It looks like a splitter issue to me. The audio's simply not getting sent to ffdshow. I tried with SMM and MPC-HC splitters and nada. I didn't try with LAVF or Haali.

SamuriHL
17th September 2010, 01:10
So, I've just gone through about everything I can find. Stargazer, I even set up my 32 bit environment to match yours...ReClock audio renderer, EVR Sync, Haali....the *ONLY* way to get subs to show for me is if the auto-load subtitles checkbox is checked in MPC-HC which is not using ffdshow dxva subtitle rendering...instead it's using MPC-HC's internal sub renderer. So, I would ask you to look and see what you have set in MPC-HC just to see if maybe I'm going crazy. Thanks!!

SamuriHL
17th September 2010, 01:20
Ok, my last post on this because....drumroll....I've tracked down the damn build that broke it! :p So there, I wasn't crazy. ROFLMAO! It stops working for me in 3540. 3536 and previous work perfectly. Does this help at all? Do I need to log a bug? (Not sure how for ffdshow project). At least I know I'm not nuts! And Stargazer, that means you've been using MPC-HC subtitle support. ;)

STaRGaZeR
17th September 2010, 01:25
Believe me, I wish I could! :D The only thing I've done to those machines is update FFDSHOW, MPC-HC, and the ATI drivers. I don't use subs very often, but, for forced subs they're, uh, kinda nice to have. :) I just want to be clear here, and I know you're a dev so this is stupid on my part to even ask, but, you have auto-load subtitles unchecked in MPC-HC....right? :)

Yes, everything you see is done by ffdshow. However I've found something, try with r3537 and then with r3540 from here (http://xhmikosr.1f0.de/index.php?folder=ZmZkc2hvdy9vbGQvaWNsMTE=) and report your findings.

EDIT: ninja'd. And no, I'm not using MPC's renderer ;). The problem is that in r3537 libswscale was updated, adding sanity checks. These checks fail if you use a chroma subsampled format and swscaler gaussian or bilinear smoothing methods. I always use RGB32, so it didn't affect me. There's a bug in ffdshow, that now causes an error in libswscale. albain to the rescue! You can use another smoothing method until this is fixed. We can also partially revert that revision until albain has time to look at it, what do you say clsid?

SamuriHL
17th September 2010, 01:33
Yes, everything you see is done by ffdshow. However I've found something, try with r3537 and then with r3540 from here (http://xhmikosr.1f0.de/index.php?folder=ZmZkc2hvdy9vbGQvaWNsMTE=) and report your findings.

EDIT: ninja'd. And no, I'm not using MPC's renderer ;). The problem is that in r3537 libswscale was updated, adding sanity checks. These checks fail if you use a chroma subsampled format and swscaler gaussian or bilinear smoothing methods. I always use RGB32, so it didn't affect me. There's a bug in ffdshow, that now causes an error in libswscale. albain to the rescue! You can use another smoothing method until this is fixed.

You ROCK! Thank you for that. I thought I had changed that but I went back to defaults. Lemme go mess with that and see what happens. Most excellent!!

SamuriHL
17th September 2010, 02:05
I have a stupid question now. So I got RGB32 setup when using madVR and it's pretty damn stunning. However, for my other machine I have to use DXVA as we determined my CPU isn't fast enough to handle madVR (a shame). When I look at the icon for ffdshow dxva it's showing nv12 output. I set the regular ffdshow video settings to use only rgb32 with conversion but it doesn't seem to apply when doing dxva. Is this normal or am I missing a setting?

STaRGaZeR
17th September 2010, 04:15
madVR doesn't accept RGB32, so it's impossible you're using it. If you're actually using RGB32 and you think the quality is stunning, you will get that quality in any renderer that accepts RGB32 (basically everything except madVR).

DXVA is NV12 only, yes. Your GPU is doing thedecoding and the YCbCr-->RGB conversion. You should try outputting RGB32 from ffdshow in your other machine with your renderer of choice if your CPU is fast enough, you'll get madVR like quality instead of crappy DXVA. Don't forget checking "High quality YV12 to RGB conversion" ;)

NiFa
17th September 2010, 04:28
Is it possible to add "don't use DXVA if scan type is PAFF or MBAFF" or "use DXVA only if scan type is progressive" checkbox in DXVA settings so it doesn't decode interlaced videos at all?

Underground78
17th September 2010, 07:23
Is it possible to add "don't use DXVA if scan type is PAFF or MBAFF" or "use DXVA only if scan type is progressive" checkbox in DXVA settings so it doesn't decode interlaced videos at all?

Why ? Can't DXVA decode interlaced videos ?

hoborg
17th September 2010, 07:27
Why ? Can't DXVA decode interlaced videos ?

I would like to have this option, but only for VC-1i - not supported by FFMpeg, but FFDshow DXVA load to decode it = black screen.
But i didnt see reason why to disable interlaced h.264...

NiFa
17th September 2010, 07:45
Why ? Can't DXVA decode interlaced videos ?
DXVA can decode interlaced material but it causes artifacs at least ATI's low-end cards, so it would be nice to have some option that interlaced material would not be decoded using DXVA.
I would like to have this option, but only for VC-1i - not supported by FFMpeg, but FFDshow DXVA load to decode it = black screen.
But i didnt see reason why to disable interlaced h.264...
I'm not sure which one AVC1 is, but my problems occur when video is interlaced and encoded using AVC1, I don't have any interlaced h.264 videos in my computer so I can't test does it cause same problems.

albain
17th September 2010, 07:50
Guys please.

What i need is somebody makes PCM bithdepth automatically selected.

_ _ _ _ _

Hi Rica,

what's the deal with PCM bitdepth ?

This part is still a little messy in my head

@Nifa : does MPC-HC decodes interlaced VC1 correclty with DXVA decoder ?

hoborg
17th September 2010, 07:54
I'm not sure which one AVC1 is, but my problems occur when video is interlaced and encoded using AVC1, I don't have any interlaced h.264 videos in my computer so I can't test does it cause same problems.

AVC (http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC) is not VC-1 (http://en.wikipedia.org/wiki/VC-1) :)

NiFa
17th September 2010, 07:55
@Nifa : does MPC-HC decodes interlaced VC1 correclty with DXVA decoder ?
Same problem occurs when I tried with MPC-HC internal DXVA decoder, But I'm not sure is it VC-1 or h.264 which I have problems.

Here is video info:
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Format settings, GOP : M=2, N=32
Duration : 1h 7mn
Bit rate mode : Variable
Bit rate : 36.4 Mbps
Maximum bit rate : 39.0 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 29.970 fps
Scan type : MBAFF

Is that encoded with h.264/AVC?

@hoborg: thanks I wasn't sure which one it was, but that made it clearer.

Underground78
17th September 2010, 07:58
DXVA can decode interlaced material but it causes artifacs at least ATI's low-end cards, so it would be nice to have some option that interlaced material would not be decoded using DXVA.

This sample : beyonce.at.the.bbc.1080mbaff.sample.ts (http://mirror05.x264.nl/public/force.php?file=./beyonce.at.the.bbc.1080mbaff.sample.ts) seems to be work fine here with my HD2600XT. Can you try it ?

NiFa
17th September 2010, 08:13
This sample : beyonce.at.the.bbc.1080mbaff.sample.ts (http://mirror05.x264.nl/public/force.php?file=./beyonce.at.the.bbc.1080mbaff.sample.ts) seems to be work fine here with my HD2600XT. Can you try it ?
That sample played just fine without any problems.

Underground78
17th September 2010, 08:16
So maybe you can sample a short sample so that we can test the problematic file ?

NiFa
17th September 2010, 08:18
I'm just making sample and will put link here when I get it uploaded.

SamuriHL
17th September 2010, 13:46
madVR doesn't accept RGB32, so it's impossible you're using it. If you're actually using RGB32 and you think the quality is stunning, you will get that quality in any renderer that accepts RGB32 (basically everything except madVR).

DXVA is NV12 only, yes. Your GPU is doing thedecoding and the YCbCr-->RGB conversion. You should try outputting RGB32 from ffdshow in your other machine with your renderer of choice if your CPU is fast enough, you'll get madVR like quality instead of crappy DXVA. Don't forget checking "High quality YV12 to RGB conversion" ;)

Yea I'm an idiot. sigh. :) This is what I get for messing with things so much. It wasn't set to madVR when I was using RGB32. I had it set to EVR Sync at that point. However, that does go to show that EVR Sync + RGB32 looks pretty damn good!! Thanks for all your help. I've been learning a lot. This is not an area that I'm really all that good at yet. I'll try it on my other machine later and see what happens.

SamuriHL
17th September 2010, 13:50
Hi Rica,

what's the deal with PCM bitdepth ?

This part is still a little messy in my head



For PCM blu-ray discs, it's not sending it out through exclusive mode, so, you get whatever Windows audio is set to. (For example, my default is 7.1 96/24). That means a track like Kill Bill, for example, will play 7.1 96/24 even though in reality it's only 5.1 48/16. That's for Blu-rays. For MKV, I can't get any PCM audio at all. I believe that to be a splitter issue perhaps? Anyway, that's what I think Rica's referring to.

NiFa
17th September 2010, 13:57
Here are 2 samples from the video which I get some artifact to picture they are not huge but you can see them.

Sample (http://www.mediafire.com/?fxw3t8oyco0e618)
Sample 2 (http://www.mediafire.com/?c09h1901rkqiddx)

My graphigcard is HD4200, so I'm using really low-end card which shouldn't have power to handle interleced full-hd material as far as I know.

nevcairiel
17th September 2010, 14:04
For PCM blu-ray discs, it's not sending it out through exclusive mode, so, you get whatever Windows audio is set to. (For example, my default is 7.1 96/24). That means a track like Kill Bill, for example, will play 7.1 96/24 even though in reality it's only 5.1 48/16. That's for Blu-rays. For MKV, I can't get any PCM audio at all. I believe that to be a splitter issue perhaps? Anyway, that's what I think Rica's referring to.

What codec tag does it use in MKV?
Sample? :)

On the general issue that Rica is referring to, people want bit exact output.
This is not a problem for lossy formats, they should be decoded and output with the highest bit-depth possible, if the audio renderer supports it 32-bit int or even 64-bit float - the renderer should then dither it to 24-bit (or 16 on hardware that doesn't like 24)
However with lossless formats, they should preferably not be touched at all. So a 16-bit PCM Stream should be send as 16bit to the audio renderer, or a 24bit FLAC send as 24-bit, you get the idea.

This however does not work with ffdshow. When you tic multiple bit-depths on the output page, it'll always try to use the highest, in my experience.

A similar discussion started on the MPC-HC thread a while back, for reference the conclusion:
http://forum.doom9.org/showthread.php?p=1427095#post1427095

SamuriHL
17th September 2010, 14:11
What codec tag does it use in MKV?
Sample? :)

Sorry, I know better. Still not fully awake yet. :)


Audio
ID : 2
Format : PCM
Codec ID : 00001000-0000-0100-8000-00AA00389B71
Codec ID/Hint : Microsoft
Duration : 1h 50mn
Bit rate mode : Constant
Bit rate : 4 608 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Stream size : 3.56 GiB (13%)
Title : 3/2+1
Language : English


That's the media info for the PCM track inside the MKV. I don't have a small sample yet. Is there an easy way to cut 30 seconds to a minute from an MKV? For m2ts/ts files I can use tsMuxer, but, not for MKV's.

nevcairiel
17th September 2010, 14:16
I was hoping for the actual MKV tag, probably something like "A_PCM/....". Something like mkvinfo (from mkvtoolnix) should tell you.

mkvmerge can also split files based on time code. Somethnig like this will split the first 30s

mkvmerge -o sample.mkv --split 30s source.mkv

Note that --split will split after all 30s, so it'll create alot of small chunks. But its the easiest way i know from the top of my head to get a sample out of it. Just stop it after ti created a chunk :p

Underground78
17th September 2010, 14:21
Here are 2 samples from the video which I get some artifact to picture they are not huge but you can see them.

Sample (http://www.mediafire.com/?fxw3t8oyco0e618)
Sample 2 (http://www.mediafire.com/?c09h1901rkqiddx)

My graphigcard is HD4200, so I'm using really low-end card which shouldn't have power to handle interleced full-hd material as far as I know.

Hum I don't get artifacts but playback is jerky with those samples. I am not sure it is because of the fact they are interlaced.

SamuriHL
17th September 2010, 14:26
I was hoping for the actual MKV tag, probably something like "A_PCM/....". Something like mkvinfo (from mkvtoolnix) should tell you.

mkvmerge can also split files based on time code. Somethnig like this will split the first 30s

mkvmerge -o sample.mkv --split 30s source.mkv

You can also specify an absolute position using "--split timecodes:00:45:00.000,00:45:30.000"


(MKVInfo) | + Track number: 2
(MKVInfo) | + Track UID: 2
(MKVInfo) | + Track type: audio
(MKVInfo) | + Enabled: 1
(MKVInfo) | + Default flag: 1
(MKVInfo) | + Forced flag: 0
(MKVInfo) | + Lacing flag: 1
(MKVInfo) | + MinCache: 0
(MKVInfo) | + Timecode scale: 1
(MKVInfo) | + Max BlockAddition ID: 0
(MKVInfo) | + Codec ID: A_MS/ACM
(MKVInfo) | + Codec decode all: 1
(MKVInfo) | + Language: eng
(MKVInfo) | + CodecPrivate, length 40 (format tag: 0xfffe)
(MKVInfo) | + Default duration: 5.000ms (200.000 fps for a video track)
(MKVInfo) | + Name: 3/2+1
(MKVInfo) | + Audio track
(MKVInfo) | + Sampling frequency: 48000
(MKVInfo) | + Channels: 6
(MKVInfo) | + Bit depth: 16


http://www.mediafire.com/?8f37sc3mgcyxh2p

I hope this helps!

SamuriHL
17th September 2010, 14:31
Just an FYI, the original MKV was made with MakeMKV 1.5.8. I don't know if that's relevant or not but I just thought I'd mention it.

clsid
17th September 2010, 14:38
Yes, everything you see is done by ffdshow. However I've found something, try with r3537 and then with r3540 from here (http://xhmikosr.1f0.de/index.php?folder=ZmZkc2hvdy9vbGQvaWNsMTE=) and report your findings.

EDIT: ninja'd. And no, I'm not using MPC's renderer ;). The problem is that in r3537 libswscale was updated, adding sanity checks. These checks fail if you use a chroma subsampled format and swscaler gaussian or bilinear smoothing methods. I always use RGB32, so it didn't affect me. There's a bug in ffdshow, that now causes an error in libswscale. albain to the rescue! You can use another smoothing method until this is fixed. We can also partially revert that revision until albain has time to look at it, what do you say clsid?
Do you mean these checks (http://ffdshow-tryout.svn.sourceforge.net/viewvc/ffdshow-tryout/trunk/src/ffmpeg/libswscale/swscale.c?r1=3538&r2=3537&pathrev=3538) in r3538? If so, go ahead and disable them. Please also add a comment that describes the bug in ffdshow.

@Albain, could you have a look at this bug?