兑水是什么意思| 肉鸽是什么意思| 高什么远什么| 梦见已故的老人是什么意思| 鞭尸什么意思| 灵芝不能和什么一起吃| 早上起来嘴巴发苦是什么原因| ad和d3有什么区别| 蟹粉是什么| 什么病会晕倒| 粘鞋子用什么胶水最好| 君王是什么意思| 动物园里有什么动物| 断崖式是什么意思| bcr是什么意思| 扑街是什么意思| 三下乡是什么| edd是什么意思| 早泄吃什么药| 1222是什么星座| 维生素b族什么时候吃| 脚浮肿是什么原因引起的| 口苦口臭吃什么药效果最佳| 腹部b超可以检查什么| 五体投地是什么意思| 空心菜又叫什么菜| gg了是什么意思| 生普洱和熟普洱有什么区别| 狸猫是什么猫| 惊什么失什么| 花园里面有什么| 踏空是什么意思| 7号来的月经什么时候是排卵期| 红烧肉是什么肉| 可甜可盐什么意思| 芥末油是什么提炼出来的| 考级有什么用| r代表什么意思| 甲状腺肿物是什么意思| 孩子爱啃指甲是什么原因| 阶级是什么意思| 沙棘原浆有什么功效| 分分钟都妙不可言是什么歌| 刀鱼和带鱼有什么区别| 黄精是什么东西| 农历八月十五是什么节日| 合加羽念什么| 肚子拉稀像水一样是什么情况| 心肝血虚吃什么中成药| 教唆什么意思| swisse是什么药| 呼吸困难气短是什么原因| 我还是什么| 什么白| 口苦口干口臭吃什么药| 双子女和什么星座最配| 来姨妈喝什么比较好| 昀是什么意思| 弱水三千只取一瓢什么意思| 腿上有白色条纹是什么| 7月15是什么节日| 戒断反应是什么意思| 拉青色大便是什么原因| 左眼皮跳是什么预兆女| ny是什么牌子| 36年属什么生肖| 梦见杀鸡是什么预兆| 两个脚脖子肿什么原因| 菌血症是什么病| 安徽古代叫什么| 东坡肉属于什么菜系| 一个均一个金念什么| 郡肝是什么| 小猫的耳朵像什么| 灰色裤子配什么上衣| 手上长水泡是什么原因| 房性早搏吃什么药最好| 什么是红颜知己| 仿佛是什么意思| 7月12是什么星座| 生辉是什么意思| 脚底发红是什么原因| 蛛网膜囊肿挂什么科| 例假一个月来两次是什么原因| 尿频尿急尿不尽吃什么药效果最好| 咳嗽白痰吃什么药| 女人卵巢保养吃什么好| 男人左手断掌是什么命| mpr是什么意思| lpn什么意思| 发配是什么意思| 苹果枸杞红枣煮水喝有什么功效| 小孩肠套叠什么症状| 什么动物冬眠| 利口酒是什么酒| 小孩晚上睡觉发梦癫什么原因| 什么什么的阳光| 睑腺炎是什么原因造成| 黄花是什么花| 萎谢是什么意思| 三周年祭奠有什么讲究| 补是什么偏旁| 备孕什么意思| 屁特别多是什么原因| 日光灯属于什么光源| 学籍有什么用| 普萘洛尔是什么药| 打桩是什么意思| 不屑一顾的意思是什么| 杨桃什么季节成熟| 嫌恶是什么意思| 日本为什么投降| 为什么一个月来两次月经| 长脸型适合什么样的发型| 中央办公厅主任什么级别| 什么情况下做试管婴儿| 激光点痣后需要注意什么| 疱疹用什么药可以根治| 关节由什么组成| 处口念什么| 56个民族都有什么族| 腰痛贴什么膏药最好| 胃不好应该吃什么| 有什么病| 嗨体是什么| 屁股长痣代表什么| nac是什么意思| 葡萄胎是什么原因造成的| 肛周湿疹用什么药| 毛毛虫吃什么食物| 幼儿园学什么| 罗衣是什么意思| 胆囊炎要吃什么药| 入港是什么意思| 玛丽苏什么意思| 指甲有凹陷是什么原因| 脚板疼是什么原因| 我是小姨的什么人| 软饮料是指什么| dia什么意思| 反话是什么意思| 房产税什么时候开始征收| 鸡蛋白过敏指的是什么| 直接胆红素偏低是什么原因| 举措前面搭配什么| 微量元素6项是查什么| 缺少维生素有什么症状| 鱼子酱什么味道| 阑尾在什么位置| 毛骨悚然是什么意思| 梦见孩子哭是什么意思| 中国特工组织叫什么| 超敏crp高是什么原因| 总lge是什么意思| 杂交金毛犬长什么样子| 相忘于江湖是什么意思| 古井贡酒是什么香型| 火头鱼是什么鱼| 打开心扉是什么意思| 后循环缺血是什么意思| 三维重建是什么意思| 宫颈常大是什么意思| 狂躁症是什么| 梦见爆炸是什么意思| 喷塑工是干什么的| 宫崎骏是什么意思| kenzo是什么牌子| 二型血糖高吃什么药好| 生脉饮适合什么人群| 岁月静好浅笑安然什么意思| 吃什么补白细胞快| 老虎菜为什么叫老虎菜| 13什么意思| 补钙吃什么好| 闫和阎有什么区别| 肛门瘙痒是什么病| 脂肪滴是什么意思| 金庸的原名叫什么| 11月5号是什么星座| 眼视光医学是干什么的| 总感觉自己有病是什么心理病| 夜里2点到3点醒什么原因| kipper什么意思| 鸽子咳嗽吃什么药最好| al是什么意思| 麻长什么样子图片| 看嗓子去医院挂什么科| 脱氧核苷酸是什么| 湖南湖北以什么湖为界| 肚脐眼连着什么器官| 新生儿囟门什么时候闭合| 深圳少年宫有什么好玩的| 转氨酶是什么意思| 毕业送老师什么礼物好| 附属国是什么意思| 贫血吃什么补血好| a和ab型生的孩子是什么血型| 11月28是什么星座| 蚕豆有什么营养| 什么是熊猫血| 羊眼圈是什么| 白细胞酯酶阳性是什么| 繁什么似锦| 惨绿少年什么意思| 头出汗多至头发湿透是什么原因| 口腔上颚疼是什么原因| 狗肚子有虫子吃什么药| 生物制剂对人体有什么副作用| 阴道是什么| 吃什么养胃又补胃| 2019年出生属什么生肖| 跳脱是什么意思| 乌冬面为什么叫乌冬面| cd8高是什么原因| 梦见自己大肚子快生了是什么意思| 舌头起泡是什么原因引起的| 扁平苔藓有什么症状| 到是什么意思| oz是什么单位| 女人吃猪肝有什么好处| 葫芦代表什么寓意| 嗓子疼吃什么药好| 猫来家里有什么预兆| 煨是什么意思| 肺气肿挂什么科| 230是什么意思| 00年属什么生肖| 睡久了头疼是什么原因| 痣发痒是什么原因| 恶对什么| 指甲上有竖纹是什么原因| 公历年份是什么意思| 女生的下面长什么样| 肌腱炎吃什么药| ugg是什么品牌| 世界上最难写的字是什么| 肠炎可以吃什么食物| gtp是什么| hdr是什么拍照功能| 非萎缩性胃炎伴糜烂是什么意思| 脉濡是什么意思| 肉筋是什么| 盆腔炎吃什么药效果好| 718是什么星座| 男性做彩超要检查什么| 肾衰透析病人吃什么好| 更年期吃什么药好| 和尚代表什么生肖| ntl是什么意思| 颈椎病是什么原因引起的| 22是什么意思| 不遗余力的遗是什么意思| hvi是什么病| 流清鼻涕打喷嚏吃什么药| 本来无一物何处惹尘埃是什么意思| 发烧挂什么科| 代表友谊的花是什么花| 什么花不能浇水| 深圳少年宫有什么好玩的| 左手发麻是什么病征兆| 承受是什么意思| 我行我素的人什么性格| 痿证是什么病| 肌酐高了会出现什么问题| 百度

3る絬カ穝坝珇基ゑ害碩膥尿辅


Directory: ../../../ffmpeg/
File: src/libavcodec/bmp_parser.c
Date: 2025-08-04 00:43:16
Exec Total Coverage
Lines: 44 48 91.7%
Functions: 1 1 100.0%
Branches: 24 30 80.0%

Line Branch Exec Source
1 /*
2 * BMP parser
3 * Copyright (c) 2012 Paul B Mahol
4 *
5 * This file is part of FFmpeg.
6 *
7 * FFmpeg is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * FFmpeg is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with FFmpeg; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 */
21
22 /**
23 * @file
24 * BMP parser
25 */
26
27 #include "libavutil/bswap.h"
28 #include "libavutil/common.h"
29
30 #include "parser.h"
31
32 typedef struct BMPParseContext {
33 ParseContext pc;
34 uint32_t fsize;
35 uint32_t remaining_size;
36 } BMPParseContext;
37
38 88 static int bmp_parse(AVCodecParserContext *s, AVCodecContext *avctx,
39 const uint8_t **poutbuf, int *poutbuf_size,
40 const uint8_t *buf, int buf_size)
41 {
42 88 BMPParseContext *bpc = s->priv_data;
43 88 uint64_t state = bpc->pc.state64;
44 88 int next = END_NOT_FOUND;
45 88 int i = 0;
46
47 88 *poutbuf_size = 0;
48 88 *poutbuf = NULL;
49
50 36 restart:
51
2/2
✓ Branch 0 taken 66 times.
✓ Branch 1 taken 58 times.
124 if (bpc->pc.frame_start_found <= 2+4+4) {
52
2/2
✓ Branch 0 taken 3786 times.
✓ Branch 1 taken 45 times.
3831 for (; i < buf_size; i++) {
53 3786 state = (state << 8) | buf[i];
54
2/2
✓ Branch 0 taken 3576 times.
✓ Branch 1 taken 210 times.
3786 if (bpc->pc.frame_start_found == 0) {
55
2/2
✓ Branch 0 taken 21 times.
✓ Branch 1 taken 3555 times.
3576 if ((state >> 48) == (('B' << 8) | 'M')) {
56 21 bpc->fsize = av_bswap32(state >> 16);
57
1/2
✓ Branch 0 taken 21 times.
✗ Branch 1 not taken.
21 if (bpc->fsize > 17)
58 21 bpc->pc.frame_start_found = 1;
59 }
60
2/2
✓ Branch 0 taken 21 times.
✓ Branch 1 taken 189 times.
210 } else if (bpc->pc.frame_start_found == 2+4+4) {
61 // unsigned hsize = av_bswap32(state>>32);
62 21 unsigned ihsize = av_bswap32(state);
63
2/4
✓ Branch 0 taken 21 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 21 times.
21 if (ihsize < 12 || ihsize > 200) {
64 bpc->pc.frame_start_found = 0;
65 continue;
66 }
67 21 bpc->pc.frame_start_found++;
68 21 bpc->remaining_size = bpc->fsize + i - 17;
69
70
2/2
✓ Branch 0 taken 3 times.
✓ Branch 1 taken 18 times.
21 if (bpc->pc.index + i > 17) {
71 3 next = i - 17;
72 3 state = 0;
73 3 break;
74 } else {
75 18 bpc->pc.state64 = 0;
76 18 goto restart;
77 }
78
1/2
✓ Branch 0 taken 189 times.
✗ Branch 1 not taken.
189 } else if (bpc->pc.frame_start_found)
79 189 bpc->pc.frame_start_found++;
80 }
81 48 bpc->pc.state64 = state;
82 } else {
83
1/2
✓ Branch 0 taken 58 times.
✗ Branch 1 not taken.
58 if (bpc->remaining_size) {
84 58 i = FFMIN(bpc->remaining_size, buf_size);
85 58 bpc->remaining_size -= i;
86
2/2
✓ Branch 0 taken 40 times.
✓ Branch 1 taken 18 times.
58 if (bpc->remaining_size)
87 40 goto flush;
88
89 18 bpc->pc.frame_start_found = 0;
90 18 goto restart;
91 }
92 }
93
94 flush:
95
2/2
✓ Branch 1 taken 55 times.
✓ Branch 2 taken 33 times.
88 if (ff_combine_frame(&bpc->pc, next, &buf, &buf_size) < 0)
96 55 return buf_size;
97
98
3/4
✓ Branch 0 taken 3 times.
✓ Branch 1 taken 30 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 3 times.
33 if (next != END_NOT_FOUND && next < 0)
99 bpc->pc.frame_start_found = FFMAX(bpc->pc.frame_start_found - i - 1, 0);
100 else
101 33 bpc->pc.frame_start_found = 0;
102
103 33 *poutbuf = buf;
104 33 *poutbuf_size = buf_size;
105 33 return next;
106 }
107
108 const AVCodecParser ff_bmp_parser = {
109 .codec_ids = { AV_CODEC_ID_BMP },
110 .priv_data_size = sizeof(BMPParseContext),
111 .parser_parse = bmp_parse,
112 .parser_close = ff_parse_close,
113 };
114

红斑狼疮吃什么药最好 头顶一阵一阵疼是什么原因 金银花有什么效果 手机为什么突然关机 无异于是什么意思
胰岛素是什么器官分泌的 脚底起水泡是什么原因 1966年属马的是什么命 辣椒什么时候传入中国 助力车是什么车
脾喜欢什么食物 宝宝舌苔白厚是什么原因 防晒衣什么颜色最好 张家界莓茶有什么功效 溥仪什么时候去世的
无与伦比是什么意思 生物冰袋里面是什么 7月11日什么星座 胰腺炎恢复期吃什么好 神经衰弱吃什么好
胆小如鼠的意思是什么hcv9jop4ns9r.cn 补肾固精吃什么药好aiwuzhiyu.com 甲状腺结节吃什么hcv8jop9ns3r.cn 精忠报国是什么生肖1949doufunao.com 一什么桥hcv9jop6ns1r.cn
1990年什么命hcv8jop3ns6r.cn 蓝色配什么颜色好看hcv8jop5ns3r.cn 肠瘘是什么意思hcv8jop8ns3r.cn 结肠炎吃什么食物好hcv8jop4ns9r.cn 坦诚相待下一句是什么helloaicloud.com
蟠桃为什么是扁的hcv8jop7ns2r.cn 洋盘是什么意思hcv9jop8ns3r.cn 什么的北京城hcv8jop4ns7r.cn 定海神针什么意思hcv7jop6ns9r.cn 掉头发吃什么药最有效hcv9jop7ns2r.cn
舌炎吃什么药最好hcv8jop4ns1r.cn 277是什么意思hcv9jop6ns2r.cn 石见念什么ff14chat.com 吃什么水果祛斑最快hcv8jop0ns3r.cn 苹果绿是什么颜色hcv9jop1ns1r.cn
百度