Lines Matching refs:data

51 static int dec_simple(MpiDecLoopData *data)  in dec_simple()  argument
56 MpiDecTestCmd *cmd = data->cmd; in dec_simple()
57 MppCtx ctx = data->ctx; in dec_simple()
58 MppApi *mpi = data->mpi; in dec_simple()
59 MppPacket packet = data->packet; in dec_simple()
61 RK_U32 quiet = data->quiet; in dec_simple()
62 FrmCrc *checkcrc = &data->checkcrc; in dec_simple()
73 if (data->frame_num < 0 || data->frame_num > data->frame_count) { in dec_simple()
79 data->loop_end = 1; in dec_simple()
83 mpp_packet_set_data(packet, slot->data); in dec_simple()
85 mpp_packet_set_pos(packet, slot->data); in dec_simple()
100 if (!data->first_pkt) in dec_simple()
101 data->first_pkt = mpp_time(); in dec_simple()
155 grp = dec_buf_mgr_setup(data->buf_mgr, buf_size, 24, cmd->buf_mode); in dec_simple()
162 data->frm_grp = grp; in dec_simple()
180 if (!data->first_frm) in dec_simple()
181 data->first_frm = mpp_time(); in dec_simple()
184 "decode get frame %d", data->frame_count); in dec_simple()
202 data->frame_count++; in dec_simple()
203 if (data->fp_output && !err_info) in dec_simple()
204 dump_mpp_frame_to_file(frame, data->fp_output); in dec_simple()
206 if (data->fp_verify) { in dec_simple()
208 write_frm_crc(data->fp_verify, checkcrc); in dec_simple()
219 if (data->frm_grp) { in dec_simple()
220 size_t usage = mpp_buffer_group_usage(data->frm_grp); in dec_simple()
221 if (usage > data->max_usage) in dec_simple()
222 data->max_usage = usage; in dec_simple()
236 if ((data->frame_num > 0 && (data->frame_count >= data->frame_num)) || in dec_simple()
237 ((data->frame_num == 0) && frm_eos)) in dec_simple()
245 if ((data->frame_num > 0 && (data->frame_count >= data->frame_num)) || in dec_simple()
246 ((data->frame_num == 0) && frm_eos)) { in dec_simple()
247 data->loop_end = 1; in dec_simple()
267 static int dec_advanced(MpiDecLoopData *data) in dec_advanced() argument
270 MpiDecTestCmd *cmd = data->cmd; in dec_advanced()
271 MppCtx ctx = data->ctx; in dec_advanced()
272 MppApi *mpi = data->mpi; in dec_advanced()
275 MppFrame frame = data->frame; in dec_advanced()
278 RK_U32 quiet = data->quiet; in dec_advanced()
280 FrmCrc *checkcrc = &data->checkcrc; in dec_advanced()
300 data->loop_end = 1; in dec_advanced()
304 if (!data->first_pkt) in dec_advanced()
305 data->first_pkt = mpp_time(); in dec_advanced()
310 data->loop_end = 1; in dec_advanced()
314 if (!data->first_frm) in dec_advanced()
315 data->first_frm = mpp_time(); in dec_advanced()
321 if (data->fp_output) in dec_advanced()
322 dump_mpp_frame_to_file(frame_ret, data->fp_output); in dec_advanced()
324 if (data->fp_verify) { in dec_advanced()
326 write_frm_crc(data->fp_verify, checkcrc); in dec_advanced()
329 mpp_log_q(quiet, "%p decoded frame %d\n", ctx, data->frame_count); in dec_advanced()
330 data->frame_count++; in dec_advanced()
349 if (data->frame_num > 0) { in dec_advanced()
350 if (data->frame_count >= data->frame_num) in dec_advanced()
351 data->loop_end = 1; in dec_advanced()
352 } else if (data->frame_num == 0) { in dec_advanced()
354 data->loop_end = 1; in dec_advanced()
365 MpiDecLoopData *data = (MpiDecLoopData *)arg; in thread_decode() local
366 MpiDecTestCmd *cmd = data->cmd; in thread_decode()
367 MppCtx ctx = data->ctx; in thread_decode()
368 MppApi *mpi = data->mpi; in thread_decode()
371 memset(&data->checkcrc, 0, sizeof(data->checkcrc)); in thread_decode()
372 data->checkcrc.luma.sum = mpp_malloc(RK_ULONG, 512); in thread_decode()
373 data->checkcrc.chroma.sum = mpp_malloc(RK_ULONG, 512); in thread_decode()
378 while (!data->loop_end) in thread_decode()
379 dec_simple(data); in thread_decode()
390 while (!data->loop_end) in thread_decode()
391 dec_advanced(data); in thread_decode()
395 data->elapsed_time = t_e - t_s; in thread_decode()
396 data->frame_rate = (float)data->frame_count * 1000000 / data->elapsed_time; in thread_decode()
397 data->delay = data->first_frm - data->first_pkt; in thread_decode()
400 data->frame_count, (RK_S64)(data->elapsed_time / 1000), in thread_decode()
401 (RK_S32)(data->delay / 1000), data->frame_rate); in thread_decode()
403 MPP_FREE(data->checkcrc.luma.sum); in thread_decode()
404 MPP_FREE(data->checkcrc.chroma.sum); in thread_decode()
432 MpiDecLoopData data; in dec_decode() local
436 memset(&data, 0, sizeof(data)); in dec_decode()
442 data.fp_output = fopen(cmd->file_output, "w+b"); in dec_decode()
443 if (NULL == data.fp_output) { in dec_decode()
450 data.fp_verify = fopen(cmd->file_slt, "wt"); in dec_decode()
451 if (!data.fp_verify) in dec_decode()
455 ret = dec_buf_mgr_init(&data.buf_mgr); in dec_decode()
477data.frm_grp = dec_buf_mgr_setup(data.buf_mgr, hor_stride * ver_stride * 4, 4, cmd->buf_mode); in dec_decode()
478 if (!data.frm_grp) { in dec_decode()
491 ret = mpp_buffer_get(data.frm_grp, &frm_buf, hor_stride * ver_stride * 4); in dec_decode()
541 data.cmd = cmd; in dec_decode()
542 data.ctx = ctx; in dec_decode()
543 data.mpi = mpi; in dec_decode()
544 data.loop_end = 0; in dec_decode()
545 data.packet = packet; in dec_decode()
546 data.frame = frame; in dec_decode()
547 data.frame_count = 0; in dec_decode()
548 data.frame_num = cmd->frame_num; in dec_decode()
549 data.quiet = cmd->quiet; in dec_decode()
553 ret = pthread_create(&thd, &attr, thread_decode, &data); in dec_decode()
566 data.loop_end = 1; in dec_decode()
571 cmd->max_usage = data.max_usage; in dec_decode()
580 if (data.packet) { in dec_decode()
581 mpp_packet_deinit(&data.packet); in dec_decode()
582 data.packet = NULL; in dec_decode()
602 data.frm_grp = NULL; in dec_decode()
603 if (data.buf_mgr) { in dec_decode()
604 dec_buf_mgr_deinit(data.buf_mgr); in dec_decode()
605 data.buf_mgr = NULL; in dec_decode()
608 if (data.fp_output) { in dec_decode()
609 fclose(data.fp_output); in dec_decode()
610 data.fp_output = NULL; in dec_decode()
613 if (data.fp_verify) { in dec_decode()
614 fclose(data.fp_verify); in dec_decode()
615 data.fp_verify = NULL; in dec_decode()