apps/recorder/resize.o: file format elf32-littlearm Disassembly of section .text: 00000000 : scale_h_area_setup(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:105 /* Set up rounding and scale factors for horizontal area scaler */ static void scale_h_area_setup(struct bitmap *bm, struct dim *src, struct scaler_context *ctx) { 0: e92d4030 stmdb sp!, {r4, r5, lr} 4: e1a04001 mov r4, r1 8: e1a05002 mov r5, r2 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:108 (void) bm; /* sum is output value * src->width */ ctx->divmul = ((src->width - 1 + 0x80000000U) / src->width) << 1; c: e1d110f0 ldrsh r1, [r1] 10: e2410106 sub r0, r1, #-2147483647 ; 0x80000001 14: e59f3020 ldr r3, [pc, #32] ; 3c <.text+0x3c> 18: e1a0e00f mov lr, pc 1c: e12fff13 bx r3 20: e1a00080 mov r0, r0, lsl #1 24: e5850000 str r0, [r5] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:109 ctx->round = (src->width + 1) >> 1; 28: e1d430f0 ldrsh r3, [r4] 2c: e2833001 add r3, r3, #1 ; 0x1 30: e1a030c3 mov r3, r3, asr #1 34: e5853004 str r3, [r5, #4] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:110 } 38: e8bd8030 ldmia sp!, {r4, r5, pc} 3c: 00000000 andeq r0, r0, r0 3c: R_ARM_ABS32 __udivsi3 00000040 : scale_h_area(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:116 /* horizontal area average scaler */ static bool scale_h_area(struct bitmap *bm, struct dim *src, struct uint32_rgb *out_line, struct scaler_context *ctx, bool accum) { 40: e92d4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 44: e24dd028 sub sp, sp, #40 ; 0x28 48: e1a09000 mov r9, r0 4c: e58d1008 str r1, [sp, #8] 50: e58d2004 str r2, [sp, #4] 54: e1a06003 mov r6, r3 58: e5dd104c ldrb r1, [sp, #76] 5c: e58d1000 str r1, [sp] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:122 SDEBUGF("scale_h_area\n"); unsigned int ix, ox, oxe, mul; struct uint32_rgb rgbvalacc = { 0, 0, 0 }, rgbvaltmp = { 0, 0, 0 }; struct img_part *part; FILL_BUF_INIT(part,ctx->store_part,ctx->args); 60: e5930018 ldr r0, [r3, #24] 64: e1a0e00f mov lr, pc 68: e593f008 ldr pc, [r3, #8] 6c: e2505000 subs r5, r0, #0 ; 0x0 70: 1a0000b3 bne 2d4 70: R_ARM_PC24 .text 74: ea0000af b 2c4 74: R_ARM_PC24 .text 78: e3a02000 mov r2, #0 ; 0x0 7c: e58d200c str r2, [sp, #12] 80: e58d2010 str r2, [sp, #16] 84: e1a0b002 mov fp, r2 88: e1a07002 mov r7, r2 8c: e58d2024 str r2, [sp, #36] 90: e58d2020 str r2, [sp, #32] 94: e1a08002 mov r8, r2 98: e58d2014 str r2, [sp, #20] 9c: e58d2018 str r2, [sp, #24] a0: e58d201c str r2, [sp, #28] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:128 ox = 0; oxe = 0; mul = 0; for (ix = 0; ix < (unsigned int)src->width; ix++) { oxe += bm->width; a4: e5993000 ldr r3, [r9] a8: e59da010 ldr sl, [sp, #16] ac: e08aa003 add sl, sl, r3 b0: e58da010 str sl, [sp, #16] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:130 /* end of current area has been reached */ if (oxe >= (unsigned int)src->width) b4: e151000a cmp r1, sl b8: 8a000091 bhi 24c b8: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:133 { /* yield if we haven't since last tick */ if (ctx->last_tick != current_tick) bc: e59f4234 ldr r4, [pc, #564] ; 2f8 <.text+0x2f8> c0: e5942000 ldr r2, [r4] c4: e596300c ldr r3, [r6, #12] c8: e1530002 cmp r3, r2 cc: 0a000037 beq e4 cc: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:135 { yield(); d0: e59f3224 ldr r3, [pc, #548] ; 2fc <.text+0x2fc> d4: e1a0e00f mov lr, pc d8: e12fff13 bx r3 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:136 ctx->last_tick = current_tick; dc: e5943000 ldr r3, [r4] e0: e586300c str r3, [r6, #12] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:141 } /* "reset" error, which now represents partial coverage of next pixel by the next area */ oxe -= src->width; e4: e59dc008 ldr ip, [sp, #8] e8: e1dc30f0 ldrsh r3, [ip] ec: e59d1010 ldr r1, [sp, #16] f0: e0631001 rsb r1, r3, r1 f4: e58d1010 str r1, [sp, #16] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:143 /* add saved partial pixel from start of area */ rgbvalacc.r = rgbvalacc.r * bm->width + rgbvaltmp.r * mul; f8: e5992000 ldr r2, [r9] fc: e59d301c ldr r3, [sp, #28] 100: e003039b mul r3, fp, r3 104: e02a3892 mla sl, r2, r8, r3 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:144 rgbvalacc.g = rgbvalacc.g * bm->width + rgbvaltmp.g * mul; 108: e59d3018 ldr r3, [sp, #24] 10c: e003039b mul r3, fp, r3 110: e59d8020 ldr r8, [sp, #32] 114: e0283892 mla r8, r2, r8, r3 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:145 rgbvalacc.b = rgbvalacc.b * bm->width + rgbvaltmp.b * mul; 118: e59d3014 ldr r3, [sp, #20] 11c: e003039b mul r3, fp, r3 120: e59d4024 ldr r4, [sp, #36] 124: e0243492 mla r4, r2, r4, r3 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:147 /* fill buffer if needed */ FILL_BUF(part,ctx->store_part,ctx->args); 128: e5953000 ldr r3, [r5] 12c: e3530000 cmp r3, #0 ; 0x0 130: 1a00004f bne 144 130: R_ARM_PC24 .text 134: e5960018 ldr r0, [r6, #24] 138: e1a0e00f mov lr, pc 13c: e596f008 ldr pc, [r6, #8] 140: e1a05000 mov r5, r0 144: e3550000 cmp r5, #0 ; 0x0 148: 0a0000af beq 2c4 148: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:149 /* get new pixel , then add its partial coverage to this area */ rgbvaltmp.r = part->buf->red; 14c: e5953004 ldr r3, [r5, #4] 150: e5d32002 ldrb r2, [r3, #2] 154: e58d201c str r2, [sp, #28] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:150 rgbvaltmp.g = part->buf->green; 158: e5d3b001 ldrb fp, [r3, #1] 15c: e58db018 str fp, [sp, #24] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:151 rgbvaltmp.b = part->buf->blue; 160: e4d3c004 ldrb ip, [r3], #4 164: e58dc014 str ip, [sp, #20] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:152 part->buf++; 168: e5853004 str r3, [r5, #4] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:153 part->len--; 16c: e5953000 ldr r3, [r5] 170: e2433001 sub r3, r3, #1 ; 0x1 174: e5853000 str r3, [r5] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:154 mul = bm->width - oxe; 178: e5993000 ldr r3, [r9] 17c: e59d1010 ldr r1, [sp, #16] 180: e0610003 rsb r0, r1, r3 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:155 rgbvalacc.r += rgbvaltmp.r * mul; 184: e59d201c ldr r2, [sp, #28] 188: e022a290 mla r2, r0, r2, sl /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:156 rgbvalacc.g += rgbvaltmp.g * mul; 18c: e1a0e00b mov lr, fp 190: e02e8e90 mla lr, r0, lr, r8 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:157 rgbvalacc.b += rgbvaltmp.b * mul; 194: e1a0800c mov r8, ip 198: e0284890 mla r8, r0, r8, r4 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:159 /* round, divide, and either store or accumulate to output row */ out_line[ox].r = (accum ? out_line[ox].r : 0) + 19c: e59da00c ldr sl, [sp, #12] 1a0: e08a308a add r3, sl, sl, lsl #1 1a4: e59db004 ldr fp, [sp, #4] 1a8: e08b1103 add r1, fp, r3, lsl #2 1ac: e59dc000 ldr ip, [sp] 1b0: e35c0000 cmp ip, #0 ; 0x0 1b4: 1591c000 ldrne ip, [r1] 1b8: e5963004 ldr r3, [r6, #4] 1bc: e0823003 add r3, r2, r3 1c0: e5962000 ldr r2, [r6] 1c4: e08ba293 umull sl, fp, r3, r2 1c8: e08c300b add r3, ip, fp 1cc: e5813000 str r3, [r1] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:162 ((rgbvalacc.r + ctx->round) * (uint64_t)ctx->divmul >> 32); out_line[ox].g = (accum ? out_line[ox].g : 0) + 1d0: e59db000 ldr fp, [sp] 1d4: e35b0000 cmp fp, #0 ; 0x0 1d8: 01a0c00b moveq ip, fp 1dc: 1591c004 ldrne ip, [r1, #4] 1e0: e5963004 ldr r3, [r6, #4] 1e4: e08e3003 add r3, lr, r3 1e8: e5962000 ldr r2, [r6] 1ec: e08ba293 umull sl, fp, r3, r2 1f0: e08c300b add r3, ip, fp 1f4: e5813004 str r3, [r1, #4] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:165 ((rgbvalacc.g + ctx->round) * (uint64_t)ctx->divmul >> 32); out_line[ox].b = (accum ? out_line[ox].b : 0) + 1f8: e59db000 ldr fp, [sp] 1fc: e35b0000 cmp fp, #0 ; 0x0 200: 01a0c00b moveq ip, fp 204: 1591c008 ldrne ip, [r1, #8] 208: e5963004 ldr r3, [r6, #4] 20c: e0883003 add r3, r8, r3 210: e5962000 ldr r2, [r6] 214: e08ba293 umull sl, fp, r3, r2 218: e3a04000 mov r4, #0 ; 0x0 21c: e08c300b add r3, ip, fp 220: e5813008 str r3, [r1, #8] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:172 ((rgbvalacc.b + ctx->round) * (uint64_t)ctx->divmul >> 32); /* reset accumulator */ rgbvalacc.r = 0; rgbvalacc.g = 0; rgbvalacc.b = 0; mul = bm->width - mul; 224: e5993000 ldr r3, [r9] 228: e060b003 rsb fp, r0, r3 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:173 ox += 1; 22c: e59dc00c ldr ip, [sp, #12] 230: e28cc001 add ip, ip, #1 ; 0x1 234: e58dc00c str ip, [sp, #12] 238: e3a01000 mov r1, #0 ; 0x0 23c: e58d1024 str r1, [sp, #36] 240: e58d1020 str r1, [sp, #32] 244: e1a08001 mov r8, r1 248: ea0000a9 b 2ac 248: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:177 /* inside an area */ } else { /* fill buffer if needed */ FILL_BUF(part,ctx->store_part,ctx->args); 24c: e5953000 ldr r3, [r5] 250: e3530000 cmp r3, #0 ; 0x0 254: 1a000098 bne 268 254: R_ARM_PC24 .text 258: e5960018 ldr r0, [r6, #24] 25c: e1a0e00f mov lr, pc 260: e596f008 ldr pc, [r6, #8] 264: e1a05000 mov r5, r0 268: e3550000 cmp r5, #0 ; 0x0 26c: 0a0000af beq 2c4 26c: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:179 /* add pixel value to accumulator */ rgbvalacc.r += part->buf->red; 270: e5953004 ldr r3, [r5, #4] 274: e5d32002 ldrb r2, [r3, #2] 278: e0888002 add r8, r8, r2 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:180 rgbvalacc.g += part->buf->green; 27c: e5d32001 ldrb r2, [r3, #1] 280: e59da020 ldr sl, [sp, #32] 284: e08aa002 add sl, sl, r2 288: e58da020 str sl, [sp, #32] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:181 rgbvalacc.b += part->buf->blue; 28c: e4d32004 ldrb r2, [r3], #4 290: e59dc024 ldr ip, [sp, #36] 294: e08cc002 add ip, ip, r2 298: e58dc024 str ip, [sp, #36] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:182 part->buf++; 29c: e5853004 str r3, [r5, #4] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:183 part->len--; 2a0: e5953000 ldr r3, [r5] 2a4: e2433001 sub r3, r3, #1 ; 0x1 2a8: e5853000 str r3, [r5] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:126 2ac: e2877001 add r7, r7, #1 ; 0x1 2b0: e59d2008 ldr r2, [sp, #8] 2b4: e1d210f0 ldrsh r1, [r2] 2b8: e1570001 cmp r7, r1 2bc: 2a0000b1 bcs 2cc 2bc: R_ARM_PC24 .text 2c0: ea000027 b a4 2c0: R_ARM_PC24 .text 2c4: e3a00000 mov r0, #0 ; 0x0 2c8: ea0000ba b 2f0 2c8: R_ARM_PC24 .text 2cc: e3a00001 mov r0, #1 ; 0x1 2d0: ea0000ba b 2f0 2d0: R_ARM_PC24 .text 2d4: e59d3008 ldr r3, [sp, #8] 2d8: e1d320b0 ldrh r2, [r3] 2dc: e1a03802 mov r3, r2, lsl #16 2e0: e1a01843 mov r1, r3, asr #16 2e4: e3520000 cmp r2, #0 ; 0x0 2e8: 1a00001c bne 78 2e8: R_ARM_PC24 .text 2ec: ea0000b1 b 2cc 2ec: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:187 } } return true; } 2f0: e28dd028 add sp, sp, #40 ; 0x28 2f4: e8bd8ff0 ldmia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} ... 2f8: R_ARM_ABS32 current_tick 2fc: R_ARM_ABS32 yield 00000300 : scale_v_area(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:196 /* vertical area average scaler */ static bool scale_v_area(struct bitmap *bm, bool dither, struct dim *src, struct rowset *rset, bool (*h_scaler)(struct bitmap*, struct dim*, struct uint32_rgb*, struct scaler_context*, bool), struct scaler_context *ctx) { 300: e92d4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 304: e24dd020 sub sp, sp, #32 ; 0x20 308: e1a05000 mov r5, r0 30c: e58d2008 str r2, [sp, #8] 310: e58d3004 str r3, [sp, #4] 314: e20110ff and r1, r1, #255 ; 0xff 318: e58d100c str r1, [sp, #12] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:202 uint32_t mul, divmul, x, oy, iy, oye, round; int delta = 127, r, g, b; fb_data *row, *pix; /* Set up rounding and scale factors */ divmul = ((src->height - 1 + 0x80000000U) / src->height) << 1; 31c: e1d240f2 ldrsh r4, [r2, #2] 320: e2440106 sub r0, r4, #-2147483647 ; 0x80000001 324: e1a01004 mov r1, r4 328: e59f32b0 ldr r3, [pc, #688] ; 5e0 <.text+0x5e0> 32c: e1a0e00f mov lr, pc 330: e12fff13 bx r3 334: e1a00080 mov r0, r0, lsl #1 338: e58d0010 str r0, [sp, #16] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:203 round = (src->height + 1) >> 1; 33c: e2844001 add r4, r4, #1 ; 0x1 340: e1a040c4 mov r4, r4, asr #1 344: e58d401c str r4, [sp, #28] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:207 mul = 0; oy = 0; oye = 0; struct uint32_rgb *rowacc = (struct uint32_rgb *)(ctx->buf), 348: e59d2048 ldr r2, [sp, #72] 34c: e5926010 ldr r6, [r2, #16] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:208 *rowtmp = rowacc + bm->width; 350: e5952000 ldr r2, [r5] 354: e0822082 add r2, r2, r2, lsl #1 358: e0867102 add r7, r6, r2, lsl #2 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:212 SDEBUGF("scale_v_area\n"); /* zero the accumulator and temp rows */ memset((void *)ctx->buf, 0, bm->width * 2 * sizeof(struct uint32_rgb)); 35c: e1a00006 mov r0, r6 360: e3a01000 mov r1, #0 ; 0x0 364: e1a02182 mov r2, r2, lsl #3 368: e59f3274 ldr r3, [pc, #628] ; 5e4 <.text+0x5e4> 36c: e1a0e00f mov lr, pc 370: e12fff13 bx r3 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:213 row = (fb_data *)(bm->data) + bm->width * rset->rowstart; 374: e59d3004 ldr r3, [sp, #4] 378: e1d320f2 ldrsh r2, [r3, #2] 37c: e5953000 ldr r3, [r5] 380: e0020293 mul r2, r3, r2 384: e5953010 ldr r3, [r5, #16] 388: e0839082 add r9, r3, r2, lsl #1 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:214 for (iy = 0; iy < (unsigned int)src->height; iy++) 38c: e59db008 ldr fp, [sp, #8] 390: e1db10b2 ldrh r1, [fp, #2] 394: e1a03801 mov r3, r1, lsl #16 398: e1a02843 mov r2, r3, asr #16 39c: e3510000 cmp r1, #0 ; 0x0 3a0: 0a000173 beq 5d4 3a0: R_ARM_PC24 .text 3a4: e3a0807f mov r8, #127 ; 0x7f 3a8: e3a04000 mov r4, #0 ; 0x0 3ac: e58d4014 str r4, [sp, #20] 3b0: e1a0a004 mov sl, r4 3b4: e58d4018 str r4, [sp, #24] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:216 { oye += bm->height; 3b8: e5953004 ldr r3, [r5, #4] 3bc: e08aa003 add sl, sl, r3 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:218 /* end of current area has been reached */ if (oye >= (unsigned int)src->height) 3c0: e152000a cmp r2, sl 3c4: 8a00015b bhi 574 3c4: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:223 { /* "reset" error, which now represents partial coverage of the next row by the next area */ oye -= src->height; 3c8: e1a03801 mov r3, r1, lsl #16 3cc: e04aa843 sub sl, sl, r3, asr #16 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:225 /* add stored partial row to accumulator */ for (x = 0; x < 3 *(unsigned int)bm->width; x++) 3d0: e5953000 ldr r3, [r5] 3d4: e0833083 add r3, r3, r3, lsl #1 3d8: e3530000 cmp r3, #0 ; 0x0 3dc: 0a000104 beq 418 3dc: R_ARM_PC24 .text 3e0: e3a0c000 mov ip, #0 ; 0x0 3e4: e1a0000c mov r0, ip /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:226 ((uint32_t*)rowacc)[x] = ((uint32_t*)rowacc)[x] * 3e8: e7901006 ldr r1, [r0, r6] 3ec: e5952004 ldr r2, [r5, #4] 3f0: e7903007 ldr r3, [r0, r7] 3f4: e0030394 mul r3, r4, r3 3f8: e0233192 mla r3, r2, r1, r3 3fc: e7803006 str r3, [r0, r6] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:225 400: e28cc001 add ip, ip, #1 ; 0x1 404: e2800004 add r0, r0, #4 ; 0x4 408: e5953000 ldr r3, [r5] 40c: e0833083 add r3, r3, r3, lsl #1 410: e153000c cmp r3, ip 414: 8a0000f8 bhi 3e8 414: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:230 bm->height + mul * ((uint32_t*)rowtmp)[x]; /* store new scaled row in temp row */ if(!h_scaler(bm, src, rowtmp, ctx, false)) 418: e3a04000 mov r4, #0 ; 0x0 41c: e58d4000 str r4, [sp] 420: e1a00005 mov r0, r5 424: e59d1008 ldr r1, [sp, #8] 428: e1a02007 mov r2, r7 42c: e59d3048 ldr r3, [sp, #72] 430: e59dc044 ldr ip, [sp, #68] 434: e1a0e00f mov lr, pc 438: e12fff1c bx ip 43c: e1500004 cmp r0, r4 440: 0a000171 beq 5cc 440: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:235 return false; /* add partial coverage by new row to this area, then round and scale to final value */ mul = bm->height - oye; 444: e5953004 ldr r3, [r5, #4] 448: e06ae003 rsb lr, sl, r3 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:236 for (x = 0; x < 3 *(unsigned int)bm->width; x++) 44c: e5953000 ldr r3, [r5] 450: e0833083 add r3, r3, r3, lsl #1 454: e1530004 cmp r3, r4 458: 0a000125 beq 49c 458: R_ARM_PC24 .text 45c: e1a00004 mov r0, r4 460: e1a01004 mov r1, r4 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:239 { ((uint32_t*)rowacc)[x] += mul * ((uint32_t*)rowtmp)[x]; ((uint32_t*)rowacc)[x] = (round + 464: e7912007 ldr r2, [r1, r7] 468: e7913006 ldr r3, [r1, r6] 46c: e0233e92 mla r3, r2, lr, r3 470: e59d201c ldr r2, [sp, #28] 474: e0823003 add r3, r2, r3 478: e59d2010 ldr r2, [sp, #16] 47c: e08cb293 umull fp, ip, r3, r2 480: e781c006 str ip, [r1, r6] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:236 484: e2800001 add r0, r0, #1 ; 0x1 488: e2811004 add r1, r1, #4 ; 0x4 48c: e5953000 ldr r3, [r5] 490: e0833083 add r3, r3, r3, lsl #1 494: e1530000 cmp r3, r0 498: 8a000117 bhi 464 498: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:245 ((uint32_t*)rowacc)[x]) * (uint64_t)divmul >> 32; } /* convert to RGB565 in output bitmap */ pix = row; for (x = 0; x < (unsigned int)bm->width; x++) 49c: e5953000 ldr r3, [r5] 4a0: e3530000 cmp r3, #0 ; 0x0 4a4: 0a00014a beq 530 4a4: R_ARM_PC24 .text 4a8: e1a0e006 mov lr, r6 4ac: e3a04000 mov r4, #0 ; 0x0 4b0: e59d3014 ldr r3, [sp, #20] 4b4: e203200f and r2, r3, #15 ; 0xf 4b8: e59f3128 ldr r3, [pc, #296] ; 5e8 <.text+0x5e8> 4bc: e083b202 add fp, r3, r2, lsl #4 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:247 { if (dither) 4c0: e59dc00c ldr ip, [sp, #12] 4c4: e35c0000 cmp ip, #0 ; 0x0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:248 delta = dither_mat(x & 0xf, oy & 0xf); 4c8: 1204300f andne r3, r4, #15 ; 0xf 4cc: 17db8003 ldrneb r8, [fp, r3] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:249 r = PACKRB(rowacc[x].r,delta); 4d0: e59e3000 ldr r3, [lr] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:250 g = PACKG(rowacc[x].g,delta); 4d4: e59e1004 ldr r1, [lr, #4] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:251 b = PACKRB(rowacc[x].b,delta); 4d8: e59e0008 ldr r0, [lr, #8] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:252 *pix++ = LCD_RGBPACK_LCD(r, g, b); 4dc: e1a0c084 mov ip, r4, lsl #1 4e0: e0632283 rsb r2, r3, r3, lsl #5 4e4: e08221a3 add r2, r2, r3, lsr #3 4e8: e0822008 add r2, r2, r8 4ec: e1a02422 mov r2, r2, lsr #8 4f0: e0613301 rsb r3, r1, r1, lsl #6 4f4: e0833121 add r3, r3, r1, lsr #2 4f8: e0883003 add r3, r8, r3 4fc: e1a03423 mov r3, r3, lsr #8 500: e1a03283 mov r3, r3, lsl #5 504: e1833582 orr r3, r3, r2, lsl #11 508: e0602280 rsb r2, r0, r0, lsl #5 50c: e08221a0 add r2, r2, r0, lsr #3 510: e0882002 add r2, r8, r2 514: e1833422 orr r3, r3, r2, lsr #8 518: e18c30b9 strh r3, [ip, r9] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:245 51c: e2844001 add r4, r4, #1 ; 0x1 520: e5953000 ldr r3, [r5] 524: e28ee00c add lr, lr, #12 ; 0xc 528: e1530004 cmp r3, r4 52c: 8a00012e bhi 4c0 52c: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:255 } /* clear accumulator row, store partial coverage for next row */ memset((void *)rowacc, 0, bm->width * sizeof(struct uint32_rgb)); 530: e0832083 add r2, r3, r3, lsl #1 534: e1a00006 mov r0, r6 538: e3a01000 mov r1, #0 ; 0x0 53c: e1a02102 mov r2, r2, lsl #2 540: e59f309c ldr r3, [pc, #156] ; 5e4 <.text+0x5e4> 544: e1a0e00f mov lr, pc 548: e12fff13 bx r3 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:257 mul = oye; row += bm->width * rset->rowstep; 54c: e59d3004 ldr r3, [sp, #4] 550: e1d320f0 ldrsh r2, [r3] 554: e5953000 ldr r3, [r5] 558: e0030392 mul r3, r2, r3 55c: e0899083 add r9, r9, r3, lsl #1 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:258 oy += 1; 560: e59db014 ldr fp, [sp, #20] 564: e28bb001 add fp, fp, #1 ; 0x1 568: e58db014 str fp, [sp, #20] 56c: e1a0400a mov r4, sl 570: ea000166 b 5a0 570: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:262 /* inside an area */ } else { /* accumulate new scaled row to rowacc */ if (!h_scaler(bm, src, rowacc, ctx, true)) 574: e3a03001 mov r3, #1 ; 0x1 578: e58d3000 str r3, [sp] 57c: e1a00005 mov r0, r5 580: e59d1008 ldr r1, [sp, #8] 584: e1a02006 mov r2, r6 588: e59d3048 ldr r3, [sp, #72] 58c: e59dc044 ldr ip, [sp, #68] 590: e1a0e00f mov lr, pc 594: e12fff1c bx ip 598: e3500000 cmp r0, #0 ; 0x0 59c: 0a000171 beq 5cc 59c: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:214 5a0: e59d2018 ldr r2, [sp, #24] 5a4: e2822001 add r2, r2, #1 ; 0x1 5a8: e58d2018 str r2, [sp, #24] 5ac: e59d3008 ldr r3, [sp, #8] 5b0: e1d310b2 ldrh r1, [r3, #2] 5b4: e1a03801 mov r3, r1, lsl #16 5b8: e1a02843 mov r2, r3, asr #16 5bc: e59db018 ldr fp, [sp, #24] 5c0: e15b0002 cmp fp, r2 5c4: 2a000173 bcs 5d4 5c4: R_ARM_PC24 .text 5c8: ea0000ec b 3b8 5c8: R_ARM_PC24 .text 5cc: e3a00000 mov r0, #0 ; 0x0 5d0: ea000174 b 5d8 5d0: R_ARM_PC24 .text 5d4: e3a00001 mov r0, #1 ; 0x1 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:267 return false; } } return true; } 5d8: e28dd020 add sp, sp, #32 ; 0x20 5dc: e8bd8ff0 ldmia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} ... 5e0: R_ARM_ABS32 __udivsi3 5e4: R_ARM_ABS32 memset 5e8: R_ARM_ABS32 dither_matrix 000005ec : scale_h_linear_setup(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:276 #ifdef HAVE_UPSCALER /* Set up rounding and scale factors for the horizontal scaler. The divisor is bm->width - 1, so that the first and last pixels in the row align exactly between input and output */ static void scale_h_linear_setup(struct bitmap *bm, struct dim *src, struct scaler_context *ctx) { 5ec: e92d4030 stmdb sp!, {r4, r5, lr} 5f0: e1a04000 mov r4, r0 5f4: e1a05002 mov r5, r2 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:278 (void) src; ctx->divmul = ((bm->width - 2 + 0x80000000U) / (bm->width - 1)) << 1; 5f8: e5901000 ldr r1, [r0] 5fc: e241010a sub r0, r1, #-2147483646 ; 0x80000002 600: e2411001 sub r1, r1, #1 ; 0x1 604: e59f301c ldr r3, [pc, #28] ; 628 <.text+0x628> 608: e1a0e00f mov lr, pc 60c: e12fff13 bx r3 610: e1a00080 mov r0, r0, lsl #1 614: e5850000 str r0, [r5] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:279 ctx->round = bm->width >> 1; 618: e5943000 ldr r3, [r4] 61c: e1a030c3 mov r3, r3, asr #1 620: e5853004 str r3, [r5, #4] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:280 } 624: e8bd8030 ldmia sp!, {r4, r5, pc} 628: 00000000 andeq r0, r0, r0 628: R_ARM_ABS32 __udivsi3 0000062c : scale_h_linear(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:286 /* horizontal linear scaler */ static bool scale_h_linear(struct bitmap *bm, struct dim *src, struct uint32_rgb *out_line, struct scaler_context *ctx, bool accum) { 62c: e92d4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 630: e24dd028 sub sp, sp, #40 ; 0x28 634: e58d000c str r0, [sp, #12] 638: e58d1008 str r1, [sp, #8] 63c: e1a04002 mov r4, r2 640: e1a05003 mov r5, r3 644: e5dd904c ldrb r9, [sp, #76] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:295 unsigned int ix, ox, ixe; /* type x = x is an ugly hack for hiding an unitialized data warning. The values are conditionally initialized before use, but other values are set such that this will occur before these are used. */ struct uint32_rgb rgbval=rgbval, rgbinc=rgbinc; struct img_part *part; SDEBUGF("scale_h_linear\n"); FILL_BUF_INIT(part,ctx->store_part,ctx->args); 648: e5930018 ldr r0, [r3, #24] 64c: e1a0e00f mov lr, pc 650: e593f008 ldr pc, [r3, #8] 654: e3500000 cmp r0, #0 ; 0x0 658: e58d0018 str r0, [sp, #24] 65c: 0a000222 beq 890 65c: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:298 ix = 0; /* The error is set so that values are initialized on the first pass. */ ixe = bm->width - 1; 660: e59d200c ldr r2, [sp, #12] 664: e5923000 ldr r3, [r2] 668: e2436001 sub r6, r3, #1 ; 0x1 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:299 for (ox = 0; ox < (uint32_t)bm->width; ox++) { 66c: e3530000 cmp r3, #0 ; 0x0 670: 0a000224 beq 898 670: R_ARM_PC24 .text 674: e1a0a004 mov sl, r4 678: e3a07000 mov r7, #0 ; 0x0 67c: e58d7014 str r7, [sp, #20] 680: e58d7010 str r7, [sp, #16] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:300 if (ixe >= ((uint32_t)bm->width - 1)) 684: e2433001 sub r3, r3, #1 ; 0x1 688: e1560003 cmp r6, r3 68c: 3a0001ec bcc 7b8 68c: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:303 { /* yield once each tick */ if (ctx->last_tick != current_tick) 690: e59f420c ldr r4, [pc, #524] ; 8a4 <.text+0x8a4> 694: e5942000 ldr r2, [r4] 698: e595300c ldr r3, [r5, #12] 69c: e1530002 cmp r3, r2 6a0: 0a0001ac beq 6b8 6a0: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:305 { yield(); 6a4: e59f31fc ldr r3, [pc, #508] ; 8a8 <.text+0x8a8> 6a8: e1a0e00f mov lr, pc 6ac: e12fff13 bx r3 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:306 ctx->last_tick = current_tick; 6b0: e5943000 ldr r3, [r4] 6b4: e585300c str r3, [r5, #12] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:311 } /* Store the new "current" pixel value in rgbval, and the color step value in rgbinc. */ ixe -= (bm->width - 1); 6b8: e59d800c ldr r8, [sp, #12] 6bc: e5982000 ldr r2, [r8] 6c0: e0623006 rsb r3, r2, r6 6c4: e2836001 add r6, r3, #1 ; 0x1 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:312 rgbinc.r = -(part->buf->red); 6c8: e59d3018 ldr r3, [sp, #24] 6cc: e593c004 ldr ip, [r3, #4] 6d0: e5dc0002 ldrb r0, [ip, #2] 6d4: e2608000 rsb r8, r0, #0 ; 0x0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:313 rgbinc.g = -(part->buf->green); 6d8: e5dc1001 ldrb r1, [ip, #1] 6dc: e2617000 rsb r7, r1, #0 ; 0x0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:314 rgbinc.b = -(part->buf->blue); 6e0: e5dc3000 ldrb r3, [ip] 6e4: e2634000 rsb r4, r3, #0 ; 0x0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:315 rgbval.r = (part->buf->red) * (bm->width - 1); 6e8: e2422001 sub r2, r2, #1 ; 0x1 6ec: e0000092 mul r0, r2, r0 6f0: e58d0020 str r0, [sp, #32] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:316 rgbval.g = (part->buf->green) * (bm->width - 1); 6f4: e0010192 mul r1, r2, r1 6f8: e58d101c str r1, [sp, #28] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:317 rgbval.b = (part->buf->blue) * (bm->width - 1); 6fc: e00b0392 mul fp, r2, r3 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:318 ix += 1; 700: e59d2010 ldr r2, [sp, #16] 704: e2822001 add r2, r2, #1 ; 0x1 708: e58d2010 str r2, [sp, #16] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:320 /* If this wasn't the last pixel, add the next one to rgbinc. */ if (ix < (uint32_t)src->width) { 70c: e59d2008 ldr r2, [sp, #8] 710: e1d230f0 ldrsh r3, [r2] 714: e59d2010 ldr r2, [sp, #16] 718: e1520003 cmp r2, r3 71c: 2a0001e3 bcs 794 71c: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:321 part->buf++; 720: e28c3004 add r3, ip, #4 ; 0x4 724: e59d2018 ldr r2, [sp, #24] 728: e5823004 str r3, [r2, #4] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:322 part->len--; 72c: e5923000 ldr r3, [r2] 730: e2433001 sub r3, r3, #1 ; 0x1 734: e5823000 str r3, [r2] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:324 /* Fetch new pixels if needed */ FILL_BUF(part,ctx->store_part,ctx->args); 738: e3530000 cmp r3, #0 ; 0x0 73c: 1a0001d2 bne 750 73c: R_ARM_PC24 .text 740: e5950018 ldr r0, [r5, #24] 744: e1a0e00f mov lr, pc 748: e595f008 ldr pc, [r5, #8] 74c: e58d0018 str r0, [sp, #24] 750: e59d3018 ldr r3, [sp, #24] 754: e3530000 cmp r3, #0 ; 0x0 758: 0a000222 beq 890 758: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:325 rgbinc.r += part->buf->red; 75c: e5932004 ldr r2, [r3, #4] 760: e5d23002 ldrb r3, [r2, #2] 764: e0888003 add r8, r8, r3 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:326 rgbinc.g += part->buf->green; 768: e5d23001 ldrb r3, [r2, #1] 76c: e0877003 add r7, r7, r3 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:327 rgbinc.b += part->buf->blue; 770: e5d23000 ldrb r3, [r2] 774: e0844003 add r4, r4, r3 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:331 /* Add a partial step to rgbval, in this pixel isn't precisely aligned with the new source pixel */ rgbval.r += rgbinc.r * ixe; 778: e59d2020 ldr r2, [sp, #32] 77c: e0222698 mla r2, r8, r6, r2 780: e58d2020 str r2, [sp, #32] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:332 rgbval.g += rgbinc.g * ixe; 784: e59d301c ldr r3, [sp, #28] 788: e0233697 mla r3, r7, r6, r3 78c: e58d301c str r3, [sp, #28] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:333 rgbval.b += rgbinc.b * ixe; 790: e02bb694 mla fp, r4, r6, fp /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:336 } /* Now multiple the color increment to its proper value */ rgbinc.r *= src->width - 1; 794: e59d2008 ldr r2, [sp, #8] 798: e1d230f0 ldrsh r3, [r2] 79c: e2433001 sub r3, r3, #1 ; 0x1 7a0: e0080893 mul r8, r3, r8 7a4: e58d8024 str r8, [sp, #36] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:337 rgbinc.g *= src->width - 1; 7a8: e0070793 mul r7, r3, r7 7ac: e58d7004 str r7, [sp, #4] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:338 rgbinc.b *= src->width - 1; 7b0: e0040493 mul r4, r3, r4 7b4: e58d4000 str r4, [sp] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:341 } /* round and scale values, and accumulate or store to output */ out_line[ox].r = (accum ? out_line[ox].r : 0) + 7b8: e3590000 cmp r9, #0 ; 0x0 7bc: 01a00009 moveq r0, r9 7c0: 159a0000 ldrne r0, [sl] 7c4: e5953004 ldr r3, [r5, #4] 7c8: e59d7020 ldr r7, [sp, #32] 7cc: e0873003 add r3, r7, r3 7d0: e5952000 ldr r2, [r5] 7d4: e0887293 umull r7, r8, r3, r2 7d8: e0803008 add r3, r0, r8 7dc: e58a3000 str r3, [sl] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:344 ((rgbval.r + ctx->round) * (uint64_t)ctx->divmul >> 32); out_line[ox].g = (accum ? out_line[ox].g : 0) + 7e0: e3590000 cmp r9, #0 ; 0x0 7e4: 01a00009 moveq r0, r9 7e8: 159a0004 ldrne r0, [sl, #4] 7ec: e5953004 ldr r3, [r5, #4] 7f0: e59d801c ldr r8, [sp, #28] 7f4: e0883003 add r3, r8, r3 7f8: e5952000 ldr r2, [r5] 7fc: e0887293 umull r7, r8, r3, r2 800: e0803008 add r3, r0, r8 804: e58a3004 str r3, [sl, #4] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:347 ((rgbval.g + ctx->round) * (uint64_t)ctx->divmul >> 32); out_line[ox].b = (accum ? out_line[ox].b : 0) + 808: e3590000 cmp r9, #0 ; 0x0 80c: 01a00009 moveq r0, r9 810: 159a0008 ldrne r0, [sl, #8] 814: e5953004 ldr r3, [r5, #4] 818: e08b3003 add r3, fp, r3 81c: e5952000 ldr r2, [r5] 820: e0887293 umull r7, r8, r3, r2 824: e3a04000 mov r4, #0 ; 0x0 828: e0803008 add r3, r0, r8 82c: e58a3008 str r3, [sl, #8] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:350 ((rgbval.b + ctx->round) * (uint64_t)ctx->divmul >> 32); rgbval.r += rgbinc.r; 830: e59d8020 ldr r8, [sp, #32] 834: e59d2024 ldr r2, [sp, #36] 838: e0888002 add r8, r8, r2 83c: e58d8020 str r8, [sp, #32] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:351 rgbval.g += rgbinc.g; 840: e59d301c ldr r3, [sp, #28] 844: e59d7004 ldr r7, [sp, #4] 848: e0833007 add r3, r3, r7 84c: e58d301c str r3, [sp, #28] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:352 rgbval.b += rgbinc.b; 850: e59d8000 ldr r8, [sp] 854: e08bb008 add fp, fp, r8 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:353 ixe += src->width - 1; 858: e59d2008 ldr r2, [sp, #8] 85c: e1d230f0 ldrsh r3, [r2] 860: e0863003 add r3, r6, r3 864: e2436001 sub r6, r3, #1 ; 0x1 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:299 868: e59d3014 ldr r3, [sp, #20] 86c: e2833001 add r3, r3, #1 ; 0x1 870: e58d3014 str r3, [sp, #20] 874: e59d700c ldr r7, [sp, #12] 878: e5973000 ldr r3, [r7] 87c: e28aa00c add sl, sl, #12 ; 0xc 880: e59d8014 ldr r8, [sp, #20] 884: e1530008 cmp r3, r8 888: 9a000224 bls 898 888: R_ARM_PC24 .text 88c: ea00019f b 684 88c: R_ARM_PC24 .text 890: e3a00000 mov r0, #0 ; 0x0 894: ea000225 b 89c 894: R_ARM_PC24 .text 898: e3a00001 mov r0, #1 ; 0x1 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:356 } return true; } 89c: e28dd028 add sp, sp, #40 ; 0x28 8a0: e8bd8ff0 ldmia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} ... 8a4: R_ARM_ABS32 current_tick 8a8: R_ARM_ABS32 yield 000008ac : scale_v_linear(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:365 /* vertical linear scaler */ static bool scale_v_linear(struct bitmap *bm, bool dither, struct dim *src, struct rowset *rset, bool (*h_scaler)(struct bitmap*, struct dim*, struct uint32_rgb*, struct scaler_context*, bool), struct scaler_context *ctx) { 8ac: e92d4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 8b0: e24dd038 sub sp, sp, #56 ; 0x38 8b4: e1a0b000 mov fp, r0 8b8: e58d2014 str r2, [sp, #20] 8bc: e58d3010 str r3, [sp, #16] 8c0: e20110ff and r1, r1, #255 ; 0xff 8c4: e58d1018 str r1, [sp, #24] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:371 uint32_t mul, divmul, x, oy, iy, iye, round; int delta = 127; struct uint32_rgb p; fb_data *row, *pix; /* Set up scale and rounding factors, the divisor is bm->height - 1 */ divmul = ((bm->height - 2 + 0x80000000U) / (bm->height - 1)) << 1; 8c8: e5904004 ldr r4, [r0, #4] 8cc: e2445001 sub r5, r4, #1 ; 0x1 8d0: e244010a sub r0, r4, #-2147483646 ; 0x80000002 8d4: e1a01005 mov r1, r5 8d8: e59f32a4 ldr r3, [pc, #676] ; b84 <.text+0xb84> 8dc: e1a0e00f mov lr, pc 8e0: e12fff13 bx r3 8e4: e1a06080 mov r6, r0, lsl #1 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:372 round = bm->height >> 1; 8e8: e1a040c4 mov r4, r4, asr #1 8ec: e58d4024 str r4, [sp, #36] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:375 mul = 0; iy = 0; iye = bm->height - 1; 8f0: e1a0a005 mov sl, r5 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:379 /* Set up our two temp buffers. The names are generic because they'll be swapped each time a new input row is read */ struct uint32_rgb *crow1 = (struct uint32_rgb *)(ctx->buf), 8f4: e59d0060 ldr r0, [sp, #96] 8f8: e5900010 ldr r0, [r0, #16] 8fc: e58d0030 str r0, [sp, #48] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:380 *crow2 = crow1 + bm->width, 900: e59b3000 ldr r3, [fp] 904: e0832083 add r2, r3, r3, lsl #1 908: e0802102 add r2, r0, r2, lsl #2 90c: e58d2034 str r2, [sp, #52] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:384 *t; SDEBUGF("scale_v_linear\n"); row = (fb_data *)(bm->data) + bm->width * rset->rowstart; 910: e59d1010 ldr r1, [sp, #16] 914: e1d120f2 ldrsh r2, [r1, #2] 918: e0020293 mul r2, r3, r2 91c: e59b3010 ldr r3, [fp, #16] 920: e0832082 add r2, r3, r2, lsl #1 924: e58d202c str r2, [sp, #44] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:386 /* get first scaled row in crow2 */ if(!h_scaler(bm, src, crow2, ctx, false)) 928: e3a03000 mov r3, #0 ; 0x0 92c: e58d3000 str r3, [sp] 930: e1a0000b mov r0, fp 934: e59d1014 ldr r1, [sp, #20] 938: e59d2034 ldr r2, [sp, #52] 93c: e59d3060 ldr r3, [sp, #96] 940: e59dc05c ldr ip, [sp, #92] 944: e1a0e00f mov lr, pc 948: e12fff1c bx ip 94c: e3500000 cmp r0, #0 ; 0x0 950: 1a0002d8 bne b68 950: R_ARM_PC24 .text 954: ea0002d4 b b58 954: R_ARM_PC24 .text 958: e3a0007f mov r0, #127 ; 0x7f 95c: e58d0028 str r0, [sp, #40] 960: e3a01000 mov r1, #0 ; 0x0 964: e58d101c str r1, [sp, #28] 968: e58d1020 str r1, [sp, #32] 96c: e1a00006 mov r0, r6 970: e3a01000 mov r1, #0 ; 0x0 974: e98d0003 stmib sp, {r0, r1} /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:390 return false; for (oy = 0; oy < (uint32_t)bm->height; oy++) { if (iye >= (uint32_t)bm->height - 1) 978: e2433001 sub r3, r3, #1 ; 0x1 97c: e15a0003 cmp sl, r3 980: 3a00027c bcc 9f8 980: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:396 { /* swap temp rows, then read another row into crow2 */ t = crow2; crow2 = crow1; crow1 = t; iye -= bm->height - 1; 984: e065300a rsb r3, r5, sl 988: e283a001 add sl, r3, #1 ; 0x1 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:397 iy += 1; 98c: e59d1020 ldr r1, [sp, #32] 990: e2811001 add r1, r1, #1 ; 0x1 994: e58d1020 str r1, [sp, #32] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:398 if (iy < (uint32_t)src->height) 998: e59d2014 ldr r2, [sp, #20] 99c: e1d230f2 ldrsh r3, [r2, #2] 9a0: e1510003 cmp r1, r3 9a4: 3a00026d bcc 9bc 9a4: R_ARM_PC24 .text 9a8: e59d3034 ldr r3, [sp, #52] 9ac: e59dc030 ldr ip, [sp, #48] 9b0: e58dc034 str ip, [sp, #52] 9b4: e58d3030 str r3, [sp, #48] 9b8: ea00027c b 9f8 9b8: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:400 { if (!h_scaler(bm, src, crow2, ctx, false)) 9bc: e3a03000 mov r3, #0 ; 0x0 9c0: e58d3000 str r3, [sp] 9c4: e1a0000b mov r0, fp 9c8: e59d1014 ldr r1, [sp, #20] 9cc: e59d2030 ldr r2, [sp, #48] 9d0: e59d3060 ldr r3, [sp, #96] 9d4: e59dc05c ldr ip, [sp, #92] 9d8: e1a0e00f mov lr, pc 9dc: e12fff1c bx ip 9e0: e3500000 cmp r0, #0 ; 0x0 9e4: 0a0002d4 beq b58 9e4: R_ARM_PC24 .text 9e8: e28d0030 add r0, sp, #48 ; 0x30 9ec: e8900009 ldmia r0, {r0, r3} 9f0: e58d0034 str r0, [sp, #52] 9f4: e58d3030 str r3, [sp, #48] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:405 return false; } } pix = row; for (x = 0; x < (uint32_t)bm->width; x++) 9f8: e59b2000 ldr r2, [fp] 9fc: e3520000 cmp r2, #0 ; 0x0 a00: 0a0002c2 beq b10 a00: R_ARM_PC24 .text a04: e59d8030 ldr r8, [sp, #48] a08: e59d7034 ldr r7, [sp, #52] a0c: e3a09000 mov r9, #0 ; 0x0 a10: e99d0060 ldmib sp, {r5, r6} a14: e59d101c ldr r1, [sp, #28] a18: e201200f and r2, r1, #15 ; 0xf a1c: e59f3164 ldr r3, [pc, #356] ; b88 <.text+0xb88> a20: e0832202 add r2, r3, r2, lsl #4 a24: e58d200c str r2, [sp, #12] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:411 { /* iye and bm-height - 1 - iye represent the contribution of each row to the output. Calculate their weighted sum, then round and scale it. */ p.r = (crow1[x].r * (bm->height - 1 - iye) + a28: e59b2004 ldr r2, [fp, #4] a2c: e06a2002 rsb r2, sl, r2 a30: e2422001 sub r2, r2, #1 ; 0x1 a34: e5981000 ldr r1, [r8] a38: e5973000 ldr r3, [r7] a3c: e003039a mul r3, sl, r3 a40: e0233291 mla r3, r1, r2, r3 a44: e59dc024 ldr ip, [sp, #36] a48: e08c3003 add r3, ip, r3 a4c: e0810395 umull r0, r1, r5, r3 a50: e1a0e001 mov lr, r1 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:413 crow2[x].r * iye + round) * (uint64_t)divmul >> 32; p.g = (crow1[x].g * (bm->height - 1 - iye) + a54: e5981004 ldr r1, [r8, #4] a58: e5973004 ldr r3, [r7, #4] a5c: e003039a mul r3, sl, r3 a60: e0233291 mla r3, r1, r2, r3 a64: e08c3003 add r3, ip, r3 a68: e0810395 umull r0, r1, r5, r3 a6c: e1a0c001 mov ip, r1 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:415 crow2[x].g * iye + round) * (uint64_t)divmul >> 32; p.b = (crow1[x].b * (bm->height - 1 - iye) + a70: e5981008 ldr r1, [r8, #8] a74: e5973008 ldr r3, [r7, #8] a78: e003039a mul r3, sl, r3 a7c: e0233291 mla r3, r1, r2, r3 a80: e59d1024 ldr r1, [sp, #36] a84: e0813003 add r3, r1, r3 a88: e0810395 umull r0, r1, r5, r3 a8c: e3a04000 mov r4, #0 ; 0x0 a90: e1a00001 mov r0, r1 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:418 crow2[x].b * iye + round) * (uint64_t)divmul >> 32; /* dither and pack pixels to output */ if (dither) a94: e59d1018 ldr r1, [sp, #24] a98: e3510000 cmp r1, #0 ; 0x0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:419 delta = dither_mat(x & 0xf, oy & 0xf); a9c: 1209300f andne r3, r9, #15 ; 0xf aa0: 159d200c ldrne r2, [sp, #12] aa4: 17d23003 ldrneb r3, [r2, r3] aa8: 158d3028 strne r3, [sp, #40] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:423 p.r = PACKRB(p.r,delta); p.g = PACKG(p.g,delta); p.b = PACKRB(p.b,delta); *pix++ = LCD_RGBPACK_LCD(p.r, p.g, p.b); aac: e1a01089 mov r1, r9, lsl #1 ab0: e06e228e rsb r2, lr, lr, lsl #5 ab4: e08221ae add r2, r2, lr, lsr #3 ab8: e59d3028 ldr r3, [sp, #40] abc: e0822003 add r2, r2, r3 ac0: e1a02422 mov r2, r2, lsr #8 ac4: e06c330c rsb r3, ip, ip, lsl #6 ac8: e083312c add r3, r3, ip, lsr #2 acc: e59dc028 ldr ip, [sp, #40] ad0: e08c3003 add r3, ip, r3 ad4: e1a03423 mov r3, r3, lsr #8 ad8: e1a03283 mov r3, r3, lsl #5 adc: e1833582 orr r3, r3, r2, lsl #11 ae0: e0602280 rsb r2, r0, r0, lsl #5 ae4: e08221a0 add r2, r2, r0, lsr #3 ae8: e08c2002 add r2, ip, r2 aec: e1833422 orr r3, r3, r2, lsr #8 af0: e59d002c ldr r0, [sp, #44] af4: e18130b0 strh r3, [r1, r0] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:405 af8: e2899001 add r9, r9, #1 ; 0x1 afc: e59b2000 ldr r2, [fp] b00: e288800c add r8, r8, #12 ; 0xc b04: e287700c add r7, r7, #12 ; 0xc b08: e1520009 cmp r2, r9 b0c: 8a000288 bhi a28 b0c: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:425 } row += bm->width * rset->rowstep; b10: e59d1010 ldr r1, [sp, #16] b14: e1d130f0 ldrsh r3, [r1] b18: e0030392 mul r3, r2, r3 b1c: e59d202c ldr r2, [sp, #44] b20: e0822083 add r2, r2, r3, lsl #1 b24: e58d202c str r2, [sp, #44] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:426 iye += src->height - 1; b28: e59dc014 ldr ip, [sp, #20] b2c: e1dc30f2 ldrsh r3, [ip, #2] b30: e08a3003 add r3, sl, r3 b34: e243a001 sub sl, r3, #1 ; 0x1 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:388 b38: e59d001c ldr r0, [sp, #28] b3c: e2800001 add r0, r0, #1 ; 0x1 b40: e58d001c str r0, [sp, #28] b44: e59b5004 ldr r5, [fp, #4] b48: e1a03005 mov r3, r5 b4c: e1500005 cmp r0, r5 b50: 2a0002d6 bcs b60 b50: R_ARM_PC24 .text b54: ea00025c b 978 b54: R_ARM_PC24 .text b58: e3a00000 mov r0, #0 ; 0x0 b5c: ea0002dd b b7c b5c: R_ARM_PC24 .text b60: e3a00001 mov r0, #1 ; 0x1 b64: ea0002dd b b7c b64: R_ARM_PC24 .text b68: e59b5004 ldr r5, [fp, #4] b6c: e1a03005 mov r3, r5 b70: e3550000 cmp r5, #0 ; 0x0 b74: 1a000254 bne 958 b74: R_ARM_PC24 .text b78: ea0002d6 b b60 b78: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:429 } return true; } b7c: e28dd038 add sp, sp, #56 ; 0x38 b80: e8bd8ff0 ldmia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} ... b84: R_ARM_ABS32 __udivsi3 b88: R_ARM_ABS32 dither_matrix 00000b8c : resize_on_load(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:681 #endif /* HAVE_UPSCALER */ #endif /* HAVE_LCD_COLOR */ /* docs for this are still TODO, but it's Bresenham's again, used to skip or repeat input pixels, and with the *ls values being used for "long steps" that skip all the way, or nearly all the way, to the next transition of the associated value. */ #if LCD_DEPTH < 8 || (defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH < 8) /* nearest-neighbor up/down/non-scaler */ static inline bool scale_nearest(struct bitmap *bm, struct dim *src, struct rowset *rset, bool remote, bool dither, struct img_part* (*store_part)(void *args), bool (*skip_lines)(void *args, unsigned int), void *args) { const int sw = src->width; const int sh = src->height; const int dw = bm->width; const int dh = bm->height; unsigned char *bitmap = bm->data; const int rowstep = rset->rowstep; const int rowstart = rset->rowstart; const int rowstop = rset->rowstop; const int fb_width = get_fb_width(bm, false); long last_tick = current_tick; /* yet/oyt will always be initialized before use, since they are set in the inside loop, and not used elsewhere until the end of the outside loop. */ int ix, ox, lx, xe, iy, oy, ly, ye, yet = yet, oyt = oyt; int xelim, ixls, xels, yelim, iyls, yels, p; struct img_part *cur_part; #ifndef HAVE_LCD_COLOR fb_data *dest = dest, *dest_t; #endif #ifdef HAVE_REMOTE_LCD fb_remote_data *rdest = rdest, *rdest_t; #endif SDEBUGF("scale_nearest sw=%d sh=%d dw=%d dh=%d remote=%d\n", sw, sh, dw, dh, remote); ly = 0; iy = 0; ye = 0; xelim = sw == dw - 1 ? dw : dw - 1; ixls = xelim ? sw / xelim : 1; xels = sw - ixls * (xelim ? xelim : 1); yelim = sh == dh - 1 ? dh : dh - 1; iyls = yelim ? sh / yelim : 1; yels = iyls * (yelim ? yelim : 1); int delta = 127; #if LCD_PIXELFORMAT == HORIZONTAL_PACKING || \ (defined(HAVE_REMOTE_LCD) && LCD_REMOTE_PIXELFORMAT == HORIZONTAL_PACKING) uint8_t buf[4]; int data, oxt; #endif #if LCD_PIXELFORMAT == VERTICAL_PACKING || \ LCD_PIXELFORMAT == VERTICAL_INTERLEAVED || \ (defined(HAVE_REMOTE_LCD) && \ (LCD_REMOTE_PIXELFORMAT == VERTICAL_INTERLEAVED || \ LCD_REMOTE_PIXELFORMAT == VERTICAL_PACKING)) int bright, shift; #endif for (oy = rowstart; oy != rowstop;) { SDEBUGF("oy=%d iy=%d\n", oy, iy); if (last_tick != current_tick) { yield(); last_tick = current_tick; } if (iy > ly && !skip_lines(args, iy - ly - 1)) return false; ly = iy; cur_part = store_part(args); if (cur_part == NULL) return false; lx = 0; ix = 0; xe = 0; #if defined(HAVE_REMOTE_LCD) && !defined(HAVE_LCD_COLOR) if(!remote) #else (void)remote; #endif #if LCD_PIXELFORMAT == HORIZONTAL_PACKING dest = (fb_data *)bitmap + fb_width * oy; #elif LCD_PIXELFORMAT == VERTICAL_PACKING dest = (fb_data *)bitmap + fb_width * (oy >> 2); #elif LCD_PIXELFORMAT == VERTICAL_INTERLEAVED dest = (fb_data *)bitmap + fb_width * (oy >> 3); #endif #ifdef HAVE_REMOTE_LCD #ifndef HAVE_LCD_COLOR else #endif rdest = (fb_remote_data *)bitmap + fb_width * (oy >> 3); #endif for (ox = 0; ox < dw; ox++) { while (cur_part->len <= ix - lx) { lx += cur_part->len; cur_part = store_part(args); if (cur_part == NULL) return false; } cur_part->len -= ix - lx; cur_part->buf += ix - lx; lx = ix; #if defined(HAVE_REMOTE_LCD) && !defined(HAVE_LCD_COLOR) if(!remote) { #endif #if LCD_PIXELFORMAT == HORIZONTAL_PACKING /* greyscale iPods */ buf[ox & 3] = brightness(*(cur_part->buf)); if ((ox & 3) == 3 || ox == dw - 1) { dest_t = dest++; oyt = oy; yet = ye; int xo = ox & ~3; while(yet < dh) { data = 0; for (oxt = 0; oxt < (ox & 3) + 1; oxt++) { if (dither) delta = dither_mat(oyt & 0xf, (xo + oxt) & 0xf); p = (3 * buf[oxt] + (buf[oxt] >> 6) + delta) >> 8; data |= (~p & 3) << ((3 - oxt) << 1); } *dest_t = data; dest_t += rowstep * fb_width; yet += sh; oyt += rowstep; } } #elif LCD_PIXELFORMAT == VERTICAL_PACKING /* iriver H1x0 */ bright = brightness(*(cur_part->buf)); dest_t = dest++; oyt = oy; yet = ye; while(yet < dh) { shift = (oyt & 3) << 1; if (dither) delta = dither_mat(oyt & 0xf, ox & 0xf); p = (3 * bright + (bright >> 6) + delta) >> 8; *dest_t |= (~p & 3) << shift; if ((rowstep > 0 && shift == 6) || shift == 0) dest_t += rowstep * fb_width; yet += sh; oyt += rowstep; } #elif LCD_PIXELFORMAT == VERTICAL_INTERLEAVED bright = brightness(*(cur_part->buf)); dest_t = dest++; oyt = oy; yet = ye; while(yet < dh) { shift = oyt & 7; if (dither) delta = dither_mat(oyt & 0xf, ox & 0xf); p = (3 * bright + (bright >> 6) + delta) >> 8; *dest_t |= vi_pat(p) << shift; if ((rowstep > 0 && shift == 7) || shift == 0) dest_t += rowstep * fb_width; yet += sh; oyt += rowstep; } #endif /* LCD_PIXELFORMAT */ #ifdef HAVE_REMOTE_LCD #ifndef HAVE_LCD_COLOR } else #endif { #if LCD_REMOTE_PIXELFORMAT == VERTICAL_INTERLEAVED bright = brightness(*(cur_part->buf)); rdest_t = rdest++; oyt = oy; yet = ye; while(yet < dh) { shift = oyt & 7; if (dither) delta = dither_mat(oyt & 0xf, ox & 0xf); p = (3 * bright + (bright >> 6) + delta) >> 8; *rdest_t |= vi_pat(p) << shift; if ((rowstep > 0 && shift == 7) || shift == 0) rdest_t += rowstep * fb_width; yet += sh; oyt += rowstep; } #else bright = brightness(*(cur_part->buf)); rdest_t = rdest++; oyt = oy; yet = ye; while(yet < dh) { shift = oyt & 7; if (dither) delta = dither_mat(oyt & 0xf, ox & 0xf); p = (bright + delta) >> 8; *rdest_t |= (~p & 1) << shift; if ((rowstep > 0 && shift == 7) || shift == 0) rdest_t += rowstep * fb_width; yet += sh; oyt += rowstep; } #endif } #endif xe += xels; ix += ixls; while (xe > xelim) { xe -= xelim; ix += 1; } } oy = oyt; ye = yet - yels; iy += iyls; while (ye > yelim) { ye -= yelim; iy += 1; } } return true; } #endif int resize_on_load(struct bitmap *bm, bool dither, struct dim *src, struct rowset *rset, bool remote, #ifdef HAVE_LCD_COLOR unsigned char *buf, unsigned int len, #endif struct img_part* (*store_part)(void *args), bool (*skip_lines)(void *args, unsigned int lines), void *args) { b8c: e92d4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} b90: e24dd028 sub sp, sp, #40 ; 0x28 b94: e1a05000 mov r5, r0 b98: e1a06002 mov r6, r2 b9c: e58d3008 str r3, [sp, #8] ba0: e59d8054 ldr r8, [sp, #84] ba4: e201b0ff and fp, r1, #255 ; 0xff /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:692 #if defined(HAVE_LCD_COLOR) && !defined(HAVE_REMOTE_LCD) (void)skip_lines; #endif #ifdef HAVE_LCD_COLOR #ifdef HAVE_REMOTE_LCD if (!remote) #endif { #ifdef HAVE_UPSCALER const int sw = src->width; ba8: e1d270f0 ldrsh r7, [r2] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:693 const int sh = src->height; bac: e1d290f2 ldrsh r9, [r2, #2] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:694 const int dw = bm->width; bb0: e8900410 ldmia r0, {r4, sl} /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:698 const int dh = bm->height; #endif int ret; unsigned int needed = sizeof(struct uint32_rgb) * 2 * bm->width; bb4: e0843084 add r3, r4, r4, lsl #1 bb8: e1a01183 mov r1, r3, lsl #3 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:703 #if MAX_SC_STACK_ALLOC uint8_t sc_buf[(needed <= len || needed > MAX_SC_STACK_ALLOC) ? 0 : needed]; #endif if (needed > len) bbc: e1510008 cmp r1, r8 bc0: 9a0002f6 bls be0 bc0: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:721 { #if MAX_SC_STACK_ALLOC if (needed > MAX_SC_STACK_ALLOC) { DEBUGF("unable to allocate required buffer: %d needed, " "%d available, %d permitted from stack\n", needed, len, MAX_SC_STACK_ALLOC); return 0; } if (sizeof(sc_buf) < needed) { DEBUGF("failed to allocate large enough buffer on stack: " "%d needed, only got %d", needed, MAX_SC_STACK_ALLOC); return 0; } #else DEBUGF("unable to allocate required buffer: %d needed, " bc4: e59f0110 ldr r0, [pc, #272] ; cdc <.text+0xcdc> bc8: e1a02008 mov r2, r8 bcc: e59f310c ldr r3, [pc, #268] ; ce0 <.text+0xce0> bd0: e1a0e00f mov lr, pc bd4: e12fff13 bx r3 bd8: e3a00000 mov r0, #0 ; 0x0 bdc: ea000333 b cd4 bdc: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:731 "%d available\n", needed, len); return 0; #endif } bool (*h_scaler)(struct bitmap*, struct dim*, struct uint32_rgb*, struct scaler_context*, bool); struct scaler_context ctx; ctx.last_tick = current_tick; be0: e59f30fc ldr r3, [pc, #252] ; ce4 <.text+0xce4> be4: e5933000 ldr r3, [r3] be8: e58d3018 str r3, [sp, #24] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:732 cpu_boost(true); bec: e3a00001 mov r0, #1 ; 0x1 bf0: e59f30f0 ldr r3, [pc, #240] ; ce8 <.text+0xce8> bf4: e1a0e00f mov lr, pc bf8: e12fff13 bx r3 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:734 #ifdef HAVE_UPSCALER if (sw > dw) bfc: e1570004 cmp r7, r4 c00: da000305 ble c1c c00: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:738 { #endif h_scaler = scale_h_area; scale_h_area_setup(bm, src, &ctx); c04: e1a00005 mov r0, r5 c08: e1a01006 mov r1, r6 c0c: e28d200c add r2, sp, #12 ; 0xc c10: ebfffffe bl 0 c10: R_ARM_PC24 .text c14: e59f20d0 ldr r2, [pc, #208] ; cec <.text+0xcec> c18: ea00030a b c30 c18: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:742 #ifdef HAVE_UPSCALER } else { h_scaler = scale_h_linear; scale_h_linear_setup(bm, src, &ctx); c1c: e1a00005 mov r0, r5 c20: e1a01006 mov r1, r6 c24: e28d200c add r2, sp, #12 ; 0xc c28: eb000179 bl 5ec c28: R_ARM_PC24 .text c2c: e59f20bc ldr r2, [pc, #188] ; cf0 <.text+0xcf0> /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:745 } #endif ctx.store_part = store_part; c30: e59d3058 ldr r3, [sp, #88] c34: e58d3014 str r3, [sp, #20] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:746 ctx.args = args; c38: e59d3060 ldr r3, [sp, #96] c3c: e58d3024 str r3, [sp, #36] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:750 #if MAX_SC_STACK_ALLOC ctx.buf = needed > len ? sc_buf : buf; #else ctx.buf = buf; c40: e59d3050 ldr r3, [sp, #80] c44: e58d301c str r3, [sp, #28] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:752 #endif ctx.len = len; c48: e58d8020 str r8, [sp, #32] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:754 #ifdef HAVE_UPSCALER if (sh > dh) c4c: e159000a cmp r9, sl c50: da00031d ble c7c c50: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:756 #endif ret = scale_v_area(bm, dither, src, rset, h_scaler, &ctx); c54: e58d2000 str r2, [sp] c58: e28d300c add r3, sp, #12 ; 0xc c5c: e58d3004 str r3, [sp, #4] c60: e1a00005 mov r0, r5 c64: e1a0100b mov r1, fp c68: e1a02006 mov r2, r6 c6c: e59d3008 ldr r3, [sp, #8] c70: eb0000be bl 300 c70: R_ARM_PC24 .text c74: e1a04000 mov r4, r0 c78: ea000326 b ca0 c78: R_ARM_PC24 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:759 #ifdef HAVE_UPSCALER else ret = scale_v_linear(bm, dither, src, rset, h_scaler, &ctx); c7c: e58d2000 str r2, [sp] c80: e28d300c add r3, sp, #12 ; 0xc c84: e58d3004 str r3, [sp, #4] c88: e1a00005 mov r0, r5 c8c: e1a0100b mov r1, fp c90: e1a02006 mov r2, r6 c94: e59d3008 ldr r3, [sp, #8] c98: eb000229 bl 8ac c98: R_ARM_PC24 .text c9c: e1a04000 mov r4, r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:761 #endif cpu_boost(false); ca0: e3a00000 mov r0, #0 ; 0x0 ca4: e59f303c ldr r3, [pc, #60] ; ce8 <.text+0xce8> ca8: e1a0e00f mov lr, pc cac: e12fff13 bx r3 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:762 if (!ret) cb0: e3540000 cmp r4, #0 ; 0x0 cb4: 01a00004 moveq r0, r4 cb8: 0a000333 beq cd4 cb8: R_ARM_PC24 .text get_fb_height(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/bmp.h:128 } static inline int get_fb_width(struct bitmap *bm, bool remote) { const int width = bm->width; cbc: e895000e ldmia r5, {r1, r2, r3} /home/idak/src/rockbox/svn/rockbox/apps/recorder/bmp.h:96 cc0: e3530001 cmp r3, #1 ; 0x1 /home/idak/src/rockbox/svn/rockbox/apps/recorder/bmp.h:120 cc4: 12823007 addne r3, r2, #7 ; 0x7 cc8: 11a021c3 movne r2, r3, asr #3 get_totalsize(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/bmp.h:180 #if (LCD_DEPTH > 1) || defined(HAVE_REMOTE_LCD) && (LCD_REMOTE_DEPTH > 1) const int format = bm->format; #endif int dst_width; #if !defined(HAVE_REMOTE_LCD) || \ (defined(HAVE_REMOTE_LCD) &&(LCD_REMOTE_DEPTH == 1)) (void) remote; #endif #if (LCD_DEPTH > 1) || defined(HAVE_REMOTE_LCD) && (LCD_REMOTE_DEPTH > 1) if (format == FORMAT_NATIVE) { #if defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1 if (remote) { #if (LCD_REMOTE_DEPTH == 2) && (LCD_REMOTE_PIXELFORMAT == VERTICAL_INTERLEAVED) dst_width = width; #endif /* LCD_REMOTE_DEPTH / LCD_REMOTE_PIXELFORMAT */ } else #endif /* defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1 */ { #if LCD_DEPTH == 2 #if LCD_PIXELFORMAT == HORIZONTAL_PACKING dst_width = (width + 3) >> 2; #elif LCD_PIXELFORMAT == VERTICAL_PACKING dst_width = width; #elif LCD_PIXELFORMAT == VERTICAL_INTERLEAVED dst_width = width; #endif /* LCD_PIXELFORMAT */ #elif LCD_DEPTH == 16 dst_width = width; #endif /* LCD_DEPTH */ } } else #endif /* (LCD_DEPTH > 1) || defined(HAVE_REMOTE_LCD) && (LCD_REMOTE_DEPTH > 1) */ { dst_width = width; } return dst_width; } static inline int get_totalsize(struct bitmap *bm, bool remote) { int sz; #ifdef HAVE_REMOTE_LCD if (remote && sizeof(fb_data) != sizeof(fb_remote_data)) sz = sizeof(fb_remote_data); else #endif /* LCD_REMOTE_DEPTH / LCD_REMOTE_PIXELFORMAT */ sz = sizeof(fb_data); return get_fb_width(bm, remote) * get_fb_height(bm, remote) * sz; ccc: e0030291 mul r3, r1, r2 cd0: e1a00083 mov r0, r3, lsl #1 resize_on_load(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:777 return 0; } #ifdef HAVE_REMOTE_LCD else #endif #endif /* HAVE_LCD_COLOR */ #if !defined(HAVE_LCD_COLOR) || defined(HAVE_REMOTE_LCD) { if (!scale_nearest(bm, src, rset, remote, dither, store_part, skip_lines, args)) return 0; } #endif /* !HAVE_LCD_COLOR || HAVE_REMOTE_LCD*/ return get_totalsize(bm, remote); } cd4: e28dd028 add sp, sp, #40 ; 0x28 cd8: e8bd8ff0 ldmia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} ... cdc: R_ARM_ABS32 .rodata.str1.4 ce0: R_ARM_ABS32 debugf ce4: R_ARM_ABS32 current_tick ce8: R_ARM_ABS32 cpu_boost cec: 00000040 andeq r0, r0, r0, asr #32 cec: R_ARM_ABS32 .text cf0: 0000062c andeq r0, r0, ip, lsr #12 cf0: R_ARM_ABS32 .text Disassembly of section .debug_abbrev: 00000000 <.debug_abbrev>: scale_h_area_setup(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:105 0: 10011101 andne r1, r1, r1, lsl #2 4: 11011206 tstne r1, r6, lsl #4 8: 130e2501 tstne lr, #4194304 ; 0x400000 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:108 c: 000e030b andeq r0, lr, fp, lsl #6 10: 00240200 eoreq r0, r4, r0, lsl #4 14: 0b0b0e03 bleq 2c3828 <.debug_abbrev+0x2c3828> 18: 00000b3e andeq r0, r0, lr, lsr fp 1c: 03002403 tsteq r0, #50331648 ; 0x3000000 20: 3e0b0b08 fmacdcc d0, d11, d8 24: 0400000b streq r0, [r0], #-11 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:109 28: 0b0b000f bleq 2c006c <.debug_abbrev+0x2c006c> 2c: 16050000 strne r0, [r5], -r0 30: 3a0e0300 bcc 380c38 <.debug_abbrev+0x380c38> 34: 490b3b0b stmmidb fp, {r0, r1, r3, r8, r9, fp, ip, sp} /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:110 38: 06000013 undefined 3c: 0b0b000f bleq 2c0080 <.debug_abbrev+0x2c0080> scale_h_area(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:116 40: 00001349 andeq r1, r0, r9, asr #6 44: 01011307 tsteq r1, r7, lsl #6 48: 0b0e0313 bleq 380c9c <.debug_abbrev+0x380c9c> 4c: 3b0b3a0b blcc 2ce880 <.debug_abbrev+0x2ce880> 50: 08000005 stmeqda r0, {r0, r2} 54: 0e03000d cdpeq 0, 0, cr0, cr3, cr13, {0} 58: 053b0b3a ldreq r0, [fp, #-2874]! 5c: 0a381349 beq e04d88 <.debug_abbrev+0xe04d88> /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:122 60: 13090000 tstne r9, #0 ; 0x0 64: 03130101 tsteq r3, #1073741824 ; 0x40000000 68: 3a0b0b0e bcc 2c2ca8 <.debug_abbrev+0x2c2ca8> 6c: 000b3b0b andeq r3, fp, fp, lsl #22 70: 000d0a00 andeq r0, sp, r0, lsl #20 74: 0b3a0e03 bleq e83888 <.debug_abbrev+0xe83888> 78: 13490b3b cmpne r9, #60416 ; 0xec00 7c: 00000a38 andeq r0, r0, r8, lsr sl 80: 03000d0b tsteq r0, #704 ; 0x2c0 84: 3b0b3a08 blcc 2ce8ac <.debug_abbrev+0x2ce8ac> 88: 3813490b ldmccda r3, {r0, r1, r3, r8, fp, lr} 8c: 0c00000a stceq 0, cr0, [r0], {10} 90: 13010113 tstne r1, #-1073741820 ; 0xc0000004 94: 0b0b0803 bleq 2c20a8 <.debug_abbrev+0x2c20a8> 98: 0b3b0b3a bleq ec2d88 <.debug_abbrev+0xec2d88> 9c: 150d0000 strne r0, [sp] a0: 27130101 ldrcs r0, [r3, -r1, lsl #2] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:128 a4: 0013490c andeqs r4, r3, ip, lsl #18 a8: 00050e00 andeq r0, r5, r0, lsl #28 ac: 00001349 andeq r1, r0, r9, asr #6 b0: 01012e0f tsteq r1, pc, lsl #28 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:130 b4: 3a0e0313 bcc 380d08 <.debug_abbrev+0x380d08> b8: 270b3b0b strcs r3, [fp, -fp, lsl #22] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:133 bc: 1201110c andne r1, r1, #3 ; 0x3 c0: 000a4001 andeq r4, sl, r1 c4: 00051000 andeq r1, r5, r0 c8: 0b3a0803 bleq e820dc <.debug_abbrev+0xe820dc> cc: 13490b3b cmpne r9, #60416 ; 0xec00 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:135 d0: 00000602 andeq r0, r0, r2, lsl #12 d4: 01012e11 tsteq r1, r1, lsl lr d8: 3a0e0313 bcc 380d2c <.debug_abbrev+0x380d2c> /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:136 dc: 270b3b0b strcs r3, [fp, -fp, lsl #22] e0: 1113490c tstne r3, ip, lsl #18 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:141 e4: 40011201 andmi r1, r1, r1, lsl #4 e8: 12000006 andne r0, r0, #6 ; 0x6 ec: 0e030005 cdpeq 0, 0, cr0, cr3, cr5, {0} f0: 0b3b0b3a bleq ec2de0 <.debug_abbrev+0xec2de0> f4: 06021349 streq r1, [r2], -r9, asr #6 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:143 f8: 34130000 ldrcc r0, [r3] fc: 3a080300 bcc 200d04 <.debug_abbrev+0x200d04> 100: 490b3b0b stmmidb fp, {r0, r1, r3, r8, r9, fp, ip, sp} 104: 00060213 andeq r0, r6, r3, lsl r2 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:144 108: 00341400 eoreqs r1, r4, r0, lsl #8 10c: 0b3a0e03 bleq e83920 <.debug_abbrev+0xe83920> 110: 13490b3b cmpne r9, #60416 ; 0xec00 114: 34150000 ldrcc r0, [r5] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:145 118: 3a0e0300 bcc 380d20 <.debug_abbrev+0x380d20> 11c: 490b3b0b stmmidb fp, {r0, r1, r3, r8, r9, fp, ip, sp} 120: 000a0213 andeq r0, sl, r3, lsl r2 124: 012e1600 teqeq lr, r0, lsl #12 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:147 128: 0e031301 cdpeq 3, 0, cr1, cr3, cr1, {0} 12c: 0b3b0b3a bleq ec2e1c <.debug_abbrev+0xec2e1c> 130: 13490c27 cmpne r9, #9984 ; 0x2700 134: 00000b20 andeq r0, r0, r0, lsr #22 138: 03000517 tsteq r0, #96468992 ; 0x5c00000 13c: 3b0b3a08 blcc 2ce964 <.debug_abbrev+0x2ce964> 140: 0013490b andeqs r4, r3, fp, lsl #18 144: 00051800 andeq r1, r5, r0, lsl #16 148: 0b3a0e03 bleq e8395c <.debug_abbrev+0xe8395c> /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:149 14c: 13490b3b cmpne r9, #60416 ; 0xec00 150: 00000a02 andeq r0, r0, r2, lsl #20 154: 03000519 tsteq r0, #104857600 ; 0x6400000 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:150 158: 3b0b3a08 blcc 2ce980 <.debug_abbrev+0x2ce980> 15c: 0213490b andeqs r4, r3, #180224 ; 0x2c000 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:151 160: 1a00000a bne 190 <.debug_abbrev+0x190> 164: 08030034 stmeqda r3, {r2, r4, r5} /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:152 168: 0b3b0b3a bleq ec2e58 <.debug_abbrev+0xec2e58> /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:153 16c: 0a021349 beq 84e98 <.debug_abbrev+0x84e98> 170: 341b0000 ldrcc r0, [fp] 174: 3a080300 bcc 200d7c <.debug_abbrev+0x200d7c> /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:154 178: 490b3b0b stmmidb fp, {r0, r1, r3, r8, r9, fp, ip, sp} 17c: 1c000013 stcne 0, cr0, [r0], {19} 180: 1301012e tstne r1, #-2147483637 ; 0x8000000b /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:155 184: 0b3a0e03 bleq e83998 <.debug_abbrev+0xe83998> 188: 0c27053b cfstr32eq mvfx0, [r7], #-236 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:156 18c: 01120111 tsteq r2, r1, lsl r1 190: 00000a40 andeq r0, r0, r0, asr #20 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:157 194: 0300051d tsteq r0, #121634816 ; 0x7400000 198: 3b0b3a08 blcc 2ce9c0 <.debug_abbrev+0x2ce9c0> /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:159 19c: 02134905 andeqs r4, r3, #81920 ; 0x14000 1a0: 1e000006 cdpne 0, 0, cr0, cr0, cr6, {0} 1a4: 1301012e tstne r1, #-2147483637 ; 0x8000000b 1a8: 0b3a0e03 bleq e839bc <.debug_abbrev+0xe839bc> 1ac: 0c27053b cfstr32eq mvfx0, [r7], #-236 1b0: 01111349 tsteq r1, r9, asr #6 1b4: 06400112 undefined 1b8: 051f0000 ldreq r0, [pc, #0] ; 1c0 <.debug_abbrev+0x1c0> 1bc: 3a0e0300 bcc 380dc4 <.debug_abbrev+0x380dc4> 1c0: 49053b0b stmmidb r5, {r0, r1, r3, r8, r9, fp, ip, sp} 1c4: 00060213 andeq r0, r6, r3, lsl r2 1c8: 00342000 eoreqs r2, r4, r0 1cc: 0b3a0803 bleq e821e0 <.debug_abbrev+0xe821e0> /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:162 1d0: 1349053b cmpne r9, #247463936 ; 0xec00000 1d4: 00000a02 andeq r0, r0, r2, lsl #20 1d8: 03003421 tsteq r0, #553648128 ; 0x21000000 1dc: 3b0b3a0e blcc 2cea1c <.debug_abbrev+0x2cea1c> 1e0: 00134905 andeqs r4, r3, r5, lsl #18 1e4: 00342200 eoreqs r2, r4, r0, lsl #4 1e8: 0b3a0e03 bleq e839fc <.debug_abbrev+0xe839fc> 1ec: 1349053b cmpne r9, #247463936 ; 0xec00000 1f0: 00000a02 andeq r0, r0, r2, lsl #20 1f4: 03000523 tsteq r0, #146800640 ; 0x8c00000 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:165 1f8: 3b0b3a0e blcc 2cea38 <.debug_abbrev+0x2cea38> 1fc: 02134905 andeqs r4, r3, #81920 ; 0x14000 200: 2400000a strcs r0, [r0], #-10 204: 08030005 stmeqda r3, {r0, r2} 208: 053b0b3a ldreq r0, [fp, #-2874]! 20c: 0a021349 beq 84f38 <.debug_abbrev+0x84f38> 210: 34250000 strcct r0, [r5] 214: 3a080300 bcc 200e1c <.debug_abbrev+0x200e1c> 218: 49053b0b stmmidb r5, {r0, r1, r3, r8, r9, fp, ip, sp} 21c: 26000013 undefined 220: 08030034 stmeqda r3, {r2, r4, r5} /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:172 224: 053b0b3a ldreq r0, [fp, #-2874]! 228: 06021349 streq r1, [r2], -r9, asr #6 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:173 22c: 34270000 strcct r0, [r7] 230: 3a0e0300 bcc 380e38 <.debug_abbrev+0x380e38> 234: 49053b0b stmmidb r5, {r0, r1, r3, r8, r9, fp, ip, sp} 238: 00060213 andeq r0, r6, r3, lsl r2 23c: 00052800 andeq r2, r5, r0, lsl #16 240: 0b3a0e03 bleq e83a54 <.debug_abbrev+0xe83a54> 244: 13490b3b cmpne r9, #60416 ; 0xec00 248: 26290000 strcst r0, [r9], -r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:177 24c: 00134900 andeqs r4, r3, r0, lsl #18 250: 012e2a00 teqeq lr, r0, lsl #20 254: 0c3f1301 ldceq 3, cr1, [pc], #-4 258: 0b3a0e03 bleq e83a6c <.debug_abbrev+0xe83a6c> 25c: 0c27053b cfstr32eq mvfx0, [r7], #-236 260: 01111349 tsteq r1, r9, asr #6 264: 06400112 undefined 268: 0b2b0000 bleq ac0270 <.debug_abbrev+0xac0270> 26c: 11130101 tstne r3, r1, lsl #2 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:179 270: 00011201 andeq r1, r1, r1, lsl #4 274: 011d2c00 tsteq sp, r0, lsl #24 278: 01111331 tsteq r1, r1, lsr r3 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:180 27c: 00000112 andeq r0, r0, r2, lsl r1 280: 3100052d tstcc r0, sp, lsr #10 284: 2e000013 mcrcs 0, 0, r0, cr0, cr3, {0} 288: 0111010b tsteq r1, fp, lsl #2 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:181 28c: 00000112 andeq r0, r0, r2, lsl r1 290: 3100342f tstcc r0, pc, lsr #8 294: 30000013 andcc r0, r0, r3, lsl r0 298: 1301011d tstne r1, #1073741831 ; 0x40000007 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:182 29c: 01111331 tsteq r1, r1, lsr r3 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:183 2a0: 00000112 andeq r0, r0, r2, lsl r1 2a4: 31003431 tstcc r0, r1, lsr r4 2a8: 000a0213 andeq r0, sl, r3, lsl r2 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:126 2ac: 00343200 eoreqs r3, r4, r0, lsl #4 2b0: 0b3a0e03 bleq e83ac4 <.debug_abbrev+0xe83ac4> 2b4: 13490b3b cmpne r9, #60416 ; 0xec00 2b8: 0c3c0c3f ldceq 12, cr0, [ip], #-252 2bc: 35330000 ldrcc r0, [r3]! 2c0: 00134900 andeqs r4, r3, r0, lsl #18 2c4: 01013400 tsteq r1, r0, lsl #8 2c8: 13491301 cmpne r9, #67108864 ; 0x4000000 2cc: 21350000 teqcs r5, r0 2d0: 2f134900 swics 0x00134900 2d4: 3600000b strcc r0, [r0], -fp 2d8: 0c270015 stceq 0, cr0, [r7], #-84 2dc: Address 0x000002dc is out of bounds. Disassembly of section .debug_info: 00000000 <.debug_info>: scale_h_area_setup(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:105 0: 00000a49 andeq r0, r0, r9, asr #20 4: 00000002 andeq r0, r0, r2 6: R_ARM_ABS32 .debug_abbrev 8: 01040000 tsteq r4, r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:108 c: 00000000 andeq r0, r0, r0 c: R_ARM_ABS32 .debug_line 10: 00000cf4 streqd r0, [r0], -r4 10: R_ARM_ABS32 .text 14: 00000000 andeq r0, r0, r0 14: R_ARM_ABS32 .text 18: 00000253 andeq r0, r0, r3, asr r2 18: R_ARM_ABS32 .debug_str 1c: 00018c01 andeq r8, r1, r1, lsl #24 1d: R_ARM_ABS32 .debug_str 20: 00c90200 sbceq r0, r9, r0, lsl #4 22: R_ARM_ABS32 .debug_str 24: 07040000 streq r0, [r4, -r0] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:109 28: 746e6903 strvcbt r6, [lr], #-2307 2c: 02050400 andeq r0, r5, #0 ; 0x0 30: 000000bc streqh r0, [r0], -ip 30: R_ARM_ABS32 .debug_str 34: 1e020704 cdpne 7, 0, cr0, cr2, cr4, {0} 37: R_ARM_ABS32 .debug_str /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:110 38: 04000000 streq r0, [r0] 3c: 020e0205 andeq r0, lr, #1342177280 ; 0x50000000 3e: R_ARM_ABS32 .debug_str scale_h_area(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:116 40: 08010000 stmeqda r1, {} 44: 16050404 strne r0, [r5], -r4, lsl #8 47: R_ARM_ABS32 .debug_str 48: 03000000 tsteq r0, #0 ; 0x0 4c: 00005152 andeq r5, r0, r2, asr r1 50: 00f90200 rsceqs r0, r9, r0, lsl #4 52: R_ARM_ABS32 .debug_str 54: 07020000 streq r0, [r2, -r0] 58: 00460406 subeq r0, r6, r6, lsl #8 5c: b7070000 strlt r0, [r7, -r0] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:122 60: a0000000 andge r0, r0, r0 63: R_ARM_ABS32 .debug_str 64: 14000002 strne r0, [r0], #-2 68: 08017903 stmeqda r1, {r0, r1, r8, fp, ip, sp, lr} 6c: 000000db ldreqd r0, [r0], -fp 6c: R_ARM_ABS32 .debug_str 70: 28017a03 stmcsda r1, {r0, r1, r9, fp, ip, sp, lr} 74: 02000000 andeq r0, r0, #0 ; 0x0 78: b3080023 tstlt r8, #35 ; 0x23 7b: R_ARM_ABS32 .debug_str 7c: 03000002 tsteq r0, #2 ; 0x2 80: 0028017b eoreq r0, r8, fp, ror r1 84: 23020000 tstcs r2, #0 ; 0x0 88: 00830804 addeq r0, r3, r4, lsl #16 8a: R_ARM_ABS32 .debug_str 8c: 7d030000 stcvc 0, cr0, [r3] 90: 00002801 andeq r2, r0, r1, lsl #16 94: 08230200 stmeqda r3!, {r9} 98: 00024a08 andeq r4, r2, r8, lsl #20 99: R_ARM_ABS32 .debug_str 9c: 017e0300 cmneq lr, r0, lsl #6 a0: 000000b7 streqh r0, [r0], -r7 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:128 a4: 080c2302 stmeqda ip, {r1, r8, r9, sp} a8: 000000ea andeq r0, r0, sl, ror #1 a8: R_ARM_ABS32 .debug_str ac: b7018003 strlt r8, [r1, -r3] b0: 02000000 andeq r0, r0, #0 ; 0x0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:130 b4: 06001023 streq r1, [r0], -r3, lsr #32 b8: 0000bd04 andeq fp, r0, r4, lsl #26 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:133 bc: 01dc0200 biceqs r0, ip, r0, lsl #4 be: R_ARM_ABS32 .debug_str c0: 08010000 stmeqda r1, {} c4: 0000c902 andeq ip, r0, r2, lsl #18 c5: R_ARM_ABS32 .debug_str c8: 02070400 andeq r0, r7, #0 ; 0x0 cc: 000001d6 ldreqd r0, [r0], -r6 cc: R_ARM_ABS32 .debug_str /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:135 d0: 09090201 stmeqdb r9, {r0, r9} d4: 79000001 stmvcdb r0, {r0} d7: R_ARM_ABS32 .debug_str d8: 04000000 streq r0, [r0] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:136 dc: ca0a2902 bgt 28a410 <.debug_info+0x28a410> df: R_ARM_ABS32 .debug_str e0: 02000001 andeq r0, r0, #1 ; 0x1 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:141 e4: 0000bd2a andeq fp, r0, sl, lsr #26 e8: 00230200 eoreq r0, r3, r0, lsl #4 ec: 0002850a andeq r8, r2, sl, lsl #10 ed: R_ARM_ABS32 .debug_str f0: bd2b0200 sfmlt f0, 4, [fp] f4: 02000000 andeq r0, r0, #0 ; 0x0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:143 f8: 720b0123 andvc r0, fp, #-1073741816 ; 0xc0000008 fc: 02006465 andeq r6, r0, #1694498816 ; 0x65000000 100: 0000bd2c andeq fp, r0, ip, lsr #26 104: 02230200 eoreq r0, r3, #0 ; 0x0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:144 108: 01320c00 teqeq r2, r0, lsl #24 10c: 69640000 stmvsdb r4!, {}^ 110: 0204006d andeq r0, r4, #109 ; 0x6d 114: 00db0a2f sbceqs r0, fp, pc, lsr #20 116: R_ARM_ABS32 .debug_str /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:145 118: 30020000 andcc r0, r2, r0 11c: 00000132 andeq r0, r0, r2, lsr r1 120: 0a002302 beq 8d30 <.debug_info+0x8d30> 124: 000002b3 streqh r0, [r0], -r3 124: R_ARM_ABS32 .debug_str /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:147 128: 01323102 teqeq r2, r2, lsl #2 12c: 23020000 tstcs r2, #0 ; 0x0 130: ea020002 b 80010 <.debug_info+0x80010> 133: R_ARM_ABS32 .debug_str 134: 02000001 andeq r0, r0, #1 ; 0x1 138: 01700905 cmneq r0, r5, lsl #18 13c: 009b0000 addeqs r0, fp, r0 13e: R_ARM_ABS32 .debug_str 140: 02080000 andeq r0, r8, #0 ; 0x0 144: 01130a34 tsteq r3, r4, lsr sl 146: R_ARM_ABS32 .debug_str 148: 35020000 strcc r0, [r2] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:149 14c: 00000132 andeq r0, r0, r2, lsr r1 150: 0a002302 beq 8d60 <.debug_info+0x8d60> 154: 00000000 andeq r0, r0, r0 154: R_ARM_ABS32 .debug_str /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:150 158: 01323602 teqeq r2, r2, lsl #12 15c: 23020000 tstcs r2, #0 ; 0x0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:151 160: 01ff0a02 mvneqs r0, r2, lsl #20 162: R_ARM_ABS32 .debug_str 164: 37020000 strcc r0, [r2, -r0] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:152 168: 00000132 andeq r0, r0, r2, lsr r1 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:153 16c: 00042302 andeq r2, r4, r2, lsl #6 170: 00019909 andeq r9, r1, r9, lsl #18 174: 00013a00 andeq r3, r1, r0, lsl #20 175: R_ARM_ABS32 .debug_str /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:154 178: 2e040800 cdpcs 8, 0, cr0, cr4, cr0, {0} 17c: 6e656c0b cdpvs 12, 6, cr6, cr5, cr11, {0} 180: 282f0400 stmcsda pc!, {sl} /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:155 184: 02000000 andeq r0, r0, #0 ; 0x0 188: 620b0023 andvs r0, fp, #35 ; 0x23 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:156 18c: 04006675 streq r6, [r0], #-1653 190: 00019930 andeq r9, r1, r0, lsr r9 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:157 194: 04230200 streqt r0, [r3], #-512 198: d2040600 andle r0, r4, #0 ; 0x0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:159 19c: 09000000 stmeqdb r0, {} 1a0: 000001d0 ldreqd r0, [r0], -r0 1a4: 00000233 andeq r0, r0, r3, lsr r2 1a4: R_ARM_ABS32 .debug_str 1a8: 0b56010c bleq 15805e0 <.debug_info+0x15805e0> 1ac: 57010072 smlsdxpl r1, r2, r0, r0 1b0: 00000021 andeq r0, r0, r1, lsr #32 1b4: 0b002302 bleq 8dc4 <.debug_info+0x8dc4> 1b8: 58010067 stmplda r1, {r0, r1, r2, r5, r6} 1bc: 00000021 andeq r0, r0, r1, lsr #32 1c0: 0b042302 bleq 108dd0 <.debug_info+0x108dd0> 1c4: 59010062 stmpldb r1, {r1, r5, r6} 1c8: 00000021 andeq r0, r0, r1, lsr #32 1cc: 00082302 andeq r2, r8, r2, lsl #6 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:162 1d0: 00023f09 andeq r3, r2, r9, lsl #30 1d4: 00017d00 andeq r7, r1, r0, lsl #26 1d5: R_ARM_ABS32 .debug_str 1d8: 5c011c00 stcpl 12, cr1, [r1], {0} 1dc: 0000b50a andeq fp, r0, sl, lsl #10 1dd: R_ARM_ABS32 .debug_str 1e0: 215d0100 cmpcs sp, r0, lsl #2 1e4: 02000000 andeq r0, r0, #0 ; 0x0 1e8: 340a0023 strcc r0, [sl], #-35 1eb: R_ARM_ABS32 .debug_str 1ec: 01000001 tsteq r0, r1 1f0: 0000215e andeq r2, r0, lr, asr r1 1f4: 04230200 streqt r0, [r3], #-512 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:165 1f8: 0001430a andeq r4, r1, sl, lsl #6 1f9: R_ARM_ABS32 .debug_str 1fc: 555f0100 ldrplb r0, [pc, #-256] ; 104 <.debug_info+0x104> 200: 02000002 andeq r0, r0, #2 ; 0x2 204: 460a0823 strmi r0, [sl], -r3, lsr #16 207: R_ARM_ABS32 .debug_str 208: 01000000 tsteq r0, r0 20c: 00003660 andeq r3, r0, r0, ror #12 210: 0c230200 sfmeq f0, 4, [r3] 214: 6675620b ldrvsbt r6, [r5], -fp, lsl #4 218: b7610100 strltb r0, [r1, -r0, lsl #2]! 21c: 02000000 andeq r0, r0, #0 ; 0x0 220: 6c0b1023 stcvs 0, cr1, [fp], {35} /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:172 224: 01006e65 tsteq r0, r5, ror #28 228: 00002862 andeq r2, r0, r2, ror #16 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:173 22c: 14230200 strnet r0, [r3], #-512 230: 0002710a andeq r7, r2, sl, lsl #2 231: R_ARM_ABS32 .debug_str 234: 44630100 strmibt r0, [r3], #-256 238: 02000000 andeq r0, r0, #0 ; 0x0 23c: 0d001823 stceq 8, cr1, [r0, #-140] 240: 0000024f andeq r0, r0, pc, asr #4 244: 00024f01 andeq r4, r2, r1, lsl #30 248: 00440e00 subeq r0, r4, r0, lsl #28 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:177 24c: 06000000 streq r0, [r0], -r0 250: 00017004 andeq r7, r1, r4 254: 3f040600 swicc 0x00040600 258: 0f000002 swieq 0x00000002 25c: 0000029f muleq r0, pc, r2 260: 00000057 andeq r0, r0, r7, asr r0 260: R_ARM_ABS32 .debug_str 264: 00016901 andeq r6, r1, r1, lsl #18 267: R_ARM_ABS32 .text 268: 40000000 andmi r0, r0, r0 26b: R_ARM_ABS32 .text 26c: 02000000 andeq r0, r0, #0 ; 0x0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:179 270: 6210007d andvss r0, r0, #125 ; 0x7d 274: 6701006d strvs r0, [r1, -sp, rrx] 278: 0000029f muleq r0, pc, r2 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:180 27c: 00000000 andeq r0, r0, r0 27c: R_ARM_ABS32 .debug_loc 280: 63727310 cmnvs r2, #1073741824 ; 0x40000000 284: a5670100 strgeb r0, [r7, #-256]! 288: 13000002 tstne r0, #2 ; 0x2 28b: R_ARM_ABS32 .debug_loc /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:181 28c: 10000000 andne r0, r0, r0 290: 00787463 rsbeqs r7, r8, r3, ror #8 294: 02ab6801 adceq r6, fp, #65536 ; 0x10000 298: 00310000 eoreqs r0, r1, r0 29a: R_ARM_ABS32 .debug_loc /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:182 29c: 06000000 streq r0, [r0], -r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:183 2a0: 00005e04 andeq r5, r0, r4, lsl #28 2a4: 09040600 stmeqdb r4, {r9, sl} 2a8: 06000001 streq r0, [r0], -r1 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:126 2ac: 0001d004 andeq sp, r1, r4 2b0: 03751100 cmneq r5, #0 ; 0x0 2b4: 02640000 rsbeq r0, r4, #0 ; 0x0 2b6: R_ARM_ABS32 .debug_str 2b8: 74010000 strvc r0, [r1] 2bc: 0000cb01 andeq ip, r0, r1, lsl #22 2c0: 00004000 andeq r4, r0, r0 2c1: R_ARM_ABS32 .text 2c4: 00030000 andeq r0, r3, r0 2c5: R_ARM_ABS32 .text 2c8: 00004f00 andeq r4, r0, r0, lsl #30 2c9: R_ARM_ABS32 .debug_loc 2cc: 6d621000 stcvsl 0, cr1, [r2] 2d0: 9f710100 swils 0x00710100 2d4: 6f000002 swivs 0x00000002 2d7: R_ARM_ABS32 .debug_loc 2d8: 10000000 andne r0, r0, r0 2dc: 00637273 rsbeq r7, r3, r3, ror r2 2e0: 02a57101 adceq r7, r5, #1073741824 ; 0x40000000 2e4: 008d0000 addeq r0, sp, r0 2e6: R_ARM_ABS32 .debug_loc 2e8: ac120000 ldcge 0, cr0, [r2], {0} 2eb: R_ARM_ABS32 .debug_str 2ec: 01000000 tsteq r0, r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:187 2f0: 00037572 andeq r7, r3, r2, ror r5 2f4: 0000ac00 andeq sl, r0, r0, lsl #24 2f5: R_ARM_ABS32 .debug_loc 2f8: 74631000 strvcbt r1, [r3] 2fc: 73010078 tstvc r1, #120 ; 0x78 scale_v_area(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:196 300: 000002ab andeq r0, r0, fp, lsr #5 304: 000000cb andeq r0, r0, fp, asr #1 304: R_ARM_ABS32 .debug_loc 308: 00022012 andeq r2, r2, r2, lsl r0 309: R_ARM_ABS32 .debug_str 30c: cb730100 blgt 1cc0714 <.debug_info+0x1cc0714> 310: e9000000 stmdb r0, {} 313: R_ARM_ABS32 .debug_loc 314: 13000000 tstne r0, #0 ; 0x0 318: 01007869 tsteq r0, r9, ror #16 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:202 31c: 00002f76 andeq r2, r0, r6, ror pc 320: 00010a00 andeq r0, r1, r0, lsl #20 321: R_ARM_ABS32 .debug_loc 324: 786f1300 stmvcda pc!, {r8, r9, ip}^ 328: 2f760100 swics 0x00760100 32c: 28000000 stmcsda r0, {} 32f: R_ARM_ABS32 .debug_loc 330: 13000001 tstne r0, #1 ; 0x1 334: 0065786f rsbeq r7, r5, pc, ror #16 338: 002f7601 eoreq r7, pc, r1, lsl #12 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:203 33c: 01480000 cmpeq r8, r0 33e: R_ARM_ABS32 .debug_loc 340: 6d130000 ldcvs 0, cr0, [r3] 344: 01006c75 tsteq r0, r5, ror ip /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:207 348: 00002f76 andeq r2, r0, r6, ror pc 34c: 00016800 andeq r6, r1, r0, lsl #16 34d: R_ARM_ABS32 .debug_loc /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:208 350: 00a21400 adceq r1, r2, r0, lsl #8 352: R_ARM_ABS32 .debug_str 354: 77010000 strvc r0, [r1, -r0] 358: 0000019f muleq r0, pc, r1 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:212 35c: 00008a14 andeq r8, r0, r4, lsl sl 35d: R_ARM_ABS32 .debug_str 360: 9f780100 swils 0x00780100 364: 15000001 strne r0, [r0, #-1] 368: 0000025f andeq r0, r0, pc, asr r2 368: R_ARM_ABS32 .debug_str 36c: 024f7901 subeq r7, pc, #16384 ; 0x4000 370: 55010000 strpl r0, [r1] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:213 374: 9f040600 swils 0x00040600 378: 16000001 strne r0, [r0], -r1 37c: 0000039f muleq r0, pc, r3 380: 00000027 andeq r0, r0, r7, lsr #32 380: R_ARM_ABS32 .debug_str 384: bd013d02 stclt 13, cr3, [r1, #-8] 388: 03000000 tsteq r0, #0 ; 0x0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:214 38c: 02007817 andeq r7, r0, #1507328 ; 0x170000 390: 00002f3c andeq r2, r0, ip, lsr pc 394: 00791700 rsbeqs r1, r9, r0, lsl #14 398: 002f3c02 eoreq r3, pc, r2, lsl #24 39c: 11000000 tstne r0, r0 3a0: 000004ce andeq r0, r0, lr, asr #9 3a4: 00000213 andeq r0, r0, r3, lsl r2 3a4: R_ARM_ABS32 .debug_str 3a8: cb01c401 blgt 713b4 <.debug_info+0x713b4> 3ac: 00000000 andeq r0, r0, r0 3af: R_ARM_ABS32 .text 3b0: ec000003 stc 0, cr0, [r0], {3} 3b3: R_ARM_ABS32 .text 3b4: c8000005 stmgtda r0, {r0, r2} 3b7: R_ARM_ABS32 .debug_loc /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:216 3b8: 10000001 andne r0, r0, r1 3bc: 01006d62 tsteq r0, r2, ror #26 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:218 3c0: 00029fbe streqh r9, [r2], -lr 3c4: 0001e800 andeq lr, r1, r0, lsl #16 3c5: R_ARM_ABS32 .debug_loc /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:223 3c8: 01cf1200 biceq r1, pc, r0, lsl #4 3ca: R_ARM_ABS32 .debug_str 3cc: be010000 cdplt 0, 0, cr0, cr1, cr0, {0} /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:225 3d0: 000000cb andeq r0, r0, fp, asr #1 3d4: 00000206 andeq r0, r0, r6, lsl #4 3d4: R_ARM_ABS32 .debug_loc 3d8: 63727310 cmnvs r2, #1073741824 ; 0x40000000 3dc: a5be0100 ldrge r0, [lr, #256]! 3e0: 25000002 strcs r0, [r0, #-2] 3e3: R_ARM_ABS32 .debug_loc 3e4: 12000002 andne r0, r0, #2 ; 0x2 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:226 3e8: 000002ae andeq r0, r0, lr, lsr #5 3e8: R_ARM_ABS32 .debug_str 3ec: 04cebf01 streqb fp, [lr], #3841 3f0: 02440000 subeq r0, r4, #0 ; 0x0 3f2: R_ARM_ABS32 .debug_loc 3f4: e1180000 tst r8, r0 3f7: R_ARM_ABS32 .debug_str 3f8: 01000000 tsteq r0, r0 3fc: 0004f8c2 andeq pc, r4, r2, asr #17 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:225 400: c47d0300 ldrgtbt r0, [sp], #-768 404: 74631900 strvcbt r1, [r3], #-2304 408: c3010078 tstgt r1, #120 ; 0x78 40c: 000002ab andeq r0, r0, fp, lsr #5 410: 00c87d03 sbceq r7, r8, r3, lsl #26 414: 6c756d13 ldcvsl 13, cr6, [r5], #-76 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:230 418: 21c50100 biccs r0, r5, r0, lsl #2 41c: 63000000 tstvs r0, #0 ; 0x0 41f: R_ARM_ABS32 .debug_loc 420: 15000002 strne r0, [r0, #-2] 424: 000000b5 streqh r0, [r0], -r5 424: R_ARM_ABS32 .debug_str 428: 0021c501 eoreq ip, r1, r1, lsl #10 42c: 7d020000 stcvc 0, cr0, [r2] 430: 00781310 rsbeqs r1, r8, r0, lsl r3 434: 0021c501 eoreq ip, r1, r1, lsl #10 438: 02970000 addeqs r0, r7, #0 ; 0x0 43a: R_ARM_ABS32 .debug_loc 43c: 6f1a0000 swivs 0x001a0000 440: c5010079 strgt r0, [r1, #-121] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:235 444: 00000021 andeq r0, r0, r1, lsr #32 448: 1a147d02 bne 51f858 <.debug_info+0x51f858> /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:236 44c: 01007969 tsteq r0, r9, ror #18 450: 000021c5 andeq r2, r0, r5, asr #3 454: 187d0200 ldmneda sp!, {r9}^ 458: 65796f1a ldrvsb r6, [r9, #-3866]! 45c: 21c50100 biccs r0, r5, r0, lsl #2 460: 01000000 tsteq r0, r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:239 464: 0134155a teqeq r4, sl, asr r5 466: R_ARM_ABS32 .debug_str 468: c5010000 strgt r0, [r1] 46c: 00000021 andeq r0, r0, r1, lsr #32 470: 151c7d02 ldrne r7, [ip, #-3330] 474: 00000040 andeq r0, r0, r0, asr #32 474: R_ARM_ABS32 .debug_str 478: 0028c601 eoreq ip, r8, r1, lsl #12 47c: 58010000 stmplda r1, {} 480: 0100721b tsteq r0, fp, lsl r2 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:236 484: 000028c6 andeq r2, r0, r6, asr #17 488: 00671b00 rsbeq r1, r7, r0, lsl #22 48c: 0028c601 eoreq ip, r8, r1, lsl #12 490: 621b0000 andvss r0, fp, #0 ; 0x0 494: 28c60100 stmcsia r6, {r8}^ 498: 1a000000 bne 4a0 <.debug_info+0x4a0> /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:245 49c: 00776f72 rsbeqs r6, r7, r2, ror pc 4a0: 0058c701 subeqs ip, r8, r1, lsl #14 4a4: 59010000 stmpldb r1, {} 4a8: 7869701b stmvcda r9!, {r0, r1, r3, r4, ip, sp, lr}^ 4ac: 58c70100 stmplia r7, {r8}^ 4b0: 15000000 strne r0, [r0] 4b4: 00000094 muleq r0, r4, r0 4b4: R_ARM_ABS32 .debug_str 4b8: 0375cf01 cmneq r5, #4 ; 0x4 4bc: 56010000 strpl r0, [r1], -r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:247 4c0: 00005015 andeq r5, r0, r5, lsl r0 4c1: R_ARM_ABS32 .debug_str 4c4: 75d00100 ldrvcb r0, [r0, #256] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:248 4c8: 01000003 tsteq r0, r3 4cc: 04060057 streq r0, [r6], #-87 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:249 4d0: 00000139 andeq r0, r0, r9, lsr r1 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:250 4d4: 0004f80d andeq pc, r4, sp, lsl #16 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:251 4d8: 00cb0100 sbceq r0, fp, r0, lsl #2 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:252 4dc: 9f0e0000 swils 0x000e0000 4e0: 0e000002 cdpeq 0, 0, cr0, cr0, cr2, {0} 4e4: 000002a5 andeq r0, r0, r5, lsr #5 4e8: 0003750e andeq r7, r3, lr, lsl #10 4ec: 02ab0e00 adceq r0, fp, #0 ; 0x0 4f0: cb0e0000 blgt 3804f8 <.debug_info+0x3804f8> 4f4: 00000000 andeq r0, r0, r0 4f8: 04d40406 ldreqb r0, [r4], #1030 4fc: 461c0000 ldrmi r0, [ip], -r0 500: 8b000005 blhi 1c <.debug_info+0x1c> 503: R_ARM_ABS32 .debug_str 504: 01000002 tsteq r0, r2 508: ec010114 stfs f0, [r1], {20} 50b: R_ARM_ABS32 .text 50c: 2c000005 stccs 0, cr0, [r0], {5} 50f: R_ARM_ABS32 .text 510: 02000006 andeq r0, r0, #6 ; 0x6 514: 621d007d andvss r0, sp, #125 ; 0x7d 518: 1201006d andne r0, r1, #109 ; 0x6d /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:245 51c: 00029f01 andeq r9, r2, r1, lsl #30 520: 0002ec00 andeq lr, r2, r0, lsl #24 521: R_ARM_ABS32 .debug_loc 524: 72731d00 rsbvcs r1, r3, #0 ; 0x0 528: 12010063 andne r0, r1, #99 ; 0x63 52c: 0002a501 andeq sl, r2, r1, lsl #10 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:255 530: 00030a00 andeq r0, r3, r0, lsl #20 531: R_ARM_ABS32 .debug_loc 534: 74631d00 strvcbt r1, [r3], #-3328 538: 13010078 tstne r1, #120 ; 0x78 53c: 0002ab01 andeq sl, r2, r1, lsl #22 540: 00031d00 andeq r1, r3, r0, lsl #26 541: R_ARM_ABS32 .debug_loc 544: 041e0000 ldreq r0, [lr] 548: 5c000006 stcpl 0, cr0, [r0], {6} 54b: R_ARM_ABS32 .debug_str /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:257 54c: 01000001 tsteq r0, r1 550: cb01011e blgt 409d0 <.debug_info+0x409d0> 554: 2c000000 stccs 0, cr0, [r0], {0} 557: R_ARM_ABS32 .text 558: ac000006 stcge 0, cr0, [r0], {6} 55b: R_ARM_ABS32 .text 55c: 3b000008 blcc 28 <.debug_info+0x28> 55f: R_ARM_ABS32 .debug_loc /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:258 560: 1d000003 stcne 0, cr0, [r0, #-12] 564: 01006d62 tsteq r0, r2, ror #26 568: 029f011b addeqs r0, pc, #-1073741818 ; 0xc0000006 56c: 035b0000 cmpeq fp, #0 ; 0x0 56e: R_ARM_ABS32 .debug_loc 570: 731d0000 tstvc sp, #0 ; 0x0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:262 574: 01006372 tsteq r0, r2, ror r3 578: 02a5011b adceq r0, r5, #-1073741818 ; 0xc0000006 57c: 037a0000 cmneq sl, #0 ; 0x0 57e: R_ARM_ABS32 .debug_loc 580: ac1f0000 ldcge 0, cr0, [pc], {0} 583: R_ARM_ABS32 .debug_str 584: 01000000 tsteq r0, r0 588: 0375011c cmneq r5, #7 ; 0x7 58c: 03990000 orreqs r0, r9, #0 ; 0x0 58e: R_ARM_ABS32 .debug_loc 590: 631d0000 tstvs sp, #0 ; 0x0 594: 01007874 tsteq r0, r4, ror r8 598: 02ab011d adceq r0, fp, #1073741831 ; 0x40000007 59c: 03cd0000 biceq r0, sp, #0 ; 0x0 59e: R_ARM_ABS32 .debug_loc /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:214 5a0: 201f0000 andcss r0, pc, r0 5a3: R_ARM_ABS32 .debug_str 5a4: 01000002 tsteq r0, r2 5a8: 00cb011d sbceq r0, fp, sp, lsl r1 5ac: 03eb0000 mvneq r0, #0 ; 0x0 5ae: R_ARM_ABS32 .debug_loc 5b0: 69200000 stmvsdb r0!, {} 5b4: 1f010078 swine 0x00010078 5b8: 00002f01 andeq r2, r0, r1, lsl #30 5bc: 107d0200 rsbnes r0, sp, r0, lsl #4 5c0: 00786f20 rsbeqs r6, r8, r0, lsr #30 5c4: 2f011f01 swics 0x00011f01 5c8: 02000000 andeq r0, r0, #0 ; 0x0 5cc: 6920147d stmvsdb r0!, {r0, r2, r3, r4, r5, r6, sl, ip} 5d0: 01006578 tsteq r0, r8, ror r5 5d4: 002f011f eoreq r0, pc, pc, lsl r1 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:267 5d8: 56010000 strpl r0, [r1], -r0 5dc: 0002a721 andeq sl, r2, r1, lsr #14 5dd: R_ARM_ABS32 .debug_str 5e0: 01240100 teqeq r4, r0, lsl #2 5e4: 0000019f muleq r0, pc, r1 5e8: 00016b21 andeq r6, r1, r1, lsr #22 5e9: R_ARM_ABS32 .debug_str scale_h_linear_setup(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:276 5ec: 01240100 teqeq r4, r0, lsl #2 5f0: 0000019f muleq r0, pc, r1 5f4: 00025f22 andeq r5, r2, r2, lsr #30 5f5: R_ARM_ABS32 .debug_str /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:278 5f8: 01250100 teqeq r5, r0, lsl #2 5fc: 0000024f andeq r0, r0, pc, asr #4 600: 00187d02 andeqs r7, r8, r2, lsl #26 604: 0007421e andeq r4, r7, lr, lsl r2 608: 00027600 andeq r7, r2, r0, lsl #12 609: R_ARM_ABS32 .debug_str 60c: 016d0100 cmneq sp, r0, lsl #2 610: 0000cb01 andeq ip, r0, r1, lsl #22 614: 0008ac00 andeq sl, r8, r0, lsl #24 615: R_ARM_ABS32 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:279 618: 000b8c00 andeq r8, fp, r0, lsl #24 619: R_ARM_ABS32 .text 61c: 00040b00 andeq r0, r4, r0, lsl #22 61d: R_ARM_ABS32 .debug_loc 620: 6d621d00 stcvsl 13, cr1, [r2] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:280 624: 01670100 cmneq r7, r0, lsl #2 628: 0000029f muleq r0, pc, r2 scale_h_linear(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:286 62c: 0000042b andeq r0, r0, fp, lsr #8 62c: R_ARM_ABS32 .debug_loc 630: 0001cf1f andeq ip, r1, pc, lsl pc 631: R_ARM_ABS32 .debug_str 634: 01670100 cmneq r7, r0, lsl #2 638: 000000cb andeq r0, r0, fp, asr #1 63c: 00000449 andeq r0, r0, r9, asr #8 63c: R_ARM_ABS32 .debug_loc 640: 6372731d cmnvs r2, #1946157056 ; 0x74000000 644: 01670100 cmneq r7, r0, lsl #2 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:295 648: 000002a5 andeq r0, r0, r5, lsr #5 64c: 00000468 andeq r0, r0, r8, ror #8 64c: R_ARM_ABS32 .debug_loc 650: 0002ae1f andeq sl, r2, pc, lsl lr 651: R_ARM_ABS32 .debug_str 654: 01680100 cmneq r8, r0, lsl #2 658: 000004ce andeq r0, r0, lr, asr #9 65c: 00000487 andeq r0, r0, r7, lsl #9 65c: R_ARM_ABS32 .debug_loc /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:298 660: 0000e123 andeq lr, r0, r3, lsr #2 661: R_ARM_ABS32 .debug_str 664: 016b0100 cmneq fp, r0, lsl #2 668: 000004f8 streqd r0, [r0], -r8 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:299 66c: 00dc7d03 sbceqs r7, ip, r3, lsl #26 670: 78746324 ldmvcda r4!, {r2, r5, r8, r9, sp, lr}^ 674: 016c0100 cmneq ip, r0, lsl #2 678: 000002ab andeq r0, r0, fp, lsr #5 67c: 00e07d03 rsceq r7, r0, r3, lsl #26 680: 6c756d25 ldcvsl 13, cr6, [r5], #-148 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:300 684: 016e0100 cmneq lr, r0, lsl #2 688: 00000021 andeq r0, r0, r1, lsr #32 68c: 0000b522 andeq fp, r0, r2, lsr #10 68d: R_ARM_ABS32 .debug_str /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:303 690: 016e0100 cmneq lr, r0, lsl #2 694: 00000021 andeq r0, r0, r1, lsr #32 698: 78265601 stmvcda r6!, {r0, r9, sl, ip, lr} 69c: 016e0100 cmneq lr, r0, lsl #2 6a0: 00000021 andeq r0, r0, r1, lsr #32 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:305 6a4: 000004a6 andeq r0, r0, r6, lsr #9 6a4: R_ARM_ABS32 .debug_loc 6a8: 00796f26 rsbeqs r6, r9, r6, lsr #30 6ac: 21016e01 tstcs r1, r1, lsl #28 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:306 6b0: c4000000 strgt r0, [r0] 6b3: R_ARM_ABS32 .debug_loc 6b4: 26000004 strcs r0, [r0], -r4 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:311 6b8: 01007969 tsteq r0, r9, ror #18 6bc: 0021016e eoreq r0, r1, lr, ror #2 6c0: 04e40000 streqbt r0, [r4] 6c2: R_ARM_ABS32 .debug_loc 6c4: 69200000 stmvsdb r0!, {} /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:312 6c8: 01006579 tsteq r0, r9, ror r5 6cc: 0021016e eoreq r0, r1, lr, ror #2 6d0: 5a010000 bpl 406d8 <.debug_info+0x406d8> 6d4: 00013422 andeq r3, r1, r2, lsr #8 6d5: R_ARM_ABS32 .debug_str /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:313 6d8: 016e0100 cmneq lr, r0, lsl #2 6dc: 00000021 andeq r0, r0, r1, lsr #32 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:314 6e0: 27247d02 strcs r7, [r4, -r2, lsl #26]! 6e4: 00000040 andeq r0, r0, r0, asr #32 6e4: R_ARM_ABS32 .debug_str /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:315 6e8: 28016f01 stmcsda r1, {r0, r8, r9, sl, fp, sp, lr} 6ec: 04000000 streq r0, [r0] 6ef: R_ARM_ABS32 .debug_loc 6f0: 25000005 strcs r0, [r0, #-5] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:316 6f4: 70010070 andvc r0, r1, r0, ror r0 6f8: 00019f01 andeq r9, r1, r1, lsl #30 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:317 6fc: 6f722000 swivs 0x00722000 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:318 700: 71010077 tstvc r1, r7, ror r0 704: 00005801 andeq r5, r0, r1, lsl #16 708: 2c7d0200 lfmcs f0, 2, [sp] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:320 70c: 78697025 stmvcda r9!, {r0, r2, r5, ip, sp, lr}^ 710: 01710100 cmneq r1, r0, lsl #2 714: 00000058 andeq r0, r0, r8, asr r0 718: 00023e22 andeq r3, r2, r2, lsr #28 719: R_ARM_ABS32 .debug_str 71c: 017b0100 cmneq fp, r0, lsl #2 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:321 720: 00000375 andeq r0, r0, r5, ror r3 724: 27307d02 ldrcs r7, [r0, -r2, lsl #26]! 728: 00000244 andeq r0, r0, r4, asr #4 728: R_ARM_ABS32 .debug_str /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:322 72c: 75017c01 strvc r7, [r1, #-3073] 730: 24000003 strcs r0, [r0], #-3 733: R_ARM_ABS32 .debug_loc 734: 25000005 strcs r0, [r0, #-5] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:324 738: 7d010074 stcvc 0, cr0, [r1, #-464] 73c: 00037501 andeq r7, r3, r1, lsl #10 740: 73160000 tstvc r6, #0 ; 0x0 744: 32000007 andcc r0, r0, #7 ; 0x7 747: R_ARM_ABS32 .debug_str 748: 02000000 andeq r0, r0, #0 ; 0x0 74c: 002801ab eoreq r0, r8, fp, lsr #3 750: 17030000 strne r0, [r3, -r0] 754: 02006d62 andeq r6, r0, #6272 ; 0x1880 758: 00029faa andeq r9, r2, sl, lsr #31 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:325 75c: 02072800 andeq r2, r7, #0 ; 0x0 75e: R_ARM_ABS32 .debug_str 760: aa020000 bge 80768 <.debug_info+0x80768> 764: 000000cb andeq r0, r0, fp, asr #1 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:326 768: 007a731b rsbeqs r7, sl, fp, lsl r3 76c: 0028ac02 eoreq sl, r8, r2, lsl #24 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:327 770: 16000000 strne r0, [r0], -r0 774: 000007bb streqh r0, [r0], -fp /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:331 778: 00000009 andeq r0, r0, r9 778: R_ARM_ABS32 .debug_str 77c: 28017f02 stmcsda r1, {r1, r8, r9, sl, fp, ip, sp, lr} 780: 03000000 tsteq r0, #0 ; 0x0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:332 784: 006d6217 rsbeq r6, sp, r7, lsl r2 788: 029f7e02 addeqs r7, pc, #32 ; 0x20 78c: 07280000 streq r0, [r8, -r0]! 78f: R_ARM_ABS32 .debug_str /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:333 790: 02000002 andeq r0, r0, #2 ; 0x2 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:336 794: 0000cb7e andeq ip, r0, lr, ror fp 798: 00db1400 sbceqs r1, fp, r0, lsl #8 79a: R_ARM_ABS32 .debug_str 79c: 80020000 andhi r0, r2, r0 7a0: 000007bb streqh r0, [r0], -fp 7a4: 00008314 andeq r8, r0, r4, lsl r3 7a5: R_ARM_ABS32 .debug_str /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:337 7a8: bb820200 bllt fe080fb0 <.debug_info+0xfe080fb0> 7ac: 14000007 strne r0, [r0], #-7 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:338 7b0: 000000ef andeq r0, r0, pc, ror #1 7b0: R_ARM_ABS32 .debug_str 7b4: 00288402 eoreq r8, r8, r2, lsl #8 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:341 7b8: 29000000 stmcsdb r0, {} 7bc: 00000028 andeq r0, r0, r8, lsr #32 7c0: 00080816 andeq r0, r8, r6, lsl r8 7c4: 00011b00 andeq r1, r1, r0, lsl #22 7c5: R_ARM_ABS32 .debug_str 7c8: 01530200 cmpeq r3, r0, lsl #4 7cc: 00000028 andeq r0, r0, r8, lsr #32 7d0: 6d621703 stcvsl 7, cr1, [r2, #-12]! 7d4: 9f520200 swils 0x00520200 7d8: 28000002 stmcsda r0, {r1} 7dc: 00000207 andeq r0, r0, r7, lsl #4 7dc: R_ARM_ABS32 .debug_str /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:344 7e0: 00cb5202 sbceq r5, fp, r2, lsl #4 7e4: b3140000 tstlt r4, #0 ; 0x0 7e7: R_ARM_ABS32 .debug_str 7e8: 02000002 andeq r0, r0, #2 ; 0x2 7ec: 0007bb54 andeq fp, r7, r4, asr fp 7f0: 00831400 addeq r1, r3, r0, lsl #8 7f2: R_ARM_ABS32 .debug_str 7f4: 56020000 strpl r0, [r2], -r0 7f8: 000007bb streqh r0, [r0], -fp 7fc: 00017214 andeq r7, r1, r4, lsl r2 7fd: R_ARM_ABS32 .debug_str 800: 28580200 ldmcsda r8, {r9}^ 804: 00000000 andeq r0, r0, r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:347 808: 0009d22a andeq sp, r9, sl, lsr #4 80c: 006a0100 rsbeq r0, sl, r0, lsl #2 80e: R_ARM_ABS32 .debug_str 810: a9010000 stmgedb r1, {} 814: 00280102 eoreq r0, r8, r2, lsl #2 818: 0b8c0000 bleq fe300008 <.debug_info+0xfe300008> 81a: R_ARM_ABS32 .text 81c: 0cf40000 ldceql 0, cr0, [r4] 81e: R_ARM_ABS32 .text 820: 05590000 ldreqb r0, [r9] 822: R_ARM_ABS32 .debug_loc 824: 621d0000 andvss r0, sp, #0 ; 0x0 828: a101006d tstge r1, sp, rrx 82c: 00029f02 andeq r9, r2, r2, lsl #30 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:350 830: 00057900 andeq r7, r5, r0, lsl #18 831: R_ARM_ABS32 .debug_loc 834: 01cf1f00 biceq r1, pc, r0, lsl #30 836: R_ARM_ABS32 .debug_str 838: a1010000 tstge r1, r0 83c: 0000cb02 andeq ip, r0, r2, lsl #22 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:351 840: 0005ad00 andeq sl, r5, r0, lsl #26 841: R_ARM_ABS32 .debug_loc 844: 72731d00 rsbvcs r1, r3, #0 ; 0x0 848: a1010063 tstge r1, r3, rrx 84c: 0002a502 andeq sl, r2, r2, lsl #10 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:352 850: 0005cb00 andeq ip, r5, r0, lsl #22 851: R_ARM_ABS32 .debug_loc 854: 02ae1f00 adceq r1, lr, #0 ; 0x0 856: R_ARM_ABS32 .debug_str /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:353 858: a2010000 andge r0, r1, #0 ; 0x0 85c: 0004ce02 andeq ip, r4, r2, lsl #28 860: 0005ff00 andeq pc, r5, r0, lsl #30 861: R_ARM_ABS32 .debug_loc 864: 02072300 andeq r2, r7, #0 ; 0x0 866: R_ARM_ABS32 .debug_str /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:299 868: a2010000 andge r0, r1, #0 ; 0x0 86c: 0000cb02 andeq ip, r0, r2, lsl #22 870: cc7d0300 ldcgtl 3, cr0, [sp] 874: 75621d00 strvcb r1, [r2, #-3328]! 878: a4010066 strge r0, [r1], #-102 87c: 0000b702 andeq fp, r0, r2, lsl #14 880: 00061e00 andeq r1, r6, r0, lsl #28 881: R_ARM_ABS32 .debug_loc 884: 656c1d00 strvsb r1, [ip, #-3328]! 888: a401006e strge r0, [r1], #-110 88c: 00002f02 andeq r2, r0, r2, lsl #30 890: 00066300 andeq r6, r6, r0, lsl #6 891: R_ARM_ABS32 .debug_loc 894: 01432300 cmpeq r3, r0, lsl #6 896: R_ARM_ABS32 .debug_str 898: a6010000 strge r0, [r1], -r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:356 89c: 00025502 andeq r5, r2, r2, lsl #10 8a0: 23530100 cmpcs r3, #0 ; 0x0 8a4: 00000129 andeq r0, r0, r9, lsr #2 8a4: R_ARM_ABS32 .debug_str 8a8: e702a701 str sl, [r2, -r1, lsl #14] scale_v_linear(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:365 8ac: 03000009 tsteq r0, #9 ; 0x9 8b0: 2300dc7d tstcs r0, #32000 ; 0x7d00 8b4: 00000271 andeq r0, r0, r1, ror r2 8b4: R_ARM_ABS32 .debug_str 8b8: 4402a801 strmi sl, [r2], #-2049 8bc: 01000000 tsteq r0, r0 8c0: 09402b53 stmeqdb r0, {r0, r1, r4, r6, r8, r9, fp, sp}^ 8c4: 0ba80000 bleq fea00008 <.debug_info+0xfea00008> 8c6: R_ARM_ABS32 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:371 8c8: 0cbc0000 ldceq 0, cr0, [ip] 8ca: R_ARM_ABS32 .text 8cc: 73200000 teqvc r0, #0 ; 0x0 8d0: b4010077 strlt r0, [r1], #-119 8d4: 0007bb02 andeq fp, r7, r2, lsl #22 8d8: 20570100 subcss r0, r7, r0, lsl #2 8dc: 01006873 tsteq r0, r3, ror r8 8e0: 07bb02b5 undefined 8e4: 59010000 stmpldb r1, {} /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:372 8e8: 00776426 rsbeqs r6, r7, r6, lsr #8 8ec: bb02b601 bllt ae0f8 <.debug_info+0xae0f8> /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:375 8f0: 83000007 tsthi r0, #7 ; 0x7 8f3: R_ARM_ABS32 .debug_loc /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:379 8f4: 20000006 andcs r0, r0, r6 8f8: 01006864 tsteq r0, r4, ror #16 8fc: 07bb02b7 undefined /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:380 900: 5a010000 bpl 40908 <.debug_info+0x40908> 904: 74657226 strvcbt r7, [r5], #-550 908: 02b90100 adceqs r0, r9, #0 ; 0x0 90c: 00000028 andeq r0, r0, r8, lsr #32 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:384 910: 000006ac andeq r0, r0, ip, lsr #13 910: R_ARM_ABS32 .debug_loc 914: 00010c21 andeq r0, r1, r1, lsr #24 915: R_ARM_ABS32 .debug_str 918: 02ba0100 adceqs r0, sl, #0 ; 0x0 91c: 0000002f andeq r0, r0, pc, lsr #32 920: 0000e127 andeq lr, r0, r7, lsr #2 921: R_ARM_ABS32 .debug_str 924: 02d90100 sbceqs r0, r9, #0 ; 0x0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:386 928: 000004f8 streqd r0, [r0], -r8 92c: 000006ca andeq r0, r0, sl, asr #13 92c: R_ARM_ABS32 .debug_loc 930: 78746320 ldmvcda r4!, {r5, r8, r9, sp, lr}^ 934: 02da0100 sbceqs r0, sl, #0 ; 0x0 938: 000001d0 ldreqd r0, [r0], -r0 93c: 000c7d02 andeq r7, ip, r2, lsl #26 940: 0007422c andeq r4, r7, ip, lsr #4 944: 000cbc00 andeq fp, ip, r0, lsl #24 945: R_ARM_ABS32 .text 948: 000cd400 andeq sp, ip, r0, lsl #8 949: R_ARM_ABS32 .text 94c: 075d2d00 ldreqb r2, [sp, -r0, lsl #26] 950: 532d0000 teqpl sp, #0 ; 0x0 954: 2e000007 cdpcs 0, 0, cr0, cr0, cr7, {0} 958: 00000cbc streqh r0, [r0], -ip 958: R_ARM_ABS32 .text 95c: 00000cd4 ldreqd r0, [r0], -r4 95c: R_ARM_ABS32 .text 960: 0007682f andeq r6, r7, pc, lsr #16 964: 099c3000 ldmeqib ip, {ip, sp} 968: 07730000 ldreqb r0, [r3, -r0]! 96c: 0cbc0000 ldceq 0, cr0, [ip] 96e: R_ARM_ABS32 .text 970: 0cbc0000 ldceq 0, cr0, [ip] 972: R_ARM_ABS32 .text 974: 8e2d0000 cdphi 0, 2, cr0, cr13, cr0, {0} /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:390 978: 2d000007 stccs 0, cr0, [r0, #-28] 97c: 00000784 andeq r0, r0, r4, lsl #15 980: 000cbc2e andeq fp, ip, lr, lsr #24 981: R_ARM_ABS32 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:396 984: 000cbc00 andeq fp, ip, r0, lsl #24 985: R_ARM_ABS32 .text 988: 07992f00 ldreq r2, [r9, r0, lsl #30] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:397 98c: a42f0000 strget r0, [pc], #0 ; 994 <.debug_info+0x994> 990: 31000007 tstcc r0, r7 994: 000007af andeq r0, r0, pc, lsr #15 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:398 998: 00005101 andeq r5, r0, r1, lsl #2 99c: 0007c02c andeq ip, r7, ip, lsr #32 9a0: 000cbc00 andeq fp, ip, r0, lsl #24 9a1: R_ARM_ABS32 .text 9a4: 000ccc00 andeq ip, ip, r0, lsl #24 9a5: R_ARM_ABS32 .text 9a8: 07db2d00 ldreqb r2, [fp, r0, lsl #26] 9ac: d12d0000 teqle sp, r0 9b0: 2e000007 cdpcs 0, 0, cr0, cr0, cr7, {0} 9b4: 00000cbc streqh r0, [r0], -ip 9b4: R_ARM_ABS32 .text 9b8: 00000ccc andeq r0, r0, ip, asr #25 9b8: R_ARM_ABS32 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:400 9bc: 0007e62f andeq lr, r7, pc, lsr #12 9c0: 07f12f00 ldreqb r2, [r1, r0, lsl #30]! 9c4: fc310000 ldc2 0, cr0, [r1] 9c8: 01000007 tsteq r0, r7 9cc: 00000052 andeq r0, r0, r2, asr r0 9d0: e70d0000 str r0, [sp, -r0] 9d4: 01000009 tsteq r0, r9 9d8: 000000cb andeq r0, r0, fp, asr #1 9dc: 0000440e andeq r4, r0, lr, lsl #8 9e0: 002f0e00 eoreq r0, pc, r0, lsl #28 9e4: 06000000 streq r0, [r0], -r0 9e8: 0009d204 andeq sp, r9, r4, lsl #4 9ec: 02263200 eoreq r3, r6, #0 ; 0x0 9ee: R_ARM_ABS32 .debug_str 9f0: c7050000 strgt r0, [r5, -r0] 9f4: 000009fa streqd r0, [r0], -sl /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:405 9f8: 36330101 ldrcct r0, [r3], -r1, lsl #2 9fc: 34000000 strcc r0, [r0] a00: 00000a0f andeq r0, r0, pc, lsl #20 a04: 00000a11 andeq r0, r0, r1, lsl sl a08: 0000c435 andeq ip, r0, r5, lsr r4 a0c: 36000800 strcc r0, [r0], -r0, lsl #16 a10: 0f040601 swieq 0x00040601 a14: 3200000a andcc r0, r0, #10 ; 0xa a18: 000001f4 streqd r0, [r0], -r4 a18: R_ARM_ABS32 .debug_str a1c: 09ffcc05 ldmeqib pc!, {r0, r2, sl, fp, lr, pc}^ a20: 01010000 tsteq r1, r0 a24: 000a3a34 andeq r3, sl, r4, lsr sl /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:411 a28: 0000bd00 andeq fp, r0, r0, lsl #26 a2c: 00c43500 sbceq r3, r4, r0, lsl #10 a30: 350f0000 strcc r0, [pc, #0] ; a38 <.debug_info+0xa38> a34: 000000c4 andeq r0, r0, r4, asr #1 a38: 4e32000f cdpmi 0, 3, cr0, cr2, cr15, {0} a3b: R_ARM_ABS32 .debug_str a3c: 02000001 andeq r0, r0, #1 ; 0x1 a40: 000a473b andeq r4, sl, fp, lsr r7 a44: 29010100 stmcsdb r1, {r8} a48: 00000a24 andeq r0, r0, r4, lsr #20 ... Disassembly of section .debug_line: 00000000 <.debug_line>: scale_h_area_setup(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:105 0: 000001c5 andeq r0, r0, r5, asr #3 4: 00b20002 adceqs r0, r2, r2 8: 01020000 tsteq r2, r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:108 c: 000a0efb streqd r0, [sl], -fp 10: 01010101 tsteq r1, r1, lsl #2 14: 01000000 tsteq r0, r0 18: 6d6f682f stcvsl 8, cr6, [pc, #-188]! 1c: 69612f65 stmvsdb r1!, {r0, r2, r5, r6, r8, r9, sl, fp, sp}^ 20: 61686564 cmnvs r8, r4, ror #10 24: 732f6172 teqvc pc, #-2147483620 ; 0x8000001c /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:109 28: 722f6372 eorvc r6, pc, #-939524095 ; 0xc8000001 2c: 626b636f rsbvs r6, fp, #-1140850687 ; 0xbc000001 30: 732f786f teqvc pc, #7274496 ; 0x6f0000 34: 722f6e76 eorvc r6, pc, #1888 ; 0x760 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:110 38: 626b636f rsbvs r6, fp, #-1140850687 ; 0xbc000001 3c: 612f786f teqvs pc, pc, ror #16 scale_h_area(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:116 40: 2f737070 swics 0x00737070 44: 6f636572 swivs 0x00636572 48: 72656472 rsbvc r6, r5, #1912602624 ; 0x72000000 4c: 6f682f00 swivs 0x00682f00 50: 612f656d teqvs pc, sp, ror #10 54: 68656469 stmvsda r5!, {r0, r3, r5, r6, sl, sp, lr}^ 58: 2f617261 swics 0x00617261 5c: 2f637273 swics 0x00637273 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:122 60: 6b636f72 blvs 18dbe30 <.debug_line+0x18dbe30> 64: 2f786f62 swics 0x00786f62 68: 2f6e7673 swics 0x006e7673 6c: 6b636f72 blvs 18dbe3c <.debug_line+0x18dbe3c> 70: 2f786f62 swics 0x00786f62 74: 6d726966 ldcvsl 9, cr6, [r2, #-408]! 78: 65726177 ldrvsb r6, [r2, #-375]! 7c: 7078652f rsbvcs r6, r8, pc, lsr #10 80: 0074726f rsbeqs r7, r4, pc, ror #4 84: 73657200 cmnvc r5, #0 ; 0x0 88: 2e657a69 fnmulscs s15, s10, s19 8c: 00010063 andeq r0, r1, r3, rrx 90: 706d6200 rsbvc r6, sp, r0, lsl #4 94: 0100682e tsteq r0, lr, lsr #16 98: 636c0000 cmnvs ip, #0 ; 0x0 9c: 00682e64 rsbeq r2, r8, r4, ror #28 a0: 72000002 andvc r0, r0, #2 ; 0x2 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:128 a4: 7a697365 bvc 1a5ce40 <.debug_line+0x1a5ce40> a8: 00682e65 rsbeq r2, r8, r5, ror #28 ac: 6b000001 blvs b8 <.debug_line+0xb8> b0: 656e7265 strvsb r7, [lr, #-613]! /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:130 b4: 00682e6c rsbeq r2, r8, ip, ror #28 b8: 00000002 andeq r0, r0, r2 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:133 bc: 00020500 andeq r0, r2, r0, lsl #10 bf: R_ARM_ABS32 .text c0: 03000000 tsteq r0, #0 ; 0x0 c4: 660100e8 strvs r0, [r1], -r8, ror #1 c8: f54d80d4 strnvb r8, [sp, #-212] cc: 81152202 tsthi r5, r2, lsl #4 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:135 d0: 4c649d4a stcmil 13, cr9, [r4], #-296 d4: 8180809d strhib r8, [r0, sp] d8: 48641f08 stmmida r4!, {r3, r8, r9, sl, fp, ip}^ /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:136 dc: 64642c48 strvsbt r2, [r4], #-3144 e0: 08494848 stmeqda r9, {r3, r6, fp, lr}^ /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:141 e4: 083c0890 ldmeqda ip!, {r4, r7, fp} e8: 08f3485c ldmeqia r3!, {r2, r3, r4, r6, fp, lr}^ ec: 8080641f addhi r6, r0, pc, lsl r4 f0: 6347032c cmpvs r7, #-1342177280 ; 0xb0000000 f4: fd083d03 stc2 13, cr3, [r8, #-12] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:143 f8: d97f0903 ldmledb pc!, {r0, r1, r8, fp}^ fc: 674867f0 undefined 100: 5708b8b8 undefined 104: b8494c49 stmltda r9, {r0, r3, r6, sl, fp, lr}^ /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:144 108: 5a08bcb6 bpl 22f3e8 <.debug_line+0x22f3e8> 10c: 03ecba48 mvneq fp, #294912 ; 0x48000 110: 1f08b709 swine 0x0008b709 114: 2c2c4848 stccs 8, cr4, [ip], #-288 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:145 118: 0879032c ldmeqda r9!, {r2, r3, r5, r8, r9}^ 11c: 9b0a03e1 blls 2810a8 <.debug_line+0x2810a8> 120: 039f9cd5 orreqs r9, pc, #54528 ; 0xd500 124: 03550850 cmpeq r5, #5242880 ; 0x500000 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:147 128: 03a90835 moveq r0, #3473408 ; 0x350000 12c: f0659b09 rsbnv r9, r5, r9, lsl #22 130: 09034d64 stmeqdb r3, {r2, r5, r6, r8, sl, fp, lr} 134: b864bad3 stmltda r4!, {r0, r1, r4, r6, r7, r9, fp, ip, sp, pc}^ 138: 4c649d66 stcmil 13, cr9, [r4], #-408 13c: 48488080 stmmida r8, {r7, pc}^ 140: 652c4864 strvs r4, [ip, #-2148]! 144: 0865649c stmeqda r5!, {r2, r3, r4, r7, sl, sp, lr}^ 148: 4b48641e blmi 12191c8 <.debug_line+0x12191c8> /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:149 14c: 9c2e6464 cfstrsls mvf6, [lr], #-400 150: 3c084a48 stccc 10, cr4, [r8], {72} 154: 3c083c08 stccc 12, cr3, [r8], {8} /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:150 158: 03488080 cmpeq r8, #128 ; 0x80 15c: 39037f4a stmccdb r3, {r1, r3, r6, r8, r9, sl, fp, ip, sp, lr} /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:151 160: 09038d08 stmeqdb r3, {r3, r8, sl, fp, pc} 164: 4af0d97f bmi ffc36768 <.debug_line+0xffc36768> /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:152 168: b983642f stmltib r3, {r0, r1, r2, r3, r5, sl, sp, lr} /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:153 16c: 69132802 ldmvsdb r3, {r1, fp, sp} 170: 1f086448 swine 0x00086448 174: 7708ca08 strvc ip, [r8, -r8, lsl #20] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:154 178: 08d55708 ldmeqia r5, {r3, r8, r9, sl, ip, lr}^ 17c: 03834820 orreq r4, r3, #2097152 ; 0x200000 180: 0126026e teqeq r6, lr, ror #4 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:155 184: b8b71403 ldmltia r7!, {r0, r1, sl, ip} 188: 037f5a03 cmneq pc, #12288 ; 0x3000 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:156 18c: 03fd0829 mvneqs r0, #2686976 ; 0x290000 190: 037f01fc cmneq pc, #63 ; 0x3f /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:157 194: 2c2cd30b stccs 3, cr13, [ip], #-44 198: 12034c2f andne r4, r3, #12032 ; 0x2f00 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:159 19c: d30a0347 tstle sl, #469762049 ; 0x1c000001 1a0: bb4b8164 bllt 12e0738 <.debug_line+0x12e0738> 1a4: 494b489e stmmidb fp, {r1, r2, r3, r4, r7, fp, lr}^ 1a8: 3c08492d stccc 9, cr4, [r8], {45} 1ac: 04801f08 streq r1, [r0], #3848 1b0: 7b860302 blvc fe180dc0 <.debug_line+0xfe180dc0> 1b4: 2b600363 blcs 1800f48 <.debug_line+0x1800f48> 1b8: 032b1803 teqeq fp, #196608 ; 0x30000 1bc: 0104473c tsteq r4, ip, lsr r7 1c0: 4704d503 strmi sp, [r4, -r3, lsl #10] 1c4: 01001002 tsteq r0, r2 1c8: Address 0x000001c8 is out of bounds. Disassembly of section .rodata: 00000000 : ... 0000000c : ... Disassembly of section .rodata.str1.4: 00000000 <.rodata.str1.4>: scale_h_area_setup(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:105 0: 62616e75 rsbvs r6, r1, #1872 ; 0x750 4: 7420656c strvct r6, [r0], #-1388 8: 6c61206f stcvsl 0, cr2, [r1], #-444 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:108 c: 61636f6c cmnvs r3, ip, ror #30 10: 72206574 eorvc r6, r0, #486539264 ; 0x1d000000 14: 69757165 ldmvsdb r5!, {r0, r2, r5, r6, r8, ip, sp, lr}^ 18: 20646572 rsbcs r6, r4, r2, ror r5 1c: 66667562 strvsbt r7, [r6], -r2, ror #10 20: 203a7265 eorcss r7, sl, r5, ror #4 24: 6e206425 cdpvs 4, 2, cr6, cr0, cr5, {1} /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:109 28: 65646565 strvsb r6, [r4, #-1381]! 2c: 25202c64 strcs r2, [r0, #-3172]! 30: 76612064 strvcbt r2, [r1], -r4, rrx 34: 616c6961 cmnvs ip, r1, ror #18 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:110 38: 0a656c62 beq 195b1c8 <.rodata.str1.4+0x195b1c8> 3c: 00000000 andeq r0, r0, r0 Disassembly of section .debug_frame: 00000000 <.debug_frame>: /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:105 0: 0000000c andeq r0, r0, ip 4: ffffffff swinv 0x00ffffff 8: 7c010001 stcvc 0, cr0, [r1], {1} /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:108 c: 000d0c0e andeq r0, sp, lr, lsl #24 10: 00000018 andeq r0, r0, r8, lsl r0 ... 14: R_ARM_ABS32 .debug_frame 18: R_ARM_ABS32 .text 1c: 00000040 andeq r0, r0, r0, asr #32 20: 8e0c0e44 cdphi 14, 0, cr0, cr12, cr4, {2} 24: 84028501 strhi r8, [r2], #-1281 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:109 28: 00000003 andeq r0, r0, r3 2c: 00000024 andeq r0, r0, r4, lsr #32 30: 00000000 andeq r0, r0, r0 30: R_ARM_ABS32 .debug_frame 34: 00000040 andeq r0, r0, r0, asr #32 34: R_ARM_ABS32 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:110 38: 000002c0 andeq r0, r0, r0, asr #5 3c: 44240e44 strmit r0, [r4], #-3652 scale_h_area(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:116 40: 018e4c0e orreq r4, lr, lr, lsl #24 44: 038a028b orreq r0, sl, #-1342177272 ; 0xb0000008 48: 05880489 streq r0, [r8, #1161] 4c: 07860687 streq r0, [r6, r7, lsl #13] 50: 09840885 stmeqib r4, {r0, r2, r7, fp} 54: 00000024 andeq r0, r0, r4, lsr #32 58: 00000000 andeq r0, r0, r0 58: R_ARM_ABS32 .debug_frame 5c: 00000300 andeq r0, r0, r0, lsl #6 5c: R_ARM_ABS32 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:122 60: 000002ec andeq r0, r0, ip, ror #5 64: 44240e44 strmit r0, [r4], #-3652 68: 018e440e orreq r4, lr, lr, lsl #8 6c: 038a028b orreq r0, sl, #-1342177272 ; 0xb0000008 70: 05880489 streq r0, [r8, #1161] 74: 07860687 streq r0, [r6, r7, lsl #13] 78: 09840885 stmeqib r4, {r0, r2, r7, fp} 7c: 00000018 andeq r0, r0, r8, lsl r0 80: 00000000 andeq r0, r0, r0 80: R_ARM_ABS32 .debug_frame 84: 000005ec andeq r0, r0, ip, ror #11 84: R_ARM_ABS32 .text 88: 00000040 andeq r0, r0, r0, asr #32 8c: 8e0c0e44 cdphi 14, 0, cr0, cr12, cr4, {2} 90: 84028501 strhi r8, [r2], #-1281 94: 00000003 andeq r0, r0, r3 98: 00000024 andeq r0, r0, r4, lsr #32 9c: 00000000 andeq r0, r0, r0 9c: R_ARM_ABS32 .debug_frame a0: 0000062c andeq r0, r0, ip, lsr #12 a0: R_ARM_ABS32 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:128 a4: 00000280 andeq r0, r0, r0, lsl #5 a8: 44240e44 strmit r0, [r4], #-3652 ac: 018e4c0e orreq r4, lr, lr, lsl #24 b0: 038a028b orreq r0, sl, #-1342177272 ; 0xb0000008 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:130 b4: 05880489 streq r0, [r8, #1161] b8: 07860687 streq r0, [r6, r7, lsl #13] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:133 bc: 09840885 stmeqib r4, {r0, r2, r7, fp} c0: 00000024 andeq r0, r0, r4, lsr #32 c4: 00000000 andeq r0, r0, r0 c4: R_ARM_ABS32 .debug_frame c8: 000008ac andeq r0, r0, ip, lsr #17 c8: R_ARM_ABS32 .text cc: 000002e0 andeq r0, r0, r0, ror #5 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:135 d0: 44240e44 strmit r0, [r4], #-3652 d4: 018e5c0e orreq r5, lr, lr, lsl #24 d8: 038a028b orreq r0, sl, #-1342177272 ; 0xb0000008 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:136 dc: 05880489 streq r0, [r8, #1161] e0: 07860687 streq r0, [r6, r7, lsl #13] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:141 e4: 09840885 stmeqib r4, {r0, r2, r7, fp} e8: 00000024 andeq r0, r0, r4, lsr #32 ec: 00000000 andeq r0, r0, r0 ec: R_ARM_ABS32 .debug_frame f0: 00000b8c andeq r0, r0, ip, lsl #23 f0: R_ARM_ABS32 .text f4: 00000168 andeq r0, r0, r8, ror #2 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:143 f8: 44240e44 strmit r0, [r4], #-3652 fc: 018e4c0e orreq r4, lr, lr, lsl #24 100: 038a028b orreq r0, sl, #-1342177272 ; 0xb0000008 104: 05880489 streq r0, [r8, #1161] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:144 108: 07860687 streq r0, [r6, r7, lsl #13] 10c: 09840885 stmeqib r4, {r0, r2, r7, fp} Disassembly of section .debug_loc: 00000000 <.debug_loc>: scale_h_area_setup(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:105 0: 00000000 andeq r0, r0, r0 4: 00000014 andeq r0, r0, r4, lsl r0 8: 00500001 subeqs r0, r0, r1 ... /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:108 14: 10000000 andne r0, r0, r0 18: 01000000 tsteq r0, r0 1c: 00105100 andeqs r5, r0, r0, lsl #2 20: 00400000 subeq r0, r0, r0 24: 00010000 andeq r0, r1, r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:109 28: 00000054 andeq r0, r0, r4, asr r0 ... 34: 00002000 andeq r2, r0, r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:110 38: 52000100 andpl r0, r0, #0 ; 0x0 3c: 00000020 andeq r0, r0, r0, lsr #32 scale_h_area(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:116 40: 00000040 andeq r0, r0, r0, asr #32 44: 00550001 subeqs r0, r5, r1 48: 00000000 andeq r0, r0, r0 4c: 40000000 andmi r0, r0, r0 50: 48000000 stmmida r0, {} 54: 02000000 andeq r0, r0, #0 ; 0x0 58: 48587d00 ldmmida r8, {r8, sl, fp, ip, sp, lr}^ 5c: 00000000 andeq r0, r0, r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:122 60: 02000003 andeq r0, r0, #3 ; 0x3 64: 00007d00 andeq r7, r0, r0, lsl #26 68: 00000000 andeq r0, r0, r0 6c: 40000000 andmi r0, r0, r0 70: 64000000 strvs r0, [r0] 74: 01000000 tsteq r0, r0 78: 00645000 rsbeq r5, r4, r0 7c: 03000000 tsteq r0, #0 ; 0x0 80: 00010000 andeq r0, r1, r0 84: 00000059 andeq r0, r0, r9, asr r0 88: 00000000 andeq r0, r0, r0 8c: 00004000 andeq r4, r0, r0 90: 00005c00 andeq r5, r0, r0, lsl #24 94: 51000100 tstpl r0, r0, lsl #2 98: 0000005c andeq r0, r0, ip, asr r0 9c: 00000300 andeq r0, r0, r0, lsl #6 a0: 08910002 ldmeqia r1, {r1} ... /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:128 ac: 00000040 andeq r0, r0, r0, asr #32 b0: 0000006c andeq r0, r0, ip, rrx /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:130 b4: 6c520001 mrrcvs 0, 0, r0, r2, cr1 b8: 00000000 andeq r0, r0, r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:133 bc: 02000003 andeq r0, r0, #3 ; 0x3 c0: 00049100 andeq r9, r4, r0, lsl #2 c4: 00000000 andeq r0, r0, r0 c8: 40000000 andmi r0, r0, r0 cc: 6c000000 stcvs 0, cr0, [r0], {0} /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:135 d0: 01000000 tsteq r0, r0 d4: 006c5300 rsbeq r5, ip, r0, lsl #6 d8: 03000000 tsteq r0, #0 ; 0x0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:136 dc: 00010000 andeq r0, r1, r0 e0: 00000056 andeq r0, r0, r6, asr r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:141 e4: 00000000 andeq r0, r0, r0 e8: 00004000 andeq r4, r0, r0 ec: 00007400 andeq r7, r0, r0, lsl #8 f0: 91000300 tstls r0, r0, lsl #6 f4: 007400cc rsbeqs r0, r4, ip, asr #1 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:143 f8: 03000000 tsteq r0, #0 ; 0x0 fc: 00020000 andeq r0, r2, r0 100: 00000091 muleq r0, r1, r0 104: 00000000 andeq r0, r0, r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:144 108: 008c0000 addeq r0, ip, r0 10c: 02d40000 sbceqs r0, r4, #0 ; 0x0 110: 00010000 andeq r0, r1, r0 114: 0002f057 andeq pc, r2, r7, asr r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:145 118: 00030000 andeq r0, r3, r0 11c: 57000100 strpl r0, [r0, -r0, lsl #2] ... /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:147 128: 00000080 andeq r0, r0, r0, lsl #1 12c: 000002d4 ldreqd r0, [r0], -r4 130: 0c910002 ldceq 0, cr0, [r1], {2} 134: 000002f0 streqd r0, [r0], -r0 138: 00000300 andeq r0, r0, r0, lsl #6 13c: 0c910002 ldceq 0, cr0, [r1], {2} ... 148: 00000084 andeq r0, r0, r4, lsl #1 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:149 14c: 000002d4 ldreqd r0, [r0], -r4 150: 10910002 addnes r0, r1, r2 154: 000002f0 streqd r0, [r0], -r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:150 158: 00000300 andeq r0, r0, r0, lsl #6 15c: 10910002 addnes r0, r1, r2 ... /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:152 168: 00000088 andeq r0, r0, r8, lsl #1 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:153 16c: 000000a4 andeq r0, r0, r4, lsr #1 170: a45b0001 ldrgeb r0, [fp], #-1 174: dc000000 stcle 0, cr0, [r0], {0} /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:154 178: 01000000 tsteq r0, r0 17c: 00e45000 rsceq r5, r4, r0 180: 01380000 teqeq r8, r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:155 184: 00010000 andeq r0, r1, r0 188: 00014450 andeq r4, r1, r0, asr r4 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:156 18c: 00015c00 andeq r5, r1, r0, lsl #24 190: 50000100 andpl r0, r0, r0, lsl #2 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:157 194: 0000022c andeq r0, r0, ip, lsr #4 198: 0000025c andeq r0, r0, ip, asr r2 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:159 19c: 685b0001 ldmvsda fp, {r0}^ 1a0: c8000002 stmgtda r0, {r1} 1a4: 01000002 tsteq r0, r2 1a8: 02cc5000 sbceq r5, ip, #0 ; 0x0 1ac: 02d00000 sbceqs r0, r0, #0 ; 0x0 1b0: 00010000 andeq r0, r1, r0 1b4: 0002f050 andeq pc, r2, r0, asr r0 1b8: 00030000 andeq r0, r3, r0 1bc: 5b000100 blpl 5c4 <.debug_loc+0x5c4> ... 1c8: 00000300 andeq r0, r0, r0, lsl #6 1cc: 00000308 andeq r0, r0, r8, lsl #6 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:162 1d0: 607d0002 rsbvss r0, sp, r2 1d4: 00000308 andeq r0, r0, r8, lsl #6 1d8: 000005ec andeq r0, r0, ip, ror #11 1dc: 007d0002 rsbeqs r0, sp, r2 ... 1e8: 00000300 andeq r0, r0, r0, lsl #6 1ec: 00000324 andeq r0, r0, r4, lsr #6 1f0: 24500001 ldrcsb r0, [r0], #-1 1f4: ec000003 stc 0, cr0, [r0], {3} /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:165 1f8: 01000005 tsteq r0, r5 1fc: 00005500 andeq r5, r0, r0, lsl #10 200: 00000000 andeq r0, r0, r0 204: 03000000 tsteq r0, #0 ; 0x0 208: 03180000 tsteq r8, #0 ; 0x0 20c: 00010000 andeq r0, r1, r0 210: 00031c51 andeq r1, r3, r1, asr ip 214: 0005ec00 andeq lr, r5, r0, lsl #24 218: 91000200 tstls r0, r0, lsl #4 21c: 0000000c andeq r0, r0, ip 220: 00000000 andeq r0, r0, r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:172 224: 00030000 andeq r0, r3, r0 228: 00033400 andeq r3, r3, r0, lsl #8 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:173 22c: 52000100 andpl r0, r0, #0 ; 0x0 230: 00000334 andeq r0, r0, r4, lsr r3 234: 000005ec andeq r0, r0, ip, ror #11 238: 08910002 ldmeqia r1, {r1} ... 244: 00000300 andeq r0, r0, r0, lsl #6 248: 0000032c andeq r0, r0, ip, lsr #6 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:177 24c: 2c530001 mrrccs 0, 0, r0, r3, cr1 250: ec000003 stc 0, cr0, [r0], {3} 254: 02000005 andeq r0, r0, #5 ; 0x5 258: 00049100 andeq r9, r4, r0, lsl #2 25c: 00000000 andeq r0, r0, r0 260: ac000000 stcge 0, cr0, [r0], {0} 264: 1c000003 stcne 0, cr0, [r0], {3} 268: 01000004 tsteq r0, r4 26c: 044c5400 streqb r5, [ip], #-1024 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:179 270: 04ac0000 streqt r0, [ip] 274: 00010000 andeq r0, r1, r0 278: 0005305e andeq r3, r5, lr, asr r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:180 27c: 00054c00 andeq r4, r5, r0, lsl #24 280: 5e000100 adfpls f0, f0, f0 284: 00000570 andeq r0, r0, r0, ror r5 288: 000005ec andeq r0, r0, ip, ror #11 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:181 28c: 00540001 subeqs r0, r4, r1 290: 00000000 andeq r0, r0, r0 294: e4000000 str r0, [r0] 298: 34000003 strcc r0, [r0], #-3 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:182 29c: 01000004 tsteq r0, r4 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:183 2a0: 04605c00 streqbt r5, [r0], #-3072 2a4: 04640000 streqbt r0, [r4] 2a8: 00010000 andeq r0, r1, r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:126 2ac: 00046450 andeq r6, r4, r0, asr r4 2b0: 00049c00 andeq r9, r4, r0, lsl #24 2b4: 54000100 strpl r0, [r0], #-256 2b8: 0000049c muleq r0, ip, r4 2bc: 000004b0 streqh r0, [r0], -r0 2c0: b0500001 sublts r0, r0, r1 2c4: dc000004 stcle 0, cr0, [r0], {4} 2c8: 01000004 tsteq r0, r4 2cc: 05305400 ldreq r5, [r0, #-1024]! 2d0: 05380000 ldreq r0, [r8]! 2d4: 00010000 andeq r0, r1, r0 2d8: 00053850 andeq r3, r5, r0, asr r8 2dc: 00057000 andeq r7, r5, r0 2e0: 54000100 strpl r0, [r0], #-256 ... 2ec: 000005ec andeq r0, r0, ip, ror #11 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:187 2f0: 00000600 andeq r0, r0, r0, lsl #12 2f4: 00500001 subeqs r0, r0, r1 2f8: 2c000006 stccs 0, cr0, [r0], {6} 2fc: 01000006 tsteq r0, r6 scale_v_area(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:196 300: 00005400 andeq r5, r0, r0, lsl #8 304: 00000000 andeq r0, r0, r0 308: 05ec0000 streqb r0, [ip]! 30c: 05fc0000 ldreqb r0, [ip]! 310: 00010000 andeq r0, r1, r0 314: 00000051 andeq r0, r0, r1, asr r0 318: 00000000 andeq r0, r0, r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:202 31c: 0005ec00 andeq lr, r5, r0, lsl #24 320: 00061000 andeq r1, r6, r0 324: 52000100 andpl r0, r0, #0 ; 0x0 328: 00000610 andeq r0, r0, r0, lsl r6 32c: 0000062c andeq r0, r0, ip, lsr #12 330: 00550001 subeqs r0, r5, r1 334: 00000000 andeq r0, r0, r0 338: 2c000000 stccs 0, cr0, [r0], {0} /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:203 33c: 34000006 strcc r0, [r0], #-6 340: 02000006 andeq r0, r0, #6 ; 0x6 344: 34587d00 ldrccb r7, [r8], #-3328 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:207 348: ac000006 stcge 0, cr0, [r0], {6} 34c: 02000008 andeq r0, r0, #8 ; 0x8 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:208 350: 00007d00 andeq r7, r0, r0, lsl #26 354: 00000000 andeq r0, r0, r0 358: 2c000000 stccs 0, cr0, [r0], {0} /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:212 35c: 4c000006 stcmi 0, cr0, [r0], {6} 360: 01000006 tsteq r0, r6 364: 064c5000 streqb r5, [ip], -r0 368: 08ac0000 stmeqia ip!, {} 36c: 00020000 andeq r0, r2, r0 370: 00000c91 muleq r0, r1, ip /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:213 374: 00000000 andeq r0, r0, r0 378: 062c0000 streqt r0, [ip], -r0 37c: 06540000 ldreqb r0, [r4], -r0 380: 00010000 andeq r0, r1, r0 384: 00065451 andeq r5, r6, r1, asr r4 388: 0008ac00 andeq sl, r8, r0, lsl #24 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:214 38c: 91000200 tstls r0, r0, lsl #4 390: 00000008 andeq r0, r0, r8 394: 00000000 andeq r0, r0, r0 398: 00062c00 andeq r2, r6, r0, lsl #24 39c: 00065400 andeq r5, r6, r0, lsl #8 3a0: 52000100 andpl r0, r0, #0 ; 0x0 3a4: 00000654 andeq r0, r0, r4, asr r6 3a8: 00000694 muleq r0, r4, r6 3ac: b8540001 ldmltda r4, {r0}^ 3b0: 28000007 stmcsda r0, {r0, r1, r2} 3b4: 01000008 tsteq r0, r8 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:216 3b8: 08905400 ldmeqia r0, {sl, ip, lr} 3bc: 08ac0000 stmeqia ip!, {} /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:218 3c0: 00010000 andeq r0, r1, r0 3c4: 00000054 andeq r0, r0, r4, asr r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:223 3c8: 00000000 andeq r0, r0, r0 3cc: 00062c00 andeq r2, r6, r0, lsl #24 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:225 3d0: 00065400 andeq r5, r6, r0, lsl #8 3d4: 53000100 tstpl r0, #0 ; 0x0 3d8: 00000654 andeq r0, r0, r4, asr r6 3dc: 000008ac andeq r0, r0, ip, lsr #17 3e0: 00550001 subeqs r0, r5, r1 3e4: 00000000 andeq r0, r0, r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:226 3e8: 2c000000 stccs 0, cr0, [r0], {0} 3ec: 60000006 andvs r0, r0, r6 3f0: 03000006 tsteq r0, #6 ; 0x6 3f4: 00cc9100 sbceq r9, ip, r0, lsl #2 3f8: 00000660 andeq r0, r0, r0, ror #12 3fc: 000008ac andeq r0, r0, ip, lsr #17 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:225 400: 00590001 subeqs r0, r9, r1 404: 00000000 andeq r0, r0, r0 408: ac000000 stcge 0, cr0, [r0], {0} 40c: b4000008 strlt r0, [r0], #-8 410: 02000008 andeq r0, r0, #8 ; 0x8 414: b4487d00 strltb r7, [r8], #-3328 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:230 418: 8c000008 stchi 0, cr0, [r0], {8} 41c: 0200000b andeq r0, r0, #11 ; 0xb 420: 00007d00 andeq r7, r0, r0, lsl #26 424: 00000000 andeq r0, r0, r0 428: ac000000 stcge 0, cr0, [r0], {0} 42c: d4000008 strle r0, [r0], #-8 430: 01000008 tsteq r0, r8 434: 08d45000 ldmeqia r4, {ip, lr}^ 438: 0b8c0000 bleq fe300440 <.debug_loc+0xfe300440> 43c: 00010000 andeq r0, r1, r0 440: 0000005b andeq r0, r0, fp, asr r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:235 444: 00000000 andeq r0, r0, r0 448: 0008ac00 andeq sl, r8, r0, lsl #24 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:236 44c: 0008c400 andeq ip, r8, r0, lsl #8 450: 51000100 tstpl r0, r0, lsl #2 454: 000008c8 andeq r0, r0, r8, asr #17 458: 00000b8c andeq r0, r0, ip, lsl #23 45c: 18910002 ldmneia r1, {r1} ... /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:239 468: 000008ac andeq r0, r0, ip, lsr #17 46c: 000008e4 andeq r0, r0, r4, ror #17 470: e4520001 ldrb r0, [r2], #-1 474: 8c000008 stchi 0, cr0, [r0], {8} 478: 0200000b andeq r0, r0, #11 ; 0xb 47c: 00149100 andeqs r9, r4, r0, lsl #2 480: 00000000 andeq r0, r0, r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:236 484: ac000000 stcge 0, cr0, [r0], {0} 488: dc000008 stcle 0, cr0, [r0], {8} 48c: 01000008 tsteq r0, r8 490: 08dc5300 ldmeqia ip, {r8, r9, ip, lr}^ 494: 0b8c0000 bleq fe30049c <.debug_loc+0xfe30049c> 498: 00020000 andeq r0, r2, r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:245 49c: 00001091 muleq r0, r1, r0 4a0: 00000000 andeq r0, r0, r0 4a4: 09780000 ldmeqdb r8!, {}^ 4a8: 0b680000 bleq 1a004b0 <.debug_loc+0x1a004b0> 4ac: 00010000 andeq r0, r1, r0 4b0: 000b7c59 andeq r7, fp, r9, asr ip 4b4: 000b8c00 andeq r8, fp, r0, lsl #24 4b8: 59000100 stmpldb r0, {r8} ... /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:247 4c4: 00000968 andeq r0, r0, r8, ror #18 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:248 4c8: 00000b68 andeq r0, r0, r8, ror #22 4cc: 1c910002 ldcne 0, cr0, [r1], {2} /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:249 4d0: 00000b7c andeq r0, r0, ip, ror fp /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:250 4d4: 00000b8c andeq r0, r0, ip, lsl #23 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:251 4d8: 1c910002 ldcne 0, cr0, [r1], {2} ... /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:252 4e4: 0000096c andeq r0, r0, ip, ror #18 4e8: 00000b68 andeq r0, r0, r8, ror #22 4ec: 20910002 addcss r0, r1, r2 4f0: 00000b7c andeq r0, r0, ip, ror fp 4f4: 00000b8c andeq r0, r0, ip, lsl #23 4f8: 20910002 addcss r0, r1, r2 ... 504: 00000960 andeq r0, r0, r0, ror #18 508: 00000b68 andeq r0, r0, r8, ror #22 50c: 28910002 ldmcsia r1, {r1} 510: 00000b7c andeq r0, r0, ip, ror fp 514: 00000b8c andeq r0, r0, ip, lsl #23 518: 28910002 ldmcsia r1, {r1} ... /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:245 524: 00000910 andeq r0, r0, r0, lsl r9 528: 000009ac andeq r0, r0, ip, lsr #19 52c: 34910002 ldrcc r0, [r1], #2 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:255 530: 000009ac andeq r0, r0, ip, lsr #19 534: 000009bc streqh r0, [r0], -ip 538: e8530001 ldmda r3, {r0}^ 53c: 20000009 andcs r0, r0, r9 540: 0100000a tsteq r0, sl 544: 0b105300 bleq 41514c <.debug_loc+0x41514c> 548: 0b180000 bleq 600550 <.debug_loc+0x600550> /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:257 54c: 00010000 andeq r0, r1, r0 550: 00000053 andeq r0, r0, r3, asr r0 554: 00000000 andeq r0, r0, r0 558: 000b8c00 andeq r8, fp, r0, lsl #24 55c: 000b9400 andeq r9, fp, r0, lsl #8 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:258 560: 7d000200 sfmvc f0, 4, [r0] 564: 000b9458 andeq r9, fp, r8, asr r4 568: 000cf400 andeq pc, ip, r0, lsl #8 56c: 7d000200 sfmvc f0, 4, [r0] ... /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:262 578: 000b8c00 andeq r8, fp, r0, lsl #24 57c: 000bc800 andeq ip, fp, r0, lsl #16 580: 50000100 andpl r0, r0, r0, lsl #2 584: 00000bc8 andeq r0, r0, r8, asr #23 588: 00000be0 andeq r0, r0, r0, ror #23 58c: e0550001 subs r0, r5, r1 590: f000000b andnv r0, r0, fp 594: 0100000b tsteq r0, fp 598: 0bf05000 bleq ffc145a0 <.debug_loc+0xffc145a0> 59c: 0cf40000 ldceql 0, cr0, [r4] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:214 5a0: 00010000 andeq r0, r1, r0 5a4: 00000055 andeq r0, r0, r5, asr r0 5a8: 00000000 andeq r0, r0, r0 5ac: 000b8c00 andeq r8, fp, r0, lsl #24 5b0: 000bbc00 andeq fp, fp, r0, lsl #24 5b4: 51000100 tstpl r0, r0, lsl #2 5b8: 00000bbc streqh r0, [r0], -ip 5bc: 00000cf4 streqd r0, [r0], -r4 5c0: 005b0001 subeqs r0, fp, r1 5c4: 00000000 andeq r0, r0, r0 5c8: 8c000000 stchi 0, cr0, [r0], {0} 5cc: cc00000b stcgt 0, cr0, [r0], {11} 5d0: 0100000b tsteq r0, fp 5d4: 0bcc5200 bleq ff314ddc <.debug_loc+0xff314ddc> /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:267 5d8: 0be00000 bleq ff8005e0 <.debug_loc+0xff8005e0> 5dc: 00010000 andeq r0, r1, r0 5e0: 000be056 andeq lr, fp, r6, asr r0 5e4: 000bfc00 andeq pc, fp, r0, lsl #24 5e8: 52000100 andpl r0, r0, #0 ; 0x0 scale_h_linear_setup(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:276 5ec: 00000bfc streqd r0, [r0], -ip 5f0: 00000cf4 streqd r0, [r0], -r4 5f4: 00560001 subeqs r0, r6, r1 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:278 5f8: 00000000 andeq r0, r0, r0 5fc: 8c000000 stchi 0, cr0, [r0], {0} 600: b800000b stmltda r0, {r0, r1, r3} 604: 0100000b tsteq r0, fp 608: 0bb85300 bleq fee15210 <.debug_loc+0xfee15210> 60c: 0cf40000 ldceql 0, cr0, [r4] 610: 00020000 andeq r0, r2, r0 614: 00000891 muleq r0, r1, r8 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:279 618: 00000000 andeq r0, r0, r0 61c: 0b8c0000 bleq fe300624 <.debug_loc+0xfe300624> 620: 0c540000 mraeq r0, r4, acc0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:280 624: 00030000 andeq r0, r3, r0 628: 5400d091 strpl sp, [r0], #-145 scale_h_linear(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:286 62c: 5c00000c stcpl 0, cr0, [r0], {12} 630: 0100000c tsteq r0, ip 634: 0c5c5300 mrrceq 3, 0, r5, ip, cr0 638: 0c7c0000 ldceql 0, cr0, [ip] 63c: 00030000 andeq r0, r3, r0 640: 7c00d091 stcvc 0, cr13, [r0], {145} 644: 8400000c strhi r0, [r0], #-12 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:295 648: 0100000c tsteq r0, ip 64c: 0c845300 stceq 3, cr5, [r4], {0} 650: 0cf40000 ldceql 0, cr0, [r4] 654: 00030000 andeq r0, r3, r0 658: 0000d091 muleq r0, r1, r0 65c: 00000000 andeq r0, r0, r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:298 660: 8c000000 stchi 0, cr0, [r0], {0} 664: c400000b strgt r0, [r0], #-11 668: 0300000b tsteq r0, #11 ; 0xb /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:299 66c: 00d49100 sbceqs r9, r4, r0, lsl #2 670: 00000bc4 andeq r0, r0, r4, asr #23 674: 00000cf4 streqd r0, [r0], -r4 678: 00580001 subeqs r0, r8, r1 67c: 00000000 andeq r0, r0, r0 680: b0000000 andlt r0, r0, r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:300 684: 7800000b stmvcda r0, {r0, r1, r3} 688: 0100000c tsteq r0, ip 68c: 0c7c5400 cfldrdeq mvd5, [ip] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:303 690: 0ca00000 stceq 0, cr0, [r0] 694: 00010000 andeq r0, r1, r0 698: 000cd454 andeq sp, ip, r4, asr r4 69c: 000cf400 andeq pc, ip, r0, lsl #8 6a0: 54000100 strpl r0, [r0], #-256 ... /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:305 6ac: 00000c78 andeq r0, r0, r8, ror ip /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:306 6b0: 00000c7c andeq r0, r0, ip, ror ip 6b4: a0540001 subges r0, r4, r1 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:311 6b8: f400000c strnv r0, [r0], #-12 6bc: 0100000c tsteq r0, ip 6c0: 00005400 andeq r5, r0, r0, lsl #8 6c4: 00000000 andeq r0, r0, r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:312 6c8: 0c180000 ldceq 0, cr0, [r8], {0} 6cc: 0c1c0000 ldceq 0, cr0, [ip], {0} 6d0: 00010000 andeq r0, r1, r0 6d4: 000c3052 andeq r3, ip, r2, asr r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:313 6d8: 000c6c00 andeq r6, ip, r0, lsl #24 6dc: 52000100 andpl r0, r0, #0 ; 0x0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:314 6e0: 00000c7c andeq r0, r0, ip, ror ip 6e4: 00000c94 muleq r0, r4, ip /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:315 6e8: 00520001 subeqs r0, r2, r1 6ec: 00000000 andeq r0, r0, r0 6f0: Address 0x000006f0 is out of bounds. Disassembly of section .debug_pubnames: 00000000 <.debug_pubnames>: scale_h_area_setup(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:105 0: 00000021 andeq r0, r0, r1, lsr #32 4: 00000002 andeq r0, r0, r2 6: R_ARM_ABS32 .debug_info 8: 0a4d0000 beq 1340010 <.debug_pubnames+0x1340010> /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:108 c: 08080000 stmeqda r8, {} 10: 65720000 ldrvsb r0, [r2]! 14: 657a6973 ldrvsb r6, [sl, #-2419]! 18: 5f6e6f5f swipl 0x006e6f5f 1c: 64616f6c strvsbt r6, [r1], #-3948 20: 00000000 andeq r0, r0, r0 ... Disassembly of section .debug_aranges: 00000000 <.debug_aranges>: /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:105 0: 0000001c andeq r0, r0, ip, lsl r0 4: 00000002 andeq r0, r0, r2 6: R_ARM_ABS32 .debug_info 8: 00040000 andeq r0, r4, r0 ... 10: R_ARM_ABS32 .text /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:108 14: 00000cf4 streqd r0, [r0], -r4 ... Disassembly of section .debug_str: 00000000 <.debug_str>: /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:105 0: 73776f72 cmnvc r7, #456 ; 0x1c8 4: 74726174 ldrvcbt r6, [r2], #-372 8: 74656700 strvcbt r6, [r5], #-1792 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:108 c: 5f62665f swipl 0x0062665f 10: 74646977 strvcbt r6, [r4], #-2423 14: 62660068 rsbvs r0, r6, #104 ; 0x68 18: 7461645f strvcbt r6, [r1], #-1119 1c: 6f6c0061 swivs 0x006c0061 20: 6920676e stmvsdb r0!, {r1, r2, r3, r5, r6, r8, r9, sl, sp, lr} 24: 6400746e strvs r7, [r0], #-1134 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:109 28: 65687469 strvsb r7, [r8, #-1129]! 2c: 616d5f72 smivs 54770 30: 65670074 strvsb r0, [r7, #-116]! 34: 6f745f74 swivs 0x00745f74 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:110 38: 736c6174 cmnvc ip, #29 ; 0x1d 3c: 00657a69 rsbeq r7, r5, r9, ror #20 scale_h_area(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:116 40: 746c6564 strvcbt r6, [ip], #-1380 44: 616c0061 cmnvs ip, r1, rrx 48: 745f7473 ldrvcb r7, [pc], #1139 ; 50 <.debug_str+0x50> 4c: 006b6369 rsbeq r6, fp, r9, ror #6 50: 74776f72 ldrvcbt r6, [r7], #-3954 54: 7300706d tstvc r0, #109 ; 0x6d 58: 656c6163 strvsb r6, [ip, #-355]! 5c: 615f685f cmpvs pc, pc, asr r8 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:122 60: 5f616572 swipl 0x00616572 64: 75746573 ldrvcb r6, [r4, #-1395]! 68: 65720070 ldrvsb r0, [r2, #-112]! 6c: 657a6973 ldrvsb r6, [sl, #-2419]! 70: 5f6e6f5f swipl 0x006e6f5f 74: 64616f6c strvsbt r6, [r1], #-3948 78: 6e697500 cdpvs 5, 6, cr7, cr9, cr0, {0} 7c: 725f3874 subvcs r3, pc, #7602176 ; 0x740000 80: 66006267 strvs r6, [r0], -r7, ror #4 84: 616d726f cmnvs sp, pc, ror #4 88: 67720074 undefined 8c: 6c617662 stcvsl 6, cr7, [r1], #-392 90: 00706d74 rsbeqs r6, r0, r4, ror sp 94: 61776f72 cmnvs r7, r2, ror pc 98: 72006363 andvc r6, r0, #-1946157055 ; 0x8c000001 9c: 6573776f ldrvsb r7, [r3, #-1903]! a0: 67720074 undefined /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:128 a4: 6c617662 stcvsl 6, cr7, [r1], #-392 a8: 00636361 rsbeq r6, r3, r1, ror #6 ac: 5f74756f swipl 0x0074756f b0: 656e696c strvsb r6, [lr, #-2412]! /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:130 b4: 76696400 strvcbt r6, [r9], -r0, lsl #8 b8: 006c756d rsbeq r7, ip, sp, ror #10 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:133 bc: 69736e75 ldmvsdb r3!, {r0, r2, r4, r5, r6, r9, sl, fp, sp, lr}^ c0: 64656e67 strvsbt r6, [r5], #-3687 c4: 746e6920 strvcbt r6, [lr], #-2336 c8: 6e6f6c00 cdpvs 12, 6, cr6, cr15, cr0, {0} cc: 6e752067 cdpvs 0, 7, cr2, cr5, cr7, {3} /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:135 d0: 6e676973 mcrvs 9, 3, r6, cr7, cr3, {3} d4: 69206465 stmvsdb r0!, {r0, r2, r5, r6, sl, sp, lr} d8: 7700746e strvc r7, [r0, -lr, ror #8] /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:136 dc: 68746469 ldmvsda r4!, {r0, r3, r5, r6, sl, sp, lr}^ e0: 735f6800 cmpvc pc, #0 ; 0x0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:141 e4: 656c6163 strvsb r6, [ip, #-355]! e8: 61640072 smivs 16386 ec: 64006174 strvs r6, [r0], #-372 f0: 775f7473 undefined f4: 68746469 ldmvsda r4!, {r0, r3, r5, r6, sl, sp, lr}^ /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:143 f8: 6f687300 swivs 0x00687300 fc: 75207472 strvc r7, [r0, #-1138]! 100: 6769736e strvsb r7, [r9, -lr, ror #6]! 104: 2064656e rsbcs r6, r4, lr, ror #10 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:144 108: 00746e69 rsbeqs r6, r4, r9, ror #28 10c: 6465656e strvsbt r6, [r5], #-1390 110: 72006465 andvc r6, r0, #1694498816 ; 0x65000000 114: 7473776f ldrvcbt r7, [r3], #-1903 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:145 118: 67007065 strvs r7, [r0, -r5, rrx] 11c: 665f7465 ldrvsb r7, [pc], -r5, ror #8 120: 65685f62 strvsb r5, [r8, #-3938]! 124: 74686769 strvcbt r6, [r8], #-1897 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:147 128: 696b7300 stmvsdb fp!, {r8, r9, ip, sp, lr}^ 12c: 696c5f70 stmvsdb ip!, {r4, r5, r6, r8, r9, sl, fp, ip, lr}^ 130: 0073656e rsbeqs r6, r3, lr, ror #10 134: 6e756f72 mrcvs 15, 3, r6, cr5, cr2, {3} 138: 6d690064 stcvsl 0, cr0, [r9, #-400]! 13c: 61705f67 cmnvs r0, r7, ror #30 140: 73007472 tstvc r0, #1912602624 ; 0x72000000 144: 65726f74 ldrvsb r6, [r2, #-3956]! 148: 7261705f rsbvc r7, r1, #95 ; 0x5f /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:149 14c: 69640074 stmvsdb r4!, {r2, r4, r5, r6}^ 150: 72656874 rsbvc r6, r5, #7602176 ; 0x740000 154: 74616d5f strvcbt r6, [r1], #-3423 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:150 158: 00786972 rsbeqs r6, r8, r2, ror r9 15c: 6c616373 stcvsl 3, cr6, [r1], #-460 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:151 160: 5f685f65 swipl 0x00685f65 164: 656e696c strvsb r6, [lr, #-2412]! /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:152 168: 72007261 andvc r7, r0, #268435462 ; 0x10000006 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:153 16c: 6e696267 cdpvs 2, 6, cr6, cr9, cr7, {3} 170: 73640063 cmnvc r4, #99 ; 0x63 174: 65685f74 strvsb r5, [r8, #-3956]! /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:154 178: 74686769 strvcbt r6, [r8], #-1897 17c: 61637300 cmnvs r3, r0, lsl #6 180: 5f72656c swipl 0x0072656c /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:155 184: 746e6f63 strvcbt r6, [lr], #-3939 188: 00747865 rsbeqs r7, r4, r5, ror #16 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:156 18c: 6d6f682f stcvsl 8, cr6, [pc, #-188]! 190: 69612f65 stmvsdb r1!, {r0, r2, r5, r6, r8, r9, sl, fp, sp}^ /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:157 194: 61686564 cmnvs r8, r4, ror #10 198: 732f6172 teqvc pc, #-2147483620 ; 0x8000001c /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:159 19c: 722f6372 eorvc r6, pc, #-939524095 ; 0xc8000001 1a0: 626b636f rsbvs r6, fp, #-1140850687 ; 0xbc000001 1a4: 732f786f teqvc pc, #7274496 ; 0x6f0000 1a8: 722f6e76 eorvc r6, pc, #1888 ; 0x760 1ac: 626b636f rsbvs r6, fp, #-1140850687 ; 0xbc000001 1b0: 612f786f teqvs pc, pc, ror #16 1b4: 2f737070 swics 0x00737070 1b8: 6f636572 swivs 0x00636572 1bc: 72656472 rsbvc r6, r5, #1912602624 ; 0x72000000 1c0: 7365722f cmnvc r5, #-268435454 ; 0xf0000002 1c4: 2e657a69 fnmulscs s15, s10, s19 1c8: 6c620063 stcvsl 0, cr0, [r2], #-396 1cc: 64006575 strvs r6, [r0], #-1397 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:162 1d0: 65687469 strvsb r7, [r8, #-1129]! 1d4: 425f0072 submis r0, pc, #114 ; 0x72 1d8: 006c6f6f rsbeq r6, ip, pc, ror #30 1dc: 69736e75 ldmvsdb r3!, {r0, r2, r4, r5, r6, r9, sl, fp, sp, lr}^ 1e0: 64656e67 strvsbt r6, [r5], #-3687 1e4: 61686320 cmnvs r8, r0, lsr #6 1e8: 68730072 ldmvsda r3!, {r1, r4, r5, r6}^ 1ec: 2074726f rsbcss r7, r4, pc, ror #4 1f0: 00746e69 rsbeqs r6, r4, r9, ror #28 1f4: 6b636974 blvs 18da7cc <.debug_str+0x18da7cc> /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:165 1f8: 6e75665f mrcvs 6, 3, r6, cr5, cr15, {2} 1fc: 72007363 andvc r7, r0, #-1946157055 ; 0x8c000001 200: 7473776f ldrvcbt r7, [r3], #-1903 204: 7200706f andvc r7, r0, #111 ; 0x6f 208: 746f6d65 strvcbt r6, [pc], #3429 ; 210 <.debug_str+0x210> 20c: 68630065 stmvsda r3!, {r0, r2, r5, r6}^ 210: 73007261 tstvc r0, #268435462 ; 0x10000006 214: 656c6163 strvsb r6, [ip, #-355]! 218: 615f765f cmpvs pc, pc, asr r6 21c: 00616572 rsbeq r6, r1, r2, ror r5 220: 75636361 strvcb r6, [r3, #-865]! /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:172 224: 7563006d strvcb r0, [r3, #-109]! 228: 6e657272 mcrvs 2, 3, r7, cr5, cr2, {3} /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:173 22c: 69745f74 ldmvsdb r4!, {r2, r4, r5, r6, r8, r9, sl, fp, ip, lr}^ 230: 75006b63 strvc r6, [r0, #-2915] 234: 33746e69 cmncc r4, #1680 ; 0x690 238: 67725f32 undefined 23c: 72630062 rsbvc r0, r3, #98 ; 0x62 240: 0031776f eoreqs r7, r1, pc, ror #14 244: 776f7263 strvcb r7, [pc, -r3, ror #4]! 248: 616d0032 cmnvs sp, r2, lsr r0 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:177 24c: 61646b73 smivs 18099 250: 47006174 smlsdxmi r0, r4, r1, r6 254: 4320554e teqmi r0, #327155712 ; 0x13800000 258: 302e3420 eorcc r3, lr, r0, lsr #8 25c: 7000332e andvc r3, r0, lr, lsr #6 260: 00747261 rsbeqs r7, r4, r1, ror #4 264: 6c616373 stcvsl 3, cr6, [r1], #-460 268: 5f685f65 swipl 0x00685f65 26c: 61657261 cmnvs r5, r1, ror #4 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:179 270: 67726100 ldrvsb r6, [r2, -r0, lsl #2]! 274: 63730073 cmnvs r3, #115 ; 0x73 278: 5f656c61 swipl 0x00656c61 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:180 27c: 696c5f76 stmvsdb ip!, {r1, r2, r4, r5, r6, r8, r9, sl, fp, ip, lr}^ 280: 7261656e rsbvc r6, r1, #461373440 ; 0x1b800000 284: 65726700 ldrvsb r6, [r2, #-1792]! 288: 73006e65 tstvc r0, #1616 ; 0x650 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:181 28c: 656c6163 strvsb r6, [ip, #-355]! 290: 6c5f685f mrrcvs 8, 5, r6, pc, cr15 294: 61656e69 cmnvs r5, r9, ror #28 298: 65735f72 ldrvsb r5, [r3, #-3954]! /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:182 29c: 00707574 rsbeqs r7, r0, r4, ror r5 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:183 2a0: 6d746962 ldcvsl 9, cr6, [r4, #-392]! 2a4: 72007061 andvc r7, r0, #97 ; 0x61 2a8: 61766267 cmnvs r6, r7, ror #4 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:126 2ac: 7372006c cmnvc r2, #108 ; 0x6c 2b0: 68007465 stmvsda r0, {r0, r2, r5, r6, sl, ip, sp, lr} 2b4: 68676965 stmvsda r7!, {r0, r2, r5, r6, r8, fp, sp, lr}^ 2b8: Address 0x000002b8 is out of bounds. Disassembly of section .comment: 00000000 <.comment>: scale_h_area_setup(): /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:105 0: 43434700 cmpmi r3, #0 ; 0x0 4: 4728203a undefined 8: 2029554e eorcs r5, r9, lr, asr #10 /home/idak/src/rockbox/svn/rockbox/apps/recorder/resize.c:108 c: 2e302e34 mrccs 14, 1, r2, cr0, cr4, {1} 10: Address 0x00000010 is out of bounds.