diff options
author | Jean-Christophe Trotin <jean-christophe.trotin@st.com> | 2016-09-05 11:06:30 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2016-09-09 10:34:32 -0300 |
commit | ba4616b7d9b9324021985fc5ecd9a9acd2f1f0f2 (patch) | |
tree | a134dc22d045a72a0484446bda068641f2f7b21c /drivers/media/platform/sti/hva/hva.h | |
parent | 57b2c0628b6042b7cfad387fe54951ddf7185fd2 (diff) | |
download | op-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.h | 35 |
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; }; /** |