/hardware/intel/common/libmix/mix_vbp/viddec_fw/fw/parser/ |
D | viddec_pm.c | 102 void viddec_pm_init_context(viddec_pm_cxt_t *cxt, uint32_t codec_type, uint32_t *persist_mem, uint3… in viddec_pm_init_context() argument 108 cxt->pending_tags.pending_tags[i] = INVALID_ENTRY; in viddec_pm_init_context() 110 cxt->frame_start_found = false; in viddec_pm_init_context() 111 cxt->found_fm_st_in_current_au = false; in viddec_pm_init_context() 112 cxt->late_frame_detect = (MFD_STREAM_FORMAT_H264 == codec_type) ? true:false; in viddec_pm_init_context() 113 …cxt->pending_tags.first_buf_aligned = cxt->pending_tags.using_next = cxt->pending_tags.frame_done … in viddec_pm_init_context() 114 …cxt->next_workload_error_eos = VIDDEC_FW_WORKLOAD_ERR_FLUSHED_FRAME | VIDDEC_FW_WORKLOAD_ERR_NOTDE… in viddec_pm_init_context() 115 viddec_pm_utils_list_init(&(cxt->list)); in viddec_pm_init_context() 116 cxt->cur_buf.list_index = -1; in viddec_pm_init_context() 117 cxt->parse_cubby.phase=0; in viddec_pm_init_context() [all …]
|
D | viddec_pm_parser_ops.c | 14 viddec_pm_cxt_t *cxt; in viddec_pm_get_bits() local 16 cxt = (viddec_pm_cxt_t *)parent; in viddec_pm_get_bits() 17 ret = viddec_pm_utils_bstream_peekbits(&(cxt->getbits), data, num_bits, 1); in viddec_pm_get_bits() 27 viddec_pm_cxt_t *cxt; in viddec_pm_peek_bits() local 29 cxt = (viddec_pm_cxt_t *)parent; in viddec_pm_peek_bits() 30 ret = viddec_pm_utils_bstream_peekbits(&(cxt->getbits), data, num_bits, 0); in viddec_pm_peek_bits() 37 viddec_pm_cxt_t *cxt; in viddec_pm_skip_bits() local 39 cxt = (viddec_pm_cxt_t *)parent; in viddec_pm_skip_bits() 40 ret = viddec_pm_utils_bstream_skipbits(&(cxt->getbits), num_bits); in viddec_pm_skip_bits() 47 viddec_pm_cxt_t *cxt; in viddec_pm_append_workitem() local [all …]
|
D | viddec_pm_tags.c | 44 viddec_pm_cxt_t *cxt = (viddec_pm_cxt_t *)parent; in viddec_pm_generic_generate_contribution_tags() local 45 viddec_pm_utils_list_t *list = &(cxt->list); in viddec_pm_generic_generate_contribution_tags() 49 if(!cxt->late_frame_detect) in viddec_pm_generic_generate_contribution_tags() 54 viddec_emit_contr_tag(&(cxt->emitter), &(list->sc_ibuf[num_items]), false, false); in viddec_pm_generic_generate_contribution_tags() 63 … viddec_emit_contr_tag(&(cxt->emitter), &(list->sc_ibuf[num_items]), true, false); in viddec_pm_generic_generate_contribution_tags() 72 cxt->late_frame_detect = false; in viddec_pm_generic_generate_contribution_tags() 87 viddec_pm_cxt_t *cxt = (viddec_pm_cxt_t *)parent; in viddec_pm_lateframe_generate_contribution_tags() local 88 viddec_pm_utils_list_t *list = &(cxt->list); in viddec_pm_lateframe_generate_contribution_tags() 96 viddec_emit_contr_tag(&(cxt->emitter), &(list->sc_ibuf[num_items]), true, false); in viddec_pm_lateframe_generate_contribution_tags() 101 … viddec_emit_contr_tag(&(cxt->emitter), &(list->sc_ibuf[num_items]), false, !ignore_partial); in viddec_pm_lateframe_generate_contribution_tags() [all …]
|
D | viddec_pm_utils_bstream.c | 11 void viddec_pm_utils_bstream_reload(viddec_pm_utils_bstream_cxt_t *cxt); 12 uint32_t viddec_pm_utils_bstream_getphys(viddec_pm_utils_bstream_cxt_t *cxt, uint32_t pos, uint32_t… 16 static inline uint32_t viddec_pm_utils_bstream_bytesincubby(viddec_pm_utils_bstream_buf_cxt_t *cxt) in viddec_pm_utils_bstream_bytesincubby() argument 18 return (cxt->buf_end - cxt->buf_index); in viddec_pm_utils_bstream_bytesincubby() 24 uint8_t viddec_pm_utils_bstream_nomorerbspdata(viddec_pm_utils_bstream_cxt_t *cxt) in viddec_pm_utils_bstream_nomorerbspdata() argument 30 …data_remaining = cxt->list->total_bytes - (cxt->au_pos + (cxt->bstrm_buf.buf_index - cxt->bstrm_bu… in viddec_pm_utils_bstream_nomorerbspdata() 41 ret = (cxt->bstrm_buf.buf[cxt->bstrm_buf.buf_index+1] == 0x0); in viddec_pm_utils_bstream_nomorerbspdata() 56 uint8_t viddec_pm_utils_bstream_nomoredata(viddec_pm_utils_bstream_cxt_t *cxt) in viddec_pm_utils_bstream_nomoredata() argument 62 last_byte_offset_plus_one = cxt->au_pos + (cxt->bstrm_buf.buf_end - cxt->bstrm_buf.buf_st); in viddec_pm_utils_bstream_nomoredata() 63 if((int32_t)last_byte_offset_plus_one >= cxt->list->total_bytes) in viddec_pm_utils_bstream_nomoredata() [all …]
|
D | viddec_parse_sc_fast_loop.c | 158 viddec_sc_parse_cubby_cxt_t *cxt; in viddec_parse_sc() local 162 cxt = (viddec_sc_parse_cubby_cxt_t *)in; in viddec_parse_sc() 165 boff = (int)cxt->buf & 0x3; in viddec_parse_sc() 167 cxt->sc_end_pos = parser_find_next_startcode( in viddec_parse_sc() 168 (const unsigned char *)cxt->buf - boff, in viddec_parse_sc() 170 cxt->size + boff, in viddec_parse_sc() 171 &cxt->phase ); in viddec_parse_sc() 173 if ( (int)cxt->sc_end_pos >= 0 ) in viddec_parse_sc() 175 cxt->sc_end_pos -= boff; in viddec_parse_sc() 178 if ( cxt->sc_end_pos < cxt->size ) in viddec_parse_sc() [all …]
|
D | viddec_parse_sc.c | 22 viddec_sc_parse_cubby_cxt_t *cxt; in viddec_parse_sc() local 27 cxt = ( viddec_sc_parse_cubby_cxt_t *)in; in viddec_parse_sc() 29 data_left = cxt->size; in viddec_parse_sc() 30 ptr = cxt->buf; in viddec_parse_sc() 31 phase = cxt->phase; in viddec_parse_sc() 32 cxt->sc_end_pos = -1; in viddec_parse_sc() 97 cxt->sc_end_pos = size; in viddec_parse_sc() 110 cxt->sc_end_pos++; in viddec_parse_sc() 111 state->next_sc = cxt->buf[cxt->sc_end_pos]; in viddec_parse_sc() 116 cxt->phase = phase; in viddec_parse_sc()
|
D | vbp_utils.c | 271 viddec_pm_cxt_t *cxt = pcontext->parser_cxt; in vbp_utils_parse_es_buffer() local 280 cxt->list.num_items = 0; in vbp_utils_parse_es_buffer() 317 cxt->getbits.list = &(cxt->list); in vbp_utils_parse_es_buffer() 320 cxt->getbits.bstrm_buf.buf = cxt->parse_cubby.buf; in vbp_utils_parse_es_buffer() 327 for (i = 0; i < cxt->list.num_items; i++) in vbp_utils_parse_es_buffer() 330 cxt->getbits.bstrm_buf.buf_index = cxt->list.data[i].stpos; in vbp_utils_parse_es_buffer() 331 cxt->getbits.bstrm_buf.buf_st = cxt->list.data[i].stpos; in vbp_utils_parse_es_buffer() 332 cxt->getbits.bstrm_buf.buf_end = cxt->list.data[i].edpos; in vbp_utils_parse_es_buffer() 335 cxt->getbits.bstrm_buf.buf_bitoff = 0; in vbp_utils_parse_es_buffer() 337 cxt->getbits.au_pos = 0; in vbp_utils_parse_es_buffer() [all …]
|
D | main.c | 113 …inline void mfd_setup_emitter(FW_IPC_Handle *fwipc, FW_IPC_ReceiveQue *rcv_q, mfd_pk_strm_cxt *cxt) in mfd_setup_emitter() argument 117 ret = FwIPC_PeekReadMessage(fwipc, rcv_q, (char *)&(cxt->wkld1), sizeof(ipc_msg_data), 0); in mfd_setup_emitter() 118 ret1 = FwIPC_PeekReadMessage(fwipc, rcv_q, (char *)&(cxt->wkld2), sizeof(ipc_msg_data), 1); in mfd_setup_emitter() 119 …viddec_emit_update(&(cxt->pm.emitter), cxt->wkld1.phys, cxt->wkld2.phys, cxt->wkld1.len, cxt->wkld… in mfd_setup_emitter() 148 mfd_pk_strm_cxt *cxt; in viddec_fw_init_swap_memory() local 150 cxt = (mfd_pk_strm_cxt *)&(_dmem.srm_cxt); in viddec_fw_init_swap_memory() 155 … cp_using_dma(cxt_swap->ddr_cxt, (uint32_t) &(cxt->pm), sizeof(viddec_pm_cxt_t), false, false); in viddec_fw_init_swap_memory() 159 …mfd_init_swap_memory(&(cxt->pm), cxt_swap->strm_type, cxt_swap->ddr_cxt+cxt_swap->cxt_size, clean); in viddec_fw_init_swap_memory() 165 … cp_using_dma(cxt_swap->ddr_cxt, (uint32_t) &(cxt->pm), sizeof(viddec_pm_cxt_t), true, false); in viddec_fw_init_swap_memory() 320 mfd_pk_strm_cxt *cxt; in viddec_fw_process_async_queues() local [all …]
|
D | viddec_emit.c | 30 int32_t viddec_emit_append(viddec_emitter_wkld *cxt, viddec_workload_item_t *item) in viddec_emit_append() argument 33 if((cxt->num_items < cxt->max_items) && (cxt->data != NULL)) in viddec_emit_append() 35 cxt->data->item[cxt->num_items] = *item; in viddec_emit_append() 36 cxt->num_items++; in viddec_emit_append() 38 …CDEB(0, "%s: item(%02d) = [%08x %08x %08x %08x]\n",__FUNCTION__, cxt->num_items - 1, item->vwi_typ… in viddec_emit_append() 42 … cxt->result |= (VIDDEC_FW_WORKLOAD_ERR_ITEMS_OVERFLOW | VIDDEC_FW_WORKLOAD_ERR_NOTDECODABLE); in viddec_emit_append() 43 …WRITE_SVEN(SVEN_MODULE_EVENT_GV_FW_FATAL_WKLD_OVERLFOW, (int)item->vwi_type, (int)(cxt->data), 0, … in viddec_emit_append()
|
D | vbp_vc1_parser.c | 200 viddec_pm_cxt_t *cxt, in vbp_parse_start_code_helper_vc1() argument 216 cubby = cxt->parse_cubby; in vbp_parse_start_code_helper_vc1() 218 cxt->list.num_items = 0; in vbp_parse_start_code_helper_vc1() 219 cxt->list.data[0].stpos = 0; in vbp_parse_start_code_helper_vc1() 220 cxt->getbits.is_emul_reqd = 1; in vbp_parse_start_code_helper_vc1() 236 ret = ops->parse_sc((void *)&cubby, (void *)&(cxt->codec_data[0]), &(cxt->sc_prefix_info)); in vbp_parse_start_code_helper_vc1() 244 0 == cxt->list.num_items) in vbp_parse_start_code_helper_vc1() 250 parser = (vc1_viddec_parser_t *)cxt->codec_data; in vbp_parse_start_code_helper_vc1() 259 cxt->list.num_items = 1; in vbp_parse_start_code_helper_vc1() 260 cxt->list.data[0].stpos = 0; in vbp_parse_start_code_helper_vc1() [all …]
|
D | vbp_utils.h | 34 typedef uint32 (*function_init_parser_entries)(vbp_context* cxt); 35 typedef uint32 (*function_allocate_query_data)(vbp_context* cxt); 36 typedef uint32 (*function_free_query_data)(vbp_context* cxt); 37 typedef uint32 (*function_parse_init_data)(vbp_context* cxt); 38 typedef uint32 (*function_parse_start_code)(vbp_context* cxt); 39 typedef uint32 (*function_process_parsing_result)(vbp_context* cxt, int i); 40 typedef uint32 (*function_populate_query_data)(vbp_context* cxt);
|
D | vbp_h264_parser.c | 815 viddec_pm_cxt_t *cxt = pcontext->parser_cxt; in vbp_add_pic_data_h264() local 822 parser = (struct h264_viddec_parser *)cxt->codec_data; in vbp_add_pic_data_h264() 1097 viddec_pm_cxt_t *cxt = pcontext->parser_cxt; in vbp_add_slice_data_h264() local 1109 h264_parser = (struct h264_viddec_parser *)cxt->codec_data; in vbp_add_slice_data_h264() 1120 slc_data->buffer_addr = cxt->parse_cubby.buf; in vbp_add_slice_data_h264() 1125 viddec_pm_get_au_pos(cxt, &bit, &byte, &is_emul); in vbp_add_slice_data_h264() 1159 slc_data->slice_offset = cxt->list.data[index].stpos; in vbp_add_slice_data_h264() 1175 if (cxt->getbits.emulation_byte_counter != 0) in vbp_add_slice_data_h264() 1177 slc_parms->slice_data_bit_offset -= cxt->getbits.emulation_byte_counter * 8; in vbp_add_slice_data_h264() 1252 viddec_pm_cxt_t *cxt = pcontext->parser_cxt; in vbp_parse_init_data_h264() local [all …]
|
D | viddec_pm_utils_list.c | 7 void viddec_pm_utils_list_init(viddec_pm_utils_list_t *cxt) in viddec_pm_utils_list_init() argument 9 cxt->num_items = 0; in viddec_pm_utils_list_init() 10 cxt->start_offset = 0; in viddec_pm_utils_list_init() 11 cxt->end_offset = -1; in viddec_pm_utils_list_init() 12 cxt->total_bytes = 0; in viddec_pm_utils_list_init() 13 cxt->first_scprfx_length = 0; in viddec_pm_utils_list_init()
|
D | vbp_mp42_parser.c | 172 viddec_pm_cxt_t *cxt = pcontext->parser_cxt; in vbp_parse_start_code_mp42() local 188 cxt->getbits.is_emul_reqd = 1; in vbp_parse_start_code_mp42() 190 cxt->list.num_items = 0; in vbp_parse_start_code_mp42() 191 cxt->list.data[0].stpos = 0; in vbp_parse_start_code_mp42() 192 cxt->list.data[0].edpos = cxt->parse_cubby.size; in vbp_parse_start_code_mp42() 194 buf = cxt->parse_cubby.buf; in vbp_parse_start_code_mp42() 195 size = cxt->parse_cubby.size; in vbp_parse_start_code_mp42() 197 pinfo = (viddec_mp4_parser_t *) &(cxt->codec_data[0]); in vbp_parse_start_code_mp42() 216 cxt->list.data[cxt->list.num_items].stpos = bytes_parsed in vbp_parse_start_code_mp42() 218 if (cxt->list.num_items != 0) { in vbp_parse_start_code_mp42() [all …]
|
D | viddec_pm_flush.c | 38 mfd_pk_strm_cxt *cxt; in viddec_fw_parser_flush() local 43 cxt = (mfd_pk_strm_cxt *)&(_dmem.srm_cxt); in viddec_fw_parser_flush() 45 pm = &(cxt->pm); in viddec_fw_parser_flush()
|
/hardware/intel/common/libmix/mix_vbp/viddec_fw/fw/parser/include/ |
D | viddec_pm_utils_bstream.h | 55 void viddec_pm_utils_bstream_init(viddec_pm_utils_bstream_cxt_t *cxt, viddec_pm_utils_list_t *list,… 57 int32_t viddec_pm_utils_bstream_skipbits(viddec_pm_utils_bstream_cxt_t *cxt, uint32_t num_bits); 59 int32_t viddec_pm_utils_bstream_peekbits(viddec_pm_utils_bstream_cxt_t *cxt, uint32_t *out, uint32_… 61 int32_t viddec_pm_utils_bstream_get_current_byte(viddec_pm_utils_bstream_cxt_t *cxt, uint8_t *byte); 63 uint8_t viddec_pm_utils_bstream_nomoredata(viddec_pm_utils_bstream_cxt_t *cxt); 65 uint8_t viddec_pm_utils_bstream_nomorerbspdata(viddec_pm_utils_bstream_cxt_t *cxt); 67 static inline void viddec_pm_utils_bstream_get_au_offsets(viddec_pm_utils_bstream_cxt_t *cxt, uint3… in viddec_pm_utils_bstream_get_au_offsets() argument 69 uint32_t phase=cxt->phase; in viddec_pm_utils_bstream_get_au_offsets() 71 *bit = cxt->bstrm_buf.buf_bitoff; in viddec_pm_utils_bstream_get_au_offsets() 72 *byte = cxt->au_pos + (cxt->bstrm_buf.buf_index - cxt->bstrm_buf.buf_st); in viddec_pm_utils_bstream_get_au_offsets() [all …]
|
D | viddec_emitter.h | 37 int32_t viddec_emit_append(viddec_emitter_wkld *cxt, viddec_workload_item_t *item); 42 static inline void viddec_emit_init(viddec_emitter *cxt) in viddec_emit_init() argument 44 cxt->cur.data = cxt->next.data = 0; in viddec_emit_init() 45 cxt->cur.max_items = cxt->next.max_items = 0; in viddec_emit_init() 46 cxt->cur.num_items = cxt->next.num_items = 0; in viddec_emit_init() 47 cxt->cur.result = cxt->next.result = VIDDEC_FW_WORKLOAD_SUCCESS; in viddec_emit_init() 50 static inline void viddec_emit_update(viddec_emitter *cxt, uint32_t cur, uint32_t next, uint32_t cu… in viddec_emit_update() argument 52 cxt->cur.data = (cur != 0) ? (viddec_workload_t *)(cur | DDR_MEM_MASK) : NULL; in viddec_emit_update() 53 cxt->next.data = (next != 0) ? (viddec_workload_t *)(next | DDR_MEM_MASK): NULL; in viddec_emit_update() 54 cxt->cur.max_items = (cur_size - sizeof(viddec_workload_t))/sizeof(viddec_workload_item_t); in viddec_emit_update() [all …]
|
D | viddec_pm.h | 85 void viddec_pm_init_context(viddec_pm_cxt_t *cxt, uint32_t codec_type, uint32_t *persist_mem, uint3… 88 uint32_t viddec_pm_parse_es_buffer(viddec_pm_cxt_t *cxt, uint32_t codec_type, viddec_input_buffer_t… 92 void viddec_pm_update_time(viddec_pm_cxt_t *cxt, uint32_t time);
|
D | viddec_pm_tags.h | 10 void viddec_pm_generate_tags_for_unused_buffers_to_flush(viddec_pm_cxt_t *cxt); 16 uint32_t viddec_pm_generate_missed_association_tags(viddec_pm_cxt_t *cxt, uint32_t using_next);
|
D | viddec_pm_utils_list.h | 36 void viddec_pm_utils_list_init(viddec_pm_utils_list_t *cxt);
|
/hardware/intel/common/libmix/mix_vbp/viddec_fw/fw/codecs/mp4/parser/ |
D | viddec_mp4_parse.c | 122 viddec_mp4_parser_t *cxt = (viddec_mp4_parser_t *)ctxt; in viddec_mp4_decodevop_and_emitwkld() local 124 status = mp4_DecodeVideoObjectPlane(&(cxt->info)); in viddec_mp4_decodevop_and_emitwkld() 136 viddec_mp4_parser_t *cxt; in viddec_mp4_parse() local 141 cxt = (viddec_mp4_parser_t *)ctxt; in viddec_mp4_parse() 142 is_svh = (cxt->cur_sc_prefix) ? false: true; in viddec_mp4_parse() 153 cxt->current_sc = sc; in viddec_mp4_parse() 154 cxt->current_sc |= 0x100; in viddec_mp4_parse() 155 DEB("current_sc=0x%.8X, prev_sc=0x%x\n", sc, cxt->prev_sc); in viddec_mp4_parse() 161 status = mp4_Parse_VisualSequence(parent, cxt); in viddec_mp4_parse() 162 cxt->prev_sc = MP4_SC_VISUAL_OBJECT_SEQUENCE; in viddec_mp4_parse() [all …]
|
D | viddec_parse_sc_mp4.c | 26 viddec_sc_parse_cubby_cxt_t *cxt; in viddec_parse_sc_mp4() local 29 cxt = ( viddec_sc_parse_cubby_cxt_t *)in; in viddec_parse_sc_mp4() 32 data_left = cxt->size; in viddec_parse_sc_mp4() 33 ptr = cxt->buf; in viddec_parse_sc_mp4() 34 phase = cxt->phase; in viddec_parse_sc_mp4() 35 cxt->sc_end_pos = -1; in viddec_parse_sc_mp4() 110 cxt->sc_end_pos = size; in viddec_parse_sc_mp4() 134 cxt->sc_end_pos++; in viddec_parse_sc_mp4() 135 state->next_sc = cxt->buf[cxt->sc_end_pos]; in viddec_parse_sc_mp4() 140 cxt->phase = phase; in viddec_parse_sc_mp4()
|
D | viddec_mp4_videoobjectlayer.c | 100 mp4_VOLControlParameters_t *cxt = &(parser->info.VisualObject.VideoObject.VOLControlParameters); in mp4_pvt_VOL_volcontrolparameters() local 109 cxt->chroma_format = (code >> 2) & 0x3; in mp4_pvt_VOL_volcontrolparameters() 110 cxt->low_delay = ((code & 0x2) > 0); in mp4_pvt_VOL_volcontrolparameters() 111 cxt->vbv_parameters = code & 0x1; in mp4_pvt_VOL_volcontrolparameters() 113 if (cxt->chroma_format != MP4_CHROMA_FORMAT_420) in mp4_pvt_VOL_volcontrolparameters() 116 cxt->chroma_format= MP4_CHROMA_FORMAT_420; in mp4_pvt_VOL_volcontrolparameters() 121 if(cxt->vbv_parameters) in mp4_pvt_VOL_volcontrolparameters() 126 cxt->bit_rate = (code & 0xFFFE) >> 1; // Get rid of 1 marker bit in mp4_pvt_VOL_volcontrolparameters() 127 cxt->bit_rate |= ((code & 0xFFFE0000) >> 2); // Get rid of 2 marker bits in mp4_pvt_VOL_volcontrolparameters() 129 if(cxt->bit_rate == 0) in mp4_pvt_VOL_volcontrolparameters() [all …]
|
D | viddec_mp4_shortheader.h | 7 mp4_Status_t mp4_Parse_VideoObjectPlane_svh(void *parent, viddec_mp4_parser_t *cxt); 9 mp4_Status_t mp4_Parse_VideoObject_svh(void *parent, viddec_mp4_parser_t *cxt);
|
D | viddec_mp4_videoobjectlayer.h | 13 mp4_Status_t mp4_Parse_VideoObjectLayer(void *parent, viddec_mp4_parser_t *cxt);
|