On 2024/02/28 20:10, Theo Buehler wrote:
> This is straightforward. There doesn't seem to be a possibility of
> shortcuts via a macro, so just add endbr64 to the four functions in this
> file. I could not find code that actually uses these, but it's probably
> better to be safe than sorry.
>
> The code is too old to have arm64 assembly.
I found a test file at
https://downloads.sourceforge.net/project/libdv/examples/examples/pond.dv)
Not really sure how to test properly; mplayer depends on it but
actually uses libavformat to play them (and works on a build without
USE_NOBTCFI). Anyway LGTM, OK sthen@.
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/multimedia/libdv/Makefile,v
> diff -u -p -r1.28 Makefile
> --- Makefile 7 Nov 2023 14:19:39 -0000 1.28
> +++ Makefile 28 Feb 2024 19:01:33 -0000
> @@ -1,7 +1,7 @@
> COMMENT= Quasar DV codec
>
> DISTNAME= libdv-1.0.0
> -REVISION= 4
> +REVISION= 5
>
> CATEGORIES= multimedia
>
> Index: patches/patch-libdv_vlc_x86_64_S
> ===================================================================
> RCS file: patches/patch-libdv_vlc_x86_64_S
> diff -N patches/patch-libdv_vlc_x86_64_S
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-libdv_vlc_x86_64_S 28 Feb 2024 19:00:50 -0000
> @@ -0,0 +1,35 @@
> +Index: libdv/vlc_x86_64.S
> +--- libdv/vlc_x86_64.S.orig
> ++++ libdv/vlc_x86_64.S
> +@@ -6,6 +6,7 @@
> + .globl dv_decode_vlc
> + .type dv_decode_vlc,@function
> + dv_decode_vlc:
> ++ endbr64
> + push %rbx
> + push %rbp
> +
> +@@ -102,6 +103,7 @@ void __dv_decode_vlc(int bits, dv_vlc_t *result)
> + .globl __dv_decode_vlc
> + .type __dv_decode_vlc,@function
> + __dv_decode_vlc:
> ++ endbr64
> + push %rbx
> + push %rbp
> +
> +@@ -174,6 +176,7 @@ void dv_parse_ac_coeffs_pass0(bitstream_t *bs,
> + .type dv_parse_ac_coeffs_pass0,@function
> +
> + dv_parse_ac_coeffs_pass0:
> ++ endbr64
> +
> + /* Args are at rdi=bs, rsi=mb, rdx=bl */
> + push %r12
> +@@ -427,6 +430,7 @@ gint dv_parse_video_segment(dv_videosegment_t *seg, gu
> + .globl dv_parse_video_segment
> + .type dv_parse_video_segment,@function
> + dv_parse_video_segment:
> ++ endbr64
> +
> + /* Args are at rdi=seg, rsi=quality */
> + push %r12
>
No comments:
Post a Comment