[FFmpeg-devel] [PATCH] avcodec/x86: add an 8-bit simple IDCT function based on the x86-64 high depth functions

Michael Niedermayer michael at niedermayer.cc
Fri Jun 16 15:24:47 EEST 2017


On Fri, Jun 16, 2017 at 12:09:27PM +0200, James Darnley wrote:
> On 2017-06-16 03:58, Michael Niedermayer wrote:
> > On Thu, Jun 15, 2017 at 05:08:33PM +0200, James Darnley wrote:
> >> Includes add/put functions
> >>
> >> Rounding contributed by Ronald S. Bultje
> >> ---
> >> I must be stupid.  I dropped the stack space change somewhere.
> >>
> >>  libavcodec/tests/x86/dct.c       |  2 +
> >>  libavcodec/x86/idctdsp_init.c    | 23 ++++++++++
> >>  libavcodec/x86/simple_idct.h     |  9 ++++
> >>  libavcodec/x86/simple_idct10.asm | 94 ++++++++++++++++++++++++++++++++++++++++
> >>  4 files changed, 128 insertions(+)
> > 
> > theres something wrong with this
> > it totally breaks this:
> > make -j12 ffmpeg && ./ffmpeg -ss 1 -i cache:matrixbench_mpeg2.mpg -t 2 -y test.avi
> > ./ffplay test.avi
> > 
> > (totally as in bitstream errors not some idct artifacts)
> 
> How did you manage to break it that much?  I don't touch avformat.  I
> don't touch the rest of the decoder.
> 
> I don't have that file to test with and the cut down version which I
> think is in fate is only 0.96 seconds long.  However trying your command
> on that file successfully decodes 1 frame from it.  I made decoding it
> with the new functions the fate test I added.  All the other fate
> samples in mpeg2/ decode seemingly fine with no extra messages.

i retested and it does fail with this patch.

looking at the code changing the perm_type alone is enough to trigger
it.
see dct_quantize() in libavcodec/x86/mpegvideoenc_template.c
it seems this lacks support for TRANSPOSE

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

Let us carefully observe those good qualities wherein our enemies excel us
and endeavor to excel them, by avoiding what is faulty, and imitating what
is excellent in them. -- Plutarch
-------------- 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/20170616/073947c5/attachment.sig>


More information about the ffmpeg-devel mailing list