This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/41311] [4.5 regression] m68k - FFmpeg crashes when converting mpg to avi
- From: "nospamname at web dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 10 Jan 2010 11:13:37 -0000
- Subject: [Bug target/41311] [4.5 regression] m68k - FFmpeg crashes when converting mpg to avi
- References: <bug-41311-17839@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #14 from nospamname at web dot de 2010-01-10 11:13 -------
All GCC Versions after this Patch r146817 (Author: matz) have the Problem
http://gcc.gnu.org/ml/gcc-cvs/2009-04/msg01459.html
Here is a better testprogram that show more exact what the code do, but this
generate with all Versions correct code.seem only with speical register usage
and maybe not relatet to backend Problem come.
#define __P(protos) protos
int fprintf __P((unsigned long *, const char *, ...));
unsigned int * stderr;
#define assert(expression) \
((void) ((expression) ? 0 : __assert (expression, __FILE__, __LINE__)))
#define __assert(expression, file, line) \
(fprintf (stderr,"%s:%u: failed assertion `%s'\n", file,
line,expression), \
abort(), 0)
static double get_qscale(long *s, long *rce, double rate_factor, int frame_num)
{
return rate_factor*frame_num;
}
double get_diff_limited_q(long *s, long *rce, double q);
float ff_rate_estimate_qscale(double rate_factor, int picture_number)
{
long *s;
long *rce;
float q;
q= get_qscale(s, rce, rate_factor, picture_number);
if (q < 0)
return -1;
assert(q>0.0);
q = get_diff_limited_q(s, rce, q);
assert(q>0.0);
}
int main(int argc, char **argv)
{
printf("%ld\n",ff_rate_estimate_qscale((float)argc,argc*4));
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41311