style: adjust clang-format rules (#2186)
Co-authored-by: Vithorio Polten <reach@vithor.io>
This commit is contained in:
@@ -1,73 +1,67 @@
|
||||
/**
|
||||
* @file src/video_colorspace.h
|
||||
* @brief Declarations for colorspace functions.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
extern "C" {
|
||||
#include <libavutil/pixfmt.h>
|
||||
}
|
||||
|
||||
namespace video {
|
||||
|
||||
enum class colorspace_e {
|
||||
rec601, ///< Rec. 601
|
||||
rec709, ///< Rec. 709
|
||||
bt2020sdr, ///< Rec. 2020 SDR
|
||||
bt2020, ///< Rec. 2020 HDR
|
||||
};
|
||||
|
||||
struct sunshine_colorspace_t {
|
||||
colorspace_e colorspace;
|
||||
bool full_range;
|
||||
unsigned bit_depth;
|
||||
};
|
||||
|
||||
bool
|
||||
colorspace_is_hdr(const sunshine_colorspace_t &colorspace);
|
||||
|
||||
// Declared in video.h
|
||||
struct config_t;
|
||||
|
||||
sunshine_colorspace_t
|
||||
colorspace_from_client_config(const config_t &config, bool hdr_display);
|
||||
|
||||
struct avcodec_colorspace_t {
|
||||
AVColorPrimaries primaries;
|
||||
AVColorTransferCharacteristic transfer_function;
|
||||
AVColorSpace matrix;
|
||||
AVColorRange range;
|
||||
int software_format;
|
||||
};
|
||||
|
||||
avcodec_colorspace_t
|
||||
avcodec_colorspace_from_sunshine_colorspace(const sunshine_colorspace_t &sunshine_colorspace);
|
||||
|
||||
struct alignas(16) color_t {
|
||||
float color_vec_y[4];
|
||||
float color_vec_u[4];
|
||||
float color_vec_v[4];
|
||||
float range_y[2];
|
||||
float range_uv[2];
|
||||
};
|
||||
|
||||
const color_t *
|
||||
color_vectors_from_colorspace(const sunshine_colorspace_t &colorspace);
|
||||
|
||||
const color_t *
|
||||
color_vectors_from_colorspace(colorspace_e colorspace, bool full_range);
|
||||
|
||||
/**
|
||||
* @brief New version of `color_vectors_from_colorspace()` function that better adheres to the standards.
|
||||
* Returned vectors are used to perform RGB->YUV conversion.
|
||||
* Unlike its predecessor, color vectors will produce output in `UINT` range, not `UNORM` range.
|
||||
* Input is still in `UNORM` range. Returned vectors won't modify color primaries and color
|
||||
* transfer function.
|
||||
* @param colorspace Targeted YUV colorspace.
|
||||
* @return `const color_t*` that contains RGB->YUV transformation vectors.
|
||||
* Components `range_y` and `range_uv` are there for backwards compatibility
|
||||
* and can be ignored in the computation.
|
||||
*/
|
||||
const color_t *
|
||||
new_color_vectors_from_colorspace(const sunshine_colorspace_t &colorspace);
|
||||
} // namespace video
|
||||
/**
|
||||
* @file src/video_colorspace.h
|
||||
* @brief Declarations for colorspace functions.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
extern "C" {
|
||||
#include <libavutil/pixfmt.h>
|
||||
}
|
||||
|
||||
namespace video {
|
||||
|
||||
enum class colorspace_e {
|
||||
rec601, ///< Rec. 601
|
||||
rec709, ///< Rec. 709
|
||||
bt2020sdr, ///< Rec. 2020 SDR
|
||||
bt2020, ///< Rec. 2020 HDR
|
||||
};
|
||||
|
||||
struct sunshine_colorspace_t {
|
||||
colorspace_e colorspace;
|
||||
bool full_range;
|
||||
unsigned bit_depth;
|
||||
};
|
||||
|
||||
bool colorspace_is_hdr(const sunshine_colorspace_t &colorspace);
|
||||
|
||||
// Declared in video.h
|
||||
struct config_t;
|
||||
|
||||
sunshine_colorspace_t colorspace_from_client_config(const config_t &config, bool hdr_display);
|
||||
|
||||
struct avcodec_colorspace_t {
|
||||
AVColorPrimaries primaries;
|
||||
AVColorTransferCharacteristic transfer_function;
|
||||
AVColorSpace matrix;
|
||||
AVColorRange range;
|
||||
int software_format;
|
||||
};
|
||||
|
||||
avcodec_colorspace_t avcodec_colorspace_from_sunshine_colorspace(const sunshine_colorspace_t &sunshine_colorspace);
|
||||
|
||||
struct alignas(16) color_t {
|
||||
float color_vec_y[4];
|
||||
float color_vec_u[4];
|
||||
float color_vec_v[4];
|
||||
float range_y[2];
|
||||
float range_uv[2];
|
||||
};
|
||||
|
||||
const color_t *color_vectors_from_colorspace(const sunshine_colorspace_t &colorspace);
|
||||
|
||||
const color_t *color_vectors_from_colorspace(colorspace_e colorspace, bool full_range);
|
||||
|
||||
/**
|
||||
* @brief New version of `color_vectors_from_colorspace()` function that better adheres to the standards.
|
||||
* Returned vectors are used to perform RGB->YUV conversion.
|
||||
* Unlike its predecessor, color vectors will produce output in `UINT` range, not `UNORM` range.
|
||||
* Input is still in `UNORM` range. Returned vectors won't modify color primaries and color
|
||||
* transfer function.
|
||||
* @param colorspace Targeted YUV colorspace.
|
||||
* @return `const color_t*` that contains RGB->YUV transformation vectors.
|
||||
* Components `range_y` and `range_uv` are there for backwards compatibility
|
||||
* and can be ignored in the computation.
|
||||
*/
|
||||
const color_t *new_color_vectors_from_colorspace(const sunshine_colorspace_t &colorspace);
|
||||
} // namespace video
|
||||
|
||||
Reference in New Issue
Block a user