Log in

View Full Version : xvid's MP4V decoding abilities really that bad?


Benedikt
14th January 2006, 13:19
Hi there,

muxing xvid-mp3-avi files to MP4 is no problem, but the file changes its video FourCC from XVID to MP4V. If I try to decode this MP4 file now, again with the Xvid directshow and MP4V decoding set to "true", the movie is stuttering badly.
Decoding via ffdshow's DIVX4 compatibility mode (and MP4V) produces mixed results: The ffdshow decoder set to XVID gets me the same stuttering like before, only using libavcodec renders the movie file smoothly.

Why that? Doesn't the XVID directshow decoder recognize its own video track when setting the fourCC to MP4V (instead of XVID)? Or does it use alternative decoding routines?
How can I get smooth XVID decoding of native MP4 files, without having to use ffdshow?

Thanks in advance,
Benedikt

bond
14th January 2006, 13:44
the xvid decoder is written to work with .avi and therefore expects some avi specific stuff it normally doesnt get from mp4 parsers

you can try the 3ivx mp4 parser or an old version of the haali media parser (in new versions haali removed these avi compatibility output for working with xvid) and you will see it works fine

i guess that stuttering is caused by b-frames? try without b-frames too
also how did you create the .mp4 from the xvid .avi?


that said, i assume it would be easy to make the xvid decoder work correctly with most available .mp4 parsers (which work pretty much the same way iirc), its just noone did it till now :D


btw mp4 doesnt have "fourccs" as in the sense of avi

moved to xvid forum

Benedikt
14th January 2006, 15:40
the xvid decoder is written to work with .avi and therefore expects some avi specific stuff it normally doesnt get from mp4 parsers

you can try the 3ivx mp4 parser or an old version of the haali media parser (in new versions haali removed these avi compatibility output for working with xvid) and you will see it works fine

Okay, thanks for the info. I'll try that next.


i guess that stuttering is caused by b-frames? try without b-frames too
also how did you create the .mp4 from the xvid .avi?

Hmm. Now I don't get the point. You said Xvid has problems with plain non-avi-MP4 files, but it might work properly without encoding B-frames? But I really like b-frames as they improve quality. :)
that said, i assume it would be easy to make the xvid decoder work correctly with most available .mp4 parsers (which work pretty much the same way iirc), its just noone did it till now :D


btw mp4 doesnt have "fourccs" as in the sense of avi

moved to xvid forum
Hmm. That's a pity. So the XVID directshow codec isn't really usable for me ATM. But which way to go for a good MP4 decoding? Are there any alternatives to ffdshow - not that I don't like ffdshow, but especially the postprocessing algorithms don't seem to be good enough for my needs (or I've never managed to adjust them properly, I don't know)...

Elias
14th January 2006, 17:13
The XviD decoder isn't really that good; XviD is made for encoding with top priority, not decoding. Sure, its decoder will do the job, but if you want an awesome decoder, then use libavcodec (i.e. ffdshow).

[)370|\|470!2
14th January 2006, 18:35
No idea what you're talking here about. I got a few nero-created mp4's and i'm
using XviD 1.1.0-Beta2. It decodes them flawlessly. Even with less cpu time than
when with an original Nero mpeg-4 decoder. It should be in some way bad .mp4 or
maybe an outdated XviD version

bond
14th January 2006, 22:11
Hmm. Now I don't get the point. You said Xvid has problems with plain non-avi-MP4 files, but it might work properly without encoding B-frames? But I really like b-frames as they improve quality. :)it was just a proposal for you to try...

Hmm. That's a pity. So the XVID directshow codec isn't really usable for me ATM. But which way to go for a good MP4 decoding? Are there any alternatives to ffdshow - not that I don't like ffdshow, but especially the postprocessing algorithms don't seem to be good enough for my needs (or I've never managed to adjust them properly, I don't know)... did you try the 3ivx mp4 splitter?