Fix: vp8cx_pack_tokens_into_partitions_armv5 crash
It was crashing when number of partitions was bigger than the number of MB rows (ex. 128x96 with 8 partitions). Start point was not checked against mb_rows, plus extra "empty" partitions were not written out. Change-Id: I9c2f013b9ec022354b658fab4ef799ff8b1de93d
This commit is contained in:
parent
6505adf271
commit
a5cd42feb9
@ -65,7 +65,7 @@
|
||||
numparts_loop
|
||||
ldr r10, [sp, #40] ; ptr
|
||||
ldr r5, [sp, #36] ; move mb_rows to the counting section
|
||||
sub r5, r5, r11 ; move start point with each partition
|
||||
subs r5, r5, r11 ; move start point with each partition
|
||||
; mb_rows starts at i
|
||||
str r5, [sp, #12]
|
||||
|
||||
@ -80,6 +80,8 @@ numparts_loop
|
||||
str r2, [r0, #vp8_writer_pos]
|
||||
str r10, [r0, #vp8_writer_buffer]
|
||||
|
||||
ble end_partition ; if (mb_rows <= 0) end partition
|
||||
|
||||
mb_row_loop
|
||||
|
||||
ldr r1, [r7, #tokenlist_start]
|
||||
@ -344,6 +346,7 @@ check_p_lt_stop
|
||||
str r6, [sp, #12]
|
||||
bgt mb_row_loop
|
||||
|
||||
end_partition
|
||||
mov r12, #32
|
||||
|
||||
stop_encode_loop
|
||||
|
Loading…
x
Reference in New Issue
Block a user