Re: idct8x8 C version in libtheora1.1 release
tterribe <[email protected]> Tue, 18 May 2010 17:58:32 -0400
| Newsgroups | gmane.comp.multimedia.ogg.theora.devel |
|---|---|
| Message-ID | <[email protected]> |
On Tue, 18 May 2010 09:41:36 -0700, chandramouli narayanan <[email protected]> wrote: > When using the IDCT routines, the C version [ lib/idct.c: > oc_idct8x8_c(ogg_int16_t _y[64],int _last_zzi)] in libtheora 1.1.1, the > decoded image is garbled. Is it functionally equivalent to the MMX > optimized > version [lib/x86/mmxidct.c: oc_idct8x8_mmx(ogg_int16_t _y[64],int > _last_zzi)] ? > > I used some of the Theora video files from here: > http://wiki.xiph.org/index.php/List_of_Theora_videos for testing with > firefox browser. For testing purposes, I called the C version of IDCT > routine instead of the MMX optimized version. Is there any documentation on > the IDCT algorithm used in Theora library? I downloaded a fresh copy of the 1.1.1 tarball from http://svn.xiph.org/releases/theora/libtheora-1.1.1.tar.bz2 on x86-32, ran ./configure --disable-asm and make, and used player_example to view http://serv2.internautas.tv/videos/ogg/20100518_1.ogg, and didn't see any garbling of the image. I also confirmed that it was, in fact, calling oc_idct8x8_c(), and checked that dump_video produces the correct md5sum for some of my personal test videos. The exact iDCT algorithm is thouroughly documented in Section 7.9.3 of the Theora specification: http://www.theora.org/doc/Theora.pdf