什么地摇动| 紧急避孕药有什么副作用| 什么情况要做支气管镜| 七月十日是什么星座| 龙吃什么| 睡觉后腰疼是什么原因引起的| 什么人容易老年痴呆| 凉皮用什么粉做的| Valentino什么牌子| 自五行属什么| 鱼水之欢是什么意思| 胎盘后壁是什么意思| 猫咪打呼噜代表什么| 吃饭后肚子疼是什么原因| 亚麻酸是什么东西| 浪琴手表什么档次| 碳酸钠是什么东西| 金光是什么生肖| 1月7号是什么星座| 早上起来手麻是什么原因| 顶胯是什么意思| 厄运是什么意思| 女性脱发严重是什么原因引起的| 双向转诊是什么意思| 南瓜子不能和什么一起吃| 麻疹是什么| 1929年属什么| qty什么意思| 前列腺钙化有什么影响| 肾衰竭五期是什么意思| 周知是什么意思| 相濡以沫不如相忘于江湖是什么意思| 珑字五行属什么| 塞飞洛是什么档次的包| 心理障碍是什么病| 内分泌失调吃什么药效果最好| 可怜巴巴是什么意思| 羊水污染是什么原因造成的| 什么字五行属土| 情趣是什么| 42天产后检查都检查什么项目| 条的偏旁是什么| 什么属相不能带狗牙| 什么鱼红烧好吃| 商品是什么| 停月经有什么症状| 净土的意思是什么| 排卵期之后是什么期| 林是什么生肖| 儿保挂什么科| 编外人员是什么意思| 标准差是什么| 湖北古代叫什么| 取保候审需要什么条件| 开边珠牛皮是什么意思| 什么是包皮过长| 眩晕吃什么药| 李约瑟难题是什么| 痔疮饮食要注意什么| 附件炎用什么药最好| lanvin是什么牌子| jennie什么意思| 痛风是什么原因造成的| pmi是什么| 张良属什么生肖| 脚麻是什么原因| 衤叫什么偏旁| 右眼睛跳是什么意思| 二十四节气分别是什么| 男孩适合学什么专业| 房颤是什么症状| 跳梁小丑是什么生肖| 胆囊炎能吃什么食物| 血糖高看什么科| 欢是什么动物| kt什么意思| 空巢老人什么意思| 腿上无缘无故出现淤青是什么原因| 七月份生日是什么星座| 水疱疹什么药最快能治好| 2019年出生属什么生肖| 福祉是什么意思| 先天性心脏病有什么症状| 飞机打多了会有什么后果| 什么叫法令纹| 孕期什么时候补充dha| 香港脚是什么意思| 见路不走是什么意思| 前年是什么年| 鸡皮肤用什么药膏最好| 树叶为什么是绿色的| 什么门永远关不上| 紫癜是什么原因引起的| 重水是什么水| 前列腺炎忌口什么食物| 文胸36码是什么尺寸| 血压高要吃什么蔬菜能降血压| lga肾病是什么意思| 脑动脉瘤是什么原因引起的| 托人办事送什么礼物较好| oppo最新款是什么型号| 胃不舒服吃什么水果好| 白俄罗斯和俄罗斯有什么区别| 三岁看大七岁看老什么意思| 实证是什么意思| 头晕出冷汗是什么原因| 水豚吃什么| 斑鸠是什么| 姝是什么意思| 湿热是什么意思| 78什么意思| 什么人不能喝牛奶| 五行中水是什么颜色| 圆周率是什么| 女性备孕吃什么养卵泡| 睾丸肿大吃什么药| 嗓子痒是什么原因| 36是什么意思| 格列本脲和格列美脲有什么区别| 体寒的女人吃什么能调理好身体| 焯水什么意思| 吃什么对胰腺有好处| 右是什么结构| 红花泡水喝有什么功效| CHANDO是什么牌子的化妆品| 什么油炒菜好吃又健康| 尿道尿血是什么原因| 锌补多了有什么症状| 肝火旺喝什么药| 羊水污染对宝宝有什么影响| 什么是闰月| 发心是什么意思| 男性左下腹疼痛是什么原因| 阳强易举是什么意思| 勾芡用什么粉最好| 2002年什么年| 皮疹是什么原因引起的| 长子是什么意思| 不丹为什么不跟中国建交| 什么运动长高最快| 3.21什么星座| macd是什么意思| 糖化血红蛋白高是什么原因| kick什么意思| 1020是什么星座| 五月二十号是什么星座| 经常打呼噜是什么原因| 颈椎病挂什么科| 考虑是什么意思| 增生是什么原因造成的| 孩子吐了吃什么药| 怀孕喝什么汤最有营养| 脑瘤到什么程度才会死| 吃柿子有什么好处和坏处| 什么的嘴巴| 前年是什么年| 气管憩室什么意思| ct检查是什么意思| 骨碎补有什么功效| 梦见抓鱼是什么意思| 5月15日是什么星座| 男人后背有痣代表什么| lodge是什么意思| 勾魂是什么意思| 尿出来很黄是什么原因| 难能可贵是什么意思| 肝属于五行中的什么| 合菜是什么| 宝宝胀气是什么原因引起的| 金代表什么数字| 红霉素软膏和红霉素眼膏有什么区别| 124是什么意思| 话糙理不糙是什么意思| 医生五行属什么| 早晨起床口干口苦是什么原因| 脖子凉是什么原因| 什么运动瘦脸| 什么的雪莲| 鱼用什么呼吸| 乳腺纤维瘤有什么症状表现| 孕妇做唐筛是检查什么| 静待花开什么意思| 喝牛奶不能和什么一起吃| 津津有味的意思是什么| 七九年属什么生肖| 鲱鱼在中国叫什么鱼| 声音的传播需要什么| 什么的被子| 伏案什么意思| 舌苔白厚吃什么药见效快| 腿麻脚麻用什么药能治| 小孩白头发是什么原因引起的| 身体缺钾吃什么药| 突然视力模糊是什么原因引起的| 皮脂腺囊肿吃什么消炎药| 七月十五日是什么节日| 蛇为什么怕雄黄| 什么东西越吃越饿| 切除扁桃体有什么好处和坏处| onlycook是什么牌子| 坐地户是什么意思| 紫外线过敏用什么药| ferragamo是什么牌子| 煞北是什么意思| 哈密瓜为什么叫哈密瓜| 微信屏蔽是什么意思| 叫姑姑是什么关系| 手麻是什么原因引起的| 带下病是什么病| 1998年出生属什么| 能量守恒是什么意思| 男人交生育保险有什么用| 春天都开什么花| 下次闰六月是什么时候| 七月与安生讲的是什么| 官杀混杂是什么意思| 88年五行属什么| 咽炎吃什么消炎药| 数不胜数的胜是什么意思| 拔智齿第二天可以吃什么| 韬光养晦是什么意思| 三七泡酒有什么功效| 1972年是什么年| 老友记是什么意思| 心火大吃什么药| 少帅是什么军衔| 皈依什么意思| 低血压高是什么原因造成的| 相处是什么意思| 国外微信叫什么| 秋葵炒什么好吃| 3岁宝宝流鼻血是什么原因| 大肝功能是检查什么| 拍身份证穿什么颜色衣服| 西南方是什么生肖| 小麦淀粉是什么| 脚环肿是什么原因引起的| 哄是什么意思| 上学是为了什么| 孕酮低吃什么好提高| 那是什么呢| 吃无花果干有什么好处| 什么叫痛风| mickey是什么牌子| 医院建档是什么意思| 驾驶证体检挂什么科| 糖蛋白是什么| poa是什么意思| 潮喷是什么意思| 低血压去药店买什么药| 梦见剃光头是什么预兆| 高压高低压低是什么原因| 煮黑豆吃有什么功效| 什么都想吃| 月亮像什么的比喻句| 在什么之前的英文| 27属相是什么生肖| 什么的雷雨| 右位主动脉弓是什么意思| 戒指上的s925是什么意思| 左下腹是什么器官| rr过高是什么意思| 稼字五行属什么| 什么得什么| 百度

唤醒另一座北京“老城”


Directory: ../../../ffmpeg/
File: src/libavcodec/h26x/h2656_inter_template.c
Date: 2025-08-04 00:43:16
Exec Total Coverage
Lines: 325 325 100.0%
Functions: 49 63 77.8%
Branches: 106 106 100.0%

Line Branch Exec Source
1 /*
2 * inter prediction template for HEVC/VVC
3 *
4 * Copyright (C) 2022 Nuo Mi
5 * Copyright (C) 2024 Wu Jianhua
6 *
7 * This file is part of FFmpeg.
8 *
9 * FFmpeg is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public
11 * License as published by the Free Software Foundation; either
12 * version 2.1 of the License, or (at your option) any later version.
13 *
14 * FFmpeg is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Lesser General Public License for more details.
18 *
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with FFmpeg; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22 */
23
24 #define CHROMA_EXTRA_BEFORE 1
25 #define CHROMA_EXTRA 3
26 #define LUMA_EXTRA_BEFORE 3
27 #define LUMA_EXTRA 7
28
29 8577778 static void FUNC(put_pixels)(int16_t *dst,
30 const uint8_t *_src, const ptrdiff_t _src_stride,
31 const int height, const int8_t *hf, const int8_t *vf, const int width)
32 {
33 8577778 const pixel *src = (const pixel *)_src;
34 8577778 const ptrdiff_t src_stride = _src_stride / sizeof(pixel);
35
36
2/2
✓ Branch 0 taken 48416814 times.
✓ Branch 1 taken 4288889 times.
105411406 for (int y = 0; y < height; y++) {
37
2/2
✓ Branch 0 taken 787904596 times.
✓ Branch 1 taken 48416814 times.
1672642820 for (int x = 0; x < width; x++)
38 1575809192 dst[x] = src[x] << (14 - BIT_DEPTH);
39 96833628 src += src_stride;
40 96833628 dst += MAX_PB_SIZE;
41 }
42 8577778 }
43
44 2517838 static void FUNC(put_uni_pixels)(uint8_t *_dst, const ptrdiff_t _dst_stride,
45 const uint8_t *_src, const ptrdiff_t _src_stride, const int height,
46 const int8_t *hf, const int8_t *vf, const int width)
47 {
48 2517838 const pixel *src = (const pixel *)_src;
49 2517838 pixel *dst = (pixel *)_dst;
50 2517838 const ptrdiff_t src_stride = _src_stride / sizeof(pixel);
51 2517838 const ptrdiff_t dst_stride = _dst_stride / sizeof(pixel);
52
53
2/2
✓ Branch 0 taken 8516360 times.
✓ Branch 1 taken 1258919 times.
19550558 for (int y = 0; y < height; y++) {
54 17032720 memcpy(dst, src, width * sizeof(pixel));
55 17032720 src += src_stride;
56 17032720 dst += dst_stride;
57 }
58 2517838 }
59
60 256604 static void FUNC(put_uni_w_pixels)(uint8_t *_dst, const ptrdiff_t _dst_stride,
61 const uint8_t *_src, const ptrdiff_t _src_stride, const int height,
62 const int denom, const int wx, const int _ox, const int8_t *hf, const int8_t *vf,
63 const int width)
64 {
65 256604 const pixel *src = (const pixel *)_src;
66 256604 pixel *dst = (pixel *)_dst;
67 256604 const ptrdiff_t src_stride = _src_stride / sizeof(pixel);
68 256604 const ptrdiff_t dst_stride = _dst_stride / sizeof(pixel);
69 256604 const int shift = denom + 14 - BIT_DEPTH;
70 #if BIT_DEPTH < 14
71 256604 const int offset = 1 << (shift - 1);
72 #else
73 const int offset = 0;
74 #endif
75 256604 const int ox = _ox * (1 << (BIT_DEPTH - 8));
76
77
2/2
✓ Branch 0 taken 637352 times.
✓ Branch 1 taken 128302 times.
1531308 for (int y = 0; y < height; y++) {
78
2/2
✓ Branch 0 taken 5833840 times.
✓ Branch 1 taken 637352 times.
12942384 for (int x = 0; x < width; x++) {
79 11667680 const int v = (src[x] << (14 - BIT_DEPTH));
80 11667680 dst[x] = av_clip_pixel(((v * wx + offset) >> shift) + ox);
81 }
82 1274704 src += src_stride;
83 1274704 dst += dst_stride;
84 }
85 256604 }
86
87 #define LUMA_FILTER(src, stride) \
88 (filter[0] * src[x - 3 * stride] + \
89 filter[1] * src[x - 2 * stride] + \
90 filter[2] * src[x - stride] + \
91 filter[3] * src[x ] + \
92 filter[4] * src[x + stride] + \
93 filter[5] * src[x + 2 * stride] + \
94 filter[6] * src[x + 3 * stride] + \
95 filter[7] * src[x + 4 * stride])
96
97 1108940 static void FUNC(put_luma_h)(int16_t *dst, const uint8_t *_src, const ptrdiff_t _src_stride,
98 const int height, const int8_t *hf, const int8_t *vf, const int width)
99 {
100 1108940 const pixel *src = (const pixel*)_src;
101 1108940 const ptrdiff_t src_stride = _src_stride / sizeof(pixel);
102 1108940 const int8_t *filter = hf;
103
104
2/2
✓ Branch 0 taken 4941960 times.
✓ Branch 1 taken 554470 times.
10992860 for (int y = 0; y < height; y++) {
105
2/2
✓ Branch 0 taken 76559088 times.
✓ Branch 1 taken 4941960 times.
163002096 for (int x = 0; x < width; x++)
106 153118176 dst[x] = LUMA_FILTER(src, 1) >> (BIT_DEPTH - 8);
107 9883920 src += src_stride;
108 9883920 dst += MAX_PB_SIZE;
109 }
110 1108940 }
111
112 1388424 static void FUNC(put_luma_v)(int16_t *dst, const uint8_t *_src, const ptrdiff_t _src_stride,
113 const int height, const int8_t *hf, const int8_t *vf, const int width)
114 {
115 1388424 const pixel *src = (pixel*)_src;
116 1388424 const ptrdiff_t src_stride = _src_stride / sizeof(pixel);
117 1388424 const int8_t *filter = vf;
118
119
2/2
✓ Branch 0 taken 6343752 times.
✓ Branch 1 taken 694212 times.
14075928 for (int y = 0; y < height; y++) {
120
2/2
✓ Branch 0 taken 96133776 times.
✓ Branch 1 taken 6343752 times.
204955056 for (int x = 0; x < width; x++)
121 192267552 dst[x] = LUMA_FILTER(src, src_stride) >> (BIT_DEPTH - 8);
122 12687504 src += src_stride;
123 12687504 dst += MAX_PB_SIZE;
124 }
125 1388424 }
126
127 8287660 static void FUNC(put_luma_hv)(int16_t *dst, const uint8_t *_src, const ptrdiff_t _src_stride,
128 const int height, const int8_t *hf, const int8_t *vf, const int width)
129 {
130 int16_t tmp_array[(MAX_PB_SIZE + LUMA_EXTRA) * MAX_PB_SIZE];
131 8287660 int16_t *tmp = tmp_array;
132 8287660 const pixel *src = (const pixel*)_src;
133 8287660 const ptrdiff_t src_stride = _src_stride / sizeof(pixel);
134 8287660 const int8_t *filter = hf;
135
136 8287660 src -= LUMA_EXTRA_BEFORE * src_stride;
137
2/2
✓ Branch 0 taken 57273658 times.
✓ Branch 1 taken 4143830 times.
122834976 for (int y = 0; y < height + LUMA_EXTRA; y++) {
138
2/2
✓ Branch 0 taken 511105800 times.
✓ Branch 1 taken 57273658 times.
1136758916 for (int x = 0; x < width; x++)
139 1022211600 tmp[x] = LUMA_FILTER(src, 1) >> (BIT_DEPTH - 8);
140 114547316 src += src_stride;
141 114547316 tmp += MAX_PB_SIZE;
142 }
143
144 8287660 tmp = tmp_array + LUMA_EXTRA_BEFORE * MAX_PB_SIZE;
145 8287660 filter = vf;
146
2/2
✓ Branch 0 taken 28266848 times.
✓ Branch 1 taken 4143830 times.
64821356 for (int y = 0; y < height; y++) {
147
2/2
✓ Branch 0 taken 314176592 times.
✓ Branch 1 taken 28266848 times.
684886880 for (int x = 0; x < width; x++)
148 628353184 dst[x] = LUMA_FILTER(tmp, MAX_PB_SIZE) >> 6;
149 56533696 tmp += MAX_PB_SIZE;
150 56533696 dst += MAX_PB_SIZE;
151 }
152 8287660 }
153
154 97948 static void FUNC(put_uni_luma_h)(uint8_t *_dst, const ptrdiff_t _dst_stride,
155 const uint8_t *_src, const ptrdiff_t _src_stride,
156 const int height, const int8_t *hf, const int8_t *vf, const int width)
157 {
158 97948 const pixel *src = (const pixel*)_src;
159 97948 pixel *dst = (pixel *)_dst;
160 97948 const ptrdiff_t src_stride = _src_stride / sizeof(pixel);
161 97948 const ptrdiff_t dst_stride = _dst_stride / sizeof(pixel);
162 97948 const int8_t *filter = hf;
163 97948 const int shift = 14 - BIT_DEPTH;
164 #if BIT_DEPTH < 14
165 97948 const int offset = 1 << (shift - 1);
166 #else
167 const int offset = 0;
168 #endif
169
170
2/2
✓ Branch 0 taken 566336 times.
✓ Branch 1 taken 48974 times.
1230620 for (int y = 0; y < height; y++) {
171
2/2
✓ Branch 0 taken 12220624 times.
✓ Branch 1 taken 566336 times.
25573920 for (int x = 0; x < width; x++) {
172 24441248 const int val = LUMA_FILTER(src, 1) >> (BIT_DEPTH - 8);
173 24441248 dst[x] = av_clip_pixel((val + offset) >> shift);
174 }
175 1132672 src += src_stride;
176 1132672 dst += dst_stride;
177 }
178 97948 }
179
180 118460 static void FUNC(put_uni_luma_v)(uint8_t *_dst, const ptrdiff_t _dst_stride,
181 const uint8_t *_src, const ptrdiff_t _src_stride,
182 const int height, const int8_t *hf, const int8_t *vf, const int width)
183 {
184
185 118460 const pixel *src = (const pixel*)_src;
186 118460 pixel *dst = (pixel *)_dst;
187 118460 const ptrdiff_t src_stride = _src_stride / sizeof(pixel);
188 118460 const ptrdiff_t dst_stride = _dst_stride / sizeof(pixel);
189 118460 const int8_t *filter = vf;
190 118460 const int shift = 14 - BIT_DEPTH;
191 #if BIT_DEPTH < 14
192 118460 const int offset = 1 << (shift - 1);
193 #else
194 const int offset = 0;
195 #endif
196
197
2/2
✓ Branch 0 taken 654812 times.
✓ Branch 1 taken 59230 times.
1428084 for (int y = 0; y < height; y++) {
198
2/2
✓ Branch 0 taken 13757696 times.
✓ Branch 1 taken 654812 times.
28825016 for (int x = 0; x < width; x++) {
199 27515392 const int val = LUMA_FILTER(src, src_stride) >> (BIT_DEPTH - 8);
200 27515392 dst[x] = av_clip_pixel((val + offset) >> shift);
201 }
202 1309624 src += src_stride;
203 1309624 dst += dst_stride;
204 }
205 118460 }
206
207 365926 static void FUNC(put_uni_luma_hv)(uint8_t *_dst, const ptrdiff_t _dst_stride,
208 const uint8_t *_src, const ptrdiff_t _src_stride,
209 const int height, const int8_t *hf, const int8_t *vf, const int width)
210 {
211 int16_t tmp_array[(MAX_PB_SIZE + LUMA_EXTRA) * MAX_PB_SIZE];
212 365926 int16_t *tmp = tmp_array;
213 365926 const pixel *src = (const pixel*)_src;
214 365926 pixel *dst = (pixel *)_dst;
215 365926 const ptrdiff_t dst_stride = _dst_stride / sizeof(pixel);
216 365926 const ptrdiff_t src_stride = _src_stride / sizeof(pixel);
217 365926 const int8_t *filter = hf;
218 365926 const int shift = 14 - BIT_DEPTH;
219 #if BIT_DEPTH < 14
220 365926 const int offset = 1 << (shift - 1);
221 #else
222 const int offset = 0;
223 #endif
224
225 365926 src -= LUMA_EXTRA_BEFORE * src_stride;
226
2/2
✓ Branch 0 taken 3291585 times.
✓ Branch 1 taken 182963 times.
6949096 for (int y = 0; y < height + LUMA_EXTRA; y++) {
227
2/2
✓ Branch 0 taken 48883716 times.
✓ Branch 1 taken 3291585 times.
104350602 for (int x = 0; x < width; x++)
228 97767432 tmp[x] = LUMA_FILTER(src, 1) >> (BIT_DEPTH - 8);
229 6583170 src += src_stride;
230 6583170 tmp += MAX_PB_SIZE;
231 }
232
233 365926 tmp = tmp_array + LUMA_EXTRA_BEFORE * MAX_PB_SIZE;
234 365926 filter = vf;
235
236
2/2
✓ Branch 0 taken 2010844 times.
✓ Branch 1 taken 182963 times.
4387614 for (int y = 0; y < height; y++) {
237
2/2
✓ Branch 0 taken 35429520 times.
✓ Branch 1 taken 2010844 times.
74880728 for (int x = 0; x < width; x++) {
238 70859040 const int val = LUMA_FILTER(tmp, MAX_PB_SIZE) >> 6;
239 70859040 dst[x] = av_clip_pixel((val + offset) >> shift);
240 }
241 4021688 tmp += MAX_PB_SIZE;
242 4021688 dst += dst_stride;
243 }
244
245 365926 }
246
247 22844 static void FUNC(put_uni_luma_w_h)(uint8_t *_dst, const ptrdiff_t _dst_stride,
248 const uint8_t *_src, const ptrdiff_t _src_stride, int height,
249 const int denom, const int wx, const int _ox, const int8_t *hf, const int8_t *vf,
250 const int width)
251 {
252 22844 const pixel *src = (const pixel*)_src;
253 22844 pixel *dst = (pixel *)_dst;
254 22844 const ptrdiff_t src_stride = _src_stride / sizeof(pixel);
255 22844 const ptrdiff_t dst_stride = _dst_stride / sizeof(pixel);
256 22844 const int8_t *filter = hf;
257 22844 const int ox = _ox * (1 << (BIT_DEPTH - 8));
258 22844 const int shift = denom + 14 - BIT_DEPTH;
259 #if BIT_DEPTH < 14
260 22844 const int offset = 1 << (shift - 1);
261 #else
262 const int offset = 0;
263 #endif
264
265
2/2
✓ Branch 0 taken 58128 times.
✓ Branch 1 taken 11422 times.
139100 for (int y = 0; y < height; y++) {
266
2/2
✓ Branch 0 taken 527680 times.
✓ Branch 1 taken 58128 times.
1171616 for (int x = 0; x < width; x++)
267 1055360 dst[x] = av_clip_pixel((((LUMA_FILTER(src, 1) >> (BIT_DEPTH - 8)) * wx + offset) >> shift) + ox);
268 116256 src += src_stride;
269 116256 dst += dst_stride;
270 }
271 22844 }
272
273 22448 static void FUNC(put_uni_luma_w_v)(uint8_t *_dst, const ptrdiff_t _dst_stride,
274 const uint8_t *_src, const ptrdiff_t _src_stride, const int height,
275 const int denom, const int wx, const int _ox, const int8_t *hf, const int8_t *vf,
276 const int width)
277 {
278 22448 const pixel *src = (const pixel*)_src;
279 22448 pixel *dst = (pixel *)_dst;
280 22448 const ptrdiff_t src_stride = _src_stride / sizeof(pixel);
281 22448 const ptrdiff_t dst_stride = _dst_stride / sizeof(pixel);
282 22448 const int8_t *filter = vf;
283 22448 const int ox = _ox * (1 << (BIT_DEPTH - 8));
284 22448 const int shift = denom + 14 - BIT_DEPTH;
285 #if BIT_DEPTH < 14
286 22448 const int offset = 1 << (shift - 1);
287 #else
288 const int offset = 0;
289 #endif
290
291
2/2
✓ Branch 0 taken 54840 times.
✓ Branch 1 taken 11224 times.
132128 for (int y = 0; y < height; y++) {
292
2/2
✓ Branch 0 taken 440416 times.
✓ Branch 1 taken 54840 times.
990512 for (int x = 0; x < width; x++)
293 880832 dst[x] = av_clip_pixel((((LUMA_FILTER(src, src_stride) >> (BIT_DEPTH - 8)) * wx + offset) >> shift) + ox);
294 109680 src += src_stride;
295 109680 dst += dst_stride;
296 }
297 22448 }
298
299 76152 static void FUNC(put_uni_luma_w_hv)(uint8_t *_dst, const ptrdiff_t _dst_stride,
300 const uint8_t *_src, const ptrdiff_t _src_stride, const int height, const int denom,
301 const int wx, const int _ox, const int8_t *hf, const int8_t *vf, const int width)
302 {
303 int16_t tmp_array[(MAX_PB_SIZE + LUMA_EXTRA) * MAX_PB_SIZE];
304 76152 int16_t *tmp = tmp_array;
305 76152 const pixel *src = (const pixel*)_src;
306 76152 pixel *dst = (pixel *)_dst;
307 76152 const ptrdiff_t src_stride = _src_stride / sizeof(pixel);
308 76152 const ptrdiff_t dst_stride = _dst_stride / sizeof(pixel);
309 76152 const int8_t *filter = hf;
310 76152 const int ox = _ox * (1 << (BIT_DEPTH - 8));
311 76152 const int shift = denom + 14 - BIT_DEPTH;
312 #if BIT_DEPTH < 14
313 76152 const int offset = 1 << (shift - 1);
314 #else
315 const int offset = 0;
316 #endif
317
318 76152 src -= LUMA_EXTRA_BEFORE * src_stride;
319
2/2
✓ Branch 0 taken 456544 times.
✓ Branch 1 taken 38076 times.
989240 for (int y = 0; y < height + LUMA_EXTRA; y++) {
320
2/2
✓ Branch 0 taken 3176504 times.
✓ Branch 1 taken 456544 times.
7266096 for (int x = 0; x < width; x++)
321 6353008 tmp[x] = LUMA_FILTER(src, 1) >> (BIT_DEPTH - 8);
322 913088 src += src_stride;
323 913088 tmp += MAX_PB_SIZE;
324 }
325
326 76152 tmp = tmp_array + LUMA_EXTRA_BEFORE * MAX_PB_SIZE;
327 76152 filter = vf;
328
2/2
✓ Branch 0 taken 190012 times.
✓ Branch 1 taken 38076 times.
456176 for (int y = 0; y < height; y++) {
329
2/2
✓ Branch 0 taken 1834912 times.
✓ Branch 1 taken 190012 times.
4049848 for (int x = 0; x < width; x++)
330 3669824 dst[x] = av_clip_pixel((((LUMA_FILTER(tmp, MAX_PB_SIZE) >> 6) * wx + offset) >> shift) + ox);
331 380024 tmp += MAX_PB_SIZE;
332 380024 dst += dst_stride;
333 }
334 76152 }
335
336 #define CHROMA_FILTER(src, stride) \
337 (filter[0] * src[x - stride] + \
338 filter[1] * src[x] + \
339 filter[2] * src[x + stride] + \
340 filter[3] * src[x + 2 * stride])
341
342 1138602 static void FUNC(put_chroma_h)(int16_t *dst, const uint8_t *_src, const ptrdiff_t _src_stride,
343 const int height, const int8_t *hf, const int8_t *vf, const int width)
344 {
345 1138602 const pixel *src = (const pixel *)_src;
346 1138602 const ptrdiff_t src_stride = _src_stride / sizeof(pixel);
347 1138602 const int8_t *filter = hf;
348
349
2/2
✓ Branch 0 taken 4803666 times.
✓ Branch 1 taken 569301 times.
10745934 for (int y = 0; y < height; y++) {
350
2/2
✓ Branch 0 taken 79042020 times.
✓ Branch 1 taken 4803666 times.
167691372 for (int x = 0; x < width; x++)
351 158084040 dst[x] = CHROMA_FILTER(src, 1) >> (BIT_DEPTH - 8);
352 9607332 src += src_stride;
353 9607332 dst += MAX_PB_SIZE;
354 }
355 1138602 }
356
357 1705254 static void FUNC(put_chroma_v)(int16_t *dst, const uint8_t *_src, const ptrdiff_t _src_stride,
358 const int height, const int8_t *hf, const int8_t *vf, const int width)
359 {
360 1705254 const pixel *src = (const pixel *)_src;
361 1705254 const ptrdiff_t src_stride = _src_stride / sizeof(pixel);
362 1705254 const int8_t *filter = vf;
363
364
2/2
✓ Branch 0 taken 6842242 times.
✓ Branch 1 taken 852627 times.
15389738 for (int y = 0; y < height; y++) {
365
2/2
✓ Branch 0 taken 103146756 times.
✓ Branch 1 taken 6842242 times.
219977996 for (int x = 0; x < width; x++)
366 206293512 dst[x] = CHROMA_FILTER(src, src_stride) >> (BIT_DEPTH - 8);
367 13684484 src += src_stride;
368 13684484 dst += MAX_PB_SIZE;
369 }
370 1705254 }
371
372 7289066 static void FUNC(put_chroma_hv)(int16_t *dst, const uint8_t *_src, const ptrdiff_t _src_stride,
373 const int height, const int8_t *hf, const int8_t *vf, const int width)
374 {
375 int16_t tmp_array[(MAX_PB_SIZE + CHROMA_EXTRA) * MAX_PB_SIZE];
376 7289066 int16_t *tmp = tmp_array;
377 7289066 const pixel *src = (const pixel *)_src;
378 7289066 const ptrdiff_t src_stride = _src_stride / sizeof(pixel);
379 7289066 const int8_t *filter = hf;
380
381 7289066 src -= CHROMA_EXTRA_BEFORE * src_stride;
382
383
2/2
✓ Branch 0 taken 36467509 times.
✓ Branch 1 taken 3644533 times.
80224084 for (int y = 0; y < height + CHROMA_EXTRA; y++) {
384
2/2
✓ Branch 0 taken 343373470 times.
✓ Branch 1 taken 36467509 times.
759681958 for (int x = 0; x < width; x++)
385 686746940 tmp[x] = CHROMA_FILTER(src, 1) >> (BIT_DEPTH - 8);
386 72935018 src += src_stride;
387 72935018 tmp += MAX_PB_SIZE;
388 }
389
390 7289066 tmp = tmp_array + CHROMA_EXTRA_BEFORE * MAX_PB_SIZE;
391 7289066 filter = vf;
392
393
2/2
✓ Branch 0 taken 25533910 times.
✓ Branch 1 taken 3644533 times.
58356886 for (int y = 0; y < height; y++) {
394
2/2
✓ Branch 0 taken 267147460 times.
✓ Branch 1 taken 25533910 times.
585362740 for (int x = 0; x < width; x++)
395 534294920 dst[x] = CHROMA_FILTER(tmp, MAX_PB_SIZE) >> 6;
396 51067820 tmp += MAX_PB_SIZE;
397 51067820 dst += MAX_PB_SIZE;
398 }
399 7289066 }
400
401 409596 static void FUNC(put_uni_chroma_h)(uint8_t *_dst, const ptrdiff_t _dst_stride,
402 const uint8_t *_src, const ptrdiff_t _src_stride,
403 const int height, const int8_t *hf, const int8_t *vf, const int width)
404 {
405 409596 const pixel *src = (const pixel *)_src;
406 409596 pixel *dst = (pixel *)_dst;
407 409596 const ptrdiff_t src_stride = _src_stride / sizeof(pixel);
408 409596 const ptrdiff_t dst_stride = _dst_stride / sizeof(pixel);
409 409596 const int8_t *filter = hf;
410 409596 const int shift = 14 - BIT_DEPTH;
411 #if BIT_DEPTH < 14
412 409596 const int offset = 1 << (shift - 1);
413 #else
414 const int offset = 0;
415 #endif
416
417
2/2
✓ Branch 0 taken 1102600 times.
✓ Branch 1 taken 204798 times.
2614796 for (int y = 0; y < height; y++) {
418
2/2
✓ Branch 0 taken 13591072 times.
✓ Branch 1 taken 1102600 times.
29387344 for (int x = 0; x < width; x++)
419 27182144 dst[x] = av_clip_pixel(((CHROMA_FILTER(src, 1) >> (BIT_DEPTH - 8)) + offset) >> shift);
420 2205200 src += src_stride;
421 2205200 dst += dst_stride;
422 }
423 409596 }
424
425 407352 static void FUNC(put_uni_chroma_v)(uint8_t *_dst, const ptrdiff_t _dst_stride,
426 const uint8_t *_src, const ptrdiff_t _src_stride,
427 const int height, const int8_t *hf, const int8_t *vf, const int width)
428 {
429 407352 const pixel *src = (const pixel *)_src;
430 407352 pixel *dst = (pixel *)_dst;
431 407352 const ptrdiff_t src_stride = _src_stride / sizeof(pixel);
432 407352 const ptrdiff_t dst_stride = _dst_stride / sizeof(pixel);
433 407352 const int8_t *filter = vf;
434 407352 const int shift = 14 - BIT_DEPTH;
435 #if BIT_DEPTH < 14
436 407352 const int offset = 1 << (shift - 1);
437 #else
438 const int offset = 0;
439 #endif
440
441
2/2
✓ Branch 0 taken 1107824 times.
✓ Branch 1 taken 203676 times.
2623000 for (int y = 0; y < height; y++) {
442
2/2
✓ Branch 0 taken 13970224 times.
✓ Branch 1 taken 1107824 times.
30156096 for (int x = 0; x < width; x++)
443 27940448 dst[x] = av_clip_pixel(((CHROMA_FILTER(src, src_stride) >> (BIT_DEPTH - 8)) + offset) >> shift);
444 2215648 src += src_stride;
445 2215648 dst += dst_stride;
446 }
447 407352 }
448
449 3030196 static void FUNC(put_uni_chroma_hv)(uint8_t *_dst, const ptrdiff_t _dst_stride,
450 const uint8_t *_src, const ptrdiff_t _src_stride,
451 const int height, const int8_t *hf, const int8_t *vf, const int width)
452 {
453 int16_t tmp_array[(MAX_PB_SIZE + CHROMA_EXTRA) * MAX_PB_SIZE];
454 3030196 int16_t *tmp = tmp_array;
455 3030196 const pixel *src = (const pixel *)_src;
456 3030196 pixel *dst = (pixel *)_dst;
457 3030196 const ptrdiff_t src_stride = _src_stride / sizeof(pixel);
458 3030196 const ptrdiff_t dst_stride = _dst_stride / sizeof(pixel);
459 3030196 const int8_t *filter = hf;
460 3030196 const int shift = 14 - BIT_DEPTH;
461 #if BIT_DEPTH < 14
462 3030196 const int offset = 1 << (shift - 1);
463 #else
464 const int offset = 0;
465 #endif
466
467 3030196 src -= CHROMA_EXTRA_BEFORE * src_stride;
468
469
2/2
✓ Branch 0 taken 11523798 times.
✓ Branch 1 taken 1515098 times.
26077792 for (int y = 0; y < height + CHROMA_EXTRA; y++) {
470
2/2
✓ Branch 0 taken 70930556 times.
✓ Branch 1 taken 11523798 times.
164908708 for (int x = 0; x < width; x++)
471 141861112 tmp[x] = CHROMA_FILTER(src, 1) >> (BIT_DEPTH - 8);
472 23047596 src += src_stride;
473 23047596 tmp += MAX_PB_SIZE;
474 }
475
476 3030196 tmp = tmp_array + CHROMA_EXTRA_BEFORE * MAX_PB_SIZE;
477 3030196 filter = vf;
478
479
2/2
✓ Branch 0 taken 6978504 times.
✓ Branch 1 taken 1515098 times.
16987204 for (int y = 0; y < height; y++) {
480
2/2
✓ Branch 0 taken 50260544 times.
✓ Branch 1 taken 6978504 times.
114478096 for (int x = 0; x < width; x++)
481 100521088 dst[x] = av_clip_pixel(((CHROMA_FILTER(tmp, MAX_PB_SIZE) >> 6) + offset) >> shift);
482 13957008 tmp += MAX_PB_SIZE;
483 13957008 dst += dst_stride;
484 }
485 3030196 }
486
487 19480 static void FUNC(put_uni_chroma_w_h)(uint8_t *_dst, ptrdiff_t _dst_stride,
488 const uint8_t *_src, ptrdiff_t _src_stride, int height, int denom, int wx, int ox,
489 const int8_t *hf, const int8_t *vf, int width)
490 {
491 19480 const pixel *src = (const pixel *)_src;
492 19480 pixel *dst = (pixel *)_dst;
493 19480 const ptrdiff_t src_stride = _src_stride / sizeof(pixel);
494 19480 const ptrdiff_t dst_stride = _dst_stride / sizeof(pixel);
495 19480 const int8_t *filter = hf;
496 19480 const int shift = denom + 14 - BIT_DEPTH;
497 #if BIT_DEPTH < 14
498 19480 const int offset = 1 << (shift - 1);
499 #else
500 const int offset = 0;
501 #endif
502
503 19480 ox = ox * (1 << (BIT_DEPTH - 8));
504
2/2
✓ Branch 0 taken 46728 times.
✓ Branch 1 taken 9740 times.
112936 for (int y = 0; y < height; y++) {
505
2/2
✓ Branch 0 taken 292128 times.
✓ Branch 1 taken 46728 times.
677712 for (int x = 0; x < width; x++) {
506 584256 dst[x] = av_clip_pixel((((CHROMA_FILTER(src, 1) >> (BIT_DEPTH - 8)) * wx + offset) >> shift) + ox);
507 }
508 93456 dst += dst_stride;
509 93456 src += src_stride;
510 }
511 19480 }
512
513 19836 static void FUNC(put_uni_chroma_w_v)(uint8_t *_dst, const ptrdiff_t _dst_stride,
514 const uint8_t *_src, const ptrdiff_t _src_stride, const int height,
515 const int denom, const int wx, const int _ox, const int8_t *hf, const int8_t *vf,
516 const int width)
517 {
518 19836 const pixel *src = (const pixel *)_src;
519 19836 pixel *dst = (pixel *)_dst;
520 19836 const ptrdiff_t src_stride = _src_stride / sizeof(pixel);
521 19836 const ptrdiff_t dst_stride = _dst_stride / sizeof(pixel);
522 19836 const int8_t *filter = vf;
523 19836 const int shift = denom + 14 - BIT_DEPTH;
524 19836 const int ox = _ox * (1 << (BIT_DEPTH - 8));
525 #if BIT_DEPTH < 14
526 19836 int offset = 1 << (shift - 1);
527 #else
528 int offset = 0;
529 #endif
530
531
2/2
✓ Branch 0 taken 46288 times.
✓ Branch 1 taken 9918 times.
112412 for (int y = 0; y < height; y++) {
532
2/2
✓ Branch 0 taken 301520 times.
✓ Branch 1 taken 46288 times.
695616 for (int x = 0; x < width; x++) {
533 603040 dst[x] = av_clip_pixel((((CHROMA_FILTER(src, src_stride) >> (BIT_DEPTH - 8)) * wx + offset) >> shift) + ox);
534 }
535 92576 dst += dst_stride;
536 92576 src += src_stride;
537 }
538 19836 }
539
540 110112 static void FUNC(put_uni_chroma_w_hv)(uint8_t *_dst, ptrdiff_t _dst_stride,
541 const uint8_t *_src, ptrdiff_t _src_stride, int height, int denom, int wx, int ox,
542 const int8_t *hf, const int8_t *vf, int width)
543 {
544 int16_t tmp_array[(MAX_PB_SIZE + CHROMA_EXTRA) * MAX_PB_SIZE];
545 110112 int16_t *tmp = tmp_array;
546 110112 const pixel *src = (const pixel *)_src;
547 110112 pixel *dst = (pixel *)_dst;
548 110112 const ptrdiff_t src_stride = _src_stride / sizeof(pixel);
549 110112 const ptrdiff_t dst_stride = _dst_stride / sizeof(pixel);
550 110112 const int8_t *filter = hf;
551 110112 const int shift = denom + 14 - BIT_DEPTH;
552 #if BIT_DEPTH < 14
553 110112 const int offset = 1 << (shift - 1);
554 #else
555 const int offset = 0;
556 #endif
557
558 110112 src -= CHROMA_EXTRA_BEFORE * src_stride;
559
560
2/2
✓ Branch 0 taken 417916 times.
✓ Branch 1 taken 55056 times.
945944 for (int y = 0; y < height + CHROMA_EXTRA; y++) {
561
2/2
✓ Branch 0 taken 2399396 times.
✓ Branch 1 taken 417916 times.
5634624 for (int x = 0; x < width; x++)
562 4798792 tmp[x] = CHROMA_FILTER(src, 1) >> (BIT_DEPTH - 8);
563 835832 src += src_stride;
564 835832 tmp += MAX_PB_SIZE;
565 }
566
567 110112 tmp = tmp_array + CHROMA_EXTRA_BEFORE * MAX_PB_SIZE;
568 110112 filter = vf;
569
570 110112 ox = ox * (1 << (BIT_DEPTH - 8));
571
2/2
✓ Branch 0 taken 252748 times.
✓ Branch 1 taken 55056 times.
615608 for (int y = 0; y < height; y++) {
572
2/2
✓ Branch 0 taken 1626656 times.
✓ Branch 1 taken 252748 times.
3758808 for (int x = 0; x < width; x++)
573 3253312 dst[x] = av_clip_pixel((((CHROMA_FILTER(tmp, MAX_PB_SIZE) >> 6) * wx + offset) >> shift) + ox);
574 505496 tmp += MAX_PB_SIZE;
575 505496 dst += dst_stride;
576 }
577 110112 }
578

吃饭快的人是什么性格 什么是老年斑图片 九月三号是什么日子 汗疱疹用什么药好 尿胆红素高是什么原因
洗涤心灵是什么意思 替拉依是什么药 学考是什么意思 沙肝是什么 拉肚子发烧是什么原因
本座是什么意思 肠癌吃什么好 永垂不朽的垂是什么意思 为什么晚上睡不着 自己买什么药可以打胎
来龙去脉是什么生肖 舌头涩是什么原因 微博会员有什么功能 热感冒吃什么药 怀孕初期分泌物是什么样的
孩子手抖是什么原因hcv9jop6ns5r.cn 94年属什么生肖hcv9jop5ns5r.cn 二丁颗粒主要治什么病hcv9jop4ns4r.cn 七月初七是什么节日helloaicloud.com 李白号称什么hcv9jop6ns9r.cn
真命天子是什么生肖hcv7jop9ns3r.cn 柔式按摩是什么hcv9jop5ns4r.cn 神经电生理检查是什么qingzhougame.com 白羊属于什么象星座huizhijixie.com 叩齿是什么意思hcv9jop3ns5r.cn
双非是什么意思hcv8jop4ns1r.cn 为什么总是犯困想睡觉hanqikai.com 尿酸低是什么意思clwhiglsz.com 股骨头坏死是什么原因引起的hkuteam.com 周吴郑王是什么意思hcv8jop6ns4r.cn
惹是什么意思hcv8jop5ns5r.cn 大鼻是什么生肖hcv8jop8ns1r.cn 怕热出汗多是什么原因hcv8jop7ns1r.cn h1是什么意思hcv9jop0ns1r.cn 大运正官是什么意思hcv7jop5ns5r.cn
百度