diff options
Diffstat (limited to 'package/ffmpeg/patches')
-rw-r--r-- | package/ffmpeg/patches/0001-libavcodec-arm-mlpdsp_armv5te-fix-label-format-to-wo.patch | 59 | ||||
-rw-r--r-- | package/ffmpeg/patches/patch-libavcodec_arm_synth_filter_vfp_S | 93 |
2 files changed, 59 insertions, 93 deletions
diff --git a/package/ffmpeg/patches/0001-libavcodec-arm-mlpdsp_armv5te-fix-label-format-to-wo.patch b/package/ffmpeg/patches/0001-libavcodec-arm-mlpdsp_armv5te-fix-label-format-to-wo.patch new file mode 100644 index 000000000..a23de2e78 --- /dev/null +++ b/package/ffmpeg/patches/0001-libavcodec-arm-mlpdsp_armv5te-fix-label-format-to-wo.patch @@ -0,0 +1,59 @@ +From 654bd47716c4f36719fb0f3f7fd8386d5ed0b916 Mon Sep 17 00:00:00 2001 +From: Ross Burton <ross.burton@arm.com> +Date: Fri, 9 Aug 2024 11:32:00 +0100 +Subject: [PATCH] libavcodec/arm/mlpdsp_armv5te: fix label format to work with + binutils 2.43 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +binutils 2.43 has stricter validation for labels[1] and results in errors +when building ffmpeg for armv5: + +src/libavcodec/arm/mlpdsp_armv5te.S:232: Error: junk at end of line, first unrecognized character is `0' + +Remove the leading zero in the "01" label to resolve this error. + +[1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=226749d5a6ff0d5c607d6428d6c81e1e7e7a994b + +Signed-off-by: Ross Burton <ross.burton@arm.com> +Signed-off-by: Martin Storsjö <martin@martin.st> +Signed-off-by: Phil Sutter <phil@nwl.cc> +--- + libavcodec/arm/mlpdsp_armv5te.S | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/libavcodec/arm/mlpdsp_armv5te.S b/libavcodec/arm/mlpdsp_armv5te.S +index 4f9aa485fd21a..d31568611c30f 100644 +--- a/libavcodec/arm/mlpdsp_armv5te.S ++++ b/libavcodec/arm/mlpdsp_armv5te.S +@@ -229,7 +229,7 @@ A .endif + .endif + + // Begin loop +-01: ++1: + .if TOTAL_TAPS == 0 + // Things simplify a lot in this case + // In fact this could be pipelined further if it's worth it... +@@ -241,7 +241,7 @@ A .endif + str ST0, [PST, #-4]! + str ST0, [PST, #4 * (MAX_BLOCKSIZE + MAX_FIR_ORDER)] + str ST0, [PSAMP], #4 * MAX_CHANNELS +- bne 01b ++ bne 1b + .else + .if \fir_taps & 1 + .set LOAD_REG, 1 +@@ -333,7 +333,7 @@ T orr AC0, AC0, AC1 + str ST3, [PST, #-4]! + str ST2, [PST, #4 * (MAX_BLOCKSIZE + MAX_FIR_ORDER)] + str ST3, [PSAMP], #4 * MAX_CHANNELS +- bne 01b ++ bne 1b + .endif + b 99f + +-- +2.43.0 + diff --git a/package/ffmpeg/patches/patch-libavcodec_arm_synth_filter_vfp_S b/package/ffmpeg/patches/patch-libavcodec_arm_synth_filter_vfp_S deleted file mode 100644 index 1472699be..000000000 --- a/package/ffmpeg/patches/patch-libavcodec_arm_synth_filter_vfp_S +++ /dev/null @@ -1,93 +0,0 @@ ---- ffmpeg-3.4.1.orig/libavcodec/arm/synth_filter_vfp.S 2016-03-29 04:25:11.000000000 +0200 -+++ ffmpeg-3.4.1/libavcodec/arm/synth_filter_vfp.S 2017-07-27 02:09:00.326946211 +0200 -@@ -1,6 +1,5 @@ - /* - * Copyright (c) 2013 RISC OS Open Ltd -- * Author: Ben Avison <bavison@riscosopen.org> - * - * This file is part of FFmpeg. - * -@@ -17,6 +16,8 @@ - * You should have received a copy of the GNU Lesser General Public - * License along with FFmpeg; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -+ * -+ * Author: Ben Avison <bavison@riscosopen.org> - */ - - #include "libavutil/arm/asm.S" -@@ -124,7 +125,7 @@ function ff_synth_filter_float_vfp, expo - push {r3-r7,lr} - vpush {s16-s31} - ldr lr, [P_SB_OFF] -- add a2, ORIG_P_SB, lr, lsl #2 @ calculate synth_buf to pass to imdct_half -+ add a2, ORIG_P_SB, lr, LSL #2 @ calculate synth_buf to pass to imdct_half - mov P_SB, a2 @ and keep a copy for ourselves - bic J_WRAP, lr, #63 @ mangled to make testing for wrap easier in inner loop - sub lr, lr, #32 -@@ -132,12 +133,12 @@ function ff_synth_filter_float_vfp, expo - str lr, [P_SB_OFF] @ rotate offset, modulo buffer size, ready for next call - ldr a3, [sp, #(16+6+2)*4] @ fetch in from stack, to pass to imdct_half - VFP vmov s16, SCALE @ imdct_half is free to corrupt s0, but it contains one of our arguments in hardfp case -- bl X(ff_imdct_half_vfp) -+ bl ff_imdct_half_c - VFP vmov SCALE, s16 - -- fmrx OLDFPSCR, FPSCR -+ vmrs OLDFPSCR, FPSCR - ldr lr, =0x03030000 @ RunFast mode, short vectors of length 4, stride 1 -- fmxr FPSCR, lr -+ vmsr FPSCR, lr - ldr P_SB2_DN, [sp, #16*4] - ldr P_WIN_DN, [sp, #(16+6+0)*4] - ldr P_OUT_DN, [sp, #(16+6+1)*4] -@@ -196,48 +197,10 @@ NOVFP vldr SCALE, [sp, #(16+6+3)*4] - vstmdb P_SB2_DN!, {VD0-VD3} - bne 1b - -- fmxr FPSCR, OLDFPSCR -+ vmsr FPSCR, OLDFPSCR - vpop {s16-s31} - pop {r3-r7,pc} - endfunc - -- .unreq IMDCT -- .unreq ORIG_P_SB -- .unreq P_SB_OFF -- .unreq I -- .unreq P_SB2_UP -- .unreq OLDFPSCR -- .unreq P_SB2_DN -- .unreq P_WIN_DN -- .unreq P_OUT_DN -- .unreq P_SB -- .unreq J_WRAP -- .unreq P_WIN_UP -- .unreq P_OUT_UP -- -- .unreq SCALE -- .unreq SBUF_DAT_REV0 -- .unreq SBUF_DAT_REV1 -- .unreq SBUF_DAT_REV2 -- .unreq SBUF_DAT_REV3 -- .unreq VA0 -- .unreq VA3 -- .unreq VB0 -- .unreq VB3 -- .unreq VC0 -- .unreq VC3 -- .unreq VD0 -- .unreq VD3 -- .unreq SBUF_DAT0 -- .unreq SBUF_DAT1 -- .unreq SBUF_DAT2 -- .unreq SBUF_DAT3 -- .unreq SBUF_DAT_ALT0 -- .unreq SBUF_DAT_ALT1 -- .unreq SBUF_DAT_ALT2 -- .unreq SBUF_DAT_ALT3 -- .unreq WIN_DN_DAT0 -- .unreq WIN_UP_DAT0 -- - .align 3 - zero: .word 0, 0 |