From a9d021cbfd76c54db11b742981ac3024c9d5ca17 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 5 Sep 2016 02:45:10 +0200 Subject: [PATCH] (ffmpeg core) Update --- cores/libretro-ffmpeg/Makefile | 105 +------------------------ cores/libretro-ffmpeg/Makefile.common | 106 +++++++++++++++++++++++++- cores/libretro-ffmpeg/Makefile.ffmpeg | 15 +++- 3 files changed, 118 insertions(+), 108 deletions(-) diff --git a/cores/libretro-ffmpeg/Makefile b/cores/libretro-ffmpeg/Makefile index 9b52ee33b9..76da4c464b 100644 --- a/cores/libretro-ffmpeg/Makefile +++ b/cores/libretro-ffmpeg/Makefile @@ -120,7 +120,7 @@ endif else ifneq (,$(findstring ios,$(platform))) - ARCH_ARM = 1 + #ARCH_ARM = 1 LIBRETRO_SWITCH = 1 TARGET := $(TARGET_NAME)_libretro_ios.dylib fpic := -fPIC @@ -176,109 +176,6 @@ endif LIBS += -L. endif -ifeq ($(LIBRETRO_SWITCH),1) -CFLAGS += -DLIBRETRO_SWITCH=1 -INTERNAL_LIBAVCODEC = 1 -INTERNAL_LIBAVFORMAT = 1 -INTERNAL_LIBAVUTIL = 1 -INTERNAL_LIBSWRESAMPLE = 1 -INTERNAL_LIBSWSCALE = 1 - -INTERNAL_LIBASS = 0 -INTERNAL_LIBFLAC = 1 -INTERNAL_LIBOGG = 1 -INTERNAL_LIBLAME = 1 -INTERNAL_LIBFAAC = 1 -INTERNAL_LIBVORBIS = 1 -INTERNAL_ZLIB = 1 -endif - - - -ifeq ($(INTERNAL_LIBAVCODEC),1) - BAKE_IN_FFMPEG=1 -else -ifneq (,$(findstring unix,$(platform))) - LIBS += $(shell pkg-config libavcodec --libs) - CFLAGS += $(shell pkg-config libavcodec --cflags) -else ifneq (,$(findstring osx,$(platform))) - LIBS += $(shell pkg-config libavcodec --libs) - CFLAGS += $(shell pkg-config libavcodec --cflags) -else ifneq (,$(findstring win,$(platform))) - LIBS += -lavcodec -endif -endif - -ifeq ($(INTERNAL_LIBASS),1) -else -ifeq ($(WANT_LIBASS),1) - -ifneq (,$(findstring unix,$(platform))) -ifneq (,$(findstring osx,$(platform))) - LIBS += $(shell pkg-config libass --libs) - CFLAGS += $(shell pkg-config libass --cflags) -endif -endif - -endif -endif - -ifeq ($(INTERNAL_LIBAVFORMAT),1) - BAKE_IN_FFMPEG=1 -else -ifneq (,$(findstring unix,$(platform))) - LIBS += $(shell pkg-config libavformat --libs) - CFLAGS += $(shell pkg-config libavformat --cflags) -else ifneq (,$(findstring osx,$(platform))) - LIBS += $(shell pkg-config libavformat --libs) - CFLAGS += $(shell pkg-config libavformat --cflags) -else ifneq (,$(findstring win,$(platform))) - LIBS += -lavformat -endif -endif - -ifeq ($(INTERNAL_LIBSWRESAMPLE),1) - BAKE_IN_FFMPEG=1 -else -ifneq (,$(findstring unix,$(platform))) - LIBS += $(shell pkg-config libswresample --libs) - CFLAGS += $(shell pkg-config libswresample --cflags) -else ifneq (,$(findstring osx,$(platform))) - LIBS += $(shell pkg-config libswresample --libs) - CFLAGS += $(shell pkg-config libswresample --cflags) -else ifneq (,$(findstring win,$(platform))) - LIBS += -lswresample -endif -endif - -ifeq ($(INTERNAL_LIBSWSCALE),1) - BAKE_IN_FFMPEG=1 -else -ifneq (,$(findstring unix,$(platform))) - LIBS += $(shell pkg-config libswscale --libs) - CFLAGS += $(shell pkg-config libswscale --cflags) -else ifneq (,$(findstring osx,$(platform))) - LIBS += $(shell pkg-config libswscale --libs) - CFLAGS += $(shell pkg-config libswscale --cflags) -else ifneq (,$(findstring win,$(platform))) - LIBS += -lswscale -endif -endif - -ifeq ($(INTERNAL_LIBAVUTIL),1) - BAKE_IN_FFMPEG=1 -else -ifneq (,$(findstring unix,$(platform))) - LIBS += $(shell pkg-config libavutil --libs) - CFLAGS += $(shell pkg-config libavutil --cflags) -else ifneq (,$(findstring osx,$(platform))) - gIBS += $(shell pkg-config libavutil --libs) - CFLAGS += $(shell pkg-config libavutil --cflags) -else ifneq (,$(findstring win,$(platform))) - LIBS += -lavutil -endif -endif - CFLAGS += -D__LIBRETRO__ include Makefile.common diff --git a/cores/libretro-ffmpeg/Makefile.common b/cores/libretro-ffmpeg/Makefile.common index 56fd488840..9932555c7a 100644 --- a/cores/libretro-ffmpeg/Makefile.common +++ b/cores/libretro-ffmpeg/Makefile.common @@ -6,6 +6,7 @@ DEFINES := -DHAVE_GMTIME_R -DHAVE_LOCALTIME_R -DHAVE_SWRESAMPLE LIBRETRO_SOURCE := GL_SOURCE := +CPUOPTS := DEPS_DIR := $(CORE_DIR)/deps LIBRETRO_COMM_DIR := $(CORE_DIR)/libretro-common BASE_DIR := $(CORE_DIR)/.. @@ -16,12 +17,113 @@ SWSCALE_DIR := $(BASE_DIR)/libswscale SWRESAMPLE_DIR := $(BASE_DIR)/libswresample -INCFLAGS := -I$(BASE_DIR) -I$(CORE_DIR) -I$(LIBRETRO_COMM_DIR)/include +INCFLAGS += -I$(BASE_DIR) -I$(CORE_DIR) -I$(LIBRETRO_COMM_DIR)/include LIBRETRO_SOURCE += $(CORE_DIR)/ffmpeg_core.c \ $(LIBRETRO_COMM_DIR)/queues/fifo_queue.c \ $(LIBRETRO_COMM_DIR)/rthreads/rthreads.c +ifeq ($(LIBRETRO_SWITCH),1) +DEFINES += -DLIBRETRO_SWITCH=1 +INTERNAL_LIBAVCODEC = 1 +INTERNAL_LIBAVFORMAT = 1 +INTERNAL_LIBAVUTIL = 1 +INTERNAL_LIBSWRESAMPLE = 1 +INTERNAL_LIBSWSCALE = 1 + +INTERNAL_LIBASS = 0 +INTERNAL_LIBFLAC = 1 +INTERNAL_LIBOGG = 1 +INTERNAL_LIBLAME = 1 +INTERNAL_LIBFAAC = 1 +INTERNAL_LIBVORBIS = 1 +INTERNAL_ZLIB = 1 +endif + +ifeq ($(INTERNAL_LIBAVCODEC),1) + BAKE_IN_FFMPEG=1 +else +ifneq (,$(findstring unix,$(platform))) + LIBS += $(shell pkg-config libavcodec --libs) + CFLAGS += $(shell pkg-config libavcodec --cflags) +else ifneq (,$(findstring osx,$(platform))) + LIBS += $(shell pkg-config libavcodec --libs) + CFLAGS += $(shell pkg-config libavcodec --cflags) +else ifneq (,$(findstring win,$(platform))) + LIBS += -lavcodec +endif +endif + +ifeq ($(INTERNAL_LIBASS),1) +else +ifeq ($(WANT_LIBASS),1) + +ifneq (,$(findstring unix,$(platform))) +ifneq (,$(findstring osx,$(platform))) + LIBS += $(shell pkg-config libass --libs) + CFLAGS += $(shell pkg-config libass --cflags) +endif +endif + +endif +endif + +ifeq ($(INTERNAL_LIBAVFORMAT),1) + BAKE_IN_FFMPEG=1 +else +ifneq (,$(findstring unix,$(platform))) + LIBS += $(shell pkg-config libavformat --libs) + CFLAGS += $(shell pkg-config libavformat --cflags) +else ifneq (,$(findstring osx,$(platform))) + LIBS += $(shell pkg-config libavformat --libs) + CFLAGS += $(shell pkg-config libavformat --cflags) +else ifneq (,$(findstring win,$(platform))) + LIBS += -lavformat +endif +endif + +ifeq ($(INTERNAL_LIBSWRESAMPLE),1) + BAKE_IN_FFMPEG=1 +else +ifneq (,$(findstring unix,$(platform))) + LIBS += $(shell pkg-config libswresample --libs) + CFLAGS += $(shell pkg-config libswresample --cflags) +else ifneq (,$(findstring osx,$(platform))) + LIBS += $(shell pkg-config libswresample --libs) + CFLAGS += $(shell pkg-config libswresample --cflags) +else ifneq (,$(findstring win,$(platform))) + LIBS += -lswresample +endif +endif + +ifeq ($(INTERNAL_LIBSWSCALE),1) + BAKE_IN_FFMPEG=1 +else +ifneq (,$(findstring unix,$(platform))) + LIBS += $(shell pkg-config libswscale --libs) + CFLAGS += $(shell pkg-config libswscale --cflags) +else ifneq (,$(findstring osx,$(platform))) + LIBS += $(shell pkg-config libswscale --libs) + CFLAGS += $(shell pkg-config libswscale --cflags) +else ifneq (,$(findstring win,$(platform))) + LIBS += -lswscale +endif +endif + +ifeq ($(INTERNAL_LIBAVUTIL),1) + BAKE_IN_FFMPEG=1 +else +ifneq (,$(findstring unix,$(platform))) + LIBS += $(shell pkg-config libavutil --libs) + CFLAGS += $(shell pkg-config libavutil --cflags) +else ifneq (,$(findstring osx,$(platform))) + gIBS += $(shell pkg-config libavutil --libs) + CFLAGS += $(shell pkg-config libavutil --cflags) +else ifneq (,$(findstring win,$(platform))) + LIBS += -lavutil +endif +endif + ifeq ($(HAVE_BIGENDIAN),1) CPUOPTS += -DHAVE_BIGENDIAN=1 -DMSB_FIRST else @@ -34,7 +136,7 @@ ifeq ($(HAVE_SSA), 1) endif ifeq ($(BAKE_IN_FFMPEG),1) -include Makefile.ffmpeg +include $(CORE_DIR)/Makefile.ffmpeg endif ifeq ($(HAVE_OPENGL),1) diff --git a/cores/libretro-ffmpeg/Makefile.ffmpeg b/cores/libretro-ffmpeg/Makefile.ffmpeg index d9b7047a88..7417dc0ec2 100644 --- a/cores/libretro-ffmpeg/Makefile.ffmpeg +++ b/cores/libretro-ffmpeg/Makefile.ffmpeg @@ -1326,6 +1326,10 @@ LIBAVUTIL_SOURCE += \ $(AVUTIL_DIR)/x86/float_dsp_init.c endif +ifeq ($(ARCH_ARM),1) +LIBAVUTIL_SOURCE += $(filter-out $(AVUTIL_BLACKLIST),$(wildcard $(AVUTIL_DIR)/arm/*.c)) +endif + ifeq ($(ARCH_PPC),1) LIBAVUTIL_SOURCE += $(AVUTIL_DIR)/ppc/cpu.c \ @@ -1348,7 +1352,7 @@ DEFINES += -DHAVE_SWSCALE_H \ -DCONFIG_SWSCALE_ALPHA=1 \ -DSWS_MAX_FILTER_SIZE=256 -LIBSWSCALE_SOURCE += \ +LIBSWSCALE_SOURCE := \ $(SWSCALE_DIR)/alphablend.c \ $(SWSCALE_DIR)/input.c \ $(SWSCALE_DIR)/options.c \ @@ -1373,7 +1377,7 @@ endif #libswresample ifeq ($(INTERNAL_LIBSWRESAMPLE),1) -LIBSWRESAMPLE_SOURCE += $(SWRESAMPLE_DIR)/audioconvert.c \ +LIBSWRESAMPLE_SOURCE := $(SWRESAMPLE_DIR)/audioconvert.c \ $(SWRESAMPLE_DIR)/dither.c \ $(SWRESAMPLE_DIR)/rematrix.c \ $(SWRESAMPLE_DIR)/resample.c \ @@ -1460,6 +1464,7 @@ endif AVCODEC_BLACKLIST := \ + $(AVCODEC_DIR)/arm/neontest.c \ $(AVCODEC_DIR)/vda.c \ $(AVCODEC_DIR)/libvo-aacenc.c \ $(AVCODEC_DIR)/libvo-amrwbenc.c \ @@ -1839,9 +1844,15 @@ AVCODEC_BLACKLIST += $(AVCODEC_DIR)/videotoolbox.c LIBAVCODEC_SOURCE += $(filter-out $(AVCODEC_BLACKLIST),$(wildcard $(AVCODEC_DIR)/*.c)) +ifeq ($(ARCH_ARM),1) +LIBAVCODEC_SOURCE += $(filter-out $(AVCODEC_BLACKLIST),$(wildcard $(AVCODEC_DIR)/arm/*.c)) +DEFINES += -DHAVE_AS_DN_DIRECTIVE=0 +endif + ifeq ($(ARCH_X86),1) LIBAVCODEC_SOURCE += $(filter-out $(AVCODEC_BLACKLIST),$(wildcard $(AVCODEC_DIR)/x86/*.c)) endif + endif # Parser switches