[FFmpeg-devel] [PATCH] vp9: add superframe merging bitstream filter.
Michael Niedermayer
michael at niedermayer.cc
Sat Feb 20 00:47:00 CET 2016
On Fri, Feb 19, 2016 at 04:28:44PM -0500, Ronald S. Bultje wrote:
> Hi,
>
> On Fri, Feb 19, 2016 at 3:48 PM, Michael Niedermayer <michael at niedermayer.cc
> > wrote:
>
> > On Fri, Feb 19, 2016 at 02:43:48PM -0500, Ronald S. Bultje wrote:
> > > Fixes ticket 4313.
> > > ---
> > > ffmpeg.c | 3 +
> > > libavcodec/Makefile | 1 +
> > > libavcodec/allcodecs.c | 1 +
> > > libavcodec/vp9_superframe_bsf.c | 189
> > ++++++++++++++++++++++++++++++++++++++++
> > > libavformat/ivfenc.c | 13 +++
> > > libavformat/matroskaenc.c | 5 +-
> > > libavformat/mux.c | 24 ++---
> > > libavformat/utils.c | 5 ++
> > > 8 files changed, 229 insertions(+), 12 deletions(-)
> > > create mode 100644 libavcodec/vp9_superframe_bsf.c
> >
> > breaks fate
> >
> > acodec-flac-exact-rice
> > TEST acodec-g723_1
> > TEST acodec-ra144
> > --- ./tests/ref/acodec/flac 2016-02-17 05:18:12.137817721 +0100
> > +++ tests/data/fate/acodec-flac 2016-02-19 21:47:18.898708417 +0100
> > @@ -1,4 +1,4 @@
> > -151eef9097f944726968bec48649f00a *tests/data/fate/acodec-flac.flac
> > +451ae98137ad04bf6c16c9fc6a862012 *tests/data/fate/acodec-flac.flac
> > 361582 tests/data/fate/acodec-flac.flac
> > 95e54b261530a1bcf6de6fe3b21dc5f6 *tests/data/fate/acodec-flac.out.wav
> > stddev: 0.00 PSNR:999.99 MAXDIFF: 0 bytes: 1058400/ 1058400
> > Test acodec-flac failed. Look at tests/data/fate/acodec-flac.err for
> > details.
> > make: *** [fate-acodec-flac] Error 1
> > make: *** Waiting for unfinished jobs....
> > --- ./tests/ref/acodec/flac-exact-rice 2016-02-19 02:07:54.745217610 +0100
> > +++ tests/data/fate/acodec-flac-exact-rice 2016-02-19
> > 21:47:18.934708417 +0100
> > @@ -1,4 +1,4 @@
> > -aab144de213ae684ca008a3e0afe5e28
> > *tests/data/fate/acodec-flac-exact-rice.flac
> > +14f0ff901a80f1c27989187f981277f4
> > *tests/data/fate/acodec-flac-exact-rice.flac
> > 360454 tests/data/fate/acodec-flac-exact-rice.flac
> > 95e54b261530a1bcf6de6fe3b21dc5f6
> > *tests/data/fate/acodec-flac-exact-rice.out.wav
> > stddev: 0.00 PSNR:999.99 MAXDIFF: 0 bytes: 1058400/ 1058400
>
>
> Hm, OK, so flac abuses empty packets for extradata updates in raw flac as
> container. So I guess I need some novel way to signal "skip this packet" in
> bsfs. Any suggestions? I can come up with something else that's random and
> probably slightly hackish but if you have nicer ideas I can work towards
> that also.
Using the return code could work
checking size and side_data to be 0 could still skip packets which
arent intended to be skiped, this may or may not be a problem in
practice, it fixes the flac issue though
using AVPacket.flags should work but its not directly accessible
from the filter itself without some extension/changes
other hacks like data==NULL && return indicating realllocation
...
could be tried too
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
No great genius has ever existed without some touch of madness. -- Aristotle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20160220/d8e85b46/attachment.sig>
More information about the ffmpeg-devel
mailing list