/hardware/intel/common/libmix/mix_vbp/viddec_fw/fw/parser/ |
H A D | viddec_emit.c | 30 int32_t viddec_emit_append(viddec_emitter_wkld *cxt, viddec_workload_item_t *item) argument 33 if((cxt->num_items < cxt->max_items) && (cxt->data != NULL)) 35 cxt->data->item[cxt->num_items] = *item; 36 cxt->num_items++; 38 CDEB(0, "%s: item(%02d) = [%08x %08x %08x %08x]\n",__FUNCTION__, cxt->num_items - 1, item->vwi_type, item->vwi_payload[0], item->vwi_payload[1], item->vwi_payload[2]); 42 cxt->result |= (VIDDEC_FW_WORKLOAD_ERR_ITEMS_OVERFLOW | VIDDEC_FW_WORKLOAD_ERR_NOTDECODABLE); 43 WRITE_SVEN(SVEN_MODULE_EVENT_GV_FW_FATAL_WKLD_OVERLFOW, (int)item->vwi_type, (int)(cxt [all...] |
H A D | viddec_parse_sc.c | 22 viddec_sc_parse_cubby_cxt_t *cxt; local 27 cxt = ( viddec_sc_parse_cubby_cxt_t *)in; 29 data_left = cxt->size; 30 ptr = cxt->buf; 31 phase = cxt->phase; 32 cxt->sc_end_pos = -1; 97 cxt->sc_end_pos = size; 110 cxt->sc_end_pos++; 111 state->next_sc = cxt->buf[cxt [all...] |
H A D | viddec_pm_flush.c | 38 mfd_pk_strm_cxt *cxt; local 43 cxt = (mfd_pk_strm_cxt *)&(_dmem.srm_cxt); 45 pm = &(cxt->pm);
|
H A D | vbp_utils.c | 271 viddec_pm_cxt_t *cxt = pcontext->parser_cxt; local 280 cxt->list.num_items = 0; 283 * READ THIS NOTE: cxt->getbits.is_emul_reqd must be set to 1 295 cxt->getbits.is_emul_reqd = 1; 317 cxt->getbits.list = &(cxt->list); 320 cxt->getbits.bstrm_buf.buf = cxt->parse_cubby.buf; 324 * check if cxt->getbits.is_emul_reqd is set properly 327 for (i = 0; i < cxt [all...] |
H A D | viddec_parse_sc_fast_loop.c | 158 viddec_sc_parse_cubby_cxt_t *cxt; local 162 cxt = (viddec_sc_parse_cubby_cxt_t *)in; 165 boff = (int)cxt->buf & 0x3; 167 cxt->sc_end_pos = parser_find_next_startcode( 168 (const unsigned char *)cxt->buf - boff, 170 cxt->size + boff, 171 &cxt->phase ); 173 if ( (int)cxt->sc_end_pos >= 0 ) 175 cxt->sc_end_pos -= boff; 178 if ( cxt [all...] |
H A D | viddec_pm_tags.c | 44 viddec_pm_cxt_t *cxt = (viddec_pm_cxt_t *)parent; local 45 viddec_pm_utils_list_t *list = &(cxt->list); 49 if(!cxt->late_frame_detect) 54 viddec_emit_contr_tag(&(cxt->emitter), &(list->sc_ibuf[num_items]), false, false); 63 viddec_emit_contr_tag(&(cxt->emitter), &(list->sc_ibuf[num_items]), true, false); 72 cxt->late_frame_detect = false; 87 viddec_pm_cxt_t *cxt = (viddec_pm_cxt_t *)parent; local 88 viddec_pm_utils_list_t *list = &(cxt->list); 96 viddec_emit_contr_tag(&(cxt->emitter), &(list->sc_ibuf[num_items]), true, false); 101 viddec_emit_contr_tag(&(cxt 111 viddec_pm_generate_missed_association_tags(viddec_pm_cxt_t *cxt, uint32_t using_next) argument 127 viddec_pm_add_tags_to_pendinglist(viddec_pm_cxt_t *cxt, uint32_t ignore_first) argument 177 viddec_pm_cxt_t *cxt = (viddec_pm_cxt_t *)parent; local 213 viddec_pm_cxt_t *cxt = (viddec_pm_cxt_t *)parent; local 249 viddec_pm_cxt_t *cxt = (viddec_pm_cxt_t *)parent; local 278 viddec_pm_generate_tags_for_unused_buffers_to_flush(viddec_pm_cxt_t *cxt) argument [all...] |
H A D | viddec_pm_utils_list.c | 7 void viddec_pm_utils_list_init(viddec_pm_utils_list_t *cxt) argument 9 cxt->num_items = 0; 10 cxt->start_offset = 0; 11 cxt->end_offset = -1; 12 cxt->total_bytes = 0; 13 cxt->first_scprfx_length = 0;
|
H A D | viddec_pm_parser_ops.c | 14 viddec_pm_cxt_t *cxt; local 16 cxt = (viddec_pm_cxt_t *)parent; 17 ret = viddec_pm_utils_bstream_peekbits(&(cxt->getbits), data, num_bits, 1); 27 viddec_pm_cxt_t *cxt; local 29 cxt = (viddec_pm_cxt_t *)parent; 30 ret = viddec_pm_utils_bstream_peekbits(&(cxt->getbits), data, num_bits, 0); 37 viddec_pm_cxt_t *cxt; local 39 cxt = (viddec_pm_cxt_t *)parent; 40 ret = viddec_pm_utils_bstream_skipbits(&(cxt->getbits), num_bits); 47 viddec_pm_cxt_t *cxt; local 57 viddec_pm_cxt_t *cxt; local 67 viddec_pm_cxt_t *cxt; local 79 viddec_pm_cxt_t *cxt; local 106 viddec_pm_cxt_t *cxt; local 115 viddec_pm_cxt_t *cxt; local 125 viddec_pm_cxt_t *cxt; local 135 viddec_pm_cxt_t *cxt; local 145 viddec_pm_cxt_t *cxt; local 157 viddec_pm_cxt_t *cxt; local 164 viddec_pm_cxt_t *cxt; local [all...] |
H A D | vbp_vc1_parser.c | 200 viddec_pm_cxt_t *cxt, 216 cubby = cxt->parse_cubby; 218 cxt->list.num_items = 0; 219 cxt->list.data[0].stpos = 0; 220 cxt->getbits.is_emul_reqd = 1; 236 ret = ops->parse_sc((void *)&cubby, (void *)&(cxt->codec_data[0]), &(cxt->sc_prefix_info)); 244 0 == cxt->list.num_items) 250 parser = (vc1_viddec_parser_t *)cxt->codec_data; 259 cxt 199 vbp_parse_start_code_helper_vc1( viddec_pm_cxt_t *cxt, viddec_parser_ops_t *ops, int init_data_flag) argument 361 viddec_pm_cxt_t *cxt = pcontext->parser_cxt; local 374 viddec_pm_cxt_t *cxt = pcontext->parser_cxt; local 728 viddec_pm_cxt_t *cxt = pcontext->parser_cxt; local 929 viddec_pm_cxt_t *cxt = pcontext->parser_cxt; local 964 viddec_pm_cxt_t *cxt = pcontext->parser_cxt; local [all...] |
H A D | viddec_pm.c | 102 void viddec_pm_init_context(viddec_pm_cxt_t *cxt, uint32_t codec_type, uint32_t *persist_mem, uint32_t clean) argument 108 cxt->pending_tags.pending_tags[i] = INVALID_ENTRY; 110 cxt->frame_start_found = false; 111 cxt->found_fm_st_in_current_au = false; 112 cxt->late_frame_detect = (MFD_STREAM_FORMAT_H264 == codec_type) ? true:false; 113 cxt->pending_tags.first_buf_aligned = cxt->pending_tags.using_next = cxt->pending_tags.frame_done =false; 114 cxt->next_workload_error_eos = VIDDEC_FW_WORKLOAD_ERR_FLUSHED_FRAME | VIDDEC_FW_WORKLOAD_ERR_NOTDECODABLE; 115 viddec_pm_utils_list_init(&(cxt 131 viddec_pm_update_time(viddec_pm_cxt_t *cxt, uint32_t time) argument 137 viddec_pm_add_es_buf_to_list(viddec_pm_cxt_t *cxt, viddec_input_buffer_t *es_buf) argument 174 viddec_pm_create_ibuf(viddec_pm_cxt_t *cxt) argument 282 viddec_pm_parse_for_sccode(viddec_pm_cxt_t *cxt, viddec_parser_ops_t *func) argument 347 viddec_pm_finalize_workload(viddec_pm_cxt_t *cxt, uint32_t codec_type, uint32_t codec_errors) argument 359 viddec_pm_finalize_list(viddec_pm_cxt_t *cxt) argument 370 viddec_pm_handle_buffer_overflow(viddec_pm_cxt_t *cxt, uint32_t codec_type, viddec_input_buffer_t *es_buf) argument 395 viddec_pm_handle_post_inband_messages(viddec_pm_cxt_t *cxt, uint32_t m_type) argument 412 viddec_pm_handle_new_es_buffer(viddec_pm_cxt_t *cxt, uint32_t codec_type, viddec_input_buffer_t *es_buf) argument 426 viddec_pm_handle_pre_inband_messages(viddec_pm_cxt_t *cxt) argument 442 viddec_pm_parse_es_buffer(viddec_pm_cxt_t *cxt, uint32_t codec_type, viddec_input_buffer_t *es_buf) argument [all...] |
H A 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 lst_index); 16 static inline uint32_t viddec_pm_utils_bstream_bytesincubby(viddec_pm_utils_bstream_buf_cxt_t *cxt) argument 18 return (cxt->buf_end - cxt->buf_index); 24 uint8_t viddec_pm_utils_bstream_nomorerbspdata(viddec_pm_utils_bstream_cxt_t *cxt) argument 30 data_remaining = cxt->list->total_bytes - (cxt->au_pos + (cxt->bstrm_buf.buf_index - cxt 56 viddec_pm_utils_bstream_nomoredata(viddec_pm_utils_bstream_cxt_t *cxt) argument 71 viddec_pm_utils_bstream_scratch_init(viddec_pm_utils_bstream_scratch_cxt_t *cxt) argument 91 viddec_pm_utils_bstream_maxbytes_from_index(viddec_pm_utils_bstream_cxt_t *cxt, uint32_t *lst_index, uint32_t byte_offset, uint32_t *physaddr) argument 122 viddec_pm_utils_bstream_scratch_copyto(viddec_pm_utils_bstream_scratch_cxt_t *cxt, uint8_t *data, uint32_t num_bytes) argument 133 viddec_pm_utils_bstream_scratch_copyfrom(viddec_pm_utils_bstream_scratch_cxt_t *cxt, uint8_t *data) argument 200 viddec_pm_utils_check_bstream_reload(viddec_pm_utils_bstream_cxt_t *cxt, uint32_t *data_left) argument 246 viddec_pm_utils_bstream_getphys(viddec_pm_utils_bstream_cxt_t *cxt, uint32_t pos, uint32_t lst_index) argument 274 viddec_pm_utils_bstream_reload(viddec_pm_utils_bstream_cxt_t *cxt) argument 331 viddec_pm_utils_bstream_init(viddec_pm_utils_bstream_cxt_t *cxt, viddec_pm_utils_list_t *list, uint32_t is_emul) argument 349 viddec_pm_utils_bstream_get_current_byte(viddec_pm_utils_bstream_cxt_t *cxt, uint8_t *byte) argument 368 viddec_pm_utils_bstream_skipbits(viddec_pm_utils_bstream_cxt_t *cxt, uint32_t num_bits) argument 405 viddec_pm_utils_bstream_peekbits(viddec_pm_utils_bstream_cxt_t *cxt, uint32_t *out, uint32_t num_bits, uint8_t skip) argument [all...] |
H A D | main.c | 113 static inline void mfd_setup_emitter(FW_IPC_Handle *fwipc, FW_IPC_ReceiveQue *rcv_q, mfd_pk_strm_cxt *cxt) argument 117 ret = FwIPC_PeekReadMessage(fwipc, rcv_q, (char *)&(cxt->wkld1), sizeof(ipc_msg_data), 0); 118 ret1 = FwIPC_PeekReadMessage(fwipc, rcv_q, (char *)&(cxt->wkld2), sizeof(ipc_msg_data), 1); 119 viddec_emit_update(&(cxt->pm.emitter), cxt->wkld1.phys, cxt->wkld2.phys, cxt->wkld1.len, cxt->wkld2.len); 148 mfd_pk_strm_cxt *cxt; local 150 cxt 320 mfd_pk_strm_cxt *cxt; local [all...] |
H A D | vbp_h264_parser.c | 815 viddec_pm_cxt_t *cxt = pcontext->parser_cxt; local 822 parser = (struct h264_viddec_parser *)cxt->codec_data; 1097 viddec_pm_cxt_t *cxt = pcontext->parser_cxt; local 1109 h264_parser = (struct h264_viddec_parser *)cxt->codec_data; 1120 slc_data->buffer_addr = cxt->parse_cubby.buf; 1125 viddec_pm_get_au_pos(cxt, &bit, &byte, &is_emul); 1159 slc_data->slice_offset = cxt->list.data[index].stpos; 1175 if (cxt->getbits.emulation_byte_counter != 0) 1177 slc_parms->slice_data_bit_offset -= cxt->getbits.emulation_byte_counter * 8; 1252 viddec_pm_cxt_t *cxt local 1413 viddec_pm_cxt_t *cxt = pcontext->parser_cxt; local [all...] |
H A D | vbp_mp42_parser.c | 172 viddec_pm_cxt_t *cxt = pcontext->parser_cxt; local 188 cxt->getbits.is_emul_reqd = 1; 190 cxt->list.num_items = 0; 191 cxt->list.data[0].stpos = 0; 192 cxt->list.data[0].edpos = cxt->parse_cubby.size; 194 buf = cxt->parse_cubby.buf; 195 size = cxt->parse_cubby.size; 197 pinfo = (viddec_mp4_parser_t *) &(cxt->codec_data[0]); 203 VTRACE ("begin cxt [all...] |
/hardware/intel/common/libmix/mix_vbp/viddec_fw/fw/codecs/mp4/parser/ |
H A D | viddec_parse_sc_mp4.c | 26 viddec_sc_parse_cubby_cxt_t *cxt; local 29 cxt = ( viddec_sc_parse_cubby_cxt_t *)in; 32 data_left = cxt->size; 33 ptr = cxt->buf; 34 phase = cxt->phase; 35 cxt->sc_end_pos = -1; 110 cxt->sc_end_pos = size; 134 cxt->sc_end_pos++; 135 state->next_sc = cxt->buf[cxt [all...] |
H A D | viddec_mp4_parse.c | 122 viddec_mp4_parser_t *cxt = (viddec_mp4_parser_t *)ctxt; local 124 status = mp4_DecodeVideoObjectPlane(&(cxt->info)); 136 viddec_mp4_parser_t *cxt; local 141 cxt = (viddec_mp4_parser_t *)ctxt; 142 is_svh = (cxt->cur_sc_prefix) ? false: true; 153 cxt->current_sc = sc; 154 cxt->current_sc |= 0x100; 155 DEB("current_sc=0x%.8X, prev_sc=0x%x\n", sc, cxt->prev_sc); 161 status = mp4_Parse_VisualSequence(parent, cxt); 162 cxt [all...] |
H A D | viddec_mp4_videoobjectlayer.c | 100 mp4_VOLControlParameters_t *cxt = &(parser->info.VisualObject.VideoObject.VOLControlParameters); local 109 cxt->chroma_format = (code >> 2) & 0x3; 110 cxt->low_delay = ((code & 0x2) > 0); 111 cxt->vbv_parameters = code & 0x1; 113 if (cxt->chroma_format != MP4_CHROMA_FORMAT_420) 116 cxt->chroma_format= MP4_CHROMA_FORMAT_420; 121 if(cxt->vbv_parameters) 126 cxt->bit_rate = (code & 0xFFFE) >> 1; // Get rid of 1 marker bit 127 cxt->bit_rate |= ((code & 0xFFFE0000) >> 2); // Get rid of 2 marker bits 129 if(cxt 180 mp4_VOLSpriteInfo_t *cxt = &(vidObjLay->sprite_info); local [all...] |
/hardware/intel/common/libmix/mix_vbp/viddec_fw/fw/parser/include/ |
H A 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) argument 44 cxt->cur.data = cxt->next.data = 0; 45 cxt->cur.max_items = cxt->next.max_items = 0; 46 cxt->cur.num_items = cxt->next.num_items = 0; 47 cxt->cur.result = cxt 50 viddec_emit_update(viddec_emitter *cxt, uint32_t cur, uint32_t next, uint32_t cur_size, uint32_t next_size) argument 58 viddec_emit_time(viddec_emitter *cxt, uint32_t time) argument [all...] |
H A 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, uint32_t is_emul); 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_t num_bits, uint8_t skip); 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, uint32_t *bit, uint32_t *byte, uint8_t *is_emul) argument 69 uint32_t phase=cxt->phase; 71 *bit = cxt->bstrm_buf.buf_bitoff; 72 *byte = cxt [all...] |
/hardware/intel/common/libmix/mix_vbp/viddec_fw/fw/codecs/vc1/parser/ |
H A D | vc1parse_bitplane.c | 604 viddec_pm_cxt_t *cxt = (viddec_pm_cxt_t *)ctxt; local 605 vc1_viddec_parser_t *parser = (vc1_viddec_parser_t *)(cxt->codec_data);
|