Ignore:
Timestamp:
09/07/10 05:01:37 (3 years ago)
Author:
reyalp
Message:

Add movie_rec stuff for D10. Add d10 to batch builds as beta. Remove beta tag from ixus980_sd990

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/platform/d10/sub/100a/movie_rec.c

    r897 r938  
     1#include "conf.h" 
     2 
     3// from sx10 
     4void change_video_tables(int a, int b){ 
     5} 
     6 
     7// from sx10, not sure if the values are right, seems to work 
     8void  set_quality(int *x){ // -17 highest; +12 lowest 
     9 if (conf.video_mode) *x=12-((conf.video_quality-1)*(12+17)/(99-1)); 
     10} 
     11 
     12void __attribute__((naked,noinline)) movie_record_task(){  
     13 asm volatile( 
     14"                STMFD   SP!, {R2-R8,LR}\n" 
     15"                LDR     R8, =0x442\n" 
     16"                LDR     R7, =0x2710\n" 
     17"                LDR     R4, =0x5FA8\n" 
     18"                MOV     R6, #0\n" 
     19"                MOV     R5, #1\n" 
     20"loc_FF92F5E0:\n" 
     21"                LDR     R0, [R4,#0x18]\n" 
     22"                MOV     R2, #0\n" 
     23"                ADD     R1, SP, #4\n" 
     24"                BL      sub_FF826C30\n" // KerQueue.c 0 
     25"                LDR     R0, [R4,#0x20]\n" 
     26"                CMP     R0, #0\n" 
     27"                BNE     loc_FF92F6B0\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_FF92F6B0\n" 
     34"                B       loc_FF92F664\n" 
     35"                B       loc_FF92F684\n" 
     36"                B       loc_FF92F694\n" 
     37"                B       loc_FF92F69C\n" 
     38"                B       loc_FF92F66C\n" 
     39"                B       loc_FF92F6A4\n" 
     40"                B       loc_FF92F674\n" 
     41"                B       loc_FF92F6B0\n" 
     42"                B       loc_FF92F6AC\n" 
     43"                B       loc_FF92F63C\n" 
     44"loc_FF92F63C:\n" 
     45// jumptable FF92F60C entry 9 
     46"                LDR     R0, =0xFF92F2F0\n" // locret 
     47"                STR     R6, [R4,#0x34]\n" 
     48"                STR     R0, [R4,#0x9C]\n" 
     49"                LDR     R0, =0xFF92E96C\n" 
     50"                LDR     R2, =0xFF92E888\n" 
     51"                LDR     R1, =0x4B268\n" 
     52"                STR     R6, [R4,#0x24]\n" 
     53"                BL      sub_FF839668\n" 
     54"                STR     R5, [R4,#0x38]\n" 
     55"                B       loc_FF92F6B0\n" 
     56"loc_FF92F664:\n" 
     57// jumptable FF92F60C entry 0 
     58"                BL      unlock_optical_zoom\n" // + 
     59"                BL      sub_FF92F3E8\n" // MovieRecorder.c 0 
     60"                B       loc_FF92F6B0\n" 
     61"loc_FF92F66C:\n" 
     62// jumptable FF92F60C entry 4 
     63"                BL      sub_FF92EF94_my\n" // -> quality override 
     64"                B       loc_FF92F6B0\n" 
     65"loc_FF92F674:\n" 
     66// jumptable FF92F60C entry 6 
     67"                LDR     R1, [R0,#0x18]\n" 
     68"                LDR     R0, [R0,#4]\n" 
     69"                BL      sub_FFA42458\n" // MovWriter.c 0 
     70"                B       loc_FF92F6B0\n" 
     71"loc_FF92F684:\n" 
     72// jumptable FF92F60C entry 1 
     73"                LDR     R0, [R4,#0x38]\n" 
     74"                CMP     R0, #5\n" 
     75"                STRNE   R5, [R4,#0x28]\n" 
     76"                B       loc_FF92F6B0\n" 
     77"loc_FF92F694:\n" 
     78// jumptable FF92F60C entry 2 
     79"                BL      sub_FF92ECCC\n" // MovieRecorder.c 0 
     80"                B       loc_FF92F6B0\n" 
     81"loc_FF92F69C:\n" 
     82// jumptable FF92F60C entry 3 
     83"                BL      sub_FF92E9B8\n" // MovieRecorder.c 0 
     84"                B       loc_FF92F6B0\n" 
     85"loc_FF92F6A4:\n" 
     86// jumptable FF92F60C entry 5 
     87"                BL      sub_FF92E814\n" // MovieRecorder.c 100 
     88"                B       loc_FF92F6B0\n" 
     89"loc_FF92F6AC:\n" 
     90// jumptable FF92F60C entry 8 
     91"                BL      sub_FF92F818\n" // MovieRecorder.c 100 
     92"loc_FF92F6B0:\n" 
     93// jumptable FF92F60C default entry 
     94// jumptable FF92F60C entry 7 
     95"                LDR     R1, [SP,#4]\n" 
     96"                LDR     R3, =0xFF92E678\n" // "MovieRecorder.c" 
     97"                STR     R6, [R1]\n" 
     98"                STR     R8, [SP]\n" 
     99"                LDR     R0, [R4,#0x1C]\n" 
     100"                MOV     R2, R7\n" 
     101"                BL      sub_FF827584\n" 
     102"                B       loc_FF92F5E0\n" 
     103 ); 
     104} 
     105 
     106void __attribute__((naked,noinline)) sub_FF92EF94_my(){  
     107 asm volatile( 
     108"                STMFD   SP!, {R4-R9,LR}\n" 
     109"                SUB     SP, SP, #0x44\n" 
     110"                MOV     R7, #0\n" 
     111"                LDR     R6, =0x5FA8\n" 
     112"                MOV     R4, R0\n" 
     113"                STR     R7, [SP,#0x34]\n" 
     114"                STR     R7, [SP,#0x2C]\n" 
     115"                LDR     R0, [R6,#0x38]\n" 
     116"                MOV     R8, #4\n" 
     117"                CMP     R0, #3\n" 
     118"                STREQ   R8, [R6,#0x38]\n" 
     119"                LDR     R0, [R6,#0x9C]\n" 
     120"                BLX     R0\n" 
     121"                LDR     R0, [R6,#0x38]\n" 
     122"                CMP     R0, #4\n" 
     123"                BNE     loc_FF92F0E4\n" 
     124"                ADD     R3, SP, #0x2C\n" 
     125"                ADD     R2, SP, #0x30\n" 
     126"                ADD     R1, SP, #0x34\n" 
     127"                ADD     R0, SP, #0x38\n" 
     128"                BL      sub_FFA424F4\n" // MovWriter.c 0 
     129"                CMP     R0, #0\n" 
     130"                MOV     R5, #1\n" 
     131"                BNE     loc_FF92F010\n" 
     132"                LDR     R1, [R6,#0x28]\n" 
     133"                CMP     R1, #1\n" 
     134"                BNE     loc_FF92F0F8\n" 
     135"                LDR     R1, [R6,#0x4C]\n" 
     136"                LDR     R2, [R6,#0x3C]\n" 
     137"                CMP     R1, R2\n" 
     138"                BCC     loc_FF92F0F8\n" 
     139"loc_FF92F010:\n" 
     140"                CMP     R0, #0x80000001\n" 
     141"                STREQ   R8, [R6,#0x50]\n" 
     142"                BEQ     loc_FF92F048\n" 
     143"                CMP     R0, #0x80000003\n" 
     144"                STREQ   R5, [R6,#0x50]\n" 
     145"                BEQ     loc_FF92F048\n" 
     146"                CMP     R0, #0x80000005\n" 
     147"                MOVEQ   R0, #2\n" 
     148"                BEQ     loc_FF92F044\n" 
     149"                CMP     R0, #0x80000007\n" 
     150"                STRNE   R7, [R6,#0x50]\n" 
     151"                BNE     loc_FF92F048\n" 
     152"                MOV     R0, #3\n" 
     153"loc_FF92F044:\n" 
     154"                STR     R0, [R6,#0x50]\n" 
     155"loc_FF92F048:\n" 
     156"                LDR     R0, =0x4B29C\n" 
     157"                LDR     R0, [R0,#8]\n" 
     158"                CMP     R0, #0\n" 
     159"                BEQ     loc_FF92F060\n" 
     160"                BL      sub_FF8486D8\n" 
     161"                B       loc_FF92F064\n" 
     162"loc_FF92F060:\n" 
     163"                BL      sub_FF92E814\n" // MovieRecorder.c 100 
     164"loc_FF92F064:\n" 
     165"                LDR     R0, [R4,#0x1C]\n" 
     166"                LDR     R1, [R4,#0x20]\n" 
     167"                ADD     R3, SP, #0x3C\n" 
     168"                MVN     R2, #1\n" 
     169"                ADD     R7, SP, #0x18\n" 
     170"                STMIA   R7, {R0-R3}\n" 
     171"                LDR     R2, [R6,#0x64]\n" 
     172"                LDR     R3, [R6,#0x68]\n" 
     173"                MOV     R0, #0\n" 
     174"                ADD     R1, SP, #0x40\n" 
     175"                ADD     R7, SP, #8\n" 
     176"                STMIA   R7, {R0-R3}\n" 
     177"                MOV     R3, #0\n" 
     178"                MOV     R2, #0x40\n" 
     179"                STRD    R2, [SP]\n" 
     180"                LDMIB   R4, {R0,R1}\n" 
     181"                LDR     R3, =0x4B2B4\n" 
     182"                MOV     R2, R9\n" 
     183"                BL      sub_FFA05D9C\n" 
     184"                LDR     R0, [R6,#0x10]\n" 
     185"                MOV     R1, #0x3E8\n" 
     186"                BL      sub_FF82704C\n" // TakeSemaphore 
     187"                CMP     R0, #9\n" 
     188"                BEQ     loc_FF92F17C\n" 
     189"                LDR     R0, [SP,#0x3C]\n" 
     190"                CMP     R0, #0\n" 
     191"                BNE     loc_FF92F198\n" 
     192"                MOV     R0, #1\n" 
     193"                BL      sub_FFA05E44\n" 
     194"                BL      sub_FFA05E80\n" 
     195"                MOV     R0, #5\n" 
     196"                STR     R0, [R6,#0x38]\n" 
     197"loc_FF92F0E4:\n" 
     198"                ADD     SP, SP, #0x44\n" 
     199"                LDMFD   SP!, {R4-R9,PC}\n" 
     200"loc_FF92F0EC:\n" 
     201"                BL      sub_FF877FFC\n" // HardwareDefect 
     202"                MOV     R0, #1\n" 
     203"                B       loc_FF92F238\n" 
     204"loc_FF92F0F8:\n" 
     205"                LDR     R12, [SP,#0x34]\n" 
     206"                CMP     R12, #0\n" 
     207"                BEQ     loc_FF92F298\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,#0x38]\n" 
     213"                BNE     loc_FF92F1C4\n" 
     214"                LDR     R0, [R4,#0x1C]\n" 
     215"                LDR     R1, [R4,#0x20]\n" 
     216"                ADD     R3, SP, #0x3C\n" 
     217"                MVN     R2, #0\n" 
     218"                ADD     R9, SP, #0x18\n" 
     219"                STMIA   R9, {R0-R3}\n" 
     220"                LDR     R0, [SP,#0x2C]\n" 
     221"                LDR     R2, [R6,#0x64]\n" 
     222"                LDR     R3, [R6,#0x68]\n" 
     223"                ADD     R1, SP, #0x40\n" 
     224"                ADD     R9, SP, #8\n" 
     225"                STMIA   R9, {R0-R3}\n" 
     226"                LDR     R3, [SP,#0x30]\n" 
     227"                STR     R12, [SP]\n" 
     228"                STR     R3, [SP,#4]\n" 
     229"                LDMIB   R4, {R0,R1}\n" 
     230"                LDR     R3, [SP,#0x38]\n" 
     231"                MOV     R2, R8\n" 
     232"                BL      sub_FFA05D9C\n" 
     233"                LDR     R0, [R6,#0x10]\n" 
     234"                MOV     R1, #0x3E8\n" 
     235"                BL      sub_FF82704C\n" // TakeSemaphore 
     236"                CMP     R0, #9\n" 
     237"                BNE     loc_FF92F18C\n" 
     238"loc_FF92F17C:\n" 
     239"                BL      sub_FFA429C0\n" 
     240"                MOV     R0, #0x90000\n" 
     241"                STR     R5, [R6,#0x38]\n" 
     242"                B       loc_FF92F0EC\n" 
     243"loc_FF92F18C:\n" 
     244"                LDR     R0, [SP,#0x3C]\n" 
     245"                CMP     R0, #0\n" 
     246"                BEQ     loc_FF92F1A8\n" 
     247"loc_FF92F198:\n" 
     248"                BL      sub_FFA429C0\n" 
     249"                MOV     R0, #0xA0000\n" 
     250"                STR     R5, [R6,#0x38]\n" 
     251"                B       loc_FF92F0EC\n" 
     252"loc_FF92F1A8:\n" 
     253"                MOV     R0, #1\n" 
     254"                BL      sub_FFA05E44\n" 
     255"                LDR     R0, [SP,#0x40]\n" 
     256"                LDR     R1, [SP,#0x38]\n" 
     257"                ADD     LR, R1, R0\n" 
     258"                LDR     R1, [SP,#0x34]\n" 
     259"                SUB     R12, R1, R0\n" 
     260"loc_FF92F1C4:\n" 
     261"                LDR     R0, [R4,#0x1C]\n" 
     262"                LDR     R2, [R6,#0x48]\n" 
     263"                LDR     R1, [R4,#0x20]\n" 
     264"                ADD     R3, SP, #0x3C\n" 
     265"                ADD     R9, SP, #0x18\n" 
     266"                STMIA   R9, {R0-R3}\n" 
     267"                LDR     R0, [SP,#0x2C]\n" 
     268"                LDR     R2, [R6,#0x64]\n" 
     269"                LDR     R3, [R6,#0x68]\n" 
     270"                ADD     R1, SP, #0x40\n" 
     271"                ADD     R9, SP, #8\n" 
     272"                STMIA   R9, {R0-R3}\n" 
     273"                LDR     R3, [SP,#0x30]\n" 
     274"                STR     R12, [SP]\n" 
     275"                STR     R3, [SP,#4]\n" 
     276"                LDMIB   R4, {R0,R1}\n" 
     277"                MOV     R3, LR\n" 
     278"                MOV     R2, R8\n" 
     279"                BL      sub_FFA05D9C\n" 
     280"                LDR     R0, [R6,#0x10]\n" 
     281"                MOV     R1, #0x3E8\n" 
     282"                BL      sub_FF82704C\n" // TakeSemaphore 
     283"                CMP     R0, #9\n" 
     284"                BNE     loc_FF92F240\n" 
     285"                BL      sub_FFA429C0\n" 
     286"                MOV     R0, #0x90000\n" 
     287"                STR     R5, [R6,#0x38]\n" 
     288"                BL      sub_FF877FFC\n" // HardwareDefect 
     289"                MOV     R0, #0\n" 
     290"loc_FF92F238:\n" 
     291"                BL      sub_FFA05E44\n" 
     292"                B       loc_FF92F0E4\n" 
     293"loc_FF92F240:\n" 
     294"                LDR     R0, [SP,#0x3C]\n" 
     295"                CMP     R0, #0\n" 
     296"                BEQ     loc_FF92F260\n" 
     297"                BL      sub_FFA429C0\n" 
     298"                MOV     R0, #0xA0000\n" 
     299"                STR     R5, [R6,#0x38]\n" 
     300"                BL      sub_FF877FFC\n" // HardwareDefect 
     301"                B       loc_FF92F0E4\n" 
     302"loc_FF92F260:\n" 
     303"                MOV     R0, #0\n" 
     304"                BL      sub_FFA05E44\n" 
     305"                LDR     R0, [SP,#0x38]\n" 
     306"                LDR     R1, [SP,#0x40]\n" 
     307"                BL      sub_FFA4271C\n" // MovWriter.c 0 
     308"                LDR     R0, [R6,#0x48]\n" 
     309"                LDR     R3, =0x6010\n" 
     310"                ADD     R1, R0, #1\n" 
     311"                STR     R1, [R6,#0x48]\n" 
     312"                STR     R3, [SP]\n" 
     313"                LDR     R0, [SP,#0x40]\n" 
     314"                SUB     R3, R3, #4\n" 
     315"                MOV     R2, #0xF\n" 
     316"                BL      sub_FFA40A14\n" 
     317"                LDR     R0, =0x6010-4\n" // + 
     318"                BL      set_quality\n" // + 
     319"loc_FF92F298:\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_FFACE280\n" 
     327"                MOV     R4, R0\n" 
     328"                BL      sub_FFA429F8\n" 
     329"                LDR     R1, [R6,#0x6C]\n" 
     330"                CMP     R1, R4\n" 
     331"                BNE     loc_FF92F2D4\n" 
     332"                LDR     R0, [R6,#0x30]\n" 
     333"                CMP     R0, #1\n" 
     334"                BNE     loc_FF92F2E8\n" 
     335"loc_FF92F2D4:\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_FF92F2E8:\n" 
     342"                STR     R7, [R6,#0x2C]\n" 
     343"                B       loc_FF92F0E4\n" 
     344 ); 
     345} 
Note: See TracChangeset for help on using the changeset viewer.