media: allegro: add helper to get entropy mode

The driver only supports CAVLC for H.264, but HEVC only uses CABAC. As
the driver has to explicitly tell the MCU to use CABAC for HEVC, add a
helper function to get the entropy mode.

Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
Michael Tretter 2020-12-03 12:01:02 +01:00 committed by Mauro Carvalho Chehab
parent 2b6e6e5b26
commit 655ef9f9e8

View file

@ -944,6 +944,14 @@ static s16 get_qp_delta(int minuend, int subtrahend)
return minuend - subtrahend;
}
static u32 allegro_channel_get_entropy_mode(struct allegro_channel *channel)
{
#define ALLEGRO_ENTROPY_MODE_CAVLC 0
#define ALLEGRO_ENTROPY_MODE_CABAC 1
return ALLEGRO_ENTROPY_MODE_CAVLC;
}
static int fill_create_channel_param(struct allegro_channel *channel,
struct create_channel_param *param)
{
@ -974,6 +982,7 @@ static int fill_create_channel_param(struct allegro_channel *channel,
param->temporal_mvp_enable = channel->temporal_mvp_enable;
param->dbf_ovr_en = channel->dbf_ovr_en;
param->entropy_mode = allegro_channel_get_entropy_mode(channel);
param->rdo_cost_mode = 1;
param->custom_lda = 1;
param->lf = 1;