肠炎吃什么食物调理| 小孩拉肚子吃什么食物好| 食用酒精是什么做的| 孕妇做唐筛是检查什么| 压马路什么意思| 吃什么东西对肺部好| 什么药溶血栓最好| 步步高升是什么意思| champion什么意思| 喝什么降火| 龟头炎的症状是什么样| 三晋是什么意思| 蔷薇色是什么颜色| 养肝护肝吃什么好| 身上泡疹是什么引起的| 古代上班叫什么| 热闹非凡是什么意思| 为什么一站起来就头晕眼前发黑| 按摩椅什么品牌最好| 多吃西红柿有什么好处| 半夜是什么生肖| 高密度脂蛋白低是什么原因| 阴蒂痒是什么原因| 香港的海是什么海| 局气是什么意思| 什么是胶体| 刘嘉玲什么星座| 经常头疼是什么原因| 慢性肠炎吃什么药最好| 孩子不好好吃饭是什么原因| 打破伤风挂什么科| 千斤拔泡酒有什么功效| 无痕是什么意思| 秋葵和什么不能一起吃| 骨质疏松有什么症状| 孺子可教也什么意思| 颔是什么部位| 口腔溃疡白色的是什么| 健康是什么| 梦见买鞋子是什么意思| 2004年出生属什么| 肌无力是什么症状| 四条杠是什么牌子衣服| 心病是什么意思| 生物科技是做什么的| 6.7是什么星座| 沉肩是什么意思| 多动症去医院挂什么科室| 脚拇指发麻是什么原因| 透析病人吃什么水果好| 阳虚和阴虚有什么区别| 为什么早上起来眼睛肿| 寄生茶在什么树上最好| 什么样的田野| 子宫有积液是什么原因引起的| 706代血浆又叫什么| 白带带血丝是什么原因| 状元郎是什么生肖| 过生日送男朋友什么礼物好| 11月16号是什么星座| 半月板损伤有什么症状| 五音是什么| 血崩是什么症状| 菊花茶泡了为什么会变绿| 助听器什么牌子的好| 肌酸激酶高吃什么药| 钾低吃什么| 吃什么能美白| 什么原因导致流鼻血| 加拿大现在是什么时间| 感冒喝什么汤| 为什么手机打不出去电话| 子官肌瘤吃什么食物| 月经量少吃什么调理| oink是什么意思| 胆结石吃什么| 偏执什么意思| 梦见大蜘蛛是什么预兆| 大姨妈来吃什么好| praal00是什么型号| 九月28号是什么星座| 胃炎吃什么药最有效| 肝火旺吃什么中成药| 睾丸胀痛是什么原因| 疗愈是什么意思| gm墨镜是什么牌子| 才华横溢是什么生肖| 鳌鱼是什么鱼| 代表什么| 狗男和什么属相最配| 男人为什么累| 成龙姓什么| 蛇与什么属相相克相冲| 舌头痒痒的是什么原因| 智能眼镜有什么功能| 水字五行属什么| 长期做梦是什么原因| 十万个为什么作者是谁| 芍药什么时候开花| 满月打什么疫苗| 什么是软装| 藿香正气水有什么作用| 电脑什么牌子好| 猪肚炒什么好吃| 倾向是什么意思| 野馄饨是什么意思| 弓形虫是什么| 股骨头坏死是什么原因引起的| 甲亢是一种什么病严重吗| bench是什么牌子| 胃气上逆有什么好的办法治疗| 什么什么似火| 玉对人体有什么好处| 姑息治疗是什么意思| 什么叫增值税| ect是什么检查| 古丽是什么意思| 小针刀是什么手术| 心慌什么感觉| 什么是羊水栓塞| 社保局是干什么的| 甲炎是什么病| 你算什么东西| 黄疸偏高有什么危害| 幽门螺杆菌用什么药| 什么叫便溏| 爸爸生日送什么礼物| 躁郁症是什么| 日本买房子需要什么条件| 高铁座位为什么没有e座| 史诗级什么意思| 6个月宝宝可以吃什么辅食| 未必是什么意思| 风热感冒是什么意思| 甲状腺结节是什么引起的| 低密度脂蛋白胆固醇高是什么意思| 权倾朝野是什么意思| 飞水是什么意思| 异想天开是什么意思| 归脾丸的功效与作用治什么病| 君无戏言什么意思| 桑叶泡水喝有什么功效| t11椎体在什么位置| 喝茶为什么睡不着觉| 结甲可能是什么意思| 心房纤颤是什么意思| 缩阳什么意思| 女人吃牛蛙有什么好处| 腮腺炎吃什么消炎药| 为什么牙缝里的东西很臭| plano是什么意思| 出恭什么意思| 异常白细胞形态检查是查什么病| 糖尿病人早餐吃什么| 过期啤酒有什么用途| 在此是什么意思| 断念是什么意思| 垂是什么意思| 83年猪是什么命| 四妙丸有什么功效与作用| 舌头两侧溃疡吃什么药| 中性粒细胞偏高是什么原因| 七月初七是什么生肖| 法盲是什么意思| 男生生日送什么礼物好| 舌头发白吃什么药| 反清复明的组织叫什么| 右眼一直跳是什么原因| 安道尔微信暗示什么| 茄子什么人不能吃| 嘴唇挂什么科| 梦见新坟墓是什么预兆| 肝郁症是什么病| 奶奶过生日送什么礼物| 什么是头七| 锦五行属什么| 荔枝对身体有什么好处| 平板电脑是什么| 6月5号是什么星座的| 过敏嘴唇肿是什么原因| 流口水吃什么药最好| 脑供血不足吃什么药效果好| vodka是什么酒| 六月初六什么节| s925是什么意思| 肠化是什么意思| 喝冰美式有什么好处| 心脏不好喝什么茶比较好| nec医学上是什么意思| 康复治疗学主要学什么| 尿路结石吃什么药| 胆红素高说明什么| 1022是什么星座| 白羊座是什么性格| 火花是什么| 金字旁加各念什么| 眼睑红是什么原因| 牙膏洗脸有什么好处| 羊肉馅饺子配什么菜好| 垢是什么意思| 什么是知青| 胃立康片适合什么病| 山竹什么时候吃是应季| 胃炎适合吃什么食物| 吃中药能吃什么水果| b型血和o型血生的孩子是什么血型| 烂苹果气味的是什么病| 711是什么星座| 京东自营什么意思| 肛门里面疼是什么原因| 拉肚子适合吃什么| 脑梗吃什么药效果最好| 眩晕挂什么科室| 丈二和尚摸不着头脑是什么意思| 生二胎应该注意什么| 海阔什么| 柠檬酸是什么东西| 拉肚子吃什么药管用| 盗墓笔记讲了什么| 冠心病有什么症状| 歧路亡羊告诉我们什么道理| 化疗能吃什么水果| 额头和下巴长痘痘是什么原因| 什么属于轻微糖尿病| 烫伤什么时候能好| 潮热是什么意思| 国安局是什么单位| 喜欢白色的女人是什么性格| 头发硬是什么原因| 梦到借钱给别人什么意思| 党内的最高处分是什么| 石斛的作用是什么| 肾炎的饮食应注意什么| 吃什么降火| 斑秃挂什么科| 地塞米松是什么药| 食人鱼的天敌是什么| 刘字是什么偏旁| 生吃西红柿有什么好处| 梦见青蛙是什么意思| 15号是什么日子| 总是打嗝是什么原因| 血糖偏低是什么原因引起的| 去取环前需做什么准备| 人体最大的器官是什么| 办理残疾证需要什么材料| 款式是什么意思| 哮喘病有什么症状| 仰面朝天是什么生肖| 48岁属什么| 好事将近是什么意思| 系统性红斑狼疮挂什么科| 打饱嗝是什么原因造成的| 脑内散在缺血灶是什么意思| 希特勒为什么自杀| 蛇吃什么东西| 棠字五行属什么| 冥寿是什么意思| 为什么现在| 坐是什么结构| 尘肺病吃什么能排出尘| 一国两制什么时候提出的| 怀孕初期可以吃什么水果| 遗精是什么原因| 百度

【学习时刻学思践悟十九大】十九大代表刘文嘉:将“中国故事”上升为构建人类命运共同体的全球经验


Directory: ../../../ffmpeg/
File: src/libavcodec/rv60dsp.c
Date: 2025-08-04 00:43:16
Exec Total Coverage
Lines: 12 12 100.0%
Functions: 3 3 100.0%
Branches: 12 12 100.0%

Line Branch Exec Source
1 /*
2 * RV60 dsp routines
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 #include "rv60dsp.h"
22 #include "libavutil/common.h"
23
24 7642 void ff_rv60_idct4x4_add(const int16_t * block, uint8_t * dst, int dst_stride)
25 {
26 int tmp[16];
27 #define IDCT4X4(src, src_stride, src_step, dst, dst_stride, dst_step) \
28 for (int y = 0; y < 4; y++) { \
29 int a = src[y*src_stride + 0*src_step]; \
30 int b = src[y*src_stride + 1*src_step]; \
31 int c = src[y*src_stride + 2*src_step]; \
32 int d = src[y*src_stride + 3*src_step]; \
33 int t0 = 13 * (a + c); \
34 int t1 = 13 * (a - c); \
35 int t2 = 7 * b - 17 * d; \
36 int t3 = 7 * d + 17 * b; \
37 STORE(dst[y*dst_stride + 0*dst_step], (t0 + t3 + 16) >> 5); \
38 STORE(dst[y*dst_stride + 1*dst_step], (t1 + t2 + 16) >> 5); \
39 STORE(dst[y*dst_stride + 2*dst_step], (t1 - t2 + 16) >> 5); \
40 STORE(dst[y*dst_stride + 3*dst_step], (t0 - t3 + 16) >> 5); \
41 }
42 #define STORE(a, b) a = b
43
2/2
✓ Branch 0 taken 30568 times.
✓ Branch 1 taken 7642 times.
38210 IDCT4X4(block, 1, 4, tmp, 1, 4)
44 #undef STORE
45 #define STORE(a, b) a = av_clip_uint8(a + (b))
46
2/2
✓ Branch 0 taken 30568 times.
✓ Branch 1 taken 7642 times.
38210 IDCT4X4(tmp, 4, 1, dst, dst_stride, 1)
47 #undef STORE
48 7642 }
49
50 1207 void ff_rv60_idct8x8_add(const int16_t * block, uint8_t * dst, int dst_stride)
51 {
52 int tmp[64];
53 #define IDCT8X8(src, src_stride, src_step, dst, dst_stride, dst_step) \
54 for (int y = 0; y < 8; y++) { \
55 int a = src[y*src_stride + 0*src_step]; \
56 int b = src[y*src_stride + 1*src_step]; \
57 int c = src[y*src_stride + 2*src_step]; \
58 int d = src[y*src_stride + 3*src_step]; \
59 int e = src[y*src_stride + 4*src_step]; \
60 int f = src[y*src_stride + 5*src_step]; \
61 int g = src[y*src_stride + 6*src_step]; \
62 int h = src[y*src_stride + 7*src_step]; \
63 int t0 = 37 * (a + e); \
64 int t1 = 37 * (a - e); \
65 int t2 = 48 * c + 20 * g; \
66 int t3 = 20 * c - 48 * g; \
67 int t4 = t0 + t2; \
68 int t5 = t0 - t2; \
69 int t6 = t1 + t3; \
70 int t7 = t1 - t3; \
71 int t8 = 51 * b + 43 * d + 29 * f + 10 * h; \
72 int t9 = 43 * b - 10 * d - 51 * f - 29 * h; \
73 int ta = 29 * b - 51 * d + 10 * f + 43 * h; \
74 int tb = 10 * b - 29 * d + 43 * f - 51 * h; \
75 STORE(dst[y*dst_stride + 0*dst_step], (t4 + t8 + 64) >> 7); \
76 STORE(dst[y*dst_stride + 1*dst_step], (t6 + t9 + 64) >> 7); \
77 STORE(dst[y*dst_stride + 2*dst_step], (t7 + ta + 64) >> 7); \
78 STORE(dst[y*dst_stride + 3*dst_step], (t5 + tb + 64) >> 7); \
79 STORE(dst[y*dst_stride + 4*dst_step], (t5 - tb + 64) >> 7); \
80 STORE(dst[y*dst_stride + 5*dst_step], (t7 - ta + 64) >> 7); \
81 STORE(dst[y*dst_stride + 6*dst_step], (t6 - t9 + 64) >> 7); \
82 STORE(dst[y*dst_stride + 7*dst_step], (t4 - t8 + 64) >> 7); \
83 }
84 #define STORE(a, b) a = b
85
2/2
✓ Branch 0 taken 9656 times.
✓ Branch 1 taken 1207 times.
10863 IDCT8X8(block, 1, 8, tmp, 1, 8)
86 #undef STORE
87 #define STORE(a, b) a = av_clip_uint8(a + (b))
88
2/2
✓ Branch 0 taken 9656 times.
✓ Branch 1 taken 1207 times.
10863 IDCT8X8(tmp, 8, 1, dst, dst_stride, 1)
89 #undef STORE
90 1207 }
91
92 171 void ff_rv60_idct16x16_add(const int16_t * block, uint8_t * dst, int dst_stride)
93 {
94 int16_t tmp[256];
95 #define IDCT16X16(src, src_stride, src_step, dst, dst_stride, dst_step) \
96 for (int y = 0; y < 16; y++) { \
97 int a = src[y*src_stride + 0*src_step]; \
98 int b = src[y*src_stride + 1*src_step]; \
99 int c = src[y*src_stride + 2*src_step]; \
100 int d = src[y*src_stride + 3*src_step]; \
101 int e = src[y*src_stride + 4*src_step]; \
102 int f = src[y*src_stride + 5*src_step]; \
103 int g = src[y*src_stride + 6*src_step]; \
104 int h = src[y*src_stride + 7*src_step]; \
105 int i = src[y*src_stride + 8*src_step]; \
106 int j = src[y*src_stride + 9*src_step]; \
107 int k = src[y*src_stride + 10*src_step]; \
108 int l = src[y*src_stride + 11*src_step]; \
109 int m = src[y*src_stride + 12*src_step]; \
110 int n = src[y*src_stride + 13*src_step]; \
111 int o = src[y*src_stride + 14*src_step]; \
112 int p = src[y*src_stride + 15*src_step]; \
113 int t0 = 26 * (a + i); \
114 int t1 = 26 * (a - i); \
115 int t2 = 14 * e - 34 * m; \
116 int t3 = 34 * e + 14 * m; \
117 int t4 = t0 + t3; \
118 int t5 = t0 - t3; \
119 int t6 = t1 + t2; \
120 int t7 = t1 - t2; \
121 int tmp00 = 31 * c - 7 * g - 36 * k - 20 * o; \
122 int tmp01 = 36 * c + 31 * g + 20 * k + 7 * o; \
123 int tmp02 = 20 * c - 36 * g + 7 * k + 31 * o; \
124 int tmp03 = 7 * c - 20 * g + 31 * k - 36 * o; \
125 int tm0 = t4 + tmp01; \
126 int tm1 = t4 - tmp01; \
127 int tm2 = t5 + tmp03; \
128 int tm3 = t5 - tmp03; \
129 int tm4 = t6 + tmp00; \
130 int tm5 = t6 - tmp00; \
131 int tm6 = t7 + tmp02; \
132 int tm7 = t7 - tmp02; \
133 int tt0 = 37 * b + 35 * d + 32 * f + 28 * h + 23 * j + 17 * l + 11 * n + 4 * p; \
134 int tt1 = 35 * b + 23 * d + 4 * f - 17 * h - 32 * j - 37 * l - 28 * n - 11 * p; \
135 int tt2 = 32 * b + 4 * d - 28 * f - 35 * h - 11 * j + 23 * l + 37 * n + 17 * p; \
136 int tt3 = 28 * b - 17 * d - 35 * f + 4 * h + 37 * j + 11 * l - 32 * n - 23 * p; \
137 int tt4 = 23 * b - 32 * d - 11 * f + 37 * h - 4 * j - 35 * l + 17 * n + 28 * p; \
138 int tt5 = 17 * b - 37 * d + 23 * f + 11 * h - 35 * j + 28 * l + 4 * n - 32 * p; \
139 int tt6 = 11 * b - 28 * d + 37 * f - 32 * h + 17 * j + 4 * l - 23 * n + 35 * p; \
140 int tt7 = 4 * b - 11 * d + 17 * f - 23 * h + 28 * j - 32 * l + 35 * n - 37 * p; \
141 STORE(dst[y*dst_stride+ 0*dst_step], (tm0 + tt0 + 64) >> 7); \
142 STORE(dst[y*dst_stride+ 1*dst_step], (tm4 + tt1 + 64) >> 7); \
143 STORE(dst[y*dst_stride+ 2*dst_step], (tm6 + tt2 + 64) >> 7); \
144 STORE(dst[y*dst_stride+ 3*dst_step], (tm2 + tt3 + 64) >> 7); \
145 STORE(dst[y*dst_stride+ 4*dst_step], (tm3 + tt4 + 64) >> 7); \
146 STORE(dst[y*dst_stride+ 5*dst_step], (tm7 + tt5 + 64) >> 7); \
147 STORE(dst[y*dst_stride+ 6*dst_step], (tm5 + tt6 + 64) >> 7); \
148 STORE(dst[y*dst_stride+ 7*dst_step], (tm1 + tt7 + 64) >> 7); \
149 STORE(dst[y*dst_stride+ 8*dst_step], (tm1 - tt7 + 64) >> 7); \
150 STORE(dst[y*dst_stride+ 9*dst_step], (tm5 - tt6 + 64) >> 7); \
151 STORE(dst[y*dst_stride+ 10*dst_step], (tm7 - tt5 + 64) >> 7); \
152 STORE(dst[y*dst_stride+ 11*dst_step], (tm3 - tt4 + 64) >> 7); \
153 STORE(dst[y*dst_stride+ 12*dst_step], (tm2 - tt3 + 64) >> 7); \
154 STORE(dst[y*dst_stride+ 13*dst_step], (tm6 - tt2 + 64) >> 7); \
155 STORE(dst[y*dst_stride+ 14*dst_step], (tm4 - tt1 + 64) >> 7); \
156 STORE(dst[y*dst_stride+ 15*dst_step], (tm0 - tt0 + 64) >> 7); \
157 }
158 #define STORE(a, x) a = av_clip_intp2(x, 15)
159
2/2
✓ Branch 0 taken 2736 times.
✓ Branch 1 taken 171 times.
2907 IDCT16X16(block, 1, 16, tmp, 1, 16)
160 #undef STORE
161 #define STORE(a, x) a = av_clip_uint8(a + (x))
162
2/2
✓ Branch 0 taken 2736 times.
✓ Branch 1 taken 171 times.
2907 IDCT16X16(tmp, 16, 1, dst, dst_stride, 1)
163 #undef STORE
164 171 }
165

锅烧是什么 什么的星空 吃什么能补雌激素 养生馆是干什么的 hospital是什么意思
肾虚腰疼吃什么药最有效 痔疮肛瘘是什么症状 孕激素高是什么原因 2月1日什么星座 霸天虎和威震天是什么关系
内膜增生是什么意思 儿童吃什么 思维敏捷是什么意思 缺钠是什么原因造成的 什么是电离辐射
三个龙是什么字 啤酒不能和什么一起吃 牙齿挂什么科 紫荆花什么时候开 德不配位是什么意思
低密度脂蛋白偏低是什么意思hcv8jop3ns0r.cn 英语八级是什么水平hcv8jop5ns4r.cn 营养神经吃什么药效果好hcv8jop2ns5r.cn 过期的维生素e有什么用途hcv9jop5ns8r.cn 上火吃什么食物hcv8jop4ns6r.cn
家里出现蜈蚣是什么预兆hcv7jop6ns0r.cn 人为什么要生孩子hcv7jop9ns3r.cn 56岁属什么hcv8jop2ns1r.cn ntr是什么意思啊qingzhougame.com 八字加一笔是什么字96micro.com
肛裂用什么药治最好效果最快hcv8jop2ns5r.cn 什么情况需要割包皮hcv8jop6ns4r.cn 熊猫血型是什么血型hcv9jop3ns8r.cn 农历八月初三是什么星座hcv8jop9ns3r.cn 地贫有什么症状hcv9jop0ns3r.cn
脑白质疏松是什么意思hcv8jop2ns4r.cn 得宝松是什么药hcv8jop4ns3r.cn 什么饮料不含糖hcv9jop4ns1r.cn 迦字五行属什么aiwuzhiyu.com electrolux是什么牌子hcv8jop5ns7r.cn
百度