Merge "msm: mdss: Add Rec2020 YUV conversion to CSC tables"
This commit is contained in:
commit
d01975ab44
3 changed files with 113 additions and 0 deletions
|
@ -235,9 +235,13 @@ enum mdss_mdp_csc_type {
|
|||
MDSS_MDP_CSC_YUV2RGB_601L,
|
||||
MDSS_MDP_CSC_YUV2RGB_601FR,
|
||||
MDSS_MDP_CSC_YUV2RGB_709L,
|
||||
MDSS_MDP_CSC_YUV2RGB_2020L,
|
||||
MDSS_MDP_CSC_YUV2RGB_2020FR,
|
||||
MDSS_MDP_CSC_RGB2YUV_601L,
|
||||
MDSS_MDP_CSC_RGB2YUV_601FR,
|
||||
MDSS_MDP_CSC_RGB2YUV_709L,
|
||||
MDSS_MDP_CSC_RGB2YUV_2020L,
|
||||
MDSS_MDP_CSC_RGB2YUV_2020FR,
|
||||
MDSS_MDP_CSC_YUV2YUV,
|
||||
MDSS_MDP_CSC_RGB2RGB,
|
||||
MDSS_MDP_MAX_CSC
|
||||
|
@ -1408,6 +1412,10 @@ static inline uint8_t pp_vig_csc_pipe_val(struct mdss_mdp_pipe *pipe)
|
|||
return MDSS_MDP_CSC_YUV2RGB_601L;
|
||||
case MDP_CSC_ITU_R_601_FR:
|
||||
return MDSS_MDP_CSC_YUV2RGB_601FR;
|
||||
case MDP_CSC_ITU_R_2020:
|
||||
return MDSS_MDP_CSC_YUV2RGB_2020L;
|
||||
case MDP_CSC_ITU_R_2020_FR:
|
||||
return MDSS_MDP_CSC_YUV2RGB_2020FR;
|
||||
case MDP_CSC_ITU_R_709:
|
||||
default:
|
||||
return MDSS_MDP_CSC_YUV2RGB_709L;
|
||||
|
|
|
@ -60,6 +60,30 @@ struct mdp_csc_cfg mdp_csc_8bit_convert[MDSS_MDP_MAX_CSC] = {
|
|||
{ 0x10, 0xeb, 0x10, 0xf0, 0x10, 0xf0,},
|
||||
{ 0x0, 0xff, 0x0, 0xff, 0x0, 0xff,},
|
||||
},
|
||||
[MDSS_MDP_CSC_YUV2RGB_2020L] = {
|
||||
0,
|
||||
{
|
||||
0x0256, 0x0000, 0x035e,
|
||||
0x0256, 0xffa0, 0xfeb2,
|
||||
0x0256, 0x044c, 0x0000,
|
||||
},
|
||||
{ 0xfff0, 0xff80, 0xff80,},
|
||||
{ 0x0, 0x0, 0x0,},
|
||||
{ 0x10, 0xeb, 0x10, 0xf0, 0x10, 0xf0,},
|
||||
{ 0x0, 0xff, 0x0, 0xff, 0x0, 0xff,},
|
||||
},
|
||||
[MDSS_MDP_CSC_YUV2RGB_2020FR] = {
|
||||
0,
|
||||
{
|
||||
0x0200, 0x0000, 0x02f3,
|
||||
0x0200, 0xffac, 0xfedb,
|
||||
0x0200, 0x03c3, 0x0000,
|
||||
},
|
||||
{ 0x0000, 0xff80, 0xff80,},
|
||||
{ 0x0, 0x0, 0x0,},
|
||||
{ 0x0, 0xff, 0x0, 0xff, 0x0, 0xff,},
|
||||
{ 0x0, 0xff, 0x0, 0xff, 0x0, 0xff,},
|
||||
},
|
||||
[MDSS_MDP_CSC_RGB2YUV_601L] = {
|
||||
0,
|
||||
{
|
||||
|
@ -96,6 +120,30 @@ struct mdp_csc_cfg mdp_csc_8bit_convert[MDSS_MDP_MAX_CSC] = {
|
|||
{ 0x0, 0xff, 0x0, 0xff, 0x0, 0xff,},
|
||||
{ 0x0010, 0x00eb, 0x0010, 0x00f0, 0x0010, 0x00f0,},
|
||||
},
|
||||
[MDSS_MDP_CSC_RGB2YUV_2020L] = {
|
||||
0,
|
||||
{
|
||||
0x0073, 0x0129, 0x001a,
|
||||
0xffc1, 0xff5e, 0x00e0,
|
||||
0x00e0, 0xff32, 0xffee
|
||||
},
|
||||
{ 0x0, 0x0, 0x0,},
|
||||
{ 0x0010, 0x0080, 0x0080,},
|
||||
{ 0x0, 0xff, 0x0, 0xff, 0x0, 0xff,},
|
||||
{ 0x0010, 0x00eb, 0x0010, 0x00f0, 0x0010, 0x00f0,},
|
||||
},
|
||||
[MDSS_MDP_CSC_RGB2YUV_2020FR] = {
|
||||
0,
|
||||
{
|
||||
0x0086, 0x015b, 0x001e,
|
||||
0xffb9, 0xff47, 0x0100,
|
||||
0x0100, 0xff15, 0xffeb
|
||||
},
|
||||
{ 0x0, 0x0, 0x0,},
|
||||
{ 0x0, 0x0080, 0x0080,},
|
||||
{ 0x0, 0xff, 0x0, 0xff, 0x0, 0xff,},
|
||||
{ 0x0, 0xff, 0x0, 0xff, 0x0, 0xff,},
|
||||
},
|
||||
[MDSS_MDP_CSC_YUV2YUV] = {
|
||||
0,
|
||||
{
|
||||
|
@ -159,6 +207,30 @@ struct mdp_csc_cfg mdp_csc_10bit_convert[MDSS_MDP_MAX_CSC] = {
|
|||
{ 0x40, 0x3ac, 0x40, 0x3c0, 0x40, 0x3c0,},
|
||||
{ 0x0, 0x3ff, 0x0, 0x3ff, 0x0, 0x3ff,},
|
||||
},
|
||||
[MDSS_MDP_CSC_YUV2RGB_2020L] = {
|
||||
0,
|
||||
{
|
||||
0x0256, 0x0000, 0x035e,
|
||||
0x0256, 0xffa0, 0xfeb2,
|
||||
0x0256, 0x044c, 0x0000,
|
||||
},
|
||||
{ 0xffc0, 0xfe00, 0xfe00,},
|
||||
{ 0x0, 0x0, 0x0,},
|
||||
{ 0x40, 0x3ac, 0x40, 0x3c0, 0x40, 0x3c0,},
|
||||
{ 0x0, 0x3ff, 0x0, 0x3ff, 0x0, 0x3ff,},
|
||||
},
|
||||
[MDSS_MDP_CSC_YUV2RGB_2020FR] = {
|
||||
0,
|
||||
{
|
||||
0x0200, 0x0000, 0x02f3,
|
||||
0x0200, 0xffac, 0xfedb,
|
||||
0x0200, 0x03c3, 0x0000,
|
||||
},
|
||||
{ 0x0000, 0xfe00, 0xfe00,},
|
||||
{ 0x0, 0x0, 0x0,},
|
||||
{ 0x0, 0x3ff, 0x0, 0x3ff, 0x0, 0x3ff,},
|
||||
{ 0x0, 0x3ff, 0x0, 0x3ff, 0x0, 0x3ff,},
|
||||
},
|
||||
[MDSS_MDP_CSC_RGB2YUV_601L] = {
|
||||
0,
|
||||
{
|
||||
|
@ -195,6 +267,30 @@ struct mdp_csc_cfg mdp_csc_10bit_convert[MDSS_MDP_MAX_CSC] = {
|
|||
{ 0x0, 0x3ff, 0x0, 0x3ff, 0x0, 0x3ff,},
|
||||
{ 0x0040, 0x03ac, 0x0040, 0x03c0, 0x0040, 0x03c0,},
|
||||
},
|
||||
[MDSS_MDP_CSC_RGB2YUV_2020L] = {
|
||||
0,
|
||||
{
|
||||
0x0073, 0x0129, 0x001a,
|
||||
0xffc1, 0xff5e, 0x00e0,
|
||||
0x00e0, 0xff32, 0xffee
|
||||
},
|
||||
{ 0x0, 0x0, 0x0,},
|
||||
{ 0x0040, 0x0200, 0x0200,},
|
||||
{ 0x0, 0x3ff, 0x0, 0x3ff, 0x0, 0x3ff,},
|
||||
{ 0x0040, 0x03ac, 0x0040, 0x03c0, 0x0040, 0x03c0,},
|
||||
},
|
||||
[MDSS_MDP_CSC_RGB2YUV_2020FR] = {
|
||||
0,
|
||||
{
|
||||
0x0086, 0x015b, 0x001e,
|
||||
0xffb9, 0xff47, 0x0100,
|
||||
0x0100, 0xff15, 0xffeb
|
||||
},
|
||||
{ 0x0, 0x0, 0x0,},
|
||||
{ 0x0, 0x0200, 0x0200,},
|
||||
{ 0x0, 0x3ff, 0x0, 0x3ff, 0x0, 0x3ff,},
|
||||
{ 0x0, 0x3ff, 0x0, 0x3ff, 0x0, 0x3ff,},
|
||||
},
|
||||
[MDSS_MDP_CSC_YUV2YUV] = {
|
||||
0,
|
||||
{
|
||||
|
|
|
@ -1406,12 +1406,21 @@ enum {
|
|||
MDP_WRITEBACK_MIRROR_RESUME,
|
||||
};
|
||||
|
||||
/*
|
||||
* The enum values are continued below as preprocessor macro definitions
|
||||
*/
|
||||
enum mdp_color_space {
|
||||
MDP_CSC_ITU_R_601,
|
||||
MDP_CSC_ITU_R_601_FR,
|
||||
MDP_CSC_ITU_R_709,
|
||||
};
|
||||
|
||||
/*
|
||||
* These definitions are a continuation of the mdp_color_space enum above
|
||||
*/
|
||||
#define MDP_CSC_ITU_R_2020 (MDP_CSC_ITU_R_709 + 1)
|
||||
#define MDP_CSC_ITU_R_2020_FR (MDP_CSC_ITU_R_2020 + 1)
|
||||
|
||||
enum {
|
||||
mdp_igc_v1_7 = 1,
|
||||
mdp_igc_vmax,
|
||||
|
|
Loading…
Add table
Reference in a new issue