Lines Matching refs:enc
43 MPP_RET mpp_enc_init_v2(MppEnc *enc, MppEncInitCfg *cfg) in mpp_enc_init_v2() argument
55 if (NULL == enc) { in mpp_enc_init_v2()
60 *enc = NULL; in mpp_enc_init_v2()
172 *enc = p; in mpp_enc_init_v2()
181 MppEncImpl *enc = (MppEncImpl *)ctx; in mpp_enc_deinit_v2() local
183 if (NULL == enc) { in mpp_enc_deinit_v2()
188 mpp_mutex_destroy(&enc->lock); in mpp_enc_deinit_v2()
190 if (enc->hal_info) { in mpp_enc_deinit_v2()
191 hal_info_deinit(enc->hal_info); in mpp_enc_deinit_v2()
192 enc->hal_info = NULL; in mpp_enc_deinit_v2()
195 if (enc->impl) { in mpp_enc_deinit_v2()
196 enc_impl_deinit(enc->impl); in mpp_enc_deinit_v2()
197 enc->impl = NULL; in mpp_enc_deinit_v2()
200 if (enc->enc_hal) { in mpp_enc_deinit_v2()
201 mpp_enc_hal_deinit(enc->enc_hal); in mpp_enc_deinit_v2()
202 enc->enc_hal = NULL; in mpp_enc_deinit_v2()
205 if (enc->hdr_pkt) in mpp_enc_deinit_v2()
206 mpp_packet_deinit(&enc->hdr_pkt); in mpp_enc_deinit_v2()
208 MPP_FREE(enc->hdr_buf); in mpp_enc_deinit_v2()
210 if (enc->set->ref_cfg) { in mpp_enc_deinit_v2()
211 mpp_enc_ref_cfg_deinit(&enc->set->ref_cfg); in mpp_enc_deinit_v2()
212 enc->set->ref_cfg = NULL; in mpp_enc_deinit_v2()
215 if (enc->cfg->ref_cfg) { in mpp_enc_deinit_v2()
216 mpp_enc_ref_cfg_deinit(&enc->cfg->ref_cfg); in mpp_enc_deinit_v2()
217 enc->cfg->ref_cfg = NULL; in mpp_enc_deinit_v2()
220 if (enc->refs) { in mpp_enc_deinit_v2()
221 mpp_enc_refs_deinit(&enc->refs); in mpp_enc_deinit_v2()
222 enc->refs = NULL; in mpp_enc_deinit_v2()
225 if (enc->set_obj) { in mpp_enc_deinit_v2()
226 kmpp_obj_put_f(enc->set_obj); in mpp_enc_deinit_v2()
227 enc->set_obj = NULL; in mpp_enc_deinit_v2()
230 if (enc->cfg_obj) { in mpp_enc_deinit_v2()
231 kmpp_obj_put_f(enc->cfg_obj); in mpp_enc_deinit_v2()
232 enc->cfg_obj = NULL; in mpp_enc_deinit_v2()
235 if (enc->rc_ctx) { in mpp_enc_deinit_v2()
236 rc_deinit(enc->rc_ctx); in mpp_enc_deinit_v2()
237 enc->rc_ctx = NULL; in mpp_enc_deinit_v2()
240 MPP_FREE(enc->rc_cfg_info); in mpp_enc_deinit_v2()
241 enc->rc_cfg_size = 0; in mpp_enc_deinit_v2()
242 enc->rc_cfg_length = 0; in mpp_enc_deinit_v2()
244 sem_destroy(&enc->enc_reset); in mpp_enc_deinit_v2()
245 sem_destroy(&enc->cmd_start); in mpp_enc_deinit_v2()
246 sem_destroy(&enc->cmd_done); in mpp_enc_deinit_v2()
248 mpp_free(enc); in mpp_enc_deinit_v2()
254 MppEncImpl *enc = (MppEncImpl *)ctx; in mpp_enc_start_v2() local
257 enc_dbg_func("%p in\n", enc); in mpp_enc_start_v2()
260 strof_coding_type(enc->coding), getpid()); in mpp_enc_start_v2()
262 enc->thread_enc = mpp_thread_create(mpp_enc_thread, enc->mpp, name); in mpp_enc_start_v2()
263 mpp_thread_start(enc->thread_enc); in mpp_enc_start_v2()
265 enc_dbg_func("%p out\n", enc); in mpp_enc_start_v2()
272 MppEncImpl *enc = (MppEncImpl *)ctx; in mpp_enc_start_async() local
275 enc_dbg_func("%p in\n", enc); in mpp_enc_start_async()
278 strof_coding_type(enc->coding), getpid()); in mpp_enc_start_async()
280 enc->thread_enc = mpp_thread_create(mpp_enc_async_thread, enc->mpp, name); in mpp_enc_start_async()
281 mpp_thread_start(enc->thread_enc); in mpp_enc_start_async()
283 enc_dbg_func("%p out\n", enc); in mpp_enc_start_async()
291 MppEncImpl *enc = (MppEncImpl *)ctx; in mpp_enc_stop_v2() local
293 enc_dbg_func("%p in\n", enc); in mpp_enc_stop_v2()
295 if (enc->thread_enc) { in mpp_enc_stop_v2()
296 mpp_thread_stop(enc->thread_enc); in mpp_enc_stop_v2()
297 mpp_thread_destroy(enc->thread_enc); in mpp_enc_stop_v2()
298 enc->thread_enc = NULL; in mpp_enc_stop_v2()
301 enc_dbg_func("%p out\n", enc); in mpp_enc_stop_v2()
308 MppEncImpl *enc = (MppEncImpl *)ctx; in mpp_enc_reset_v2() local
311 enc_dbg_func("%p in\n", enc); in mpp_enc_reset_v2()
313 if (NULL == enc) { in mpp_enc_reset_v2()
318 thd = enc->thread_enc; in mpp_enc_reset_v2()
321 enc->reset_flag = 1; in mpp_enc_reset_v2()
322 mpp_enc_notify_v2(enc, MPP_ENC_RESET); in mpp_enc_reset_v2()
325 sem_wait(&enc->enc_reset); in mpp_enc_reset_v2()
326 mpp_assert(enc->reset_flag == 0); in mpp_enc_reset_v2()
333 MppEncImpl *enc = (MppEncImpl *)ctx; in mpp_enc_notify_v2() local
334 MppThread *thd = enc->thread_enc; in mpp_enc_notify_v2()
336 enc_dbg_func("%p in flag %08x\n", enc, flag); in mpp_enc_notify_v2()
340 enc->notify_flag |= flag; in mpp_enc_notify_v2()
341 enc_dbg_notify("%p status %08x notify control signal\n", enc, in mpp_enc_notify_v2()
342 enc->status_flag); in mpp_enc_notify_v2()
345 RK_U32 old_flag = enc->notify_flag; in mpp_enc_notify_v2()
347 enc->notify_flag |= flag; in mpp_enc_notify_v2()
348 if ((old_flag != enc->notify_flag) && in mpp_enc_notify_v2()
349 (enc->notify_flag & enc->status_flag)) { in mpp_enc_notify_v2()
350 enc_dbg_notify("%p status %08x notify %08x signal\n", enc, in mpp_enc_notify_v2()
351 enc->status_flag, enc->notify_flag); in mpp_enc_notify_v2()
356 enc_dbg_func("%p out\n", enc); in mpp_enc_notify_v2()
368 MppEncImpl *enc = (MppEncImpl *)ctx; in mpp_enc_control_v2() local
371 if (NULL == enc) { in mpp_enc_control_v2()
377 mpp_err_f("found NULL param enc %p cmd %x\n", enc, cmd); in mpp_enc_control_v2()
381 mpp_mutex_lock(&enc->lock); in mpp_enc_control_v2()
388 copy_enc_cfg(param, enc->cfg_obj); in mpp_enc_control_v2()
412 memcpy(param, &enc->hdr_mode, sizeof(enc->hdr_mode)); in mpp_enc_control_v2()
416 memcpy(param, &enc->cfg->plt_cfg, sizeof(enc->cfg->plt_cfg)); in mpp_enc_control_v2()
430 enc->cmd = cmd; in mpp_enc_control_v2()
431 enc->param = param; in mpp_enc_control_v2()
432 enc->cmd_ret = &ret; in mpp_enc_control_v2()
433 enc->cmd_send++; in mpp_enc_control_v2()
435 sem_post(&enc->cmd_start); in mpp_enc_control_v2()
436 sem_wait(&enc->cmd_done); in mpp_enc_control_v2()
439 mpp_assert(!enc->cmd); in mpp_enc_control_v2()
440 mpp_assert(!enc->param); in mpp_enc_control_v2()
444 mpp_mutex_unlock(&enc->lock); in mpp_enc_control_v2()