root/platform/ixus200_sd980/sub/101d/movie_rec.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. change_video_tables
  2. set_quality
  3. movie_record_task
  4. sub_FF94AA58_my

   1 #include "conf.h"
   2 
   3 void change_video_tables(__attribute__ ((unused))int a, __attribute__ ((unused))int b) {}
   4 
   5 
   6 void  set_quality(int *x){ // -17 highest; +12 lowest
   7  if (conf.video_mode) *x=12-((conf.video_quality-1)*(12+17)/(99-1));
   8 }
   9 
  10 
  11 //** movie_record_task  @ 0xFF94B0C4 
  12 
  13 void __attribute__((naked,noinline)) movie_record_task(  ) { 
  14 asm volatile (
  15 "       STMFD   SP!, {R2-R8,LR} \n"                
  16 "       LDR     R7, =0x2710 \n"                      
  17 "       LDR     R4, =0x67A8 \n"                      
  18 "       MOV     R6, #0 \n"                           
  19 "       MOV     R5, #1 \n"                           
  20 "loc_FF94B0D8:\n"
  21 "       LDR     R0, [R4, #0x18] \n"                  
  22 "       MOV     R2, #0 \n"                           
  23 "       ADD     R1, SP, #4 \n"                       
  24 "       BL      sub_FF837F08 \n"                      
  25 "       LDR     R0, [R4, #0x20] \n"                  
  26 "       CMP     R0, #0 \n"                           
  27 "       BNE     loc_FF94B1A8 \n"                     
  28 "       LDR     R0, [SP, #4] \n"                     
  29 "       LDR     R1, [R0] \n"                         
  30 "       SUB     R1, R1, #2 \n"                       
  31 "       CMP     R1, #9 \n"                           
  32 "       ADDLS   PC, PC, R1, LSL #2 \n"             
  33 "       B       loc_FF94B1A8 \n"                       
  34 "       B       loc_FF94B15C \n"                       
  35 "       B       loc_FF94B17C \n"                       
  36 "       B       loc_FF94B18C \n"                       
  37 "       B       loc_FF94B194 \n"                       
  38 "       B       loc_FF94B164 \n"                       
  39 "       B       loc_FF94B19C \n"                       
  40 "       B       loc_FF94B16C \n"                       
  41 "       B       loc_FF94B1A8 \n"                       
  42 "       B       loc_FF94B1A4 \n"                       
  43 "       B       loc_FF94B134 \n"                       
  44 "loc_FF94B134:\n"
  45 "       LDR     R0, =0xFF94ADD8 \n"                  
  46 "       STR     R6, [R4, #0x34] \n"                  
  47 "       STR     R0, [R4, #0x9C] \n"                  
  48 "       LDR     R2, =0xFF94A30C \n"                  
  49 "       LDR     R1, =0x7B1D0 \n"                     
  50 "       LDR     R0, =0xFF94A3F0 \n"                  
  51 "       STR     R6, [R4, #0x24] \n"                  
  52 "       BL      sub_FF8E1AA8 \n"                      
  53 "       STR     R5, [R4, #0x38] \n"                  
  54 "       B       loc_FF94B1A8 \n"                       
  55 "loc_FF94B15C:\n"
  56 "       BL      sub_FF94AEE0 \n"                      
  57 "       B       loc_FF94B1A8 \n"                       
  58 "loc_FF94B164:\n"
  59 "       BL      sub_FF94AA58 \n"                      
  60 "       B       loc_FF94B1A8 \n"                       
  61 "loc_FF94B16C:\n"
  62 "       LDR     R1, [R0, #0x18] \n"                  
  63 "       LDR     R0, [R0, #4] \n"                     
  64 "       BL      sub_FFA96970 \n"                      
  65 "       B       loc_FF94B1A8 \n"                       
  66 "loc_FF94B17C:\n"
  67 "       LDR     R0, [R4, #0x38] \n"                  
  68 "       CMP     R0, #5 \n"                           
  69 "       STRNE   R5, [R4, #0x28] \n"                
  70 "       B       loc_FF94B1A8 \n"                       
  71 "loc_FF94B18C:\n"
  72 "       BL      sub_FF94A758 \n"                      
  73 "       B       loc_FF94B1A8 \n"                       
  74 "loc_FF94B194:\n"
  75 "       BL      sub_FF94A43C \n"                      
  76 "       B       loc_FF94B1A8 \n"                       
  77 "loc_FF94B19C:\n"
  78 "       BL      sub_FF94A298 \n"                      
  79 "       B       loc_FF94B1A8 \n"                       
  80 "loc_FF94B1A4:\n"
  81 "       BL      sub_FF94B314 \n"                      
  82 "loc_FF94B1A8:\n"
  83 "       LDR     R1, [SP, #4] \n"                     
  84 "       MOV     R3, #0x460 \n"                       
  85 "       STR     R6, [R1] \n"                         
  86 "       STR     R3, [SP] \n"                         
  87 "       LDR     R0, [R4, #0x1C] \n"                  
  88 "       LDR     R3, =0xFF94A0F8 \n"                  
  89 "       MOV     R2, R7 \n"                           
  90 "       BL      sub_FF83885C \n"                      
  91 "       B       loc_FF94B0D8 \n"                       
  92         );
  93 }
  94 
  95 
  96 //** sub_FF94A89C_my  @ 0xFF94AA58 
  97 
  98 void __attribute__((naked,noinline)) sub_FF94AA58_my(  ) { 
  99 asm volatile (
 100 "       STMFD   SP!, {R4-R8,LR} \n"                
 101 "       SUB     SP, SP, #0x40 \n"                    
 102 "       MOV     R7, #0 \n"                           
 103 "       LDR     R6, =0x67A8 \n"                      
 104 "       MOV     R4, R0 \n"                           
 105 "       STR     R7, [SP, #0x30] \n"                  
 106 "       STR     R7, [SP, #0x28] \n"                  
 107 "       LDR     R0, [R6, #0x38] \n"                  
 108 "       MOV     R8, #4 \n"                           
 109 "       CMP     R0, #3 \n"                           
 110 "       STREQ   R8, [R6, #0x38] \n"                
 111 "       LDR     R0, [R6, #0x9C] \n"                  
 112 "       BLX     R0 \n"                               
 113 "       LDR     R0, [R6, #0x38] \n"                  
 114 "       CMP     R0, #4 \n"                           
 115 "       BNE     loc_FF94ABC8 \n"                     
 116 "       ADD     R3, SP, #0x28 \n"                    
 117 "       ADD     R2, SP, #0x2C \n"                    
 118 "       ADD     R1, SP, #0x30 \n"                    
 119 "       ADD     R0, SP, #0x34 \n"                    
 120 "       BL      sub_FFA96A0C \n"                      
 121 "       CMP     R0, #0 \n"                           
 122 "       MOV     R5, #1 \n"                           
 123 "       BNE     loc_FF94AAD4 \n"                     
 124 "       LDR     R1, [R6, #0x28] \n"                  
 125 "       CMP     R1, #1 \n"                           
 126 "       BNE     loc_FF94ABD0 \n"                     
 127 "       LDR     R1, [R6, #0x4C] \n"                  
 128 "       LDR     R2, [R6, #0x3C] \n"                  
 129 "       CMP     R1, R2 \n"                           
 130 "       BCC     loc_FF94ABD0 \n"                     
 131 "loc_FF94AAD4:\n"
 132 "       CMP     R0, #0x80000001 \n"                  
 133 "       STREQ   R8, [R6, #0x50] \n"                
 134 "       BEQ     loc_FF94AB0C \n"                     
 135 "       CMP     R0, #0x80000003 \n"                  
 136 "       STREQ   R5, [R6, #0x50] \n"                
 137 "       BEQ     loc_FF94AB0C \n"                     
 138 "       CMP     R0, #0x80000005 \n"                  
 139 "       MOVEQ   R0, #2 \n"                         
 140 "       BEQ     loc_FF94AB08 \n"                     
 141 "       CMP     R0, #0x80000007 \n"                  
 142 "       STRNE   R7, [R6, #0x50] \n"                
 143 "       BNE     loc_FF94AB0C \n"                     
 144 "       MOV     R0, #3 \n"                           
 145 "loc_FF94AB08:\n"
 146 "       STR     R0, [R6, #0x50] \n"                  
 147 "loc_FF94AB0C:\n"
 148 "       LDR     R0, =0x7B204 \n"                     
 149 "       LDR     R0, [R0, #8] \n"                     
 150 "       CMP     R0, #0 \n"                           
 151 "       BEQ     loc_FF94AB24 \n"                     
 152 "       BL      sub_FF85CDE0 \n"                      
 153 "       B       loc_FF94AB28 \n"                       
 154 "loc_FF94AB24:\n"
 155 "       BL      sub_FF94A298 \n"                      
 156 "loc_FF94AB28:\n"
 157 "       LDR     R0, [R4, #0x1C] \n"                  
 158 "       ADD     R4, SP, #0x18 \n"                    
 159 "       ADD     R3, SP, #0x38 \n"                    
 160 "       MVN     R2, #1 \n"                           
 161 "       MOV     R1, #0 \n"                           
 162 "       STMIA   R4, {R0-R3} \n"                    
 163 "       LDR     R2, [R6, #0x64] \n"                  
 164 "       LDR     R3, [R6, #0x68] \n"                  
 165 "       ADD     R1, SP, #0x3C \n"                    
 166 "       ADD     R4, SP, #8 \n"                       
 167 "       MOV     R0, #0 \n"                           
 168 "       STMIA   R4, {R0-R3} \n"                    
 169 "       MOV     R3, #0 \n"                           
 170 "       MOV     R2, #0x40 \n"                        
 171 "       STRD    R2, [SP] \n"                        
 172 "       LDR     R3, =0x7B21C \n"                     
 173 "       MOV     R2, #0 \n"                           
 174 "       MOV     R1, #0 \n"                           
 175 "       BL      sub_FFA536F4 \n"                      
 176 "       LDR     R0, [R6, #0x10] \n"                  
 177 "       MOV     R1, #0x3E8 \n"                       
 178 "       BL      sub_FF838324 \n"                      
 179 "       CMP     R0, #9 \n"                           
 180 "       BNE     loc_FF94AB98 \n"                     
 181 "loc_FF94AB88:\n"
 182 "       BL      sub_FFA96EE0 \n"                      
 183 "       MOV     R0, #1 \n"                           
 184 "       STR     R5, [R6, #0x38] \n"                  
 185 "       B       loc_FF94ACF8 \n"                       
 186 "loc_FF94AB98:\n"
 187 "       LDR     R0, [SP, #0x38] \n"                  
 188 "       CMP     R0, #0 \n"                           
 189 "       BEQ     loc_FF94ABB4 \n"                     
 190 "loc_FF94ABA4:\n"
 191 "       BL      sub_FFA96EE0 \n"                      
 192 "       MOV     R0, #1 \n"                           
 193 "       STR     R5, [R6, #0x38] \n"                  
 194 "       B       loc_FF94AD24 \n"                       
 195 "loc_FF94ABB4:\n"
 196 "       MOV     R0, #1 \n"                           
 197 "       BL      sub_FFA5379C \n"                      
 198 "       BL      sub_FFA537D8 \n"                      
 199 "       MOV     R0, #5 \n"                           
 200 "       STR     R0, [R6, #0x38] \n"                  
 201 "loc_FF94ABC8:\n"
 202 "       ADD     SP, SP, #0x40 \n"                    
 203 "       LDMFD   SP!, {R4-R8,PC} \n"                
 204 "loc_FF94ABD0:\n"
 205 "       LDR     R12, [SP, #0x30] \n"                 
 206 "       CMP     R12, #0 \n"                          
 207 "       BEQ     loc_FF94AD80 \n"                     
 208 "       STR     R5, [R6, #0x2C] \n"                  
 209 "       LDR     R0, [R6, #0x4C] \n"                  
 210 "       LDR     R8, [R4, #0xC] \n"                   
 211 "       CMP     R0, #0 \n"                           
 212 "       LDRNE   LR, [SP, #0x34] \n"                
 213 "       BNE     loc_FF94AC7C \n"                     
 214 "       LDR     R0, [R4, #0x1C] \n"                  
 215 "       LDR     R1, [R4, #0x20] \n"                  
 216 "       ADD     R3, SP, #0x38 \n"                    
 217 "       MVN     R2, #0 \n"                           
 218 "       ADD     LR, SP, #0x18 \n"                    
 219 "       STMIA   LR, {R0-R3} \n"                    
 220 "       LDR     R0, [SP, #0x28] \n"                  
 221 "       LDR     R2, [R6, #0x64] \n"                  
 222 "       LDR     R3, [R6, #0x68] \n"                  
 223 "       ADD     R1, SP, #0x3C \n"                    
 224 "       ADD     LR, SP, #8 \n"                       
 225 "       STMIA   LR, {R0-R3} \n"                    
 226 "       LDR     R3, [SP, #0x2C] \n"                  
 227 "       STR     R12, [SP] \n"                        
 228 "       STR     R3, [SP, #4] \n"                     
 229 "       LDMIB   R4, {R0,R1} \n"                    
 230 "       LDR     R3, [SP, #0x34] \n"                  
 231 "       MOV     R2, R8 \n"                           
 232 "       BL      sub_FFA536F4 \n"                      
 233 "       LDR     R0, [R6, #0x10] \n"                  
 234 "       MOV     R1, #0x3E8 \n"                       
 235 "       BL      sub_FF838324 \n"                      
 236 "       CMP     R0, #9 \n"                           
 237 "       BEQ     loc_FF94AB88 \n"                     
 238 "       LDR     R0, [SP, #0x38] \n"                  
 239 "       CMP     R0, #0 \n"                           
 240 "       BNE     loc_FF94ABA4 \n"                     
 241 "       MOV     R0, #1 \n"                           
 242 "       BL      sub_FFA5379C \n"                      
 243 "       LDR     R0, [SP, #0x3C] \n"                  
 244 "       LDR     R1, [SP, #0x34] \n"                  
 245 "       ADD     LR, R1, R0 \n"                       
 246 "       LDR     R1, [SP, #0x30] \n"                  
 247 "       SUB     R12, R1, R0 \n"                      
 248 "loc_FF94AC7C:\n"
 249 "       LDR     R2, [R6, #0x48] \n"                  
 250 "       LDR     R0, [R4, #0x1C] \n"                  
 251 "       LDR     R1, [R4, #0x20] \n"                  
 252 "       ADD     R3, SP, #0x38 \n"                    
 253 "       STR     R0, [SP, #0x18] \n"                  
 254 "       STR     R1, [SP, #0x1C] \n"                  
 255 "       STR     R3, [SP, #0x24] \n"                  
 256 "       STR     R2, [SP, #0x20] \n"                  
 257 "       LDR     R2, [R6, #0x64] \n"                  
 258 "       LDR     R3, [R6, #0x68] \n"                  
 259 "       LDR     R0, [SP, #0x28] \n"                  
 260 "       STR     R3, [SP, #0x14] \n"                  
 261 "       LDR     R3, [SP, #0x2C] \n"                  
 262 "       ADD     R1, SP, #0x3C \n"                    
 263 "       STR     R2, [SP, #0x10] \n"                  
 264 "       STR     R3, [SP, #4] \n"                     
 265 "       STR     R1, [SP, #0xC] \n"                   
 266 "       STR     R12, [SP] \n"                        
 267 "       STR     R0, [SP, #8] \n"                     
 268 "       LDMIB   R4, {R0,R1} \n"                    
 269 "       MOV     R3, LR \n"                           
 270 "       MOV     R2, R8 \n"                           
 271 "       BL      sub_FFA536F4 \n"                      
 272 "       LDR     R0, [R6, #0x10] \n"                  
 273 "       MOV     R1, #0x3E8 \n"                       
 274 "       BL      sub_FF838324 \n"                      
 275 "       CMP     R0, #9 \n"                           
 276 "       BNE     loc_FF94AD0C \n"                     
 277 "       BL      sub_FFA96EE0 \n"                      
 278 "       MOV     R0, #0 \n"                           
 279 "       STR     R5, [R6, #0x38] \n"                  
 280 "loc_FF94ACF8:\n"
 281 "       BL      sub_FFA5379C \n"                      
 282 "       MOV     R0, #0xC \n"                         
 283 "       BL      sub_FF883604 \n"                      
 284 "       MOV     R0, #0x90000 \n"                     
 285 "       B       loc_FF94AD34 \n"                       
 286 "loc_FF94AD0C:\n"
 287 "       LDR     R0, [SP, #0x38] \n"                  
 288 "       CMP     R0, #0 \n"                           
 289 "       BEQ     loc_FF94AD48 \n"                     
 290 "       BL      sub_FFA96EE0 \n"                      
 291 "       MOV     R0, #0 \n"                           
 292 "       STR     R5, [R6, #0x38] \n"                  
 293 "loc_FF94AD24:\n"
 294 "       BL      sub_FFA5379C \n"                      
 295 "       MOV     R0, #0xC \n"                         
 296 "       BL      sub_FF883604 \n"                      
 297 "       MOV     R0, #0xA0000 \n"                     
 298 "loc_FF94AD34:\n"
 299 "       BL      sub_FF890C9C \n"                      
 300 "       LDR     R1, [R6, #0x8C]! \n"                 
 301 "       LDR     R0, [R6, #0xC] \n"                   
 302 "       BLX     R1 \n"                               
 303 "       B       loc_FF94ABC8 \n"                       
 304 "loc_FF94AD48:\n"
 305 "       MOV     R0, #0 \n"                           
 306 "       BL      sub_FFA5379C \n"                      
 307 "       LDR     R0, [SP, #0x34] \n"                  
 308 "       LDR     R1, [SP, #0x3C] \n"                  
 309 "       BL      sub_FFA96C38 \n"                      
 310 "       LDR     R0, [R6, #0x48] \n"                  
 311 "       LDR     R3, =0x6810 \n"                      
 312 "       ADD     R1, R0, #1 \n"                       
 313 "       STR     R1, [R6, #0x48] \n"                  
 314 "       STR     R3, [SP] \n"                         
 315 "       LDR     R0, [SP, #0x3C] \n"                  
 316 "       SUB     R3, R3, #4 \n"                       
 317 "       MOV     R2, #0xF \n"                         
 318 "       BL      sub_FFA94DBC \n"   
 319               
 320 "       LDR     R0, =0x6810-4\n"  // -<----   -4 //+
 321 "       BL      set_quality\n"                  // +
 322                    
 323 "loc_FF94AD80:\n"
 324 "       LDR     R0, [R6, #0x4C] \n"                  
 325 "       ADD     R0, R0, #1 \n"                       
 326 "       STR     R0, [R6, #0x4C] \n"                  
 327 "       LDR     R1, [R6, #0x74] \n"                  
 328 "       MUL     R0, R1, R0 \n"                       
 329 "       LDR     R1, [R6, #0x70] \n"                  
 330 "       BL      sub_FFB3CA68 \n"                      
 331 "       MOV     R4, R0 \n"                           
 332 "       BL      sub_FFA96F18 \n"                      
 333 "       LDR     R1, [R6, #0x6C] \n"                  
 334 "       CMP     R1, R4 \n"                           
 335 "       BNE     loc_FF94ADBC \n"                     
 336 "       LDR     R0, [R6, #0x30] \n"                  
 337 "       CMP     R0, #1 \n"                           
 338 "       BNE     loc_FF94ADD0 \n"                     
 339 "loc_FF94ADBC:\n"
 340 "       LDR     R1, [R6, #0x80] \n"                  
 341 "       MOV     R0, R4 \n"                           
 342 "       BLX     R1 \n"                               
 343 "       STR     R4, [R6, #0x6C] \n"                  
 344 "       STR     R7, [R6, #0x30] \n"                  
 345 "loc_FF94ADD0:\n"
 346 "       STR     R7, [R6, #0x2C] \n"                  
 347 "       B       loc_FF94ABC8 \n"                       
 348         );
 349 }
 350 
 351 

/* [<][>][^][v][top][bottom][index][help] */