#ifndef __NAL_HEVC_H__
#define __NAL_HEVC_H__
#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/v4l2-controls.h>
#include <linux/videodev2.h>
struct nal_hevc_profile_tier_level { … };
struct nal_hevc_vps { … };
#define N_HRD_PARAMS …
struct nal_hevc_sub_layer_hrd_parameters { … };
struct nal_hevc_hrd_parameters { … };
struct nal_hevc_vui_parameters { … };
struct nal_hevc_sps { … };
struct nal_hevc_pps { … };
static inline int nal_hevc_profile(enum v4l2_mpeg_video_hevc_profile profile)
{ … }
static inline int nal_hevc_tier(enum v4l2_mpeg_video_hevc_tier tier)
{ … }
static inline int nal_hevc_level(enum v4l2_mpeg_video_hevc_level level)
{ … }
static inline int nal_hevc_full_range(enum v4l2_quantization quantization)
{ … }
static inline int nal_hevc_color_primaries(enum v4l2_colorspace colorspace)
{ … }
static inline int nal_hevc_transfer_characteristics(enum v4l2_colorspace colorspace,
enum v4l2_xfer_func xfer_func)
{ … }
static inline int nal_hevc_matrix_coeffs(enum v4l2_colorspace colorspace,
enum v4l2_ycbcr_encoding ycbcr_encoding)
{ … }
ssize_t nal_hevc_write_vps(const struct device *dev,
void *dest, size_t n, struct nal_hevc_vps *vps);
ssize_t nal_hevc_read_vps(const struct device *dev,
struct nal_hevc_vps *vps, void *src, size_t n);
ssize_t nal_hevc_write_sps(const struct device *dev,
void *dest, size_t n, struct nal_hevc_sps *sps);
ssize_t nal_hevc_read_sps(const struct device *dev,
struct nal_hevc_sps *sps, void *src, size_t n);
ssize_t nal_hevc_write_pps(const struct device *dev,
void *dest, size_t n, struct nal_hevc_pps *pps);
ssize_t nal_hevc_read_pps(const struct device *dev,
struct nal_hevc_pps *pps, void *src, size_t n);
ssize_t nal_hevc_write_filler(const struct device *dev, void *dest, size_t n);
ssize_t nal_hevc_read_filler(const struct device *dev, void *src, size_t n);
#endif