Log in

View Full Version : Decoding XviD bitstreams with ISO decoder


cjv
17th December 2002, 07:07
Hi,

Maybe one of the XviD devs can help me out. If I want to verify that a bitstream is 100% ISO compliant, here are my current steps. Basically, this way works, but there must be a faster way? :)

On Win32 using "microsoft-v2.4-021204-NTU" as ISO reference decoder:

1) Encode full res D1 AVI in VDub with XviD (1-minute)
2) avi2raw in.avi out.raw
3) decode out.raw out.yuv 720 480
4) yuvtoavi out.yuv decoded.avi 720 480 29.976

Now the decoded.avi should be an uncompressed rgb full D1 avi...which it is (approx 2 gigs/minute). Because this cannot be played back smoothly on my P4 1.4, I open it in VDub and encoded it to Huffyuv.

Play back Huffyuv file..if all looks well..no artifacts/smooth playback...then bitstream can be deemed ISO compliant. Does all this pretty much sound correct?
Thanks

cjv

FunMan
17th December 2002, 12:35
Hi,

Really I don't know how good microsoft decoder is. Microsoft has aborted development and supporting ISO MPEG-4 video since the v3 of its encoder was released (now Microsoft develops WMV that is based on MPEG-4 but it's no ISO). For example I don't know if this decoder supports all the features of the advanced simple profile or only the simple one.

Anyway I use Envivio TV (good ISO MPEG-4 player, supporting all advanced simple profile features). I make an ISO mp4 from the XviD Avi (with a nice tool called mp4UI, visual version based on the most popular opensource project MPEGIP), adding MPEG-4 AAC audio track if I want it and then play the iso mp4 so obtained with the Envivio Player.....

bye
FunMan

Nic
17th December 2002, 12:49
Feel quite assured that the XviD team test the compatibilty alot :)

Certain newer implementations (Q-Pel, etc) could be dubious, but essentialy it can be assumed XviD is 100% :)

-Nic

ps
@funman:
He was talking about MS's MPEG-4 fdam software (I think ;) ) which is (at least at the time) 100% compatible.

FunMan
17th December 2002, 20:22
Hi,

Feel quite assured that the XviD team test the compatibilty alot

I think this could be useful for you. I dowloaded the last source from CVS, I compiled it with VS7 and I made some test. The problem I wrote in the other thread was on the Qpel, but only with Koepi build.

I'll explain it. With Koepi 9122002 if I use qpel I notice artefacts I wrote about. Disabling qpel (or simply using b-frame... I made some test and the result is that enabling bframe qpel is automatically turned off) there aren't problems!

With the self-compiled version (fresh source from CVS) I notice that b-frame and qpel now work togheter without any problem and there is no artefact.

He was talking about MS's MPEG-4 fdam software (I think ) which is (at least at the time) 100% compatible.

Sorry, I misunderstood ;)

bye
FunMan

cjv
17th December 2002, 23:22
Yes, I was speaking of the msfdam decoder.

I know that the XviD team checks their bitstreams, but I've been playing around with the code a lot lately, trying to learn it. I find the best way to learn something is to break it..or in this instance change something, and see the effects. I'm adding flags that are defined in the standard...and I want to see how/if they are decoded properly.

Also I'm experimenting with coding a tagging system for mp4 files..seeing as there is nothing really defined yet. Nothing really useful, probably a waste of time, but hey..I might just learn something. :)

cjv

-h
18th December 2002, 21:43
I'm adding flags that are defined in the standard...and I want to see how/if they are decoded properly.

That's a bit scary..

Also I'm experimenting with coding a tagging system for mp4 files..seeing as there is nothing really defined yet. Nothing really useful, probably a waste of time, but hey..I might just learn something. :)

See this thread (http://www.hydrogenaudio.org/index.php?act=ST&f=13&t=4835&hl=).

-h