summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2019-06-11 21:06:45 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2019-06-11 21:06:45 +0000
commitde250fda6b40b4363eca765640a8e2a927fe5033 (patch)
tree775604f36611dbba3d411b17cb952fe2cffbb034
parent628d67f9d1943bbef81ea985af397f3fc48ef6c9 (diff)
parentbe21373e0ed026ebc126f8dd375c7bee74783862 (diff)
downloadandroid_external_libhevc-de250fda6b40b4363eca765640a8e2a927fe5033.tar.gz
android_external_libhevc-de250fda6b40b4363eca765640a8e2a927fe5033.tar.bz2
android_external_libhevc-de250fda6b40b4363eca765640a8e2a927fe5033.zip
Merge cherrypicks of [7982564, 7982192, 7982565, 7981411, 7982522, 7982682, 7982193, 7982194, 7982523, 7982480, 7982623, 7981412, 7981413, 7982605, 7982606, 7982607, 7982608, 7981749, 7981750, 7981751, 7981752, 7981753, 7981754, 7982624, 7982394, 7982395, 7982625, 7982687, 7982566, 7982567, 7982568, 7982688, 7982689, 7982690, 7982195, 7982196, 7982611, 7982612, 7982396, 7982694, 7982695, 7982215] into pi-qpr3-release
Change-Id: I747d14c270d5585fe2f3dbbd6a0121c27794d969
-rw-r--r--decoder/arm/ihevcd_fmt_conv_420sp_to_rgba8888.s19
-rw-r--r--decoder/arm/ihevcd_itrans_recon_dc_chroma.s7
-rw-r--r--decoder/arm/ihevcd_itrans_recon_dc_luma.s7
3 files changed, 17 insertions, 16 deletions
diff --git a/decoder/arm/ihevcd_fmt_conv_420sp_to_rgba8888.s b/decoder/arm/ihevcd_fmt_conv_420sp_to_rgba8888.s
index a9a75cb..caf7123 100644
--- a/decoder/arm/ihevcd_fmt_conv_420sp_to_rgba8888.s
+++ b/decoder/arm/ihevcd_fmt_conv_420sp_to_rgba8888.s
@@ -68,13 +68,13 @@
@* *
@* Register Usage : R0 - R14 *
@* *
-@* Stack Usage : 40 Bytes *
+@* Stack Usage : 104 Bytes *
@* *
@* Interruptibility : Interruptible *
@* *
@* Known Limitations *
@* Assumptions: Image Width: Assumed to be multiple of 16 and *
-@* greater than or equal to 16 *
+@* greater than or equal to 16 *
@* Image Height: Assumed to be even. *
@* *
@* Revision History : *
@@ -82,6 +82,7 @@
@* 07 06 2010 Varshita Draft *
@* 07 06 2010 Naveen Kr T Completed *
@* 05 08 2013 Naveen K P Modified for HEVC *
+@* 30 10 2018 Saurabh Sood Store D registers to stack *
@*****************************************************************************/
.global ihevcd_fmt_conv_420sp_to_rgba8888_a9q
.type ihevcd_fmt_conv_420sp_to_rgba8888_a9q, function
@@ -89,7 +90,7 @@ ihevcd_fmt_conv_420sp_to_rgba8888_a9q:
@// push the registers on the stack
STMFD SP!,{R4-R12,LR}
-
+ VPUSH {d8-d15}
@//R0 - Y PTR
@//R1 - UV PTR
@@ -131,12 +132,12 @@ ihevcd_fmt_conv_420sp_to_rgba8888_a9q:
@//D0 HAS C1-C2-C3-C4
@// load other parameters from stack
- LDR R5,[sp,#40]
+ LDR R5,[sp,#104]
@LDR R4,[sp,#44]
- LDR R6,[sp,#44]
- LDR R7,[sp,#48]
+ LDR R6,[sp,#108]
+ LDR R7,[sp,#112]
@LDR R8,[sp,#52]
- LDR R9,[sp,#52]
+ LDR R9,[sp,#116]
@// calculate offsets, offset = stride - width
SUB R10,R6,R3 @// luma offset
@@ -445,10 +446,8 @@ LABEL_YUV420SP_TO_RGB8888_WIDTH_LOOP_SKIP:
BNE LABEL_YUV420SP_TO_RGB8888_HEIGHT_LOOP
@//POP THE REGISTERS
+ VPOP {d8-d15}
LDMFD SP!,{R4-R12,PC}
-
-
.section .note.GNU-stack,"",%progbits
-
diff --git a/decoder/arm/ihevcd_itrans_recon_dc_chroma.s b/decoder/arm/ihevcd_itrans_recon_dc_chroma.s
index 6732ce0..9184b80 100644
--- a/decoder/arm/ihevcd_itrans_recon_dc_chroma.s
+++ b/decoder/arm/ihevcd_itrans_recon_dc_chroma.s
@@ -58,9 +58,9 @@ ihevcd_itrans_recon_dc_chroma_a9q:
push {r0-r11,lr}
- ldr r4,[sp,#0x34] @loads log2_trans_size
- ldr r5,[sp,#0x38] @ loads i2_coeff_value
-
+ vpush {d8-d15}
+ ldr r4,[sp,#0x74] @loads log2_trans_size
+ ldr r5,[sp,#0x78] @ loads i2_coeff_value
mov r10,#1
lsl r4,r10,r4 @ trans_size = (1 << log2_trans_size)@
mov r6,#64 @ 1 << (shift1 - 1)@
@@ -188,6 +188,7 @@ col_loop_4chroma:
vst1.u32 {d8},[r1]
end_loops_chroma:
+ vpop {d8-d15}
pop {r0-r11,pc}
diff --git a/decoder/arm/ihevcd_itrans_recon_dc_luma.s b/decoder/arm/ihevcd_itrans_recon_dc_luma.s
index 8aee84c..da1f1ad 100644
--- a/decoder/arm/ihevcd_itrans_recon_dc_luma.s
+++ b/decoder/arm/ihevcd_itrans_recon_dc_luma.s
@@ -59,9 +59,9 @@ ihevcd_itrans_recon_dc_luma_a9q:
push {r0-r11,lr}
- ldr r4,[sp,#0x34] @loads log2_trans_size
- ldr r5,[sp,#0x38] @ loads i2_coeff_value
-
+ vpush {d8-d15}
+ ldr r4,[sp,#0x74] @loads log2_trans_size
+ ldr r5,[sp,#0x78] @ loads i2_coeff_value
mov r10,#1
lsl r4,r10,r4 @ trans_size = (1 << log2_trans_size)@
mov r6,#64 @ 1 << (shift1 - 1)@
@@ -182,6 +182,7 @@ col_loop_4:
vst1.u32 {d5[0]},[r1]
end_loops:
+ vpop {d8-d15}
pop {r0-r11,pc}