[MPlayer-dev-eng] [FFmpeg-devel] [PATCH 0/20] removal of deprecated features

Roberto Togni rxt at rtogni.it
Fri Aug 14 22:06:37 CEST 2015


On Tue, 11 Aug 2015 21:00:36 -0400
compn <tempn at mi.rr.com> wrote:

> I am forwarding this mail to mplayer-dev-eng list in the hopes that
> maybe someone would like to work on updating mplayer to the new ff* api.
> 
> thanks to reimar for updating some api already and rtogni for posting a
> patch and also wm4 for suggesting checking patches from mplayer2 to
> avoid duplicating work.
> 
> -compn
> 
> 
[...]
> > A more complete usage list for the deprecated APIs is:
> > 
> > FF_API_PIX_FMT: 71
Fixed by Reimar r37443

> > amide avbin avifile bino blender chromium-browser dff dolphin-emu
> > dvbcut dvswitch ffdiaporama ffmpeg2theora ffmpegthumbnailer
> > ffmpegthumbs ffms2 fuse-emulator-utils gazebo gmerlin-avdecoder
> > gmerlin-encoders gnash gpac gst-libav1.0 guvcview harvid hedgewars
> > info-beamer jugglemaster karlyriceditor kino kodi lightspark lebiniou
> > libam7xxx libavg libde265 libextractor libquicktime linphone lives
> > lynkeos.app mlt mplayer mplayer2 mrpt opal opencv openmw
> > openscenegraph ovito paraview performous pjproject qutecom rbdoom3bfg
> > renpy shotdetect sflphone strigi survex transcode vcmi vlc vtk vtk6
> > vxl wxsvg x264 xjadeo xpra yorick-av zoneminder
> > 
> > FF_API_AVFRAME_LAVC: 53
Fixed by me r37445

> > alsa-plugins amarok aubio avbin blender chromaprint dff dolphin-emu
> > dvbcut ffdiaporama ffmpegthumbnailer ffmpegthumbs fuse-emulator-utils
> > gazebo gmerlin-avdecoder gmerlin-encoders goldendict gpac
> > gst-libav1.0 hedgewars info-beamer jugglemaster kino libavg
> > libextractor libquicktime lightspark linphone mplayer mplayer2 mrpt
> > opal opencv openscenegraph ovito paraview performous pianopar qutecom
> > renpy shotdetect spek squeezelite transcode vcmi vlc vtk vtk6 vxl
> > xine-lib-1.2 xpra yorick-av zoneminder
> > 
> > FF_API_GET_BUFFER: 9
This is the big one.
Replace with get_buffer2(), but this is not a 1:1 substitution.
reget_buffer() is gone, but we already don't use it anymore (it points
to get_buffer).
To free the buffer there is some callback to be set in get_buffer2 (as
I get from the comments in avcodec.h).

IIRC we need get buffer (instead of using the default from libavcodec)
for two things: hw decoding and direct rendering.

I had a quick look to other projects based on MPlayer: mplayer2 still
uses get_buffer, so it's no help; mpv uses get_buffer2 at least for hw
decoders, but I need to check the details.


> > avifile dvswitch gmerlin-avdecoder gst-libav1.0 libavg mplayer
> > mplayer2 openmw openscenegraph
> > 
> > FF_API_AUDIOCONVERT: 7
Not relevant for MPlayer

> > alsa-plugins cantata ffdiaporama moc mplayer2 mpv vlc
> > 
> > FF_API_SWS_CPU_CAPS: 6
Not relevant for MPlayer

> > fuse-emulator-utils kodi mlt mplayer2 vlc zoneminder
> > 
> > FF_API_DEINTERLACE: 5
Not relevant for MPlayer (lavcdeint was removed by Michael in r37388
four months ago)

> > blender dff ffmpegthumbnailer ffmpegthumbs vxl
> > 
> > FF_API_AVFRAME_LAVC(qscale): 3
Not relevant for MPlayer

> > ffmpeg2theora kodi xine-lib-1.2
> > 
> > FF_API_CODEC_ID: 3
Not relevant for MPlayer

> > chromium-browser dvswitch ffms2
> > 
> > FF_API_CONTEXT_SIZE: 3
To be checked

> > mplayer mplayer2 xine-lib-1.2
> > 
> > FF_API_REQUEST_CHANNELS: 3
Fixed by me in r37447

> > mplayer mplayer2 renpy
> > 
> > FF_API_AV_REVERSE: 2
Patch by  Andreas Cadhalpun, applied in r37448

> > mplayer mplayer2
> > 
> > FF_API_AVCODEC_RESAMPLE: 2
Patch in review

> > mlt mplayer
> > 
> > FF_API_DESTRUCT_PACKET: 2
Not relevant for MPlayer

> > lives openmw
> > 
> > FF_API_AVFILTERBUFFER: 2
Not relevant for MPlayer

> > ffdiaporama pianobar
> > 
> > FF_API_AVFILTERPAD_PUBLIC: 1
I don't think this is fixable.
From what I got at a first look, vf_lavfi creates its own source and
sink filters, and adds them to the chain. To do this it uses
AVFilterPad, os the new functions to get name and type are useless.
I don't know if this filter still works today; apart from minor details
the file is unchanged since 2011. The commit message also warned about
the beta interface of libavfilter at the time.

The filter is not built by default, so compilation and functionality of
MPlayer are unaffected.


> > mplayer
> > 
> > FF_API_VIMA_DECODER: 1
Fixed by me in r37446
> > mplayer
> > 
[...]

If you have any comment or additions please replay.


Ciao,
 Roberto


More information about the MPlayer-dev-eng mailing list