LCOV - code coverage report
Current view: top level - media/libvpx/libvpx/vp8/common - invtrans.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 16 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 2 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :  *  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
       3             :  *
       4             :  *  Use of this source code is governed by a BSD-style license
       5             :  *  that can be found in the LICENSE file in the root of the source
       6             :  *  tree. An additional intellectual property rights grant can be found
       7             :  *  in the file PATENTS.  All contributing project authors may
       8             :  *  be found in the AUTHORS file in the root of the source tree.
       9             :  */
      10             : 
      11             : #ifndef VP8_COMMON_INVTRANS_H_
      12             : #define VP8_COMMON_INVTRANS_H_
      13             : 
      14             : #include "./vpx_config.h"
      15             : #include "vp8_rtcd.h"
      16             : #include "blockd.h"
      17             : #include "onyxc_int.h"
      18             : 
      19             : #if CONFIG_MULTITHREAD
      20             : #include "vpx_mem/vpx_mem.h"
      21             : #endif
      22             : 
      23             : #ifdef __cplusplus
      24             : extern "C" {
      25             : #endif
      26             : 
      27           0 : static void eob_adjust(char *eobs, short *diff) {
      28             :   /* eob adjust.... the idct can only skip if both the dc and eob are zero */
      29             :   int js;
      30           0 :   for (js = 0; js < 16; ++js) {
      31           0 :     if ((eobs[js] == 0) && (diff[0] != 0)) eobs[js]++;
      32           0 :     diff += 16;
      33             :   }
      34           0 : }
      35             : 
      36           0 : static INLINE void vp8_inverse_transform_mby(MACROBLOCKD *xd) {
      37           0 :   short *DQC = xd->dequant_y1;
      38             : 
      39           0 :   if (xd->mode_info_context->mbmi.mode != SPLITMV) {
      40             :     /* do 2nd order transform on the dc block */
      41           0 :     if (xd->eobs[24] > 1) {
      42           0 :       vp8_short_inv_walsh4x4(&xd->block[24].dqcoeff[0], xd->qcoeff);
      43             :     } else {
      44           0 :       vp8_short_inv_walsh4x4_1(&xd->block[24].dqcoeff[0], xd->qcoeff);
      45             :     }
      46           0 :     eob_adjust(xd->eobs, xd->qcoeff);
      47             : 
      48           0 :     DQC = xd->dequant_y1_dc;
      49             :   }
      50           0 :   vp8_dequant_idct_add_y_block(xd->qcoeff, DQC, xd->dst.y_buffer,
      51           0 :                                xd->dst.y_stride, xd->eobs);
      52           0 : }
      53             : #ifdef __cplusplus
      54             : }  // extern "C"
      55             : #endif
      56             : 
      57             : #endif  // VP8_COMMON_INVTRANS_H_

Generated by: LCOV version 1.13