Lines Matching refs:sess

664 static void codec_vp9_flush_output(struct amvdec_session *sess)  in codec_vp9_flush_output()  argument
666 struct codec_vp9 *vp9 = sess->priv; in codec_vp9_flush_output()
673 amvdec_dst_buf_done(sess, tmp->vbuf, in codec_vp9_flush_output()
676 v4l2_m2m_buf_queue(sess->m2m_ctx, tmp->vbuf); in codec_vp9_flush_output()
687 static u32 codec_vp9_num_pending_bufs(struct amvdec_session *sess) in codec_vp9_num_pending_bufs() argument
689 struct codec_vp9 *vp9 = sess->priv; in codec_vp9_num_pending_bufs()
712 static void codec_vp9_setup_workspace(struct amvdec_session *sess, in codec_vp9_setup_workspace() argument
715 struct amvdec_core *core = sess->core; in codec_vp9_setup_workspace()
742 if (codec_hevc_use_mmu(revision, sess->pixfmt_cap, vp9->is_10bit)) { in codec_vp9_setup_workspace()
757 static int codec_vp9_start(struct amvdec_session *sess) in codec_vp9_start() argument
759 struct amvdec_core *core = sess->core; in codec_vp9_start()
773 codec_vp9_setup_workspace(sess, vp9); in codec_vp9_start()
831 sess->priv = vp9; in codec_vp9_start()
840 static int codec_vp9_stop(struct amvdec_session *sess) in codec_vp9_stop() argument
842 struct amvdec_core *core = sess->core; in codec_vp9_stop()
843 struct codec_vp9 *vp9 = sess->priv; in codec_vp9_stop()
851 codec_hevc_free_fbc_buffers(sess, &vp9->common); in codec_vp9_stop()
861 static void codec_vp9_set_mcrcc(struct amvdec_session *sess) in codec_vp9_set_mcrcc() argument
863 struct amvdec_core *core = sess->core; in codec_vp9_set_mcrcc()
864 struct codec_vp9 *vp9 = sess->priv; in codec_vp9_set_mcrcc()
887 static void codec_vp9_set_sao(struct amvdec_session *sess, in codec_vp9_set_sao() argument
890 struct amvdec_core *core = sess->core; in codec_vp9_set_sao()
891 struct codec_vp9 *vp9 = sess->priv; in codec_vp9_set_sao()
897 if (codec_hevc_use_downsample(sess->pixfmt_cap, vp9->is_10bit)) in codec_vp9_set_sao()
904 if (codec_hevc_use_fbc(sess->pixfmt_cap, vp9->is_10bit)) { in codec_vp9_set_sao()
910 if (sess->pixfmt_cap == V4L2_PIX_FMT_NV12M) { in codec_vp9_set_sao()
921 if (codec_hevc_use_mmu(core->platform->revision, sess->pixfmt_cap, in codec_vp9_set_sao()
930 amvdec_get_output_size(sess)); in codec_vp9_set_sao()
932 (amvdec_get_output_size(sess) / 2)); in codec_vp9_set_sao()
938 if (codec_hevc_use_fbc(sess->pixfmt_cap, vp9->is_10bit)) in codec_vp9_set_sao()
942 if (sess->pixfmt_cap == V4L2_PIX_FMT_NV12M) in codec_vp9_set_sao()
946 if (sess->width >= 1280) in codec_vp9_set_sao()
957 if (!codec_hevc_use_fbc(sess->pixfmt_cap, vp9->is_10bit)) in codec_vp9_set_sao()
1119 static void codec_vp9_set_refs(struct amvdec_session *sess, in codec_vp9_set_refs() argument
1122 struct amvdec_core *core = sess->core; in codec_vp9_set_refs()
1133 if (codec_hevc_use_fbc(sess->pixfmt_cap, vp9->is_10bit)) { in codec_vp9_set_refs()
1146 static void codec_vp9_set_mc(struct amvdec_session *sess, in codec_vp9_set_mc() argument
1149 struct amvdec_core *core = sess->core; in codec_vp9_set_mc()
1155 codec_vp9_set_refs(sess, vp9); in codec_vp9_set_mc()
1158 codec_vp9_set_refs(sess, vp9); in codec_vp9_set_mc()
1188 static struct vp9_frame *codec_vp9_get_new_frame(struct amvdec_session *sess) in codec_vp9_get_new_frame() argument
1190 struct codec_vp9 *vp9 = sess->priv; in codec_vp9_get_new_frame()
1199 vbuf = v4l2_m2m_dst_buf_remove(sess->m2m_ctx); in codec_vp9_get_new_frame()
1201 dev_err(sess->core->dev, "No dst buffer available\n"); in codec_vp9_get_new_frame()
1209 vbuf = v4l2_m2m_dst_buf_remove(sess->m2m_ctx); in codec_vp9_get_new_frame()
1210 v4l2_m2m_buf_queue(sess->m2m_ctx, old_vbuf); in codec_vp9_get_new_frame()
1212 dev_err(sess->core->dev, "No dst buffer available\n"); in codec_vp9_get_new_frame()
1241 static void codec_vp9_rm_noshow_frame(struct amvdec_session *sess) in codec_vp9_rm_noshow_frame() argument
1243 struct codec_vp9 *vp9 = sess->priv; in codec_vp9_rm_noshow_frame()
1251 v4l2_m2m_buf_queue(sess->m2m_ctx, tmp->vbuf); in codec_vp9_rm_noshow_frame()
1259 static void codec_vp9_process_frame(struct amvdec_session *sess) in codec_vp9_process_frame() argument
1261 struct amvdec_core *core = sess->core; in codec_vp9_process_frame()
1262 struct codec_vp9 *vp9 = sess->priv; in codec_vp9_process_frame()
1267 codec_vp9_rm_noshow_frame(sess); in codec_vp9_process_frame()
1269 vp9->cur_frame = codec_vp9_get_new_frame(sess); in codec_vp9_process_frame()
1283 if (codec_hevc_use_mmu(core->platform->revision, sess->pixfmt_cap, in codec_vp9_process_frame()
1285 codec_hevc_fill_mmu_map(sess, &vp9->common, in codec_vp9_process_frame()
1292 codec_vp9_set_mc(sess, vp9); in codec_vp9_process_frame()
1300 codec_vp9_set_mcrcc(sess); in codec_vp9_process_frame()
1301 codec_vp9_set_sao(sess, &vp9->cur_frame->vbuf->vb2_buf); in codec_vp9_process_frame()
1340 static void codec_vp9_resume(struct amvdec_session *sess) in codec_vp9_resume() argument
1342 struct codec_vp9 *vp9 = sess->priv; in codec_vp9_resume()
1345 if (codec_hevc_setup_buffers(sess, &vp9->common, vp9->is_10bit)) { in codec_vp9_resume()
1347 amvdec_abort(sess); in codec_vp9_resume()
1351 codec_vp9_setup_workspace(sess, vp9); in codec_vp9_resume()
1352 codec_hevc_setup_decode_head(sess, vp9->is_10bit); in codec_vp9_resume()
1354 codec_vp9_process_frame(sess); in codec_vp9_resume()
1363 static void codec_vp9_fetch_rpm(struct amvdec_session *sess) in codec_vp9_fetch_rpm() argument
1365 struct codec_vp9 *vp9 = sess->priv; in codec_vp9_fetch_rpm()
1417 static void codec_vp9_show_frame(struct amvdec_session *sess) in codec_vp9_show_frame() argument
1419 struct codec_vp9 *vp9 = sess->priv; in codec_vp9_show_frame()
1428 amvdec_dst_buf_done(sess, tmp->vbuf, V4L2_FIELD_NONE); in codec_vp9_show_frame()
2078 static irqreturn_t codec_vp9_threaded_isr(struct amvdec_session *sess) in codec_vp9_threaded_isr() argument
2080 struct amvdec_core *core = sess->core; in codec_vp9_threaded_isr()
2081 struct codec_vp9 *vp9 = sess->priv; in codec_vp9_threaded_isr()
2093 amvdec_abort(sess); in codec_vp9_threaded_isr()
2098 sess->keyframe_found = 1; in codec_vp9_threaded_isr()
2131 codec_vp9_fetch_rpm(sess); in codec_vp9_threaded_isr()
2133 amvdec_src_change(sess, vp9->width, vp9->height, 16); in codec_vp9_threaded_isr()
2139 codec_vp9_show_frame(sess); in codec_vp9_threaded_isr()
2149 codec_vp9_process_frame(sess); in codec_vp9_threaded_isr()
2150 codec_vp9_show_frame(sess); in codec_vp9_threaded_isr()
2157 static irqreturn_t codec_vp9_isr(struct amvdec_session *sess) in codec_vp9_isr() argument