root/platform/ixus200_sd980/sub/101c/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_FF94A89C_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 void __attribute__((naked,noinline)) movie_record_task(){
  12  asm volatile(
  13 "       STMFD   SP!, {R2-R8,LR} \n"                
  14 "       LDR     R7, =0x2710 \n"                      
  15 "       LDR     R4, =0x67A8 \n"                      
  16 "       MOV     R6, #0 \n"                           
  17 "       MOV     R5, #1 \n"                           
  18 "loc_FF94AF1C:\n"
  19 "       LDR     R0, [R4, #0x18] \n"                  
  20 "       MOV     R2, #0 \n"                           
  21 "       ADD     R1, SP, #4 \n"                       
  22 "       BL      sub_FF837F08 \n"                      
  23 "       LDR     R0, [R4, #0x20] \n"                  
  24 "       CMP     R0, #0 \n"                           
  25 "       BNE     loc_FF94AFEC \n"                     
  26 "       LDR     R0, [SP, #4] \n"                     
  27 "       LDR     R1, [R0] \n"                         
  28 "       SUB     R1, R1, #2 \n"                       
  29 "       CMP     R1, #9 \n"                           
  30 "       ADDLS   PC, PC, R1, LSL #2 \n"             
  31 "       B       loc_FF94AFEC \n"                       
  32 "       B       loc_FF94AFA0 \n"                       
  33 "       B       loc_FF94AFC0 \n"                       
  34 "       B       loc_FF94AFD0 \n"                       
  35 "       B       loc_FF94AFD8 \n"                       
  36 "       B       loc_FF94AFA8 \n"                       
  37 "       B       loc_FF94AFE0 \n"                       
  38 "       B       loc_FF94AFB0 \n"                       
  39 "       B       loc_FF94AFEC \n"                       
  40 "       B       loc_FF94AFE8 \n"                       
  41 "       B       loc_FF94AF78 \n"                       
  42 "loc_FF94AF78:\n"
  43 "       LDR     R0, =0xFF94AC1C \n"                  
  44 "       STR     R6, [R4, #0x34] \n"                  
  45 "       STR     R0, [R4, #0x9C] \n"                  
  46 "       LDR     R2, =0xFF94A150 \n"                  
  47 "       LDR     R1, =0x7B1D0 \n"                     
  48 "       LDR     R0, =0xFF94A234 \n"                  
  49 "       STR     R6, [R4, #0x24] \n"                  
  50 "       BL      sub_FF8E1A58 \n"                      
  51 "       STR     R5, [R4, #0x38] \n"                  
  52 "       B       loc_FF94AFEC \n"                       
  53 "loc_FF94AFA0:\n"
  54 "       BL      unlock_optical_zoom\n" //  +
  55 "       BL      sub_FF94AD24 \n"                      
  56 "       B       loc_FF94AFEC \n"                       
  57 "loc_FF94AFA8:\n"
  58 "       BL      sub_FF94A89C_my \n"   //--------->                     
  59 "       B       loc_FF94AFEC \n"                       
  60 "loc_FF94AFB0:\n"
  61 "       LDR     R1, [R0, #0x18] \n"                  
  62 "       LDR     R0, [R0, #4] \n"                     
  63 "       BL      sub_FFA967B4 \n"                      
  64 "       B       loc_FF94AFEC \n"                       
  65 "loc_FF94AFC0:\n"
  66 "       LDR     R0, [R4, #0x38] \n"                  
  67 "       CMP     R0, #5 \n"                           
  68 "       STRNE   R5, [R4, #0x28] \n"                
  69 "       B       loc_FF94AFEC \n"                       
  70 "loc_FF94AFD0:\n"
  71 "       BL      sub_FF94A59C \n"                      
  72 "       B       loc_FF94AFEC \n"                       
  73 "loc_FF94AFD8:\n"
  74 "       BL      sub_FF94A280 \n"                      
  75 "       B       loc_FF94AFEC \n"                       
  76 "loc_FF94AFE0:\n"
  77 "       BL      sub_FF94A0DC \n"                      
  78 "       B       loc_FF94AFEC \n"                       
  79 "loc_FF94AFE8:\n"
  80 "       BL      sub_FF94B158 \n"                      
  81 "loc_FF94AFEC:\n"
  82 "       LDR     R1, [SP, #4] \n"                     
  83 "       MOV     R3, #0x460 \n"                       
  84 "       STR     R6, [R1] \n"                         
  85 "       STR     R3, [SP] \n"                         
  86 "       LDR     R0, [R4, #0x1C] \n"                  
  87 "       LDR     R3, =0xFF949F3C \n"                  
  88 "       MOV     R2, R7 \n"                           
  89 "       BL      sub_FF83885C \n"                      
  90 "       B       loc_FF94AF1C \n"      
  91  );
  92 }
  93 
  94 
  95 void __attribute__((naked,noinline)) sub_FF94A89C_my(){
  96  asm volatile(
  97  "      STMFD   SP!, {R4-R8,LR} \n"                
  98 "       SUB     SP, SP, #0x40 \n"                    
  99 "       MOV     R7, #0 \n"                           
 100 "       LDR     R6, =0x67A8 \n"                      
 101 "       MOV     R4, R0 \n"                           
 102 "       STR     R7, [SP, #0x30] \n"                  
 103 "       STR     R7, [SP, #0x28] \n"                  
 104 "       LDR     R0, [R6, #0x38] \n"                  
 105 "       MOV     R8, #4 \n"                           
 106 "       CMP     R0, #3 \n"                           
 107 "       STREQ   R8, [R6, #0x38] \n"                
 108 "       LDR     R0, [R6, #0x9C] \n"                  
 109 "       BLX     R0 \n"                               
 110 "       LDR     R0, [R6, #0x38] \n"                  
 111 "       CMP     R0, #4 \n"                           
 112 "       BNE     loc_FF94AA0C \n"                     
 113 "       ADD     R3, SP, #0x28 \n"                    
 114 "       ADD     R2, SP, #0x2C \n"                    
 115 "       ADD     R1, SP, #0x30 \n"                    
 116 "       ADD     R0, SP, #0x34 \n"                    
 117 "       BL      sub_FFA96850 \n"                      
 118 "       CMP     R0, #0 \n"                           
 119 "       MOV     R5, #1 \n"                           
 120 "       BNE     loc_FF94A918 \n"                     
 121 "       LDR     R1, [R6, #0x28] \n"                  
 122 "       CMP     R1, #1 \n"                           
 123 "       BNE     loc_FF94AA14 \n"                     
 124 "       LDR     R1, [R6, #0x4C] \n"                  
 125 "       LDR     R2, [R6, #0x3C] \n"                  
 126 "       CMP     R1, R2 \n"                           
 127 "       BCC     loc_FF94AA14 \n"                     
 128 "loc_FF94A918:\n"
 129 "       CMP     R0, #0x80000001 \n"                  
 130 "       STREQ   R8, [R6, #0x50] \n"                
 131 "       BEQ     loc_FF94A950 \n"                     
 132 "       CMP     R0, #0x80000003 \n"                  
 133 "       STREQ   R5, [R6, #0x50] \n"                
 134 "       BEQ     loc_FF94A950 \n"                     
 135 "       CMP     R0, #0x80000005 \n"                  
 136 "       MOVEQ   R0, #2 \n"                         
 137 "       BEQ     loc_FF94A94C \n"                     
 138 "       CMP     R0, #0x80000007 \n"                  
 139 "       STRNE   R7, [R6, #0x50] \n"                
 140 "       BNE     loc_FF94A950 \n"                     
 141 "       MOV     R0, #3 \n"                           
 142 "loc_FF94A94C:\n"
 143 "       STR     R0, [R6, #0x50] \n"                  
 144 "loc_FF94A950:\n"
 145 "       LDR     R0, =0x7B204 \n"                     
 146 "       LDR     R0, [R0, #8] \n"                     
 147 "       CMP     R0, #0 \n"                           
 148 "       BEQ     loc_FF94A968 \n"                     
 149 "       BL      sub_FF85CDE0 \n"                      
 150 "       B       loc_FF94A96C \n"                       
 151 "loc_FF94A968:\n"
 152 "       BL      sub_FF94A0DC \n"                      
 153 "loc_FF94A96C:\n"
 154 "       LDR     R0, [R4, #0x1C] \n"                  
 155 "       ADD     R4, SP, #0x18 \n"                    
 156 "       ADD     R3, SP, #0x38 \n"                    
 157 "       MVN     R2, #1 \n"                           
 158 "       MOV     R1, #0 \n"                           
 159 "       STMIA   R4, {R0-R3} \n"                    
 160 "       LDR     R2, [R6, #0x64] \n"                  
 161 "       LDR     R3, [R6, #0x68] \n"                  
 162 "       ADD     R1, SP, #0x3C \n"                    
 163 "       ADD     R4, SP, #8 \n"                       
 164 "       MOV     R0, #0 \n"                           
 165 "       STMIA   R4, {R0-R3} \n"                    
 166 "       MOV     R3, #0 \n"                           
 167 "       MOV     R2, #0x40 \n"                        
 168 "       STRD    R2, [SP] \n"                        
 169 "       LDR     R3, =0x7B21C \n"                     
 170 "       MOV     R2, #0 \n"                           
 171 "       MOV     R1, #0 \n"                           
 172 "       BL      sub_FFA53538 \n"                      
 173 "       LDR     R0, [R6, #0x10] \n"                  
 174 "       MOV     R1, #0x3E8 \n"                       
 175 "       BL      sub_FF838324 \n"                      
 176 "       CMP     R0, #9 \n"                           
 177 "       BNE     loc_FF94A9DC \n"                     
 178 "loc_FF94A9CC:\n"
 179 "       BL      sub_FFA96D24 \n"                      
 180 "       MOV     R0, #1 \n"                           
 181 "       STR     R5, [R6, #0x38] \n"                  
 182 "       B       loc_FF94AB3C \n"                       
 183 "loc_FF94A9DC:\n"
 184 "       LDR     R0, [SP, #0x38] \n"                  
 185 "       CMP     R0, #0 \n"                           
 186 "       BEQ     loc_FF94A9F8 \n"                     
 187 "loc_FF94A9E8:\n"
 188 "       BL      sub_FFA96D24 \n"                      
 189 "       MOV     R0, #1 \n"                           
 190 "       STR     R5, [R6, #0x38] \n"                  
 191 "       B       loc_FF94AB68 \n"                       
 192 "loc_FF94A9F8:\n"
 193 "       MOV     R0, #1 \n"                           
 194 "       BL      sub_FFA535E0 \n"                      
 195 "       BL      sub_FFA5361C \n"                      
 196 "       MOV     R0, #5 \n"                           
 197 "       STR     R0, [R6, #0x38] \n"                  
 198 "loc_FF94AA0C:\n"
 199 "       ADD     SP, SP, #0x40 \n"                    
 200 "       LDMFD   SP!, {R4-R8,PC} \n"                
 201 "loc_FF94AA14:\n"
 202 "       LDR     R12, [SP, #0x30] \n"                 
 203 "       CMP     R12, #0 \n"                          
 204 "       BEQ     loc_FF94ABC4 \n"                     
 205 "       STR     R5, [R6, #0x2C] \n"                  
 206 "       LDR     R0, [R6, #0x4C] \n"                  
 207 "       LDR     R8, [R4, #0xC] \n"                   
 208 "       CMP     R0, #0 \n"                           
 209 "       LDRNE   LR, [SP, #0x34] \n"                
 210 "       BNE     loc_FF94AAC0 \n"                     
 211 "       LDR     R0, [R4, #0x1C] \n"                  
 212 "       LDR     R1, [R4, #0x20] \n"                  
 213 "       ADD     R3, SP, #0x38 \n"                    
 214 "       MVN     R2, #0 \n"                           
 215 "       ADD     LR, SP, #0x18 \n"                    
 216 "       STMIA   LR, {R0-R3} \n"                    
 217 "       LDR     R0, [SP, #0x28] \n"                  
 218 "       LDR     R2, [R6, #0x64] \n"                  
 219 "       LDR     R3, [R6, #0x68] \n"                  
 220 "       ADD     R1, SP, #0x3C \n"                    
 221 "       ADD     LR, SP, #8 \n"                       
 222 "       STMIA   LR, {R0-R3} \n"                    
 223 "       LDR     R3, [SP, #0x2C] \n"                  
 224 "       STR     R12, [SP] \n"                        
 225 "       STR     R3, [SP, #4] \n"                     
 226 "       LDMIB   R4, {R0,R1} \n"                    
 227 "       LDR     R3, [SP, #0x34] \n"                  
 228 "       MOV     R2, R8 \n"                           
 229 "       BL      sub_FFA53538 \n"                      
 230 "       LDR     R0, [R6, #0x10] \n"                  
 231 "       MOV     R1, #0x3E8 \n"                       
 232 "       BL      sub_FF838324 \n"                      
 233 "       CMP     R0, #9 \n"                           
 234 "       BEQ     loc_FF94A9CC \n"                     
 235 "       LDR     R0, [SP, #0x38] \n"                  
 236 "       CMP     R0, #0 \n"                           
 237 "       BNE     loc_FF94A9E8 \n"                     
 238 "       MOV     R0, #1 \n"                           
 239 "       BL      sub_FFA535E0 \n"                      
 240 "       LDR     R0, [SP, #0x3C] \n"                  
 241 "       LDR     R1, [SP, #0x34] \n"                  
 242 "       ADD     LR, R1, R0 \n"                       
 243 "       LDR     R1, [SP, #0x30] \n"                  
 244 "       SUB     R12, R1, R0 \n"                      
 245 "loc_FF94AAC0:\n"
 246 "       LDR     R2, [R6, #0x48] \n"                  
 247 "       LDR     R0, [R4, #0x1C] \n"                  
 248 "       LDR     R1, [R4, #0x20] \n"                  
 249 "       ADD     R3, SP, #0x38 \n"                    
 250 "       STR     R0, [SP, #0x18] \n"                  
 251 "       STR     R1, [SP, #0x1C] \n"                  
 252 "       STR     R3, [SP, #0x24] \n"                  
 253 "       STR     R2, [SP, #0x20] \n"                  
 254 "       LDR     R2, [R6, #0x64] \n"                  
 255 "       LDR     R3, [R6, #0x68] \n"                  
 256 "       LDR     R0, [SP, #0x28] \n"                  
 257 "       STR     R3, [SP, #0x14] \n"                  
 258 "       LDR     R3, [SP, #0x2C] \n"                  
 259 "       ADD     R1, SP, #0x3C \n"                    
 260 "       STR     R2, [SP, #0x10] \n"                  
 261 "       STR     R3, [SP, #4] \n"                     
 262 "       STR     R1, [SP, #0xC] \n"                   
 263 "       STR     R12, [SP] \n"                        
 264 "       STR     R0, [SP, #8] \n"                     
 265 "       LDMIB   R4, {R0,R1} \n"                    
 266 "       MOV     R3, LR \n"                           
 267 "       MOV     R2, R8 \n"                           
 268 "       BL      sub_FFA53538 \n"                      
 269 "       LDR     R0, [R6, #0x10] \n"                  
 270 "       MOV     R1, #0x3E8 \n"                       
 271 "       BL      sub_FF838324 \n"                      
 272 "       CMP     R0, #9 \n"                           
 273 "       BNE     loc_FF94AB50 \n"                     
 274 "       BL      sub_FFA96D24 \n"                      
 275 "       MOV     R0, #0 \n"                           
 276 "       STR     R5, [R6, #0x38] \n"                  
 277 "loc_FF94AB3C:\n"
 278 "       BL      sub_FFA535E0 \n"                      
 279 "       MOV     R0, #0xC \n"                         
 280 "       BL      sub_FF8835B4 \n"                      
 281 "       MOV     R0, #0x90000 \n"                     
 282 "       B       loc_FF94AB78 \n"                       
 283 "loc_FF94AB50:\n"
 284 "       LDR     R0, [SP, #0x38] \n"                  
 285 "       CMP     R0, #0 \n"                           
 286 "       BEQ     loc_FF94AB8C \n"                     
 287 "       BL      sub_FFA96D24 \n"                      
 288 "       MOV     R0, #0 \n"                           
 289 "       STR     R5, [R6, #0x38] \n"                  
 290 "loc_FF94AB68:\n"
 291 "       BL      sub_FFA535E0 \n"                      
 292 "       MOV     R0, #0xC \n"                         
 293 "       BL      sub_FF8835B4 \n"                      
 294 "       MOV     R0, #0xA0000 \n"                     
 295 "loc_FF94AB78:\n"
 296 "       BL      sub_FF890C4C \n"                      
 297 "       LDR     R1, [R6, #0x8C]! \n"                 
 298 "       LDR     R0, [R6, #0xC] \n"                   
 299 "       BLX     R1 \n"                               
 300 "       B       loc_FF94AA0C \n"                       
 301 "loc_FF94AB8C:\n"
 302 "       MOV     R0, #0 \n"                           
 303 "       BL      sub_FFA535E0 \n"                      
 304 "       LDR     R0, [SP, #0x34] \n"                  
 305 "       LDR     R1, [SP, #0x3C] \n"                  
 306 "       BL      sub_FFA96A7C \n"                      
 307 "       LDR     R0, [R6, #0x48] \n"                  
 308 "       LDR     R3, =0x6810 \n"                      
 309 "       ADD     R1, R0, #1 \n"                       
 310 "       STR     R1, [R6, #0x48] \n"                  
 311 "       STR     R3, [SP] \n"                         
 312 "       LDR     R0, [SP, #0x3C] \n"                  
 313 "       SUB     R3, R3, #4 \n"                       
 314 "       MOV     R2, #0xF \n"                         
 315 "       BL      sub_FFA94C00 \n"        
 316               
 317 "       LDR     R0, =0x6810-4\n"  // -<----   -4 //+
 318 "       BL      set_quality\n"                  // +
 319 "loc_FF94ABC4:\n"
 320 "       LDR     R0, [R6, #0x4C] \n"                  
 321 "       ADD     R0, R0, #1 \n"                       
 322 "       STR     R0, [R6, #0x4C] \n"                  
 323 "       LDR     R1, [R6, #0x74] \n"                  
 324 "       MUL     R0, R1, R0 \n"                       
 325 "       LDR     R1, [R6, #0x70] \n"                  
 326 "       BL      sub_FFB3C8AC \n"                      
 327 "       MOV     R4, R0 \n"                           
 328 "       BL      sub_FFA96D5C \n"                      
 329 "       LDR     R1, [R6, #0x6C] \n"                  
 330 "       CMP     R1, R4 \n"                           
 331 "       BNE     loc_FF94AC00 \n"                     
 332 "       LDR     R0, [R6, #0x30] \n"                  
 333 "       CMP     R0, #1 \n"                           
 334 "       BNE     loc_FF94AC14 \n"                     
 335 "loc_FF94AC00:\n"
 336 "       LDR     R1, [R6, #0x80] \n"                  
 337 "       MOV     R0, R4 \n"                           
 338 "       BLX     R1 \n"                               
 339 "       STR     R4, [R6, #0x6C] \n"                  
 340 "       STR     R7, [R6, #0x30] \n"                  
 341 "loc_FF94AC14:\n"
 342 "       STR     R7, [R6, #0x2C] \n"                  
 343 "       B       loc_FF94AA0C \n"             
 344  );
 345 }
 346 
 347 

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