This is an automatic generated email to let you know that the following patch 
were queued at the 
http://git.linuxtv.org/cgit.cgi/v4l-utils.git tree:

Subject: v4l-utils: update to latest media_stage kernel
Author:  Hans Verkuil <hverkuil-ci...@xs4all.nl>
Date:    Wed Nov 24 09:09:05 2021 +0100

The main addition is VP9 stateless codec support.

Signed-off-by: Hans Verkuil <hverkuil-ci...@xs4all.nl>

 contrib/freebsd/include/linux/v4l2-controls.h | 293 +++++++++++++++++++++++++-
 contrib/freebsd/include/linux/videodev2.h     |   6 +
 include/linux/bpf.h                           |  76 ++++++-
 include/linux/v4l2-controls.h                 | 293 +++++++++++++++++++++++++-
 include/linux/videodev2.h                     |   6 +
 sync-with-kernel.sh                           |   2 +-
 utils/common/v4l2-pix-formats.h               |   2 +
 7 files changed, 672 insertions(+), 6 deletions(-)

---

http://git.linuxtv.org/cgit.cgi/v4l-utils.git/commit/?id=d10a7e930d0a7a7842a30e5b87d27ad013c77bc6
diff --git a/contrib/freebsd/include/linux/v4l2-controls.h 
b/contrib/freebsd/include/linux/v4l2-controls.h
index e44ea1cc1ca4..175e41696d7b 100644
--- a/contrib/freebsd/include/linux/v4l2-controls.h
+++ b/contrib/freebsd/include/linux/v4l2-controls.h
@@ -132,6 +132,7 @@ enum v4l2_colorfx {
        V4L2_COLORFX_SOLARIZATION               = 13,
        V4L2_COLORFX_ANTIQUE                    = 14,
        V4L2_COLORFX_SET_CBCR                   = 15,
+       V4L2_COLORFX_SET_RGB                    = 16,
 };
 #define V4L2_CID_AUTOBRIGHTNESS                        (V4L2_CID_BASE+32)
 #define V4L2_CID_BAND_STOP_FILTER              (V4L2_CID_BASE+33)
@@ -149,9 +150,10 @@ enum v4l2_colorfx {
 
 #define V4L2_CID_ALPHA_COMPONENT               (V4L2_CID_BASE+41)
 #define V4L2_CID_COLORFX_CBCR                  (V4L2_CID_BASE+42)
+#define V4L2_CID_COLORFX_RGB                   (V4L2_CID_BASE+43)
 
 /* last CID + 1 */
-#define V4L2_CID_LASTP1                         (V4L2_CID_BASE+43)
+#define V4L2_CID_LASTP1                         (V4L2_CID_BASE+44)
 
 /* USER-class private control IDs */
 
@@ -215,6 +217,11 @@ enum v4l2_colorfx {
  * We reserve 128 controls for this driver.
  */
 #define V4L2_CID_USER_CCS_BASE                 (V4L2_CID_USER_BASE + 0x10f0)
+/*
+ * The base for Allegro driver controls.
+ * We reserve 16 controls for this driver.
+ */
+#define V4L2_CID_USER_ALLEGRO_BASE             (V4L2_CID_USER_BASE + 0x1170)
 
 /* MPEG-class control IDs */
 /* The MPEG controls are applicable to all codec controls
@@ -2013,6 +2020,290 @@ struct v4l2_ctrl_hdr10_mastering_display {
        __u32 min_display_mastering_luminance;
 };
 
+/* Stateless VP9 controls */
+
+#define V4L2_VP9_LOOP_FILTER_FLAG_DELTA_ENABLED        0x1
+#define        V4L2_VP9_LOOP_FILTER_FLAG_DELTA_UPDATE  0x2
+
+/**
+ * struct v4l2_vp9_loop_filter - VP9 loop filter parameters
+ *
+ * @ref_deltas: contains the adjustment needed for the filter level based on 
the
+ * chosen reference frame. If this syntax element is not present in the 
bitstream,
+ * users should pass its last value.
+ * @mode_deltas: contains the adjustment needed for the filter level based on 
the
+ * chosen mode.        If this syntax element is not present in the bitstream, 
users should
+ * pass its last value.
+ * @level: indicates the loop filter strength.
+ * @sharpness: indicates the sharpness level.
+ * @flags: combination of V4L2_VP9_LOOP_FILTER_FLAG_{} flags.
+ * @reserved: padding field. Should be zeroed by applications.
+ *
+ * This structure contains all loop filter related parameters. See sections
+ * '7.2.8 Loop filter semantics' of the VP9 specification for more details.
+ */
+struct v4l2_vp9_loop_filter {
+       __s8 ref_deltas[4];
+       __s8 mode_deltas[2];
+       __u8 level;
+       __u8 sharpness;
+       __u8 flags;
+       __u8 reserved[7];
+};
+
+/**
+ * struct v4l2_vp9_quantization - VP9 quantization parameters
+ *
+ * @base_q_idx: indicates the base frame qindex.
+ * @delta_q_y_dc: indicates the Y DC quantizer relative to base_q_idx.
+ * @delta_q_uv_dc: indicates the UV DC quantizer relative to base_q_idx.
+ * @delta_q_uv_ac: indicates the UV AC quantizer relative to base_q_idx.
+ * @reserved: padding field. Should be zeroed by applications.
+ *
+ * Encodes the quantization parameters. See section '7.2.9 Quantization params
+ * syntax' of the VP9 specification for more details.
+ */
+struct v4l2_vp9_quantization {
+       __u8 base_q_idx;
+       __s8 delta_q_y_dc;
+       __s8 delta_q_uv_dc;
+       __s8 delta_q_uv_ac;
+       __u8 reserved[4];
+};
+
+#define V4L2_VP9_SEGMENTATION_FLAG_ENABLED             0x01
+#define V4L2_VP9_SEGMENTATION_FLAG_UPDATE_MAP          0x02
+#define V4L2_VP9_SEGMENTATION_FLAG_TEMPORAL_UPDATE     0x04
+#define V4L2_VP9_SEGMENTATION_FLAG_UPDATE_DATA         0x08
+#define V4L2_VP9_SEGMENTATION_FLAG_ABS_OR_DELTA_UPDATE 0x10
+
+#define V4L2_VP9_SEG_LVL_ALT_Q                         0
+#define V4L2_VP9_SEG_LVL_ALT_L                         1
+#define V4L2_VP9_SEG_LVL_REF_FRAME                     2
+#define V4L2_VP9_SEG_LVL_SKIP                          3
+#define V4L2_VP9_SEG_LVL_MAX                           4
+
+#define V4L2_VP9_SEGMENT_FEATURE_ENABLED(id)   (1 << (id))
+#define V4L2_VP9_SEGMENT_FEATURE_ENABLED_MASK  0xf
+
+/**
+ * struct v4l2_vp9_segmentation - VP9 segmentation parameters
+ *
+ * @feature_data: data attached to each feature. Data entry is only valid if
+ * the feature is enabled. The array shall be indexed with segment number as
+ * the first dimension (0..7) and one of V4L2_VP9_SEG_{} as the second 
dimension.
+ * @feature_enabled: bitmask defining which features are enabled in each 
segment.
+ * The value for each segment is a combination of 
V4L2_VP9_SEGMENT_FEATURE_ENABLED(id)
+ * values where id is one of V4L2_VP9_SEG_LVL_{}.
+ * @tree_probs: specifies the probability values to be used when decoding a
+ * Segment-ID. See '5.15. Segmentation map' section of the VP9 specification
+ * for more details.
+ * @pred_probs: specifies the probability values to be used when decoding a
+ * Predicted-Segment-ID. See '6.4.14. Get segment id syntax' section of 
:ref:`vp9`
+ * for more details.
+ * @flags: combination of V4L2_VP9_SEGMENTATION_FLAG_{} flags.
+ * @reserved: padding field. Should be zeroed by applications.
+ *
+ * Encodes the quantization parameters. See section '7.2.10 Segmentation 
params syntax' of
+ * the VP9 specification for more details.
+ */
+struct v4l2_vp9_segmentation {
+       __s16 feature_data[8][4];
+       __u8 feature_enabled[8];
+       __u8 tree_probs[7];
+       __u8 pred_probs[3];
+       __u8 flags;
+       __u8 reserved[5];
+};
+
+#define V4L2_VP9_FRAME_FLAG_KEY_FRAME                  0x001
+#define V4L2_VP9_FRAME_FLAG_SHOW_FRAME                 0x002
+#define V4L2_VP9_FRAME_FLAG_ERROR_RESILIENT            0x004
+#define V4L2_VP9_FRAME_FLAG_INTRA_ONLY                 0x008
+#define V4L2_VP9_FRAME_FLAG_ALLOW_HIGH_PREC_MV         0x010
+#define V4L2_VP9_FRAME_FLAG_REFRESH_FRAME_CTX          0x020
+#define V4L2_VP9_FRAME_FLAG_PARALLEL_DEC_MODE          0x040
+#define V4L2_VP9_FRAME_FLAG_X_SUBSAMPLING              0x080
+#define V4L2_VP9_FRAME_FLAG_Y_SUBSAMPLING              0x100
+#define V4L2_VP9_FRAME_FLAG_COLOR_RANGE_FULL_SWING     0x200
+
+#define V4L2_VP9_SIGN_BIAS_LAST                                0x1
+#define V4L2_VP9_SIGN_BIAS_GOLDEN                      0x2
+#define V4L2_VP9_SIGN_BIAS_ALT                         0x4
+
+#define V4L2_VP9_RESET_FRAME_CTX_NONE                  0
+#define V4L2_VP9_RESET_FRAME_CTX_SPEC                  1
+#define V4L2_VP9_RESET_FRAME_CTX_ALL                   2
+
+#define V4L2_VP9_INTERP_FILTER_EIGHTTAP                        0
+#define V4L2_VP9_INTERP_FILTER_EIGHTTAP_SMOOTH         1
+#define V4L2_VP9_INTERP_FILTER_EIGHTTAP_SHARP          2
+#define V4L2_VP9_INTERP_FILTER_BILINEAR                        3
+#define V4L2_VP9_INTERP_FILTER_SWITCHABLE              4
+
+#define V4L2_VP9_REFERENCE_MODE_SINGLE_REFERENCE       0
+#define V4L2_VP9_REFERENCE_MODE_COMPOUND_REFERENCE     1
+#define V4L2_VP9_REFERENCE_MODE_SELECT                 2
+
+#define V4L2_VP9_PROFILE_MAX                           3
+
+#define V4L2_CID_STATELESS_VP9_FRAME   (V4L2_CID_CODEC_STATELESS_BASE + 300)
+/**
+ * struct v4l2_ctrl_vp9_frame - VP9 frame decoding control
+ *
+ * @lf: loop filter parameters. See &v4l2_vp9_loop_filter for more details.
+ * @quant: quantization parameters. See &v4l2_vp9_quantization for more 
details.
+ * @seg: segmentation parameters. See &v4l2_vp9_segmentation for more details.
+ * @flags: combination of V4L2_VP9_FRAME_FLAG_{} flags.
+ * @compressed_header_size: compressed header size in bytes.
+ * @uncompressed_header_size: uncompressed header size in bytes.
+ * @frame_width_minus_1: add 1 to it and you'll get the frame width expressed 
in pixels.
+ * @frame_height_minus_1: add 1 to it and you'll get the frame height 
expressed in pixels.
+ * @render_width_minus_1: add 1 to it and you'll get the expected render width 
expressed in
+ * pixels. This is not used during the decoding process but might be used by 
HW scalers
+ * to prepare a frame that's ready for scanout.
+ * @render_height_minus_1: add 1 to it and you'll get the expected render 
height expressed in
+ * pixels. This is not used during the decoding process but might be used by 
HW scalers
+ * to prepare a frame that's ready for scanout.
+ * @last_frame_ts: "last" reference buffer timestamp.
+ * The timestamp refers to the timestamp field in struct v4l2_buffer.
+ * Use v4l2_timeval_to_ns() to convert the struct timeval to a __u64.
+ * @golden_frame_ts: "golden" reference buffer timestamp.
+ * The timestamp refers to the timestamp field in struct v4l2_buffer.
+ * Use v4l2_timeval_to_ns() to convert the struct timeval to a __u64.
+ * @alt_frame_ts: "alt" reference buffer timestamp.
+ * The timestamp refers to the timestamp field in struct v4l2_buffer.
+ * Use v4l2_timeval_to_ns() to convert the struct timeval to a __u64.
+ * @ref_frame_sign_bias: a bitfield specifying whether the sign bias is set 
for a given
+ * reference frame. Either of V4L2_VP9_SIGN_BIAS_{}.
+ * @reset_frame_context: specifies whether the frame context should be reset 
to default values.
+ * Either of V4L2_VP9_RESET_FRAME_CTX_{}.
+ * @frame_context_idx: frame context that should be used/updated.
+ * @profile: VP9 profile. Can be 0, 1, 2 or 3.
+ * @bit_depth: bits per components. Can be 8, 10 or 12. Note that not all 
profiles support
+ * 10 and/or 12 bits depths.
+ * @interpolation_filter: specifies the filter selection used for performing 
inter prediction.
+ * Set to one of V4L2_VP9_INTERP_FILTER_{}.
+ * @tile_cols_log2: specifies the base 2 logarithm of the width of each tile 
(where the width
+ * is measured in units of 8x8 blocks). Shall be less than or equal to 6.
+ * @tile_rows_log2: specifies the base 2 logarithm of the height of each tile 
(where the height
+ * is measured in units of 8x8 blocks).
+ * @reference_mode: specifies the type of inter prediction to be used.
+ * Set to one of V4L2_VP9_REFERENCE_MODE_{}.
+ * @reserved: padding field. Should be zeroed by applications.
+ */
+struct v4l2_ctrl_vp9_frame {
+       struct v4l2_vp9_loop_filter lf;
+       struct v4l2_vp9_quantization quant;
+       struct v4l2_vp9_segmentation seg;
+       __u32 flags;
+       __u16 compressed_header_size;
+       __u16 uncompressed_header_size;
+       __u16 frame_width_minus_1;
+       __u16 frame_height_minus_1;
+       __u16 render_width_minus_1;
+       __u16 render_height_minus_1;
+       __u64 last_frame_ts;
+       __u64 golden_frame_ts;
+       __u64 alt_frame_ts;
+       __u8 ref_frame_sign_bias;
+       __u8 reset_frame_context;
+       __u8 frame_context_idx;
+       __u8 profile;
+       __u8 bit_depth;
+       __u8 interpolation_filter;
+       __u8 tile_cols_log2;
+       __u8 tile_rows_log2;
+       __u8 reference_mode;
+       __u8 reserved[7];
+};
+
+#define V4L2_VP9_NUM_FRAME_CTX 4
+
+/**
+ * struct v4l2_vp9_mv_probs - VP9 Motion vector probability updates
+ * @joint: motion vector joint probability updates.
+ * @sign: motion vector sign probability updates.
+ * @classes: motion vector class probability updates.
+ * @class0_bit: motion vector class0 bit probability updates.
+ * @bits: motion vector bits probability updates.
+ * @class0_fr: motion vector class0 fractional bit probability updates.
+ * @fr: motion vector fractional bit probability updates.
+ * @class0_hp: motion vector class0 high precision fractional bit probability 
updates.
+ * @hp: motion vector high precision fractional bit probability updates.
+ *
+ * This structure contains new values of motion vector probabilities.
+ * A value of zero in an array element means there is no update of the 
relevant probability.
+ * See `struct v4l2_vp9_prob_updates` for details.
+ */
+struct v4l2_vp9_mv_probs {
+       __u8 joint[3];
+       __u8 sign[2];
+       __u8 classes[2][10];
+       __u8 class0_bit[2];
+       __u8 bits[2][10];
+       __u8 class0_fr[2][2][3];
+       __u8 fr[2][3];
+       __u8 class0_hp[2];
+       __u8 hp[2];
+};
+
+#define V4L2_CID_STATELESS_VP9_COMPRESSED_HDR  (V4L2_CID_CODEC_STATELESS_BASE 
+ 301)
+
+#define V4L2_VP9_TX_MODE_ONLY_4X4                      0
+#define V4L2_VP9_TX_MODE_ALLOW_8X8                     1
+#define V4L2_VP9_TX_MODE_ALLOW_16X16                   2
+#define V4L2_VP9_TX_MODE_ALLOW_32X32                   3
+#define V4L2_VP9_TX_MODE_SELECT                                4
+
+/**
+ * struct v4l2_ctrl_vp9_compressed_hdr - VP9 probability updates control
+ * @tx_mode: specifies the TX mode. Set to one of V4L2_VP9_TX_MODE_{}.
+ * @tx8: TX 8x8 probability updates.
+ * @tx16: TX 16x16 probability updates.
+ * @tx32: TX 32x32 probability updates.
+ * @coef: coefficient probability updates.
+ * @skip: skip probability updates.
+ * @inter_mode: inter mode probability updates.
+ * @interp_filter: interpolation filter probability updates.
+ * @is_inter: is inter-block probability updates.
+ * @comp_mode: compound prediction mode probability updates.
+ * @single_ref: single ref probability updates.
+ * @comp_ref: compound ref probability updates.
+ * @y_mode: Y prediction mode probability updates.
+ * @uv_mode: UV prediction mode probability updates.
+ * @partition: partition probability updates.
+ * @mv: motion vector probability updates.
+ *
+ * This structure holds the probabilities update as parsed in the compressed
+ * header (Spec 6.3). These values represent the value of probability update 
after
+ * being translated with inv_map_table[] (see 6.3.5). A value of zero in an 
array element
+ * means that there is no update of the relevant probability.
+ *
+ * This control is optional and needs to be used when dealing with the 
hardware which is
+ * not capable of parsing the compressed header itself. Only drivers which 
need it will
+ * implement it.
+ */
+struct v4l2_ctrl_vp9_compressed_hdr {
+       __u8 tx_mode;
+       __u8 tx8[2][1];
+       __u8 tx16[2][2];
+       __u8 tx32[2][3];
+       __u8 coef[4][2][2][6][6][3];
+       __u8 skip[3];
+       __u8 inter_mode[7][3];
+       __u8 interp_filter[4][2];
+       __u8 is_inter[4];
+       __u8 comp_mode[5];
+       __u8 single_ref[5][2];
+       __u8 comp_ref[5];
+       __u8 y_mode[4][9];
+       __u8 uv_mode[10][9];
+       __u8 partition[16][3];
+
+       struct v4l2_vp9_mv_probs mv;
+};
+
 /* MPEG-compression definitions kept for backwards compatibility */
 #define V4L2_CTRL_CLASS_MPEG            V4L2_CTRL_CLASS_CODEC
 #define V4L2_CID_MPEG_CLASS             V4L2_CID_CODEC_CLASS
diff --git a/contrib/freebsd/include/linux/videodev2.h 
b/contrib/freebsd/include/linux/videodev2.h
index 27411eb3066d..5fcaefd0a53e 100644
--- a/contrib/freebsd/include/linux/videodev2.h
+++ b/contrib/freebsd/include/linux/videodev2.h
@@ -731,6 +731,7 @@ struct v4l2_pix_format {
 #define V4L2_PIX_FMT_VP8      v4l2_fourcc('V', 'P', '8', '0') /* VP8 */
 #define V4L2_PIX_FMT_VP8_FRAME v4l2_fourcc('V', 'P', '8', 'F') /* VP8 parsed 
frame */
 #define V4L2_PIX_FMT_VP9      v4l2_fourcc('V', 'P', '9', '0') /* VP9 */
+#define V4L2_PIX_FMT_VP9_FRAME v4l2_fourcc('V', 'P', '9', 'F') /* VP9 parsed 
frame */
 #define V4L2_PIX_FMT_HEVC     v4l2_fourcc('H', 'E', 'V', 'C') /* HEVC aka 
H.265 */
 #define V4L2_PIX_FMT_FWHT     v4l2_fourcc('F', 'W', 'H', 'T') /* Fast Walsh 
Hadamard Transform (vicodec) */
 #define V4L2_PIX_FMT_FWHT_STATELESS     v4l2_fourcc('S', 'F', 'W', 'H') /* 
Stateless FWHT (vicodec) */
@@ -1764,6 +1765,8 @@ struct v4l2_ext_control {
                struct v4l2_ctrl_mpeg2_sequence *p_mpeg2_sequence;
                struct v4l2_ctrl_mpeg2_picture *p_mpeg2_picture;
                struct v4l2_ctrl_mpeg2_quantisation *p_mpeg2_quantisation;
+               struct v4l2_ctrl_vp9_compressed_hdr *p_vp9_compressed_hdr_probs;
+               struct v4l2_ctrl_vp9_frame *p_vp9_frame;
                void *ptr;
        };
 } __attribute__ ((packed));
@@ -1824,6 +1827,9 @@ enum v4l2_ctrl_type {
        V4L2_CTRL_TYPE_MPEG2_QUANTISATION   = 0x0250,
        V4L2_CTRL_TYPE_MPEG2_SEQUENCE       = 0x0251,
        V4L2_CTRL_TYPE_MPEG2_PICTURE        = 0x0252,
+
+       V4L2_CTRL_TYPE_VP9_COMPRESSED_HDR       = 0x0260,
+       V4L2_CTRL_TYPE_VP9_FRAME                = 0x0261,
 };
 
 /*  Used in the VIDIOC_QUERYCTRL ioctl for querying controls */
diff --git a/include/linux/bpf.h b/include/linux/bpf.h
index 177cdc57c370..0c3a514a35b3 100644
--- a/include/linux/bpf.h
+++ b/include/linux/bpf.h
@@ -906,6 +906,7 @@ enum bpf_map_type {
        BPF_MAP_TYPE_RINGBUF,
        BPF_MAP_TYPE_INODE_STORAGE,
        BPF_MAP_TYPE_TASK_STORAGE,
+       BPF_MAP_TYPE_BLOOM_FILTER,
 };
 
 /* Note that tracing related programs such as
@@ -1274,6 +1275,13 @@ union bpf_attr {
                                                   * struct stored as the
                                                   * map value
                                                   */
+               /* Any per-map-type extra fields
+                *
+                * BPF_MAP_TYPE_BLOOM_FILTER - the lowest 4 bits indicate the
+                * number of hash functions (if 0, the bloom filter will default
+                * to using 5 hash functions).
+                */
+               __u64   map_extra;
        };
 
        struct { /* anonymous struct used by BPF_MAP_*_ELEM commands */
@@ -1629,7 +1637,7 @@ union bpf_attr {
  * u32 bpf_get_smp_processor_id(void)
  *     Description
  *             Get the SMP (symmetric multiprocessing) processor id. Note that
- *             all programs run with preemption disabled, which means that the
+ *             all programs run with migration disabled, which means that the
  *             SMP processor id is stable during all the execution of the
  *             program.
  *     Return
@@ -4046,7 +4054,7 @@ union bpf_attr {
  *             arguments. The *data* are a **u64** array and corresponding 
format string
  *             values are stored in the array. For strings and pointers where 
pointees
  *             are accessed, only the pointer values are stored in the *data* 
array.
- *             The *data_len* is the size of *data* in bytes.
+ *             The *data_len* is the size of *data* in bytes - must be a 
multiple of 8.
  *
  *             Formats **%s**, **%p{i,I}{4,6}** requires to read kernel memory.
  *             Reading kernel memory may fail due to either invalid address or
@@ -4751,7 +4759,8 @@ union bpf_attr {
  *             Each format specifier in **fmt** corresponds to one u64 element
  *             in the **data** array. For strings and pointers where pointees
  *             are accessed, only the pointer values are stored in the *data*
- *             array. The *data_len* is the size of *data* in bytes.
+ *             array. The *data_len* is the size of *data* in bytes - must be
+ *             a multiple of 8.
  *
  *             Formats **%s** and **%p{i,I}{4,6}** require to read kernel
  *             memory. Reading kernel memory may fail due to either invalid
@@ -4877,6 +4886,58 @@ union bpf_attr {
  *             Get the struct pt_regs associated with **task**.
  *     Return
  *             A pointer to struct pt_regs.
+ *
+ * long bpf_get_branch_snapshot(void *entries, u32 size, u64 flags)
+ *     Description
+ *             Get branch trace from hardware engines like Intel LBR. The
+ *             hardware engine is stopped shortly after the helper is
+ *             called. Therefore, the user need to filter branch entries
+ *             based on the actual use case. To capture branch trace
+ *             before the trigger point of the BPF program, the helper
+ *             should be called at the beginning of the BPF program.
+ *
+ *             The data is stored as struct perf_branch_entry into output
+ *             buffer *entries*. *size* is the size of *entries* in bytes.
+ *             *flags* is reserved for now and must be zero.
+ *
+ *     Return
+ *             On success, number of bytes written to *buf*. On error, a
+ *             negative value.
+ *
+ *             **-EINVAL** if *flags* is not zero.
+ *
+ *             **-ENOENT** if architecture does not support branch records.
+ *
+ * long bpf_trace_vprintk(const char *fmt, u32 fmt_size, const void *data, u32 
data_len)
+ *     Description
+ *             Behaves like **bpf_trace_printk**\ () helper, but takes an 
array of u64
+ *             to format and can handle more format args as a result.
+ *
+ *             Arguments are to be used as in **bpf_seq_printf**\ () helper.
+ *     Return
+ *             The number of bytes written to the buffer, or a negative error
+ *             in case of failure.
+ *
+ * struct unix_sock *bpf_skc_to_unix_sock(void *sk)
+ *     Description
+ *             Dynamically cast a *sk* pointer to a *unix_sock* pointer.
+ *     Return
+ *             *sk* if casting is valid, or **NULL** otherwise.
+ *
+ * long bpf_kallsyms_lookup_name(const char *name, int name_sz, int flags, u64 
*res)
+ *     Description
+ *             Get the address of a kernel symbol, returned in *res*. *res* is
+ *             set to 0 if the symbol is not found.
+ *     Return
+ *             On success, zero. On error, a negative value.
+ *
+ *             **-EINVAL** if *flags* is not zero.
+ *
+ *             **-EINVAL** if string *name* is not the same size as *name_sz*.
+ *
+ *             **-ENOENT** if symbol is not found.
+ *
+ *             **-EPERM** if caller does not have permission to obtain kernel 
address.
  */
 #define __BPF_FUNC_MAPPER(FN)          \
        FN(unspec),                     \
@@ -5055,6 +5116,10 @@ union bpf_attr {
        FN(get_func_ip),                \
        FN(get_attach_cookie),          \
        FN(task_pt_regs),               \
+       FN(get_branch_snapshot),        \
+       FN(trace_vprintk),              \
+       FN(skc_to_unix_sock),           \
+       FN(kallsyms_lookup_name),       \
        /* */
 
 /* integer value in 'imm' field of BPF_CALL instruction selects which helper
@@ -5284,6 +5349,8 @@ struct __sk_buff {
        __u32 gso_segs;
        __bpf_md_ptr(struct bpf_sock *, sk);
        __u32 gso_size;
+       __u32 :32;              /* Padding, future use. */
+       __u64 hwtstamp;
 };
 
 struct bpf_tunnel_key {
@@ -5577,6 +5644,7 @@ struct bpf_prog_info {
        __u64 run_time_ns;
        __u64 run_cnt;
        __u64 recursion_misses;
+       __u32 verified_insns;
 } __attribute__((aligned(8)));
 
 struct bpf_map_info {
@@ -5594,6 +5662,8 @@ struct bpf_map_info {
        __u32 btf_id;
        __u32 btf_key_type_id;
        __u32 btf_value_type_id;
+       __u32 :32;      /* alignment pad */
+       __u64 map_extra;
 } __attribute__((aligned(8)));
 
 struct bpf_btf_info {
diff --git a/include/linux/v4l2-controls.h b/include/linux/v4l2-controls.h
index e44ea1cc1ca4..175e41696d7b 100644
--- a/include/linux/v4l2-controls.h
+++ b/include/linux/v4l2-controls.h
@@ -132,6 +132,7 @@ enum v4l2_colorfx {
        V4L2_COLORFX_SOLARIZATION               = 13,
        V4L2_COLORFX_ANTIQUE                    = 14,
        V4L2_COLORFX_SET_CBCR                   = 15,
+       V4L2_COLORFX_SET_RGB                    = 16,
 };
 #define V4L2_CID_AUTOBRIGHTNESS                        (V4L2_CID_BASE+32)
 #define V4L2_CID_BAND_STOP_FILTER              (V4L2_CID_BASE+33)
@@ -149,9 +150,10 @@ enum v4l2_colorfx {
 
 #define V4L2_CID_ALPHA_COMPONENT               (V4L2_CID_BASE+41)
 #define V4L2_CID_COLORFX_CBCR                  (V4L2_CID_BASE+42)
+#define V4L2_CID_COLORFX_RGB                   (V4L2_CID_BASE+43)
 
 /* last CID + 1 */
-#define V4L2_CID_LASTP1                         (V4L2_CID_BASE+43)
+#define V4L2_CID_LASTP1                         (V4L2_CID_BASE+44)
 
 /* USER-class private control IDs */
 
@@ -215,6 +217,11 @@ enum v4l2_colorfx {
  * We reserve 128 controls for this driver.
  */
 #define V4L2_CID_USER_CCS_BASE                 (V4L2_CID_USER_BASE + 0x10f0)
+/*
+ * The base for Allegro driver controls.
+ * We reserve 16 controls for this driver.
+ */
+#define V4L2_CID_USER_ALLEGRO_BASE             (V4L2_CID_USER_BASE + 0x1170)
 
 /* MPEG-class control IDs */
 /* The MPEG controls are applicable to all codec controls
@@ -2013,6 +2020,290 @@ struct v4l2_ctrl_hdr10_mastering_display {
        __u32 min_display_mastering_luminance;
 };
 
+/* Stateless VP9 controls */
+
+#define V4L2_VP9_LOOP_FILTER_FLAG_DELTA_ENABLED        0x1
+#define        V4L2_VP9_LOOP_FILTER_FLAG_DELTA_UPDATE  0x2
+
+/**
+ * struct v4l2_vp9_loop_filter - VP9 loop filter parameters
+ *
+ * @ref_deltas: contains the adjustment needed for the filter level based on 
the
+ * chosen reference frame. If this syntax element is not present in the 
bitstream,
+ * users should pass its last value.
+ * @mode_deltas: contains the adjustment needed for the filter level based on 
the
+ * chosen mode.        If this syntax element is not present in the bitstream, 
users should
+ * pass its last value.
+ * @level: indicates the loop filter strength.
+ * @sharpness: indicates the sharpness level.
+ * @flags: combination of V4L2_VP9_LOOP_FILTER_FLAG_{} flags.
+ * @reserved: padding field. Should be zeroed by applications.
+ *
+ * This structure contains all loop filter related parameters. See sections
+ * '7.2.8 Loop filter semantics' of the VP9 specification for more details.
+ */
+struct v4l2_vp9_loop_filter {
+       __s8 ref_deltas[4];
+       __s8 mode_deltas[2];
+       __u8 level;
+       __u8 sharpness;
+       __u8 flags;
+       __u8 reserved[7];
+};
+
+/**
+ * struct v4l2_vp9_quantization - VP9 quantization parameters
+ *
+ * @base_q_idx: indicates the base frame qindex.
+ * @delta_q_y_dc: indicates the Y DC quantizer relative to base_q_idx.
+ * @delta_q_uv_dc: indicates the UV DC quantizer relative to base_q_idx.
+ * @delta_q_uv_ac: indicates the UV AC quantizer relative to base_q_idx.
+ * @reserved: padding field. Should be zeroed by applications.
+ *
+ * Encodes the quantization parameters. See section '7.2.9 Quantization params
+ * syntax' of the VP9 specification for more details.
+ */
+struct v4l2_vp9_quantization {
+       __u8 base_q_idx;
+       __s8 delta_q_y_dc;
+       __s8 delta_q_uv_dc;
+       __s8 delta_q_uv_ac;
+       __u8 reserved[4];
+};
+
+#define V4L2_VP9_SEGMENTATION_FLAG_ENABLED             0x01
+#define V4L2_VP9_SEGMENTATION_FLAG_UPDATE_MAP          0x02
+#define V4L2_VP9_SEGMENTATION_FLAG_TEMPORAL_UPDATE     0x04
+#define V4L2_VP9_SEGMENTATION_FLAG_UPDATE_DATA         0x08
+#define V4L2_VP9_SEGMENTATION_FLAG_ABS_OR_DELTA_UPDATE 0x10
+
+#define V4L2_VP9_SEG_LVL_ALT_Q                         0
+#define V4L2_VP9_SEG_LVL_ALT_L                         1
+#define V4L2_VP9_SEG_LVL_REF_FRAME                     2
+#define V4L2_VP9_SEG_LVL_SKIP                          3
+#define V4L2_VP9_SEG_LVL_MAX                           4
+
+#define V4L2_VP9_SEGMENT_FEATURE_ENABLED(id)   (1 << (id))
+#define V4L2_VP9_SEGMENT_FEATURE_ENABLED_MASK  0xf
+
+/**
+ * struct v4l2_vp9_segmentation - VP9 segmentation parameters
+ *
+ * @feature_data: data attached to each feature. Data entry is only valid if
+ * the feature is enabled. The array shall be indexed with segment number as
+ * the first dimension (0..7) and one of V4L2_VP9_SEG_{} as the second 
dimension.
+ * @feature_enabled: bitmask defining which features are enabled in each 
segment.
+ * The value for each segment is a combination of 
V4L2_VP9_SEGMENT_FEATURE_ENABLED(id)
+ * values where id is one of V4L2_VP9_SEG_LVL_{}.
+ * @tree_probs: specifies the probability values to be used when decoding a
+ * Segment-ID. See '5.15. Segmentation map' section of the VP9 specification
+ * for more details.
+ * @pred_probs: specifies the probability values to be used when decoding a
+ * Predicted-Segment-ID. See '6.4.14. Get segment id syntax' section of 
:ref:`vp9`
+ * for more details.
+ * @flags: combination of V4L2_VP9_SEGMENTATION_FLAG_{} flags.
+ * @reserved: padding field. Should be zeroed by applications.
+ *
+ * Encodes the quantization parameters. See section '7.2.10 Segmentation 
params syntax' of
+ * the VP9 specification for more details.
+ */
+struct v4l2_vp9_segmentation {
+       __s16 feature_data[8][4];
+       __u8 feature_enabled[8];
+       __u8 tree_probs[7];
+       __u8 pred_probs[3];
+       __u8 flags;
+       __u8 reserved[5];
+};
+
+#define V4L2_VP9_FRAME_FLAG_KEY_FRAME                  0x001
+#define V4L2_VP9_FRAME_FLAG_SHOW_FRAME                 0x002
+#define V4L2_VP9_FRAME_FLAG_ERROR_RESILIENT            0x004
+#define V4L2_VP9_FRAME_FLAG_INTRA_ONLY                 0x008
+#define V4L2_VP9_FRAME_FLAG_ALLOW_HIGH_PREC_MV         0x010
+#define V4L2_VP9_FRAME_FLAG_REFRESH_FRAME_CTX          0x020
+#define V4L2_VP9_FRAME_FLAG_PARALLEL_DEC_MODE          0x040
+#define V4L2_VP9_FRAME_FLAG_X_SUBSAMPLING              0x080
+#define V4L2_VP9_FRAME_FLAG_Y_SUBSAMPLING              0x100
+#define V4L2_VP9_FRAME_FLAG_COLOR_RANGE_FULL_SWING     0x200
+
+#define V4L2_VP9_SIGN_BIAS_LAST                                0x1
+#define V4L2_VP9_SIGN_BIAS_GOLDEN                      0x2
+#define V4L2_VP9_SIGN_BIAS_ALT                         0x4
+
+#define V4L2_VP9_RESET_FRAME_CTX_NONE                  0
+#define V4L2_VP9_RESET_FRAME_CTX_SPEC                  1
+#define V4L2_VP9_RESET_FRAME_CTX_ALL                   2
+
+#define V4L2_VP9_INTERP_FILTER_EIGHTTAP                        0
+#define V4L2_VP9_INTERP_FILTER_EIGHTTAP_SMOOTH         1
+#define V4L2_VP9_INTERP_FILTER_EIGHTTAP_SHARP          2
+#define V4L2_VP9_INTERP_FILTER_BILINEAR                        3
+#define V4L2_VP9_INTERP_FILTER_SWITCHABLE              4
+
+#define V4L2_VP9_REFERENCE_MODE_SINGLE_REFERENCE       0
+#define V4L2_VP9_REFERENCE_MODE_COMPOUND_REFERENCE     1
+#define V4L2_VP9_REFERENCE_MODE_SELECT                 2
+
+#define V4L2_VP9_PROFILE_MAX                           3
+
+#define V4L2_CID_STATELESS_VP9_FRAME   (V4L2_CID_CODEC_STATELESS_BASE + 300)
+/**
+ * struct v4l2_ctrl_vp9_frame - VP9 frame decoding control
+ *
+ * @lf: loop filter parameters. See &v4l2_vp9_loop_filter for more details.
+ * @quant: quantization parameters. See &v4l2_vp9_quantization for more 
details.
+ * @seg: segmentation parameters. See &v4l2_vp9_segmentation for more details.
+ * @flags: combination of V4L2_VP9_FRAME_FLAG_{} flags.
+ * @compressed_header_size: compressed header size in bytes.
+ * @uncompressed_header_size: uncompressed header size in bytes.
+ * @frame_width_minus_1: add 1 to it and you'll get the frame width expressed 
in pixels.
+ * @frame_height_minus_1: add 1 to it and you'll get the frame height 
expressed in pixels.
+ * @render_width_minus_1: add 1 to it and you'll get the expected render width 
expressed in
+ * pixels. This is not used during the decoding process but might be used by 
HW scalers
+ * to prepare a frame that's ready for scanout.
+ * @render_height_minus_1: add 1 to it and you'll get the expected render 
height expressed in
+ * pixels. This is not used during the decoding process but might be used by 
HW scalers
+ * to prepare a frame that's ready for scanout.
+ * @last_frame_ts: "last" reference buffer timestamp.
+ * The timestamp refers to the timestamp field in struct v4l2_buffer.
+ * Use v4l2_timeval_to_ns() to convert the struct timeval to a __u64.
+ * @golden_frame_ts: "golden" reference buffer timestamp.
+ * The timestamp refers to the timestamp field in struct v4l2_buffer.
+ * Use v4l2_timeval_to_ns() to convert the struct timeval to a __u64.
+ * @alt_frame_ts: "alt" reference buffer timestamp.
+ * The timestamp refers to the timestamp field in struct v4l2_buffer.
+ * Use v4l2_timeval_to_ns() to convert the struct timeval to a __u64.
+ * @ref_frame_sign_bias: a bitfield specifying whether the sign bias is set 
for a given
+ * reference frame. Either of V4L2_VP9_SIGN_BIAS_{}.
+ * @reset_frame_context: specifies whether the frame context should be reset 
to default values.
+ * Either of V4L2_VP9_RESET_FRAME_CTX_{}.
+ * @frame_context_idx: frame context that should be used/updated.
+ * @profile: VP9 profile. Can be 0, 1, 2 or 3.
+ * @bit_depth: bits per components. Can be 8, 10 or 12. Note that not all 
profiles support
+ * 10 and/or 12 bits depths.
+ * @interpolation_filter: specifies the filter selection used for performing 
inter prediction.
+ * Set to one of V4L2_VP9_INTERP_FILTER_{}.
+ * @tile_cols_log2: specifies the base 2 logarithm of the width of each tile 
(where the width
+ * is measured in units of 8x8 blocks). Shall be less than or equal to 6.
+ * @tile_rows_log2: specifies the base 2 logarithm of the height of each tile 
(where the height
+ * is measured in units of 8x8 blocks).
+ * @reference_mode: specifies the type of inter prediction to be used.
+ * Set to one of V4L2_VP9_REFERENCE_MODE_{}.
+ * @reserved: padding field. Should be zeroed by applications.
+ */
+struct v4l2_ctrl_vp9_frame {
+       struct v4l2_vp9_loop_filter lf;
+       struct v4l2_vp9_quantization quant;
+       struct v4l2_vp9_segmentation seg;
+       __u32 flags;
+       __u16 compressed_header_size;
+       __u16 uncompressed_header_size;
+       __u16 frame_width_minus_1;
+       __u16 frame_height_minus_1;
+       __u16 render_width_minus_1;
+       __u16 render_height_minus_1;
+       __u64 last_frame_ts;
+       __u64 golden_frame_ts;
+       __u64 alt_frame_ts;
+       __u8 ref_frame_sign_bias;
+       __u8 reset_frame_context;
+       __u8 frame_context_idx;
+       __u8 profile;
+       __u8 bit_depth;
+       __u8 interpolation_filter;
+       __u8 tile_cols_log2;
+       __u8 tile_rows_log2;
+       __u8 reference_mode;
+       __u8 reserved[7];
+};
+
+#define V4L2_VP9_NUM_FRAME_CTX 4
+
+/**
+ * struct v4l2_vp9_mv_probs - VP9 Motion vector probability updates
+ * @joint: motion vector joint probability updates.
+ * @sign: motion vector sign probability updates.
+ * @classes: motion vector class probability updates.
+ * @class0_bit: motion vector class0 bit probability updates.
+ * @bits: motion vector bits probability updates.
+ * @class0_fr: motion vector class0 fractional bit probability updates.
+ * @fr: motion vector fractional bit probability updates.
+ * @class0_hp: motion vector class0 high precision fractional bit probability 
updates.
+ * @hp: motion vector high precision fractional bit probability updates.
+ *
+ * This structure contains new values of motion vector probabilities.
+ * A value of zero in an array element means there is no update of the 
relevant probability.
+ * See `struct v4l2_vp9_prob_updates` for details.
+ */
+struct v4l2_vp9_mv_probs {
+       __u8 joint[3];
+       __u8 sign[2];
+       __u8 classes[2][10];
+       __u8 class0_bit[2];
+       __u8 bits[2][10];
+       __u8 class0_fr[2][2][3];
+       __u8 fr[2][3];
+       __u8 class0_hp[2];
+       __u8 hp[2];
+};
+
+#define V4L2_CID_STATELESS_VP9_COMPRESSED_HDR  (V4L2_CID_CODEC_STATELESS_BASE 
+ 301)
+
+#define V4L2_VP9_TX_MODE_ONLY_4X4                      0
+#define V4L2_VP9_TX_MODE_ALLOW_8X8                     1
+#define V4L2_VP9_TX_MODE_ALLOW_16X16                   2
+#define V4L2_VP9_TX_MODE_ALLOW_32X32                   3
+#define V4L2_VP9_TX_MODE_SELECT                                4
+
+/**
+ * struct v4l2_ctrl_vp9_compressed_hdr - VP9 probability updates control
+ * @tx_mode: specifies the TX mode. Set to one of V4L2_VP9_TX_MODE_{}.
+ * @tx8: TX 8x8 probability updates.
+ * @tx16: TX 16x16 probability updates.
+ * @tx32: TX 32x32 probability updates.
+ * @coef: coefficient probability updates.
+ * @skip: skip probability updates.
+ * @inter_mode: inter mode probability updates.
+ * @interp_filter: interpolation filter probability updates.
+ * @is_inter: is inter-block probability updates.
+ * @comp_mode: compound prediction mode probability updates.
+ * @single_ref: single ref probability updates.
+ * @comp_ref: compound ref probability updates.
+ * @y_mode: Y prediction mode probability updates.
+ * @uv_mode: UV prediction mode probability updates.
+ * @partition: partition probability updates.
+ * @mv: motion vector probability updates.
+ *
+ * This structure holds the probabilities update as parsed in the compressed
+ * header (Spec 6.3). These values represent the value of probability update 
after
+ * being translated with inv_map_table[] (see 6.3.5). A value of zero in an 
array element
+ * means that there is no update of the relevant probability.
+ *
+ * This control is optional and needs to be used when dealing with the 
hardware which is
+ * not capable of parsing the compressed header itself. Only drivers which 
need it will
+ * implement it.
+ */
+struct v4l2_ctrl_vp9_compressed_hdr {
+       __u8 tx_mode;
+       __u8 tx8[2][1];
+       __u8 tx16[2][2];
+       __u8 tx32[2][3];
+       __u8 coef[4][2][2][6][6][3];
+       __u8 skip[3];
+       __u8 inter_mode[7][3];
+       __u8 interp_filter[4][2];
+       __u8 is_inter[4];
+       __u8 comp_mode[5];
+       __u8 single_ref[5][2];
+       __u8 comp_ref[5];
+       __u8 y_mode[4][9];
+       __u8 uv_mode[10][9];
+       __u8 partition[16][3];
+
+       struct v4l2_vp9_mv_probs mv;
+};
+
 /* MPEG-compression definitions kept for backwards compatibility */
 #define V4L2_CTRL_CLASS_MPEG            V4L2_CTRL_CLASS_CODEC
 #define V4L2_CID_MPEG_CLASS             V4L2_CID_CODEC_CLASS
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index 8b61d7751cc6..0c90b9420154 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -697,6 +697,7 @@ struct v4l2_pix_format {
 #define V4L2_PIX_FMT_VP8      v4l2_fourcc('V', 'P', '8', '0') /* VP8 */
 #define V4L2_PIX_FMT_VP8_FRAME v4l2_fourcc('V', 'P', '8', 'F') /* VP8 parsed 
frame */
 #define V4L2_PIX_FMT_VP9      v4l2_fourcc('V', 'P', '9', '0') /* VP9 */
+#define V4L2_PIX_FMT_VP9_FRAME v4l2_fourcc('V', 'P', '9', 'F') /* VP9 parsed 
frame */
 #define V4L2_PIX_FMT_HEVC     v4l2_fourcc('H', 'E', 'V', 'C') /* HEVC aka 
H.265 */
 #define V4L2_PIX_FMT_FWHT     v4l2_fourcc('F', 'W', 'H', 'T') /* Fast Walsh 
Hadamard Transform (vicodec) */
 #define V4L2_PIX_FMT_FWHT_STATELESS     v4l2_fourcc('S', 'F', 'W', 'H') /* 
Stateless FWHT (vicodec) */
@@ -1730,6 +1731,8 @@ struct v4l2_ext_control {
                struct v4l2_ctrl_mpeg2_sequence *p_mpeg2_sequence;
                struct v4l2_ctrl_mpeg2_picture *p_mpeg2_picture;
                struct v4l2_ctrl_mpeg2_quantisation *p_mpeg2_quantisation;
+               struct v4l2_ctrl_vp9_compressed_hdr *p_vp9_compressed_hdr_probs;
+               struct v4l2_ctrl_vp9_frame *p_vp9_frame;
                void *ptr;
        };
 } __attribute__ ((packed));
@@ -1790,6 +1793,9 @@ enum v4l2_ctrl_type {
        V4L2_CTRL_TYPE_MPEG2_QUANTISATION   = 0x0250,
        V4L2_CTRL_TYPE_MPEG2_SEQUENCE       = 0x0251,
        V4L2_CTRL_TYPE_MPEG2_PICTURE        = 0x0252,
+
+       V4L2_CTRL_TYPE_VP9_COMPRESSED_HDR       = 0x0260,
+       V4L2_CTRL_TYPE_VP9_FRAME                = 0x0261,
 };
 
 /*  Used in the VIDIOC_QUERYCTRL ioctl for querying controls */
diff --git a/sync-with-kernel.sh b/sync-with-kernel.sh
index e3a70a0bd6a0..8ae078c5e0d2 100755
--- a/sync-with-kernel.sh
+++ b/sync-with-kernel.sh
@@ -51,7 +51,7 @@ patch -d ${TOPSRCDIR} --no-backup-if-mismatch -p1 
<${TOPSRCDIR}/utils/common/v4l
 cp -a ${KERNEL_DIR}/drivers/media/test-drivers/vicodec/codec-fwht.[ch] 
${TOPSRCDIR}/utils/common/
 cp -a ${KERNEL_DIR}/drivers/media/test-drivers/vicodec/codec-v4l2-fwht.[ch] 
${TOPSRCDIR}/utils/common/
 patch -d ${TOPSRCDIR} --no-backup-if-mismatch -p1 
<${TOPSRCDIR}/utils/common/codec-fwht.patch
-grep V4L2_.*_FMT.*descr ${KERNEL_DIR}/drivers/media/v4l2-core/v4l2-ioctl.c | 
grep -v V4L2_PIX_FMT_VP8_FRAME | grep -v V4L2_PIX_FMT_HEVC_SLICE | perl -pe 
's/.*V4L2_(.*)_FMT/\tcase V4L2_\1_FMT/; s/:.*descr = /: return /; s/;.*/;/;' 
>${TOPSRCDIR}/utils/common/v4l2-pix-formats.h
+grep V4L2_.*_FMT.*descr ${KERNEL_DIR}/drivers/media/v4l2-core/v4l2-ioctl.c | 
grep -v V4L2_PIX_FMT_HEVC_SLICE | perl -pe 's/.*V4L2_(.*)_FMT/\tcase 
V4L2_\1_FMT/; s/:.*descr = /: return /; s/;.*/;/;' 
>${TOPSRCDIR}/utils/common/v4l2-pix-formats.h
 
 function keytable {
        SRCDIR=${TOPSRCDIR}/utils/keytable
diff --git a/utils/common/v4l2-pix-formats.h b/utils/common/v4l2-pix-formats.h
index 24ecc85a0b3a..c3fd2bf2eb2e 100644
--- a/utils/common/v4l2-pix-formats.h
+++ b/utils/common/v4l2-pix-formats.h
@@ -187,7 +187,9 @@
        case V4L2_PIX_FMT_VC1_ANNEX_G: return "VC-1 (SMPTE 412M Annex G)";
        case V4L2_PIX_FMT_VC1_ANNEX_L: return "VC-1 (SMPTE 412M Annex L)";
        case V4L2_PIX_FMT_VP8: return "VP8";
+       case V4L2_PIX_FMT_VP8_FRAME: return "VP8 Frame";
        case V4L2_PIX_FMT_VP9: return "VP9";
+       case V4L2_PIX_FMT_VP9_FRAME: return "VP9 Frame";
        case V4L2_PIX_FMT_HEVC: return "HEVC";
        case V4L2_PIX_FMT_FWHT: return "FWHT";
        case V4L2_PIX_FMT_FWHT_STATELESS: return "FWHT Stateless";

_______________________________________________
linuxtv-commits mailing list
linuxtv-commits@linuxtv.org
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to