diff --git a/cores/libretro-ffmpeg/Makefile b/cores/libretro-ffmpeg/Makefile index 616a73a325..cb17472d04 100644 --- a/cores/libretro-ffmpeg/Makefile +++ b/cores/libretro-ffmpeg/Makefile @@ -20,6 +20,7 @@ INTERNAL_WAVPACK = 0 INTERNAL_XVIDCORE = 0 INTERNAL_VPX = 0 +WANT_LIBASS = 0 BAKE_IN_FFMPEG := 0 @@ -85,35 +86,15 @@ ifeq ($(OPENGL),1) endif HAVE_SSA := 1 - LIBS = $(shell pkg-config libass --libs) -pthread - CFLAGS += $(shell pkg-config libass --cflags) -pthread CFLAGS += -DHAVE_STRUCT_SOCKADDR_STORAGE -DHAVE_STRUCT_ADDRINFO -DHAVE_FMINF HAVE_POLL_H = 1 HAVE_GETADDRINFO = 1 HAVE_NETWORK = 1 HAVE_SOCKLEN = 1 HAVE_PTHREADS = 1 -ifneq ($(INTERNAL_LIBAVCODEC),1) - LIBS += $(shell pkg-config libavcodec --libs) - CFLAGS += $(shell pkg-config libavcodec --cflags) -endif -ifneq ($(INTERNAL_LIBAVFORMAT),1) - LIBS += $(shell pkg-config libavformat --libs) - CFLAGS += $(shell pkg-config libavformat --cflags) -endif -ifneq ($(INTERNAL_LIBSWRESAMPLE),1) - LIBS += $(shell pkg-config libswresample --libs) - CFLAGS += $(shell pkg-config libswresample --cflags) -endif -ifneq ($(INTERNAL_LIBAVUTIL),1) - LIBS += $(shell pkg-config libavutil --libs) - CFLAGS += $(shell pkg-config libavutil --cflags) -endif -ifneq ($(INTERNAL_LIBSWSCALE),1) - LIBS += $(shell pkg-config libswscale --libs) - CFLAGS += $(shell pkg-config libswscale --cflags) -endif + else ifneq (,$(findstring osx,$(platform))) + ARCH_X86 = 1 LIBRETRO_SWITCH = 1 TARGET := $(TARGET_NAME)_libretro.dylib @@ -126,7 +107,7 @@ ifeq ($(OPENGL),1) HAVE_GL_FFT := 1 CFLAGS += -DHAVE_GL endif -HAVE_PTHREADS = 1 + HAVE_PTHREADS = 1 OSXVER = `sw_vers -productVersion | cut -d. -f 2` OSX_LT_MAVERICKS = `(( $(OSXVER) <= 9)) && echo "YES"` fpic += -mmacosx-version-min=10.1 @@ -135,30 +116,11 @@ HAVE_PTHREADS = 1 HAVE_GETADDRINFO = 1 HAVE_NETWORK = 1 HAVE_SOCKLEN = 1 + HAVE_PTHREADS = 1 + - LIBS = $(shell pkg-config libass --libs) -pthread - CFLAGS += $(shell pkg-config libass --cflags) -pthread -ifneq ($(INTERNAL_LIBAVCODEC),1) - LIBS += $(shell pkg-config libavcodec --libs) - CFLAGS += $(shell pkg-config libavcodec --cflags) -endif -ifneq ($(INTERNAL_LIBAVFORMAT),1) - LIBS += $(shell pkg-config libavformat --libs) - CFLAGS += $(shell pkg-config libavformat --cflags) -endif -ifneq ($(INTERNAL_LIBSWRESAMPLE),1) - LIBS += $(shell pkg-config libswresample --libs) - CFLAGS += $(shell pkg-config libswresample --cflags) -endif -ifneq ($(INTERNAL_LIBAVUTIL),1) - LIBS += $(shell pkg-config libavutil --libs) - CFLAGS += $(shell pkg-config libavutil --cflags) -endif -ifneq ($(INTERNAL_LIBSWSCALE),1) - LIBS += $(shell pkg-config libswscale --libs) - CFLAGS += $(shell pkg-config libswscale --cflags) -endif else ifneq (,$(findstring win,$(platform))) + ARCH_X86 = 1 CC = gcc CXX = g++ @@ -173,21 +135,6 @@ ifeq ($(OPENGL),1) WIN32_PLATFORM := 1 endif LIBS += -L. -ifneq ($(INTERNAL_LIBAVCODEC),1) - LIBS += -lavcodec -endif -ifneq ($(INTERNAL_LIBAVFORMAT),1) - LIBS += -lavformat -endif -ifneq ($(INTERNAL_LIBSWRESAMPLE),1) - LIBS += -lswresample -endif -ifneq ($(INTERNAL_LIBAVUTIL),1) - LIBS += -lavutil -endif -ifneq ($(INTERNAL_LIBSWSCALE),1) - LIBS += -lswscale -endif endif ifeq ($(LIBRETRO_SWITCH),1) @@ -198,6 +145,7 @@ INTERNAL_LIBAVUTIL = 1 INTERNAL_LIBSWRESAMPLE = 1 INTERNAL_LIBSWSCALE = 1 +INTERNAL_LIBASS = 0 INTERNAL_LIBFLAC = 1 INTERNAL_LIBOGG = 1 INTERNAL_LIBLAME = 1 @@ -206,24 +154,90 @@ 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) -lpthread + CFLAGS += $(shell pkg-config libass --cflags) -lpthread +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_LIBWSCALE),1) +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__ diff --git a/cores/libretro-ffmpeg/Makefile.common b/cores/libretro-ffmpeg/Makefile.common index 232e51add1..cba13f103c 100644 --- a/cores/libretro-ffmpeg/Makefile.common +++ b/cores/libretro-ffmpeg/Makefile.common @@ -110,8 +110,8 @@ else endif ifeq ($(INTERNAL_LIBSPEEX),0) - LIBS += -lspeex - HAVE_LIBSPEEX = 1 + #LIBS += -lspeex + #HAVE_LIBSPEEX = 1 endif ifeq ($(INTERNAL_WEBP),0) @@ -147,12 +147,13 @@ ifeq ($(INTERNAL_WAVPACK),0) endif ifeq ($(INTERNAL_XVIDCORE),0) - LIBS += -lxvidcore + #LIBS += -lxvidcore + #HAVE_XVID = 1 endif ifeq ($(INTERNAL_LIBTHEORA),0) - LIBS += -ltheora -ltheoraenc -ltheoradec - HAVE_LIBTHEORA = 1 + #LIBS += -ltheora -ltheoraenc -ltheoradec + #HAVE_LIBTHEORA = 1 endif ifeq ($(INTERNAL_VPX),0) @@ -770,6 +771,14 @@ else DEFINES += -DCONFIG_HAP_DECODER=0 endif +ifeq ($(HAVE_LIBGSM),1) +DEFINES += -DCONFIG_LIBGSM_DECODER=1 \ + -DCONFIG_LIBGSM_MS_DECODER=1 +else +DEFINES += -DCONFIG_LIBGSM_DECODER=0 \ + -DCONFIG_LIBGSM_MS_DECODER=0 +endif + ifeq ($(HAVE_QSV),1) DEFINES += -DCONFIG_H264_QSV_DECODER=1 \ -DCONFIG_HEVC_QSV_DECODER=1 \ @@ -808,6 +817,12 @@ DEFINES += -DCONFIG_GSM_DECODER=0 \ -DCONFIG_GSM_MS_DECODER=0 endif +ifeq ($(HAVE_XVMC),1) +DEFINES += -DCONFIG_MPEG_XVMC_DECODER=1 +else +DEFINES += -DCONFIG_MPEG_XVMC_DECODER=0 +endif + DEFINES += \ -DCONFIG_TDSC_DECODER=0 \ -DCONFIG_ALIAS_PIX_DECODER=1 \ @@ -915,7 +930,6 @@ DEFINES += \ -DCONFIG_MJPEGB_DECODER=1 \ -DCONFIG_MMVIDEO_DECODER=1 \ -DCONFIG_MOTIONPIXELS_DECODER=1 \ - -DCONFIG_MPEG_XVMC_DECODER=1 \ -DCONFIG_MPEG1VIDEO_DECODER=1 \ -DCONFIG_MPEG2VIDEO_DECODER=1 \ -DCONFIG_MPEG4_DECODER=1 \ @@ -1431,7 +1445,6 @@ DEFINES += -DHAVE_AVCODEC_H \ -DCONFIG_RDFT=1 \ -DCONFIG_RUNTIME_CPUDETECT=1 \ -DCONFIG_GRAY=1 \ - -DCONFIG_XVMC=0 \ -DCONFIG_DSPUTIL=1 \ -DCONFIG_FRAME_THREAD_ENCODER=1 \ -DCONFIG_ERROR_RESILIENCE=1 \ @@ -1441,6 +1454,12 @@ DEFINES += -DHAVE_AVCODEC_H \ -DCONFIG_GOLOMB=1 \ -DCONFIG_ME_CMP=0 +ifeq ($(HAVE_XVMC),1) +DEFINES += -DCONFIG_XVMC=1 +else +DEFINES += -DCONFIG_XVMC=0 +endif + AVCODEC_BLACKLIST := \ $(AVCODEC_DIR)/vda.c \ @@ -1529,6 +1548,7 @@ AVCODEC_BLACKLIST := \ ifeq ($(HAVE_LIBGSM),1) else AVCODEC_BLACKLIST += $(AVCODEC_DIR)/libgsm.c \ + $(AVCODEC_DIR)/libgsmdec.c \ $(AVCODEC_DIR)/libgsmenc.c endif @@ -1544,6 +1564,12 @@ else $(AVCODEC_DIR)/libvpx.c endif +ifeq ($(HAVE_XVID),1) +else + AVCODEC_BLACKLIST += $(AVCODEC_DIR)/libxvid.c \ + $(AVCODEC_DIR)/libxvid_rc.c +endif + ifeq ($(HAVE_MMAL),1) else AVCODEC_BLACKLIST += $(AVCODEC_DIR)/mmaldec.c @@ -1743,6 +1769,7 @@ AVCODEC_BLACKLIST += \ $(AVCODEC_DIR)/vaapi_h264.c \ $(AVCODEC_DIR)/vaapi_mpeg.c \ $(AVCODEC_DIR)/vaapi_mpeg2.c \ + $(AVCODEC_DIR)/vaapi_mpeg4.c \ $(AVCODEC_DIR)/vaapi_vc1.c \ $(AVCODEC_DIR)/vaapi.c endif @@ -1759,18 +1786,22 @@ DEFINES += -DCONFIG_VC1_QSV_HWACCEL=0 \ -DCONFIG_HEVC_QSV_HWACCEL=0 endif +ifeq ($(HAVE_XVMC),1) +DEFINES += -DCONFIG_MPEG1_XVMC_HWACCEL=1 \ + -DCONFIG_MPEG2_XVMC_HWACCEL=1 +else +DEFINES += -DCONFIG_MPEG1_XVMC_HWACCEL=9 \ + -DCONFIG_MPEG2_XVMC_HWACCEL=0 +endif + ifeq ($(HAVE_CODEC_HW),1) DEFINES += \ -DCONFIG_H264_VDA_HWACCEL=1 \ - -DCONFIG_MPEG1_XVMC_HWACCEL=1 \ - -DCONFIG_MPEG2_XBMC_HWACCEL=1 \ - -DCONFIG_MPEG2_XVMC_HWACCEL=1 + -DCONFIG_MPEG2_XBMC_HWACCEL=1 else DEFINES += \ -DCONFIG_H264_VDA_HWACCEL=0 \ - -DCONFIG_MPEG1_XVMC_HWACCEL=0 \ - -DCONFIG_MPEG2_XBMC_HWACCEL=0 \ - -DCONFIG_MPEG2_XVMC_HWACCEL=0 + -DCONFIG_MPEG2_XBMC_HWACCEL=0 AVCODEC_BLACKLIST += $(AVCODEC_DIR)/dxa.c endif @@ -1798,6 +1829,11 @@ else AVCODEC_BLACKLIST += $(AVCODEC_DIR)/libdcadec.c endif +ifeq ($(HAVE_XVMC),1) +else +AVCODEC_BLACKLIST += $(AVCODEC_DIR)/mpegvideo_xvmc.c +endif + AVCODEC_BLACKLIST += $(AVCODEC_DIR)/libwavpackenc.c AVCODEC_BLACKLIST += $(AVCODEC_DIR)/videotoolbox.c