• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021, Alliance for Open Media. All rights reserved.
3  *
4  * This source code is subject to the terms of the BSD 2 Clause License and
5  * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6  * was not distributed with this source code in the LICENSE file, you can
7  * obtain it at www.aomedia.org/license/software. If the Alliance for Open
8  * Media Patent License 1.0 was not distributed with this source code in the
9  * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
10  */
11 
12 typedef struct XD {
13   int u;
14   int v;
15 } XD;
16 
17 typedef struct RD {
18   XD *xd;
19   int u;
20   int v;
21 } RD;
22 
23 typedef struct VP9_COMP {
24   int y;
25   RD *rd;
26   RD rd2;
27   int arr[3];
28   union {
29     int z;
30   };
31   struct {
32     int w;
33   };
34 } VP9_COMP;
35 
sub_func(VP9_COMP * cpi,int b)36 int sub_func(VP9_COMP *cpi, int b) {
37   int d;
38   cpi->y += 1;
39   cpi->y -= b;
40   d = cpi->y * 2;
41   return d;
42 }
43 
func_id_forrest_show(VP9_COMP * cpi,int b)44 int func_id_forrest_show(VP9_COMP *cpi, int b) {
45   int c = 2;
46   int x = cpi->y + c * 2 + 1;
47   int y;
48   RD *rd = cpi->rd;
49   y = cpi->rd->u;
50   return x + y;
51 }
52 
func_link_id_chain_1(VP9_COMP * cpi)53 int func_link_id_chain_1(VP9_COMP *cpi) {
54   RD *rd = cpi->rd;
55   rd->u = 0;
56 }
57 
func_link_id_chain_2(VP9_COMP * cpi)58 int func_link_id_chain_2(VP9_COMP *cpi) {
59   RD *rd = cpi->rd;
60   XD *xd = rd->xd;
61   xd->u = 0;
62 }
63 
func_assign_refer_status_1(VP9_COMP * cpi)64 int func_assign_refer_status_1(VP9_COMP *cpi) { RD *rd = cpi->rd; }
65 
func_assign_refer_status_2(VP9_COMP * cpi)66 int func_assign_refer_status_2(VP9_COMP *cpi) {
67   RD *rd2;
68   rd2 = cpi->rd;
69 }
70 
func_assign_refer_status_3(VP9_COMP * cpi)71 int func_assign_refer_status_3(VP9_COMP *cpi) {
72   int a;
73   a = cpi->y;
74 }
75 
func_assign_refer_status_4(VP9_COMP * cpi)76 int func_assign_refer_status_4(VP9_COMP *cpi) {
77   int *b;
78   b = &cpi->y;
79 }
80 
func_assign_refer_status_5(VP9_COMP * cpi)81 int func_assign_refer_status_5(VP9_COMP *cpi) {
82   RD *rd5;
83   rd5 = &cpi->rd2;
84 }
85 
func_assign_refer_status_6(VP9_COMP * cpi,VP9_COMP * cpi2)86 int func_assign_refer_status_6(VP9_COMP *cpi, VP9_COMP *cpi2) {
87   cpi->rd = cpi2->rd;
88 }
89 
func_assign_refer_status_7(VP9_COMP * cpi,VP9_COMP * cpi2)90 int func_assign_refer_status_7(VP9_COMP *cpi, VP9_COMP *cpi2) {
91   cpi->arr[3] = 0;
92 }
93 
func_assign_refer_status_8(VP9_COMP * cpi,VP9_COMP * cpi2)94 int func_assign_refer_status_8(VP9_COMP *cpi, VP9_COMP *cpi2) {
95   int x = cpi->arr[3];
96 }
97 
func_assign_refer_status_9(VP9_COMP * cpi)98 int func_assign_refer_status_9(VP9_COMP *cpi) {
99   {
100     RD *rd = cpi->rd;
101     { rd->u = 0; }
102   }
103 }
104 
func_assign_refer_status_10(VP9_COMP * cpi)105 int func_assign_refer_status_10(VP9_COMP *cpi) { cpi->arr[cpi->rd->u] = 0; }
106 
func_assign_refer_status_11(VP9_COMP * cpi)107 int func_assign_refer_status_11(VP9_COMP *cpi) {
108   RD *rd11 = &cpi->rd2;
109   rd11->v = 1;
110 }
111 
func_assign_refer_status_12(VP9_COMP * cpi,VP9_COMP * cpi2)112 int func_assign_refer_status_12(VP9_COMP *cpi, VP9_COMP *cpi2) {
113   *cpi->rd = *cpi2->rd;
114 }
115 
func_assign_refer_status_13(VP9_COMP * cpi)116 int func_assign_refer_status_13(VP9_COMP *cpi) {
117   cpi->z = 0;
118   cpi->w = 0;
119 }
120 
func(VP9_COMP * cpi,int x)121 int func(VP9_COMP *cpi, int x) {
122   int a;
123   cpi->y = 4;
124   a = 3 + cpi->y;
125   a = a * x;
126   cpi->y *= 4;
127   RD *ref_rd = cpi->rd;
128   ref_rd->u = 0;
129   cpi->rd2.v = 1;
130   cpi->rd->v = 1;
131   RD *ref_rd2 = &cpi->rd2;
132   RD **ref_rd3 = &(&cpi->rd2);
133   int b = sub_func(cpi, a);
134   cpi->rd->v++;
135   return b;
136 }
137 
func_sub_call_1(VP9_COMP * cpi2,int x)138 int func_sub_call_1(VP9_COMP *cpi2, int x) { cpi2->y = 4; }
139 
func_call_1(VP9_COMP * cpi,int y)140 int func_call_1(VP9_COMP *cpi, int y) { func_sub_call_1(cpi, y); }
141 
func_sub_call_2(VP9_COMP * cpi2,RD * rd,int x)142 int func_sub_call_2(VP9_COMP *cpi2, RD *rd, int x) { rd->u = 0; }
143 
func_call_2(VP9_COMP * cpi,int y)144 int func_call_2(VP9_COMP *cpi, int y) { func_sub_call_2(cpi, &cpi->rd, y); }
145 
func_sub_call_3(VP9_COMP * cpi2,int x)146 int func_sub_call_3(VP9_COMP *cpi2, int x) {}
147 
func_call_3(VP9_COMP * cpi,int y)148 int func_call_3(VP9_COMP *cpi, int y) { func_sub_call_3(cpi, ++cpi->y); }
149 
func_sub_sub_call_4(VP9_COMP * cpi3,XD * xd)150 int func_sub_sub_call_4(VP9_COMP *cpi3, XD *xd) {
151   cpi3->rd.u = 0;
152   xd->u = 0;
153 }
154 
func_sub_call_4(VP9_COMP * cpi2,RD * rd)155 int func_sub_call_4(VP9_COMP *cpi2, RD *rd) {
156   func_sub_sub_call_4(cpi2, rd->xd);
157 }
158 
func_call_4(VP9_COMP * cpi,int y)159 int func_call_4(VP9_COMP *cpi, int y) { func_sub_call_4(cpi, &cpi->rd); }
160 
func_sub_call_5(VP9_COMP * cpi)161 int func_sub_call_5(VP9_COMP *cpi) {
162   cpi->y = 2;
163   func_call_5(cpi);
164 }
165 
func_call_5(VP9_COMP * cpi)166 int func_call_5(VP9_COMP *cpi) { func_sub_call_5(cpi); }
167 
func_compound_1(VP9_COMP * cpi)168 int func_compound_1(VP9_COMP *cpi) {
169   for (int i = 0; i < 10; ++i) {
170     cpi->y++;
171   }
172 }
173 
func_compound_2(VP9_COMP * cpi)174 int func_compound_2(VP9_COMP *cpi) {
175   for (int i = 0; i < cpi->y; ++i) {
176     cpi->rd->u = i;
177   }
178 }
179 
func_compound_3(VP9_COMP * cpi)180 int func_compound_3(VP9_COMP *cpi) {
181   int i = 3;
182   while (i > 0) {
183     cpi->rd->u = i;
184     i--;
185   }
186 }
187 
func_compound_4(VP9_COMP * cpi)188 int func_compound_4(VP9_COMP *cpi) {
189   while (cpi->y-- >= 0) {
190   }
191 }
192 
func_compound_5(VP9_COMP * cpi)193 int func_compound_5(VP9_COMP *cpi) {
194   do {
195   } while (cpi->y-- >= 0);
196 }
197 
func_compound_6(VP9_COMP * cpi)198 int func_compound_6(VP9_COMP *cpi) {
199   for (int i = 0; i < 10; ++i) cpi->y--;
200 }
201 
main(void)202 int main(void) {
203   int x;
204   VP9_COMP cpi;
205   RD rd;
206   cpi->rd = rd;
207   func(&cpi, x);
208 }
209