summaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/sti/hva/hva.h
diff options
context:
space:
mode:
authorJean-Christophe Trotin <jean-christophe.trotin@st.com>2016-09-05 11:06:30 -0300
committerMauro Carvalho Chehab <mchehab@s-opensource.com>2016-09-09 10:34:32 -0300
commitba4616b7d9b9324021985fc5ecd9a9acd2f1f0f2 (patch)
treea134dc22d045a72a0484446bda068641f2f7b21c /drivers/media/platform/sti/hva/hva.h
parent57b2c0628b6042b7cfad387fe54951ddf7185fd2 (diff)
downloadop-kernel-dev-ba4616b7d9b9324021985fc5ecd9a9acd2f1f0f2.zip
op-kernel-dev-ba4616b7d9b9324021985fc5ecd9a9acd2f1f0f2.tar.gz
[media] st-hva: add H.264 video encoding support
This patch adds the H.264 video encoding capability in the V4L2 HVA video encoder driver for STMicroelectronics SoC (hva-h264.c). The main supported features are: - profile: baseline, main, high, stereo high - level: up to 4.2 - bitrate mode: CBR, VBR - entropy mode: CABAC, CAVLC - video aspect: 1x1 only Signed-off-by: Yannick Fertre <yannick.fertre@st.com> Signed-off-by: Jean-Christophe Trotin <jean-christophe.trotin@st.com> Acked-by: Peter Griffin <peter.griffin@linaro.org> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/media/platform/sti/hva/hva.h')
-rw-r--r--drivers/media/platform/sti/hva/hva.h35
1 files changed, 30 insertions, 5 deletions
diff --git a/drivers/media/platform/sti/hva/hva.h b/drivers/media/platform/sti/hva/hva.h
index b62fda0..caa5808 100644
--- a/drivers/media/platform/sti/hva/hva.h
+++ b/drivers/media/platform/sti/hva/hva.h
@@ -23,6 +23,9 @@
#define HVA_PREFIX "[---:----]"
+extern const struct hva_enc nv12h264enc;
+extern const struct hva_enc nv21h264enc;
+
/**
* struct hva_frameinfo - information about hva frame
*
@@ -67,13 +70,35 @@ struct hva_streaminfo {
* @gop_size: groupe of picture size
* @bitrate: bitrate (in bps)
* @aspect: video aspect
+ * @profile: H.264 profile
+ * @level: H.264 level
+ * @entropy_mode: H.264 entropy mode (CABAC or CVLC)
+ * @cpb_size: coded picture buffer size (in kB)
+ * @dct8x8: transform mode 8x8 enable
+ * @qpmin: minimum quantizer
+ * @qpmax: maximum quantizer
+ * @vui_sar: pixel aspect ratio enable
+ * @vui_sar_idc: pixel aspect ratio identifier
+ * @sei_fp: sei frame packing arrangement enable
+ * @sei_fp_type: sei frame packing arrangement type
*/
struct hva_controls {
- struct v4l2_fract time_per_frame;
- enum v4l2_mpeg_video_bitrate_mode bitrate_mode;
- u32 gop_size;
- u32 bitrate;
- enum v4l2_mpeg_video_aspect aspect;
+ struct v4l2_fract time_per_frame;
+ enum v4l2_mpeg_video_bitrate_mode bitrate_mode;
+ u32 gop_size;
+ u32 bitrate;
+ enum v4l2_mpeg_video_aspect aspect;
+ enum v4l2_mpeg_video_h264_profile profile;
+ enum v4l2_mpeg_video_h264_level level;
+ enum v4l2_mpeg_video_h264_entropy_mode entropy_mode;
+ u32 cpb_size;
+ bool dct8x8;
+ u32 qpmin;
+ u32 qpmax;
+ bool vui_sar;
+ enum v4l2_mpeg_video_h264_vui_sar_idc vui_sar_idc;
+ bool sei_fp;
+ enum v4l2_mpeg_video_h264_sei_fp_arrangement_type sei_fp_type;
};
/**
OpenPOWER on IntegriCloud