diff options
3 files changed, 555 insertions, 1 deletions
diff --git a/media/java/android/media/quality/MediaQualityContract.java b/media/java/android/media/quality/MediaQualityContract.java index e558209420e0..e4de3e4420fe 100644 --- a/media/java/android/media/quality/MediaQualityContract.java +++ b/media/java/android/media/quality/MediaQualityContract.java @@ -341,6 +341,13 @@ public class MediaQualityContract { public static final String PARAMETER_FILM_MODE = "film_mode"; /** + * Enable/disable black color auto stretch + * + * @hide + */ + public static final String PARAMETER_BLACK_STRETCH = "black_stretch"; + + /** * Enable/disable blue color auto stretch * * <p>Type: BOOLEAN @@ -457,6 +464,27 @@ public class MediaQualityContract { * @hide * */ + public static final String PARAMETER_COLOR_TEMPERATURE_RED_GAIN = + "color_temperature_red_gain"; + + /** + * @hide + * + */ + public static final String PARAMETER_COLOR_TEMPERATURE_GREEN_GAIN = + "color_temperature_green_gain"; + + /** + * @hide + * + */ + public static final String PARAMETER_COLOR_TEMPERATURE_BLUE_GAIN = + "color_temperature_blue_gain"; + + /** + * @hide + * + */ public static final String PARAMETER_COLOR_TEMPERATURE_RED_OFFSET = "color_temperature_red_offset"; diff --git a/services/core/java/com/android/server/media/quality/MediaQualityService.java b/services/core/java/com/android/server/media/quality/MediaQualityService.java index 43fb8d0c97e0..d00ac4d9cd11 100644 --- a/services/core/java/com/android/server/media/quality/MediaQualityService.java +++ b/services/core/java/com/android/server/media/quality/MediaQualityService.java @@ -35,6 +35,7 @@ import android.hardware.tv.mediaquality.IPictureProfileChangedListener; import android.hardware.tv.mediaquality.ISoundProfileAdjustmentListener; import android.hardware.tv.mediaquality.ISoundProfileChangedListener; import android.hardware.tv.mediaquality.ParamCapability; +import android.hardware.tv.mediaquality.ParameterRange; import android.hardware.tv.mediaquality.PictureParameter; import android.hardware.tv.mediaquality.PictureParameters; import android.hardware.tv.mediaquality.SoundParameter; @@ -1133,7 +1134,39 @@ public class MediaQualityService extends SystemService { @Override public List<ParameterCapability> getParameterCapabilities( List<String> names, UserHandle user) { - return new ArrayList<>(); + byte[] byteArray = MediaQualityUtils.convertParameterToByteArray(names); + ParamCapability[] caps = new ParamCapability[byteArray.length]; + try { + mMediaQuality.getParamCaps(byteArray, caps); + } catch (RemoteException e) { + Slog.e(TAG, "Failed to get parameter capabilities", e); + } + + return getListParameterCapability(caps); + } + + private List<ParameterCapability> getListParameterCapability(ParamCapability[] caps) { + List<ParameterCapability> pcList = new ArrayList<>(); + for (ParamCapability pcHal : caps) { + String name = MediaQualityUtils.getParameterName(pcHal.name); + boolean isSupported = pcHal.isSupported; + int type = pcHal.defaultValue == null ? 0 : pcHal.defaultValue.getTag() + 1; + Bundle bundle = convertToCaps(pcHal.range); + + pcList.add(new ParameterCapability(name, isSupported, type, bundle)); + } + return pcList; + } + + private Bundle convertToCaps(ParameterRange range) { + Bundle bundle = new Bundle(); + bundle.putObject("INT_MIN_MAX", range.numRange.getIntMinMax()); + bundle.putObject("INT_VALUES_SUPPORTED", range.numRange.getIntValuesSupported()); + bundle.putObject("DOUBLE_MIN_MAX", range.numRange.getDoubleMinMax()); + bundle.putObject("DOUBLE_VALUES_SUPPORTED", range.numRange.getDoubleValuesSupported()); + bundle.putObject("LONG_MIN_MAX", range.numRange.getLongMinMax()); + bundle.putObject("LONG_VALUES_SUPPORTED", range.numRange.getLongValuesSupported()); + return bundle; } @GuardedBy("mPictureProfileLock") diff --git a/services/core/java/com/android/server/media/quality/MediaQualityUtils.java b/services/core/java/com/android/server/media/quality/MediaQualityUtils.java index a74f977132a7..5bd4420e9944 100644 --- a/services/core/java/com/android/server/media/quality/MediaQualityUtils.java +++ b/services/core/java/com/android/server/media/quality/MediaQualityUtils.java @@ -20,6 +20,7 @@ import android.content.ContentValues; import android.database.Cursor; import android.hardware.tv.mediaquality.DolbyAudioProcessing; import android.hardware.tv.mediaquality.DtsVirtualX; +import android.hardware.tv.mediaquality.ParameterName; import android.hardware.tv.mediaquality.PictureParameter; import android.hardware.tv.mediaquality.SoundParameter; import android.media.quality.MediaQualityContract.BaseParameters; @@ -37,8 +38,11 @@ import org.json.JSONObject; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; import java.util.Iterator; import java.util.List; +import java.util.Map; import java.util.UUID; /** @@ -1012,6 +1016,495 @@ public final class MediaQualityUtils { ); } + /** + * Convert parameter to byte array. + */ + public static byte[] convertParameterToByteArray(List<String> names) { + /** + * TODO Add following to ParameterName & add conversion here. + * - PICTURE_QUALITY_EVENT_TYPE + * - PANEL_INIT_MAX_LUMINCE_NITS + */ + + HashSet<String> nameMap = new HashSet<>(names); + + List<Byte> bytes = new ArrayList<>(); + // Picture Quality parameters + if (nameMap.contains(PictureQuality.PARAMETER_BRIGHTNESS)) { + bytes.add(ParameterName.BRIGHTNESS); + } + if (nameMap.contains(PictureQuality.PARAMETER_BRIGHTNESS)) { + bytes.add(ParameterName.BRIGHTNESS); + } + if (nameMap.contains(PictureQuality.PARAMETER_CONTRAST)) { + bytes.add(ParameterName.CONTRAST); + } + if (nameMap.contains(PictureQuality.PARAMETER_SHARPNESS)) { + bytes.add(ParameterName.SHARPNESS); + } + if (nameMap.contains(PictureQuality.PARAMETER_SATURATION)) { + bytes.add(ParameterName.SATURATION); + } + if (nameMap.contains(PictureQuality.PARAMETER_HUE)) { + bytes.add(ParameterName.HUE); + } + if (nameMap.contains(PictureQuality.PARAMETER_BRIGHTNESS)) { + bytes.add(ParameterName.BRIGHTNESS); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_BRIGHTNESS)) { + bytes.add(ParameterName.COLOR_TUNER_BRIGHTNESS); + } + if (nameMap.contains(PictureQuality.PARAMETER_SATURATION)) { + bytes.add(ParameterName.SATURATION); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_SATURATION)) { + bytes.add(ParameterName.COLOR_TUNER_SATURATION); + } + if (nameMap.contains(PictureQuality.PARAMETER_HUE)) { + bytes.add(ParameterName.HUE); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_HUE)) { + bytes.add(ParameterName.COLOR_TUNER_HUE); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_RED_OFFSET)) { + bytes.add(ParameterName.COLOR_TUNER_RED_OFFSET); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_GREEN_OFFSET)) { + bytes.add(ParameterName.COLOR_TUNER_GREEN_OFFSET); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_BLUE_OFFSET)) { + bytes.add(ParameterName.COLOR_TUNER_BLUE_OFFSET); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_RED_GAIN)) { + bytes.add(ParameterName.COLOR_TUNER_RED_GAIN); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_GREEN_GAIN)) { + bytes.add(ParameterName.COLOR_TUNER_GREEN_GAIN); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_BLUE_GAIN)) { + bytes.add(ParameterName.COLOR_TUNER_BLUE_GAIN); + } + if (nameMap.contains(PictureQuality.PARAMETER_NOISE_REDUCTION)) { + bytes.add(ParameterName.NOISE_REDUCTION); + } + if (nameMap.contains(PictureQuality.PARAMETER_MPEG_NOISE_REDUCTION)) { + bytes.add(ParameterName.MPEG_NOISE_REDUCTION); + } + if (nameMap.contains(PictureQuality.PARAMETER_FLESH_TONE)) { + bytes.add(ParameterName.FLASH_TONE); + } + if (nameMap.contains(PictureQuality.PARAMETER_DECONTOUR)) { + bytes.add(ParameterName.DE_CONTOUR); + } + if (nameMap.contains(PictureQuality.PARAMETER_DYNAMIC_LUMA_CONTROL)) { + bytes.add(ParameterName.DYNAMIC_LUMA_CONTROL); + } + if (nameMap.contains(PictureQuality.PARAMETER_FILM_MODE)) { + bytes.add(ParameterName.FILM_MODE); + } + if (nameMap.contains(PictureQuality.PARAMETER_BLUE_STRETCH)) { + bytes.add(ParameterName.BLUE_STRETCH); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNE)) { + bytes.add(ParameterName.COLOR_TUNE); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TEMPERATURE)) { + bytes.add(ParameterName.COLOR_TEMPERATURE); + } + if (nameMap.contains(PictureQuality.PARAMETER_GLOBAL_DIMMING)) { + bytes.add(ParameterName.GLOBE_DIMMING); + } + if (nameMap.contains(PictureQuality.PARAMETER_AUTO_PICTURE_QUALITY_ENABLED)) { + bytes.add(ParameterName.AUTO_PICTUREQUALITY_ENABLED); + } + if (nameMap.contains(PictureQuality.PARAMETER_AUTO_SUPER_RESOLUTION_ENABLED)) { + bytes.add(ParameterName.AUTO_SUPER_RESOLUTION_ENABLED); + } + if (nameMap.contains(PictureQuality.PARAMETER_LEVEL_RANGE)) { + bytes.add(ParameterName.LEVEL_RANGE); + } + if (nameMap.contains(PictureQuality.PARAMETER_GAMUT_MAPPING)) { + bytes.add(ParameterName.GAMUT_MAPPING); + } + if (nameMap.contains(PictureQuality.PARAMETER_PC_MODE)) { + bytes.add(ParameterName.PC_MODE); + } + if (nameMap.contains(PictureQuality.PARAMETER_LOW_LATENCY)) { + bytes.add(ParameterName.LOW_LATENCY); + } + if (nameMap.contains(PictureQuality.PARAMETER_VRR)) { + bytes.add(ParameterName.VRR); + } + if (nameMap.contains(PictureQuality.PARAMETER_CVRR)) { + bytes.add(ParameterName.CVRR); + } + if (nameMap.contains(PictureQuality.PARAMETER_HDMI_RGB_RANGE)) { + bytes.add(ParameterName.HDMI_RGB_RANGE); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_SPACE)) { + bytes.add(ParameterName.COLOR_SPACE); + } + if (nameMap.contains(PictureQuality.PARAMETER_PANEL_INIT_MAX_LUMINCE_VALID)) { + bytes.add(ParameterName.PANEL_INIT_MAX_LUMINCE_VALID); + } + if (nameMap.contains(PictureQuality.PARAMETER_GAMMA)) { + bytes.add(ParameterName.GAMMA); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TEMPERATURE_RED_OFFSET)) { + bytes.add(ParameterName.COLOR_TEMPERATURE_RED_OFFSET); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TEMPERATURE_GREEN_OFFSET)) { + bytes.add(ParameterName.COLOR_TEMPERATURE_GREEN_OFFSET); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TEMPERATURE_BLUE_OFFSET)) { + bytes.add(ParameterName.COLOR_TEMPERATURE_BLUE_OFFSET); + } + if (nameMap.contains(PictureQuality.PARAMETER_ELEVEN_POINT_RED)) { + bytes.add(ParameterName.ELEVEN_POINT_RED); + } + if (nameMap.contains(PictureQuality.PARAMETER_ELEVEN_POINT_GREEN)) { + bytes.add(ParameterName.ELEVEN_POINT_GREEN); + } + if (nameMap.contains(PictureQuality.PARAMETER_ELEVEN_POINT_BLUE)) { + bytes.add(ParameterName.ELEVEN_POINT_BLUE); + } + if (nameMap.contains(PictureQuality.PARAMETER_LOW_BLUE_LIGHT)) { + bytes.add(ParameterName.LOW_BLUE_LIGHT); + } + if (nameMap.contains(PictureQuality.PARAMETER_LD_MODE)) { + bytes.add(ParameterName.LD_MODE); + } + if (nameMap.contains(PictureQuality.PARAMETER_OSD_RED_GAIN)) { + bytes.add(ParameterName.OSD_RED_GAIN); + } + if (nameMap.contains(PictureQuality.PARAMETER_OSD_GREEN_GAIN)) { + bytes.add(ParameterName.OSD_GREEN_GAIN); + } + if (nameMap.contains(PictureQuality.PARAMETER_OSD_BLUE_GAIN)) { + bytes.add(ParameterName.OSD_BLUE_GAIN); + } + if (nameMap.contains(PictureQuality.PARAMETER_OSD_RED_OFFSET)) { + bytes.add(ParameterName.OSD_RED_OFFSET); + } + if (nameMap.contains(PictureQuality.PARAMETER_OSD_GREEN_OFFSET)) { + bytes.add(ParameterName.OSD_GREEN_OFFSET); + } + if (nameMap.contains(PictureQuality.PARAMETER_OSD_BLUE_OFFSET)) { + bytes.add(ParameterName.OSD_BLUE_OFFSET); + } + if (nameMap.contains(PictureQuality.PARAMETER_OSD_HUE)) { + bytes.add(ParameterName.OSD_HUE); + } + if (nameMap.contains(PictureQuality.PARAMETER_OSD_SATURATION)) { + bytes.add(ParameterName.OSD_SATURATION); + } + if (nameMap.contains(PictureQuality.PARAMETER_OSD_CONTRAST)) { + bytes.add(ParameterName.OSD_CONTRAST); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_SWITCH)) { + bytes.add(ParameterName.COLOR_TUNER_SWITCH); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_HUE_RED)) { + bytes.add(ParameterName.COLOR_TUNER_HUE_RED); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_HUE_GREEN)) { + bytes.add(ParameterName.COLOR_TUNER_HUE_GREEN); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_HUE_BLUE)) { + bytes.add(ParameterName.COLOR_TUNER_HUE_BLUE); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_HUE_CYAN)) { + bytes.add(ParameterName.COLOR_TUNER_HUE_CYAN); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_HUE_MAGENTA)) { + bytes.add(ParameterName.COLOR_TUNER_HUE_MAGENTA); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_HUE_YELLOW)) { + bytes.add(ParameterName.COLOR_TUNER_HUE_YELLOW); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_HUE_FLESH)) { + bytes.add(ParameterName.COLOR_TUNER_HUE_FLESH); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_SATURATION_RED)) { + bytes.add(ParameterName.COLOR_TUNER_SATURATION_RED); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_SATURATION_GREEN)) { + bytes.add(ParameterName.COLOR_TUNER_SATURATION_GREEN); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_SATURATION_BLUE)) { + bytes.add(ParameterName.COLOR_TUNER_SATURATION_BLUE); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_SATURATION_CYAN)) { + bytes.add(ParameterName.COLOR_TUNER_SATURATION_CYAN); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_SATURATION_MAGENTA)) { + bytes.add(ParameterName.COLOR_TUNER_SATURATION_MAGENTA); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_SATURATION_YELLOW)) { + bytes.add(ParameterName.COLOR_TUNER_SATURATION_YELLOW); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_SATURATION_FLESH)) { + bytes.add(ParameterName.COLOR_TUNER_SATURATION_FLESH); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_LUMINANCE_RED)) { + bytes.add(ParameterName.COLOR_TUNER_LUMINANCE_RED); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_LUMINANCE_GREEN)) { + bytes.add(ParameterName.COLOR_TUNER_LUMINANCE_GREEN); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_LUMINANCE_BLUE)) { + bytes.add(ParameterName.COLOR_TUNER_LUMINANCE_BLUE); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_LUMINANCE_CYAN)) { + bytes.add(ParameterName.COLOR_TUNER_LUMINANCE_CYAN); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_LUMINANCE_MAGENTA)) { + bytes.add(ParameterName.COLOR_TUNER_LUMINANCE_MAGENTA); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_LUMINANCE_YELLOW)) { + bytes.add(ParameterName.COLOR_TUNER_LUMINANCE_YELLOW); + } + if (nameMap.contains(PictureQuality.PARAMETER_COLOR_TUNER_LUMINANCE_FLESH)) { + bytes.add(ParameterName.COLOR_TUNER_LUMINANCE_FLESH); + } + + // Sound Quality parameters + if (nameMap.contains(SoundQuality.PARAMETER_BALANCE)) { + bytes.add(ParameterName.BALANCE); + } + if (nameMap.contains(SoundQuality.PARAMETER_BASS)) { + bytes.add(ParameterName.BASS); + } + if (nameMap.contains(SoundQuality.PARAMETER_TREBLE)) { + bytes.add(ParameterName.TREBLE); + } + if (nameMap.contains(SoundQuality.PARAMETER_SURROUND_SOUND)) { + bytes.add(ParameterName.SURROUND_SOUND_ENABLED); + } + if (nameMap.contains(SoundQuality.PARAMETER_EQUALIZER_DETAIL)) { + bytes.add(ParameterName.EQUALIZER_DETAIL); + } + if (nameMap.contains(SoundQuality.PARAMETER_SPEAKERS)) { + bytes.add(ParameterName.SPEAKERS_ENABLED); + } + if (nameMap.contains(SoundQuality.PARAMETER_SPEAKERS_DELAY_MILLIS)) { + bytes.add(ParameterName.SPEAKERS_DELAY_MS); + } + if (nameMap.contains(SoundQuality.PARAMETER_EARC)) { + bytes.add(ParameterName.ENHANCED_AUDIO_RETURN_CHANNEL_ENABLED); + } + if (nameMap.contains(SoundQuality.PARAMETER_AUTO_VOLUME_CONTROL)) { + bytes.add(ParameterName.AUTO_VOLUME_CONTROL); + } + if (nameMap.contains(SoundQuality.PARAMETER_DOWN_MIX_MODE)) { + bytes.add(ParameterName.DOWNMIX_MODE); + } + if (nameMap.contains(SoundQuality.PARAMETER_DTS_DRC)) { + bytes.add(ParameterName.DTS_DRC); + } + if (nameMap.contains(SoundQuality.PARAMETER_DOLBY_AUDIO_PROCESSING)) { + bytes.add(ParameterName.DOLBY_AUDIO_PROCESSING); + } + if (nameMap.contains(SoundQuality.PARAMETER_DIALOGUE_ENHANCER)) { + bytes.add(ParameterName.DOLBY_DIALOGUE_ENHANCER); + } + if (nameMap.contains(SoundQuality.PARAMETER_DTS_VIRTUAL_X)) { + bytes.add(ParameterName.DTS_VIRTUAL_X); + } + if (nameMap.contains(SoundQuality.PARAMETER_DIGITAL_OUTPUT_DELAY_MILLIS)) { + bytes.add(ParameterName.DIGITAL_OUTPUT_DELAY_MS); + } + if (nameMap.contains(SoundQuality.PARAMETER_DIGITAL_OUTPUT_MODE)) { + bytes.add(ParameterName.DIGITAL_OUTPUT); + } + if (nameMap.contains(SoundQuality.PARAMETER_SOUND_STYLE)) { + bytes.add(ParameterName.SOUND_STYLE); + } + + byte[] byteArray = new byte[bytes.size()]; + for (int i = 0; i < bytes.size(); i++) { + byteArray[i] = bytes.get(i); + } + return byteArray; + } + + /** + * Get Parameter Name based on byte. + */ + public static String getParameterName(byte pn) { + Map<Byte, String> parameterNameMap = new HashMap<>(); + parameterNameMap.put(ParameterName.BRIGHTNESS, PictureQuality.PARAMETER_BRIGHTNESS); + parameterNameMap.put(ParameterName.CONTRAST, PictureQuality.PARAMETER_CONTRAST); + parameterNameMap.put(ParameterName.SHARPNESS, PictureQuality.PARAMETER_SHARPNESS); + parameterNameMap.put(ParameterName.SATURATION, PictureQuality.PARAMETER_SATURATION); + parameterNameMap.put(ParameterName.HUE, PictureQuality.PARAMETER_HUE); + parameterNameMap.put(ParameterName.COLOR_TUNER_BRIGHTNESS, + PictureQuality.PARAMETER_COLOR_TUNER_BRIGHTNESS); + parameterNameMap.put(ParameterName.COLOR_TUNER_SATURATION, + PictureQuality.PARAMETER_COLOR_TUNER_SATURATION); + parameterNameMap.put(ParameterName.COLOR_TUNER_HUE, + PictureQuality.PARAMETER_COLOR_TUNER_HUE); + parameterNameMap.put(ParameterName.COLOR_TUNER_RED_OFFSET, + PictureQuality.PARAMETER_COLOR_TUNER_RED_OFFSET); + parameterNameMap.put(ParameterName.COLOR_TUNER_GREEN_OFFSET, + PictureQuality.PARAMETER_COLOR_TUNER_GREEN_OFFSET); + parameterNameMap.put(ParameterName.COLOR_TUNER_BLUE_OFFSET, + PictureQuality.PARAMETER_COLOR_TUNER_BLUE_OFFSET); + parameterNameMap.put(ParameterName.COLOR_TUNER_RED_GAIN, + PictureQuality.PARAMETER_COLOR_TUNER_RED_GAIN); + parameterNameMap.put(ParameterName.COLOR_TUNER_GREEN_GAIN, + PictureQuality.PARAMETER_COLOR_TUNER_GREEN_GAIN); + parameterNameMap.put(ParameterName.COLOR_TUNER_BLUE_GAIN, + PictureQuality.PARAMETER_COLOR_TUNER_BLUE_GAIN); + parameterNameMap.put(ParameterName.NOISE_REDUCTION, + PictureQuality.PARAMETER_NOISE_REDUCTION); + parameterNameMap.put(ParameterName.MPEG_NOISE_REDUCTION, + PictureQuality.PARAMETER_MPEG_NOISE_REDUCTION); + parameterNameMap.put(ParameterName.FLASH_TONE, PictureQuality.PARAMETER_FLESH_TONE); + parameterNameMap.put(ParameterName.DE_CONTOUR, PictureQuality.PARAMETER_DECONTOUR); + parameterNameMap.put(ParameterName.DYNAMIC_LUMA_CONTROL, + PictureQuality.PARAMETER_DYNAMIC_LUMA_CONTROL); + parameterNameMap.put(ParameterName.FILM_MODE, + PictureQuality.PARAMETER_FILM_MODE); + parameterNameMap.put(ParameterName.BLACK_STRETCH, + PictureQuality.PARAMETER_BLACK_STRETCH); + parameterNameMap.put(ParameterName.BLUE_STRETCH, + PictureQuality.PARAMETER_BLUE_STRETCH); + parameterNameMap.put(ParameterName.COLOR_TUNE, + PictureQuality.PARAMETER_COLOR_TUNE); + parameterNameMap.put(ParameterName.COLOR_TEMPERATURE, + PictureQuality.PARAMETER_COLOR_TEMPERATURE); + parameterNameMap.put(ParameterName.GLOBE_DIMMING, + PictureQuality.PARAMETER_GLOBAL_DIMMING); + parameterNameMap.put(ParameterName.AUTO_PICTUREQUALITY_ENABLED, + PictureQuality.PARAMETER_AUTO_PICTURE_QUALITY_ENABLED); + parameterNameMap.put(ParameterName.AUTO_SUPER_RESOLUTION_ENABLED, + PictureQuality.PARAMETER_AUTO_SUPER_RESOLUTION_ENABLED); + parameterNameMap.put(ParameterName.LEVEL_RANGE, PictureQuality.PARAMETER_LEVEL_RANGE); + parameterNameMap.put(ParameterName.GAMUT_MAPPING, + PictureQuality.PARAMETER_GAMUT_MAPPING); + parameterNameMap.put(ParameterName.PC_MODE, PictureQuality.PARAMETER_PC_MODE); + parameterNameMap.put(ParameterName.LOW_LATENCY, PictureQuality.PARAMETER_LOW_LATENCY); + parameterNameMap.put(ParameterName.VRR, PictureQuality.PARAMETER_VRR); + parameterNameMap.put(ParameterName.CVRR, PictureQuality.PARAMETER_CVRR); + parameterNameMap.put(ParameterName.HDMI_RGB_RANGE, + PictureQuality.PARAMETER_HDMI_RGB_RANGE); + parameterNameMap.put(ParameterName.COLOR_SPACE, PictureQuality.PARAMETER_COLOR_SPACE); + parameterNameMap.put(ParameterName.PANEL_INIT_MAX_LUMINCE_VALID, + PictureQuality.PARAMETER_PANEL_INIT_MAX_LUMINCE_VALID); + parameterNameMap.put(ParameterName.GAMMA, PictureQuality.PARAMETER_GAMMA); + parameterNameMap.put(ParameterName.COLOR_TEMPERATURE_RED_GAIN, + PictureQuality.PARAMETER_COLOR_TEMPERATURE_RED_GAIN); + parameterNameMap.put(ParameterName.COLOR_TEMPERATURE_GREEN_GAIN, + PictureQuality.PARAMETER_COLOR_TEMPERATURE_GREEN_GAIN); + parameterNameMap.put(ParameterName.COLOR_TEMPERATURE_BLUE_GAIN, + PictureQuality.PARAMETER_COLOR_TEMPERATURE_BLUE_GAIN); + parameterNameMap.put(ParameterName.COLOR_TEMPERATURE_RED_OFFSET, + PictureQuality.PARAMETER_COLOR_TEMPERATURE_RED_OFFSET); + parameterNameMap.put(ParameterName.COLOR_TEMPERATURE_GREEN_OFFSET, + PictureQuality.PARAMETER_COLOR_TEMPERATURE_GREEN_OFFSET); + parameterNameMap.put(ParameterName.COLOR_TEMPERATURE_BLUE_OFFSET, + PictureQuality.PARAMETER_COLOR_TEMPERATURE_BLUE_OFFSET); + parameterNameMap.put(ParameterName.ELEVEN_POINT_RED, + PictureQuality.PARAMETER_ELEVEN_POINT_RED); + parameterNameMap.put(ParameterName.ELEVEN_POINT_GREEN, + PictureQuality.PARAMETER_ELEVEN_POINT_GREEN); + parameterNameMap.put(ParameterName.ELEVEN_POINT_BLUE, + PictureQuality.PARAMETER_ELEVEN_POINT_BLUE); + parameterNameMap.put(ParameterName.LOW_BLUE_LIGHT, + PictureQuality.PARAMETER_LOW_BLUE_LIGHT); + parameterNameMap.put(ParameterName.LD_MODE, PictureQuality.PARAMETER_LD_MODE); + parameterNameMap.put(ParameterName.OSD_RED_GAIN, PictureQuality.PARAMETER_OSD_RED_GAIN); + parameterNameMap.put(ParameterName.OSD_GREEN_GAIN, + PictureQuality.PARAMETER_OSD_GREEN_GAIN); + parameterNameMap.put(ParameterName.OSD_BLUE_GAIN, + PictureQuality.PARAMETER_OSD_BLUE_GAIN); + parameterNameMap.put(ParameterName.OSD_RED_OFFSET, + PictureQuality.PARAMETER_OSD_RED_OFFSET); + parameterNameMap.put(ParameterName.OSD_GREEN_OFFSET, + PictureQuality.PARAMETER_OSD_GREEN_OFFSET); + parameterNameMap.put(ParameterName.OSD_BLUE_OFFSET, + PictureQuality.PARAMETER_OSD_BLUE_OFFSET); + parameterNameMap.put(ParameterName.OSD_HUE, PictureQuality.PARAMETER_OSD_HUE); + parameterNameMap.put(ParameterName.OSD_SATURATION, + PictureQuality.PARAMETER_OSD_SATURATION); + parameterNameMap.put(ParameterName.OSD_CONTRAST, + PictureQuality.PARAMETER_OSD_CONTRAST); + parameterNameMap.put(ParameterName.COLOR_TUNER_SWITCH, + PictureQuality.PARAMETER_COLOR_TUNER_SWITCH); + parameterNameMap.put(ParameterName.COLOR_TUNER_HUE_RED, + PictureQuality.PARAMETER_COLOR_TUNER_HUE_RED); + parameterNameMap.put(ParameterName.COLOR_TUNER_HUE_GREEN, + PictureQuality.PARAMETER_COLOR_TUNER_HUE_GREEN); + parameterNameMap.put(ParameterName.COLOR_TUNER_HUE_BLUE, + PictureQuality.PARAMETER_COLOR_TUNER_HUE_BLUE); + parameterNameMap.put(ParameterName.COLOR_TUNER_HUE_CYAN, + PictureQuality.PARAMETER_COLOR_TUNER_HUE_CYAN); + parameterNameMap.put(ParameterName.COLOR_TUNER_HUE_MAGENTA, + PictureQuality.PARAMETER_COLOR_TUNER_HUE_MAGENTA); + parameterNameMap.put(ParameterName.COLOR_TUNER_HUE_YELLOW, + PictureQuality.PARAMETER_COLOR_TUNER_HUE_YELLOW); + parameterNameMap.put(ParameterName.COLOR_TUNER_HUE_FLESH, + PictureQuality.PARAMETER_COLOR_TUNER_HUE_FLESH); + parameterNameMap.put(ParameterName.COLOR_TUNER_SATURATION_RED, + PictureQuality.PARAMETER_COLOR_TUNER_SATURATION_RED); + parameterNameMap.put(ParameterName.COLOR_TUNER_SATURATION_GREEN, + PictureQuality.PARAMETER_COLOR_TUNER_SATURATION_GREEN); + parameterNameMap.put(ParameterName.COLOR_TUNER_SATURATION_BLUE, + PictureQuality.PARAMETER_COLOR_TUNER_SATURATION_BLUE); + parameterNameMap.put(ParameterName.COLOR_TUNER_SATURATION_CYAN, + PictureQuality.PARAMETER_COLOR_TUNER_SATURATION_CYAN); + parameterNameMap.put(ParameterName.COLOR_TUNER_SATURATION_MAGENTA, + PictureQuality.PARAMETER_COLOR_TUNER_SATURATION_MAGENTA); + parameterNameMap.put(ParameterName.COLOR_TUNER_SATURATION_YELLOW, + PictureQuality.PARAMETER_COLOR_TUNER_SATURATION_YELLOW); + parameterNameMap.put(ParameterName.COLOR_TUNER_SATURATION_FLESH, + PictureQuality.PARAMETER_COLOR_TUNER_SATURATION_FLESH); + parameterNameMap.put(ParameterName.COLOR_TUNER_LUMINANCE_RED, + PictureQuality.PARAMETER_COLOR_TUNER_LUMINANCE_RED); + parameterNameMap.put(ParameterName.COLOR_TUNER_LUMINANCE_GREEN, + PictureQuality.PARAMETER_COLOR_TUNER_LUMINANCE_GREEN); + parameterNameMap.put(ParameterName.COLOR_TUNER_LUMINANCE_BLUE, + PictureQuality.PARAMETER_COLOR_TUNER_LUMINANCE_BLUE); + parameterNameMap.put(ParameterName.COLOR_TUNER_LUMINANCE_CYAN, + PictureQuality.PARAMETER_COLOR_TUNER_LUMINANCE_CYAN); + parameterNameMap.put(ParameterName.COLOR_TUNER_LUMINANCE_MAGENTA, + PictureQuality.PARAMETER_COLOR_TUNER_LUMINANCE_MAGENTA); + parameterNameMap.put(ParameterName.COLOR_TUNER_LUMINANCE_YELLOW, + PictureQuality.PARAMETER_COLOR_TUNER_LUMINANCE_YELLOW); + parameterNameMap.put(ParameterName.COLOR_TUNER_LUMINANCE_FLESH, + PictureQuality.PARAMETER_COLOR_TUNER_LUMINANCE_FLESH); + parameterNameMap.put(ParameterName.BALANCE, SoundQuality.PARAMETER_BALANCE); + parameterNameMap.put(ParameterName.BASS, SoundQuality.PARAMETER_BASS); + parameterNameMap.put(ParameterName.TREBLE, SoundQuality.PARAMETER_TREBLE); + parameterNameMap.put(ParameterName.SURROUND_SOUND_ENABLED, + SoundQuality.PARAMETER_SURROUND_SOUND); + parameterNameMap.put(ParameterName.EQUALIZER_DETAIL, + SoundQuality.PARAMETER_EQUALIZER_DETAIL); + parameterNameMap.put(ParameterName.SPEAKERS_ENABLED, SoundQuality.PARAMETER_SPEAKERS); + parameterNameMap.put(ParameterName.SPEAKERS_DELAY_MS, + SoundQuality.PARAMETER_SPEAKERS_DELAY_MILLIS); + parameterNameMap.put(ParameterName.ENHANCED_AUDIO_RETURN_CHANNEL_ENABLED, + SoundQuality.PARAMETER_EARC); + parameterNameMap.put(ParameterName.AUTO_VOLUME_CONTROL, + SoundQuality.PARAMETER_AUTO_VOLUME_CONTROL); + parameterNameMap.put(ParameterName.DOWNMIX_MODE, SoundQuality.PARAMETER_DOWN_MIX_MODE); + parameterNameMap.put(ParameterName.DTS_DRC, SoundQuality.PARAMETER_DTS_DRC); + parameterNameMap.put(ParameterName.DOLBY_AUDIO_PROCESSING, + SoundQuality.PARAMETER_DOLBY_AUDIO_PROCESSING); + parameterNameMap.put(ParameterName.DOLBY_DIALOGUE_ENHANCER, + SoundQuality.PARAMETER_DIALOGUE_ENHANCER); + parameterNameMap.put(ParameterName.DTS_VIRTUAL_X, + SoundQuality.PARAMETER_DTS_VIRTUAL_X); + parameterNameMap.put(ParameterName.DIGITAL_OUTPUT, + SoundQuality.PARAMETER_DIGITAL_OUTPUT_MODE); + parameterNameMap.put(ParameterName.DIGITAL_OUTPUT_DELAY_MS, + SoundQuality.PARAMETER_DIGITAL_OUTPUT_DELAY_MILLIS); + parameterNameMap.put(ParameterName.SOUND_STYLE, SoundQuality.PARAMETER_SOUND_STYLE); + + return parameterNameMap.get(pn); + } + private static String getTempId(BiMap<Long, String> map, Cursor cursor) { int colIndex = cursor.getColumnIndex(BaseParameters.PARAMETER_ID); Long dbId = colIndex != -1 ? cursor.getLong(colIndex) : null; |