media/libvpx/vp9/decoder/vp9_onyxd_int.h

Thu, 15 Jan 2015 15:59:08 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:59:08 +0100
branch
TOR_BUG_9701
changeset 10
ac0c01689b40
permissions
-rw-r--r--

Implement a real Private Browsing Mode condition by changing the API/ABI;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

michael@0 1 /*
michael@0 2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
michael@0 3 *
michael@0 4 * Use of this source code is governed by a BSD-style license
michael@0 5 * that can be found in the LICENSE file in the root of the source
michael@0 6 * tree. An additional intellectual property rights grant can be found
michael@0 7 * in the file PATENTS. All contributing project authors may
michael@0 8 * be found in the AUTHORS file in the root of the source tree.
michael@0 9 */
michael@0 10
michael@0 11 #ifndef VP9_DECODER_VP9_ONYXD_INT_H_
michael@0 12 #define VP9_DECODER_VP9_ONYXD_INT_H_
michael@0 13
michael@0 14 #include "./vpx_config.h"
michael@0 15
michael@0 16 #include "vp9/common/vp9_onyxc_int.h"
michael@0 17 #include "vp9/decoder/vp9_onyxd.h"
michael@0 18 #include "vp9/decoder/vp9_thread.h"
michael@0 19
michael@0 20 typedef struct VP9Decompressor {
michael@0 21 DECLARE_ALIGNED(16, MACROBLOCKD, mb);
michael@0 22
michael@0 23 DECLARE_ALIGNED(16, VP9_COMMON, common);
michael@0 24
michael@0 25 DECLARE_ALIGNED(16, int16_t, qcoeff[MAX_MB_PLANE][64 * 64]);
michael@0 26 DECLARE_ALIGNED(16, int16_t, dqcoeff[MAX_MB_PLANE][64 * 64]);
michael@0 27 DECLARE_ALIGNED(16, uint16_t, eobs[MAX_MB_PLANE][256]);
michael@0 28
michael@0 29 VP9D_CONFIG oxcf;
michael@0 30
michael@0 31 const uint8_t *source;
michael@0 32 size_t source_sz;
michael@0 33
michael@0 34 int64_t last_time_stamp;
michael@0 35 int ready_for_new_data;
michael@0 36
michael@0 37 int refresh_frame_flags;
michael@0 38
michael@0 39 int decoded_key_frame;
michael@0 40
michael@0 41 int initial_width;
michael@0 42 int initial_height;
michael@0 43
michael@0 44 int do_loopfilter_inline; // apply loopfilter to available rows immediately
michael@0 45 VP9Worker lf_worker;
michael@0 46
michael@0 47 VP9Worker *tile_workers;
michael@0 48 int num_tile_workers;
michael@0 49
michael@0 50 /* Each tile column has its own MODE_INFO stream. This array indexes them by
michael@0 51 tile column index. */
michael@0 52 MODE_INFO **mi_streams;
michael@0 53
michael@0 54 ENTROPY_CONTEXT *above_context[MAX_MB_PLANE];
michael@0 55 PARTITION_CONTEXT *above_seg_context;
michael@0 56
michael@0 57 DECLARE_ALIGNED(16, uint8_t, token_cache[1024]);
michael@0 58 } VP9D_COMP;
michael@0 59
michael@0 60 #endif // VP9_DECODER_VP9_ONYXD_INT_H_

mercurial