猫弓背什么意思| 钢铁侠叫什么名字| 小孩口腔溃疡是什么原因引起的| 脾胃是什么意思| 什么是周期| 体内湿气重吃什么食物| 粉色分泌物是什么原因| 8月31号是什么星座| 领证需要准备什么| 午时右眼跳是什么预兆| 梦到女鬼是什么意思| human是什么意思| 什么是阳虚什么是阴虚| 什么是乌龙茶| 的意思是什么| 仿佛是什么意思| 饭票是什么意思| 睾丸是什么意思| 十月五号是什么星座| 小孩风热感冒吃什么药| 一代明君功千秋是什么生肖| 风格是什么意思| 一直打喷嚏是什么原因| 为什么手脚老是出汗| 一朵什么| 子宫偏大是什么原因| 什么补肾最好| 肺癌晚期有什么症状| 姻缘是什么意思| 心梗做什么检查| 出的汗是凉的什么原因| 什么叫绝对值| 上山下乡是什么意思| 胆囊炎需要注意什么| 三叉神经吃什么药好| 梦见西红柿什么意思| 大能是什么意思| 疱疹性咽峡炎吃什么药最管用| 落差是什么意思| 什能组什么词| 为什么学习| 梦见戴孝是什么意思| 真实是什么意思| 志司是什么意思| spank是什么意思| 翊读什么| 梦见拔花生是什么预兆| 十月份什么星座| 巡礼是什么意思| 三点水的字和什么有关| 举措前面搭配什么| 海军蓝是什么颜色| 问加一笔是什么字| 舌头裂痕是什么原因| 右眼跳什么| 皮肤擦伤用什么药最好| 外阴炎什么症状| 无忧什么意思| 牙套脸是什么样| 舒畅的舅舅是做什么的| 胃寒吃什么可以暖胃| 双子女和什么星座最配| 尿里有泡沫是什么原因| 眉毛白是什么原因引起的| 属羊的和什么属相最配| 客套是什么意思| 支原体感染吃什么药好| 奥林匹克精神是什么| 建档需要做什么检查| 脱氢酶高是什么原因| 庄子是什么学派| 蔻驰和古驰有什么区别| 思伤脾是什么意思| 检验葡萄糖用什么试剂| 孙权和孙策是什么关系| 血压和血糖有什么关系| 什么动物没尾巴| 为什么近视不可逆| 冷宫是什么意思| 农历什么年| 螨虫用什么药可以杀死它| 老年人贫血吃什么补血最快最有效| 湿气用什么药最好最快| 坚果都有什么| 保温杯什么牌子好| 奇异果和猕猴桃有什么区别| 鬼迷日眼是什么意思| 小便多吃什么药| 尿次数多是什么原因| 拉肚子吃什么菜| 小孩尖叫是什么原因| sport什么品牌| 榴莲什么味道| 热症是什么意思| 阴差阳错代表什么生肖| 表象是什么意思| 频繁感冒是什么原因| 梦见绿豆是什么意思| 鸡蛋壳属于什么垃圾| 梦见买鞋子是什么意思| 吃得什么| 做健身教练有什么要求| 辅酶q10什么时间吃最好| 胸痛吃什么药| 常打嗝是什么原因| 马子是什么意思| boq是什么意思| 猴子尾巴的作用是什么| 狮子座与什么星座最配| 耐人寻味是什么意思| 一毛三是什么军衔| 手持吸尘器什么牌子好| 手心发热是什么原因| 紫菜和海苔有什么区别| 真实是什么意思| 锅底灰能治什么病| 孕妇吃什么最好| 南通在江苏什么位置| 黑裙子配什么鞋子| 满载而归的载是什么意思| 检查肾挂什么科| 补充电解质是什么意思| 打嗝是什么意思| 属羊的和什么属相最配| 37岁属什么| 早射吃什么药可以调理| 果可以加什么偏旁| 现在做什么最赚钱| 李小龙属什么生肖| 妄念是什么意思| 女生为什么喊你男神| 北极有什么动物| 什么是沉没成本| 盲约大结局是什么| 腮腺炎什么症状| 1952年属什么| 衣服38码相当于什么码| 膀胱在什么位置图片| 郭敬明为什么叫小四| 万条垂下绿丝绦是什么季节| 润肺吃什么| 真菌镜检阴性是什么意思| 什么不什么声| 胎儿缺氧是什么原因造成的| 乳酸杆菌大量是什么意思| 到底为了什么| 猪朋狗友是什么意思| 肺气虚吃什么食物| 抽筋是缺什么| 幽门螺旋杆菌挂什么科| 降血脂有什么好办法| 五三年属什么生肖| 打嗝多是什么原因| 甘之如饴什么意思| 不明原因腹痛挂什么科| 红外线是什么| 喝酒后胃疼吃什么药| 破屋是什么意思| 深度水解奶粉是什么意思| 为什么叫夺命大乌苏| 憨厚老实是什么意思| k是什么单位| pm是什么单位| 劲酒兑什么饮料好喝| 排卵试纸什么时候测最准| 胃酸吃什么能缓解| 胃嗳气是什么原因| 黑色水笔是什么笔| rb是什么| 缺血灶是什么意思| 肌肉的作用是什么| 同病相怜是什么意思| 骨折可以吃什么| pm2.5是什么| 心绞痛是什么原因引起的| 功是什么| 乙肝有什么明显的症状| 歆是什么意思| 长期吃面条对身体有什么影响| 出单是什么意思| 两弹一星指什么| 功课是什么意思| 边长是什么| 42是什么生肖| 小肚子大是什么原因| 大骨节病是一种什么病| 怀孕做糖耐是检查什么| 喝醉酒是什么感觉| 少校军衔是什么级别| 龙眼什么时候上市| 随便你是什么意思| 甲状腺结节什么引起的| 吃胎盘有什么好处| 漂脱是什么意思| 护照拍照穿什么衣服| 什么牌子的充电宝好| 吃什么可以祛痘排毒| 12583是什么电话| 国防部部长什么级别| 眼色是什么意思| 燕窝是什么| bq是什么意思啊| 肌酐700多意味着什么| 女士喝什么茶叶对身体好| 鼻窦炎吃什么药| 人造石是什么材料做的| 肝结节是什么病严重吗| o型血吃什么瘦的最快| 吃什么解腻| 处女座属于什么星象| rts是什么意思| 吃什么可以增加抵抗力和免疫力| vans属于什么档次| 马赫是什么意思| 脑梗什么原因导致的| 离经之血是什么意思| 颈椎病用什么药| 奶豆腐是什么| 大专什么专业就业前景好| 马跟什么相冲| 姨妈期可以做什么运动| 梦见猫咪会有什么预兆| 叶酸什么时候吃| 11年属什么| 蛇胆是什么| 脾胃虚寒吃什么水果好| inshop女装中文叫什么| mv是什么单位| 叶黄素什么时间吃最好| hpv亚型是什么意思| 什么主皮毛| 得偿所愿是什么意思| 为什么水能灭火| 为什么会生化妊娠| 上午八点是什么时辰| 眼睛一直跳是什么原因| 尿频吃什么药| 懒是什么生肖| 草木皆兵指什么生肖| 排卵期一般是什么时候| 胸部周围痒是什么原因| 停车坐爱枫林晚中的坐是什么意思| 美国什么时候建国的| 女性尿里带血是什么原因| 延时吃什么药| 免疫力差吃什么| 睡眠不好是什么原因| 感冒全身酸痛吃什么药| fnh是什么病| 四月十五什么星座| 唱过什么歌| 虎牙长什么样子| 女同是什么意思| 沙加女是什么字| 前列腺是什么器官| 10月6日是什么星座| 嗓子哑了吃什么药好| 阴平阳秘是什么意思| 机位是什么意思| 弟弟的孩子叫姐姐什么| 天时地利人和什么意思| 纳豆什么味道| 核桃什么时候吃最好| 什么是富氢水| 百度

酷派停牌或延迟发2016年业绩 此前预警将亏30..


Directory: ../../../ffmpeg/
File: src/libavcodec/dv.c
Date: 2025-08-04 00:43:16
Exec Total Coverage
Lines: 63 74 85.1%
Functions: 2 2 100.0%
Branches: 38 45 84.4%

Line Branch Exec Source
1 /*
2 * DV decoder
3 * Copyright (c) 2002 Fabrice Bellard
4 * Copyright (c) 2004 Roman Shaposhnik
5 *
6 * DV encoder
7 * Copyright (c) 2003 Roman Shaposhnik
8 *
9 * 50 Mbps (DVCPRO50) support
10 * Copyright (c) 2006 Daniel Maas <dmaas@maasdigital.com>
11 *
12 * 100 Mbps (DVCPRO HD) support
13 * Initial code by Daniel Maas <dmaas@maasdigital.com> (funded by BBC R&D)
14 * Final code by Roman Shaposhnik
15 *
16 * Many thanks to Dan Dennedy <dan@dennedy.org> for providing wealth
17 * of DV technical info.
18 *
19 * This file is part of FFmpeg.
20 *
21 * FFmpeg is free software; you can redistribute it and/or
22 * modify it under the terms of the GNU Lesser General Public
23 * License as published by the Free Software Foundation; either
24 * version 2.1 of the License, or (at your option) any later version.
25 *
26 * FFmpeg is distributed in the hope that it will be useful,
27 * but WITHOUT ANY WARRANTY; without even the implied warranty of
28 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
29 * Lesser General Public License for more details.
30 *
31 * You should have received a copy of the GNU Lesser General Public
32 * License along with FFmpeg; if not, write to the Free Software
33 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
34 */
35
36 /**
37 * @file
38 * DV codec.
39 */
40
41 #include <stdint.h>
42
43 #include "libavutil/pixfmt.h"
44
45 #include "dv_internal.h"
46 #include "dv_profile.h"
47
48 47223 static inline void dv_calc_mb_coordinates(const AVDVProfile *d, int chan,
49 int seq, int slot, uint16_t *tbl)
50 {
51 static const uint8_t off[] = { 2, 6, 8, 0, 4 };
52 static const uint8_t shuf1[] = { 36, 18, 54, 0, 72 };
53 static const uint8_t shuf2[] = { 24, 12, 36, 0, 48 };
54 static const uint8_t shuf3[] = { 18, 9, 27, 0, 36 };
55
56 static const uint8_t l_start[] = { 0, 4, 9, 13, 18, 22, 27, 31, 36, 40 };
57 static const uint8_t l_start_shuffled[] = { 9, 4, 13, 0, 18 };
58
59 static const uint8_t serpent1[] = {
60 0, 1, 2, 2, 1, 0,
61 0, 1, 2, 2, 1, 0,
62 0, 1, 2, 2, 1, 0,
63 0, 1, 2, 2, 1, 0,
64 0, 1, 2
65 };
66 static const uint8_t serpent2[] = {
67 0, 1, 2, 3, 4, 5, 5, 4, 3, 2, 1, 0,
68 0, 1, 2, 3, 4, 5, 5, 4, 3, 2, 1, 0,
69 0, 1, 2, 3, 4, 5
70 };
71
72 static const uint8_t remap[][2] = {
73 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, /* dummy */
74 { 0, 0 }, { 0, 1 }, { 0, 2 }, { 0, 3 }, { 10, 0 },
75 { 10, 1 }, { 10, 2 }, { 10, 3 }, { 20, 0 }, { 20, 1 },
76 { 20, 2 }, { 20, 3 }, { 30, 0 }, { 30, 1 }, { 30, 2 },
77 { 30, 3 }, { 40, 0 }, { 40, 1 }, { 40, 2 }, { 40, 3 },
78 { 50, 0 }, { 50, 1 }, { 50, 2 }, { 50, 3 }, { 60, 0 },
79 { 60, 1 }, { 60, 2 }, { 60, 3 }, { 70, 0 }, { 70, 1 },
80 { 70, 2 }, { 70, 3 }, { 0, 64 }, { 0, 65 }, { 0, 66 },
81 { 10, 64 }, { 10, 65 }, { 10, 66 }, { 20, 64 }, { 20, 65 },
82 { 20, 66 }, { 30, 64 }, { 30, 65 }, { 30, 66 }, { 40, 64 },
83 { 40, 65 }, { 40, 66 }, { 50, 64 }, { 50, 65 }, { 50, 66 },
84 { 60, 64 }, { 60, 65 }, { 60, 66 }, { 70, 64 }, { 70, 65 },
85 { 70, 66 }, { 0, 67 }, { 20, 67 }, { 40, 67 }, { 60, 67 }
86 };
87
88 int i, k, m;
89 int x, y, blk;
90
91
2/2
✓ Branch 0 taken 236115 times.
✓ Branch 1 taken 47223 times.
283338 for (m = 0; m < 5; m++) {
92
3/5
✓ Branch 0 taken 91125 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 35100 times.
✓ Branch 3 taken 109890 times.
✗ Branch 4 not taken.
236115 switch (d->width) {
93 91125 case 1440:
94 91125 blk = (chan * 11 + seq) * 27 + slot;
95
96
4/4
✓ Branch 0 taken 24300 times.
✓ Branch 1 taken 66825 times.
✓ Branch 2 taken 2025 times.
✓ Branch 3 taken 22275 times.
91125 if (chan == 0 && seq == 11) {
97 2025 x = m * 27 + slot;
98
2/2
✓ Branch 0 taken 1350 times.
✓ Branch 1 taken 675 times.
2025 if (x < 90) {
99 1350 y = 0;
100 } else {
101 675 x = (x - 90) * 2;
102 675 y = 67;
103 }
104 } else {
105 89100 i = (4 * chan + blk + off[m]) % 11;
106 89100 k = (blk / 11) % 27;
107
108 89100 x = shuf1[m] + (chan & 1) * 9 + k % 9;
109 89100 y = (i * 3 + k / 9) * 2 + (chan >> 1) + 1;
110 }
111 91125 tbl[m] = (x << 1) | (y << 9);
112 91125 break;
113 case 1280:
114 blk = (chan * 10 + seq) * 27 + slot;
115
116 i = (4 * chan + (seq / 5) + 2 * blk + off[m]) % 10;
117 k = (blk / 5) % 27;
118
119 x = shuf1[m] + (chan & 1) * 9 + k % 9;
120 y = (i * 3 + k / 9) * 2 + (chan >> 1) + 4;
121
122 if (x >= 80) {
123 x = remap[y][0] + ((x - 80) << (y > 59));
124 y = remap[y][1];
125 }
126 tbl[m] = (x << 1) | (y << 9);
127 break;
128 35100 case 960:
129 35100 blk = (chan * 10 + seq) * 27 + slot;
130
131 35100 i = (4 * chan + (seq / 5) + 2 * blk + off[m]) % 10;
132 35100 k = (blk / 5) % 27 + (i & 1) * 3;
133
134 35100 x = shuf2[m] + k % 6 + 6 * (chan & 1);
135 35100 y = l_start[i] + k / 6 + 45 * (chan >> 1);
136 35100 tbl[m] = (x << 1) | (y << 9);
137 35100 break;
138 109890 case 720:
139
3/4
✓ Branch 0 taken 45360 times.
✓ Branch 1 taken 38880 times.
✓ Branch 2 taken 25650 times.
✗ Branch 3 not taken.
109890 switch (d->pix_fmt) {
140 45360 case AV_PIX_FMT_YUV422P:
141 45360 x = shuf3[m] + slot / 3;
142 45360 y = serpent1[slot] +
143 45360 ((((seq + off[m]) % d->difseg_size) << 1) + chan) * 3;
144 45360 tbl[m] = (x << 1) | (y << 8);
145 45360 break;
146 38880 case AV_PIX_FMT_YUV420P:
147 38880 x = shuf3[m] + slot / 3;
148 38880 y = serpent1[slot] +
149 38880 ((seq + off[m]) % d->difseg_size) * 3;
150 38880 tbl[m] = (x << 1) | (y << 9);
151 38880 break;
152 25650 case AV_PIX_FMT_YUV411P:
153 25650 i = (seq + off[m]) % d->difseg_size;
154
4/4
✓ Branch 0 taken 20520 times.
✓ Branch 1 taken 5130 times.
✓ Branch 2 taken 5130 times.
✓ Branch 3 taken 15390 times.
25650 k = slot + ((m == 1 || m == 2) ? 3 : 0);
155
156 25650 x = l_start_shuffled[m] + k / 6;
157 25650 y = serpent2[k] + i * 6;
158
2/2
✓ Branch 0 taken 570 times.
✓ Branch 1 taken 25080 times.
25650 if (x > 21)
159 570 y = y * 2 - i * 6;
160 25650 tbl[m] = (x << 2) | (y << 8);
161 25650 break;
162 }
163 default:
164 109890 break;
165 }
166 }
167 47223 }
168
169 83 void ff_dv_init_dynamic_tables(DVwork_chunk *work_chunks, const AVDVProfile *d)
170 {
171 int j, i, c, s, p;
172
173 83 p = i = 0;
174
2/2
✓ Branch 0 taken 155 times.
✓ Branch 1 taken 83 times.
238 for (c = 0; c < d->n_difchan; c++) {
175
2/2
✓ Branch 0 taken 1846 times.
✓ Branch 1 taken 155 times.
2001 for (s = 0; s < d->difseg_size; s++) {
176 1846 p += 6;
177
2/2
✓ Branch 0 taken 49842 times.
✓ Branch 1 taken 1846 times.
51688 for (j = 0; j < 27; j++) {
178 49842 p += !(j % 3);
179
7/8
✓ Branch 0 taken 19440 times.
✓ Branch 1 taken 30402 times.
✓ Branch 2 taken 19440 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 14580 times.
✓ Branch 5 taken 4860 times.
✓ Branch 6 taken 13365 times.
✓ Branch 7 taken 1215 times.
49842 if (!(DV_PROFILE_IS_1080i50(d) && c != 0 && s == 11) &&
180
5/6
✓ Branch 0 taken 8424 times.
✓ Branch 1 taken 40203 times.
✓ Branch 2 taken 8424 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 7020 times.
✓ Branch 5 taken 1404 times.
48627 !(DV_PROFILE_IS_720p50(d) && s > 9)) {
181 47223 dv_calc_mb_coordinates(d, c, s, j, &work_chunks[i].mb_coordinates[0]);
182 47223 work_chunks[i++].buf_offset = p;
183 }
184 49842 p += 5;
185 }
186 }
187 }
188 83 }
189

过是什么结构的字 奶思是什么意思 里急后重吃什么药最好 分身是什么意思 梦见假牙掉了是什么意思
为什么出汗有酸臭味 站桩有什么好处 乙肝核心抗体阳性是什么意思 湿疹擦什么药膏 水瓶男喜欢什么样的女生
心是什么结构 地主是什么生肖 猴日冲虎是什么意思 七月十六是什么星座 茄子能治什么病
2023是什么年 10.11是什么星座 舌炎吃什么药好得快 同型半胱氨酸是什么意思 寂是什么意思
阴道瘙痒是什么原因造成的hcv9jop1ns2r.cn 梦见爆炸是什么意思onlinewuye.com 白毫银针属于什么茶hcv8jop6ns9r.cn 古代地龙是什么hcv8jop6ns8r.cn 贼不走空什么意思hcv7jop9ns5r.cn
apgar评分是什么意思hcv8jop5ns0r.cn 核桃壳有什么用hcv8jop2ns9r.cn 吃什么去湿气最好最快hcv8jop5ns1r.cn 什么是调和油hcv9jop3ns6r.cn 发高烧是什么原因引起的hcv8jop0ns5r.cn
四大菩萨分别保佑什么hcv9jop1ns1r.cn 筋是什么组织hcv8jop6ns3r.cn 乳腺炎不能吃什么hcv9jop4ns7r.cn 周遭是什么意思hcv8jop6ns5r.cn 胃老是恶心想吐是什么原因clwhiglsz.com
dc是什么hcv9jop1ns7r.cn 什么火锅最好吃hcv8jop6ns9r.cn 什么人吃天麻最好hcv7jop9ns0r.cn 空调一匹是什么意思hcv7jop9ns6r.cn 樱桃不能和什么一起吃hcv8jop3ns3r.cn
百度