[FFmpeg-cvslog] vp9: skip itxfm_add if the whole block has no coefficients.

Ronald S. Bultje git at videolan.org
Sun Oct 27 15:08:53 CET 2013


ffmpeg | branch: master | Ronald S. Bultje <rsbultje at gmail.com> | Sun Oct 27 09:13:11 2013 -0400| [efc5a54cab8af93eb7bc734e0dd9f91dd6646b0d] | committer: Michael Niedermayer

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

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=efc5a54cab8af93eb7bc734e0dd9f91dd6646b0d
---

 libavcodec/vp9.c |    4 ++--
 1 file 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,



More information about the ffmpeg-cvslog mailing list