Loading msm/vidc/msm_vidc_buffer_calculations.c +6 −2 Original line number Diff line number Diff line Loading @@ -938,6 +938,8 @@ u32 msm_vidc_calculate_dec_input_frame_size(struct msm_vidc_inst *inst) if (base_res_mbs > inst->capability.cap[CAP_MBS_PER_FRAME].max) { base_res_mbs = inst->capability.cap[CAP_MBS_PER_FRAME].max; div_factor = 1; if (num_mbs < NUM_MBS_720P) base_res_mbs = base_res_mbs * 2; } frame_size = base_res_mbs * MB_SIZE_IN_PIXEL * 3 / 2 / div_factor; Loading Loading @@ -1423,7 +1425,9 @@ static inline u32 calculate_enc_scratch_size(struct msm_vidc_inst *inst, bitstream_size = aligned_width * aligned_height * 3; bitbin_size = ALIGN(bitstream_size, VENUS_DMA_ALIGNMENT); } if (num_vpp_pipes > 2) if (aligned_width * aligned_height >= 7680 * 4320) size_singlePipe = bitbin_size / 4; else if (num_vpp_pipes > 2) size_singlePipe = bitbin_size / 2; else size_singlePipe = bitbin_size; Loading Loading @@ -1831,7 +1835,7 @@ static inline u32 calculate_enc_scratch2_size(struct msm_vidc_inst *inst, metadata_stride, meta_buf_height); size = (aligned_height + chroma_height) * aligned_width + meta_size_y + meta_size_c; size = (size * (num_ref+3)) + 4096; size = (size * (num_ref + 2)) + 4096; } else { ref_buf_height = (height + (HFI_VENUS_HEIGHT_ALIGNMENT - 1)) & (~(HFI_VENUS_HEIGHT_ALIGNMENT - 1)); Loading msm/vidc/msm_vidc_platform.c +2 −2 Original line number Diff line number Diff line Loading @@ -621,7 +621,7 @@ static struct msm_vidc_codec_capability bengal_capabilities_v0[] = { {CAP_SECURE_BITRATE, DOMAINS_ALL, CODECS_ALL, 1, 35000000, 1, 20000000}, /* All intra encoding usecase specific */ {CAP_ALLINTRA_MAX_FPS, ENC, H264|HEVC, 1, 30, 1, 30}, {CAP_ALLINTRA_MAX_FPS, ENC, H264|HEVC, 1, 60, 1, 30}, /* Image specific */ {CAP_HEVC_IMAGE_FRAME_WIDTH, ENC, HEVC, 128, 512, 1, 512}, Loading Loading @@ -685,7 +685,7 @@ static struct msm_vidc_codec_capability bengal_capabilities_v1[] = { {CAP_SECURE_BITRATE, DOMAINS_ALL, CODECS_ALL, 1, 35000000, 1, 20000000}, /* All intra encoding usecase specific */ {CAP_ALLINTRA_MAX_FPS, ENC, H264|HEVC, 1, 30, 1, 30}, {CAP_ALLINTRA_MAX_FPS, ENC, H264|HEVC, 1, 60, 1, 30}, /* Image specific */ {CAP_HEVC_IMAGE_FRAME_WIDTH, ENC, HEVC, 128, 512, 1, 512}, Loading Loading
msm/vidc/msm_vidc_buffer_calculations.c +6 −2 Original line number Diff line number Diff line Loading @@ -938,6 +938,8 @@ u32 msm_vidc_calculate_dec_input_frame_size(struct msm_vidc_inst *inst) if (base_res_mbs > inst->capability.cap[CAP_MBS_PER_FRAME].max) { base_res_mbs = inst->capability.cap[CAP_MBS_PER_FRAME].max; div_factor = 1; if (num_mbs < NUM_MBS_720P) base_res_mbs = base_res_mbs * 2; } frame_size = base_res_mbs * MB_SIZE_IN_PIXEL * 3 / 2 / div_factor; Loading Loading @@ -1423,7 +1425,9 @@ static inline u32 calculate_enc_scratch_size(struct msm_vidc_inst *inst, bitstream_size = aligned_width * aligned_height * 3; bitbin_size = ALIGN(bitstream_size, VENUS_DMA_ALIGNMENT); } if (num_vpp_pipes > 2) if (aligned_width * aligned_height >= 7680 * 4320) size_singlePipe = bitbin_size / 4; else if (num_vpp_pipes > 2) size_singlePipe = bitbin_size / 2; else size_singlePipe = bitbin_size; Loading Loading @@ -1831,7 +1835,7 @@ static inline u32 calculate_enc_scratch2_size(struct msm_vidc_inst *inst, metadata_stride, meta_buf_height); size = (aligned_height + chroma_height) * aligned_width + meta_size_y + meta_size_c; size = (size * (num_ref+3)) + 4096; size = (size * (num_ref + 2)) + 4096; } else { ref_buf_height = (height + (HFI_VENUS_HEIGHT_ALIGNMENT - 1)) & (~(HFI_VENUS_HEIGHT_ALIGNMENT - 1)); Loading
msm/vidc/msm_vidc_platform.c +2 −2 Original line number Diff line number Diff line Loading @@ -621,7 +621,7 @@ static struct msm_vidc_codec_capability bengal_capabilities_v0[] = { {CAP_SECURE_BITRATE, DOMAINS_ALL, CODECS_ALL, 1, 35000000, 1, 20000000}, /* All intra encoding usecase specific */ {CAP_ALLINTRA_MAX_FPS, ENC, H264|HEVC, 1, 30, 1, 30}, {CAP_ALLINTRA_MAX_FPS, ENC, H264|HEVC, 1, 60, 1, 30}, /* Image specific */ {CAP_HEVC_IMAGE_FRAME_WIDTH, ENC, HEVC, 128, 512, 1, 512}, Loading Loading @@ -685,7 +685,7 @@ static struct msm_vidc_codec_capability bengal_capabilities_v1[] = { {CAP_SECURE_BITRATE, DOMAINS_ALL, CODECS_ALL, 1, 35000000, 1, 20000000}, /* All intra encoding usecase specific */ {CAP_ALLINTRA_MAX_FPS, ENC, H264|HEVC, 1, 30, 1, 30}, {CAP_ALLINTRA_MAX_FPS, ENC, H264|HEVC, 1, 60, 1, 30}, /* Image specific */ {CAP_HEVC_IMAGE_FRAME_WIDTH, ENC, HEVC, 128, 512, 1, 512}, Loading