diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2013-10-27 09:13:11 -0400 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-10-27 15:02:48 +0100 |
commit | efc5a54cab8af93eb7bc734e0dd9f91dd6646b0d (patch) | |
tree | 1ba4de30ff1c0d08235ab4c3828ca78a2ed1373c /libavcodec/vp9.c | |
parent | 960490c0b20dd5f9a6c329bd14023b9598082fda (diff) | |
download | ffmpeg-streaming-efc5a54cab8af93eb7bc734e0dd9f91dd6646b0d.zip ffmpeg-streaming-efc5a54cab8af93eb7bc734e0dd9f91dd6646b0d.tar.gz |
vp9: skip itxfm_add if the whole block has no coefficients.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/vp9.c')
-rw-r--r-- | libavcodec/vp9.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c index cb14ec4..80bb9a5 100644 --- a/libavcodec/vp9.c +++ b/libavcodec/vp9.c @@ -2155,7 +2155,7 @@ static void intra_recon(AVCodecContext *ctx, ptrdiff_t y_off, ptrdiff_t uv_off) LOCAL_ALIGNED_16(uint8_t, a_buf, [48]); uint8_t *a = &a_buf[16], l[32]; enum TxfmType txtp = vp9_intra_txfm_type[mode]; - int eob = b->tx > TX_8X8 ? AV_RN16A(&s->eob[n]) : s->eob[n]; + int eob = b->skip ? 0 : b->tx > TX_8X8 ? AV_RN16A(&s->eob[n]) : s->eob[n]; mode = check_intra_mode(s, mode, &a, ptr_r, s->f->linesize[0], ptr, b->y_stride, l, @@ -2185,7 +2185,7 @@ static void intra_recon(AVCodecContext *ctx, ptrdiff_t y_off, ptrdiff_t uv_off) int mode = b->uvmode; LOCAL_ALIGNED_16(uint8_t, a_buf, [48]); uint8_t *a = &a_buf[16], l[32]; - int eob = b->uvtx > TX_8X8 ? AV_RN16A(&s->uveob[p][n]) : s->uveob[p][n]; + int eob = b->skip ? 0 : b->uvtx > TX_8X8 ? AV_RN16A(&s->uveob[p][n]) : s->uveob[p][n]; mode = check_intra_mode(s, mode, &a, ptr_r, s->f->linesize[1], ptr, b->uv_stride, l, |