[FFmpeg-devel] [PATCH] speedhq: fix decoding artifacts

Michael Niedermayer michael at niedermayer.cc
Tue Feb 21 01:43:00 EET 2017


On Sat, Feb 18, 2017 at 08:37:26PM +0100, Paul B Mahol wrote:
> On 2/18/17, Steinar H. Gunderson <steinar+ffmpeg at gunderson.no> wrote:
> > The quantization table is stored in the natural order, but when we
> > access it, we use an index that's in zigzag order, causing us to read
> > the wrong value. This causes artifacts, especially in areas with
> > horizontal or vertical edges. The artifacts look a lot like the
> > DCT ringing artifacts you'd expect to see from a low-bitrate file,
> > but when comparing to NewTek's own decoder, it's obvious they're not
> > supposed to be there.
> >
> > Fix by simply storing the scaled quantization table in zigzag order.
> > Performance is unchanged.
> > ---
> >  libavcodec/speedhq.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/libavcodec/speedhq.c b/libavcodec/speedhq.c
> > index 45ee37a4e6..60efb0222b 100644
> > --- a/libavcodec/speedhq.c
> > +++ b/libavcodec/speedhq.c
> > @@ -409,7 +409,7 @@ static int decode_speedhq_field(const SHQContext *s,
> > const uint8_t *buf, int buf
> >  static void compute_quant_matrix(int *output, int qscale)
> >  {
> >      int i;
> > -    for (i = 0; i < 64; i++) output[i] = unscaled_quant_matrix[i] * qscale;
> > +    for (i = 0; i < 64; i++) output[i] =
> > unscaled_quant_matrix[ff_zigzag_direct[i]] * qscale;
> >  }
> >
> >  static int speedhq_decode_frame(AVCodecContext *avctx,
> > --
> > 2.11.0
> >
> > _______________________________________________
> > ffmpeg-devel mailing list
> > ffmpeg-devel at ffmpeg.org
> > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> >
> 
> lgtm

applied

thx

[...]
-- 
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/20170221/39f23d61/attachment.sig>


More information about the ffmpeg-devel mailing list