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

Side by Side Diff: source/libvpx/vp8/encoder/block.h

Issue 7671004: Update libvpx snapshot to v0.9.7-p1 (Cayuga). (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/libvpx/
Patch Set: '' Created 9 years, 4 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/vp8/encoder/bitstream.c ('k') | source/libvpx/vp8/encoder/boolhuff.h » ('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) 2010 The WebM project authors. All Rights Reserved. 2 * Copyright (c) 2010 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
(...skipping 16 matching lines...) Expand all
27 27
28 typedef struct 28 typedef struct
29 { 29 {
30 // 16 Y blocks, 4 U blocks, 4 V blocks each with 16 entries 30 // 16 Y blocks, 4 U blocks, 4 V blocks each with 16 entries
31 short *src_diff; 31 short *src_diff;
32 short *coeff; 32 short *coeff;
33 33
34 // 16 Y blocks, 4 U blocks, 4 V blocks each with 16 entries 34 // 16 Y blocks, 4 U blocks, 4 V blocks each with 16 entries
35 short *quant; 35 short *quant;
36 short *quant_fast; 36 short *quant_fast;
37 short *quant_shift; 37 unsigned char *quant_shift;
38 short *zbin; 38 short *zbin;
39 short *zrun_zbin_boost; 39 short *zrun_zbin_boost;
40 short *round; 40 short *round;
41 41
42 // Zbin Over Quant value 42 // Zbin Over Quant value
43 short zbin_extra; 43 short zbin_extra;
44 44
45 unsigned char **base_src; 45 unsigned char **base_src;
46 int src; 46 int src;
47 int src_stride; 47 int src_stride;
48 48
49 // MV enc_mv; 49 // MV enc_mv;
50 int force_empty; 50 int force_empty;
51 51
52 } BLOCK; 52 } BLOCK;
53 53
54 typedef struct 54 typedef struct
55 { 55 {
56 int count; 56 int count;
57 B_MODE_INFO bmi[16]; 57 struct
58 {
59 B_PREDICTION_MODE mode;
60 int_mv mv;
61 } bmi[16];
58 } PARTITION_INFO; 62 } PARTITION_INFO;
59 63
60 typedef struct 64 typedef struct
61 { 65 {
62 DECLARE_ALIGNED(16, short, src_diff[400]); // 16x16 Y 8x8 U 8x8 V 4x4 2nd Y 66 DECLARE_ALIGNED(16, short, src_diff[400]); // 16x16 Y 8x8 U 8x8 V 4x4 2nd Y
63 DECLARE_ALIGNED(16, short, coeff[400]); // 16x16 Y 8x8 U 8x8 V 4x4 2nd Y 67 DECLARE_ALIGNED(16, short, coeff[400]); // 16x16 Y 8x8 U 8x8 V 4x4 2nd Y
68 DECLARE_ALIGNED(16, unsigned char, thismb[256]);
64 69
70 unsigned char *thismb_ptr;
65 // 16 Y blocks, 4 U blocks, 4 V blocks, 1 DC 2nd order block each with 16 en tries 71 // 16 Y blocks, 4 U blocks, 4 V blocks, 1 DC 2nd order block each with 16 en tries
66 BLOCK block[25]; 72 BLOCK block[25];
67 73
68 YV12_BUFFER_CONFIG src; 74 YV12_BUFFER_CONFIG src;
69 75
70 MACROBLOCKD e_mbd; 76 MACROBLOCKD e_mbd;
71 PARTITION_INFO *partition_info; /* work pointer */ 77 PARTITION_INFO *partition_info; /* work pointer */
72 PARTITION_INFO *pi; /* Corresponds to upper left visible macroblock */ 78 PARTITION_INFO *pi; /* Corresponds to upper left visible macroblock */
73 PARTITION_INFO *pip; /* Base of allocated array */ 79 PARTITION_INFO *pip; /* Base of allocated array */
74 80
75 search_site *ss; 81 search_site *ss;
76 int ss_count; 82 int ss_count;
77 int searches_per_step; 83 int searches_per_step;
78 84
79 int errorperbit; 85 int errorperbit;
80 int sadperbit16; 86 int sadperbit16;
81 int sadperbit4; 87 int sadperbit4;
82 int errthresh;
83 int rddiv; 88 int rddiv;
84 int rdmult; 89 int rdmult;
85 INT64 activity_sum; 90 unsigned int * mb_activity_ptr;
91 int * mb_norm_activity_ptr;
92 signed int act_zbin_adj;
86 93
87 int mvcosts[2][MVvals+1]; 94 int mvcosts[2][MVvals+1];
88 int *mvcost[2]; 95 int *mvcost[2];
89 int mvsadcosts[2][MVvals+1]; 96 int mvsadcosts[2][MVfpvals+1];
90 int *mvsadcost[2]; 97 int *mvsadcost[2];
91 int mbmode_cost[2][MB_MODE_COUNT]; 98 int mbmode_cost[2][MB_MODE_COUNT];
92 int intra_uv_mode_cost[2][MB_MODE_COUNT]; 99 int intra_uv_mode_cost[2][MB_MODE_COUNT];
93 unsigned int bmode_costs[10][10][10]; 100 unsigned int bmode_costs[10][10][10];
94 unsigned int inter_bmode_costs[B_MODE_COUNT]; 101 unsigned int inter_bmode_costs[B_MODE_COUNT];
95 102
96 // These define limits to motion vector components to prevent them from exte nding outside the UMV borders 103 // These define limits to motion vector components to prevent them from exte nding outside the UMV borders
97 int mv_col_min; 104 int mv_col_min;
98 int mv_col_max; 105 int mv_col_max;
99 int mv_row_min; 106 int mv_row_min;
100 int mv_row_max; 107 int mv_row_max;
101 108
102 int vector_range; // Used to monitor limiting range of recent vectors to guide search. 109 int vector_range; // Used to monitor limiting range of recent vectors to guide search.
103 int skip; 110 int skip;
104 111
105 int encode_breakout; 112 int encode_breakout;
106 113
107 //char * gf_active_ptr; 114 //char * gf_active_ptr;
108 signed char *gf_active_ptr; 115 signed char *gf_active_ptr;
109 116
110 unsigned char *active_ptr; 117 unsigned char *active_ptr;
111 MV_CONTEXT *mvc; 118 MV_CONTEXT *mvc;
112 119
113 unsigned int token_costs[BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [vp8 _coef_tokens]; 120 unsigned int token_costs[BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [MAX _ENTROPY_TOKENS];
114 int optimize; 121 int optimize;
115 int q_index; 122 int q_index;
116 123
117 void (*vp8_short_fdct4x4)(short *input, short *output, int pitch); 124 void (*vp8_short_fdct4x4)(short *input, short *output, int pitch);
118 void (*vp8_short_fdct8x4)(short *input, short *output, int pitch); 125 void (*vp8_short_fdct8x4)(short *input, short *output, int pitch);
119 void (*short_walsh4x4)(short *input, short *output, int pitch); 126 void (*short_walsh4x4)(short *input, short *output, int pitch);
120 void (*quantize_b)(BLOCK *b, BLOCKD *d); 127 void (*quantize_b)(BLOCK *b, BLOCKD *d);
128 void (*quantize_b_pair)(BLOCK *b1, BLOCK *b2, BLOCKD *d0, BLOCKD *d1);
121 129
122 } MACROBLOCK; 130 } MACROBLOCK;
123 131
124 132
125 #endif 133 #endif
OLDNEW
« no previous file with comments | « source/libvpx/vp8/encoder/bitstream.c ('k') | source/libvpx/vp8/encoder/boolhuff.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698