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
b96a6e20
Commit
b96a6e20
authored
Nov 23, 2016
by
Paul B Mahol
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
avfilter/vf_zscale: add support for some recent new additions
Signed-off-by:
Paul B Mahol
<
onemda@gmail.com
>
parent
42ae9c66
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
31 additions
and
9 deletions
+31
-9
configure
configure
+1
-1
filters.texi
doc/filters.texi
+6
-0
vf_zscale.c
libavfilter/vf_zscale.c
+24
-8
No files found.
configure
View file @
b96a6e20
...
...
@@ -5776,7 +5776,7 @@ enabled libx265 && require_pkg_config x265 x265.h x265_api_get &&
die
"ERROR: libx265 version must be >= 68."
;
}
enabled libxavs
&&
require libxavs xavs.h xavs_encoder_encode
-lxavs
enabled libxvid
&&
require libxvid xvid.h xvid_global
-lxvidcore
enabled libzimg
&&
require_pkg_config
zimg
zimg.h zimg_get_api_version
enabled libzimg
&&
require_pkg_config
"zimg >= 2.3.0"
zimg.h zimg_get_api_version
enabled libzmq
&&
require_pkg_config libzmq zmq.h zmq_ctx_new
enabled libzvbi
&&
require libzvbi libzvbi.h vbi_decoder_new
-lzvbi
&&
{
check_cpp_condition libzvbi.h
"VBI_VERSION_MAJOR > 0 || VBI_VERSION_MINOR > 2 || VBI_VERSION_MINOR == 2 && VBI_VERSION_MICRO >= 28"
||
...
...
doc/filters.texi
View file @
b96a6e20
...
...
@@ -14660,6 +14660,9 @@ Possible values are:
@item linear
@item 2020_10
@item 2020_12
@item smpte2084
@item iec61966-2-1
@item arib-std-b67
@end table
Default is same as input.
...
...
@@ -14764,6 +14767,9 @@ Possible values are:
@item bottomleft
@item bottom
@end table
@item npl
Set the nominal peak luminance.
@end table
The values of the @option{w} and @option{h} options are expressions
...
...
libavfilter/vf_zscale.c
View file @
b96a6e20
...
...
@@ -23,6 +23,7 @@
* zscale video filter using z.lib library
*/
#include <float.h>
#include <stdio.h>
#include <string.h>
...
...
@@ -95,6 +96,7 @@ typedef struct ZScaleContext {
int
range_in
;
int
chromal_in
;
char
*
size_str
;
double
nominal_peak_luminance
;
char
*
w_expr
;
///< width expression string
char
*
h_expr
;
///< height expression string
...
...
@@ -377,6 +379,12 @@ static int convert_trc(enum AVColorTransferCharacteristic color_trc)
return
ZIMG_TRANSFER_2020_10
;
case
AVCOL_TRC_BT2020_12
:
return
ZIMG_TRANSFER_2020_12
;
case
AVCOL_TRC_SMPTE2084
:
return
ZIMG_TRANSFER_ST2084
;
case
AVCOL_TRC_ARIB_STD_B67
:
return
ZIMG_TRANSFER_ARIB_B67
;
case
AVCOL_TRC_IEC61966_2_1
:
return
ZIMG_TRANSFER_IEC_61966_2_1
;
}
return
ZIMG_TRANSFER_UNSPECIFIED
;
}
...
...
@@ -394,6 +402,8 @@ static int convert_primaries(enum AVColorPrimaries color_primaries)
return
ZIMG_PRIMARIES_240M
;
case
AVCOL_PRI_BT2020
:
return
ZIMG_PRIMARIES_2020
;
case
AVCOL_PRI_SMPTE432
:
return
ZIMG_PRIMARIES_ST432_1
;
}
return
ZIMG_PRIMARIES_UNSPECIFIED
;
}
...
...
@@ -469,6 +479,7 @@ static int filter_frame(AVFilterLink *link, AVFrame *in)
s
->
params
.
cpu_type
=
ZIMG_CPU_AUTO
;
s
->
params
.
resample_filter
=
s
->
filter
;
s
->
params
.
resample_filter_uv
=
s
->
filter
;
s
->
params
.
nominal_peak_luminance
=
s
->
nominal_peak_luminance
;
s
->
src_format
.
width
=
in
->
width
;
s
->
src_format
.
height
=
in
->
height
;
...
...
@@ -700,16 +711,17 @@ static const AVOption zscale_options[] = {
{
"input"
,
0
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
-
1
},
0
,
0
,
FLAGS
,
"range"
},
{
"limited"
,
0
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
ZIMG_RANGE_LIMITED
},
0
,
0
,
FLAGS
,
"range"
},
{
"full"
,
0
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
ZIMG_RANGE_FULL
},
0
,
0
,
FLAGS
,
"range"
},
{
"primaries"
,
"set color primaries"
,
OFFSET
(
primaries
),
AV_OPT_TYPE_INT
,
{.
i64
=
-
1
},
-
1
,
ZIMG_PRIMARIES_
2020
,
FLAGS
,
"primaries"
},
{
"p"
,
"set color primaries"
,
OFFSET
(
primaries
),
AV_OPT_TYPE_INT
,
{.
i64
=
-
1
},
-
1
,
ZIMG_PRIMARIES_
2020
,
FLAGS
,
"primaries"
},
{
"primaries"
,
"set color primaries"
,
OFFSET
(
primaries
),
AV_OPT_TYPE_INT
,
{.
i64
=
-
1
},
-
1
,
ZIMG_PRIMARIES_
ST432_1
,
FLAGS
,
"primaries"
},
{
"p"
,
"set color primaries"
,
OFFSET
(
primaries
),
AV_OPT_TYPE_INT
,
{.
i64
=
-
1
},
-
1
,
ZIMG_PRIMARIES_
ST432_1
,
FLAGS
,
"primaries"
},
{
"input"
,
0
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
-
1
},
0
,
0
,
FLAGS
,
"primaries"
},
{
"709"
,
0
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
ZIMG_PRIMARIES_709
},
0
,
0
,
FLAGS
,
"primaries"
},
{
"unspecified"
,
0
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
ZIMG_PRIMARIES_UNSPECIFIED
},
0
,
0
,
FLAGS
,
"primaries"
},
{
"170m"
,
0
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
ZIMG_PRIMARIES_170M
},
0
,
0
,
FLAGS
,
"primaries"
},
{
"240m"
,
0
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
ZIMG_PRIMARIES_240M
},
0
,
0
,
FLAGS
,
"primaries"
},
{
"2020"
,
0
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
ZIMG_PRIMARIES_2020
},
0
,
0
,
FLAGS
,
"primaries"
},
{
"transfer"
,
"set transfer characteristic"
,
OFFSET
(
trc
),
AV_OPT_TYPE_INT
,
{.
i64
=
-
1
},
-
1
,
ZIMG_TRANSFER_2020_12
,
FLAGS
,
"transfer"
},
{
"t"
,
"set transfer characteristic"
,
OFFSET
(
trc
),
AV_OPT_TYPE_INT
,
{.
i64
=
-
1
},
-
1
,
ZIMG_TRANSFER_2020_12
,
FLAGS
,
"transfer"
},
{
"smpte432"
,
0
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
ZIMG_PRIMARIES_ST432_1
},
0
,
0
,
FLAGS
,
"primaries"
},
{
"transfer"
,
"set transfer characteristic"
,
OFFSET
(
trc
),
AV_OPT_TYPE_INT
,
{.
i64
=
-
1
},
-
1
,
ZIMG_TRANSFER_ARIB_B67
,
FLAGS
,
"transfer"
},
{
"t"
,
"set transfer characteristic"
,
OFFSET
(
trc
),
AV_OPT_TYPE_INT
,
{.
i64
=
-
1
},
-
1
,
ZIMG_TRANSFER_ARIB_B67
,
FLAGS
,
"transfer"
},
{
"input"
,
0
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
-
1
},
0
,
0
,
FLAGS
,
"transfer"
},
{
"709"
,
0
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
ZIMG_TRANSFER_709
},
0
,
0
,
FLAGS
,
"transfer"
},
{
"unspecified"
,
0
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
ZIMG_TRANSFER_UNSPECIFIED
},
0
,
0
,
FLAGS
,
"transfer"
},
...
...
@@ -717,6 +729,9 @@ static const AVOption zscale_options[] = {
{
"linear"
,
0
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
ZIMG_TRANSFER_LINEAR
},
0
,
0
,
FLAGS
,
"transfer"
},
{
"2020_10"
,
0
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
ZIMG_TRANSFER_2020_10
},
0
,
0
,
FLAGS
,
"transfer"
},
{
"2020_12"
,
0
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
ZIMG_TRANSFER_2020_12
},
0
,
0
,
FLAGS
,
"transfer"
},
{
"smpte2084"
,
0
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
ZIMG_TRANSFER_ST2084
},
0
,
0
,
FLAGS
,
"transfer"
},
{
"iec61966-2-1"
,
0
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
ZIMG_TRANSFER_IEC_61966_2_1
},
0
,
0
,
FLAGS
,
"transfer"
},
{
"arib-std-b67"
,
0
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
ZIMG_TRANSFER_ARIB_B67
},
0
,
0
,
FLAGS
,
"transfer"
},
{
"matrix"
,
"set colorspace matrix"
,
OFFSET
(
colorspace
),
AV_OPT_TYPE_INT
,
{.
i64
=
-
1
},
-
1
,
ZIMG_MATRIX_2020_CL
,
FLAGS
,
"matrix"
},
{
"m"
,
"set colorspace matrix"
,
OFFSET
(
colorspace
),
AV_OPT_TYPE_INT
,
{.
i64
=
-
1
},
-
1
,
ZIMG_MATRIX_2020_CL
,
FLAGS
,
"matrix"
},
{
"input"
,
0
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
-
1
},
0
,
0
,
FLAGS
,
"matrix"
},
...
...
@@ -729,10 +744,10 @@ static const AVOption zscale_options[] = {
{
"2020_cl"
,
0
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
ZIMG_MATRIX_2020_CL
},
0
,
0
,
FLAGS
,
"matrix"
},
{
"rangein"
,
"set input color range"
,
OFFSET
(
range_in
),
AV_OPT_TYPE_INT
,
{.
i64
=
-
1
},
-
1
,
ZIMG_RANGE_FULL
,
FLAGS
,
"range"
},
{
"rin"
,
"set input color range"
,
OFFSET
(
range_in
),
AV_OPT_TYPE_INT
,
{.
i64
=
-
1
},
-
1
,
ZIMG_RANGE_FULL
,
FLAGS
,
"range"
},
{
"primariesin"
,
"set input color primaries"
,
OFFSET
(
primaries_in
),
AV_OPT_TYPE_INT
,
{.
i64
=
-
1
},
-
1
,
ZIMG_PRIMARIES_
2020
,
FLAGS
,
"primaries"
},
{
"pin"
,
"set input color primaries"
,
OFFSET
(
primaries_in
),
AV_OPT_TYPE_INT
,
{.
i64
=
-
1
},
-
1
,
ZIMG_PRIMARIES_
2020
,
FLAGS
,
"primaries"
},
{
"transferin"
,
"set input transfer characteristic"
,
OFFSET
(
trc_in
),
AV_OPT_TYPE_INT
,
{.
i64
=
-
1
},
-
1
,
ZIMG_TRANSFER_
2020_12
,
FLAGS
,
"transfer"
},
{
"tin"
,
"set input transfer characteristic"
,
OFFSET
(
trc_in
),
AV_OPT_TYPE_INT
,
{.
i64
=
-
1
},
-
1
,
ZIMG_TRANSFER_
2020_12
,
FLAGS
,
"transfer"
},
{
"primariesin"
,
"set input color primaries"
,
OFFSET
(
primaries_in
),
AV_OPT_TYPE_INT
,
{.
i64
=
-
1
},
-
1
,
ZIMG_PRIMARIES_
ST432_1
,
FLAGS
,
"primaries"
},
{
"pin"
,
"set input color primaries"
,
OFFSET
(
primaries_in
),
AV_OPT_TYPE_INT
,
{.
i64
=
-
1
},
-
1
,
ZIMG_PRIMARIES_
ST432_1
,
FLAGS
,
"primaries"
},
{
"transferin"
,
"set input transfer characteristic"
,
OFFSET
(
trc_in
),
AV_OPT_TYPE_INT
,
{.
i64
=
-
1
},
-
1
,
ZIMG_TRANSFER_
ARIB_B67
,
FLAGS
,
"transfer"
},
{
"tin"
,
"set input transfer characteristic"
,
OFFSET
(
trc_in
),
AV_OPT_TYPE_INT
,
{.
i64
=
-
1
},
-
1
,
ZIMG_TRANSFER_
ARIB_B67
,
FLAGS
,
"transfer"
},
{
"matrixin"
,
"set input colorspace matrix"
,
OFFSET
(
colorspace_in
),
AV_OPT_TYPE_INT
,
{.
i64
=
-
1
},
-
1
,
ZIMG_MATRIX_2020_CL
,
FLAGS
,
"matrix"
},
{
"min"
,
"set input colorspace matrix"
,
OFFSET
(
colorspace_in
),
AV_OPT_TYPE_INT
,
{.
i64
=
-
1
},
-
1
,
ZIMG_MATRIX_2020_CL
,
FLAGS
,
"matrix"
},
{
"chromal"
,
"set output chroma location"
,
OFFSET
(
chromal
),
AV_OPT_TYPE_INT
,
{.
i64
=
-
1
},
-
1
,
ZIMG_CHROMA_BOTTOM
,
FLAGS
,
"chroma"
},
...
...
@@ -746,6 +761,7 @@ static const AVOption zscale_options[] = {
{
"bottom"
,
0
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
ZIMG_CHROMA_BOTTOM
},
0
,
0
,
FLAGS
,
"chroma"
},
{
"chromalin"
,
"set input chroma location"
,
OFFSET
(
chromal_in
),
AV_OPT_TYPE_INT
,
{.
i64
=
-
1
},
-
1
,
ZIMG_CHROMA_BOTTOM
,
FLAGS
,
"chroma"
},
{
"cin"
,
"set input chroma location"
,
OFFSET
(
chromal_in
),
AV_OPT_TYPE_INT
,
{.
i64
=
-
1
},
-
1
,
ZIMG_CHROMA_BOTTOM
,
FLAGS
,
"chroma"
},
{
"npl"
,
"set nominal peak luminance"
,
OFFSET
(
nominal_peak_luminance
),
AV_OPT_TYPE_DOUBLE
,
{.
dbl
=
NAN
},
0
,
DBL_MAX
,
FLAGS
},
{
NULL
}
};
...
...
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