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

Commit 37d6b535 authored by Ashray Kulkarni's avatar Ashray Kulkarni Committed by Praneeth Paladugu
Browse files

msm: vidc: Update minimum decoder output buffer count



For video decoder, minimum output buffer count returned by firmware
might not be sufficient for smooth playback performance. This commit
updates the minimum output buffer count for video decoder.

Change-Id: I240020e4b8e5f185c37af538cc1bd5426b9d8b04
Signed-off-by: default avatarAshray Kulkarni <ashrayk@codeaurora.org>
Signed-off-by: default avatarPraneeth Paladugu <ppaladug@codeaurora.org>
parent ea87e19a
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -21,6 +21,8 @@

#define MSM_VDEC_DVC_NAME "msm_vdec_8974"
#define MIN_NUM_OUTPUT_BUFFERS 4
#define MIN_NUM_CAPTURE_BUFFERS 6
#define MIN_NUM_THUMBNAIL_MODE_CAPTURE_BUFFERS 1
#define MAX_NUM_OUTPUT_BUFFERS VB2_MAX_FRAME
#define DEFAULT_VIDEO_CONCEAL_COLOR_BLACK 0x8010
#define MB_SIZE_IN_PIXEL (16 * 16)
@@ -1572,6 +1574,7 @@ static int msm_vdec_queue_setup(struct vb2_queue *q,
	struct msm_vidc_inst *inst;
	struct hal_buffer_requirements *bufreq;
	int extra_idx = 0;
	int min_buff_count = 0;

	if (!q || !num_buffers || !num_planes
		|| !sizes || !q->drv_priv) {
@@ -1625,6 +1628,14 @@ static int msm_vdec_queue_setup(struct vb2_queue *q,
		}

		*num_buffers = max(*num_buffers, bufreq->buffer_count_min);

		min_buff_count = (!!(inst->flags & VIDC_THUMBNAIL)) ?
			MIN_NUM_THUMBNAIL_MODE_CAPTURE_BUFFERS :
				MIN_NUM_CAPTURE_BUFFERS;

		*num_buffers = clamp_val(*num_buffers,
			min_buff_count, VB2_MAX_FRAME);

		dprintk(VIDC_DBG, "Set actual output buffer count: %d\n",
				*num_buffers);
		rc = set_actual_buffer_count(inst, *num_buffers,