[MPlayer-dev-eng] [PATCH] Support ffmpeg per-codec avoptions

Philip Langdale philipl at overt.org
Sun Apr 24 02:34:20 CEST 2011


On Thu, 21 Apr 2011 19:40:55 +0200
Reimar Döffinger <Reimar.Doeffinger at gmx.de> wrote:

> On Wed, Apr 20, 2011 at 03:47:54PM -0700, Philip Langdale wrote:
> > Currently, mplayer does not expose ffmpeg per-codec
> > avoptions, which is unfortunate, but not terribly hard
> > to fix.
> > 
> > This extends the existing "-lavdopts o=foo" mechanism
> > to compare foo with the per-codec options.
> 
> If it works that should be ok.
> 
> > @@ -344,7 +345,9 @@ static int init(sh_video_t *sh){
> >      avctx->skip_frame = str2AVDiscard(lavc_param_skip_frame_str);
> >  
> >      if(lavc_avopt){
> > -        if(parse_avopts(avctx, lavc_avopt) < 0){
> > +        if (parse_avopts(avctx, lavc_avopt) < 0 &&
> > +            (!lavc_codec->priv_class || !avctx->priv_data ||
> > +              parse_avopts(avctx->priv_data, lavc_avopt) < 0)) {
> 
> Wouldn't it be possible and nicer to change parse_avopts so you don't
> need thw two extra NULL checks? I have no idea, I was just thinking.

It would be a little awkward. You'd have to pass the lavc_codec in
as a separate argument (can't set the codec in on your own -
avcodec_open has to do it) and then give parse_avopts knowledge of
the types - right now it takes a void*.

--phil


More information about the MPlayer-dev-eng mailing list