您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ DDL_MSG_HIGH函数代码示例

51自学网 2021-06-01 20:19:08
  C++
这篇教程C++ DDL_MSG_HIGH函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中DDL_MSG_HIGH函数的典型用法代码示例。如果您正苦于以下问题:C++ DDL_MSG_HIGH函数的具体用法?C++ DDL_MSG_HIGH怎么用?C++ DDL_MSG_HIGH使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了DDL_MSG_HIGH函数的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: ddl_get_decoded_frame

static u32 ddl_get_decoded_frame(struct vcd_frame_data  *frame,	enum vidc_1080p_decode_frame frame_type){	u32 status = true;	switch (frame_type) {	case VIDC_1080P_DECODE_FRAMETYPE_I:		frame->flags |= VCD_FRAME_FLAG_SYNCFRAME;		frame->frame = VCD_FRAME_I;	break;	case VIDC_1080P_DECODE_FRAMETYPE_P:		frame->frame = VCD_FRAME_P;	break;	case VIDC_1080P_DECODE_FRAMETYPE_B:		frame->frame = VCD_FRAME_B;	break;	case VIDC_1080P_DECODE_FRAMETYPE_NOT_CODED:		frame->frame = VCD_FRAME_NOTCODED;		frame->data_len = 0;		DDL_MSG_HIGH("DDL_INFO:Decoder:NotCodedFrame>");	break;	case VIDC_1080P_DECODE_FRAMETYPE_OTHERS:		frame->frame = VCD_FRAME_YUV;	break;	case VIDC_1080P_DECODE_FRAMETYPE_32BIT:	default:		DDL_MSG_ERROR("UNKNOWN-FRAMETYPE");		status = false;	break;	}	return status;}
开发者ID:nickcttm,项目名称:HTC-JetStream-HC-Kernel,代码行数:32,


示例2: ddl_set_property

u32 ddl_set_property(u32 *ddl_handle,	struct vcd_property_hdr *property_hdr, void *property_value){	struct ddl_context *ddl_context;	struct ddl_client_context *ddl =		(struct ddl_client_context *) ddl_handle;	u32 vcd_status;	DDL_MSG_HIGH("ddl_set_property");	if (!property_hdr || !property_value) {		DDL_MSG_ERROR("ddl_set_prop:Bad_argument");		return VCD_ERR_ILLEGAL_PARM;	}	ddl_context = ddl_get_context();	if (!DDL_IS_INITIALIZED(ddl_context)) {		DDL_MSG_ERROR("ddl_set_prop:Not_inited");		return VCD_ERR_ILLEGAL_OP;	}	if (!ddl) {		DDL_MSG_ERROR("ddl_set_prop:Bad_handle");		return VCD_ERR_BAD_HANDLE;	}	if (ddl->decoding)		vcd_status = ddl_set_dec_property(ddl, property_hdr,				property_value);	else		vcd_status = ddl_set_enc_property(ddl, property_hdr,				property_value);	if (vcd_status)		DDL_MSG_ERROR("ddl_set_prop:FAILED");	return vcd_status;}
开发者ID:325116067,项目名称:semc-qsd8x50,代码行数:32,


示例3: ddl_encode_start

u32 ddl_encode_start(u32 *ddl_handle, void *client_data){	struct ddl_client_context *ddl =		(struct ddl_client_context *) ddl_handle;	struct ddl_context *ddl_context;	struct ddl_encoder_data *encoder;	void *ptr;	u32 status = VCD_S_SUCCESS;	DDL_MSG_HIGH("ddl_encode_start");#ifdef DDL_PROFILE	if (first_time < 2) {		ddl_reset_time_variables(1);		first_time++;	 }	ddl_get_core_start_time(1);#endif	ddl_context = ddl_get_context();	if (!DDL_IS_INITIALIZED(ddl_context)) {		DDL_MSG_ERROR("ddl_enc_start:Not_inited");		return VCD_ERR_ILLEGAL_OP;	}	if (DDL_IS_BUSY(ddl_context)) {		DDL_MSG_ERROR("ddl_enc_start:Ddl_busy");		return VCD_ERR_BUSY;	}	if (!ddl || ddl->decoding) {		DDL_MSG_ERROR("ddl_enc_start:Bad_handle");		return VCD_ERR_BAD_HANDLE;	}	if (!DDLCLIENT_STATE_IS(ddl, DDL_CLIENT_OPEN)) {		DDL_MSG_ERROR("ddl_enc_start:Not_opened");		return VCD_ERR_ILLEGAL_OP;	}	if (!ddl_encoder_ready_to_start(ddl)) {		DDL_MSG_ERROR("ddl_enc_start:Err_param_settings");		return VCD_ERR_ILLEGAL_OP;	}	encoder = &ddl->codec_data.encoder;	status = ddl_allocate_enc_hw_buffers(ddl);	if (status)		return status;#ifdef DDL_BUF_LOG	ddl_list_buffers(ddl);#endif	ptr = ddl_pmem_alloc(&encoder->seq_header,		DDL_ENC_SEQHEADER_SIZE, DDL_LINEAR_BUFFER_ALIGN_BYTES);	if (!ptr) {		ddl_free_enc_hw_buffers(ddl);		DDL_MSG_ERROR("ddl_enc_start:Seq_hdr_alloc_failed");		return VCD_ERR_ALLOC_FAIL;	}	if (!ddl_take_command_channel(ddl_context, ddl, client_data))		return VCD_ERR_BUSY;	ddl_vidc_channel_set(ddl);	return status;}
开发者ID:LeeDroid-,项目名称:Shooter-2.6.35-MR,代码行数:58,


示例4: ddl_frame_run_callback

static u32 ddl_frame_run_callback(struct ddl_context *ddl_context){	struct ddl_client_context *ddl;	u32 channel_inst_id;	u32 return_status = true;	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) {		if (ddl_context->pix_cache_enable) {			struct vidc_1080P_pix_cache_statistics			pixel_cache_stats;			vidc_pix_cache_get_statistics(&pixel_cache_stats);			DDL_MSG_HIGH(" pixel cache hits = %d,"				"miss = %d", pixel_cache_stats.access_hit,				pixel_cache_stats.access_miss);			DDL_MSG_HIGH(" pixel cache core reqs = %d,"				"axi reqs = %d", pixel_cache_stats.core_req,				pixel_cache_stats.axi_req);			DDL_MSG_HIGH(" pixel cache core bus stats = %d,"			"axi bus stats = %d", pixel_cache_stats.core_bus,				pixel_cache_stats.axi_bus);		}		if (ddl->cmd_state == DDL_CMD_DECODE_FRAME)			return_status = ddl_decoder_frame_run_callback(ddl);		else if (ddl->cmd_state == DDL_CMD_ENCODE_FRAME)			ddl_encoder_frame_run_callback(ddl);		else if (ddl->cmd_state == DDL_CMD_EOS)			return_status = ddl_eos_frame_done_callback(ddl);		else {			DDL_MSG_ERROR("UNKWN_FRAME_DONE");			return_status = false;		}	} else		return_status = false;	return return_status;}
开发者ID:nickcttm,项目名称:HTC-JetStream-HC-Kernel,代码行数:42,


示例5: ddl_get_property

u32 ddl_get_property(u32 *ddl_handle,	struct vcd_property_hdr *property_hdr, void *property_value){	struct ddl_context *ddl_context;	struct ddl_client_context *ddl =		(struct ddl_client_context *) ddl_handle;	u32 vcd_status = VCD_ERR_ILLEGAL_PARM;	DDL_MSG_HIGH("ddl_get_property");	if (!property_hdr || !property_value)		return VCD_ERR_ILLEGAL_PARM;	if (property_hdr->prop_id == DDL_I_CAPABILITY) {		if (sizeof(struct ddl_property_capability) ==			property_hdr->sz) {			struct ddl_property_capability *ddl_capability =				(struct ddl_property_capability *)				property_value;			ddl_capability->max_num_client = VCD_MAX_NO_CLIENT;			ddl_capability->exclusive = VCD_COMMAND_EXCLUSIVE;			ddl_capability->frame_command_depth =				VCD_FRAME_COMMAND_DEPTH;			ddl_capability->general_command_depth =				VCD_GENEVIDC_COMMAND_DEPTH;			ddl_capability->ddl_time_out_in_ms =				DDL_HW_TIMEOUT_IN_MS;			vcd_status = VCD_S_SUCCESS;		}		return vcd_status;	}	ddl_context = ddl_get_context();	if (!DDL_IS_INITIALIZED(ddl_context))		return VCD_ERR_ILLEGAL_OP;	if (!ddl)		return VCD_ERR_BAD_HANDLE;	if (ddl->decoding)		vcd_status = ddl_get_dec_property(ddl, property_hdr,				property_value);	else		vcd_status = ddl_get_enc_property(ddl, property_hdr,				property_value);	if (vcd_status)		DDL_MSG_ERROR("ddl_get_prop:FAILED");	else		DDL_MSG_ERROR("ddl_get_prop:SUCCESS");	return vcd_status;}
开发者ID:325116067,项目名称:semc-qsd8x50,代码行数:47,


示例6: ddl_decoder_seq_done_callback

//.........这里部分代码省略.........		decoder->frame_size.stride =		DDL_ALIGN(decoder->frame_size.width, DDL_TILE_ALIGN_WIDTH);		parse_hdr_crop_data(ddl, &seq_hdr_info);		if (decoder->codec.codec == VCD_CODEC_H264 &&			seq_hdr_info.level > VIDC_1080P_H264_LEVEL4) {			DDL_MSG_ERROR("WARNING: H264MaxLevelExceeded : %d",				seq_hdr_info.level);		}		ddl_set_default_decoder_buffer_req(decoder, false);		if (decoder->header_in_start) {			if (!(decoder->cont_mode) ||				(decoder->min_dpb_num >				 decoder->client_output_buf_req.min_count) ||				(decoder->actual_output_buf_req.sz >				 decoder->client_output_buf_req.sz)) {				decoder->client_frame_size =					 decoder->frame_size;			decoder->client_output_buf_req =				decoder->actual_output_buf_req;			decoder->client_input_buf_req =				decoder->actual_input_buf_req;			}			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);		} else {			u32 seq_hdr_only_frame = false;			u32 need_reconfig = false;			struct vcd_frame_data *input_vcd_frm =				&ddl->input_frame.vcd_frm;			need_reconfig = ddl_check_reconfig(ddl);			DDL_MSG_HIGH("%s : need_reconfig = %u/n", __func__,				 need_reconfig);			if (input_vcd_frm->flags &				  VCD_FRAME_FLAG_EOS) {					need_reconfig = false;			}			if (((input_vcd_frm->flags &				VCD_FRAME_FLAG_CODECCONFIG) &&				(!(input_vcd_frm->flags &				VCD_FRAME_FLAG_SYNCFRAME))) ||				input_vcd_frm->data_len <=				seq_hdr_info.dec_frm_size) {				seq_hdr_only_frame = true;				input_vcd_frm->offset +=					seq_hdr_info.dec_frm_size;				input_vcd_frm->data_len = 0;				input_vcd_frm->flags |=					VCD_FRAME_FLAG_CODECCONFIG;				ddl->input_frame.frm_trans_end =					!need_reconfig;				ddl_context->ddl_callback(					VCD_EVT_RESP_INPUT_DONE,					VCD_S_SUCCESS, &ddl->input_frame,					sizeof(struct ddl_frame_data_tag),					(u32 *) ddl, ddl->client_data);			} else {				if (decoder->codec.codec ==					VCD_CODEC_VC1_RCV) {					vidc_sm_set_start_byte_number(						&ddl->shared_mem						[ddl->command_channel],						seq_hdr_info.dec_frm_size);				}
开发者ID:nickcttm,项目名称:HTC-JetStream-HC-Kernel,代码行数:67,


示例7: ddl_get_encoded_frame

static u32 ddl_get_encoded_frame(struct vcd_frame_data *frame,	enum vcd_codec codec,	enum vidc_1080p_encode_frame frame_type){	u32 status = true;	if (codec == VCD_CODEC_H264) {		switch (frame_type) {		case VIDC_1080P_ENCODE_FRAMETYPE_NOT_CODED:			frame->frame = VCD_FRAME_P;		break;		case VIDC_1080P_ENCODE_FRAMETYPE_I:			frame->flags |= VCD_FRAME_FLAG_SYNCFRAME;			frame->frame = VCD_FRAME_I;		break;		case VIDC_1080P_ENCODE_FRAMETYPE_P:			frame->frame = VCD_FRAME_P;		break;		case VIDC_1080P_ENCODE_FRAMETYPE_B:			frame->frame = VCD_FRAME_B;			frame->flags |= VCD_FRAME_FLAG_BFRAME;		break;		case VIDC_1080P_ENCODE_FRAMETYPE_SKIPPED:			frame->frame = VCD_FRAME_NOTCODED;			frame->data_len = 0;		break;		case VIDC_1080P_ENCODE_FRAMETYPE_OTHERS:			DDL_MSG_LOW("FRAMETYPE-OTHERS");		break;		case VIDC_1080P_ENCODE_FRAMETYPE_32BIT:		default:			DDL_MSG_LOW("UNKNOWN-FRAMETYPE");			status = false;		break;		}	} else if (codec == VCD_CODEC_MPEG4) {		switch (frame_type) {		case VIDC_1080P_ENCODE_FRAMETYPE_NOT_CODED:			frame->frame = VCD_FRAME_P;		break;		case VIDC_1080P_ENCODE_FRAMETYPE_I:			frame->flags |= VCD_FRAME_FLAG_SYNCFRAME;			frame->frame = VCD_FRAME_I;		break;		case VIDC_1080P_ENCODE_FRAMETYPE_P:			frame->frame = VCD_FRAME_P;		break;		case VIDC_1080P_ENCODE_FRAMETYPE_B:			frame->frame = VCD_FRAME_B;			frame->flags |= VCD_FRAME_FLAG_BFRAME;		break;		case VIDC_1080P_ENCODE_FRAMETYPE_SKIPPED:			frame->frame = VCD_FRAME_NOTCODED;			frame->data_len = 0;		break;		case VIDC_1080P_ENCODE_FRAMETYPE_OTHERS:			DDL_MSG_LOW("FRAMETYPE-OTHERS");		break;		case VIDC_1080P_ENCODE_FRAMETYPE_32BIT:		default:			DDL_MSG_LOW("UNKNOWN-FRAMETYPE");			status = false;		break;		}	} else if (codec == VCD_CODEC_H263) {		switch (frame_type) {		case VIDC_1080P_ENCODE_FRAMETYPE_NOT_CODED:			frame->frame = VCD_FRAME_P;		break;		case VIDC_1080P_ENCODE_FRAMETYPE_I:			frame->flags |= VCD_FRAME_FLAG_SYNCFRAME;			frame->frame = VCD_FRAME_I;		break;		case VIDC_1080P_ENCODE_FRAMETYPE_P:			frame->frame = VCD_FRAME_P;		break;		case VIDC_1080P_ENCODE_FRAMETYPE_SKIPPED:			frame->frame = VCD_FRAME_NOTCODED;			frame->data_len = 0;		break;		case VIDC_1080P_ENCODE_FRAMETYPE_OTHERS:			DDL_MSG_LOW("FRAMETYPE-OTHERS");		break;		case VIDC_1080P_ENCODE_FRAMETYPE_32BIT:		default:			DDL_MSG_LOW("UNKNOWN-FRAMETYPE");			status = false;		break;		}	} else		status = false;	DDL_MSG_HIGH("Enc Frame Type %u", (u32)frame->frame);	return status;}
开发者ID:nickcttm,项目名称:HTC-JetStream-HC-Kernel,代码行数:94,


示例8: ddl_device_init

u32 ddl_device_init(struct ddl_init_config *ddl_init_config,	void *client_data){	struct ddl_context *ddl_context;	struct res_trk_firmware_addr firmware_addr;	u32 status = VCD_S_SUCCESS, memorytype = PMEM_MEMTYPE;	void *ptr = NULL;	DDL_MSG_HIGH("ddl_device_init");	if ((!ddl_init_config) || (!ddl_init_config->ddl_callback) ||		(!ddl_init_config->core_virtual_base_addr)) {		DDL_MSG_ERROR("ddl_dev_init:Bad_argument");		return VCD_ERR_ILLEGAL_PARM;	}	ddl_context = ddl_get_context();	if (DDL_IS_INITIALIZED(ddl_context)) {		DDL_MSG_ERROR("ddl_dev_init:Multiple_init");		return VCD_ERR_ILLEGAL_OP;	}	if (!DDL_IS_IDLE(ddl_context)) {		DDL_MSG_ERROR("ddl_dev_init:Ddl_busy");		return VCD_ERR_BUSY;	}	memset(ddl_context, 0, sizeof(struct ddl_context));	DDL_BUSY(ddl_context);	ddl_context->ddl_callback = ddl_init_config->ddl_callback;	if (ddl_init_config->interrupt_clr)		ddl_context->interrupt_clr =			ddl_init_config->interrupt_clr;	ddl_context->core_virtual_base_addr =		ddl_init_config->core_virtual_base_addr;	ddl_context->client_data = client_data;	ddl_context->ddl_hw_response.arg1 = DDL_INVALID_INTR_STATUS;	ddl_context->frame_channel_depth = VCD_FRAME_COMMAND_DEPTH;	DDL_MSG_LOW("%s() : virtual address of core(%x)/n", __func__,		(u32) ddl_init_config->core_virtual_base_addr);	vidc_1080p_set_device_base_addr(		ddl_context->core_virtual_base_addr);	ddl_context->cmd_state =	DDL_CMD_INVALID;	ddl_client_transact(DDL_INIT_CLIENTS, NULL);	ddl_context->fw_memory_size =		DDL_FW_INST_GLOBAL_CONTEXT_SPACE_SIZE;	if (memorytype == PMEM_MEMTYPE_SMI) {		ptr = ddl_pmem_alloc(&ddl_context->dram_base_a,			ddl_context->fw_memory_size, DDL_KILO_BYTE(128));	} else {		if (!res_trk_get_firmware_addr(&firmware_addr) &&		   firmware_addr.buf_size >= ddl_context->fw_memory_size) {			if (DDL_ADDR_IS_ALIGNED(firmware_addr.device_addr,				DDL_KILO_BYTE(128))) {				ptr = (void *) firmware_addr.base_addr;				ddl_context->dram_base_a.physical_base_addr =				ddl_context->dram_base_a.align_physical_addr =					(u8 *)firmware_addr.device_addr;				ddl_context->dram_base_a.align_virtual_addr  =				ddl_context->dram_base_a.virtual_base_addr =					firmware_addr.base_addr;				ddl_context->dram_base_a.buffer_size =					ddl_context->fw_memory_size;			} else {				DDL_MSG_ERROR("firmware base not aligned %p",					(void *)firmware_addr.device_addr);			}		}	}	if (!ptr) {		DDL_MSG_ERROR("Memory Aocation Failed for FW Base");		status = VCD_ERR_ALLOC_FAIL;	} else {		DDL_MSG_LOW("%s() : physical address of base(%x)/n",			 __func__, (u32) ddl_context->dram_base_a./			align_physical_addr);		ddl_context->dram_base_b.align_physical_addr =			ddl_context->dram_base_a.align_physical_addr;		ddl_context->dram_base_b.align_virtual_addr  =			ddl_context->dram_base_a.align_virtual_addr;	}	if (!status) {		ptr = ddl_pmem_alloc(&ddl_context->metadata_shared_input,			DDL_METADATA_TOTAL_INPUTBUFSIZE,			DDL_LINEAR_BUFFER_ALIGN_BYTES);		if (!ptr) {			DDL_MSG_ERROR("ddl_device_init: metadata alloc fail");			status = VCD_ERR_ALLOC_FAIL;		}	}	if (!status && !ddl_fw_init(&ddl_context->dram_base_a)) {		DDL_MSG_ERROR("ddl_dev_init:fw_init_failed");		status = VCD_ERR_ALLOC_FAIL;	}	if (!status && memorytype == PMEM_MEMTYPE_EBI1)		clean_caches((unsigned long)firmware_addr.base_addr,		firmware_addr.buf_size,	firmware_addr.device_addr);	if (!status) {		ddl_context->cmd_state = DDL_CMD_DMA_INIT;		ddl_vidc_core_init(ddl_context);	} else {//.........这里部分代码省略.........
开发者ID:vitaliyy,项目名称:msm7x30,代码行数:101,


示例9: ddl_encode_start

u32 ddl_encode_start(u32 *ddl_handle, void *client_data){	struct ddl_client_context *ddl =		(struct ddl_client_context *) ddl_handle;	struct ddl_context *ddl_context;	struct ddl_encoder_data *encoder;	void *ptr;	u32 status = VCD_S_SUCCESS;	DDL_MSG_HIGH("ddl_encode_start");	if (vidc_msg_timing) {		if (first_time < 2) {			ddl_reset_core_time_variables(ENC_OP_TIME);			first_time++;		 }		ddl_set_core_start_time(__func__, ENC_OP_TIME);	}	ddl_context = ddl_get_context();	if (!DDL_IS_INITIALIZED(ddl_context)) {		DDL_MSG_ERROR("ddl_enc_start:Not_inited");		return VCD_ERR_ILLEGAL_OP;	}	if (DDL_IS_BUSY(ddl_context)) {		DDL_MSG_ERROR("ddl_enc_start:Ddl_busy");		return VCD_ERR_BUSY;	}	if (!ddl || ddl->decoding) {		DDL_MSG_ERROR("ddl_enc_start:Bad_handle");		return VCD_ERR_BAD_HANDLE;	}	if (!DDLCLIENT_STATE_IS(ddl, DDL_CLIENT_OPEN)) {		DDL_MSG_ERROR("ddl_enc_start:Not_opened");		return VCD_ERR_ILLEGAL_OP;	}	if (!ddl_encoder_ready_to_start(ddl)) {		DDL_MSG_ERROR("ddl_enc_start:Err_param_settings");		return VCD_ERR_ILLEGAL_OP;	}	encoder = &ddl->codec_data.encoder;	status = ddl_allocate_enc_hw_buffers(ddl);	if (status)		return status;#ifdef DDL_BUF_LOG	ddl_list_buffers(ddl);#endif	if ((encoder->codec.codec == VCD_CODEC_MPEG4 &&		!encoder->short_header.short_header) ||		encoder->codec.codec == VCD_CODEC_H264) {		ptr = ddl_pmem_alloc(&encoder->seq_header,			DDL_ENC_SEQHEADER_SIZE, DDL_LINEAR_BUFFER_ALIGN_BYTES);		if (!ptr) {			ddl_free_enc_hw_buffers(ddl);			DDL_MSG_ERROR("ddl_enc_start:Seq_hdr_alloc_failed");			return VCD_ERR_ALLOC_FAIL;		}	} else {		encoder->seq_header.buffer_size = 0;		encoder->seq_header.virtual_base_addr = 0;		encoder->seq_header.align_physical_addr = 0;		encoder->seq_header.align_virtual_addr = 0;	}	if (!ddl_take_command_channel(ddl_context, ddl, client_data))		return VCD_ERR_BUSY;	ddl_vidc_channel_set(ddl);	return status;}
开发者ID:Kra1o5,项目名称:android_kernel_huawei_u8815-gb,代码行数:65,


示例10: ddl_decoder_output_done_callback

static u32 ddl_decoder_output_done_callback(	struct ddl_client_context *ddl, u32 frame_transact_end){	struct ddl_context *ddl_context = ddl->ddl_context;	struct ddl_decoder_data *decoder = &(ddl->codec_data.decoder);	struct vidc_1080p_dec_disp_info *dec_disp_info =		&(decoder->dec_disp_info);	struct ddl_frame_data_tag *output_frame = &(ddl->output_frame);	struct vcd_frame_data *output_vcd_frm = &(output_frame->vcd_frm);	u32 vcd_status, free_luma_dpb = 0, disp_pict = 0, is_interlaced;	get_dec_op_done_data(dec_disp_info, decoder->output_order,		&output_vcd_frm->physical, &is_interlaced);	decoder->progressive_only = !(is_interlaced);	output_vcd_frm->frame = VCD_FRAME_YUV;	if (decoder->codec.codec == VCD_CODEC_MPEG4 ||		decoder->codec.codec == VCD_CODEC_VC1 ||		decoder->codec.codec == VCD_CODEC_VC1_RCV ||		(decoder->codec.codec >= VCD_CODEC_DIVX_3 &&		decoder->codec.codec <= VCD_CODEC_XVID)) {		vidc_sm_get_displayed_picture_frame(&ddl->shared_mem		[ddl->command_channel], &disp_pict);		if (decoder->output_order == VCD_DEC_ORDER_DISPLAY) {			if (!disp_pict) {			output_vcd_frm->frame = VCD_FRAME_NOTCODED;			vidc_sm_get_available_luma_dpb_address(				&ddl->shared_mem[ddl->command_channel],				&free_luma_dpb);			}		} else {			if (dec_disp_info->input_frame ==				VIDC_1080P_DECODE_FRAMETYPE_NOT_CODED) {				output_vcd_frm->frame = VCD_FRAME_NOTCODED;			vidc_sm_get_available_luma_dpb_dec_order_address(					&ddl->shared_mem[ddl->command_channel],					&free_luma_dpb);			}		}			if (free_luma_dpb)				output_vcd_frm->physical =					(u8 *)(free_luma_dpb << 11);		}	vcd_status = ddl_decoder_dpb_transact(decoder, output_frame,			DDL_DPB_OP_MARK_BUSY);	if (vcd_status) {		DDL_MSG_ERROR("CORRUPTED_OUTPUT_BUFFER_ADDRESS");		ddl_hw_fatal_cb(ddl);	} else {		vidc_sm_get_metadata_status(&ddl->shared_mem			[ddl->command_channel],			&decoder->meta_data_exists);		if (decoder->output_order == VCD_DEC_ORDER_DISPLAY)			vidc_sm_get_frame_tags(&ddl->shared_mem				[ddl->command_channel],				&dec_disp_info->tag_top,				&dec_disp_info->tag_bottom);		output_vcd_frm->ip_frm_tag = dec_disp_info->tag_top;		vidc_sm_get_picture_times(&ddl->shared_mem			[ddl->command_channel],			&dec_disp_info->pic_time_top,			&dec_disp_info->pic_time_bottom);		get_dec_op_done_crop(decoder->output_order, dec_disp_info,			&output_vcd_frm->dec_op_prop.disp_frm,			&output_vcd_frm->dec_op_prop.frm_size,			&decoder->frame_size,			&ddl->shared_mem[ddl_context->response_cmd_ch_id]);		if ((decoder->cont_mode) &&			((output_vcd_frm->dec_op_prop.frm_size.width !=			decoder->frame_size.width) ||			(output_vcd_frm->dec_op_prop.frm_size.height !=			decoder->frame_size.height) ||			(decoder->frame_size.width !=			decoder->client_frame_size.width) ||			(decoder->frame_size.height !=			decoder->client_frame_size.height))) {			DDL_MSG_LOW("%s o/p width = %u o/p height = %u"				"decoder width = %u decoder height = %u ",				__func__,				output_vcd_frm->dec_op_prop.frm_size.width,				output_vcd_frm->dec_op_prop.frm_size.height,				decoder->frame_size.width,				decoder->frame_size.height);			DDL_MSG_HIGH("%s Sending INFO_OP_RECONFIG event/n",				 __func__);			ddl_context->ddl_callback(				VCD_EVT_IND_INFO_OUTPUT_RECONFIG,				VCD_S_SUCCESS, NULL, 0,				(u32 *)ddl,				ddl->client_data);			decoder->frame_size =				 output_vcd_frm->dec_op_prop.frm_size;			decoder->client_frame_size = decoder->frame_size;			decoder->y_cb_cr_size =				ddl_get_yuv_buffer_size(&decoder->frame_size,					&decoder->buf_format,					(!decoder->progressive_only),					decoder->codec.codec, NULL);			decoder->actual_output_buf_req.sz =				decoder->y_cb_cr_size + decoder->suffix;			decoder->min_output_buf_req =				decoder->actual_output_buf_req;//.........这里部分代码省略.........
开发者ID:nickcttm,项目名称:HTC-JetStream-HC-Kernel,代码行数:101,


示例11: vidc_sm_get_aspect_ratio_info

void vidc_sm_get_aspect_ratio_info(struct ddl_buf_addr *shared_mem,	enum vcd_codec codec, struct vcd_aspect_ratio *aspect_ratio_info){	u32 extended_par_info = 0, aspect_ratio = 0;	aspect_ratio = DDL_MEM_READ_32(shared_mem,				VIDC_SM_ASPECT_RATIO_INFO_ADDR);	if (codec == VCD_CODEC_H264) {		aspect_ratio_info->aspect_ratio =			VIDC_GETFIELD(aspect_ratio,			VIDC_SM_H264_ASPECT_RATIO_INFO_BMSK,			VIDC_SM_H264_ASPECT_RATIO_INFO_SHFT);		switch (aspect_ratio_info->aspect_ratio) {		case 1:			aspect_ratio_info->par_width    = 1;			aspect_ratio_info->par_height   = 1;			break;		case 2:			aspect_ratio_info->par_width    = 12;			aspect_ratio_info->par_height   = 11;			break;		case 3:			aspect_ratio_info->par_width    = 10;			aspect_ratio_info->par_height   = 11;			break;		case 4:			aspect_ratio_info->par_width    = 16;			aspect_ratio_info->par_height   = 11;			break;		case 5:			aspect_ratio_info->par_width    = 40;			aspect_ratio_info->par_height   = 33;			break;		case 6:			aspect_ratio_info->par_width    = 24;			aspect_ratio_info->par_height   = 11;			break;		case 7:			aspect_ratio_info->par_width    = 20;			aspect_ratio_info->par_height   = 11;			break;		case 8:			aspect_ratio_info->par_width    = 32;			aspect_ratio_info->par_height   = 11;			break;		case 9:			aspect_ratio_info->par_width    = 80;			aspect_ratio_info->par_height   = 33;			break;		case 10:			aspect_ratio_info->par_width    = 18;			aspect_ratio_info->par_height   = 11;			break;		case 11:			aspect_ratio_info->par_width    = 15;			aspect_ratio_info->par_height   = 11;			break;		case 12:			aspect_ratio_info->par_width    = 64;			aspect_ratio_info->par_height   = 33;			break;		case 13:			aspect_ratio_info->par_width    = 160;			aspect_ratio_info->par_height   = 99;			break;		case 14:			aspect_ratio_info->par_width    = 4;			aspect_ratio_info->par_height   = 3;			break;		case 15:			aspect_ratio_info->par_width    = 3;			aspect_ratio_info->par_height   = 2;			break;		case 16:			aspect_ratio_info->par_width    = 2;			aspect_ratio_info->par_height   = 1;			break;		case 255:			extended_par_info = DDL_MEM_READ_32(shared_mem,				VIDC_SM_EXTENDED_PAR_ADDR);			aspect_ratio_info->par_width =				VIDC_GETFIELD(extended_par_info,				VIDC_SM_EXTENDED_PAR_WIDTH_BMSK,				VIDC_SM_EXTENDED_PAR_WIDTH_SHFT);			aspect_ratio_info->par_height =				VIDC_GETFIELD(extended_par_info,				VIDC_SM_EXTENDED_PAR_HEIGHT_BMSK,				VIDC_SM_EXTENDED_PAR_HEIGHT_SHFT);			break;		default:			DDL_MSG_HIGH("Incorrect Aspect Ratio.");			aspect_ratio_info->par_width    = 1;			aspect_ratio_info->par_height   = 1;			break;		}	} else if ((codec == VCD_CODEC_MPEG4) ||		(codec == VCD_CODEC_DIVX_4) ||		(codec == VCD_CODEC_DIVX_5) ||//.........这里部分代码省略.........
开发者ID:ian577416,项目名称:linux_lg_jb,代码行数:101,



注:本文中的DDL_MSG_HIGH函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ DDL_MSG_LOW函数代码示例
C++ DDL_MSG_ERROR函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。