Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/jvxgit/AudYoFlo
Browse files Browse the repository at this point in the history
  • Loading branch information
hkbinaurics committed Mar 20, 2024
2 parents 2843ee8 + acae25d commit db811f6
Show file tree
Hide file tree
Showing 6 changed files with 119 additions and 32 deletions.
24 changes: 24 additions & 0 deletions patches/vst/0001-include-cstdint.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
From 3e258378e3d1a9c10d71319a8f0ef31c372b3c64 Mon Sep 17 00:00:00 2001
From: Bernd Geiser <[email protected]>
Date: Tue, 19 Mar 2024 17:20:46 +0100
Subject: [PATCH] include cstdint

---
source/vst/moduleinfo/moduleinfo.h | 1 +
1 file changed, 1 insertion(+)

diff --git a/source/vst/moduleinfo/moduleinfo.h b/source/vst/moduleinfo/moduleinfo.h
index e5cd584..fab376a 100644
--- a/vst3sdk/public.sdk/source/vst/moduleinfo/moduleinfo.h
+++ b/vst3sdk/public.sdk/source/vst/moduleinfo/moduleinfo.h
@@ -40,6 +40,7 @@

#include <string>
#include <vector>
+#include <cstdint>

//------------------------------------------------------------------------
namespace Steinberg {
--
2.40.1

16 changes: 8 additions & 8 deletions patches/vst/prepareModules-3.7.7.sh
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
#!/bin/bash
#!/bin/bash

if [ ! -d "vst3sdk" ]; then
echo git clone --recursive --branch v3.7.7_build_19 https://github.com/steinbergmedia/vst3sdk.git
git clone --recursive --branch v3.7.7_build_19 https://github.com/steinbergmedia/vst3sdk.git

echo patch -R -p0 --binary < ../../patches/vst/patch.vstsdk-v3.7.7-cml.patch
patch -R -p0 --binary < ../../patches/vst/patch.vstsdk-v3.7.7-cml.patch

echo patch -R -p0 --binary < ../../patches/vst/patch.vstsdk-v3.7.7-cma.patch
patch -R -p0 --binary < ../../patches/vst/patch.vstsdk-v3.7.7-cma.patch

echo patch -R -p0 --binary < ../../patches/vst/patch.vstsdk-v3.7.7-modutil-cml.patch
patch -R -p0 --binary < ../../patches/vst/patch.vstsdk-v3.7.7-modutil-cml.patch

echo patch -p0 --binary < ../../patches/vst/patch.vstsdk-v3.7.7-modinfo.patch
patch -p0 --binary < ../../patches/vst/patch.vstsdk-v3.7.7-modinfo.patch
fi



echo patch -p1 < ../../patches/vst/0001-include-cstdint.patch
patch -p1 < ../../patches/vst/0001-include-cstdint.patch || exit 1
fi
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ set(LOCAL_C_STANDARD 99)

set(LOCAL_SOURCES

${JVX_FFMPEG_SOURCE_DIR}/share/ffmpeg/examples/mux.c
${JVX_FFMPEG_SOURCE_DIR}/doc/examples/mux.c
)

# set_source_files_properties(${LOCAL_SOURCES} PROPERTIES LANGUAGE CXX )
Expand All @@ -29,11 +29,11 @@ else(JVX_OS MATCHES "macosx")
set(CONFIGURE_LOCAL_START_SCRIPT TRUE)
endif(JVX_OS MATCHES "macosx")

set(LOCAL_LIBS
set(LOCAL_LIBS
${JVX_FFMPEG_LIBS}
${JVX_SOCKET_LIBRARIES}
${JVX_FFMPEG_SYS_LIBS}
${SDL_LIBRARY}
${SDL_LIBRARY}
)

force_console_app()
Expand All @@ -44,4 +44,3 @@ include(${JVX_CMAKE_DIR}/common_local_exe_foot.cmake)
# Command: $(TargetPath)
# Command Argument: "E:\jvxrt\audio\release\runtime\wavs\music_stereo_48000Hz.wav"
# Working Directory: ""..\..\..\..\..\..\release\runtime\bin""

Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
--- a/libavcodec/x86/mathops.h
+++ b/libavcodec/x86/mathops.h
@@ -35,12 +35,20 @@
static av_always_inline av_const int MULL(int a, int b, unsigned shift)
{
int rt, dummy;
+ if (__builtin_constant_p(shift))
__asm__ (
"imull %3 \n\t"
"shrdl %4, %%edx, %%eax \n\t"
:"=a"(rt), "=d"(dummy)
- :"a"(a), "rm"(b), "ci"((uint8_t)shift)
+ :"a"(a), "rm"(b), "i"(shift & 0x1F)
);
+ else
+ __asm__ (
+ "imull %3 \n\t"
+ "shrdl %4, %%edx, %%eax \n\t"
+ :"=a"(rt), "=d"(dummy)
+ :"a"(a), "rm"(b), "c"((uint8_t)shift)
+ );
return rt;
}

@@ -113,19 +121,31 @@ __asm__ volatile(\
// avoid +32 for shift optimization (gcc should do that ...)
#define NEG_SSR32 NEG_SSR32
static inline int32_t NEG_SSR32( int32_t a, int8_t s){
+ if (__builtin_constant_p(s))
__asm__ ("sarl %1, %0\n\t"
: "+r" (a)
- : "ic" ((uint8_t)(-s))
+ : "i" (-s & 0x1F)
);
+ else
+ __asm__ ("sarl %1, %0\n\t"
+ : "+r" (a)
+ : "c" ((uint8_t)(-s))
+ );
return a;
}

#define NEG_USR32 NEG_USR32
static inline uint32_t NEG_USR32(uint32_t a, int8_t s){
+ if (__builtin_constant_p(s))
__asm__ ("shrl %1, %0\n\t"
: "+r" (a)
- : "ic" ((uint8_t)(-s))
+ : "i" (-s & 0x1F)
);
+ else
+ __asm__ ("shrl %1, %0\n\t"
+ : "+r" (a)
+ : "c" ((uint8_t)(-s))
+ );
return a;
}

--
2.25.1
Original file line number Diff line number Diff line change
@@ -1,54 +1,58 @@
#!/bin/bash
#!/bin/bash

# Rn this script as follows:
# msys2_shell.cmd -use-full-path -c "cd ${CMAKE_CURRENT_SOURCE_DIR} ; ./prepareModules-win.sh"

#postfix="x64"
#if [ $# -ge 1 ]; then
#if [ $# -ge 1 ]; then
postfix=$1
# fi

folder="ffmpeg-$postfix"

echo "Checking for existence of folder $folder"
if [ ! -d $folder ]; then

# Commit id = 05438db02437e241a418e266a354bf4e7be7ac59
echo git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
git checkout 05438db02437e241a418e266a354bf4e7be7ac59

echo "PATCHING"
echo "patch -p1 < ../ffmpeg-glnx-mathops.patch"
patch -p1 < ../ffmpeg-glnx-mathops.patch
cd ..

mv ffmpeg $folder
else
echo "Folder $folder already exists"
fi

if [ -d $folder ]; then

echo cd $folder
cd $folder

echo "Checking for existence of subfolder lib"
if [ ! -d "lib" ]; then
echo ./configure --enable-pic --prefix=./
./configure --enable-pic --prefix=./

echo ./configure --disable-bzlib --enable-pic --prefix=./
./configure --disable-bzlib --enable-pic --prefix=./

#echo ./configure --target-os=win64 --arch=x86_64 --enable-debug=3 --toolchain=msvc --prefix=./
#./configure --target-os=win64 --arch=x86_64 --enable-debug=3 --toolchain=msvc --prefix=./

#
# Options other than the standard (as delivered with ffmpeg) are not really supported in Windows. If you
# Options other than the standard (as delivered with ffmpeg) are not really supported in Windows. If you
# want to build the lib in another way, you can modify ffbuild/config.mak between configure and make.
# For example, if you want to generate debug information and disable optimization, you can set the entry
#
# CFLAGS= -nologo -Zi -MDd -W3 -wd4018 -wd4146 -wd4244 -wd4305 -wd4554 -utf-8
#
# and remove the -02 flag!!
#
# Also, I need to introduce some dirty hacks to compile in Windows to prevent undefined references which are
# Also, I need to introduce some dirty hacks to compile in Windows to prevent undefined references which are
# not reported in Release mode
#
# Patches:
Expand All @@ -57,7 +61,7 @@ if [ -d $folder ]; then

echo make
make

echo make install
make install
else
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,24 @@ include(${JVX_CMAKE_DIR}/common_local_lib_head.cmake)
if(${JVX_OS} MATCHES "windows")

if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/libsdl)
message("libsdl sub project not available. Starting script to download it.")
message("libsdl sub project not available. Starting script to download it.")
execute_process(COMMAND ${mysh} -c "cd ${CMAKE_CURRENT_SOURCE_DIR} ; ./prepareModules-win.sh; exit")
message("libsdl installation complete.")
endif()

set(SDL_LIBRARY_PATH "${CMAKE_CURRENT_SOURCE_DIR}/libsdl/SDL2-2.26.3" CACHE INTERNAL "libsdl lib path (windows)")
set(SDL_INCLUDE_PATH "${SDL_LIBRARY_PATH}/include" CACHE INTERNAL "libsdl lib path (windows)")
if(JVX_PLATFORM MATCHES "32bit")
set(SDL_LIBRARY "${CMAKE_CURRENT_SOURCE_DIR}/libsdl/SDL2-2.26.3/lib/x86/SDL2.lib" CACHE INTERNAL "libsdl lib (windows)")
else()
set(SDL_LIBRARY "${CMAKE_CURRENT_SOURCE_DIR}/libsdl/SDL2-2.26.3/lib/x64/SDL2.lib" CACHE INTERNAL "libsdl lib (windows)")
endif()

elseif(${JVX_OS} MATCHES "linux")

find_package(SDL2 REQUIRED)

pkg_search_module(SDL2 REQUIRED sdl2)
# find_package(SDL2 REQUIRED)
set(SDL_INCLUDE_PATH "${SDL2_INCLUDE_DIRS}" CACHE INTERNAL "libsdl lib path (linux)")
set(SDL_LIBRARY "${SDL2_LIBRARIES}" CACHE INTERNAL "libsdl lib (linux)")

# message(FATAL_ERROR "SDL_LIBRARY_PATH = ${SDL_LIBRARY_PATH}")
endif()

0 comments on commit db811f6

Please sign in to comment.