Commit 4a203349 authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab

[media] vivid: use V4L2_DV_FL_IS_CE_VIDEO instead of V4L2_DV_BT_STD_CEA861

Don't rely on V4L2_DV_BT_STD_CEA861 since that include the
640x480p format, which is an IT format, not CE.
Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent 680fee04
...@@ -818,7 +818,7 @@ static int vivid_vid_out_s_ctrl(struct v4l2_ctrl *ctrl) ...@@ -818,7 +818,7 @@ static int vivid_vid_out_s_ctrl(struct v4l2_ctrl *ctrl)
dev->dvi_d_out = ctrl->val == V4L2_DV_TX_MODE_DVI_D; dev->dvi_d_out = ctrl->val == V4L2_DV_TX_MODE_DVI_D;
if (!vivid_is_hdmi_out(dev)) if (!vivid_is_hdmi_out(dev))
break; break;
if (!dev->dvi_d_out && (bt->standards & V4L2_DV_BT_STD_CEA861)) { if (!dev->dvi_d_out && (bt->flags & V4L2_DV_FL_IS_CE_VIDEO)) {
if (bt->width == 720 && bt->height <= 576) if (bt->width == 720 && bt->height <= 576)
dev->colorspace_out = V4L2_COLORSPACE_SMPTE170M; dev->colorspace_out = V4L2_COLORSPACE_SMPTE170M;
else else
......
...@@ -444,7 +444,7 @@ void vivid_update_format_cap(struct vivid_dev *dev, bool keep_controls) ...@@ -444,7 +444,7 @@ void vivid_update_format_cap(struct vivid_dev *dev, bool keep_controls)
*/ */
if (keep_controls || !dev->colorspace) if (keep_controls || !dev->colorspace)
break; break;
if (bt->standards & V4L2_DV_BT_STD_CEA861) { if (bt->flags & V4L2_DV_FL_IS_CE_VIDEO) {
if (bt->width == 720 && bt->height <= 576) if (bt->width == 720 && bt->height <= 576)
v4l2_ctrl_s_ctrl(dev->colorspace, VIVID_CS_170M); v4l2_ctrl_s_ctrl(dev->colorspace, VIVID_CS_170M);
else else
...@@ -1358,7 +1358,7 @@ int vidioc_s_input(struct file *file, void *priv, unsigned i) ...@@ -1358,7 +1358,7 @@ int vidioc_s_input(struct file *file, void *priv, unsigned i)
v4l2_ctrl_s_ctrl(dev->colorspace, VIVID_CS_170M); v4l2_ctrl_s_ctrl(dev->colorspace, VIVID_CS_170M);
break; break;
case HDMI: case HDMI:
if (bt->standards & V4L2_DV_BT_STD_CEA861) { if (bt->flags & V4L2_DV_FL_IS_CE_VIDEO) {
if (dev->src_rect.width == 720 && dev->src_rect.height <= 576) if (dev->src_rect.width == 720 && dev->src_rect.height <= 576)
v4l2_ctrl_s_ctrl(dev->colorspace, VIVID_CS_170M); v4l2_ctrl_s_ctrl(dev->colorspace, VIVID_CS_170M);
else else
......
...@@ -248,7 +248,7 @@ void vivid_update_format_out(struct vivid_dev *dev) ...@@ -248,7 +248,7 @@ void vivid_update_format_out(struct vivid_dev *dev)
dev->field_out = V4L2_FIELD_ALTERNATE; dev->field_out = V4L2_FIELD_ALTERNATE;
else else
dev->field_out = V4L2_FIELD_NONE; dev->field_out = V4L2_FIELD_NONE;
if (!dev->dvi_d_out && (bt->standards & V4L2_DV_BT_STD_CEA861)) { if (!dev->dvi_d_out && (bt->flags & V4L2_DV_FL_IS_CE_VIDEO)) {
if (bt->width == 720 && bt->height <= 576) if (bt->width == 720 && bt->height <= 576)
dev->colorspace_out = V4L2_COLORSPACE_SMPTE170M; dev->colorspace_out = V4L2_COLORSPACE_SMPTE170M;
else else
...@@ -411,7 +411,7 @@ int vivid_try_fmt_vid_out(struct file *file, void *priv, ...@@ -411,7 +411,7 @@ int vivid_try_fmt_vid_out(struct file *file, void *priv,
mp->quantization = V4L2_QUANTIZATION_DEFAULT; mp->quantization = V4L2_QUANTIZATION_DEFAULT;
if (vivid_is_svid_out(dev)) { if (vivid_is_svid_out(dev)) {
mp->colorspace = V4L2_COLORSPACE_SMPTE170M; mp->colorspace = V4L2_COLORSPACE_SMPTE170M;
} else if (dev->dvi_d_out || !(bt->standards & V4L2_DV_BT_STD_CEA861)) { } else if (dev->dvi_d_out || !(bt->flags & V4L2_DV_FL_IS_CE_VIDEO)) {
mp->colorspace = V4L2_COLORSPACE_SRGB; mp->colorspace = V4L2_COLORSPACE_SRGB;
if (dev->dvi_d_out) if (dev->dvi_d_out)
mp->quantization = V4L2_QUANTIZATION_LIM_RANGE; mp->quantization = V4L2_QUANTIZATION_LIM_RANGE;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment