Merge "video: driver: Use max fps from inst caps"

This commit is contained in:
qctecmdr
2021-10-31 10:34:02 -07:00
committed by Gerrit - the friendly Code Review server
5 changed files with 10 additions and 8 deletions

View File

@@ -18,6 +18,8 @@
#define MAX_BASE_LAYER_PRIORITY_ID 63 #define MAX_BASE_LAYER_PRIORITY_ID 63
#define MAX_BITRATE 220000000 #define MAX_BITRATE 220000000
#define DEFAULT_BITRATE 20000000 #define DEFAULT_BITRATE 20000000
#define MINIMUM_FPS 1
#define MAXIMUM_FPS 960
#define MIN_QP_10BIT -12 #define MIN_QP_10BIT -12
#define MIN_QP_8BIT 0 #define MIN_QP_8BIT 0
#define MAX_QP 51 #define MAX_QP 51

View File

@@ -166,7 +166,7 @@ u64 msm_vidc_calc_freq_iris2(struct msm_vidc_inst *inst, u32 data_size)
vsp_cycles += mbs_per_second * base_cycles; vsp_cycles += mbs_per_second * base_cycles;
/* Add 25 percent extra for 960fps use case */ /* Add 25 percent extra for 960fps use case */
if (fps >= MAXIMUM_FPS) if (fps >= 960)
vsp_cycles += div_u64(vpp_cycles * 25, 100); vsp_cycles += div_u64(vpp_cycles * 25, 100);
if (inst->codec == MSM_VIDC_VP9 && if (inst->codec == MSM_VIDC_VP9 &&
@@ -372,7 +372,7 @@ static u64 __calculate_decoder(struct vidc_bus_vote_data *d)
llc.line_buffer_write + ddr.total; llc.line_buffer_write + ddr.total;
/* Add 25 percent extra for 960fps use case */ /* Add 25 percent extra for 960fps use case */
if (fps >= MAXIMUM_FPS) { if (fps >= 960) {
ddr.total += div_u64(ddr.total * 25, 100); ddr.total += div_u64(ddr.total * 25, 100);
llc.total += div_u64(llc.total * 25, 100); llc.total += div_u64(llc.total * 25, 100);
} }

View File

@@ -30,8 +30,6 @@
#define MIN_SUPPORTED_WIDTH 32 #define MIN_SUPPORTED_WIDTH 32
#define MIN_SUPPORTED_HEIGHT 32 #define MIN_SUPPORTED_HEIGHT 32
#define DEFAULT_FPS 30 #define DEFAULT_FPS 30
#define MINIMUM_FPS 1
#define MAXIMUM_FPS 960
#define MAXIMUM_VP9_FPS 60 #define MAXIMUM_VP9_FPS 60
#define SINGLE_INPUT_BUFFER 1 #define SINGLE_INPUT_BUFFER 1
#define SINGLE_OUTPUT_BUFFER 1 #define SINGLE_OUTPUT_BUFFER 1

View File

@@ -729,11 +729,12 @@ int msm_vidc_enum_frameintervals(void *instance, struct v4l2_frmivalenum *fival)
fival->type = V4L2_FRMIVAL_TYPE_STEPWISE; fival->type = V4L2_FRMIVAL_TYPE_STEPWISE;
fival->stepwise.min.numerator = 1; fival->stepwise.min.numerator = 1;
fival->stepwise.min.denominator = min_t(u32, fps, MAXIMUM_FPS); fival->stepwise.min.denominator =
min_t(u32, fps, capability->cap[FRAME_RATE].max);
fival->stepwise.max.numerator = 1; fival->stepwise.max.numerator = 1;
fival->stepwise.max.denominator = 1; fival->stepwise.max.denominator = 1;
fival->stepwise.step.numerator = 1; fival->stepwise.step.numerator = 1;
fival->stepwise.step.denominator = MAXIMUM_FPS; fival->stepwise.step.denominator = capability->cap[FRAME_RATE].max;
return 0; return 0;
} }

View File

@@ -2641,7 +2641,7 @@ void msm_vidc_allow_dcvs(struct msm_vidc_inst *inst)
struct msm_vidc_core *core; struct msm_vidc_core *core;
u32 fps; u32 fps;
if (!inst || !inst->core) { if (!inst || !inst->core || !inst->capabilities) {
d_vpr_e("%s: Invalid args: %pK\n", __func__, inst); d_vpr_e("%s: Invalid args: %pK\n", __func__, inst);
return; return;
} }
@@ -2696,7 +2696,8 @@ void msm_vidc_allow_dcvs(struct msm_vidc_inst *inst)
} }
fps = msm_vidc_get_fps(inst); fps = msm_vidc_get_fps(inst);
if (is_decode_session(inst) && fps >= MAXIMUM_FPS) { if (is_decode_session(inst) &&
fps >= inst->capabilities->cap[FRAME_RATE].max) {
allow = false; allow = false;
i_vpr_h(inst, "%s: unsupported fps %d\n", __func__, fps); i_vpr_h(inst, "%s: unsupported fps %d\n", __func__, fps);
goto exit; goto exit;