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
959c7dad
Commit
959c7dad
authored
Mar 19, 2016
by
Paul B Mahol
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
avfilter/vf_waveform: add graticule to aflat filter
Signed-off-by:
Paul B Mahol
<
onemda@gmail.com
>
parent
c91b20c4
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
125 additions
and
0 deletions
+125
-0
vf_waveform.c
libavfilter/vf_waveform.c
+125
-0
No files found.
libavfilter/vf_waveform.c
View file @
959c7dad
...
...
@@ -1731,6 +1731,102 @@ static const uint8_t black_yuva_color[4] = { 0, 127, 127, 255 };
static
const
uint8_t
green_yuva_color
[
4
]
=
{
255
,
0
,
0
,
255
};
static
const
uint8_t
black_gbrp_color
[
4
]
=
{
0
,
0
,
0
,
255
};
static
const
GraticuleLines
aflat_digital8
[]
=
{
{
{
{
"16"
,
16
+
128
},
{
"16"
,
16
+
128
},
{
"16"
,
16
+
128
},
{
"0"
,
0
+
128
}
}
},
{
{
{
"128"
,
128
+
128
},
{
"128"
,
128
+
128
},
{
"128"
,
128
+
128
},
{
"128"
,
128
+
128
}
}
},
{
{
{
"235"
,
235
+
128
},
{
"240"
,
240
+
128
},
{
"240"
,
240
+
128
},
{
"255"
,
255
+
128
}
}
},
};
static
const
GraticuleLines
aflat_digital9
[]
=
{
{
{
{
"32"
,
32
+
256
},
{
"32"
,
32
+
256
},
{
"32"
,
32
+
256
},
{
"0"
,
0
+
256
}
}
},
{
{
{
"256"
,
256
+
256
},
{
"256"
,
256
+
256
},
{
"256"
,
256
+
256
},
{
"256"
,
256
+
256
}
}
},
{
{
{
"470"
,
470
+
256
},
{
"480"
,
480
+
256
},
{
"480"
,
480
+
256
},
{
"511"
,
511
+
256
}
}
},
};
static
const
GraticuleLines
aflat_digital10
[]
=
{
{
{
{
"64"
,
64
+
512
},
{
"64"
,
64
+
512
},
{
"64"
,
64
+
512
},
{
"0"
,
0
+
512
}
}
},
{
{
{
"512"
,
512
+
512
},
{
"512"
,
512
+
512
},
{
"512"
,
512
+
512
},
{
"512"
,
512
+
512
}
}
},
{
{
{
"940"
,
940
+
512
},
{
"960"
,
960
+
512
},
{
"960"
,
960
+
512
},
{
"1023"
,
1023
+
512
}
}
},
};
static
const
GraticuleLines
aflat_digital12
[]
=
{
{
{
{
"256"
,
256
+
2048
},
{
"256"
,
256
+
2048
},
{
"256"
,
256
+
2048
},
{
"0"
,
0
+
2048
}
}
},
{
{
{
"2048"
,
2048
+
2048
},
{
"2048"
,
2048
+
2048
},
{
"2048"
,
2048
+
2048
},
{
"2048"
,
2048
+
2048
}
}
},
{
{
{
"3760"
,
3760
+
2048
},
{
"3840"
,
3840
+
2048
},
{
"3840"
,
3840
+
2048
},
{
"4095"
,
4095
+
2048
}
}
},
};
static
const
GraticuleLines
aflat_millivolts8
[]
=
{
{
{
{
"0"
,
16
+
128
},
{
"0"
,
16
+
128
},
{
"0"
,
16
+
128
},
{
"0"
,
0
+
128
}
}
},
{
{
{
"175"
,
71
+
128
},
{
"175"
,
72
+
128
},
{
"175"
,
72
+
128
},
{
"175"
,
64
+
128
}
}
},
{
{
{
"350"
,
126
+
128
},
{
"350"
,
128
+
128
},
{
"350"
,
128
+
128
},
{
"350"
,
128
+
128
}
}
},
{
{
{
"525"
,
180
+
128
},
{
"525"
,
184
+
128
},
{
"525"
,
184
+
128
},
{
"525"
,
192
+
128
}
}
},
{
{
{
"700"
,
235
+
128
},
{
"700"
,
240
+
128
},
{
"700"
,
240
+
128
},
{
"700"
,
255
+
128
}
}
},
};
static
const
GraticuleLines
aflat_millivolts9
[]
=
{
{
{
{
"0"
,
32
+
256
},
{
"0"
,
32
+
256
},
{
"0"
,
32
+
256
},
{
"0"
,
0
+
256
}
}
},
{
{
{
"175"
,
142
+
256
},
{
"175"
,
144
+
256
},
{
"175"
,
144
+
256
},
{
"175"
,
128
+
256
}
}
},
{
{
{
"350"
,
251
+
256
},
{
"350"
,
256
+
256
},
{
"350"
,
256
+
256
},
{
"350"
,
256
+
256
}
}
},
{
{
{
"525"
,
361
+
256
},
{
"525"
,
368
+
256
},
{
"525"
,
368
+
256
},
{
"525"
,
384
+
256
}
}
},
{
{
{
"700"
,
470
+
256
},
{
"700"
,
480
+
256
},
{
"700"
,
480
+
256
},
{
"700"
,
511
+
256
}
}
},
};
static
const
GraticuleLines
aflat_millivolts10
[]
=
{
{
{
{
"0"
,
64
+
512
},
{
"0"
,
64
+
512
},
{
"0"
,
64
+
512
},
{
"0"
,
0
+
512
}
}
},
{
{
{
"175"
,
283
+
512
},
{
"175"
,
288
+
512
},
{
"175"
,
288
+
512
},
{
"175"
,
256
+
512
}
}
},
{
{
{
"350"
,
502
+
512
},
{
"350"
,
512
+
512
},
{
"350"
,
512
+
512
},
{
"350"
,
512
+
512
}
}
},
{
{
{
"525"
,
721
+
512
},
{
"525"
,
736
+
512
},
{
"525"
,
736
+
512
},
{
"525"
,
768
+
512
}
}
},
{
{
{
"700"
,
940
+
512
},
{
"700"
,
960
+
512
},
{
"700"
,
960
+
512
},
{
"700"
,
1023
+
512
}
}
},
};
static
const
GraticuleLines
aflat_millivolts12
[]
=
{
{
{
{
"0"
,
256
+
2048
},
{
"0"
,
256
+
2048
},
{
"0"
,
256
+
2048
},
{
"0"
,
0
+
2048
}
}
},
{
{
{
"175"
,
1132
+
2048
},
{
"175"
,
1152
+
2048
},
{
"175"
,
1152
+
2048
},
{
"175"
,
1024
+
2048
}
}
},
{
{
{
"350"
,
2008
+
2048
},
{
"350"
,
2048
+
2048
},
{
"350"
,
2048
+
2048
},
{
"350"
,
2048
+
2048
}
}
},
{
{
{
"525"
,
2884
+
2048
},
{
"525"
,
2944
+
2048
},
{
"525"
,
2944
+
2048
},
{
"525"
,
3072
+
2048
}
}
},
{
{
{
"700"
,
3760
+
2048
},
{
"700"
,
3840
+
2048
},
{
"700"
,
3840
+
2048
},
{
"700"
,
4095
+
2048
}
}
},
};
static
const
GraticuleLines
aflat_ire8
[]
=
{
{
{
{
"-25"
,
-
39
+
128
},
{
"-25"
,
-
40
+
128
},
{
"-25"
,
-
40
+
128
},
{
"-25"
,
-
64
+
128
}
}
},
{
{
{
"0"
,
16
+
128
},
{
"0"
,
16
+
128
},
{
"0"
,
16
+
128
},
{
"0"
,
0
+
128
}
}
},
{
{
{
"25"
,
71
+
128
},
{
"25"
,
72
+
128
},
{
"25"
,
72
+
128
},
{
"25"
,
64
+
128
}
}
},
{
{
{
"50"
,
126
+
128
},
{
"50"
,
128
+
128
},
{
"50"
,
128
+
128
},
{
"50"
,
128
+
128
}
}
},
{
{
{
"75"
,
180
+
128
},
{
"75"
,
184
+
128
},
{
"75"
,
184
+
128
},
{
"75"
,
192
+
128
}
}
},
{
{
{
"100"
,
235
+
128
},
{
"100"
,
240
+
128
},
{
"100"
,
240
+
128
},
{
"100"
,
256
+
128
}
}
},
{
{
{
"125"
,
290
+
128
},
{
"125"
,
296
+
128
},
{
"125"
,
296
+
128
},
{
"125"
,
320
+
128
}
}
},
};
static
const
GraticuleLines
aflat_ire9
[]
=
{
{
{
{
"-25"
,
-
78
+
256
},
{
"-25"
,
-
80
+
256
},
{
"-25"
,
-
80
+
256
},
{
"-25"
,
-
128
+
256
}
}
},
{
{
{
"0"
,
32
+
256
},
{
"0"
,
32
+
256
},
{
"0"
,
32
+
256
},
{
"0"
,
0
+
256
}
}
},
{
{
{
"25"
,
142
+
256
},
{
"25"
,
144
+
256
},
{
"25"
,
144
+
256
},
{
"25"
,
128
+
256
}
}
},
{
{
{
"50"
,
251
+
256
},
{
"50"
,
256
+
256
},
{
"50"
,
256
+
256
},
{
"50"
,
256
+
256
}
}
},
{
{
{
"75"
,
361
+
256
},
{
"75"
,
368
+
256
},
{
"75"
,
368
+
256
},
{
"75"
,
384
+
256
}
}
},
{
{
{
"100"
,
470
+
256
},
{
"100"
,
480
+
256
},
{
"100"
,
480
+
256
},
{
"100"
,
512
+
256
}
}
},
{
{
{
"125"
,
580
+
256
},
{
"125"
,
592
+
256
},
{
"125"
,
592
+
256
},
{
"125"
,
640
+
256
}
}
},
};
static
const
GraticuleLines
aflat_ire10
[]
=
{
{
{
{
"-25"
,
-
156
+
512
},
{
"-25"
,
-
160
+
512
},
{
"-25"
,
-
160
+
512
},
{
"-25"
,
-
256
+
512
}
}
},
{
{
{
"0"
,
64
+
512
},
{
"0"
,
64
+
512
},
{
"0"
,
64
+
512
},
{
"0"
,
0
+
512
}
}
},
{
{
{
"25"
,
283
+
512
},
{
"25"
,
288
+
512
},
{
"25"
,
288
+
512
},
{
"25"
,
256
+
512
}
}
},
{
{
{
"50"
,
502
+
512
},
{
"50"
,
512
+
512
},
{
"50"
,
512
+
512
},
{
"50"
,
512
+
512
}
}
},
{
{
{
"75"
,
721
+
512
},
{
"75"
,
736
+
512
},
{
"75"
,
736
+
512
},
{
"75"
,
768
+
512
}
}
},
{
{
{
"100"
,
940
+
512
},
{
"100"
,
960
+
512
},
{
"100"
,
960
+
512
},
{
"100"
,
1024
+
512
}
}
},
{
{
{
"125"
,
1160
+
512
},
{
"125"
,
1184
+
512
},
{
"125"
,
1184
+
512
},
{
"125"
,
1280
+
512
}
}
},
};
static
const
GraticuleLines
aflat_ire12
[]
=
{
{
{
{
"-25"
,
-
624
+
2048
},
{
"-25"
,
-
640
+
2048
},
{
"-25"
,
-
640
+
2048
},
{
"-25"
,
-
1024
+
2048
}
}
},
{
{
{
"0"
,
256
+
2048
},
{
"0"
,
256
+
2048
},
{
"0"
,
256
+
2048
},
{
"0"
,
0
+
2048
}
}
},
{
{
{
"25"
,
1132
+
2048
},
{
"25"
,
1152
+
2048
},
{
"25"
,
1152
+
2048
},
{
"25"
,
1024
+
2048
}
}
},
{
{
{
"50"
,
2008
+
2048
},
{
"50"
,
2048
+
2048
},
{
"50"
,
2048
+
2048
},
{
"50"
,
2048
+
2048
}
}
},
{
{
{
"75"
,
2884
+
2048
},
{
"75"
,
2944
+
2048
},
{
"75"
,
2944
+
2048
},
{
"75"
,
3072
+
2048
}
}
},
{
{
{
"100"
,
3760
+
2048
},
{
"100"
,
3840
+
2048
},
{
"100"
,
3840
+
2048
},
{
"100"
,
4096
+
2048
}
}
},
{
{
{
"125"
,
4640
+
2048
},
{
"125"
,
4736
+
2048
},
{
"125"
,
4736
+
2048
},
{
"125"
,
5120
+
2048
}
}
},
};
static
const
GraticuleLines
flat_digital8
[]
=
{
{
{
{
"16"
,
16
+
256
},
{
"16"
,
16
+
256
},
{
"16"
,
16
+
256
},
{
"0"
,
0
+
256
}
}
},
{
{
{
"128"
,
128
+
256
},
{
"128"
,
128
+
256
},
{
"128"
,
128
+
256
},
{
"128"
,
128
+
256
}
}
},
...
...
@@ -2305,6 +2401,7 @@ static int config_input(AVFilterLink *inlink)
case
COLOR
:
case
ACOLOR
:
case
CHROMA
:
case
AFLAT
:
case
FLAT
:
if
(
s
->
graticule
&&
s
->
mode
==
1
)
s
->
graticulef
=
s
->
bits
>
8
?
graticule16_green_column
:
graticule_green_column
;
...
...
@@ -2372,6 +2469,34 @@ static int config_input(AVFilterLink *inlink)
break
;
}
break
;
case
AFLAT
:
switch
(
s
->
scale
)
{
case
DIGITAL
:
switch
(
s
->
bits
)
{
case
8
:
s
->
glines
=
(
GraticuleLines
*
)
aflat_digital8
;
s
->
nb_glines
=
FF_ARRAY_ELEMS
(
aflat_digital8
);
break
;
case
9
:
s
->
glines
=
(
GraticuleLines
*
)
aflat_digital9
;
s
->
nb_glines
=
FF_ARRAY_ELEMS
(
aflat_digital9
);
break
;
case
10
:
s
->
glines
=
(
GraticuleLines
*
)
aflat_digital10
;
s
->
nb_glines
=
FF_ARRAY_ELEMS
(
aflat_digital10
);
break
;
case
12
:
s
->
glines
=
(
GraticuleLines
*
)
aflat_digital12
;
s
->
nb_glines
=
FF_ARRAY_ELEMS
(
aflat_digital12
);
break
;
}
break
;
case
MILLIVOLTS
:
switch
(
s
->
bits
)
{
case
8
:
s
->
glines
=
(
GraticuleLines
*
)
aflat_millivolts8
;
s
->
nb_glines
=
FF_ARRAY_ELEMS
(
aflat_millivolts8
);
break
;
case
9
:
s
->
glines
=
(
GraticuleLines
*
)
aflat_millivolts9
;
s
->
nb_glines
=
FF_ARRAY_ELEMS
(
aflat_millivolts9
);
break
;
case
10
:
s
->
glines
=
(
GraticuleLines
*
)
aflat_millivolts10
;
s
->
nb_glines
=
FF_ARRAY_ELEMS
(
aflat_millivolts10
);
break
;
case
12
:
s
->
glines
=
(
GraticuleLines
*
)
aflat_millivolts12
;
s
->
nb_glines
=
FF_ARRAY_ELEMS
(
aflat_millivolts12
);
break
;
}
break
;
case
IRE
:
switch
(
s
->
bits
)
{
case
8
:
s
->
glines
=
(
GraticuleLines
*
)
aflat_ire8
;
s
->
nb_glines
=
FF_ARRAY_ELEMS
(
aflat_ire8
);
break
;
case
9
:
s
->
glines
=
(
GraticuleLines
*
)
aflat_ire9
;
s
->
nb_glines
=
FF_ARRAY_ELEMS
(
aflat_ire9
);
break
;
case
10
:
s
->
glines
=
(
GraticuleLines
*
)
aflat_ire10
;
s
->
nb_glines
=
FF_ARRAY_ELEMS
(
aflat_ire10
);
break
;
case
12
:
s
->
glines
=
(
GraticuleLines
*
)
aflat_ire12
;
s
->
nb_glines
=
FF_ARRAY_ELEMS
(
aflat_ire12
);
break
;
}
break
;
}
break
;
case
FLAT
:
switch
(
s
->
scale
)
{
case
DIGITAL
:
...
...
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