散光是什么意思| 新生儿为什么有黄疸| 橄榄菜是什么菜| 300分能上什么大学| 红斑狼疮有什么症状| 人血白蛋白适合什么人| 肛门瘙痒用什么药| 两个束念什么| 127是什么意思| 低血压是什么| 天灾人祸什么意思| 孢子阳性是什么意思| 药物流产后需要注意什么| 脑子瓦特了什么意思| 巧克力有什么功效与作用| luky是什么意思| 肺结节是什么症状| 欣赏一个人是什么意思| 夜里咳嗽是什么原因| 什么是先兆流产| 一个田一个比念什么| 胎盘位置低有什么危险| php是什么意思| 吊孝是什么意思| 扁桃体结石吃什么药| 骨折吃什么补品| 岁寒三友是什么意思| 无法入睡是什么原因| 间接胆红素偏高吃什么药| 狗哭了代表什么预兆| 积滞是什么意思| 什么是瞬时速度| 鹅蛋有什么营养| 牙酸是什么原因| 梦见自己大便是什么意思| 晚上睡不着是什么原因| 白发是什么原因引起的| 如花是什么意思| 血糖高适合吃什么零食| 曲率是什么意思| 肝是起什么作用的| 什么时期最容易怀孕| 落汤鸡是什么意思| 鳝鱼吃什么食物| 三双是什么意思| 朱砂痣什么意思| 香蕉为什么不能放冰箱| 对虾是什么虾| 嘴唇痒边缘痒用什么药| 钼靶检查是什么意思| 脚心抽筋是什么原因引起的| 脚底灼热是什么原因| 舌根苔白厚腻是什么原因| 什么蛋白质含量高| 什么什么之什么| 什么是血管瘤| 刀子嘴豆腐心什么意思| 熬夜伤什么器官| 吃什么尿酸降得快| dmc是什么意思| 什么姓氏排第一| 跟腱为什么会断裂| 喝什么泡水降血压最好| 灰指甲有什么危害| 手背上长痣代表什么| 什么什么挺立| 王力是什么字| 为什么喝咖啡会拉肚子| 尿常规是检查什么的| 为什么学习不好| 乳腺增生是什么| 父母有刑是什么意思| 养胃吃什么食物最好| 中元节不能穿什么衣服| 眼帘是什么意思| 肚脐眼周围痛挂什么科| 吃什么补钾| 靳东妹妹叫什么名字| 菠萝与凤梨有什么区别| 香蕉水是什么| 嗓子痒吃什么药| 早上尿黄是什么原因| 像蜈蚣一样的虫子叫什么| 猫能看到什么颜色| 罚的部首是什么| 了解是什么意思| 高处不胜寒什么意思| 眼睛干涩疲劳用什么眼药水| 什么人容易得心理疾病| 怀孕初期流产有什么症状| amh是什么意思| 补钾用什么药| 胰腺疼吃什么药| gas是什么意思| 直肠炎是什么原因引起的| 角化异常性疾病是什么| 人乳头瘤病毒33型阳性是什么意思| 阴道口痒用什么药好| 脱发吃什么维生素| 低血压高吃什么药| hbsag阴性是什么意思| 石斛是什么| 每个月月经都推迟是什么原因| 衣带渐宽终不悔是什么意思| 包罗万象是什么意思| 经络是什么意思| 肝火旺吃什么中药| xxs是什么意思| 什么颜色加什么颜色等于黑色| 改善记忆力吃什么药好| 女性气血不足吃什么调理| 相破是什么意思| 丹参滴丸和丹参片有什么区别| 牙疼可以吃什么药| 矢量是什么意思| 铜陵有什么好玩的地方| 瓜子脸适合剪什么刘海| 阴阳先生是干什么的| mpn是什么意思| 内分泌代谢科是看什么病的| 胎儿左心室灶状强回声是什么意思| 南辕北辙告诉我们什么道理| 负责任是什么意思| 银子为什么会变黑| 东倒西歪是什么意思| 奶茶喝多了有什么危害| 伤风胶囊又叫什么| 山水不相逢什么意思| 小孩子注意力不集中是什么原因| 手背出汗是什么原因| 中暑吃什么食物好| 年岁是什么意思| 口腔溃疡缺什么维生素| 高危性行为是什么| 荸荠读音是什么| 生长激素由什么分泌| 水瓶女和什么座最配| 食指比无名指长代表什么| 口坐念什么| 肉苁蓉与什么搭配好| 长生殿讲的是什么故事| 一家之主是什么意思| 得五行属什么| 感性是什么意思| 生男生女取决于什么| 49年属什么生肖| 1985年什么命| 印第安人是什么人种| t11椎体在什么位置| 强项是什么意思| 晚8点是什么时辰| 什么食物是碱性的| 卵泡不破是什么原因| 为什么会得经期综合症| 小孩腰疼是什么原因引起的| ins风格是什么| 体寒是什么原因引起的| babyface是什么意思| 什么是槟榔| 三角区长痘痘是什么原因| 丹参滴丸和丹参片有什么区别| PPm什么意思| 六字真言是什么意思| 梦见玻璃碎了什么意思| 欣喜若狂是什么意思| 见红是什么颜色| 入盆是什么意思| 什么是地中海贫血| 本卦和变卦是什么关系| 维生素b族什么时候吃最好| 语重心长是什么意思| 苹果越狱是什么意思啊| 什么的红烧肉| 舌苔白腻吃什么中成药| 钻牛角尖是什么意思| 痔疮坐浴用什么药效果好| 恃势之刑是什么意思| 气胸叩诊呈什么音| 宝宝消化不良吃什么| 宜破屋是什么意思| 来月经喝酒有什么影响| 世界上什么动物牙齿最多| 被蜱虫咬了有什么症状| 为什么喜欢秋天| 爽字代表什么生肖| 经期血量少是什么原因| 为什么会失眠| 二级以上医院是什么意思| 狗毛对人体有什么危害| 左前支阻滞吃什么药| 核桃什么时候成熟| 归脾丸的功效与作用治什么病| f什么意思| 麦昆牌子是什么档次| 吃什么可以祛斑| 樱桃不能和什么一起吃| 杏干泡水喝有什么功效| 为什么晚上不能倒垃圾| 什么时候不容易怀孕| 风是什么结构| 月经来黑色是什么原因| 琼玖是什么意思| 股癣用什么药最好| 尿妊娠试验是检查什么| 胆囊炎可以吃什么| 龋坏是什么意思| 卷柏是什么植物| 什么人不能吃榴莲| 96年出生的属什么| hpv16是什么意思| spa是什么意思| 鸭子炖什么好吃| 小猫发烧有什么症状| 晚上吃什么水果对身体好| 传染源是什么| 啄木鸟为什么不会脑震荡| 油茶是什么| 西梅什么时候上市| 什么一刻值千金花有清香月有阴| 内膜厚是什么原因| ra是什么| 蛊是什么| 喉咙发炎吃什么药好得快| 得过且过什么意思| 凝字五行属什么| 炸膛什么意思| 高血钾有什么症状| 扒灰是什么意思| jealousy是什么意思| 子宫腺肌症是什么| 体力不支是什么意思| 什么是虚汗| 小便尿道刺痛吃什么药| 酸入肝是什么意思| 榴莲皮可以做什么| 尿酸吃什么药最有效果| 伊字五行属什么| 经常耳鸣是什么原因| 木元念什么| 黄瓜敷脸有什么好处| 海纳百川是什么意思| na什么意思| 什么的枝头| 胃糜烂和胃溃疡有什么区别| 什么运动瘦脸| 过敏不能吃什么东西| 97年什么生肖| 胳膊疼是什么原因| china的形容词是什么| 什么是命运| 小孩白细胞高是什么原因| n字鞋子是什么牌子| 清官是什么意思| 肺气肿是什么病严重吗| 热淋是什么病| 小龙女叫什么名字| 雌蕊由什么组成| 更年期提前是什么症状| 骨感是什么意思| 口琴买什么牌子好| 抽烟是什么感觉| 阴虱有什么症状| 热玛吉是什么| 落叶像什么| 百度

老虎山远看像卧虎 “牛毛夕照”属于沧口八景


Directory: ../../../ffmpeg/
File: src/libavcodec/012v.c
Date: 2025-08-04 11:35:17
Exec Total Coverage
Lines: 66 77 85.7%
Functions: 2 2 100.0%
Branches: 21 36 58.3%

Line Branch Exec Source
1 /*
2 * 012v decoder
3 *
4 * Copyright (C) 2012 Carl Eugen Hoyos
5 *
6 * This file is part of FFmpeg.
7 *
8 * FFmpeg is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
12 *
13 * FFmpeg is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with FFmpeg; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 */
22
23 #include "avcodec.h"
24 #include "codec_internal.h"
25 #include "decode.h"
26 #include "libavutil/intreadwrite.h"
27
28 2 static av_cold int zero12v_decode_init(AVCodecContext *avctx)
29 {
30 2 avctx->pix_fmt = AV_PIX_FMT_YUV422P16;
31 2 avctx->bits_per_raw_sample = 10;
32
33
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
2 if (avctx->codec_tag == MKTAG('a', '1', '2', 'v'))
34 avpriv_request_sample(avctx, "transparency");
35
36 2 return 0;
37 }
38
39 1 static int zero12v_decode_frame(AVCodecContext *avctx, AVFrame *pic,
40 int *got_frame, AVPacket *avpkt)
41 {
42 int line, ret;
43 1 const int width = avctx->width;
44 uint16_t *y, *u, *v;
45 1 const uint8_t *line_end, *src = avpkt->data;
46 1 int stride = avctx->width * 8 / 3;
47
48
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
1 if (width <= 1 || avctx->height <= 0) {
49 av_log(avctx, AV_LOG_ERROR, "Dimensions %dx%d not supported.\n", width, avctx->height);
50 return AVERROR_INVALIDDATA;
51 }
52
53
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 if ( avctx->codec_tag == MKTAG('0', '1', '2', 'v')
54
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 && avpkt->size % avctx->height == 0
55
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 && avpkt->size / avctx->height * 3 >= width * 8)
56 1 stride = avpkt->size / avctx->height;
57
58
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
1 if (avpkt->size < avctx->height * stride) {
59 av_log(avctx, AV_LOG_ERROR, "Packet too small: %d instead of %d\n",
60 avpkt->size, avctx->height * stride);
61 return AVERROR_INVALIDDATA;
62 }
63
64
1/2
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
1 if ((ret = ff_get_buffer(avctx, pic, 0)) < 0)
65 return ret;
66
67 1 line_end = avpkt->data + stride;
68
2/2
✓ Branch 0 taken 240 times.
✓ Branch 1 taken 1 times.
241 for (line = 0; line < avctx->height; line++) {
69 240 uint16_t y_temp[6] = {0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000};
70 240 uint16_t u_temp[3] = {0x8000, 0x8000, 0x8000};
71 240 uint16_t v_temp[3] = {0x8000, 0x8000, 0x8000};
72 int x;
73 240 y = (uint16_t *)(pic->data[0] + line * pic->linesize[0]);
74 240 u = (uint16_t *)(pic->data[1] + line * pic->linesize[1]);
75 240 v = (uint16_t *)(pic->data[2] + line * pic->linesize[2]);
76
77
1/2
✓ Branch 0 taken 12720 times.
✗ Branch 1 not taken.
12720 for (x = 0; x < width; x += 6) {
78 uint32_t t;
79
80
3/4
✓ Branch 0 taken 12480 times.
✓ Branch 1 taken 240 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 12480 times.
12720 if (width - x < 6 || line_end - src < 16) {
81 240 y = y_temp;
82 240 u = u_temp;
83 240 v = v_temp;
84 }
85
86
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 12720 times.
12720 if (line_end - src < 4)
87 break;
88
89 12720 t = AV_RL32(src);
90 12720 src += 4;
91 12720 *u++ = t << 6 & 0xFFC0;
92 12720 *y++ = t >> 4 & 0xFFC0;
93 12720 *v++ = t >> 14 & 0xFFC0;
94
95
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 12720 times.
12720 if (line_end - src < 4)
96 break;
97
98 12720 t = AV_RL32(src);
99 12720 src += 4;
100 12720 *y++ = t << 6 & 0xFFC0;
101 12720 *u++ = t >> 4 & 0xFFC0;
102 12720 *y++ = t >> 14 & 0xFFC0;
103
104
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 12720 times.
12720 if (line_end - src < 4)
105 break;
106
107 12720 t = AV_RL32(src);
108 12720 src += 4;
109 12720 *v++ = t << 6 & 0xFFC0;
110 12720 *y++ = t >> 4 & 0xFFC0;
111 12720 *u++ = t >> 14 & 0xFFC0;
112
113
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 12720 times.
12720 if (line_end - src < 4)
114 break;
115
116 12720 t = AV_RL32(src);
117 12720 src += 4;
118 12720 *y++ = t << 6 & 0xFFC0;
119 12720 *v++ = t >> 4 & 0xFFC0;
120 12720 *y++ = t >> 14 & 0xFFC0;
121
122
2/2
✓ Branch 0 taken 240 times.
✓ Branch 1 taken 12480 times.
12720 if (width - x < 6)
123 240 break;
124 }
125
126
1/2
✓ Branch 0 taken 240 times.
✗ Branch 1 not taken.
240 if (x < width) {
127 240 y = x + (uint16_t *)(pic->data[0] + line * pic->linesize[0]);
128 240 u = x/2 + (uint16_t *)(pic->data[1] + line * pic->linesize[1]);
129 240 v = x/2 + (uint16_t *)(pic->data[2] + line * pic->linesize[2]);
130 240 memcpy(y, y_temp, sizeof(*y) * (width - x));
131 240 memcpy(u, u_temp, sizeof(*u) * ((width - x + 1) / 2));
132 240 memcpy(v, v_temp, sizeof(*v) * ((width - x + 1) / 2));
133 }
134
135 240 line_end += stride;
136 240 src = line_end - stride;
137 }
138
139 1 *got_frame = 1;
140
141 1 return avpkt->size;
142 }
143
144 const FFCodec ff_zero12v_decoder = {
145 .p.name = "012v",
146 CODEC_LONG_NAME("Uncompressed 4:2:2 10-bit"),
147 .p.type = AVMEDIA_TYPE_VIDEO,
148 .p.id = AV_CODEC_ID_012V,
149 .init = zero12v_decode_init,
150 FF_CODEC_DECODE_CB(zero12v_decode_frame),
151 .p.capabilities = AV_CODEC_CAP_DR1,
152 };
153

樵夫是什么意思 安徽古代叫什么 10点多是什么时辰 钙片什么时候吃最好吸收 类固醇是什么东西
五月有什么节日 六月份什么星座 狐臭是什么人种的后代 七月三十是什么星座 蜜獾为什么什么都不怕
面首什么意思 一厢情愿是什么生肖 此生不换什么意思 食管裂孔疝是什么原因造成的 韩国欧巴是什么意思
银饰为什么会变黑 为什么飞机起飞降落要打开遮光板 叮咛是什么意思 牙龈肿痛用什么药好得快 嗓子烧灼感是什么原因
摔纹皮是什么皮hcv7jop4ns5r.cn 梦见一条小蛇是什么意思hcv9jop0ns5r.cn 肌酐什么意思hcv9jop4ns8r.cn 马眼棒是什么hcv9jop8ns3r.cn 为什么月经一次比一次提前hcv7jop9ns7r.cn
平板有什么用处hcv8jop8ns6r.cn 为什么偏偏喜欢你hcv8jop6ns6r.cn 小暑吃什么hcv8jop9ns2r.cn 广东有什么好玩的地方hcv9jop4ns4r.cn 站姐是什么职业hcv8jop7ns7r.cn
吃什么降火hcv7jop7ns2r.cn 梦见给死人烧纸钱是什么意思96micro.com 18kgp是什么意思baiqunet.com 揾什么意思hcv7jop6ns6r.cn 小众是什么意思cj623037.com
pr是什么工作jinxinzhichuang.com 体温偏高的人说明什么hcv8jop0ns7r.cn 康熙叫什么名字hcv7jop9ns5r.cn 冲羊煞东是什么意思hcv8jop9ns9r.cn 吃什么长胎不长肉hcv8jop4ns5r.cn
百度