cmdutils: add -layouts option.
Extract of the output: | Individual channels: | NAME DESCRIPTION | FL front left | FR front right | <snip> | SDR surround direct right | | Standard channel layouts: | NAME DECOMPOSITION | mono FC | stereo FL+FR | <snip> | octagonal FL+FR+FC+BL+BR+BC+SL+SR | downmix DL+DR
This commit is contained in:
29
cmdutils.c
29
cmdutils.c
@ -1087,6 +1087,35 @@ int show_pix_fmts(const char *opt, const char *arg)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int show_layouts(const char *opt, const char *arg)
|
||||||
|
{
|
||||||
|
int i = 0;
|
||||||
|
uint64_t layout, j;
|
||||||
|
const char *name, *descr;
|
||||||
|
|
||||||
|
printf("Individual channels:\n"
|
||||||
|
"NAME DESCRIPTION\n");
|
||||||
|
for (i = 0; i < 63; i++) {
|
||||||
|
name = av_get_channel_name((uint64_t)1 << i);
|
||||||
|
if (!name)
|
||||||
|
continue;
|
||||||
|
descr = av_get_channel_description((uint64_t)1 << i);
|
||||||
|
printf("%-12s%s\n", name, descr);
|
||||||
|
}
|
||||||
|
printf("\nStandard channel layouts:\n"
|
||||||
|
"NAME DECOMPOSITION\n");
|
||||||
|
for (i = 0; !av_get_standard_channel_layout(i, &layout, &name); i++) {
|
||||||
|
if (name) {
|
||||||
|
printf("%-12s", name);
|
||||||
|
for (j = 1; j; j <<= 1)
|
||||||
|
if ((layout & j))
|
||||||
|
printf("%s%s", (layout & (j - 1)) ? "+" : "", av_get_channel_name(j));
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int show_sample_fmts(const char *opt, const char *arg)
|
int show_sample_fmts(const char *opt, const char *arg)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
@ -359,6 +359,13 @@ int show_protocols(const char *opt, const char *arg);
|
|||||||
*/
|
*/
|
||||||
int show_pix_fmts(const char *opt, const char *arg);
|
int show_pix_fmts(const char *opt, const char *arg);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Print a listing containing all the standard channel layouts supported by
|
||||||
|
* the program.
|
||||||
|
* This option processing function does not utilize the arguments.
|
||||||
|
*/
|
||||||
|
int show_layouts(const char *opt, const char *arg);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Print a listing containing all the sample formats supported by the
|
* Print a listing containing all the sample formats supported by the
|
||||||
* program.
|
* program.
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
{ "protocols" , OPT_EXIT, {.func_arg = show_protocols}, "show available protocols" },
|
{ "protocols" , OPT_EXIT, {.func_arg = show_protocols}, "show available protocols" },
|
||||||
{ "filters" , OPT_EXIT, {.func_arg = show_filters }, "show available filters" },
|
{ "filters" , OPT_EXIT, {.func_arg = show_filters }, "show available filters" },
|
||||||
{ "pix_fmts" , OPT_EXIT, {.func_arg = show_pix_fmts }, "show available pixel formats" },
|
{ "pix_fmts" , OPT_EXIT, {.func_arg = show_pix_fmts }, "show available pixel formats" },
|
||||||
|
{ "layouts" , OPT_EXIT, {.func_arg = show_layouts }, "show standard channel layouts" },
|
||||||
{ "sample_fmts", OPT_EXIT, {.func_arg = show_sample_fmts }, "show available audio sample formats" },
|
{ "sample_fmts", OPT_EXIT, {.func_arg = show_sample_fmts }, "show available audio sample formats" },
|
||||||
{ "loglevel" , HAS_ARG, {.func_arg = opt_loglevel}, "set libav* logging level", "loglevel" },
|
{ "loglevel" , HAS_ARG, {.func_arg = opt_loglevel}, "set libav* logging level", "loglevel" },
|
||||||
{ "v", HAS_ARG, {.func_arg = opt_loglevel}, "set libav* logging level", "loglevel" },
|
{ "v", HAS_ARG, {.func_arg = opt_loglevel}, "set libav* logging level", "loglevel" },
|
||||||
|
@ -119,6 +119,9 @@ Show available pixel formats.
|
|||||||
@item -sample_fmts
|
@item -sample_fmts
|
||||||
Show available sample formats.
|
Show available sample formats.
|
||||||
|
|
||||||
|
@item -layouts
|
||||||
|
Show channel names and standard channel layouts.
|
||||||
|
|
||||||
@item -loglevel @var{loglevel} | -v @var{loglevel}
|
@item -loglevel @var{loglevel} | -v @var{loglevel}
|
||||||
Set the logging level used by the library.
|
Set the logging level used by the library.
|
||||||
@var{loglevel} is a number or a string containing one of the following values:
|
@var{loglevel} is a number or a string containing one of the following values:
|
||||||
|
Reference in New Issue
Block a user