#include <stdlib.h>
#include <math.h>
#include "attributes.h"
#include "csp.h"
#include "pixfmt.h"
#include "rational.h"
Go to the source code of this file.
◆ AVR
#define AVR |
( |
|
d | ) |
{ (int)(d * 100000 + 0.5), 100000 } |
Definition at line 38 of file csp.c.
◆ WP_D65
#define WP_D65 { AVR(0.3127), AVR(0.3290) } |
Definition at line 71 of file csp.c.
◆ WP_C
#define WP_C { AVR(0.3100), AVR(0.3160) } |
Definition at line 72 of file csp.c.
◆ WP_DCI
#define WP_DCI { AVR(0.3140), AVR(0.3510) } |
Definition at line 73 of file csp.c.
◆ WP_E
#define WP_E { {1, 3}, {1, 3} } |
Definition at line 74 of file csp.c.
◆ BT709_alpha
#define BT709_alpha 1.099296826809442 |
◆ BT709_beta
#define BT709_beta 0.018053968510807 |
◆ abs_sub_q()
◆ trc_bt709()
◆ trc_gamma22()
◆ trc_gamma28()
◆ trc_smpte240M()
◆ trc_linear()
◆ trc_log()
◆ trc_log_sqrt()
◆ trc_iec61966_2_4()
◆ trc_bt1361()
◆ trc_iec61966_2_1()
◆ trc_smpte_st2084()
◆ trc_smpte_st428_1()
◆ trc_arib_std_b67()
◆ luma_coefficients
◆ color_primaries
◆ approximate_gamma
◆ trc_funcs
static double trc_smpte240M(double Lc)
@ AVCOL_TRC_LINEAR
"Linear transfer characteristics"
@ AVCOL_SPC_RGB
order of coefficients is actually GBR, also IEC 61966-2-1 (sRGB), YZX and ST 428-1
@ AVCOL_TRC_BT2020_12
ITU-R BT2020 for 12-bit system.
@ AVCOL_SPC_BT2020_CL
ITU-R BT2020 constant luminance system.
@ AVCOL_SPC_BT470BG
also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM / IEC 61966-2-4 xvYCC601
@ AVCOL_TRC_IEC61966_2_1
IEC 61966-2-1 (sRGB or sYCC)
@ AVCOL_TRC_GAMMA28
also ITU-R BT470BG
static double trc_gamma22(double Lc)
@ AVCOL_TRC_LOG_SQRT
"Logarithmic transfer characteristic (100 * Sqrt(10) : 1 range)"
@ AVCOL_TRC_GAMMA22
also ITU-R BT470M / ITU-R BT1700 625 PAL & SECAM
static double trc_iec61966_2_1(double Lc)
@ AVCOL_TRC_BT1361_ECG
ITU-R BT1361 Extended Colour Gamut.
@ AVCOL_SPC_SMPTE170M
also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC / functionally identical to above
@ AVCOL_PRI_SMPTE428
SMPTE ST 428-1 (CIE 1931 XYZ)
@ AVCOL_PRI_SMPTE240M
identical to above, also called "SMPTE C" even though it uses D65
@ AVCOL_PRI_BT470BG
also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM
@ AVCOL_PRI_SMPTE170M
also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC
@ AVCOL_TRC_IEC61966_2_4
IEC 61966-2-4.
@ AVCOL_PRI_BT709
also ITU-R BT1361 / IEC 61966-2-4 / SMPTE RP 177 Annex B
static double trc_bt1361(double Lc)
@ AVCOL_TRC_BT2020_10
ITU-R BT2020 for 10-bit system.
@ AVCOL_PRI_BT2020
ITU-R BT2020.
@ AVCOL_TRC_SMPTE2084
SMPTE ST 2084 for 10-, 12-, 14- and 16-bit systems.
@ AVCOL_PRI_SMPTE431
SMPTE ST 431-2 (2011) / DCI P3.
@ AVCOL_PRI_FILM
colour filters using Illuminant C
static double trc_log(double Lc)
@ AVCOL_TRC_LOG
"Logarithmic transfer characteristic (100:1 range)"
static double trc_smpte_st2084(double Lc)
@ AVCOL_TRC_BT709
also ITU-R BT1361
@ AVCOL_SPC_SMPTE240M
derived from 170M primaries and D65 white point, 170M is derived from BT470 System M's primaries
@ AVCOL_SPC_BT2020_NCL
ITU-R BT2020 non-constant luminance system.
static double trc_bt709(double Lc)
@ AVCOL_PRI_BT470M
also FCC Title 47 Code of Federal Regulations 73.682 (a)(20)
static double trc_linear(double Lc)
@ AVCOL_TRC_ARIB_STD_B67
ARIB STD-B67, known as "Hybrid log-gamma".
static double trc_gamma28(double Lc)
@ AVCOL_SPC_FCC
FCC Title 47 Code of Federal Regulations 73.682 (a)(20)
@ AVCOL_TRC_SMPTE170M
also ITU-R BT601-6 525 or 625 / ITU-R BT1358 525 or 625 / ITU-R BT1700 NTSC
static double trc_log_sqrt(double Lc)
@ AVCOL_PRI_SMPTE432
SMPTE ST 432-1 (2010) / P3 D65 / Display P3.
@ AVCOL_TRC_SMPTE428
SMPTE ST 428-1.
static double trc_arib_std_b67(double Lc)
static double trc_smpte_st428_1(double Lc)
@ AVCOL_SPC_BT709
also ITU-R BT1361 / IEC 61966-2-4 xvYCC709 / derived in SMPTE RP 177 Annex B
static double trc_iec61966_2_4(double Lc)