Re: [FFmpeg-devel] [PATCH 11/11] ffmpeg_opt: make use of recommended encoder configuration
On Mon, Nov 17, 2014 at 03:04:31AM +0100, Lukasz Marek wrote: On 17.11.2014 02:46, Lukasz Marek wrote: So far ffmpeg used recommended configuration only for codec priv options. ffmpeg will use now codec defaults and then apply recommended configuration for all options. Recommended configuration possibly contains minimal set of options to filful user configuration. Signed-off-by: Lukasz Marek lukasz.m.lu...@gmail.com --- ffmpeg_opt.c | 41 - 1 file changed, 12 insertions(+), 29 deletions(-) whole patchset on my github, master branch ./configure make -j12 alltools LD tools/ffserver_config_test gcc: error: ffserver_config.o: No such file or directory gcc: error: cmdutils.o: No such file or directory make: *** [tools/ffserver_config_test] Error 1 make -j12 make -j12 alltools LD tools/ffserver_config_test libavformat/libavformat.a(swfdec.o): In function `swf_read_packet': /home/michael/ffmpeg-git/ffmpeg/libavformat/swfdec.c:335: undefined reference to `uncompress' libavformat/libavformat.a(swfdec.o): In function `swf_read_header': /home/michael/ffmpeg-git/ffmpeg/libavformat/swfdec.c:124: undefined reference to `inflateInit_' libavformat/libavformat.a(swfdec.o): In function `zlib_refill': /home/michael/ffmpeg-git/ffmpeg/libavformat/swfdec.c:92: undefined reference to `inflate' libavformat/libavformat.a(swfdec.o): In function `swf_read_close': /home/michael/ffmpeg-git/ffmpeg/libavformat/swfdec.c:502: undefined reference to `inflateEnd' ... [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Observe your enemies, for they first find out your faults. -- Antisthenes signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 11/11] ffmpeg_opt: make use of recommended encoder configuration
On 17 November 2014 15:15, Michael Niedermayer michae...@gmx.at wrote: On Mon, Nov 17, 2014 at 03:04:31AM +0100, Lukasz Marek wrote: On 17.11.2014 02:46, Lukasz Marek wrote: So far ffmpeg used recommended configuration only for codec priv options. ffmpeg will use now codec defaults and then apply recommended configuration for all options. Recommended configuration possibly contains minimal set of options to filful user configuration. Signed-off-by: Lukasz Marek lukasz.m.lu...@gmail.com --- ffmpeg_opt.c | 41 - 1 file changed, 12 insertions(+), 29 deletions(-) whole patchset on my github, master branch ./configure make -j12 alltools LD tools/ffserver_config_test gcc: error: ffserver_config.o: No such file or directory gcc: error: cmdutils.o: No such file or directory make: *** [tools/ffserver_config_test] Error 1 make -j12 make -j12 alltools LD tools/ffserver_config_test libavformat/libavformat.a(swfdec.o): In function `swf_read_packet': /home/michael/ffmpeg-git/ffmpeg/libavformat/swfdec.c:335: undefined reference to `uncompress' libavformat/libavformat.a(swfdec.o): In function `swf_read_header': /home/michael/ffmpeg-git/ffmpeg/libavformat/swfdec.c:124: undefined reference to `inflateInit_' libavformat/libavformat.a(swfdec.o): In function `zlib_refill': /home/michael/ffmpeg-git/ffmpeg/libavformat/swfdec.c:92: undefined reference to `inflate' libavformat/libavformat.a(swfdec.o): In function `swf_read_close': /home/michael/ffmpeg-git/ffmpeg/libavformat/swfdec.c:502: undefined reference to `inflateEnd' this is because of following patch, it is work in progress so I can be removed from this patches. [PATCH 06/11] [WIP][RFC]tools: add ffserver_config_test Pushed just as reference changes so far not break anything, But I would appreciate some help with it to fix Makefile, I'm not good with Makefiles. If no one helps then I will postpone this one commit. ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH 11/11] ffmpeg_opt: make use of recommended encoder configuration
So far ffmpeg used recommended configuration only for codec priv options. ffmpeg will use now codec defaults and then apply recommended configuration for all options. Recommended configuration possibly contains minimal set of options to filful user configuration. Signed-off-by: Lukasz Marek lukasz.m.lu...@gmail.com --- ffmpeg_opt.c | 41 - 1 file changed, 12 insertions(+), 29 deletions(-) diff --git a/ffmpeg_opt.c b/ffmpeg_opt.c index 85466c7..03e049b 100644 --- a/ffmpeg_opt.c +++ b/ffmpeg_opt.c @@ -1617,31 +1617,6 @@ static int copy_chapters(InputFile *ifile, OutputFile *ofile, int copy_metadata) return 0; } -static int ffserver_streams_copy_context(AVCodecContext *dest, const AVCodecContext *src, - const char *configuration) -{ -int ret; -if ((ret = avcodec_copy_context(dest, src)) 0) -return ret; -dest-codec = avcodec_find_encoder(src-codec_id); -if (!dest-codec) -return AVERROR(EINVAL); -if (!dest-codec-priv_class || !dest-codec-priv_data_size) -return 0; -if (!dest-priv_data) { -dest-priv_data = av_mallocz(dest-codec-priv_data_size); -if (!dest-priv_data) -return AVERROR(ENOMEM); -*(const AVClass**)dest-priv_data = dest-codec-priv_class; -} -av_opt_set_defaults(dest-priv_data); -if (av_set_options_string(dest-priv_data, configuration, =, ,) 0) { -av_log(dest, AV_LOG_WARNING, Cannot copy private codec options. Using defaults.\n); -av_opt_set_defaults(dest-priv_data); -} -return 0; -} - static int read_ffserver_streams(OptionsContext *o, AVFormatContext *s, const char *filename) { int i, err; @@ -1656,6 +1631,7 @@ static int read_ffserver_streams(OptionsContext *o, AVFormatContext *s, const ch AVStream *st; OutputStream *ost; AVCodec *codec; +const char *enc_config; codec = avcodec_find_encoder(ic-streams[i]-codec-codec_id); if (!codec) { @@ -1669,15 +1645,22 @@ static int read_ffserver_streams(OptionsContext *o, AVFormatContext *s, const ch ost = new_output_stream(o, s, codec-type, -1); st= ost-st; -ffserver_streams_copy_context(st-codec, ic-streams[i]-codec, - av_stream_get_recommended_encoder_configuration(ic-streams[i])); +avcodec_get_context_defaults3(st-codec, codec); +enc_config = av_stream_get_recommended_encoder_configuration(ic-streams[i]); +if (enc_config) { +AVDictionary *opts = NULL; +av_dict_parse_string(opts, enc_config, =, ,, 0); +av_opt_set_dict2(st-codec, opts, AV_OPT_SEARCH_CHILDREN); +av_dict_free(opts); +} if (st-codec-codec_type == AVMEDIA_TYPE_AUDIO !ost-stream_copy) choose_sample_fmt(st, codec); else if (st-codec-codec_type == AVMEDIA_TYPE_VIDEO !ost-stream_copy) choose_pixel_fmt(st, st-codec, codec, st-codec-pix_fmt); -ffserver_streams_copy_context(ost-enc_ctx, st-codec, - av_stream_get_recommended_encoder_configuration(ic-streams[i])); +avcodec_copy_context(ost-enc_ctx, st-codec); +if (enc_config) +av_dict_parse_string(ost-encoder_opts, enc_config, =, ,, 0); } avformat_close_input(ic); -- 1.9.1 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 11/11] ffmpeg_opt: make use of recommended encoder configuration
On 17.11.2014 02:46, Lukasz Marek wrote: So far ffmpeg used recommended configuration only for codec priv options. ffmpeg will use now codec defaults and then apply recommended configuration for all options. Recommended configuration possibly contains minimal set of options to filful user configuration. Signed-off-by: Lukasz Marek lukasz.m.lu...@gmail.com --- ffmpeg_opt.c | 41 - 1 file changed, 12 insertions(+), 29 deletions(-) whole patchset on my github, master branch ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel