msm: vidc: Add support to send DATA_CORRUPT flag to client
When FW did error concealment it sets DATA_CORRUPT flag in
FBD message. This information need to be updated with client
so that client can decide not to display frame.
This change implements the functionality.
Change-Id: I6071427e33612b2786ba1fcbf075b06e7152c1c9
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
diff --git a/drivers/media/platform/msm/vidc/msm_vidc_common.c b/drivers/media/platform/msm/vidc/msm_vidc_common.c
index 4fc7518..1a786e4 100644
--- a/drivers/media/platform/msm/vidc/msm_vidc_common.c
+++ b/drivers/media/platform/msm/vidc/msm_vidc_common.c
@@ -678,6 +678,8 @@
vb->v4l2_buf.flags |= V4L2_QCOM_BUF_FLAG_EOSEQ;
if (fill_buf_done->flags1 & HAL_BUFFERFLAG_DECODEONLY)
vb->v4l2_buf.flags |= V4L2_QCOM_BUF_FLAG_DECODEONLY;
+ if (fill_buf_done->flags1 & HAL_BUFFERFLAG_DATACORRUPT)
+ vb->v4l2_buf.flags |= V4L2_QCOM_BUF_DATA_CORRUPT;
switch (fill_buf_done->picture_type) {
case HAL_PICTURE_IDR:
vb->v4l2_buf.flags |= V4L2_QCOM_BUF_FLAG_IDRFRAME;
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index ef8323e..fe3491f 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -702,6 +702,7 @@
#define V4L2_QCOM_BUF_TIMESTAMP_INVALID 0x10000
#define V4L2_QCOM_BUF_FLAG_IDRFRAME 0x20000 /* Image is a IDR-frame */
#define V4L2_QCOM_BUF_FLAG_DECODEONLY 0x40000
+#define V4L2_QCOM_BUF_DATA_CORRUPT 0x80000
/*
* O V E R L A Y P R E V I E W