mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 12:17:12 +09:00
UPSTREAM: drm/edid: Set YQ bits in the AVI infoframe according to CEA-861-F
CEA-861-F tells us:
"When transmitting any RGB colorimetry, the Source should set the
YQ-field to match the RGB Quantization Range being transmitted
(e.g., when Limited Range RGB, set YQ=0 or when Full Range RGB,
set YQ=1) and the Sink shall ignore the YQ-field."
So let's go ahead and do that. Perhaps there are sinks that don't
ignore the YQ as they should for RGB?
I wasn't able to find similar text in CEA-861-E, so it would seem
to be a fairly "recent" addition.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170111125725.8086-6-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Acked-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit fcc8a22cc9)
Change-Id: I355b86175d2b33e88bd384a01f7e6378b21d13fd
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
This commit is contained in:
@@ -4882,6 +4882,20 @@ drm_hdmi_avi_infoframe_quant_range(struct hdmi_avi_infoframe *frame,
|
||||
frame->quantization_range = rgb_quant_range;
|
||||
else
|
||||
frame->quantization_range = HDMI_QUANTIZATION_RANGE_DEFAULT;
|
||||
|
||||
/*
|
||||
* CEA-861-F:
|
||||
* "When transmitting any RGB colorimetry, the Source should set the
|
||||
* YQ-field to match the RGB Quantization Range being transmitted
|
||||
* (e.g., when Limited Range RGB, set YQ=0 or when Full Range RGB,
|
||||
* set YQ=1) and the Sink shall ignore the YQ-field."
|
||||
*/
|
||||
if (rgb_quant_range == HDMI_QUANTIZATION_RANGE_LIMITED)
|
||||
frame->ycc_quantization_range =
|
||||
HDMI_YCC_QUANTIZATION_RANGE_LIMITED;
|
||||
else
|
||||
frame->ycc_quantization_range =
|
||||
HDMI_YCC_QUANTIZATION_RANGE_FULL;
|
||||
}
|
||||
EXPORT_SYMBOL(drm_hdmi_avi_infoframe_quant_range);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user