Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Side by Side Diff: source/libvpx/vp9/encoder/vp9_context_tree.h

Issue 341293003: libvpx: Pull from upstream (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « source/libvpx/vp9/encoder/vp9_block.h ('k') | source/libvpx/vp9/encoder/vp9_context_tree.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2014 The WebM project authors. All Rights Reserved. 2 * Copyright (c) 2014 The WebM project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 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 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 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #ifndef VP9_ENCODER_VP9_CONTEXT_TREE_H_ 11 #ifndef VP9_ENCODER_VP9_CONTEXT_TREE_H_
12 #define VP9_ENCODER_VP9_CONTEXT_TREE_H_ 12 #define VP9_ENCODER_VP9_CONTEXT_TREE_H_
13 13
14 #include "vp9/encoder/vp9_encoder.h" 14 #include "vp9/common/vp9_onyxc_int.h"
15 15
16 void vp9_setup_pc_tree(VP9_COMMON *cm, MACROBLOCK *x); 16 struct VP9_COMP;
17 void vp9_free_pc_tree(MACROBLOCK *x); 17
18 // Structure to hold snapshot of coding context during the mode picking process
19 typedef struct {
20 MODE_INFO mic;
21 uint8_t *zcoeff_blk;
22 int16_t *coeff[MAX_MB_PLANE][3];
23 int16_t *qcoeff[MAX_MB_PLANE][3];
24 int16_t *dqcoeff[MAX_MB_PLANE][3];
25 uint16_t *eobs[MAX_MB_PLANE][3];
26
27 // dual buffer pointers, 0: in use, 1: best in store
28 int16_t *coeff_pbuf[MAX_MB_PLANE][3];
29 int16_t *qcoeff_pbuf[MAX_MB_PLANE][3];
30 int16_t *dqcoeff_pbuf[MAX_MB_PLANE][3];
31 uint16_t *eobs_pbuf[MAX_MB_PLANE][3];
32
33 int is_coded;
34 int num_4x4_blk;
35 int skip;
36 int skip_txfm;
37 int best_mode_index;
38 int hybrid_pred_diff;
39 int comp_pred_diff;
40 int single_pred_diff;
41 int64_t tx_rd_diff[TX_MODES];
42 int64_t best_filter_diff[SWITCHABLE_FILTER_CONTEXTS];
43
44 // motion vector cache for adaptive motion search control in partition
45 // search loop
46 MV pred_mv[MAX_REF_FRAMES];
47 INTERP_FILTER pred_interp_filter;
48 } PICK_MODE_CONTEXT;
49
50 typedef struct PC_TREE {
51 int index;
52 PARTITION_TYPE partitioning;
53 BLOCK_SIZE block_size;
54 PICK_MODE_CONTEXT none;
55 PICK_MODE_CONTEXT horizontal[2];
56 PICK_MODE_CONTEXT vertical[2];
57 union {
58 struct PC_TREE *split[4];
59 PICK_MODE_CONTEXT *leaf_split[4];
60 };
61 } PC_TREE;
62
63 void vp9_setup_pc_tree(struct VP9Common *cm, struct VP9_COMP *cpi);
64 void vp9_free_pc_tree(struct VP9_COMP *cpi);
18 65
19 #endif /* VP9_ENCODER_VP9_CONTEXT_TREE_H_ */ 66 #endif /* VP9_ENCODER_VP9_CONTEXT_TREE_H_ */
OLDNEW
« no previous file with comments | « source/libvpx/vp9/encoder/vp9_block.h ('k') | source/libvpx/vp9/encoder/vp9_context_tree.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698