Lines Matching refs:p_hal
103 static MPP_RET prepare_header(Avs2dHalCtx_t *p_hal, RK_U8 *data, RK_U32 len) in prepare_header() argument
108 Avs2dSyntax_t *syntax = &p_hal->syntax; in prepare_header()
185 static MPP_RET prepare_scalist(Avs2dHalCtx_t *p_hal, RK_U8 *data, RK_U32 len) in prepare_scalist() argument
191 Avs2dSyntax_t *syntax = &p_hal->syntax; in prepare_scalist()
213 static RK_S32 get_frame_fd(Avs2dHalCtx_t *p_hal, RK_S32 idx) in get_frame_fd() argument
218 mpp_buf_slot_get_prop(p_hal->frame_slots, idx, SLOT_BUFFER, &mbuffer); in get_frame_fd()
224 static RK_S32 get_packet_fd(Avs2dHalCtx_t *p_hal, RK_S32 idx) in get_packet_fd() argument
229 mpp_buf_slot_get_prop(p_hal->packet_slots, idx, SLOT_BUFFER, &mbuffer); in get_packet_fd()
299 Avs2dHalCtx_t *p_hal = (Avs2dHalCtx_t *)hal; in hal_avs2d_rcb_info_update() local
300 Avs2dRkvRegCtx_t *reg_ctx = (Avs2dRkvRegCtx_t *)p_hal->reg_ctx; in hal_avs2d_rcb_info_update()
301 RK_S32 width = p_hal->syntax.pp.pic_width_in_luma_samples; in hal_avs2d_rcb_info_update()
302 RK_S32 height = p_hal->syntax.pp.pic_height_in_luma_samples; in hal_avs2d_rcb_info_update()
304 RK_S32 loop = p_hal->fast_mode ? MPP_ARRAY_ELEMS(reg_ctx->reg_buf) : 1; in hal_avs2d_rcb_info_update()
319 ret = mpp_buffer_get(p_hal->buf_group, &rcb_buf, reg_ctx->rcb_buf_size); in hal_avs2d_rcb_info_update()
328 static MPP_RET fill_registers(Avs2dHalCtx_t *p_hal, Vdpu34xAvs2dRegSet *p_regs, HalTaskInfo *task) in fill_registers() argument
333 Avs2dSyntax_t *syntax = &p_hal->syntax; in fill_registers()
341 mpp_buf_slot_get_prop(p_hal->frame_slots, task_dec->output, SLOT_FRAME_PTR, &mframe); in fill_registers()
377 fd = get_frame_fd(p_hal, task_dec->output); in fill_registers()
380 mv_buf = hal_bufs_get_buf(p_hal->cmv_bufs, task_dec->output); in fill_registers()
414 mpp_buf_slot_get_prop(p_hal->frame_slots, slot_idx, SLOT_FRAME_PTR, &frame_ref); in fill_registers()
427 p_regs->avs2d_addr.ref_base[i] = get_frame_fd(p_hal, slot_idx); in fill_registers()
428 mv_buf = hal_bufs_get_buf(p_hal->cmv_bufs, slot_idx); in fill_registers()
442 if (p_hal->syntax.refp.scene_ref_enable && p_hal->syntax.refp.scene_ref_slot_idx >= 0) { in fill_registers()
444 RK_S32 slot_idx = p_hal->syntax.refp.scene_ref_slot_idx; in fill_registers()
445 RK_S32 replace_idx = p_hal->syntax.refp.scene_ref_replace_pos; in fill_registers()
447 mpp_buf_slot_get_prop(p_hal->frame_slots, slot_idx, SLOT_FRAME_PTR, &scene_ref); in fill_registers()
450 p_regs->avs2d_addr.ref_base[replace_idx] = get_frame_fd(p_hal, slot_idx); in fill_registers()
451 mv_buf = hal_bufs_get_buf(p_hal->cmv_bufs, slot_idx); in fill_registers()
465 p_regs->common_addr.reg128_rlc_base = get_packet_fd(p_hal, task_dec->input); in fill_registers()
478 Avs2dHalCtx_t *p_hal = (Avs2dHalCtx_t *)hal; in hal_avs2d_rkv_deinit() local
479 Avs2dRkvRegCtx_t *reg_ctx = (Avs2dRkvRegCtx_t *)p_hal->reg_ctx; in hal_avs2d_rkv_deinit()
486 loop = p_hal->fast_mode ? MPP_ARRAY_ELEMS(reg_ctx->reg_buf) : 1; in hal_avs2d_rkv_deinit()
501 if (p_hal->cmv_bufs) { in hal_avs2d_rkv_deinit()
502 hal_bufs_deinit(p_hal->cmv_bufs); in hal_avs2d_rkv_deinit()
503 p_hal->cmv_bufs = NULL; in hal_avs2d_rkv_deinit()
506 MPP_FREE(p_hal->reg_ctx); in hal_avs2d_rkv_deinit()
518 Avs2dHalCtx_t *p_hal = (Avs2dHalCtx_t *)hal; in hal_avs2d_rkv_init() local
522 INP_CHECK(ret, NULL == p_hal); in hal_avs2d_rkv_init()
524 MEM_CHECK(ret, p_hal->reg_ctx = mpp_calloc_size(void, sizeof(Avs2dRkvRegCtx_t))); in hal_avs2d_rkv_init()
525 reg_ctx = (Avs2dRkvRegCtx_t *)p_hal->reg_ctx; in hal_avs2d_rkv_init()
528 loop = p_hal->fast_mode ? MPP_ARRAY_ELEMS(reg_ctx->reg_buf) : 1; in hal_avs2d_rkv_init()
529 FUN_CHECK(ret = mpp_buffer_get(p_hal->buf_group, ®_ctx->bufs, AVS2_ALL_TBL_BUF_SIZE(loop))); in hal_avs2d_rkv_init()
540 if (!p_hal->fast_mode) { in hal_avs2d_rkv_init()
547 mpp_slots_set_prop(p_hal->frame_slots, SLOTS_HOR_ALIGN, avs2d_hor_align_64); in hal_avs2d_rkv_init()
549 mpp_slots_set_prop(p_hal->frame_slots, SLOTS_HOR_ALIGN, avs2d_hor_align); in hal_avs2d_rkv_init()
551 mpp_slots_set_prop(p_hal->frame_slots, SLOTS_VER_ALIGN, avs2d_ver_align); in hal_avs2d_rkv_init()
552 mpp_slots_set_prop(p_hal->frame_slots, SLOTS_LEN_ALIGN, avs2d_len_align); in hal_avs2d_rkv_init()
559 hal_avs2d_rkv_deinit(p_hal); in hal_avs2d_rkv_init()
567 Avs2dHalCtx_t *p_hal = (Avs2dHalCtx_t *)hal; in set_up_colmv_buf() local
568 Avs2dSyntax_t *syntax = &p_hal->syntax; in set_up_colmv_buf()
571 RK_U32 ctu_size = 1 << (p_hal->syntax.pp.lcu_size); in set_up_colmv_buf()
572 RK_U32 width = p_hal->syntax.pp.pic_width_in_luma_samples; in set_up_colmv_buf()
573 RK_U32 height = p_hal->syntax.pp.pic_height_in_luma_samples; in set_up_colmv_buf()
581 if (p_hal->cmv_bufs == NULL || p_hal->mv_size < mv_size) { in set_up_colmv_buf()
584 if (p_hal->cmv_bufs) { in set_up_colmv_buf()
585 hal_bufs_deinit(p_hal->cmv_bufs); in set_up_colmv_buf()
586 p_hal->cmv_bufs = NULL; in set_up_colmv_buf()
589 hal_bufs_init(&p_hal->cmv_bufs); in set_up_colmv_buf()
590 if (p_hal->cmv_bufs == NULL) { in set_up_colmv_buf()
596 p_hal->mv_size = mv_size; in set_up_colmv_buf()
597 p_hal->mv_count = mpp_buf_slot_get_count(p_hal->frame_slots); in set_up_colmv_buf()
598 hal_bufs_setup(p_hal->cmv_bufs, p_hal->mv_count, 1, &size); in set_up_colmv_buf()
609 Avs2dHalCtx_t *p_hal = (Avs2dHalCtx_t *)hal; in hal_avs2d_rkv_gen_regs() local
614 INP_CHECK(ret, NULL == p_hal); in hal_avs2d_rkv_gen_regs()
617 !p_hal->cfg->base.disable_error) { in hal_avs2d_rkv_gen_regs()
622 ret = set_up_colmv_buf(p_hal); in hal_avs2d_rkv_gen_regs()
626 reg_ctx = (Avs2dRkvRegCtx_t *)p_hal->reg_ctx; in hal_avs2d_rkv_gen_regs()
628 if (p_hal->fast_mode) { in hal_avs2d_rkv_gen_regs()
648 prepare_header(p_hal, reg_ctx->shph_dat, sizeof(reg_ctx->shph_dat)); in hal_avs2d_rkv_gen_regs()
649 prepare_scalist(p_hal, reg_ctx->scalist_dat, sizeof(reg_ctx->scalist_dat)); in hal_avs2d_rkv_gen_regs()
651 ret = fill_registers(p_hal, regs, task); in hal_avs2d_rkv_gen_regs()
662 mpp_dev_set_reg_offset(p_hal->dev, 161, reg_ctx->shph_offset); in hal_avs2d_rkv_gen_regs()
668 mpp_dev_set_reg_offset(p_hal->dev, 180, reg_ctx->sclst_offset); in hal_avs2d_rkv_gen_regs()
674 snprintf(name, sizeof(name), "/data/tmp/rkv_shph_%03d.bin", p_hal->frame_no); in hal_avs2d_rkv_gen_regs()
683 snprintf(name, sizeof(name), "/data/tmp/rkv_scalist_%03d.bin", p_hal->frame_no); in hal_avs2d_rkv_gen_regs()
691 hal_avs2d_rcb_info_update(p_hal, regs); in hal_avs2d_rkv_gen_regs()
692 vdpu34x_setup_rcb(®s->common_addr, p_hal->dev, p_hal->fast_mode ? in hal_avs2d_rkv_gen_regs()
702 snprintf(name, sizeof(name), "/data/tmp/rkv_rcb_%03d.bin", p_hal->frame_no); in hal_avs2d_rkv_gen_regs()
725 Avs2dHalCtx_t *p_hal = (Avs2dHalCtx_t *)hal; in hal_avs2d_rkv_dump_reg_write() local
729 snprintf(name, sizeof(name), "/data/tmp/rkv_reg_write_%03d.txt", p_hal->frame_no); in hal_avs2d_rkv_dump_reg_write()
732 fprintf(fp_reg, "********Frame num %d\n", p_hal->frame_no); in hal_avs2d_rkv_dump_reg_write()
783 Avs2dHalCtx_t *p_hal = (Avs2dHalCtx_t *)hal; in hal_avs2d_rkv_dump_stream() local
789 mpp_buf_slot_get_prop(p_hal->packet_slots, task->dec.input, SLOT_BUFFER, &buffer); in hal_avs2d_rkv_dump_stream()
791 snprintf(name, sizeof(name), "/data/tmp/rkv_stream_in_%03d.bin", p_hal->frame_no); in hal_avs2d_rkv_dump_stream()
805 Avs2dHalCtx_t *p_hal = (Avs2dHalCtx_t *)hal; in hal_avs2d_rkv_start() local
808 INP_CHECK(ret, NULL == p_hal); in hal_avs2d_rkv_start()
811 !p_hal->cfg->base.disable_error) { in hal_avs2d_rkv_start()
816 reg_ctx = (Avs2dRkvRegCtx_t *)p_hal->reg_ctx; in hal_avs2d_rkv_start()
817 regs = p_hal->fast_mode ? reg_ctx->reg_buf[task->dec.reg_index].regs : reg_ctx->regs; in hal_avs2d_rkv_start()
818 dev = p_hal->dev; in hal_avs2d_rkv_start()
820 p_hal->frame_no++; in hal_avs2d_rkv_start()
963 Avs2dHalCtx_t *p_hal = (Avs2dHalCtx_t *)hal; in hal_avs2d_rkv_dump_yuv() local
976 ret = mpp_buf_slot_get_prop(p_hal->frame_slots, task->dec.output, SLOT_FRAME_PTR, &frame); in hal_avs2d_rkv_dump_yuv()
981 ret = mpp_buf_slot_get_prop(p_hal->frame_slots, task->dec.output, SLOT_BUFFER, &buffer); in hal_avs2d_rkv_dump_yuv()
992 p_hal->frame_no); in hal_avs2d_rkv_dump_yuv()
1031 Avs2dHalCtx_t *p_hal = (Avs2dHalCtx_t *)hal; in hal_avs2d_rkv_wait() local
1035 INP_CHECK(ret, NULL == p_hal); in hal_avs2d_rkv_wait()
1036 reg_ctx = (Avs2dRkvRegCtx_t *)p_hal->reg_ctx; in hal_avs2d_rkv_wait()
1037 p_regs = p_hal->fast_mode ? reg_ctx->reg_buf[task->dec.reg_index].regs : reg_ctx->regs; in hal_avs2d_rkv_wait()
1040 !p_hal->cfg->base.disable_error) { in hal_avs2d_rkv_wait()
1045 ret = mpp_dev_ioctl(p_hal->dev, MPP_DEV_CMD_POLL, NULL); in hal_avs2d_rkv_wait()
1057 snprintf(name, sizeof(name), "/data/tmp/rkv_reg_read_%03d.txt", p_hal->frame_no); in hal_avs2d_rkv_wait()
1068 if (p_hal->dec_cb) { in hal_avs2d_rkv_wait()
1090 AVS2D_HAL_TRACE("hal frame %d ref miss %x hard_err %d hw_usage %x", p_hal->frame_no, in hal_avs2d_rkv_wait()
1094 AVS2D_HAL_TRACE("hal frame %d hard_err= %d", p_hal->frame_no, param.hard_err); in hal_avs2d_rkv_wait()
1096 mpp_callback(p_hal->dec_cb, ¶m); in hal_avs2d_rkv_wait()
1101 if (p_hal->fast_mode) in hal_avs2d_rkv_wait()