Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at master 78 lines 2.0 kB view raw
1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * Contains the virtual decoder logic. The functions here control the 4 * tracing/TPG on a per-frame basis 5 */ 6 7#ifndef _VISL_DEC_H_ 8#define _VISL_DEC_H_ 9 10#include "linux/v4l2-controls.h" 11#include "visl.h" 12 13struct visl_fwht_run { 14 const struct v4l2_ctrl_fwht_params *params; 15}; 16 17struct visl_mpeg2_run { 18 const struct v4l2_ctrl_mpeg2_sequence *seq; 19 const struct v4l2_ctrl_mpeg2_picture *pic; 20 const struct v4l2_ctrl_mpeg2_quantisation *quant; 21}; 22 23struct visl_vp8_run { 24 const struct v4l2_ctrl_vp8_frame *frame; 25}; 26 27struct visl_vp9_run { 28 const struct v4l2_ctrl_vp9_frame *frame; 29 const struct v4l2_ctrl_vp9_compressed_hdr *probs; 30}; 31 32struct visl_h264_run { 33 const struct v4l2_ctrl_h264_sps *sps; 34 const struct v4l2_ctrl_h264_pps *pps; 35 const struct v4l2_ctrl_h264_scaling_matrix *sm; 36 const struct v4l2_ctrl_h264_slice_params *spram; 37 const struct v4l2_ctrl_h264_decode_params *dpram; 38 const struct v4l2_ctrl_h264_pred_weights *pwht; 39}; 40 41struct visl_hevc_run { 42 const struct v4l2_ctrl_hevc_sps *sps; 43 const struct v4l2_ctrl_hevc_pps *pps; 44 const struct v4l2_ctrl_hevc_slice_params *spram; 45 const struct v4l2_ctrl_hevc_scaling_matrix *sm; 46 const struct v4l2_ctrl_hevc_decode_params *dpram; 47 const struct v4l2_ctrl_hevc_ext_sps_lt_rps *rps_lt; 48 const struct v4l2_ctrl_hevc_ext_sps_st_rps *rps_st; 49}; 50 51struct visl_av1_run { 52 const struct v4l2_ctrl_av1_sequence *seq; 53 const struct v4l2_ctrl_av1_frame *frame; 54 const struct v4l2_ctrl_av1_tile_group_entry *tge; 55 const struct v4l2_ctrl_av1_film_grain *grain; 56}; 57 58struct visl_run { 59 struct vb2_v4l2_buffer *src; 60 struct vb2_v4l2_buffer *dst; 61 62 union { 63 struct visl_fwht_run fwht; 64 struct visl_mpeg2_run mpeg2; 65 struct visl_vp8_run vp8; 66 struct visl_vp9_run vp9; 67 struct visl_h264_run h264; 68 struct visl_hevc_run hevc; 69 struct visl_av1_run av1; 70 }; 71}; 72 73int visl_dec_start(struct visl_ctx *ctx); 74int visl_dec_stop(struct visl_ctx *ctx); 75int visl_job_ready(void *priv); 76void visl_device_run(void *priv); 77 78#endif /* _VISL_DEC_H_ */