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

haruhiko_yamagata
28th November 2011, 12:35
@crl2007,
Good to hear it was solved.
Incidentally, I have found ffdshow crashes if letter box is used for 10-bit image since the addition of P010/P016 color spaces.

As for positioning, the player or the video renderer may add the black borders. What is your settings for Letter box? What happens if you enter 4:3 or even 4:5?

crl2007
28th November 2011, 12:46
I use 16:9 Letterbox. If I use 4:3 or 4:5, I get a huge black border on top and no border below. MPC-HC has something like this:

http://thumbnails59.imagebam.com/16168/e3a765161677202.jpg (http://www.imagebam.com/image/e3a765161677202)

It displays the subtitles on the black border without using another setting. Maybe a similar option could be added to ffdshow too.

haruhiko_yamagata
28th November 2011, 13:25
ffdshow draw subtitles on the black borders for me. I can't find how to draw on video image...

Reino
28th November 2011, 13:43
ffdshow_rev4052_20111120_clsid.exe small bug-report:

- CRAM video (http://samples.mplayerhq.hu/V-codecs/CRAM/BARBIE.AVI), immediate crash.

- RLE video (http://samples.mplayerhq.hu/V-codecs/RLE/HCN.avi), immediate crash.

- Volume Normalization on WavPack Audio (http://www.degeelebosch.nl/reino/Chris Rea_test (flac,wv,tta).mka) glitch:
Although this of low priority, I've seen this issue has been around for a long time now. While the volume levels refresh realtime on FLAC or TTA, when the WavPack audio stream is selected, the volume levels are only refreshing once every 1 or 2 seconds or so, or aren't refreshing at all.

- Lastly, a request (which I have requested earlier (http://forum.doom9.org/showthread.php?t=156427), but has fallen into oblivion):
To test and play avs-files (Avisynth-script pointing to YV12-material) and not having to install the Helix YUV Codecs 1.2, because of FFDShow's ability to handle raw YV12 material, is of course great. However, the downside to enabling raw YV12 in FFDShow is, it becomes an unnecessary DirectShow filter in case of all lossy/encoded YV12 material. When you let the LAV Video Decoder handle H.264 for instance, the FFDShow Video Decoder comes after that serving no purpose at all.
So, an option to allow FFDShow only in this case (AVI/AVS-files with or pointing to raw YV12 video) would be ideal. And of course the idea behind it, something like; if other than FFDShow decoder present, then don't load. And if no other decoder capable of handling raw YV12 video, then load FFDShow Video Decoder.

haruhiko_yamagata
28th November 2011, 14:31
Please do it. I prefer less but safe.
I have removed it at rev 4092.

haruhiko_yamagata
28th November 2011, 14:33
Yes, libavcodec now supports 4:2:2 8/10bit. But it is disabled in ffdshow because it can not handle the relevant colorspaces yet.
OK, I'll work on it.
I don't have any samples.
No problem, I have created a sample.

crl2007
28th November 2011, 15:09
ffdshow draw subtitles on the black borders for me. I can't find how to draw on video image...

It draws subtitles on black borders if the movie isn't cropped, but if it is cropped and you use coreavc and ffdshow subtitle filter as video processor, then the subtitles are drawn on video, like in my pic.

nevcairiel
28th November 2011, 15:23
It draws subtitles on black borders if the movie isn't cropped, but if it is cropped and you use coreavc and ffdshow subtitle filter as video processor, then the subtitles are drawn on video, like in my pic.

You need to configure ffdshow to actually add the black borders, otherwise there are no black borders to render on.

Check the Aspect/Resize options, and make sure its in the tree above the subtitle options.

crl2007
28th November 2011, 16:00
My problem it's not when I use ffdshow as my video decoder, because then I can use letterbox 16:9 and the subtitles are placed correctly. I use only ffdshow subtitle filter in Stereoscopic Player and the player native video decoder. These are the only options in the subtitle filter:

http://thumbnails24.imagebam.com/16171/56135b161705024.jpg (http://www.imagebam.com/image/56135b161705024)

I asked if there is a way to lower the subtitle on the black border if another decoder adds the black borders. I want to be able to lower / raise them all the way up and down, even if the borders are added by other decoders.

nevcairiel
28th November 2011, 16:32
You can only render subtitles into the black border if the border is already there, you cannot render them into the border if the border is added after subtitle rendering (ie. in the renderer). What you want cannot be done with the options you have available.

pankov
28th November 2011, 23:03
crl2007,
enable the Leterbox option and set it to match your display aspect ratio. Store the settings and restart the player.
You should now have subtitles in the black bars.
I've just tried this and it works with any video decoder (I've tested with LAV Video decoder, CoreAVC and FFDShow decoder)

crl2007
28th November 2011, 23:18
Yeah, after restarting the player, it seems that the letterbox works ok. With ffdshow the settings are saved on the fly and applied, but with this standalone filter it seems that you have to restart the player for certain settings.

hoborg
29th November 2011, 08:38
clsid:
Hi.
Can you please update FFDshow DXVA decoder to include MPC-HC 3864 fix (http://mpc-hc.svn.sourceforge.net/viewvc/mpc-hc?view=revision&revision=3864)?

haruhiko_yamagata
29th November 2011, 13:12
With that though, I'm starting to feel more regret about that chroma position thing. Life's so complicated! :)Once we know about it, the quality is not as good as before...
I have fixed at rev 4096 and it still renders MPEG-1 correctly.

mandarinka
29th November 2011, 19:04
Once we know about it, the quality is not as good as before...

Yes, it is exactly as you say...
Thanks a lot for your work :)

clsid
29th November 2011, 23:46
- CRAM video (http://samples.mplayerhq.hu/V-codecs/CRAM/BARBIE.AVI), immediate crash.
- RLE video (http://samples.mplayerhq.hu/V-codecs/RLE/HCN.avi), immediate crash.Please test some old versions to see if it worked before. Narrow down the revision range in which it got broken.

MatLz
30th November 2011, 00:20
Please test some old versions to see if it worked before. Narrow down the revision range in which it got broken.
3960 doesn't work.

dukey
30th November 2011, 17:58
DXVA and subtitles seem a little broken. The image around the subtitles seems to get corrupted by them. I am not sure how else to get DXVA working with subtitles.

http://i.imgur.com/M9fuW.jpg

haruhiko_yamagata
1st December 2011, 10:42
DXVA and subtitles seem a little broken. The image around the subtitles seems to get corrupted by them. I am not sure how else to get DXVA working with subtitles.

I don't have DXVA enabled video card and I don't know how albain has implemented DXVA + subtitles.
It looks like DXVA decoder is referencing the frames which subtitles are drawn by ffdshow. If it is true, it is almost impossible to fix.
In the future, I may implement hardware overlay, but not sure. It may be the only way to fix it.

dukey
1st December 2011, 12:00
Yeah, it looks like that. The subtitle fragments move around with the picture.

haruhiko_yamagata
1st December 2011, 12:52
Yes, libavcodec now supports 4:2:2 8/10bit. But it is disabled in ffdshow because it can not handle the relevant colorspaces yet.
New color spaces have been implemented. H.264 High 4:2:2 Profile has been enabled at rev 4101.

fastplayer
1st December 2011, 13:08
Once we know about it, the quality is not as good as before...
I have fixed at rev 4096 and it still renders MPEG-1 correctly.
You only see the difference in screenshots but once you've seen it, it's stuck in your mind. :D
Thanks for "fixing" this! :)

leeperry
2nd December 2011, 04:20
hi Haruhiko, glad to see you back! 2 points if I may:

1) the MPEG1 chroma placement you've recently changed is only used for RGB32 conversion I would presume? Because I use the rgb3dlut() Avisynth plugin for gamut mapping, and it already has a function for horizontal MPEG1 placement when converting YUY2 to RGB32:
cplace -

Specifies horizontal chroma placement... used when input is yuy2. Possible settings:

0 - chroma is aligned with left pixel in each pair (mpeg2, mpeg4, h264)

This would be the case if during 4:4:4 -> 4:2:2 conversion odd pixel chroma values
were simply dropped, or if an odd length FIR filter centered on the even pixels was
used, such as a [1 2 1] kernel.

1 - chroma is centered between each pair of pixels (h261, h263, mpeg1)

This would be the case if during 4:4:4 -> 4:2:2 conversion the chroma of every
two pixels was averaged together, or if an even length FIR filter centered between
each pair of pixel values was used, such as a [1 4 4 1] kernel.

Should I use 0 now that you've made changes? are your changes also active in the resizing filter or only at the RGB32 conversion?

2) I use resizing>avisynth filters in ffdshow video(ffdshow audio simply decodes) and I'm having performance issues >4085 :(

I'm using the builds from http://www.xvidvideo.ru/ffdshow-tryouts-project-x86-x64/ so I dunno where the issue lies between 4085 and 4090, but I'm using the ICL12 builds on XPSP3 w/ a 3.5Ghz Q9450. I need to drastically lower my resizing otherwise 4090 and 4096 stutter like hell. I wanted to post timecodec comparisons but for some reason ffdshow isn't in the rendering list for those DX50 files =/

I guess it could be due to a libav update(4089) or anything else really...but something definitely killed performance for me, and it happened between 4086 and 4090 :o

:thanks:

haruhiko_yamagata
3rd December 2011, 06:25
leeperry, MPEG1/2 chroma placement fix is for YCbCr to RGB conversion. Resize is not related.

clsid
3rd December 2011, 17:05
@haruhiko
Can you remove/disable AYUV output? The Windows renderers emulate this in software, making it very slow. So it not very useful and could cause performance problems for people.

@lee
swscale was updated in 4089, so that might be related.

clsid
3rd December 2011, 18:15
The swscale performance issue is because of a data alignment issue. See swscale.c, line 2620.
Haruhiko, can you have a look at that?


I noticed a DXVA regression. There is some video corruption on some files. I will try to fix that.

hoborg
3rd December 2011, 19:10
I noticed a DXVA regression. There is some video corruption on some files. I will try to fix that.

Hi.
Sorry to ask again, but it is posstible to update FFDshow DXVA decoder to latest MPC-HC release? There was some DXVA related fixes done.

clsid
3rd December 2011, 19:55
Will do. But the problem I was talking about is related to Libav changes.

hoborg
3rd December 2011, 19:57
Will do.
:thanks:

hoborg
3rd December 2011, 23:16
BTW, this (http://tinyurl.com/7bdkv4q) VC-1p sample crash Graphstudio if FFDshow (libavcodec/wmv9)/FFDshow DXVA video decoder is in use (LAV splitter).
LAV video decoder play it OK.
rev.4096 here.

clsid
4th December 2011, 00:20
^ fixed

haruhiko_yamagata
4th December 2011, 04:40
@haruhiko
Can you remove/disable AYUV output? The Windows renderers emulate this in software, making it very slow. So it not very useful and could cause performance problems for people.
It works only with madVR for me. I think it depends on the video card and the driver.
EVR connects but black screen for me. You are right, it should be disabled by default.

EDIT: It was black because of a bug. Fixed at rev 4114.

betaking
4th December 2011, 07:33
can not compile last svn
1>src\codecs\TDXVADecoderH264.cpp(201): error C2065: “m_pFilter”: 未声明的标识符
1>src\codecs\TDXVADecoderH264.cpp(201): error C2227: “->GetAVCtx”的左边必须指向类/结构/联合/泛型类型

madshi
4th December 2011, 10:27
AYUV output is useful for 4:4:4 content. The ffmpeg h264 decoder supports 4:4:4 decoding.

haruhiko_yamagata
4th December 2011, 10:54
AYUV output is useful for 4:4:4 content. The ffmpeg h264 decoder supports 4:4:4 decoding.
Never mind, it's just disabled by default. Current video driver does not support AYUV, but things will change in a long time.

Reino
4th December 2011, 14:00
- CRAM video (http://samples.mplayerhq.hu/V-codecs/CRAM/BARBIE.AVI), immediate crash.
- RLE video (http://samples.mplayerhq.hu/V-codecs/RLE/HCN.avi), immediate crash.Please test some old versions to see if it worked before. Narrow down the revision range in which it got broken.The following revisions are the latest ones still working:
- ffdshow_rev3814_20110411_clsid.exe
- ffdshow_rev3817_20110412_xhmikosr_MSVC2010.exe
- ffdshow_rev3822_20110415_xvidvideo-ru_x86-MSVC2010.exe
Revision 3823 - Directory Listing
Modified Tue Apr 19 22:06:39 2011 UTC (7 months, 2 weeks ago) by clsid2

Updated LibavI guess this one is the culprit.

clsid
4th December 2011, 16:47
^ fixed

Reino
4th December 2011, 17:51
Thx clsid.

Then some other things:
- Lately I've noticed the alignment of the OSD has changed a bit. For the worse if you ask me. The letters slightly disappear in the left side of the screen. If you could just move them to the right 1 or 2 pixels, then it'll be just as it used to be.

- FFDShow DXVA Video Decoder crashes here on VC1 material. Whether it's a m2ts-file (through LAV Splitter), or a wmv-file (through WM ASF Reader), it crashes immediately, with an "Microsoft Visual C++ Runtime Library, Runtime Error!" message as a result. Doesn't happen with MPC-HC's VC1 DXVA Decoder. H.264 material with the FFDShow DXVA Video Decoder is not a problem either.
Perhaps my old computer is the cause of it? I'm still using an AMD Athlon XP 3200+ (only MMX(+), 3DNow!(+) and SSE).
I have the following stuff installed (on Windows XP Pro SP3):
- Microsoft .NET Framework 2.0 Service Pack 2
- Microsoft .NET Framework 3.0 Service Pack 2
- Microsoft .NET Framework 3.5 SP1
- Microsoft Visual C++ 2005 Redistributable
- Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.4148
- Microsoft Visual C++ 2010 x86 Redistributable - 10.0.30319

- Lastly, a request (which I have requested earlier (http://forum.doom9.org/showthread.php?t=156427), but has fallen into oblivion):
To test and play avs-files (Avisynth-script pointing to YV12-material) and not having to install the Helix YUV Codecs 1.2, because of FFDShow's ability to handle raw YV12 material, is of course great. However, the downside to enabling raw YV12 in FFDShow is, it becomes an unnecessary DirectShow filter in case of all lossy/encoded YV12 material. When you let the LAV Video Decoder handle H.264 for instance, the FFDShow Video Decoder comes after that serving no purpose at all.
So, an option to allow FFDShow only in this case (AVI/AVS-files with or pointing to raw YV12 video) would be ideal. And of course the idea behind it, something like; if other than FFDShow decoder present, then don't load. And if no other decoder capable of handling raw YV12 video, then load FFDShow Video Decoder.I was thinking; why not remove the "Raw video"-format from the Video Decoder and let FFDShow Raw Video Decoder handle that, including the Avisynth issue (see quote above)? Isn't that what the Raw Video Decoder is for?
And about that; why isn't a shortcut for the Raw Video Decoder config made after install, like the Video,Audio,DXVA and VFW config? When I manually create a shortcut for it (read about creating it on this forum some time ago), with the entry "%windir%\system32\rundll32.exe ffdshow.ax,configureRaw", it crashes immediately on the first tab "Codecs". :(

clsid
4th December 2011, 18:06
OSD is based on subtitle functionality, so Haruhiko needs to answer that one.

VC1 crash was fixed yesterday. It still randomly crashes while closing the player though.

The raw filter is not for use during normal playback. It is a special filter that needs to be manually inserted by an application. Hence its standard merit of "do not use". You can also use the Xvid codec for raw YV12.

mandarinka
4th December 2011, 19:01
@CoRoNe
ffdshow inserted after another decoder isn't useless - it can be used as a postprocessor for various filtering or for example software scaling. I'm sure quite some number of users actually have it set-up like that.

THEAST
4th December 2011, 21:00
A small bug I noticed just now, using rev4102, if resizing is enabled in ffdshow and "Specify horizontal and vertical size" or "Specify horizontal size" is chosen and if the horizontal size is a number like 1680 which will result in an odd number if divided by 16, a [I think] one-pixel wide green column will appear at the rightmost part of 10-bit videos during playback. 8-bit videos are fine, numbers like 1600, 1616, 1632, etc are also fine.

hoborg
4th December 2011, 22:26
@clsid:
About DXVA update - i just tested rev. 4119:
- VC-1 no longer crashing :)
- MP4 HD AVC recordings from my Camcorder no longer stuttering in DXVA mode :D
- this h.264 sample (http://www4.uschovna.cz/download/D4YHWM795S73ELZ5-273/82A7SPD6NX) have still problem with FFDShow DXVA decoder - picture freeze, but sound continue to play. This doesnot happend with MPC-HC DXVA decoder. Strange.

hoborg
4th December 2011, 22:37
BTW, what about "removing FFDshow DXVA decoder from graph (http://www.youtube.com/watch?v=KZreMRTsuXk)" crash? It is still there. It make it nearly useless in LiveTV applications :/
Anyone interested to fix it?

Maybe this crash is connected with FFDShow DXVA video decoder icon which remaining in systray after playback, until hower cursor over it.

nevcairiel
4th December 2011, 22:48
Why are you using ffdshow DXVA anyway, instead of MPC-HCs DXVA? We all know that ffdshows DXVA code is just a copy of MPC-HCs, and apparently the subtitle overlay causes image corruption as well, so .. huh? :)

hoborg
4th December 2011, 22:51
Why are you using ffdshow DXVA anyway, instead of MPC-HCs DXVA? We all know that ffdshows DXVA code is just a copy of MPC-HCs, and apparently the subtitle overlay causes image corruption as well, so .. huh? :)

Becouse of DXVA + subtitles. FFDshow is only way right now how to have DXVA + subtitles in my HTPC based on NPVR. I don't have any coruptions here, and i don't got any report of that issue from SAF users yet.
Next thing i need is keyboard shortcuts for audio/subtitles streams switching and enable/disable subtitles (will be good if LAV splitter support that some day) :).

leeperry
4th December 2011, 23:35
The swscale performance issue is because of a data alignment issue.
Glad you found the culprit, hopefully it'll be fixable. I was about to try the LAV video decoder in order to see whether there was any difference.

BTW, could you please add 176400 and 192000 Hz in the resampler rate presets? I like to upsample prior to processing through VST plugins and it chews Reclock's job too.

I would also dream about a way to use 3DLUT's in ffdshow, taking YV12 input from my Avisynth scripts and sending P010/P016 to madVR, but I guess I would have to learn myself how to code in C++ to see it happening ^^

The nice added value would be the ability to make automatic profiles for gamut mapping, and not in lossy RGB32 as I'm currently doing...mVR does accept 16bit LUT's but you cannot make automatic profiles, I really think that ffdshow is the best place to do it. It's just sad that Avisynth still doesn't support 10bit, it would be like an audio editor not supporting a higher bitdepth than 16int :(

:thanks:

Reino
5th December 2011, 00:03
@CoRoNe
ffdshow inserted after another decoder isn't useless - it can be used as a postprocessor for various filtering or for example software scaling. I'm sure quite some number of users actually have it set-up like that.I know and I never mentioned it's useless. I'm just trying to find an easy solution for AVI/AVS-files with or pointing to raw YV12 video.

Reino
5th December 2011, 01:04
Ever since Tremor has been removed (Dec 11 2010) I miss its ability to correctly report the current input bitrate. Now with libavcodec, Vorbis audio is, of all the other audio formats, the only audio format where, instead of the correct input bitrate, the uncompressed input bitrate (1411Kbps with 44100Hz and 1536Kbps with 48000Hz for instance) is reported.
Is libavcodec incapable of doing this for Vorbis audio unlike Tremor, or is this a thing you people can reintroduce?

Milardo
5th December 2011, 07:59
Hi, can anybody post a link to the x86 build 3670(the last one with all the vfw encoders)? Also, just wondering, why doesn't anybody update the sourceforge main ffdshow site with a mention of a new stable build? http://ffdshow-tryout.sourceforge.net/

Milardo
5th December 2011, 08:16
Oh yeah, I forgot to mention a problem I'm having no matter what build I use right now using 4052, when I try to use ffdshow within kmplayer with this filter I've attached anaglyph.ax with my tv tuner card I get messed up picture. I have to use rgb24 for capture pin and then ffdshow decodes the picture with an output of yuv and the filter gets attached to ffdshow. VMR9 is the video renderer. Anybody could take a look at this would appreciate thanks in advance. The filter and messed up picture jpeg are attached in the zipped folder.