Lines Matching refs:hal_task
1497 static void update_user_datas(EncImpl impl, MppPacket packet, MppFrame frame, HalEncTask *hal_task) in update_user_datas() argument
1510 hal_task->sei_length += length; in update_user_datas()
1511 hal_task->length += length; in update_user_datas()
1531 hal_task->sei_length += length; in update_user_datas()
1532 hal_task->length += length; in update_user_datas()
1815 HalEncTask *hal_task = &task->task; in mpp_enc_proc_two_pass() local
1818 MppPacket packet = hal_task->packet; in mpp_enc_proc_two_pass()
1819 RK_S32 task_len = hal_task->length; in mpp_enc_proc_two_pass()
1820 RK_S32 hw_len = hal_task->hw_length; in mpp_enc_proc_two_pass()
1825 hal_task->segment_nb = mpp_packet_get_segment_nb(hal_task->packet); in mpp_enc_proc_two_pass()
1831 ENC_RUN_FUNC2(enc_impl_proc_dpb, impl, hal_task, mpp, ret); in mpp_enc_proc_two_pass()
1834 ENC_RUN_FUNC2(enc_impl_proc_hal, impl, hal_task, mpp, ret); in mpp_enc_proc_two_pass()
1837 ENC_RUN_FUNC2(mpp_enc_hal_get_task, hal, hal_task, mpp, ret); in mpp_enc_proc_two_pass()
1840 ENC_RUN_FUNC2(mpp_enc_hal_gen_regs, hal, hal_task, mpp, ret); in mpp_enc_proc_two_pass()
1843 ENC_RUN_FUNC2(mpp_enc_hal_start, hal, hal_task, mpp, ret); in mpp_enc_proc_two_pass()
1846 ENC_RUN_FUNC2(mpp_enc_hal_wait, hal, hal_task, mpp, ret); in mpp_enc_proc_two_pass()
1849 ENC_RUN_FUNC2(mpp_enc_hal_ret_task, hal, hal_task, mpp, ret); in mpp_enc_proc_two_pass()
1853 mpp_packet_set_segment_nb(packet, hal_task->segment_nb); in mpp_enc_proc_two_pass()
1854 hal_task->hw_length = hw_len; in mpp_enc_proc_two_pass()
1855 hal_task->length = task_len; in mpp_enc_proc_two_pass()
1919 HalEncTask *hal_task = &task->task; in mpp_enc_force_pskip() local
1949 ENC_RUN_FUNC2(enc_impl_proc_dpb, impl, hal_task, mpp, ret); in mpp_enc_force_pskip()
1958 ENC_RUN_FUNC2(enc_impl_sw_enc, impl, hal_task, mpp, ret); in mpp_enc_force_pskip()
1976 HalEncTask *hal_task = &task->task; in mpp_enc_get_pskip_mode() local
1981 enc->frame = hal_task->frame; in mpp_enc_get_pskip_mode()
2004 static void mpp_enc_add_sw_header(MppEncImpl *enc, HalEncTask *hal_task) in mpp_enc_add_sw_header() argument
2008 EncRcTask *rc_task = hal_task->rc_task; in mpp_enc_add_sw_header()
2010 MppPacket packet = hal_task->packet; in mpp_enc_add_sw_header()
2011 MppFrame frame = hal_task->frame; in mpp_enc_add_sw_header()
2028 hal_task->header_length = enc->hdr_len; in mpp_enc_add_sw_header()
2029 hal_task->length += enc->hdr_len; in mpp_enc_add_sw_header()
2043 hal_task->sei_length += length; in mpp_enc_add_sw_header()
2044 hal_task->length += length; in mpp_enc_add_sw_header()
2050 check_hal_task_pkt_len(hal_task, "header adding"); in mpp_enc_add_sw_header()
2059 hal_task->sei_length += length; in mpp_enc_add_sw_header()
2060 hal_task->length += length; in mpp_enc_add_sw_header()
2066 hal_task->sei_length += length; in mpp_enc_add_sw_header()
2067 hal_task->length += length; in mpp_enc_add_sw_header()
2071 update_user_datas(impl, packet, frame, hal_task); in mpp_enc_add_sw_header()
2075 check_hal_task_pkt_len(hal_task, "user data adding"); in mpp_enc_add_sw_header()
2086 HalEncTask *hal_task = &task->task; in mpp_enc_normal() local
2115 ENC_RUN_FUNC2(enc_impl_proc_dpb, impl, hal_task, mpp, ret); in mpp_enc_normal()
2131 mpp_enc_add_sw_header(enc, hal_task); in mpp_enc_normal()
2134 ENC_RUN_FUNC2(enc_impl_proc_hal, impl, hal_task, mpp, ret); in mpp_enc_normal()
2137 ENC_RUN_FUNC2(mpp_enc_hal_get_task, hal, hal_task, mpp, ret); in mpp_enc_normal()
2143 ENC_RUN_FUNC2(mpp_enc_hal_gen_regs, hal, hal_task, mpp, ret); in mpp_enc_normal()
2145 hal_task->segment_nb = mpp_packet_get_segment_nb(hal_task->packet); in mpp_enc_normal()
2146 mpp_stopwatch_record(hal_task->stopwatch, "encode hal start"); in mpp_enc_normal()
2148 ENC_RUN_FUNC2(mpp_enc_hal_start, hal, hal_task, mpp, ret); in mpp_enc_normal()
2151 ENC_RUN_FUNC2(mpp_enc_hal_wait, hal, hal_task, mpp, ret); in mpp_enc_normal()
2153 mpp_stopwatch_record(hal_task->stopwatch, "encode hal finish"); in mpp_enc_normal()
2159 ENC_RUN_FUNC2(mpp_enc_hal_ret_task, hal, hal_task, mpp, ret); in mpp_enc_normal()
2190 HalEncTask *hal_task = &task->task; in mpp_enc_reenc_simple() local
2198 ENC_RUN_FUNC2(enc_impl_proc_hal, enc->impl, hal_task, mpp, ret); in mpp_enc_reenc_simple()
2201 ENC_RUN_FUNC2(mpp_enc_hal_get_task, hal, hal_task, mpp, ret); in mpp_enc_reenc_simple()
2207 ENC_RUN_FUNC2(mpp_enc_hal_gen_regs, hal, hal_task, mpp, ret); in mpp_enc_reenc_simple()
2210 ENC_RUN_FUNC2(mpp_enc_hal_start, hal, hal_task, mpp, ret); in mpp_enc_reenc_simple()
2213 ENC_RUN_FUNC2(mpp_enc_hal_wait, hal, hal_task, mpp, ret); in mpp_enc_reenc_simple()
2219 ENC_RUN_FUNC2(mpp_enc_hal_ret_task, hal, hal_task, mpp, ret); in mpp_enc_reenc_simple()
2237 HalEncTask *hal_task = &task->task; in mpp_enc_reenc_drop() local
2243 info->bit_real = hal_task->length; in mpp_enc_reenc_drop()
2262 HalEncTask *hal_task = &task->task; in mpp_enc_reenc_force_pskip() local
2279 ENC_RUN_FUNC2(enc_impl_proc_dpb, impl, hal_task, mpp, ret); in mpp_enc_reenc_force_pskip()
2282 ENC_RUN_FUNC2(enc_impl_sw_enc, impl, hal_task, mpp, ret); in mpp_enc_reenc_force_pskip()
2294 HalEncTask *hal_task = &task->task; in mpp_enc_terminate_task() local
2297 mpp_stopwatch_record(hal_task->stopwatch, "encode task done"); in mpp_enc_terminate_task()
2301 mpp_packet_set_length(enc->packet, hal_task->length); in mpp_enc_terminate_task()
2332 HalEncTask *hal_task = &task->task; in try_get_enc_task() local
2388 reset_hal_enc_task(hal_task); in try_get_enc_task()
2399 reset_hal_enc_task(hal_task); in try_get_enc_task()
2404 hal_task->rc_task = rc_task; in try_get_enc_task()
2405 hal_task->frm_cfg = frm_cfg; in try_get_enc_task()
2406 hal_task->frame = enc->frame; in try_get_enc_task()
2407 hal_task->input = enc->frm_buf; in try_get_enc_task()
2408 hal_task->packet = enc->packet; in try_get_enc_task()
2409 hal_task->output = enc->pkt_buf; in try_get_enc_task()
2410 hal_task->md_info = enc->md_info; in try_get_enc_task()
2411 hal_task->stopwatch = stopwatch; in try_get_enc_task()
2424 hal_task->valid = 1; in try_get_enc_task()
2428 hal_task->length = 0; in try_get_enc_task()
2429 hal_task->flags.drop_by_fps = 1; in try_get_enc_task()
2443 mpp_assert(hal_task->valid); in try_get_enc_task()
2450 hal_task->output = enc->pkt_buf; in try_get_enc_task()
2472 hal_task->header_length = enc->hdr_len; in try_get_enc_task()
2473 hal_task->length += enc->hdr_len; in try_get_enc_task()
2477 check_hal_task_pkt_len(hal_task, "gen_hdr and adding"); in try_get_enc_task()
2482 ENC_RUN_FUNC2(enc_impl_start, enc->impl, hal_task, enc->mpp, ret); in try_get_enc_task()
2515 HalEncTask *hal_task = &task->task; in try_proc_low_deley_task() local
2516 MppPacket packet = hal_task->packet; in try_proc_low_deley_task()
2519 if (hal_task->flags.drop_by_fps) in try_proc_low_deley_task()
2544 ENC_RUN_FUNC2(enc_impl_proc_dpb, impl, hal_task, mpp, ret); in try_proc_low_deley_task()
2550 mpp_enc_add_sw_header(enc, hal_task); in try_proc_low_deley_task()
2553 ENC_RUN_FUNC2(enc_impl_proc_hal, impl, hal_task, mpp, ret); in try_proc_low_deley_task()
2556 ENC_RUN_FUNC2(mpp_enc_hal_get_task, hal, hal_task, mpp, ret); in try_proc_low_deley_task()
2562 ENC_RUN_FUNC2(mpp_enc_hal_gen_regs, hal, hal_task, mpp, ret); in try_proc_low_deley_task()
2564 hal_task->part_first = 0; in try_proc_low_deley_task()
2565 hal_task->part_last = 0; in try_proc_low_deley_task()
2569 ENC_RUN_FUNC2(mpp_enc_hal_part_start, hal, hal_task, mpp, ret); in try_proc_low_deley_task()
2572 ENC_RUN_FUNC2(mpp_enc_hal_part_wait, hal, hal_task, mpp, ret); in try_proc_low_deley_task()
2575 ENC_RUN_FUNC2(mpp_enc_hal_ret_task, hal, hal_task, mpp, ret); in try_proc_low_deley_task()
2577 if (hal_task->part_first) { in try_proc_low_deley_task()
2578 hal_task->part_pos = (RK_U8 *)mpp_packet_get_pos(packet); in try_proc_low_deley_task()
2579 hal_task->part_length = 0; in try_proc_low_deley_task()
2582 mpp_packet_set_length(packet, hal_task->length); in try_proc_low_deley_task()
2607 if (!hal_task->part_last) { in try_proc_low_deley_task()
2609 RK_U32 part_length = hal_task->length; in try_proc_low_deley_task()
2610 RK_U8 *last_pos = (RK_U8 *)hal_task->part_pos; in try_proc_low_deley_task()
2614 enc_dbg_detail("pkt %d last %p part %p len %d\n", hal_task->part_count, in try_proc_low_deley_task()
2625 part_pkt->status.soi = hal_task->part_first; in try_proc_low_deley_task()
2626 part_pkt->status.eoi = hal_task->part_last; in try_proc_low_deley_task()
2628 enc_dbg_detail("pkt %d new pos %p len %d\n", hal_task->part_count, in try_proc_low_deley_task()
2631 hal_task->part_pos = part_pos; in try_proc_low_deley_task()
2634 frm->seq_idx, enc->task_pts, hal_task->part_count); in try_proc_low_deley_task()
2638 hal_task->part_count++; in try_proc_low_deley_task()
2640 } while (!hal_task->part_last); in try_proc_low_deley_task()
2646 size_t part_length = hal_task->length; in try_proc_low_deley_task()
2647 RK_U8 *last_pos = (RK_U8 *)hal_task->part_pos; in try_proc_low_deley_task()
2651 enc_dbg_detail("pkt %d last %p part %p len %d\n", hal_task->part_count, in try_proc_low_deley_task()
2657 enc_dbg_detail("pkt %d new pos %p len %d\n", hal_task->part_count, in try_proc_low_deley_task()
2664 pkt->status.soi = hal_task->part_first; in try_proc_low_deley_task()
2665 pkt->status.eoi = hal_task->part_last; in try_proc_low_deley_task()
2667 enc_dbg_detail("pkt %d new pos %p len %d\n", hal_task->part_count, in try_proc_low_deley_task()
2670 hal_task->part_pos = part_pos; in try_proc_low_deley_task()
2673 frm->seq_idx, enc->task_pts, hal_task->part_count); in try_proc_low_deley_task()
2677 hal_task->part_count = 0; in try_proc_low_deley_task()
2703 static MPP_RET set_enc_info_to_packet(MppEncImpl *enc, HalEncTask *hal_task) in set_enc_info_to_packet() argument
2706 EncRcTask *rc_task = hal_task->rc_task; in set_enc_info_to_packet()
2708 MppPacket packet = hal_task->packet; in set_enc_info_to_packet()
2751 if (hal_task->md_info) in set_enc_info_to_packet()
2752 mpp_meta_set_buffer(meta, KEY_MOTION_INFO, hal_task->md_info); in set_enc_info_to_packet()
2755 mpp_meta_set_frame(meta, KEY_INPUT_FRAME, hal_task->frame); in set_enc_info_to_packet()
2766 HalEncTask *hal_task = &task->task; in try_proc_normal_task() local
2767 MppPacket packet = hal_task->packet; in try_proc_normal_task()
2770 if (hal_task->flags.drop_by_fps) in try_proc_normal_task()
2778 hal_task->length -= hal_task->hw_length; in try_proc_normal_task()
2779 hal_task->hw_length = 0; in try_proc_normal_task()
2781 mpp_packet_set_segment_nb(hal_task->packet, hal_task->segment_nb); in try_proc_normal_task()
2812 mpp_stopwatch_record(hal_task->stopwatch, "encode task done"); in try_proc_normal_task()
2816 mpp_packet_set_length(packet, hal_task->length); in try_proc_normal_task()
2826 set_enc_info_to_packet(enc, hal_task); in try_proc_normal_task()
2962 HalEncTask *hal_task = &async->task; in async_task_terminate() local
2966 mpp_stopwatch_record(hal_task->stopwatch, "encode task done"); in async_task_terminate()
2968 if (hal_task->packet) { in async_task_terminate()
2969 MppPacket pkt = hal_task->packet; in async_task_terminate()
2972 mpp_packet_set_length(pkt, hal_task->length); in async_task_terminate()
3068 HalEncTask *hal_task = &async->task; in check_async_frm_pkt() local
3069 MppPacket packet = hal_task->packet; in check_async_frm_pkt()
3070 MppFrame frame = hal_task->frame; in check_async_frm_pkt()
3072 hal_task->input = NULL; in check_async_frm_pkt()
3073 hal_task->output = NULL; in check_async_frm_pkt()
3076 hal_task->output = mpp_packet_get_buffer(packet); in check_async_frm_pkt()
3079 hal_task->packet = packet; in check_async_frm_pkt()
3086 hal_task->input = frm_buf; in check_async_frm_pkt()
3097 return (NULL == frame || NULL == hal_task->input) ? MPP_NOK : MPP_OK; in check_async_frm_pkt()
3102 HalEncTask *hal_task = &async->task; in check_async_pkt_buf() local
3104 if (NULL == hal_task->output) { in check_async_pkt_buf()
3112 MppPacketImpl *pkt = (MppPacketImpl *)hal_task->packet; in check_async_pkt_buf()
3125 hal_task->output = buffer; in check_async_pkt_buf()
3127 enc_dbg_detail("create output pkt %p buf %p\n", hal_task->packet, buffer); in check_async_pkt_buf()
3130 hal_task->packet, hal_task->output, in check_async_pkt_buf()
3131 mpp_packet_get_pos(hal_task->packet), in check_async_pkt_buf()
3132 mpp_packet_get_length(hal_task->packet)); in check_async_pkt_buf()
3144 HalEncTask *hal_task = NULL; in try_get_async_task() local
3172 hal_task = &async->task; in try_get_async_task()
3175 packet = hal_task->packet; in try_get_async_task()
3176 frame = hal_task->frame; in try_get_async_task()
3200 hal_task->frame = frame; in try_get_async_task()
3226 hal_task->packet = packet; in try_get_async_task()
3240 async->pts = mpp_frame_get_pts(hal_task->frame); in try_get_async_task()
3242 hal_task->stopwatch = stopwatch; in try_get_async_task()
3249 hal_task->valid = 1; in try_get_async_task()
3250 hal_task->length = 0; in try_get_async_task()
3251 hal_task->flags.drop_by_fps = 1; in try_get_async_task()
3271 hal_task->valid = 1; in try_get_async_task()
3274 hal_task->length = 0; in try_get_async_task()
3275 hal_task->flags.drop_by_fps = 1; in try_get_async_task()
3280 *hal_task->frm_cfg = enc->frm_cfg; in try_get_async_task()
3285 mpp_assert(hal_task->valid); in try_get_async_task()
3294 mpp_assert(hal_task->packet); in try_get_async_task()
3295 mpp_assert(hal_task->output); in try_get_async_task()
3315 mpp_packet_append(hal_task->packet, enc->hdr_pkt); in try_get_async_task()
3316 hal_task->header_length = enc->hdr_len; in try_get_async_task()
3317 hal_task->length += enc->hdr_len; in try_get_async_task()
3321 check_hal_task_pkt_len(hal_task, "gen_hdr and adding"); in try_get_async_task()
3326 ENC_RUN_FUNC2(enc_impl_start, enc->impl, hal_task, enc->mpp, ret); in try_get_async_task()
3387 HalEncTask *hal_task = &async->task; in proc_async_task() local
3388 EncRcTask *rc_task = hal_task->rc_task; in proc_async_task()
3394 mpp_assert(hal_task->valid); in proc_async_task()
3396 if (hal_task->flags.drop_by_fps) in proc_async_task()
3430 ENC_RUN_FUNC2(enc_impl_proc_dpb, impl, hal_task, mpp, ret); in proc_async_task()
3436 mpp_enc_add_sw_header(enc, hal_task); in proc_async_task()
3439 ENC_RUN_FUNC2(enc_impl_proc_hal, impl, hal_task, mpp, ret); in proc_async_task()
3442 ENC_RUN_FUNC2(mpp_enc_hal_get_task, hal, hal_task, mpp, ret); in proc_async_task()
3448 ENC_RUN_FUNC2(mpp_enc_hal_gen_regs, hal, hal_task, mpp, ret); in proc_async_task()
3450 mpp_stopwatch_record(hal_task->stopwatch, "encode hal start"); in proc_async_task()
3452 ENC_RUN_FUNC2(mpp_enc_hal_start, hal, hal_task, mpp, ret); in proc_async_task()
3515 HalEncTask *hal_task = &info->task; in enc_async_wait_task() local
3516 EncRcTask *rc_task = hal_task->rc_task; in enc_async_wait_task()
3518 MppPacket pkt = hal_task->packet; in enc_async_wait_task()
3521 if (hal_task->flags.drop_by_fps || hal_task->frm_cfg->force_pskip) in enc_async_wait_task()
3525 ENC_RUN_FUNC2(mpp_enc_hal_wait, hal, hal_task, mpp, ret); in enc_async_wait_task()
3527 mpp_stopwatch_record(hal_task->stopwatch, "encode hal finish"); in enc_async_wait_task()
3533 ENC_RUN_FUNC2(mpp_enc_hal_ret_task, hal, hal_task, mpp, ret); in enc_async_wait_task()
3541 mpp_packet_set_length(pkt, hal_task->length); in enc_async_wait_task()
3543 check_hal_task_pkt_len(hal_task, "hw finish"); in enc_async_wait_task()
3552 if (enc->enc_failed_drop && !hal_task->rc_task->frm.is_idr) { in enc_async_wait_task()
3568 set_enc_info_to_packet(enc, hal_task); in enc_async_wait_task()