Lines Matching refs:dec
19 MppDecImpl *dec = (MppDecImpl *)ctx; in mpp_dec_decode() local
20 Mpp *mpp = (Mpp *)dec->mpp; in mpp_dec_decode()
21 DecTask *task = (DecTask *)dec->task_single; in mpp_dec_decode()
23 MppBufSlots frame_slots = dec->frame_slots; in mpp_dec_decode()
24 MppBufSlots packet_slots = dec->packet_slots; in mpp_dec_decode()
25 HalDecTask *task_dec = &task->info.dec; in mpp_dec_decode()
26 MppMutexCond *cmd_lock = &dec->cmd_lock; in mpp_dec_decode()
27 MppPacket input = dec->mpp_pkt_in; in mpp_dec_decode()
47 dec_dbg_detail("detail: %p input pkt %p len %d task ready %d\n", dec, in mpp_dec_decode()
50 dec_dbg_detail("detail: %p input pkt NULL task ready %d\n", dec, in mpp_dec_decode()
57 mpp_parser_prepare(dec->parser, input, task_dec); in mpp_dec_decode()
59 dec_dbg_detail("detail: %p prepare pkt %p get task %d\n", dec, in mpp_dec_decode()
65 dec->mpp_pkt_in = input; in mpp_dec_decode()
69 dec->mpp_pkt_in = NULL; in mpp_dec_decode()
77 mpp_dec_flush(dec); in mpp_dec_decode()
95 dec_dbg_detail("detail: %p hw pkt %p process start\n", dec, task_dec->input_packet); in mpp_dec_decode()
101 dec_dbg_detail("detail: %p hal_pkt_buf_in %p\n", dec, task->hal_pkt_buf_in); in mpp_dec_decode()
117 mpp_buffer_attach_dev(hal_buf_in, dec->dev); in mpp_dec_decode()
124 mpp_buffer_attach_dev(hal_buf_in, dec->dev); in mpp_dec_decode()
132 dec_dbg_detail("detail: %p hw pkt %p get buf %p slot %d\n", dec, in mpp_dec_decode()
150 dec_dbg_detail("detail: %p copy to hw length %d\n", dec, length); in mpp_dec_decode()
166 mpp_clock_start(dec->clocks[DEC_PRS_PARSE]); in mpp_dec_decode()
167 mpp_parser_parse(dec->parser, task_dec); in mpp_dec_decode()
168 mpp_clock_pause(dec->clocks[DEC_PRS_PARSE]); in mpp_dec_decode()
178 dec_dbg_detail("detail: %p parse output slot %d valid %d\n", dec, in mpp_dec_decode()
191 mpp_dec_flush(dec); in mpp_dec_decode()
204 dec_dbg_detail("detail: %p parse return no task with output %d\n", dec, output); in mpp_dec_decode()
208 dec_dbg_detail("detail: %p check output index pass\n", dec); in mpp_dec_decode()
221 mpp_dec_flush(dec); in mpp_dec_decode()
228 dec, output); in mpp_dec_decode()
232 dec->info_updated = 0; in mpp_dec_decode()
255 task->wait.dec_pic_unusd = (dec->vproc) ? (unused < 3) : (unused < 1); in mpp_dec_decode()
263 dec_dbg_detail("detail: %p check frame group count pass\n", dec); in mpp_dec_decode()
281 if (!dec->info_updated && dec->dev) { in mpp_dec_decode()
285 update_dec_hal_info(dec, slot_frm); in mpp_dec_decode()
286 dec->info_updated = 1; in mpp_dec_decode()
298 dec->cfg->base.enable_hdr_meta) { in mpp_dec_decode()
299 fill_hdr_meta_to_frame(mframe, dec->coding); in mpp_dec_decode()
309 mpp_hal_reg_gen(dec->hal, &task->info); in mpp_dec_decode()
310 mpp_hal_hw_start(dec->hal, &task->info); in mpp_dec_decode()
311 mpp_hal_hw_wait(dec->hal, &task->info); in mpp_dec_decode()
312 dec->dec_hw_run_count++; in mpp_dec_decode()
332 mpp_dec_flush(dec); in mpp_dec_decode()
348 MPP_RET mpp_dec_reset_no_thread(MppDecImpl *dec) in mpp_dec_reset_no_thread() argument
350 DecTask *task = (DecTask *)dec->task_single; in mpp_dec_reset_no_thread()
351 MppBufSlots frame_slots = dec->frame_slots; in mpp_dec_reset_no_thread()
352 MppMutexCond *cmd_lock = &dec->cmd_lock; in mpp_dec_reset_no_thread()
353 HalDecTask *task_dec = &task->info.dec; in mpp_dec_reset_no_thread()
362 mpp_parser_reset(dec->parser); in mpp_dec_reset_no_thread()
363 mpp_hal_reset(dec->hal); in mpp_dec_reset_no_thread()
364 if (dec->vproc) { in mpp_dec_reset_no_thread()
366 dec_vproc_reset(dec->vproc); in mpp_dec_reset_no_thread()
398 mpp_buf_slot_clr_flag(dec->packet_slots, task_dec->input, SLOT_HAL_INPUT); in mpp_dec_reset_no_thread()
399 mpp_buf_slot_clr_flag(dec->packet_slots, task_dec->input, SLOT_CODEC_READY); in mpp_dec_reset_no_thread()
406 dec->mpp_pkt_in = NULL; in mpp_dec_reset_no_thread()
413 dec->dec_in_pkt_count = 0; in mpp_dec_reset_no_thread()
414 dec->dec_hw_run_count = 0; in mpp_dec_reset_no_thread()
415 dec->dec_out_frame_count = 0; in mpp_dec_reset_no_thread()
416 dec->info_updated = 0; in mpp_dec_reset_no_thread()
424 MPP_RET mpp_dec_notify_no_thread(MppDecImpl *dec, RK_U32 flag) in mpp_dec_notify_no_thread() argument
428 mpp_mutex_cond_signal(&dec->cmd_lock); in mpp_dec_notify_no_thread()
435 MPP_RET mpp_dec_control_no_thread(MppDecImpl *dec, MpiCmd cmd, void *param) in mpp_dec_control_no_thread() argument
440 mpp_mutex_cond_lock(&dec->cmd_lock); in mpp_dec_control_no_thread()
441 dec->cmd_send++; in mpp_dec_control_no_thread()
442 ret = mpp_dec_proc_cfg(dec, cmd, param); in mpp_dec_control_no_thread()
443 mpp_mutex_cond_unlock(&dec->cmd_lock); in mpp_dec_control_no_thread()