湿疹是什么症状| 琨字五行属什么| 想吃辣椒身体里缺什么| 烹饪是什么意思| 火疖子挂什么科| 左边后背疼是什么原因| 牙疼吃什么食物好得快| 口水歌是什么意思| 男人本色是什么意思| ct腹部平扫能检查什么| 灰指甲是什么症状| 眼底充血用什么眼药水| 妞字五行属什么| 小孩咳嗽喝什么药| 甲状腺结节伴钙化什么意思| 长沙有什么区| 钴对人体有什么伤害| 喝咖啡有什么好处和坏处| 下午5点多是什么时辰| 藿香正气水什么牌子的好| 印第安人是什么人种| 兔唇是什么原因造成的| 这个是什么表情| 香菇配什么菜炒着好吃| 911是什么电话| 卟是什么意思| 乙酉是什么意思| 堂客是什么意思| 6月16号是什么星座| lil是什么意思| 持续耳鸣是什么原因引起的| 中老年补钙吃什么钙片好| 前降支中段心肌桥什么意思| 巧囊是什么| 吃什么可以祛痘排毒| 鸡胸是什么原因引起的| 巨石强森是什么人种| 尿道感染吃什么药好得快| 宫寒是什么意思| 儿童鼻炎挂什么科| 口香糖是什么材料做的| 一什么一什么| 什么叫甲亢| 丝棉是什么材料| 宝宝不吃奶是什么原因| 这个字叫什么| 肺热吃什么药| 均一性红细胞什么意思| c2驾照可以开什么车| 小姑独处是什么意思| 梦见大房子是什么预兆| 什么通便效果最快最好| 什么是白平衡| 周围型肺ca是什么意思| 718什么星座| 嗓子发炎吃什么| 雷龙鱼吃什么| 葛根粉是什么| 发炎是什么意思| 黑眼圈严重是什么原因| 新疆在古代叫什么| 窦性心律是什么意思| 小柴胡颗粒治什么病| 画肖指什么生肖| 海松茸是什么| 水军什么意思| 孕妇喝什么牛奶| 南浦大桥什么时候建成| 龙眼树上的臭虫叫什么| 李嘉诚是什么国籍| 什么鱼炖汤好喝又营养| 易蒙停是什么药| 喉咙痛鼻塞吃什么药| 可塑性是什么意思| 苯对人体有什么危害| 什么是心律失常| 大便带血是什么原因| 7月16日什么星座| 梦见佛祖是什么意思| 燕窝什么人不适合吃| 丛林法则是什么意思| 8月6号什么星座| 山茶花什么颜色| 1996年1月属什么生肖| 芝士是什么做的| 梦见被雨淋是什么意思| 程咬金的老婆叫什么| 京东发什么快递| 立羽读什么| 脸无缘无故的肿是什么原因| 燕窝什么味道| 审时度势是什么意思| 1984年属鼠五行属什么| 假卵是什么样子的| 牙膏洗脸有什么好处| 免职是什么意思| 下嘴唇发紫是什么原因| 红鸡蛋用什么染| 狗狗拉肚子是什么原因| 什么叫前列腺炎| 指南针是什么时候发明的| 孕妇口腔溃疡能用什么药| 吃什么孕酮值可以增高| 有什么有什么四字词语| 杀鸡吓什么| 劳烦是什么意思| 每天尿都是黄的是什么原因| pr医学上是什么意思| 睡觉起来嘴巴苦是什么原因| 酪氨酸酶是什么东西| 为什么老是出汗| 感染幽门螺旋杆菌会出现什么症状| 胚胎停育是什么原因造成的| 尿蛋白十1是什么意思| 心猿意马是什么意思| 玉米是什么时候传入中国的| 霍金是什么病| 狗狗拉稀吃什么药| 1957年属什么生肖| 风向标是什么意思| 哈喇子是什么意思| 犹太是什么意思| 91年属什么| 须尽欢什么意思| 尿酸高喝什么茶| 什么的手| 送老爸什么礼物| 电解质是什么意思| 法国公鸡是什么牌子| 小儿湿疹是什么原因造成的| 糖类抗原什么意思| 蜗牛是什么动物| 什么时候闰五月| 基尼是什么货币| 什么的猫| 7月15日是什么星座| 痛风吃什么中药最有效| 化疗后吃什么补身体| 中蛊的人有什么症状| 干你什么事| 44什么意思| 阎王叫什么名字| 甲状腺密度不均匀是什么意思| 乸是什么意思| 口臭去医院挂什么科室看病| 吃brunch是什么意思啊| 胃癌低分化是什么意思| 开水冲鸡蛋有什么好处| ibm是什么| 总是抽筋是什么原因| 卸磨杀驴什么意思| 尿路感染吃什么药好| 6月底是什么星座| 上午十点半是什么时辰| 养生馆是干什么的| 怀孕不能吃什么| 苦衷是什么意思| 破产是什么意思| 孕妇缺铁性贫血对胎儿有什么影响| 小麦粉可以做什么| 6月1日什么星座| 什么叫增值税| 9点半是什么时辰| 雌激素分泌过多是什么原因引起的| 口若悬河是什么意思| 小便尿出乳白色液体是什么问题| 三角巾是什么| 金项链断了有什么预兆| 际遇是什么意思| 怀孕一个月内有什么反应| ca代表什么病| 66大寿有什么讲究| 莫代尔是什么| 雌激素过高是什么原因造成的| 儿童喉咙发炎吃什么药| 排尿困难吃什么药| ccp是什么意思| 做梦怀孕了是什么意思| 女性憋不住尿是什么原因| 脸痒痒用什么方法可以缓解| 妖是什么意思| ckd是什么意思| 喝红枣水有什么好处和坏处| 发扬什么精神| 北京的市花是什么花| 大佐相当于中国的什么军衔| 一个火一个旦读什么字| 克是什么单位| 什么是涤纶面料| 传媒公司是做什么的| 5.19是什么星座| 迷瞪是什么意思| 腰椎ct能查出什么| 什么店可以买到老鼠药| 给猫咪取什么名字好听| 床褥是什么| 黄豆芽炒什么好吃| 吃什么能增加免疫力| other是什么意思| 钦字五行属什么| 秦始皇的名字叫什么| 什么是m属性| 土耳其烤肉是用什么肉| 反复发烧是什么原因| 便秘挂什么科室| 闭麦是什么意思| 术后吃什么补元气| sp什么意思| 肠胃功能紊乱什么症状| 背德是什么意思| 吃钙片有什么副作用| 腋下有味道是什么原因| 全程c反应蛋白高说明什么| 清炖羊肉放什么调料| 10周年结婚是什么婚| 喝酒过敏吃什么药| 1973年属什么生肖| 印度人属于什么人种| 肾积水是什么原因| 自食恶果是什么意思| 无花果和什么煲汤好| 醍醐灌顶什么意思| 爱豆是什么| 组胺是什么| 高压高低压低是什么原因| 心脏疼痛挂什么科| 呓语是什么意思| 彩礼什么时候给女方| 肾阳不足吃什么中成药| e代表什么方向| 中二是什么意思| 1995年出生属什么| 贤淑是什么意思| 1973年是什么命| 儿童办护照需要什么材料| 卵磷脂是什么| 孕妇熬夜对胎儿有什么影响| 咳嗽有黄痰吃什么消炎药| 开屏什么意思| 森林里有什么| 菊花和金银花一起泡水有什么效果| 轻度抑郁症吃什么药| 属猴男和什么属相最配| 珠颈斑鸠吃什么| 纨绔子弟是什么意思| sorona是什么面料| 保肝降酶药首选什么药| 寒是什么生肖| 破伤风针有什么作用| 衣原体感染是什么意思| 剪切是什么意思| 火奥念什么| 树膏皮是什么皮| 游龙斑是什么鱼| 痹症是什么意思| 走路腰疼是什么原因| 吃什么拉肚子| 内膜厚是什么原因引起的| 什么材质可以放微波炉加热| 妊娠纹是什么| 双子座的幸运色是什么| 肝纤维化是什么意思| 孕期阴道炎可以用什么药| 反酸吃什么食物好| 百度

奶茶妹妹招助理要求高 懂商务英语好还会修图


Directory: ../../../ffmpeg/
File: src/libavformat/avio_internal.h
Date: 2025-08-04 00:43:16
Exec Total Coverage
Lines: 5 5 100.0%
Functions: 2 2 100.0%
Branches: 0 0 -%

Line Branch Exec Source
1 /*
2 * This file is part of FFmpeg.
3 *
4 * FFmpeg is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * FFmpeg is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with FFmpeg; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18
19 #ifndef AVFORMAT_AVIO_INTERNAL_H
20 #define AVFORMAT_AVIO_INTERNAL_H
21
22 #include "avio.h"
23
24 #include "libavutil/log.h"
25
26 extern const AVClass ff_avio_class;
27
28 typedef struct FFIOContext {
29 AVIOContext pub;
30 /**
31 * A callback that is used instead of short_seek_threshold.
32 */
33 int (*short_seek_get)(void *opaque);
34
35 /**
36 * Threshold to favor readahead over seek.
37 */
38 int short_seek_threshold;
39
40 enum AVIODataMarkerType current_type;
41 int64_t last_time;
42
43 /**
44 * max filesize, used to limit allocations
45 */
46 int64_t maxsize;
47
48 /**
49 * Bytes read statistic
50 */
51 int64_t bytes_read;
52
53 /**
54 * Bytes written statistic
55 */
56 int64_t bytes_written;
57
58 /**
59 * seek statistic
60 */
61 int seek_count;
62
63 /**
64 * writeout statistic
65 */
66 int writeout_count;
67
68 /**
69 * Original buffer size
70 * used after probing to ensure seekback and to reset the buffer size
71 */
72 int orig_buffer_size;
73
74 /**
75 * Written output size
76 * is updated each time a successful writeout ends up further position-wise
77 */
78 int64_t written_output_size;
79 } FFIOContext;
80
81 6036527 static av_always_inline FFIOContext *ffiocontext(AVIOContext *ctx)
82 {
83 6036527 return (FFIOContext*)ctx;
84 }
85
86 void ffio_init_context(FFIOContext *s,
87 unsigned char *buffer,
88 int buffer_size,
89 int write_flag,
90 void *opaque,
91 int (*read_packet)(void *opaque, uint8_t *buf, int buf_size),
92 int (*write_packet)(void *opaque, const uint8_t *buf, int buf_size),
93 int64_t (*seek)(void *opaque, int64_t offset, int whence));
94
95 /**
96 * Wrap a buffer in an AVIOContext for reading.
97 */
98 void ffio_init_read_context(FFIOContext *s, const uint8_t *buffer, int buffer_size);
99
100 /**
101 * Wrap a buffer in an AVIOContext for writing.
102 */
103 void ffio_init_write_context(FFIOContext *s, uint8_t *buffer, int buffer_size);
104
105 /**
106 * Read size bytes from AVIOContext, returning a pointer.
107 * Note that the data pointed at by the returned pointer is only
108 * valid until the next call that references the same IO context.
109 * @param s IO context
110 * @param buf pointer to buffer into which to assemble the requested
111 * data if it is not available in contiguous addresses in the
112 * underlying buffer
113 * @param size number of bytes requested
114 * @param data address at which to store pointer: this will be a
115 * a direct pointer into the underlying buffer if the requested
116 * number of bytes are available at contiguous addresses, otherwise
117 * will be a copy of buf
118 * @return number of bytes read or AVERROR
119 */
120 int ffio_read_indirect(AVIOContext *s, unsigned char *buf, int size, const unsigned char **data);
121
122 void ffio_fill(AVIOContext *s, int b, int64_t count);
123
124 36571 static av_always_inline void ffio_wfourcc(AVIOContext *pb, const uint8_t *s)
125 {
126 36571 avio_wl32(pb, MKTAG(s[0], s[1], s[2], s[3]));
127 36571 }
128
129 /**
130 * Rewind the AVIOContext using the specified buffer containing the first buf_size bytes of the file.
131 * Used after probing to avoid seeking.
132 * Joins buf and s->buffer, taking any overlap into consideration.
133 * @note s->buffer must overlap with buf or they can't be joined and the function fails
134 *
135 * @param s The read-only AVIOContext to rewind
136 * @param buf The probe buffer containing the first buf_size bytes of the file
137 * @param buf_size The size of buf
138 * @return >= 0 in case of success, a negative value corresponding to an
139 * AVERROR code in case of failure
140 */
141 int ffio_rewind_with_probe_data(AVIOContext *s, unsigned char **buf, int buf_size);
142
143 uint64_t ffio_read_varlen(AVIOContext *bc);
144
145 /**
146 * Read a unsigned integer coded as a variable number of up to eight
147 * little-endian bytes, where the MSB in a byte signals another byte
148 * must be read.
149 * All coded bytes are read, but values > UINT_MAX are truncated.
150 */
151 unsigned int ffio_read_leb(AVIOContext *s);
152
153 void ffio_write_leb(AVIOContext *s, unsigned val);
154
155 /**
156 * Write a sequence of text lines, converting line endings.
157 * All input line endings (LF, CRLF, CR) are converted to the configured line ending.
158 * @param s The AVIOContext to write to
159 * @param buf The buffer to write
160 * @param size The size of the buffer, or <0 to use the full length of a null-terminated string
161 * @param ending The line ending sequence to convert to, or NULL for \n
162 */
163 void ffio_write_lines(AVIOContext *s, const unsigned char *buf, int size,
164 const unsigned char *ending);
165
166 /**
167 * Read size bytes from AVIOContext into buf.
168 * Check that exactly size bytes have been read.
169 * @return number of bytes read or AVERROR
170 */
171 int ffio_read_size(AVIOContext *s, unsigned char *buf, int size);
172
173 /**
174 * Reallocate a given buffer for AVIOContext.
175 *
176 * @param s the AVIOContext to realloc.
177 * @param buf_size required new buffer size.
178 * @return 0 on success, a negative AVERROR on failure.
179 */
180 int ffio_realloc_buf(AVIOContext *s, int buf_size);
181
182 /**
183 * Ensures that the requested seekback buffer size will be available
184 *
185 * Will ensure that when reading sequentially up to buf_size, seeking
186 * within the current pos and pos+buf_size is possible.
187 * Once the stream position moves outside this window or another
188 * ffio_ensure_seekback call requests a buffer outside this window this
189 * guarantee is lost.
190 */
191 int ffio_ensure_seekback(AVIOContext *s, int64_t buf_size);
192
193 int ffio_limit(AVIOContext *s, int size);
194
195 void ffio_init_checksum(AVIOContext *s,
196 unsigned long (*update_checksum)(unsigned long c, const uint8_t *p, unsigned int len),
197 unsigned long checksum);
198 unsigned long ffio_get_checksum(AVIOContext *s);
199 unsigned long ff_crc04C11DB7_update(unsigned long checksum, const uint8_t *buf,
200 unsigned int len);
201 unsigned long ff_crcEDB88320_update(unsigned long checksum, const uint8_t *buf,
202 unsigned int len);
203 unsigned long ff_crcA001_update(unsigned long checksum, const uint8_t *buf,
204 unsigned int len);
205
206 /**
207 * Open a write only packetized memory stream with a maximum packet
208 * size of 'max_packet_size'. The stream is stored in a memory buffer
209 * with a big-endian 4 byte header giving the packet size in bytes.
210 *
211 * @param s new IO context
212 * @param max_packet_size maximum packet size (must be > 0)
213 * @return zero if no error.
214 */
215 int ffio_open_dyn_packet_buf(AVIOContext **s, int max_packet_size);
216
217 /**
218 * Return the URLContext associated with the AVIOContext
219 *
220 * @param s IO context
221 * @return pointer to URLContext or NULL.
222 */
223 struct URLContext *ffio_geturlcontext(AVIOContext *s);
224
225 /**
226 * Create and initialize a AVIOContext for accessing the
227 * resource referenced by the URLContext h.
228 * @note When the URLContext h has been opened in read+write mode, the
229 * AVIOContext can be used only for writing.
230 *
231 * @param s Used to return the pointer to the created AVIOContext.
232 * In case of failure the pointed to value is set to NULL.
233 * @return >= 0 in case of success, a negative value corresponding to an
234 * AVERROR code in case of failure
235 */
236 int ffio_fdopen(AVIOContext **s, struct URLContext *h);
237
238
239 /**
240 * Read url related dictionary options from the AVIOContext and write to the given dictionary
241 */
242 int ffio_copy_url_options(AVIOContext* pb, AVDictionary** avio_opts);
243
244 /**
245 * Open a write-only fake memory stream. The written data is not stored
246 * anywhere - this is only used for measuring the amount of data
247 * written.
248 *
249 * @param s new IO context
250 * @return zero if no error.
251 */
252 int ffio_open_null_buf(AVIOContext **s);
253
254 int ffio_open_whitelist(AVIOContext **s, const char *url, int flags,
255 const AVIOInterruptCB *int_cb, AVDictionary **options,
256 const char *whitelist, const char *blacklist);
257
258 /**
259 * Close a null buffer.
260 *
261 * @param s an IO context opened by ffio_open_null_buf
262 * @return the number of bytes written to the null buffer
263 */
264 int ffio_close_null_buf(AVIOContext *s);
265
266 /**
267 * Reset a dynamic buffer.
268 *
269 * Resets everything, but keeps the allocated buffer for later use.
270 */
271 void ffio_reset_dyn_buf(AVIOContext *s);
272
273 /**
274 * Free a dynamic buffer.
275 *
276 * @param s a pointer to an IO context opened by avio_open_dyn_buf()
277 */
278 void ffio_free_dyn_buf(AVIOContext **s);
279
280 struct AVBPrint;
281 /**
282 * Read a whole line of text from AVIOContext to an AVBPrint buffer overwriting
283 * its contents. Stop reading after reaching a \\r, a \\n, a \\r\\n, a \\0 or
284 * EOF. The line ending characters are NOT included in the buffer, but they
285 * are skipped on the input.
286 *
287 * @param s the read-only AVIOContext
288 * @param bp the AVBPrint buffer
289 * @return the length of the read line not including the line endings,
290 * negative on error, or if the buffer becomes truncated.
291 */
292 int64_t ff_read_line_to_bprint_overwrite(AVIOContext *s, struct AVBPrint *bp);
293
294 /**
295 * Read a whole null-terminated string of text from AVIOContext to an AVBPrint
296 * buffer overwriting its contents. Stop reading after reaching the maximum
297 * length, a \\0 or EOF.
298 *
299 * @param s the read-only AVIOContext
300 * @param bp the AVBPrint buffer
301 * @param max_len the maximum length to be read from the AVIOContext.
302 * Negative (< 0) values signal that there is no known maximum
303 * length applicable. A maximum length of zero means that the
304 * AVIOContext is not touched, and the function returns
305 * with a read length of zero. In all cases the AVBprint
306 * is cleared.
307 * @return the length of the read string not including the terminating null,
308 * negative on error, or if the buffer becomes truncated.
309 */
310 int64_t ff_read_string_to_bprint_overwrite(AVIOContext *s, struct AVBPrint *bp,
311 int64_t max_len);
312
313 #endif /* AVFORMAT_AVIO_INTERNAL_H */
314

12月份是什么星座 玫瑰什么时候开花 过敏性紫癜有什么症状 全脂牛奶和脱脂牛奶有什么区别 覆盖是什么意思
喉部有异物感是什么病 繁字五行属什么 什么是包皮过长 多晒太阳有什么好处 一感冒就咳嗽是什么原因
史字五行属什么 脚麻是什么病的前兆 症瘕积聚是什么意思 正对什么 9月13日什么星座
中秋节为什么要吃月饼 婴儿肥是什么意思 形态各异的异是什么意思 金蝉脱壳比喻什么 世风日下什么意思
什么是种植牙hcv8jop5ns3r.cn 生死离别代表什么生肖hcv8jop3ns0r.cn 圣经是什么时候写的hcv9jop8ns3r.cn 16588a是什么尺码女装hcv8jop4ns2r.cn epl是什么意思hcv8jop6ns9r.cn
世界上最大的鸟是什么鸟hcv9jop3ns3r.cn 咽喉炎是什么原因引起的hcv9jop2ns6r.cn 奥美拉唑什么时候吃最好hcv8jop0ns8r.cn 博文是什么意思hcv8jop8ns0r.cn 庹是什么意思hcv9jop3ns8r.cn
牛肉用什么炒好吃hcv8jop7ns2r.cn 儿童干咳吃什么药效果好hcv8jop5ns4r.cn 天蝎男喜欢什么样的女生hcv8jop6ns9r.cn 是什么元素hcv9jop3ns3r.cn 过氧化氢弱阳性什么意思hcv8jop6ns0r.cn
预防是什么意思hcv9jop4ns9r.cn 试管婴儿长方案是什么hcv7jop6ns3r.cn 眼睛屈光不正是什么意思yanzhenzixun.com 中耳炎吃什么消炎药hcv9jop4ns7r.cn 精尽人亡什么意思hcv7jop4ns7r.cn
百度