[theora-dev] [Ffmpeg-devel] libavcodec/vp3.c compile problem (fwd)

Mike Melanson melanson at pcisys.net
Wed Sep 10 14:16:21 PDT 2003

        I don't know how much of the old VP3 codebase is incorporated into
Theora. I wrote ffmpeg's VP3 decoder from scratch but eventually ported in
the original VP3 IDCT function. A BSD conflict cropped up that I thought I
would pass along.

	-Mike Melanson

<p>---------- Forwarded message ----------
Date: Wed, 10 Sep 2003 13:06:37 -0700 (PDT)
From: Steven M. Schultz <sms at 2BSD.COM>
Reply-To: ffmpeg-devel at lists.sourceforge.net
To: ffmpeg-devel at lists.sourceforge.net
Subject: [Ffmpeg-devel] libavcodec/vp3.c compile problem


	Since sourceforge finally caught up (it seemed to be running even
	more behind than usual for a couple days) I was able to try compiling
	the latest version.

	Ran into a problem with vp3.c due to a conflict of the variables
	_A, _B, _C, _D,  _G and _H with defines from the system header 

vp3.c: In function `vp3_idct_c':
vp3.c:314: syntax error before `0x00000100L'
vp3.c:351: invalid lvalue in assignment
vp3.c:357: invalid lvalue in assignment
vp3.c:363: invalid lvalue in assignment
vp3.c:369: invalid lvalue in assignment
vp3.c:374: `_Ad' undeclared (first use in this function)
vp3.c:374: (Each undeclared identifier is reported only once
vp3.c:374: for each function it appears in.)
vp3.c:376: warning: integer overflow in expression
vp3.c:378: `_Bd' undeclared (first use in this function)
vp3.c:381: `_Cd' undeclared (first use in this function)
vp3.c:382: `_Dd' undeclared (first use in this function)
vp3.c:386: `_E' undeclared (first use in this function)
vp3.c:390: `_F' undeclared (first use in this function)
vp3.c:396: invalid lvalue in assignment
vp3.c:402: `_H' undeclared (first use in this function)

	Why this BSD variant exposes _A ... _G I have no idea but the work
	around is either to change the names or to change vp3.c like this:

--- libavcodec/vp3.c.dist	Wed Sep 10 11:23:12 2003
+++ libavcodec/vp3.c	Wed Sep 10 12:55:44 2003
@@ -311,6 +311,25 @@
     int32_t *ip = intermediate_data;
     int16_t *op = output_data;
+#ifdef _A
+#undef _A
+#ifdef _B
+#undef _B
+#ifdef _C
+#undef _C
+#ifdef _D
+#undef _D
+#ifdef _G
+#undef _G
+#ifdef _H
+#undef _H
     int32_t _A, _B, _C, _D, _Ad, _Bd, _Cd, _Dd, _E, _F, _G, _H;
     int32_t _Ed, _Gd, _Add, _Bdd, _Fd, _Hd;
     int32_t t1, t2;

	I've run into this only once or twice over the years but I forget
	now how it was resolved then (I think the variable names were changed).

	Steven Schultz

This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
Ffmpeg-devel mailing list
Ffmpeg-devel at lists.sourceforge.net

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'theora-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.

More information about the Theora-dev mailing list