# SPDX-License-Identifier: (GPL-2.0+ OR MIT)
#
# Amlogic multimedia configuration
#

menu "Amlogic multimedia configuration"

config AMLOGIC_MEDIA_MODULE
	tristate "Amlogic Multimedia compile support"
	default n
	help
		media module compile support
		select y for built-in
		select m for ko
		select n for disable

config AMLOGIC_MEDIA_ENABLE
	bool "Amlogic Multimedia Support"
	select VIDEOBUF2_DMA_CONTIG if ARM && !AMLOGIC_LINUX_S_OPTIMIZE
	select V4L2_MEM2MEM_DEV if ARM && !AMLOGIC_LINUX_S_OPTIMIZE
	select VIDEOBUF2_DMA_SG if ARM && !AMLOGIC_LINUX_S_OPTIMIZE
	default n
	help
		Amlogic multimedia framework composed of two parts,
		the first part is common which consists of modules
		such as arch, codec_mm, vfm, the second is driver
		part of the media, both of which depends on this
		configuration options.

config AMLOGIC_MEDIA_COMMON
	bool "Amlogic the common of the media"
	depends on AMLOGIC_MEDIA_ENABLE
	default n
	help
		This option is used to configure Amlogic common
		for media, it as the basis for drivers of the
		multimedia, mainly on the operation of the
		registers, memory allocation and the chain of
		responsibility management of the frame processing.

config AMLOGIC_MEDIA_DRIVERS
	bool "Amlogic drivers of the media"
	depends on AMLOGIC_MEDIA_COMMON
	default n
	help
		This option is used to configure Amlogic drivers
		of the multimedia, which consists of video decoder
		module, video decoder management module and post
		processing of the frame.

config AMLOGIC_MEDIA_MULTI_DEC
	bool "Support multi-instance decoding"
	default n
	help
		Support for multi-instance decoding features,
		this option must be configured if multi playback
		is required, the feature supports decoding
		at the same time.

config AMLOGIC_MEDIA_NO_PARSER
	bool "The stream buffer works on non-parser mode."
	depends on AMLOGIC_MEDIA_DRIVERS
	default n
	help
		The module of hardware parser will be removed after
		SC2 platform. therefore the parser modules can't be
		builded in ko if enable this item.

config AMLOGIC_V4L2
	bool "Amlogic V4L2 VENDOR HOORKS"

if AMLOGIC_MEDIA_COMMON
source "$(COMMON_DRIVERS_DIR)/drivers/media/common/Kconfig"
endif

if AMLOGIC_MEDIA_DRIVERS
source "$(COMMON_DRIVERS_DIR)/drivers/media/vout/Kconfig"
source "$(COMMON_DRIVERS_DIR)/drivers/media/camera/Kconfig"
source "$(COMMON_DRIVERS_DIR)/drivers/media/video_sink/Kconfig"
source "$(COMMON_DRIVERS_DIR)/drivers/media/vrr/Kconfig"
source "$(COMMON_DRIVERS_DIR)/drivers/media/osd/Kconfig"
source "$(COMMON_DRIVERS_DIR)/drivers/media/deinterlace/Kconfig"
source "$(COMMON_DRIVERS_DIR)/drivers/media/di_multi/Kconfig"
source "$(COMMON_DRIVERS_DIR)/drivers/media/di_local/Kconfig"
source "$(COMMON_DRIVERS_DIR)/drivers/media/dpss/Kconfig"
source "$(COMMON_DRIVERS_DIR)/drivers/media/video_processor/Kconfig"
source "$(COMMON_DRIVERS_DIR)/drivers/media/enhancement/Kconfig"
source "$(COMMON_DRIVERS_DIR)/drivers/media/frame_sync/Kconfig"
source "$(COMMON_DRIVERS_DIR)/drivers/media/gdc/Kconfig"
source "$(COMMON_DRIVERS_DIR)/drivers/media/vin/Kconfig"
source "$(COMMON_DRIVERS_DIR)/drivers/media/cec/Kconfig"
source "$(COMMON_DRIVERS_DIR)/drivers/media/atv_demod/Kconfig"
source "$(COMMON_DRIVERS_DIR)/drivers/media/avsync/Kconfig"
source "$(COMMON_DRIVERS_DIR)/drivers/media/dtv_demod/Kconfig"
source "$(COMMON_DRIVERS_DIR)/drivers/media/frc/Kconfig"
source "$(COMMON_DRIVERS_DIR)/drivers/media/di_v4l/Kconfig"
source "$(COMMON_DRIVERS_DIR)/drivers/media/di_mini/Kconfig"
source "$(COMMON_DRIVERS_DIR)/drivers/media/vpq/Kconfig"
source "$(COMMON_DRIVERS_DIR)/drivers/media/vpp/Kconfig"
endif
endmenu

menu "Media core support"
#
# DVB Core
#	Only enables if one of DTV is selected
#

config AMLOGIC_DVB_CORE
	tristate "AMLOGIC DVB Core"
	default n
	select CRC32
	help
	  Enables the DVB API, used by Digital TV devices. Supports several
	  standards, including DVB, ATSC, ISDB and CMDB.

endmenu # Media core support

menu "Digital TV options"
	visible if AMLOGIC_DVB_CORE

source "$(COMMON_DRIVERS_DIR)/drivers/media/dvb-core/Kconfig"
endmenu
