Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gh #29 WB and CMS Header changes #30

Open
wants to merge 35 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 25 commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
6934290
gh #28 WB and CMS Header changes
aktamilbe Aug 8, 2024
5d2d282
gh #28 Add Capability header changes
aktamilbe Aug 11, 2024
d57467e
gh #28 Add HDRMode and capablity changes
aktamilbe Aug 19, 2024
47f483c
gh #28 HDRMode header changes
aktamilbe Aug 19, 2024
e7ddf52
gh #29 Removed colorTemp and Cap API
aktamilbe Aug 30, 2024
969b074
gh #29 Corrected GetPQParams Arguments
aktamilbe Aug 30, 2024
c9b90f7
Merge branch 'develop' into feature/AVOutput_Porting
aktamilbe Sep 10, 2024
57c9190
gh #29 add CustomWB set API
aktamilbe Sep 10, 2024
d6440ba
Merge branch 'develop' into feature/AVOutput_Porting
aktamilbe Sep 22, 2024
df473e2
gh #29 add WB API
aktamilbe Sep 22, 2024
0f161f1
removing Capability file changes from this issue
ashishkumarrai1998 Sep 8, 2024
875ca53
Added Vivid2 PQ index and pq capability files
ashishkumarrai1998 Sep 8, 2024
54809cd
Updated error in GetTVGammaTarget
ashishkumarrai1998 Sep 9, 2024
9645f2d
Added seprate LLama capability files
ashishkumarrai1998 Sep 11, 2024
6fd723b
Removed unwanted pq_capabilities.ini
ashishkumarrai1998 Sep 19, 2024
6dd69f0
Merge pull request #33 from rdkcentral/feature/issues25_L1_tvsettings…
hari22yuva Sep 26, 2024
68040e7
Bumped CHANGELOG.md - 2.0.0
hari22yuva Sep 26, 2024
4d46e75
Merge branch 'release/2.0.0'
hari22yuva Sep 26, 2024
aef21d5
Merge tag '2.0.0' into develop
hari22yuva Sep 26, 2024
946f319
gh #29 resolved merge conflicts
aktamilbe Oct 10, 2024
9ef6722
gh #29 added GetSuctomWhiteBalance API
aktamilbe Oct 19, 2024
5fe516c
gh #29 Resolved Merge Conflicts
tamilselvanak Nov 15, 2024
b10c99e
Merge branch 'develop' of rdkcentral-github.com:rdkcentral/rdk-halif-…
aktamilbe Dec 13, 2024
60e1494
gh #29 Cleanup and updated review comments
aktamilbe Dec 13, 2024
46051e0
gh #29 Remove HDRMode reference
tamilselvanak Dec 23, 2024
9fe2e47
gh #29 Update review comments
aktamilbe Dec 27, 2024
25cb9ef
gh #29 added HDRMode in capability
aktamilbe Dec 30, 2024
841fdde
gh #29 Updated review comments
aktamilbe Jan 2, 2025
ce7e316
gh #29 Updated BacklightControl capability
aktamilbe Jan 6, 2025
c9c7a9b
gh #29 Updated capability review comments
aktamilbe Jan 6, 2025
a95666a
gh #29 removed unused section from capability
aktamilbe Jan 8, 2025
ccc0be7
gh #29 updated review comments
aktamilbe Jan 13, 2025
9f78db4
gh #29 added HDRMode Index
aktamilbe Jan 20, 2025
67bb3c6
gh #29 added custom WB enum in halspec
aktamilbe Jan 20, 2025
20dbe79
gh #29 added pre-requistite for setcustom2PtWhiteBalance
aktamilbe Jan 20, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
171 changes: 27 additions & 144 deletions config/pq_capablities.ini → config/pq_capabilities.ini
Original file line number Diff line number Diff line change
Expand Up @@ -119,150 +119,6 @@ format = SDR,HDR10,HLG,DV
source = All,Composite1,HDMI1,HDMI2,HDMI3,IP,Tuner
platformsupport = true
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why always the name of the file is changing?
and we need less update this file and we need add only new feature parameters, not modify old once

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1.Its a spelling mistake which is corrected now. It was missed in previous reviews.
2.Currently CMS has total 18 entries in pq_capabilities.ini. To make it more convenient we have combined all 18 entries into single entry like below and added corresponding code changes in HAL.
[CMS]
range_Saturation_from = 0
range_Saturation_to = 100
range_Hue_from = 0
range_Hue_to = 100
range_Luma_from = 0
range_Luma_to = 30
color = Red,Green,Blue,Cyan,Magenta,Yellow
component = Saturation,Hue,Luma
pqmode = Entertainment,Dynamic,Expert,Movie,Sports,Graphics,Dynamic2
format = SDR,HDR10,HLG,DV
source = All,Composite1,HDMI1,HDMI2,HDMI3,IP,Tuner
I have already updated this in description.

Tvsettings-hal is improving every day and we can expect more changes in future too.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if we have any other entries like this please do it now

Copy link
Contributor Author

@aktamilbe aktamilbe Jan 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As part of this ticket we have worked on Custom WhiteBalance and CMS.
This ticket is meant for include above features to AVOutput plugin.
Remaining things will be handled on new ticket only.


[ComponentSaturationRed]
range_from = 0
range_to = 100
pqmode = Entertainment,Dynamic,Expert,Movie,Sports,Graphics,Dynamic2
format = SDR,HDR10,HLG,DV
source = All,Composite1,HDMI1,HDMI2,HDMI3,IP,Tuner
platformsupport = true

[ComponentSaturationBlue]
range_from = 0
range_to = 100
pqmode = Entertainment,Dynamic,Expert,Movie,Sports,Graphics,Dynamic2
format = SDR,HDR10,HLG,DV
source = All,Composite1,HDMI1,HDMI2,HDMI3,IP,Tuner
platformsupport = true

[ComponentSaturationGreen]
range_from = 0
range_to = 100
pqmode = Entertainment,Dynamic,Expert,Movie,Sports,Graphics,Dynamic2
format = SDR,HDR10,HLG,DV
source = All,Composite1,HDMI1,HDMI2,HDMI3,IP,Tuner
platformsupport = true

[ComponentSaturationYellow]
range_from = 0
range_to = 100
pqmode = Entertainment,Dynamic,Expert,Movie,Sports,Graphics,Dynamic2
format = SDR,HDR10,HLG,DV
source = All,Composite1,HDMI1,HDMI2,HDMI3,IP,Tuner
platformsupport = true

[ComponentSaturationCyan]
range_from = 0
range_to = 100
pqmode = Entertainment,Dynamic,Expert,Movie,Sports,Graphics,Dynamic2
format = SDR,HDR10,HLG,DV
source = All,Composite1,HDMI1,HDMI2,HDMI3,IP,Tuner
platformsupport = true

[ComponentSaturationMagenta]
range_from = 0
range_to = 100
pqmode = Entertainment,Dynamic,Expert,Movie,Sports,Graphics,Dynamic2
Anbukannadhasan marked this conversation as resolved.
Show resolved Hide resolved
format = SDR,HDR10,HLG,DV
source = All,Composite1,HDMI1,HDMI2,HDMI3,IP,Tuner
platformsupport = true

[ComponentHueRed]
range_from = 0
range_to = 100
pqmode = Entertainment,Dynamic,Expert,Movie,Sports,Graphics,Dynamic2
format = SDR,HDR10,HLG,DV
source = All,Composite1,HDMI1,HDMI2,HDMI3,IP,Tuner
platformsupport = true

[ComponentHueBlue]
range_from = 0
range_to = 100
pqmode = Entertainment,Dynamic,Expert,Movie,Sports,Graphics,Dynamic2
format = SDR,HDR10,HLG,DV
source = All,Composite1,HDMI1,HDMI2,HDMI3,IP,Tuner
platformsupport = true

[ComponentHueGreen]
range_from = 0
range_to = 100
pqmode = Entertainment,Dynamic,Expert,Movie,Sports,Graphics,Dynamic2
format = SDR,HDR10,HLG,DV
source = All,Composite1,HDMI1,HDMI2,HDMI3,IP,Tuner
platformsupport = true

[ComponentHueYellow]
range_from = 0
range_to = 100
pqmode = Entertainment,Dynamic,Expert,Movie,Sports,Graphics,Dynamic2
format = SDR,HDR10,HLG,DV
source = All,Composite1,HDMI1,HDMI2,HDMI3,IP,Tuner
platformsupport = true

[ComponentHueCyan]
range_from = 0
range_to = 100
pqmode = Entertainment,Dynamic,Expert,Movie,Sports,Graphics,Dynamic2
format = SDR,HDR10,HLG,DV
source = All,Composite1,HDMI1,HDMI2,HDMI3,IP,Tuner
platformsupport = true

[ComponentHueMagenta]
range_from = 0
range_to = 100
pqmode = Entertainment,Dynamic,Expert,Movie,Sports,Graphics,Dynamic2
format = SDR,HDR10,HLG,DV
source = All,Composite1,HDMI1,HDMI2,HDMI3,IP,Tuner
platformsupport = true

[ComponentLumaRed]
range_from = 0
range_to = 30
pqmode = Entertainment,Dynamic,Expert,Movie,Sports,Graphics,Dynamic2
format = SDR,HDR10,HLG,DV
source = All,Composite1,HDMI1,HDMI2,HDMI3,IP,Tuner
platformsupport = true

[ComponentLumaBlue]
range_from = 0
range_to = 100
pqmode = Entertainment,Dynamic,Expert,Movie,Sports,Graphics,Dynamic2
format = SDR,HDR10,HLG,DV
source = All,Composite1,HDMI1,HDMI2,HDMI3,IP,Tuner
platformsupport = true

[ComponentLumaGreen]
range_from = 0
range_to = 100
pqmode = Entertainment,Dynamic,Expert,Movie,Sports,Graphics,Dynamic2
format = SDR,HDR10,HLG,DV
source = All,Composite1,HDMI1,HDMI2,HDMI3,IP,Tuner
platformsupport = true

[ComponentLumaYellow]
range_from = 0
range_to = 100
pqmode = Entertainment,Dynamic,Expert,Movie,Sports,Graphics,Dynamic2
format = SDR,HDR10,HLG,DV
source = All,Composite1,HDMI1,HDMI2,HDMI3,IP,Tuner
platformsupport = true

[ComponentLumaCyan]
range_from = 0
range_to = 100
pqmode = Entertainment,Dynamic,Expert,Movie,Sports,Graphics,Dynamic2
format = SDR,HDR10,HLG,DV
source = All,Composite1,HDMI1,HDMI2,HDMI3,IP,Tuner
platformsupport = true

[ComponentLumaMagenta]
range_from = 0
range_to = 100
pqmode = Entertainment,Dynamic,Expert,Movie,Sports,Graphics,Dynamic2
format = SDR,HDR10,HLG,DV
source = All,Composite1,HDMI1,HDMI2,HDMI3,IP,Tuner
platformsupport = true

[DimmingMode]
range = local,fixed
index = 1,0
Expand Down Expand Up @@ -365,3 +221,30 @@ pqmode = none
format = none
source = none
platformsupport = true

[CMS]
range_Saturation_from = 0
range_Saturation_to = 100
range_Hue_from = 0
range_Hue_to = 100
range_Luma_from = 0
range_Luma_to = 30
color = Red,Green,Blue,Cyan,Magenta,Yellow
component = Saturation,Hue,Luma
pqmode = Entertainment,Dynamic,Expert,Movie,Sports,Graphics,Dynamic2
format = SDR,HDR10,HLG,DV
source = Composite1,HDMI1,HDMI2,HDMI3,IP,Tuner
platformsupport = true


[CustomWhiteBalance]
range_Gain_from = 0
range_Gain_to = 2047
range_Offset_from = -1024
range_Offset_to = 1023
color = Red,Green,Blue
control = Gain,Offset
pqmode = Entertainment,Dynamic,Expert,Movie,Sports,Graphics,Dynamic2
format = SDR,HDR10,HLG,DV
source = Composite1,HDMI1,HDMI2,HDMI3,IP,Tuner
platformsupport = true
73 changes: 73 additions & 0 deletions include/tvSettings.h
Original file line number Diff line number Diff line change
Expand Up @@ -2622,6 +2622,79 @@ tvError_t GetLdimZoneShortCircuitStatus(unsigned char* shortcircuit_zone_list, u
*/
tvError_t GetNumberOfDimmingZones(unsigned int* number_of_dimming_zones);

/**
* @brief Sets 2Point Custom Whitebalance
*
* This function sets Whitebalance for a current picture mode index, primary video source @n
tsenapathy marked this conversation as resolved.
Show resolved Hide resolved
Anbukannadhasan marked this conversation as resolved.
Show resolved Hide resolved
aktamilbe marked this conversation as resolved.
Show resolved Hide resolved
* and primary video format.
*
* @param[in] color - Color type value. Valid value will be a member of ::tvWBColor_t
* @param[in] control - Control index value. Valid values will be a member of ::tvWBControl_t
* @param[in] value - The WhiteBalance Value to be set.Valid range gain (0 - 2047) and offset (-1024 to 1023)
*
* @return tvError_t
*
* @retval tvERROR_NONE - Success
* @retval tvERROR_INVALID_PARAM - Input parameter is invalid
* @retval tvERROR_INVALID_STATE - Interface is not initialized
* @retval tvERROR_OPERATION_NOT_SUPPORTED - Operation is not supported
* @retval tvERROR_GENERAL - Underlying failures - SoC, memory, etc
*
* @pre TvInit() should be called before calling this API
*/
tvError_t SetCustom2PointWhiteBalance(tvWBColor_t color, tvWBControl_t control, int value);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why numeric number in the function? is that required ?
Update https://github.com/rdkcentral/rdkv-halif-tvsettings/blob/main/docs/pages/tv-settings_halSpec.md
with this new api

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why numeric number in the function? is that required ?
Yes, It is Custom WhiteBalance Value to be set. Valid range gain (0 - 2047) and offset (-1024 to 1023)

updated new Enum in hal-spec.md

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry maybe confused
why function name like this SetCustom2PointWhiteBalance

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CustomWhiteBalance changes only affects the Custom/User Color temperature. So only it named as Custom2PointWhiteBalance.

Updated this information already in both set and get.

Set:
The Custom WhiteBalance (Red, Green, Blue Gain/Offset) is applicable only when the color temperature is set to tvColorTemp_USER.

Get:
The function always retrieves the custom WhiteBalance (Red, Green, Blue Gain/Offset) associated with tvColorTemp_USER.


/**
* @brief Gets the current Custom WhiteBalance
*
* This function gets the current WhiteBalance value for the primary video source selected,
Anbukannadhasan marked this conversation as resolved.
Show resolved Hide resolved
* primary video format played,picture mode selected,given color and given control value..
tsenapathy marked this conversation as resolved.
Show resolved Hide resolved
*
* @param[in] color - Color type value. Valid value will be a member of ::tvWBColor_t
* @param[in] control - Control index value. Valid values will be a member of ::tvWBControl_t
* @param[out] value - Current WB value. Valid range gain (0 - 2047) and offset (-1024 to 1023)
*
* @return tvError_t
*
* @retval tvERROR_NONE - Success
* @retval tvERROR_INVALID_PARAM - Parameter is invalid
* @retval tvERROR_INVALID_STATE - Interface is not initialized
* @retval tvERROR_GENERAL - Underlying failures - SoC, memory, etc
*
* @pre TvInit() should be called before calling this API
*
* @see SetCustom2PointWhiteBalance()
*/
tvError_t GetCustom2PointWhiteBalance(tvWBColor_t color, tvWBControl_t control, int *value);
tsenapathy marked this conversation as resolved.
Show resolved Hide resolved

/**
* @brief Saves WhiteBalance
*
* This function saves the WhiteBalance in picture profile database for the specific primary video format type
* and primary video source. The saved Whitebalance value should be applied automatically whenever the
Anbukannadhasan marked this conversation as resolved.
Show resolved Hide resolved
* specified specified primary video format is played and specified primary video source is selected.
tsenapathy marked this conversation as resolved.
Show resolved Hide resolved
*
* @param[in] videoSrcType - Source input value.Valid value will be a member of ::tvVideoSrcType_t
* @param[in] pictureMode - Picture mode value to be saved.Valid values are as per values returned by
* ::pic_modes_t.value parmeter from GetTVSupportedPictureModes API.
* @param[in] videoFormatType - Video format type value.Valid value will be a member of ::tvVideoFormatType_t
* @param[in] color - color value.Valid value will be a member of ::tvWBColor_t
* @param[in] control - control value.Valid value will be a member of ::tvWBControl_t
* @param[in] value - The WhiteBalance value to be set.Valid range gain (0 - 2047) and offset (-1024 to 1023)
*
Anbukannadhasan marked this conversation as resolved.
Show resolved Hide resolved
* @return tvError_t
*
* @retval tvERROR_NONE - Success
* @retval tvERROR_INVALID_PARAM - Input parameter is invalid
* @retval tvERROR_INVALID_STATE - Interface is not initialized
* @retval tvERROR_OPERATION_NOT_SUPPORTED - Operation is not supported
* @retval tvERROR_GENERAL - Underlying failures - SoC, memory, etc
*
* @pre TvInit() should be called before calling this API
*/

tvError_t SaveCustom2PointWhiteBalance(tvVideoSrcType_t videoSrcType, int pq_mode,tvVideoFormatType_t videoFormatType, tvWBColor_t color, tvWBControl_t control, int value);
tsenapathy marked this conversation as resolved.
Show resolved Hide resolved

#ifdef __cplusplus
}
#endif
Expand Down
68 changes: 0 additions & 68 deletions include/tvSettingsODM.h
Original file line number Diff line number Diff line change
Expand Up @@ -82,74 +82,6 @@ void SetGammaTestPoint( int length, unsigned short gamma[ ]);
*/
void GetGammaTestPoint( int *length, unsigned short gamma[]);

/**
* @brief Sets the white balance control. To be deprecated soon.
* @note SOC vendors can stub these ODM functions and mark it as weak
*
* This function sets the white balance for a specific source, color, color temperature and control.
*
* @param[in] inputSrc - Source of input to be set. Valid values are ( "HDMI", "TV", "AV" )
* @param[in] colorTemp - Color temperature value to be set. Valid values are ( "custom", "normal", "cool", "warm" )
* @param[in] color - Color to be set. Valid values are ( "red", "blue", "green" )
* @param[in] ctrl - Control to be set. Valid values are ( "gain", "offset" )
* @param[in] value - Values to be set for the specific control. Valid range : for gain is ( 0 to 2047 ), for offset is ( -1024 to 1024 )
*
* @return tvError_t
*
* @retval tvERROR_NONE - Success
* @retval tvERROR_INVALID_PARAM - Input parameter is invalid
* @retval tvERROR_INVALID_STATE - When the input value is not valid
* @retval tvERROR_GENERAL - Underlying failures - SoC, memory, etc
*
* @pre tvInit() should be called before calling this API
Anbukannadhasan marked this conversation as resolved.
Show resolved Hide resolved
*/
tvError_t SetWBctrl(char *inputSrc, char *colorTemp,char *color, char *ctrl, int value);

/**
* @brief Gets the current white balance control. To be deprecated soon.
* @note SOC vendors can stub these ODM functions and mark it as weak
*
* This function gets the white balance for a specific source, color, color temperature and control.
*
* @param[in] inputSrc - Source of input. Valid values are ( "HDMI", "TV", "AV" )
* @param[in] colortemp - Color temperature value. Valid values are ( "custom", "normal", "cool", "warm" )
* @param[in] color - Color. Valid values are ( "red", "blue", "green" )
* @param[in] ctrl - Control. Valid values are ( "gain", "offset" )
* @param[out] value - Values for the specific control. Valid range : for gain is ( 0 to 2047 ), for offset is ( -1024 to 1024 )
*
* @return tvError_t
*
* @retval tvERROR_NONE - Success
* @retval tvERROR_INVALID_PARAM - Input parameter is invalid
* @retval tvERROR_INVALID_STATE - When the input value is not valid
* @retval tvERROR_GENERAL - Underlying failures - SoC, memory, etc
*
* @pre tvInit() should be called before calling this API
*/
tvError_t GetWBctrl(char *inputSrc, char *colortemp, char *color, char *ctrl, int *value);

/**
* @brief Saves the color temperature to driver cache. To be deprecated soon.
* @note SOC vendors can stub these ODM functions and mark it as weak
*
* This function saves the color temperature for user to driver cache file
*
* @param[in] rgbType - RGB type. Valid value will be a member of ::tvRGBType_t
* @param[in] value - Color temperature value to be set. Valid range : for gain (0 to 2047) , for offset (-1024 to 1024)
* @param[in] boost - boost or nonboost
*
* @return tvError_t
*
* @retval tvERROR_NONE - Success
* @retval tvERROR_INVALID_PARAM - Input parameter is invalid
* @retval tvERROR_INVALID_STATE - Interface is not initialized
* @retval tvERROR_GENERAL - Underlying failures - SoC, memory, etc
*
* @pre tvInit() should be called before calling this API
*/
tvError_t SaveColorTemperatureUser(tvRGBType_t rgbType, int value,int boost);


/**
* @brief Gets the supported HLG modes and their count. To be deprecated soon.
* @note SOC vendors can stub these ODM functions and mark it as weak
Expand Down
Loading