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

Commit b7a0d4a6 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: vidc: Add support for output crop extra data"

parents 3336c326 ce60f3d6
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -635,6 +635,7 @@ static int get_hfi_extradata_index(enum hal_extradata_id index)
	case HAL_EXTRADATA_ASPECT_RATIO:
	case HAL_EXTRADATA_INPUT_CROP:
	case HAL_EXTRADATA_DIGITAL_ZOOM:
	case HAL_EXTRADATA_OUTPUT_CROP:
		ret = HFI_PROPERTY_PARAM_INDEX_EXTRADATA;
		break;
	case HAL_EXTRADATA_MPEG2_SEQDISP:
@@ -684,6 +685,9 @@ static int get_hfi_extradata_id(enum hal_extradata_id index)
	case HAL_EXTRADATA_DIGITAL_ZOOM:
		ret = MSM_VIDC_EXTRADATA_DIGITAL_ZOOM;
		break;
	case HAL_EXTRADATA_OUTPUT_CROP:
		ret = MSM_VIDC_EXTRADATA_OUTPUT_CROP;
		break;
	default:
		ret = get_hfi_extradata_index(index);
		break;
+4 −2
Original line number Diff line number Diff line
@@ -73,6 +73,7 @@ static const char *const mpeg_video_vidc_extradata[] = {
	"Extradata frame QP",
	"Extradata frame bits info",
	"Extradata VQZip SEI",
	"Extradata output crop",
};
static const char *const mpeg_vidc_video_alloc_mode_type[] = {
	"Buffer Allocation Static",
@@ -272,7 +273,7 @@ static struct msm_vidc_ctrl msm_vdec_ctrls[] = {
		.name = "Extradata Type",
		.type = V4L2_CTRL_TYPE_MENU,
		.minimum = V4L2_MPEG_VIDC_EXTRADATA_NONE,
		.maximum = V4L2_MPEG_VIDC_EXTRADATA_VQZIP_SEI,
		.maximum = V4L2_MPEG_VIDC_EXTRADATA_OUTPUT_CROP,
		.default_value = V4L2_MPEG_VIDC_EXTRADATA_NONE,
		.menu_skip_mask = ~(
			(1 << V4L2_MPEG_VIDC_EXTRADATA_NONE) |
@@ -295,7 +296,8 @@ static struct msm_vidc_ctrl msm_vdec_ctrls[] = {
			(1 << V4L2_MPEG_VIDC_EXTRADATA_STREAM_USERDATA) |
			(1 << V4L2_MPEG_VIDC_EXTRADATA_FRAME_QP) |
			(1 << V4L2_MPEG_VIDC_EXTRADATA_FRAME_BITS_INFO) |
			(1 << V4L2_MPEG_VIDC_EXTRADATA_VQZIP_SEI)
			(1 << V4L2_MPEG_VIDC_EXTRADATA_VQZIP_SEI) |
			(1 << V4L2_MPEG_VIDC_EXTRADATA_OUTPUT_CROP)
			),
		.qmenu = mpeg_video_vidc_extradata,
	},
+3 −0
Original line number Diff line number Diff line
@@ -4626,6 +4626,9 @@ enum hal_extradata_id msm_comm_get_hal_extradata_index(
	case V4L2_MPEG_VIDC_EXTRADATA_ROI_QP:
		ret = HAL_EXTRADATA_ROI_QP;
		break;
	case V4L2_MPEG_VIDC_EXTRADATA_OUTPUT_CROP:
		ret = HAL_EXTRADATA_OUTPUT_CROP;
		break;
	default:
		dprintk(VIDC_WARN, "Extradata not found: %d\n", index);
		break;
+14 −1
Original line number Diff line number Diff line
/* Copyright (c) 2012-2015, The Linux Foundation. All rights reserved.
/* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -92,6 +92,7 @@
#define HFI_EXTRADATA_METADATA_FILLER		0x7FE00002

#define HFI_INDEX_EXTRADATA_INPUT_CROP		0x0700000E
#define HFI_INDEX_EXTRADATA_OUTPUT_CROP		0x0700000F
#define HFI_INDEX_EXTRADATA_ASPECT_RATIO	0x7F100003

struct hfi_buffer_alloc_mode {
@@ -842,6 +843,18 @@ struct hfi_index_extradata_input_crop_payload {
	u32 height;
};

struct hfi_index_extradata_output_crop_payload {
	u32 size;
	u32 version;
	u32 port_index;
	u32 left;
	u32 top;
	u32 display_width;
	u32 display_height;
	u32 width;
	u32 height;
};

struct hfi_index_extradata_digital_zoom_payload {
	u32 size;
	u32 version;
+1 −0
Original line number Diff line number Diff line
@@ -121,6 +121,7 @@ enum hal_extradata_id {
	HAL_EXTRADATA_VQZIP_SEI,
	HAL_EXTRADATA_YUV_STATS,
	HAL_EXTRADATA_ROI_QP,
	HAL_EXTRADATA_OUTPUT_CROP,
};

enum hal_property {
Loading