LCOV - code coverage report
Current view: top level - media/libvpx/libvpx/vp9/encoder - vp9_treewriter.c (source / functions) Hit Total Coverage
Test: output.info Lines: 0 26 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 4 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             : #include "vp9/encoder/vp9_treewriter.h"
      12             : 
      13           0 : static void tree2tok(struct vp9_token *tokens, const vpx_tree_index *tree,
      14             :                      int i, int v, int l) {
      15           0 :   v += v;
      16           0 :   ++l;
      17             : 
      18             :   do {
      19           0 :     const vpx_tree_index j = tree[i++];
      20           0 :     if (j <= 0) {
      21           0 :       tokens[-j].value = v;
      22           0 :       tokens[-j].len = l;
      23             :     } else {
      24           0 :       tree2tok(tokens, tree, j, v, l);
      25             :     }
      26           0 :   } while (++v & 1);
      27           0 : }
      28             : 
      29           0 : void vp9_tokens_from_tree(struct vp9_token *tokens,
      30             :                           const vpx_tree_index *tree) {
      31           0 :   tree2tok(tokens, tree, 0, 0, 0);
      32           0 : }
      33             : 
      34           0 : static unsigned int convert_distribution(unsigned int i, vpx_tree tree,
      35             :                                          unsigned int branch_ct[][2],
      36             :                                          const unsigned int num_events[]) {
      37             :   unsigned int left, right;
      38             : 
      39           0 :   if (tree[i] <= 0)
      40           0 :     left = num_events[-tree[i]];
      41             :   else
      42           0 :     left = convert_distribution(tree[i], tree, branch_ct, num_events);
      43             : 
      44           0 :   if (tree[i + 1] <= 0)
      45           0 :     right = num_events[-tree[i + 1]];
      46             :   else
      47           0 :     right = convert_distribution(tree[i + 1], tree, branch_ct, num_events);
      48             : 
      49           0 :   branch_ct[i >> 1][0] = left;
      50           0 :   branch_ct[i >> 1][1] = right;
      51           0 :   return left + right;
      52             : }
      53             : 
      54           0 : void vp9_tree_probs_from_distribution(vpx_tree tree,
      55             :                                       unsigned int branch_ct[/* n-1 */][2],
      56             :                                       const unsigned int num_events[/* n */]) {
      57           0 :   convert_distribution(0, tree, branch_ct, num_events);
      58           0 : }

Generated by: LCOV version 1.13