------- Comment #9 from nospamname at web dot de 2009-09-09 14:54 ------- ratecontrol.c line 624 cause crash in my source.assert is done by this command(should be fbngt)
FBNLT _ff_rate_estimate_qscale+$716 ;118F015C q= get_qscale(s, rce, rate_factor, picture_number); printf("%f\n",q); // (is 613.928) if (q < 0) return -1; TRAP ----> assert(q>0.0); the TRAP command is a define to jump in debugger with trap #0.i notice it seem break the peephole detect and so GCC 4.5.0 produce working code when trap is in.see the FBNGT _ff_rate_estimate_qscale+$71A.thats correct and ffmpeg work. on 2. asm snippet that do not work its. and the assert is execute FMOVE.D (A7)+,FP0 FMOVE.S FP0,D4 FMOVE.S D4,FP4 FMOVE.D FP4,-(A7) PEA _ff_get_2pass_fcode+$24(PC) ; JSR _printf ;11A1563C LEA $20(A7),A7 FTST.S D4 FBLT _ff_rate_estimate_qscale+$5D4 TRAP #0 FTST.S D4 FBNGT _ff_rate_estimate_qscale+$71A FMOVE.D FP4,-(A7) MOVE.L A3,-(A7) MOVE.L A2,-(A7) without this asm command trap #0 the asm code that fail. MOVE.L D1,-(A7) MOVE.L D0,-(A7) FMOVE.D (A7)+,FP0 FMOVE.S FP0,D4 FMOVE.S D4,FP4 FMOVE.D FP4,-(A7) PEA _ff_get_2pass_fcode+$24(PC) ;118EF9E8 JSR _printf ;11A15638 LEA $20(A7),A7 FTST.S D4 FBLT _ff_rate_estimate_qscale+$5D0 ;118F0016 FBNLT _ff_rate_estimate_qscale+$716 ;118F015C FMOVE.D FP4,-(A7) MOVE.L A3,-(A7) MOVE.L A2,-(A7) JSR _ff_rac_terminate+$19E(PC) ;118ECF6C MOVE.L D1,-(A7) MOVE.L D0,-(A7) FMOVE.D (A7)+,FP1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41311