1956年是什么年| 什么颜色的衣服显白| 为什么会晕血| 什么是创造性思维| 什么病可以申请低保| 苹果的英文是什么| 呼吸胸口疼是什么原因| 幼儿园报名需要什么资料| 睡觉中途总醒什么原因| jewelry什么意思| 甲钴胺是什么| 乙肝核心抗体阳性是什么意思| 7月1号是什么节| 胃在什么地方| 宝子是什么意思| 病人化疗期间吃什么好| 子宫内膜2mm说明什么| 可惜是什么意思| 小腿骨头疼是什么原因| 吃什么爱放屁| 产褥期是什么意思| 多莉是什么鱼| 低血压是什么原因造成的| 什么是增强ct| 艮宫代表什么| 左下腹疼是什么原因| tnt什么意思| 口腔溃疡吃什么中成药| 头发出汗多是什么原因| 鬼针草有什么功效| 女性为什么会感染hpv| 鸡五行属什么| 嘴子是什么意思| 碳酸氢钠是什么| launch什么意思| 本科毕业证是什么颜色| 画龙点睛是什么意思| 北京大学前身叫什么| 面诊是什么意思| 泌尿系统感染吃什么消炎药| 田可以加什么偏旁| 6月29号是什么星座| 子宫内膜异位是什么原因造成的| 文理分科什么时候开始| 副词什么意思| 牙松动了还疼用什么方法处理最好| 枕秃是什么意思| 摇曳是什么意思| 什么药治灰指甲最有效| 灵魂伴侣是指什么意思| 养猫需要准备什么东西| 什么食物降胆固醇最好| 小孩头晕是什么原因| 七叶子是什么意思| 口腔溃疡用什么药治疗| 火山为什么会喷发| 歼31为什么没消息了| 脑梗要注意什么| 高铁与动车的区别是什么| 枕秃是什么意思| 闪婚是什么意思| 南通在江苏什么位置| 怀孕六个月出血是什么原因| 梦见蜈蚣是什么预兆| 昂字五行属什么| 靶向治疗是什么| mect是什么意思| 拍手腕中间有什么好处| 糖尿病人早餐吃什么| 咳嗽有痰吃什么好的快| 猪横利是什么| 狼狈是什么动物| 白油是什么油| 中巴友谊为什么这么好| 莲子心有什么作用| 伏天是什么意思| 幼对什么| 坐月子能吃什么蔬菜| 金牛座是什么象星座| 反复发烧挂什么科| 长生香是什么意思| 处女座属于什么星象| 孕妇建档需要检查什么| 尿酸高不能吃什么蔬菜| 坦诚相待是什么意思| 红豆与赤小豆有什么区别| 孕妇缺碘吃什么补最快| 胶原蛋白的成分是什么| 狂躁症吃什么药| 挑疳积挑出来的是什么| 势利眼是什么意思| 糖皮质激素是什么| 梦见自己洗头发是什么意思| 反颌是什么意思| 头孢有什么用| 吃什么油对心脑血管好| c肽是什么意思| 痰多是什么原因引起的| 小孩血压低是什么原因| 左是什么结构的字| 牛筋草有什么作用| 臁疮是什么病| 一加是什么品牌| 协警是什么编制| 什么样的眼睛形容词| 消炎痛又叫什么| 老头疼是什么原因导致的| 沙中土是什么意思| 监视居住是什么意思| 失眠缺什么维生素| 什么鞋油好用| 脑梗塞吃什么药| 八面玲珑什么意思| 煲汤放什么药材补气血| 脚底有痣代表什么| girls是什么意思| 什么叫多重耐药菌| 黄疸是什么| 熬夜流鼻血是什么原因| 路人甲什么意思| 不出汗是什么原因| 五福临门是什么意思| 大腿为什么会长妊娠纹| 天秤座女生什么性格| 混动是什么意思| 为什么梦不到死去的亲人| 一只耳朵响是什么原因| c60是什么| 梨涡是什么意思| 尿特别多是什么原因| 89年属什么生肖| hpv是指什么| 孕酮什么意思| 大保健是什么意思| 吉尼斯是什么意思| 白细胞酯酶是什么意思| 为什么会血热| 眼球出血是什么原因引起的| 甲低有什么症状表现| 接亲是什么意思| 血栓吃什么药可以疏通血管| 有腿毛的男人说明什么| 备孕吃叶酸有什么好处| 射手座的幸运色是什么颜色| 食是代表什么生肖| 污蔑是什么意思| 脑梗塞吃什么食物好| 三点水加个有字念什么| 肝胆胰脾彩超查什么病| 9月3日是什么纪念日| 梯子是什么| 每个月月经都推迟是什么原因| 高血压一般在什么年龄| 什么进曹营一言不发| 18年是什么年| 豇豆不能和什么一起吃| 手指月牙代表什么意思| 我宣你是什么意思| 用什么方法止咳| 处长是什么级别| 沙果是什么水果| 血热是什么原因| 小什么| 头孢和阿莫西林有什么区别| 农历8月13日是什么星座| 红薯什么时候掐尖| 吃三七粉有什么功效| 脑袋疼挂什么科| 猪脚炖什么| 前列腺肥大是什么原因引起| 为什么得疱疹病毒| 别人是什么意思| 胱抑素是什么| 爆单是什么意思| 超五行属什么| 处口念什么| 做梦梦到蛇是什么意思| 和什么细什么的成语| 耳道湿疹用什么药| 7月有什么活动| ipadair2什么时候上市的| 细菌性阴道炎用什么洗液| 肾阴虚的症状吃什么药| 脑溢血是什么原因引起的| 睡觉后脑勺出汗多是什么原因| 天赋是什么| 属虎的和什么属相最配| 印刷厂主要做什么| 难为你了是什么意思| 吃什么补钾食物有哪些| 赤脚医生是什么意思| 梦见自己有孩子了是什么预兆| 吃什么东西会长胖| 援交什么意思| 脾功能亢进是什么意思| 腹泻用什么药| 四月18号是什么星座的| 湿疹涂什么药膏| 白开水喝多了有什么危害| 直视是什么意思| mk包包属于什么档次| 追求是什么意思| 弄虚作假是什么生肖| 理疗和按摩有什么区别| 胃热口干口苦口臭吃什么药好| 肠管积气是什么原因| 馒头是什么做的| 1958年属什么生肖| 什么是abo文| 白身是什么意思| 牙齿脱矿是什么原因| 胃间质瘤是什么性质的瘤| 白兰地兑什么饮料好喝| 降钙素原高是什么原因| lp是什么意思| vogue是什么牌子| 鹅蛋炒香菜治什么病| 尿路感染吃什么中药| 霉菌性阴炎用什么药好得快| 贪恋是什么意思| 金牛座是什么性格| 隐性基因是什么意思| 早上6点是什么时辰| 三分钟热度是什么意思| 义齿是什么| 9月23日是什么星座| 小太阳是什么牌子| 女性血热吃什么好得快| 2000年属什么的| 金兰之交是什么意思| 拿铁和美式有什么区别| 吃什么长内膜| 排骨炖苦瓜有什么功效| 丝缎是什么面料| 一什么火箭| 为什么体检前不能喝水| 胃有火吃什么药| 脑缺血灶是什么意思| 什么破壁机好用| 什么蛇没毒| 带状疱疹吃什么药| 腿麻木是什么原因引起的| 鱼油对身体有什么好处| 血糖高能吃什么肉| 恩字五行属什么| 肾虚去医院挂什么科| 男人射精快吃什么药| 皇帝的新装是什么意思| 血常规是检查什么的| 右眼睛总跳是什么原因| 长痘痘擦什么药膏好| 睡觉吐气是什么原因| 大姑姐最怕弟媳什么| pd什么意思| 肾结石去医院挂什么科| 绿松石是什么| 梦见好多狗是什么预兆| 五月掉床有什么说法| 35岁月经量少是什么原因| 汽车抖动是什么原因| 睡不着觉是什么原因引起的| 吃什么东西能变白| 什么的恐龙| 耄耋是什么意思| 百度

乙肝五项第二项阳性是什么意思


Directory: ../../../ffmpeg/
File: src/libavfilter/vsrc_mptestsrc.c
Date: 2025-08-04 00:43:16
Exec Total Coverage
Lines: 103 152 67.8%
Functions: 10 15 66.7%
Branches: 54 99 54.5%

Line Branch Exec Source
1 /*
2 * Copyright (c) 2002 Michael Niedermayer <michaelni@gmx.at>
3 *
4 * This file is part of FFmpeg.
5 *
6 * FFmpeg is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * FFmpeg is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License along
17 * with FFmpeg; if not, write to the Free Software Foundation, Inc.,
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 */
20
21 /**
22 * @file
23 * MP test source, ported from MPlayer libmpcodecs/vf_test.c
24 */
25
26 #include "libavutil/opt.h"
27 #include "libavutil/pixdesc.h"
28 #include "avfilter.h"
29 #include "filters.h"
30 #include "video.h"
31
32 #define WIDTH 512
33 #define HEIGHT 512
34
35 enum test_type {
36 TEST_DC_LUMA,
37 TEST_DC_CHROMA,
38 TEST_FREQ_LUMA,
39 TEST_FREQ_CHROMA,
40 TEST_AMP_LUMA,
41 TEST_AMP_CHROMA,
42 TEST_CBP,
43 TEST_MV,
44 TEST_RING1,
45 TEST_RING2,
46 TEST_ALL,
47 TEST_NB
48 };
49
50 typedef struct MPTestContext {
51 const AVClass *class;
52 AVRational frame_rate;
53 int64_t pts, max_pts, duration;
54 int64_t max_frames;
55 int hsub, vsub;
56 int test; ///< test_type
57 } MPTestContext;
58
59 #define OFFSET(x) offsetof(MPTestContext, x)
60 #define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM
61 static const AVOption mptestsrc_options[]= {
62 { "rate", "set video rate", OFFSET(frame_rate), AV_OPT_TYPE_VIDEO_RATE, {.str = "25"}, 0, INT_MAX, FLAGS },
63 { "r", "set video rate", OFFSET(frame_rate), AV_OPT_TYPE_VIDEO_RATE, {.str = "25"}, 0, INT_MAX, FLAGS },
64 { "duration", "set video duration", OFFSET(duration), AV_OPT_TYPE_DURATION, {.i64 = -1}, -1, INT64_MAX, FLAGS },
65 { "d", "set video duration", OFFSET(duration), AV_OPT_TYPE_DURATION, {.i64 = -1}, -1, INT64_MAX, FLAGS },
66
67 { "test", "set test to perform", OFFSET(test), AV_OPT_TYPE_INT, {.i64=TEST_ALL}, 0, INT_MAX, FLAGS, .unit = "test" },
68 { "t", "set test to perform", OFFSET(test), AV_OPT_TYPE_INT, {.i64=TEST_ALL}, 0, INT_MAX, FLAGS, .unit = "test" },
69 { "dc_luma", "", 0, AV_OPT_TYPE_CONST, {.i64=TEST_DC_LUMA}, INT_MIN, INT_MAX, FLAGS, .unit = "test" },
70 { "dc_chroma", "", 0, AV_OPT_TYPE_CONST, {.i64=TEST_DC_CHROMA}, INT_MIN, INT_MAX, FLAGS, .unit = "test" },
71 { "freq_luma", "", 0, AV_OPT_TYPE_CONST, {.i64=TEST_FREQ_LUMA}, INT_MIN, INT_MAX, FLAGS, .unit = "test" },
72 { "freq_chroma", "", 0, AV_OPT_TYPE_CONST, {.i64=TEST_FREQ_CHROMA}, INT_MIN, INT_MAX, FLAGS, .unit = "test" },
73 { "amp_luma", "", 0, AV_OPT_TYPE_CONST, {.i64=TEST_AMP_LUMA}, INT_MIN, INT_MAX, FLAGS, .unit = "test" },
74 { "amp_chroma", "", 0, AV_OPT_TYPE_CONST, {.i64=TEST_AMP_CHROMA}, INT_MIN, INT_MAX, FLAGS, .unit = "test" },
75 { "cbp", "", 0, AV_OPT_TYPE_CONST, {.i64=TEST_CBP}, INT_MIN, INT_MAX, FLAGS, .unit = "test" },
76 { "mv", "", 0, AV_OPT_TYPE_CONST, {.i64=TEST_MV}, INT_MIN, INT_MAX, FLAGS, .unit = "test" },
77 { "ring1", "", 0, AV_OPT_TYPE_CONST, {.i64=TEST_RING1}, INT_MIN, INT_MAX, FLAGS, .unit = "test" },
78 { "ring2", "", 0, AV_OPT_TYPE_CONST, {.i64=TEST_RING2}, INT_MIN, INT_MAX, FLAGS, .unit = "test" },
79 { "all", "", 0, AV_OPT_TYPE_CONST, {.i64=TEST_ALL}, INT_MIN, INT_MAX, FLAGS, .unit = "test" },
80 { "max_frames", "Set the maximum number of frames generated for each test", OFFSET(max_frames),
81 AV_OPT_TYPE_INT64, {.i64 = 30}, 1, INT64_MAX, FLAGS },
82 { "m", "Set the maximum number of frames generated for each test", OFFSET(max_frames),
83 AV_OPT_TYPE_INT64, {.i64 = 30}, 1, INT64_MAX, FLAGS },
84 { NULL }
85 };
86
87 AVFILTER_DEFINE_CLASS(mptestsrc);
88
89 static double c[64];
90
91 1 static void init_idct(void)
92 {
93 int i, j;
94
95
2/2
✓ Branch 0 taken 8 times.
✓ Branch 1 taken 1 times.
9 for (i = 0; i < 8; i++) {
96
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 7 times.
8 double s = i == 0 ? sqrt(0.125) : 0.5;
97
98
2/2
✓ Branch 0 taken 64 times.
✓ Branch 1 taken 8 times.
72 for (j = 0; j < 8; j++)
99 64 c[i*8+j] = s*cos((M_PI/8.0)*i*(j+0.5));
100 }
101 1 }
102
103 18176 static void idct(uint8_t *dst, int dst_linesize, int src[64])
104 {
105 int i, j, k;
106 double tmp[64];
107
108
2/2
✓ Branch 0 taken 145408 times.
✓ Branch 1 taken 18176 times.
163584 for (i = 0; i < 8; i++) {
109
2/2
✓ Branch 0 taken 1163264 times.
✓ Branch 1 taken 145408 times.
1308672 for (j = 0; j < 8; j++) {
110 1163264 double sum = 0.0;
111
112
2/2
✓ Branch 0 taken 9306112 times.
✓ Branch 1 taken 1163264 times.
10469376 for (k = 0; k < 8; k++)
113 9306112 sum += c[k*8+j] * src[8*i+k];
114
115 1163264 tmp[8*i+j] = sum;
116 }
117 }
118
119
2/2
✓ Branch 0 taken 145408 times.
✓ Branch 1 taken 18176 times.
163584 for (j = 0; j < 8; j++) {
120
2/2
✓ Branch 0 taken 1163264 times.
✓ Branch 1 taken 145408 times.
1308672 for (i = 0; i < 8; i++) {
121 1163264 double sum = 0.0;
122
123
2/2
✓ Branch 0 taken 9306112 times.
✓ Branch 1 taken 1163264 times.
10469376 for (k = 0; k < 8; k++)
124 9306112 sum += c[k*8+i]*tmp[8*k+j];
125
126 1163264 dst[dst_linesize*i + j] = av_clip_uint8(lrint(sum));
127 }
128 }
129 18176 }
130
131 25600 static void draw_dc(uint8_t *dst, int dst_linesize, int color, int w, int h)
132 {
133 int x, y;
134
135
2/2
✓ Branch 0 taken 204800 times.
✓ Branch 1 taken 25600 times.
230400 for (y = 0; y < h; y++)
136
2/2
✓ Branch 0 taken 1638400 times.
✓ Branch 1 taken 204800 times.
1843200 for (x = 0; x < w; x++)
137 1638400 dst[x + y*dst_linesize] = color;
138 25600 }
139
140 18176 static void draw_basis(uint8_t *dst, int dst_linesize, int amp, int freq, int dc)
141 {
142 int src[64];
143
144 18176 memset(src, 0, 64*sizeof(int));
145 18176 src[0] = dc;
146
1/2
✓ Branch 0 taken 18176 times.
✗ Branch 1 not taken.
18176 if (amp)
147 18176 src[freq] = amp;
148 18176 idct(dst, dst_linesize, src);
149 18176 }
150
151 static void draw_cbp(uint8_t *dst[3], int dst_linesize[3], int cbp, int amp, int dc)
152 {
153 if (cbp&1) draw_basis(dst[0] , dst_linesize[0], amp, 1, dc);
154 if (cbp&2) draw_basis(dst[0]+8 , dst_linesize[0], amp, 1, dc);
155 if (cbp&4) draw_basis(dst[0]+ 8*dst_linesize[0], dst_linesize[0], amp, 1, dc);
156 if (cbp&8) draw_basis(dst[0]+8+8*dst_linesize[0], dst_linesize[0], amp, 1, dc);
157 if (cbp&16) draw_basis(dst[1] , dst_linesize[1], amp, 1, dc);
158 if (cbp&32) draw_basis(dst[2] , dst_linesize[2], amp, 1, dc);
159 }
160
161 100 static void dc_test(uint8_t *dst, int dst_linesize, int w, int h, int off)
162 {
163 100 const int step = FFMAX(256/(w*h/256), 1);
164 100 int x, y, color = off;
165
166
2/2
✓ Branch 0 taken 1600 times.
✓ Branch 1 taken 100 times.
1700 for (y = 0; y < h; y += 16) {
167
2/2
✓ Branch 0 taken 25600 times.
✓ Branch 1 taken 1600 times.
27200 for (x = 0; x < w; x += 16) {
168 25600 draw_dc(dst + x + y*dst_linesize, dst_linesize, color, 8, 8);
169 25600 color += step;
170 }
171 }
172 100 }
173
174 100 static void freq_test(uint8_t *dst, int dst_linesize, int off)
175 {
176 100 int x, y, freq = 0;
177
178
2/2
✓ Branch 0 taken 800 times.
✓ Branch 1 taken 100 times.
900 for (y = 0; y < 8*16; y += 16) {
179
2/2
✓ Branch 0 taken 6400 times.
✓ Branch 1 taken 800 times.
7200 for (x = 0; x < 8*16; x += 16) {
180 6400 draw_basis(dst + x + y*dst_linesize, dst_linesize, 4*(96+off), freq, 128*8);
181 6400 freq++;
182 }
183 }
184 100 }
185
186 46 static void amp_test(uint8_t *dst, int dst_linesize, int off)
187 {
188 46 int x, y, amp = off;
189
190
2/2
✓ Branch 0 taken 736 times.
✓ Branch 1 taken 46 times.
782 for (y = 0; y < 16*16; y += 16) {
191
2/2
✓ Branch 0 taken 11776 times.
✓ Branch 1 taken 736 times.
12512 for (x = 0; x < 16*16; x += 16) {
192 11776 draw_basis(dst + x + y*dst_linesize, dst_linesize, 4*amp, 1, 128*8);
193 11776 amp++;
194 }
195 }
196 46 }
197
198 static void cbp_test(uint8_t *dst[3], int dst_linesize[3], int off)
199 {
200 int x, y, cbp = 0;
201
202 for (y = 0; y < 16*8; y += 16) {
203 for (x = 0; x < 16*8; x += 16) {
204 uint8_t *dst1[3];
205 dst1[0] = dst[0] + x*2 + y*2*dst_linesize[0];
206 dst1[1] = dst[1] + x + y* dst_linesize[1];
207 dst1[2] = dst[2] + x + y* dst_linesize[2];
208
209 draw_cbp(dst1, dst_linesize, cbp, (64+off)*4, 128*8);
210 cbp++;
211 }
212 }
213 }
214
215 static void mv_test(uint8_t *dst, int dst_linesize, int off)
216 {
217 int x, y;
218
219 for (y = 0; y < 16*16; y++) {
220 if (y&16)
221 continue;
222 for (x = 0; x < 16*16; x++)
223 dst[x + y*dst_linesize] = x + off*8/(y/32+1);
224 }
225 }
226
227 static void ring1_test(uint8_t *dst, int dst_linesize, int off)
228 {
229 int x, y, color = 0;
230
231 for (y = off; y < 16*16; y += 16) {
232 for (x = off; x < 16*16; x += 16) {
233 draw_dc(dst + x + y*dst_linesize, dst_linesize, ((x+y)&16) ? color : -color, 16, 16);
234 color++;
235 }
236 }
237 }
238
239 static void ring2_test(uint8_t *dst, int dst_linesize, int off)
240 {
241 int x, y;
242
243 for (y = 0; y < 16*16; y++) {
244 for (x = 0; x < 16*16; x++) {
245 double d = hypot(x-8*16, y-8*16);
246 double r = d/20 - (int)(d/20);
247 if (r < off/30.0) {
248 dst[x + y*dst_linesize] = 255;
249 dst[x + y*dst_linesize+256] = 0;
250 } else {
251 dst[x + y*dst_linesize] = x;
252 dst[x + y*dst_linesize+256] = x;
253 }
254 }
255 }
256 }
257
258 1 static av_cold int init(AVFilterContext *ctx)
259 {
260 1 MPTestContext *test = ctx->priv;
261
262 2 test->max_pts = test->duration >= 0 ?
263
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 av_rescale_q(test->duration, AV_TIME_BASE_Q, av_inv_q(test->frame_rate)) : -1;
264 1 test->pts = 0;
265
266 1 av_log(ctx, AV_LOG_VERBOSE, "rate:%d/%d duration:%f\n",
267 test->frame_rate.num, test->frame_rate.den,
268
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 test->duration < 0 ? -1 : test->max_pts * av_q2d(av_inv_q(test->frame_rate)));
269 1 init_idct();
270
271 1 return 0;
272 }
273
274 1 static int config_props(AVFilterLink *outlink)
275 {
276 1 AVFilterContext *ctx = outlink->src;
277 1 FilterLink *l = ff_filter_link(outlink);
278 1 MPTestContext *test = ctx->priv;
279 1 const AVPixFmtDescriptor *pix_desc = av_pix_fmt_desc_get(outlink->format);
280
281 1 test->hsub = pix_desc->log2_chroma_w;
282 1 test->vsub = pix_desc->log2_chroma_h;
283
284 1 outlink->w = WIDTH;
285 1 outlink->h = HEIGHT;
286 1 outlink->time_base = av_inv_q(test->frame_rate);
287 1 l->frame_rate = test->frame_rate;
288
289 1 return 0;
290 }
291
292 252 static int request_frame(AVFilterLink *outlink)
293 {
294 252 FilterLink *outl = ff_filter_link(outlink);
295 252 MPTestContext *test = outlink->src->priv;
296 AVFrame *picref;
297 252 int w = WIDTH, h = HEIGHT,
298 252 cw = AV_CEIL_RSHIFT(w, test->hsub), ch = AV_CEIL_RSHIFT(h, test->vsub);
299 252 uint64_t frame = outl->frame_count_in / test->max_frames;
300 252 uint64_t mod = outl->frame_count_in % test->max_frames;
301 252 enum test_type tt = test->test;
302 int i;
303
304
3/4
✓ Branch 0 taken 252 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✓ Branch 3 taken 251 times.
252 if (test->max_pts >= 0 && test->pts > test->max_pts)
305 1 return AVERROR_EOF;
306 251 picref = ff_get_video_buffer(outlink, w, h);
307
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 251 times.
251 if (!picref)
308 return AVERROR(ENOMEM);
309 251 picref->pts = test->pts++;
310 251 picref->duration = 1;
311
312 // clean image
313
2/2
✓ Branch 0 taken 128512 times.
✓ Branch 1 taken 251 times.
128763 for (i = 0; i < h; i++)
314 128512 memset(picref->data[0] + i*picref->linesize[0], 0, w);
315
2/2
✓ Branch 0 taken 64256 times.
✓ Branch 1 taken 251 times.
64507 for (i = 0; i < ch; i++) {
316 64256 memset(picref->data[1] + i*picref->linesize[1], 128, cw);
317 64256 memset(picref->data[2] + i*picref->linesize[2], 128, cw);
318 }
319
320
3/4
✓ Branch 0 taken 251 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 246 times.
✓ Branch 3 taken 5 times.
251 if (tt == TEST_ALL && mod) /* draw a black frame at the beginning of each test */
321 246 tt = frame%(TEST_NB-1);
322
323
6/11
✓ Branch 0 taken 50 times.
✓ Branch 1 taken 50 times.
✓ Branch 2 taken 50 times.
✓ Branch 3 taken 50 times.
✓ Branch 4 taken 46 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✓ Branch 10 taken 5 times.
251 switch (tt) {
324 50 case TEST_DC_LUMA: dc_test(picref->data[0], picref->linesize[0], 256, 256, mod); break;
325 50 case TEST_DC_CHROMA: dc_test(picref->data[1], picref->linesize[1], 256, 256, mod); break;
326 50 case TEST_FREQ_LUMA: freq_test(picref->data[0], picref->linesize[0], mod); break;
327 50 case TEST_FREQ_CHROMA: freq_test(picref->data[1], picref->linesize[1], mod); break;
328 46 case TEST_AMP_LUMA: amp_test(picref->data[0], picref->linesize[0], mod); break;
329 case TEST_AMP_CHROMA: amp_test(picref->data[1], picref->linesize[1], mod); break;
330 case TEST_CBP: cbp_test(picref->data , picref->linesize , mod); break;
331 case TEST_MV: mv_test(picref->data[0], picref->linesize[0], mod); break;
332 case TEST_RING1: ring1_test(picref->data[0], picref->linesize[0], mod); break;
333 case TEST_RING2: ring2_test(picref->data[0], picref->linesize[0], mod); break;
334 }
335
336 251 return ff_filter_frame(outlink, picref);
337 }
338
339 static const AVFilterPad mptestsrc_outputs[] = {
340 {
341 .name = "default",
342 .type = AVMEDIA_TYPE_VIDEO,
343 .request_frame = request_frame,
344 .config_props = config_props,
345 },
346 };
347
348 const FFFilter ff_vsrc_mptestsrc = {
349 .p.name = "mptestsrc",
350 .p.description = NULL_IF_CONFIG_SMALL("Generate various test pattern."),
351 .p.priv_class = &mptestsrc_class,
352 .p.inputs = NULL,
353 .priv_size = sizeof(MPTestContext),
354 .init = init,
355 FILTER_OUTPUTS(mptestsrc_outputs),
356 FILTER_SINGLE_PIXFMT(AV_PIX_FMT_YUV420P),
357 };
358

8月30号什么星座 小熊是什么牌子 血液感染是什么病严重吗 什么是果糖 绿色是什么意思
七月二十是什么星座 日行一善是什么意思 保肝护肝吃什么 六味地黄丸什么牌子的好 麦冬有什么作用与功效
什么是杀猪菜 核桃壳有什么用处 什么叫柞蚕丝 213是什么意思 古今内衣是什么档次
胃痛看什么科 尿酸高喝什么 磨玻璃结节影是什么意思 天喜星是什么意思 经常喝藕粉有什么好处
8月开什么花hcv7jop9ns5r.cn 上热下寒吃什么食物好hcv7jop4ns8r.cn 四月是什么月hcv9jop5ns9r.cn 怀孕上火吃什么能降火hcv9jop3ns2r.cn 子宫发炎是什么原因引起的hcv7jop7ns0r.cn
医院查过敏源挂什么科gysmod.com 盆底肌松弛有什么症状hcv9jop6ns1r.cn 胆汁反流有什么症状hcv8jop1ns6r.cn 常吃黑芝麻有什么好处和坏处hcv8jop6ns0r.cn 黑五是什么hcv9jop4ns3r.cn
柔肝是什么意思imcecn.com 自然什么意思hcv8jop1ns3r.cn 乳酸是什么hcv8jop9ns3r.cn pn是什么意思hcv9jop6ns1r.cn 四月十七号是什么星座hcv7jop9ns4r.cn
四川为什么叫四川yanzhenzixun.com 机械键盘什么轴最好hcv9jop2ns5r.cn 心脏早搏吃什么药最好hcv8jop3ns0r.cn 坐卧针毡是什么生肖hcv9jop0ns7r.cn 肉身成圣是什么意思hcv9jop6ns6r.cn
百度