80 lines
1.7 KiB
C
80 lines
1.7 KiB
C
|
/*
|
||
|
* Copyright (c) 2017 Samsung Electronics Co., Ltd.
|
||
|
* http://www.samsung.com
|
||
|
*
|
||
|
* Header file for Exynos HDR metadata
|
||
|
*
|
||
|
* This program is free software; you can redistribute it and/or modify
|
||
|
* it under the terms of the GNU General Public License version 2 as
|
||
|
* published by the Free Software Foundation.
|
||
|
*/
|
||
|
|
||
|
#ifndef VENDOR_VIDEO_API_H_
|
||
|
#define VENDOR_VIDEO_API_H_
|
||
|
|
||
|
#include <linux/types.h>
|
||
|
|
||
|
enum exynos_video_info_type {
|
||
|
VIDEO_INFO_TYPE_INVALID = 0,
|
||
|
VIDEO_INFO_TYPE_HDR_STATIC = 0x1 << 0,
|
||
|
VIDEO_INFO_TYPE_COLOR_ASPECTS = 0x1 << 1,
|
||
|
VIDEO_INFO_TYPE_INTERLACED = 0x1 << 2,
|
||
|
VIDEO_INFO_TYPE_YSUM_DATA = 0x1 << 3,
|
||
|
};
|
||
|
|
||
|
struct exynos_video_ysum_data {
|
||
|
unsigned int high;
|
||
|
unsigned int low;
|
||
|
};
|
||
|
|
||
|
struct exynos_color_aspects {
|
||
|
int mrange;
|
||
|
int mprimaries;
|
||
|
int mtransfer;
|
||
|
int mmatrix_coeffs;
|
||
|
};
|
||
|
|
||
|
struct exynos_primaries {
|
||
|
unsigned int x;
|
||
|
unsigned int y;
|
||
|
};
|
||
|
|
||
|
struct exynos_type1 {
|
||
|
struct exynos_primaries mr;
|
||
|
struct exynos_primaries mg;
|
||
|
struct exynos_primaries mb;
|
||
|
struct exynos_primaries mw;
|
||
|
unsigned int mmax_display_luminance;
|
||
|
unsigned int mmin_display_luminance;
|
||
|
unsigned int mmax_content_light_level;
|
||
|
unsigned int mmax_frame_average_light_level;
|
||
|
};
|
||
|
|
||
|
struct exynos_hdr_static_info {
|
||
|
int mid;
|
||
|
union {
|
||
|
struct exynos_type1 stype1;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
struct exynos_video_dec_data {
|
||
|
int ninterlaced_type;
|
||
|
};
|
||
|
|
||
|
struct exynos_video_enc_data {
|
||
|
struct exynos_video_ysum_data sysum_data;
|
||
|
};
|
||
|
|
||
|
struct exynos_video_meta {
|
||
|
enum exynos_video_info_type etype;
|
||
|
/* common */
|
||
|
struct exynos_hdr_static_info shdr_static_info;
|
||
|
struct exynos_color_aspects scolor_aspects;
|
||
|
union {
|
||
|
struct exynos_video_dec_data dec;
|
||
|
struct exynos_video_enc_data enc;
|
||
|
} data;
|
||
|
};
|
||
|
|
||
|
#endif /* VENDOR_VIDEO_API_H_ */
|