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

LoRd_MuldeR
2nd November 2008, 05:17
Yes, of course. Please read a few posts above (http://forum.doom9.org/showthread.php?p=1208719#post1208719).

Allright :)

I think the remaining problem may be the cause of the problems discussed here:
http://forum.doom9.org/showthread.php?p=1208165#post1208165

Post #16 and following...

Snowknight26
2nd November 2008, 07:10
I've had these two related problems for a while now, both with my Tiesto Blu-ray (AVC, 1080i, 25fps):

When ffdshow is set to decode H.264, the Movie FPS reports 108.660fps, decodes very poorly (decoder fps is ~17) and is very much out of sync.
When MPC-HC's decoder is used, its played at 25fps.
When MPC-HC's decoder is used with ffdshow set to decode raw video, Movie FPS says 25fps, but yet again, decodes very poorly (decoder fps is ~17) and is very much out of sync.

Sample: http://www.stfcc.org/misc/00000.cut.m2ts

shambles
2nd November 2008, 13:51
That's right, I made an internal parser that strips off AC3 frames from TrueHD streams (if there are), but only if AC3 codec is set to SPDIF. In that case the truehd part is not decoded at all

i tried/want to set up ffdshow so that with truehd+ac3, truehd is decoded, but with vanilla ac3, spdif is used

would be awesome if an option to do that was included in a future build :)

haruhiko_yamagata
2nd November 2008, 14:36
I've had these two related problems for a while now, both with my Tiesto Blu-ray (AVC, 1080i, 25fps):

When ffdshow is set to decode H.264, the Movie FPS reports 108.660fps, decodes very poorly (decoder fps is ~17) and is very much out of sync.
When MPC-HC's decoder is used, its played at 25fps.
When MPC-HC's decoder is used with ffdshow set to decode raw video, Movie FPS says 25fps, but yet again, decodes very poorly (decoder fps is ~17) and is very much out of sync.

Sample: http://www.stfcc.org/misc/00000.cut.m2ts
Confirmed.

STaRGaZeR
2nd November 2008, 15:19
i tried/want to set up ffdshow so that with truehd+ac3, truehd is decoded, but with vanilla ac3, spdif is used

would be awesome if an option to do that was included in a future build :)

Have you tried with TrueHD decoder enabled and AC3 enabled but with SPDIF output?

Mercury_22
2nd November 2008, 15:38
I really, really like the new ffmpeg-mt branch but can someone update it with the new audio codecs / trunk ? :thanks: :helpful:

shambles
2nd November 2008, 16:53
Have you tried with TrueHD decoder enabled and AC3 enabled but with SPDIF output?

yes but that just strips off the truehd blocks and passes the interleaved ac3 through

STaRGaZeR
2nd November 2008, 17:10
yes but that just strips off the truehd blocks and passes the interleaved ac3 through

It shouldn't, if TrueHD is selected ThueHD blocks will be decoded. What splitter are you using? Currently only MPC-HC's MPEG PS/TS/PVA supports it, if you use Haali's for example it will only send the interleaved AC3 to the decoder.

shambles
2nd November 2008, 17:35
haali doesn't send any audio on this box when playing back truehd+ac3 m2ts, so yes i'm using the mpc-hc splitter.

it does decode truehd when setting both mlp and ac3 to libavcodec, but not when ac3 is set to spdif

albain
2nd November 2008, 20:23
It shouldn't, if TrueHD is selected ThueHD blocks will be decoded. What splitter are you using? Currently only MPC-HC's MPEG PS/TS/PVA supports it, if you use Haali's for example it will only send the interleaved AC3 to the decoder.

Actually no, if AC3 is set to SPDIF, then AC3 blocks are stripped off and sent to SPDIF.

I realize that it would be better to have an option

STaRGaZeR
2nd November 2008, 21:15
Oh so the SPDIF option has priority over the enabled/disabled of TrueHD. Yes, and option would be nice.

tal.aloni
2nd November 2008, 21:17
ffdshow_audio/activePreset in the registry. If it fails default to 'default'.

Didn't know that. is passing on all the subkeys has some consequences I'm unaware of?


The installer still list "SPDIF" below AC3 and DTS, but does nothing if I change it to "SPDIF".
I didn't remember that menu, I'll take care of it. (remove spdif from there, pass-through is listed below)

Thanks,
Tal

tal.aloni
2nd November 2008, 21:28
Actually no, if AC3 is set to SPDIF, then AC3 blocks are stripped off and sent to SPDIF.

I realize that it would be better to have an option

It should be the other way around,
if MLP decoding will be enabled, AC3 pass-through will not be used on TrueHD.
only if MLP is disabled, you'll have AC3 pass-through (if selected).

Agreed?

Mercury_22
2nd November 2008, 22:38
Can ffmpeg-mt branch be compiled to 64-bit with MinGW64 ? :helpful:

haruhiko_yamagata
3rd November 2008, 02:32
Didn't know that. is passing on all the subkeys has some consequences I'm unaware of?
"default" is hard coded all around the setup script. This is not your fault.

I didn't remember that menu, I'll take care of it. (remove spdif from there, pass-through is listed below):thanks:

haruhiko_yamagata
3rd November 2008, 02:36
Can ffmpeg-mt branch be compiled to 64-bit with MinGW64 ? :helpful:Yes I can, if I disable multithreading :p .
pthread library is available from MinGW64 (https://sourceforge.net/projects/mingw-w64), so it shouldn't be too hard. I don't have time now though.

STaRGaZeR
3rd November 2008, 02:58
How about adding a checkbox "Flag soft telecined video as progressive" to the output page? If it's checked, the INT_?FF flags will be discarded, and if it isn't checked the PROGRESSIVE_FRAME flag will be discarded instead - but of course only in case both are set.

I'll do that tomorrow if nobody objects...


I've always been thinking about turning the 3:2 pulldown part of the AviSynth filter into it's own "3:2 pulldown" filter - how about that?

The config page would have a checkbox to (de-)activate the filter and two radio buttons for "Apply pulldown" and "Smooth timestamps".

All it needs is to buffer the last frame, so it shouldn't be hard to do...

How about this Leak? VERY useful.

CraziFuzzy
3rd November 2008, 05:02
Here's a crazy idea I'm mulling about. I've got a Samsung DLP television, that uses TI's 'wobulation' display method. Basically, it's kind of the 'new' interlacing, in that the 1920x1080x60Hz picture received from the source (in this case, my HTPC) is actually displayed one half-checkerboard at a time, at 120Hz. (So of the 1920x1080 image, every other pixel is drawn, then 1/120th of a second later, the other pixels are drawn). My idea here is that this might allow a well designed filter to take a 24fps film source, and sort of 'checker-telecine' it, so that what is viewed is smooth 24Hz, without the stutter problems of going to 60Hz. Does anyone think this is a possibility?

The TV does do this internally if it is given a 1080p/24 source, but I have had problems getting my HTPC to switch between 24p and 60p output reliably, and based on source.

Leak
3rd November 2008, 09:46
How about this Leak? VERY useful.
Well, I meant to do that yesterday, but after spending half the day setting up MinGW and getting it to compile the parts of ffdshow that need to be compiled with GCC I just couldn't do it anymore... so please give me another day or two... :)

STaRGaZeR
3rd November 2008, 11:06
All you need like always :D

tal.aloni
3rd November 2008, 13:05
Did you guys know that ffdshow has a dolby pro-logic II decoder?
it was hidden so well under the "Dolby decoder" title,
I though in the past that this was AC3 related,
I had to dig into the source to find out what it is.
(I intend to rename it to "Dolby pro-logic II decoder")

also, when activating this option, it works on every source, not just stereo.
this seems odd, since there are only stereo "Dolby surround" tracks, and the algorithm is quite useless on every other type of channel number anyway. (It will sound very odd on mono sources, and will ignore every other channel except the FR & FR when source > 2-channels)

I intend to modify this so it will only be applied to 2-channel sources, does anyone object?

Tal

avivahl
3rd November 2008, 13:12
Did you guys know that ffdshow has a dolby pro-logic II decoder?
it was hidden so well under the "Dolby decoder" title,
I though in the past that this was AC3 related,
I had to dig into the source to find out what it is.

It seems to me that when activating this options,
it works on every source, not just stereo.
this seems odd, since there are only stereo "Dolby surround" tracks, and the algorithm is quite useless on every other type of track anyway. (It will sound very odd on mono sources, and will ignore every other channel except the FR & FR when source > 2-channels)

I intend to modify this so it will only be applied to 2-channel sources only, does anyone object?

also, I intend to rename it to "Dolby pro-logic II decoder".

TalHeh, I always wondered what that filter is. :)
"Dolby Pro Logic II Decoder" (capitalized) is nicer.
Would be nice if that filter would also have a small explanation regarding what it actually does (like here (http://www.dolby.com/consumer/technology/prologic_II.html)).

clsid
3rd November 2008, 13:31
Well, I meant to do that yesterday, but after spending half the day setting up MinGW and getting it to compile the parts of ffdshow that need to be compiled with GCC I just couldn't do it anymore... so please give me another day or two... :)I have a custom installer for MinGW that allows you to setup a working environment in a few seconds. I'll upload it for you.

Edit: see opening post.

nautilus7
3rd November 2008, 13:34
I intend to modify this so it will only be applied to 2-channel sources, does anyone object?
From what i know, DPL II can upmix any source to 5.1 and DPL IIx to 7.1. If you restrict this to 2.0 (2/0/0) only, then 2/0/1, 3/0/0, 3/0/1, 3/1/0 and 3/1/1 wont work.

_xxl
3rd November 2008, 13:39
I have a custom installer for MinGW that allows you to setup a working environment in a few seconds.
Please post a link to first post.

tal.aloni
3rd November 2008, 13:59
From what i know, DPL II can upmix any source to 5.1

Wrong, here is a quote from the dolby web-site:


Dolby® Pro Logic® II technology processes any high quality stereo (two-channel) movie and music audio into five playback channels of full-bandwidth surround sound.


DPL IIx can only be applied to 2.0 and 5.1 (dolby web-site again), but we don't have DPL IIx decoder.

Tal

nautilus7
3rd November 2008, 14:10
Ok then, go on!

DrKnowLittle
3rd November 2008, 15:03
I have a small subtitle request that I think would benefit most users. When having a movie with embedded subs it always takes priority over any external subtitle file nomatter what order one set in the "Extensions Priority" list. I would like to see a "Use Internal subs only if no external is found" checkbox or even better "fix" the priority list to include a "internal" tag so one could choose whatever is best.


Other than that I can't see how ffdshow_tryouts can get any better :thanks::thanks:

No comments from any of the main developers :confused:



It can't be a hard feature to implement or ?

haruhiko_yamagata
3rd November 2008, 15:30
@DrKnowLittle
You can use external subtitles if you uncheck "Accept embedded subtitles".
It's not difficult to implement. Main problem is that the dialog is too crowded.
Little space to add one more check box "Prioritize external subtitles".
Even if we can, it makes the dialog more messy.
ffdshow already has too many options without proper documentation.
I don't want to lead users to more confusion.

Thunderbolt8
3rd November 2008, 15:40
got some questions regarding multi core support:

-interlaced AVC files arent multi core supported yet I guess? I have an interlaced H264 skyHD cap, which stutters because the cpu usage is 100% on the one and ~15% on the other core (got a c2d @2,8ghz), without even having deinterlacing activated. with coreavc its both around 50%.

-in which other cases is dual/multi core usage support not yet established?

-I guess there are no differences between 2 and 4 cores, e.g. when something is multicore supported then its (somewhat) evenly distributed among the number of cores, no matter if 2 or 4?

_xxl
3rd November 2008, 15:44
You could test ffdshow compiled from ffmpeg-mt trunk.
From trunk ffdshow's h.264 decoder isn't mt for interlaced files.

DrKnowLittle
3rd November 2008, 15:47
@DrKnowLittle
You can use external subtitles if you uncheck "Accept embedded subtitles".
It's not difficult to implement. Main problem is that the dialog is too crowded.
Little space to add one more check box "Prioritize external subtitles".
Even if we can, it makes the dialog more messy.
ffdshow already has too many options without proper documentation.
I don't want to lead users to more confusion.

I can understand the confusion part :)
I know I can use external subtitles but I wan't to be able to use both w/o having to change my config everytime I start a movie.

If I have a movie with let say embedded"English" subtitles and a .srt subtitle file in my native tounge (swedish) ffdshow will always display the embedded one , in my opinion it would be more logic to first use external if exists and then internal, it doesen't even have to be a setting just a change in the current behavior.

Or adding "embeeded" to the priority list like this
"embedded;utf;idx;sub;srt;smi;rt;txt;ass;ssa;aqt;mpl;usf"
would not change the layout of the dialog.

Br
DrKnowLittle

clsid
3rd November 2008, 15:56
A wiki for ffdshow was setup some time ago. It is pretty much empty right now. Everyone that wants to write some documentation, feel free to do so.

http://ffdshow-tryout.wiki.sourceforge.net/

CraziFuzzy
3rd November 2008, 16:01
Did you guys know that ffdshow has a dolby pro-logic II decoder?
it was hidden so well under the "Dolby decoder" title,
I though in the past that this was AC3 related,
I had to dig into the source to find out what it is.
(I intend to rename it to "Dolby pro-logic II decoder")

also, when activating this option, it works on every source, not just stereo.
this seems odd, since there are only stereo "Dolby surround" tracks, and the algorithm is quite useless on every other type of channel number anyway. (It will sound very odd on mono sources, and will ignore every other channel except the FR & FR when source > 2-channels)

I intend to modify this so it will only be applied to 2-channel sources, does anyone object?

Tal

Perhaps the best solution would be to add a "Only Process 2-Channel Sources" checkbox to the Dolby Decoder filter, so those that still want the processing on higher channel streams could still use it. (It's not like adding a checkbox to that filter would be too cluttered).

I would definitely like this feature though, as I currently just have it always on, and I know it does degrade the separation on the already 5.1 tracks. Basically using this would allow you to get the closest to the intended surround image, as those streams that are Dolby encoded on stereo would be decoded properly, and those that are 5.1 would still be correct. This behavior would be much closer to that of a typical surround receiver.

Leak
3rd November 2008, 16:31
I have a custom installer for MinGW that allows you to setup a working environment in a few seconds. I'll upload it for you.
Thanks, but it's too late already - I figured it out yesterday...

Stable MSYS + TDM's 4.2.4 GCC packages + assorted stuff = compile win :)

(It wasn't just MinGW, actually - I also had to clean up my local SVN repository and import a fresh copy of ffdshow's trunk...)

But I guess there'll always be others that will have use for your installer. :)

tal.aloni
3rd November 2008, 16:45
Perhaps the best solution would be to add a "Only Process 2-Channel Sources" checkbox to the Dolby Decoder filter, so those that still want the processing on higher channel streams could still use it. (It's not like adding a checkbox to that filter would be too cluttered).

I don't believe that streams that require such checkbox exist. (5.1 with silent 3.1 and 2.0 encoded as dolby surround). If someone will prove me wrong, I would add such checkbox.
IMO, the probability of a user twisting the decoding process because of an unneeded checkbox is too high to justify it.

Tal

tal.aloni
3rd November 2008, 18:13
OK, Fifth Time's the Charm.

Here is the updated patch:
http://iknowu.net/files/public/ffdshow/2273-Passthrough-RC5.patch

Build (MSVC-2005):
http://iknowu.net/files/public/ffdshow/ffdshow_rev2273_20081031-Pass-Through-RC5.exe

+ AC3 / DTS pass-through is now based on presets.

+ When MLP decoding is enabled, AC3 pass-through will not be used on TrueHD sources.
(if you want to pass-through the AC3 core of TrueHD, disable MLP decoding)

Tal

DigitalDeviant
3rd November 2008, 18:17
But I guess there'll always be others that will have use for your installer. :)

I'd like to have that please.

Eragon4ever
3rd November 2008, 18:19
The link has been edited into the first post.

Thunderbolt8
3rd November 2008, 23:32
You could test ffdshow compiled from ffmpeg-mt trunk.
From trunk ffdshow's h.264 decoder isn't mt for interlaced files.
what does mt mean here? :)

Snowknight26
4th November 2008, 00:24
Multithreaded.

haruhiko_yamagata
4th November 2008, 11:31
OK, Fifth Time's the Charm.

Here is the updated patch:
http://iknowu.net/files/public/ffdshow/2273-Passthrough-RC5.patch

Build (MSVC-2005):
http://iknowu.net/files/public/ffdshow/ffdshow_rev2273_20081031-Pass-Through-RC5.exe

+ AC3 / DTS pass-through is now based on presets.

+ When MLP decoding is enabled, AC3 pass-through will not be used on TrueHD sources.
(if you want to pass-through the AC3 core of TrueHD, disable MLP decoding)

Tal
After installing your build, if I check AC3 and DTS in "Pass-through (SPIDF,HDMI), and re-install your build, the tasks are not checked.
Also they are unchecked in the configuration dialog. :thanks:

tal.aloni
4th November 2008, 12:17
Sorry, my bad,
Here is an updated patch:
http://iknowu.net/files/public/ffdshow/2273-Passthrough-RC6.zip

build:
http://iknowu.net/files/public/ffdshow/ffdshow_rev2273_20081031-Pass-Through-RC6.exe

Thanks,
Tal

haruhiko_yamagata
4th November 2008, 13:40
Sorry, my bad,
Here is an updated patch:
http://iknowu.net/files/public/ffdshow/2273-Passthrough-RC6.zip

build:
http://iknowu.net/files/public/ffdshow/ffdshow_rev2273_20081031-Pass-Through-RC6.exe

Thanks,
Tal
Installer is OK :) .
static const int spdifs[]={IDC_CHB_PASSTHROUGH_AC3, IDC_CHB_PASSTHROUGH_DTS, IDC_CHB_OUT_AC3,IDC_LBL_OUT_AC3,IDC_CBX_OUT_AC3,IDC_CHB_AOUT_AC3ENCODE_MODE,0};
enable(lavc && lavc->ok && !lavc->dec_only,spdifs);
Not a big thing, but SPDIF pass through should be possible even if libavcodec.dll is not found.
S/PDIF encode mode depends on libavcodec.

By the way, which do we user SPDIF or S/PIDF?

clsid
4th November 2008, 13:59
S/PDIF is the correct name. But people commonly write it as SPDIF. Both are currently used throughout ffdshow. That should at least be made consistent.

tal.aloni
4th November 2008, 15:22
Not a big thing, but SPDIF pass through should be possible even if libavcodec.dll is not found.
S/PDIF encode mode depends on libavcodec.
my mistake, thanks. (fixed now)

By the way, which do we use SPDIF or S/PDIF?
you both are right, I have replaced it with S/PDIF.

Here is an updated patch (lucky number 7):
http://iknowu.net/files/public/ffdshow/2281-Passthrough-RC7.zip

Build:
http://iknowu.net/files/public/ffdshow/ffdshow_rev2281_20081031-Pass-Through-RC7.exe

Tal

Inventive Software
4th November 2008, 19:36
Seems ffdshow-tryouts is going through a good phase at the moment!

Congrats haruhiko on getting a commit into libavcodec too! :)

haruhiko_yamagata
5th November 2008, 10:47
Congrats haruhiko on getting a commit into libavcodec too! :)Yes, I did it. :thanks:

haruhiko_yamagata
5th November 2008, 11:15
my mistake, thanks. (fixed now)


you both are right, I have replaced it with S/PDIF.

Here is an updated patch (lucky number 7):
http://iknowu.net/files/public/ffdshow/2281-Passthrough-RC7.zip

Build:
http://iknowu.net/files/public/ffdshow/ffdshow_rev2281_20081031-Pass-Through-RC7.exe

Tal
The patch is OK for me.
@albain
Could you review and commit?

albain
5th November 2008, 15:27
I have tested it successfully on my setup.

EDIT : files committed to revision 2298.
Thank you Tal Aloni !