[FFmpeg-devel] [PATCH] Native VP9 decoder.

Ronald S. Bultje rsbultje at gmail.com
Thu Oct 3 15:58:11 CEST 2013


Hi,

On Thu, Oct 3, 2013 at 9:43 AM, Michael Niedermayer <michaelni at gmx.at>wrote:

> On Wed, Oct 02, 2013 at 09:03:52PM -0400, Ronald S. Bultje wrote:
> > Hi,
> >
> > On Wed, Oct 2, 2013 at 9:47 AM, Michael Niedermayer <michaelni at gmx.at
> >wrote:
> >
> > > On Wed, Oct 02, 2013 at 07:37:44AM -0400, Ronald S. Bultje wrote:
> > > > Hi,
> > > >
> > > > On Wed, Oct 2, 2013 at 6:53 AM, Michael Niedermayer <
> michaelni at gmx.at
> > > >wrote:
> > > >
> > > > > On Tue, Oct 01, 2013 at 08:36:39PM -0400, Ronald S. Bultje wrote:
> > > > > > Hi,
> > > > > >
> > > > > > On Tue, Oct 1, 2013 at 2:31 PM, Michael Niedermayer <
> > > michaelni at gmx.at
> > > > > >wrote:
> > > > > >
> > > > > > > On Mon, Sep 30, 2013 at 11:03:17PM -0400, Ronald S. Bultje
> wrote:
> > > > > > > > Hi,
> > > > > > > >
> > > > > > > > On Mon, Sep 30, 2013 at 8:15 AM, Derek Buitenhuis <
> > > > > > > > derek.buitenhuis at gmail.com> wrote:
> > > > > > > [...]
> > > > > > >
> > > > > > > > > > +static int vp9_decode_packet(AVCodecContext *avctx, void
> > > > > *out_pic,
> > > > > > > > > > +                             int *got_frame, AVPacket
> > > *avpkt)
> > > > > > > > > > +{
> > > > > > > > >
> > > > > > > > > [...]
> > > > > > > > >
> > > > > > > > > > +    // read superframe index - this is a collection of
> > > > > individual
> > > > > > > > > frames that
> > > > > > > > > > +    // together lead to one visible frame
> > > > > > > > > > +    if (size <= 0)
> > > > > > > > > > +        return AVERROR_INVALIDDATA;
> > > > > > > > >
> > > > > > > > > Is it not guaranteed to have a non-zero packet?
> > > > > > > > >
> > > > > > > >
> > > > > > > > Not sure, Michael?
> > > > > > >
> > > > > > > without CODEC_CAP_DELAY 0 sized packets are currently not
> passed to
> > > > > > > the decoder.
> > > > > > > I dont know if that will always be true in the future
> > > > > > >
> > > > > >
> > > > > > OK changed locally into an av_assert1. I'll push to my github
> > > repository,
> > > > > > no need for a new patch on NL at this point I think.
> > > > >
> > > > > did you forget to "git add" some files ?
> > > > >
> > > > >
> > > > > TEST    vp9-emu-edge-00-quantizer-07
> > > > > reference file './tests/ref/fate/vp9-segmentation-akiyo' not found
> > > > > ./tests/fate-run.sh: 242: ./tests/fate-run.sh: cannot open
> > > > > tests/data/fate/vp9-segmentation-akiyo.diff: No such file
> > > > > Test vp9-segmentation-akiyo failed. Look at
> > > > > tests/data/fate/vp9-segmentation-akiyo.err for details.
> > > > > make: *** [fate-vp9-segmentation-akiyo] Error 1
> > > > >
> > > > > reference file './tests/ref/fate/vp9-tiling-pedestrian' not found
> > > > > ./tests/fate-run.sh: 242: ./tests/fate-run.sh: cannot open
> > > > > tests/data/fate/vp9-tiling-pedestrian.diff: No such file
> > > > > Test vp9-tiling-pedestrian failed. Look at
> > > > > tests/data/fate/vp9-tiling-pedestrian.err for details.
> > > > > make: *** [fate-vp9-tiling-pedestrian] Error 1
> > > > >
> > > > > reference file './tests/ref/fate/vp9-segmentation-akiyo' not found
> > > > > ./tests/fate-run.sh: 242: ./tests/fate-run.sh: cannot open
> > > > > tests/data/fate/vp9-emu-edge-segmentation-akiyo.diff: No such file
> > > > > Test vp9-emu-edge-segmentation-akiyo failed. Look at
> > > > > tests/data/fate/vp9-emu-edge-segmentation-akiyo.err for details.
> > > > > make: *** [fate-vp9-emu-edge-segmentation-akiyo] Error 1
> > > > >
> > > > > reference file './tests/ref/fate/vp9-tiling-pedestrian' not found
> > > > > ./tests/fate-run.sh: 242: ./tests/fate-run.sh: cannot open
> > > > > tests/data/fate/vp9-emu-edge-tiling-pedestrian.diff: No such file
> > > > > Test vp9-emu-edge-tiling-pedestrian failed. Look at
> > > > > tests/data/fate/vp9-emu-edge-tiling-pedestrian.err for details.
> > > > > make: *** [fate-vp9-emu-edge-tiling-pedestrian] Error 1
> > > > >
> > > >
> > > > Right, fixed on github (master branch), you should be able to
> > > > re-cherry-pick from there.
> > >
> > > mips-qemu:
> > > --- /home/michael/ffmpeg-git/ffmpeg/tests/ref/fate/vp9-00-quantizer-00
> > >  2013-10-02 15:16:52.215465912 +0200
> > > +++ tests/data/fate/vp9-00-quantizer-00 2013-10-02 15:33:38.987487122
> +0200
> > > @@ -1,3 +1,2 @@
> > >  #tb 0: 1001/30000
> > >  0,          0,          0,        1,   152064,
> > > c3fbb7abbdb5bd4ed4a7e34768c17df1
> > > -0,          1,          1,        1,   152064,
> > > 08203c2595bdb2d58ead6f921345d699
> > > Test vp9-00-quantizer-00 failed. Look at
> > > tests/data/fate/vp9-00-quantizer-00.err for details.
> > > make: *** [fate-vp9-00-quantizer-00] Error 139
> > > make: *** Waiting for unfinished jobs....
> > > --- /home/michael/ffmpeg-git/ffmpeg/tests/ref/fate/vp9-00-quantizer-01
> > >  2013-10-02 15:16:52.215465912 +0200
> > > +++ tests/data/fate/vp9-00-quantizer-01 2013-10-02 15:33:39.063487124
> +0200
> > > @@ -1,3 +1,2 @@
> > >  #tb 0: 1001/30000
> > >  0,          0,          0,        1,   152064,
> > > f041b870cf9236d5f22e2b08a77d5958
> > > -0,          1,          1,        1,   152064,
> > > cbdb7526986ae15592891488c9afc84c
> > > Test vp9-00-quantizer-01 failed. Look at
> > > tests/data/fate/vp9-00-quantizer-01.err for details.
> > > make: *** [fate-vp9-00-quantizer-01] Error 139
> > > --- /home/michael/ffmpeg-git/ffmpeg/tests/ref/fate/vp9-00-quantizer-03
> > >  2013-10-02 15:16:52.215465912 +0200
> > > +++ tests/data/fate/vp9-00-quantizer-03 2013-10-02 15:33:39.179487126
> +0200
> > > @@ -1,3 +1,2 @@
> > >  #tb 0: 1001/30000
> > >  0,          0,          0,        1,   152064,
> > > 15c548208f5eda243a151a42f4d64855
> > > -0,          1,          1,        1,   152064,
> > > e96d463dc8e9b27b1c2ec40f77eee6ef
> > > Test vp9-00-quantizer-03 failed. Look at
> > > tests/data/fate/vp9-00-quantizer-03.err for details.
> > > make: *** [fate-vp9-00-quantizer-03] Error 139
> > > --- /home/michael/ffmpeg-git/ffmpeg/tests/ref/fate/vp9-00-quantizer-02
> > >  2013-10-02 15:16:52.215465912 +0200
> > > +++ tests/data/fate/vp9-00-quantizer-02 2013-10-02 15:33:39.175487126
> +0200
> > > @@ -1,3 +1,2 @@
> > >  #tb 0: 1001/30000
> > >  0,          0,          0,        1,   152064,
> > > 98048cfdb4af5059f4085c5acc94ef8f
> > > -0,          1,          1,        1,   152064,
> > > 8160183e1eed1d0af4427be216b8b9f7
> > > Test vp9-00-quantizer-02 failed. Look at
> > > tests/data/fate/vp9-00-quantizer-02.err for details.
> > > make: *** [fate-vp9-00-quantizer-02] Error 139
> > > --- /home/michael/ffmpeg-git/ffmpeg/tests/ref/fate/vp9-00-quantizer-05
> > >  2013-10-02 15:16:52.215465912 +0200
> > > +++ tests/data/fate/vp9-00-quantizer-05 2013-10-02 15:33:39.287487129
> +0200
> > > @@ -1,3 +1,2 @@
> > >  #tb 0: 1001/30000
> > >  0,          0,          0,        1,   152064,
> > > 082460718b7d7046c8fb23184b7f71ca
> > > -0,          1,          1,        1,   152064,
> > > 4a41aad51c40a92df72333e13f47d3fe
> > > Test vp9-00-quantizer-05 failed. Look at
> > > tests/data/fate/vp9-00-quantizer-05.err for details.
> > > make: *** [fate-vp9-00-quantizer-05] Error 139
> > > --- /home/michael/ffmpeg-git/ffmpeg/tests/ref/fate/vp9-00-quantizer-04
> > >  2013-10-02 15:16:52.215465912 +0200
> > > +++ tests/data/fate/vp9-00-quantizer-04 2013-10-02 15:33:39.315487129
> +0200
> > > @@ -1,3 +1,2 @@
> > >  #tb 0: 1001/30000
> > >  0,          0,          0,        1,   152064,
> > > 928c64a0747ac57ab50c1520d694fea7
> > > -0,          1,          1,        1,   152064,
> > > a6f6daa293231e95ef30ed168f582c84
> > > Test vp9-00-quantizer-04 failed. Look at
> > > tests/data/fate/vp9-00-quantizer-04.err for details.
> > > make: *** [fate-vp9-00-quantizer-04] Error 139
> > >
> > > similar on arm-qemu
> > >
> >
> > And ppc - fixed in new patch on github.
>
> merged
>

Hm oh you merged the simd also, that wasn't exactly ready yet... I'll
probably rewrite that several times in future patches before I'm happy with
it.

Ronald


More information about the ffmpeg-devel mailing list