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
4138cd29
Commit
4138cd29
authored
Mar 04, 2012
by
Anton Khirnov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
avconv: add -cpuflags option for setting supported cpuflags.
Useful for testing.
parent
4d851f8d
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
76 additions
and
5 deletions
+76
-5
avconv.c
avconv.c
+64
-0
cmdutils.c
cmdutils.c
+2
-5
cmdutils.h
cmdutils.h
+6
-0
avconv.texi
doc/avconv.texi
+4
-0
No files found.
avconv.c
View file @
4138cd29
...
...
@@ -4397,6 +4397,67 @@ static int opt_deinterlace(const char *opt, const char *arg)
return
0
;
}
static
int
opt_cpuflags
(
const
char
*
opt
,
const
char
*
arg
)
{
#define CPUFLAG_MMX2 (AV_CPU_FLAG_MMX | AV_CPU_FLAG_MMX2)
#define CPUFLAG_3DNOW (AV_CPU_FLAG_3DNOW | AV_CPU_FLAG_MMX)
#define CPUFLAG_3DNOWEXT (AV_CPU_FLAG_3DNOWEXT | CPUFLAG_3DNOW)
#define CPUFLAG_SSE (AV_CPU_FLAG_SSE | CPUFLAG_MMX2)
#define CPUFLAG_SSE2 (AV_CPU_FLAG_SSE2 | CPUFLAG_SSE)
#define CPUFLAG_SSE2SLOW (AV_CPU_FLAG_SSE2SLOW | CPUFLAG_SSE2)
#define CPUFLAG_SSE3 (AV_CPU_FLAG_SSE3 | CPUFLAG_SSE2)
#define CPUFLAG_SSE3SLOW (AV_CPU_FLAG_SSE3SLOW | CPUFLAG_SSE3)
#define CPUFLAG_SSSE3 (AV_CPU_FLAG_SSSE3 | CPUFLAG_SSE3)
#define CPUFLAG_SSE4 (AV_CPU_FLAG_SSE4 | CPUFLAG_SSSE3)
#define CPUFLAG_SSE42 (AV_CPU_FLAG_SSE42 | CPUFLAG_SSE4)
#define CPUFLAG_AVX (AV_CPU_FLAG_AVX | CPUFLAG_SSE42)
#define CPUFLAG_XOP (AV_CPU_FLAG_XOP | CPUFLAG_AVX)
#define CPUFLAG_FMA4 (AV_CPU_FLAG_FMA4 | CPUFLAG_AVX)
static
const
AVOption
cpuflags_opts
[]
=
{
{
"flags"
,
NULL
,
0
,
AV_OPT_TYPE_FLAGS
,
{
0
},
INT64_MIN
,
INT64_MAX
,
.
unit
=
"flags"
},
{
"altivec"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
AV_CPU_FLAG_ALTIVEC
},
.
unit
=
"flags"
},
{
"mmx"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
AV_CPU_FLAG_MMX
},
.
unit
=
"flags"
},
{
"mmx2"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
CPUFLAG_MMX2
},
.
unit
=
"flags"
},
{
"sse"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
CPUFLAG_SSE
},
.
unit
=
"flags"
},
{
"sse2"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
CPUFLAG_SSE2
},
.
unit
=
"flags"
},
{
"sse2slow"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
CPUFLAG_SSE2SLOW
},
.
unit
=
"flags"
},
{
"sse3"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
CPUFLAG_SSE3
},
.
unit
=
"flags"
},
{
"sse3slow"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
CPUFLAG_SSE3SLOW
},
.
unit
=
"flags"
},
{
"ssse3"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
CPUFLAG_SSSE3
},
.
unit
=
"flags"
},
{
"atom"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
AV_CPU_FLAG_ATOM
},
.
unit
=
"flags"
},
{
"sse4.1"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
CPUFLAG_SSE4
},
.
unit
=
"flags"
},
{
"sse4.2"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
CPUFLAG_SSE42
},
.
unit
=
"flags"
},
{
"avx"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
CPUFLAG_AVX
},
.
unit
=
"flags"
},
{
"xop"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
CPUFLAG_XOP
},
.
unit
=
"flags"
},
{
"fma4"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
CPUFLAG_FMA4
},
.
unit
=
"flags"
},
{
"3dnow"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
CPUFLAG_3DNOW
},
.
unit
=
"flags"
},
{
"3dnowext"
,
NULL
,
0
,
AV_OPT_TYPE_CONST
,
{
CPUFLAG_3DNOWEXT
},
.
unit
=
"flags"
},
{
NULL
},
};
static
const
AVClass
class
=
{
.
class_name
=
"cpuflags"
,
.
item_name
=
av_default_item_name
,
.
option
=
cpuflags_opts
,
.
version
=
LIBAVUTIL_VERSION_INT
,
};
int
flags
=
0
,
ret
;
const
AVClass
*
pclass
=
&
class
;
if
((
ret
=
av_opt_eval_flags
(
&
pclass
,
&
cpuflags_opts
[
0
],
arg
,
&
flags
))
<
0
)
return
ret
;
av_set_cpu_flags_mask
(
flags
);
return
0
;
}
static
void
parse_cpuflags
(
int
argc
,
char
**
argv
,
const
OptionDef
*
options
)
{
int
idx
=
locate_option
(
argc
,
argv
,
options
,
"cpuflags"
);
if
(
idx
&&
argv
[
idx
+
1
])
opt_cpuflags
(
"cpuflags"
,
argv
[
idx
+
1
]);
}
#define OFFSET(x) offsetof(OptionsContext, x)
static
const
OptionDef
options
[]
=
{
/* main options */
...
...
@@ -4446,6 +4507,7 @@ static const OptionDef options[] = {
{
"stats"
,
OPT_BOOL
,
{
&
print_stats
},
"print progress report during encoding"
,
},
{
"attach"
,
HAS_ARG
|
OPT_FUNC2
,
{(
void
*
)
opt_attach
},
"add an attachment to the output file"
,
"filename"
},
{
"dump_attachment"
,
HAS_ARG
|
OPT_STRING
|
OPT_SPEC
,
{.
off
=
OFFSET
(
dump_attachment
)},
"extract an attachment into a file"
,
"filename"
},
{
"cpuflags"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_cpuflags
},
"set CPU flags mask"
,
"mask"
},
/* video options */
{
"vframes"
,
HAS_ARG
|
OPT_VIDEO
|
OPT_FUNC2
,
{(
void
*
)
opt_video_frames
},
"set the number of video frames to record"
,
"number"
},
...
...
@@ -4532,6 +4594,8 @@ int main(int argc, char **argv)
show_banner
();
parse_cpuflags
(
argc
,
argv
,
options
);
/* parse options */
parse_options
(
&
o
,
argc
,
argv
,
options
,
opt_output_file
);
...
...
cmdutils.c
View file @
4138cd29
...
...
@@ -320,10 +320,7 @@ void parse_options(void *optctx, int argc, char **argv, const OptionDef *options
}
}
/*
* Return index of option opt in argv or 0 if not found.
*/
static
int
locate_option
(
int
argc
,
char
**
argv
,
const
OptionDef
*
options
,
int
locate_option
(
int
argc
,
char
**
argv
,
const
OptionDef
*
options
,
const
char
*
optname
)
{
const
OptionDef
*
po
;
...
...
cmdutils.h
View file @
4138cd29
...
...
@@ -189,6 +189,12 @@ int parse_option(void *optctx, const char *opt, const char *arg,
*/
void
parse_loglevel
(
int
argc
,
char
**
argv
,
const
OptionDef
*
options
);
/**
* Return index of option opt in argv or 0 if not found.
*/
int
locate_option
(
int
argc
,
char
**
argv
,
const
OptionDef
*
options
,
const
char
*
optname
);
/**
* Check if the given stream matches a stream specifier.
*
...
...
doc/avconv.texi
View file @
4138cd29
...
...
@@ -808,6 +808,10 @@ avconv -i file.mov -an -vn -bsf:s mov2textsub -c:s copy -f rawvideo sub.txt
@item -tag[:@var
{
stream
_
specifier
}
] @var
{
codec
_
tag
}
(@emph
{
output,per-stream
}
)
Force a tag/fourcc for matching streams.
@item -cpuflags mask (@emph
{
global
}
)
Set a mask that's applied to autodetected CPU flags. This option is intended
for testing. Do not use it unless you know what you're doing.
@end table
@c man end OPTIONS
...
...
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