[Libav-user] Filter initialization change in git relative to 7.0?

Andrew Randrianasulu randrianasulu at gmail.com
Wed May 14 05:04:55 EEST 2025


Even if our code compiles it does not work anymore ...

[out @ 0xe1821180] Option 'pix_fmts' is not a runtime option and so
cannot be set after the object has been initialized

        int ret = 0;  char args[BCTEXTLEN];
        AVPixelFormat pix_fmt = (AVPixelFormat)avpar->format;
        snprintf(args, sizeof(args),

"video_size=%dx%d:pix_fmt=%i:time_base=%d/%d:pixel_aspect=%d/%d",
                avpar->width, avpar->height,(int)pix_fmt,
                st->time_base.num, st->time_base.den, sa_num, sa_den);
        if( ret >= 0 ) {
                filt_ctx = 0;
                ret = insert_filter("buffer", args, "in");
                buffersrc_ctx = filt_ctx;
        }
        if( ret >= 0 )
                ret = flip(theta);
        AVFilterContext *fsrc = filt_ctx;
        if( ret >= 0 ) {
                filt_ctx = 0;
                ret = insert_filter("buffersink", 0, "out");
                buffersink_ctx = filt_ctx;
        }
        if( ret >= 0 ) {
                ret = av_opt_set_bin(buffersink_ctx, "pix_fmts",
                        (uint8_t*)&pix_fmt, sizeof(pix_fmt),
                        AV_OPT_SEARCH_CHILDREN);
        }
        if( ret >= 0 )
                ret = config_filters(filter_spec, fsrc);
        else
                ff_err(ret, "FFVideoStream::create_filter");
        return ret >= 0 ? 0 : -1;


=========

There is no video filtering example in doc/examples.

How I supposed to know what should be put there now?


More information about the Libav-user mailing list