On 22 April 2017 at 21:09, Matt Oliver <protogo...@gmail.com> wrote: > Currently the find_things configure function will scan a code file (e.g. > allfilters.c) and then create a list of pre-processor values to be added > to configure. > Unfortunately the way it currently does it is incorrect with what the > original c code expects. For example the following exists in > allfilters.c: > REGISTER_FILTER(FREI0R, frei0r_src, vsrc); > > where REGISTER_FILTER is defined as: > #define REGISTER_FILTER(X, x, y) > { > extern AVFilter ff_##y##_##x; > if (CONFIG_##X##_FILTER) > avfilter_register(&ff_##y##_##x); > } > > In c code this will check a configuration pre-processor define called > CONFIG_FREI0R_FILTER and then register the filter if currently set. > > The issue arises in that configure currently looks for REGISTER_FILTER > but when found it will use the second parameter in the macro to create > the configuration option. So it will actually return that the > pre-processor define is CONFIG_FREI0R_SRC_FILTER and not > CONFIG_FREI0R_FILTER as the source code actually expects. > > This patch changes the behaviour to match what the c code expects by > using the first parameter in the macro to create configure values. Since > the first parameter is in upper case it needs to be converted to lower > case to be usable within configure (this may be why currently the > incorrect - although lower case 2nd parameter is currently used). > --- > configure | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/configure b/configure > index e6fe05a6ee..346dbc660b 100755 > --- a/configure > +++ b/configure > @@ -3366,7 +3366,7 @@ find_things(){ > thing=$1 > pattern=$2 > file=$source_path/$3 > - sed -n "s/^[^#]*$pattern.*([^,]*, *\([^,]*\)\(,.*\)*).*/\1_$thing/p" > "$file" > + sed -n "s/^[^#]*$pattern.*(\([^,]*\), *\([^,]*\)\(,.*\)*).*/\1_$thing/p" > "$file" | tr '[:upper:]' '[:lower:]' > } > > ENCODER_LIST=$(find_things encoder ENC libavcodec/allcodecs.c) > -- > 2.11.0.windows.3 >
Currently there are also some differences in what the makefiles expect for the few options that have different values for the first and second macro parameters. I can change these but i just wanted to get feedback as to whether this is considered correct first. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel