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

Michael Niedermayer michaelni
Tue Nov 2 02:23:45 CET 2010


On Tue, Nov 02, 2010 at 02:00:24AM +0100, Stefano Sabatini wrote:
> 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...

I think someone who has a bit more experience with importing parts of projects
into others should try this


> 
> 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...

no, including the whole mplayer tree is not an option

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Asymptotically faster algorithms should always be preferred if you have
asymptotical amounts of data
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20101102/4642b6cc/attachment.pgp>



More information about the ffmpeg-devel mailing list