Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
8d3f3646
Commit
8d3f3646
authored
Oct 21, 2018
by
Martin Vignali
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
avfilter/setparam : add options to set color primaries, trc, space
parent
02ad0416
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
136 additions
and
0 deletions
+136
-0
filters.texi
doc/filters.texi
+73
-0
vf_setparams.c
libavfilter/vf_setparams.c
+63
-0
No files found.
doc/filters.texi
View file @
8d3f3646
...
...
@@ -15011,6 +15011,79 @@ Mark the frame as limited range.
@
item
full
,
pc
,
jpeg
Mark
the
frame
as
full
range
.
@
end
table
@
item
color_primaries
Set
the
color
primaries
.
Available
values
are
:
@
table
@
samp
@
item
auto
Keep
the
same
color
primaries
property
(
default
).
@
item
bt709
@
item
unknown
@
item
bt470m
@
item
bt470bg
@
item
smpte170m
@
item
smpte240m
@
item
film
@
item
bt2020
@
item
smpte428
@
item
smpte431
@
item
smpte432
@
item
jedec
-
p22
@
end
table
@
item
color_trc
Set
the
color
transfert
.
Available
values
are
:
@
table
@
samp
@
item
auto
Keep
the
same
color
trc
property
(
default
).
@
item
bt709
@
item
unknown
@
item
bt470m
@
item
bt470bg
@
item
smpte170m
@
item
smpte240m
@
item
linear
@
item
log100
@
item
log316
@
item
iec61966
-
2
-
4
@
item
bt1361e
@
item
iec61966
-
2
-
1
@
item
bt2020
-
10
@
item
bt2020
-
12
@
item
smpte2084
@
item
smpte428
@
item
arib
-
std
-
b67
@
end
table
@
item
colorspace
Set
the
colorspace
.
Available
values
are
:
@
table
@
samp
@
item
auto
Keep
the
same
colorspace
property
(
default
).
@
item
gbr
@
item
bt709
@
item
unknown
@
item
fcc
@
item
bt470bg
@
item
smpte170m
@
item
smpte240m
@
item
ycgco
@
item
bt2020nc
@
item
bt2020c
@
item
smpte2085
@
item
chroma
-
derived
-
nc
@
item
chroma
-
derived
-
c
@
item
ictcp
@
end
table
@
end
table
@
section
showinfo
...
...
libavfilter/vf_setparams.c
View file @
8d3f3646
...
...
@@ -35,6 +35,9 @@ typedef struct SetParamsContext {
const
AVClass
*
class
;
int
field_mode
;
int
color_range
;
int
color_primaries
;
int
color_trc
;
int
colorspace
;
}
SetParamsContext
;
#define OFFSET(x) offsetof(SetParamsContext, x)
...
...
@@ -57,6 +60,58 @@ static const AVOption setparams_options[] = {
{
"full"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_RANGE_JPEG
},
0
,
0
,
FLAGS
,
"range"
},
{
"pc"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_RANGE_JPEG
},
0
,
0
,
FLAGS
,
"range"
},
{
"jpeg"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_RANGE_JPEG
},
0
,
0
,
FLAGS
,
"range"
},
{
"color_primaries"
,
"select color primaries"
,
OFFSET
(
color_primaries
),
AV_OPT_TYPE_INT
,
{.
i64
=-
1
},
-
1
,
AVCOL_PRI_NB
-
1
,
FLAGS
,
"color_primaries"
},
{
"auto"
,
"keep the same color primaries"
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=-
1
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_primaries"
},
{
"bt709"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_PRI_BT709
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_primaries"
},
{
"unknown"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_PRI_UNSPECIFIED
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_primaries"
},
{
"bt470m"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_PRI_BT470M
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_primaries"
},
{
"bt470bg"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_PRI_BT470BG
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_primaries"
},
{
"smpte170m"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_PRI_SMPTE170M
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_primaries"
},
{
"smpte240m"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_PRI_SMPTE240M
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_primaries"
},
{
"film"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_PRI_FILM
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_primaries"
},
{
"bt2020"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_PRI_BT2020
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_primaries"
},
{
"smpte428"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_PRI_SMPTE428
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_primaries"
},
{
"smpte431"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_PRI_SMPTE431
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_primaries"
},
{
"smpte432"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_PRI_SMPTE432
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_primaries"
},
{
"jedec-p22"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_PRI_JEDEC_P22
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_primaries"
},
{
"color_trc"
,
"select color transfer"
,
OFFSET
(
color_trc
),
AV_OPT_TYPE_INT
,
{.
i64
=-
1
},
-
1
,
AVCOL_TRC_NB
-
1
,
FLAGS
,
"color_trc"
},
{
"auto"
,
"keep the same color transfer"
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=-
1
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_trc"
},
{
"bt709"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_TRC_BT709
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_trc"
},
{
"unknown"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_TRC_UNSPECIFIED
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_trc"
},
{
"bt470m"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_TRC_GAMMA22
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_trc"
},
{
"bt470bg"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_TRC_GAMMA28
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_trc"
},
{
"smpte170m"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_TRC_SMPTE170M
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_trc"
},
{
"smpte240m"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_TRC_SMPTE240M
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_trc"
},
{
"linear"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_TRC_LINEAR
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_trc"
},
{
"log100"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_TRC_LOG
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_trc"
},
{
"log316"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_TRC_LOG_SQRT
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_trc"
},
{
"iec61966-2-4"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_TRC_IEC61966_2_4
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_trc"
},
{
"bt1361e"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_TRC_BT1361_ECG
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_trc"
},
{
"iec61966-2-1"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_TRC_IEC61966_2_1
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_trc"
},
{
"bt2020-10"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_TRC_BT2020_10
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_trc"
},
{
"bt2020-12"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_TRC_BT2020_12
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_trc"
},
{
"smpte2084"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_TRC_SMPTE2084
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_trc"
},
{
"smpte428"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_TRC_SMPTE428
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_trc"
},
{
"arib-std-b67"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_TRC_ARIB_STD_B67
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"color_trc"
},
{
"colorspace"
,
"select colorspace"
,
OFFSET
(
color_trc
),
AV_OPT_TYPE_INT
,
{.
i64
=-
1
},
-
1
,
AVCOL_SPC_NB
-
1
,
FLAGS
,
"colorspace"
},
{
"auto"
,
"keep the same colorspace"
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=-
1
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"colorspace"
},
{
"gbr"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_SPC_RGB
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"colorspace"
},
{
"bt709"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_SPC_BT709
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"colorspace"
},
{
"unknown"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_SPC_UNSPECIFIED
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"colorspace"
},
{
"fcc"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_SPC_FCC
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"colorspace"
},
{
"bt470bg"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_SPC_BT470BG
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"colorspace"
},
{
"smpte170m"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_SPC_SMPTE170M
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"colorspace"
},
{
"smpte240m"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_SPC_SMPTE240M
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"colorspace"
},
{
"ycgco"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_SPC_YCGCO
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"colorspace"
},
{
"bt2020nc"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_SPC_BT2020_NCL
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"colorspace"
},
{
"bt2020c"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_SPC_BT2020_CL
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"colorspace"
},
{
"smpte2085"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_SPC_SMPTE2085
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"colorspace"
},
{
"chroma-derived-nc"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_SPC_CHROMA_DERIVED_NCL
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"colorspace"
},
{
"chroma-derived-c"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_SPC_CHROMA_DERIVED_CL
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"colorspace"
},
{
"ictcp"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
AVCOL_SPC_ICTCP
},
INT_MIN
,
INT_MAX
,
FLAGS
,
"colorspace"
},
{
NULL
}
};
...
...
@@ -78,6 +133,14 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
/* set range */
if
(
s
->
color_range
>=
0
)
frame
->
color_range
=
s
->
color_range
;
/* set color prim, trc, space */
if
(
s
->
color_primaries
>=
0
)
frame
->
color_primaries
=
s
->
color_primaries
;
if
(
s
->
color_trc
>=
0
)
frame
->
color_trc
=
s
->
color_trc
;
if
(
s
->
colorspace
>=
0
)
frame
->
colorspace
=
s
->
colorspace
;
return
ff_filter_frame
(
ctx
->
outputs
[
0
],
frame
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment