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
f2c8b666
Commit
f2c8b666
authored
Jun 09, 2016
by
Michael Niedermayer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
avfilter: Fix max value of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by:
Michael Niedermayer
<
michael@niedermayer.cc
>
parent
584fff94
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
22 additions
and
22 deletions
+22
-22
avf_ahistogram.c
libavfilter/avf_ahistogram.c
+2
-2
avf_aphasemeter.c
libavfilter/avf_aphasemeter.c
+2
-2
avf_avectorscope.c
libavfilter/avf_avectorscope.c
+2
-2
avf_showvolume.c
libavfilter/avf_showvolume.c
+2
-2
avf_showwaves.c
libavfilter/avf_showwaves.c
+2
-2
vf_coreimage.m
libavfilter/vf_coreimage.m
+2
-2
vf_frei0r.c
libavfilter/vf_frei0r.c
+1
-1
vf_zoompan.c
libavfilter/vf_zoompan.c
+1
-1
vsrc_cellauto.c
libavfilter/vsrc_cellauto.c
+2
-2
vsrc_life.c
libavfilter/vsrc_life.c
+2
-2
vsrc_mptestsrc.c
libavfilter/vsrc_mptestsrc.c
+2
-2
vsrc_testsrc.c
libavfilter/vsrc_testsrc.c
+2
-2
No files found.
libavfilter/avf_ahistogram.c
View file @
f2c8b666
...
...
@@ -63,8 +63,8 @@ static const AVOption ahistogram_options[] = {
{
"dmode"
,
"set method to display channels"
,
OFFSET
(
dmode
),
AV_OPT_TYPE_INT
,
{.
i64
=
SINGLE
},
0
,
NB_DMODES
-
1
,
FLAGS
,
"dmode"
},
{
"single"
,
"all channels use single histogram"
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
SINGLE
},
0
,
0
,
FLAGS
,
"dmode"
},
{
"separate"
,
"each channel have own histogram"
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
SEPARATE
},
0
,
0
,
FLAGS
,
"dmode"
},
{
"rate"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
0
,
FLAGS
},
{
"r"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
0
,
FLAGS
},
{
"rate"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
INT_MAX
,
FLAGS
},
{
"r"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
INT_MAX
,
FLAGS
},
{
"size"
,
"set video size"
,
OFFSET
(
w
),
AV_OPT_TYPE_IMAGE_SIZE
,
{.
str
=
"hd720"
},
0
,
0
,
FLAGS
},
{
"s"
,
"set video size"
,
OFFSET
(
w
),
AV_OPT_TYPE_IMAGE_SIZE
,
{.
str
=
"hd720"
},
0
,
0
,
FLAGS
},
{
"scale"
,
"set display scale"
,
OFFSET
(
scale
),
AV_OPT_TYPE_INT
,
{.
i64
=
LOG
},
LINEAR
,
NB_SCALES
-
1
,
FLAGS
,
"scale"
},
...
...
libavfilter/avf_aphasemeter.c
View file @
f2c8b666
...
...
@@ -49,8 +49,8 @@ typedef struct AudioPhaseMeterContext {
#define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM
static
const
AVOption
aphasemeter_options
[]
=
{
{
"rate"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
0
,
FLAGS
},
{
"r"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
0
,
FLAGS
},
{
"rate"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
INT_MAX
,
FLAGS
},
{
"r"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
INT_MAX
,
FLAGS
},
{
"size"
,
"set video size"
,
OFFSET
(
w
),
AV_OPT_TYPE_IMAGE_SIZE
,
{.
str
=
"800x400"
},
0
,
0
,
FLAGS
},
{
"s"
,
"set video size"
,
OFFSET
(
w
),
AV_OPT_TYPE_IMAGE_SIZE
,
{.
str
=
"800x400"
},
0
,
0
,
FLAGS
},
{
"rc"
,
"set red contrast"
,
OFFSET
(
contrast
[
0
]),
AV_OPT_TYPE_INT
,
{.
i64
=
2
},
0
,
255
,
FLAGS
},
...
...
libavfilter/avf_avectorscope.c
View file @
f2c8b666
...
...
@@ -69,8 +69,8 @@ static const AVOption avectorscope_options[] = {
{
"lissajous"
,
""
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
LISSAJOUS
},
0
,
0
,
FLAGS
,
"mode"
},
{
"lissajous_xy"
,
""
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
LISSAJOUS_XY
},
0
,
0
,
FLAGS
,
"mode"
},
{
"polar"
,
""
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
POLAR
},
0
,
0
,
FLAGS
,
"mode"
},
{
"rate"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
0
,
FLAGS
},
{
"r"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
0
,
FLAGS
},
{
"rate"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
INT_MAX
,
FLAGS
},
{
"r"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
INT_MAX
,
FLAGS
},
{
"size"
,
"set video size"
,
OFFSET
(
w
),
AV_OPT_TYPE_IMAGE_SIZE
,
{.
str
=
"400x400"
},
0
,
0
,
FLAGS
},
{
"s"
,
"set video size"
,
OFFSET
(
w
),
AV_OPT_TYPE_IMAGE_SIZE
,
{.
str
=
"400x400"
},
0
,
0
,
FLAGS
},
{
"rc"
,
"set red contrast"
,
OFFSET
(
contrast
[
0
]),
AV_OPT_TYPE_INT
,
{.
i64
=
40
},
0
,
255
,
FLAGS
},
...
...
libavfilter/avf_showvolume.c
View file @
f2c8b666
...
...
@@ -55,8 +55,8 @@ typedef struct ShowVolumeContext {
#define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM
static
const
AVOption
showvolume_options
[]
=
{
{
"rate"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
0
,
FLAGS
},
{
"r"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
0
,
FLAGS
},
{
"rate"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
INT_MAX
,
FLAGS
},
{
"r"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
INT_MAX
,
FLAGS
},
{
"b"
,
"set border width"
,
OFFSET
(
b
),
AV_OPT_TYPE_INT
,
{.
i64
=
1
},
0
,
5
,
FLAGS
},
{
"w"
,
"set channel width"
,
OFFSET
(
w
),
AV_OPT_TYPE_INT
,
{.
i64
=
400
},
80
,
8192
,
FLAGS
},
{
"h"
,
"set channel height"
,
OFFSET
(
h
),
AV_OPT_TYPE_INT
,
{.
i64
=
20
},
1
,
900
,
FLAGS
},
...
...
libavfilter/avf_showwaves.c
View file @
f2c8b666
...
...
@@ -93,8 +93,8 @@ static const AVOption showwaves_options[] = {
{
"p2p"
,
"draw a line between samples"
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
MODE_P2P
},
.
flags
=
FLAGS
,
.
unit
=
"mode"
},
{
"cline"
,
"draw a centered line for each sample"
,
0
,
AV_OPT_TYPE_CONST
,
{.
i64
=
MODE_CENTERED_LINE
},
.
flags
=
FLAGS
,
.
unit
=
"mode"
},
{
"n"
,
"set how many samples to show in the same point"
,
OFFSET
(
n
),
AV_OPT_TYPE_INT
,
{.
i64
=
0
},
0
,
INT_MAX
,
FLAGS
},
{
"rate"
,
"set video rate"
,
OFFSET
(
rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
0
,
FLAGS
},
{
"r"
,
"set video rate"
,
OFFSET
(
rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
0
,
FLAGS
},
{
"rate"
,
"set video rate"
,
OFFSET
(
rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
INT_MAX
,
FLAGS
},
{
"r"
,
"set video rate"
,
OFFSET
(
rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
INT_MAX
,
FLAGS
},
{
"split_channels"
,
"draw channels separately"
,
OFFSET
(
split_channels
),
AV_OPT_TYPE_BOOL
,
{.
i64
=
0
},
0
,
1
,
FLAGS
},
{
"colors"
,
"set channels colors"
,
OFFSET
(
colors
),
AV_OPT_TYPE_STRING
,
{.
str
=
"red|green|blue|yellow|orange|lime|pink|magenta|brown"
},
0
,
0
,
FLAGS
},
{
"scale"
,
"set amplitude scale"
,
OFFSET
(
scale
),
AV_OPT_TYPE_INT
,
{.
i64
=
0
},
0
,
SCALE_NB
-
1
,
FLAGS
,
.
unit
=
"scale"
},
...
...
libavfilter/vf_coreimage.m
View file @
f2c8b666
...
...
@@ -633,8 +633,8 @@ static const AVFilterPad vsrc_coreimagesrc_outputs[] = {
#define GENERATOR_OPTIONS \
{"size", "set video size", OFFSET(w), AV_OPT_TYPE_IMAGE_SIZE, {.str = "320x240"}, 0, 0, FLAGS}, \
{"s", "set video size", OFFSET(w), AV_OPT_TYPE_IMAGE_SIZE, {.str = "320x240"}, 0, 0, FLAGS}, \
{"rate", "set video rate", OFFSET(frame_rate), AV_OPT_TYPE_VIDEO_RATE, {.str = "25"}, 0,
0
, FLAGS}, \
{"r", "set video rate", OFFSET(frame_rate), AV_OPT_TYPE_VIDEO_RATE, {.str = "25"}, 0,
0
, FLAGS}, \
{"rate", "set video rate", OFFSET(frame_rate), AV_OPT_TYPE_VIDEO_RATE, {.str = "25"}, 0,
INT_MAX
, FLAGS}, \
{"r", "set video rate", OFFSET(frame_rate), AV_OPT_TYPE_VIDEO_RATE, {.str = "25"}, 0,
INT_MAX
, FLAGS}, \
{"duration", "set video duration", OFFSET(duration), AV_OPT_TYPE_DURATION, {.i64 = -1}, -1, INT64_MAX, FLAGS}, \
{"d", "set video duration", OFFSET(duration), AV_OPT_TYPE_DURATION, {.i64 = -1}, -1, INT64_MAX, FLAGS}, \
{"sar", "set video sample aspect ratio", OFFSET(sar), AV_OPT_TYPE_RATIONAL, {.dbl = 1}, 0, INT_MAX, FLAGS},
...
...
libavfilter/vf_frei0r.c
View file @
f2c8b666
...
...
@@ -510,7 +510,7 @@ static int source_request_frame(AVFilterLink *outlink)
static
const
AVOption
frei0r_src_options
[]
=
{
{
"size"
,
"Dimensions of the generated video."
,
OFFSET
(
w
),
AV_OPT_TYPE_IMAGE_SIZE
,
{
.
str
=
"320x240"
},
.
flags
=
FLAGS
},
{
"framerate"
,
NULL
,
OFFSET
(
framerate
),
AV_OPT_TYPE_VIDEO_RATE
,
{
.
str
=
"25"
},
.
flags
=
FLAGS
},
{
"framerate"
,
NULL
,
OFFSET
(
framerate
),
AV_OPT_TYPE_VIDEO_RATE
,
{
.
str
=
"25"
},
0
,
INT_MAX
,
.
flags
=
FLAGS
},
{
"filter_name"
,
NULL
,
OFFSET
(
dl_name
),
AV_OPT_TYPE_STRING
,
.
flags
=
FLAGS
},
{
"filter_params"
,
NULL
,
OFFSET
(
params
),
AV_OPT_TYPE_STRING
,
.
flags
=
FLAGS
},
{
NULL
},
...
...
libavfilter/vf_zoompan.c
View file @
f2c8b666
...
...
@@ -104,7 +104,7 @@ static const AVOption zoompan_options[] = {
{
"y"
,
"set the y expression"
,
OFFSET
(
y_expr_str
),
AV_OPT_TYPE_STRING
,
{.
str
=
"0"
},
.
flags
=
FLAGS
},
{
"d"
,
"set the duration expression"
,
OFFSET
(
duration_expr_str
),
AV_OPT_TYPE_STRING
,
{.
str
=
"90"
},
.
flags
=
FLAGS
},
{
"s"
,
"set the output image size"
,
OFFSET
(
w
),
AV_OPT_TYPE_IMAGE_SIZE
,
{.
str
=
"hd720"
},
.
flags
=
FLAGS
},
{
"fps"
,
"set the output framerate"
,
OFFSET
(
framerate
),
AV_OPT_TYPE_VIDEO_RATE
,
{
.
str
=
"25"
},
.
flags
=
FLAGS
},
{
"fps"
,
"set the output framerate"
,
OFFSET
(
framerate
),
AV_OPT_TYPE_VIDEO_RATE
,
{
.
str
=
"25"
},
0
,
INT_MAX
,
.
flags
=
FLAGS
},
{
NULL
}
};
...
...
libavfilter/vsrc_cellauto.c
View file @
f2c8b666
...
...
@@ -65,8 +65,8 @@ static const AVOption cellauto_options[] = {
{
"f"
,
"read initial pattern from file"
,
OFFSET
(
filename
),
AV_OPT_TYPE_STRING
,
{.
str
=
NULL
},
0
,
0
,
FLAGS
},
{
"pattern"
,
"set initial pattern"
,
OFFSET
(
pattern
),
AV_OPT_TYPE_STRING
,
{.
str
=
NULL
},
0
,
0
,
FLAGS
},
{
"p"
,
"set initial pattern"
,
OFFSET
(
pattern
),
AV_OPT_TYPE_STRING
,
{.
str
=
NULL
},
0
,
0
,
FLAGS
},
{
"rate"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
0
,
FLAGS
},
{
"r"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
0
,
FLAGS
},
{
"rate"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
INT_MAX
,
FLAGS
},
{
"r"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
INT_MAX
,
FLAGS
},
{
"size"
,
"set video size"
,
OFFSET
(
w
),
AV_OPT_TYPE_IMAGE_SIZE
,
{.
str
=
NULL
},
0
,
0
,
FLAGS
},
{
"s"
,
"set video size"
,
OFFSET
(
w
),
AV_OPT_TYPE_IMAGE_SIZE
,
{.
str
=
NULL
},
0
,
0
,
FLAGS
},
{
"rule"
,
"set rule"
,
OFFSET
(
rule
),
AV_OPT_TYPE_INT
,
{.
i64
=
110
},
0
,
255
,
FLAGS
},
...
...
libavfilter/vsrc_life.c
View file @
f2c8b666
...
...
@@ -82,8 +82,8 @@ static const AVOption life_options[] = {
{
"f"
,
"set source file"
,
OFFSET
(
filename
),
AV_OPT_TYPE_STRING
,
{.
str
=
NULL
},
0
,
0
,
FLAGS
},
{
"size"
,
"set video size"
,
OFFSET
(
w
),
AV_OPT_TYPE_IMAGE_SIZE
,
{.
str
=
NULL
},
0
,
0
,
FLAGS
},
{
"s"
,
"set video size"
,
OFFSET
(
w
),
AV_OPT_TYPE_IMAGE_SIZE
,
{.
str
=
NULL
},
0
,
0
,
FLAGS
},
{
"rate"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
0
,
FLAGS
},
{
"r"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
0
,
FLAGS
},
{
"rate"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
INT_MAX
,
FLAGS
},
{
"r"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
INT_MAX
,
FLAGS
},
{
"rule"
,
"set rule"
,
OFFSET
(
rule_str
),
AV_OPT_TYPE_STRING
,
{.
str
=
"B3/S23"
},
CHAR_MIN
,
CHAR_MAX
,
FLAGS
},
{
"random_fill_ratio"
,
"set fill ratio for filling initial grid randomly"
,
OFFSET
(
random_fill_ratio
),
AV_OPT_TYPE_DOUBLE
,
{.
dbl
=
1
/
M_PHI
},
0
,
1
,
FLAGS
},
{
"ratio"
,
"set fill ratio for filling initial grid randomly"
,
OFFSET
(
random_fill_ratio
),
AV_OPT_TYPE_DOUBLE
,
{.
dbl
=
1
/
M_PHI
},
0
,
1
,
FLAGS
},
...
...
libavfilter/vsrc_mptestsrc.c
View file @
f2c8b666
...
...
@@ -61,8 +61,8 @@ typedef struct MPTestContext {
#define OFFSET(x) offsetof(MPTestContext, x)
#define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM
static
const
AVOption
mptestsrc_options
[]
=
{
{
"rate"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
0
,
FLAGS
},
{
"r"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
0
,
FLAGS
},
{
"rate"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
INT_MAX
,
FLAGS
},
{
"r"
,
"set video rate"
,
OFFSET
(
frame_rate
),
AV_OPT_TYPE_VIDEO_RATE
,
{.
str
=
"25"
},
0
,
INT_MAX
,
FLAGS
},
{
"duration"
,
"set video duration"
,
OFFSET
(
duration
),
AV_OPT_TYPE_DURATION
,
{.
i64
=
-
1
},
-
1
,
INT64_MAX
,
FLAGS
},
{
"d"
,
"set video duration"
,
OFFSET
(
duration
),
AV_OPT_TYPE_DURATION
,
{.
i64
=
-
1
},
-
1
,
INT64_MAX
,
FLAGS
},
...
...
libavfilter/vsrc_testsrc.c
View file @
f2c8b666
...
...
@@ -86,8 +86,8 @@ typedef struct TestSourceContext {
{ "s", "set video size", OFFSET(w), AV_OPT_TYPE_IMAGE_SIZE, {.str = "320x240"}, 0, 0, FLAGS },\
#define COMMON_OPTIONS_NOSIZE \
{ "rate", "set video rate", OFFSET(frame_rate), AV_OPT_TYPE_VIDEO_RATE, {.str = "25"}, 0,
0
, FLAGS },\
{ "r", "set video rate", OFFSET(frame_rate), AV_OPT_TYPE_VIDEO_RATE, {.str = "25"}, 0,
0
, FLAGS },\
{ "rate", "set video rate", OFFSET(frame_rate), AV_OPT_TYPE_VIDEO_RATE, {.str = "25"}, 0,
INT_MAX
, FLAGS },\
{ "r", "set video rate", OFFSET(frame_rate), AV_OPT_TYPE_VIDEO_RATE, {.str = "25"}, 0,
INT_MAX
, FLAGS },\
{ "duration", "set video duration", OFFSET(duration), AV_OPT_TYPE_DURATION, {.i64 = -1}, -1, INT64_MAX, FLAGS },\
{ "d", "set video duration", OFFSET(duration), AV_OPT_TYPE_DURATION, {.i64 = -1}, -1, INT64_MAX, FLAGS },\
{ "sar", "set video sample aspect ratio", OFFSET(sar), AV_OPT_TYPE_RATIONAL, {.dbl= 1}, 0, INT_MAX, FLAGS },
...
...
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