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