upload android base code part6
This commit is contained in:
parent
421e214c7d
commit
4e516ec6ed
35396 changed files with 9188716 additions and 0 deletions
20
android/device/softwinner/tulip-common/BoardConfigCommon.mk
Executable file
20
android/device/softwinner/tulip-common/BoardConfigCommon.mk
Executable file
|
@ -0,0 +1,20 @@
|
|||
include device/softwinner/common/BoardConfigCommon.mk
|
||||
|
||||
TARGET_BOARD_PLATFORM := tulip
|
||||
TARGET_USE_NEON_OPTIMIZATION := true
|
||||
|
||||
TARGET_CPU_SMP := true
|
||||
|
||||
TARGET_BOARD_CHIP := sun50iw1p1
|
||||
TARGET_BOOTLOADER_BOARD_NAME := exdroid
|
||||
TARGET_BOOTLOADER_NAME := exdroid
|
||||
TARGET_OTA_RESTORE_BOOT_STORAGE_DATA := true
|
||||
|
||||
BOARD_KERNEL_BASE := 0x40000000
|
||||
BOARD_MKBOOTIMG_ARGS := --kernel_offset 0x80000 --ramdisk_offset 0x02000000
|
||||
BOARD_CHARGER_ENABLE_SUSPEND := true
|
||||
|
||||
USE_OPENGL_RENDERER := true
|
||||
NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
|
||||
TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK := true
|
||||
TARGET_USES_HWC2 := true
|
320
android/device/softwinner/tulip-common/configs/audio_mixer_paths.xml
Executable file
320
android/device/softwinner/tulip-common/configs/audio_mixer_paths.xml
Executable file
|
@ -0,0 +1,320 @@
|
|||
<mixer>
|
||||
<!-- These are the initial mixer settings -->
|
||||
<!--
|
||||
<ctl name="External Speaker Switch" value="1" />
|
||||
<ctl name="Headphone Switch" value="0" />
|
||||
-->
|
||||
|
||||
|
||||
<!-- These are commonly used control sequences -->
|
||||
<path name="aif1.0-dac">
|
||||
<ctl name="AIF1IN0R Mux" value="AIF1_DA0R" />
|
||||
<ctl name="AIF1IN0L Mux" value="AIF1_DA0L" />
|
||||
<ctl name="DACR Mixer AIF1DA0R Switch" value="1" />
|
||||
<ctl name="DACL Mixer AIF1DA0L Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="adc-aif1.0">
|
||||
<ctl name="AIF1OUT0L Mux" value="AIF1_AD0L" />
|
||||
<ctl name="AIF1OUT0R Mux" value="AIF1_AD0R" />
|
||||
<ctl name="AIF1 AD0L Mixer ADCL Switch" value="1" />
|
||||
<ctl name="AIF1 AD0R Mixer ADCR Switch" value="1" />
|
||||
<!-- ctl name="ADCR Mux" value="ADC" / -->
|
||||
<!-- ctl name="ADCL Mux" value="ADC" / -->
|
||||
</path>
|
||||
|
||||
<path name="dac-headphone">
|
||||
<ctl name="DAC volume" value="160 160" />
|
||||
<ctl name="HP_R Mux" value="DACR HPR Switch" />
|
||||
<ctl name="HP_L Mux" value="DACL HPL Switch" />
|
||||
</path>
|
||||
|
||||
<path name="mixer-headphone">
|
||||
<ctl name="HP_R Mux" value="Right Analog Mixer HPR Switch" />
|
||||
<ctl name="HP_L Mux" value="Left Analog Mixer HPL Switch" />
|
||||
</path>
|
||||
|
||||
<path name="dac-mixer">
|
||||
<ctl name="Right Output Mixer DACR Switch" value="1" />
|
||||
<ctl name="Left Output Mixer DACL Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="mixer-speaker">
|
||||
<ctl name="SPK_L Mux" value="MIXEL_Switch" />
|
||||
<ctl name="SPK_R Mux" value="MIXER_Switch" />
|
||||
</path>
|
||||
|
||||
|
||||
<path name="media-speaker">
|
||||
<path name="aif1.0-dac" />
|
||||
<path name="dac-mixer" />
|
||||
<path name="mixer-speaker" />
|
||||
<ctl name="DAC volume" value="160 160" />
|
||||
<ctl name="External Speaker Switch" value="1" />
|
||||
<ctl name="Headphone Switch" value="0" />
|
||||
</path>
|
||||
|
||||
<path name="media-headphones">
|
||||
<path name="aif1.0-dac" />
|
||||
<path name="dac-headphone" />
|
||||
<ctl name="Headphone Switch" value="1" />
|
||||
<ctl name="headphone volume" value="61" />
|
||||
<ctl name="External Speaker Switch" value="0" />
|
||||
</path>
|
||||
|
||||
<path name="media-single-speaker">
|
||||
<ctl name="AIF1IN0R Mux" value="AIF1_DA0R" />
|
||||
<ctl name="AIF1IN0L Mux" value="AIF1_DA0L" />
|
||||
<ctl name="DACR Mixer AIF1DA0R Switch" value="1" />
|
||||
<ctl name="DACL Mixer AIF1DA0L Switch" value="1" />
|
||||
<ctl name="Left Output Mixer DACR Switch" value="1" />
|
||||
<ctl name="Left Output Mixer DACL Switch" value="1" />
|
||||
<ctl name="SPK_L Mux" value="MIXEL_Switch" />
|
||||
<ctl name="External Speaker Switch" value="1" />
|
||||
</path>
|
||||
<!-- phone ring -->
|
||||
<path name="phone-ring-voice">
|
||||
<path name="aif1.0-dac" />
|
||||
<path name="dac-mixer" />
|
||||
<path name="mixer-speaker" />
|
||||
<path name="dac-headphone" />
|
||||
<ctl name="Headphone Switch" value="1" />
|
||||
<ctl name="External Speaker Switch" value="1" />
|
||||
</path>
|
||||
<!-- capture -->
|
||||
<path name="media-main-mic">
|
||||
<path name="adc-aif1.0" />
|
||||
<ctl name="LADC input Mixer MIC1 boost Switch" value="1" />
|
||||
<ctl name="RADC input Mixer MIC1 boost Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="media-digital-mic">
|
||||
<ctl name="AIF1OUT0L Mux" value="AIF1_AD0L" />
|
||||
<ctl name="AIF1OUT0R Mux" value="AIF1_AD0R" />
|
||||
<ctl name="AIF1 AD0L Mixer ADCL Switch" value="1" />
|
||||
<ctl name="AIF1 AD0R Mixer ADCR Switch" value="1" />
|
||||
<ctl name="ADC volume" value="192" />
|
||||
<!-- ctl name="ADCR Mux" value="DMIC" / -->
|
||||
<!-- ctl name="ADCL Mux" value="DMIC" / -->
|
||||
</path>
|
||||
|
||||
<path name="media-headset-mic">
|
||||
<path name="adc-aif1.0" />
|
||||
<ctl name="RADC input Mixer MIC2 boost Switch" value="1" />
|
||||
<ctl name="LADC input Mixer MIC2 boost Switch" value="1" />
|
||||
<ctl name="MIC2 SRC" value="MIC2" />
|
||||
<ctl name="ADC volume" value="160" />
|
||||
<ctl name="MIC2 boost AMP gain control" value="3" />
|
||||
</path>
|
||||
|
||||
<!-- dbb phone path -->
|
||||
<path name="digital-phone-speaker">
|
||||
<ctl name="AIF2 ADC volume" value="159" />
|
||||
<ctl name="LADC input Mixer MIC1 boost Switch" value="1" />
|
||||
<!-- ctl name="ADCL Mux" value="ADC" / -->
|
||||
<ctl name="AIF2 ADL Mixer ADCL Switch" value="1" />
|
||||
<ctl name="AIF2OUTL Mux" value="AIF2_ADCL" />
|
||||
|
||||
<ctl name="AIF2INL Mux" value="AIF2_DACL" />
|
||||
<ctl name="AIF2INL Mux switch aif2inl aif2" value="1" />
|
||||
<ctl name="DACL Mixer AIF2DACL Switch" value="1" />
|
||||
<ctl name="Right Output Mixer DACL Switch" value="1" />
|
||||
<ctl name="Left Output Mixer DACL Switch" value="1" />
|
||||
|
||||
<ctl name="SPK_L Mux" value="MIXEL_Switch" />
|
||||
<ctl name="SPK_R Mux" value="MIXER_Switch" />
|
||||
<ctl name="External Speaker Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="digital-phone-headset">
|
||||
<ctl name="AIF2 ADC volume" value="159" />
|
||||
<ctl name="MIC2 SRC" value="MIC2" />
|
||||
<ctl name="LADC input Mixer MIC2 boost Switch" value="1" />
|
||||
<!-- ctl name="ADCL Mux" value="ADC" / -->
|
||||
<ctl name="AIF2 ADL Mixer ADCL Switch" value="1" />
|
||||
<ctl name="AIF2OUTL Mux" value="AIF2_ADCL" />
|
||||
|
||||
<ctl name="AIF2INL Mux" value="AIF2_DACL" />
|
||||
<ctl name="AIF2INL Mux switch aif2inl aif2" value="1" />
|
||||
<ctl name="DACL Mixer AIF2DACL Switch" value="1" />
|
||||
<ctl name="Left Output Mixer DACL Switch" value="1" />
|
||||
<ctl name="Right Output Mixer DACL Switch" value="1" />
|
||||
|
||||
<ctl name="HP_L Mux" value="Left Analog Mixer HPL Switch" />
|
||||
<ctl name="HP_R Mux" value="Right Analog Mixer HPR Switch" />
|
||||
<ctl name="Headphone Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="digital-phone-headphone">
|
||||
<ctl name="AIF2 ADC volume" value="159" />
|
||||
<ctl name="LADC input Mixer MIC1 boost Switch" value="1" />
|
||||
<!-- ctl name="ADCL Mux" value="ADC" / -->
|
||||
<ctl name="AIF2 ADL Mixer ADCL Switch" value="1" />
|
||||
<ctl name="AIF2OUTL Mux" value="AIF2_ADCL" />
|
||||
|
||||
<ctl name="AIF2INL Mux" value="AIF2_DACL" />
|
||||
<ctl name="AIF2INL Mux switch aif2inl aif2" value="1" />
|
||||
<ctl name="DACL Mixer AIF2DACL Switch" value="1" />
|
||||
<ctl name="Left Output Mixer DACL Switch" value="1" />
|
||||
<ctl name="Right Output Mixer DACL Switch" value="1" />
|
||||
|
||||
<ctl name="HP_L Mux" value="Left Analog Mixer HPL Switch" />
|
||||
<ctl name="HP_R Mux" value="Right Analog Mixer HPR Switch" />
|
||||
<ctl name="Headphone Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="digital-phone-bt">
|
||||
<ctl name="AIF2INL Mux" value="AIF2_DACL" />
|
||||
<ctl name="AIF2INL Mux switch aif2inl aif2" value="1" />
|
||||
<ctl name="AIF2 ADR Mixer AIF2 DACL Switch" value="1" />
|
||||
<ctl name="AIF3OUT Mux" value="AIF2 ADC right channel" />
|
||||
|
||||
<ctl name="AIF2INR Mux VIR switch aif2inr aif3" value="1" />
|
||||
<ctl name="AIF2 ADL Mixer AIF2 DACR Switch" value="1" />
|
||||
<ctl name="AIF2OUTL Mux" value="AIF2_ADCL" />
|
||||
</path>
|
||||
|
||||
<path name="digital-phone-earpiece">
|
||||
<ctl name="AIF2 ADC volume" value="159" />
|
||||
<ctl name="LADC input Mixer MIC1 boost Switch" value="1" />
|
||||
<!-- ctl name="ADCL Mux" value="ADC" / -->
|
||||
<ctl name="AIF2 ADL Mixer ADCL Switch" value="1" />
|
||||
<ctl name="AIF2OUTL Mux" value="AIF2_ADCL" />
|
||||
|
||||
<ctl name="AIF2INL Mux" value="AIF2_DACL" />
|
||||
<ctl name="AIF2INL Mux switch aif2inl aif2" value="1" />
|
||||
<ctl name="DACL Mixer AIF2DACL Switch" value="1" />
|
||||
|
||||
</path>
|
||||
<!-- capture when in call with dbb-->
|
||||
<path name="capture-dbb-phone-mainmic">
|
||||
<ctl name="AIF1 AD0L Mixer ADCL Switch" value="1" />
|
||||
<ctl name="AIF1 AD0L Mixer AIF2 DACL Switch" value="1" />
|
||||
<ctl name="AIF1OUT0L Mux" value="AIF1_AD0L" />
|
||||
</path>
|
||||
<path name="capture-dbb-phone-headsetmic">
|
||||
<ctl name="AIF1 AD0L Mixer ADCL Switch" value="1" />
|
||||
<ctl name="AIF1 AD0L Mixer AIF2 DACL Switch" value="1" />
|
||||
<ctl name="AIF1OUT0L Mux" value="AIF1_AD0L" />
|
||||
</path>
|
||||
<path name="capture-dbb-phone-btmic">
|
||||
<ctl name="AIF1 AD0L Mixer AIF2 DACL Switch" value="1" />
|
||||
<ctl name="AIF1 AD0L Mixer AIF2 DACR Switch" value="1" />
|
||||
<ctl name="AIF1OUT0L Mux" value="AIF1_AD0L" />
|
||||
</path>
|
||||
|
||||
<!-- abb phone path -->
|
||||
<path name="analog-mainmic">
|
||||
|
||||
</path>
|
||||
|
||||
<path name="analog-headsetmic">
|
||||
<ctl name="MIC2 SRC" value="MIC2" />
|
||||
|
||||
</path>
|
||||
|
||||
<path name="analog-phonein">
|
||||
<ctl name="Left Output Mixer LINEINL Switch" value="1" />
|
||||
<ctl name="Right Output Mixer LINEINR Switch" value="1" />
|
||||
</path>
|
||||
<path name="mixer-earpiece">
|
||||
|
||||
</path>
|
||||
|
||||
<path name="analog-phone-speaker">
|
||||
<path name="analog-mainmic" />
|
||||
<path name="analog-phonein" />
|
||||
<path name="mixer-speaker" />
|
||||
<ctl name="External Speaker Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="analog-phone-headset">
|
||||
<path name="analog-headsetmic" />
|
||||
<path name="analog-phonein" />
|
||||
<path name="mixer-headphone" />
|
||||
<ctl name="Headphone Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="analog-phone-headphone">
|
||||
<path name="analog-mainmic" />
|
||||
<path name="analog-phonein" />
|
||||
<path name="mixer-headphone" />
|
||||
<ctl name="Headphone Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="analog-phone-earpiece">
|
||||
<path name="analog-mainmic" />
|
||||
<path name="analog-phonein" />
|
||||
<path name="mixer-earpiece" />
|
||||
<!-- ctl name="Earpiece Switch" value="1" / -->
|
||||
</path>
|
||||
|
||||
<path name="analog-phone-bt">
|
||||
<ctl name="LADC input Mixer LINEINL Switch" value="1" />
|
||||
<!-- ctl name="ADCL Mux" value="ADC" / -->
|
||||
<ctl name="AIF2 ADL Mixer ADCL Switch" value="1" />
|
||||
<ctl name="AIF3OUT Mux" value="AIF2 ADC left channel" />
|
||||
|
||||
<ctl name="AIF2INL Mux switch aif2inl aif2" value="1" />
|
||||
<ctl name="AIF2INR Mux VIR switch aif2inr aif3" value="1" />
|
||||
<ctl name="DACR Mixer AIF2DACR Switch" value="1" />
|
||||
<ctl name="Right Output Mixer DACR Switch" value="1" />
|
||||
|
||||
</path>
|
||||
|
||||
<path name="abb-phone-keytone-speaker">
|
||||
<path name="aif1.0-dac" />
|
||||
<path name="dac-mixer" />
|
||||
</path>
|
||||
|
||||
<path name="abb-phone-keytone-headphones">
|
||||
<path name="aif1.0-dac" />
|
||||
<path name="dac-mixer" />
|
||||
</path>
|
||||
|
||||
<path name="abb-phone-keytone-bt">
|
||||
|
||||
</path>
|
||||
|
||||
<path name="abb-phone-keytone-earpiece">
|
||||
|
||||
</path>
|
||||
|
||||
<!-- capture when in call with abb-->
|
||||
<path name="capture-abb-phone-mainmic">
|
||||
<ctl name="AIF1OUT0L Mux" value="AIF1_AD0L" />
|
||||
<ctl name="AIF1 AD0L Mixer ADCL Switch" value="1" />
|
||||
<!-- ctl name="ADCL Mux" value="ADC" / -->
|
||||
<ctl name="LADC input Mixer MIC1 boost Switch" value="1" />
|
||||
<ctl name="LADC input Mixer LINEINL Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="capture-abb-phone-headsetmic">
|
||||
<ctl name="AIF1OUT0L Mux" value="AIF1_AD0L" />
|
||||
<ctl name="AIF1 AD0L Mixer ADCL Switch" value="1" />
|
||||
<!-- ctl name="ADCL Mux" value="ADC" / -->
|
||||
<ctl name="LADC input Mixer MIC2 boost Switch" value="1" />
|
||||
<ctl name="LADC input Mixer LINEINL Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="capture-abb-phone-btmic">
|
||||
<ctl name="AIF1OUT0L Mux" value="AIF1_AD0L" />
|
||||
<ctl name="AIF1 AD0L Mixer ADCL Switch" value="1" />
|
||||
<ctl name="AIF1 AD0L Mixer AIF2 DACR Switch" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="com-ap-bt">
|
||||
<ctl name="AIF1IN0L Mux" value="AIF1_DA0L" />
|
||||
<ctl name="AIF2 ADL Mixer AIF1 DA0L Switch" value="1" />
|
||||
<ctl name="AIF2 ADL Mixer AIF1 DA0L Switch" value="1" />
|
||||
<ctl name="AIF3OUT Mux" value="AIF2 ADC left channel" />
|
||||
</path>
|
||||
<path name="com-bt-ap">
|
||||
<ctl name="AIF2INR Mux switch aif2inr aif2" value="1" />
|
||||
<ctl name="AIF2INR Mux VIR switch aif2inr aif3" value="1" />
|
||||
<ctl name="AIF1 AD0L Mixer AIF2 DACR Switch" value="1" />
|
||||
<ctl name="AIF1OUT0L Mux" value="AIF1_AD0L" />
|
||||
</path>
|
||||
<path name="null">
|
||||
</path>
|
||||
</mixer>
|
248
android/device/softwinner/tulip-common/configs/audio_platform_info.xml
Executable file
248
android/device/softwinner/tulip-common/configs/audio_platform_info.xml
Executable file
|
@ -0,0 +1,248 @@
|
|||
<audio_platform_info>
|
||||
<!-- kylin platform -->
|
||||
|
||||
<!--
|
||||
Point out what plugins to use.
|
||||
-status
|
||||
off: disable this plugin
|
||||
on: enable this plugin
|
||||
-->
|
||||
<platform_audio_plugins_config>
|
||||
<plugin name="dump_data" status="off"/>
|
||||
<plugin name="audio_3d_surround" status="off"/>
|
||||
<plugin name="bp" status="off"/>
|
||||
</platform_audio_plugins_config>
|
||||
|
||||
<!--
|
||||
platform_devices:
|
||||
-devices
|
||||
What devices are included in this profile.
|
||||
|
||||
snd_card_config:
|
||||
-type
|
||||
frontend/backend/out_backend/in_backend.
|
||||
backend:
|
||||
You need to open and start this out&in PCM device,
|
||||
but do not need to write data to this out&in PCM device.
|
||||
out_backend:
|
||||
You need to open and start this out PCM device,
|
||||
but do not need to write data to this out PCM device.
|
||||
in_backend:
|
||||
You need to open and start this in PCM device,
|
||||
but do not need to read data from this in PCM device.
|
||||
-card_name
|
||||
alsa snd card name.
|
||||
-device
|
||||
alsa device id, refer to pcm_open
|
||||
-channels
|
||||
pcm channel config. 1:mono, 2:stereo. refer to pcm_config
|
||||
-rate
|
||||
sampling rate, e.g. 44100, 48000... refer to pcm_config
|
||||
-period_size
|
||||
refer to pcm_config
|
||||
-period_count
|
||||
refer to pcm_config
|
||||
-->
|
||||
|
||||
<!-- main output profile -->
|
||||
<platform_devices_profile>
|
||||
<platform_devices devices="OUT_SPK|OUT_EAR|OUT_HP|OUT_SPK_AND_HP|OUT_DULSPK|OUT_DULSPK_HP"/>
|
||||
<snd_card_config
|
||||
type="frontend" card_name="audiocodec" device="0"
|
||||
channels="2" rate="44100" period_size="1024" period_count="2"
|
||||
/>
|
||||
</platform_devices_profile>
|
||||
|
||||
<!-- main input profile -->
|
||||
<platform_devices_profile>
|
||||
<platform_devices devices="IN_AMIC|IN_DMIC|IN_HPMIC"/>
|
||||
<snd_card_config
|
||||
type="frontend" card_name="audiocodec" device="0"
|
||||
channels="2" rate="44100" period_size="1024" period_count="2"
|
||||
/>
|
||||
</platform_devices_profile>
|
||||
|
||||
<!-- hdmi -->
|
||||
<platform_devices_profile>
|
||||
<platform_devices devices="OUT_HDMI"/>
|
||||
<snd_card_config
|
||||
type="frontend" card_name="sndhdmi" device="0"
|
||||
channels="2" rate="44100" period_size="512" period_count="2"
|
||||
/>
|
||||
</platform_devices_profile>
|
||||
|
||||
<!-- spdif -->
|
||||
<platform_devices_profile>
|
||||
<platform_devices devices="OUT_SPDIF"/>
|
||||
<snd_card_config
|
||||
type="frontend" card_name="sndspdif" device="0"
|
||||
channels="2" rate="44100" period_size="512" period_count="2"
|
||||
/>
|
||||
</platform_devices_profile>
|
||||
|
||||
<!-- bt sco -->
|
||||
<platform_devices_profile>
|
||||
<platform_devices devices="OUT_BTSCO|IN_BTSCO"/>
|
||||
|
||||
<snd_card_config
|
||||
type="frontend" card_name="audiocodec" device="0"
|
||||
channels="2" rate="8000" period_size="512" period_count="2"
|
||||
/>
|
||||
<snd_card_config
|
||||
type="backend" card_name="audiocodec" device="3"
|
||||
channels="1" rate="8000" period_size="512" period_count="2"
|
||||
/>
|
||||
<snd_card_config
|
||||
type="backend" card_name="audiocodec" device="4"
|
||||
channels="1" rate="8000" period_size="512" period_count="2"
|
||||
/>
|
||||
/>
|
||||
</platform_devices_profile>
|
||||
|
||||
<!-- digital phone -->
|
||||
<platform_devices_profile>
|
||||
<platform_devices devices="DPH_SPK|DPH_EAR|DPH_HP|DPH_HS"/>
|
||||
|
||||
<snd_card_config
|
||||
type="backend" card_name="audiocodec" device="1"
|
||||
channels="1" rate="8000" period_size="512" period_count="2"
|
||||
/>
|
||||
</platform_devices_profile>
|
||||
|
||||
<!-- digital phone bt -->
|
||||
<platform_devices_profile>
|
||||
<platform_devices devices="DPH_BTSCO"/>
|
||||
|
||||
<snd_card_config
|
||||
type="backend" card_name="audiocodec" device="1"
|
||||
channels="1" rate="8000" period_size="512" period_count="2"
|
||||
/>
|
||||
<snd_card_config
|
||||
type="backend" card_name="audiocodec" device="3"
|
||||
channels="1" rate="8000" period_size="512" period_count="2"
|
||||
/>
|
||||
</platform_devices_profile>
|
||||
|
||||
<!-- digital phone playback and record device -->
|
||||
<platform_devices_profile>
|
||||
<platform_devices devices="OUT_DPH_PLAY | IN_DPH_REC"/>
|
||||
|
||||
<snd_card_config
|
||||
type="frontend" card_name="audiocodec" device="1"
|
||||
channels="1" rate="8000" period_size="1024" period_count="2"
|
||||
/>
|
||||
</platform_devices_profile>
|
||||
|
||||
<!-- analog phone playback and record device -->
|
||||
<platform_devices_profile>
|
||||
<platform_devices devices="OUT_APH_PLAY|IN_APH_REC"/>
|
||||
|
||||
<snd_card_config
|
||||
type="frontend" card_name="audiocodec" device="1"
|
||||
channels="1" rate="8000" period_size="1024" period_count="2"
|
||||
/>
|
||||
</platform_devices_profile>
|
||||
|
||||
<!-- audio hub: codec and hdmi -->
|
||||
<platform_devices_profile>
|
||||
<platform_devices devices="OUT_SPK_HDMI|OUT_DULSPK_HDMI|OUT_HP_HDMI"/>
|
||||
<snd_card_config
|
||||
type="frontend" card_name="audiocodec" device="0"
|
||||
channels="2" rate="48000" period_size="1024" period_count="2"
|
||||
/>
|
||||
<snd_card_config
|
||||
type="out_backend" card_name="audiocodec" device="4"
|
||||
channels="2" rate="48000" period_size="1024" period_count="2"
|
||||
/>
|
||||
</platform_devices_profile>
|
||||
|
||||
<!-- audio hub: codec and spdif -->
|
||||
<platform_devices_profile>
|
||||
<platform_devices devices="OUT_SPK_SPDIF|OUT_DULSPK_SPDIF|OUT_HP_SPDIF"/>
|
||||
<snd_card_config
|
||||
type="frontend" card_name="audiocodec" device="0"
|
||||
channels="2" rate="48000" period_size="1024" period_count="2"
|
||||
/>
|
||||
<snd_card_config
|
||||
type="out_backend" card_name="audiocodec" device="5"
|
||||
channels="2" rate="48000" period_size="1024" period_count="2"
|
||||
/>
|
||||
</platform_devices_profile>
|
||||
|
||||
<!-- audio hub: codec, hdmi and spdif -->
|
||||
<platform_devices_profile>
|
||||
<platform_devices devices="OUT_HDMI_SPDIF|OUT_SPK_HDMI_SPDIF|OUT_DULSPK_HDMI_SPDIF|OUT_HP_HDMI_SPDIF"/>
|
||||
<snd_card_config
|
||||
type="frontend" card_name="audiocodec" device="0"
|
||||
channels="2" rate="48000" period_size="1024" period_count="2"
|
||||
/>
|
||||
<snd_card_config
|
||||
type="out_backend" card_name="audiocodec" device="4"
|
||||
channels="2" rate="48000" period_size="1024" period_count="2"
|
||||
/>
|
||||
<snd_card_config
|
||||
type="out_backend" card_name="audiocodec" device="5"
|
||||
channels="2" rate="48000" period_size="1024" period_count="2"
|
||||
/>
|
||||
</platform_devices_profile>
|
||||
|
||||
<!--
|
||||
platform_device_path:
|
||||
Point out the platform device path.
|
||||
-device
|
||||
platform device, refer to platform.h
|
||||
-path
|
||||
the platform device path. refer to audio_mixer_paths.xml
|
||||
-->
|
||||
<platform_device_path>
|
||||
<!-- platform playback device path -->
|
||||
<device_path_map device="OUT_NONE" path="null"/>
|
||||
<device_path_map device="OUT_RESET" path="null"/>
|
||||
<device_path_map device="OUT_EAR" path="media-single-speaker"/>
|
||||
<device_path_map device="OUT_SPK" path="media-single-speaker"/>
|
||||
<device_path_map device="OUT_DULSPK" path="media-speaker"/>
|
||||
<device_path_map device="OUT_HP" path="media-headphones"/>
|
||||
<device_path_map device="OUT_SPK_HP" path="phone-ring-voice"/>
|
||||
<device_path_map device="OUT_DULSPK_HP" path="phone-ring-voice"/>
|
||||
<device_path_map device="OUT_BTSCO" path="com-ap-bt"/>
|
||||
<device_path_map device="OUT_DPH_PLAY" path="null"/>
|
||||
<device_path_map device="OUT_APH_PLAY" path="null"/>
|
||||
<device_path_map device="OUT_HDMI" path="null"/>
|
||||
<device_path_map device="OUT_SPDIF" path="null"/>
|
||||
|
||||
<device_path_map device="OUT_SPK_HDMI" path="null"/>
|
||||
<device_path_map device="OUT_DULSPK_HDMI" path="null"/>
|
||||
<device_path_map device="OUT_HP_HDMI" path="null"/>
|
||||
|
||||
<device_path_map device="OUT_SPK_SPDIF" path="null"/>
|
||||
<device_path_map device="OUT_DULSPK_SPDIF" path="null"/>
|
||||
<device_path_map device="OUT_HP_SPDIF" path="null"/>
|
||||
|
||||
<device_path_map device="OUT_HDMI_SPDIF" path="null"/>
|
||||
<device_path_map device="OUT_SPK_HDMI_SPDIF" path="null"/>
|
||||
<device_path_map device="OUT_DULSPK_HDMI_SPDIF" path="null"/>
|
||||
<device_path_map device="OUT_HP_HDMI_SPDIF" path="null"/>
|
||||
|
||||
<!-- platform record device path -->
|
||||
<device_path_map device="IN_AMIC" path="media-main-mic"/>
|
||||
<device_path_map device="IN_DMIC" path="media-digital-mic"/>
|
||||
<device_path_map device="IN_HPMIC" path="media-headset-mic"/>
|
||||
<device_path_map device="IN_BTSCO" path="com-bt-ap"/>
|
||||
<device_path_map device="IN_DPH_REC" path="null"/>
|
||||
<device_path_map device="IN_APH_REC" path="null"/>
|
||||
|
||||
<!-- phone path -->
|
||||
<device_path_map device="APH_SPK" path="analog-phone-speaker"/>
|
||||
<device_path_map device="APH_EAR" path="analog-phone-earpiece"/>
|
||||
<device_path_map device="APH_HP" path="analog-phone-headphone"/>
|
||||
<device_path_map device="APH_HS" path="analog-phone-headset"/>
|
||||
<device_path_map device="APH_BTSCO" path="analog-phone-bt"/>
|
||||
|
||||
<device_path_map device="DPH_SPK" path="digital-phone-speaker"/>
|
||||
<device_path_map device="DPH_EAR" path="digital-phone-earpiece"/>
|
||||
<device_path_map device="DPH_HP" path="digital-phone-headphone"/>
|
||||
<device_path_map device="DPH_HS" path="digital-phone-headset"/>
|
||||
<device_path_map device="DPH_BTSCO" path="digital-phone-bt"/>
|
||||
</platform_device_path>
|
||||
|
||||
</audio_platform_info>
|
101
android/device/softwinner/tulip-common/configs/audio_policy.conf
Executable file
101
android/device/softwinner/tulip-common/configs/audio_policy.conf
Executable file
|
@ -0,0 +1,101 @@
|
|||
# Global configuration section: lists input and output devices always present on the device
|
||||
# as well as the output device selected by default.
|
||||
# Devices are designated by a string that corresponds to the enum in audio.h
|
||||
|
||||
global_configuration {
|
||||
attached_output_devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER
|
||||
default_output_device AUDIO_DEVICE_OUT_SPEAKER
|
||||
attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BACK_MIC|AUDIO_DEVICE_IN_VOICE_CALL|AUDIO_DEVICE_IN_REMOTE_SUBMIX
|
||||
}
|
||||
|
||||
# audio hardware module section: contains descriptors for all audio hw modules present on the
|
||||
# device. Each hw module node is named after the corresponding hw module library base name.
|
||||
# For instance, "primary" corresponds to audio.primary.<device>.so.
|
||||
# The "primary" module is mandatory and must include at least one output with
|
||||
# AUDIO_OUTPUT_FLAG_PRIMARY flag.
|
||||
# Each module descriptor contains one or more output profile descriptors and zero or more
|
||||
# input profile descriptors. Each profile lists all the parameters supported by a given output
|
||||
# or input stream category.
|
||||
# The "channel_masks", "formats", "devices" and "flags" are specified using strings corresponding
|
||||
# to enums in audio.h and audio_policy.h. They are concatenated by use of "|" without space or "\n".
|
||||
|
||||
audio_hw_modules {
|
||||
primary {
|
||||
outputs {
|
||||
primary {
|
||||
sampling_rates 44100
|
||||
channel_masks AUDIO_CHANNEL_OUT_STEREO
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET
|
||||
flags AUDIO_OUTPUT_FLAG_PRIMARY
|
||||
}
|
||||
hdmi {
|
||||
sampling_rates 44100|48000
|
||||
channel_masks dynamic
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
devices AUDIO_DEVICE_OUT_AUX_DIGITAL
|
||||
flags AUDIO_OUTPUT_FLAG_DIRECT
|
||||
}
|
||||
}
|
||||
inputs {
|
||||
primary {
|
||||
sampling_rates 8000|11025|16000|22050|24000|32000|44100|48000
|
||||
channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO|AUDIO_CHANNEL_IN_VOICE_UPLINK|AUDIO_CHANNEL_IN_VOICE_DNLINK|AUDIO_CHANNEL_IN_VOICE
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET|AUDIO_DEVICE_IN_WIRED_HEADSET|AUDIO_DEVICE_IN_BACK_MIC|AUDIO_DEVICE_IN_AF|AUDIO_DEVICE_IN_VOICE_CALL|AUDIO_DEVICE_IN_FM
|
||||
}
|
||||
}
|
||||
}
|
||||
a2dp {
|
||||
outputs {
|
||||
a2dp {
|
||||
sampling_rates 44100
|
||||
channel_masks AUDIO_CHANNEL_OUT_STEREO
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
devices AUDIO_DEVICE_OUT_ALL_A2DP
|
||||
}
|
||||
}
|
||||
}
|
||||
usb {
|
||||
outputs {
|
||||
usb_accessory {
|
||||
sampling_rates 44100
|
||||
channel_masks AUDIO_CHANNEL_OUT_STEREO
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
devices AUDIO_DEVICE_OUT_USB_ACCESSORY
|
||||
}
|
||||
usb_device {
|
||||
sampling_rates 44100
|
||||
channel_masks AUDIO_CHANNEL_OUT_STEREO
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
devices AUDIO_DEVICE_OUT_USB_DEVICE
|
||||
}
|
||||
}
|
||||
inputs {
|
||||
usb_device {
|
||||
sampling_rates dynamic
|
||||
channel_masks AUDIO_CHANNEL_IN_STEREO
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
devices AUDIO_DEVICE_IN_USB_DEVICE
|
||||
}
|
||||
}
|
||||
}
|
||||
r_submix {
|
||||
outputs {
|
||||
submix {
|
||||
sampling_rates 48000
|
||||
channel_masks AUDIO_CHANNEL_OUT_STEREO
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
devices AUDIO_DEVICE_OUT_REMOTE_SUBMIX
|
||||
}
|
||||
}
|
||||
inputs {
|
||||
submix {
|
||||
sampling_rates 48000
|
||||
channel_masks AUDIO_CHANNEL_IN_STEREO
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
devices AUDIO_DEVICE_IN_REMOTE_SUBMIX
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
101
android/device/softwinner/tulip-common/configs/audio_policy_configuration.xml
Executable file
101
android/device/softwinner/tulip-common/configs/audio_policy_configuration.xml
Executable file
|
@ -0,0 +1,101 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!-- Copyright (C) 2016 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<audioPolicyConfiguration version="1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<globalConfiguration speaker_drc_enabled="true"/>
|
||||
|
||||
<modules>
|
||||
<module name="primary" halVersion="2.0">
|
||||
<attachedDevices>
|
||||
<item>Speaker</item>
|
||||
<item>Built-In Mic</item>
|
||||
</attachedDevices>
|
||||
<defaultOutputDevice>Speaker</defaultOutputDevice>
|
||||
<mixPorts>
|
||||
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="hdmi output" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100,48000" channelMasks="dynamic"/>
|
||||
</mixPort>
|
||||
<mixPort name="primary input" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100"
|
||||
channelMasks="AUDIO_CHANNEL_IN_STEREO"/>
|
||||
</mixPort>
|
||||
</mixPorts>
|
||||
<devicePorts>
|
||||
<devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
|
||||
</devicePort>
|
||||
<devicePort tagName="HDMI Out" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
|
||||
</devicePort>
|
||||
|
||||
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
|
||||
</devicePort>
|
||||
<devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
|
||||
</devicePort>
|
||||
</devicePorts>
|
||||
<routes>
|
||||
<route type="mix" sink="Speaker"
|
||||
sources="primary output"/>
|
||||
<route type="mix" sink="Wired Headset"
|
||||
sources="primary output"/>
|
||||
<route type="mix" sink="Wired Headphones"
|
||||
sources="primary output"/>
|
||||
<route type="mix" sink="BT SCO"
|
||||
sources="primary output"/>
|
||||
<route type="mix" sink="BT SCO Headset"
|
||||
sources="primary output"/>
|
||||
<route type="mix" sink="BT SCO Car Kit"
|
||||
sources="primary output"/>
|
||||
<route type="mix" sink="HDMI Out"
|
||||
sources="hdmi output"/>
|
||||
|
||||
<route type="mix" sink="primary input"
|
||||
sources="Built-In Mic,Wired Headset Mic,BT SCO Headset Mic"/>
|
||||
</routes>
|
||||
</module>
|
||||
|
||||
<!-- A2dp Audio HAL -->
|
||||
<xi:include href="a2dp_audio_policy_configuration.xml"/>
|
||||
|
||||
<!-- Usb Audio HAL -->
|
||||
<xi:include href="usb_audio_policy_configuration.xml"/>
|
||||
|
||||
<!-- Remote Submix Audio HAL -->
|
||||
<xi:include href="r_submix_audio_policy_configuration.xml"/>
|
||||
|
||||
</modules>
|
||||
|
||||
<!-- Volume section -->
|
||||
<xi:include href="audio_policy_volumes_drc.xml"/>
|
||||
<xi:include href="default_volume_tables.xml"/>
|
||||
|
||||
</audioPolicyConfiguration>
|
196
android/device/softwinner/tulip-common/configs/audio_policy_volumes_drc.xml
Executable file
196
android/device/softwinner/tulip-common/configs/audio_policy_volumes_drc.xml
Executable file
|
@ -0,0 +1,196 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright (C) 2015 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<!-- Volume section defines a volume curve for a given use case and device category.
|
||||
It contains a list of points of this curve expressing the attenuation in Millibels for a given
|
||||
volume index from 0 to 100.
|
||||
<volume stream=”AUDIO_STREAM_MUSIC” deviceCategory=””>
|
||||
<point>0,-9600</point>
|
||||
<point>100,0</point>
|
||||
</volume>
|
||||
-->
|
||||
|
||||
<volumes>
|
||||
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_HEADSET">
|
||||
<point>0,-4200</point>
|
||||
<point>33,-2800</point>
|
||||
<point>66,-1400</point>
|
||||
<point>100,0</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_SPEAKER">
|
||||
<point>0,-2400</point>
|
||||
<point>33,-1600</point>
|
||||
<point>66,-800</point>
|
||||
<point>100,0</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_EARPIECE">
|
||||
<point>0,-2400</point>
|
||||
<point>33,-1600</point>
|
||||
<point>66,-800</point>
|
||||
<point>100,0</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_HEADSET">
|
||||
<point>1,-3000</point>
|
||||
<point>33,-2600</point>
|
||||
<point>66,-2200</point>
|
||||
<point>100,-1800</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_SPEAKER">
|
||||
<point>1,-3400</point>
|
||||
<point>33,-2400</point>
|
||||
<point>66,-1500</point>
|
||||
<point>100,-600</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_EARPIECE"
|
||||
ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_HEADSET"
|
||||
ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_SPEAKER">
|
||||
<point>1,-3570</point>
|
||||
<point>33,-2610</point>
|
||||
<point>66,-1320</point>
|
||||
<point>100,0</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_EARPIECE"
|
||||
ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_HEADSET"
|
||||
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_SPEAKER">
|
||||
<point>1,-4650</point>
|
||||
<point>33,-2650</point>
|
||||
<point>86,-700</point>
|
||||
<point>100,0</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_EARPIECE"
|
||||
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_HEADSET"
|
||||
ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_SPEAKER">
|
||||
<point>1,-3570</point>
|
||||
<point>33,-2610</point>
|
||||
<point>66,-1320</point>
|
||||
<point>100,0</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_EARPIECE"
|
||||
ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_HEADSET"
|
||||
ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_SPEAKER">
|
||||
<point>1,-3570</point>
|
||||
<point>33,-2610</point>
|
||||
<point>66,-1320</point>
|
||||
<point>100,0</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_EARPIECE"
|
||||
ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_HEADSET">
|
||||
<point>0,-4200</point>
|
||||
<point>33,-2800</point>
|
||||
<point>66,-1400</point>
|
||||
<point>100,0</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_SPEAKER">
|
||||
<point>0,-2400</point>
|
||||
<point>33,-1600</point>
|
||||
<point>66,-800</point>
|
||||
<point>100,0</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_EARPIECE">
|
||||
<point>0,-4200</point>
|
||||
<point>33,-2800</point>
|
||||
<point>66,-1400</point>
|
||||
<point>100,0</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_HEADSET">
|
||||
<point>1,-3000</point>
|
||||
<point>33,-2600</point>
|
||||
<point>66,-2200</point>
|
||||
<point>100,-1800</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_SPEAKER">
|
||||
<point>1,-3400</point>
|
||||
<point>33,-2400</point>
|
||||
<point>66,-1500</point>
|
||||
<point>100,-600</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_EARPIECE"
|
||||
ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_HEADSET">
|
||||
<point>1,-3000</point>
|
||||
<point>33,-2600</point>
|
||||
<point>66,-2200</point>
|
||||
<point>100,-1800</point>
|
||||
</volume>
|
||||
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_SPEAKER"
|
||||
ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_EARPIECE"
|
||||
ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_HEADSET"
|
||||
ref="SILENT_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_SPEAKER"
|
||||
ref="FULL_SCALE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_EARPIECE"
|
||||
ref="SILENT_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="SILENT_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_HEADSET"
|
||||
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_SPEAKER">
|
||||
<point>1,-5500</point>
|
||||
<point>20,-4300</point>
|
||||
<point>86,-1200</point>
|
||||
<point>100,0</point>
|
||||
</volume>
|
||||
|
||||
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_EARPIECE"
|
||||
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_HEADSET"
|
||||
ref="FULL_SCALE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_SPEAKER"
|
||||
ref="FULL_SCALE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_EARPIECE"
|
||||
ref="FULL_SCALE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="FULL_SCALE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_HEADSET"
|
||||
ref="FULL_SCALE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_SPEAKER"
|
||||
ref="FULL_SCALE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_EARPIECE"
|
||||
ref="FULL_SCALE_VOLUME_CURVE"/>
|
||||
<volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
|
||||
ref="FULL_SCALE_VOLUME_CURVE"/>
|
||||
</volumes>
|
||||
|
27
android/device/softwinner/tulip-common/configs/cfg-videoplayer.xml
Executable file
27
android/device/softwinner/tulip-common/configs/cfg-videoplayer.xml
Executable file
|
@ -0,0 +1,27 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<cfgOverrides>
|
||||
<cfgOverride
|
||||
name="floatwindow_enable"
|
||||
value="1"/>
|
||||
<cfgOverride
|
||||
name="smart_detection_enable"
|
||||
value="0"/>
|
||||
<cfgOverride
|
||||
name="athumb_enable"
|
||||
value="0"/>
|
||||
<cfgOverride
|
||||
name="presentation_enable"
|
||||
value="0"/>
|
||||
<cfgOverride
|
||||
name="hide_menu_athumb"
|
||||
value="1"/>
|
||||
<cfgOverride
|
||||
name="hide_menu_presentation"
|
||||
value="0"/>
|
||||
<cfgOverride
|
||||
name="hide_icon_floatwindow"
|
||||
value="0"/>
|
||||
<cfgOverride
|
||||
name="hide_3d_menu"
|
||||
value="0"/>
|
||||
</cfgOverrides>
|
335
android/device/softwinner/tulip-common/configs/media_codecs.xml
Executable file
335
android/device/softwinner/tulip-common/configs/media_codecs.xml
Executable file
|
@ -0,0 +1,335 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright (C) 2012 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<!--
|
||||
<!DOCTYPE MediaCodecs [
|
||||
<!ELEMENT MediaCodecs (Decoders,Encoders)>
|
||||
<!ELEMENT Decoders (MediaCodec*)>
|
||||
<!ELEMENT Encoders (MediaCodec*)>
|
||||
<!ELEMENT MediaCodec (Type*,Quirk*)>
|
||||
<!ATTLIST MediaCodec name CDATA #REQUIRED>
|
||||
<!ATTLIST MediaCodec type CDATA>
|
||||
<!ELEMENT Type EMPTY>
|
||||
<!ATTLIST Type name CDATA #REQUIRED>
|
||||
<!ELEMENT Quirk EMPTY>
|
||||
<!ATTLIST Quirk name CDATA #REQUIRED>
|
||||
]>
|
||||
|
||||
There's a simple and a complex syntax to declare the availability of a
|
||||
media codec:
|
||||
|
||||
A codec that properly follows the OpenMax spec and therefore doesn't have any
|
||||
quirks and that only supports a single content type can be declared like so:
|
||||
|
||||
<MediaCodec name="OMX.foo.bar" type="something/interesting" />
|
||||
|
||||
If a codec has quirks OR supports multiple content types, the following syntax
|
||||
can be used:
|
||||
|
||||
<MediaCodec name="OMX.foo.bar" >
|
||||
<Type name="something/interesting" />
|
||||
<Type name="something/else" />
|
||||
...
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Quirk name="output-buffers-are-unreadable" />
|
||||
</MediaCodec>
|
||||
|
||||
Only the three quirks included above are recognized at this point:
|
||||
|
||||
"requires-allocate-on-input-ports"
|
||||
must be advertised if the component does not properly support specification
|
||||
of input buffers using the OMX_UseBuffer(...) API but instead requires
|
||||
OMX_AllocateBuffer to be used.
|
||||
|
||||
"requires-allocate-on-output-ports"
|
||||
must be advertised if the component does not properly support specification
|
||||
of output buffers using the OMX_UseBuffer(...) API but instead requires
|
||||
OMX_AllocateBuffer to be used.
|
||||
|
||||
"output-buffers-are-unreadable"
|
||||
must be advertised if the emitted output buffers of a decoder component
|
||||
are not readable, i.e. use a custom format even though abusing one of
|
||||
the official OMX colorspace constants.
|
||||
Clients of such decoders will not be able to access the decoded data,
|
||||
naturally making the component much less useful. The only use for
|
||||
a component with this quirk is to render the output to the screen.
|
||||
Audio decoders MUST NOT advertise this quirk.
|
||||
Video decoders that advertise this quirk must be accompanied by a
|
||||
corresponding color space converter for thumbnail extraction,
|
||||
matching surfaceflinger support that can render the custom format to
|
||||
a texture and possibly other code, so just DON'T USE THIS QUIRK.
|
||||
|
||||
-->
|
||||
|
||||
<!--
|
||||
<MediaCodec name="OMX.TI.DUCATI1.VIDEO.DECODER" >
|
||||
<Type name="video/mp4v-es" />
|
||||
<Type name="video/3gpp" />
|
||||
<Type name="video/avc" />
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
</MediaCodec>
|
||||
|
||||
<MediaCodec name="OMX.google.mpeg4.decoder" type="video/mp4v-es" />
|
||||
<MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" />
|
||||
<MediaCodec name="OMX.google.h264.decoder" type="video/avc" />
|
||||
<MediaCodec name="OMX.google.vpx.decoder" type="video/x-vnd.on2.vp8" />
|
||||
-->
|
||||
<MediaCodecs>
|
||||
<Include href="media_codecs_google_audio.xml" />
|
||||
|
||||
<Settings>
|
||||
<Setting name="max-video-encoder-input-buffers" value="2" />
|
||||
</Settings>
|
||||
|
||||
<Decoders>
|
||||
<MediaCodec name="OMX.allwinner.video.decoder.avc" type="video/avc" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="64x64" max="4096x2048" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||
<Limit name="bitrate" range="1-60000000" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Limit name="concurrent-instances" max="4" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.allwinner.video.decoder.avc.secure" type="video/avc" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="64x64" max="4096x2048" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||
<Limit name="bitrate" range="1-60000000" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="concurrent-instances" max="4" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.allwinner.video.decoder.hevc" type="video/hevc" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="176x144" max="4096x2048" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||
<Limit name="bitrate" range="1-60000000" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Limit name="concurrent-instances" max="4" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.allwinner.video.decoder.mjpeg" type="video/jpeg" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="32x32" max="1920x1080" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||
<Limit name="bitrate" range="1-300000000" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Limit name="concurrent-instances" max="4" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.allwinner.video.decoder.mpeg1" type="video/mpeg1" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="32x32" max="1920x1080" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Limit name="concurrent-instances" max="4" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.allwinner.video.decoder.mpeg2" type="video/mpeg2" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="32x32" max="1920x1080" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Limit name="concurrent-instances" max="4" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.allwinner.video.decoder.mpeg4" type="video/mp4v-es" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="176x144" max="1920x1080" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Limit name="concurrent-instances" max="4" />
|
||||
</MediaCodec>
|
||||
<!--MediaCodec name="OMX.allwinner.video.decoder.h263" type="video/3gpp" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="32x32" max="1920x1080" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Limit name="concurrent-instances" max="4" />
|
||||
</MediaCodec-->
|
||||
<MediaCodec name="OMX.allwinner.video.decoder.vp6" type="video/x-vnd.on2.vp6" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="32x32" max="1280x720" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||
<Limit name="bitrate" range="1-4000000" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Limit name="concurrent-instances" max="4" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.allwinner.video.decoder.vp8" type="video/x-vnd.on2.vp8" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="177x144" max="4096x2048" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||
<Limit name="bitrate" range="1-40000000" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Limit name="concurrent-instances" max="4" />
|
||||
</MediaCodec>
|
||||
<!--MediaCodec name="OMX.allwinner.video.decoder.vp9" type="video/x-vnd.on2.vp9" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="176x144" max="1200x700" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||
<Limit name="bitrate" range="1-2000000" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Limit name="concurrent-instances" max="4" />
|
||||
</MediaCodec-->
|
||||
<MediaCodec name="OMX.allwinner.video.decoder.vc1" type="video/wvc1" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="32x32" max="1920x1080" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Limit name="concurrent-instances" max="4" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.allwinner.video.decoder.msmpeg4v1" type="video/x-ms-mpeg4v1" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="32x32" max="1920x1080" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Limit name="concurrent-instances" max="4" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.allwinner.video.decoder.msmpeg4v2" type="video/x-ms-mpeg4v2" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="32x32" max="1920x1080" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Feature name="adaptive-playback" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.allwinner.video.decoder.divx" type="video/divx" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="32x32" max="1920x1080" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Limit name="concurrent-instances" max="4" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.allwinner.video.decoder.xvid" type="video/xvid" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="32x32" max="1920x1080" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Limit name="concurrent-instances" max="4" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.allwinner.video.decoder.s263" type="video/flv1" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="32x32" max="1920x1080" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Limit name="concurrent-instances" max="4" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.allwinner.video.decoder.rxg2" type="video/rvg2" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="32x32" max="1920x1080" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Limit name="concurrent-instances" max="4" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.allwinner.video.decoder.wmv1" type="video/wmv1" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="32x32" max="1920x1080" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Limit name="concurrent-instances" max="4" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.allwinner.video.decoder.wmv2" type="video/wmv2" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="32x32" max="1920x1080" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Limit name="concurrent-instances" max="4" />
|
||||
</MediaCodec>
|
||||
</Decoders>
|
||||
|
||||
<Encoders>
|
||||
<MediaCodec name="OMX.allwinner.video.encoder.avc" type="video/avc" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="176x144" max="1280x720" />
|
||||
<Limit name="alignment" value="16x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||
<Limit name="bitrate" range="1-20000000" />
|
||||
<Limit name="concurrent-instances" max="4" />
|
||||
</MediaCodec>
|
||||
</Encoders>
|
||||
<Include href="media_codecs_google_video.xml" />
|
||||
</MediaCodecs>
|
92
android/device/softwinner/tulip-common/configs/media_codecs_google_audio.xml
Executable file
92
android/device/softwinner/tulip-common/configs/media_codecs_google_audio.xml
Executable file
|
@ -0,0 +1,92 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright (C) 2014 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<Included>
|
||||
<Decoders>
|
||||
<MediaCodec name="OMX.google.mp3.decoder" type="audio/mpeg">
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000,11025,12000,16000,22050,24000,32000,44100,48000" />
|
||||
<Limit name="bitrate" range="8000-320000" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.amrnb.decoder" type="audio/3gpp">
|
||||
<Limit name="channel-count" max="1" />
|
||||
<Limit name="sample-rate" ranges="8000" />
|
||||
<Limit name="bitrate" range="4750-12200" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.amrwb.decoder" type="audio/amr-wb">
|
||||
<Limit name="channel-count" max="1" />
|
||||
<Limit name="sample-rate" ranges="16000" />
|
||||
<Limit name="bitrate" range="6600-23850" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.aac.decoder" type="audio/mp4a-latm">
|
||||
<Limit name="channel-count" max="8" />
|
||||
<Limit name="sample-rate" ranges="7350,8000,11025,12000,16000,22050,24000,32000,44100,48000" />
|
||||
<Limit name="bitrate" range="8000-960000" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.g711.alaw.decoder" type="audio/g711-alaw">
|
||||
<Limit name="channel-count" max="1" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
<Limit name="bitrate" range="64000" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.g711.mlaw.decoder" type="audio/g711-mlaw">
|
||||
<Limit name="channel-count" max="1" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
<Limit name="bitrate" range="64000" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.vorbis.decoder" type="audio/vorbis">
|
||||
<Limit name="channel-count" max="8" />
|
||||
<Limit name="sample-rate" ranges="8000-96000" />
|
||||
<Limit name="bitrate" range="32000-500000" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.opus.decoder" type="audio/opus">
|
||||
<Limit name="channel-count" max="8" />
|
||||
<Limit name="sample-rate" ranges="48000" />
|
||||
<Limit name="bitrate" range="6000-510000" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.raw.decoder" type="audio/raw">
|
||||
<Limit name="channel-count" max="8" />
|
||||
<Limit name="sample-rate" ranges="8000-96000" />
|
||||
<Limit name="bitrate" range="1-10000000" />
|
||||
</MediaCodec>
|
||||
</Decoders>
|
||||
<Encoders>
|
||||
<MediaCodec name="OMX.google.aac.encoder" type="audio/mp4a-latm">
|
||||
<Limit name="channel-count" max="6" />
|
||||
<Limit name="sample-rate" ranges="8000,11025,12000,16000,22050,24000,32000,44100,48000" />
|
||||
<!-- also may support 64000, 88200 and 96000 Hz -->
|
||||
<Limit name="bitrate" range="8000-960000" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.amrnb.encoder" type="audio/3gpp">
|
||||
<Limit name="channel-count" max="1" />
|
||||
<Limit name="sample-rate" ranges="8000" />
|
||||
<Limit name="bitrate" range="4750-12200" />
|
||||
<Feature name="bitrate-modes" value="CBR" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.amrwb.encoder" type="audio/amr-wb">
|
||||
<Limit name="channel-count" max="1" />
|
||||
<Limit name="sample-rate" ranges="16000" />
|
||||
<Limit name="bitrate" range="6600-23850" />
|
||||
<Feature name="bitrate-modes" value="CBR" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.flac.encoder" type="audio/flac">
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="1-655350" />
|
||||
<Limit name="bitrate" range="1-21000000" />
|
||||
<Limit name="complexity" range="0-8" default="5" />
|
||||
<Feature name="bitrate-modes" value="CQ" />
|
||||
</MediaCodec>
|
||||
</Encoders>
|
||||
</Included>
|
105
android/device/softwinner/tulip-common/configs/media_codecs_google_video.xml
Executable file
105
android/device/softwinner/tulip-common/configs/media_codecs_google_video.xml
Executable file
|
@ -0,0 +1,105 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright (C) 2014 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<Included>
|
||||
<Decoders>
|
||||
<MediaCodec name="OMX.google.mpeg4.decoder" type="video/mp4v-es">
|
||||
<!-- profiles and levels: ProfileSimple : Level3 -->
|
||||
<Limit name="size" min="2x2" max="352x288" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" range="12-11880" />
|
||||
<Limit name="bitrate" range="1-384000" />
|
||||
<Feature name="adaptive-playback" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.h263.decoder" type="video/3gpp">
|
||||
<!-- profiles and levels: ProfileBaseline : Level30, ProfileBaseline : Level45
|
||||
ProfileISWV2 : Level30, ProfileISWV2 : Level45 -->
|
||||
<Limit name="size" min="2x2" max="352x288" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="bitrate" range="1-384000" />
|
||||
<Feature name="adaptive-playback" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.h264.decoder" type="video/avc">
|
||||
<!-- profiles and levels: ProfileHigh : Level41 -->
|
||||
<Limit name="size" min="16x16" max="1280x720" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" range="1-244800" />
|
||||
<Limit name="bitrate" range="1-12000000" />
|
||||
<Feature name="adaptive-playback" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.hevc.decoder" type="video/hevc">
|
||||
<!-- profiles and levels: ProfileMain : MainTierLevel51 -->
|
||||
<Limit name="size" min="2x2" max="1280x720" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="8x8" />
|
||||
<Limit name="block-count" range="1-139264" />
|
||||
<Limit name="blocks-per-second" range="1-2000000" />
|
||||
<Limit name="bitrate" range="1-10000000" />
|
||||
<Feature name="adaptive-playback" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8">
|
||||
<Limit name="size" min="2x2" max="1280x720" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" range="1-1000000" />
|
||||
<Limit name="bitrate" range="1-40000000" />
|
||||
<Feature name="adaptive-playback" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9">
|
||||
<Limit name="size" min="2x2" max="1280x736" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" range="1-500000" />
|
||||
<Limit name="bitrate" range="1-40000000" />
|
||||
<Feature name="adaptive-playback" />
|
||||
</MediaCodec>
|
||||
</Decoders>
|
||||
|
||||
<Encoders>
|
||||
<MediaCodec name="OMX.google.h263.encoder" type="video/3gpp">
|
||||
<!-- profiles and levels: ProfileBaseline : Level45 -->
|
||||
<Limit name="size" min="176x144" max="176x144" />
|
||||
<Limit name="alignment" value="16x16" />
|
||||
<Limit name="bitrate" range="1-128000" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.h264.encoder" type="video/avc">
|
||||
<!-- profiles and levels: ProfileBaseline : Level41 -->
|
||||
<Limit name="size" min="16x16" max="1280x720" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" range="1-244800" />
|
||||
<Limit name="bitrate" range="1-12000000" />
|
||||
<Feature name="intra-refresh" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es">
|
||||
<!-- profiles and levels: ProfileCore : Level2 -->
|
||||
<Limit name="size" min="16x16" max="176x144" />
|
||||
<Limit name="alignment" value="16x16" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" range="12-1485" />
|
||||
<Limit name="bitrate" range="1-64000" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8">
|
||||
<!-- profiles and levels: ProfileMain : Level_Version0-3 -->
|
||||
<Limit name="size" min="2x2" max="1280x720" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="bitrate" range="1-40000000" />
|
||||
<Feature name="bitrate-modes" value="VBR,CBR" />
|
||||
</MediaCodec>
|
||||
</Encoders>
|
||||
</Included>
|
103
android/device/softwinner/tulip-common/configs/media_codecs_performance.xml
Executable file
103
android/device/softwinner/tulip-common/configs/media_codecs_performance.xml
Executable file
|
@ -0,0 +1,103 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright 2015 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<MediaCodecs>
|
||||
<Encoders>
|
||||
<MediaCodec name="OMX.allwinner.video.encoder.avc" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="45-220" />
|
||||
<Limit name="measured-frame-rate-720x480" range="87-322" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="27-147" />
|
||||
<!-- Limit name="measured-frame-rate-1920x1080" range="69-69" / -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.h264.encoder" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="58-474" />
|
||||
<Limit name="measured-frame-rate-720x480" range="29-140" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="10-50" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="126-1003" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="175-847" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="40-198" />
|
||||
<Limit name="measured-frame-rate-640x360" range="16-79" />
|
||||
</MediaCodec>
|
||||
</Encoders>
|
||||
<Decoders>
|
||||
<MediaCodec name="OMX.allwinner.video.decoder.hevc" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="318-1540" />
|
||||
<Limit name="measured-frame-rate-720x480" range="240-1100" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="66-323" />
|
||||
<Limit name="measured-frame-rate-1920x1088" range="59-286" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.allwinner.video.decoder.avc" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="137-666" />
|
||||
<Limit name="measured-frame-rate-720x480" range="88-429" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="66-323" />
|
||||
<Limit name="measured-frame-rate-1920x1088" range="56-56" />
|
||||
</MediaCodec>
|
||||
<!-- MediaCodec name="OMX.allwinner.video.decoder.h263" type="video/3gpp" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="296-1435" />
|
||||
<Limit name="measured-frame-rate-352x288" range="212-1029" />
|
||||
</MediaCodec -->
|
||||
<MediaCodec name="OMX.allwinner.video.decoder.mpeg4" type="video/mp4v-es" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="489-522" />
|
||||
<Limit name="measured-frame-rate-480x360" range="166-807" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.allwinner.video.decoder.vp8" type="video/x-vnd.on2.vp8" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="186-902" />
|
||||
<Limit name="measured-frame-rate-640x360" range="216-1049" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="66-324" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="26-91"/>
|
||||
</MediaCodec>
|
||||
<!--MediaCodec name="OMX.allwinner.video.decoder.vp9" type="video/x-vnd.on2.vp9" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="35-174" />
|
||||
<Limit name="measured-frame-rate-640x360" range="9-47" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="26-28" />
|
||||
</MediaCodec-->
|
||||
<MediaCodec name="OMX.google.h264.decoder" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="140-682" />
|
||||
<Limit name="measured-frame-rate-720x480" range="50-244" />
|
||||
<!--Limit name="measured-frame-rate-1280x720" range="20-94" /-->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="270-283" />
|
||||
<Limit name="measured-frame-rate-352x288" range="85-86" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.mpeg4.decoder" type="video/mp4v-es" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="278-305" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.hevc.decoder" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-352x288" range="232-255" />
|
||||
<Limit name="measured-frame-rate-640x360" range="106-111" />
|
||||
<Limit name="measured-frame-rate-720x480" range="61-297" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="26-127" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="186-902" />
|
||||
<Limit name="measured-frame-rate-640x360" range="87-91" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="18-18" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="134-649" />
|
||||
<Limit name="measured-frame-rate-640x360" range="81-84" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="26-28" />
|
||||
</MediaCodec>
|
||||
</Decoders>
|
||||
</MediaCodecs>
|
||||
|
2
android/device/softwinner/tulip-common/configs/mediacodec-arm.policy
Executable file
2
android/device/softwinner/tulip-common/configs/mediacodec-arm.policy
Executable file
|
@ -0,0 +1,2 @@
|
|||
pselect6: 1
|
||||
sysinfo: 1
|
60
android/device/softwinner/tulip-common/configs/phone_volume.conf
Executable file
60
android/device/softwinner/tulip-common/configs/phone_volume.conf
Executable file
|
@ -0,0 +1,60 @@
|
|||
#Configuration file for the audio volume
|
||||
|
||||
#使用说明:
|
||||
#[PHONE_EARPIECE] -->听筒音量设置.听筒音量由3个部分控制,分别是phonepn_gain,mixer_gain,output_gain.
|
||||
#phonepn_gain =1,4,4,4,4,7 (范围为0~7)
|
||||
#mixer_gain =3,3,3,4,5,7 (范围为0~7)
|
||||
#output_gain =60,60,60,60,60,60 (范围为0~61)
|
||||
#
|
||||
#声音共分6级,level_1时,声音最小.
|
||||
#level1, level2, level3, level4, level5, level6
|
||||
#例如
|
||||
#phonepn_gain =1,4,4,4,4,7
|
||||
#level1时, phonepn_gain音量为1.
|
||||
#level2时, phonepn_gain音量为4.
|
||||
#
|
||||
#
|
||||
#phonepn_gain 范围为0~7 3dB/step
|
||||
#mixer_gain 范围为0~7 1.5dB/step
|
||||
#hp_gain 范围为0~7 1dB/step
|
||||
#spk_gain 范围为0~31 1.5dB/step
|
||||
#line_gain 范围为0~31 1.5dB/step
|
||||
|
||||
|
||||
|
||||
################Phone down stream##################################
|
||||
[PHONE_EARPIECE]
|
||||
phonepn_gain =1,4,4,4,4,7
|
||||
mixer_gain =3,3,3,4,5,7
|
||||
hp_gain =60,60,60,60,60,60
|
||||
|
||||
[PHONE_HEADSET]
|
||||
phonepn_gain =1,4,4,4,4,7
|
||||
mixer_gain =3,3,3,4,5,7
|
||||
hp_gain =20,25,30,35,35,35
|
||||
|
||||
[PHONE_SPEAKER]
|
||||
phonepn_gain =1,4,4,4,4,7
|
||||
mixer_gain =3,3,3,4,5,7
|
||||
spk_gain =25,26,28,29,31,31
|
||||
|
||||
#蓝牙上行音量控制,可减少蓝牙mic带来的上行噪音
|
||||
#值越大,噪音越小,音量越小,声音效果越差
|
||||
#当前,仅对plan one 配置有效
|
||||
[BLUETOOTH_UP]
|
||||
pcm_vol =8
|
||||
|
||||
|
||||
|
||||
##############Analog FM####################################
|
||||
[FM_HEADSET]
|
||||
line_gain =2,3,4,5,6,7
|
||||
hp_gain =48,50,52,56,58,61
|
||||
|
||||
[FM_SPEAKER]
|
||||
line_gain =2,3,4,5,6,7
|
||||
spk_gain =21,23,25,26,28,30
|
||||
|
||||
|
||||
|
||||
|
65
android/device/softwinner/tulip-common/init.sun50iw1p1.rc
Executable file
65
android/device/softwinner/tulip-common/init.sun50iw1p1.rc
Executable file
|
@ -0,0 +1,65 @@
|
|||
import /vendor/etc/init/hw/init.common.rc
|
||||
import /vendor/etc/init/hw/init.device.rc
|
||||
import /vendor/etc/init/hw/init.sun50iw1p1.usb.rc
|
||||
|
||||
on init
|
||||
# Set permissions for persist partition
|
||||
mkdir /persist 0771 system system
|
||||
mkdir /firmware 0771 system system
|
||||
|
||||
# Support legacy paths
|
||||
symlink /sdcard /mnt/sdcard
|
||||
symlink /sdcard /storage/sdcard0
|
||||
|
||||
# Setup zram options
|
||||
write /sys/block/zram0/comp_algorithm lz4
|
||||
mkdir /oem 0550 system system
|
||||
export PATH /vendor/xbin:/sbin:/system/sbin:/system/bin:/system/xbin:/vendor/bin
|
||||
|
||||
on early-fs
|
||||
wait /dev/block/by-name/media_data
|
||||
mount vfat /dev/block/by-name/media_data /oem ro nosuid nodev utf8,context=u:object_r:oemfs:s0
|
||||
|
||||
on fs
|
||||
mount_all /vendor/etc/fstab.sun50iw1p1
|
||||
swapon_all /vendor/etc/fstab.sun50iw1p1
|
||||
restorecon_recursive /persist
|
||||
|
||||
on late-fs
|
||||
# gpu
|
||||
insmod /vendor/modules/mali.ko
|
||||
write /sys/devices/platform/soc/cpu_budget_cooling/roomage "1152000 4 0 0 1152000 4 0 0"
|
||||
# mkdir for optee
|
||||
mkdir /data/tee 0770 system system
|
||||
restorecon_recursive /data/tee
|
||||
|
||||
on post-fs-data
|
||||
# Set indication (checked by vold) that we have finished this action
|
||||
setprop vold.post_fs_data_done 1
|
||||
on boot
|
||||
chown system system /sys/kernel/autohotplug/enable
|
||||
chmod 0660 /sys/kernel/autohotplug/enable
|
||||
chown system system /sys/devices/platform/soc/twi0/i2c-0/0-0040/input/input4/runtime_suspend
|
||||
chmod 0660 /sys/devices/platform/soc/twi0/i2c-0/0-0040/input/input4/runtime_suspend
|
||||
chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
|
||||
chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
|
||||
chown system system /sys/devices/platform/soc/cpu_budget_cooling/roomage
|
||||
chmod 0660 /sys/devices/platform/soc/cpu_budget_cooling/roomage
|
||||
write /sys/devices/platform/soc/cpu_budget_cooling/roomage "1152000 4 0 0 1152000 4 0 0"
|
||||
chown system system /sys/class/devfreq/dramfreq/adaptive/pause
|
||||
chmod 0660 /sys/class/devfreq/dramfreq/adaptive/pause
|
||||
|
||||
chown system system /sys/class/thermal/thermal_zone0/emul_temp
|
||||
chmod 0660 /sys/class/thermal/thermal_zone0/emul_temp
|
||||
|
||||
write /sys/class/disp/disp/attr/runtime_enable 1
|
||||
write /sys/kernel/mm/ksm/pages_to_scan 100
|
||||
write /sys/kernel/mm/ksm/sleep_millisecs 500
|
||||
write /sys/kernel/mm/ksm/run 1
|
||||
|
||||
chown system system /sys/kernel/debug/sync/sw_sync
|
||||
chmod 0777 /sys/kernel/debug/sync/sw_sync
|
||||
|
||||
on post-fs-data
|
||||
# create file for audio dump data
|
||||
mkdir /data/audio_d 0777 audio audio
|
145
android/device/softwinner/tulip-common/init.sun50iw1p1.usb.rc
Executable file
145
android/device/softwinner/tulip-common/init.sun50iw1p1.usb.rc
Executable file
|
@ -0,0 +1,145 @@
|
|||
#
|
||||
# Copyright (C) 2016 The Android Open-Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
on boot
|
||||
mkdir /dev/usb-ffs 0770 shell shell
|
||||
mkdir /dev/usb-ffs/adb 0770 shell shell
|
||||
mount configfs none /config
|
||||
mkdir /config/usb_gadget/g1 0770 shell shell
|
||||
#aw 1f3a
|
||||
write /config/usb_gadget/g1/idVendor 0x1f3a
|
||||
write /config/usb_gadget/g1/bcdDevice 0x0440
|
||||
write /config/usb_gadget/g1/bcdUSB 0x0200
|
||||
mkdir /config/usb_gadget/g1/strings/0x409 0770
|
||||
write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno}
|
||||
write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer}
|
||||
write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model}
|
||||
mkdir /config/usb_gadget/g1/functions/accessory.gs2
|
||||
mkdir /config/usb_gadget/g1/functions/audio_source.gs3
|
||||
mkdir /config/usb_gadget/g1/functions/ffs.adb
|
||||
mkdir /config/usb_gadget/g1/functions/ffs.mtp
|
||||
mkdir /config/usb_gadget/g1/functions/diag.diag
|
||||
mkdir /config/usb_gadget/g1/functions/cser.dun.0
|
||||
mkdir /config/usb_gadget/g1/functions/cser.nmea.1
|
||||
mkdir /config/usb_gadget/g1/functions/mtp.gs0
|
||||
mkdir /config/usb_gadget/g1/functions/ptp.gs1
|
||||
mkdir /config/usb_gadget/g1/functions/rndis.gs4
|
||||
write /config/usb_gadget/g1/functions/rndis.gs4/wceis 1
|
||||
mkdir /config/usb_gadget/g1/functions/midi.gs5
|
||||
mkdir /config/usb_gadget/g1/functions/gsi.rmnet
|
||||
mkdir /config/usb_gadget/g1/functions/gsi.rndis
|
||||
mkdir /config/usb_gadget/g1/functions/qdss.qdss
|
||||
mkdir /config/usb_gadget/g1/configs/b.1 0770 shell shell
|
||||
mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell
|
||||
write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1
|
||||
write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100"
|
||||
write /config/usb_gadget/g1/configs/b.1/MaxPower 500
|
||||
symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
|
||||
mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
|
||||
#android-usb has two pattern, setprop this property to notify android to use linux-4.4 usb mode
|
||||
#see init.usb.configfs.rc
|
||||
setprop sys.usb.ffs.max_write 524288
|
||||
setprop sys.usb.ffs.max_read 524288
|
||||
setprop sys.usb.configfs 1
|
||||
setprop sys.usb.mtp.device_type 3
|
||||
setprop sys.usb.controller "1c19000.udc-controller"
|
||||
write /sys/module/libcomposite/parameters/disable_l1_for_hs "y"
|
||||
|
||||
on property:init.svc.adbd=stopped
|
||||
setprop sys.usb.ffs.ready 0
|
||||
|
||||
#NONE
|
||||
on property:sys.usb.config=none && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/os_desc/use 0
|
||||
setprop sys.usb.ffs.ready 0
|
||||
|
||||
#MTP
|
||||
on property:sys.usb.config=mtp && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id "MTP"
|
||||
write /config/usb_gadget/g1/os_desc/use 1
|
||||
write /config/usb_gadget/g1/idProduct 0x1006
|
||||
write /config/usb_gadget/g1/idVendor 0x1f3a
|
||||
|
||||
#MTP and ADB
|
||||
on property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id "MTP"
|
||||
write /config/usb_gadget/g1/os_desc/use 1
|
||||
write /config/usb_gadget/g1/idProduct 0x1007
|
||||
write /config/usb_gadget/g1/idVendor 0x1f3a
|
||||
|
||||
#ADB
|
||||
on property:sys.usb.config=adb && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/idProduct 0x1001
|
||||
write /config/usb_gadget/g1/idVendor 0x1f3a
|
||||
|
||||
on property:sys.usb.config=rndis && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/idProduct 0x100a
|
||||
write /config/usb_gadget/g1/idVendor 0x1f3a
|
||||
|
||||
on property:sys.usb.config=rndis,adb && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/idProduct 0x100b
|
||||
write /config/usb_gadget/g1/idVendor 0x1f3a
|
||||
|
||||
on property:sys.usb.config=ptp && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP/compatible_id "PTP"
|
||||
write /config/usb_gadget/g1/os_desc/use 1
|
||||
write /config/usb_gadget/g1/idProduct 0x1008
|
||||
write /config/usb_gadget/g1/idVendor 0x1f3a
|
||||
|
||||
on property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP/compatible_id "PTP"
|
||||
write /config/usb_gadget/g1/os_desc/use 1
|
||||
write /config/usb_gadget/g1/idProduct 0x1009
|
||||
write /config/usb_gadget/g1/idVendor 0x1f3a
|
||||
|
||||
on property:sys.usb.config=midi && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/idProduct 0x4ee8
|
||||
write /config/usb_gadget/g1/idVendor 0x1f3a
|
||||
|
||||
on property:sys.usb.config=midi,adb && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/idProduct 0x4ee9
|
||||
write /config/usb_gadget/g1/idVendor 0x1f3a
|
||||
|
||||
on property:sys.usb.config=accessory && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/idProduct 0x2d00
|
||||
write /config/usb_gadget/g1/idVendor 0x18d1
|
||||
|
||||
on property:sys.usb.config=accessory,adb && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/idProduct 0x2d01
|
||||
write /config/usb_gadget/g1/idVendor 0x18d1
|
||||
|
||||
on property:sys.usb.config=audio_source && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/idProduct 0x2d02
|
||||
write /config/usb_gadget/g1/idVendor 0x18d1
|
||||
|
||||
on property:sys.usb.config=audio_source,adb && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/idProduct 0x2d03
|
||||
write /config/usb_gadget/g1/idVendor 0x18d1
|
||||
|
||||
on property:sys.usb.config=accessory,audio_source && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/idProduct 0x2d04
|
||||
write /config/usb_gadget/g1/idVendor 0x18d1
|
||||
|
||||
on property:sys.usb.config=accessory,audio_source,adb && property:sys.usb.configfs=1
|
||||
write /config/usb_gadget/g1/idProduct 0x2d05
|
||||
write /config/usb_gadget/g1/idVendor 0x18d1
|
||||
|
||||
|
||||
on property:persist.sys.usb0device=1
|
||||
copy /sys/devices/platform/soc/usbc0/usb_device /dev/null
|
||||
|
||||
on property:persist.sys.usb0device=0
|
||||
copy /sys/devices/platform/soc/usbc0/usb_host /dev/null
|
||||
write /config/usb_gadget/g1/idVendor 0x18d1
|
121
android/device/softwinner/tulip-common/tulip-common.mk
Executable file
121
android/device/softwinner/tulip-common/tulip-common.mk
Executable file
|
@ -0,0 +1,121 @@
|
|||
# inherit common.mk
|
||||
$(call inherit-product, device/softwinner/common/common.mk)
|
||||
|
||||
DEVICE_PACKAGE_OVERLAYS := \
|
||||
device/softwinner/tulip-common/overlay \
|
||||
$(DEVICE_PACKAGE_OVERLAYS)
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/softwinner/tulip-common/init.sun50iw1p1.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.sun50iw1p1.rc \
|
||||
device/softwinner/tulip-common/init.sun50iw1p1.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.sun50iw1p1.usb.rc \
|
||||
device/softwinner/tulip-common/ueventd.sun50iw1p1.rc:root/ueventd.sun50iw1p1.rc
|
||||
|
||||
# video
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/softwinner/tulip-common/configs/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
|
||||
device/softwinner/tulip-common/configs/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
|
||||
device/softwinner/tulip-common/configs/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
|
||||
device/softwinner/tulip-common/configs/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \
|
||||
device/softwinner/tulip-common/configs/mediacodec-arm.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy
|
||||
|
||||
USE_XML_AUDIO_POLICY_CONF := 1
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/softwinner/tulip-common/configs/audio_policy_volumes_drc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes_drc.xml \
|
||||
device/softwinner/tulip-common/configs/audio_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info.xml \
|
||||
device/softwinner/tulip-common/configs/audio_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_mixer_paths.xml \
|
||||
hardware/libhardware_legacy/audio/audio_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy.conf \
|
||||
device/softwinner/tulip-common/configs/cfg-videoplayer.xml:system/etc/cfg-videoplayer.xml
|
||||
|
||||
#usb and backup permissions file
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \
|
||||
frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
|
||||
frameworks/native/data/etc/android.software.backup.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.backup.xml
|
||||
|
||||
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.sys.cputype=QuadCore-A64
|
||||
|
||||
# Enabling type-precise GC results in larger optimized DEX files. The
|
||||
# additional storage requirements for ".odex" files can cause /system
|
||||
# to overflow on some devices, so this is configured separately for
|
||||
# each product.
|
||||
PRODUCT_TAGS += dalvik.gc.type-precise
|
||||
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.product.firmware=A64-o-mr1-v1.0
|
||||
|
||||
# if DISPLAY_BUILD_NUMBER := true then
|
||||
# BUILD_DISPLAY_ID := $(BUILD_ID).$(BUILD_NUMBER)
|
||||
# required by gms.
|
||||
DISPLAY_BUILD_NUMBER := true
|
||||
BUILD_NUMBER := $(shell date +%Y%m%d-%H%M%S)
|
||||
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
drm.service.enabled=true
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
libwvhidl \
|
||||
libwvdrmengine \
|
||||
libvtswidevine
|
||||
|
||||
ifeq ($(BOARD_HAS_SECURE_OS), true)
|
||||
SECURE_OS_OPTEE := yes
|
||||
PRODUCT_PACKAGES += \
|
||||
libteec \
|
||||
tee_supplicant
|
||||
|
||||
# keymaster version (0 or 2)
|
||||
BOARD_KEYMASTER_VERSION := 2
|
||||
|
||||
# hardware keymaster hal
|
||||
PRODUCT_PACKAGES += \
|
||||
keystore.tulip
|
||||
|
||||
# keymaster ta
|
||||
ifeq ($(BOARD_KEYMASTER_VERSION), 0)
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/softwinner/common/optee_ta/d6bebe60-be3e-4046-b239891e0a594860.ta:$(TARGET_COPY_OUT_VENDOR)/lib/optee_armtz/d6bebe60-be3e-4046-b239891e0a594860.ta
|
||||
else
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/softwinner/common/optee_ta/f5f7b549-ba64-44fe-9b74f3fc357c7c61.ta:$(TARGET_COPY_OUT_VENDOR)/lib/optee_armtz/f5f7b549-ba64-44fe-9b74f3fc357c7c61.ta
|
||||
endif
|
||||
|
||||
# gatekeeper ta
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/softwinner/common/optee_ta/2233b43b-cec6-449a-9509469f5023e425.ta:$(TARGET_COPY_OUT_VENDOR)/lib/optee_armtz/2233b43b-cec6-449a-9509469f5023e425.ta
|
||||
|
||||
ifeq ($(BOARD_WIDEVINE_OEMCRYPTO_LEVEL), 1)
|
||||
PRODUCT_PACKAGES += \
|
||||
liboemcrypto
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/softwinner/common/optee_ta/a98befed-d679-ce4a-a3c827dcd51d21ed.ta:$(TARGET_COPY_OUT_VENDOR)/lib/optee_armtz/a98befed-d679-ce4a-a3c827dcd51d21ed.ta \
|
||||
device/softwinner/common/optee_ta/4d78d2ea-a631-70fb-aaa787c2b5773052.ta:$(TARGET_COPY_OUT_VENDOR)/lib/optee_armtz/4d78d2ea-a631-70fb-aaa787c2b5773052.ta \
|
||||
device/softwinner/common/optee_ta/e41f7029-c73c-344a-8c5bae90c7439a47.ta:$(TARGET_COPY_OUT_VENDOR)/lib/optee_armtz/e41f7029-c73c-344a-8c5bae90c7439a47.ta
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.sys.widevine_oemcrypto_level=1
|
||||
else # ifeq ($(BOARD_WIDEVINE_OEMCRYPTO_LEVEL), 1)
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.sys.widevine_oemcrypto_level=3
|
||||
endif # ifeq ($(BOARD_WIDEVINE_OEMCRYPTO_LEVEL), 1)
|
||||
|
||||
else # ifeq ($(BOARD_HAS_SECURE_OS), true)
|
||||
SECURE_OS_OPTEE := no
|
||||
# if has no secure os, widevine level must set to 3
|
||||
BOARD_WIDEVINE_OEMCRYPTO_LEVEL := 3
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.sys.widevine_oemcrypto_level=3
|
||||
endif # ifeq ($(BOARD_HAS_SECURE_OS), true)
|
||||
|
||||
########################################################################
|
||||
# GPU relevant configuration
|
||||
# As we could not get the variable in BoardConfigCommon.mk,
|
||||
# TARGET_GPU_TYPE, TARGET_ARCH and TARGET_BOARD_PLATFORM
|
||||
# should be assigned here for hardware/aw/gpu/product_config.mk.
|
||||
# If the platform does not own a GPU, the GPU configuration
|
||||
# should not added here.
|
||||
TARGET_GPU_TYPE := mali400
|
||||
TARGET_ARCH := arm64
|
||||
TARGET_BOARD_PLATFORM := tulip
|
||||
$(call inherit-product, hardware/aw/gpu/product_config.mk)
|
||||
########################################################################
|
13
android/device/softwinner/tulip-common/tulip_32_bit.mk
Executable file
13
android/device/softwinner/tulip-common/tulip_32_bit.mk
Executable file
|
@ -0,0 +1,13 @@
|
|||
# Primary Arch
|
||||
TARGET_ARCH := arm
|
||||
TARGET_ARCH_VARIANT := armv7-a-neon
|
||||
TARGET_CPU_VARIANT := cortex-a15
|
||||
TARGET_CPU_ABI := armeabi-v7a
|
||||
TARGET_CPU_ABI2 := armeabi
|
||||
|
||||
TARGET_USES_64_BIT_BINDER := true
|
||||
TARGET_SUPPORTS_32_BIT_APPS := true
|
||||
|
||||
|
||||
|
||||
|
27
android/device/softwinner/tulip-common/tulip_64_bit.mk
Executable file
27
android/device/softwinner/tulip-common/tulip_64_bit.mk
Executable file
|
@ -0,0 +1,27 @@
|
|||
# Primary Arch
|
||||
TARGET_ARCH := arm64
|
||||
TARGET_ARCH_VARIANT := armv8-a
|
||||
TARGET_CPU_VARIANT := generic
|
||||
TARGET_CPU_ABI := arm64-v8a
|
||||
|
||||
# Secondary Arch
|
||||
TARGET_2ND_ARCH := arm
|
||||
TARGET_2ND_ARCH_VARIANT := armv7-a-neon
|
||||
TARGET_2ND_CPU_VARIANT := cortex-a15
|
||||
TARGET_2ND_CPU_ABI := armeabi-v7a
|
||||
TARGET_2ND_CPU_ABI2 := armeabi
|
||||
|
||||
TARGET_USES_64_BIT_BINDER := true
|
||||
TARGET_SUPPORTS_32_BIT_APPS := true
|
||||
TARGET_SUPPORTS_64_BIT_APPS := true
|
||||
|
||||
ANDROID_64=true
|
||||
|
||||
# Copy the 64-bit primary, 32-bit secondary zygote startup script
|
||||
PRODUCT_COPY_FILES += system/core/rootdir/init.zygote64_32.rc:root/init.zygote64_32.rc
|
||||
|
||||
# Set the zygote property to select the 64-bit primary, 32-bit secondary script
|
||||
# This line must be parsed before the one in core_minimal.mk
|
||||
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.zygote=zygote64_32
|
||||
|
||||
|
33
android/device/softwinner/tulip-common/ueventd.sun50iw1p1.rc
Executable file
33
android/device/softwinner/tulip-common/ueventd.sun50iw1p1.rc
Executable file
|
@ -0,0 +1,33 @@
|
|||
/dev/disp 0770 system system
|
||||
/dev/cedar_dev 0666 media camera
|
||||
/dev/ace_dev 0666 system system
|
||||
/dev/ump 0777 system graphics
|
||||
/dev/mali 0666 system graphics
|
||||
/dev/video0 0770 camera camera
|
||||
/dev/video1 0770 camera camera
|
||||
/dev/ttyUSB0 0777 system system
|
||||
/dev/ttyUSB1 0777 system system
|
||||
/dev/ttyUSB2 0777 system system
|
||||
/dev/ttyUSB3 0777 system system
|
||||
/dev/ttyACM0 0777 system system
|
||||
/dev/ttyACM1 0777 system system
|
||||
/dev/ttyACM2 0777 system system
|
||||
/dev/gps 0777 system system
|
||||
/dev/pa_dev 0777 system system
|
||||
/dev/sunxi_mem 0666 media media
|
||||
/dev/g2d 0660 media media
|
||||
/dev/fd_dev 0660 media media
|
||||
/dev/sr0 0777 system system
|
||||
/dev/ion 0777 system graphics
|
||||
/dev/transform 0660 system system
|
||||
/dev/pvrsrvkm 0666 root root
|
||||
/dev/pvr_sync 0666 system graphics
|
||||
/dev/block/mmcblk0p* 0660 system root
|
||||
/dev/block/mmcblk1p* 0660 system root
|
||||
/dev/block/nand0p* 0660 system root
|
||||
/dev/tee0 0776 media mediadrm
|
||||
/dev/teepriv0 0776 media mediadrm
|
||||
/dev/input/* 0660 system input
|
||||
|
||||
# sysfs properties
|
||||
/sys/devices/virtual/input/input* delay 0660 root input
|
Loading…
Add table
Add a link
Reference in a new issue