From: Scott F. J. <sc...@fl...> - 2001-02-01 08:45:26
|
This patch contains numerous small modifications to libdv to get it closer to a point where it can compile on non-x86 architectures with other than gcc compilers. I have a use for non-realtime software decoding at high quality, extracting DV into images, and I'd like to be able to do this under IRIX on an SGI. The changes are in two broad categories: * GCC-specific code * x86 specific code In the first category, I've added some defines in dv_types.h like: #define ALIGN32 __attribute__ ((aligned (32))) and used the new ALIGN32 define elsewhere in the code. For non_gcc, these are just blanked out: #define ALIGN32 so that the compiler ignores them. There were some cases where the word "class" was being used as a variable name. I've changed these to "klass" so that they don't conflict with reserved word "class." There was a typo in parse.c where a "dv->std" was mistyped as "dv->system." All calls to calloc are now cast properly. Some compilers won't assign from void *. The compact syntax for setting arrays: [0 ... 5] = -1, is not supported everywhere. The biggest place containing these is in vlc.c I "unrolled" these settings and placed: #if ROLLED #else #endif around the current and new versions. The unrolled ones are long and ugly, but compile easier on other platforms. --Scott |