Mercurial > audlegacy-plugins
comparison src/ffmpeg/libavformat/aviobuf.c @ 828:c294c4700937 trunk
[svn] - more stuff to kill
author | nenolod |
---|---|
date | Mon, 12 Mar 2007 15:05:25 -0700 |
parents | 420eb823b2d4 |
children | 68562d99230f |
comparison
equal
deleted
inserted
replaced
827:81749781b75f | 828:c294c4700937 |
---|---|
170 } | 170 } |
171 } | 171 } |
172 return size1 - size; | 172 return size1 - size; |
173 } | 173 } |
174 | 174 |
175 int get_partial_buffer(ByteIOContext *s, unsigned char *buf, int size) | |
176 { | |
177 int len; | |
178 | |
179 if(size<0) | |
180 return -1; | |
181 | |
182 len = s->buf_end - s->buf_ptr; | |
183 if (len == 0) { | |
184 fill_buffer(s); | |
185 len = s->buf_end - s->buf_ptr; | |
186 } | |
187 if (len > size) | |
188 len = size; | |
189 memcpy(buf, s->buf_ptr, len); | |
190 s->buf_ptr += len; | |
191 return len; | |
192 } | |
193 | |
175 unsigned int get_le16(ByteIOContext *s) | 194 unsigned int get_le16(ByteIOContext *s) |
176 { | 195 { |
177 unsigned int val; | 196 unsigned int val; |
178 val = get_byte(s); | 197 val = get_byte(s); |
179 val |= get_byte(s) << 8; | 198 val |= get_byte(s) << 8; |
199 return val; | |
200 } | |
201 | |
202 unsigned int get_le24(ByteIOContext *s) | |
203 { | |
204 unsigned int val; | |
205 val = get_le16(s); | |
206 val |= get_byte(s) << 16; | |
180 return val; | 207 return val; |
181 } | 208 } |
182 | 209 |
183 unsigned int get_le32(ByteIOContext *s) | 210 unsigned int get_le32(ByteIOContext *s) |
184 { | 211 { |
200 | 227 |
201 unsigned int get_be16(ByteIOContext *s) | 228 unsigned int get_be16(ByteIOContext *s) |
202 { | 229 { |
203 unsigned int val; | 230 unsigned int val; |
204 val = get_byte(s) << 8; | 231 val = get_byte(s) << 8; |
232 val |= get_byte(s); | |
233 return val; | |
234 } | |
235 | |
236 unsigned int get_be24(ByteIOContext *s) | |
237 { | |
238 unsigned int val; | |
239 val = get_be16(s) << 8; | |
205 val |= get_byte(s); | 240 val |= get_byte(s); |
206 return val; | 241 return val; |
207 } | 242 } |
208 | 243 |
209 unsigned int get_be32(ByteIOContext *s) | 244 unsigned int get_be32(ByteIOContext *s) |
404 size = s->seek(s->opaque, -1, SEEK_END) + 1; | 439 size = s->seek(s->opaque, -1, SEEK_END) + 1; |
405 s->seek(s->opaque, s->pos, SEEK_SET); | 440 s->seek(s->opaque, s->pos, SEEK_SET); |
406 return size; | 441 return size; |
407 } | 442 } |
408 | 443 |
444 static void flush_buffer(ByteIOContext *s) | |
445 { | |
446 if (s->buf_ptr > s->buffer) { | |
447 if (s->write_packet){ | |
448 s->write_packet(s->opaque, s->buffer, s->buf_ptr - s->buffer); | |
449 } | |
450 s->pos += s->buf_ptr - s->buffer; | |
451 } | |
452 s->buf_ptr = s->buffer; | |
453 } | |
454 | |
455 void put_byte(ByteIOContext *s, int b) | |
456 { | |
457 *(s->buf_ptr)++ = b; | |
458 if (s->buf_ptr >= s->buf_end) | |
459 flush_buffer(s); | |
460 } | |
461 | |
462 void put_buffer(ByteIOContext *s, const unsigned char *buf, int size) | |
463 { | |
464 int len; | |
465 | |
466 while (size > 0) { | |
467 len = (s->buf_end - s->buf_ptr); | |
468 if (len > size) | |
469 len = size; | |
470 memcpy(s->buf_ptr, buf, len); | |
471 s->buf_ptr += len; | |
472 | |
473 if (s->buf_ptr >= s->buf_end) | |
474 flush_buffer(s); | |
475 | |
476 buf += len; | |
477 size -= len; | |
478 } | |
479 } | |
480 | |
481 void put_be32(ByteIOContext *s, unsigned int val) | |
482 { | |
483 put_byte(s, val >> 24); | |
484 put_byte(s, val >> 16); | |
485 put_byte(s, val >> 8); | |
486 put_byte(s, val); | |
487 } | |
488 | |
489 void put_strz(ByteIOContext *s, const char *str) | |
490 { | |
491 if (str) | |
492 put_buffer(s, (const unsigned char *) str, strlen(str) + 1); | |
493 else | |
494 put_byte(s, 0); | |
495 } | |
496 | |
497 void put_le64(ByteIOContext *s, uint64_t val) | |
498 { | |
499 put_le32(s, (uint32_t)(val & 0xffffffff)); | |
500 put_le32(s, (uint32_t)(val >> 32)); | |
501 } | |
502 | |
503 void put_be64(ByteIOContext *s, uint64_t val) | |
504 { | |
505 put_be32(s, (uint32_t)(val >> 32)); | |
506 put_be32(s, (uint32_t)(val & 0xffffffff)); | |
507 } | |
508 | |
509 void put_le16(ByteIOContext *s, unsigned int val) | |
510 { | |
511 put_byte(s, val); | |
512 put_byte(s, val >> 8); | |
513 } | |
514 | |
515 void put_be16(ByteIOContext *s, unsigned int val) | |
516 { | |
517 put_byte(s, val >> 8); | |
518 put_byte(s, val); | |
519 } | |
520 | |
521 void put_le24(ByteIOContext *s, unsigned int val) | |
522 { | |
523 put_le16(s, val & 0xffff); | |
524 put_byte(s, val >> 16); | |
525 } | |
526 | |
527 void put_be24(ByteIOContext *s, unsigned int val) | |
528 { | |
529 put_be16(s, val >> 8); | |
530 put_byte(s, val); | |
531 } | |
532 | |
533 void put_tag(ByteIOContext *s, const char *tag) | |
534 { | |
535 while (*tag) { | |
536 put_byte(s, *tag++); | |
537 } | |
538 } | |
539 |