View Full Version : ffdshow-alpha and XviD CG-Animation Matrix
AllTimeSToneD
2nd October 2002, 06:59
I noticed a problem in the latest ffdshow (alpha 2002/09/27) internal XviD decoder. I dont know if anyone before posted this... so if yes then just ignore this thread ;)
I did a short encode with XviD using Koepi's latest build to test the CG-Animation matrix i found here (http://forum.doom9.org/showthread.php?s=&threadid=33499) , on a anime with out filtered noise.
After playback with ffdshow with "XviD" enabled in the "Supported Codecs" section. I got a ugly output =/ (See first pic)
After enabling "Use XviD" the output was correct :p
(See second pic)
http://www.sniper-force.de/Outputs.jpg
I used the Grabnow option to get the screenshots =)
I dont know if this a bug or something in the alpha build of ffdshow
:rolleyes: i just want to let you know about this. :D
Keep up the good work :)
-h
2nd October 2002, 07:30
This is a bug (just verified). A very depressing one.
This was gone the last time I tested it, I have no idea how this has happened..
I will look into it immediately.
-h
-h
2nd October 2002, 07:45
Well this is odd.. certain matrix values work and certain ones don't.
Not good. Will continue tests..
-h
-h
2nd October 2002, 08:16
This seems (bizarrely enough) to be an MPEG quantization mismatch issue (I guess) inside ffdshow's libavcodec core.
If you set any one of the values in the CG inter matrix to say 17 or 18 instead of 16, the resulting stream will decode fine with ffdshow. Note that all encodes work with XviD and DivX 5.x, regardless of the matrix values. I'll try testing with Envivio/ISO to make sure.
Eh..
?!
-h
-h
2nd October 2002, 09:08
Well I doubt any kind of mismatch could cause this, perhaps it's libavcodec's matrix permutation? I wouldn't have a clue.
I doubt it's XviD's fault anyway. But then I can't get mp4creator to load a custom matrix stream into a .mp4 file for testing with Envivio/ISO (sigh).
-h
Bulletproof
2nd October 2002, 09:56
I don't know if this is any way related to your problem, but I have noticed that with some matrix settings that tiny dots appear in the wrong places in pictures. I'm not using ffdshow though. An example I could describe is an animation where a person was speaking, and suddenly on his cheek you see a brown dot appear, when the next keyframe appears it dissapears. The H.263 matrix doesn't have these problems.
-h
2nd October 2002, 10:08
I don't know if this is any way related to your problem, but I have noticed that with some matrix settings that tiny dots appear in the wrong places in pictures. I'm not using ffdshow though. An example I could describe is an animation where a person was speaking, and suddenly on his cheek you see a brown dot appear, when the next keyframe appears it dissapears. The H.263 matrix doesn't have these problems.
I noticed that sometimes as well, it looks like typical quant/dequant overflows, which are bad things. I'll have a look at that too.
-h
athos
2nd October 2002, 10:14
Did you try the "workaround" setting in ffdshow?
-h
3rd October 2002, 01:44
This was a libavcodec bug after all, and is now fixed in its CVS.
-h
milan
3rd October 2002, 09:16
I updated my local ffmpeg CVS copy and I'm going to update ffdshow CVS. It now implements automatic workaround selecting for old OpenDivX files too.
But there are some issues with IDCT algorithm changing. For a long time ffdshow was able to change IDCT algorithm during playback. This was made possible by making some changes in libavcodec. Now Michael has implemented IDCT routine selection to official libavcodec, but it seems that it can be set only before initializing decoder. I'm thinking about dropping my changes and the IDCT algoritm selection would apply only after reopening video. If you won't have any objections I will do this today.
Bluedan
3rd October 2002, 15:01
Any chance for a (con)temporary compile for the people to play with, or have I missed a link to visit before demanding posting ?
milan
4th October 2002, 08:26
New ffdshow alpha build was released on SourceForge. Download it and test. See http://forum.doom9.org/showthread.php?s=&postid=189822#post189822 for changes.
OUTPinged_
4th October 2002, 15:00
-h, does that mean that custom matrix encodes can have troubles with converting to mp4 streams in future?
-h
4th October 2002, 17:02
-h, does that mean that custom matrix encodes can have troubles with converting to mp4 streams in future?
I don't know! Scary stuff eh.
If it plays correctly with xvid, divx and ffdshow, you're pretty safe. However I really wanted to test with ISO code, but mpeg4ip doesn't seem able to even process a custom-matrix file (complains about array sizes).
I'll see what I can find out this afternoon.
-h
avih
4th October 2002, 17:30
@milan:
1. ffdshow alpha (03-oct) crashes when using "decode using xvid" for both xvid created clip and ffvfw created clip. when decoding using ffdshow routines, it doesn't crash....
cheers for the progress on this excellent tool.
2. ffvfw can't capture in cbr mode (only quant or quality are working)
cheers
milan
7th October 2002, 08:16
1. I think it's caused by dev-api-3 XviD build. Latest ffdshow accesses some internal xvid structures (quantizer table, motion vectors) which were changed in this xvid branch and there seems to be no way to detect which version is installed.
2. I haven't tested ffvfw in CBR mode much. Now when libavcodec has new CBR and two pass api I should modify ffvfw to handle it and release new version. I will try to do this as soon as possible.
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.