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

HeadBangeR77
5th February 2007, 14:50
about rev870:
When setting the vertical subtitle position from 90% (default) to 95%, then only the first row of subtitles with 2+ lines is shown.
In case of vobsubs, nothing is displayed.
The only way to bypass this, is to reduce font size resp. the scale factor when dealing with vobsubs but this makes the subtitles harder to read... :o
It may sound obvious, but did you enabled letterboxing for subs? I also have the vertical position set to 95%, since I like the first line to be displayed at the bottom of the main screen, and the 2nd line beneath. With no letterboxing the subs have simply no place to be displayed on. ;)

fastplayer
5th February 2007, 14:54
It may sound obvious, but did you enabled letterboxing for subs? I also have the vertical position set to 95%, since I like the first line to be displayed at the bottom of the main screen, and the 2nd line beneath. With no letterboxing the subs have simply no place to be displayed on. ;)
No, it's off. Something has definitely changed in the way subs are positioned. I have to change font size from my usual '17' to '9' in order to get 2 lines displayed. But that makes it unreadable... With the pre-870 builds I can go down to 100% with vertical subtitle position and nothing gets snipped off...

Edit: I've taken a look at Haruhiko's implementation and I can't see anything regarding positioning that has been changed.
Me looking at C++ code means nothing on the other hand... :D

HeadBangeR77
5th February 2007, 15:07
I see, then enabling letterboxing might be a good temporary solution, since you wouldn't have to change the fontsize then (hopefully).

Was it after the mentioned implementation (one page earlier), when the bug occured? I'm asking, since I'm still using clsid's svn 843 (icl 9, sse) and won't upgrade to a version with buggy subtitles, because I use them too often.

Btw. Whole lot of good work on ffdshow, guys! Much appreciated. :)

fastplayer
5th February 2007, 15:16
I see, then enabling letterboxing might be a good temporary solution, since you wouldn't have to change the fontsize then (hopefully).
I will check it out later and report back.
Was it after the mentioned implementation (one page earlier), when the bug occured?
Yes. I always use the exact same settings for subs and noticed the issue right away.
I'm asking, since I'm still using clsid's svn 843 (icl 9, sse) and won't upgrade to a version with buggy subtitles, because I use them too often.
Most important part of ffdshow for me apart from the decoding :D
Btw. Whole lot of good work on ffdshow, guys! Much appreciated. :)
Yep, the download numbers reflect this :)

haruhiko_yamagata
5th February 2007, 15:17
As long as I can see, beta1 has the same behavior, but yes, it should be fixed anyway.

HeadBangeR77
5th February 2007, 19:01
Hello,

I've already exchanged PMs with foxyshadis on this matter. I will try to give as much info as possible, and if it's necessary, I will cut a short sample of my encode.

Bug: reendering of fog and sky in some dark scenes; happens only from time to time, but looks really nasty.
At the top there's also some sort of distortion, looks like the effect caused by FillMargins() sometimes, when we want to add some artificial pixels after cropping, to get mod16 resolution.

Source: MPEG-2 -> XviD 1.1.2 encode with GK, packed bitstream and Qpel (this may matter, I think), CQM Didee's SixOfNine.
I've also got many short samples, including the scene with buggy decoding, encoded with various CQMs, either with GK+VDM or with the latest VDub 1.7.0. In all of them the bug is present, so it's not only this one encode.

Player: MPC, the latest celtic druid's build i.e. mplayerc.rev611-3.2kxp.
At the time I first encountered the bug I was using the latest official 6.4.9.0, so I would rule out the player in this case.

ffdshow revison: I marked it first with some old drevil_xxl's sse revision from December, reproduced with now with clsid's svn 843 ICL 9 sse, so it seems it might be a permanent bug, imo.

The bug occurs, while decoding the mentioned XviD encode(s) with libavcodec and idct set to auto. The auto-setting defaults to libmpeg2 every time.

The bug doesn't occur while decoding with XviD 1.1.2 via ffdshow, with idct set to auto. The auto setting defaults as above (always).

The bug doesn't occur while decoding with libavcodec and idct set manually to XviD MMX!

So :
libavcodec + auto/libmpeg2 -> bug
libavcodec + manual XviD MMX -> fine

Gonna post screenshots soon (libavcodec decoding is always one frame further then XviD, I've taken exactly the same frames, checked many times).

cheers,
HDBR77

fastplayer
5th February 2007, 19:20
@HeadBangeR77:
Just checked with clsid's latest 885 build and with letterboxing enabled the issue remains. I tried all aspect ratios.

cc979
5th February 2007, 19:24
gcc4x cant find the standard include dir.
i have the same problem too, when the ffdshow source code was in my drive D:, mingw gcc was in C:,
then i moved the ffdshow source code back to drive C: and the problem is gone :p

i did not get them problems when i compiled ffdshow with gcc-4.1.2, it compiled fine but ffdshow.ax would crash

i have d:/msys/1.0, d:/mingw and d:\msys\1.0\dx (with libs and include) and also and empty include dir d:\msys\1.0\include (because there is a problem when compiling gcc if it is not there)

apart from my compiles are fine

HeadBangeR77
5th February 2007, 19:50
@HeadBangeR77:
Just checked with clsid's latest 885 build and with letterboxing enabled the issue remains. I tried all aspect ratios.
Sorry to hear that ... I've checked also, and with the mentioned above clsid's svn 843 (icl 9, sse) everything is fine.

***

I'm gonna post screenshots in this post soon.

1) Elizabeth's face, background textures

a) XviD + libmpeg2
http://www.hidebehind.com/thumbs3/D03A6090.png (http://www.hidebehind.com/D03A6090)

b) libavcodec + libmpeg2
http://www.hidebehind.com/thumbs3/92AC06.png (http://www.hidebehind.com/92AC06)

c) liibavcodec + XviD MMX
http://www.hidebehind.com/thumbs3/B160BAC0.png (http://www.hidebehind.com/B160BAC0)

2) The sky, the mist, and the mountain

a) http://www.hidebehind.com/thumbs3/1B331800.png (http://www.hidebehind.com/1B331800)

b) http://www.hidebehind.com/thumbs3/BE9A6778.png (http://www.hidebehind.com/BE9A6778)

c) http://www.hidebehind.com/thumbs3/5054EB6B.png (http://www.hidebehind.com/5054EB6B)

Plz save them to your hdd, and vie at full screen. I've got more, but I think the above will suffice.

chros
5th February 2007, 19:59
Grabbing frames bug ?

I have tried to grab a single 1 frame to png through ffdshow, but MPC has crashed ... Doesn't matter if I use VMR 9 renderless or the haali's renderer ... It was a h264 video which ffdshow decoded ...

Can anybody confirm this ?
Thanks

clsid
5th February 2007, 20:06
So :
libavcodec + auto/libmpeg2 -> bug
libavcodec + manual XviD MMX -> fine
This is not really a bug, but a general iDCT problem. If the iDCT doesn't match the DCT that was used by the encoder, then the video won't be decoded properly. The auto detection in ffdshow needs improvement.

HeadBangeR77
5th February 2007, 20:20
This is not really a bug, but a general iDCT problem. If the iDCT doesn't match the DCT that was used by the encoder, then the video won't be decoded properly. The auto detection in ffdshow needs improvement.
So as I thought, this is not the libavcodec itself, but the improper iDCT - that's why I checked libavcodec + XviD MMX iDCT ...

Now, wait a sec - I can't reproduce the bug with XviD + libmpeg2 set manually (?!)

@ chros
Yeah, I can confirm that with MPC, ffdshow, and H.264 in general - I use MPC's save image instead.

Yong
5th February 2007, 20:54
i did not get them problems when i compiled ffdshow with gcc-4.1.2, it compiled fine but ffdshow.ax would crash

i have d:/msys/1.0, d:/mingw and d:\msys\1.0\dx (with libs and include) and also and empty include dir d:\msys\1.0\include (because there is a problem when compiling gcc if it is not there)

apart from my compiles are fine

hmm, my gcc was obtain from here
http://oss.netfarm.it/mplayer-win32.php
4.0.3, 4.1.1 and 4.2.0
cant use them to compile directx related program like xvid decoder and gpac directx plugin, duno how to fix the error :p
and the directory/files not found problem only occur for me when the compiler was not in same drive as thee source...
gcc4x still problematic though.

SeeMoreDigital
5th February 2007, 21:10
Can someone please confirm.... Has support for "interlaced" MPEG-4 Part-2 sources been added. It does not seem to be working for me. Or have I missed something?


Cheers

clsid
5th February 2007, 21:15
Now, wait a sec - I can't reproduce the bug with XviD + libmpeg2 set manually (?!)The iDCT setting is for libavcodec only.

SeeMoreDigital
5th February 2007, 21:42
The iDCT setting is for libavcodec only.Hmmmm...

Are you able to play the following sample correctly: -

http://www.mytempdir.com/1204197


Cheers

cc979
5th February 2007, 22:06
hmm, my gcc was obtain from here
http://oss.netfarm.it/mplayer-win32.php
4.0.3, 4.1.1 and 4.2.0
cant use them to compile directx related program like xvid decoder and gpac directx plugin, duno how to fix the error :p
and the directory/files not found problem only occur for me when the compiler was not in same drive as thee source...
gcc4x still problematic though.

i compiled mine myself, and noticed path finding issues maybe a msys problem with linux style pathnames

i will look into it further

clsid
5th February 2007, 23:20
Are you able to play the following sample correctly: -

http://www.mytempdir.com/1204197

CheersYes. It plays correctly.

SeeMoreDigital
5th February 2007, 23:23
Yes. It plays correctly.Really!

I'm obviously doing something very wrong... I think I would benefit from "step-by-step" set-up instructions... For dummies (li-ka-me)

clsid
6th February 2007, 00:26
I haven't done anything special to make it play. It should just work out-of-the-box.

Screenshot:
http://i15.tinypic.com/2rdu748.jpg

fastplayer
6th February 2007, 00:35
For me it's heavily interlaced with the 866 build...

foxyshadis
6th February 2007, 08:14
Well, you need to turn deinterlacing on (it's field-shifted). Wait, was this question about whether the file plays at all, or whether it automatically triggers the deinterlacing? I don't remember the latter being added.

Leak
6th February 2007, 10:25
Well, you need to turn deinterlacing on (it's field-shifted). Wait, was this question about whether the file plays at all, or whether it automatically triggers the deinterlacing? I don't remember the latter being added.
Heh. That'd be another reason to integrate TIVTC - just turn on TFM to fix field shifts without giving the image the full deinterlacing smackdown... :D

I guess I'll have to take a look at the AviSynth filter in the near future - but I'd be happy if someone could tell me if it's possible to read a few frames ahead in the input stream for the filter, or if it's at least possible to just kind-of return nothing from the filter while buffering up a few input frames. (Or if that's not possible - would returning the same frame with the same timestamp a few times work?)

Either of that should make it possible to implement limited support for seeking (within a configurable range) in AviSynth and also for dropping frames. Of course, ideally TIVTC should be integrated as a "real" ffdshow filter with a config dialog for ease of use...

But I guess I should try to get ffdshow to build first...

haruhiko_yamagata
6th February 2007, 10:26
Can someone please confirm.... Has support for "interlaced" MPEG-4 Part-2 sources been added. It does not seem to be working for me. Or have I missed something?


Cheers
H.264 hardware deinterlacing support was added recently.
Hardware deinterlacing support for MPEG4-ASP works even with 20051115.
libavcodec works, xvid does not.

haruhiko_yamagata
6th February 2007, 10:31
Hello,

I've already exchanged PMs with foxyshadis on this matter. I will try to give as much info as possible, and if it's necessary, I will cut a short sample of my encode.

Bug: reendering of fog and sky in some dark scenes; happens only from time to time, but looks really nasty.

Interesting. Improving auto detection of IDCT looks very hard, but worth while. Please post the sample movie.

SeeMoreDigital
6th February 2007, 10:32
H.264 hardware deinterlacing support was added recently.
Hardware deinterlacing support for MPEG4-ASP works even with 20051115.
libavcodec works, xvid does not.Thanks, I have "libavcodec" selected...

Is the de-interlacing "automated" (ie: does FFdshow detect the interlaced and field position from header in the MPEG-4 stream) or is some "manual" intervention required?


Cheers

Peuj
6th February 2007, 10:51
Hmmmm...

Are you able to play the following sample correctly: -

http://www.mytempdir.com/1204197


Cheers

something wrong with me too.
I sue the build 885.
IDTC is set to libmpeg2.
(if I enable deinterlacing the video is ok.)

http://img409.imageshack.us/img409/9021/samplesk0.jpg (http://imageshack.us)

haruhiko_yamagata
6th February 2007, 10:56
Thanks, I have "libavcodec" selected...

Is the de-interlacing "automated" (ie: does FFdshow detect the interlaced and field position from header in the MPEG-4 stream) or is some "manual" intervention required?


Cheers
Manual intervention is required.
ffdshow detects intercaced video, but does not detect "Bob" or "Weave".
If Output->Use overlay mixer->HW deinterlacing is checked (and Method "Bob" is selected), ffdshow detects interlaced video and set interlaced flag in output media type. If the video is true progressive, you don't have any side effect.
The problem is, if the video is interlaced "Weave" (like film source DVD), you'll have to uncheck HW deinterlacing or select Method "Weave".

foxyshadis
6th February 2007, 11:12
Heh. That'd be another reason to integrate TIVTC - just turn on TFM to fix field shifts without giving the image the full deinterlacing smackdown... :D

I guess I'll have to take a look at the AviSynth filter in the near future - but I'd be happy if someone could tell me if it's possible to read a few frames ahead in the input stream for the filter, or if it's at least possible to just kind-of return nothing from the filter while buffering up a few input frames. (Or if that's not possible - would returning the same frame with the same timestamp a few times work?)

Either of that should make it possible to implement limited support for seeking (within a configurable range) in AviSynth and also for dropping frames. Of course, ideally TIVTC should be integrated as a "real" ffdshow filter with a config dialog for ease of use...

But I guess I should try to get ffdshow to build first...

Read your other post too, haven't answered because while I looked, I don't have any good answers or any really useful insight at this point, and I think I'm going to have to make a special version just to poke and prod at it for a while.

You might have better ideas of how to hack vfw into the directshow framework, as well. Another method is just to inject global per-frame variables into the environment and have tfm/tivtc modify them directly (ignoring them when used in pure avisynth). Requiring direct plugin support is annoying, but everything else I've thought of is a really lousy hack.

ilpippo80
6th February 2007, 11:41
I have a small problem with hw deinterlacing in mpeg-2 video:
ffdshow only: OK
MPC internal decoder only: OK
DScaler filter only: OK
MPC internal decoder + ffdshow (uncompressed): OK
DScaler + ffdshow (uncompressed): doesn't work
I tried to change the settings of Dscaler and ffdshow, but no matter what I did, I had no way to enable hardware deinterlacing when dscaler was connected with ffdshow...

SeeMoreDigital
6th February 2007, 11:42
Manual intervention is required.
ffdshow detects intercaced video, but does not detect "Bob" or "Weave".
If Output->Use overlay mixer->HW deinterlacing is checked (and Method "Bob" is selected), ffdshow detects interlaced video and set interlaced flag in output media type. If the video is true progressive, you don't have any side effect.
The problem is, if the video is interlaced "Weave" (like film source DVD), you'll have to uncheck HW deinterlacing or select Method "Weave".Okay thanks.... I've just tried it. And it does not seem to be working for me. To confirm, here are my settings: -

http://img228.imageshack.us/img228/8683/ffdshow866tx5.png


Cheers

Peuj
6th February 2007, 11:50
Okay thanks.... I've just tried it. And it does not seem to be working for me.....

Cheers

Well it works for me (enable HW + Bob) but you have to close ffdshow to load the change

SeeMoreDigital
6th February 2007, 12:11
Well it works for me (enable HW + Bob) but you have to close ffdshow to load the changeIndeed...

I fiddled about with Media Player Classics "Output" filters and discovered that when set to "System Default" the de-interlacing works okay. But when set to "VMR7 or VMR9 (Renderless)" it does not.... Well not for me... Bummer!

sillKotscha
6th February 2007, 12:44
But when set to "VMR7 or VMR9 (Renderless)" it does not.... Well not for me... Bummer!

this whole render discussion(s) is drivin' me nuts... for myself I came to the conclusion, if I set the renderer to VMR7 (windowed) at least on my system I have always highest interoperability...

clsid
6th February 2007, 13:17
I used the software deinterlacer in ffdshow. That will work with VMR-9 too.

chros
6th February 2007, 14:00
@ chros
Yeah, I can confirm that with MPC, ffdshow, and H.264 in general - I use MPC's save image instead.
Thanks for the answer ... The problem is that MPC can't save into png ... :(

fastplayer
6th February 2007, 16:13
Sorry to hear that ... I've checked also, and with the mentioned above clsid's svn 843 (icl 9, sse) everything is fine.
Issue fixed by Yamagata in rev888. Latest 890 build is living proof :D
:thanks:

Hans Ohlo
6th February 2007, 18:10
hi,
i have big problems with skyoneHD streams to decode with ffshow (h264 - libavcodec). i use the latest haali splitter for the transport stream splitting and ffshow as decoder for transcoding to x264. with graphedit i setup filter graphs to use ffdshow, cyberlinks h264 decoder and coreavc. for me ffdshow gives the best picture so i want to go with it. coreavc has still the color issues on these kind of 1080 streams (paff i think). cyberlink has kind of a more blury look.

problem is that at some points in the stream there are i think little errors which all the other decoder eat up but only ffdshow chokes on. on older builds there were heavy blocky images on these locations but with the latest builds 850+ ffdshow crashes asking for a jit debugger (i have vs 2005 installed). i have uploaded a little sample of these errors so that you guys can have a look at them.

the latest ffdshow build i tried is 890, i set IDCT to auto, encoder workarounds to autodetect, error resilience to compliant and error concealment to none.

please have a look, because this is starting to cost very much sleep for me ;)

sample:
http://www.megaupload.com/?d=0Z6EP0RW
http://www.mytempdir.com/1205486 (mirror)

clsid
6th February 2007, 19:00
That sample also crashes FFplay revision 7768.

Submit your sample to the FFmpeg developers:
http://ffmpeg.mplayerhq.hu/bugreports.html

SeeMoreDigital
6th February 2007, 19:09
Decoding seems to be a little more stable if you re-mux the video stream into the .MP4 container (along with re-encoded AC3-to-AAC audio)...

Cheers

Hans Ohlo
6th February 2007, 21:12
yes, but remuxing introduces new errors on other places of the stream due to skipping of frames while demuxing (mplayer, h264to etc. tested, all the same result, so no remuxing is the way i chose).

i will report the decoding bug

HeadBangeR77
7th February 2007, 02:39
this whole render discussion(s) is drivin' me nuts... for myself I came to the conclusion, if I set the renderer to VMR7 (windowed) at least on my system I have always highest interoperability...
That's my conclusion too :) + no tv-scale bug + taking screenshots is possible.

@ chros
Yep, but after I've taken whole lot of them, I convert them to pngs - that's twice the work, but saves a lot of hdd space (especially when running more passes during the conversion - 2nd one already does some extra packing, the difference is rather large).

Update!
Revision 891 - Directory Listing
Modified Tue Feb 6 16:43:33 2007 UTC (8 hours, 40 minutes ago) by clsid2

Fixed grabbing to PNG.
Ta. :)

@ fastplayer
Thanks very much for the info. :)
Unfortunatelly the latest revision of clsid's sse icl9 is 885 (poped out today I think), so there's no reason for me to upgrade, since I can confirm that sse icl9 utilizes less cpu with various filters than any other compilation. I've gotta wait a while then. ;)

HeadBangeR77
7th February 2007, 02:54
Interesting. Improving auto detection of IDCT looks very hard, but worth while. Please post the sample movie.
I'm gonna cut a short clip, where I've marked the described errors (libav + auto/libmpeg2), directstreamcopy the video and upload tomorrow. I've scanned for similar errors thorugh the movie, and they appear from time to time, yet the mentioned part (see my screenshots approx. 2 pages earlier) is the worst.

PS. When I play with settings, sometimes the auto mode works all right, sometimes not, I've just marked. Nevertheless libav + XviD MMX iDCT is the only one 100% without bugs (apart from crappy decoding of packed bitstream, but that's another story).

cheers,
HDBR77

Lancerevo
7th February 2007, 09:13
Hi guys, I was just wondering whether is there any ffdshow build that supports multithreaded h264 playback? I have a 1920x1080 video that does 50% of CPU Usage and I've checked in Task manager that it maxes out 1 core and leaves the other un-used.

_xxl
7th February 2007, 09:29
Ask ffmpeg developers.Many people won't be happy if ffmpeg h264 decoder is multithreaded, but more people will be.If you understand what I mean...

SeeMoreDigital
7th February 2007, 11:52
yes, but remuxing introduces new errors on other places of the stream due to skipping of frames while demuxing (mplayer, h264to etc. tested, all the same result, so no remuxing is the way i chose).Why would a de-muxer "skip frames"?.... If it did skip frames, then this anomaly should be reported also!

By all accounts, the MP4 container is the perfect partner for MPEG-4 AVC streams. And has far less overhead.

Hans Ohlo
7th February 2007, 14:11
i also like the mp4 container, but if i demux the stream and pack it into mp4 (MP4Box -add part1_video.h264#video:fps=25 part1.mp4) the video is not playing smoothly (haali splitter or gabest splitter with coreavc, ffdshow...). in a mkv container it plays fine but shows some errors on other locations than the ffdshow crash (which remains at the same location btw. no matter what container).

i do not seem to get answers on my bugreport on the ffmpeg list :/

SeeMoreDigital
7th February 2007, 14:35
Hmmm...

Just to be certain.... Are you using the newest versions of MP4Box. And are you making sure the frame rate speed of your MP4 matches the sources frame rate speed?

Hans Ohlo
7th February 2007, 14:50
Hmmm...

Just to be certain.... Are you using the newest versions of MP4Box. And are you making sure the frame rate speed of your MP4 matches the sources frame rate speed?
MP4Box - GPAC version 0.4.3-DEV
GPAC Copyright: (c) Jean Le Feuvre 2000-2005
(c) ENST 2005-200X

and yes 25fps is the source framerate. i also tried without interleaving but the juddery playback stays

SeeMoreDigital
7th February 2007, 14:57
MP4Box - GPAC version 0.4.3-DEV
GPAC Copyright: (c) Jean Le Feuvre 2000-2005
(c) ENST 2005-200X

and yes 25fps is the source framerate. i also tried without interleaving but the juddery playback staysThanks.... I suppose it did no harm to check.

Sadly I can't test/play such high resolutions AVC sources with my "slow" PC.... Which is a real bummer :(