癌抗原125是什么意思| 蛇为什么有毒| fob价格是什么意思| 白果是什么东西| 1978年是什么命| 心肌酶是检查什么的| 天肖是什么生肖| 肚子疼恶心想吐吃什么药| mrcp是什么检查| 反流性食管炎吃什么药最好| 跑步后脸红是什么原因| 满城尽带黄金甲是什么意思| 七星伴月是什么意思| 毛囊是什么| 心室预激是什么意思| 吃什么减脂肪| 雨露是什么意思| 北字五行属什么| 兴奋剂是什么| 什么是蛀牙| 乳腺低回声是什么意思| 什么的石榴| 什么是周岁| 酸枣仁配什么治疗失眠| 烧腊是什么| 发声是什么意思| 负责任是什么意思| 灵芝的功效与作用是什么| 羊汤放什么调料| hpv73阳性是什么意思| 脚肿看什么科| 情花是什么花| 美团和美团外卖有什么区别| 发烧打什么针| vin是什么| 利湿是什么意思| 胃泌素瘤是什么意思| 胎儿脉络丛囊肿是什么原因引起的| 农历八月是什么月| 无花果是什么季节的水果| 电动车是什么电池| 压片糖果是什么意思| 桑葚搭配什么泡水喝最好| 翡翠是什么颜色| 兵马俑是什么意思| 岁月匆匆像一阵风是什么歌| 小孩为什么发烧| 用什么泡脚减肥最快| fasola是什么品牌| 第二职业干点什么好呢| 副部长是什么级别| 梦到钓鱼是什么征兆| 热辐射是什么| 长期不过性生活有什么危害| 中国国酒是什么| 对什么感兴趣| 做肠镜前一天可以吃什么| 沙参长什么样子图片| 京酱肉丝是什么菜系| 结婚12年是什么婚| 散漫是什么意思| 加盟什么店最赚钱投资小| 军字五行属什么| 胃轻度肠化是什么意思| 奥特莱斯是什么| 海子是什么意思| 卖身契是什么意思| 小孩肺热吃什么好清肺热| 茉莉花茶适合什么季节喝| hpv16是什么| 王朝马汉是什么意思| 吃避孕药有什么危害| 祖字五行属什么| 绿豆不能和什么同吃| 土笋冻是什么虫子| 白马王子是什么意思| 拉垮什么意思| 甲级战犯是什么意思| hg是什么单位| 什么是神经| 梦见请别人吃饭是什么意思| 前列腺钙化有什么影响| 什么是牛蒡| 脑缺血灶吃什么药| 三月20号是什么星座| 成什么上什么| 梦见涨水是什么征兆| 湿热会引起什么症状| 过午不食是什么意思| 18年属什么| 什么是肾虚| 科颜氏属于什么档次| 墨西哥用什么货币| 肚子上面是什么部位| 什么鱼最迟钝| 猫有什么品种| 心服口服是什么意思| 关东八大碗都有什么| 囟门是什么意思| 蒋字五行属什么| 饿了胃疼是什么原因| 善莫大焉是什么意思| 隐翅虫咬人后用什么药| 什么什么的眼睛| 张国荣什么时候去世的| 玑是什么意思| 牙根发炎吃什么药| 什么是高| 小鸟吃什么| 做梦梦到蜘蛛是什么意思| 五月十三是什么星座| 尿酸是什么| 喜欢喝冰水是什么原因| 1978年属马五行缺什么| 傧相是什么意思| 非洲说什么语言| 藿香正气水有什么用| 黑豆加红枣有什么功效| 抻是什么意思| 雨中漫步是什么意思| 草鱼喜欢吃什么食物| 用什么可以全身美白| 立棍是什么意思| 总胆固醇低是什么原因| 霉菌性阴道炎是什么原因引起的| 为什么会流鼻血什么原因引起的| 一般是什么意思| 吃什么尿酸降得快| 什么叫洗钱| 心疼是什么意思| 布病是什么症状| 尿隐血十一是什么意思| 国家栋梁指的是什么官| 什么是劣药| 什么花粉| 一直放屁是什么原因| 纵隔肿瘤是什么病| 什么是视同缴费| 刘少奇属什么生肖| 厨娘是什么意思| 切除胆囊有什么影响| 属马五行属什么| 有期徒刑是什么意思| 梦见打老虎是什么预兆| 细菌性肺炎吃什么药| 什么是圆房| 为什么夏天越来越热| 狐狸狗是什么品种| 好看是什么意思| 柳枝什么的什么的| s倾向是什么意思| 黄体破裂什么意思| 再生纤维素纤维是什么面料| 解惑是什么意思| 肠道紊乱吃什么药| 十九朵玫瑰花代表什么意思| 营养不良会导致身体出现什么症状| 吃什么生精养精最快| 流弹是什么意思| 吃什么可以生发| 艺考是什么| 什么花适合室内养| 生吃蛇胆有什么功效| 徒木立信是什么意思| 月经期间吃西瓜有什么影响| 蝎子长什么样| 271是什么意思| 阴道痒用什么药好| 招风耳是什么意思| 丹参的功效与作用是什么| 什么样的人容易得脑瘤| 脑腐什么意思| 春雨绵绵是什么生肖| 鼻炎不能吃什么| 扁平疣用什么药膏| 撕漫男什么意思| 什么是外心| 下水道井盖为什么是圆的| 儿童掉头发什么原因| 嘴边起水泡是什么原因| 舅舅和外甥女是什么关系| 什么水什么山| 66.66红包代表什么意思| 属马的生什么属相的宝宝好| 手抖是什么原因| 跃字五行属什么| 什么叫随机血糖| 甩货是什么意思| 钙片不能和什么一起吃| 什么可以代替狗狗沐浴露| 艾滋病有什么症状图片| 一个虫一个尧念什么| 类风湿忌吃什么| 膝盖积液用什么药最好| 珊瑚粉是什么颜色| 涌泉穴在什么地方| ci是什么意思| 肠炎可以吃什么水果| 唐筛21三体临界风险是什么意思| o型血为什么叫熊猫血| 蒲公英泡水喝有什么好处| 松花粉对肝有什么好处| 7月初7是什么日子| 朝霞不出门晚霞行千里是什么意思| 苯磺酸氨氯地平片是什么药| 完全性右束支阻滞是什么意思| 东方不败练的什么武功| nylon是什么面料成分| 顶嘴是什么意思| 包头古代叫什么| 甘油三酯查什么项目| vca是什么牌子| 膝盖后面叫什么| 双肾钙化灶是什么意思| 丝瓜有什么好处| 检查hpv需要注意什么提前注意什么| rhd阳性是什么意思| 天秤座什么性格| 4月6日是什么星座| 氟哌酸是什么药| 秦始皇什么星座| 盆腔积液什么症状| 怀孕前期有什么症状| 甲醛闻多了有什么症状| 肝硬化适合吃什么食物| 蚯蚓用什么呼吸| 吃什么能美白| 静脉曲张 看什么科| 讲师是什么级别| 风致是什么意思| 522是什么意思| 甲减吃什么食物好| 制剂是什么意思| 膀胱冲洗用什么药| igm阳性是什么意思| 雪花秀属于什么档次| 口臭什么原因| lch是什么意思| 转归是什么意思| 有何特长一般填什么好| 男的有霉菌是什么症状| 拘禁是什么意思| 吉页读什么| 右半边头痛是什么原因| 胆结石不能吃什么东西| 尿多是什么问题| 空鼻症是什么症状| apple什么意思| 肚脐下面疼是什么原因| 黑洞长什么样| 白虎是什么意思| a是什么单位| 属猴本命佛是什么佛| 青蟹什么季节吃最好| 杨梅有什么好处| 为什么会突然不爱了| 蚊子喜欢什么气味| 什么药治灰指甲最有效| 什么东西有脚却不能走路| 一个均一个金念什么| 秦二世为什么姓胡| 荷兰豆为什么叫荷兰豆| 生姜和红糖熬水有什么作用| 手心脱皮是什么原因| 百度

全屋定制状况频发 槽点都在这儿


Directory: ../../../ffmpeg/
File: src/libavcodec/sp5xdec.c
Date: 2025-08-04 00:43:16
Exec Total Coverage
Lines: 33 35 94.3%
Functions: 1 1 100.0%
Branches: 14 20 70.0%

Line Branch Exec Source
1 /*
2 * Sunplus JPEG decoder (SP5X)
3 * Copyright (c) 2003 Alex Beregszaszi
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 * Sunplus JPEG decoder (SP5X).
25 */
26
27 #include "config_components.h"
28
29 #include "libavutil/mem.h"
30 #include "avcodec.h"
31 #include "codec_internal.h"
32 #include "mjpegdec.h"
33 #include "sp5x.h"
34
35
36 382 static int sp5x_decode_frame(AVCodecContext *avctx,
37 AVFrame *frame, int *got_frame,
38 AVPacket *avpkt)
39 {
40 382 const uint8_t *buf = avpkt->data;
41 382 int buf_size = avpkt->size;
42 uint8_t *recoded;
43 382 int i = 0, j = 0;
44 int ret;
45
46
2/4
✓ Branch 0 taken 382 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 382 times.
382 if (!avctx->width || !avctx->height)
47 return -1;
48
49 382 recoded = av_mallocz(buf_size + 1024);
50
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 382 times.
382 if (!recoded)
51 return -1;
52
53 /* SOI */
54 382 recoded[j++] = 0xFF;
55 382 recoded[j++] = 0xD8;
56
57 382 memcpy(recoded+j, &sp5x_data_dqt[0], sizeof(sp5x_data_dqt));
58 382 memcpy(recoded + j + 5, &sp5x_qscale_five_quant_table[0], 64);
59 382 memcpy(recoded + j + 70, &sp5x_qscale_five_quant_table[1], 64);
60 382 j += sizeof(sp5x_data_dqt);
61
62 382 memcpy(recoded+j, &sp5x_data_dht[0], sizeof(sp5x_data_dht));
63 382 j += sizeof(sp5x_data_dht);
64
65 382 memcpy(recoded+j, &sp5x_data_sof[0], sizeof(sp5x_data_sof));
66 382 AV_WB16(recoded+j+5, avctx->coded_height);
67 382 AV_WB16(recoded+j+7, avctx->coded_width);
68 382 j += sizeof(sp5x_data_sof);
69
70 382 memcpy(recoded+j, &sp5x_data_sos[0], sizeof(sp5x_data_sos));
71 382 j += sizeof(sp5x_data_sos);
72
73
2/2
✓ Branch 0 taken 371 times.
✓ Branch 1 taken 11 times.
382 if(avctx->codec_id==AV_CODEC_ID_AMV)
74
3/4
✓ Branch 0 taken 3671891 times.
✓ Branch 1 taken 371 times.
✓ Branch 2 taken 3671891 times.
✗ Branch 3 not taken.
3672262 for (i = 2; i < buf_size-2 && j < buf_size+1024-2; i++)
75 3671891 recoded[j++] = buf[i];
76 else
77
3/4
✓ Branch 0 taken 39424 times.
✓ Branch 1 taken 11 times.
✓ Branch 2 taken 39424 times.
✗ Branch 3 not taken.
39435 for (i = 14; i < buf_size && j < buf_size+1024-3; i++)
78 {
79 39424 recoded[j++] = buf[i];
80
2/2
✓ Branch 0 taken 93 times.
✓ Branch 1 taken 39331 times.
39424 if (buf[i] == 0xff)
81 93 recoded[j++] = 0;
82 }
83
84 /* EOI */
85 382 recoded[j++] = 0xFF;
86 382 recoded[j++] = 0xD9;
87
88 382 ret = ff_mjpeg_decode_frame_from_buf(avctx, frame, got_frame,
89 avpkt, recoded, j);
90
91 382 av_free(recoded);
92
93
1/2
✓ Branch 0 taken 382 times.
✗ Branch 1 not taken.
382 return ret < 0 ? ret : avpkt->size;
94 }
95
96 #if CONFIG_SP5X_DECODER
97 const FFCodec ff_sp5x_decoder = {
98 .p.name = "sp5x",
99 CODEC_LONG_NAME("Sunplus JPEG (SP5X)"),
100 .p.type = AVMEDIA_TYPE_VIDEO,
101 .p.id = AV_CODEC_ID_SP5X,
102 .priv_data_size = sizeof(MJpegDecodeContext),
103 .init = ff_mjpeg_decode_init,
104 .close = ff_mjpeg_decode_end,
105 FF_CODEC_DECODE_CB(sp5x_decode_frame),
106 .p.capabilities = AV_CODEC_CAP_DR1,
107 .p.max_lowres = 3,
108 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
109 };
110 #endif
111 #if CONFIG_AMV_DECODER
112 const FFCodec ff_amv_decoder = {
113 .p.name = "amv",
114 CODEC_LONG_NAME("AMV Video"),
115 .p.type = AVMEDIA_TYPE_VIDEO,
116 .p.id = AV_CODEC_ID_AMV,
117 .priv_data_size = sizeof(MJpegDecodeContext),
118 .init = ff_mjpeg_decode_init,
119 .close = ff_mjpeg_decode_end,
120 FF_CODEC_DECODE_CB(sp5x_decode_frame),
121 .p.max_lowres = 3,
122 .p.capabilities = AV_CODEC_CAP_DR1,
123 .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
124 };
125 #endif
126

喜大普奔什么意思 肝纤维化是什么意思 旗袍搭配什么鞋子好看 口臭是什么原因造成的 死鬼是什么意思
扫把和什么是一套的 reading是什么意思 不以规矩下一句是什么 近视用什么镜矫正 肠痉挛有什么症状
藩王是什么意思 欧珀莱属于什么档次 站久了脚后跟疼是什么原因 1月11日什么星座 火麻是什么植物
后话是什么意思 灵魂伴侣是指什么意思 细菌性阴道炎吃什么药 胎记是什么 咳嗽有黄痰是什么原因
单核细胞百分比偏高什么原因hcv9jop2ns0r.cn 左脸颊长痘是什么原因yanzhenzixun.com 钮祜禄氏现在姓什么hcv8jop3ns2r.cn 气不够用是什么原因hcv8jop4ns1r.cn 结痂是什么意思hcv7jop6ns7r.cn
维生素b是补什么的hebeidezhi.com 吃土豆有什么好处和坏处hkuteam.com 吃什么补维生素abfb118.com 唾液酸酶阳性是什么意思hcv9jop2ns1r.cn 乡和镇的区别是什么hcv9jop0ns4r.cn
痛风喝什么茶最好hcv8jop6ns1r.cn 2006年是什么命huizhijixie.com 手发抖是什么原因引起的年轻人imcecn.com 甲亢吃什么食物最好hcv8jop9ns6r.cn 江西什么最出名hcv7jop5ns4r.cn
发生什么事hcv8jop5ns6r.cn 中筛是检查什么项目hcv9jop6ns1r.cn 甲状腺是什么引起的hcv7jop5ns5r.cn 藏毛窦是什么病hcv8jop3ns4r.cn b型钠尿肽高说明什么hcv7jop7ns0r.cn
百度