View Full Version : ffdshow tryouts project: Discussion & Development
haruhiko_yamagata
23rd December 2008, 00:40
As I don't know how to name it, the best is to see it for yourself:
http://www.megaupload.com/?d=TM593MS6 (67MB)
Soft telecined? No.
Video only? No.
24/30FPS mixed? I have several of these and they certainly don't look like this one. 30FPS with parts that look perfect without any filter, parts that need deinterlacing, no repeated fields or frames...
Two consecutive combing and three consecutive good image: It's the hard telecine.
Hope Leak will post a script to make it right.
STaRGaZeR
23rd December 2008, 01:26
Two consecutive combing and three consecutive good image: It's the hard telecine.
Hope Leak will post a script to make it right.
There are several consecutive seconds that look good, and several consecutive seconds that have combing.
Mpeg2source("VTS_10_1.d2v")
ColorMatrix(interlaced=true)
tfm(order=1)
tdecimate(mode=1)
Usual script that works perfectly for telecined material, but not in this one. Are you sure this is hard telecined? I think it's not.
haruhiko_yamagata
23rd December 2008, 01:56
Usual script that works perfectly for telecined material, but not in this one. Are you sure this is hard telecined? I think it's not.Your script works for me. Please make sure you set "Buffer ahead" 12.
http://ffdshow-tryout.wiki.sourceforge.net/AviSynth
STaRGaZeR
23rd December 2008, 02:08
Yes, I have it. There are parts that are hard telecined and parts that are not. At segs 16-20 and 22-29 the video is choppy because there is no hard telecine in those frames. Between segs 1-5 the video is perfect because those are hard telecined, hence IVTC works OK here.
haruhiko_yamagata
23rd December 2008, 05:06
OK, but I'll be around one week away from my computer. I'll test when I came back. On a side note I had the crash once with VMR9 renderless today.
I've committed to the trunk. Please test when you come back. If it works for Haali's splitter, I'll add gabest's matroska splitter to the workaround.
Leak
23rd December 2008, 13:17
Yes, I have it. There are parts that are hard telecined and parts that are not. At segs 16-20 and 22-29 the video is choppy because there is no hard telecine in those frames. Between segs 1-5 the video is perfect because those are hard telecined, hence IVTC works OK here.
In that case you need to add "hybrid=1" to TFM so it'll blend those video segments down to 24 FPS which should look smoother than dropping a random frame.
np: Tocotronic - Samstag Ist Selbstmord (Live) (Nach Der Verlorenen Zeit)
tetsuo55
23rd December 2008, 16:14
has anyone tried ffdshow on a core i7 yet, i bet the 8 threads could give a nice speedup
DigitalDeviant
23rd December 2008, 16:45
In that case you need to add "hybrid=1" to TFM so it'll blend those video segments down to 24 FPS which should look smoother than dropping a random frame.
I don't suppose there is any method out there that would leave those sections undecimated since blending frames isn't an optimal solution? I have the same problem with a few discs myself.
Leak
23rd December 2008, 19:25
I don't suppose there is any method out there that would leave those sections undecimated since blending frames isn't an optimal solution? I have the same problem with a few discs myself.
Not if you want the telecined sections (which usually make up the bigger part of anime) to not stutter - because you'd have to run your display at 24FPS for those and would have to switch your display to 30 Hz and back depending on the content - and we all know how long displays take to switch between two video modes nowadays...
np: Tocotronic - Original Single Mix (Pure Vernunft Darf Niemals Siegen / Remixe)
DigitalDeviant
23rd December 2008, 19:56
My display is stuck at 60Hz and I'd rather deal with jitter than blends.
Leak
23rd December 2008, 21:29
My display is stuck at 60Hz and I'd rather deal with jitter than blends.
In that case just use TFM without TDecimate; that gets rid of the combing but leaves the duplicate frames in, thus keeping the original frame rate.
np: Tocotronic - Kapitulation (Kapitulation)
DigitalDeviant
23rd December 2008, 23:37
In that case just use TFM without TDecimate; that gets rid of the combing but leaves the duplicate frames in, thus keeping the original frame rate.
np: Tocotronic - Kapitulation (Kapitulation)
Thanks, but that's still not what I want though that does work OK if the 24fps material is soft telecined. I want to decimate the telecined parts to 24fps and leave the 30fps parts at 30fps, just deinterlaced. I know avisynth wasn't meant to produce vfr so I suppose that it's just not possible.
Leak
24th December 2008, 00:36
Thanks, but that's still not what I want though that does work OK if the 24fps material is soft telecined. I want to decimate the telecined parts to 24fps and leave the 30fps parts at 30fps, just deinterlaced. I know avisynth wasn't meant to produce vfr so I suppose that it's just not possible.
No, it isn't possible. And even if you managed to do it in an AviSynth filter any audio/video synchronization would immediately go the way of the dodo because ffdshow wouldn't know about the framerate change...
Also, why deinterlace the 30fps parts? Fieldmatching should get rid of the combing there just as well as with the 24fps parts... (i.e. I wouldn't call fieldmatching deinterlacing, since the combing isn't a result of every field being from a different point in time)
np: Kid606 - Live at Ultrahang Fest (Live at Ultrahang Fest)
iSunrise
25th December 2008, 17:47
Since this is my first post on this forum, and before I file my first bug report, I wanna express my deepest respect to all the people who have kept ffdshow alive since milan´s disappearance. Now for the on-topic stuff.
Bug report - Volume / Normalize - ffdshow beta6 / 2527
description:
If "Volume" and "Normalize" in the ffdshow audio decoder is enabled and the user changes "Max. amplification" while an audio file is playing, the current amplification drops down to a value that represents only the first digit of the value that the user wants to enter.
e.x.:
200% is enabled, user wants to change this to 400% and enters "400" => 4% is now the current value (the last 2 digits will get ignored).
To make matters worse: This can only be undone with reloading the current file.
to reproduce this step by step:
- open your media player of choice (mpc-/hc, zoomplayer)
- play e.x. an mp3 of your choice with ffdshow as audio decoder
(this should also happen with all other files that the ffdshow audio decoder can handle, however, to simplify that, use an mp3)
- while the file is playing, go into "ffdshow audio decoder" properties
- enable "Volume" and go into the volume properties
- in "Max. amplification", enter e.x. 200%
- uncheck "Regain volume" and "Reset on seek"
- enable "Normalize" (output will now be normalized to max. 200%)
- in "Max. amplification again, enter e.x. 400%
=> The output will now be normalized to max. 4%, so the audio is almost completely silent now. <=
(This is probably best handled by tal.aloni, since he extended ffdshow´s normalization feature, which this bug seems to be related to.)
Leak
25th December 2008, 19:12
200% is enabled, user wants to change this to 400% and enters "400" => 4% is now the current value (the last 2 digits will get ignored).
Last time I encountered this ffdshow was applying the new value in that box right after each keypress - so you'd get a limit of 4% followed by 40% and 400%. And since the volume is regained at a snails pace (which is why I wanted to be able to configure that speed, or have it accelerate over time) it'll take ages to get back to full again.
Either the value should only be applied when, well, "Apply" is clicked, or at least only when the field loses focus - though I'd find the former more logical, to be honest...
np: School Of Seven Bells - Sempiternal/Amaranth (Alpinisms)
iSunrise
25th December 2008, 22:17
Last time I encountered this ffdshow was applying the new value in that box right after each keypress - so you'd get a limit of 4% followed by 40% and 400%.
The big problem now is that you can type e.x. 40 or 400 in that box, but it has no effect, since only the first digit seems to get recognized ("Current:" will stay at "4%"). To make it even worse, trying to input a second value won´t work, because the whole box now just stops working altogether and it will always stick to the first digit value.
To save you guys some time I´ve just went through all past revisions and I found out that from rev2232 on the above has stopped working. The last and working revision was rev2225.
Either the value should only be applied when, well, "Apply" is clicked, or at least only when the field loses focus - though I'd find the former more logical, to be honest...
These were my thoughts, too, but that shouldn´t be necessary if the original behaviour of that box (check rev2225 or rev2222) is back again.
yesgrey
25th December 2008, 22:36
Recently, there was a significant update in this (http://forum.doom9.org/showthread.php?p=1227281#post1227281) thread.
With the function described, we can create a 3D LUT file to color correct our display RGB primaries colors.
It would be great if ffdshow allowed us to use this file for performing the correction. I think it's a very simply thing to do, it's just loading the 3D LUT into memory, and, after the YUV->RGB conversion, just map the RGB value in the 3D LUT and then output the value indicated by the 3D LUT.
For the interface, I was thinking in something like this:
-create a directory in ffdshows install dir called "3Dluts"
-put there all the 3D LUT files we want to use
-create in the "RGB Conversion" dialog the option "Use 3D LUT"
-create in the "RGB Conversion" dialog a drop down list which lists all 3D LUTs (file name) available in the dir "3Dluts"
Currently, we can use the ffdshow Avisynth for doing it, but it would be better the integration in ffdshow, because then we could use custom contrast values.
tetsuo55
26th December 2008, 00:25
Actually, i was hoping we could take this a step further.
FFdshow basically has all the data needed to guesstimate the source colorspace/levels/gamma.
We already have:
-Resolution to decide between BT.709(721x577 and higher) and BT.601(720x480 and lower)
-Resultion to decide between BT.601 EBU (PAL)(720x576) or BT-601 SMPTE-C (NTSC)(720x480)
-FPS to decide between BT.601 EBU (PAL)(25) or BT-601 SMPTE-C (NTSC)(30) and even BT.709(24)
-Video codec/container type (for detecting full-level video like fraps)
Besides this there are also colorspace dection programs avaialble, at least for images, their functioniality might also be possible for video.
The user would enable/disable the automatic detection and change some defaults. The available fields would be:
-Enable/Disable automatic Color/Level/Gamma
-Target Colorspace(default sRGB)
-Target Level(default 0-255)
-Target Gamma(default 2.2)
-Target RGB primaries(default sRGB primaries)
Selecting the desired colorspace would automatically adjust the 4 target values to the ones that are needed for that colorspace. There should be an option to lock each individual setting however, so filled in primaries do not have to be re-entered with every change.
Simply enabling the option will result in an accurate image for non-calibrated monitors. While changing the settings will allow advanced users and people with calibrated monitors/tv's/projectors to get the most out of their hardware.
A lot of the non-programmers here or I could provide a lot more information to anyone willing to actually code this into ffdshow and/or MPC
tal.aloni
26th December 2008, 00:43
If "Volume" and "Normalize" in the ffdshow audio decoder is enabled and the user changes "Max. amplification" while an audio file is playing, the current amplification drops down to a value that represents only the first digit of the value that the user wants to enter.
yea, I saw that too, but I was too lazy to do something about it at that time,
thanks for bringing that up, I'll see what I can do.
Tal
yesgrey
26th December 2008, 00:55
tetsuo55,
Your idea is good, but I think that with the presets and what I have requested, I think we can almost do all that, or something very similar...
yesgrey
26th December 2008, 02:20
A new version of libsamplerate is coming...
Go here (http://forum.doom9.org/showthread.php?p=1227961#post1227961) for more details, and if you want to try it in ffdshow. I have built a ff_samplerate.dll with this new version.
yesgrey
26th December 2008, 11:04
I have analysed the "Preset autoload conditions" dialog, and I think it would be better if the edit boxes are enabled only if the corresponding check box is enabled. Currently, the edit boxes are always enabled.
I also would like to request the addition of a new condition, the screen resolution.
Why? Because I use two screens with my PC, my monitor and my projector, and I want to load different presets for them and the only thing that differentiate them are the screen resolution and refresh rate. I think the resolution is more indicated for the selection...
:thanks:
leeperry
26th December 2008, 11:10
I have analysed the "Preset autoload conditions" dialog, and I think it would be better if the edit boxes are enabled only if the corresponding check box is enabled. Currently, the edit boxes are always enabled.
I personally like it the way it is right now, I can leave the data written in there and toggle it if I want to.
yesgrey
26th December 2008, 12:13
I personally like it the way it is right now, I can leave the data written in there and toggle it if I want to.
But disabling the edit boxes does not delete what is written there, only greys it. You still can see what is there, but for changing it you have to check the box.
The way it is right now, is a bit confusing, because you don't know which edit box belong to which check box, the bellow or the above; you have to look to the last to know.
leeperry
26th December 2008, 12:30
But disabling the edit boxes does not delete what is written there, only greys it. You still can see what is there, but for changing it you have to check the box.
The way it is right now, is a bit confusing, because you don't know which edit box belong to which check box, the bellow or the above; you have to look to the last to know.
well you can cut/paste arguments to other profiles w/o enabling/disabling it(and maybe forgetting to disable it afterwards)...I like it how it is, and don't see what's so annoying about it :p
TheShadowRunner
26th December 2008, 18:45
A small question/request for Haruhiko, is it technically possible to have ffdshow prevent the loading of Directvobsub when FFDShow's internal Subtitles feature is enabled?
The reason is the following: I use FFDshow for divx/xvid and like to use the internal Subtitle feature for those video streams. But I use CoreAVC for h264 so i need to have Directvobsub autoloading version enabled too.
The problem is that with this setup, when I play divx/xvid files, both the internal ffdshow subtitles and Directvobsub subtitles are loaded and displayed at once. So I was thinking a solution could probably be an option in FFDshow Subtitles setting page: "Prevent Directvobsub". When enabled, FFDshow would connect directly to the video renderer and prevent Directvobsub from being used.
Would this be possible at all?
See you,
TSR
I had also thought of a different approach to solve the issue: a feature in DirectvobSub (http://sourceforge.net/tracker2/?func=detail&aid=2301026&group_id=170561&atid=854654) to not load if specified filter is present in graph. If DirectvobSub had such a blacklist to prevent it from loading, I could set FFDshow there to make sure Directvobsub never loads when FFDshow is used. Maybe it's a better solution compared to the request above, as it's more global?
Eragon4ever
26th December 2008, 19:24
You could set "Raw video" -> "all supported" and use ffdshow's subtitles with CoreAVC as decoder.
But I have a question: How do you get VSFilter to work with CoreAVC? It loads but no subtitles are displayed. Only ffdshow's subtitles are working but I'd prefer VSFilter...
TheShadowRunner
26th December 2008, 19:30
No, I do not wish FFDshow to be always loaded.
Hmm VSfilter works just fine with CoreAVC, connects automatically between decoder and renderer and works as usual.
See you,
TSR
Eragon4ever
26th December 2008, 20:09
Ok, I found the problem. If I set "Raw video" -> "disabled" (instead of "all supported"), it's working.
The subtitles just don't get send to VSfilter but to ffdshow (even if ffdshow's subtitles are disabled). Could it be that subtitles are always send to the last filter in the graph that accepts them? If so shouldn't ffdshow refuse the connection if internal subtitles are disabled?
Edit: Why do you want VSfilter for H.264? Using a different subtitle renderer based on video codec does not make any sense to me. On the other hand, how do you even manage to make bouth work at the same time? If ffdshow is decoding the video, the subs are send to VSfilter here because it is last filter for them in the graph. ffdshow doesn't get any and displays nothing even with internal subtitles enabled...
TheShadowRunner
26th December 2008, 20:55
If so shouldn't ffdshow refuse the connection if internal subtitles are disabled?
No it shouldn't refuse as this wouldn't allow the Subtitles toggle to work in real time (the graph would need to be rebuild so you would need to stop the video, enable Subtitles in ffdshow and restart the video).
It's fine the way it is now.
Why do you want VSfilter for H.264? Using a different subtitle renderer based on video codec does not make any sense to me.
What? What else would i use for subs over h264 with coreavc if not Vobsub?
On the other hand, how do you even manage to make bouth work at the same time? If ffdshow is decoding the video, the subs are send to VSfilter here because it is last filter for them in the graph. ffdshow doesn't get any and displays nothing even with internal subtitles enabled...
Again, i don't really see what you're talking about. Subs aren't "sent" anywhere, let alone to the "last filter" :confused:.
When Vsfilter is set to autoload embedded and external subs, it will always load in the graph, that's it.
If it so happens that you use the FFDshow internal Subtitles feature, then when playing a video stream that you've set ffdshow to decode, both the internal Subtitles engine and Directvobsub will work at the same time, so they appear twice on the picture. My request is to automatize a way around that.
Later,
TSR
Eragon4ever
26th December 2008, 21:22
No it shouldn't refuse as this wouldn't allow the Subtitles toggle to work in real time (the graph would need to be rebuild so you would need to stop the video, enable Subtitles in ffdshow and restart the video).
It's fine the way it is now.
There you've got a point. Then perhaps only if another subtitles render is present in the graph? Don't know if that's possible.
What? What else would i use for subs over h264 with coreavc if not Vobsub?
ffdshow's subtitles renderer, maybe? My suggestion from before was CoreAVC -> ffdshow(subs) -> Video Renderer.
When Vsfilter is set to autoload embedded and external subs, it will always load in the graph, that's it.
If it so happens that you use the FFDshow internal Subtitles feature, then when playing a video stream that you've set ffdshow to decode, both the internal Subtitles engine and Directvobsub will work at the same time, so they appear twice on the picture. My request is to automatize a way around that.
What you say sounds logical but rendering a file in Graphedit shows me something different, here.
As you can see below, the subtitle pin is not connected with ffdshow but only with 0002(which is VSfilter). It's the other way around for a graph like CoreAVC -> VSfilter -> ffdshow -> Video Renderer.
If there's anything wrong with my conclusions from what I can observe, please tell me what.
http://www.pictureshoster.com/files/zhmx7hcg1g879ogl9fc.png
TheShadowRunner
27th December 2008, 00:26
ffdshow's subtitles renderer, maybe? My suggestion from before was CoreAVC -> ffdshow(subs) -> Video Renderer.
Well, ok i see what you mean, but no, I'd rather use VSFilter for h264. ^^;;
What you say sounds logical but rendering a file in Graphedit shows me something different, here.
As you can see below, the subtitle pin is not connected with ffdshow but only with 0002(which is VSfilter). It's the other way around for a graph like CoreAVC -> VSfilter -> ffdshow -> Video Renderer.
If there's anything wrong with my conclusions from what I can observe, please tell me what.
There's nothing wrong with your conclusion, it's rather incomplete. The graph above works OK for embedded subs, but external subs will load both in ffdshow and vsfilter!
If ffdshow could be set to prevent Vobsub from loading altogether (when ffdshow internal Subtitles feature is enabled), of if VSFilter could be set to *not* load if filter X or Y is already present in the graph, that would solve the problem beautifully.
See you,
TSR
Eragon4ever
27th December 2008, 01:40
There's nothing wrong with your conclusion, it's rather incomplete. The graph above works OK for embedded subs, but external subs will load both in ffdshow and vsfilter!
Ah, ok. If that's true, everything makes sense. I just don't have any external subs:p
EpsilonX
27th December 2008, 02:24
Hi guys !
Newbie here, currently I'm using rev2527 ICL10...
Been having grab issues from the last 4-5 builds if i recall correctly...
FFDShow would crash while grabbing screenshots using Grab...
Tried with ZoomPlayer and MPC, so it seems it's not a player related problem...
Narrowed the problem's cause, it only happens when Resize is active...
Changing the resize method didn't seem to help...
Any confirmation about this problem..?
Thanx in advance !
Ryokurin
27th December 2008, 03:01
You could set "Raw video" -> "all supported" and use ffdshow's subtitles with CoreAVC as decoder.
But I have a question: How do you get VSFilter to work with CoreAVC? It loads but no subtitles are displayed. Only ffdshow's subtitles are working but I'd prefer VSFilter...
CoreAVS is probably calling haali's media splitter in the directshow stream, so you'll have to go into the splitter's properties and tell it to auto load subtitles. It's not enabled by default.
haruhiko_yamagata
27th December 2008, 07:50
A small question/request for Haruhiko, is it technically possible to have ffdshow prevent the loading of Directvobsub when FFDShow's internal Subtitles feature is enabled?ffdshow can refuse to connect to VSFilter, but it doesn't guarantee that ffdshow can connect to video renderer instead.
The applications should be able to handle it, shouldn't be done in ffdshow.
It should be possible to "passthrough" subtitle to VSFilter if ffdshow is connected to it.
turbojet
27th December 2008, 11:37
Is there any way for ffdshow to decode <link removed, fixed> 480i m2ts from a retail BD?
Eragon4ever
27th December 2008, 12:43
CoreAVS is probably calling haali's media splitter in the directshow stream, so you'll have to go into the splitter's properties and tell it to auto load subtitles. It's not enabled by default.
No, as I wrote VSfilter did get loaded but just didn't display anything. Like I wrote, the problem was the following:
CoreAVC -> VSfilter -> ffdshow -> Video Renderer
In this graph VSfilter doesn't receive the subtitles so it can't display anything. ffdshow receives the subtitles and obviously nothing shows up if internal subtitles are disabled.
Kicking ffdshow out of the graph by setting "Raw video" -> "disabled" makes VSfilter work.
haruhiko_yamagata
27th December 2008, 13:45
Recently, there was a significant update in this (http://forum.doom9.org/showthread.php?p=1227281#post1227281) thread.
[...]
I would love to, but I have too many things to do.
If I have time, but I can't promise.
yesgrey
27th December 2008, 14:44
Ok, for me is good enough. I will wait and hope you could have a little time for it...
Do you think it's better adding it to ffdshow's feature requests tracker?
:thanks:
haruhiko_yamagata
27th December 2008, 15:42
Do you think it's better adding it to ffdshow's feature requests tracker?
:thanks:Yes, please do so.
Kurtnoise
27th December 2008, 15:44
@devs: could you remind me why wavpack support has been dropped ? I don't remember exactly why and it's not mentioned in the FAQ or in the bugtracker.
fastplayer
27th December 2008, 16:21
According to the SVN log it was "incomplete".
STaRGaZeR
27th December 2008, 20:35
I've committed to the trunk. Please test when you come back. If it works for Haali's splitter, I'll add gabest's matroska splitter to the workaround.
Just tested with all renderers and the garbled frames in premiere-paff.ts are gone, great work.
The only ones that are still bad are those like MF06.mkv, the garbled frames are still there with EVR/EVR Custom only. One more example:
http://thumbnails2.imagebam.com/2198/9a39e721972659.gif (http://www.imagebam.com/image/9a39e721972659)
Will test the freeze a soon as someone uploads an updated MT build.
MatMaul
27th December 2008, 20:50
I've committed to the trunk. Please test when you come back. If it works for Haali's splitter, I'll add gabest's matroska splitter to the workaround.
I think it would be better to ask for a fix in the mpc-hc thread if the mpc splitter is also concerned.
haruhiko_yamagata
28th December 2008, 00:27
Just tested with all renderers and the garbled frames in premiere-paff.ts are gone, great work.
The only ones that are still bad are those like MF06.mkv, the garbled frames are still there with EVR/EVR Custom only. One more example:
Will test the freeze a soon as someone uploads an updated MT build.
I found I could reproduce the freeze and garbling using the MT branch + EVR Custom.
Trunk works for me.
fastplayer
28th December 2008, 00:32
I think it would be better to ask for a fix in the mpc-hc thread if the mpc splitter is also concerned.
I was thinking the same. If this issue is 100% splitter-related, then it should be fixed right there and not in the decoder.
haruhiko_yamagata
28th December 2008, 00:42
I don't have the proof that MPC's splitters are concerned.
STaRGaZeR
28th December 2008, 01:44
I found I could reproduce the freeze and garbling using the MT branch + EVR Custom.
Trunk works for me.
For me trunk doesn't have any freezes, but the corrupted frames with EVR Custom are there. In fact my previous screenshot was produced with rev2537.
Sharc
28th December 2008, 12:34
Is there any way for ffdshow to decode this (http://www.mediafire.com/download.php?mvjnmva5kmn) 480i m2ts from a retail BD?
No problem at all with the playback using MPC, MPC-HC, graphstudio and ffdshow here .....
It's purely interlaced, TFF.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.