cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

codec-v4l2-fwht.h (1760B)


      1/* SPDX-License-Identifier: LGPL-2.1 */
      2/*
      3 * Copyright 2018 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
      4 */
      5
      6#ifndef CODEC_V4L2_FWHT_H
      7#define CODEC_V4L2_FWHT_H
      8
      9#include "codec-fwht.h"
     10
     11struct v4l2_fwht_pixfmt_info {
     12	u32 id;
     13	unsigned int bytesperline_mult;
     14	unsigned int sizeimage_mult;
     15	unsigned int sizeimage_div;
     16	unsigned int luma_alpha_step;
     17	unsigned int chroma_step;
     18	/* Chroma plane subsampling */
     19	unsigned int width_div;
     20	unsigned int height_div;
     21	unsigned int components_num;
     22	unsigned int planes_num;
     23	unsigned int pixenc;
     24};
     25
     26struct v4l2_fwht_state {
     27	const struct v4l2_fwht_pixfmt_info *info;
     28	unsigned int visible_width;
     29	unsigned int visible_height;
     30	unsigned int coded_width;
     31	unsigned int coded_height;
     32	unsigned int stride;
     33	unsigned int ref_stride;
     34	unsigned int gop_size;
     35	unsigned int gop_cnt;
     36	u16 i_frame_qp;
     37	u16 p_frame_qp;
     38
     39	enum v4l2_colorspace colorspace;
     40	enum v4l2_ycbcr_encoding ycbcr_enc;
     41	enum v4l2_xfer_func xfer_func;
     42	enum v4l2_quantization quantization;
     43
     44	struct fwht_raw_frame ref_frame;
     45	struct fwht_cframe_hdr header;
     46	u8 *compressed_frame;
     47	u64 ref_frame_ts;
     48};
     49
     50const struct v4l2_fwht_pixfmt_info *v4l2_fwht_find_pixfmt(u32 pixelformat);
     51const struct v4l2_fwht_pixfmt_info *v4l2_fwht_get_pixfmt(u32 idx);
     52bool v4l2_fwht_validate_fmt(const struct v4l2_fwht_pixfmt_info *info,
     53			    u32 width_div, u32 height_div, u32 components_num,
     54			    u32 pixenc);
     55const struct v4l2_fwht_pixfmt_info *v4l2_fwht_find_nth_fmt(u32 width_div,
     56							  u32 height_div,
     57							  u32 components_num,
     58							  u32 pixenc,
     59							  unsigned int start_idx);
     60
     61int v4l2_fwht_encode(struct v4l2_fwht_state *state, u8 *p_in, u8 *p_out);
     62int v4l2_fwht_decode(struct v4l2_fwht_state *state, u8 *p_in, u8 *p_out);
     63
     64#endif