[FFmpeg-devel] [PATCH] avformat: add vapoursynth wrapper
michael at niedermayer.cc
Sat May 5 03:19:31 EEST 2018
On Fri, May 04, 2018 at 02:02:02PM -0300, James Almer wrote:
> On 5/4/2018 1:51 PM, wm4 wrote:
> > On Fri, 4 May 2018 13:30:38 -0300
> > James Almer <jamrial at gmail.com> wrote:
> >> On 5/4/2018 12:58 PM, wm4 wrote:
> >>> On Sat, 28 Apr 2018 19:05:29 +0200
> >>> wm4 <nfxjfg at googlemail.com> wrote:
> >>>> This can "demux" .vpy files.
> >>>> Some minor code copied from other LGPL parts of FFmpeg.
> >>>> I did not found a good way to test a few of the more obscure features,
> >>>> like VFR nodes, compat pixel formats, or nodes with dynamic size/format
> >>>> changes. These can be easily implemented on demand.
> >>>> ---
> >>>> configure | 5 +
> >>>> libavformat/Makefile | 1 +
> >>>> libavformat/allformats.c | 1 +
> >>>> libavformat/vapoursynth.c | 421 ++++++++++++++++++++++++++++++++++++++++++++++
> >>>> 4 files changed, 428 insertions(+)
> >>>> create mode 100644 libavformat/vapoursynth.c
> >>> Pushed, with some minor changes, and zero-copy frame passing.
> >> The first step to fix something (in this case, usage sizeof(AVFrame)
> >> outside libavutil) is not adding even more cases of the issue in question.
> >> You still can replace this with rawvideo. Someone even already wrote it
> >> for you.
> >> Lets try to abide our own ABI rules...
> > That's requires a frame copy and is not what I went through all the
> > effort for.
> > Why didn't you say anything when the kmsgrab code did the same thing?
> > Or when the unwrapped frame stuff was added in the first place?
> I did the other day on IRC when you asked me why i was against this, if
> you recall, because it was then when i found out this has been the case
> for a long while, and why I'm now saying adding even more cases is going
> in the opposite direction of an actual solution.
> In any case, i explicitly didn't block this, and no one else seems to
> care, so whatever.
I just now realized this, no, use of sizeof(AVFrame) outside libavutil is not ok,
thats a ABI/API breakage.
This must be removed/reverted. In all cases that are relevant.
(there can be exceptions if they are irrelevant to API/ABI compatibility)
For example the "if (pkt->size < sizeof(AVFrame))" in libavcodec/wrapped_avframe.c
should be ok
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
I do not agree with what you have to say, but I'll defend to the death your
right to say it. -- Voltaire
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 181 bytes
Desc: not available
More information about the ffmpeg-devel