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

Commit 2999a5c6 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: vidc: refinements for lossless encoding"

parents bebfa4a4 d9ceba87
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -894,7 +894,7 @@ u32 msm_vidc_calculate_enc_output_frame_size(struct msm_vidc_inst *inst)
		frame_size = frame_size << 1;

	if (inst->rc_type == RATE_CONTROL_LOSSLESS)
		frame_size = (width * height * 6);
		frame_size = (width * height * 9) >> 2;

	/*
	 * In case of opaque color format bitdepth will be known
@@ -1303,6 +1303,8 @@ static inline u32 calculate_enc_scratch_size(struct msm_vidc_inst *inst,
		bitbin_size = ALIGN(bitstream_size, VENUS_DMA_ALIGNMENT);
	}
	size_singlePipe = bitbin_size / 2;
	if (inst->rc_type == RATE_CONTROL_LOSSLESS)
		size_singlePipe <<= 1;
	size_singlePipe = ALIGN(size_singlePipe, VENUS_DMA_ALIGNMENT);
	sao_bin_buffer_size = (64 * (((width + BUFFER_ALIGNMENT_SIZE(32)) *
		(height + BUFFER_ALIGNMENT_SIZE(32))) >> 10)) + 384;
+3 −5
Original line number Diff line number Diff line
@@ -1514,11 +1514,9 @@ int msm_vidc_decide_work_mode_iris2(struct msm_vidc_inst *inst)
			/* For WORK_MODE_1, set Low Latency mode by default */
			latency.enable = true;
		}
		if (inst->rc_type == RATE_CONTROL_LOSSLESS &&
			out_f->fmt.pix_mp.pixelformat == V4L2_PIX_FMT_H264) {
			dprintk(VIDC_HIGH,
				"Set work mode to low latency for AVC lossless encoding.");
			latency.enable = true;
		if (inst->rc_type == RATE_CONTROL_LOSSLESS) {
			pdata.video_work_mode = HFI_WORKMODE_2;
			latency.enable = false;
		}
	} else {
		return -EINVAL;