经常喝咖啡有什么好处和坏处| 阻生齿是什么| 吃环孢素有什么副作用| 维生素c高是什么原因| 用什么锅炒菜对人体健康更有益| 狗咬到什么程度需要打针| exo什么时候出道的| 结售汇是什么意思| 胃胀吃什么药最有效| 身上长白色的斑点是什么原因| 黑色素通过什么排出来| 黑舌头的狗是什么狗| 男人的精子对女人有什么好处| 转机是什么意思| 肺大泡是什么| 秋刀鱼在中国叫什么鱼| 韧带拉伤吃什么药| 吃什么降血脂和胆固醇| 人活着的意义是什么| 盲肠憩室是什么意思| 天空是什么颜色| 梦见自己的哥哥死了是什么意思| 岔气了吃什么药| 麦的部首是什么| 手指甲软薄吃什么补| 怀孕的脉搏和正常脉搏有什么区别| 右眼老跳是什么原因| 大名鼎鼎是什么意思| 铁公鸡是什么意思| ou是什么意思| 胃溃疡是什么| 星链是什么| 鱼缸摆放什么位置最佳| 熬夜有什么坏处| 长是什么意思| 强的松又叫什么名字| 梦见小青蛇是什么预兆| 慎重考虑是什么意思| 腹股沟淋巴结肿大是什么原因| 女人吃火龙果有什么好处| 绞股蓝有什么功效| asics是什么牌子| 咳嗽干呕是什么原因| 自带bgm是什么意思| 烧心是什么原因引起的| 乳腺结节有什么危害| 汉朝后面是什么朝代| 窦性心律左室高电压什么意思| 女孩学什么专业好就业| 蒙字五行属什么| 烈日灼心什么意思| 七嘴八舌是什么生肖| 女是念什么| 肩周炎属于什么科室| 内分泌失调是什么意思| 秋天都有什么| ab型rh阳性是什么意思| 看肺子要挂什么科| 炎黄子孙是什么生肖| 梦见自己被绑架了是什么意思| 第二视角是什么意思| 杨利伟什么军衔| 小孩咳嗽挂什么科| 荷花开是什么季节| 真正的爱情是什么| 鼻毛变白什么征兆| 克感敏又叫什么| 肝小钙化灶是什么意思| 一什么清香| 乌豆是什么| 广西为什么简称桂| 震撼的意思是什么| 仙居杨梅什么时候上市| 射频是什么| 横空出世是什么意思| 尿泡沫多是什么原因| 年底是什么时候| 做照影是检查什么| 同房后出血什么原因| 中国铁塔是干什么的| 攥是什么意思| 对乙酰氨基酚是什么药| 梦见骑自行车是什么意思| 梦见自己头发长长了是什么意思| 阿卡波糖什么时候吃| siemens是什么品牌| 为感是什么意思| 吃什么补充酪氨酸酶| 疯狂动物城树懒叫什么| 打一个喷嚏代表什么| 包皮溃烂用什么药| 做梦人死了是什么征兆| 儿童红眼病用什么眼药水| 刺史是什么官职| 精子为什么是黄色的| 头部麻木是什么征兆| 胰岛素抵抗吃什么药| 12月24号是什么星座| 公元400年是什么朝代| ssr是什么意思| 干疮是什么样子的图片| 妈妈的爱是什么| 医保统筹支付什么意思| poa是什么意思| 近视吃什么改善视力| 胸闷憋气是什么原因| 白面是什么| 尿胆原弱阳性是什么意思| 摸金是什么意思| 静脉炎吃什么药| 去湿气吃什么药| 金丝檀木是什么木头| 灵芝不能和什么一起吃| 夏至为什么吃馄饨| 欧皇是什么意思| 左下腹痛是什么原因| 范仲淹是什么朝代的| 米其林什么意思| 1964属什么| 簋是什么意思| 外溢是什么意思| 春天开什么花| 朱元璋原名叫什么| 什么是基础病| 艾条什么牌子好用| 为什么万恶淫为首| 微白蛋白高是什么情况| 心梗做什么检查| 农历7月21日是什么星座| 多愁善感的动物是什么生肖| 懒趴是什么意思| AB型血型有什么优势| 10月份是什么星座| 伊拉克是什么人种| 孕妇多吃什么食物好| 刺猬爱吃什么| 鼻炎什么症状| 什么是肠梗阻| 仓鼠咬笼子是什么原因| 癫痫属于什么科| 放屁多是什么病的征兆| 门前栽什么树最好| 葡萄球菌是什么| 小猫的胡须有什么作用| 红绿色盲是什么遗传| 处心积虑是什么意思| 睡眠不好吃什么中成药| 严肃的什么| 白细胞高是什么意思| 燃面为什么叫燃面| 小粉是什么粉| roa是什么| sephora是什么牌子| 艾滋有什么症状| 梦见孩子拉粑粑是什么意思| 籍贯是什么意思| 看破不说破什么意思| 促黄体生成素是什么| 近亲是什么意思| 小三阳是什么| ana医学上是什么意思| ed患者是什么意思| 春天都开什么花| 甲状腺结节有什么症状| 灵魂契合是什么意思| 三点水一个分读什么| 没谁了是什么意思| 脚出汗多是什么原因怎么办| 动脉导管未闭对宝宝有什么影响| 泪点低是什么意思| 血液四项检查是什么| 为什么十五的月亮十六圆| 半什么三什么| 八月三号什么星座| 屎特别臭是什么原因| 熬夜吃什么好| 菜籽油是什么菜籽做的| 活泼的近义词是什么| 纳米丝是什么面料| 瘫痪是什么意思| 下线是什么意思| 尿带血是什么原因| 京东pop是什么意思| 腋毛上有白色附着物是什么| 12月21号是什么星座| cool什么意思中文| 头左边痛是什么原因| 新生儿黄疸吃什么药| des是什么意思| 腊八粥是什么节日| 眼屎多用什么眼药水| afp是什么| 鱼香肉丝属于什么菜系| 列席人员什么意思| 什么是机械表| 院士是什么级别| 卵泡破裂有什么症状| 生化全套主要检查什么| 喜悦之情溢于言表什么意思| 什么天揽月| 淘宝什么时候有活动| 白斑是什么| 正常的月经是什么颜色| 月经突然提前一周是什么原因| br是什么元素| 中筛是检查什么项目| 为什么会晕血| 锅巴吃多了有什么危害| 杰士邦是什么| 指腹为婚是什么意思| 烧裆是什么原因| 店小二是什么意思| 腰痛吃什么好| 什么是慢阻肺| 一个口一个有念什么| 别墅是什么意思| 护士是干什么的| 张国立老婆叫什么名字| 来姨妈吃什么好| 吃牛油果有什么好处| 空腹吃西红柿有什么危害| 腱鞘炎挂什么科| 柳对什么| 止血敏又叫什么| 四点半是什么时辰| 尿中泡沫多是什么原因| 大姨妈血块多是什么原因| 痰涎壅盛是什么意思| 巧囊是什么| 急性肠胃炎吃什么药| 豺是什么动物| 组织是什么意思| ml代表什么单位| 教师节送老师什么礼物最好| 慢性结肠炎是什么症状| 上传下达是什么意思| 角鲨烯有什么作用| 乳房肿胀是什么原因| 腹黑是什么意思| 什么是唐氏综合征| 耳返是什么| 如常所愿是什么意思| 食字五行属什么| 舌尖疼是什么原因| p是什么意思医学| 牙疳是什么意思| 睾丸是什么形状的| 糖精是什么| 赵本山什么时候去世的| 砖茶是什么茶| 透骨草治什么病最有效| 大姨妈期间适合吃什么水果| 为什么不建议光子嫩肤| 脖子长痘是什么原因引起的| 相伴是什么意思| 尿蛋白低是什么原因| ckd医学上是什么意思| 葛根粉吃了有什么作用| 九月一号是什么节日| 备孕什么意思| 玉是什么生肖| 名不见经传是什么意思| 血糖高喝什么酒好| 射进去有什么感觉| 百度

肥西举办学生机器人竞赛


Directory: ../../../ffmpeg/
File: src/libavcodec/snow_dwt.h
Date: 2025-08-04 00:43:16
Exec Total Coverage
Lines: 15 18 83.3%
Functions: 3 3 100.0%
Branches: 8 10 80.0%

Line Branch Exec Source
1 /*
2 * Copyright (C) 2004-2010 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
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (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 GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with FFmpeg; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 */
20
21 #ifndef AVCODEC_SNOW_DWT_H
22 #define AVCODEC_SNOW_DWT_H
23
24 #include <stddef.h>
25 #include <stdint.h>
26
27 #include "libavutil/attributes.h"
28
29 typedef struct MPVEncContext MPVEncContext;
30
31 typedef int DWTELEM;
32 typedef short IDWTELEM;
33
34 #define MAX_DECOMPOSITIONS 8
35
36 typedef struct DWTCompose {
37 IDWTELEM *b0;
38 IDWTELEM *b1;
39 IDWTELEM *b2;
40 IDWTELEM *b3;
41 int y;
42 } DWTCompose;
43
44 /** Used to minimize the amount of memory used in order to
45 * optimize cache performance. **/
46 typedef struct slice_buffer_s {
47 IDWTELEM **line; ///< For use by idwt and predict_slices.
48 IDWTELEM **data_stack; ///< Used for internal purposes.
49 int data_stack_top;
50 int line_count;
51 int line_width;
52 int data_count;
53 IDWTELEM *base_buffer; ///< Buffer that this structure is caching.
54 } slice_buffer;
55
56 struct SnowDWTContext;
57
58 typedef struct SnowDWTContext {
59 void (*vertical_compose97i)(IDWTELEM *b0, IDWTELEM *b1, IDWTELEM *b2,
60 IDWTELEM *b3, IDWTELEM *b4, IDWTELEM *b5,
61 int width);
62 void (*horizontal_compose97i)(IDWTELEM *b, IDWTELEM *temp, int width);
63 void (*inner_add_yblock)(const uint8_t *obmc, const int obmc_stride,
64 uint8_t **block, int b_w, int b_h, int src_x,
65 int src_y, int src_stride, slice_buffer *sb,
66 int add, uint8_t *dst8);
67 } SnowDWTContext;
68
69
70 #define DWT_97 0
71 #define DWT_53 1
72
73 #define liftS lift
74 #define W_AM 3
75 #define W_AO 0
76 #define W_AS 1
77
78 #undef liftS
79 #define W_BM 1
80 #define W_BO 8
81 #define W_BS 4
82
83 #define W_CM 1
84 #define W_CO 0
85 #define W_CS 0
86
87 #define W_DM 3
88 #define W_DO 4
89 #define W_DS 3
90
91 #define slice_buffer_get_line(slice_buf, line_num) \
92 ((slice_buf)->line[line_num] ? (slice_buf)->line[line_num] \
93 : ff_slice_buffer_load_line((slice_buf), \
94 (line_num)))
95
96 /* C bits used by mmx/sse2/altivec */
97
98 248 static av_always_inline void snow_interleave_line_header(int *i, int width, IDWTELEM *low, IDWTELEM *high)
99 {
100 248 *i = width - 2;
101
102
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 248 times.
248 if (width & 1) {
103 low[*i + 1] = low[(*i + 1)>>1];
104 (*i)--;
105 }
106 248 }
107
108 static av_always_inline void snow_interleave_line_footer(int *i, IDWTELEM *low, const IDWTELEM *high)
109 {
110 for (; *i >= 0; *i -= 2) {
111 low[*i + 1] = high[*i >> 1];
112 low[*i] = low[*i >> 1];
113 }
114 }
115
116 744 static av_always_inline void snow_horizontal_compose_lift_lead_out(int i, IDWTELEM *dst, const IDWTELEM *src, const IDWTELEM *ref, int width, int w, int lift_high, int mul, int add, int shift)
117 {
118
2/2
✓ Branch 0 taken 4992 times.
✓ Branch 1 taken 744 times.
5736 for (; i < w; i++)
119 4992 dst[i] = src[i] - ((mul * (ref[i] + ref[i + 1]) + add) >> shift);
120
121
2/2
✓ Branch 0 taken 496 times.
✓ Branch 1 taken 248 times.
744 if ((width ^ lift_high) & 1)
122 496 dst[w] = src[w] - ((mul * 2 * ref[w] + add) >> shift);
123 744 }
124
125 248 static av_always_inline void snow_horizontal_compose_liftS_lead_out(int i, IDWTELEM *dst, const IDWTELEM *src, const IDWTELEM *ref, int width, int w)
126 {
127
2/2
✓ Branch 0 taken 1664 times.
✓ Branch 1 taken 248 times.
1912 for (; i < w; i++)
128 1664 dst[i] = src[i] + ((ref[i] + ref[(i+1)]+W_BO + 4 * src[i]) >> W_BS);
129
130
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 248 times.
248 if (width & 1)
131 dst[w] = src[w] + ((2 * ref[w] + W_BO + 4 * src[w]) >> W_BS);
132 248 }
133
134 int ff_slice_buffer_init(slice_buffer *buf, int line_count,
135 int max_allocated_lines, int line_width,
136 IDWTELEM *base_buffer);
137 void ff_slice_buffer_release(slice_buffer *buf, int line);
138 void ff_slice_buffer_flush(slice_buffer *buf);
139 void ff_slice_buffer_destroy(slice_buffer *buf);
140 IDWTELEM *ff_slice_buffer_load_line(slice_buffer *buf, int line);
141
142 void ff_snow_inner_add_yblock(const uint8_t *obmc, const int obmc_stride,
143 uint8_t **block, int b_w, int b_h, int src_x,
144 int src_y, int src_stride, slice_buffer *sb,
145 int add, uint8_t *dst8);
146
147 int ff_w53_32_c(MPVEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t line_size, int h);
148 int ff_w97_32_c(MPVEncContext *v, const uint8_t *pix1, const uint8_t *pix2, ptrdiff_t line_size, int h);
149
150 void ff_spatial_dwt(int *buffer, int *temp, int width, int height, int stride,
151 int type, int decomposition_count);
152
153 void ff_spatial_idwt_buffered_init(DWTCompose *cs, slice_buffer *sb, int width,
154 int height, int stride_line, int type,
155 int decomposition_count);
156 void ff_spatial_idwt_buffered_slice(SnowDWTContext *dsp, DWTCompose *cs,
157 slice_buffer *slice_buf, IDWTELEM *temp,
158 int width, int height, int stride_line,
159 int type, int decomposition_count, int y);
160 void ff_spatial_idwt(IDWTELEM *buffer, IDWTELEM *temp, int width, int height,
161 int stride, int type, int decomposition_count);
162
163 void ff_dwt_init(SnowDWTContext *c);
164 void ff_dwt_init_x86(SnowDWTContext *c);
165
166 #endif /* AVCODEC_DWT_H */
167

fc什么意思 性行为是什么意思 什么样的 宫颈柱状上皮异位是什么意思 失眠吃什么中药调理效果快
whan是什么意思 血清肌酐高说明什么问题 花代表什么生肖 孕妇放屁多是什么原因 丈青色是什么颜色
水瓶座是什么星象 新疆为什么天黑的晚 理发师代表什么生肖 晚上吃什么不长胖 肠胃痉挛什么症状
swisse是什么药 自助餐是什么意思 猫咪踩奶是什么意思 5.25是什么星座 手一直脱皮是什么原因
黑舌头的狗是什么狗hcv8jop0ns0r.cn 什么叫戈壁滩hcv9jop4ns8r.cn 红细胞高什么原因hcv9jop0ns5r.cn 半夜是什么生肖xinjiangjialails.com 蛇爱吃什么食物hcv8jop2ns0r.cn
皮肤过敏忌口什么食物hcv9jop0ns0r.cn 上火吃什么hcv9jop2ns9r.cn 食粉是什么粉hcv8jop6ns3r.cn 王爷的儿子叫什么hcv8jop8ns9r.cn 什么是静脉血栓jingluanji.com
记忆力不好吃什么cl108k.com 缺钙应该吃什么hcv9jop4ns7r.cn rpr是什么意思hcv8jop4ns8r.cn 红薯什么时候种植最好hcv7jop7ns1r.cn 什么动物睡觉不闭眼睛hcv7jop5ns1r.cn
大姨妈期间不能吃什么东西hcv8jop3ns8r.cn 牛尾炖什么最好hcv7jop7ns2r.cn 单身为什么中指戴戒指hcv8jop0ns3r.cn 胡子发黄是什么原因hcv8jop4ns5r.cn 月经咖啡色是什么原因hcv9jop3ns4r.cn
百度