1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright 2018 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
6 #ifndef CODEC_V4L2_FWHT_H
7 #define CODEC_V4L2_FWHT_H
9 #include "codec-fwht.h"
11 struct v4l2_fwht_pixfmt_info {
13 unsigned int bytesperline_mult;
14 unsigned int sizeimage_mult;
15 unsigned int sizeimage_div;
16 unsigned int luma_step;
17 unsigned int chroma_step;
18 /* Chroma plane subsampling */
19 unsigned int width_div;
20 unsigned int height_div;
23 struct v4l2_fwht_state {
24 const struct v4l2_fwht_pixfmt_info *info;
27 unsigned int gop_size;
32 enum v4l2_colorspace colorspace;
33 enum v4l2_ycbcr_encoding ycbcr_enc;
34 enum v4l2_xfer_func xfer_func;
35 enum v4l2_quantization quantization;
37 struct fwht_raw_frame ref_frame;
41 const struct v4l2_fwht_pixfmt_info *v4l2_fwht_find_pixfmt(u32 pixelformat);
42 const struct v4l2_fwht_pixfmt_info *v4l2_fwht_get_pixfmt(u32 idx);
44 unsigned int v4l2_fwht_encode(struct v4l2_fwht_state *state,
47 int v4l2_fwht_decode(struct v4l2_fwht_state *state,