[theora] Theora decoding problem on PowerPC

Mayer, Jim Jim.Mayer at xerox.com
Thu Sep 27 12:28:18 PDT 2007


Maik,

It was a default build (-O2 -g).  I've been building a non-optimized
version (-O0 -g -fno-inline).  Are there Theora specific debugging flags
that you'd like me to set (e.g., -DDEBUG or something like that)?

-- Jim

-----Original Message-----
From: theora-bounces at xiph.org [mailto:theora-bounces at xiph.org] On Behalf
Of Maik Merten
Sent: Thursday, September 27, 2007 3:12 PM
To: Theora Mailing List
Subject: Re: [theora] Theora decoding problem on PowerPC

Mayer, Jim schrieb:
> Hi Maik,

Hi Jim!

> I've tried the alpha-7 release and it works perfectly on the PowerPC.

Okay, thanks for trying this out.

> Any ideas for next steps?

Can you check if the backtrace you provided was done with a debug
compile of beta1?

Maik


> -- Jim
> 
> -----Original Message-----
> From: theora-bounces at xiph.org [mailto:theora-bounces at xiph.org] On
Behalf
> Of Maik Merten
> Sent: Thursday, September 27, 2007 1:13 PM
> To: Theora Mailing List
> Subject: Re: [theora] Theora decoding problem on PowerPC
> 
> Hi Jim,
> 
> thanks for reporting.
> 
> Can you try if alpha7 works for you? Beta1 features a new decoder
which
> most likely is undertested on PowerPC while the old decoder should run
> on PowerPC without issues.
> 
> This of course wouldn't be a fix - but at least you may be able to
> proceed working on your software and would give additional insights if
> this indeed is an architecture related problem.
> 
> Thanks,
> 
> Maik
> 
> 
> Mayer, Jim schrieb:
>> Hi,
>>
>>  
>>
>> I'm attempting to decode Theora videos on a PowerPC running a Linux
>> 2.6.19 kernel.  The version of GCC I'm cross-compiling from is
3.4.4.
>>
>>  
>>
>> The software versions I'm running are:
>>
>>  
>>
>> libogg-1.1.3
>>
>> libpng-1.2.20
>>
>> libtheora-1.0beta1
>>
>> libvorbis-1.2.0
>>
>>  
>>
>> These are all the latest I was able to download.
>>
>>  
>>
>> Here's a back trace I got while running "dump_video" under GDB (I've
>> escaped non-ascii characters as "\xxx" for the purpose of keeping the
>> mailer happy).  I get similar results using "player_example" and when
>> using mplayer with libtheora support.  By the way, mplayer with
native
>> VP3 support works fine.
>>
>>  
>>
>>> gdb examples/.libs/dump_video
>> GNU gdb 6.4
>>
>> Copyright 2005 Free Software Foundation, Inc.
>>
>> GDB is free software, covered by the GNU General Public License, and
> you are
>> welcome to change it and/or distribute copies of it under certain
>> conditions.
>>
>> Type "show copying" to see the conditions.
>>
>> There is absolutely no warranty for GDB.  Type "show warranty" for
> details.
>> This GDB was configured as "powerpc-wrs-linux-gnu"...Using host
>> libthread_db library "/lib/libthread_db.so.1".
>>
>>  
>>
>> (gdb) source directories.gdb
>>
>> (gdb) run examples/video.ogg > out
>>
>> Starting program:
>> /var/jlm/theora/libtheora-1.0beta1/examples/.libs/dump_video
>> examples/video.ogg > out
>>
>> Encoded by Xiph.Org libTheora I 20070915 3 2 1
>>
>> theora comment header:
>>
>>         ENCODER=ffmpeg2theora 0.19
>>
>> Ogg logical stream 4aa501b6 is Theora 160x128 29.97 fps video
>>
>> Encoded frame content is 160x120 with 0x0 offset
>>
>>  
>>
>> Program received signal SIGSEGV, Segmentation fault.
>>
>> oc_frag_recon_inter2_c (
>>
>>     _dst=0x300384b0
>>
>
"--------.......//000000.0550;\\{\205\212\214\226\232\220~rv\210\225\027
>
%G\195\175\194\191\194\191\195\175\194\191\194\191\195\175\194\191\194\1
>
91\195\175\194\191\194\191\195\175\194\191\194\191\195\175\194\191\194\1
>
91\195\175\194\191\194\191\027%@\236\235\027%G\195\175\194\191\194\191\1
>
95\175\194\191\194\191\027%@\220|uw\200\207\217\225\231\232\227\226\227\
>
236\027%G\195\175\194\191\194\191\195\175\194\191\194\191\195\175\194\19
>
1\194\191\195\175\194\191\194\191\195\175\194\191\194\191\195\175\194\19
>
1\194\191\195\175\194\191\194\191\195\175\194\191\194\191\195\175\194\19
>
1\194\191\195\175\194\191\194\191\195\175\194\191\194\191\195\175\194\19
>
1\194\191\027%@\233oi`ULFBDILLMNNOOQUYXSNKJIHHHHHHGFEEEEEEECCCCCCCDC?CB?
> F>",
>> '!' <repeats 17 times>, '\025' <repeats 17 times>, "\032
>> &'()********++,,,,,,,ht\025\020\036\020\0307"..., _dst_ystride=-192,
>>
>>     _src1=0x300270b0 "%lu\n", _src1_ystride=-192, _src2=0x30026ff1
>> <Address 0x30026ff1 out of bounds>,
>>
>>     _src2_ystride=-192, _residue=0x7fabb2c0) at dec/fragment.c:77
>>
>> 77            _dst[j]=OC_CLAMP255(res+((int)_src1[j]+_src2[j]>>1));
>>
>> (gdb) where
>>
>> #0  oc_frag_recon_inter2_c (
>>
>>     _dst=0x300384b0
>>
>
"--------.......//000000.0550;\\{\205\212\214\226\232\220~rv\210\225\027
>
%G\195\175\194\191\194\191\195\175\194\191\194\191\195\175\194\191\194\1
>
91\195\175\194\191\194\191\195\175\194\191\194\191\195\175\194\191\194\1
>
91\195\175\194\191\194\191\027%@\236\235\027%G\195\175\194\191\194\191\1
>
95\175\194\191\194\191\027%@\220|uw\200\207\217\225\231\232\227\226\227\
>
236\027%G\195\175\194\191\194\191\195\175\194\191\194\191\195\175\194\19
>
1\194\191\195\175\194\191\194\191\195\175\194\191\194\191\195\175\194\19
>
1\194\191\195\175\194\191\194\191\195\175\194\191\194\191\195\175\194\19
>
1\194\191\195\175\194\191\194\191\195\175\194\191\194\191\195\175\194\19
>
1\194\191\027%@\233oi`ULFBDILLMNNOOQUYXSNKJIHHHHHHGFEEEEEEECCCCCCCDC?CB?
> F>",
>> '!' <repeats 17 times>, '\025' <repeats 17 times>, "\032
>> &'()********++,,,,,,,ht\025\020\036\020\0307"..., _dst_ystride=-192,
>>
>>     _src1=0x300270b0 "%lu\n", _src1_ystride=-192, _src2=0x30026ff1
>> <Address 0x30026ff1 out of bounds>,
>>
>>     _src2_ystride=-192, _residue=0x7fabb2c0) at dec/fragment.c:77
>>
>> #1  0x0ffcfca0 in oc_frag_recon_inter2 (_state=0x25, _dst=0x37
> <Address
>> 0x37 out of bounds>, _dst_ystride=110,
>>
>>     _src1=0x0, _src1_ystride=0, _src2=0xffffffff <Address 0xffffffff
> out
>> of bounds>, _src2_ystride=55, _residue=0x6e)
>>
>>     at dec/fragment.c:64
>>
>> #2  0x0ffcbfcc in oc_state_frag_recon_c (_state=0x1002f988,
_frag=0x4,
>> _pli=805491056, _dct_coeffs=0x37,
>>
>>     _last_zzi=-24576, _ncoefs=-1, _dc_iquant=0, _ac_iquant=0x6e) at
>> dec/state.c:888
>>
>> #3  0x0ffcbfcc in oc_state_frag_recon_c (_state=0x1002f988,
_frag=0x4,
>> _pli=805491056, _dct_coeffs=0x37,
>>
>>     _last_zzi=-24576, _ncoefs=-1, _dc_iquant=0, _ac_iquant=0x6e) at
>> dec/state.c:888
>>
>> #4  0x0ffcbfcc in oc_state_frag_recon_c (_state=0x1002f988,
_frag=0x4,
>> _pli=805491056, _dct_coeffs=0x37,
>>
>>     _last_zzi=-24576, _ncoefs=-1, _dc_iquant=0, _ac_iquant=0x6e) at
>> dec/state.c:888
>>
>> #5  0x0ffcbfcc in oc_state_frag_recon_c (_state=0x1002f988,
_frag=0x4,
>> _pli=805491056, _dct_coeffs=0x37,
>>
>>     _last_zzi=-24576, _ncoefs=-1, _dc_iquant=0, _ac_iquant=0x6e) at
>> dec/state.c:888
>>
>> #6  0x0ffcbfcc in oc_state_frag_recon_c (_state=0x1002f988,
_frag=0x4,
>> _pli=805491056, _dct_coeffs=0x37,
>>
>>     _last_zzi=-24576, _ncoefs=-1, _dc_iquant=0, _ac_iquant=0x6e) at
>> dec/state.c:888
>>
>> #7  0x0ffcbfcc in oc_state_frag_recon_c (_state=0x1002f988,
_frag=0x4,
>> _pli=805491056, _dct_coeffs=0x37,
>>
>>     _last_zzi=-24576, _ncoefs=-1, _dc_iquant=0, _ac_iquant=0x6e) at
>> dec/state.c:888
>>
>> #8  0x0ffcbfcc in oc_state_frag_recon_c (_state=0x1002f988,
_frag=0x4,
>> _pli=805491056, _dct_coeffs=0x37,
>>
>>     _last_zzi=-24576, _ncoefs=-1, _dc_iquant=0, _ac_iquant=0x6e) at
>> dec/state.c:888
>>
>> #9  0x0ffcbfcc in oc_state_frag_recon_c (_state=0x1002f988,
_frag=0x4,
>> _pli=805491056, _dct_coeffs=0x37,
>>
>>     _last_zzi=-24576, _ncoefs=-1, _dc_iquant=0, _ac_iquant=0x6e) at
>> dec/state.c:888
>>
>> #10 0x0ffcbfcc in oc_state_frag_recon_c (_state=0x1002f988,
_frag=0x4,
>> _pli=805491056, _dct_coeffs=0x37,
>>
>>     _last_zzi=-24576, _ncoefs=-1, _dc_iquant=0, _ac_iquant=0x6e) at
>> dec/state.c:888
>>
>> Previous frame inner to this frame (corrupt stack?)
>>
>>  
>>
>> The input file was created using ffmpeg2theora and oggsplit from the
>> file "Cirrot_sm.mpg" available on
>> http://www.soest.hawaii.edu/HURL/video.html.  The exact sequence of
>> commands was:
>>
>>  
>>
>>     ffmpeg2theora ~/video/Cirrot_sm.mpg -o sample.ogg
>>
>>     oggsplit sample.ogg
>>
>>     cp sample.c01.g01.ogg video.ogg
>>
>>  
>>
>> This file displays correctly on an Intel box running Centos 3.8.
>>
>>  
>>
>> Has anyone been able to use Theora on a PowerPC based system?  I'm
>> generically suspicious of both tool-chain and byte order issues and
>> would love to know what other peoples experiences were.
>>
>>  
>>
>> Thanks.
>>
>>  
>>
>> -- Jim Mayer
>>
>>  
>>
>>  
>>
>>  
>>
>>  
>>
>>  
>>
>>
>>
>
------------------------------------------------------------------------
>> _______________________________________________
>> theora mailing list
>> theora at xiph.org
>> http://lists.xiph.org/mailman/listinfo/theora
> 
> _______________________________________________
> theora mailing list
> theora at xiph.org
> http://lists.xiph.org/mailman/listinfo/theora
> 

_______________________________________________
theora mailing list
theora at xiph.org
http://lists.xiph.org/mailman/listinfo/theora


More information about the theora mailing list