1*517393d9SAndrew GeisslerUpstream-Status: Inappropriate
2*517393d9SAndrew Geissler
3*517393d9SAndrew GeisslerRPI-Distro repo forks original vlc and applies patches
4*517393d9SAndrew Geisslerto enable raspiberry pi support.
5*517393d9SAndrew Geissler
6*517393d9SAndrew Geissler--- a/modules/hw/mmal/blend_rgba_neon.S
7*517393d9SAndrew Geissler+++ b/modules/hw/mmal/blend_rgba_neon.S
8*517393d9SAndrew Geissler@@ -1,10 +1,10 @@
9*517393d9SAndrew Geissler-        .syntax unified
10*517393d9SAndrew Geissler-        .arm
11*517393d9SAndrew Geissler-//      .thumb
12*517393d9SAndrew Geissler-        .text
13*517393d9SAndrew Geissler+#include "../../arm_neon/asm.S"
14*517393d9SAndrew Geissler         .align 16
15*517393d9SAndrew Geissler         .arch armv7-a
16*517393d9SAndrew Geissler-        .fpu neon-vfpv4
17*517393d9SAndrew Geissler+        .syntax unified
18*517393d9SAndrew Geissler+#if HAVE_AS_FPU_DIRECTIVE
19*517393d9SAndrew Geissler+        .fpu    neon-vfpv4
20*517393d9SAndrew Geissler+#endif
21*517393d9SAndrew Geissler
22*517393d9SAndrew Geissler @ blend_rgbx_rgba_neon
23*517393d9SAndrew Geissler
24*517393d9SAndrew Geissler--- a/modules/hw/mmal/codec.c
25*517393d9SAndrew Geissler+++ b/modules/hw/mmal/codec.c
26*517393d9SAndrew Geissler@@ -29,6 +29,7 @@
27*517393d9SAndrew Geissler #include <stdatomic.h>
28*517393d9SAndrew Geissler
29*517393d9SAndrew Geissler #include <vlc_common.h>
30*517393d9SAndrew Geissler+#include <vlc_cpu.h>
31*517393d9SAndrew Geissler #include <vlc_plugin.h>
32*517393d9SAndrew Geissler #include <vlc_codec.h>
33*517393d9SAndrew Geissler #include <vlc_filter.h>
34*517393d9SAndrew Geissler@@ -2311,6 +2312,9 @@ static int OpenBlendMmal(vlc_object_t *o
35*517393d9SAndrew Geissler     filter_t * const p_filter = (filter_t *)object;
36*517393d9SAndrew Geissler     const vlc_fourcc_t vfcc_dst = p_filter->fmt_out.video.i_chroma;
37*517393d9SAndrew Geissler
38*517393d9SAndrew Geissler+    if (!vlc_CPU_ARM_NEON())
39*517393d9SAndrew Geissler+        return VLC_EGENERIC;
40*517393d9SAndrew Geissler+
41*517393d9SAndrew Geissler     if (!hw_mmal_chroma_is_mmal(vfcc_dst) ||
42*517393d9SAndrew Geissler         !hw_mmal_vzc_subpic_fmt_valid(&p_filter->fmt_in.video))
43*517393d9SAndrew Geissler     {
44*517393d9SAndrew Geissler@@ -2421,6 +2425,9 @@ static int OpenBlendNeon(vlc_object_t *o
45*517393d9SAndrew Geissler     MMAL_FOURCC_T mfcc_dst = vlc_to_mmal_video_fourcc(&p_filter->fmt_out.video);
46*517393d9SAndrew Geissler     blend_neon_fn * blend_fn = (blend_neon_fn *)0;
47*517393d9SAndrew Geissler
48*517393d9SAndrew Geissler+    if (!vlc_CPU_ARM_NEON())
49*517393d9SAndrew Geissler+        return VLC_EGENERIC;
50*517393d9SAndrew Geissler+
51*517393d9SAndrew Geissler     // Non-alpha RGB only for dest
52*517393d9SAndrew Geissler     if (vfcc_dst != VLC_CODEC_RGB32)
53*517393d9SAndrew Geissler         return VLC_EGENERIC;
54