summaryrefslogtreecommitdiff
path: root/apps/plugins/mpegplayer/idct_arm.S
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/mpegplayer/idct_arm.S')
-rw-r--r--apps/plugins/mpegplayer/idct_arm.S69
1 files changed, 34 insertions, 35 deletions
diff --git a/apps/plugins/mpegplayer/idct_arm.S b/apps/plugins/mpegplayer/idct_arm.S
index 7de2d7f881..3cb1554de2 100644
--- a/apps/plugins/mpegplayer/idct_arm.S
+++ b/apps/plugins/mpegplayer/idct_arm.S
@@ -268,7 +268,7 @@
268 bx lr 268 bx lr
269 269
270mpeg2_idct_copy: 270mpeg2_idct_copy:
271 stmfd sp!, { r1-r2, r4-r12, lr } 271 stmfd sp!, { r1-r2, r4-r11, lr }
272 bl .idct 272 bl .idct
273 ldmfd sp!, { r1-r2 } 273 ldmfd sp!, { r1-r2 }
274 mov r11, #0 274 mov r11, #0
@@ -313,7 +313,7 @@ mpeg2_idct_copy:
313 add r1, r1, r2 313 add r1, r1, r2
314 cmp r0, r12 314 cmp r0, r12
315 blo 1b 315 blo 1b
316 ldmfd sp!, { r4-r12, pc } 316 ldmfd sp!, { r4-r11, pc }
317 317
318mpeg2_idct_add: 318mpeg2_idct_add:
319 cmp r0, #129 319 cmp r0, #129
@@ -324,7 +324,7 @@ mpeg2_idct_add:
324 cmp r1, #0x40 324 cmp r1, #0x40
325 bne 3f 325 bne 3f
3261: 3261:
327 stmfd sp!, { r2-r12, lr } 327 stmfd sp!, { r2-r11, lr }
328 bl .idct 328 bl .idct
329 ldmfd sp!, { r1-r2 } 329 ldmfd sp!, { r1-r2 }
330 mov r11, #0 330 mov r11, #0
@@ -385,24 +385,20 @@ mpeg2_idct_add:
385 add r1, r1, r2 385 add r1, r1, r2
386 cmp r0, r12 386 cmp r0, r12
387 blo 2b 387 blo 2b
388 ldmfd sp!, { r4-r12, pc } 388 ldmfd sp!, { r4-r11, pc }
3893: 3893:
390 stmfd sp!, { r4-r11 } 390 stmfd sp!, { r4-r6, lr }
391 ldrsh r1, [r0, #0] /* r1 = block[0] */ 391 ldrsh r1, [r0, #0] /* r1 = block[0] */
392 mov r11, #0 392 mov r4, #0
393 strh r11, [r0, #0] /* block[0] = 0 */ 393 strh r4, [r0, #0] /* block[0] = 0 */
394 strh r11, [r0, #126] /* block[63] = 0 */ 394 strh r4, [r0, #126] /* block[63] = 0 */
395 add r1, r1, #64 /* r1 = DC << 7 */ 395 add r1, r1, #64 /* r1 = DC << 7 */
396 add r0, r2, r3, asl #3 396 add r0, r2, r3, asl #3
3974: 3974:
398 ldrb r4, [r2, #0] 398 ldrb r4, [r2, #0]
399 ldrb r5, [r2, #1] 399 ldrb r5, [r2, #1]
400 ldrb r6, [r2, #2] 400 ldrb r6, [r2, #2]
401 ldrb r7, [r2, #3] 401 ldrb lr, [r2, #3]
402 ldrb r8, [r2, #4]
403 ldrb r9, [r2, #5]
404 ldrb r10, [r2, #6]
405 ldrb r11, [r2, #7]
406 add r4, r4, r1, asr #7 402 add r4, r4, r1, asr #7
407 cmp r4, #255 403 cmp r4, #255
408 mvnhi r4, r4, asr #31 404 mvnhi r4, r4, asr #31
@@ -415,28 +411,31 @@ mpeg2_idct_add:
415 cmp r6, #255 411 cmp r6, #255
416 mvnhi r6, r6, asr #31 412 mvnhi r6, r6, asr #31
417 strb r6, [r2, #2] 413 strb r6, [r2, #2]
418 add r7, r7, r1, asr #7 414 add lr, lr, r1, asr #7
419 cmp r7, #255 415 cmp lr, #255
420 mvnhi r7, r7, asr #31 416 mvnhi lr, lr, asr #31
421 strb r7, [r2, #3] 417 strb lr, [r2, #3]
422 add r8, r8, r1, asr #7 418 ldrb r4, [r2, #4]
423 cmp r8, #255 419 ldrb r5, [r2, #5]
424 mvnhi r8, r8, asr #31 420 ldrb r6, [r2, #6]
425 strb r8, [r2, #4] 421 ldrb lr, [r2, #7]
426 add r9, r9, r1, asr #7 422 add r4, r4, r1, asr #7
427 cmp r9, #255 423 cmp r4, #255
428 mvnhi r9, r9, asr #31 424 mvnhi r4, r4, asr #31
429 strb r9, [r2, #5] 425 strb r4, [r2, #4]
430 add r10, r10, r1, asr #7 426 add r5, r5, r1, asr #7
431 cmp r10, #255 427 cmp r5, #255
432 mvnhi r10, r10, asr #31 428 mvnhi r5, r5, asr #31
433 strb r10, [r2, #6] 429 strb r5, [r2, #5]
434 add r11, r11, r1, asr #7 430 add r6, r6, r1, asr #7
435 cmp r11, #255 431 cmp r6, #255
436 mvnhi r11, r11, asr #31 432 mvnhi r6, r6, asr #31
437 strb r11, [r2, #7] 433 strb r6, [r2, #6]
434 add lr, lr, r1, asr #7
435 cmp lr, #255
436 mvnhi lr, lr, asr #31
437 strb lr, [r2, #7]
438 add r2, r2, r3 438 add r2, r2, r3
439 cmp r2, r0 439 cmp r2, r0
440 blo 4b 440 blo 4b
441 ldmfd sp!, { r4-r11 } 441 ldmfd sp!, { r4-r6, pc }
442 bx lr