Add more parameters for picture and audio per vendor request

Added the rest of the picture parameters vendor is requesting.

Added the activeProfile parameter to determine whether the profile is
currently active in use or not.

Correct a typo in DolbyAudioProcessing.

Bug: 383646531
Test: atest VtsHalMediaQualityTargetTest
Flag: android.media.tv.flags.media_quality_fw
Change-Id: I8bebeaa4af346b4f6b41a1f7a5d97ba54c6c6fad
diff --git a/tv/mediaquality/aidl/aidl_api/android.hardware.tv.mediaquality/current/android/hardware/tv/mediaquality/DolbyAudioProcessing.aidl b/tv/mediaquality/aidl/aidl_api/android.hardware.tv.mediaquality/current/android/hardware/tv/mediaquality/DolbyAudioProcessing.aidl
index c29ae18..7ff333b 100644
--- a/tv/mediaquality/aidl/aidl_api/android.hardware.tv.mediaquality/current/android/hardware/tv/mediaquality/DolbyAudioProcessing.aidl
+++ b/tv/mediaquality/aidl/aidl_api/android.hardware.tv.mediaquality/current/android/hardware/tv/mediaquality/DolbyAudioProcessing.aidl
@@ -37,7 +37,7 @@
   android.hardware.tv.mediaquality.DolbyAudioProcessing.SoundMode soundMode;
   boolean volumeLeveler;
   boolean surroundVirtualizer;
-  boolean doblyAtmos;
+  boolean dolbyAtmos;
   enum SoundMode {
     GAME,
     MOVIE,
diff --git a/tv/mediaquality/aidl/aidl_api/android.hardware.tv.mediaquality/current/android/hardware/tv/mediaquality/PictureParameter.aidl b/tv/mediaquality/aidl/aidl_api/android.hardware.tv.mediaquality/current/android/hardware/tv/mediaquality/PictureParameter.aidl
index c38e96f..27b587d 100644
--- a/tv/mediaquality/aidl/aidl_api/android.hardware.tv.mediaquality/current/android/hardware/tv/mediaquality/PictureParameter.aidl
+++ b/tv/mediaquality/aidl/aidl_api/android.hardware.tv.mediaquality/current/android/hardware/tv/mediaquality/PictureParameter.aidl
@@ -71,4 +71,47 @@
   int panelInitMaxLuminceNits;
   boolean panelInitMaxLuminceValid;
   android.hardware.tv.mediaquality.Gamma gamma;
+  int colorTemperatureRedGain;
+  int colorTemperatureGreenGain;
+  int colorTemperatureBlueGain;
+  int colorTemperatureRedOffset;
+  int colorTemperatureGreenOffset;
+  int colorTemperatureBlueOffset;
+  int[11] elevenPointRed;
+  int[11] elevenPointGreen;
+  int[11] elevenPointBlue;
+  android.hardware.tv.mediaquality.QualityLevel lowBlueLight;
+  android.hardware.tv.mediaquality.QualityLevel LdMode;
+  int osdRedGain;
+  int osdGreenGain;
+  int osdBlueGain;
+  int osdRedOffset;
+  int osdGreenOffset;
+  int osdBlueOffset;
+  int osdHue;
+  int osdSaturation;
+  int osdContrast;
+  boolean colorTunerSwitch;
+  int colorTunerHueRed;
+  int colorTunerHueGreen;
+  int colorTunerHueBlue;
+  int colorTunerHueCyan;
+  int colorTunerHueMagenta;
+  int colorTunerHueYellow;
+  int colorTunerHueFlesh;
+  int colorTunerSaturationRed;
+  int colorTunerSaturationGreen;
+  int colorTunerSaturationBlue;
+  int colorTunerSaturationCyan;
+  int colorTunerSaturationMagenta;
+  int colorTunerSaturationYellow;
+  int colorTunerSaturationFlesh;
+  int colorTunerLuminanceRed;
+  int colorTunerLuminanceGreen;
+  int colorTunerLuminanceBlue;
+  int colorTunerLuminanceCyan;
+  int colorTunerLuminanceMagenta;
+  int colorTunerLuminanceYellow;
+  int colorTunerLuminanceFlesh;
+  boolean activeProfile;
 }
diff --git a/tv/mediaquality/aidl/aidl_api/android.hardware.tv.mediaquality/current/android/hardware/tv/mediaquality/SoundParameter.aidl b/tv/mediaquality/aidl/aidl_api/android.hardware.tv.mediaquality/current/android/hardware/tv/mediaquality/SoundParameter.aidl
index 63eb55f..a15c0b1 100644
--- a/tv/mediaquality/aidl/aidl_api/android.hardware.tv.mediaquality/current/android/hardware/tv/mediaquality/SoundParameter.aidl
+++ b/tv/mediaquality/aidl/aidl_api/android.hardware.tv.mediaquality/current/android/hardware/tv/mediaquality/SoundParameter.aidl
@@ -50,4 +50,5 @@
   @nullable android.hardware.tv.mediaquality.DtsVirtualX dtsVirtualX;
   android.hardware.tv.mediaquality.DigitalOutput digitalOutput;
   int digitalOutputDelayMs;
+  boolean activeProfile;
 }
diff --git a/tv/mediaquality/aidl/android/hardware/tv/mediaquality/DolbyAudioProcessing.aidl b/tv/mediaquality/aidl/android/hardware/tv/mediaquality/DolbyAudioProcessing.aidl
index d56848c..8b8d336 100644
--- a/tv/mediaquality/aidl/android/hardware/tv/mediaquality/DolbyAudioProcessing.aidl
+++ b/tv/mediaquality/aidl/android/hardware/tv/mediaquality/DolbyAudioProcessing.aidl
@@ -60,5 +60,5 @@
      * mixed in Dolby Atmos and a compatible sound system with upward-firing speakers
      * or a Dolby Atmos soundbar.
      */
-    boolean doblyAtmos;
+    boolean dolbyAtmos;
 }
diff --git a/tv/mediaquality/aidl/android/hardware/tv/mediaquality/PictureParameter.aidl b/tv/mediaquality/aidl/android/hardware/tv/mediaquality/PictureParameter.aidl
index b7f2a11..a4d5592 100644
--- a/tv/mediaquality/aidl/android/hardware/tv/mediaquality/PictureParameter.aidl
+++ b/tv/mediaquality/aidl/android/hardware/tv/mediaquality/PictureParameter.aidl
@@ -253,4 +253,191 @@
 
     /* The gamma curve used for the display. */
     Gamma gamma;
+
+    /**
+     * The color gain value for color temperature adjustment.
+     * The value adjusts the intensity of color in the bright areas on the TV.
+     *
+     * The value range is from -100 to 100 where -100 would eliminate that color
+     * and 100 would significantly boost that color.
+     *
+     * The default/unmodified value is 0. No adjustment is applied to that color.
+     */
+    int colorTemperatureRedGain;
+
+    int colorTemperatureGreenGain;
+
+    int colorTemperatureBlueGain;
+
+    /**
+     * The color offset value for color temperature adjustment.
+     * This value adjusts the intensity of color in the dark areas on the TV.
+     *
+     * The value range is from -100 to 100 where -100 would eliminate that color
+     * and 100 would significantly boost that color.
+     *
+     * The default/unmodified value is 0. No adjustment is applied to that color.
+     */
+    int colorTemperatureRedOffset;
+
+    int colorTemperatureGreenOffset;
+
+    int colorTemperatureBlueOffset;
+
+    /**
+     * The parameters in this section is for 11-point white balance in advanced TV picture setting.
+     * 11-Point White Balance allows for very precise adjustment of the color temperature of the
+     * TV. It aims to make sure white looks truly white, without any unwanted color tints, across
+     * the entire range of brightness levels.
+     *
+     * The "11 points" refer to 11 different brightness levels from 0 (black) to 10 (white).
+     * At each of these points, we can fine-tune the mixture of red, green and blue to achieve
+     * neutral white.
+     *
+     * These parameters specifically control the amount of red, blue or green at each of the 11
+     * brightness points. The parameter type is an int array with a fix size of 11. The indexes
+     * 0 - 10 are the 11 different points. For example, elevenPointRed[0] adjusts the red level
+     * at the darkest black level. elevenPointRed[1] adjusts red at the next brightness level up,
+     * and so on.
+     *
+     * The value range is from 0 - 100 for each indexes, where 0 is the minimum intensity of
+     * that color(red, green, blue) at a specific brightness point and 100 is the maximum intensity
+     * of that color at that point.
+     *
+     * The default/unmodified value is 50. It can be other values depends on different TVs.
+     */
+    int[11] elevenPointRed;
+
+    int[11] elevenPointGreen;
+
+    int[11] elevenPointBlue;
+
+    /**
+     * Adjust gamma blue gain/offset.
+     *
+     * The default value is middle. Can be different depends on different TVs.
+     */
+    QualityLevel lowBlueLight;
+
+    /**
+     * Advance setting for local dimming level.
+     *
+     * The default value is off. Can be different depends on different TVs.
+     */
+    QualityLevel LdMode;
+
+    /**
+     * The parameter in this section is for on-screen display color gain and offset.
+     *
+     * Color gain is to adjust the intensity of that color (red, blue, green) in the brighter
+     * part of the image.
+     * Color offset is to adjust the intensity of that color in the darker part of the image.
+     *
+     * For example, increase OSD (on-screen display) red gain will make brighter reds even more
+     * intense, while decreasing it will make them less vibrant. Increase OSD red offset will add
+     * more red to the darker areas, while decreasing it will reduce the red in the shadows.
+     *
+     * The value range is from 0 to 2047. (11-bit resolution for the adjustment)
+     * The default value depends on different TVs.
+     */
+    int osdRedGain;
+
+    int osdGreenGain;
+
+    int osdBlueGain;
+
+    int osdRedOffset;
+
+    int osdGreenOffset;
+
+    int osdBlueOffset;
+
+    /* The value range is 0-100 */
+    int osdHue;
+
+    /* The value range is 0-255 */
+    int osdSaturation;
+
+    int osdContrast;
+
+    /**
+     * Enable/disable color tuner.
+     *
+     * The color tuner can adjust color temperature and picture color.
+     * The default is enabled.
+     */
+    boolean colorTunerSwitch;
+
+    /**
+     * The parameters in this section adjust the hue of each color.
+     *
+     * For example, increase colorTunerHueRed will make the image more purplish-red or more
+     * orange-red. increase colorTunerHueGreen will make the image more yellowish-green or
+     * more bluish-green. Flesh is a special one, it can make skin tones appear warmer (reddish)
+     * or cooler (more yellowish).
+     *
+     * The value range is from 0 - 100, and the default value is 50.
+     */
+    int colorTunerHueRed;
+
+    int colorTunerHueGreen;
+
+    int colorTunerHueBlue;
+
+    int colorTunerHueCyan;
+
+    int colorTunerHueMagenta;
+
+    int colorTunerHueYellow;
+
+    int colorTunerHueFlesh;
+
+    /**
+     * The parameters in this section adjust the saturation of each color.
+     *
+     * For example, increase colorTunerSaturationBlue will make the color blue more deeper
+     * and richer. Decrease will make the color blue more washed-out blues.
+     *
+     * The value range is from 0 -100, and the default value is 50.
+     */
+    int colorTunerSaturationRed;
+
+    int colorTunerSaturationGreen;
+
+    int colorTunerSaturationBlue;
+
+    int colorTunerSaturationCyan;
+
+    int colorTunerSaturationMagenta;
+
+    int colorTunerSaturationYellow;
+
+    int colorTunerSaturationFlesh;
+
+    /**
+     * The parameters in this section adjust the luminance (brightness) of each color.
+     *
+     * For example, increase colorTunerLuminanceRed will makes red appear brighter. Decrease
+     * will makes red appear darker.
+     *
+     * The value range is from 0 -100, and the default value is 50.
+     */
+    int colorTunerLuminanceRed;
+
+    int colorTunerLuminanceGreen;
+
+    int colorTunerLuminanceBlue;
+
+    int colorTunerLuminanceCyan;
+
+    int colorTunerLuminanceMagenta;
+
+    int colorTunerLuminanceYellow;
+
+    int colorTunerLuminanceFlesh;
+
+    /**
+     * Determines whether the current profile is actively in use or not.
+     */
+    boolean activeProfile;
 }
diff --git a/tv/mediaquality/aidl/android/hardware/tv/mediaquality/SoundParameter.aidl b/tv/mediaquality/aidl/android/hardware/tv/mediaquality/SoundParameter.aidl
index 4714ad2..6feb7c0 100644
--- a/tv/mediaquality/aidl/android/hardware/tv/mediaquality/SoundParameter.aidl
+++ b/tv/mediaquality/aidl/android/hardware/tv/mediaquality/SoundParameter.aidl
@@ -92,4 +92,9 @@
 
     /* Digital output delay in ms. */
     int digitalOutputDelayMs;
+
+    /**
+     * Determines whether the current profile is actively in use or not.
+     */
+    boolean activeProfile;
 }