media/libvpx/vp8/encoder/treewriter.c

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     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  */
    12 #include "treewriter.h"
    14 static void cost(
    15     int *const C,
    16     vp8_tree T,
    17     const vp8_prob *const P,
    18     int i,
    19     int c
    20 )
    21 {
    22     const vp8_prob p = P [i>>1];
    24     do
    25     {
    26         const vp8_tree_index j = T[i];
    27         const int d = c + vp8_cost_bit(p, i & 1);
    29         if (j <= 0)
    30             C[-j] = d;
    31         else
    32             cost(C, T, P, j, d);
    33     }
    34     while (++i & 1);
    35 }
    36 void vp8_cost_tokens(int *c, const vp8_prob *p, vp8_tree t)
    37 {
    38     cost(c, t, p, 0, 0);
    39 }
    40 void vp8_cost_tokens2(int *c, const vp8_prob *p, vp8_tree t,int start)
    41 {
    42     cost(c, t, p, start, 0);
    43 }

mercurial