[FFmpeg-cvslog] arm: vp9mc: Use a different helper register for PIC loads

Martin Storsjö git at videolan.org
Fri Mar 31 21:51:20 EEST 2017


ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Thu Nov 10 13:25:36 2016 +0200| [11623217e3c9b859daee544e31acdd0821b61039] | committer: Martin Storsjö

arm: vp9mc: Use a different helper register for PIC loads

This fixes crashes since 557c1675cf in linux PIC builds.

Previously, movrelx silently used r12 as helper register, which
doesn't work when r12 is the destination register.

Signed-off-by: Martin Storsjö <martin at martin.st>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=11623217e3c9b859daee544e31acdd0821b61039
---

 libavcodec/arm/vp9mc_neon.S | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/arm/vp9mc_neon.S b/libavcodec/arm/vp9mc_neon.S
index 9deb656..d3d2c7f 100644
--- a/libavcodec/arm/vp9mc_neon.S
+++ b/libavcodec/arm/vp9mc_neon.S
@@ -404,7 +404,7 @@ function ff_vp9_\type\()_\filter\()\size\()_h_neon, export=1
         ldr             r4,  [sp, #16]
         ldr             r5,  [sp, #20]
 .endif
-        movrelx         r12, X(ff_vp9_subpel_filters)
+        movrelx         r12, X(ff_vp9_subpel_filters), r6
         add             r12, r12, 120*\offset - 8
         cmp             r5,  #8
         add             r12, r12, r5, lsl #3
@@ -680,8 +680,8 @@ function ff_vp9_\type\()_\filter\()\size\()_v_neon, export=1
         push            {r4-r5}
         vpush           {q4-q7}
         ldr             r4,  [sp, #72]
+        movrelx         r12, X(ff_vp9_subpel_filters), r5
         ldr             r5,  [sp, #80]
-        movrelx         r12, X(ff_vp9_subpel_filters)
         add             r12, r12, 120*\offset - 8
         add             r12, r12, r5, lsl #3
         cmp             r5,  #8



More information about the ffmpeg-cvslog mailing list