Commit efc5a54c authored by Ronald S. Bultje's avatar Ronald S. Bultje Committed by Michael Niedermayer

vp9: skip itxfm_add if the whole block has no coefficients.

Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 960490c0
...@@ -2155,7 +2155,7 @@ static void intra_recon(AVCodecContext *ctx, ptrdiff_t y_off, ptrdiff_t uv_off) ...@@ -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]); LOCAL_ALIGNED_16(uint8_t, a_buf, [48]);
uint8_t *a = &a_buf[16], l[32]; uint8_t *a = &a_buf[16], l[32];
enum TxfmType txtp = vp9_intra_txfm_type[mode]; 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], mode = check_intra_mode(s, mode, &a, ptr_r, s->f->linesize[0],
ptr, b->y_stride, l, ptr, b->y_stride, l,
...@@ -2185,7 +2185,7 @@ static void intra_recon(AVCodecContext *ctx, ptrdiff_t y_off, ptrdiff_t uv_off) ...@@ -2185,7 +2185,7 @@ static void intra_recon(AVCodecContext *ctx, ptrdiff_t y_off, ptrdiff_t uv_off)
int mode = b->uvmode; int mode = b->uvmode;
LOCAL_ALIGNED_16(uint8_t, a_buf, [48]); LOCAL_ALIGNED_16(uint8_t, a_buf, [48]);
uint8_t *a = &a_buf[16], l[32]; 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], mode = check_intra_mode(s, mode, &a, ptr_r, s->f->linesize[1],
ptr, b->uv_stride, l, ptr, b->uv_stride, l,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment