Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7b4fa25d authored by Rajeshwar Kurapaty's avatar Rajeshwar Kurapaty Committed by Arun Menon
Browse files

msm: vidc: add hevc hybrid driver support



Changes to support hybrid hevc decoder in
v4l2 video driver. Dsp only hevc decoder does not
have mips to handle high resolution (1080p) and
software only solution has thermal/power impact.
Hybrid hevc decoder will have lower power numbers and
better performance for high resolution (1080p).

Change-Id: I9fc4e00fc230c481b18c929c5eb867ac80aec987
Signed-off-by: default avatarRajeshwar Kurapaty <rkurapat@codeaurora.org>
Signed-off-by: default avatarArun Menon <avmenon@codeaurora.org>
parent 200d6513
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -363,6 +363,14 @@ struct msm_vidc_format vdec_formats[] = {
		.get_frame_size = get_frame_size_compressed,
		.type = OUTPUT_PORT,
	},
	{
		.name = "HEVC_HYBRID",
		.description = "HEVC compressed format",
		.fourcc = V4L2_PIX_FMT_HEVC_HYBRID,
		.num_planes = 1,
		.get_frame_size = get_frame_size_compressed,
		.type = OUTPUT_PORT,
	},
	{
		.name = "VP8",
		.description = "VP8 compressed format",
+3 −1
Original line number Diff line number Diff line
@@ -1337,7 +1337,9 @@ static enum hal_video_codec get_hal_codec_type(int fourcc)
	case V4L2_PIX_FMT_HEVC:
		codec = HAL_VIDEO_CODEC_HEVC;
		break;

	case V4L2_PIX_FMT_HEVC_HYBRID:
		codec = HAL_VIDEO_CODEC_HEVC_HYBRID;
		break;
	default:
		dprintk(VIDC_ERR, "Wrong codec: %d\n", fourcc);
		codec = HAL_UNUSED_CODEC;
+1 −0
Original line number Diff line number Diff line
@@ -204,6 +204,7 @@ enum hal_video_codec {
	HAL_VIDEO_CODEC_VP7      = 0x00000800,
	HAL_VIDEO_CODEC_VP8      = 0x00001000,
	HAL_VIDEO_CODEC_HEVC     = 0x00002000,
	HAL_VIDEO_CODEC_HEVC_HYBRID     = 0x00004000,
	HAL_UNUSED_CODEC = 0x10000000,
};

+1 −0
Original line number Diff line number Diff line
@@ -80,6 +80,7 @@
#define HFI_VIDEO_CODEC_SPARK				0x00000200
#define HFI_VIDEO_CODEC_VP8				0x00001000
#define HFI_VIDEO_CODEC_HEVC				0x00002000
#define HFI_VIDEO_CODEC_HEVC_HYBRID			0x00004000

#define HFI_H264_PROFILE_BASELINE			0x00000001
#define HFI_H264_PROFILE_MAIN				0x00000002