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 all 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
198 changes: 37 additions & 161 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 All @@ -272,7 +128,7 @@ source = All,Composite1,HDMI1,HDMI2,HDMI3,IP,Tuner
platformsupport = true

[BacklightControl]
range = manual,ambient
range = Manual,Ambient
index = 1,2
pqmode = none
source = none
Expand All @@ -287,22 +143,6 @@ format = none
source = All,HDMI1,HDMI2,HDMI3,IP,Tuner,Composite1
platformsupport = true

[HDR10Mode]
range = Dark,Bright
index = 3,4
pqmode = Entertainment,Dynamic,Expert,Movie,Sports,Graphics,Dynamic2
format = none
source = All,HDMI1,HDMI2,HDMI3,IP,Tuner,Composite1
platformsupport = true

[HLGMode]
range = Dark,Bright
index = 6,7
pqmode = Entertainment,Dynamic,Expert,Movie,Sports,Graphics,Dynamic2
format = none
source = All,HDMI1,HDMI2,HDMI3,IP,Tuner,Composite1
platformsupport = true

[AspectRatio]
range = TV AUTO,TV DIRECT,TV NORMAL,TV 16X9 STRETCH,TV 4X3 PILLARBOX,TV ZOOM
index = 4,5,3,1,0,6
Expand Down Expand Up @@ -365,3 +205,39 @@ 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 = All,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 = All,Composite1,HDMI1,HDMI2,HDMI3,IP,Tuner
platformsupport = true

[HDRMode]
range = Dark,Bright
index_HDR10 = 3,4
index_HLG = 6,7
pqmode = Entertainment,Dynamic,Expert,Movie,Sports,Graphics,Dynamic2
format = HDR10,HLG
source = All,HDMI1,HDMI2,HDMI3,IP,Tuner,Composite1
platformsupport = false
6 changes: 6 additions & 0 deletions docs/pages/tv-settings_halSpec.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,12 @@ Picture profile database will have 5 types of tables:
| | | | CMS Luma YELLOW |
| | | | CMS Luma CYAN |
| | | | CMS Luma MAGENTA |
| | | | Custom WhiteBalance Gain RED |
| | | | Custom WhiteBalance Gain GREEN |
| | | | Custom WhiteBalance Gain BLUE |
| | | | Custom WhiteBalance Offset RED |
| | | | Custom WhiteBalance Offset GREEN |
| | | | Custom WhiteBalance Offset BLUE |
| | | Theater/Movie | Repeat as standard |
| | | FilmMaker | Repeat as standard |
| | | Sports | Repeat as standard |
Expand Down
85 changes: 85 additions & 0 deletions include/tvSettings.h
Original file line number Diff line number Diff line change
Expand Up @@ -2622,6 +2622,91 @@ 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 (Red,Green,Blue Gain/Offset) for the current picture mode index, current video source,
* and current video format.
* The custom WhiteBalance (Red, Green, Blue Gain/Offset) is applicable only when the color temperature is set to tvColorTemp_USER.
Copy link
Contributor

Choose a reason for hiding this comment

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

how we can very the color temperature is set to tvColorTemp_USER.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Already We have API for this GetColorTemperature( ) in tvSettings.h

Copy link
Contributor

Choose a reason for hiding this comment

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

so for this API, SetColorTemperature( ) is pre-requisite?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes Its caller responsibility to set the color Temperature to "tvColorTemp_USER." before calling this function.
I will update it.

Copy link
Contributor

Choose a reason for hiding this comment

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

It depends on the platforms. Some platforms allow all colour temperatures to be customised. So customer can have their preferred cool, warm and normal colour temperature.

*
* Gain - Modifies the intensity of Red, Green, and Blue at the brighter level
* Offset - Modifies the intensity of Red, Green, and Blue at the darker level
*
* @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
* @pre SetColorTemperature() should be set to "tvColorTemp_USER" 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 Custom WhiteBalance
*
* This function gets the custom WhiteBalance(Red,Green,Blue Gain/Offset) value for the current video source selected,
* current video format played,picture mode selected,given color and given control value.
*
* The function always retrieves the custom WhiteBalance (Red, Green, Blue Gain/Offset) associated with tvColorTemp_USER.
*
* Gain - Modifies the intensity of Red, Green, and Blue at the brighter level
* Offset - Modifies the intensity of Red, Green, and Blue at the darker level
*
* @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
* Gain - Modifies the intensity of Red, Green, and Blue at the brighter level
* Offset - Modifies the intensity of Red, Green, and Blue at the darker level
*
* @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
Loading