root/platform/a610/sub/100f/movie_rec.c

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

DEFINITIONS

This source file includes following definitions.
  1. change_video_tables
  2. movie_record_task
  3. sub_FFD2C880_my
  4. sub_FFD2E040_my
  5. sub_FFD2D408_my

   1 #include "conf.h"
   2 
   3 int *video_quality = &conf.video_quality;
   4 int *video_mode    = &conf.video_mode;
   5 
   6 long def_table1[15]={0x20000,0x10000,0xC000,0x5800,0x2000, 0x387A, 0x1C6A, 0x1550, 0x9C5, 0x38D, 0x7813, 0x3C45, 0x2D34, 0x14B8,0x788};
   7 long def_table2[15]={0x1CC39,0xE666, 0xACCD,0x4F33,0x1CCD,-0x2F5B,-0x170A,-0x1148,-0x7EB,-0x2E1,-0x59F0,-0x2BC6,-0x20D5,-0xF0C,-0x579};
   8 
   9 long table1[15], table2[15];
  10 
  11 void change_video_tables(int a, int b){
  12  int i;
  13  for (i=0;i<15;i++) {table1[i]=(def_table1[i]*a)/b; table2[i]=(def_table2[i]*a)/b;}
  14 }
  15 
  16 long CompressionRateTable[]={0x60, 0x5D, 0x5A, 0x57, 0x54, 0x51, 0x4D, 0x48, 0x42, 0x3B, 0x32, 0x29, 0x22, 0x1D, 0x17, 0x14, 0x10, 0xE, 0xB, 9, 7, 6, 5, 4, 3, 2, 1};
  17 
  18 
  19 void __attribute__((naked,noinline)) movie_record_task(){
  20  asm volatile(
  21                 "STMFD   SP!, {R4,LR}\n"              
  22                 "SUB     SP, SP, #4\n"                
  23                 "MOV     R4, SP\n"                    
  24                 "B       loc_FFD2C13C\n"              
  25 "loc_FFD2C08C:\n"                                      
  26                 "LDR     R3, =0x73618\n"              
  27                 "LDR     R2, [R3]\n"                  
  28                 "CMP     R2, #0\n"                    
  29                 "BNE     loc_FFD2C128\n"              
  30                 "SUB     R3, R12, #1\n"               
  31                 "CMP     R3, #0xA\n"                  
  32                 "LDRLS   PC, [PC,R3,LSL#2]\n"         
  33                 "B       loc_FFD2C128\n"              
  34                 ".long loc_FFD2C0D8\n"
  35                 ".long loc_FFD2C0E0\n"
  36                 ".long loc_FFD2C0F8\n"
  37                 ".long loc_FFD2C100\n"
  38                 ".long loc_FFD2C108\n"
  39                 ".long loc_FFD2C0E8\n"
  40                 ".long loc_FFD2C110\n"
  41                 ".long loc_FFD2C0F0\n"
  42                 ".long loc_FFD2C128\n"
  43                 ".long loc_FFD2C120\n"
  44                 ".long loc_FFD2C118\n"
  45 "loc_FFD2C0D8:\n"                                      
  46                                                   
  47                 "BL      sub_FFD2C1BC\n"              
  48                 "B       loc_FFD2C124\n"              
  49 "loc_FFD2C0E0:\n"
  50         
  51                 "BL      unlock_optical_zoom\n"                                  
  52                 "BL      sub_FFD2C3F0\n" 
  53                 "B       loc_FFD2C124\n"              
  54 "loc_FFD2C0E8:\n"                                      
  55                                                   
  56                 "BL      sub_FFD2C880_my\n"    //------------------>          
  57                 "B       loc_FFD2C124\n"              
  58 "loc_FFD2C0F0:\n"                                      
  59                                                   
  60                 "BL      sub_FFD2CCD4\n"              
  61                 "B       loc_FFD2C124\n"              
  62 "loc_FFD2C0F8:\n"                                      
  63                                                   
  64                 "BL      sub_FFD2CAF8\n"              
  65                 "B       loc_FFD2C124\n"              
  66 "loc_FFD2C100:\n"                                      
  67                                                   
  68                 "BL      sub_FFD2CEE0\n"              
  69                 "B       loc_FFD2C124\n"              
  70 "loc_FFD2C108:\n"                                      
  71                                                   
  72                 "BL      sub_FFD2D0A4\n"              
  73                 "B       loc_FFD2C124\n"              
  74 "loc_FFD2C110:\n"                                      
  75                                                   
  76                 "BL      sub_FFD2CD94\n"              
  77                 "B       loc_FFD2C124\n"              
  78 "loc_FFD2C118:\n"                                      
  79                                                   
  80                 "BL      sub_FFD2CE74\n"              
  81                 "B       loc_FFD2C124\n"              
  82 "loc_FFD2C120:\n"                                      
  83                                                   
  84                 "BL      sub_FFD2CB48\n"              
  85 "loc_FFD2C124:\n"                                      
  86                                                   
  87                 "LDR     R1, [SP]\n"                  
  88 "loc_FFD2C128:\n"                                      
  89                                                   
  90                 "LDR     R3, =0x73548\n"              
  91                 "MOV     R2, #0\n"                    
  92                 "STR     R2, [R1]\n"                  
  93                 "LDR     R0, [R3]\n"                  
  94                 "BL      sub_FFC1048C\n"          
  95 "loc_FFD2C13C:\n"                                      
  96                 "LDR     R3, =0x73544\n"              
  97                 "MOV     R1, R4\n"                    
  98                 "LDR     R0, [R3]\n"                  
  99                 "MOV     R2, #0\n"                    
 100                 "BL      sub_FFC10074\n"       
 101                 "LDR     R0, [SP]\n"                  
 102                 "LDR     R12, [R0]\n"                 
 103                 "CMP     R12, #0xC\n"                 
 104                 "MOV     R1, R0\n"                    
 105                 "BNE     loc_FFD2C08C\n"              
 106                 "LDR     R3, =0x7353C\n"              
 107                 "LDR     R0, [R3]\n"                  
 108                 "BL      sub_FFC10E48\n"             
 109                 "BL      sub_FFC11610\n"                  
 110                 "ADD     SP, SP, #4\n"                
 111                 "LDMFD   SP!, {R4,PC}\n"              
 112  );
 113 }
 114 
 115 
 116 void __attribute__((naked,noinline)) sub_FFD2C880_my(){
 117  asm volatile(
 118                 "STMFD   SP!, {R4-R11,LR}\n"          
 119                 "LDR     R5, =0x73634\n"              
 120                 "SUB     SP, SP, #0x34\n"             
 121                 "LDR     R3, [R5]\n"                  
 122                 "CMP     R3, #3\n"                    
 123                 "MOV     R4, R0\n"                    
 124                 "MOVEQ   R3, #4\n"                    
 125                 "STREQ   R3, [R5]\n"                  
 126                 "LDR     R3, =0x736DC\n"              
 127                 "MOV     LR, PC\n"                    
 128                 "LDR     PC, [R3]\n"                  
 129                 "LDR     R2, [R5]\n"                  
 130                 "CMP     R2, #4\n"                    
 131                 "BNE     loc_FFD2CA2C\n"              
 132                 "ADD     R0, SP, #0x30\n"             
 133                 "ADD     R1, SP, #0x2C\n"             
 134                 "ADD     R2, SP, #0x28\n"             
 135                 "ADD     R3, SP, #0x24\n"             
 136                 "BL      sub_FFD2E040_my\n"    //---------------------->         
 137                 "CMP     R0, #0\n"                    
 138                 "BNE     loc_FFD2C8FC\n"              
 139                 "LDR     R3, =0x73620\n"              
 140                 "LDR     R2, [R3]\n"                  
 141                 "CMP     R2, #1\n"                    
 142                 "BNE     loc_FFD2C910\n"              
 143                 "LDR     R2, =0x73670\n"              
 144                 "LDR     R1, =0x73648\n"              
 145                 "LDR     R12, [R2]\n"                 
 146                 "LDR     R3, [R1]\n"                  
 147                 "CMP     R12, R3\n"                   
 148                 "BCC     loc_FFD2C910\n"              
 149 "loc_FFD2C8FC:\n"                                     
 150                 "BL      sub_FFD2CA70\n"              
 151                 "BL      sub_FFD2CCA4\n"              
 152                 "MOV     R3, #5\n"                    
 153                 "STR     R3, [R5]\n"                  
 154                 "B       loc_FFD2CA2C\n"              
 155 "loc_FFD2C910:\n"                                     
 156                                                   
 157                 "LDR     R12, =0x73678\n"             
 158                 "LDR     R11, =0x73684\n"             
 159                 "LDMIB   R4, {R0-R2}\n"               
 160                 "LDR     R10, [R12]\n"                
 161                 "LDR     R7, [R11]\n"                 
 162                 "LDR     R4, [SP,#0x2C]\n"            
 163                 "LDR     R5, [SP,#0x28]\n"            
 164                 "LDR     R6, [SP,#0x24]\n"            
 165                 "LDR     R8, =0x73624\n"              
 166                 "LDR     R3, [SP,#0x30]\n"            
 167                 "ADD     R12, SP, #0x20\n"            
 168                 "ADD     LR, SP, #0x1C\n"             
 169                 "MOV     R9, #1\n"                    
 170                 "STMEA   SP, {R4-R6,R12}\n"           
 171                 "STR     R10, [SP,#0x10]\n"           
 172                 "STR     R7, [SP,#0x14]\n"            
 173                 "STR     LR, [SP,#0x18]\n"            
 174                 "STR     R9, [R8]\n"                  
 175                 "BL      sub_FFC83E68\n"              
 176                 "LDR     R3, =0x7353C\n"              
 177                 "MOV     R1, #0x3E8\n"                
 178                 "LDR     R0, [R3]\n"                  
 179                 "BL      sub_FFC10C60\n"             
 180                 "CMP     R0, #9\n"                    
 181                 "BNE     loc_FFD2C984\n"              
 182                 "BL      sub_FFD2E800\n"              
 183                 "LDR     R3, =0x73634\n"              
 184                 "LDR     R0, =0xFFD2C868\n"       
 185                 "B       loc_FFD2C99C\n"              
 186 "loc_FFD2C984:\n"                                     
 187                 "LDR     R5, [SP,#0x1C]\n"            
 188                 "CMP     R5, #0\n"                    
 189                 "BEQ     loc_FFD2C9A8\n"              
 190                 "BL      sub_FFD2E800\n"              
 191                 "LDR     R3, =0x73634\n"              
 192                 "LDR     R0, =0xFFD2C874\n"       
 193 "loc_FFD2C99C:\n"                                     
 194                 "STR     R9, [R3]\n"                  
 195                 "BL      sub_FFD41110\n"              
 196                 "B       loc_FFD2CA2C\n"              
 197 "loc_FFD2C9A8:\n"                                     
 198                 "BL      sub_FFC83FDC\n"              
 199                 "LDR     R0, [SP,#0x30]\n"            
 200                 "LDR     R1, [SP,#0x20]\n"            
 201                 "BL      sub_FFD2E524\n"              
 202                 "LDR     R4, =0x73670\n"              
 203                 "LDR     R3, [R4]\n"                  
 204                 "ADD     R3, R3, #1\n"                
 205                 "LDR     R0, [SP,#0x20]\n"            
 206                 "MOV     R1, R11\n"                   
 207                 "STR     R3, [R4]\n"                  
 208                 "MOV     R2, R5\n"                    
 209                 "BL      sub_FFD2D408_my\n"   //------------------------->           
 210                 "LDR     R3, =0x7365C\n"              
 211                 "LDR     R4, [R4]\n"                  
 212                 "LDR     R1, [R3]\n"                  
 213                 "MOV     R0, R4\n"                    
 214                 "BL      sub_FFEB1F38\n"              
 215                 "CMP     R0, #0\n"                    
 216                 "BEQ     loc_FFD2CA08\n"              
 217                 "LDR     R6, =0x73628\n"              
 218                 "LDR     R3, [R6]\n"                  
 219                 "CMP     R3, #1\n"                    
 220                 "BNE     loc_FFD2CA20\n"              
 221                 "B       loc_FFD2CA0C\n"              
 222 "loc_FFD2CA08:\n"                                     
 223                 "LDR     R6, =0x73628\n"              
 224 "loc_FFD2CA0C:\n"                                     
 225                 "MOV     R0, R4\n"                    
 226                 "LDR     R3, =0x736B8\n"              
 227                 "MOV     LR, PC\n"                    
 228                 "LDR     PC, [R3]\n"                  
 229                 "STR     R5, [R6]\n"                  
 230 "loc_FFD2CA20:\n"                                     
 231                 "LDR     R2, =0x73624\n"              
 232                 "MOV     R3, #0\n"                    
 233                 "STR     R3, [R2]\n"                  
 234 "loc_FFD2CA2C:\n"                                     
 235                                                   
 236                 "ADD     SP, SP, #0x34\n"             
 237                 "LDMFD   SP!, {R4-R11,PC}\n"          
 238 
 239  );
 240 }
 241 
 242 
 243 void __attribute__((naked,noinline)) sub_FFD2E040_my(){
 244  asm volatile(
 245                 "STMFD   SP!, {R4-R11,LR}\n"          
 246                 "LDR     R5, =0x73984\n"              
 247                 "SUB     SP, SP, #0x14\n"             
 248                 "LDR     LR, [R5]\n"                  
 249                 "LDR     R12, =0x7399C\n"             
 250                 "ADD     LR, LR, #1\n"                
 251                 "LDR     R4, [R12]\n"                 
 252                 "STR     LR, [R5]\n"                  
 253                 "LDR     R12, =0x73A18\n"             
 254                 "STR     R0, [SP,#0x10]\n"            
 255                 "STR     R1, [SP,#0xC]\n"             
 256                 "STR     R2, [SP,#8]\n"               
 257                 "STR     R3, [SP,#4]\n"               
 258                 "CMP     LR, R4\n"                    
 259                 "LDR     R11, [R12]\n"                
 260                 "MOVHI   R0, #0x80000001\n"           
 261                 "BHI     loc_FFD2E4D8\n"              
 262                 "LDR     R3, =0x73A00\n"              
 263                 "MOV     R0, LR\n"                    
 264                 "LDR     R1, [R3]\n"                  
 265                 "BL      sub_FFEB1F38\n"              
 266                 "CMP     R0, #1\n"                    
 267                 "BNE     loc_FFD2E260\n"              
 268                 "LDR     R0, =0x73A20\n"              
 269                 "LDR     R1, =0x73970\n"              
 270                 "LDR     R3, [R0]\n"                  
 271                 "LDR     R2, [R1]\n"                  
 272                 "CMP     R3, R2\n"                    
 273                 "LDREQ   R3, =0x73A1C\n"              
 274                 "LDREQ   R5, [R3]\n"                  
 275                 "MOVNE   R5, R2\n"                    
 276                 "LDR     R3, =0x73984\n"              
 277                 "LDR     R2, =0x73A00\n"              
 278                 "LDR     R0, [R3]\n"                  
 279                 "LDR     R1, [R2]\n"                  
 280                 "BL      sub_FFEB18A8\n"                 
 281                 "LDR     R3, =0x73978\n"              
 282                 "ADD     R0, R0, #1\n"                
 283                 "AND     R0, R0, #1\n"                
 284                 "STR     R5, [R3,R0,LSL#2]\n"         
 285                 "LDR     R3, =0x7396C\n"              
 286                 "LDR     R2, [R3]\n"                  
 287                 "CMP     R5, R2\n"                    
 288                 "BHI     loc_FFD2E110\n"              
 289                 "LDR     R4, =0x739BC\n"              
 290                 "LDR     R3, [R4]\n"                  
 291                 "ADD     R3, R5, R3\n"                
 292                 "ADD     R3, R3, #8\n"                
 293                 "CMP     R2, R3\n"                    
 294                 "BCS     loc_FFD2E114\n"              
 295 "loc_FFD2E108:\n"                                     
 296                                                   
 297                 "MOV     R0, #0x80000003\n"           
 298                 "B       loc_FFD2E4D8\n"              
 299 "loc_FFD2E110:\n"                                     
 300                 "LDR     R4, =0x739BC\n"              
 301 "loc_FFD2E114:\n"                                     
 302                 "LDR     R3, [R4]\n"                  
 303                 "LDR     R2, =0x73A20\n"              
 304                 "ADD     R1, R5, R3\n"                
 305                 "LDR     R3, [R2]\n"                  
 306                 "ADD     R2, R1, #8\n"                
 307                 "CMP     R2, R3\n"                    
 308                 "BLS     loc_FFD2E160\n"              
 309                 "LDR     R2, =0x73A1C\n"              
 310                 "LDR     R0, =0x7396C\n"              
 311                 "RSB     R3, R3, R1\n"                
 312                 "LDR     R1, [R2]\n"                  
 313                 "ADD     R3, R3, #8\n"                
 314                 "LDR     R2, [R0]\n"                  
 315                 "ADD     R1, R1, R3\n"                
 316                 "CMP     R2, R1\n"                    
 317                 "BCC     loc_FFD2E108\n"              
 318                 "LDR     R3, =0x73970\n"              
 319                 "STR     R1, [R3]\n"                  
 320                 "B       loc_FFD2E168\n"              
 321 "loc_FFD2E160:\n"                                     
 322                 "LDR     R3, =0x73970\n"              
 323                 "STR     R2, [R3]\n"                  
 324 "loc_FFD2E168:\n"                                     
 325                 "LDR     R3, [R4]\n"                  
 326                 "LDR     R12, =0x739D0\n"             
 327                 "ADD     R3, R3, #0x18\n"             
 328                 "LDR     R2, [R12,#4]\n"              
 329                 "MOV     R0, R3\n"                    
 330                 "MOV     R1, #0\n"                    
 331                 "CMP     R1, R2\n"                    
 332                 "BHI     loc_FFD2E3AC\n"              
 333                 "BNE     loc_FFD2E198\n"              
 334                 "LDR     R3, [R12]\n"                 
 335                 "CMP     R0, R3\n"                    
 336                 "BHI     loc_FFD2E3AC\n"              
 337 "loc_FFD2E198:\n"                                     
 338                 "LDR     R4, [R4]\n"                  
 339                 "LDR     LR, =0x739D8\n"              
 340                 "STR     R4, [SP]\n"                  
 341                 "LDR     R12, =0x739D0\n"             
 342                 "LDR     R3, =0x73984\n"              
 343                 "LDMIA   LR, {R7,R8}\n"               
 344                 "LDMIA   R12, {R5,R6}\n"              
 345                 "LDR     R10, [R3]\n"                 
 346                 "LDR     R2, =0x73A00\n"              
 347                 "MOV     R3, R4\n"                    
 348                 "MOV     R4, #0\n"                    
 349                 "ADDS    R7, R7, R3\n"                
 350                 "ADC     R8, R8, R4\n"                
 351                 "LDR     R9, [R2]\n"                  
 352                 "SUBS    R5, R5, R3\n"                
 353                 "SBC     R6, R6, R4\n"                
 354                 "MVN     R2, #0\n"                    
 355                 "MVN     R1, #0x17\n"                 
 356                 "ADDS    R5, R5, R1\n"                
 357                 "MOV     R4, #0\n"                    
 358                 "MOV     R3, #0x18\n"                 
 359                 "ADC     R6, R6, R2\n"                
 360                 "ADDS    R7, R7, R3\n"                
 361                 "ADC     R8, R8, R4\n"                
 362                 "STMIA   R12, {R5,R6}\n"              
 363                 "SUB     R0, R10, #1\n"               
 364                 "MOV     R1, R9\n"                    
 365                 "STMIA   LR, {R7,R8}\n"               
 366                 "BL      sub_FFEB18A8\n"                 
 367                 "CMP     R10, #1\n"                   
 368                 "MLA     R0, R9, R0, R0\n"            
 369                 "BEQ     loc_FFD2E260\n"              
 370                 "SUB     R3, R0, #1\n"                
 371                 "MOV     R3, R3,LSL#4\n"              
 372                 "ADD     R4, R11, #0x10\n"            
 373                 "ADD     R5, R11, #0x14\n"            
 374                 "LDR     R1, [R5,R3]\n"               
 375                 "LDR     R2, [R4,R3]\n"               
 376                 "LDR     LR, =0x62773130\n"           
 377                 "ADD     R2, R2, R1\n"                
 378                 "MOV     R3, R0,LSL#4\n"              
 379                 "ADD     R2, R2, #8\n"                
 380                 "MOV     R0, #0\n"                    
 381                 "ADD     R12, R11, #0xC\n"            
 382                 "ADD     R1, R11, #8\n"               
 383                 "STR     LR, [R1,R3]\n"               
 384                 "STR     R0, [R12,R3]\n"              
 385                 "STR     R2, [R4,R3]\n"               
 386                 "LDR     R0, [SP]\n"                  
 387                 "STR     R0, [R5,R3]\n"               
 388 "loc_FFD2E260:\n"                                     
 389                                                   
 390                 "LDR     R2, =0x73970\n"              
 391                 "LDR     R3, =0x73A20\n"              
 392                 "LDR     R1, [R2]\n"                  
 393                 "LDR     R0, [R3]\n"                  
 394                 "ADD     R3, R1, #9\n"                
 395                 "CMP     R3, R0\n"                    
 396                 "BLS     loc_FFD2E29C\n"              
 397                 "LDR     R2, =0x73A1C\n"              
 398                 "LDR     R3, [R2]\n"                  
 399                 "ADD     R3, R3, R1\n"                
 400                 "RSB     R3, R0, R3\n"                
 401                 "LDR     R0, [SP,#0x10]\n"            
 402                 "ADD     R3, R3, #8\n"                
 403                 "STR     R3, [R0]\n"                  
 404                 "B       loc_FFD2E2A8\n"              
 405 "loc_FFD2E29C:\n"                                     
 406                 "ADD     R3, R1, #8\n"                
 407                 "LDR     R1, [SP,#0x10]\n"            
 408                 "STR     R3, [R1]\n"                  
 409 "loc_FFD2E2A8:\n"                                     
 410                 "LDR     R2, [SP,#0x10]\n"            
 411                 "LDR     R1, =0x739CC\n"              
 412                 "LDR     R3, =0x73A20\n"              
 413                 "LDR     R12, [R2]\n"                 
 414                 "LDR     R2, [R1]\n"                  
 415                 "LDR     R0, [R3]\n"                  
 416                 "ADD     R3, R12, R2\n"               
 417                 "CMP     R3, R0\n"                    
 418                 "BLS     loc_FFD2E2FC\n"              
 419                 "LDR     R2, [SP,#0xC]\n"             
 420                 "RSB     R0, R12, R0\n"               
 421                 "STR     R0, [R2]\n"                  
 422                 "LDR     R2, =0x73A1C\n"              
 423                 "LDR     R3, [R1]\n"                  
 424                 "LDR     R1, [R2]\n"                  
 425                 "RSB     R3, R0, R3\n"                
 426                 "LDR     R0, [SP,#8]\n"               
 427                 "STR     R1, [R0]\n"                  
 428                 "LDR     R1, [SP,#4]\n"               
 429                 "STR     R3, [R1]\n"                  
 430                 "B       loc_FFD2E318\n"              
 431 "loc_FFD2E2FC:\n"                                     
 432                 "LDR     R0, [SP,#0xC]\n"             
 433                 "STR     R2, [R0]\n"                  
 434                 "LDR     R1, [SP,#4]\n"               
 435                 "MOV     R3, #0\n"                    
 436                 "STR     R3, [R1]\n"                  
 437                 "LDR     R2, [SP,#8]\n"               
 438                 "STR     R3, [R2]\n"                  
 439 "loc_FFD2E318:\n"                                     
 440                 "LDR     R0, =0x73970\n"              
 441                 "LDR     R1, =0x7396C\n"              
 442                 "LDR     R3, [R0]\n"                  
 443                 "LDR     R2, [R1]\n"                  
 444                 "CMP     R3, R2\n"                    
 445                 "BHI     loc_FFD2E344\n"              
 446                 "LDR     R0, [SP,#0xC]\n"             
 447                 "LDR     R3, [R0]\n"                  
 448                 "ADD     R3, R12, R3\n"               
 449                 "CMP     R2, R3\n"                    
 450                 "BCC     loc_FFD2E108\n"              
 451 "loc_FFD2E344:\n"                                     
 452                 "LDR     R1, [SP,#8]\n"               
 453                 "LDR     R2, [R1]\n"                  
 454                 "CMP     R2, #0\n"                    
 455                 "BEQ     loc_FFD2E378\n"              
 456                 "LDR     R3, =0x7396C\n"              
 457                 "LDR     R1, [R3]\n"                  
 458                 "CMP     R2, R1\n"                    
 459                 "BHI     loc_FFD2E378\n"              
 460                 "LDR     R0, [SP,#4]\n"               
 461                 "LDR     R3, [R0]\n"                  
 462                 "ADD     R3, R2, R3\n"                
 463                 "CMP     R1, R3\n"                    
 464                 "BCC     loc_FFD2E108\n"              
 465 "loc_FFD2E378:\n"                                     
 466                                                   
 467                 "LDR     R3, =0x739CC\n"              
 468                 "LDR     R0, =0x739D0\n"              
 469                 "LDR     R2, [R3]\n"                  
 470                 "LDR     R3, [R0,#4]\n"               
 471                 "ADD     R2, R2, #0x18\n"             
 472                 "MOV     R1, R2\n"                    
 473                 "MOV     R2, #0\n"                    
 474                 "CMP     R2, R3\n"                    
 475                 "BHI     loc_FFD2E3AC\n"              
 476                 "BNE     loc_FFD2E3B4\n"              
 477                 "LDR     R3, [R0]\n"                  
 478                 "CMP     R1, R3\n"                    
 479                 "BLS     loc_FFD2E3B4\n"              
 480 "loc_FFD2E3AC:\n"                                     
 481                                                   
 482                 "MOV     R0, #0x80000005\n"           
 483                 "B       loc_FFD2E4D8\n"              
 484 "loc_FFD2E3B4:\n"                                     
 485                                                   
 486                 "LDR     R1, =0x739B4\n"              
 487                 "LDR     R0, =0x73A00\n"              
 488                 "LDR     R3, [R1]\n"                  
 489                 "LDR     R2, [R0]\n"                  
 490                 "ADD     R3, R3, R2,LSL#4\n"          
 491                 "ADD     R3, R3, R3,LSL#2\n"          
 492                 "LDR     R12, =0x739D0\n"             
 493                 "MOV     R3, R3,LSL#1\n"              
 494                 "ADD     R3, R3, #0xA0\n"             
 495                 "LDR     R2, [R12,#4]\n"              
 496                 "MOV     R0, R3\n"                    
 497                 "MOV     R1, #0\n"                    
 498                 "CMP     R1, R2\n"                    
 499                 "BHI     loc_FFD2E3FC\n"              
 500                 "BNE     loc_FFD2E420\n"              
 501                 "LDR     R3, [R12]\n"                 
 502                 "CMP     R0, R3\n"                    
 503                 "BLS     loc_FFD2E420\n"              
 504 "loc_FFD2E3FC:\n"                                     
 505                 "LDR     R4, =0x739E8\n"              
 506                 "LDR     R1, [R4]\n"                  
 507                 "CMP     R1, #0\n"                    
 508                 "BNE     loc_FFD2E420\n"              
 509                 "MOV     R0, #0x3140\n"               
 510                 "ADD     R0, R0, #8\n"                
 511                 "BL      sub_FFD45318\n"              
 512                 "MOV     R3, #1\n"                    
 513                 "STR     R3, [R4]\n"                  
 514 "loc_FFD2E420:\n"                                     
 515                                                   
 516                 "LDR     R1, =0x739B4\n"              
 517                 "LDR     R0, =0x73A00\n"              
 518                 "LDR     R2, [R1]\n"                  
 519                 "LDR     R3, [R0]\n"                  
 520                 "LDR     R0, =0x739D8\n"              
 521                 "ADD     R2, R2, R3,LSL#4\n"          
 522                 "MVN     R3, #0x9F\n"                 
 523                 "ADD     R2, R2, R2,LSL#2\n"          
 524                 "ADD     R3, R3, #0x40000000\n"       
 525                 "SUB     R3, R3, R2,LSL#1\n"          
 526                 "LDR     R1, [R0,#4]\n"               
 527                 "MOV     R4, R3\n"                    
 528                 "MOV     R5, #0\n"                    
 529                 "CMP     R1, R5\n"                    
 530                 "BHI     loc_FFD2E46C\n"              
 531                 "BNE     loc_FFD2E490\n"              
 532                 "LDR     R3, [R0]\n"                  
 533                 "CMP     R3, R4\n"                    
 534                 "BLS     loc_FFD2E490\n"              
 535 "loc_FFD2E46C:\n"                                     
 536                 "LDR     R4, =0x739E8\n"              
 537                 "LDR     R1, [R4]\n"                  
 538                 "CMP     R1, #0\n"                    
 539                 "BNE     loc_FFD2E490\n"              
 540                 "MOV     R0, #0x3140\n"               
 541                 "ADD     R0, R0, #8\n"                
 542                 "BL      sub_FFD45318\n"              
 543                 "MOV     R3, #1\n"                    
 544                 "STR     R3, [R4]\n"                  
 545 "loc_FFD2E490:\n"                                     
 546                                                   
 547                 "LDR     R3, =0x739D8\n"              
 548                 "LDR     R12, =0x739CC\n"             
 549                 "LDMIA   R3, {R1,R2}\n"               
 550                 "LDR     R0, [R12]\n"                 
 551                 "MOV     R4, #0\n"                    
 552                 "MOV     R3, #0x18\n"                 
 553                 "ADDS    R1, R1, R0\n"                
 554                 "ADC     R2, R2, #0\n"                
 555                 "ADDS    R1, R1, R3\n"                
 556                 "ADC     R2, R2, R4\n"                
 557                 "CMP     R2, #0\n"                    
 558                 "BHI     loc_FFD2E4CC\n"              
 559                 "BNE     loc_FFD2E4D4\n"              
 560                 "CMP     R1, #0x40000000\n"           
 561             //  "BLS     loc_FFD2E4D4\n"   // -
 562 
 563                 "B       loc_FFD2E4D4\n"   // +
 564             
 565 "loc_FFD2E4CC:\n"                                     
 566                 "MOV     R0, #0x80000007\n"           
 567                 "B       loc_FFD2E4D8\n"              
 568 "loc_FFD2E4D4:\n"                                     
 569                                                   
 570                 "MOV     R0, #0\n"                    
 571 "loc_FFD2E4D8:\n"                                     
 572                                                   
 573                 "ADD     SP, SP, #0x14\n"             
 574                 "LDMFD   SP!, {R4-R11,PC}\n"          
 575 
 576  );
 577 }
 578 
 579 
 580 
 581 void __attribute__((naked,noinline)) sub_FFD2D408_my(){
 582  asm volatile(
 583                 "CMP     R2, #1\n"                    
 584                 "STMFD   SP!, {R4-R7,LR}\n"           
 585                 "MOV     R7, R0\n"                    
 586                 "MOV     R6, R1\n"                    
 587                 "MOVEQ   R3, #0x79\n"                 
 588                 "STREQ   R3, [R6]\n"                  
 589                 "LDMEQFD SP!, {R4-R7,PC}\n"           
 590                 "LDR     R12, =0x736E8\n"             
 591                 "LDR     R0, [R12]\n"                 
 592                 "LDR     R3, =0x736F0\n"              
 593                 "CMP     R0, #0\n"                    
 594                 "LDR     R1, [R3]\n"                  
 595                 "BEQ     loc_FFD2D450\n"              
 596                 "LDR     R2, =0x736F4\n"              
 597                 "LDR     R3, [R2]\n"                  
 598                 "CMP     R3, #1\n"                    
 599                 "BNE     loc_FFD2D464\n"              
 600                 "B       loc_FFD2D454\n"              
 601 "loc_FFD2D450:\n"                                     
 602                 "LDR     R2, =0x736F4\n"              
 603 "loc_FFD2D454:\n"                                     
 604                 "MOV     R3, #0\n"                    
 605                 "STR     R3, [R2]\n"                  
 606                 "STR     R7, [R12]\n"                 
 607                 "B       loc_FFD2D518\n"              
 608 "loc_FFD2D464:\n"                                     
 609                 "LDR     R3, =0x736EC\n"              
 610                 "LDR     R2, [R3]\n"                  
 611                 "LDR     R5, =table1\n"     // + 0xFFD2D270    
 612                 "MOV     LR, R2,LSL#2\n"              
 613                 "LDR     R3, [R5,LR]\n"               
 614                 "LDR     R4, =table2\n"     // + 0xFFD2D2AC    
 615                 "RSB     R12, R3, R0\n"               
 616                 "LDR     R2, [R4,LR]\n"               
 617                 "CMP     R12, #0\n"                   
 618                 "RSB     R0, R2, R0\n"                
 619                 "BLE     loc_FFD2D4C4\n"              
 620                 "ADD     R3, R5, #0x14\n"             
 621                 "LDR     R2, [R3,LR]\n"               
 622                 "CMP     R2, R12\n"                   
 623                 "ADDGE   R1, R1, #1\n"                
 624                 "BGE     loc_FFD2D4B8\n"              
 625                 "ADD     R3, R5, #0x28\n"             
 626                 "LDR     R2, [R3,LR]\n"               
 627                 "CMP     R2, R12\n"                   
 628                 "ADDGE   R1, R1, #2\n"                
 629                 "ADDLT   R1, R1, #3\n"                
 630 "loc_FFD2D4B8:\n"                                     
 631          //     "CMP     R1, #0xE\n"    // -          
 632          //     "MOVGE   R1, #0xE\n"    // -          
 633                 "CMP     R1, #0x1A\n"    // +         
 634                 "MOVGE   R1, #0x1A\n"    // +          
 635 
 636                 "B       loc_FFD2D4FC\n"              
 637 "loc_FFD2D4C4:\n"                                     
 638                 "CMP     R0, #0\n"                    
 639                 "BGE     loc_FFD2D4FC\n"              
 640                 "ADD     R3, R4, #0x14\n"             
 641                 "LDR     R2, [R3,LR]\n"               
 642                 "CMP     R2, R0\n"                    
 643                 "SUBLE   R1, R1, #1\n"                
 644                 "BLE     loc_FFD2D4F4\n"              
 645                 "ADD     R3, R4, #0x28\n"             
 646                 "LDR     R2, [R3,LR]\n"               
 647                 "CMP     R2, R0\n"                    
 648                 "SUBLE   R1, R1, #2\n"                
 649                 "SUBGT   R1, R1, #3\n"                
 650 "loc_FFD2D4F4:\n"                                     
 651                 "CMP     R1, #0\n"                    
 652                 "MOVLT   R1, #0\n"                    
 653 "loc_FFD2D4FC:\n"                                     
 654                                                   
 655                 "LDR     R0, =0x736F0\n"              
 656                 "LDR     R3, [R0]\n"                  
 657                 "CMP     R1, R3\n"                    
 658                 "LDRNE   R2, =0x736F4\n"              
 659                 "MOVNE   R3, #1\n"                    
 660                 "STRNE   R1, [R0]\n"                  
 661                 "STRNE   R3, [R2]\n"                  
 662 "loc_FFD2D518:\n"                                     
 663                 "LDR     R3, =0x736F0\n"              
 664          //     "LDR     R1, =0x6C6C\n"   // -
 665                 "LDR     R1, =video_mode\n"  //+        
 666                 "LDR     R0, [R3]\n"                  
 667                 "LDR     R2, =CompressionRateTable\n" 
 668                 "LDR     R12, [R1]\n"                 
 669                 "LDR     R12, [R12]\n"        // +
 670                 "LDR     LR, [R2,R0,LSL#2]\n"         
 671                 "LDR     R3, =0x736E8\n"              
 672                 "CMP     R12, #1\n"                   
 673                 "STR     R7, [R3]\n"                  
 674                 "STR     LR, [R6]\n"                  
 675           //    "MOVEQ   R3, #0xB\n"      // -            
 676             
 677                 "LDREQ   R3, =video_quality\n"   // +
 678                 "LDREQ   R3, [R3]\n"             // +
 679                 "LDREQ   R3, [R3]\n"             // +
 680 
 681                 "STREQ   R3, [R6]\n"                  
 682                 "BL      mute_on_zoom\n"     // +
 683                 "LDMFD   SP!, {R4-R7,PC}\n"           
 684  );
 685 }
 686 
 687 
 688 
 689 
 690 
 691 

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