Quoting Hendrik Leppkes (2015-11-08 16:45:25)
> On Sun, Nov 8, 2015 at 3:31 PM, Anton Khirnov <[email protected]> wrote:
> > ---
> >  libavcodec/qsvenc.c | 117 
> > ++++++++++++++++++++++++++++++++++++++++++++--------
> >  libavcodec/qsvenc.h |   9 +++-
> >  2 files changed, 108 insertions(+), 18 deletions(-)
> >
> > diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c
> > index 7e5c11e..4a44b53 100644
> > --- a/libavcodec/qsvenc.c
> > +++ b/libavcodec/qsvenc.c
> > @@ -266,10 +266,81 @@ static void dump_video_param(AVCodecContext *avctx, 
> > QSVEncContext *q,
> >      }
> >  }
> >
> > -static int init_video_param(AVCodecContext *avctx, QSVEncContext *q)
> > +static int select_rc_mode(AVCodecContext *avctx, QSVEncContext *q)
> >  {
> > -    const char *ratecontrol_desc;
> > +    const char *rc_desc;
> > +    mfxU16      rc_mode;
> > +
> > +    int want_la     = q->la_depth >= 0;
> > +    int want_qscale = !!(avctx->flags & AV_CODEC_FLAG_QSCALE);
> > +    int want_vcm    = q->vcm;
> > +
> > +    if (want_la && !QSV_HAVE_LA) {
> > +        av_log(avctx, AV_LOG_ERROR,
> > +               "Lookahead ratecontrol mode requested, but is not supported 
> > by this SDK version\n");
> > +        return AVERROR(ENOSYS);
> > +    }
> > +    if (want_vcm && !QSV_HAVE_VCM) {
> > +        av_log(avctx, AV_LOG_ERROR,
> > +               "VCM ratecontrol mode requested, but is not supported by 
> > this SDK version\n");
> > +        return AVERROR(ENOSYS);
> > +    }
> 
> If you want to do these checks properly, you should also check the
> runtime library version.

I'm not sure it's worth the extra work. It will just fail later anyway.

-- 
Anton Khirnov
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to