[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [OpenDivX] Tagging in CVS? (or 'This is getting painful').

Hello Stuart,

Tuesday, May 29, 2001, 3:22:19 AM, you wrote:

SR> Hi,

SR> After much struggling to build a (new) working decore and get XMPS to work
SR> with it, I'm close to my wits end.  For all of my efforts, I cannot get the
SR> xmps-opendivx-plugin to work with new versions of decore.  It seems that
SR> decore is changing rapidly and I can't keep up.  I'm now not sure if my test
SR> videos can even be decoded by the latest version of decore.

SR> To try to limit the number of variables, I'm now using a modified version of
SR> Christoph Lambert's (http://www.math.chalmers.se/~lampert/)  simpledivx
SR> test_enc and test_dec programs.  I have a working test_enc encoder test
SR> application and a (sort-of) working test_dec program.

SR> I'm running the following simple test sequence (which fails):

SR>  1) cat raw-24bpp-frame | test_enc > divx_frame
SR>  2) cat divx_frame | test_dec > divx_output_frame
SR>  3) Use gimp to visually inspect divx_output_frame and compare it to the
SR> input image.

SR> test_dec segfaults when it calls YV12toRGB24(...) with "Illegal instruction
SR> (core dumped)".

SR> The fault might be that encore is producing a compressed file that decore
SR> doesn't understand.  Or it might be something else, like the way I
SR> initialise decore...?

Ok, all questions in order.
Encoding format is kept unchanged since release of beta 48. Latest version of decore
can decode streams produced by any version of encore ever since.
>From your sample program it is unclear which version of decore is
 used. Since yuv->rgb method is called YV12toRGB24, it is not beta 50
( I am not even sure if beta 50 worked in Linux ). Current CVS compiles
and works in Linux, but you are not using it either, because you refer
to YV12toRGB24 as to the function and not as to the pointer ( this
change was made on 2001/05/22 23:47:47; btw, are you sure that it's
not a bug in your code? ).
'Illegal instruction' can be caused by two reasons. If you are calling
YV12toRGB24 as function and in decore it is a pointer ( linker most
probably won't notice that and will silently link everything ),
anything can happen. Segmentation fault is more likely, but illegal
instruction is also possible.
If it is really a function, make sure that, as John already replied,
you are not trying to use SSE on non-SSE machine. In Linux you are
also required to have new kernel ( 2.4 or reasonably new 2.3 ) if you
want to use SSE. It won't work with 2.2.

Best regards,
mailto:[email protected] or [email protected]
[Team GADGET]  [Team Two Divided By Zero]  [Team Hackzone.ru]

NetZero Platinum
No Banner Ads and Unlimited Access
Sign Up Today - Only $9.95 per month!

OpenDivX mailing list
[email protected]

Reply To Poster

Local References / HOW-TO / FAQs