FFmpeg
libavutil
tests
color_utils.c
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2015 Kevin Wheatley <kevin.j.wheatley@gmail.com>
3
*
4
* This file is part of FFmpeg.
5
*
6
* FFmpeg is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2.1 of the License, or (at your option) any later version.
10
*
11
* FFmpeg is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
15
*
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with FFmpeg; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
*/
20
21
#include <stdio.h>
22
#include "
libavutil/csp.h
"
23
#include "
libavutil/macros.h
"
24
25
int
main
(
int
argc,
char
*argv[])
26
{
27
int
i
, j;
28
static
const
double
test_data
[] = {
29
-0.1, -0.018053968510807, -0.01, -0.00449, 0.0, 0.00316227760, 0.005,
30
0.009, 0.015, 0.1, 1.0, 52.37, 125.098765, 1999.11123, 6945.443,
31
15123.4567, 19845.88923, 98678.4231, 99999.899998
32
};
33
34
for
(
i
= 0;
i
<
AVCOL_TRC_NB
;
i
++) {
35
av_csp_trc_function
func
=
av_csp_trc_func_from_id
(
i
);
36
for
(j = 0; j <
FF_ARRAY_ELEMS
(
test_data
); j++) {
37
if
(
func
!=
NULL
) {
38
double
result
=
func
(
test_data
[j]);
39
printf
(
"AVColorTransferCharacteristic=%d calling func(%f) expected=%f\n"
,
40
i
,
test_data
[j],
result
);
41
}
42
}
43
}
44
45
}
func
int(* func)(AVBPrint *dst, const char *in, const char *arg)
Definition:
jacosubdec.c:68
AVCOL_TRC_NB
@ AVCOL_TRC_NB
Not part of ABI.
Definition:
pixfmt.h:580
test_data
static const uint8_t test_data[]
Definition:
encryption_info.c:33
av_csp_trc_func_from_id
av_csp_trc_function av_csp_trc_func_from_id(enum AVColorTransferCharacteristic trc)
Determine the function needed to apply the given AVColorTransferCharacteristic to linear input.
Definition:
csp.c:291
macros.h
FF_ARRAY_ELEMS
#define FF_ARRAY_ELEMS(a)
Definition:
sinewin_tablegen.c:29
main
int main(int argc, char *argv[])
Definition:
color_utils.c:25
result
and forward the result(frame or status change) to the corresponding input. If nothing is possible
NULL
#define NULL
Definition:
coverity.c:32
printf
printf("static const uint8_t my_array[100] = {\n")
csp.h
av_csp_trc_function
double(* av_csp_trc_function)(double)
Function pointer representing a double -> double transfer function that performs an EOTF transfer inv...
Definition:
csp.h:87
i
#define i(width, name, range_min, range_max)
Definition:
cbs_h2645.c:269
Generated on Tue Feb 28 2023 21:34:14 for FFmpeg by
1.8.17