summaryrefslogtreecommitdiffstats
path: root/libavcodec/vp9.c
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2013-10-27 09:13:11 -0400
committerMichael Niedermayer <michaelni@gmx.at>2013-10-27 15:02:48 +0100
commitefc5a54cab8af93eb7bc734e0dd9f91dd6646b0d (patch)
tree1ba4de30ff1c0d08235ab4c3828ca78a2ed1373c /libavcodec/vp9.c
parent960490c0b20dd5f9a6c329bd14023b9598082fda (diff)
downloadffmpeg-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.c4
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,
OpenPOWER on IntegriCloud