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
7th February 2007, 18:35
@ haruhiko_yamagata:

I've cut a short sample, just uploading it + some more png screenshots. I will update my post, when I'm done.

http://xasonline.info/headbanger/ffdshow/POTC.Black.Pearl.Sample.avi

http://xasonline.info/headbanger/ffdshow/ffdshow.rar

cheers,
HDBR77

fastplayer
7th February 2007, 19:41
I can't notice the difference between IDCT set to libmpeg2 or Xvid MMX... The distortions look bad to me with both settings (look at Keira's chest @ 0:24 and 0:33min). Am I missing something here?

HeadBangeR77
7th February 2007, 20:04
I can't notice the difference between IDCT set to libmpeg2 or Xvid MMX... The distortions look bad to me with both settings (look at Keira's chest @ 0:24 and 0:33min). Am I missing something here?
I can't reproduce the distortions with libav + Xvid MMX (I've also tried Xvid-Xvid alone), only with libav + libmpeg2 (+eyebrow, Orlando's also). The auto function for iDCT still works as it wants to - I've got both distorted and proper decoding, depending on its mood. :D

PS. If it's the chest alone, then you could be looking at XviD encoding of dark scenes in its worst, though CC was added, and Didee's SixOfNine throws quants 2-3/3-4.

fastplayer
7th February 2007, 20:11
OK, I was just wondering because you had the error pinned down at some specific scenes/frames.

HeadBangeR77
7th February 2007, 20:13
OK, I was just wondering because you had the error pinned down at some specific scenes/frames.
The time-range you've given is full of decoding errors with libav + libmpeg2 - she looks as if an alien was trying to get out from beneath her skin.

fastplayer
7th February 2007, 20:32
PS. If it's the chest alone, then you could be looking at XviD encoding of dark scenes in its worst, though CC was added, and Didee's SixOfNine throws quants 2-3/3-4.
Even the sea fog scene at the end of the sample looks terrible - with both IDCT modes. To be honest though, I've bever seen "good" fog in Xvid/DivX encodes. There's always some sort of "wobbling" effect...

HeadBangeR77
7th February 2007, 20:43
Even the sea fog scene at the end of the sample looks terrible - with both IDCT modes. To be honest though, I've bever seen "good" fog in Xvid/DivX encodes. There's always some sort of "wobbling" effect...
Have you tried it with XviD? Looks way better, and not so bad for an XviD encode (?)

Blah - you can compare the screens, I've uploaded them, so you will know for sure what I'm talking about all the time. :D

fastplayer
7th February 2007, 21:05
Have you tried it with XviD? Looks way better, and not so bad for an XviD encode (?)
Less noise in the Keira-in-bed scene and less "wobbling" in the sea fog at the end of the sample (using Xvid 1.1.2 via ffdshow and "standalone").

_xxl
8th February 2007, 02:44
Maybe xvid 1.1.2 is "more" standard-compliant decoder.

HeadBangeR77
8th February 2007, 02:53
Maybe xvid 1.1.2 is "more" standard-compliant decoder.
Still, there's one thing which has just come to my mind:
1) I can decode the above sample properly via ffdshow using either XviD 1.1.2 library or libavcodec with manually set XviD MMX iDCT - clsid's svn 843, sse, icl9.
2) Fastplayer can decode the sample properly only when using XviD library. Libavcodec + libmpeg2 idCT and libavcodec + XviD MMX are both causing artifacts - rev. ???

Another difference between builds? Shouldn't be - if both the decoding library and iDCT are set manually. :confused:

haruhiko_yamagata
8th February 2007, 09:11
:confused: Becasue QPEL was introduced in MPEG4,
libmpeg2-idct even does not know about QPEL.
So libmpeg2-idct must be excluded when QPEL is detected. :confused:

Is this correct? I'm n00b to these things, any advice is wellcome.

fastplayer
8th February 2007, 11:40
2) Fastplayer can decode the sample properly only when using XviD library. Libavcodec + libmpeg2 idCT and libavcodec + XviD MMX are both causing artifacts - rev. ???
No, he can't. Shoot him! :angry:
I did a frame comparison and came up with the same conclusions like you:
http://simpleupload.net/download/44120/idct.rar.html

KoD
8th February 2007, 12:23
HeadBangeR77, what encoder options have you used for that sample file ?

HeadBangeR77
8th February 2007, 13:13
HeadBangeR77, what encoder options have you used for that sample file ?

2 max. consecutive B-frames (ratio=1.62, offset=0), packed bitstream, qpel, to name the ones that should matter while decoding, no GMC.
To name the ones that shouldn't matter at all: MSP 6, VHQ 4, VHQ for b-frames, Chroma ME, trellis, chroma optimizer, CC 15/6.

If the matrice (Didee's SixOfNine) could have an influence on the bug, I've ruled that out: the sample is cut from my 2-pass encode, but I've seen the same things happening with my 1-pass samples, while I was testings CQMs, with 11 other matrices, including H.263 quantization and MPEG standard. :(

@ haruhiko: I haven't got the faintest idea, unfortunatelly.

@ fastplayer: sh**, I can't view files at filefactory - my ISP's issue, 1/4 of webpages doesn't load; might be sth with proxy :confused:
Thanks :)

fastplayer
8th February 2007, 13:26
@ fastplayer: sh**, I can't view files at filefactory - my ISP's issue, 1/4 of webpages doesn't load; might be sth with proxy :confused:
http://simpleupload.net/download/44120/idct.rar.html

igor1st
8th February 2007, 14:19
I can't reproduce the distortions with libav + Xvid MMX (I've also tried Xvid-Xvid alone), only with libav + libmpeg2 (+eyebrow, Orlando's also). The auto function for iDCT still works as it wants to - I've got both distorted and proper decoding, depending on its mood. :D

I made quick frame to frame comparison with your sample:
lavc xvid/auto (yes, auto works always as it should) identical to xvid 1.1.2.
lavc libmpeg2 not identical to xvid 1.1.2.

clsid
8th February 2007, 14:30
:confused: Becasue QPEL was introduced in MPEG4,
libmpeg2-idct even does not know about QPEL.
So libmpeg2-idct must be excluded when QPEL is detected. :confused:

Is this correct? I'm n00b to these things, any advice is wellcome.
From what I could find with the search, the Xvid encoder will use a different DCT when QPEL is activated. So that would explain why a different iDCT is needed during decoding.

http://forum.doom9.org/showthread.php?t=104143&highlight=qpel+idct

fastplayer
8th February 2007, 14:35
I can confirm this: Setting IDCT to 'auto' produces same result as Xvid and lavc+Xvid MMX. I've updated link with frame comparisons (see above).

Jeremy Duncan
9th February 2007, 22:05
Hello, I'm hoping that leakkerneldeint (http://neuron2.net/kerneldeint/leakkerneldeint154.zip) can be put into the Deinterlacers section of FFDshow in the next rev.

clsid
9th February 2007, 22:14
I can confirm this: Setting IDCT to 'auto' produces same result as Xvid and lavc+Xvid MMX. I've updated link with frame comparisons (see above).
You mean that 'auto' choses the correct iDCT? In that case we might want to consider making 'auto' the default again.


I just did a benchmark with a non-interlaced H.264 file. Having HW deinterlacing enabled in the output settings hurts performance a bit. In this one test about 16% lower dfps. But it will probably depend on the power of the graphics card. Mine is pretty weak. So my recommendation to everyone is too keep it turned off (the default) if you mostly play progressive files and to use a software deinterlacer when needed.

fastplayer
9th February 2007, 22:31
You mean that 'auto' choses the correct iDCT? In that case we might want to consider making 'auto' the default again.
In this particular case, yes. I remember the IDCT being 'auto' by default some time ago. I don't know why it has been changed to 'libmpeg2'.

By the way, is there an option in ffdshow that allows me to see what IDCT is being currently used (when it's set to 'auto')?

Jeremy Duncan
10th February 2007, 00:26
haruhiko_yamagata,

I tried the HW Deinterlacing in the Output Tab.
- I set the output to YV12 only, and FFDshow Video decoder would not show up, but FFDshow Audio would.
- If I set it to YUY2, FFDshow Video decoder showed up, but the HW deinterlacing was off.
I tried other and all Output Colorspaces, but they all set it to Software mode deinterlacing.

I have a few questions.
- What Output colorspace do I need to USE HW Deinterlacing: Bob ?
- Why can't I just use YV12 ?

I'm using the Nvidia Video Codec, and Media Player Classic.
I've tried VMR9 renderless, and default in the MPC output tab.
I've tried fiddling with the video card properties.
I'm using FFDshow rev 814

:angry:

Hans Ohlo
10th February 2007, 01:17
hi,
a little question, when are ffmpeg patches in the ffdshow builds? do they use the same repository?

ouchi
10th February 2007, 02:34
Big thanks to the developers of FFDShow.

I'm not sure that this is the right place to talk about the difficulties from using FFDShow.
And English is not my mother tongue.
Your patience will be really appreciated.

Unlike PowerDVD 7, v5 has no compatability issue with FFDShow.
But in recent FFDShow builds after the rev657_20061209_clsid, there is no way that make it work with my PowerDVD 5 but to stop using the blacklist which is very useful for me.
Excluding PowerDVD.exe from the list does nothing in my PC and I don't know why.

Is this designed intentionally? If so, how can I bypass it?
Or is there something that I overlooked or misunderstood in configuration?

Bathrone
10th February 2007, 03:30
Flac audio playback is broken. When installing builds with the flac option enabled, and playing it back in wmp11 no playback occurs and an error message is generated "wmp cannot play the file.......not supported...."

Also, why are the cslid and drevilxxx builds different for default installs? I see vorbis tremor has different defaults.

vortex_hl
10th February 2007, 04:40
Flac audio playback is broken. When installing builds with the flac option enabled, and playing it back in wmp11 no playback occurs and an error message is generated "wmp cannot play the file.......not supported...."

you need flac source filter. this already noted in audio codecs section in ffdshow.

haruhiko_yamagata
10th February 2007, 09:36
You mean that 'auto' choses the correct iDCT? In that case we might want to consider making 'auto' the default again.
I think 'auto' is best for most users.

haruhiko_yamagata
10th February 2007, 09:38
By the way, is there an option in ffdshow that allows me to see what IDCT is being currently used (when it's set to 'auto')?
I'm working on it :D .

haruhiko_yamagata
10th February 2007, 09:48
haruhiko_yamagata,

I tried the HW Deinterlacing in the Output Tab.
- I set the output to YV12 only, and FFDshow Video decoder would not show up, but FFDshow Audio would.
- If I set it to YUY2, FFDshow Video decoder showed up, but the HW deinterlacing was off.
I tried other and all Output Colorspaces, but they all set it to Software mode deinterlacing.

I have a few questions.
- What Output colorspace do I need to USE HW Deinterlacing: Bob ?
- Why can't I just use YV12 ?

I'm using the Nvidia Video Codec, and Media Player Classic.
I've tried VMR9 renderless, and default in the MPC output tab.
I've tried fiddling with the video card properties.
I'm using FFDshow rev 814

:angry:
YV12 and HW deinterlacing is not supported. I don't know why, but milan judged to disable when HW deinterlacing was checked. He should have good reason to do so, it is not safe to enable it without testing broadly. Because we don't have that many video cards, it is better to leave it as it is.

HW deinterlacing should work with YUY2, if it does not work, it should be nVidia's issue.

haruhiko_yamagata
10th February 2007, 09:53
Big thanks to the developers of FFDShow.

I'm not sure that this is the right place to talk about the difficulties from using FFDShow.
And English is not my mother tongue.
Your patience will be really appreciated.

Unlike PowerDVD 7, v5 has no compatability issue with FFDShow.
But in recent FFDShow builds after the rev657_20061209_clsid, there is no way that make it work with my PowerDVD 5 but to stop using the blacklist which is very useful for me.
Excluding PowerDVD.exe from the list does nothing in my PC and I don't know why.

Is this designed intentionally? If so, how can I bypass it?
Or is there something that I overlooked or misunderstood in configuration?
Thank you for report.
It was intentionally designed, I didn't know PowerDVD5 worked though. There is no way to bypass currently. Is there way to check version of PowerDVD?

_xxl
10th February 2007, 09:55
Unlike PowerDVD 7, v5 has no compatability issue with FFDShow.
But in recent FFDShow builds after the rev657_20061209_clsid, there is no way that make it work with my PowerDVD 5 but to stop using the blacklist which is very useful for me.
Excluding PowerDVD.exe from the list does nothing in my PC and I don't know why.
Is this designed intentionally? If so, how can I bypass it?
Or is there something that I overlooked or misunderstood in configuration?
You could rename Powerdvd.exe to Powerdvd5.exe.

fastplayer
10th February 2007, 09:58
hi,
a little question, when are ffmpeg patches in the ffdshow builds? do they use the same repository?
Our devs here only apply selected changes from the ffmpeg repo.
I'm working on it :D .
Haha, my subliminal message worked :D

Hans Ohlo
10th February 2007, 12:39
Our devs here only apply selected changes from the ffmpeg repo.
i am asking because of my last bugreport regarding the h264 decoder crash with sykoneHD streams. i hope they fix it soon and the changes migrate into ffdshow.

KoD
10th February 2007, 12:51
If the stream is buggy, then there's no bug in the decoder. At best it's a "feature request": please show mercy to buggy streams. In either case, it's the ffmpeg user list where this has to be posted.

haruhiko_yamagata
10th February 2007, 13:07
If the stream is buggy, then there's no bug in the decoder. At best it's a "feature request": please show mercy to buggy streams. In either case, it's the ffmpeg user list where this has to be posted.
I don't think so. He's doing great job there.

fastplayer
10th February 2007, 13:50
@Yamagata:
STDMETHODIMP_(const char*) TffdshowDecVideo::get_cuurent_idct(void)
Is this just a typo or did you ran out of operation names? :D I suppose it's the latter otherwise VS would complain but you never know... :D

Edit: Where in the libavcodec code is the part that sets the IDCT when 'auto' is selected? I guess lavc reads out the FOURCC and sets the IDCT based on a pre-defined list but I can't find the part...

clsid
10th February 2007, 13:52
There have been a few changes to the H.264 decoding code lately to handle 'bad' data better. So I am pretty confident that the FFmpeg devs will take a look at the sample that Hans submitted to their mailing list.

haruhiko_yamagata
10th February 2007, 14:42
@Yamagata:
STDMETHODIMP_(const char*) TffdshowDecVideo::get_cuurent_idct(void)
Is this just a typo or did you ran out of operation names? :D I suppose it's the latter otherwise VS would complain but you never know... :D

Edit: Where in the libavcodec code is the part that sets the IDCT when 'auto' is selected? I guess lavc reads out the FOURCC and sets the IDCT based on a pre-defined list but I can't find the part...
it's typo, fixed.

h263dec.c
if(s->codec_id == CODEC_ID_MPEG4 && s->xvid_build && avctx->idct_algo == FF_IDCT_AUTO && (mm_flags & MM_MMX)){
avctx->idct_algo= FF_IDCT_XVIDMMX;

There are some other. Search FF_IDCT_AUTO.

fastplayer
10th February 2007, 15:00
There are some other. Search FF_IDCT_AUTO.
Yes, thank you. I was particularly interested in how ffdshow deals with IDCT and H.264. As far as I can see, H.264 uses a reference IDCT implementation (h264idct.c). So I suppose ffdshow "forwards" to this IDCT instead of to the others.

clsid
10th February 2007, 15:33
DivX 4/5/6, 3ivX and FLV1 now use iDCT "Simple MMX".
Xvid now uses iDCT "Xvid MMX".
Other formats show "unknown". Either because the iDCT is hardcoded (like for VP3/5/6) or they don't use a DCT algo.

_xxl
10th February 2007, 16:06
http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2007-February/052237.html
ffmpeg doesn't support PAFF interlacing.

Hans Ohlo
10th February 2007, 17:05
http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2007-February/052237.html
ffmpeg doesn't support PAFF interlacing.

if you mean my problem. there are only few locations in these streams where ffdshow/ffmpeg fails and crashes. the rest of the streams play perfectly. there was a build where the decoder did not crash (i do not know the exact build number) but showed extreme decoding errors where other decoders (cyberlink, mediaconcept, coreavc) do not show such a behavior.

ouchi
10th February 2007, 17:20
Thank you for report.
It was intentionally designed, I didn't know PowerDVD5 worked though. There is no way to bypass currently. Is there way to check version of PowerDVD?

Thanks for your confirmation, haruhiko_yamagata.
Now I'm free of thinking what's wrong with my machine.
Thanks again.

As you already know, v5,v6 and v7 are major version numbers.
Upgrade between those is not free while upgrade between minor builds is free.
So I've just known it's v5 since I purchased it..

Also PowerDVD.exe, the main executable of PowerDVD shows its own build number on the properties -> version tab.
Mine says it's 5.0.0.2027, or PowerDVD 5 build 2027.
But to be precise, 2027 is only for the PowerDVD.exe.
It should be 2214 for the whole PowerDVD, because I installed update patch 2214.

ouchi
10th February 2007, 17:22
You could rename Powerdvd.exe to Powerdvd5.exe.

drevil_xxl, thanks for your help.
Unfortunately, it seems that PowerDVD.exe doesn't like to be renamed.
It says "your license is expired...." and refusing to start.
So I had to go back to the original name and everything is OK.

Thunderbolt8
10th February 2007, 17:55
could always having deblocking enabled actually have negative quality aspects on videos, where there is no deblocking needed ?

Leak
10th February 2007, 20:21
Hello, I'm hoping that leakkerneldeint (http://neuron2.net/kerneldeint/leakkerneldeint154.zip) can be put into the Deinterlacers section of FFDshow in the next rev.
I very much doubt that that will be neccessary, seeing as Milan already included it when he was still working on ffdshow - just select "Kernel deinterlacer" or "Kernel bob" on the "Deinterlacing" page... :D

np: Bola - AMNiON (Soup)

cc979
10th February 2007, 23:36
drevil_xxl, thanks for your help.
Unfortunately, it seems that PowerDVD.exe doesn't like to be renamed.
It says "your license is expired...." and refusing to start.
So I had to go back to the original name and everything is OK.

maybe its possible to read version details from registry or file, if someone can code it

clsid
11th February 2007, 00:42
Blocking "powerdvd.exe" is currently hardcoded in ffdshow. If Haruhiko removes that, then editing the blacklist should be enough.

haruhiko_yamagata
11th February 2007, 00:49
@HeadBangeR77
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.
Can you confirm this again?
At least, the sample you posted is OK. Maybe you tested on different sample when you first find this issue.
clsid's latest build is available to see IDCT on OSD.

haruhiko_yamagata
11th February 2007, 01:53
@ouchi
rev 908: Everything including PowerDVD7 works fine. Please wait for next builds :D .

//EDIT
Please remove powerdvd.exe from blacklist.