From 226e514675a10e583d2af123b2b6960043da1dca Mon Sep 17 00:00:00 2001
|
From: Francis Fan <francis.fan@rock-chips.com>
|
Date: Wed, 12 Jun 2019 22:01:10 +0800
|
Subject: [PATCH 09/11] add ffmpeg compilation support
|
|
Change-Id: I74eac5a367904091fc7b30509dd7b21c2a1250e8
|
Signed-off-by: Francis Fan <francis.fan@rock-chips.com>
|
(cherry picked from commit 38986885a51a08b89b40419cb1c2263b82314155)
|
---
|
Config.in | 299 ++++++++++++++++++++++++++++++++++++++
|
ffmpeg.rvmk | 475 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
2 files changed, 774 insertions(+)
|
create mode 100644 Config.in
|
create mode 100644 ffmpeg.rvmk
|
|
diff --git a/Config.in b/Config.in
|
new file mode 100644
|
index 0000000..fa5d564
|
--- /dev/null
|
+++ b/Config.in
|
@@ -0,0 +1,299 @@
|
+menuconfig RV_TARGET_FFMPEG
|
+ bool "FFMPEG"
|
+ default n
|
+ help
|
+ FFMPEG in rv is used as muxer/demuxer, audio codecs and hardware h264 codecs.
|
+
|
+if RV_TARGET_FFMPEG
|
+config RV_TARGET_FFMPEG_STATIC_LIB
|
+ bool "Build static lib"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_FS_MANAGE
|
+ bool "Use fs manage interface"
|
+ default n
|
+ help
|
+ file interface use libfs_manage
|
+
|
+config RV_TARGET_MPP_DECODER_LIMIT_BUFFER_NUM
|
+ string "the num of mpp decoder limited buffer"
|
+ default 0
|
+ help
|
+ if 0, mpp decoder suppose that ion buffer can be used without concern.
|
+ Set equal or greater than 4 if you need the mpp decoder limit buffer usage.
|
+
|
+config RV_TARGET_FFMPEG_GPL
|
+ bool "Enable GPL code"
|
+ default n
|
+ help
|
+ allow use of GPL code, the resulting libs and binaries will be under GPL
|
+
|
+config RV_TARGET_FFMPEG_NONFREE
|
+ bool "Enable nonfree code"
|
+ default n
|
+ help
|
+ allow use of nonfree code, the resulting libs and binaries
|
+ will be unredistributable
|
+
|
+config RV_TARGET_FFMPEG_DISABLE_FFPLAY
|
+ bool "Disable ffplay"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_DISABLE_FFPORBE
|
+ bool "Disable ffprobe"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_DISABLE_COREIMAGE
|
+ bool "Disable core image"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_DISABLE_VALGRINDBACKTRACE
|
+ bool "Disable valgrind-backtrace"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_DISABLE_LOGGING
|
+ bool "Disable logging"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_DISABLE_BSFS
|
+ bool "Disable bsfs"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_DISABLE_MUXERS
|
+ bool "Disable all muxers"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_DISABLE_DEMUXERS
|
+ bool "Disable all demuxers"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_DISABLE_FILTERS
|
+ bool "Disable all filters"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_DISABLE_ENCODERS
|
+ bool "Disable all encoders"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_DISABLE_DECODERS
|
+ bool "Disable all decoders"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_DEMUXER_H264
|
+ bool "Enable demuxer h264"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_MUXER_AVI
|
+ bool "Enable muxer avi"
|
+ default y if RV_TARGET_MAIN_APP_RECORD_FORMAT = "avi"
|
+
|
+config RV_TARGET_FFMPEG_DEMUXER_AVI
|
+ bool "Enable demuxer avi"
|
+ default y if RV_TARGET_MAIN_APP_RECORD_FORMAT = "avi"
|
+
|
+config RV_TARGET_FFMPEG_MUXER_MPEGTS
|
+ bool "Enable muxer mpegts"
|
+ default y if RV_TARGET_MAIN_APP_RECORD_FORMAT = "ts"
|
+
|
+config RV_TARGET_FFMPEG_DEMUXER_MPEGTS
|
+ bool "Enable demuxer mpegts"
|
+ default y if RV_TARGET_MAIN_APP_RECORD_FORMAT = "ts"
|
+
|
+config RV_TARGET_FFMPEG_DEMUXER_MPEGPS
|
+ bool "Enable demuxer mpegps"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_MUXER_RTP
|
+ bool "Enable muxer rtp"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_MUXER_MP4
|
+ bool "Enable muxer mp4"
|
+ default y if RV_TARGET_MAIN_APP_RECORD_FORMAT = "mp4"
|
+
|
+config RV_TARGET_FFMPEG_MUXER_MOV
|
+ bool "Enable muxer mov"
|
+ default y if RV_TARGET_MAIN_APP_RECORD_FORMAT = "mov"
|
+
|
+config RV_TARGET_FFMPEG_DEMUXER_MOV_MP4
|
+ bool "Enable demuxer mov/mp4"
|
+ default y if RV_TARGET_MAIN_APP_RECORD_FORMAT = "mp4" || RV_TARGET_MAIN_APP_RECORD_FORMAT = "mov"
|
+
|
+config RV_TARGET_FFMPEG_MUXER_ADTS
|
+ bool "Enable muxer adts"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_DEMUXER_AAC
|
+ bool "Enable demuxer aac"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_MUXER_RTP_MPEGTS
|
+ bool "Enable muxer rtp_mpegts"
|
+ default n
|
+ select RV_TARGET_FFMPEG_MUXER_RTP
|
+ select RV_TARGET_FFMPEG_MUXER_MPEGTS
|
+
|
+config RV_TARGET_FFMPEG_MUXER_FLV
|
+ bool "Enable muxer flv"
|
+ default y if RV_TARGET_MAIN_APP_TS_PROTOCOL = "rtmp"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_DEMUXER_RTSP
|
+ bool "Enable demuxer rtsp"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_PROTOCOL_FILE
|
+ bool "Enable protocol file"
|
+ default y
|
+
|
+config RV_TARGET_FFMPEG_PROTOCOL_UDP
|
+ bool "Enable protocol udp"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_PROTOCOL_TCP
|
+ bool "Enable protocol tcp"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_PROTOCOL_RTP
|
+ bool "Enable protocol rtp"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_LIBRTMP
|
+ bool "Enable protocol librtmp"
|
+ default y if RV_TARGET_LIBRTMP
|
+
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_SMALL
|
+ bool "Enable small"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_DECODER_FDKAAC
|
+ bool "Enable decoder:fdk_aac"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_DECODER_AAC
|
+ bool "Enable decoder:aac"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_DECODER_AACAT
|
+ bool "Enable decoder:aac_at"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_DECODER_AACFIXED
|
+ bool "Enable decoder:aac_fixed"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_DECODER_AACLATM
|
+ bool "Enable decoder:aac_latm"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_DECODER_RKMPP
|
+ bool "Enable decoder:rk_mpp"
|
+ default n
|
+
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_ENCODER_PCM16
|
+ bool "Enable encoder:16 bit PCM"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_ENCODER_PCM32
|
+ bool "Enable encoder:32 bit PCM"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_ENCODER_RKMPP
|
+ bool "Enable encoder:rk_mpp"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_MUXER_PCM32
|
+ bool "Enable muxer:32 bit PCM"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_MUXER_PCM16
|
+ bool "Enable muxer:16 bit PCM"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_MUXER_PCMALAW
|
+ bool "Enable muxer:pcm_alaw"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_MUXER_H264
|
+ bool "Enable muxer:h264"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_DEMUXER_PCM32
|
+ bool "Enable demuxer:32 bit PCM"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_DEMUXER_PCM16
|
+ bool "Enable demuxer:16 bit PCM"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_DEMUXER_PCMALAW
|
+ bool "Enable demuxer:pcm_alaw"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_DEMUXER_MJPEG
|
+ bool "Enable demuxer:mjpeg"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_DEMUXER_MJPEG2000
|
+ bool "Enable demuxer:mjpeg2000"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_DEMUXER_MPEGTSRAW
|
+ bool "Enable demuxer:mjpegtsraw"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_DEMUXER_MPJPEG
|
+ bool "Enable demuxer:mpjpeg"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_DEMUXER_MPL2
|
+ bool "Enable demuxer:mpl2"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_DEMUXER_IPMOVIE
|
+ bool "Enable demuxer:ipmovie"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_DEMUXER_MLP
|
+ bool "Enable demuxer:mlp"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_DEMUXER_MLV
|
+ bool "Enable demuxer:mlv"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_DEMUXER_MM
|
+ bool "Enable demuxer:mm"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_DEMUXER_MMF
|
+ bool "Enable demuxer:mmf"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_DEMUXER_MOV
|
+ bool "Enable demuxer:mov"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_DEMUXER_MP3
|
+ bool "Enable demuxer:mp3"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_DEMUXER_MPC
|
+ bool "Enable demuxer:mpc"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_DEMUXER_MPC8
|
+ bool "Enable demuxer:mpc8"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_DEMUXER_WAV
|
+ bool "Enable demuxer:wav"
|
+ default n
|
+
|
+config RV_TARGET_FFMPEG_ENABLE_PARSER_H264
|
+ bool "Enable parser:h264"
|
+ default n
|
+
|
+endif
|
diff --git a/ffmpeg.rvmk b/ffmpeg.rvmk
|
new file mode 100644
|
index 0000000..9ffe027
|
--- /dev/null
|
+++ b/ffmpeg.rvmk
|
@@ -0,0 +1,475 @@
|
+################################################################################
|
+#
|
+# ffmpeg
|
+#
|
+################################################################################
|
+
|
+FFMPEG_DEPENDENCIES = host-pkgconf mpp
|
+
|
+FFMPEG_CONF_ENV = PKG_CONFIG_LIBDIR="$(TARGET_DIR)/lib/pkgconfig"
|
+
|
+FFMPEG_TARGET_FILES = $(FFMPEG_PKGDIR)libavformat/libavformat.$(FFMPEG_TARGET_TYPE) \
|
+ $(FFMPEG_PKGDIR)libswresample/libswresample.$(FFMPEG_TARGET_TYPE) \
|
+ $(FFMPEG_PKGDIR)libavutil/libavutil.$(FFMPEG_TARGET_TYPE) \
|
+ $(FFMPEG_PKGDIR)libavcodec/libavcodec.$(FFMPEG_TARGET_TYPE)
|
+
|
+FFMPEG_CONF_OPTS = \
|
+ --prefix=$(TARGET_DIR) \
|
+ --pkg-config=$(PKG_CONFIG_HOST_BINARY) \
|
+ --pkgconfigdir=$(TARGET_DIR)/lib/pkgconfig \
|
+ --enable-cross-compile \
|
+ --disable-programs \
|
+ --disable-doc \
|
+ --disable-avdevice \
|
+ --disable-postproc \
|
+ --disable-swscale \
|
+ --disable-avfilter \
|
+ --disable-w32threads --disable-os2threads \
|
+ --disable-pixelutils \
|
+ --disable-everything \
|
+ --disable-hwaccels \
|
+ --disable-audiotoolbox \
|
+ --disable-iconv \
|
+ --disable-libxcb \
|
+ --disable-libxcb-shm \
|
+ --disable-libxcb-xfixes \
|
+ --disable-libxcb-shape \
|
+ --disable-schannel \
|
+ --disable-securetransport \
|
+ --disable-videotoolbox \
|
+ --disable-xlib \
|
+ --disable-asm \
|
+ --disable-zlib \
|
+ --cross-prefix=$(TARGET_CROSS) \
|
+ --target-os=linux \
|
+ --arch=armv7-a \
|
+ --disable-runtime-cpudetect \
|
+ --disable-htmlpages \
|
+ --disable-podpages \
|
+ --disable-txtpages
|
+
|
+FFMPEG_CONFIGURE_DEP_CONFIGS =
|
+
|
+FFMPEG_EXTRA_CFLAGS = -Wno-multichar
|
+
|
+ifneq ($(RV_ENABLE_DEBUG),n)
|
+FFMPEG_CONF_OPTS += --disable-debug
|
+endif
|
+
|
+ifeq ($(RV_OPTIMIZE_0),y)
|
+FFMPEG_CONF_OPTS += --disable-optimizations
|
+endif
|
+
|
+#ifeq ($(RV_STRIP_none),y)
|
+FFMPEG_CONF_OPTS += --disable-stripping
|
+#endif
|
+#FFMPEG_CONFIGURE_DEP_CONFIGS += RV_STRIP_none
|
+
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_DISABLE_FFPLAY),y)
|
+FFMPEG_CONF_OPTS += --disable-ffplay
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_DISABLE_FFPLAY
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_DISABLE_FFPORBE),y)
|
+FFMPEG_CONF_OPTS += --disable-ffprobe
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_DISABLE_FFPORBE
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_DISABLE_COREIMAGE),y)
|
+FFMPEG_CONF_OPTS += --disable-coreimage
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_DISABLE_COREIMAGE
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_DISABLE_VALGRINDBACKTRACE),y)
|
+FFMPEG_CONF_OPTS += --disable-valgrind-backtrace
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_DISABLE_VALGRINDBACKTRACE
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_DISABLE_LOGGING),y)
|
+FFMPEG_CONF_OPTS += --disable-logging
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_DISABLE_LOGGING
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_DISABLE_BSFS),y)
|
+FFMPEG_CONF_OPTS += --disable-bsfs
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_DISABLE_BSFS
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_DISABLE_MUXERS),y)
|
+FFMPEG_CONF_OPTS += --disable-muxers
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_DISABLE_MUXERS
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_DISABLE_DEMUXERS),y)
|
+FFMPEG_CONF_OPTS += --disable-demuxers
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_DISABLE_DEMUXERS
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_DISABLE_FILTERS),y)
|
+FFMPEG_CONF_OPTS += --disable-filters
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_DISABLE_FILTERS
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_DISABLE_ENCODERS),y)
|
+FFMPEG_CONF_OPTS += --disable-encoders
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_DISABLE_ENCODERS
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_DISABLE_DECODERS),y)
|
+FFMPEG_CONF_OPTS += --disable-decoders
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_DISABLE_DECODERS
|
+
|
+ifeq ($(BR2_ARM_CPU_HAS_VFPV2),y)
|
+FFMPEG_CONF_OPTS += --enable-vfp
|
+else
|
+FFMPEG_CONF_OPTS += --disable-vfp
|
+endif
|
+ifeq ($(BR2_ARM_CPU_HAS_NEON),y)
|
+FFMPEG_CONF_OPTS += --enable-neon
|
+FFMPEG_EXTRA_CFLAGS += -mfpu=neon
|
+endif
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_STATIC_LIB),y)
|
+FFMPEG_CONF_OPTS += --enable-static --disable-shared
|
+FFMPEG_TARGET_TYPE=a
|
+else
|
+FFMPEG_CONF_OPTS += --enable-shared --disable-static --enable-pic
|
+FFMPEG_TARGET_TYPE=so
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_STATIC_LIB
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_FS_MANAGE),y)
|
+FFMPEG_EXTRA_CFLAGS += -DFS_CACHE=1
|
+FFMPEG_DEPENDENCIES += libfs_manage
|
+else
|
+FFMPEG_EXTRA_CFLAGS += -DFS_CACHE=0
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_FS_MANAGE
|
+
|
+FFMPEG_EXTRA_CFLAGS += -DMPP_DECODER_LIMIT_BUFFER_NUM=$(call qstrip,$(RV_TARGET_MPP_DECODER_LIMIT_BUFFER_NUM))
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_MPP_DECODER_LIMIT_BUFFER_NUM
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_GPL),y)
|
+FFMPEG_CONF_OPTS += --enable-gpl
|
+else
|
+FFMPEG_CONF_OPTS += --disable-gpl
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_GPL
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_NONFREE),y)
|
+FFMPEG_CONF_OPTS += --enable-nonfree
|
+else
|
+FFMPEG_CONF_OPTS += --disable-nonfree
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_NONFREE
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_DEMUXER_H264),y)
|
+FFMPEG_CONF_OPTS += --enable-demuxer=h264
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_DEMUXER_H264
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_MUXER_AVI),y)
|
+FFMPEG_CONF_OPTS += --enable-muxer=avi
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_MUXER_AVI
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_DEMUXER_AVI),y)
|
+FFMPEG_CONF_OPTS += --enable-demuxer=avi
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_DEMUXER_AVI
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_MUXER_MPEGTS),y)
|
+FFMPEG_CONF_OPTS += --enable-muxer=mpegts
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_MUXER_MPEGTS
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_DEMUXER_MPEGTS),y)
|
+FFMPEG_CONF_OPTS += --enable-demuxer=mpegts
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_DEMUXER_MPEGTS
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_DEMUXER_MPEGPS),y)
|
+FFMPEG_CONF_OPTS += --enable-demuxer=mpegps
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_DEMUXER_MPEGPS
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_MUXER_RTP),y)
|
+FFMPEG_CONF_OPTS += --enable-muxer=rtp
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_MUXER_RTP
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_MUXER_MP4),y)
|
+FFMPEG_CONF_OPTS += --enable-muxer=mp4
|
+ifeq ($(RV_TARGET_GPS_MOVTEXT),y)
|
+FFMPEG_CONF_OPTS += --enable-encoder=movtext
|
+endif
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_MUXER_MP4
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_MUXER_MOV),y)
|
+FFMPEG_CONF_OPTS += --enable-muxer=mov
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_MUXER_MOV
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_DEMUXER_MOV_MP4),y)
|
+FFMPEG_CONF_OPTS += --enable-demuxer=mov
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_DEMUXER_MOV_MP4
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_MUXER_RTP_MPEGTS),y)
|
+FFMPEG_CONF_OPTS += --enable-muxer=rtp_mpegts
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_MUXER_RTP_MPEGTS
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_MUXER_FLV),y)
|
+FFMPEG_CONF_OPTS += --enable-muxer=flv
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_MUXER_FLV
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_MUXER_ADTS),y)
|
+FFMPEG_CONF_OPTS += --enable-muxer=adts
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_MUXER_ADTS
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_DEMUXER_AAC),y)
|
+FFMPEG_CONF_OPTS += --enable-demuxer=aac
|
+FFMPEG_CONF_OPTS += --enable-parser=aac --enable-parser=aac_latm
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_DEMUXER_AAC
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_DEMUXER_RTSP),y)
|
+FFMPEG_CONF_OPTS += --enable-demuxer=rtsp
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_DEMUXER_RTSP
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_PROTOCOL_FILE),y)
|
+FFMPEG_CONF_OPTS += --enable-protocol=file
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_PROTOCOL_FILE
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_PROTOCOL_UDP),y)
|
+FFMPEG_CONF_OPTS += --enable-protocol=udp
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_PROTOCOL_UDP
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_PROTOCOL_TCP),y)
|
+FFMPEG_CONF_OPTS += --enable-protocol=tcp
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_PROTOCOL_TCP
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_PROTOCOL_RTP),y)
|
+FFMPEG_CONF_OPTS += --enable-protocol=rtp
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_PROTOCOL_RTP
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_LIBRTMP),y)
|
+FFMPEG_CONF_OPTS += --enable-protocol=librtmp --enable-librtmp
|
+FFMPEG_DEPENDENCIES += librtmp
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_LIBRTMP
|
+
|
+################################################################
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_SMALL),y)
|
+FFMPEG_CONF_OPTS += --enable-small
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_SMALL
|
+
|
+####################### DECODER ################################
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_DECODER_FDKAAC),y)
|
+FFMPEG_CONF_OPTS += --enable-decoder=libfdk_aac
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_DECODER_FDKAAC
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_DECODER_AAC),y)
|
+FFMPEG_CONF_OPTS += --enable-decoder=aac
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_DECODER_AAC
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_DECODER_AACAT),y)
|
+FFMPEG_CONF_OPTS += --enable-decoder=aac_at
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_DECODER_AACAT
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_DECODER_AACFIXED),y)
|
+FFMPEG_CONF_OPTS += --enable-decoder=aac_fixed
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_DECODER_AACFIXED
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_DECODER_AACLATM),y)
|
+FFMPEG_CONF_OPTS += --enable-decoder=aac_latm
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_DECODER_AACLATM
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_DECODER_RKMPP),y)
|
+FFMPEG_CONF_OPTS += --enable-decoder=h264_rkmpp
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_DECODER_RKMPP
|
+
|
+
|
+##################### ENCODER #######################
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_ENCODER_PCM16),y)
|
+FFMPEG_CONF_OPTS += --enable-encoder=pcm_s16be
|
+FFMPEG_CONF_OPTS += --enable-encoder=pcm_s16le
|
+FFMPEG_CONF_OPTS += --enable-encoder=pcm_u16be
|
+FFMPEG_CONF_OPTS += --enable-encoder=pcm_u16le
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_ENCODER_PCM16
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_ENCODER_PCM32),y)
|
+FFMPEG_CONF_OPTS += --enable-encoder=pcm_s32be
|
+FFMPEG_CONF_OPTS += --enable-encoder=pcm_s32le
|
+FFMPEG_CONF_OPTS += --enable-encoder=pcm_u32be
|
+FFMPEG_CONF_OPTS += --enable-encoder=pcm_u32le
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_ENCODER_PCM32
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_ENCODER_RKMPP),y)
|
+FFMPEG_CONF_OPTS += --enable-encoder=h264_rkmpp
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_ENCODER_RKMPP
|
+
|
+################# MUXER ##########################
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_MUXER_PCM32),y)
|
+FFMPEG_CONF_OPTS += --enable-muxer=pcm_f32be
|
+FFMPEG_CONF_OPTS += --enable-muxer=pcm_s32be
|
+FFMPEG_CONF_OPTS += --enable-muxer=pcm_s32le
|
+FFMPEG_CONF_OPTS += --enable-muxer=pcm_u32be
|
+FFMPEG_CONF_OPTS += --enable-muxer=pcm_u32le
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_MUXER_PCM32
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_MUXER_PCM16),y)
|
+FFMPEG_CONF_OPTS += --enable-muxer=pcm_s16be
|
+FFMPEG_CONF_OPTS += --enable-muxer=pcm_s16le
|
+FFMPEG_CONF_OPTS += --enable-muxer=pcm_u16be
|
+FFMPEG_CONF_OPTS += --enable-muxer=pcm_u16le
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_MUXER_PCM16
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_MUXER_PCMALAW),y)
|
+FFMPEG_CONF_OPTS += --enable-muxer=pcm_alaw
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_MUXER_PCMALAW
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_MUXER_H264),y)
|
+FFMPEG_CONF_OPTS += --enable-muxer=h264
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_MUXER_H264
|
+
|
+########## DEMUXER ###############################
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_DEMUXER_PCM32),y)
|
+FFMPEG_CONF_OPTS += --enable-demuxer=pcm_f32be
|
+FFMPEG_CONF_OPTS += --enable-demuxer=pcm_f32le
|
+FFMPEG_CONF_OPTS += --enable-demuxer=pcm_s32be
|
+FFMPEG_CONF_OPTS += --enable-demuxer=pcm_s32le
|
+FFMPEG_CONF_OPTS += --enable-demuxer=pcm_u32be
|
+FFMPEG_CONF_OPTS += --enable-demuxer=pcm_u32le
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_DEMUXER_PCM32
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_DEMUXER_PCM16),y)
|
+FFMPEG_CONF_OPTS += --enable-demuxer=pcm_s16be
|
+FFMPEG_CONF_OPTS += --enable-demuxer=pcm_s16le
|
+FFMPEG_CONF_OPTS += --enable-demuxer=pcm_u16be
|
+FFMPEG_CONF_OPTS += --enable-demuxer=pcm_u16le
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_DEMUXER_PCM16
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_DEMUXER_PCMALAW),y)
|
+FFMPEG_CONF_OPTS += --enable-demuxer=pcm_alaw
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_DEMUXER_PCMALAW
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_DEMUXER_MJPEG),y)
|
+FFMPEG_CONF_OPTS += --enable-demuxer=mjpeg
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_DEMUXER_MJPEG
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_DEMUXER_MJPEG2000),y)
|
+FFMPEG_CONF_OPTS += --enable-demuxer=mjpeg_2000
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_DEMUXER_MJPEG2000
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_DEMUXER_MPEGTSRAW),y)
|
+FFMPEG_CONF_OPTS += --enable-demuxer=mpegtsraw
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_DEMUXER_MPEGTSRAW
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_DEMUXER_MPJPEG),y)
|
+FFMPEG_CONF_OPTS += --enable-demuxer=mpjpeg
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_DEMUXER_MPJPEG
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_DEMUXER_MPL2),y)
|
+FFMPEG_CONF_OPTS += --enable-demuxer=mpl2
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_DEMUXER_MPL2
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_DEMUXER_IPMOVIE),y)
|
+FFMPEG_CONF_OPTS += --enable-demuxer=ipmovie
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_DEMUXER_IPMOVIE
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_DEMUXER_MLP),y)
|
+FFMPEG_CONF_OPTS += --enable-demuxer=mlp
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_DEMUXER_MLP
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_DEMUXER_MLV),y)
|
+FFMPEG_CONF_OPTS += --enable-demuxer=mlv
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_DEMUXER_MLV
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_DEMUXER_MM),y)
|
+FFMPEG_CONF_OPTS += --enable-demuxer=mm
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_DEMUXER_MM
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_DEMUXER_MMF),y)
|
+FFMPEG_CONF_OPTS += --enable-demuxer=mmf
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_DEMUXER_MMF
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_DEMUXER_MOV),y)
|
+FFMPEG_CONF_OPTS += --enable-demuxer=mov
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_DEMUXER_MOV
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_DEMUXER_MP3),y)
|
+FFMPEG_CONF_OPTS += --enable-demuxer=mp3
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_DEMUXER_MP3
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_DEMUXER_MPC),y)
|
+FFMPEG_CONF_OPTS += --enable-demuxer=mpc
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_DEMUXER_MPC
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_DEMUXER_MPC8),y)
|
+FFMPEG_CONF_OPTS += --enable-demuxer=mpc8
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_DEMUXER_MPC8
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_DEMUXER_WAV),y)
|
+FFMPEG_CONF_OPTS += --enable-demuxer=wav
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_DEMUXER_WAV
|
+
|
+############# PARSER #######################
|
+
|
+ifeq ($(RV_TARGET_FFMPEG_ENABLE_PARSER_H264),y)
|
+FFMPEG_CONF_OPTS += --enable-parser=h264
|
+endif
|
+FFMPEG_CONFIGURE_DEP_CONFIGS += RV_TARGET_FFMPEG_ENABLE_PARSER_H264
|
+
|
+FFMPEG_CONF_OPTS += --extra-cflags="$(FFMPEG_EXTRA_CFLAGS)"
|
+
|
+$(eval $(rv-generic-configure))
|
+
|
--
|
2.7.4
|