Skip to content

Commit

Permalink
unify separator to | for enum-like options - cf #2771
Browse files Browse the repository at this point in the history
  • Loading branch information
jeanlf committed Apr 10, 2024
1 parent 779b88a commit 1e44135
Show file tree
Hide file tree
Showing 13 changed files with 140 additions and 85 deletions.
17 changes: 13 additions & 4 deletions applications/gpac/gpac_help.c
Expand Up @@ -1495,7 +1495,10 @@ static void print_filter_arg(const GF_FilterArgs *a, u32 gen_doc)
gf_sys_format_help(helpout, help_flags | GF_PRINTARG_HIGHLIGHT_FIRST, "%s", a->arg_name);
gf_sys_format_help(helpout, help_flags, "</a> (%s", is_enum ? "enum" : gf_props_get_type_name(a->arg_type));
} else {
gf_sys_format_help(helpout, help_flags | GF_PRINTARG_HIGHLIGHT_FIRST, "%s (%s", a->arg_name, is_enum ? "enum" : gf_props_get_type_name(a->arg_type));
gf_sys_format_help(helpout, help_flags | GF_PRINTARG_HIGHLIGHT_FIRST, "%s (%s%s", a->arg_name,
is_enum ? "enum" : gf_props_get_type_name(a->arg_type),
(a->flags & GF_FS_ARG_META_ARRAY) ? " array" : ""
);
}
if (a->arg_default_val) {
if (!strcmp(a->arg_default_val, "2147483647"))
Expand All @@ -1508,10 +1511,11 @@ static void print_filter_arg(const GF_FilterArgs *a, u32 gen_doc)
// gf_sys_format_help(helpout, help_flags, ", no default");
}
if (a->min_max_enum && !is_enum) {
const char *min_max_type = strchr(a->min_max_enum, '|') ? "Enum" : "minmax";
if (!strcmp(a->min_max_enum, "-2147483648-I"))
gf_sys_format_help(helpout, help_flags, ", %s: -I-I", /*strchr(a->min_max_enum, '|') ? "Enum" : */"minmax");
gf_sys_format_help(helpout, help_flags, ", %s: -I-I", min_max_type);
else
gf_sys_format_help(helpout, help_flags, ", %s: %s", /*strchr(a->min_max_enum, '|') ? "Enum" : */"minmax", a->min_max_enum);
gf_sys_format_help(helpout, help_flags, ", %s: %s", min_max_type, a->min_max_enum);
}
if (a->flags & GF_FS_ARG_UPDATE) gf_sys_format_help(helpout, help_flags, ", updatable");
// if (a->flags & GF_FS_ARG_META) gf_sys_format_help(helpout, help_flags, ", meta");
Expand Down Expand Up @@ -1836,7 +1840,12 @@ static void print_filter(const GF_FilterRegister *reg, GF_SysArgMode argmode, GF

if (a->min_max_enum) {
//check format
if ((a->arg_type!=GF_PROP_UINT_LIST) && !(a->flags&GF_FS_ARG_META) && strchr(a->min_max_enum, '|') && (!a->arg_default_val || strcmp(a->arg_default_val, "-1")) ) {
if ((a->arg_type!=GF_PROP_UINT_LIST)
&& (a->arg_type<GF_PROP_FIRST_ENUM)
&& !(a->flags&GF_FS_ARG_META)
&& strchr(a->min_max_enum, '|')
&& (!a->arg_default_val || strcmp(a->arg_default_val, "-1"))
) {
const char *a_val = a->min_max_enum;
while (a_val[0] == '|') a_val++;
if (strstr(a->arg_desc, "see filter "))
Expand Down
18 changes: 18 additions & 0 deletions include/gpac/constants.h
Expand Up @@ -1001,6 +1001,24 @@ u16 gf_audio_fmt_get_dolby_chanmap(u32 cicp_layout);
\return CICP code point, or 0 if no more to enumerate*/
u32 gf_audio_fmt_cicp_enum(u32 idx, const char **short_name, u64 *ch_mask);

/*! get CICP code from name
\param name channel layout name
\return channel CICP code
*/
u32 gf_audio_fmt_get_cicp_from_name(const char *name);

/*! get CICP name from code
\param cicp_code channel cicp code
\return channel CICP name
*/
const char *gf_audio_fmt_get_cicp_name(u32 cicp_code);

/*! get all CICP layout names
\return CICP names separated with '|'
*/
const char *gf_audio_fmt_cicp_all_names();


/*! Color primaries as defined by ISO/IEC 23001-8 / 23091-2
*/
typedef enum
Expand Down
4 changes: 4 additions & 0 deletions include/gpac/filters.h
Expand Up @@ -901,6 +901,8 @@ typedef enum
GF_PROP_CICP_COL_TFC = GF_PROP_FIRST_ENUM+3,
/*! CICP Color Matrix*/
GF_PROP_CICP_COL_MX = GF_PROP_FIRST_ENUM+4,
/*! CICP Layout*/
GF_PROP_CICP_LAYOUT = GF_PROP_FIRST_ENUM+5,
/*! not allowed*/
GF_PROP_LAST_DEFINED
} GF_PropType;
Expand Down Expand Up @@ -2025,6 +2027,8 @@ typedef enum
The filter should lock itself whenever appropriate using \ref gf_filter_lock
*/
GF_FS_ARG_UPDATE_SYNC = 1<<8,
/*! internal flag used by meta filters (ffmpeg & co) to indicate the argument is an array of the indicated type*/
GF_FS_ARG_META_ARRAY = 1<<9,
} GF_FSArgumentFlags;

/*! Structure holding arguments for a filter*/
Expand Down
76 changes: 61 additions & 15 deletions share/doc/man/gpac-filters.1
Expand Up @@ -175,7 +175,19 @@ This will play the session at 2x speed, using 30s of maximum buffering, consumin
.SH Options (expert):
.LP
.br
log (str, default: stdout, minmax: fileName, stderr, stdout, GLOG or null): set probe log filename to print number of streams, GLOG uses GPAC logs app@info(default for android)
log (str, default: stdout, Enum: _any|stderr|stdout|GLOG|null): set probe log filename
.br
* _any: target file path and name
.br
* stderr: dump to stderr
.br
* stdout: dump to stdout
.br
* GLOG: use GPAC logs app@info
.br
* null: silent mode
.br

.br
mode (enum, default: pck): dump mode
.br
Expand Down Expand Up @@ -283,7 +295,19 @@ It is up to the app developer to query input PIDs of the prober and take appropr
.SH Options (expert):
.LP
.br
log (str, default: stdout, minmax: fileName, stderr, stdout GLOG or null): set probe log filename to print number of streams, GLOG uses GPAC logs app@info(default for android)
log (str, default: stdout, Enum: _any|stderr|stdout|GLOG|null): set probe log filename to print number of streams
.br
* _any: target file path and name
.br
* stderr: dump to stderr
.br
* stdout: dump to stdout
.br
* GLOG: use GPAC logs app@info
.br
* null: silent mode
.br

.br

.br
Expand Down Expand Up @@ -498,7 +522,9 @@ ach (uint, default: 0): force output channels (0 for auto)
.br
alayout (uint, default: 0): force output channel layout (0 for auto)
.br
afmt (afmt, default: s16, minmax: none,u8,s16,s16b,s24,s24b,s32,s32b,flt,fltb,dbl,dblb,u8p,s16p,s24p,s32p,fltp,dblp): force output channel format (0 for auto)
afmt (afmt, default: s16, Enum: none|u8|s16|s16b|s24|s24b|s32|s32b|flt|fltb|dbl|dblb|u8p|s16p|s24p|s32p|fltp|dblp): force output channel format (0 for auto)
.br

.br
asize (uint, default: 1024): audio output packet size in samples
.br
Expand Down Expand Up @@ -724,7 +750,9 @@ player (enum, default: no): set compositor in player mode
.br
noaudio (bool, default: false): disable audio output
.br
opfmt (pfmt, default: none, minmax: none,yuv420,yvu420,yuv420_10,yuv422,yuv422_10,yuv444,yuv444_10,uyvy,vyuy,yuyv,yvyu,uyvl,vyul,yuyl,yvyl,nv12,nv21,nv1l,nv2l,yuva,yuvd,yuv444a,yuv444p,v308,yuv444ap,v408,v410,v210,grey,algr,gral,rgb4,rgb5,rgb6,rgba,argb,bgra,abgr,rgb,bgr,xrgb,rgbx,xbgr,bgrx,rgbd,rgbds,uncv): pixel format to use for output. Ignored in .I player mode
opfmt (pfmt, default: none, Enum: none|yuv420|yvu420|yuv420_10|yuv422|yuv422_10|yuv444|yuv444_10|uyvy|vyuy|yuyv|yvyu|uyvl|vyul|yuyl|yvyl|nv12|nv21|nv1l|nv2l|yuva|yuvd|yuv444a|yuv444p|v308|yuv444ap|v408|v410|v210|grey|algr|gral|rgb4|rgb5|rgb6|rgba|argb|bgra|abgr|rgb|bgr|xrgb|rgbx|xbgr|bgrx|rgbd|rgbds|uncv): pixel format to use for output. Ignored in .I player mode
.br

.br
drv (enum, default: auto): indicate if graphics driver should be used
.br
Expand Down Expand Up @@ -1760,7 +1788,7 @@ segstore (enum, default: mem): enable file caching
.br

.br
algo (str, default: gbuf, minmax: none|grate|gbuf|bba0|bolaf|bolab|bolau|bolao|JS): adaptation algorithm to use
algo (str, default: gbuf, Enum: none|grate|gbuf|bba0|bolaf|bolab|bolau|bolao|JS): adaptation algorithm to use
.br
* none: no adaptation logic
.br
Expand Down Expand Up @@ -3587,7 +3615,7 @@ rt (enum, default: off, updatable): real-time regulation mode of input
.br

.br
saps (uintl, minmax: 0|1|2|3|4, updatable): list of SAP types (0,1,2,3,4) to forward, other packets are dropped (forwarding only sap 0 will break the decoding)
saps (uintl, Enum: 0|1|2|3|4, updatable): list of SAP types (0,1,2,3,4) to forward, other packets are dropped (forwarding only sap 0 will break the decoding)
.br

.br
Expand Down Expand Up @@ -3689,9 +3717,13 @@ The writegen filter should usually not be explicitly loaded without a source ID
.br
exporter (bool, default: false): compatibility with old exporter, displays export results
.br
pfmt (pfmt, default: none, minmax: none,yuv420,yvu420,yuv420_10,yuv422,yuv422_10,yuv444,yuv444_10,uyvy,vyuy,yuyv,yvyu,uyvl,vyul,yuyl,yvyl,nv12,nv21,nv1l,nv2l,yuva,yuvd,yuv444a,yuv444p,v308,yuv444ap,v408,v410,v210,grey,algr,gral,rgb4,rgb5,rgb6,rgba,argb,bgra,abgr,rgb,bgr,xrgb,rgbx,xbgr,bgrx,rgbd,rgbds,uncv): pixel format for raw extract. If not set, derived from extension
pfmt (pfmt, default: none, Enum: none|yuv420|yvu420|yuv420_10|yuv422|yuv422_10|yuv444|yuv444_10|uyvy|vyuy|yuyv|yvyu|uyvl|vyul|yuyl|yvyl|nv12|nv21|nv1l|nv2l|yuva|yuvd|yuv444a|yuv444p|v308|yuv444ap|v408|v410|v210|grey|algr|gral|rgb4|rgb5|rgb6|rgba|argb|bgra|abgr|rgb|bgr|xrgb|rgbx|xbgr|bgrx|rgbd|rgbds|uncv): pixel format for raw extract. If not set, derived from extension
.br
afmt (afmt, default: none, minmax: none,u8,s16,s16b,s24,s24b,s32,s32b,flt,fltb,dbl,dblb,u8p,s16p,s24p,s32p,fltp,dblp): audio format for raw extract. If not set, derived from extension

.br
afmt (afmt, default: none, Enum: none|u8|s16|s16b|s24|s24b|s32|s32b|flt|fltb|dbl|dblb|u8p|s16p|s24p|s32p|fltp|dblp): audio format for raw extract. If not set, derived from extension
.br

.br
decinfo (enum, default: auto): decoder config insert mode
.br
Expand Down Expand Up @@ -4031,7 +4063,9 @@ osr (uint, default: 0): desired sample rate of output audio (0 for auto)
.br
osfmt (afmt, default: none): desired sample format of output audio (none for auto)
.br
olayout (str, minmax: mono,stereo,3/0.0,3/1.0,3/2.0,3/2.1,5/2.1,1+1,2/1.0,2/2.0,3/3.1,3/4.1,11/11.2,5/2.1,5/5.2,5/4.1,6/5.1,6/7.1,5/6.1,7/6.1): desired CICP layout of output audio (null for auto)
olayout (alay, Enum: mono|stereo|3/0.0|3/1.0|3/2.0|3/2.1|5/2.1|1+1|2/1.0|2/2.0|3/3.1|3/4.1|11/11.2|5/2.1|5/5.2|5/4.1|6/5.1|6/7.1|5/6.1|7/6.1): desired CICP layout of output audio (null for auto)
.br

.br

.br
Expand Down Expand Up @@ -4241,7 +4275,9 @@ The filter also parses YUV4MPEG format.
.br
size (v2di, default: 0x0): source video resolution
.br
spfmt (pfmt, default: none, minmax: none,yuv420,yvu420,yuv420_10,yuv422,yuv422_10,yuv444,yuv444_10,uyvy,vyuy,yuyv,yvyu,uyvl,vyul,yuyl,yvyl,nv12,nv21,nv1l,nv2l,yuva,yuvd,yuv444a,yuv444p,v308,yuv444ap,v408,v410,v210,grey,algr,gral,rgb4,rgb5,rgb6,rgba,argb,bgra,abgr,rgb,bgr,xrgb,rgbx,xbgr,bgrx,rgbd,rgbds,uncv): source pixel format. When not set, derived from file extension
spfmt (pfmt, default: none, Enum: none|yuv420|yvu420|yuv420_10|yuv422|yuv422_10|yuv444|yuv444_10|uyvy|vyuy|yuyv|yvyu|uyvl|vyul|yuyl|yvyl|nv12|nv21|nv1l|nv2l|yuva|yuvd|yuv444a|yuv444p|v308|yuv444ap|v408|v410|v210|grey|algr|gral|rgb4|rgb5|rgb6|rgba|argb|bgra|abgr|rgb|bgr|xrgb|rgbx|xbgr|bgrx|rgbd|rgbds|uncv): source pixel format. When not set, derived from file extension
.br

.br
fps (frac, default: 25/1): number of frames per second
.br
Expand All @@ -4265,7 +4301,9 @@ This filter parses raw PCM file/data or WAVE files and outputs corresponding raw
.br
sr (uint, default: 44100): sample rate
.br
safmt (afmt, default: none, minmax: none,u8,s16,s16b,s24,s24b,s32,s32b,flt,fltb,dbl,dblb,u8p,s16p,s24p,s32p,fltp,dblp): audio format
safmt (afmt, default: none, Enum: none|u8|s16|s16b|s24|s24b|s32|s32b|flt|fltb|dbl|dblb|u8p|s16p|s24p|s32p|fltp|dblp): audio format
.br

.br
ch (uint, default: 2): number of channels
.br
Expand Down Expand Up @@ -7698,11 +7736,17 @@ The filter will work in passthrough mode for all other codecs and media types.
.SH Options (expert):
.LP
.br
cprim (cprm, default: -1, minmax: reserved0,BT709,undef,reserved3,BT470M,BT470G,SMPTE170,SMPTE240,FILM,BT2020,SMPTE428,SMPTE431,SMPTE432,EBU3213, updatable): color primaries according to ISO/IEC 23001-8 / 23091-2
cprim (cprm, default: -1, Enum: reserved0|BT709|undef|reserved3|BT470M|BT470G|SMPTE170|SMPTE240|FILM|BT2020|SMPTE428|SMPTE431|SMPTE432|EBU3213, updatable): color primaries according to ISO/IEC 23001-8 / 23091-2
.br

.br
ctfc (ctfc, default: -1, minmax: reserved0,BT709,undef,reserved3,BT470M,BT470BG,SMPTE170,SMPTE249,Linear,Log100,Log316,IEC61966,BT1361,sRGB,BT2020_10,BT2020_12,SMPTE2084,SMPTE428,STDB67, updatable): color transfer characteristics according to ISO/IEC 23001-8 / 23091-2
ctfc (ctfc, default: -1, Enum: reserved0|BT709|undef|reserved3|BT470M|BT470BG|SMPTE170|SMPTE249|Linear|Log100|Log316|IEC61966|BT1361|sRGB|BT2020_10|BT2020_12|SMPTE2084|SMPTE428|STDB67, updatable): color transfer characteristics according to ISO/IEC 23001-8 / 23091-2
.br

.br
cmx (cmxc, default: -1, minmax: GBR,BT709,undef,FCC,BT601,SMPTE170,SMPTE240,YCgCo,BT2020,BT2020cl,YDzDx, updatable): color matrix coeficients according to ISO/IEC 23001-8 / 23091-2
cmx (cmxc, default: -1, Enum: GBR|BT709|undef|FCC|BT601|SMPTE170|SMPTE240|YCgCo|BT2020|BT2020cl|YDzDx, updatable): color matrix coeficients according to ISO/IEC 23001-8 / 23091-2
.br

.br
sar (frac, default: -1/-1, updatable): aspect ratio to rewrite
.br
Expand Down Expand Up @@ -8313,7 +8357,9 @@ See FFMPEG documentation (https://ffmpeg.org/documentation.html) for more detail
.br
osize (v2di): osize of output video
.br
ofmt (pfmt, default: none, minmax: none,yuv420,yvu420,yuv420_10,yuv422,yuv422_10,yuv444,yuv444_10,uyvy,vyuy,yuyv,yvyu,uyvl,vyul,yuyl,yvyl,nv12,nv21,nv1l,nv2l,yuva,yuvd,yuv444a,yuv444p,v308,yuv444ap,v408,v410,v210,grey,algr,gral,rgb4,rgb5,rgb6,rgba,argb,bgra,abgr,rgb,bgr,xrgb,rgbx,xbgr,bgrx,rgbd,rgbds,uncv): pixel format for output video. When not set, input format is used
ofmt (pfmt, default: none, Enum: none|yuv420|yvu420|yuv420_10|yuv422|yuv422_10|yuv444|yuv444_10|uyvy|vyuy|yuyv|yvyu|uyvl|vyul|yuyl|yvyl|nv12|nv21|nv1l|nv2l|yuva|yuvd|yuv444a|yuv444p|v308|yuv444ap|v408|v410|v210|grey|algr|gral|rgb4|rgb5|rgb6|rgba|argb|bgra|abgr|rgb|bgr|xrgb|rgbx|xbgr|bgrx|rgbd|rgbds|uncv): pixel format for output video. When not set, input format is used
.br

.br
scale (enum, default: bicubic): scaling mode (see filter help) (fastbilinear|bilinear|bicubic|X|point|area|bicublin|gauss|sinc|lanzcos|spline)
.br
Expand Down
5 changes: 5 additions & 0 deletions share/doc/man/gpac.1
Expand Up @@ -2727,6 +2727,11 @@ color transfer characteristics, string or int value from ISO/IEC 23091-2
.br
color matrix coefficients, string or int value from ISO/IEC 23091-2
.br
.TP
.B alay
.br
channel layout configuration, string or int value from ISO/IEC 23091-3
.br

.br
Built-in properties for PIDs and packets listed as Name (4CC type FLAGS): description
Expand Down
39 changes: 4 additions & 35 deletions share/nodejs/src/gpac_napi.c
Expand Up @@ -4870,6 +4870,7 @@ static napi_status InitConstants(napi_env env, napi_value exports)
DEF_CONST(GF_LOG_INFO)
DEF_CONST(GF_LOG_DEBUG)

DEF_CONST(GF_PROP_FORBIDDEN)
DEF_CONST(GF_PROP_BOOL)
DEF_CONST(GF_PROP_UINT)
DEF_CONST(GF_PROP_SINT)
Expand Down Expand Up @@ -4897,12 +4898,14 @@ static napi_status InitConstants(napi_env env, napi_value exports)
DEF_CONST(GF_PROP_4CC)
DEF_CONST(GF_PROP_4CC_LIST)

DEF_CONST(GF_PROP_FIRST_ENUM)
DEF_CONST(GF_PROP_PIXFMT)
DEF_CONST(GF_PROP_PCMFMT)
DEF_CONST(GF_PROP_CICP_COL_PRIM)
DEF_CONST(GF_PROP_CICP_COL_TFC)
DEF_CONST(GF_PROP_CICP_COL_MX)

DEF_CONST(GF_PROP_CICP_LAYOUT)
DEF_CONST(GF_PROP_FIRST_ENUM)

DEF_CONST(GF_FEVT_PLAY)
DEF_CONST(GF_FEVT_SET_SPEED)
Expand Down Expand Up @@ -5251,40 +5254,6 @@ static napi_status InitConstants(napi_env env, napi_value exports)
DEF_CONST(GF_FS_FLAG_FORCE_DEFER_LINK)
DEF_CONST(GF_FS_FLAG_PREVENT_PLAY)

DEF_CONST(GF_PROP_FORBIDDEN)
DEF_CONST(GF_PROP_SINT)
DEF_CONST(GF_PROP_UINT)
DEF_CONST(GF_PROP_LSINT)
DEF_CONST(GF_PROP_LUINT)
DEF_CONST(GF_PROP_BOOL)
DEF_CONST(GF_PROP_FRACTION)
DEF_CONST(GF_PROP_FRACTION64)
DEF_CONST(GF_PROP_FLOAT)
DEF_CONST(GF_PROP_DOUBLE)
DEF_CONST(GF_PROP_VEC2I)
DEF_CONST(GF_PROP_VEC2)
DEF_CONST(GF_PROP_VEC3I)
DEF_CONST(GF_PROP_VEC4I)
DEF_CONST(GF_PROP_STRING)
DEF_CONST(GF_PROP_STRING_NO_COPY)
DEF_CONST(GF_PROP_DATA)
DEF_CONST(GF_PROP_NAME)
DEF_CONST(GF_PROP_DATA_NO_COPY)
DEF_CONST(GF_PROP_CONST_DATA)
DEF_CONST(GF_PROP_POINTER)
DEF_CONST(GF_PROP_STRING_LIST)
DEF_CONST(GF_PROP_UINT_LIST)
DEF_CONST(GF_PROP_SINT_LIST)
DEF_CONST(GF_PROP_VEC2I_LIST)
DEF_CONST(GF_PROP_4CC)
DEF_CONST(GF_PROP_4CC_LIST)
DEF_CONST(GF_PROP_FIRST_ENUM)
DEF_CONST(GF_PROP_PIXFMT)
DEF_CONST(GF_PROP_PCMFMT)
DEF_CONST(GF_PROP_CICP_COL_PRIM)
DEF_CONST(GF_PROP_CICP_COL_TFC)
DEF_CONST(GF_PROP_CICP_COL_MX)

DEF_CONST(GF_FS_ARG_HINT_NORMAL)
DEF_CONST(GF_FS_ARG_HINT_ADVANCED)
DEF_CONST(GF_FS_ARG_HINT_EXPERT)
Expand Down
3 changes: 3 additions & 0 deletions share/python/libgpac/libgpac.py
Expand Up @@ -1223,6 +1223,9 @@ def __init__(self, max_units, nb_pck, max_dur, dur, is_final_flush):
##\hideinitializer
#see \ref GF_PROP_CICP_COL_MX
GF_PROP_CICP_COL_MX=GF_PROP_FIRST_ENUM+4
##\hideinitializer
#see \ref GF_PROP_CICP_LAYOUT
GF_PROP_CICP_LAYOUT=GF_PROP_FIRST_ENUM+5

##\hideinitializer
#see GF_FEVT_PLAY
Expand Down
6 changes: 4 additions & 2 deletions src/filter_core/filter_props.c
Expand Up @@ -43,7 +43,8 @@ static struct {
{GF_PROP_PCMFMT, (cst_parse_proto) gf_audio_fmt_parse, (cst_name_proto) gf_audio_fmt_name, gf_audio_fmt_all_names},
{GF_PROP_CICP_COL_PRIM, gf_cicp_parse_color_primaries, gf_cicp_color_primaries_name, gf_cicp_color_primaries_all_names},
{GF_PROP_CICP_COL_TFC, gf_cicp_parse_color_transfer, gf_cicp_color_transfer_name, gf_cicp_color_transfer_all_names},
{GF_PROP_CICP_COL_MX, gf_cicp_parse_color_matrix, gf_cicp_color_matrix_name, gf_cicp_color_matrix_all_names}
{GF_PROP_CICP_COL_MX, gf_cicp_parse_color_matrix, gf_cicp_color_matrix_name, gf_cicp_color_matrix_all_names},
{GF_PROP_CICP_LAYOUT, gf_audio_fmt_get_cicp_from_name, gf_audio_fmt_get_cicp_name, gf_audio_fmt_cicp_all_names}
};

GF_EXPORT
Expand Down Expand Up @@ -1367,7 +1368,8 @@ GF_PropTypeDef PropTypes[] =
{GF_PROP_PCMFMT, "afmt", "raw audio format"},
{GF_PROP_CICP_COL_PRIM, "cprm", "color primaries, string or int value from ISO/IEC 23091-2"},
{GF_PROP_CICP_COL_TFC, "ctfc", "color transfer characteristics, string or int value from ISO/IEC 23091-2"},
{GF_PROP_CICP_COL_MX, "cmxc", "color matrix coefficients, string or int value from ISO/IEC 23091-2"}
{GF_PROP_CICP_COL_MX, "cmxc", "color matrix coefficients, string or int value from ISO/IEC 23091-2"},
{GF_PROP_CICP_LAYOUT, "alay", "channel layout configuration, string or int value from ISO/IEC 23091-3"}
};

GF_EXPORT
Expand Down
8 changes: 5 additions & 3 deletions src/filters/ff_common.c
Expand Up @@ -800,13 +800,15 @@ GF_FilterArgs ffmpeg_arg_translate(const struct AVOption *opt)
arg.arg_desc = opt->help;
arg.offset_in_private=-1;
arg.flags = GF_FS_ARG_META;
if (opt->name[0] == 0)
arg.flags = GF_FS_ARG_META;

if (!(opt->flags & AV_OPT_FLAG_READONLY))
arg.flags |= GF_FS_ARG_UPDATE;

switch (opt->type) {
u32 type = opt->type & ~AV_OPT_TYPE_FLAG_ARRAY;
if (opt->type & AV_OPT_TYPE_FLAG_ARRAY)
arg.flags |= GF_FS_ARG_META_ARRAY;

switch (type) {
case AV_OPT_TYPE_INT64:
case AV_OPT_TYPE_INT:
#ifdef FFMPEG_OLD_CHLAYOUT
Expand Down

0 comments on commit 1e44135

Please sign in to comment.