本文整理汇总了C++中DDL_MSG_LOW函数的典型用法代码示例。如果您正苦于以下问题:C++ DDL_MSG_LOW函数的具体用法?C++ DDL_MSG_LOW怎么用?C++ DDL_MSG_LOW使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了DDL_MSG_LOW函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ddl_encoder_eos_done
static void ddl_encoder_eos_done(struct ddl_context *ddl_context)
{
struct ddl_client_context *ddl;
u32 channel_inst_id;
vidc_1080p_get_returned_channel_inst_id(&channel_inst_id);
vidc_1080p_clear_returned_channel_inst_id();
ddl = ddl_get_current_ddl_client_for_channel_id(ddl_context,
ddl_context->response_cmd_ch_id);
if (!ddl || (!DDLCLIENT_STATE_IS(ddl, DDL_CLIENT_WAIT_FOR_EOS_DONE))) {
DDL_MSG_ERROR("STATE-CRITICAL-EOSFRMDONE");
ddl_client_fatal_cb(ddl);
} else {
struct ddl_encoder_data *encoder = &(ddl->codec_data.encoder);
vidc_1080p_get_encode_frame_info(&encoder->enc_frame_info);
ddl_handle_enc_frame_done(ddl);
DDL_MSG_LOW("encoder_eos_done");
ddl->cmd_state = DDL_CMD_INVALID;
DDL_MSG_LOW("ddl_state_transition: %s ~~>"
"DDL_CLIENT_WAIT_FOR_FRAME",
ddl_get_state_string(ddl->client_state));
ddl->client_state = DDL_CLIENT_WAIT_FOR_FRAME;
DDL_MSG_LOW("eos_done");
ddl_context->ddl_callback(VCD_EVT_RESP_EOS_DONE,
VCD_S_SUCCESS, NULL, 0,
(u32 *)ddl, ddl->client_data);
ddl_release_command_channel(ddl_context,
ddl->command_channel);
}
}
示例2: ddl_dpb_buffers_set_done_callback
static u32 ddl_dpb_buffers_set_done_callback(
struct ddl_context *ddl_context)
{
struct ddl_client_context *ddl;
u32 channel_inst_id, ret_status = true;
DDL_MSG_MED("ddl_dpb_buffers_set_done_callback");
vidc_1080p_get_returned_channel_inst_id(&channel_inst_id);
vidc_1080p_clear_returned_channel_inst_id();
ddl = ddl_get_current_ddl_client_for_command(ddl_context,
DDL_CMD_DECODE_SET_DPB);
if (ddl) {
ddl->cmd_state = DDL_CMD_INVALID;
if (!DDLCLIENT_STATE_IS(ddl, DDL_CLIENT_WAIT_FOR_DPBDONE)) {
DDL_MSG_ERROR("STATE-CRITICAL-DPBDONE");
ddl_client_fatal_cb(ddl);
} else {
DDL_MSG_LOW("INTR_DPBDONE");
DDL_MSG_LOW("ddl_state_transition: %s ~~>"
"DDL_CLIENT_WAIT_FOR_FRAME",
ddl_get_state_string(ddl->client_state));
if (vidc_msg_timing) {
ddl_calc_core_proc_time(__func__, DEC_OP_TIME);
ddl_reset_core_time_variables(DEC_OP_TIME);
}
ddl->client_state = DDL_CLIENT_WAIT_FOR_FRAME;
ddl_vidc_decode_frame_run(ddl);
ret_status = false;
}
}
return ret_status;
}
示例3: ddl_channel_end_callback
static void ddl_channel_end_callback(struct ddl_context *ddl_context)
{
struct ddl_client_context *ddl;
DDL_MSG_MED("ddl_channel_end_callback");
ddl = ddl_get_current_ddl_client_for_command(ddl_context,
DDL_CMD_CHANNEL_END);
if (ddl) {
ddl->cmd_state = DDL_CMD_INVALID;
if (!DDLCLIENT_STATE_IS(ddl, DDL_CLIENT_WAIT_FOR_CHEND)) {
DDL_MSG_LOW("STATE-CRITICAL-CHEND");
} else {
DDL_MSG_LOW("CH_END_DONE");
ddl_release_client_internal_buffers(ddl);
ddl_context->ddl_callback(VCD_EVT_RESP_STOP,
VCD_S_SUCCESS, NULL, 0, (u32 *)ddl,
ddl->client_data);
DDL_MSG_LOW("ddl_state_transition: %s ~~>"
"DDL_CLIENT_OPEN",
ddl_get_state_string(ddl->client_state));
ddl->client_state = DDL_CLIENT_OPEN;
}
ddl_release_command_channel(ddl_context,
ddl->command_channel);
}
}
示例4: ddl_encoder_seq_done_callback
static u32 ddl_encoder_seq_done_callback(struct ddl_context_type *p_ddl_context,
struct ddl_client_context_type *p_ddl)
{
struct ddl_encoder_data_type *p_encoder;
DDL_MSG_MED("ddl_encoder_seq_done_callback");
if (!DDLCLIENT_STATE_IS(p_ddl, DDL_CLIENT_WAIT_FOR_INITCODECDONE)) {
DDL_MSG_ERROR("STATE-CRITICAL-INITCODEC");
ddl_client_fatal_cb(p_ddl);
return TRUE;
}
p_ddl->e_cmd_state = DDL_CMD_INVALID;
DDL_MSG_LOW("ddl_state_transition: %s ~~> DDL_CLIENT_WAIT_FOR_FRAME",
ddl_get_state_string(p_ddl->e_client_state));
p_ddl->e_client_state = DDL_CLIENT_WAIT_FOR_FRAME;
DDL_MSG_LOW("INIT_CODEC_DONE");
p_encoder = &p_ddl->codec_data.encoder;
vidc_1080p_get_encoder_sequence_header_size(
&p_encoder->n_seq_header_length);
p_ddl_context->ddl_callback(VCD_EVT_RESP_START, VCD_S_SUCCESS,
NULL, 0, (u32 *) p_ddl, p_ddl->p_client_data);
ddl_release_command_channel(p_ddl_context,
p_ddl->n_command_channel);
return TRUE;
}
示例5: ddl_encoder_seq_done_callback
static u32 ddl_encoder_seq_done_callback(struct ddl_context *ddl_context,
struct ddl_client_context *ddl)
{
struct ddl_encoder_data *encoder;
DDL_MSG_MED("ddl_encoder_seq_done_callback");
if (!DDLCLIENT_STATE_IS(ddl, DDL_CLIENT_WAIT_FOR_INITCODECDONE)) {
DDL_MSG_ERROR("STATE-CRITICAL-INITCODEC");
ddl_client_fatal_cb(ddl);
return true;
}
if (vidc_msg_timing)
ddl_calc_core_proc_time(__func__, ENC_OP_TIME);
ddl->cmd_state = DDL_CMD_INVALID;
DDL_MSG_LOW("ddl_state_transition: %s ~~> DDL_CLIENT_WAIT_FOR_FRAME",
ddl_get_state_string(ddl->client_state));
ddl->client_state = DDL_CLIENT_WAIT_FOR_FRAME;
DDL_MSG_LOW("INIT_CODEC_DONE");
encoder = &ddl->codec_data.encoder;
vidc_1080p_get_encoder_sequence_header_size(
&encoder->seq_header_length);
if ((encoder->codec.codec == VCD_CODEC_H264) &&
(encoder->profile.profile == VCD_PROFILE_H264_BASELINE))
if ((encoder->seq_header.align_virtual_addr) &&
(encoder->seq_header_length > 6))
encoder->seq_header.align_virtual_addr[6] = 0xC0;
ddl_context->ddl_callback(VCD_EVT_RESP_START, VCD_S_SUCCESS,
NULL, 0, (u32 *) ddl, ddl->client_data);
ddl_release_command_channel(ddl_context,
ddl->command_channel);
return true;
}
示例6: ddl_input_failed_cb
static void ddl_input_failed_cb(struct ddl_client_context_type *p_ddl,
u32 vcd_event, u32 vcd_status)
{
struct ddl_context_type *p_ddl_context = p_ddl->p_ddl_context;
u32 n_payload_size = sizeof(struct ddl_frame_data_type_tag);
p_ddl->e_cmd_state = DDL_CMD_INVALID;
if (p_ddl->b_decoding)
ddl_vidc_decode_dynamic_property(p_ddl, FALSE);
else
ddl_vidc_encode_dynamic_property(p_ddl, FALSE);
if (p_ddl->e_client_state == DDL_CLIENT_WAIT_FOR_INITCODECDONE) {
n_payload_size = 0;
DDL_MSG_LOW("ddl_state_transition: %s ~~> "
"DDL_CLIENT_WAIT_FOR_INITCODEC",
ddl_get_state_string(p_ddl->e_client_state));
p_ddl->e_client_state = DDL_CLIENT_WAIT_FOR_INITCODEC;
} else {
DDL_MSG_LOW("ddl_state_transition: %s ~~> "
"DDL_CLIENT_WAIT_FOR_FRAME",
ddl_get_state_string(p_ddl->e_client_state));
p_ddl->e_client_state = DDL_CLIENT_WAIT_FOR_FRAME;
}
p_ddl_context->ddl_callback(vcd_event, vcd_status, &p_ddl->input_frame,
n_payload_size, (u32 *)p_ddl, p_ddl->p_client_data);
}
示例7: ddl_set_core_start_time
void ddl_set_core_start_time(const char *func_name, u32 index)
{
u32 act_time;
struct timeval ddl_tv;
struct time_data *time_data = &proc_time[index];
do_gettimeofday(&ddl_tv);
act_time = (ddl_tv.tv_sec * 1000) + (ddl_tv.tv_usec / 1000);
if (!time_data->ddl_t1) {
time_data->ddl_t1 = act_time;
DDL_MSG_LOW("\n%s(): Start Time (%u)", func_name, act_time);
} else if (vidc_msg_timing) {
DDL_MSG_LOW("\n%s(): Timer already started! St(%u) Act(%u)",
func_name, time_data->ddl_t1, act_time);
}
}
示例8: ddl_fw_init
u32 ddl_fw_init(struct ddl_buf_addr *dram_base)
{
u8 *dest_addr;
dest_addr = DDL_GET_ALIGNED_VITUAL(*dram_base);
DDL_MSG_LOW("FW Addr / FW Size : %x/%d", (u32)vidc_video_codec_fw,
vidc_video_codec_fw_size);
if (res_trk_check_for_sec_session() && res_trk_is_cp_enabled()) {
if (res_trk_enable_footswitch()) {
pr_err("Failed to enable footswitch");
return false;
}
if (res_trk_enable_iommu_clocks()) {
res_trk_disable_footswitch();
pr_err("Failed to enable iommu clocks\n");
return false;
}
dram_base->pil_cookie = pil_get("vidc");
if (res_trk_disable_iommu_clocks())
pr_err("Failed to disable iommu clocks\n");
if (IS_ERR_OR_NULL(dram_base->pil_cookie)) {
res_trk_disable_footswitch();
pr_err("pil_get failed\n");
return false;
}
} else {
if (vidc_video_codec_fw_size > dram_base->buffer_size ||
!vidc_video_codec_fw)
return false;
memcpy(dest_addr, vidc_video_codec_fw,
vidc_video_codec_fw_size);
}
return true;
}
示例9: ddl_eos_frame_done_callback
static u32 ddl_eos_frame_done_callback(
struct ddl_client_context *ddl)
{
struct ddl_context *ddl_context = ddl->ddl_context;
struct ddl_decoder_data *decoder = &ddl->codec_data.decoder;
struct ddl_mask *dpb_mask = &decoder->dpb_mask;
u32 ret_status = true, rsl_chg;
enum vidc_1080p_display_status disp_status;
if (!DDLCLIENT_STATE_IS(ddl, DDL_CLIENT_WAIT_FOR_EOS_DONE)) {
DDL_MSG_ERROR("STATE-CRITICAL-EOSFRMRUN");
ddl_client_fatal_cb(ddl);
} else {
DDL_MSG_LOW("EOS_FRM_RUN_DONE");
ddl->cmd_state = DDL_CMD_INVALID;
get_dec_status(&ddl->codec_data.decoder.dec_disp_info,
ddl->codec_data.decoder.output_order,
&disp_status, &rsl_chg);
ddl_vidc_decode_dynamic_property(ddl, false);
if (disp_status ==
VIDC_1080P_DISPLAY_STATUS_DPB_EMPTY) {
ddl_decoder_eos_done_callback(ddl);
} else {
struct vidc_1080p_dec_frame_start_param dec_param;
ret_status = false;
if (disp_status ==
VIDC_1080P_DISPLAY_STATUS_DISPLAY_ONLY) {
if (ddl_decoder_output_done_callback(
ddl, false))
ret_status = true;
} else if (disp_status !=
VIDC_1080P_DISPLAY_STATUS_NOOP)
DDL_MSG_ERROR("EOS-STATE-CRITICAL-"
"WRONG-DISP-STATUS");
if (!ret_status) {
ddl_decoder_dpb_transact(decoder, NULL,
DDL_DPB_OP_SET_MASK);
ddl->cmd_state = DDL_CMD_EOS;
memset(&dec_param, 0, sizeof(dec_param));
dec_param.cmd_seq_num =
++ddl_context->cmd_seq_num;
dec_param.inst_id = ddl->instance_id;
dec_param.shared_mem_addr_offset =
DDL_ADDR_OFFSET(
ddl_context->dram_base_a,
ddl->shared_mem[ddl->command_channel]);
dec_param.release_dpb_bit_mask =
dpb_mask->hw_mask;
dec_param.decode =
VIDC_1080P_DEC_TYPE_LAST_FRAME_DATA;
ddl_context->vidc_decode_frame_start[ddl->\
command_channel](&dec_param);
}
}
}
return ret_status;
}
示例10: ddl_sys_init_done_callback
static void ddl_sys_init_done_callback(struct ddl_context *ddl_context,
u32 fw_size)
{
u32 vcd_status = VCD_S_SUCCESS;
u8 *fw_ver;
DDL_MSG_MED("ddl_sys_init_done_callback");
if (!DDLCOMMAND_STATE_IS(ddl_context, DDL_CMD_DMA_INIT)) {
DDL_MSG_ERROR("UNKNOWN_SYS_INIT_DONE");
} else {
ddl_context->cmd_state = DDL_CMD_INVALID;
DDL_MSG_LOW("SYS_INIT_DONE");
vidc_1080p_get_fw_version(&ddl_context->fw_version);
fw_ver = (u8 *)&ddl_context->fw_version;
DDL_MSG_ERROR("fw_version %x:%x:20%x",
fw_ver[1]&0xFF, fw_ver[0]&0xFF, fw_ver[2]&0xFF);
if (ddl_context->fw_memory_size >= fw_size) {
ddl_context->device_state = DDL_DEVICE_INITED;
vcd_status = VCD_S_SUCCESS;
} else
vcd_status = VCD_ERR_FAIL;
ddl_context->ddl_callback(VCD_EVT_RESP_DEVICE_INIT,
vcd_status, NULL, 0, NULL,
ddl_context->client_data);
DDL_IDLE(ddl_context);
}
}
示例11: ddl_print_buffer_port
static void ddl_print_buffer_port(struct ddl_context *ddl_context,
struct ddl_buf_addr *buf, u32 idx, u8 *str)
{
DDL_MSG_LOW("\n");
ddl_print_buffer(ddl_context, buf, idx, str);
ddl_print_port(ddl_context, buf);
}
示例12: ddl_print_buffer
static void ddl_print_buffer(struct ddl_context *ddl_context,
struct ddl_buf_addr *buf, u32 idx, u8 *str)
{
struct ddl_buf_addr *base_ram;
s32 offset;
size_t sz, KB = 0;
base_ram = &ddl_context->dram_base_a;
offset = (s32) DDL_ADDR_OFFSET(*base_ram, *buf);
sz = buf->buffer_size;
if (sz > 0) {
if (!(sz % 1024)) {
sz /= 1024;
KB++;
if (!(sz % 1024)) {
sz /= 1024;
KB++;
}
}
}
DDL_MSG_LOW("\n%12s [%2d]: 0x%08x [0x%04x], 0x%08x(%d%s), %s",
str, idx, (u32) buf->align_physical_addr,
(offset > 0) ? offset : 0, buf->buffer_size, sz,
((2 == KB) ? "MB" : (1 == KB) ? "KB" : ""),
(((u32) buf->virtual_base_addr) ? "Alloc" : ""));
}
示例13: ddl_channel_set_callback
static u32 ddl_channel_set_callback(struct ddl_context *ddl_context,
u32 instance_id)
{
struct ddl_client_context *ddl;
u32 ret = false;
DDL_MSG_MED("ddl_channel_open_callback");
ddl = ddl_get_current_ddl_client_for_command(ddl_context,
DDL_CMD_CHANNEL_SET);
if (ddl) {
ddl->cmd_state = DDL_CMD_INVALID;
if (!DDLCLIENT_STATE_IS(ddl, DDL_CLIENT_WAIT_FOR_CHDONE)) {
DDL_MSG_ERROR("STATE-CRITICAL-CHSET");
ddl_release_command_channel(ddl_context,
ddl->command_channel);
} else {
DDL_MSG_LOW("CH_SET_DONE");
DDL_MSG_LOW("ddl_state_transition: %s ~~>"
"DDL_CLIENT_WAIT_FOR_INITCODEC",
ddl_get_state_string(ddl->client_state));
ddl->client_state = DDL_CLIENT_WAIT_FOR_INITCODEC;
ddl->instance_id = instance_id;
if (ddl->decoding) {
if (vidc_msg_timing)
ddl_calc_core_proc_time(__func__,
DEC_OP_TIME);
if (ddl->codec_data.decoder.header_in_start)
ddl_vidc_decode_init_codec(ddl);
else {
ddl_context->ddl_callback(
VCD_EVT_RESP_START,
VCD_S_SUCCESS, NULL, 0,
(u32 *)ddl,
ddl->client_data);
ddl_release_command_channel(
ddl_context,
ddl->command_channel);
ret = true;
}
} else
ddl_vidc_encode_init_codec(ddl);
}
}
return ret;
}
示例14: ddl_print_port
static void ddl_print_port(struct ddl_context *ddl_context,
struct ddl_buf_addr *buf)
{
struct ddl_buf_addr *a = &ddl_context->dram_base_a;
struct ddl_buf_addr *b = &ddl_context->dram_base_b;
if (!buf->align_physical_addr || !buf->buffer_size)
return;
if (buf->align_physical_addr >= a->align_physical_addr &&
buf->align_physical_addr + buf->buffer_size <=
a->align_physical_addr + a->buffer_size)
DDL_MSG_LOW(" -A [0x%x]-", DDL_ADDR_OFFSET(*a, *buf));
else if (buf->align_physical_addr >= b->align_physical_addr &&
buf->align_physical_addr + buf->buffer_size <=
b->align_physical_addr + b->buffer_size)
DDL_MSG_LOW(" -B [0x%x]-", DDL_ADDR_OFFSET(*b, *buf));
else
DDL_MSG_LOW(" -?-");
}
示例15: ddl_channel_set_callback
static u32 ddl_channel_set_callback(struct ddl_context_type *p_ddl_context,
u32 n_instance_id)
{
struct ddl_client_context_type *p_ddl;
u32 b_ret = FALSE;
DDL_MSG_MED("ddl_channel_open_callback");
p_ddl = ddl_get_current_ddl_client_for_command(p_ddl_context,
DDL_CMD_CHANNEL_SET);
if (p_ddl) {
p_ddl->e_cmd_state = DDL_CMD_INVALID;
if (!DDLCLIENT_STATE_IS(p_ddl, DDL_CLIENT_WAIT_FOR_CHDONE)) {
DDL_MSG_ERROR("STATE-CRITICAL-CHSET");
ddl_release_command_channel(p_ddl_context,
p_ddl->n_command_channel);
} else {
DDL_MSG_LOW("CH_SET_DONE");
DDL_MSG_LOW("ddl_state_transition: %s ~~>\
DDL_CLIENT_WAIT_FOR_INITCODEC",
ddl_get_state_string(p_ddl->e_client_state));
p_ddl->e_client_state = DDL_CLIENT_WAIT_FOR_INITCODEC;
p_ddl->n_channel_id = n_instance_id;
if (p_ddl->b_decoding) {
if (p_ddl->codec_data.decoder.b_header_in_start)
ddl_vidc_decode_init_codec(p_ddl);
else {
p_ddl_context->ddl_callback(
VCD_EVT_RESP_START,
VCD_S_SUCCESS, NULL, 0,
(u32 *)p_ddl,
p_ddl->p_client_data);
ddl_release_command_channel(
p_ddl_context,
p_ddl->n_command_channel);
b_ret = TRUE;
}
} else
ddl_vidc_encode_init_codec(p_ddl);
}
}
return b_ret;
}