[FFmpeg-devel] [RFC] libmpcodecs libavfilter wrapper?

Stefano Sabatini stefano.sabatini-lala
Tue Nov 2 02:00:24 CET 2010


On date Monday 2010-11-01 12:45:29 +0100, Michael Niedermayer encoded:
> On Sun, Oct 31, 2010 at 09:39:27PM -0400, Ronald S. Bultje wrote:
> > Hi,
> > 
> > On Sun, Oct 31, 2010 at 9:23 PM, Stefano Sabatini
> > <stefano.sabatini-lala at poste.it> wrote:
> > > since libmpcodecs is not even a library the only way I see to
> > > "integrate" it into FFmpeg would be to import the libmpcodecs code and
> > > wrap it around some filter. E.g. we may have a libavfilter/libmpcodecs
> > > dir and a vf_libmpcodecs.c filter.
> > 
> > Which mpcodecs don't exist in avcodec yet? (DLLs don't count.)
> 
> filters:
> 
> avfilter has:
[...]

> libmpcodec has:
> libmpcodecs/vf_1bpp.c
> libmpcodecs/vf_2xsai.c
> libmpcodecs/vf_ass.c
> libmpcodecs/vf_blackframe.c
> libmpcodecs/vf_bmovl.c
> libmpcodecs/vf_boxblur.c
> libmpcodecs/vf_crop.c
> libmpcodecs/vf_cropdetect.c
> libmpcodecs/vf_decimate.c
> libmpcodecs/vf_delogo.c
> libmpcodecs/vf_denoise3d.c
> libmpcodecs/vf_detc.c
> libmpcodecs/vf_dint.c
> libmpcodecs/vf_divtc.c
> libmpcodecs/vf_down3dright.c
> libmpcodecs/vf_dsize.c
> libmpcodecs/vf_dvbscale.c
> libmpcodecs/vf_eq2.c
> libmpcodecs/vf_eq.c
> libmpcodecs/vf_expand.c
> libmpcodecs/vf_field.c
> libmpcodecs/vf_fil.c
> libmpcodecs/vf_filmdint.c
> libmpcodecs/vf_fixpts.c
> libmpcodecs/vf_flip.c
> libmpcodecs/vf_format.c
> libmpcodecs/vf_framestep.c
> libmpcodecs/vf_fspp.c
> libmpcodecs/vf_geq.c
> libmpcodecs/vf_gradfun.c
> libmpcodecs/vf_halfpack.c
> libmpcodecs/vf_harddup.c
> libmpcodecs/vf_hqdn3d.c
> libmpcodecs/vf_hue.c
> libmpcodecs/vf_il.c
> libmpcodecs/vf_ilpack.c
> libmpcodecs/vf_ivtc.c
> libmpcodecs/vf_kerndeint.c
> libmpcodecs/vf_lavc.c
> libmpcodecs/vf_lavcdeint.c
> libmpcodecs/vf_mcdeint.c
> libmpcodecs/vf_mirror.c
> libmpcodecs/vf_noformat.c
> libmpcodecs/vf_noise.c
> libmpcodecs/vf_ow.c
> libmpcodecs/vf_palette.c
> libmpcodecs/vf_perspective.c
> libmpcodecs/vf_phase.c
> libmpcodecs/vf_pp7.c
> libmpcodecs/vf_pp.c
> libmpcodecs/vf_pullup.c
> libmpcodecs/vf_qp.c
> libmpcodecs/vf_rectangle.c
> libmpcodecs/vf_remove_logo.c
> libmpcodecs/vf_rgbtest.c
> libmpcodecs/vf_rotate.c
> libmpcodecs/vf_sab.c
> libmpcodecs/vf_scale.c
> libmpcodecs/vf_screenshot.c
> libmpcodecs/vf_smartblur.c
> libmpcodecs/vf_softpulldown.c
> libmpcodecs/vf_softskip.c
> libmpcodecs/vf_spp.c
> libmpcodecs/vf_swapuv.c
> libmpcodecs/vf_telecine.c
> libmpcodecs/vf_test.c
> libmpcodecs/vf_tfields.c
> libmpcodecs/vf_tile.c
> libmpcodecs/vf_tinterlace.c
> libmpcodecs/vf_unsharp.c
> libmpcodecs/vf_uspp.c
> libmpcodecs/vf_vo.c
> libmpcodecs/vf_yadif.c
> libmpcodecs/vf_yuvcsp.c
> libmpcodecs/vf_yvu9.c
> libmpcodecs/vf_zrmjpeg.c

The problem with libmpcodecs is that it isn't a library, and was never
meant to be usable from outside MPlayer, so trying to integrate it
into FFmpeg is a nightmare. Indeed the only way is to copy the files
to FFmpeg and all the dependencies (vf.h, mp_msg.h, help_mp.h,
m_option.h, m_struct.h, img_format.h, mp_image.h, mpc_info.h, vfcap.h
etc) and somehow patch it to the build system...  and yet I have no
idea how I can map the MPlayer log system to that of FFmpeg and looks
more that I can withstand...

The best chance seems to directly import the MPlayer tree into FFmpeg,
but since MPlayer already includes FFmpeg will end up with a
regression ad infinitum...
-- 
FFmpeg = Frightening Faithless Minimalistic Portable Extreme Gadget



More information about the ffmpeg-devel mailing list