On Wed Sep 26 17:00:49 2012
Luca Barbato wrote:

>> Program received signal SIGSEGV, Segmentation fault.
>> 0x105e7eb8 in compute_rematrixing_strategy (s=0x10db13a0) at 
>> /home/mik/src/fate/src/libavcodec/ac3enc_template.c:356
>> 356                 if (blk && block->num_rematrixing_bands != 
>> block0->num_rematrixing_bands)
>> 
>> For some reason the whole expression is evaluted even if blk==0 while block0 
>> is uninitialized.
>> 
> 
> Could you please provide the assembly for that function?

   0x105e7e58 <ff_ac3_fixed_encode_frame+1216>: ld      s0,56(sp)
   0x105e7e5c <ff_ac3_fixed_encode_frame+1220>: jr      ra
   0x105e7e60 <ff_ac3_fixed_encode_frame+1224>: addiu   sp,sp,144
   0x105e7e64 <ff_ac3_fixed_encode_frame+1228>: blez    v0,0x105e7ca4 
<ff_ac3_fixed_encode_frame+780>
   0x105e7e68 <ff_ac3_fixed_encode_frame+1232>: lw      ra,32(sp)
   0x105e7e6c <ff_ac3_fixed_encode_frame+1236>: addiu   s1,s8,3004
   0x105e7e70 <ff_ac3_fixed_encode_frame+1240>: move    s5,zero
   0x105e7e74 <ff_ac3_fixed_encode_frame+1244>: li      v1,1
   0x105e7e78 <ff_ac3_fixed_encode_frame+1248>: lw      v0,60(s1)
   0x105e7e7c <ff_ac3_fixed_encode_frame+1252>: sltiu   a0,s5,1
   0x105e7e80 <ff_ac3_fixed_encode_frame+1256>: sb      a0,47(s1)
   0x105e7e84 <ff_ac3_fixed_encode_frame+1260>: li      a0,4
   0x105e7e88 <ff_ac3_fixed_encode_frame+1264>: mtlo    s1
   0x105e7e8c <ff_ac3_fixed_encode_frame+1268>: beqz    v0,0x105e7ec8 
<ff_ac3_fixed_encode_frame+1328>
   0x105e7e90 <ff_ac3_fixed_encode_frame+1272>: sw      a0,48(s1)
   0x105e7e94 <ff_ac3_fixed_encode_frame+1276>: lw      v0,3904(s8)
   0x105e7e98 <ff_ac3_fixed_encode_frame+1280>: li      a1,4
   0x105e7e9c <ff_ac3_fixed_encode_frame+1284>: slti    a0,v0,62
   0x105e7ea0 <ff_ac3_fixed_encode_frame+1288>: xori    v0,v0,0x25
   0x105e7ea4 <ff_ac3_fixed_encode_frame+1292>: subu    a0,a1,a0
   0x105e7ea8 <ff_ac3_fixed_encode_frame+1296>: sltiu   v0,v0,1
   0x105e7eac <ff_ac3_fixed_encode_frame+1300>: subu    v0,a0,v0
   0x105e7eb0 <ff_ac3_fixed_encode_frame+1304>: beqz    s5,0x105e7ec8 
<ff_ac3_fixed_encode_frame+1328>
   0x105e7eb4 <ff_ac3_fixed_encode_frame+1308>: sw      v0,48(s1)
=> 0x105e7eb8 <ff_ac3_fixed_encode_frame+1312>: lw      a0,48(ra)
   0x105e7ebc <ff_ac3_fixed_encode_frame+1316>: bnel    v0,a0,0x105e7ec8 
<ff_ac3_fixed_encode_frame+1328>
   0x105e7ec0 <ff_ac3_fixed_encode_frame+1320>: sb      v1,47(s1)
   0x105e7ec4 <ff_ac3_fixed_encode_frame+1324>: nop
   0x105e7ec8 <ff_ac3_fixed_encode_frame+1328>: lw      v0,3972(s8)
   0x105e7ecc <ff_ac3_fixed_encode_frame+1332>: lw      t9,104(s1)
   0x105e7ed0 <ff_ac3_fixed_encode_frame+1336>: beqz    v0,0x105e8028 
<ff_ac3_fixed_encode_frame+1680>
   0x105e7ed4 <ff_ac3_fixed_encode_frame+1340>: lw      s6,108(s1)

                  zero               at               v0               v1
 R0           00000000         7400fce1         00000004         00000001 
                    a0               a1               a2               a3
 R4           00000004         00000004         00000001         00000000 
                    a4               a5               a6               a7
 R8           000062ea         00000024         00000000         00000000 
                    t0               t1               t2               t3
 R12          1de18c18         1de18c18         10eb4c94         10eb3494 
                    s0               s1               s2               s3
 R16          00000024         10db1fdc         106d3cac         00000004 
                    s4               s5               s6               s7
 R20          10db1f60         00000001         00000061         00000004 
                    t8               t9               k0               k1
 R24          00000000         00000061         00000000         00000000 
                    gp               sp               s8               ra
 R28          10836a20         7fe8cdd0         10db13a0         00000000 
                status               lo               hi         badvaddr
              0400fcf3         10db1fdc         00000000         00000030 
                 cause               pc
              10000008         105e7eb8 
                  fcsr              fir          restart
              00000004         00770501         00000000 

> Which compiler were you using?

The above is gcc-4.8 -march=mips3, also there are at least three minor gcc
versions where the result is not better.

Michael
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to