In the name of consistency:
put_byte -> avio_w8
put_<type> -> avio_w<type>
put_buffer -> avio_write
put_nbyte will be made private
put_tag will be merged with avio_put_str
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
... | ... |
@@ -2514,10 +2514,10 @@ static int http_send_data(HTTPContext *c) |
2514 | 2514 |
header[1] = interleaved_index; |
2515 | 2515 |
header[2] = len >> 8; |
2516 | 2516 |
header[3] = len; |
2517 |
- put_buffer(pb, header, 4); |
|
2517 |
+ avio_write(pb, header, 4); |
|
2518 | 2518 |
/* write RTP packet data */ |
2519 | 2519 |
c->buffer_ptr += 4; |
2520 |
- put_buffer(pb, c->buffer_ptr, len); |
|
2520 |
+ avio_write(pb, c->buffer_ptr, len); |
|
2521 | 2521 |
size = url_close_dyn_buf(pb, &c->packet_buffer); |
2522 | 2522 |
/* prepare asynchronous TCP sending */ |
2523 | 2523 |
rtsp_c->packet_buffer_ptr = c->packet_buffer; |
... | ... |
@@ -3018,7 +3018,7 @@ static void rtsp_cmd_describe(HTTPContext *c, const char *url) |
3018 | 3018 |
url_fprintf(c->pb, "Content-Type: application/sdp\r\n"); |
3019 | 3019 |
url_fprintf(c->pb, "Content-Length: %d\r\n", content_length); |
3020 | 3020 |
url_fprintf(c->pb, "\r\n"); |
3021 |
- put_buffer(c->pb, content, content_length); |
|
3021 |
+ avio_write(c->pb, content, content_length); |
|
3022 | 3022 |
av_free(content); |
3023 | 3023 |
} |
3024 | 3024 |
|
... | ... |
@@ -57,7 +57,7 @@ static int a64_write_header(struct AVFormatContext *s) |
57 | 57 |
return AVERROR(EINVAL); |
58 | 58 |
break; |
59 | 59 |
} |
60 |
- put_buffer(s->pb, header, 2); |
|
60 |
+ avio_write(s->pb, header, 2); |
|
61 | 61 |
c->prev_pkt.size = 0; |
62 | 62 |
c->prev_frame_count = 0; |
63 | 63 |
return 0; |
... | ... |
@@ -110,18 +110,18 @@ static int a64_write_packet(struct AVFormatContext *s, AVPacket *pkt) |
110 | 110 |
for(i = 0; i < num_frames; i++) { |
111 | 111 |
if(pkt->data) { |
112 | 112 |
/* if available, put newest charset chunk into buffer */ |
113 |
- put_buffer(s->pb, pkt->data + ch_chunksize * i, ch_chunksize); |
|
113 |
+ avio_write(s->pb, pkt->data + ch_chunksize * i, ch_chunksize); |
|
114 | 114 |
} else { |
115 | 115 |
/* a bit ugly, but is there an alternative to put many zeros? */ |
116 |
- for(j = 0; j < ch_chunksize; j++) put_byte(s->pb, 0); |
|
116 |
+ for(j = 0; j < ch_chunksize; j++) avio_w8(s->pb, 0); |
|
117 | 117 |
} |
118 | 118 |
|
119 | 119 |
if(c->prev_pkt.data) { |
120 | 120 |
/* put frame (screen + colram) from last packet into buffer */ |
121 |
- put_buffer(s->pb, c->prev_pkt.data + charset_size + frame_size * i, frame_size); |
|
121 |
+ avio_write(s->pb, c->prev_pkt.data + charset_size + frame_size * i, frame_size); |
|
122 | 122 |
} else { |
123 | 123 |
/* a bit ugly, but is there an alternative to put many zeros? */ |
124 |
- for(j = 0; j < frame_size; j++) put_byte(s->pb, 0); |
|
124 |
+ for(j = 0; j < frame_size; j++) avio_w8(s->pb, 0); |
|
125 | 125 |
} |
126 | 126 |
} |
127 | 127 |
|
... | ... |
@@ -145,7 +145,7 @@ static int a64_write_packet(struct AVFormatContext *s, AVPacket *pkt) |
145 | 145 |
default: |
146 | 146 |
/* Write things as is. Nice for self-contained frames from non-multicolor modes or if played |
147 | 147 |
* directly from ram and not from a streaming device (rrnet/mmc) */ |
148 |
- if(pkt) put_buffer(s->pb, pkt->data, pkt->size); |
|
148 |
+ if(pkt) avio_write(s->pb, pkt->data, pkt->size); |
|
149 | 149 |
break; |
150 | 150 |
} |
151 | 151 |
|
... | ... |
@@ -125,13 +125,13 @@ static int adts_write_packet(AVFormatContext *s, AVPacket *pkt) |
125 | 125 |
return 0; |
126 | 126 |
if (adts->write_adts) { |
127 | 127 |
ff_adts_write_frame_header(adts, buf, pkt->size, adts->pce_size); |
128 |
- put_buffer(pb, buf, ADTS_HEADER_SIZE); |
|
128 |
+ avio_write(pb, buf, ADTS_HEADER_SIZE); |
|
129 | 129 |
if (adts->pce_size) { |
130 |
- put_buffer(pb, adts->pce_data, adts->pce_size); |
|
130 |
+ avio_write(pb, adts->pce_data, adts->pce_size); |
|
131 | 131 |
adts->pce_size = 0; |
132 | 132 |
} |
133 | 133 |
} |
134 |
- put_buffer(pb, pkt->data, pkt->size); |
|
134 |
+ avio_write(pb, pkt->data, pkt->size); |
|
135 | 135 |
put_flush_packet(pb); |
136 | 136 |
|
137 | 137 |
return 0; |
... | ... |
@@ -45,7 +45,7 @@ static int aiff_write_header(AVFormatContext *s) |
45 | 45 |
/* FORM AIFF header */ |
46 | 46 |
put_tag(pb, "FORM"); |
47 | 47 |
aiff->form = url_ftell(pb); |
48 |
- put_be32(pb, 0); /* file length */ |
|
48 |
+ avio_wb32(pb, 0); /* file length */ |
|
49 | 49 |
put_tag(pb, aifc ? "AIFC" : "AIFF"); |
50 | 50 |
|
51 | 51 |
if (aifc) { // compressed audio |
... | ... |
@@ -56,17 +56,17 @@ static int aiff_write_header(AVFormatContext *s) |
56 | 56 |
} |
57 | 57 |
/* Version chunk */ |
58 | 58 |
put_tag(pb, "FVER"); |
59 |
- put_be32(pb, 4); |
|
60 |
- put_be32(pb, 0xA2805140); |
|
59 |
+ avio_wb32(pb, 4); |
|
60 |
+ avio_wb32(pb, 0xA2805140); |
|
61 | 61 |
} |
62 | 62 |
|
63 | 63 |
/* Common chunk */ |
64 | 64 |
put_tag(pb, "COMM"); |
65 |
- put_be32(pb, aifc ? 24 : 18); /* size */ |
|
66 |
- put_be16(pb, enc->channels); /* Number of channels */ |
|
65 |
+ avio_wb32(pb, aifc ? 24 : 18); /* size */ |
|
66 |
+ avio_wb16(pb, enc->channels); /* Number of channels */ |
|
67 | 67 |
|
68 | 68 |
aiff->frames = url_ftell(pb); |
69 |
- put_be32(pb, 0); /* Number of frames */ |
|
69 |
+ avio_wb32(pb, 0); /* Number of frames */ |
|
70 | 70 |
|
71 | 71 |
if (!enc->bits_per_coded_sample) |
72 | 72 |
enc->bits_per_coded_sample = av_get_bits_per_sample(enc->codec_id); |
... | ... |
@@ -77,22 +77,22 @@ static int aiff_write_header(AVFormatContext *s) |
77 | 77 |
if (!enc->block_align) |
78 | 78 |
enc->block_align = (enc->bits_per_coded_sample * enc->channels) >> 3; |
79 | 79 |
|
80 |
- put_be16(pb, enc->bits_per_coded_sample); /* Sample size */ |
|
80 |
+ avio_wb16(pb, enc->bits_per_coded_sample); /* Sample size */ |
|
81 | 81 |
|
82 | 82 |
sample_rate = av_dbl2ext((double)enc->sample_rate); |
83 |
- put_buffer(pb, (uint8_t*)&sample_rate, sizeof(sample_rate)); |
|
83 |
+ avio_write(pb, (uint8_t*)&sample_rate, sizeof(sample_rate)); |
|
84 | 84 |
|
85 | 85 |
if (aifc) { |
86 |
- put_le32(pb, enc->codec_tag); |
|
87 |
- put_be16(pb, 0); |
|
86 |
+ avio_wl32(pb, enc->codec_tag); |
|
87 |
+ avio_wb16(pb, 0); |
|
88 | 88 |
} |
89 | 89 |
|
90 | 90 |
/* Sound data chunk */ |
91 | 91 |
put_tag(pb, "SSND"); |
92 | 92 |
aiff->ssnd = url_ftell(pb); /* Sound chunk size */ |
93 |
- put_be32(pb, 0); /* Sound samples data size */ |
|
94 |
- put_be32(pb, 0); /* Data offset */ |
|
95 |
- put_be32(pb, 0); /* Block-size (block align) */ |
|
93 |
+ avio_wb32(pb, 0); /* Sound samples data size */ |
|
94 |
+ avio_wb32(pb, 0); /* Data offset */ |
|
95 |
+ avio_wb32(pb, 0); /* Block-size (block align) */ |
|
96 | 96 |
|
97 | 97 |
av_set_pts_info(s->streams[0], 64, 1, s->streams[0]->codec->sample_rate); |
98 | 98 |
|
... | ... |
@@ -105,7 +105,7 @@ static int aiff_write_header(AVFormatContext *s) |
105 | 105 |
static int aiff_write_packet(AVFormatContext *s, AVPacket *pkt) |
106 | 106 |
{ |
107 | 107 |
AVIOContext *pb = s->pb; |
108 |
- put_buffer(pb, pkt->data, pkt->size); |
|
108 |
+ avio_write(pb, pkt->data, pkt->size); |
|
109 | 109 |
return 0; |
110 | 110 |
} |
111 | 111 |
|
... | ... |
@@ -119,22 +119,22 @@ static int aiff_write_trailer(AVFormatContext *s) |
119 | 119 |
int64_t file_size, end_size; |
120 | 120 |
end_size = file_size = url_ftell(pb); |
121 | 121 |
if (file_size & 1) { |
122 |
- put_byte(pb, 0); |
|
122 |
+ avio_w8(pb, 0); |
|
123 | 123 |
end_size++; |
124 | 124 |
} |
125 | 125 |
|
126 | 126 |
if (!url_is_streamed(s->pb)) { |
127 | 127 |
/* File length */ |
128 | 128 |
url_fseek(pb, aiff->form, SEEK_SET); |
129 |
- put_be32(pb, file_size - aiff->form - 4); |
|
129 |
+ avio_wb32(pb, file_size - aiff->form - 4); |
|
130 | 130 |
|
131 | 131 |
/* Number of sample frames */ |
132 | 132 |
url_fseek(pb, aiff->frames, SEEK_SET); |
133 |
- put_be32(pb, (file_size-aiff->ssnd-12)/enc->block_align); |
|
133 |
+ avio_wb32(pb, (file_size-aiff->ssnd-12)/enc->block_align); |
|
134 | 134 |
|
135 | 135 |
/* Sound Data chunk size */ |
136 | 136 |
url_fseek(pb, aiff->ssnd, SEEK_SET); |
137 |
- put_be32(pb, file_size - aiff->ssnd - 4); |
|
137 |
+ avio_wb32(pb, file_size - aiff->ssnd - 4); |
|
138 | 138 |
|
139 | 139 |
/* return to the end */ |
140 | 140 |
url_fseek(pb, end_size, SEEK_SET); |
... | ... |
@@ -56,7 +56,7 @@ static int amr_write_header(AVFormatContext *s) |
56 | 56 |
|
57 | 57 |
static int amr_write_packet(AVFormatContext *s, AVPacket *pkt) |
58 | 58 |
{ |
59 |
- put_buffer(s->pb, pkt->data, pkt->size); |
|
59 |
+ avio_write(s->pb, pkt->data, pkt->size); |
|
60 | 60 |
put_flush_packet(s->pb); |
61 | 61 |
return 0; |
62 | 62 |
} |
... | ... |
@@ -226,7 +226,7 @@ static const AVCodecTag codec_asf_bmp_tags[] = { |
226 | 226 |
static void put_guid(AVIOContext *s, const ff_asf_guid *g) |
227 | 227 |
{ |
228 | 228 |
assert(sizeof(*g) == 16); |
229 |
- put_buffer(s, *g, sizeof(*g)); |
|
229 |
+ avio_write(s, *g, sizeof(*g)); |
|
230 | 230 |
} |
231 | 231 |
|
232 | 232 |
static void put_str16(AVIOContext *s, const char *tag) |
... | ... |
@@ -239,8 +239,8 @@ static void put_str16(AVIOContext *s, const char *tag) |
239 | 239 |
|
240 | 240 |
avio_put_str16le(dyn_buf, tag); |
241 | 241 |
len = url_close_dyn_buf(dyn_buf, &pb); |
242 |
- put_le16(s, len); |
|
243 |
- put_buffer(s, pb, len); |
|
242 |
+ avio_wl16(s, len); |
|
243 |
+ avio_write(s, pb, len); |
|
244 | 244 |
av_freep(&pb); |
245 | 245 |
} |
246 | 246 |
|
... | ... |
@@ -250,7 +250,7 @@ static int64_t put_header(AVIOContext *pb, const ff_asf_guid *g) |
250 | 250 |
|
251 | 251 |
pos = url_ftell(pb); |
252 | 252 |
put_guid(pb, g); |
253 |
- put_le64(pb, 24); |
|
253 |
+ avio_wl64(pb, 24); |
|
254 | 254 |
return pos; |
255 | 255 |
} |
256 | 256 |
|
... | ... |
@@ -261,7 +261,7 @@ static void end_header(AVIOContext *pb, int64_t pos) |
261 | 261 |
|
262 | 262 |
pos1 = url_ftell(pb); |
263 | 263 |
url_fseek(pb, pos + 16, SEEK_SET); |
264 |
- put_le64(pb, pos1 - pos); |
|
264 |
+ avio_wl64(pb, pos1 - pos); |
|
265 | 265 |
url_fseek(pb, pos1, SEEK_SET); |
266 | 266 |
} |
267 | 267 |
|
... | ... |
@@ -273,11 +273,11 @@ static void put_chunk(AVFormatContext *s, int type, int payload_length, int flag |
273 | 273 |
int length; |
274 | 274 |
|
275 | 275 |
length = payload_length + 8; |
276 |
- put_le16(pb, type); |
|
277 |
- put_le16(pb, length); //size |
|
278 |
- put_le32(pb, asf->seqno);//sequence number |
|
279 |
- put_le16(pb, flags); /* unknown bytes */ |
|
280 |
- put_le16(pb, length); //size_confirm |
|
276 |
+ avio_wl16(pb, type); |
|
277 |
+ avio_wl16(pb, length); //size |
|
278 |
+ avio_wl32(pb, asf->seqno);//sequence number |
|
279 |
+ avio_wl16(pb, flags); /* unknown bytes */ |
|
280 |
+ avio_wl16(pb, length); //size_confirm |
|
281 | 281 |
asf->seqno++; |
282 | 282 |
} |
283 | 283 |
|
... | ... |
@@ -331,33 +331,33 @@ static int asf_write_header1(AVFormatContext *s, int64_t file_size, int64_t data |
331 | 331 |
} |
332 | 332 |
|
333 | 333 |
put_guid(pb, &ff_asf_header); |
334 |
- put_le64(pb, -1); /* header length, will be patched after */ |
|
335 |
- put_le32(pb, 3 + has_title + !!metadata_count + s->nb_streams); /* number of chunks in header */ |
|
336 |
- put_byte(pb, 1); /* ??? */ |
|
337 |
- put_byte(pb, 2); /* ??? */ |
|
334 |
+ avio_wl64(pb, -1); /* header length, will be patched after */ |
|
335 |
+ avio_wl32(pb, 3 + has_title + !!metadata_count + s->nb_streams); /* number of chunks in header */ |
|
336 |
+ avio_w8(pb, 1); /* ??? */ |
|
337 |
+ avio_w8(pb, 2); /* ??? */ |
|
338 | 338 |
|
339 | 339 |
/* file header */ |
340 | 340 |
header_offset = url_ftell(pb); |
341 | 341 |
hpos = put_header(pb, &ff_asf_file_header); |
342 | 342 |
put_guid(pb, &ff_asf_my_guid); |
343 |
- put_le64(pb, file_size); |
|
343 |
+ avio_wl64(pb, file_size); |
|
344 | 344 |
file_time = 0; |
345 |
- put_le64(pb, unix_to_file_time(file_time)); |
|
346 |
- put_le64(pb, asf->nb_packets); /* number of packets */ |
|
347 |
- put_le64(pb, duration); /* end time stamp (in 100ns units) */ |
|
348 |
- put_le64(pb, asf->duration); /* duration (in 100ns units) */ |
|
349 |
- put_le64(pb, PREROLL_TIME); /* start time stamp */ |
|
350 |
- put_le32(pb, (asf->is_streamed || url_is_streamed(pb)) ? 3 : 2); /* ??? */ |
|
351 |
- put_le32(pb, s->packet_size); /* packet size */ |
|
352 |
- put_le32(pb, s->packet_size); /* packet size */ |
|
353 |
- put_le32(pb, bit_rate); /* Nominal data rate in bps */ |
|
345 |
+ avio_wl64(pb, unix_to_file_time(file_time)); |
|
346 |
+ avio_wl64(pb, asf->nb_packets); /* number of packets */ |
|
347 |
+ avio_wl64(pb, duration); /* end time stamp (in 100ns units) */ |
|
348 |
+ avio_wl64(pb, asf->duration); /* duration (in 100ns units) */ |
|
349 |
+ avio_wl64(pb, PREROLL_TIME); /* start time stamp */ |
|
350 |
+ avio_wl32(pb, (asf->is_streamed || url_is_streamed(pb)) ? 3 : 2); /* ??? */ |
|
351 |
+ avio_wl32(pb, s->packet_size); /* packet size */ |
|
352 |
+ avio_wl32(pb, s->packet_size); /* packet size */ |
|
353 |
+ avio_wl32(pb, bit_rate); /* Nominal data rate in bps */ |
|
354 | 354 |
end_header(pb, hpos); |
355 | 355 |
|
356 | 356 |
/* unknown headers */ |
357 | 357 |
hpos = put_header(pb, &ff_asf_head1_guid); |
358 | 358 |
put_guid(pb, &ff_asf_head2_guid); |
359 |
- put_le32(pb, 6); |
|
360 |
- put_le16(pb, 0); |
|
359 |
+ avio_wl32(pb, 6); |
|
360 |
+ avio_wl16(pb, 0); |
|
361 | 361 |
end_header(pb, hpos); |
362 | 362 |
|
363 | 363 |
/* title and other infos */ |
... | ... |
@@ -373,20 +373,20 @@ static int asf_write_header1(AVFormatContext *s, int64_t file_size, int64_t data |
373 | 373 |
|
374 | 374 |
for (n = 0; n < FF_ARRAY_ELEMS(tags); n++) { |
375 | 375 |
len = tags[n] ? avio_put_str16le(dyn_buf, tags[n]->value) : 0; |
376 |
- put_le16(pb, len); |
|
376 |
+ avio_wl16(pb, len); |
|
377 | 377 |
} |
378 | 378 |
len = url_close_dyn_buf(dyn_buf, &buf); |
379 |
- put_buffer(pb, buf, len); |
|
379 |
+ avio_write(pb, buf, len); |
|
380 | 380 |
av_freep(&buf); |
381 | 381 |
end_header(pb, hpos); |
382 | 382 |
} |
383 | 383 |
if (metadata_count) { |
384 | 384 |
AVMetadataTag *tag = NULL; |
385 | 385 |
hpos = put_header(pb, &ff_asf_extended_content_header); |
386 |
- put_le16(pb, metadata_count); |
|
386 |
+ avio_wl16(pb, metadata_count); |
|
387 | 387 |
while ((tag = av_metadata_get(s->metadata, "", tag, AV_METADATA_IGNORE_SUFFIX))) { |
388 | 388 |
put_str16(pb, tag->key); |
389 |
- put_le16(pb, 0); |
|
389 |
+ avio_wl16(pb, 0); |
|
390 | 390 |
put_str16(pb, tag->value); |
391 | 391 |
} |
392 | 392 |
end_header(pb, hpos); |
... | ... |
@@ -424,19 +424,19 @@ static int asf_write_header1(AVFormatContext *s, int64_t file_size, int64_t data |
424 | 424 |
put_guid(pb, &ff_asf_video_stream); |
425 | 425 |
put_guid(pb, &ff_asf_video_conceal_none); |
426 | 426 |
} |
427 |
- put_le64(pb, 0); /* ??? */ |
|
427 |
+ avio_wl64(pb, 0); /* ??? */ |
|
428 | 428 |
es_pos = url_ftell(pb); |
429 |
- put_le32(pb, extra_size); /* wav header len */ |
|
430 |
- put_le32(pb, extra_size2); /* additional data len */ |
|
431 |
- put_le16(pb, n + 1); /* stream number */ |
|
432 |
- put_le32(pb, 0); /* ??? */ |
|
429 |
+ avio_wl32(pb, extra_size); /* wav header len */ |
|
430 |
+ avio_wl32(pb, extra_size2); /* additional data len */ |
|
431 |
+ avio_wl16(pb, n + 1); /* stream number */ |
|
432 |
+ avio_wl32(pb, 0); /* ??? */ |
|
433 | 433 |
|
434 | 434 |
if (enc->codec_type == AVMEDIA_TYPE_AUDIO) { |
435 | 435 |
/* WAVEFORMATEX header */ |
436 | 436 |
int wavsize = ff_put_wav_header(pb, enc); |
437 | 437 |
if ((enc->codec_id != CODEC_ID_MP3) && (enc->codec_id != CODEC_ID_MP2) && (enc->codec_id != CODEC_ID_ADPCM_IMA_WAV) && (enc->extradata_size==0)) { |
438 | 438 |
wavsize += 2; |
439 |
- put_le16(pb, 0); |
|
439 |
+ avio_wl16(pb, 0); |
|
440 | 440 |
} |
441 | 441 |
|
442 | 442 |
if (wavsize < 0) |
... | ... |
@@ -444,25 +444,25 @@ static int asf_write_header1(AVFormatContext *s, int64_t file_size, int64_t data |
444 | 444 |
if (wavsize != extra_size) { |
445 | 445 |
cur_pos = url_ftell(pb); |
446 | 446 |
url_fseek(pb, es_pos, SEEK_SET); |
447 |
- put_le32(pb, wavsize); /* wav header len */ |
|
447 |
+ avio_wl32(pb, wavsize); /* wav header len */ |
|
448 | 448 |
url_fseek(pb, cur_pos, SEEK_SET); |
449 | 449 |
} |
450 | 450 |
/* ERROR Correction */ |
451 |
- put_byte(pb, 0x01); |
|
451 |
+ avio_w8(pb, 0x01); |
|
452 | 452 |
if(enc->codec_id == CODEC_ID_ADPCM_G726 || !enc->block_align){ |
453 |
- put_le16(pb, 0x0190); |
|
454 |
- put_le16(pb, 0x0190); |
|
453 |
+ avio_wl16(pb, 0x0190); |
|
454 |
+ avio_wl16(pb, 0x0190); |
|
455 | 455 |
}else{ |
456 |
- put_le16(pb, enc->block_align); |
|
457 |
- put_le16(pb, enc->block_align); |
|
456 |
+ avio_wl16(pb, enc->block_align); |
|
457 |
+ avio_wl16(pb, enc->block_align); |
|
458 | 458 |
} |
459 |
- put_le16(pb, 0x01); |
|
460 |
- put_byte(pb, 0x00); |
|
459 |
+ avio_wl16(pb, 0x01); |
|
460 |
+ avio_w8(pb, 0x00); |
|
461 | 461 |
} else { |
462 |
- put_le32(pb, enc->width); |
|
463 |
- put_le32(pb, enc->height); |
|
464 |
- put_byte(pb, 2); /* ??? */ |
|
465 |
- put_le16(pb, 40 + enc->extradata_size); /* size */ |
|
462 |
+ avio_wl32(pb, enc->width); |
|
463 |
+ avio_wl32(pb, enc->height); |
|
464 |
+ avio_w8(pb, 2); /* ??? */ |
|
465 |
+ avio_wl16(pb, 40 + enc->extradata_size); /* size */ |
|
466 | 466 |
|
467 | 467 |
/* BITMAPINFOHEADER header */ |
468 | 468 |
ff_put_bmp_header(pb, enc, ff_codec_bmp_tags, 1); |
... | ... |
@@ -474,7 +474,7 @@ static int asf_write_header1(AVFormatContext *s, int64_t file_size, int64_t data |
474 | 474 |
|
475 | 475 |
hpos = put_header(pb, &ff_asf_codec_comment_header); |
476 | 476 |
put_guid(pb, &ff_asf_codec_comment1_header); |
477 |
- put_le32(pb, s->nb_streams); |
|
477 |
+ avio_wl32(pb, s->nb_streams); |
|
478 | 478 |
for(n=0;n<s->nb_streams;n++) { |
479 | 479 |
AVCodec *p; |
480 | 480 |
const char *desc; |
... | ... |
@@ -486,11 +486,11 @@ static int asf_write_header1(AVFormatContext *s, int64_t file_size, int64_t data |
486 | 486 |
p = avcodec_find_encoder(enc->codec_id); |
487 | 487 |
|
488 | 488 |
if(enc->codec_type == AVMEDIA_TYPE_AUDIO) |
489 |
- put_le16(pb, 2); |
|
489 |
+ avio_wl16(pb, 2); |
|
490 | 490 |
else if(enc->codec_type == AVMEDIA_TYPE_VIDEO) |
491 |
- put_le16(pb, 1); |
|
491 |
+ avio_wl16(pb, 1); |
|
492 | 492 |
else |
493 |
- put_le16(pb, -1); |
|
493 |
+ avio_wl16(pb, -1); |
|
494 | 494 |
|
495 | 495 |
if(enc->codec_id == CODEC_ID_WMAV2) |
496 | 496 |
desc = "Windows Media Audio V8"; |
... | ... |
@@ -502,21 +502,21 @@ static int asf_write_header1(AVFormatContext *s, int64_t file_size, int64_t data |
502 | 502 |
|
503 | 503 |
avio_put_str16le(dyn_buf, desc); |
504 | 504 |
len = url_close_dyn_buf(dyn_buf, &buf); |
505 |
- put_le16(pb, len / 2); // "number of characters" = length in bytes / 2 |
|
505 |
+ avio_wl16(pb, len / 2); // "number of characters" = length in bytes / 2 |
|
506 | 506 |
|
507 |
- put_buffer(pb, buf, len); |
|
507 |
+ avio_write(pb, buf, len); |
|
508 | 508 |
av_freep(&buf); |
509 | 509 |
|
510 |
- put_le16(pb, 0); /* no parameters */ |
|
510 |
+ avio_wl16(pb, 0); /* no parameters */ |
|
511 | 511 |
|
512 | 512 |
|
513 | 513 |
/* id */ |
514 | 514 |
if (enc->codec_type == AVMEDIA_TYPE_AUDIO) { |
515 |
- put_le16(pb, 2); |
|
516 |
- put_le16(pb, enc->codec_tag); |
|
515 |
+ avio_wl16(pb, 2); |
|
516 |
+ avio_wl16(pb, enc->codec_tag); |
|
517 | 517 |
} else { |
518 |
- put_le16(pb, 4); |
|
519 |
- put_le32(pb, enc->codec_tag); |
|
518 |
+ avio_wl16(pb, 4); |
|
519 |
+ avio_wl32(pb, enc->codec_tag); |
|
520 | 520 |
} |
521 | 521 |
if(!enc->codec_tag) |
522 | 522 |
return -1; |
... | ... |
@@ -531,25 +531,25 @@ static int asf_write_header1(AVFormatContext *s, int64_t file_size, int64_t data |
531 | 531 |
header_size += 8 + 30 + 50; |
532 | 532 |
|
533 | 533 |
url_fseek(pb, header_offset - 10 - 30, SEEK_SET); |
534 |
- put_le16(pb, header_size); |
|
534 |
+ avio_wl16(pb, header_size); |
|
535 | 535 |
url_fseek(pb, header_offset - 2 - 30, SEEK_SET); |
536 |
- put_le16(pb, header_size); |
|
536 |
+ avio_wl16(pb, header_size); |
|
537 | 537 |
|
538 | 538 |
header_size -= 8 + 30 + 50; |
539 | 539 |
} |
540 | 540 |
header_size += 24 + 6; |
541 | 541 |
url_fseek(pb, header_offset - 14, SEEK_SET); |
542 |
- put_le64(pb, header_size); |
|
542 |
+ avio_wl64(pb, header_size); |
|
543 | 543 |
url_fseek(pb, cur_pos, SEEK_SET); |
544 | 544 |
|
545 | 545 |
/* movie chunk, followed by packets of packet_size */ |
546 | 546 |
asf->data_offset = cur_pos; |
547 | 547 |
put_guid(pb, &ff_asf_data_header); |
548 |
- put_le64(pb, data_chunk_size); |
|
548 |
+ avio_wl64(pb, data_chunk_size); |
|
549 | 549 |
put_guid(pb, &ff_asf_my_guid); |
550 |
- put_le64(pb, asf->nb_packets); /* nb packets */ |
|
551 |
- put_byte(pb, 1); /* ??? */ |
|
552 |
- put_byte(pb, 1); /* ??? */ |
|
550 |
+ avio_wl64(pb, asf->nb_packets); /* nb packets */ |
|
551 |
+ avio_w8(pb, 1); /* ??? */ |
|
552 |
+ avio_w8(pb, 1); /* ??? */ |
|
553 | 553 |
return 0; |
554 | 554 |
} |
555 | 555 |
|
... | ... |
@@ -614,9 +614,9 @@ static int put_payload_parsing_info( |
614 | 614 |
padsize--; |
615 | 615 |
assert(padsize>=0); |
616 | 616 |
|
617 |
- put_byte(pb, ASF_PACKET_ERROR_CORRECTION_FLAGS); |
|
617 |
+ avio_w8(pb, ASF_PACKET_ERROR_CORRECTION_FLAGS); |
|
618 | 618 |
for (i = 0; i < ASF_PACKET_ERROR_CORRECTION_DATA_SIZE; i++){ |
619 |
- put_byte(pb, 0x0); |
|
619 |
+ avio_w8(pb, 0x0); |
|
620 | 620 |
} |
621 | 621 |
|
622 | 622 |
if (asf->multi_payloads_present) |
... | ... |
@@ -628,19 +628,19 @@ static int put_payload_parsing_info( |
628 | 628 |
else |
629 | 629 |
iLengthTypeFlags |= ASF_PPI_FLAG_PADDING_LENGTH_FIELD_IS_WORD; |
630 | 630 |
} |
631 |
- put_byte(pb, iLengthTypeFlags); |
|
631 |
+ avio_w8(pb, iLengthTypeFlags); |
|
632 | 632 |
|
633 |
- put_byte(pb, ASF_PPI_PROPERTY_FLAGS); |
|
633 |
+ avio_w8(pb, ASF_PPI_PROPERTY_FLAGS); |
|
634 | 634 |
|
635 | 635 |
if (iLengthTypeFlags & ASF_PPI_FLAG_PADDING_LENGTH_FIELD_IS_WORD) |
636 |
- put_le16(pb, padsize - 2); |
|
636 |
+ avio_wl16(pb, padsize - 2); |
|
637 | 637 |
if (iLengthTypeFlags & ASF_PPI_FLAG_PADDING_LENGTH_FIELD_IS_BYTE) |
638 |
- put_byte(pb, padsize - 1); |
|
638 |
+ avio_w8(pb, padsize - 1); |
|
639 | 639 |
|
640 |
- put_le32(pb, sendtime); |
|
641 |
- put_le16(pb, duration); |
|
640 |
+ avio_wl32(pb, sendtime); |
|
641 |
+ avio_wl16(pb, duration); |
|
642 | 642 |
if (asf->multi_payloads_present) |
643 |
- put_byte(pb, nb_payloads | ASF_PAYLOAD_FLAGS); |
|
643 |
+ avio_w8(pb, nb_payloads | ASF_PAYLOAD_FLAGS); |
|
644 | 644 |
|
645 | 645 |
ppi_size = url_ftell(pb) - start; |
646 | 646 |
|
... | ... |
@@ -670,7 +670,7 @@ static void flush_packet(AVFormatContext *s) |
670 | 670 |
assert(packet_hdr_size <= asf->packet_size_left); |
671 | 671 |
memset(asf->packet_buf + packet_filled_size, 0, asf->packet_size_left); |
672 | 672 |
|
673 |
- put_buffer(s->pb, asf->packet_buf, s->packet_size - packet_hdr_size); |
|
673 |
+ avio_write(s->pb, asf->packet_buf, s->packet_size - packet_hdr_size); |
|
674 | 674 |
|
675 | 675 |
put_flush_packet(s->pb); |
676 | 676 |
asf->nb_packets++; |
... | ... |
@@ -698,23 +698,23 @@ static void put_payload_header( |
698 | 698 |
val = stream->num; |
699 | 699 |
if (flags & AV_PKT_FLAG_KEY) |
700 | 700 |
val |= ASF_PL_FLAG_KEY_FRAME; |
701 |
- put_byte(pb, val); |
|
701 |
+ avio_w8(pb, val); |
|
702 | 702 |
|
703 |
- put_byte(pb, stream->seq); //Media object number |
|
704 |
- put_le32(pb, m_obj_offset); //Offset Into Media Object |
|
703 |
+ avio_w8(pb, stream->seq); //Media object number |
|
704 |
+ avio_wl32(pb, m_obj_offset); //Offset Into Media Object |
|
705 | 705 |
|
706 | 706 |
// Replicated Data shall be at least 8 bytes long. |
707 | 707 |
// The first 4 bytes of data shall contain the |
708 | 708 |
// Size of the Media Object that the payload belongs to. |
709 | 709 |
// The next 4 bytes of data shall contain the |
710 | 710 |
// Presentation Time for the media object that the payload belongs to. |
711 |
- put_byte(pb, ASF_PAYLOAD_REPLICATED_DATA_LENGTH); |
|
711 |
+ avio_w8(pb, ASF_PAYLOAD_REPLICATED_DATA_LENGTH); |
|
712 | 712 |
|
713 |
- put_le32(pb, m_obj_size); //Replicated Data - Media Object Size |
|
714 |
- put_le32(pb, presentation_time);//Replicated Data - Presentation Time |
|
713 |
+ avio_wl32(pb, m_obj_size); //Replicated Data - Media Object Size |
|
714 |
+ avio_wl32(pb, presentation_time);//Replicated Data - Presentation Time |
|
715 | 715 |
|
716 | 716 |
if (asf->multi_payloads_present){ |
717 |
- put_le16(pb, payload_len); //payload length |
|
717 |
+ avio_wl16(pb, payload_len); //payload length |
|
718 | 718 |
} |
719 | 719 |
} |
720 | 720 |
|
... | ... |
@@ -762,7 +762,7 @@ static void put_frame( |
762 | 762 |
payload_len = frag_len1 - 2; //additional byte need to put padding length |
763 | 763 |
|
764 | 764 |
put_payload_header(s, stream, timestamp+PREROLL_TIME, m_obj_size, m_obj_offset, payload_len, flags); |
765 |
- put_buffer(&asf->pb, buf, payload_len); |
|
765 |
+ avio_write(&asf->pb, buf, payload_len); |
|
766 | 766 |
|
767 | 767 |
if (asf->multi_payloads_present) |
768 | 768 |
asf->packet_size_left -= (payload_len + PAYLOAD_HEADER_SIZE_MULTIPLE_PAYLOADS); |
... | ... |
@@ -837,14 +837,14 @@ static int asf_write_index(AVFormatContext *s, ASFIndex *index, uint16_t max, ui |
837 | 837 |
int i; |
838 | 838 |
|
839 | 839 |
put_guid(pb, &ff_asf_simple_index_header); |
840 |
- put_le64(pb, 24 + 16 + 8 + 4 + 4 + (4 + 2)*count); |
|
840 |
+ avio_wl64(pb, 24 + 16 + 8 + 4 + 4 + (4 + 2)*count); |
|
841 | 841 |
put_guid(pb, &ff_asf_my_guid); |
842 |
- put_le64(pb, ASF_INDEXED_INTERVAL); |
|
843 |
- put_le32(pb, max); |
|
844 |
- put_le32(pb, count); |
|
842 |
+ avio_wl64(pb, ASF_INDEXED_INTERVAL); |
|
843 |
+ avio_wl32(pb, max); |
|
844 |
+ avio_wl32(pb, count); |
|
845 | 845 |
for(i=0; i<count; i++) { |
846 |
- put_le32(pb, index[i].packet_number); |
|
847 |
- put_le16(pb, index[i].packet_count); |
|
846 |
+ avio_wl32(pb, index[i].packet_number); |
|
847 |
+ avio_wl16(pb, index[i].packet_count); |
|
848 | 848 |
} |
849 | 849 |
|
850 | 850 |
return 0; |
... | ... |
@@ -42,7 +42,7 @@ static int write_header(AVFormatContext *s) |
42 | 42 |
if(!end) end= avctx->extradata + avctx->extradata_size; |
43 | 43 |
else end++; |
44 | 44 |
|
45 |
- put_buffer(s->pb, p, end-p); |
|
45 |
+ avio_write(s->pb, p, end-p); |
|
46 | 46 |
ass->extra_index += end-p; |
47 | 47 |
|
48 | 48 |
if(last && !memcmp(last, "[Events]", 8)) |
... | ... |
@@ -57,7 +57,7 @@ static int write_header(AVFormatContext *s) |
57 | 57 |
|
58 | 58 |
static int write_packet(AVFormatContext *s, AVPacket *pkt) |
59 | 59 |
{ |
60 |
- put_buffer(s->pb, pkt->data, pkt->size); |
|
60 |
+ avio_write(s->pb, pkt->data, pkt->size); |
|
61 | 61 |
|
62 | 62 |
put_flush_packet(s->pb); |
63 | 63 |
|
... | ... |
@@ -69,7 +69,7 @@ static int write_trailer(AVFormatContext *s) |
69 | 69 |
ASSContext *ass = s->priv_data; |
70 | 70 |
AVCodecContext *avctx= s->streams[0]->codec; |
71 | 71 |
|
72 |
- put_buffer(s->pb, avctx->extradata + ass->extra_index, |
|
72 |
+ avio_write(s->pb, avctx->extradata + ass->extra_index, |
|
73 | 73 |
avctx->extradata_size - ass->extra_index); |
74 | 74 |
|
75 | 75 |
put_flush_packet(s->pb); |
... | ... |
@@ -54,11 +54,11 @@ static int put_au_header(AVIOContext *pb, AVCodecContext *enc) |
54 | 54 |
if(!enc->codec_tag) |
55 | 55 |
return -1; |
56 | 56 |
put_tag(pb, ".snd"); /* magic number */ |
57 |
- put_be32(pb, 24); /* header size */ |
|
58 |
- put_be32(pb, AU_UNKNOWN_SIZE); /* data size */ |
|
59 |
- put_be32(pb, (uint32_t)enc->codec_tag); /* codec ID */ |
|
60 |
- put_be32(pb, enc->sample_rate); |
|
61 |
- put_be32(pb, (uint32_t)enc->channels); |
|
57 |
+ avio_wb32(pb, 24); /* header size */ |
|
58 |
+ avio_wb32(pb, AU_UNKNOWN_SIZE); /* data size */ |
|
59 |
+ avio_wb32(pb, (uint32_t)enc->codec_tag); /* codec ID */ |
|
60 |
+ avio_wb32(pb, enc->sample_rate); |
|
61 |
+ avio_wb32(pb, (uint32_t)enc->channels); |
|
62 | 62 |
return 0; |
63 | 63 |
} |
64 | 64 |
|
... | ... |
@@ -81,7 +81,7 @@ static int au_write_header(AVFormatContext *s) |
81 | 81 |
static int au_write_packet(AVFormatContext *s, AVPacket *pkt) |
82 | 82 |
{ |
83 | 83 |
AVIOContext *pb = s->pb; |
84 |
- put_buffer(pb, pkt->data, pkt->size); |
|
84 |
+ avio_write(pb, pkt->data, pkt->size); |
|
85 | 85 |
return 0; |
86 | 86 |
} |
87 | 87 |
|
... | ... |
@@ -95,7 +95,7 @@ static int au_write_trailer(AVFormatContext *s) |
95 | 95 |
/* update file size */ |
96 | 96 |
file_size = url_ftell(pb); |
97 | 97 |
url_fseek(pb, 8, SEEK_SET); |
98 |
- put_be32(pb, (uint32_t)(file_size - 24)); |
|
98 |
+ avio_wb32(pb, (uint32_t)(file_size - 24)); |
|
99 | 99 |
url_fseek(pb, file_size, SEEK_SET); |
100 | 100 |
|
101 | 101 |
put_flush_packet(pb); |
... | ... |
@@ -78,8 +78,8 @@ int ff_avc_parse_nal_units(AVIOContext *pb, const uint8_t *buf_in, int size) |
78 | 78 |
while (nal_start < end) { |
79 | 79 |
while(!*(nal_start++)); |
80 | 80 |
nal_end = ff_avc_find_startcode(nal_start, end); |
81 |
- put_be32(pb, nal_end - nal_start); |
|
82 |
- put_buffer(pb, nal_start, nal_end - nal_start); |
|
81 |
+ avio_wb32(pb, nal_end - nal_start); |
|
82 |
+ avio_write(pb, nal_start, nal_end - nal_start); |
|
83 | 83 |
size += 4 + nal_end - nal_start; |
84 | 84 |
nal_start = nal_end; |
85 | 85 |
} |
... | ... |
@@ -134,21 +134,21 @@ int ff_isom_write_avcc(AVIOContext *pb, const uint8_t *data, int len) |
134 | 134 |
assert(sps); |
135 | 135 |
assert(pps); |
136 | 136 |
|
137 |
- put_byte(pb, 1); /* version */ |
|
138 |
- put_byte(pb, sps[1]); /* profile */ |
|
139 |
- put_byte(pb, sps[2]); /* profile compat */ |
|
140 |
- put_byte(pb, sps[3]); /* level */ |
|
141 |
- put_byte(pb, 0xff); /* 6 bits reserved (111111) + 2 bits nal size length - 1 (11) */ |
|
142 |
- put_byte(pb, 0xe1); /* 3 bits reserved (111) + 5 bits number of sps (00001) */ |
|
143 |
- |
|
144 |
- put_be16(pb, sps_size); |
|
145 |
- put_buffer(pb, sps, sps_size); |
|
146 |
- put_byte(pb, 1); /* number of pps */ |
|
147 |
- put_be16(pb, pps_size); |
|
148 |
- put_buffer(pb, pps, pps_size); |
|
137 |
+ avio_w8(pb, 1); /* version */ |
|
138 |
+ avio_w8(pb, sps[1]); /* profile */ |
|
139 |
+ avio_w8(pb, sps[2]); /* profile compat */ |
|
140 |
+ avio_w8(pb, sps[3]); /* level */ |
|
141 |
+ avio_w8(pb, 0xff); /* 6 bits reserved (111111) + 2 bits nal size length - 1 (11) */ |
|
142 |
+ avio_w8(pb, 0xe1); /* 3 bits reserved (111) + 5 bits number of sps (00001) */ |
|
143 |
+ |
|
144 |
+ avio_wb16(pb, sps_size); |
|
145 |
+ avio_write(pb, sps, sps_size); |
|
146 |
+ avio_w8(pb, 1); /* number of pps */ |
|
147 |
+ avio_wb16(pb, pps_size); |
|
148 |
+ avio_write(pb, pps, pps_size); |
|
149 | 149 |
av_free(start); |
150 | 150 |
} else { |
151 |
- put_buffer(pb, data, len); |
|
151 |
+ avio_write(pb, data, len); |
|
152 | 152 |
} |
153 | 153 |
} |
154 | 154 |
return 0; |
... | ... |
@@ -108,10 +108,10 @@ static void avi_write_info_tag(AVIOContext *pb, const char *tag, const char *str |
108 | 108 |
if (len > 0) { |
109 | 109 |
len++; |
110 | 110 |
put_tag(pb, tag); |
111 |
- put_le32(pb, len); |
|
111 |
+ avio_wl32(pb, len); |
|
112 | 112 |
avio_put_str(pb, str); |
113 | 113 |
if (len & 1) |
114 |
- put_byte(pb, 0); |
|
114 |
+ avio_w8(pb, 0); |
|
115 | 115 |
} |
116 | 116 |
} |
117 | 117 |
|
... | ... |
@@ -132,9 +132,9 @@ static int avi_write_counters(AVFormatContext* s, int riff_id) |
132 | 132 |
url_fseek(pb, avist->frames_hdr_strm, SEEK_SET); |
133 | 133 |
ff_parse_specific_params(stream, &au_byterate, &au_ssize, &au_scale); |
134 | 134 |
if(au_ssize == 0) { |
135 |
- put_le32(pb, avist->packet_count); |
|
135 |
+ avio_wl32(pb, avist->packet_count); |
|
136 | 136 |
} else { |
137 |
- put_le32(pb, avist->audio_strm_length / au_ssize); |
|
137 |
+ avio_wl32(pb, avist->audio_strm_length / au_ssize); |
|
138 | 138 |
} |
139 | 139 |
if(stream->codec_type == AVMEDIA_TYPE_VIDEO) |
140 | 140 |
nb_frames = FFMAX(nb_frames, avist->packet_count); |
... | ... |
@@ -142,7 +142,7 @@ static int avi_write_counters(AVFormatContext* s, int riff_id) |
142 | 142 |
if(riff_id == 1) { |
143 | 143 |
assert(avi->frames_hdr_all); |
144 | 144 |
url_fseek(pb, avi->frames_hdr_all, SEEK_SET); |
145 |
- put_le32(pb, nb_frames); |
|
145 |
+ avio_wl32(pb, nb_frames); |
|
146 | 146 |
} |
147 | 147 |
url_fseek(pb, file_size, SEEK_SET); |
148 | 148 |
|
... | ... |
@@ -170,7 +170,7 @@ static int avi_write_header(AVFormatContext *s) |
170 | 170 |
|
171 | 171 |
/* avi header */ |
172 | 172 |
put_tag(pb, "avih"); |
173 |
- put_le32(pb, 14 * 4); |
|
173 |
+ avio_wl32(pb, 14 * 4); |
|
174 | 174 |
bitrate = 0; |
175 | 175 |
|
176 | 176 |
video_enc = NULL; |
... | ... |
@@ -184,32 +184,32 @@ static int avi_write_header(AVFormatContext *s) |
184 | 184 |
nb_frames = 0; |
185 | 185 |
|
186 | 186 |
if(video_enc){ |
187 |
- put_le32(pb, (uint32_t)(INT64_C(1000000) * video_enc->time_base.num / video_enc->time_base.den)); |
|
187 |
+ avio_wl32(pb, (uint32_t)(INT64_C(1000000) * video_enc->time_base.num / video_enc->time_base.den)); |
|
188 | 188 |
} else { |
189 |
- put_le32(pb, 0); |
|
189 |
+ avio_wl32(pb, 0); |
|
190 | 190 |
} |
191 |
- put_le32(pb, bitrate / 8); /* XXX: not quite exact */ |
|
192 |
- put_le32(pb, 0); /* padding */ |
|
191 |
+ avio_wl32(pb, bitrate / 8); /* XXX: not quite exact */ |
|
192 |
+ avio_wl32(pb, 0); /* padding */ |
|
193 | 193 |
if (url_is_streamed(pb)) |
194 |
- put_le32(pb, AVIF_TRUSTCKTYPE | AVIF_ISINTERLEAVED); /* flags */ |
|
194 |
+ avio_wl32(pb, AVIF_TRUSTCKTYPE | AVIF_ISINTERLEAVED); /* flags */ |
|
195 | 195 |
else |
196 |
- put_le32(pb, AVIF_TRUSTCKTYPE | AVIF_HASINDEX | AVIF_ISINTERLEAVED); /* flags */ |
|
196 |
+ avio_wl32(pb, AVIF_TRUSTCKTYPE | AVIF_HASINDEX | AVIF_ISINTERLEAVED); /* flags */ |
|
197 | 197 |
avi->frames_hdr_all = url_ftell(pb); /* remember this offset to fill later */ |
198 |
- put_le32(pb, nb_frames); /* nb frames, filled later */ |
|
199 |
- put_le32(pb, 0); /* initial frame */ |
|
200 |
- put_le32(pb, s->nb_streams); /* nb streams */ |
|
201 |
- put_le32(pb, 1024 * 1024); /* suggested buffer size */ |
|
198 |
+ avio_wl32(pb, nb_frames); /* nb frames, filled later */ |
|
199 |
+ avio_wl32(pb, 0); /* initial frame */ |
|
200 |
+ avio_wl32(pb, s->nb_streams); /* nb streams */ |
|
201 |
+ avio_wl32(pb, 1024 * 1024); /* suggested buffer size */ |
|
202 | 202 |
if(video_enc){ |
203 |
- put_le32(pb, video_enc->width); |
|
204 |
- put_le32(pb, video_enc->height); |
|
203 |
+ avio_wl32(pb, video_enc->width); |
|
204 |
+ avio_wl32(pb, video_enc->height); |
|
205 | 205 |
} else { |
206 |
- put_le32(pb, 0); |
|
207 |
- put_le32(pb, 0); |
|
206 |
+ avio_wl32(pb, 0); |
|
207 |
+ avio_wl32(pb, 0); |
|
208 | 208 |
} |
209 |
- put_le32(pb, 0); /* reserved */ |
|
210 |
- put_le32(pb, 0); /* reserved */ |
|
211 |
- put_le32(pb, 0); /* reserved */ |
|
212 |
- put_le32(pb, 0); /* reserved */ |
|
209 |
+ avio_wl32(pb, 0); /* reserved */ |
|
210 |
+ avio_wl32(pb, 0); /* reserved */ |
|
211 |
+ avio_wl32(pb, 0); /* reserved */ |
|
212 |
+ avio_wl32(pb, 0); /* reserved */ |
|
213 | 213 |
|
214 | 214 |
/* stream list */ |
215 | 215 |
for(i=0;i<n;i++) { |
... | ... |
@@ -236,39 +236,39 @@ static int avi_write_header(AVFormatContext *s) |
236 | 236 |
} |
237 | 237 |
if(stream->codec_type == AVMEDIA_TYPE_VIDEO || |
238 | 238 |
stream->codec_id == CODEC_ID_XSUB) |
239 |
- put_le32(pb, stream->codec_tag); |
|
239 |
+ avio_wl32(pb, stream->codec_tag); |
|
240 | 240 |
else |
241 |
- put_le32(pb, 1); |
|
242 |
- put_le32(pb, 0); /* flags */ |
|
243 |
- put_le16(pb, 0); /* priority */ |
|
244 |
- put_le16(pb, 0); /* language */ |
|
245 |
- put_le32(pb, 0); /* initial frame */ |
|
241 |
+ avio_wl32(pb, 1); |
|
242 |
+ avio_wl32(pb, 0); /* flags */ |
|
243 |
+ avio_wl16(pb, 0); /* priority */ |
|
244 |
+ avio_wl16(pb, 0); /* language */ |
|
245 |
+ avio_wl32(pb, 0); /* initial frame */ |
|
246 | 246 |
|
247 | 247 |
ff_parse_specific_params(stream, &au_byterate, &au_ssize, &au_scale); |
248 | 248 |
|
249 |
- put_le32(pb, au_scale); /* scale */ |
|
250 |
- put_le32(pb, au_byterate); /* rate */ |
|
249 |
+ avio_wl32(pb, au_scale); /* scale */ |
|
250 |
+ avio_wl32(pb, au_byterate); /* rate */ |
|
251 | 251 |
av_set_pts_info(s->streams[i], 64, au_scale, au_byterate); |
252 | 252 |
|
253 |
- put_le32(pb, 0); /* start */ |
|
253 |
+ avio_wl32(pb, 0); /* start */ |
|
254 | 254 |
avist->frames_hdr_strm = url_ftell(pb); /* remember this offset to fill later */ |
255 | 255 |
if (url_is_streamed(pb)) |
256 |
- put_le32(pb, AVI_MAX_RIFF_SIZE); /* FIXME: this may be broken, but who cares */ |
|
256 |
+ avio_wl32(pb, AVI_MAX_RIFF_SIZE); /* FIXME: this may be broken, but who cares */ |
|
257 | 257 |
else |
258 |
- put_le32(pb, 0); /* length, XXX: filled later */ |
|
258 |
+ avio_wl32(pb, 0); /* length, XXX: filled later */ |
|
259 | 259 |
|
260 | 260 |
/* suggested buffer size */ //FIXME set at the end to largest chunk |
261 | 261 |
if(stream->codec_type == AVMEDIA_TYPE_VIDEO) |
262 |
- put_le32(pb, 1024 * 1024); |
|
262 |
+ avio_wl32(pb, 1024 * 1024); |
|
263 | 263 |
else if(stream->codec_type == AVMEDIA_TYPE_AUDIO) |
264 |
- put_le32(pb, 12 * 1024); |
|
264 |
+ avio_wl32(pb, 12 * 1024); |
|
265 | 265 |
else |
266 |
- put_le32(pb, 0); |
|
267 |
- put_le32(pb, -1); /* quality */ |
|
268 |
- put_le32(pb, au_ssize); /* sample size */ |
|
269 |
- put_le32(pb, 0); |
|
270 |
- put_le16(pb, stream->width); |
|
271 |
- put_le16(pb, stream->height); |
|
266 |
+ avio_wl32(pb, 0); |
|
267 |
+ avio_wl32(pb, -1); /* quality */ |
|
268 |
+ avio_wl32(pb, au_ssize); /* sample size */ |
|
269 |
+ avio_wl32(pb, 0); |
|
270 |
+ avio_wl16(pb, stream->width); |
|
271 |
+ avio_wl16(pb, stream->height); |
|
272 | 272 |
ff_end_tag(pb, strh); |
273 | 273 |
|
274 | 274 |
if(stream->codec_type != AVMEDIA_TYPE_DATA){ |
... | ... |
@@ -307,16 +307,16 @@ static int avi_write_header(AVFormatContext *s) |
307 | 307 |
*/ |
308 | 308 |
avist->indexes.entry = avist->indexes.ents_allocated = 0; |
309 | 309 |
avist->indexes.indx_start = ff_start_tag(pb, "JUNK"); |
310 |
- put_le16(pb, 4); /* wLongsPerEntry */ |
|
311 |
- put_byte(pb, 0); /* bIndexSubType (0 == frame index) */ |
|
312 |
- put_byte(pb, 0); /* bIndexType (0 == AVI_INDEX_OF_INDEXES) */ |
|
313 |
- put_le32(pb, 0); /* nEntriesInUse (will fill out later on) */ |
|
310 |
+ avio_wl16(pb, 4); /* wLongsPerEntry */ |
|
311 |
+ avio_w8(pb, 0); /* bIndexSubType (0 == frame index) */ |
|
312 |
+ avio_w8(pb, 0); /* bIndexType (0 == AVI_INDEX_OF_INDEXES) */ |
|
313 |
+ avio_wl32(pb, 0); /* nEntriesInUse (will fill out later on) */ |
|
314 | 314 |
put_tag(pb, avi_stream2fourcc(&tag[0], i, stream->codec_type)); |
315 | 315 |
/* dwChunkId */ |
316 |
- put_le64(pb, 0); /* dwReserved[3] |
|
317 |
- put_le32(pb, 0); Must be 0. */ |
|
316 |
+ avio_wl64(pb, 0); /* dwReserved[3] |
|
317 |
+ avio_wl32(pb, 0); Must be 0. */ |
|
318 | 318 |
for (j=0; j < AVI_MASTER_INDEX_SIZE * 2; j++) |
319 |
- put_le64(pb, 0); |
|
319 |
+ avio_wl64(pb, 0); |
|
320 | 320 |
ff_end_tag(pb, avist->indexes.indx_start); |
321 | 321 |
} |
322 | 322 |
|
... | ... |
@@ -329,26 +329,26 @@ static int avi_write_header(AVFormatContext *s) |
329 | 329 |
int num, den; |
330 | 330 |
av_reduce(&num, &den, dar.num, dar.den, 0xFFFF); |
331 | 331 |
|
332 |
- put_le32(pb, 0); //video format = unknown |
|
333 |
- put_le32(pb, 0); //video standard= unknown |
|
334 |
- put_le32(pb, lrintf(1.0/av_q2d(stream->time_base))); |
|
335 |
- put_le32(pb, stream->width ); |
|
336 |
- put_le32(pb, stream->height); |
|
337 |
- put_le16(pb, den); |
|
338 |
- put_le16(pb, num); |
|
339 |
- put_le32(pb, stream->width ); |
|
340 |
- put_le32(pb, stream->height); |
|
341 |
- put_le32(pb, 1); //progressive FIXME |
|
342 |
- |
|
343 |
- put_le32(pb, stream->height); |
|
344 |
- put_le32(pb, stream->width ); |
|
345 |
- put_le32(pb, stream->height); |
|
346 |
- put_le32(pb, stream->width ); |
|
347 |
- put_le32(pb, 0); |
|
348 |
- put_le32(pb, 0); |
|
349 |
- |
|
350 |
- put_le32(pb, 0); |
|
351 |
- put_le32(pb, 0); |
|
332 |
+ avio_wl32(pb, 0); //video format = unknown |
|
333 |
+ avio_wl32(pb, 0); //video standard= unknown |
|
334 |
+ avio_wl32(pb, lrintf(1.0/av_q2d(stream->time_base))); |
|
335 |
+ avio_wl32(pb, stream->width ); |
|
336 |
+ avio_wl32(pb, stream->height); |
|
337 |
+ avio_wl16(pb, den); |
|
338 |
+ avio_wl16(pb, num); |
|
339 |
+ avio_wl32(pb, stream->width ); |
|
340 |
+ avio_wl32(pb, stream->height); |
|
341 |
+ avio_wl32(pb, 1); //progressive FIXME |
|
342 |
+ |
|
343 |
+ avio_wl32(pb, stream->height); |
|
344 |
+ avio_wl32(pb, stream->width ); |
|
345 |
+ avio_wl32(pb, stream->height); |
|
346 |
+ avio_wl32(pb, stream->width ); |
|
347 |
+ avio_wl32(pb, 0); |
|
348 |
+ avio_wl32(pb, 0); |
|
349 |
+ |
|
350 |
+ avio_wl32(pb, 0); |
|
351 |
+ avio_wl32(pb, 0); |
|
352 | 352 |
ff_end_tag(pb, vprp); |
353 | 353 |
} |
354 | 354 |
|
... | ... |
@@ -360,9 +360,9 @@ static int avi_write_header(AVFormatContext *s) |
360 | 360 |
avi->odml_list = ff_start_tag(pb, "JUNK"); |
361 | 361 |
put_tag(pb, "odml"); |
362 | 362 |
put_tag(pb, "dmlh"); |
363 |
- put_le32(pb, 248); |
|
363 |
+ avio_wl32(pb, 248); |
|
364 | 364 |
for (i = 0; i < 248; i+= 4) |
365 |
- put_le32(pb, 0); |
|
365 |
+ avio_wl32(pb, 0); |
|
366 | 366 |
ff_end_tag(pb, avi->odml_list); |
367 | 367 |
} |
368 | 368 |
|
... | ... |
@@ -380,7 +380,7 @@ static int avi_write_header(AVFormatContext *s) |
380 | 380 |
/* some padding for easier tag editing */ |
381 | 381 |
list2 = ff_start_tag(pb, "JUNK"); |
382 | 382 |
for (i = 0; i < 1016; i += 4) |
383 |
- put_le32(pb, 0); |
|
383 |
+ avio_wl32(pb, 0); |
|
384 | 384 |
ff_end_tag(pb, list2); |
385 | 385 |
|
386 | 386 |
avi->movi_list = ff_start_tag(pb, "LIST"); |
... | ... |
@@ -414,21 +414,21 @@ static int avi_write_ix(AVFormatContext *s) |
414 | 414 |
/* Writing AVI OpenDML leaf index chunk */ |
415 | 415 |
ix = url_ftell(pb); |
416 | 416 |
put_tag(pb, &ix_tag[0]); /* ix?? */ |
417 |
- put_le32(pb, avist->indexes.entry * 8 + 24); |
|
417 |
+ avio_wl32(pb, avist->indexes.entry * 8 + 24); |
|
418 | 418 |
/* chunk size */ |
419 |
- put_le16(pb, 2); /* wLongsPerEntry */ |
|
420 |
- put_byte(pb, 0); /* bIndexSubType (0 == frame index) */ |
|
421 |
- put_byte(pb, 1); /* bIndexType (1 == AVI_INDEX_OF_CHUNKS) */ |
|
422 |
- put_le32(pb, avist->indexes.entry); |
|
419 |
+ avio_wl16(pb, 2); /* wLongsPerEntry */ |
|
420 |
+ avio_w8(pb, 0); /* bIndexSubType (0 == frame index) */ |
|
421 |
+ avio_w8(pb, 1); /* bIndexType (1 == AVI_INDEX_OF_CHUNKS) */ |
|
422 |
+ avio_wl32(pb, avist->indexes.entry); |
|
423 | 423 |
/* nEntriesInUse */ |
424 | 424 |
put_tag(pb, &tag[0]); /* dwChunkId */ |
425 |
- put_le64(pb, avi->movi_list);/* qwBaseOffset */ |
|
426 |
- put_le32(pb, 0); /* dwReserved_3 (must be 0) */ |
|
425 |
+ avio_wl64(pb, avi->movi_list);/* qwBaseOffset */ |
|
426 |
+ avio_wl32(pb, 0); /* dwReserved_3 (must be 0) */ |
|
427 | 427 |
|
428 | 428 |
for (j=0; j<avist->indexes.entry; j++) { |
429 | 429 |
AVIIentry* ie = avi_get_ientry(&avist->indexes, j); |
430 |
- put_le32(pb, ie->pos + 8); |
|
431 |
- put_le32(pb, ((uint32_t)ie->len & ~0x80000000) | |
|
430 |
+ avio_wl32(pb, ie->pos + 8); |
|
431 |
+ avio_wl32(pb, ((uint32_t)ie->len & ~0x80000000) | |
|
432 | 432 |
(ie->flags & 0x10 ? 0 : 0x80000000)); |
433 | 433 |
} |
434 | 434 |
put_flush_packet(pb); |
... | ... |
@@ -438,11 +438,11 @@ static int avi_write_ix(AVFormatContext *s) |
438 | 438 |
url_fseek(pb, avist->indexes.indx_start - 8, SEEK_SET); |
439 | 439 |
put_tag(pb, "indx"); /* enabling this entry */ |
440 | 440 |
url_fskip(pb, 8); |
441 |
- put_le32(pb, avi->riff_id); /* nEntriesInUse */ |
|
441 |
+ avio_wl32(pb, avi->riff_id); /* nEntriesInUse */ |
|
442 | 442 |
url_fskip(pb, 16*avi->riff_id); |
443 |
- put_le64(pb, ix); /* qwOffset */ |
|
444 |
- put_le32(pb, pos - ix); /* dwSize */ |
|
445 |
- put_le32(pb, avist->indexes.entry); /* dwDuration */ |
|
443 |
+ avio_wl64(pb, ix); /* qwOffset */ |
|
444 |
+ avio_wl32(pb, pos - ix); /* dwSize */ |
|
445 |
+ avio_wl32(pb, avist->indexes.entry); /* dwDuration */ |
|
446 | 446 |
|
447 | 447 |
url_fseek(pb, pos, SEEK_SET); |
448 | 448 |
} |
... | ... |
@@ -487,9 +487,9 @@ static int avi_write_idx1(AVFormatContext *s) |
487 | 487 |
avi_stream2fourcc(&tag[0], stream_id, |
488 | 488 |
s->streams[stream_id]->codec->codec_type); |
489 | 489 |
put_tag(pb, &tag[0]); |
490 |
- put_le32(pb, ie->flags); |
|
491 |
- put_le32(pb, ie->pos); |
|
492 |
- put_le32(pb, ie->len); |
|
490 |
+ avio_wl32(pb, ie->flags); |
|
491 |
+ avio_wl32(pb, ie->pos); |
|
492 |
+ avio_wl32(pb, ie->len); |
|
493 | 493 |
avist->entry++; |
494 | 494 |
} |
495 | 495 |
} while (!empty); |
... | ... |
@@ -565,11 +565,11 @@ static int avi_write_packet(AVFormatContext *s, AVPacket *pkt) |
565 | 565 |
idx->entry++; |
566 | 566 |
} |
567 | 567 |
|
568 |
- put_buffer(pb, tag, 4); |
|
569 |
- put_le32(pb, size); |
|
570 |
- put_buffer(pb, pkt->data, size); |
|
568 |
+ avio_write(pb, tag, 4); |
|
569 |
+ avio_wl32(pb, size); |
|
570 |
+ avio_write(pb, pkt->data, size); |
|
571 | 571 |
if (size & 1) |
572 |
- put_byte(pb, 0); |
|
572 |
+ avio_w8(pb, 0); |
|
573 | 573 |
|
574 | 574 |
put_flush_packet(pb); |
575 | 575 |
return 0; |
... | ... |
@@ -611,7 +611,7 @@ static int avi_write_trailer(AVFormatContext *s) |
611 | 611 |
} |
612 | 612 |
} |
613 | 613 |
} |
614 |
- put_le32(pb, nb_frames); |
|
614 |
+ avio_wl32(pb, nb_frames); |
|
615 | 615 |
url_fseek(pb, file_size, SEEK_SET); |
616 | 616 |
|
617 | 617 |
avi_write_counters(s, avi->riff_id); |
... | ... |
@@ -395,6 +395,17 @@ attribute_deprecated unsigned int get_be16(AVIOContext *s); |
395 | 395 |
attribute_deprecated unsigned int get_be24(AVIOContext *s); |
396 | 396 |
attribute_deprecated unsigned int get_be32(AVIOContext *s); |
397 | 397 |
attribute_deprecated uint64_t get_be64(AVIOContext *s); |
398 |
+ |
|
399 |
+attribute_deprecated void put_byte(AVIOContext *s, int b); |
|
400 |
+attribute_deprecated void put_buffer(AVIOContext *s, const unsigned char *buf, int size); |
|
401 |
+attribute_deprecated void put_le64(AVIOContext *s, uint64_t val); |
|
402 |
+attribute_deprecated void put_be64(AVIOContext *s, uint64_t val); |
|
403 |
+attribute_deprecated void put_le32(AVIOContext *s, unsigned int val); |
|
404 |
+attribute_deprecated void put_be32(AVIOContext *s, unsigned int val); |
|
405 |
+attribute_deprecated void put_le24(AVIOContext *s, unsigned int val); |
|
406 |
+attribute_deprecated void put_be24(AVIOContext *s, unsigned int val); |
|
407 |
+attribute_deprecated void put_le16(AVIOContext *s, unsigned int val); |
|
408 |
+attribute_deprecated void put_be16(AVIOContext *s, unsigned int val); |
|
398 | 409 |
/** |
399 | 410 |
* @} |
400 | 411 |
*/ |
... | ... |
@@ -409,17 +420,17 @@ AVIOContext *avio_alloc_context( |
409 | 409 |
int (*write_packet)(void *opaque, uint8_t *buf, int buf_size), |
410 | 410 |
int64_t (*seek)(void *opaque, int64_t offset, int whence)); |
411 | 411 |
|
412 |
-void put_byte(AVIOContext *s, int b); |
|
412 |
+void avio_w8(AVIOContext *s, int b); |
|
413 | 413 |
void put_nbyte(AVIOContext *s, int b, int count); |
414 |
-void put_buffer(AVIOContext *s, const unsigned char *buf, int size); |
|
415 |
-void put_le64(AVIOContext *s, uint64_t val); |
|
416 |
-void put_be64(AVIOContext *s, uint64_t val); |
|
417 |
-void put_le32(AVIOContext *s, unsigned int val); |
|
418 |
-void put_be32(AVIOContext *s, unsigned int val); |
|
419 |
-void put_le24(AVIOContext *s, unsigned int val); |
|
420 |
-void put_be24(AVIOContext *s, unsigned int val); |
|
421 |
-void put_le16(AVIOContext *s, unsigned int val); |
|
422 |
-void put_be16(AVIOContext *s, unsigned int val); |
|
414 |
+void avio_write(AVIOContext *s, const unsigned char *buf, int size); |
|
415 |
+void avio_wl64(AVIOContext *s, uint64_t val); |
|
416 |
+void avio_wb64(AVIOContext *s, uint64_t val); |
|
417 |
+void avio_wl32(AVIOContext *s, unsigned int val); |
|
418 |
+void avio_wb32(AVIOContext *s, unsigned int val); |
|
419 |
+void avio_wl24(AVIOContext *s, unsigned int val); |
|
420 |
+void avio_wb24(AVIOContext *s, unsigned int val); |
|
421 |
+void avio_wl16(AVIOContext *s, unsigned int val); |
|
422 |
+void avio_wb16(AVIOContext *s, unsigned int val); |
|
423 | 423 |
void put_tag(AVIOContext *s, const char *tag); |
424 | 424 |
|
425 | 425 |
#if FF_API_OLD_AVIO |
... | ... |
@@ -134,7 +134,7 @@ static void flush_buffer(AVIOContext *s) |
134 | 134 |
s->buf_ptr = s->buffer; |
135 | 135 |
} |
136 | 136 |
|
137 |
-void put_byte(AVIOContext *s, int b) |
|
137 |
+void avio_w8(AVIOContext *s, int b) |
|
138 | 138 |
{ |
139 | 139 |
*(s->buf_ptr)++ = b; |
140 | 140 |
if (s->buf_ptr >= s->buf_end) |
... | ... |
@@ -155,7 +155,7 @@ void put_nbyte(AVIOContext *s, int b, int count) |
155 | 155 |
} |
156 | 156 |
} |
157 | 157 |
|
158 |
-void put_buffer(AVIOContext *s, const unsigned char *buf, int size) |
|
158 |
+void avio_write(AVIOContext *s, const unsigned char *buf, int size) |
|
159 | 159 |
{ |
160 | 160 |
while (size > 0) { |
161 | 161 |
int len = FFMIN(s->buf_end - s->buf_ptr, size); |
... | ... |
@@ -277,20 +277,20 @@ int url_ferror(AVIOContext *s) |
277 | 277 |
return s->error; |
278 | 278 |
} |
279 | 279 |
|
280 |
-void put_le32(AVIOContext *s, unsigned int val) |
|
280 |
+void avio_wl32(AVIOContext *s, unsigned int val) |
|
281 | 281 |
{ |
282 |
- put_byte(s, val); |
|
283 |
- put_byte(s, val >> 8); |
|
284 |
- put_byte(s, val >> 16); |
|
285 |
- put_byte(s, val >> 24); |
|
282 |
+ avio_w8(s, val); |
|
283 |
+ avio_w8(s, val >> 8); |
|
284 |
+ avio_w8(s, val >> 16); |
|
285 |
+ avio_w8(s, val >> 24); |
|
286 | 286 |
} |
287 | 287 |
|
288 |
-void put_be32(AVIOContext *s, unsigned int val) |
|
288 |
+void avio_wb32(AVIOContext *s, unsigned int val) |
|
289 | 289 |
{ |
290 |
- put_byte(s, val >> 24); |
|
291 |
- put_byte(s, val >> 16); |
|
292 |
- put_byte(s, val >> 8); |
|
293 |
- put_byte(s, val); |
|
290 |
+ avio_w8(s, val >> 24); |
|
291 |
+ avio_w8(s, val >> 16); |
|
292 |
+ avio_w8(s, val >> 8); |
|
293 |
+ avio_w8(s, val); |
|
294 | 294 |
} |
295 | 295 |
|
296 | 296 |
#if FF_API_OLD_AVIO |
... | ... |
@@ -316,6 +316,22 @@ GET(64, uint64_t) |
316 | 316 |
|
317 | 317 |
#undef GET |
318 | 318 |
|
319 |
+#define PUT(name, type ) \ |
|
320 |
+ void put_le ##name(AVIOContext *s, type val)\ |
|
321 |
+{\ |
|
322 |
+ avio_wl ##name(s, val);\ |
|
323 |
+}\ |
|
324 |
+ void put_be ##name(AVIOContext *s, type val)\ |
|
325 |
+{\ |
|
326 |
+ avio_wb ##name(s, val);\ |
|
327 |
+} |
|
328 |
+ |
|
329 |
+PUT(16, unsigned int) |
|
330 |
+PUT(24, unsigned int) |
|
331 |
+PUT(32, unsigned int) |
|
332 |
+PUT(64, uint64_t) |
|
333 |
+#undef PUT |
|
334 |
+ |
|
319 | 335 |
int get_byte(AVIOContext *s) |
320 | 336 |
{ |
321 | 337 |
return avio_r8(s); |
... | ... |
@@ -328,6 +344,14 @@ int get_partial_buffer(AVIOContext *s, unsigned char *buf, int size) |
328 | 328 |
{ |
329 | 329 |
return ffio_read_partial(s, buf, size); |
330 | 330 |
} |
331 |
+void put_byte(AVIOContext *s, int val) |
|
332 |
+{ |
|
333 |
+ avio_w8(s, val); |
|
334 |
+} |
|
335 |
+void put_buffer(AVIOContext *s, const unsigned char *buf, int size) |
|
336 |
+{ |
|
337 |
+ avio_write(s, buf, size); |
|
338 |
+} |
|
331 | 339 |
#endif |
332 | 340 |
|
333 | 341 |
int avio_put_str(AVIOContext *s, const char *str) |
... | ... |
@@ -335,9 +359,9 @@ int avio_put_str(AVIOContext *s, const char *str) |
335 | 335 |
int len = 1; |
336 | 336 |
if (str) { |
337 | 337 |
len += strlen(str); |
338 |
- put_buffer(s, (const unsigned char *) str, len); |
|
338 |
+ avio_write(s, (const unsigned char *) str, len); |
|
339 | 339 |
} else |
340 |
- put_byte(s, 0); |
|
340 |
+ avio_w8(s, 0); |
|
341 | 341 |
return len; |
342 | 342 |
} |
343 | 343 |
|
... | ... |
@@ -351,9 +375,9 @@ int avio_put_str16le(AVIOContext *s, const char *str) |
351 | 351 |
uint16_t tmp; |
352 | 352 |
|
353 | 353 |
GET_UTF8(ch, *q++, break;) |
354 |
- PUT_UTF16(ch, tmp, put_le16(s, tmp);ret += 2;) |
|
354 |
+ PUT_UTF16(ch, tmp, avio_wl16(s, tmp);ret += 2;) |
|
355 | 355 |
} |
356 |
- put_le16(s, 0); |
|
356 |
+ avio_wl16(s, 0); |
|
357 | 357 |
ret += 2; |
358 | 358 |
return ret; |
359 | 359 |
} |
... | ... |
@@ -371,51 +395,51 @@ void ff_put_v(AVIOContext *bc, uint64_t val){ |
371 | 371 |
int i= ff_get_v_length(val); |
372 | 372 |
|
373 | 373 |
while(--i>0) |
374 |
- put_byte(bc, 128 | (val>>(7*i))); |
|
374 |
+ avio_w8(bc, 128 | (val>>(7*i))); |
|
375 | 375 |
|
376 |
- put_byte(bc, val&127); |
|
376 |
+ avio_w8(bc, val&127); |
|
377 | 377 |
} |
378 | 378 |
|
379 |
-void put_le64(AVIOContext *s, uint64_t val) |
|
379 |
+void avio_wl64(AVIOContext *s, uint64_t val) |
|
380 | 380 |
{ |
381 |
- put_le32(s, (uint32_t)(val & 0xffffffff)); |
|
382 |
- put_le32(s, (uint32_t)(val >> 32)); |
|
381 |
+ avio_wl32(s, (uint32_t)(val & 0xffffffff)); |
|
382 |
+ avio_wl32(s, (uint32_t)(val >> 32)); |
|
383 | 383 |
} |
384 | 384 |
|
385 |
-void put_be64(AVIOContext *s, uint64_t val) |
|
385 |
+void avio_wb64(AVIOContext *s, uint64_t val) |
|
386 | 386 |
{ |
387 |
- put_be32(s, (uint32_t)(val >> 32)); |
|
388 |
- put_be32(s, (uint32_t)(val & 0xffffffff)); |
|
387 |
+ avio_wb32(s, (uint32_t)(val >> 32)); |
|
388 |
+ avio_wb32(s, (uint32_t)(val & 0xffffffff)); |
|
389 | 389 |
} |
390 | 390 |
|
391 |
-void put_le16(AVIOContext *s, unsigned int val) |
|
391 |
+void avio_wl16(AVIOContext *s, unsigned int val) |
|
392 | 392 |
{ |
393 |
- put_byte(s, val); |
|
394 |
- put_byte(s, val >> 8); |
|
393 |
+ avio_w8(s, val); |
|
394 |
+ avio_w8(s, val >> 8); |
|
395 | 395 |
} |
396 | 396 |
|
397 |
-void put_be16(AVIOContext *s, unsigned int val) |
|
397 |
+void avio_wb16(AVIOContext *s, unsigned int val) |
|
398 | 398 |
{ |
399 |
- put_byte(s, val >> 8); |
|
400 |
- put_byte(s, val); |
|
399 |
+ avio_w8(s, val >> 8); |
|
400 |
+ avio_w8(s, val); |
|
401 | 401 |
} |
402 | 402 |
|
403 |
-void put_le24(AVIOContext *s, unsigned int val) |
|
403 |
+void avio_wl24(AVIOContext *s, unsigned int val) |
|
404 | 404 |
{ |
405 |
- put_le16(s, val & 0xffff); |
|
406 |
- put_byte(s, val >> 16); |
|
405 |
+ avio_wl16(s, val & 0xffff); |
|
406 |
+ avio_w8(s, val >> 16); |
|
407 | 407 |
} |
408 | 408 |
|
409 |
-void put_be24(AVIOContext *s, unsigned int val) |
|
409 |
+void avio_wb24(AVIOContext *s, unsigned int val) |
|
410 | 410 |
{ |
411 |
- put_be16(s, val >> 8); |
|
412 |
- put_byte(s, val); |
|
411 |
+ avio_wb16(s, val >> 8); |
|
412 |
+ avio_w8(s, val); |
|
413 | 413 |
} |
414 | 414 |
|
415 | 415 |
void put_tag(AVIOContext *s, const char *tag) |
416 | 416 |
{ |
417 | 417 |
while (*tag) { |
418 |
- put_byte(s, *tag++); |
|
418 |
+ avio_w8(s, *tag++); |
|
419 | 419 |
} |
420 | 420 |
} |
421 | 421 |
|
... | ... |
@@ -855,7 +879,7 @@ int url_fprintf(AVIOContext *s, const char *fmt, ...) |
855 | 855 |
va_start(ap, fmt); |
856 | 856 |
ret = vsnprintf(buf, sizeof(buf), fmt, ap); |
857 | 857 |
va_end(ap); |
858 |
- put_buffer(s, buf, strlen(buf)); |
|
858 |
+ avio_write(s, buf, strlen(buf)); |
|
859 | 859 |
return ret; |
860 | 860 |
} |
861 | 861 |
#endif //CONFIG_MUXERS |
... | ... |
@@ -1056,7 +1080,7 @@ int url_close_dyn_buf(AVIOContext *s, uint8_t **pbuffer) |
1056 | 1056 |
|
1057 | 1057 |
/* don't attempt to pad fixed-size packet buffers */ |
1058 | 1058 |
if (!s->max_packet_size) { |
1059 |
- put_buffer(s, padbuf, sizeof(padbuf)); |
|
1059 |
+ avio_write(s, padbuf, sizeof(padbuf)); |
|
1060 | 1060 |
padding = FF_INPUT_BUFFER_PADDING_SIZE; |
1061 | 1061 |
} |
1062 | 1062 |
|
... | ... |
@@ -49,7 +49,7 @@ static int crc_write_trailer(struct AVFormatContext *s) |
49 | 49 |
char buf[64]; |
50 | 50 |
|
51 | 51 |
snprintf(buf, sizeof(buf), "CRC=0x%08x\n", crc->crcval); |
52 |
- put_buffer(s->pb, buf, strlen(buf)); |
|
52 |
+ avio_write(s->pb, buf, strlen(buf)); |
|
53 | 53 |
put_flush_packet(s->pb); |
54 | 54 |
return 0; |
55 | 55 |
} |
... | ... |
@@ -57,9 +57,9 @@ static int daud_write_header(struct AVFormatContext *s) |
57 | 57 |
|
58 | 58 |
static int daud_write_packet(struct AVFormatContext *s, AVPacket *pkt) |
59 | 59 |
{ |
60 |
- put_be16(s->pb, pkt->size); |
|
61 |
- put_be16(s->pb, 0x8010); // unknown |
|
62 |
- put_buffer(s->pb, pkt->data, pkt->size); |
|
60 |
+ avio_wb16(s->pb, pkt->size); |
|
61 |
+ avio_wb16(s->pb, 0x8010); // unknown |
|
62 |
+ avio_write(s->pb, pkt->data, pkt->size); |
|
63 | 63 |
put_flush_packet(s->pb); |
64 | 64 |
return 0; |
65 | 65 |
} |
... | ... |
@@ -381,7 +381,7 @@ static int dv_write_packet(struct AVFormatContext *s, AVPacket *pkt) |
381 | 381 |
fsize = dv_assemble_frame(s->priv_data, s->streams[pkt->stream_index], |
382 | 382 |
pkt->data, pkt->size, &frame); |
383 | 383 |
if (fsize > 0) { |
384 |
- put_buffer(s->pb, frame, fsize); |
|
384 |
+ avio_write(s->pb, frame, fsize); |
|
385 | 385 |
put_flush_packet(s->pb); |
386 | 386 |
} |
387 | 387 |
return 0; |
... | ... |
@@ -36,14 +36,14 @@ static void flush_packet(AVFormatContext *s) |
36 | 36 |
av_abort(); |
37 | 37 |
|
38 | 38 |
/* put header */ |
39 |
- put_be16(pb, PACKET_ID); |
|
40 |
- put_be16(pb, fill_size); |
|
41 |
- put_be64(pb, ffm->dts); |
|
39 |
+ avio_wb16(pb, PACKET_ID); |
|
40 |
+ avio_wb16(pb, fill_size); |
|
41 |
+ avio_wb64(pb, ffm->dts); |
|
42 | 42 |
h = ffm->frame_offset; |
43 | 43 |
if (ffm->first_packet) |
44 | 44 |
h |= 0x8000; |
45 |
- put_be16(pb, h); |
|
46 |
- put_buffer(pb, ffm->packet, ffm->packet_end - ffm->packet); |
|
45 |
+ avio_wb16(pb, h); |
|
46 |
+ avio_write(pb, ffm->packet, ffm->packet_end - ffm->packet); |
|
47 | 47 |
put_flush_packet(pb); |
48 | 48 |
|
49 | 49 |
/* prepare next packet */ |
... | ... |
@@ -91,17 +91,17 @@ static int ffm_write_header(AVFormatContext *s) |
91 | 91 |
ffm->packet_size = FFM_PACKET_SIZE; |
92 | 92 |
|
93 | 93 |
/* header */ |
94 |
- put_le32(pb, MKTAG('F', 'F', 'M', '1')); |
|
95 |
- put_be32(pb, ffm->packet_size); |
|
96 |
- put_be64(pb, 0); /* current write position */ |
|
94 |
+ avio_wl32(pb, MKTAG('F', 'F', 'M', '1')); |
|
95 |
+ avio_wb32(pb, ffm->packet_size); |
|
96 |
+ avio_wb64(pb, 0); /* current write position */ |
|
97 | 97 |
|
98 |
- put_be32(pb, s->nb_streams); |
|
98 |
+ avio_wb32(pb, s->nb_streams); |
|
99 | 99 |
bit_rate = 0; |
100 | 100 |
for(i=0;i<s->nb_streams;i++) { |
101 | 101 |
st = s->streams[i]; |
102 | 102 |
bit_rate += st->codec->bit_rate; |
103 | 103 |
} |
104 |
- put_be32(pb, bit_rate); |
|
104 |
+ avio_wb32(pb, bit_rate); |
|
105 | 105 |
|
106 | 106 |
/* list of streams */ |
107 | 107 |
for(i=0;i<s->nb_streams;i++) { |
... | ... |
@@ -110,82 +110,82 @@ static int ffm_write_header(AVFormatContext *s) |
110 | 110 |
|
111 | 111 |
codec = st->codec; |
112 | 112 |
/* generic info */ |
113 |
- put_be32(pb, codec->codec_id); |
|
114 |
- put_byte(pb, codec->codec_type); |
|
115 |
- put_be32(pb, codec->bit_rate); |
|
116 |
- put_be32(pb, st->quality); |
|
117 |
- put_be32(pb, codec->flags); |
|
118 |
- put_be32(pb, codec->flags2); |
|
119 |
- put_be32(pb, codec->debug); |
|
113 |
+ avio_wb32(pb, codec->codec_id); |
|
114 |
+ avio_w8(pb, codec->codec_type); |
|
115 |
+ avio_wb32(pb, codec->bit_rate); |
|
116 |
+ avio_wb32(pb, st->quality); |
|
117 |
+ avio_wb32(pb, codec->flags); |
|
118 |
+ avio_wb32(pb, codec->flags2); |
|
119 |
+ avio_wb32(pb, codec->debug); |
|
120 | 120 |
/* specific info */ |
121 | 121 |
switch(codec->codec_type) { |
122 | 122 |
case AVMEDIA_TYPE_VIDEO: |
123 |
- put_be32(pb, codec->time_base.num); |
|
124 |
- put_be32(pb, codec->time_base.den); |
|
125 |
- put_be16(pb, codec->width); |
|
126 |
- put_be16(pb, codec->height); |
|
127 |
- put_be16(pb, codec->gop_size); |
|
128 |
- put_be32(pb, codec->pix_fmt); |
|
129 |
- put_byte(pb, codec->qmin); |
|
130 |
- put_byte(pb, codec->qmax); |
|
131 |
- put_byte(pb, codec->max_qdiff); |
|
132 |
- put_be16(pb, (int) (codec->qcompress * 10000.0)); |
|
133 |
- put_be16(pb, (int) (codec->qblur * 10000.0)); |
|
134 |
- put_be32(pb, codec->bit_rate_tolerance); |
|
123 |
+ avio_wb32(pb, codec->time_base.num); |
|
124 |
+ avio_wb32(pb, codec->time_base.den); |
|
125 |
+ avio_wb16(pb, codec->width); |
|
126 |
+ avio_wb16(pb, codec->height); |
|
127 |
+ avio_wb16(pb, codec->gop_size); |
|
128 |
+ avio_wb32(pb, codec->pix_fmt); |
|
129 |
+ avio_w8(pb, codec->qmin); |
|
130 |
+ avio_w8(pb, codec->qmax); |
|
131 |
+ avio_w8(pb, codec->max_qdiff); |
|
132 |
+ avio_wb16(pb, (int) (codec->qcompress * 10000.0)); |
|
133 |
+ avio_wb16(pb, (int) (codec->qblur * 10000.0)); |
|
134 |
+ avio_wb32(pb, codec->bit_rate_tolerance); |
|
135 | 135 |
avio_put_str(pb, codec->rc_eq ? codec->rc_eq : "tex^qComp"); |
136 |
- put_be32(pb, codec->rc_max_rate); |
|
137 |
- put_be32(pb, codec->rc_min_rate); |
|
138 |
- put_be32(pb, codec->rc_buffer_size); |
|
139 |
- put_be64(pb, av_dbl2int(codec->i_quant_factor)); |
|
140 |
- put_be64(pb, av_dbl2int(codec->b_quant_factor)); |
|
141 |
- put_be64(pb, av_dbl2int(codec->i_quant_offset)); |
|
142 |
- put_be64(pb, av_dbl2int(codec->b_quant_offset)); |
|
143 |
- put_be32(pb, codec->dct_algo); |
|
144 |
- put_be32(pb, codec->strict_std_compliance); |
|
145 |
- put_be32(pb, codec->max_b_frames); |
|
146 |
- put_be32(pb, codec->luma_elim_threshold); |
|
147 |
- put_be32(pb, codec->chroma_elim_threshold); |
|
148 |
- put_be32(pb, codec->mpeg_quant); |
|
149 |
- put_be32(pb, codec->intra_dc_precision); |
|
150 |
- put_be32(pb, codec->me_method); |
|
151 |
- put_be32(pb, codec->mb_decision); |
|
152 |
- put_be32(pb, codec->nsse_weight); |
|
153 |
- put_be32(pb, codec->frame_skip_cmp); |
|
154 |
- put_be64(pb, av_dbl2int(codec->rc_buffer_aggressivity)); |
|
155 |
- put_be32(pb, codec->codec_tag); |
|
156 |
- put_byte(pb, codec->thread_count); |
|
157 |
- put_be32(pb, codec->coder_type); |
|
158 |
- put_be32(pb, codec->me_cmp); |
|
159 |
- put_be32(pb, codec->partitions); |
|
160 |
- put_be32(pb, codec->me_subpel_quality); |
|
161 |
- put_be32(pb, codec->me_range); |
|
162 |
- put_be32(pb, codec->keyint_min); |
|
163 |
- put_be32(pb, codec->scenechange_threshold); |
|
164 |
- put_be32(pb, codec->b_frame_strategy); |
|
165 |
- put_be64(pb, av_dbl2int(codec->qcompress)); |
|
166 |
- put_be64(pb, av_dbl2int(codec->qblur)); |
|
167 |
- put_be32(pb, codec->max_qdiff); |
|
168 |
- put_be32(pb, codec->refs); |
|
169 |
- put_be32(pb, codec->directpred); |
|
136 |
+ avio_wb32(pb, codec->rc_max_rate); |
|
137 |
+ avio_wb32(pb, codec->rc_min_rate); |
|
138 |
+ avio_wb32(pb, codec->rc_buffer_size); |
|
139 |
+ avio_wb64(pb, av_dbl2int(codec->i_quant_factor)); |
|
140 |
+ avio_wb64(pb, av_dbl2int(codec->b_quant_factor)); |
|
141 |
+ avio_wb64(pb, av_dbl2int(codec->i_quant_offset)); |
|
142 |
+ avio_wb64(pb, av_dbl2int(codec->b_quant_offset)); |
|
143 |
+ avio_wb32(pb, codec->dct_algo); |
|
144 |
+ avio_wb32(pb, codec->strict_std_compliance); |
|
145 |
+ avio_wb32(pb, codec->max_b_frames); |
|
146 |
+ avio_wb32(pb, codec->luma_elim_threshold); |
|
147 |
+ avio_wb32(pb, codec->chroma_elim_threshold); |
|
148 |
+ avio_wb32(pb, codec->mpeg_quant); |
|
149 |
+ avio_wb32(pb, codec->intra_dc_precision); |
|
150 |
+ avio_wb32(pb, codec->me_method); |
|
151 |
+ avio_wb32(pb, codec->mb_decision); |
|
152 |
+ avio_wb32(pb, codec->nsse_weight); |
|
153 |
+ avio_wb32(pb, codec->frame_skip_cmp); |
|
154 |
+ avio_wb64(pb, av_dbl2int(codec->rc_buffer_aggressivity)); |
|
155 |
+ avio_wb32(pb, codec->codec_tag); |
|
156 |
+ avio_w8(pb, codec->thread_count); |
|
157 |
+ avio_wb32(pb, codec->coder_type); |
|
158 |
+ avio_wb32(pb, codec->me_cmp); |
|
159 |
+ avio_wb32(pb, codec->partitions); |
|
160 |
+ avio_wb32(pb, codec->me_subpel_quality); |
|
161 |
+ avio_wb32(pb, codec->me_range); |
|
162 |
+ avio_wb32(pb, codec->keyint_min); |
|
163 |
+ avio_wb32(pb, codec->scenechange_threshold); |
|
164 |
+ avio_wb32(pb, codec->b_frame_strategy); |
|
165 |
+ avio_wb64(pb, av_dbl2int(codec->qcompress)); |
|
166 |
+ avio_wb64(pb, av_dbl2int(codec->qblur)); |
|
167 |
+ avio_wb32(pb, codec->max_qdiff); |
|
168 |
+ avio_wb32(pb, codec->refs); |
|
169 |
+ avio_wb32(pb, codec->directpred); |
|
170 | 170 |
break; |
171 | 171 |
case AVMEDIA_TYPE_AUDIO: |
172 |
- put_be32(pb, codec->sample_rate); |
|
173 |
- put_le16(pb, codec->channels); |
|
174 |
- put_le16(pb, codec->frame_size); |
|
175 |
- put_le16(pb, codec->sample_fmt); |
|
172 |
+ avio_wb32(pb, codec->sample_rate); |
|
173 |
+ avio_wl16(pb, codec->channels); |
|
174 |
+ avio_wl16(pb, codec->frame_size); |
|
175 |
+ avio_wl16(pb, codec->sample_fmt); |
|
176 | 176 |
break; |
177 | 177 |
default: |
178 | 178 |
return -1; |
179 | 179 |
} |
180 | 180 |
if (codec->flags & CODEC_FLAG_GLOBAL_HEADER) { |
181 |
- put_be32(pb, codec->extradata_size); |
|
182 |
- put_buffer(pb, codec->extradata, codec->extradata_size); |
|
181 |
+ avio_wb32(pb, codec->extradata_size); |
|
182 |
+ avio_write(pb, codec->extradata, codec->extradata_size); |
|
183 | 183 |
} |
184 | 184 |
} |
185 | 185 |
|
186 | 186 |
/* flush until end of block reached */ |
187 | 187 |
while ((url_ftell(pb) % ffm->packet_size) != 0) |
188 |
- put_byte(pb, 0); |
|
188 |
+ avio_w8(pb, 0); |
|
189 | 189 |
|
190 | 190 |
put_flush_packet(pb); |
191 | 191 |
|
... | ... |
@@ -31,8 +31,8 @@ static void write_escape_str(AVIOContext *s, const uint8_t *str) |
31 | 31 |
|
32 | 32 |
while (*p) { |
33 | 33 |
if (*p == '#' || *p == ';' || *p == '=' || *p == '\\' || *p == '\n') |
34 |
- put_byte(s, '\\'); |
|
35 |
- put_byte(s, *p); |
|
34 |
+ avio_w8(s, '\\'); |
|
35 |
+ avio_w8(s, *p); |
|
36 | 36 |
p++; |
37 | 37 |
} |
38 | 38 |
} |
... | ... |
@@ -42,17 +42,17 @@ static void write_tags(AVIOContext *s, AVMetadata *m) |
42 | 42 |
AVMetadataTag *t = NULL; |
43 | 43 |
while ((t = av_metadata_get(m, "", t, AV_METADATA_IGNORE_SUFFIX))) { |
44 | 44 |
write_escape_str(s, t->key); |
45 |
- put_byte(s, '='); |
|
45 |
+ avio_w8(s, '='); |
|
46 | 46 |
write_escape_str(s, t->value); |
47 |
- put_byte(s, '\n'); |
|
47 |
+ avio_w8(s, '\n'); |
|
48 | 48 |
} |
49 | 49 |
} |
50 | 50 |
|
51 | 51 |
static int write_header(AVFormatContext *s) |
52 | 52 |
{ |
53 | 53 |
put_tag(s->pb, ID_STRING); |
54 |
- put_byte(s->pb, '1'); // version |
|
55 |
- put_byte(s->pb, '\n'); |
|
54 |
+ avio_w8(s->pb, '1'); // version |
|
55 |
+ avio_w8(s->pb, '\n'); |
|
56 | 56 |
put_flush_packet(s->pb); |
57 | 57 |
return 0; |
58 | 58 |
} |
... | ... |
@@ -65,14 +65,14 @@ static int write_trailer(AVFormatContext *s) |
65 | 65 |
|
66 | 66 |
for (i = 0; i < s->nb_streams; i++) { |
67 | 67 |
put_tag(s->pb, ID_STREAM); |
68 |
- put_byte(s->pb, '\n'); |
|
68 |
+ avio_w8(s->pb, '\n'); |
|
69 | 69 |
write_tags(s->pb, s->streams[i]->metadata); |
70 | 70 |
} |
71 | 71 |
|
72 | 72 |
for (i = 0; i < s->nb_chapters; i++) { |
73 | 73 |
AVChapter *ch = s->chapters[i]; |
74 | 74 |
put_tag(s->pb, ID_CHAPTER); |
75 |
- put_byte(s->pb, '\n'); |
|
75 |
+ avio_w8(s->pb, '\n'); |
|
76 | 76 |
url_fprintf(s->pb, "TIMEBASE=%d/%d\n", ch->time_base.num, ch->time_base.den); |
77 | 77 |
url_fprintf(s->pb, "START=%"PRId64"\n", ch->start); |
78 | 78 |
url_fprintf(s->pb, "END=%"PRId64"\n", ch->end); |
... | ... |
@@ -45,7 +45,7 @@ static int write_header(AVFormatContext *s) |
45 | 45 |
static int write_packet(AVFormatContext *s, AVPacket *pkt) |
46 | 46 |
{ |
47 | 47 |
FilmstripMuxContext *film = s->priv_data; |
48 |
- put_buffer(s->pb, pkt->data, pkt->size); |
|
48 |
+ avio_write(s->pb, pkt->data, pkt->size); |
|
49 | 49 |
film->nb_frames++; |
50 | 50 |
return 0; |
51 | 51 |
} |
... | ... |
@@ -57,16 +57,16 @@ static int write_trailer(AVFormatContext *s) |
57 | 57 |
AVStream *st = s->streams[0]; |
58 | 58 |
int i; |
59 | 59 |
|
60 |
- put_be32(pb, RAND_TAG); |
|
61 |
- put_be32(pb, film->nb_frames); |
|
62 |
- put_be16(pb, 0); // packing method |
|
63 |
- put_be16(pb, 0); // reserved |
|
64 |
- put_be16(pb, st->codec->width); |
|
65 |
- put_be16(pb, st->codec->height); |
|
66 |
- put_be16(pb, 0); // leading |
|
67 |
- put_be16(pb, 1/av_q2d(st->codec->time_base)); |
|
60 |
+ avio_wb32(pb, RAND_TAG); |
|
61 |
+ avio_wb32(pb, film->nb_frames); |
|
62 |
+ avio_wb16(pb, 0); // packing method |
|
63 |
+ avio_wb16(pb, 0); // reserved |
|
64 |
+ avio_wb16(pb, st->codec->width); |
|
65 |
+ avio_wb16(pb, st->codec->height); |
|
66 |
+ avio_wb16(pb, 0); // leading |
|
67 |
+ avio_wb16(pb, 1/av_q2d(st->codec->time_base)); |
|
68 | 68 |
for (i = 0; i < 16; i++) |
69 |
- put_byte(pb, 0x00); // reserved |
|
69 |
+ avio_w8(pb, 0x00); // reserved |
|
70 | 70 |
put_flush_packet(pb); |
71 | 71 |
return 0; |
72 | 72 |
} |
... | ... |
@@ -30,10 +30,10 @@ |
30 | 30 |
static int flac_write_block_padding(AVIOContext *pb, unsigned int n_padding_bytes, |
31 | 31 |
int last_block) |
32 | 32 |
{ |
33 |
- put_byte(pb, last_block ? 0x81 : 0x01); |
|
34 |
- put_be24(pb, n_padding_bytes); |
|
33 |
+ avio_w8(pb, last_block ? 0x81 : 0x01); |
|
34 |
+ avio_wb24(pb, n_padding_bytes); |
|
35 | 35 |
while (n_padding_bytes > 0) { |
36 |
- put_byte(pb, 0); |
|
36 |
+ avio_w8(pb, 0); |
|
37 | 37 |
n_padding_bytes--; |
38 | 38 |
} |
39 | 39 |
return 0; |
... | ... |
@@ -58,7 +58,7 @@ static int flac_write_block_comment(AVIOContext *pb, AVMetadata **m, |
58 | 58 |
bytestream_put_be24(&p, len); |
59 | 59 |
ff_vorbiscomment_write(&p, m, vendor, count); |
60 | 60 |
|
61 |
- put_buffer(pb, p0, len+4); |
|
61 |
+ avio_write(pb, p0, len+4); |
|
62 | 62 |
av_freep(&p0); |
63 | 63 |
p = NULL; |
64 | 64 |
|
... | ... |
@@ -102,7 +102,7 @@ static int flac_write_trailer(struct AVFormatContext *s) |
102 | 102 |
/* rewrite the STREAMINFO header block data */ |
103 | 103 |
file_size = url_ftell(pb); |
104 | 104 |
url_fseek(pb, 8, SEEK_SET); |
105 |
- put_buffer(pb, streaminfo, FLAC_STREAMINFO_SIZE); |
|
105 |
+ avio_write(pb, streaminfo, FLAC_STREAMINFO_SIZE); |
|
106 | 106 |
url_fseek(pb, file_size, SEEK_SET); |
107 | 107 |
put_flush_packet(pb); |
108 | 108 |
} else { |
... | ... |
@@ -113,7 +113,7 @@ static int flac_write_trailer(struct AVFormatContext *s) |
113 | 113 |
|
114 | 114 |
static int flac_write_packet(struct AVFormatContext *s, AVPacket *pkt) |
115 | 115 |
{ |
116 |
- put_buffer(s->pb, pkt->data, pkt->size); |
|
116 |
+ avio_write(s->pb, pkt->data, pkt->size); |
|
117 | 117 |
put_flush_packet(s->pb); |
118 | 118 |
return 0; |
119 | 119 |
} |
... | ... |
@@ -39,11 +39,11 @@ int ff_flac_write_header(AVIOContext *pb, AVCodecContext *codec, |
39 | 39 |
|
40 | 40 |
/* write "fLaC" stream marker and first metadata block header if needed */ |
41 | 41 |
if (format == FLAC_EXTRADATA_FORMAT_STREAMINFO) { |
42 |
- put_buffer(pb, header, 8); |
|
42 |
+ avio_write(pb, header, 8); |
|
43 | 43 |
} |
44 | 44 |
|
45 | 45 |
/* write STREAMINFO or full header */ |
46 |
- put_buffer(pb, codec->extradata, codec->extradata_size); |
|
46 |
+ avio_write(pb, codec->extradata, codec->extradata_size); |
|
47 | 47 |
|
48 | 48 |
return 0; |
49 | 49 |
} |
... | ... |
@@ -142,31 +142,31 @@ static int get_audio_flags(AVCodecContext *enc){ |
142 | 142 |
static void put_amf_string(AVIOContext *pb, const char *str) |
143 | 143 |
{ |
144 | 144 |
size_t len = strlen(str); |
145 |
- put_be16(pb, len); |
|
146 |
- put_buffer(pb, str, len); |
|
145 |
+ avio_wb16(pb, len); |
|
146 |
+ avio_write(pb, str, len); |
|
147 | 147 |
} |
148 | 148 |
|
149 | 149 |
static void put_avc_eos_tag(AVIOContext *pb, unsigned ts) { |
150 |
- put_byte(pb, FLV_TAG_TYPE_VIDEO); |
|
151 |
- put_be24(pb, 5); /* Tag Data Size */ |
|
152 |
- put_be24(pb, ts); /* lower 24 bits of timestamp in ms*/ |
|
153 |
- put_byte(pb, (ts >> 24) & 0x7F); /* MSB of ts in ms*/ |
|
154 |
- put_be24(pb, 0); /* StreamId = 0 */ |
|
155 |
- put_byte(pb, 23); /* ub[4] FrameType = 1, ub[4] CodecId = 7 */ |
|
156 |
- put_byte(pb, 2); /* AVC end of sequence */ |
|
157 |
- put_be24(pb, 0); /* Always 0 for AVC EOS. */ |
|
158 |
- put_be32(pb, 16); /* Size of FLV tag */ |
|
150 |
+ avio_w8(pb, FLV_TAG_TYPE_VIDEO); |
|
151 |
+ avio_wb24(pb, 5); /* Tag Data Size */ |
|
152 |
+ avio_wb24(pb, ts); /* lower 24 bits of timestamp in ms*/ |
|
153 |
+ avio_w8(pb, (ts >> 24) & 0x7F); /* MSB of ts in ms*/ |
|
154 |
+ avio_wb24(pb, 0); /* StreamId = 0 */ |
|
155 |
+ avio_w8(pb, 23); /* ub[4] FrameType = 1, ub[4] CodecId = 7 */ |
|
156 |
+ avio_w8(pb, 2); /* AVC end of sequence */ |
|
157 |
+ avio_wb24(pb, 0); /* Always 0 for AVC EOS. */ |
|
158 |
+ avio_wb32(pb, 16); /* Size of FLV tag */ |
|
159 | 159 |
} |
160 | 160 |
|
161 | 161 |
static void put_amf_double(AVIOContext *pb, double d) |
162 | 162 |
{ |
163 |
- put_byte(pb, AMF_DATA_TYPE_NUMBER); |
|
164 |
- put_be64(pb, av_dbl2int(d)); |
|
163 |
+ avio_w8(pb, AMF_DATA_TYPE_NUMBER); |
|
164 |
+ avio_wb64(pb, av_dbl2int(d)); |
|
165 | 165 |
} |
166 | 166 |
|
167 | 167 |
static void put_amf_bool(AVIOContext *pb, int b) { |
168 |
- put_byte(pb, AMF_DATA_TYPE_BOOL); |
|
169 |
- put_byte(pb, !!b); |
|
168 |
+ avio_w8(pb, AMF_DATA_TYPE_BOOL); |
|
169 |
+ avio_w8(pb, !!b); |
|
170 | 170 |
} |
171 | 171 |
|
172 | 172 |
static int flv_write_header(AVFormatContext *s) |
... | ... |
@@ -200,19 +200,19 @@ static int flv_write_header(AVFormatContext *s) |
200 | 200 |
av_set_pts_info(s->streams[i], 32, 1, 1000); /* 32 bit pts in ms */ |
201 | 201 |
} |
202 | 202 |
put_tag(pb,"FLV"); |
203 |
- put_byte(pb,1); |
|
204 |
- put_byte(pb, FLV_HEADER_FLAG_HASAUDIO * !!audio_enc |
|
203 |
+ avio_w8(pb,1); |
|
204 |
+ avio_w8(pb, FLV_HEADER_FLAG_HASAUDIO * !!audio_enc |
|
205 | 205 |
+ FLV_HEADER_FLAG_HASVIDEO * !!video_enc); |
206 |
- put_be32(pb,9); |
|
207 |
- put_be32(pb,0); |
|
206 |
+ avio_wb32(pb,9); |
|
207 |
+ avio_wb32(pb,0); |
|
208 | 208 |
|
209 | 209 |
for(i=0; i<s->nb_streams; i++){ |
210 | 210 |
if(s->streams[i]->codec->codec_tag == 5){ |
211 |
- put_byte(pb,8); // message type |
|
212 |
- put_be24(pb,0); // include flags |
|
213 |
- put_be24(pb,0); // time stamp |
|
214 |
- put_be32(pb,0); // reserved |
|
215 |
- put_be32(pb,11); // size |
|
211 |
+ avio_w8(pb,8); // message type |
|
212 |
+ avio_wb24(pb,0); // include flags |
|
213 |
+ avio_wb24(pb,0); // time stamp |
|
214 |
+ avio_wb32(pb,0); // reserved |
|
215 |
+ avio_wb32(pb,11); // size |
|
216 | 216 |
flv->reserved=5; |
217 | 217 |
} |
218 | 218 |
} |
... | ... |
@@ -220,21 +220,21 @@ static int flv_write_header(AVFormatContext *s) |
220 | 220 |
flv->last_video_ts = -1; |
221 | 221 |
|
222 | 222 |
/* write meta_tag */ |
223 |
- put_byte(pb, 18); // tag type META |
|
223 |
+ avio_w8(pb, 18); // tag type META |
|
224 | 224 |
metadata_size_pos= url_ftell(pb); |
225 |
- put_be24(pb, 0); // size of data part (sum of all parts below) |
|
226 |
- put_be24(pb, 0); // time stamp |
|
227 |
- put_be32(pb, 0); // reserved |
|
225 |
+ avio_wb24(pb, 0); // size of data part (sum of all parts below) |
|
226 |
+ avio_wb24(pb, 0); // time stamp |
|
227 |
+ avio_wb32(pb, 0); // reserved |
|
228 | 228 |
|
229 | 229 |
/* now data of data_size size */ |
230 | 230 |
|
231 | 231 |
/* first event name as a string */ |
232 |
- put_byte(pb, AMF_DATA_TYPE_STRING); |
|
232 |
+ avio_w8(pb, AMF_DATA_TYPE_STRING); |
|
233 | 233 |
put_amf_string(pb, "onMetaData"); // 12 bytes |
234 | 234 |
|
235 | 235 |
/* mixed array (hash) with size and string/type/data tuples */ |
236 |
- put_byte(pb, AMF_DATA_TYPE_MIXEDARRAY); |
|
237 |
- put_be32(pb, 5*!!video_enc + 5*!!audio_enc + 2); // +2 for duration and file size |
|
236 |
+ avio_w8(pb, AMF_DATA_TYPE_MIXEDARRAY); |
|
237 |
+ avio_wb32(pb, 5*!!video_enc + 5*!!audio_enc + 2); // +2 for duration and file size |
|
238 | 238 |
|
239 | 239 |
put_amf_string(pb, "duration"); |
240 | 240 |
flv->duration_offset= url_ftell(pb); |
... | ... |
@@ -276,7 +276,7 @@ static int flv_write_header(AVFormatContext *s) |
276 | 276 |
|
277 | 277 |
while ((tag = av_metadata_get(s->metadata, "", tag, AV_METADATA_IGNORE_SUFFIX))) { |
278 | 278 |
put_amf_string(pb, tag->key); |
279 |
- put_byte(pb, AMF_DATA_TYPE_STRING); |
|
279 |
+ avio_w8(pb, AMF_DATA_TYPE_STRING); |
|
280 | 280 |
put_amf_string(pb, tag->value); |
281 | 281 |
} |
282 | 282 |
|
... | ... |
@@ -285,41 +285,41 @@ static int flv_write_header(AVFormatContext *s) |
285 | 285 |
put_amf_double(pb, 0); // delayed write |
286 | 286 |
|
287 | 287 |
put_amf_string(pb, ""); |
288 |
- put_byte(pb, AMF_END_OF_OBJECT); |
|
288 |
+ avio_w8(pb, AMF_END_OF_OBJECT); |
|
289 | 289 |
|
290 | 290 |
/* write total size of tag */ |
291 | 291 |
data_size= url_ftell(pb) - metadata_size_pos - 10; |
292 | 292 |
url_fseek(pb, metadata_size_pos, SEEK_SET); |
293 |
- put_be24(pb, data_size); |
|
293 |
+ avio_wb24(pb, data_size); |
|
294 | 294 |
url_fseek(pb, data_size + 10 - 3, SEEK_CUR); |
295 |
- put_be32(pb, data_size + 11); |
|
295 |
+ avio_wb32(pb, data_size + 11); |
|
296 | 296 |
|
297 | 297 |
for (i = 0; i < s->nb_streams; i++) { |
298 | 298 |
AVCodecContext *enc = s->streams[i]->codec; |
299 | 299 |
if (enc->codec_id == CODEC_ID_AAC || enc->codec_id == CODEC_ID_H264) { |
300 | 300 |
int64_t pos; |
301 |
- put_byte(pb, enc->codec_type == AVMEDIA_TYPE_VIDEO ? |
|
301 |
+ avio_w8(pb, enc->codec_type == AVMEDIA_TYPE_VIDEO ? |
|
302 | 302 |
FLV_TAG_TYPE_VIDEO : FLV_TAG_TYPE_AUDIO); |
303 |
- put_be24(pb, 0); // size patched later |
|
304 |
- put_be24(pb, 0); // ts |
|
305 |
- put_byte(pb, 0); // ts ext |
|
306 |
- put_be24(pb, 0); // streamid |
|
303 |
+ avio_wb24(pb, 0); // size patched later |
|
304 |
+ avio_wb24(pb, 0); // ts |
|
305 |
+ avio_w8(pb, 0); // ts ext |
|
306 |
+ avio_wb24(pb, 0); // streamid |
|
307 | 307 |
pos = url_ftell(pb); |
308 | 308 |
if (enc->codec_id == CODEC_ID_AAC) { |
309 |
- put_byte(pb, get_audio_flags(enc)); |
|
310 |
- put_byte(pb, 0); // AAC sequence header |
|
311 |
- put_buffer(pb, enc->extradata, enc->extradata_size); |
|
309 |
+ avio_w8(pb, get_audio_flags(enc)); |
|
310 |
+ avio_w8(pb, 0); // AAC sequence header |
|
311 |
+ avio_write(pb, enc->extradata, enc->extradata_size); |
|
312 | 312 |
} else { |
313 |
- put_byte(pb, enc->codec_tag | FLV_FRAME_KEY); // flags |
|
314 |
- put_byte(pb, 0); // AVC sequence header |
|
315 |
- put_be24(pb, 0); // composition time |
|
313 |
+ avio_w8(pb, enc->codec_tag | FLV_FRAME_KEY); // flags |
|
314 |
+ avio_w8(pb, 0); // AVC sequence header |
|
315 |
+ avio_wb24(pb, 0); // composition time |
|
316 | 316 |
ff_isom_write_avcc(pb, enc->extradata, enc->extradata_size); |
317 | 317 |
} |
318 | 318 |
data_size = url_ftell(pb) - pos; |
319 | 319 |
url_fseek(pb, -data_size - 10, SEEK_CUR); |
320 |
- put_be24(pb, data_size); |
|
320 |
+ avio_wb24(pb, data_size); |
|
321 | 321 |
url_fseek(pb, data_size + 10 - 3, SEEK_CUR); |
322 |
- put_be32(pb, data_size + 11); // previous tag size |
|
322 |
+ avio_wb32(pb, data_size + 11); // previous tag size |
|
323 | 323 |
} |
324 | 324 |
} |
325 | 325 |
|
... | ... |
@@ -376,7 +376,7 @@ static int flv_write_packet(AVFormatContext *s, AVPacket *pkt) |
376 | 376 |
flags_size= 1; |
377 | 377 |
|
378 | 378 |
if (enc->codec_type == AVMEDIA_TYPE_VIDEO) { |
379 |
- put_byte(pb, FLV_TAG_TYPE_VIDEO); |
|
379 |
+ avio_w8(pb, FLV_TAG_TYPE_VIDEO); |
|
380 | 380 |
|
381 | 381 |
flags = enc->codec_tag; |
382 | 382 |
if(flags == 0) { |
... | ... |
@@ -391,7 +391,7 @@ static int flv_write_packet(AVFormatContext *s, AVPacket *pkt) |
391 | 391 |
|
392 | 392 |
assert(size); |
393 | 393 |
|
394 |
- put_byte(pb, FLV_TAG_TYPE_AUDIO); |
|
394 |
+ avio_w8(pb, FLV_TAG_TYPE_AUDIO); |
|
395 | 395 |
} |
396 | 396 |
|
397 | 397 |
if (enc->codec_id == CODEC_ID_H264) { |
... | ... |
@@ -409,25 +409,25 @@ static int flv_write_packet(AVFormatContext *s, AVPacket *pkt) |
409 | 409 |
if (flv->last_video_ts < ts) |
410 | 410 |
flv->last_video_ts = ts; |
411 | 411 |
} |
412 |
- put_be24(pb,size + flags_size); |
|
413 |
- put_be24(pb,ts); |
|
414 |
- put_byte(pb,(ts >> 24) & 0x7F); // timestamps are 32bits _signed_ |
|
415 |
- put_be24(pb,flv->reserved); |
|
416 |
- put_byte(pb,flags); |
|
412 |
+ avio_wb24(pb,size + flags_size); |
|
413 |
+ avio_wb24(pb,ts); |
|
414 |
+ avio_w8(pb,(ts >> 24) & 0x7F); // timestamps are 32bits _signed_ |
|
415 |
+ avio_wb24(pb,flv->reserved); |
|
416 |
+ avio_w8(pb,flags); |
|
417 | 417 |
if (enc->codec_id == CODEC_ID_VP6) |
418 |
- put_byte(pb,0); |
|
418 |
+ avio_w8(pb,0); |
|
419 | 419 |
if (enc->codec_id == CODEC_ID_VP6F) |
420 |
- put_byte(pb, enc->extradata_size ? enc->extradata[0] : 0); |
|
420 |
+ avio_w8(pb, enc->extradata_size ? enc->extradata[0] : 0); |
|
421 | 421 |
else if (enc->codec_id == CODEC_ID_AAC) |
422 |
- put_byte(pb,1); // AAC raw |
|
422 |
+ avio_w8(pb,1); // AAC raw |
|
423 | 423 |
else if (enc->codec_id == CODEC_ID_H264) { |
424 |
- put_byte(pb,1); // AVC NALU |
|
425 |
- put_be24(pb,pkt->pts - pkt->dts); |
|
424 |
+ avio_w8(pb,1); // AVC NALU |
|
425 |
+ avio_wb24(pb,pkt->pts - pkt->dts); |
|
426 | 426 |
} |
427 | 427 |
|
428 |
- put_buffer(pb, data ? data : pkt->data, size); |
|
428 |
+ avio_write(pb, data ? data : pkt->data, size); |
|
429 | 429 |
|
430 |
- put_be32(pb,size+flags_size+11); // previous tag size |
|
430 |
+ avio_wb32(pb,size+flags_size+11); // previous tag size |
|
431 | 431 |
flv->duration = FFMAX(flv->duration, pkt->pts + flv->delay + pkt->duration); |
432 | 432 |
|
433 | 433 |
put_flush_packet(pb); |
... | ... |
@@ -28,7 +28,7 @@ static int framecrc_write_packet(struct AVFormatContext *s, AVPacket *pkt) |
28 | 28 |
char buf[256]; |
29 | 29 |
|
30 | 30 |
snprintf(buf, sizeof(buf), "%d, %"PRId64", %d, 0x%08x\n", pkt->stream_index, pkt->dts, pkt->size, crc); |
31 |
- put_buffer(s->pb, buf, strlen(buf)); |
|
31 |
+ avio_write(s->pb, buf, strlen(buf)); |
|
32 | 32 |
put_flush_packet(s->pb); |
33 | 33 |
return 0; |
34 | 34 |
} |
... | ... |
@@ -116,24 +116,24 @@ static int gif_image_write_header(AVIOContext *pb, |
116 | 116 |
|
117 | 117 |
put_tag(pb, "GIF"); |
118 | 118 |
put_tag(pb, "89a"); |
119 |
- put_le16(pb, width); |
|
120 |
- put_le16(pb, height); |
|
119 |
+ avio_wl16(pb, width); |
|
120 |
+ avio_wl16(pb, height); |
|
121 | 121 |
|
122 |
- put_byte(pb, 0xf7); /* flags: global clut, 256 entries */ |
|
123 |
- put_byte(pb, 0x1f); /* background color index */ |
|
124 |
- put_byte(pb, 0); /* aspect ratio */ |
|
122 |
+ avio_w8(pb, 0xf7); /* flags: global clut, 256 entries */ |
|
123 |
+ avio_w8(pb, 0x1f); /* background color index */ |
|
124 |
+ avio_w8(pb, 0); /* aspect ratio */ |
|
125 | 125 |
|
126 | 126 |
/* the global palette */ |
127 | 127 |
if (!palette) { |
128 |
- put_buffer(pb, (const unsigned char *)gif_clut, 216*3); |
|
128 |
+ avio_write(pb, (const unsigned char *)gif_clut, 216*3); |
|
129 | 129 |
for(i=0;i<((256-216)*3);i++) |
130 |
- put_byte(pb, 0); |
|
130 |
+ avio_w8(pb, 0); |
|
131 | 131 |
} else { |
132 | 132 |
for(i=0;i<256;i++) { |
133 | 133 |
v = palette[i]; |
134 |
- put_byte(pb, (v >> 16) & 0xff); |
|
135 |
- put_byte(pb, (v >> 8) & 0xff); |
|
136 |
- put_byte(pb, (v) & 0xff); |
|
134 |
+ avio_w8(pb, (v >> 16) & 0xff); |
|
135 |
+ avio_w8(pb, (v >> 8) & 0xff); |
|
136 |
+ avio_w8(pb, (v) & 0xff); |
|
137 | 137 |
} |
138 | 138 |
} |
139 | 139 |
|
... | ... |
@@ -159,14 +159,14 @@ static int gif_image_write_header(AVIOContext *pb, |
159 | 159 |
/* application extension header */ |
160 | 160 |
#ifdef GIF_ADD_APP_HEADER |
161 | 161 |
if (loop_count >= 0 && loop_count <= 65535) { |
162 |
- put_byte(pb, 0x21); |
|
163 |
- put_byte(pb, 0xff); |
|
164 |
- put_byte(pb, 0x0b); |
|
162 |
+ avio_w8(pb, 0x21); |
|
163 |
+ avio_w8(pb, 0xff); |
|
164 |
+ avio_w8(pb, 0x0b); |
|
165 | 165 |
put_tag(pb, "NETSCAPE2.0"); // bytes 4 to 14 |
166 |
- put_byte(pb, 0x03); // byte 15 |
|
167 |
- put_byte(pb, 0x01); // byte 16 |
|
168 |
- put_le16(pb, (uint16_t)loop_count); |
|
169 |
- put_byte(pb, 0x00); // byte 19 |
|
166 |
+ avio_w8(pb, 0x03); // byte 15 |
|
167 |
+ avio_w8(pb, 0x01); // byte 16 |
|
168 |
+ avio_wl16(pb, (uint16_t)loop_count); |
|
169 |
+ avio_w8(pb, 0x00); // byte 19 |
|
170 | 170 |
} |
171 | 171 |
#endif |
172 | 172 |
return 0; |
... | ... |
@@ -189,15 +189,15 @@ static int gif_image_write_image(AVIOContext *pb, |
189 | 189 |
const uint8_t *ptr; |
190 | 190 |
/* image block */ |
191 | 191 |
|
192 |
- put_byte(pb, 0x2c); |
|
193 |
- put_le16(pb, x1); |
|
194 |
- put_le16(pb, y1); |
|
195 |
- put_le16(pb, width); |
|
196 |
- put_le16(pb, height); |
|
197 |
- put_byte(pb, 0x00); /* flags */ |
|
192 |
+ avio_w8(pb, 0x2c); |
|
193 |
+ avio_wl16(pb, x1); |
|
194 |
+ avio_wl16(pb, y1); |
|
195 |
+ avio_wl16(pb, width); |
|
196 |
+ avio_wl16(pb, height); |
|
197 |
+ avio_w8(pb, 0x00); /* flags */ |
|
198 | 198 |
/* no local clut */ |
199 | 199 |
|
200 |
- put_byte(pb, 0x08); |
|
200 |
+ avio_w8(pb, 0x08); |
|
201 | 201 |
|
202 | 202 |
left= width * height; |
203 | 203 |
|
... | ... |
@@ -233,13 +233,13 @@ static int gif_image_write_image(AVIOContext *pb, |
233 | 233 |
flush_put_bits(&p); |
234 | 234 |
} |
235 | 235 |
if(put_bits_ptr(&p) - p.buf > 0) { |
236 |
- put_byte(pb, put_bits_ptr(&p) - p.buf); /* byte count of the packet */ |
|
237 |
- put_buffer(pb, p.buf, put_bits_ptr(&p) - p.buf); /* the actual buffer */ |
|
236 |
+ avio_w8(pb, put_bits_ptr(&p) - p.buf); /* byte count of the packet */ |
|
237 |
+ avio_write(pb, p.buf, put_bits_ptr(&p) - p.buf); /* the actual buffer */ |
|
238 | 238 |
p.buf_ptr = p.buf; /* dequeue the bytes off the bitstream */ |
239 | 239 |
} |
240 | 240 |
left-=GIF_CHUNKS; |
241 | 241 |
} |
242 |
- put_byte(pb, 0x00); /* end of image block */ |
|
242 |
+ avio_w8(pb, 0x00); /* end of image block */ |
|
243 | 243 |
|
244 | 244 |
return 0; |
245 | 245 |
} |
... | ... |
@@ -300,10 +300,10 @@ static int gif_write_video(AVFormatContext *s, |
300 | 300 |
int64_t delay; |
301 | 301 |
|
302 | 302 |
/* graphic control extension block */ |
303 |
- put_byte(pb, 0x21); |
|
304 |
- put_byte(pb, 0xf9); |
|
305 |
- put_byte(pb, 0x04); /* block size */ |
|
306 |
- put_byte(pb, 0x04); /* flags */ |
|
303 |
+ avio_w8(pb, 0x21); |
|
304 |
+ avio_w8(pb, 0xf9); |
|
305 |
+ avio_w8(pb, 0x04); /* block size */ |
|
306 |
+ avio_w8(pb, 0x04); /* flags */ |
|
307 | 307 |
|
308 | 308 |
/* 1 jiffy is 1/70 s */ |
309 | 309 |
/* the delay_time field indicates the number of jiffies - 1 */ |
... | ... |
@@ -314,10 +314,10 @@ static int gif_write_video(AVFormatContext *s, |
314 | 314 |
/* XXX: don't even remember if I really use it for now */ |
315 | 315 |
jiffies = (70*enc->time_base.num/enc->time_base.den) - 1; |
316 | 316 |
|
317 |
- put_le16(pb, jiffies); |
|
317 |
+ avio_wl16(pb, jiffies); |
|
318 | 318 |
|
319 |
- put_byte(pb, 0x1f); /* transparent color index */ |
|
320 |
- put_byte(pb, 0x00); |
|
319 |
+ avio_w8(pb, 0x1f); /* transparent color index */ |
|
320 |
+ avio_w8(pb, 0x00); |
|
321 | 321 |
|
322 | 322 |
gif_image_write_image(pb, 0, 0, enc->width, enc->height, |
323 | 323 |
buf, enc->width * 3, PIX_FMT_RGB24); |
... | ... |
@@ -339,7 +339,7 @@ static int gif_write_trailer(AVFormatContext *s) |
339 | 339 |
{ |
340 | 340 |
AVIOContext *pb = s->pb; |
341 | 341 |
|
342 |
- put_byte(pb, 0x3b); |
|
342 |
+ avio_w8(pb, 0x3b); |
|
343 | 343 |
put_flush_packet(s->pb); |
344 | 344 |
return 0; |
345 | 345 |
} |
... | ... |
@@ -116,7 +116,7 @@ static int gxf_find_lines_index(AVStream *st) |
116 | 116 |
static void gxf_write_padding(AVIOContext *pb, int64_t to_pad) |
117 | 117 |
{ |
118 | 118 |
for (; to_pad > 0; to_pad--) { |
119 |
- put_byte(pb, 0); |
|
119 |
+ avio_w8(pb, 0); |
|
120 | 120 |
} |
121 | 121 |
} |
122 | 122 |
|
... | ... |
@@ -132,7 +132,7 @@ static int64_t updatePacketSize(AVIOContext *pb, int64_t pos) |
132 | 132 |
} |
133 | 133 |
curpos = url_ftell(pb); |
134 | 134 |
url_fseek(pb, pos + 6, SEEK_SET); |
135 |
- put_be32(pb, size); |
|
135 |
+ avio_wb32(pb, size); |
|
136 | 136 |
url_fseek(pb, curpos, SEEK_SET); |
137 | 137 |
return curpos - pos; |
138 | 138 |
} |
... | ... |
@@ -143,20 +143,20 @@ static int64_t updateSize(AVIOContext *pb, int64_t pos) |
143 | 143 |
|
144 | 144 |
curpos = url_ftell(pb); |
145 | 145 |
url_fseek(pb, pos, SEEK_SET); |
146 |
- put_be16(pb, curpos - pos - 2); |
|
146 |
+ avio_wb16(pb, curpos - pos - 2); |
|
147 | 147 |
url_fseek(pb, curpos, SEEK_SET); |
148 | 148 |
return curpos - pos; |
149 | 149 |
} |
150 | 150 |
|
151 | 151 |
static void gxf_write_packet_header(AVIOContext *pb, GXFPktType type) |
152 | 152 |
{ |
153 |
- put_be32(pb, 0); /* packet leader for synchro */ |
|
154 |
- put_byte(pb, 1); |
|
155 |
- put_byte(pb, type); /* map packet */ |
|
156 |
- put_be32(pb, 0); /* size */ |
|
157 |
- put_be32(pb, 0); /* reserved */ |
|
158 |
- put_byte(pb, 0xE1); /* trailer 1 */ |
|
159 |
- put_byte(pb, 0xE2); /* trailer 2 */ |
|
153 |
+ avio_wb32(pb, 0); /* packet leader for synchro */ |
|
154 |
+ avio_w8(pb, 1); |
|
155 |
+ avio_w8(pb, type); /* map packet */ |
|
156 |
+ avio_wb32(pb, 0); /* size */ |
|
157 |
+ avio_wb32(pb, 0); /* reserved */ |
|
158 |
+ avio_w8(pb, 0xE1); /* trailer 1 */ |
|
159 |
+ avio_w8(pb, 0xE2); /* trailer 2 */ |
|
160 | 160 |
} |
161 | 161 |
|
162 | 162 |
static int gxf_write_mpeg_auxiliary(AVIOContext *pb, AVStream *st) |
... | ... |
@@ -191,20 +191,20 @@ static int gxf_write_mpeg_auxiliary(AVIOContext *pb, AVStream *st) |
191 | 191 |
(float)st->codec->bit_rate, sc->p_per_gop, sc->b_per_i_or_p, |
192 | 192 |
st->codec->pix_fmt == PIX_FMT_YUV422P ? 2 : 1, sc->first_gop_closed == 1, |
193 | 193 |
starting_line, (st->codec->height + 15) / 16); |
194 |
- put_byte(pb, TRACK_MPG_AUX); |
|
195 |
- put_byte(pb, size + 1); |
|
196 |
- put_buffer(pb, (uint8_t *)buffer, size + 1); |
|
194 |
+ avio_w8(pb, TRACK_MPG_AUX); |
|
195 |
+ avio_w8(pb, size + 1); |
|
196 |
+ avio_write(pb, (uint8_t *)buffer, size + 1); |
|
197 | 197 |
return size + 3; |
198 | 198 |
} |
199 | 199 |
|
200 | 200 |
static int gxf_write_timecode_auxiliary(AVIOContext *pb, GXFStreamContext *sc) |
201 | 201 |
{ |
202 |
- put_byte(pb, 0); /* fields */ |
|
203 |
- put_byte(pb, 0); /* seconds */ |
|
204 |
- put_byte(pb, 0); /* minutes */ |
|
205 |
- put_byte(pb, 0); /* flags + hours */ |
|
202 |
+ avio_w8(pb, 0); /* fields */ |
|
203 |
+ avio_w8(pb, 0); /* seconds */ |
|
204 |
+ avio_w8(pb, 0); /* minutes */ |
|
205 |
+ avio_w8(pb, 0); /* flags + hours */ |
|
206 | 206 |
/* reserved */ |
207 |
- put_be32(pb, 0); |
|
207 |
+ avio_wb32(pb, 0); |
|
208 | 208 |
return 8; |
209 | 209 |
} |
210 | 210 |
|
... | ... |
@@ -215,51 +215,51 @@ static int gxf_write_track_description(AVFormatContext *s, GXFStreamContext *sc, |
215 | 215 |
int mpeg = sc->track_type == 4 || sc->track_type == 9; |
216 | 216 |
|
217 | 217 |
/* track description section */ |
218 |
- put_byte(pb, sc->media_type + 0x80); |
|
219 |
- put_byte(pb, index + 0xC0); |
|
218 |
+ avio_w8(pb, sc->media_type + 0x80); |
|
219 |
+ avio_w8(pb, index + 0xC0); |
|
220 | 220 |
|
221 | 221 |
pos = url_ftell(pb); |
222 |
- put_be16(pb, 0); /* size */ |
|
222 |
+ avio_wb16(pb, 0); /* size */ |
|
223 | 223 |
|
224 | 224 |
/* media file name */ |
225 |
- put_byte(pb, TRACK_NAME); |
|
226 |
- put_byte(pb, strlen(ES_NAME_PATTERN) + 3); |
|
225 |
+ avio_w8(pb, TRACK_NAME); |
|
226 |
+ avio_w8(pb, strlen(ES_NAME_PATTERN) + 3); |
|
227 | 227 |
put_tag(pb, ES_NAME_PATTERN); |
228 |
- put_be16(pb, sc->media_info); |
|
229 |
- put_byte(pb, 0); |
|
228 |
+ avio_wb16(pb, sc->media_info); |
|
229 |
+ avio_w8(pb, 0); |
|
230 | 230 |
|
231 | 231 |
if (!mpeg) { |
232 | 232 |
/* auxiliary information */ |
233 |
- put_byte(pb, TRACK_AUX); |
|
234 |
- put_byte(pb, 8); |
|
233 |
+ avio_w8(pb, TRACK_AUX); |
|
234 |
+ avio_w8(pb, 8); |
|
235 | 235 |
if (sc->track_type == 3) |
236 | 236 |
gxf_write_timecode_auxiliary(pb, sc); |
237 | 237 |
else |
238 |
- put_le64(pb, 0); |
|
238 |
+ avio_wl64(pb, 0); |
|
239 | 239 |
} |
240 | 240 |
|
241 | 241 |
/* file system version */ |
242 |
- put_byte(pb, TRACK_VER); |
|
243 |
- put_byte(pb, 4); |
|
244 |
- put_be32(pb, 0); |
|
242 |
+ avio_w8(pb, TRACK_VER); |
|
243 |
+ avio_w8(pb, 4); |
|
244 |
+ avio_wb32(pb, 0); |
|
245 | 245 |
|
246 | 246 |
if (mpeg) |
247 | 247 |
gxf_write_mpeg_auxiliary(pb, s->streams[index]); |
248 | 248 |
|
249 | 249 |
/* frame rate */ |
250 |
- put_byte(pb, TRACK_FPS); |
|
251 |
- put_byte(pb, 4); |
|
252 |
- put_be32(pb, sc->frame_rate_index); |
|
250 |
+ avio_w8(pb, TRACK_FPS); |
|
251 |
+ avio_w8(pb, 4); |
|
252 |
+ avio_wb32(pb, sc->frame_rate_index); |
|
253 | 253 |
|
254 | 254 |
/* lines per frame */ |
255 |
- put_byte(pb, TRACK_LINES); |
|
256 |
- put_byte(pb, 4); |
|
257 |
- put_be32(pb, sc->lines_index); |
|
255 |
+ avio_w8(pb, TRACK_LINES); |
|
256 |
+ avio_w8(pb, 4); |
|
257 |
+ avio_wb32(pb, sc->lines_index); |
|
258 | 258 |
|
259 | 259 |
/* fields per frame */ |
260 |
- put_byte(pb, TRACK_FPF); |
|
261 |
- put_byte(pb, 4); |
|
262 |
- put_be32(pb, sc->fields); |
|
260 |
+ avio_w8(pb, TRACK_FPF); |
|
261 |
+ avio_w8(pb, 4); |
|
262 |
+ avio_wb32(pb, sc->fields); |
|
263 | 263 |
|
264 | 264 |
return updateSize(pb, pos); |
265 | 265 |
} |
... | ... |
@@ -272,42 +272,42 @@ static int gxf_write_material_data_section(AVFormatContext *s) |
272 | 272 |
const char *filename = strrchr(s->filename, '/'); |
273 | 273 |
|
274 | 274 |
pos = url_ftell(pb); |
275 |
- put_be16(pb, 0); /* size */ |
|
275 |
+ avio_wb16(pb, 0); /* size */ |
|
276 | 276 |
|
277 | 277 |
/* name */ |
278 | 278 |
if (filename) |
279 | 279 |
filename++; |
280 | 280 |
else |
281 | 281 |
filename = s->filename; |
282 |
- put_byte(pb, MAT_NAME); |
|
283 |
- put_byte(pb, strlen(SERVER_PATH) + strlen(filename) + 1); |
|
282 |
+ avio_w8(pb, MAT_NAME); |
|
283 |
+ avio_w8(pb, strlen(SERVER_PATH) + strlen(filename) + 1); |
|
284 | 284 |
put_tag(pb, SERVER_PATH); |
285 | 285 |
put_tag(pb, filename); |
286 |
- put_byte(pb, 0); |
|
286 |
+ avio_w8(pb, 0); |
|
287 | 287 |
|
288 | 288 |
/* first field */ |
289 |
- put_byte(pb, MAT_FIRST_FIELD); |
|
290 |
- put_byte(pb, 4); |
|
291 |
- put_be32(pb, 0); |
|
289 |
+ avio_w8(pb, MAT_FIRST_FIELD); |
|
290 |
+ avio_w8(pb, 4); |
|
291 |
+ avio_wb32(pb, 0); |
|
292 | 292 |
|
293 | 293 |
/* last field */ |
294 |
- put_byte(pb, MAT_LAST_FIELD); |
|
295 |
- put_byte(pb, 4); |
|
296 |
- put_be32(pb, gxf->nb_fields); |
|
294 |
+ avio_w8(pb, MAT_LAST_FIELD); |
|
295 |
+ avio_w8(pb, 4); |
|
296 |
+ avio_wb32(pb, gxf->nb_fields); |
|
297 | 297 |
|
298 | 298 |
/* reserved */ |
299 |
- put_byte(pb, MAT_MARK_IN); |
|
300 |
- put_byte(pb, 4); |
|
301 |
- put_be32(pb, 0); |
|
299 |
+ avio_w8(pb, MAT_MARK_IN); |
|
300 |
+ avio_w8(pb, 4); |
|
301 |
+ avio_wb32(pb, 0); |
|
302 | 302 |
|
303 |
- put_byte(pb, MAT_MARK_OUT); |
|
304 |
- put_byte(pb, 4); |
|
305 |
- put_be32(pb, gxf->nb_fields); |
|
303 |
+ avio_w8(pb, MAT_MARK_OUT); |
|
304 |
+ avio_w8(pb, 4); |
|
305 |
+ avio_wb32(pb, gxf->nb_fields); |
|
306 | 306 |
|
307 | 307 |
/* estimated size */ |
308 |
- put_byte(pb, MAT_SIZE); |
|
309 |
- put_byte(pb, 4); |
|
310 |
- put_be32(pb, url_fsize(pb) / 1024); |
|
308 |
+ avio_w8(pb, MAT_SIZE); |
|
309 |
+ avio_w8(pb, 4); |
|
310 |
+ avio_wb32(pb, url_fsize(pb) / 1024); |
|
311 | 311 |
|
312 | 312 |
return updateSize(pb, pos); |
313 | 313 |
} |
... | ... |
@@ -320,7 +320,7 @@ static int gxf_write_track_description_section(AVFormatContext *s) |
320 | 320 |
int i; |
321 | 321 |
|
322 | 322 |
pos = url_ftell(pb); |
323 |
- put_be16(pb, 0); /* size */ |
|
323 |
+ avio_wb16(pb, 0); /* size */ |
|
324 | 324 |
for (i = 0; i < s->nb_streams; ++i) |
325 | 325 |
gxf_write_track_description(s, s->streams[i]->priv_data, i); |
326 | 326 |
|
... | ... |
@@ -350,8 +350,8 @@ static int gxf_write_map_packet(AVFormatContext *s, int rewrite) |
350 | 350 |
gxf_write_packet_header(pb, PKT_MAP); |
351 | 351 |
|
352 | 352 |
/* preamble */ |
353 |
- put_byte(pb, 0xE0); /* version */ |
|
354 |
- put_byte(pb, 0xFF); /* reserved */ |
|
353 |
+ avio_w8(pb, 0xE0); /* version */ |
|
354 |
+ avio_w8(pb, 0xFF); /* reserved */ |
|
355 | 355 |
|
356 | 356 |
gxf_write_material_data_section(s); |
357 | 357 |
gxf_write_track_description_section(s); |
... | ... |
@@ -370,16 +370,16 @@ static int gxf_write_flt_packet(AVFormatContext *s) |
370 | 370 |
|
371 | 371 |
gxf_write_packet_header(pb, PKT_FLT); |
372 | 372 |
|
373 |
- put_le32(pb, fields_per_flt); /* number of fields */ |
|
374 |
- put_le32(pb, flt_entries); /* number of active flt entries */ |
|
373 |
+ avio_wl32(pb, fields_per_flt); /* number of fields */ |
|
374 |
+ avio_wl32(pb, flt_entries); /* number of active flt entries */ |
|
375 | 375 |
|
376 | 376 |
if (gxf->flt_entries) { |
377 | 377 |
for (i = 0; i < flt_entries; i++) |
378 |
- put_le32(pb, gxf->flt_entries[(i*fields_per_flt)>>1]); |
|
378 |
+ avio_wl32(pb, gxf->flt_entries[(i*fields_per_flt)>>1]); |
|
379 | 379 |
} |
380 | 380 |
|
381 | 381 |
for (; i < 1000; i++) |
382 |
- put_le32(pb, 0); |
|
382 |
+ avio_wl32(pb, 0); |
|
383 | 383 |
|
384 | 384 |
return updatePacketSize(pb, pos); |
385 | 385 |
} |
... | ... |
@@ -397,21 +397,21 @@ static int gxf_write_umf_material_description(AVFormatContext *s) |
397 | 397 |
gxf->nb_fields / timecode_base % 60 << 8 | // seconds |
398 | 398 |
gxf->nb_fields % timecode_base; // fields |
399 | 399 |
|
400 |
- put_le32(pb, gxf->flags); |
|
401 |
- put_le32(pb, gxf->nb_fields); /* length of the longest track */ |
|
402 |
- put_le32(pb, gxf->nb_fields); /* length of the shortest track */ |
|
403 |
- put_le32(pb, 0); /* mark in */ |
|
404 |
- put_le32(pb, gxf->nb_fields); /* mark out */ |
|
405 |
- put_le32(pb, 0); /* timecode mark in */ |
|
406 |
- put_le32(pb, timecode); /* timecode mark out */ |
|
407 |
- put_le64(pb, s->timestamp); /* modification time */ |
|
408 |
- put_le64(pb, s->timestamp); /* creation time */ |
|
409 |
- put_le16(pb, 0); /* reserved */ |
|
410 |
- put_le16(pb, 0); /* reserved */ |
|
411 |
- put_le16(pb, gxf->audio_tracks); |
|
412 |
- put_le16(pb, 1); /* timecode track count */ |
|
413 |
- put_le16(pb, 0); /* reserved */ |
|
414 |
- put_le16(pb, gxf->mpeg_tracks); |
|
400 |
+ avio_wl32(pb, gxf->flags); |
|
401 |
+ avio_wl32(pb, gxf->nb_fields); /* length of the longest track */ |
|
402 |
+ avio_wl32(pb, gxf->nb_fields); /* length of the shortest track */ |
|
403 |
+ avio_wl32(pb, 0); /* mark in */ |
|
404 |
+ avio_wl32(pb, gxf->nb_fields); /* mark out */ |
|
405 |
+ avio_wl32(pb, 0); /* timecode mark in */ |
|
406 |
+ avio_wl32(pb, timecode); /* timecode mark out */ |
|
407 |
+ avio_wl64(pb, s->timestamp); /* modification time */ |
|
408 |
+ avio_wl64(pb, s->timestamp); /* creation time */ |
|
409 |
+ avio_wl16(pb, 0); /* reserved */ |
|
410 |
+ avio_wl16(pb, 0); /* reserved */ |
|
411 |
+ avio_wl16(pb, gxf->audio_tracks); |
|
412 |
+ avio_wl16(pb, 1); /* timecode track count */ |
|
413 |
+ avio_wl16(pb, 0); /* reserved */ |
|
414 |
+ avio_wl16(pb, gxf->mpeg_tracks); |
|
415 | 415 |
return 48; |
416 | 416 |
} |
417 | 417 |
|
... | ... |
@@ -420,18 +420,18 @@ static int gxf_write_umf_payload(AVFormatContext *s) |
420 | 420 |
GXFContext *gxf = s->priv_data; |
421 | 421 |
AVIOContext *pb = s->pb; |
422 | 422 |
|
423 |
- put_le32(pb, gxf->umf_length); /* total length of the umf data */ |
|
424 |
- put_le32(pb, 3); /* version */ |
|
425 |
- put_le32(pb, s->nb_streams+1); |
|
426 |
- put_le32(pb, gxf->umf_track_offset); /* umf track section offset */ |
|
427 |
- put_le32(pb, gxf->umf_track_size); |
|
428 |
- put_le32(pb, s->nb_streams+1); |
|
429 |
- put_le32(pb, gxf->umf_media_offset); |
|
430 |
- put_le32(pb, gxf->umf_media_size); |
|
431 |
- put_le32(pb, gxf->umf_length); /* user data offset */ |
|
432 |
- put_le32(pb, 0); /* user data size */ |
|
433 |
- put_le32(pb, 0); /* reserved */ |
|
434 |
- put_le32(pb, 0); /* reserved */ |
|
423 |
+ avio_wl32(pb, gxf->umf_length); /* total length of the umf data */ |
|
424 |
+ avio_wl32(pb, 3); /* version */ |
|
425 |
+ avio_wl32(pb, s->nb_streams+1); |
|
426 |
+ avio_wl32(pb, gxf->umf_track_offset); /* umf track section offset */ |
|
427 |
+ avio_wl32(pb, gxf->umf_track_size); |
|
428 |
+ avio_wl32(pb, s->nb_streams+1); |
|
429 |
+ avio_wl32(pb, gxf->umf_media_offset); |
|
430 |
+ avio_wl32(pb, gxf->umf_media_size); |
|
431 |
+ avio_wl32(pb, gxf->umf_length); /* user data offset */ |
|
432 |
+ avio_wl32(pb, 0); /* user data size */ |
|
433 |
+ avio_wl32(pb, 0); /* reserved */ |
|
434 |
+ avio_wl32(pb, 0); /* reserved */ |
|
435 | 435 |
return 48; |
436 | 436 |
} |
437 | 437 |
|
... | ... |
@@ -445,12 +445,12 @@ static int gxf_write_umf_track_description(AVFormatContext *s) |
445 | 445 |
gxf->umf_track_offset = pos - gxf->umf_start_offset; |
446 | 446 |
for (i = 0; i < s->nb_streams; ++i) { |
447 | 447 |
GXFStreamContext *sc = s->streams[i]->priv_data; |
448 |
- put_le16(pb, sc->media_info); |
|
449 |
- put_le16(pb, 1); |
|
448 |
+ avio_wl16(pb, sc->media_info); |
|
449 |
+ avio_wl16(pb, 1); |
|
450 | 450 |
} |
451 | 451 |
|
452 |
- put_le16(pb, gxf->timecode_track.media_info); |
|
453 |
- put_le16(pb, 1); |
|
452 |
+ avio_wl16(pb, gxf->timecode_track.media_info); |
|
453 |
+ avio_wl16(pb, 1); |
|
454 | 454 |
|
455 | 455 |
return url_ftell(pb) - pos; |
456 | 456 |
} |
... | ... |
@@ -460,34 +460,34 @@ static int gxf_write_umf_media_mpeg(AVIOContext *pb, AVStream *st) |
460 | 460 |
GXFStreamContext *sc = st->priv_data; |
461 | 461 |
|
462 | 462 |
if (st->codec->pix_fmt == PIX_FMT_YUV422P) |
463 |
- put_le32(pb, 2); |
|
463 |
+ avio_wl32(pb, 2); |
|
464 | 464 |
else |
465 |
- put_le32(pb, 1); /* default to 420 */ |
|
466 |
- put_le32(pb, sc->first_gop_closed == 1); /* closed = 1, open = 0, unknown = 255 */ |
|
467 |
- put_le32(pb, 3); /* top = 1, bottom = 2, frame = 3, unknown = 0 */ |
|
468 |
- put_le32(pb, 1); /* I picture per GOP */ |
|
469 |
- put_le32(pb, sc->p_per_gop); |
|
470 |
- put_le32(pb, sc->b_per_i_or_p); |
|
465 |
+ avio_wl32(pb, 1); /* default to 420 */ |
|
466 |
+ avio_wl32(pb, sc->first_gop_closed == 1); /* closed = 1, open = 0, unknown = 255 */ |
|
467 |
+ avio_wl32(pb, 3); /* top = 1, bottom = 2, frame = 3, unknown = 0 */ |
|
468 |
+ avio_wl32(pb, 1); /* I picture per GOP */ |
|
469 |
+ avio_wl32(pb, sc->p_per_gop); |
|
470 |
+ avio_wl32(pb, sc->b_per_i_or_p); |
|
471 | 471 |
if (st->codec->codec_id == CODEC_ID_MPEG2VIDEO) |
472 |
- put_le32(pb, 2); |
|
472 |
+ avio_wl32(pb, 2); |
|
473 | 473 |
else if (st->codec->codec_id == CODEC_ID_MPEG1VIDEO) |
474 |
- put_le32(pb, 1); |
|
474 |
+ avio_wl32(pb, 1); |
|
475 | 475 |
else |
476 |
- put_le32(pb, 0); |
|
477 |
- put_le32(pb, 0); /* reserved */ |
|
476 |
+ avio_wl32(pb, 0); |
|
477 |
+ avio_wl32(pb, 0); /* reserved */ |
|
478 | 478 |
return 32; |
479 | 479 |
} |
480 | 480 |
|
481 | 481 |
static int gxf_write_umf_media_timecode(AVIOContext *pb, GXFStreamContext *sc) |
482 | 482 |
{ |
483 |
- put_le32(pb, 1); /* non drop frame */ |
|
484 |
- put_le32(pb, 0); /* reserved */ |
|
485 |
- put_le32(pb, 0); /* reserved */ |
|
486 |
- put_le32(pb, 0); /* reserved */ |
|
487 |
- put_le32(pb, 0); /* reserved */ |
|
488 |
- put_le32(pb, 0); /* reserved */ |
|
489 |
- put_le32(pb, 0); /* reserved */ |
|
490 |
- put_le32(pb, 0); /* reserved */ |
|
483 |
+ avio_wl32(pb, 1); /* non drop frame */ |
|
484 |
+ avio_wl32(pb, 0); /* reserved */ |
|
485 |
+ avio_wl32(pb, 0); /* reserved */ |
|
486 |
+ avio_wl32(pb, 0); /* reserved */ |
|
487 |
+ avio_wl32(pb, 0); /* reserved */ |
|
488 |
+ avio_wl32(pb, 0); /* reserved */ |
|
489 |
+ avio_wl32(pb, 0); /* reserved */ |
|
490 |
+ avio_wl32(pb, 0); /* reserved */ |
|
491 | 491 |
return 32; |
492 | 492 |
} |
493 | 493 |
|
... | ... |
@@ -496,29 +496,29 @@ static int gxf_write_umf_media_dv(AVIOContext *pb, GXFStreamContext *sc) |
496 | 496 |
int i; |
497 | 497 |
|
498 | 498 |
for (i = 0; i < 8; i++) { |
499 |
- put_be32(pb, 0); |
|
499 |
+ avio_wb32(pb, 0); |
|
500 | 500 |
} |
501 | 501 |
return 32; |
502 | 502 |
} |
503 | 503 |
|
504 | 504 |
static int gxf_write_umf_media_audio(AVIOContext *pb, GXFStreamContext *sc) |
505 | 505 |
{ |
506 |
- put_le64(pb, av_dbl2int(1)); /* sound level to begin to */ |
|
507 |
- put_le64(pb, av_dbl2int(1)); /* sound level to begin to */ |
|
508 |
- put_le32(pb, 0); /* number of fields over which to ramp up sound level */ |
|
509 |
- put_le32(pb, 0); /* number of fields over which to ramp down sound level */ |
|
510 |
- put_le32(pb, 0); /* reserved */ |
|
511 |
- put_le32(pb, 0); /* reserved */ |
|
506 |
+ avio_wl64(pb, av_dbl2int(1)); /* sound level to begin to */ |
|
507 |
+ avio_wl64(pb, av_dbl2int(1)); /* sound level to begin to */ |
|
508 |
+ avio_wl32(pb, 0); /* number of fields over which to ramp up sound level */ |
|
509 |
+ avio_wl32(pb, 0); /* number of fields over which to ramp down sound level */ |
|
510 |
+ avio_wl32(pb, 0); /* reserved */ |
|
511 |
+ avio_wl32(pb, 0); /* reserved */ |
|
512 | 512 |
return 32; |
513 | 513 |
} |
514 | 514 |
|
515 | 515 |
#if 0 |
516 | 516 |
static int gxf_write_umf_media_mjpeg(AVIOContext *pb, GXFStreamContext *sc) |
517 | 517 |
{ |
518 |
- put_be64(pb, 0); /* FIXME FLOAT max chroma quant level */ |
|
519 |
- put_be64(pb, 0); /* FIXME FLOAT max luma quant level */ |
|
520 |
- put_be64(pb, 0); /* FIXME FLOAT min chroma quant level */ |
|
521 |
- put_be64(pb, 0); /* FIXME FLOAT min luma quant level */ |
|
518 |
+ avio_wb64(pb, 0); /* FIXME FLOAT max chroma quant level */ |
|
519 |
+ avio_wb64(pb, 0); /* FIXME FLOAT max luma quant level */ |
|
520 |
+ avio_wb64(pb, 0); /* FIXME FLOAT min chroma quant level */ |
|
521 |
+ avio_wb64(pb, 0); /* FIXME FLOAT min luma quant level */ |
|
522 | 522 |
return 32; |
523 | 523 |
} |
524 | 524 |
#endif |
... | ... |
@@ -542,22 +542,22 @@ static int gxf_write_umf_media_description(AVFormatContext *s) |
542 | 542 |
sc = s->streams[i]->priv_data; |
543 | 543 |
|
544 | 544 |
startpos = url_ftell(pb); |
545 |
- put_le16(pb, 0); /* length */ |
|
546 |
- put_le16(pb, sc->media_info); |
|
547 |
- put_le16(pb, 0); /* reserved */ |
|
548 |
- put_le16(pb, 0); /* reserved */ |
|
549 |
- put_le32(pb, gxf->nb_fields); |
|
550 |
- put_le32(pb, 0); /* attributes rw, ro */ |
|
551 |
- put_le32(pb, 0); /* mark in */ |
|
552 |
- put_le32(pb, gxf->nb_fields); /* mark out */ |
|
553 |
- put_buffer(pb, ES_NAME_PATTERN, strlen(ES_NAME_PATTERN)); |
|
554 |
- put_be16(pb, sc->media_info); |
|
545 |
+ avio_wl16(pb, 0); /* length */ |
|
546 |
+ avio_wl16(pb, sc->media_info); |
|
547 |
+ avio_wl16(pb, 0); /* reserved */ |
|
548 |
+ avio_wl16(pb, 0); /* reserved */ |
|
549 |
+ avio_wl32(pb, gxf->nb_fields); |
|
550 |
+ avio_wl32(pb, 0); /* attributes rw, ro */ |
|
551 |
+ avio_wl32(pb, 0); /* mark in */ |
|
552 |
+ avio_wl32(pb, gxf->nb_fields); /* mark out */ |
|
553 |
+ avio_write(pb, ES_NAME_PATTERN, strlen(ES_NAME_PATTERN)); |
|
554 |
+ avio_wb16(pb, sc->media_info); |
|
555 | 555 |
for (j = strlen(ES_NAME_PATTERN)+2; j < 88; j++) |
556 |
- put_byte(pb, 0); |
|
557 |
- put_le32(pb, sc->track_type); |
|
558 |
- put_le32(pb, sc->sample_rate); |
|
559 |
- put_le32(pb, sc->sample_size); |
|
560 |
- put_le32(pb, 0); /* reserved */ |
|
556 |
+ avio_w8(pb, 0); |
|
557 |
+ avio_wl32(pb, sc->track_type); |
|
558 |
+ avio_wl32(pb, sc->sample_rate); |
|
559 |
+ avio_wl32(pb, sc->sample_size); |
|
560 |
+ avio_wl32(pb, 0); /* reserved */ |
|
561 | 561 |
|
562 | 562 |
if (sc == &gxf->timecode_track) |
563 | 563 |
gxf_write_umf_media_timecode(pb, sc); /* 8 0bytes */ |
... | ... |
@@ -579,7 +579,7 @@ static int gxf_write_umf_media_description(AVFormatContext *s) |
579 | 579 |
|
580 | 580 |
curpos = url_ftell(pb); |
581 | 581 |
url_fseek(pb, startpos, SEEK_SET); |
582 |
- put_le16(pb, curpos - startpos); |
|
582 |
+ avio_wl16(pb, curpos - startpos); |
|
583 | 583 |
url_fseek(pb, curpos, SEEK_SET); |
584 | 584 |
} |
585 | 585 |
return url_ftell(pb) - pos; |
... | ... |
@@ -594,8 +594,8 @@ static int gxf_write_umf_packet(AVFormatContext *s) |
594 | 594 |
gxf_write_packet_header(pb, PKT_UMF); |
595 | 595 |
|
596 | 596 |
/* preamble */ |
597 |
- put_byte(pb, 3); /* first and last (only) packet */ |
|
598 |
- put_be32(pb, gxf->umf_length); /* data length */ |
|
597 |
+ avio_w8(pb, 3); /* first and last (only) packet */ |
|
598 |
+ avio_wb32(pb, gxf->umf_length); /* data length */ |
|
599 | 599 |
|
600 | 600 |
gxf->umf_start_offset = url_ftell(pb); |
601 | 601 |
gxf_write_umf_payload(s); |
... | ... |
@@ -823,33 +823,33 @@ static int gxf_write_media_preamble(AVFormatContext *s, AVPacket *pkt, int size) |
823 | 823 |
(int64_t)48000*gxf->time_base.num, AV_ROUND_UP); |
824 | 824 |
} |
825 | 825 |
|
826 |
- put_byte(pb, sc->media_type); |
|
827 |
- put_byte(pb, st->index); |
|
828 |
- put_be32(pb, field_nb); |
|
826 |
+ avio_w8(pb, sc->media_type); |
|
827 |
+ avio_w8(pb, st->index); |
|
828 |
+ avio_wb32(pb, field_nb); |
|
829 | 829 |
if (st->codec->codec_type == AVMEDIA_TYPE_AUDIO) { |
830 |
- put_be16(pb, 0); |
|
831 |
- put_be16(pb, size / 2); |
|
830 |
+ avio_wb16(pb, 0); |
|
831 |
+ avio_wb16(pb, size / 2); |
|
832 | 832 |
} else if (st->codec->codec_id == CODEC_ID_MPEG2VIDEO) { |
833 | 833 |
int frame_type = gxf_parse_mpeg_frame(sc, pkt->data, pkt->size); |
834 | 834 |
if (frame_type == FF_I_TYPE) { |
835 |
- put_byte(pb, 0x0d); |
|
835 |
+ avio_w8(pb, 0x0d); |
|
836 | 836 |
sc->iframes++; |
837 | 837 |
} else if (frame_type == FF_B_TYPE) { |
838 |
- put_byte(pb, 0x0f); |
|
838 |
+ avio_w8(pb, 0x0f); |
|
839 | 839 |
sc->bframes++; |
840 | 840 |
} else { |
841 |
- put_byte(pb, 0x0e); |
|
841 |
+ avio_w8(pb, 0x0e); |
|
842 | 842 |
sc->pframes++; |
843 | 843 |
} |
844 |
- put_be24(pb, size); |
|
844 |
+ avio_wb24(pb, size); |
|
845 | 845 |
} else if (st->codec->codec_id == CODEC_ID_DVVIDEO) { |
846 |
- put_byte(pb, size / 4096); |
|
847 |
- put_be24(pb, 0); |
|
846 |
+ avio_w8(pb, size / 4096); |
|
847 |
+ avio_wb24(pb, 0); |
|
848 | 848 |
} else |
849 |
- put_be32(pb, size); |
|
850 |
- put_be32(pb, field_nb); |
|
851 |
- put_byte(pb, 1); /* flags */ |
|
852 |
- put_byte(pb, 0); /* reserved */ |
|
849 |
+ avio_wb32(pb, size); |
|
850 |
+ avio_wb32(pb, field_nb); |
|
851 |
+ avio_w8(pb, 1); /* flags */ |
|
852 |
+ avio_w8(pb, 0); /* reserved */ |
|
853 | 853 |
return 16; |
854 | 854 |
} |
855 | 855 |
|
... | ... |
@@ -868,7 +868,7 @@ static int gxf_write_packet(AVFormatContext *s, AVPacket *pkt) |
868 | 868 |
else if (st->codec->codec_type == AVMEDIA_TYPE_AUDIO) |
869 | 869 |
padding = GXF_AUDIO_PACKET_SIZE - pkt->size; |
870 | 870 |
gxf_write_media_preamble(s, pkt, pkt->size + padding); |
871 |
- put_buffer(pb, pkt->data, pkt->size); |
|
871 |
+ avio_write(pb, pkt->data, pkt->size); |
|
872 | 872 |
gxf_write_padding(pb, padding); |
873 | 873 |
|
874 | 874 |
if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO) { |
... | ... |
@@ -368,9 +368,9 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt) |
368 | 368 |
|
369 | 369 |
if(codec->codec_id == CODEC_ID_RAWVIDEO){ |
370 | 370 |
int ysize = codec->width * codec->height; |
371 |
- put_buffer(pb[0], pkt->data , ysize); |
|
372 |
- put_buffer(pb[1], pkt->data + ysize, (pkt->size - ysize)/2); |
|
373 |
- put_buffer(pb[2], pkt->data + ysize +(pkt->size - ysize)/2, (pkt->size - ysize)/2); |
|
371 |
+ avio_write(pb[0], pkt->data , ysize); |
|
372 |
+ avio_write(pb[1], pkt->data + ysize, (pkt->size - ysize)/2); |
|
373 |
+ avio_write(pb[2], pkt->data + ysize +(pkt->size - ysize)/2, (pkt->size - ysize)/2); |
|
374 | 374 |
put_flush_packet(pb[1]); |
375 | 375 |
put_flush_packet(pb[2]); |
376 | 376 |
url_fclose(pb[1]); |
... | ... |
@@ -382,15 +382,15 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt) |
382 | 382 |
AV_RL32(st->codec->extradata+4) == MKTAG('j','p','2','h')){ |
383 | 383 |
if(pkt->size < 8 || AV_RL32(pkt->data+4) != MKTAG('j','p','2','c')) |
384 | 384 |
goto error; |
385 |
- put_be32(pb[0], 12); |
|
385 |
+ avio_wb32(pb[0], 12); |
|
386 | 386 |
put_tag (pb[0], "jP "); |
387 |
- put_be32(pb[0], 0x0D0A870A); // signature |
|
388 |
- put_be32(pb[0], 20); |
|
387 |
+ avio_wb32(pb[0], 0x0D0A870A); // signature |
|
388 |
+ avio_wb32(pb[0], 20); |
|
389 | 389 |
put_tag (pb[0], "ftyp"); |
390 | 390 |
put_tag (pb[0], "jp2 "); |
391 |
- put_be32(pb[0], 0); |
|
391 |
+ avio_wb32(pb[0], 0); |
|
392 | 392 |
put_tag (pb[0], "jp2 "); |
393 |
- put_buffer(pb[0], st->codec->extradata, st->codec->extradata_size); |
|
393 |
+ avio_write(pb[0], st->codec->extradata, st->codec->extradata_size); |
|
394 | 394 |
}else if(pkt->size < 8 || |
395 | 395 |
(!st->codec->extradata_size && |
396 | 396 |
AV_RL32(pkt->data+4) != MKTAG('j','P',' ',' '))){ // signature |
... | ... |
@@ -399,7 +399,7 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt) |
399 | 399 |
return -1; |
400 | 400 |
} |
401 | 401 |
} |
402 |
- put_buffer(pb[0], pkt->data, pkt->size); |
|
402 |
+ avio_write(pb[0], pkt->data, pkt->size); |
|
403 | 403 |
} |
404 | 404 |
put_flush_packet(pb[0]); |
405 | 405 |
if (!img->is_pipe) { |
... | ... |
@@ -34,15 +34,15 @@ static int ivf_write_header(AVFormatContext *s) |
34 | 34 |
av_log(s, AV_LOG_ERROR, "Currently only VP8 is supported!\n"); |
35 | 35 |
return AVERROR(EINVAL); |
36 | 36 |
} |
37 |
- put_buffer(pb, "DKIF", 4); |
|
38 |
- put_le16(pb, 0); // version |
|
39 |
- put_le16(pb, 32); // header length |
|
40 |
- put_le32(pb, ctx->codec_tag ? ctx->codec_tag : AV_RL32("VP80")); |
|
41 |
- put_le16(pb, ctx->width); |
|
42 |
- put_le16(pb, ctx->height); |
|
43 |
- put_le32(pb, s->streams[0]->time_base.den); |
|
44 |
- put_le32(pb, s->streams[0]->time_base.num); |
|
45 |
- put_le64(pb, s->streams[0]->duration); // TODO: duration or number of frames?!? |
|
37 |
+ avio_write(pb, "DKIF", 4); |
|
38 |
+ avio_wl16(pb, 0); // version |
|
39 |
+ avio_wl16(pb, 32); // header length |
|
40 |
+ avio_wl32(pb, ctx->codec_tag ? ctx->codec_tag : AV_RL32("VP80")); |
|
41 |
+ avio_wl16(pb, ctx->width); |
|
42 |
+ avio_wl16(pb, ctx->height); |
|
43 |
+ avio_wl32(pb, s->streams[0]->time_base.den); |
|
44 |
+ avio_wl32(pb, s->streams[0]->time_base.num); |
|
45 |
+ avio_wl64(pb, s->streams[0]->duration); // TODO: duration or number of frames?!? |
|
46 | 46 |
|
47 | 47 |
return 0; |
48 | 48 |
} |
... | ... |
@@ -50,9 +50,9 @@ static int ivf_write_header(AVFormatContext *s) |
50 | 50 |
static int ivf_write_packet(AVFormatContext *s, AVPacket *pkt) |
51 | 51 |
{ |
52 | 52 |
AVIOContext *pb = s->pb; |
53 |
- put_le32(pb, pkt->size); |
|
54 |
- put_le64(pb, pkt->pts); |
|
55 |
- put_buffer(pb, pkt->data, pkt->size); |
|
53 |
+ avio_wl32(pb, pkt->size); |
|
54 |
+ avio_wl64(pb, pkt->pts); |
|
55 |
+ avio_write(pb, pkt->data, pkt->size); |
|
56 | 56 |
put_flush_packet(pb); |
57 | 57 |
|
58 | 58 |
return 0; |
... | ... |
@@ -47,7 +47,7 @@ static const AVCodecTag nut_tags[] = { |
47 | 47 |
#if CONFIG_LIBNUT_MUXER |
48 | 48 |
static int av_write(void * h, size_t len, const uint8_t * buf) { |
49 | 49 |
AVIOContext * bc = h; |
50 |
- put_buffer(bc, buf, len); |
|
50 |
+ avio_write(bc, buf, len); |
|
51 | 51 |
//put_flush_packet(bc); |
52 | 52 |
return len; |
53 | 53 |
} |
... | ... |
@@ -1376,12 +1376,12 @@ static int matroska_read_header(AVFormatContext *s, AVFormatParameters *ap) |
1376 | 1376 |
return AVERROR(ENOMEM); |
1377 | 1377 |
ffio_init_context(&b, extradata, extradata_size, 1, |
1378 | 1378 |
NULL, NULL, NULL, NULL); |
1379 |
- put_buffer(&b, "TTA1", 4); |
|
1380 |
- put_le16(&b, 1); |
|
1381 |
- put_le16(&b, track->audio.channels); |
|
1382 |
- put_le16(&b, track->audio.bitdepth); |
|
1383 |
- put_le32(&b, track->audio.out_samplerate); |
|
1384 |
- put_le32(&b, matroska->ctx->duration * track->audio.out_samplerate); |
|
1379 |
+ avio_write(&b, "TTA1", 4); |
|
1380 |
+ avio_wl16(&b, 1); |
|
1381 |
+ avio_wl16(&b, track->audio.channels); |
|
1382 |
+ avio_wl16(&b, track->audio.bitdepth); |
|
1383 |
+ avio_wl32(&b, track->audio.out_samplerate); |
|
1384 |
+ avio_wl32(&b, matroska->ctx->duration * track->audio.out_samplerate); |
|
1385 | 1385 |
} else if (codec_id == CODEC_ID_RV10 || codec_id == CODEC_ID_RV20 || |
1386 | 1386 |
codec_id == CODEC_ID_RV30 || codec_id == CODEC_ID_RV40) { |
1387 | 1387 |
extradata_offset = 26; |
... | ... |
@@ -112,7 +112,7 @@ static void put_ebml_id(AVIOContext *pb, unsigned int id) |
112 | 112 |
{ |
113 | 113 |
int i = ebml_id_size(id); |
114 | 114 |
while (i--) |
115 |
- put_byte(pb, id >> (i*8)); |
|
115 |
+ avio_w8(pb, id >> (i*8)); |
|
116 | 116 |
} |
117 | 117 |
|
118 | 118 |
/** |
... | ... |
@@ -123,9 +123,9 @@ static void put_ebml_id(AVIOContext *pb, unsigned int id) |
123 | 123 |
static void put_ebml_size_unknown(AVIOContext *pb, int bytes) |
124 | 124 |
{ |
125 | 125 |
assert(bytes <= 8); |
126 |
- put_byte(pb, 0x1ff >> bytes); |
|
126 |
+ avio_w8(pb, 0x1ff >> bytes); |
|
127 | 127 |
while (--bytes) |
128 |
- put_byte(pb, 0xff); |
|
128 |
+ avio_w8(pb, 0xff); |
|
129 | 129 |
} |
130 | 130 |
|
131 | 131 |
/** |
... | ... |
@@ -160,7 +160,7 @@ static void put_ebml_num(AVIOContext *pb, uint64_t num, int bytes) |
160 | 160 |
|
161 | 161 |
num |= 1ULL << bytes*7; |
162 | 162 |
for (i = bytes - 1; i >= 0; i--) |
163 |
- put_byte(pb, num >> i*8); |
|
163 |
+ avio_w8(pb, num >> i*8); |
|
164 | 164 |
} |
165 | 165 |
|
166 | 166 |
static void put_ebml_uint(AVIOContext *pb, unsigned int elementid, uint64_t val) |
... | ... |
@@ -172,14 +172,14 @@ static void put_ebml_uint(AVIOContext *pb, unsigned int elementid, uint64_t val) |
172 | 172 |
put_ebml_id(pb, elementid); |
173 | 173 |
put_ebml_num(pb, bytes, 0); |
174 | 174 |
for (i = bytes - 1; i >= 0; i--) |
175 |
- put_byte(pb, val >> i*8); |
|
175 |
+ avio_w8(pb, val >> i*8); |
|
176 | 176 |
} |
177 | 177 |
|
178 | 178 |
static void put_ebml_float(AVIOContext *pb, unsigned int elementid, double val) |
179 | 179 |
{ |
180 | 180 |
put_ebml_id(pb, elementid); |
181 | 181 |
put_ebml_num(pb, 8, 0); |
182 |
- put_be64(pb, av_dbl2int(val)); |
|
182 |
+ avio_wb64(pb, av_dbl2int(val)); |
|
183 | 183 |
} |
184 | 184 |
|
185 | 185 |
static void put_ebml_binary(AVIOContext *pb, unsigned int elementid, |
... | ... |
@@ -187,7 +187,7 @@ static void put_ebml_binary(AVIOContext *pb, unsigned int elementid, |
187 | 187 |
{ |
188 | 188 |
put_ebml_id(pb, elementid); |
189 | 189 |
put_ebml_num(pb, size, 0); |
190 |
- put_buffer(pb, buf, size); |
|
190 |
+ avio_write(pb, buf, size); |
|
191 | 191 |
} |
192 | 192 |
|
193 | 193 |
static void put_ebml_string(AVIOContext *pb, unsigned int elementid, const char *str) |
... | ... |
@@ -216,7 +216,7 @@ static void put_ebml_void(AVIOContext *pb, uint64_t size) |
216 | 216 |
else |
217 | 217 |
put_ebml_num(pb, size-9, 8); |
218 | 218 |
while(url_ftell(pb) < currentpos + size) |
219 |
- put_byte(pb, 0); |
|
219 |
+ avio_w8(pb, 0); |
|
220 | 220 |
} |
221 | 221 |
|
222 | 222 |
static ebml_master start_ebml_master(AVIOContext *pb, unsigned int elementid, uint64_t expectedsize) |
... | ... |
@@ -241,8 +241,8 @@ static void put_xiph_size(AVIOContext *pb, int size) |
241 | 241 |
{ |
242 | 242 |
int i; |
243 | 243 |
for (i = 0; i < size / 255; i++) |
244 |
- put_byte(pb, 255); |
|
245 |
- put_byte(pb, size % 255); |
|
244 |
+ avio_w8(pb, 255); |
|
245 |
+ avio_w8(pb, size % 255); |
|
246 | 246 |
} |
247 | 247 |
|
248 | 248 |
/** |
... | ... |
@@ -426,12 +426,12 @@ static int put_xiph_codecpriv(AVFormatContext *s, AVIOContext *pb, AVCodecContex |
426 | 426 |
return -1; |
427 | 427 |
} |
428 | 428 |
|
429 |
- put_byte(pb, 2); // number packets - 1 |
|
429 |
+ avio_w8(pb, 2); // number packets - 1 |
|
430 | 430 |
for (j = 0; j < 2; j++) { |
431 | 431 |
put_xiph_size(pb, header_len[j]); |
432 | 432 |
} |
433 | 433 |
for (j = 0; j < 3; j++) |
434 |
- put_buffer(pb, header_start[j], header_len[j]); |
|
434 |
+ avio_write(pb, header_start[j], header_len[j]); |
|
435 | 435 |
|
436 | 436 |
return 0; |
437 | 437 |
} |
... | ... |
@@ -481,13 +481,13 @@ static int mkv_write_codecprivate(AVFormatContext *s, AVIOContext *pb, AVCodecCo |
481 | 481 |
else if (codec->codec_id == CODEC_ID_H264) |
482 | 482 |
ret = ff_isom_write_avcc(dyn_cp, codec->extradata, codec->extradata_size); |
483 | 483 |
else if (codec->extradata_size) |
484 |
- put_buffer(dyn_cp, codec->extradata, codec->extradata_size); |
|
484 |
+ avio_write(dyn_cp, codec->extradata, codec->extradata_size); |
|
485 | 485 |
} else if (codec->codec_type == AVMEDIA_TYPE_VIDEO) { |
486 | 486 |
if (qt_id) { |
487 | 487 |
if (!codec->codec_tag) |
488 | 488 |
codec->codec_tag = ff_codec_get_tag(codec_movvideo_tags, codec->codec_id); |
489 | 489 |
if (codec->extradata_size) |
490 |
- put_buffer(dyn_cp, codec->extradata, codec->extradata_size); |
|
490 |
+ avio_write(dyn_cp, codec->extradata, codec->extradata_size); |
|
491 | 491 |
} else { |
492 | 492 |
if (!codec->codec_tag) |
493 | 493 |
codec->codec_tag = ff_codec_get_tag(ff_codec_bmp_tags, codec->codec_id); |
... | ... |
@@ -932,10 +932,10 @@ static int mkv_write_ass_blocks(AVFormatContext *s, AVIOContext *pb, AVPacket *p |
932 | 932 |
blockgroup = start_ebml_master(pb, MATROSKA_ID_BLOCKGROUP, mkv_blockgroup_size(size)); |
933 | 933 |
put_ebml_id(pb, MATROSKA_ID_BLOCK); |
934 | 934 |
put_ebml_num(pb, size+4, 0); |
935 |
- put_byte(pb, 0x80 | (pkt->stream_index + 1)); // this assumes stream_index is less than 126 |
|
936 |
- put_be16(pb, pkt->pts - mkv->cluster_pts); |
|
937 |
- put_byte(pb, 0); |
|
938 |
- put_buffer(pb, buffer, size); |
|
935 |
+ avio_w8(pb, 0x80 | (pkt->stream_index + 1)); // this assumes stream_index is less than 126 |
|
936 |
+ avio_wb16(pb, pkt->pts - mkv->cluster_pts); |
|
937 |
+ avio_w8(pb, 0); |
|
938 |
+ avio_write(pb, buffer, size); |
|
939 | 939 |
put_ebml_uint(pb, MATROSKA_ID_BLOCKDURATION, duration); |
940 | 940 |
end_ebml_master(pb, blockgroup); |
941 | 941 |
|
... | ... |
@@ -965,10 +965,10 @@ static void mkv_write_block(AVFormatContext *s, AVIOContext *pb, |
965 | 965 |
data = pkt->data; |
966 | 966 |
put_ebml_id(pb, blockid); |
967 | 967 |
put_ebml_num(pb, size+4, 0); |
968 |
- put_byte(pb, 0x80 | (pkt->stream_index + 1)); // this assumes stream_index is less than 126 |
|
969 |
- put_be16(pb, ts - mkv->cluster_pts); |
|
970 |
- put_byte(pb, flags); |
|
971 |
- put_buffer(pb, data, size); |
|
968 |
+ avio_w8(pb, 0x80 | (pkt->stream_index + 1)); // this assumes stream_index is less than 126 |
|
969 |
+ avio_wb16(pb, ts - mkv->cluster_pts); |
|
970 |
+ avio_w8(pb, flags); |
|
971 |
+ avio_write(pb, data, size); |
|
972 | 972 |
if (data != pkt->data) |
973 | 973 |
av_free(data); |
974 | 974 |
} |
... | ... |
@@ -1018,7 +1018,7 @@ static void mkv_flush_dynbuf(AVFormatContext *s) |
1018 | 1018 |
return; |
1019 | 1019 |
|
1020 | 1020 |
bufsize = url_close_dyn_buf(mkv->dyn_bc, &dyn_buf); |
1021 |
- put_buffer(s->pb, dyn_buf, bufsize); |
|
1021 |
+ avio_write(s->pb, dyn_buf, bufsize); |
|
1022 | 1022 |
av_free(dyn_buf); |
1023 | 1023 |
mkv->dyn_bc = NULL; |
1024 | 1024 |
} |
... | ... |
@@ -53,7 +53,7 @@ static void end_tag_be(AVIOContext *pb, int64_t start) |
53 | 53 |
|
54 | 54 |
pos = url_ftell(pb); |
55 | 55 |
url_fseek(pb, start - 4, SEEK_SET); |
56 |
- put_be32(pb, (uint32_t)(pos - start)); |
|
56 |
+ avio_wb32(pb, (uint32_t)(pos - start)); |
|
57 | 57 |
url_fseek(pb, pos, SEEK_SET); |
58 | 58 |
} |
59 | 59 |
|
... | ... |
@@ -71,31 +71,31 @@ static int mmf_write_header(AVFormatContext *s) |
71 | 71 |
} |
72 | 72 |
|
73 | 73 |
put_tag(pb, "MMMD"); |
74 |
- put_be32(pb, 0); |
|
74 |
+ avio_wb32(pb, 0); |
|
75 | 75 |
pos = ff_start_tag(pb, "CNTI"); |
76 |
- put_byte(pb, 0); /* class */ |
|
77 |
- put_byte(pb, 0); /* type */ |
|
78 |
- put_byte(pb, 0); /* code type */ |
|
79 |
- put_byte(pb, 0); /* status */ |
|
80 |
- put_byte(pb, 0); /* counts */ |
|
76 |
+ avio_w8(pb, 0); /* class */ |
|
77 |
+ avio_w8(pb, 0); /* type */ |
|
78 |
+ avio_w8(pb, 0); /* code type */ |
|
79 |
+ avio_w8(pb, 0); /* status */ |
|
80 |
+ avio_w8(pb, 0); /* counts */ |
|
81 | 81 |
put_tag(pb, "VN:libavcodec,"); /* metadata ("ST:songtitle,VN:version,...") */ |
82 | 82 |
end_tag_be(pb, pos); |
83 | 83 |
|
84 |
- put_buffer(pb, "ATR\x00", 4); |
|
85 |
- put_be32(pb, 0); |
|
84 |
+ avio_write(pb, "ATR\x00", 4); |
|
85 |
+ avio_wb32(pb, 0); |
|
86 | 86 |
mmf->atrpos = url_ftell(pb); |
87 |
- put_byte(pb, 0); /* format type */ |
|
88 |
- put_byte(pb, 0); /* sequence type */ |
|
89 |
- put_byte(pb, (0 << 7) | (1 << 4) | rate); /* (channel << 7) | (format << 4) | rate */ |
|
90 |
- put_byte(pb, 0); /* wave base bit */ |
|
91 |
- put_byte(pb, 2); /* time base d */ |
|
92 |
- put_byte(pb, 2); /* time base g */ |
|
87 |
+ avio_w8(pb, 0); /* format type */ |
|
88 |
+ avio_w8(pb, 0); /* sequence type */ |
|
89 |
+ avio_w8(pb, (0 << 7) | (1 << 4) | rate); /* (channel << 7) | (format << 4) | rate */ |
|
90 |
+ avio_w8(pb, 0); /* wave base bit */ |
|
91 |
+ avio_w8(pb, 2); /* time base d */ |
|
92 |
+ avio_w8(pb, 2); /* time base g */ |
|
93 | 93 |
|
94 | 94 |
put_tag(pb, "Atsq"); |
95 |
- put_be32(pb, 16); |
|
95 |
+ avio_wb32(pb, 16); |
|
96 | 96 |
mmf->atsqpos = url_ftell(pb); |
97 | 97 |
/* Will be filled on close */ |
98 |
- put_buffer(pb, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 16); |
|
98 |
+ avio_write(pb, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 16); |
|
99 | 99 |
|
100 | 100 |
mmf->awapos = ff_start_tag(pb, "Awa\x01"); |
101 | 101 |
|
... | ... |
@@ -109,7 +109,7 @@ static int mmf_write_header(AVFormatContext *s) |
109 | 109 |
static int mmf_write_packet(AVFormatContext *s, AVPacket *pkt) |
110 | 110 |
{ |
111 | 111 |
AVIOContext *pb = s->pb; |
112 |
- put_buffer(pb, pkt->data, pkt->size); |
|
112 |
+ avio_write(pb, pkt->data, pkt->size); |
|
113 | 113 |
return 0; |
114 | 114 |
} |
115 | 115 |
|
... | ... |
@@ -117,11 +117,11 @@ static int mmf_write_packet(AVFormatContext *s, AVPacket *pkt) |
117 | 117 |
static void put_varlength(AVIOContext *pb, int val) |
118 | 118 |
{ |
119 | 119 |
if(val < 128) |
120 |
- put_byte(pb, val); |
|
120 |
+ avio_w8(pb, val); |
|
121 | 121 |
else { |
122 | 122 |
val -= 128; |
123 |
- put_byte(pb, 0x80 | val >> 7); |
|
124 |
- put_byte(pb, 0x7f & val); |
|
123 |
+ avio_w8(pb, 0x80 | val >> 7); |
|
124 |
+ avio_w8(pb, 0x7f & val); |
|
125 | 125 |
} |
126 | 126 |
} |
127 | 127 |
|
... | ... |
@@ -145,17 +145,17 @@ static int mmf_write_trailer(AVFormatContext *s) |
145 | 145 |
url_fseek(pb, mmf->atsqpos, SEEK_SET); |
146 | 146 |
|
147 | 147 |
/* "play wav" */ |
148 |
- put_byte(pb, 0); /* start time */ |
|
149 |
- put_byte(pb, 1); /* (channel << 6) | wavenum */ |
|
148 |
+ avio_w8(pb, 0); /* start time */ |
|
149 |
+ avio_w8(pb, 1); /* (channel << 6) | wavenum */ |
|
150 | 150 |
gatetime = size * 500 / s->streams[0]->codec->sample_rate; |
151 | 151 |
put_varlength(pb, gatetime); /* duration */ |
152 | 152 |
|
153 | 153 |
/* "nop" */ |
154 | 154 |
put_varlength(pb, gatetime); /* start time */ |
155 |
- put_buffer(pb, "\xff\x00", 2); /* nop */ |
|
155 |
+ avio_write(pb, "\xff\x00", 2); /* nop */ |
|
156 | 156 |
|
157 | 157 |
/* "end of sequence" */ |
158 |
- put_buffer(pb, "\x00\x00\x00\x00", 4); |
|
158 |
+ avio_write(pb, "\x00\x00\x00\x00", 4); |
|
159 | 159 |
|
160 | 160 |
url_fseek(pb, pos, SEEK_SET); |
161 | 161 |
|
... | ... |
@@ -40,7 +40,7 @@ static int64_t updateSize(AVIOContext *pb, int64_t pos) |
40 | 40 |
{ |
41 | 41 |
int64_t curpos = url_ftell(pb); |
42 | 42 |
url_fseek(pb, pos, SEEK_SET); |
43 |
- put_be32(pb, curpos - pos); /* rewrite size */ |
|
43 |
+ avio_wb32(pb, curpos - pos); /* rewrite size */ |
|
44 | 44 |
url_fseek(pb, curpos, SEEK_SET); |
45 | 45 |
|
46 | 46 |
return curpos - pos; |
... | ... |
@@ -52,19 +52,19 @@ static int mov_write_stco_tag(AVIOContext *pb, MOVTrack *track) |
52 | 52 |
int i; |
53 | 53 |
int mode64 = 0; // use 32 bit size variant if possible |
54 | 54 |
int64_t pos = url_ftell(pb); |
55 |
- put_be32(pb, 0); /* size */ |
|
55 |
+ avio_wb32(pb, 0); /* size */ |
|
56 | 56 |
if (pos > UINT32_MAX) { |
57 | 57 |
mode64 = 1; |
58 | 58 |
put_tag(pb, "co64"); |
59 | 59 |
} else |
60 | 60 |
put_tag(pb, "stco"); |
61 |
- put_be32(pb, 0); /* version & flags */ |
|
62 |
- put_be32(pb, track->entry); /* entry count */ |
|
61 |
+ avio_wb32(pb, 0); /* version & flags */ |
|
62 |
+ avio_wb32(pb, track->entry); /* entry count */ |
|
63 | 63 |
for (i=0; i<track->entry; i++) { |
64 | 64 |
if(mode64 == 1) |
65 |
- put_be64(pb, track->cluster[i].pos); |
|
65 |
+ avio_wb64(pb, track->cluster[i].pos); |
|
66 | 66 |
else |
67 |
- put_be32(pb, track->cluster[i].pos); |
|
67 |
+ avio_wb32(pb, track->cluster[i].pos); |
|
68 | 68 |
} |
69 | 69 |
return updateSize(pb, pos); |
70 | 70 |
} |
... | ... |
@@ -76,9 +76,9 @@ static int mov_write_stsz_tag(AVIOContext *pb, MOVTrack *track) |
76 | 76 |
int i, j, entries = 0, tst = -1, oldtst = -1; |
77 | 77 |
|
78 | 78 |
int64_t pos = url_ftell(pb); |
79 |
- put_be32(pb, 0); /* size */ |
|
79 |
+ avio_wb32(pb, 0); /* size */ |
|
80 | 80 |
put_tag(pb, "stsz"); |
81 |
- put_be32(pb, 0); /* version & flags */ |
|
81 |
+ avio_wb32(pb, 0); /* version & flags */ |
|
82 | 82 |
|
83 | 83 |
for (i=0; i<track->entry; i++) { |
84 | 84 |
tst = track->cluster[i].size/track->cluster[i].entries; |
... | ... |
@@ -90,15 +90,15 @@ static int mov_write_stsz_tag(AVIOContext *pb, MOVTrack *track) |
90 | 90 |
} |
91 | 91 |
if (equalChunks) { |
92 | 92 |
int sSize = track->cluster[0].size/track->cluster[0].entries; |
93 |
- put_be32(pb, sSize); // sample size |
|
94 |
- put_be32(pb, entries); // sample count |
|
93 |
+ avio_wb32(pb, sSize); // sample size |
|
94 |
+ avio_wb32(pb, entries); // sample count |
|
95 | 95 |
} |
96 | 96 |
else { |
97 |
- put_be32(pb, 0); // sample size |
|
98 |
- put_be32(pb, entries); // sample count |
|
97 |
+ avio_wb32(pb, 0); // sample size |
|
98 |
+ avio_wb32(pb, entries); // sample count |
|
99 | 99 |
for (i=0; i<track->entry; i++) { |
100 | 100 |
for (j=0; j<track->cluster[i].entries; j++) { |
101 |
- put_be32(pb, track->cluster[i].size / |
|
101 |
+ avio_wb32(pb, track->cluster[i].size / |
|
102 | 102 |
track->cluster[i].entries); |
103 | 103 |
} |
104 | 104 |
} |
... | ... |
@@ -113,24 +113,24 @@ static int mov_write_stsc_tag(AVIOContext *pb, MOVTrack *track) |
113 | 113 |
int64_t entryPos, curpos; |
114 | 114 |
|
115 | 115 |
int64_t pos = url_ftell(pb); |
116 |
- put_be32(pb, 0); /* size */ |
|
116 |
+ avio_wb32(pb, 0); /* size */ |
|
117 | 117 |
put_tag(pb, "stsc"); |
118 |
- put_be32(pb, 0); // version & flags |
|
118 |
+ avio_wb32(pb, 0); // version & flags |
|
119 | 119 |
entryPos = url_ftell(pb); |
120 |
- put_be32(pb, track->entry); // entry count |
|
120 |
+ avio_wb32(pb, track->entry); // entry count |
|
121 | 121 |
for (i=0; i<track->entry; i++) { |
122 | 122 |
if(oldval != track->cluster[i].samplesInChunk) |
123 | 123 |
{ |
124 |
- put_be32(pb, i+1); // first chunk |
|
125 |
- put_be32(pb, track->cluster[i].samplesInChunk); // samples per chunk |
|
126 |
- put_be32(pb, 0x1); // sample description index |
|
124 |
+ avio_wb32(pb, i+1); // first chunk |
|
125 |
+ avio_wb32(pb, track->cluster[i].samplesInChunk); // samples per chunk |
|
126 |
+ avio_wb32(pb, 0x1); // sample description index |
|
127 | 127 |
oldval = track->cluster[i].samplesInChunk; |
128 | 128 |
index++; |
129 | 129 |
} |
130 | 130 |
} |
131 | 131 |
curpos = url_ftell(pb); |
132 | 132 |
url_fseek(pb, entryPos, SEEK_SET); |
133 |
- put_be32(pb, index); // rewrite size |
|
133 |
+ avio_wb32(pb, index); // rewrite size |
|
134 | 134 |
url_fseek(pb, curpos, SEEK_SET); |
135 | 135 |
|
136 | 136 |
return updateSize(pb, pos); |
... | ... |
@@ -142,35 +142,35 @@ static int mov_write_stss_tag(AVIOContext *pb, MOVTrack *track, uint32_t flag) |
142 | 142 |
int64_t curpos, entryPos; |
143 | 143 |
int i, index = 0; |
144 | 144 |
int64_t pos = url_ftell(pb); |
145 |
- put_be32(pb, 0); // size |
|
145 |
+ avio_wb32(pb, 0); // size |
|
146 | 146 |
put_tag(pb, flag == MOV_SYNC_SAMPLE ? "stss" : "stps"); |
147 |
- put_be32(pb, 0); // version & flags |
|
147 |
+ avio_wb32(pb, 0); // version & flags |
|
148 | 148 |
entryPos = url_ftell(pb); |
149 |
- put_be32(pb, track->entry); // entry count |
|
149 |
+ avio_wb32(pb, track->entry); // entry count |
|
150 | 150 |
for (i=0; i<track->entry; i++) { |
151 | 151 |
if (track->cluster[i].flags & flag) { |
152 |
- put_be32(pb, i+1); |
|
152 |
+ avio_wb32(pb, i+1); |
|
153 | 153 |
index++; |
154 | 154 |
} |
155 | 155 |
} |
156 | 156 |
curpos = url_ftell(pb); |
157 | 157 |
url_fseek(pb, entryPos, SEEK_SET); |
158 |
- put_be32(pb, index); // rewrite size |
|
158 |
+ avio_wb32(pb, index); // rewrite size |
|
159 | 159 |
url_fseek(pb, curpos, SEEK_SET); |
160 | 160 |
return updateSize(pb, pos); |
161 | 161 |
} |
162 | 162 |
|
163 | 163 |
static int mov_write_amr_tag(AVIOContext *pb, MOVTrack *track) |
164 | 164 |
{ |
165 |
- put_be32(pb, 0x11); /* size */ |
|
165 |
+ avio_wb32(pb, 0x11); /* size */ |
|
166 | 166 |
if (track->mode == MODE_MOV) put_tag(pb, "samr"); |
167 | 167 |
else put_tag(pb, "damr"); |
168 | 168 |
put_tag(pb, "FFMP"); |
169 |
- put_byte(pb, 0); /* decoder version */ |
|
169 |
+ avio_w8(pb, 0); /* decoder version */ |
|
170 | 170 |
|
171 |
- put_be16(pb, 0x81FF); /* Mode set (all modes for AMR_NB) */ |
|
172 |
- put_byte(pb, 0x00); /* Mode change period (no restriction) */ |
|
173 |
- put_byte(pb, 0x01); /* Frames per sample */ |
|
171 |
+ avio_wb16(pb, 0x81FF); /* Mode set (all modes for AMR_NB) */ |
|
172 |
+ avio_w8(pb, 0x00); /* Mode change period (no restriction) */ |
|
173 |
+ avio_w8(pb, 0x01); /* Frames per sample */ |
|
174 | 174 |
return 0x11; |
175 | 175 |
} |
176 | 176 |
|
... | ... |
@@ -184,7 +184,7 @@ static int mov_write_ac3_tag(AVIOContext *pb, MOVTrack *track) |
184 | 184 |
if (track->vosLen < 7) |
185 | 185 |
return -1; |
186 | 186 |
|
187 |
- put_be32(pb, 11); |
|
187 |
+ avio_wb32(pb, 11); |
|
188 | 188 |
put_tag(pb, "dac3"); |
189 | 189 |
|
190 | 190 |
init_get_bits(&gbc, track->vosData+4, track->vosLen-4); |
... | ... |
@@ -213,7 +213,7 @@ static int mov_write_ac3_tag(AVIOContext *pb, MOVTrack *track) |
213 | 213 |
put_bits(&pbc, 5, 0); // reserved |
214 | 214 |
|
215 | 215 |
flush_put_bits(&pbc); |
216 |
- put_buffer(pb, buf, sizeof(buf)); |
|
216 |
+ avio_write(pb, buf, sizeof(buf)); |
|
217 | 217 |
|
218 | 218 |
return 11; |
219 | 219 |
} |
... | ... |
@@ -224,15 +224,15 @@ static int mov_write_ac3_tag(AVIOContext *pb, MOVTrack *track) |
224 | 224 |
*/ |
225 | 225 |
static int mov_write_extradata_tag(AVIOContext *pb, MOVTrack *track) |
226 | 226 |
{ |
227 |
- put_buffer(pb, track->enc->extradata, track->enc->extradata_size); |
|
227 |
+ avio_write(pb, track->enc->extradata, track->enc->extradata_size); |
|
228 | 228 |
return track->enc->extradata_size; |
229 | 229 |
} |
230 | 230 |
|
231 | 231 |
static int mov_write_enda_tag(AVIOContext *pb) |
232 | 232 |
{ |
233 |
- put_be32(pb, 10); |
|
233 |
+ avio_wb32(pb, 10); |
|
234 | 234 |
put_tag(pb, "enda"); |
235 |
- put_be16(pb, 1); /* little endian */ |
|
235 |
+ avio_wb16(pb, 1); /* little endian */ |
|
236 | 236 |
return 10; |
237 | 237 |
} |
238 | 238 |
|
... | ... |
@@ -246,10 +246,10 @@ static unsigned int descrLength(unsigned int len) |
246 | 246 |
static void putDescr(AVIOContext *pb, int tag, unsigned int size) |
247 | 247 |
{ |
248 | 248 |
int i= descrLength(size) - size - 2; |
249 |
- put_byte(pb, tag); |
|
249 |
+ avio_w8(pb, tag); |
|
250 | 250 |
for(; i>0; i--) |
251 |
- put_byte(pb, (size>>(7*i)) | 0x80); |
|
252 |
- put_byte(pb, size & 0x7F); |
|
251 |
+ avio_w8(pb, (size>>(7*i)) | 0x80); |
|
252 |
+ avio_w8(pb, size & 0x7F); |
|
253 | 253 |
} |
254 | 254 |
|
255 | 255 |
static int mov_write_esds_tag(AVIOContext *pb, MOVTrack *track) // Basic |
... | ... |
@@ -257,15 +257,15 @@ static int mov_write_esds_tag(AVIOContext *pb, MOVTrack *track) // Basic |
257 | 257 |
int64_t pos = url_ftell(pb); |
258 | 258 |
int decoderSpecificInfoLen = track->vosLen ? descrLength(track->vosLen):0; |
259 | 259 |
|
260 |
- put_be32(pb, 0); // size |
|
260 |
+ avio_wb32(pb, 0); // size |
|
261 | 261 |
put_tag(pb, "esds"); |
262 |
- put_be32(pb, 0); // Version |
|
262 |
+ avio_wb32(pb, 0); // Version |
|
263 | 263 |
|
264 | 264 |
// ES descriptor |
265 | 265 |
putDescr(pb, 0x03, 3 + descrLength(13 + decoderSpecificInfoLen) + |
266 | 266 |
descrLength(1)); |
267 |
- put_be16(pb, track->trackID); |
|
268 |
- put_byte(pb, 0x00); // flags (= no flags) |
|
267 |
+ avio_wb16(pb, track->trackID); |
|
268 |
+ avio_w8(pb, 0x00); // flags (= no flags) |
|
269 | 269 |
|
270 | 270 |
// DecoderConfig descriptor |
271 | 271 |
putDescr(pb, 0x04, 13 + decoderSpecificInfoLen); |
... | ... |
@@ -274,35 +274,35 @@ static int mov_write_esds_tag(AVIOContext *pb, MOVTrack *track) // Basic |
274 | 274 |
if ((track->enc->codec_id == CODEC_ID_MP2 || |
275 | 275 |
track->enc->codec_id == CODEC_ID_MP3) && |
276 | 276 |
track->enc->sample_rate > 24000) |
277 |
- put_byte(pb, 0x6B); // 11172-3 |
|
277 |
+ avio_w8(pb, 0x6B); // 11172-3 |
|
278 | 278 |
else |
279 |
- put_byte(pb, ff_codec_get_tag(ff_mp4_obj_type, track->enc->codec_id)); |
|
279 |
+ avio_w8(pb, ff_codec_get_tag(ff_mp4_obj_type, track->enc->codec_id)); |
|
280 | 280 |
|
281 | 281 |
// the following fields is made of 6 bits to identify the streamtype (4 for video, 5 for audio) |
282 | 282 |
// plus 1 bit to indicate upstream and 1 bit set to 1 (reserved) |
283 | 283 |
if(track->enc->codec_type == AVMEDIA_TYPE_AUDIO) |
284 |
- put_byte(pb, 0x15); // flags (= Audiostream) |
|
284 |
+ avio_w8(pb, 0x15); // flags (= Audiostream) |
|
285 | 285 |
else |
286 |
- put_byte(pb, 0x11); // flags (= Visualstream) |
|
286 |
+ avio_w8(pb, 0x11); // flags (= Visualstream) |
|
287 | 287 |
|
288 |
- put_byte(pb, track->enc->rc_buffer_size>>(3+16)); // Buffersize DB (24 bits) |
|
289 |
- put_be16(pb, (track->enc->rc_buffer_size>>3)&0xFFFF); // Buffersize DB |
|
288 |
+ avio_w8(pb, track->enc->rc_buffer_size>>(3+16)); // Buffersize DB (24 bits) |
|
289 |
+ avio_wb16(pb, (track->enc->rc_buffer_size>>3)&0xFFFF); // Buffersize DB |
|
290 | 290 |
|
291 |
- put_be32(pb, FFMAX(track->enc->bit_rate, track->enc->rc_max_rate)); // maxbitrate (FIXME should be max rate in any 1 sec window) |
|
291 |
+ avio_wb32(pb, FFMAX(track->enc->bit_rate, track->enc->rc_max_rate)); // maxbitrate (FIXME should be max rate in any 1 sec window) |
|
292 | 292 |
if(track->enc->rc_max_rate != track->enc->rc_min_rate || track->enc->rc_min_rate==0) |
293 |
- put_be32(pb, 0); // vbr |
|
293 |
+ avio_wb32(pb, 0); // vbr |
|
294 | 294 |
else |
295 |
- put_be32(pb, track->enc->rc_max_rate); // avg bitrate |
|
295 |
+ avio_wb32(pb, track->enc->rc_max_rate); // avg bitrate |
|
296 | 296 |
|
297 | 297 |
if (track->vosLen) { |
298 | 298 |
// DecoderSpecific info descriptor |
299 | 299 |
putDescr(pb, 0x05, track->vosLen); |
300 |
- put_buffer(pb, track->vosData, track->vosLen); |
|
300 |
+ avio_write(pb, track->vosData, track->vosLen); |
|
301 | 301 |
} |
302 | 302 |
|
303 | 303 |
// SL descriptor |
304 | 304 |
putDescr(pb, 0x06, 1); |
305 |
- put_byte(pb, 0x02); |
|
305 |
+ avio_w8(pb, 0x02); |
|
306 | 306 |
return updateSize(pb, pos); |
307 | 307 |
} |
308 | 308 |
|
... | ... |
@@ -317,8 +317,8 @@ static int mov_pcm_le_gt16(enum CodecID codec_id) |
317 | 317 |
static int mov_write_ms_tag(AVIOContext *pb, MOVTrack *track) |
318 | 318 |
{ |
319 | 319 |
int64_t pos = url_ftell(pb); |
320 |
- put_be32(pb, 0); |
|
321 |
- put_le32(pb, track->tag); // store it byteswapped |
|
320 |
+ avio_wb32(pb, 0); |
|
321 |
+ avio_wl32(pb, track->tag); // store it byteswapped |
|
322 | 322 |
track->enc->codec_tag = av_bswap16(track->tag >> 16); |
323 | 323 |
ff_put_wav_header(pb, track->enc); |
324 | 324 |
return updateSize(pb, pos); |
... | ... |
@@ -328,18 +328,18 @@ static int mov_write_wave_tag(AVIOContext *pb, MOVTrack *track) |
328 | 328 |
{ |
329 | 329 |
int64_t pos = url_ftell(pb); |
330 | 330 |
|
331 |
- put_be32(pb, 0); /* size */ |
|
331 |
+ avio_wb32(pb, 0); /* size */ |
|
332 | 332 |
put_tag(pb, "wave"); |
333 | 333 |
|
334 |
- put_be32(pb, 12); /* size */ |
|
334 |
+ avio_wb32(pb, 12); /* size */ |
|
335 | 335 |
put_tag(pb, "frma"); |
336 |
- put_le32(pb, track->tag); |
|
336 |
+ avio_wl32(pb, track->tag); |
|
337 | 337 |
|
338 | 338 |
if (track->enc->codec_id == CODEC_ID_AAC) { |
339 | 339 |
/* useless atom needed by mplayer, ipod, not needed by quicktime */ |
340 |
- put_be32(pb, 12); /* size */ |
|
340 |
+ avio_wb32(pb, 12); /* size */ |
|
341 | 341 |
put_tag(pb, "mp4a"); |
342 |
- put_be32(pb, 0); |
|
342 |
+ avio_wb32(pb, 0); |
|
343 | 343 |
mov_write_esds_tag(pb, track); |
344 | 344 |
} else if (mov_pcm_le_gt16(track->enc->codec_id)) { |
345 | 345 |
mov_write_enda_tag(pb); |
... | ... |
@@ -354,17 +354,17 @@ static int mov_write_wave_tag(AVIOContext *pb, MOVTrack *track) |
354 | 354 |
mov_write_ms_tag(pb, track); |
355 | 355 |
} |
356 | 356 |
|
357 |
- put_be32(pb, 8); /* size */ |
|
358 |
- put_be32(pb, 0); /* null tag */ |
|
357 |
+ avio_wb32(pb, 8); /* size */ |
|
358 |
+ avio_wb32(pb, 0); /* null tag */ |
|
359 | 359 |
|
360 | 360 |
return updateSize(pb, pos); |
361 | 361 |
} |
362 | 362 |
|
363 | 363 |
static int mov_write_glbl_tag(AVIOContext *pb, MOVTrack *track) |
364 | 364 |
{ |
365 |
- put_be32(pb, track->vosLen+8); |
|
365 |
+ avio_wb32(pb, track->vosLen+8); |
|
366 | 366 |
put_tag(pb, "glbl"); |
367 |
- put_buffer(pb, track->vosData, track->vosLen); |
|
367 |
+ avio_write(pb, track->vosData, track->vosLen); |
|
368 | 368 |
return 8+track->vosLen; |
369 | 369 |
} |
370 | 370 |
|
... | ... |
@@ -415,56 +415,56 @@ static int mov_write_audio_tag(AVIOContext *pb, MOVTrack *track) |
415 | 415 |
} |
416 | 416 |
} |
417 | 417 |
|
418 |
- put_be32(pb, 0); /* size */ |
|
419 |
- put_le32(pb, tag); // store it byteswapped |
|
420 |
- put_be32(pb, 0); /* Reserved */ |
|
421 |
- put_be16(pb, 0); /* Reserved */ |
|
422 |
- put_be16(pb, 1); /* Data-reference index, XXX == 1 */ |
|
418 |
+ avio_wb32(pb, 0); /* size */ |
|
419 |
+ avio_wl32(pb, tag); // store it byteswapped |
|
420 |
+ avio_wb32(pb, 0); /* Reserved */ |
|
421 |
+ avio_wb16(pb, 0); /* Reserved */ |
|
422 |
+ avio_wb16(pb, 1); /* Data-reference index, XXX == 1 */ |
|
423 | 423 |
|
424 | 424 |
/* SoundDescription */ |
425 |
- put_be16(pb, version); /* Version */ |
|
426 |
- put_be16(pb, 0); /* Revision level */ |
|
427 |
- put_be32(pb, 0); /* Reserved */ |
|
425 |
+ avio_wb16(pb, version); /* Version */ |
|
426 |
+ avio_wb16(pb, 0); /* Revision level */ |
|
427 |
+ avio_wb32(pb, 0); /* Reserved */ |
|
428 | 428 |
|
429 | 429 |
if (version == 2) { |
430 |
- put_be16(pb, 3); |
|
431 |
- put_be16(pb, 16); |
|
432 |
- put_be16(pb, 0xfffe); |
|
433 |
- put_be16(pb, 0); |
|
434 |
- put_be32(pb, 0x00010000); |
|
435 |
- put_be32(pb, 72); |
|
436 |
- put_be64(pb, av_dbl2int(track->timescale)); |
|
437 |
- put_be32(pb, track->enc->channels); |
|
438 |
- put_be32(pb, 0x7F000000); |
|
439 |
- put_be32(pb, av_get_bits_per_sample(track->enc->codec_id)); |
|
440 |
- put_be32(pb, mov_get_lpcm_flags(track->enc->codec_id)); |
|
441 |
- put_be32(pb, track->sampleSize); |
|
442 |
- put_be32(pb, track->enc->frame_size); |
|
430 |
+ avio_wb16(pb, 3); |
|
431 |
+ avio_wb16(pb, 16); |
|
432 |
+ avio_wb16(pb, 0xfffe); |
|
433 |
+ avio_wb16(pb, 0); |
|
434 |
+ avio_wb32(pb, 0x00010000); |
|
435 |
+ avio_wb32(pb, 72); |
|
436 |
+ avio_wb64(pb, av_dbl2int(track->timescale)); |
|
437 |
+ avio_wb32(pb, track->enc->channels); |
|
438 |
+ avio_wb32(pb, 0x7F000000); |
|
439 |
+ avio_wb32(pb, av_get_bits_per_sample(track->enc->codec_id)); |
|
440 |
+ avio_wb32(pb, mov_get_lpcm_flags(track->enc->codec_id)); |
|
441 |
+ avio_wb32(pb, track->sampleSize); |
|
442 |
+ avio_wb32(pb, track->enc->frame_size); |
|
443 | 443 |
} else { |
444 | 444 |
if (track->mode == MODE_MOV) { |
445 |
- put_be16(pb, track->enc->channels); |
|
445 |
+ avio_wb16(pb, track->enc->channels); |
|
446 | 446 |
if (track->enc->codec_id == CODEC_ID_PCM_U8 || |
447 | 447 |
track->enc->codec_id == CODEC_ID_PCM_S8) |
448 |
- put_be16(pb, 8); /* bits per sample */ |
|
448 |
+ avio_wb16(pb, 8); /* bits per sample */ |
|
449 | 449 |
else |
450 |
- put_be16(pb, 16); |
|
451 |
- put_be16(pb, track->audio_vbr ? -2 : 0); /* compression ID */ |
|
450 |
+ avio_wb16(pb, 16); |
|
451 |
+ avio_wb16(pb, track->audio_vbr ? -2 : 0); /* compression ID */ |
|
452 | 452 |
} else { /* reserved for mp4/3gp */ |
453 |
- put_be16(pb, 2); |
|
454 |
- put_be16(pb, 16); |
|
455 |
- put_be16(pb, 0); |
|
453 |
+ avio_wb16(pb, 2); |
|
454 |
+ avio_wb16(pb, 16); |
|
455 |
+ avio_wb16(pb, 0); |
|
456 | 456 |
} |
457 | 457 |
|
458 |
- put_be16(pb, 0); /* packet size (= 0) */ |
|
459 |
- put_be16(pb, track->timescale); /* Time scale */ |
|
460 |
- put_be16(pb, 0); /* Reserved */ |
|
458 |
+ avio_wb16(pb, 0); /* packet size (= 0) */ |
|
459 |
+ avio_wb16(pb, track->timescale); /* Time scale */ |
|
460 |
+ avio_wb16(pb, 0); /* Reserved */ |
|
461 | 461 |
} |
462 | 462 |
|
463 | 463 |
if(version == 1) { /* SoundDescription V1 extended info */ |
464 |
- put_be32(pb, track->enc->frame_size); /* Samples per packet */ |
|
465 |
- put_be32(pb, track->sampleSize / track->enc->channels); /* Bytes per packet */ |
|
466 |
- put_be32(pb, track->sampleSize); /* Bytes per frame */ |
|
467 |
- put_be32(pb, 2); /* Bytes per sample */ |
|
464 |
+ avio_wb32(pb, track->enc->frame_size); /* Samples per packet */ |
|
465 |
+ avio_wb32(pb, track->sampleSize / track->enc->channels); /* Bytes per packet */ |
|
466 |
+ avio_wb32(pb, track->sampleSize); /* Bytes per frame */ |
|
467 |
+ avio_wb32(pb, 2); /* Bytes per sample */ |
|
468 | 468 |
} |
469 | 469 |
|
470 | 470 |
if(track->mode == MODE_MOV && |
... | ... |
@@ -492,26 +492,26 @@ static int mov_write_audio_tag(AVIOContext *pb, MOVTrack *track) |
492 | 492 |
|
493 | 493 |
static int mov_write_d263_tag(AVIOContext *pb) |
494 | 494 |
{ |
495 |
- put_be32(pb, 0xf); /* size */ |
|
495 |
+ avio_wb32(pb, 0xf); /* size */ |
|
496 | 496 |
put_tag(pb, "d263"); |
497 | 497 |
put_tag(pb, "FFMP"); |
498 |
- put_byte(pb, 0); /* decoder version */ |
|
498 |
+ avio_w8(pb, 0); /* decoder version */ |
|
499 | 499 |
/* FIXME use AVCodecContext level/profile, when encoder will set values */ |
500 |
- put_byte(pb, 0xa); /* level */ |
|
501 |
- put_byte(pb, 0); /* profile */ |
|
500 |
+ avio_w8(pb, 0xa); /* level */ |
|
501 |
+ avio_w8(pb, 0); /* profile */ |
|
502 | 502 |
return 0xf; |
503 | 503 |
} |
504 | 504 |
|
505 | 505 |
/* TODO: No idea about these values */ |
506 | 506 |
static int mov_write_svq3_tag(AVIOContext *pb) |
507 | 507 |
{ |
508 |
- put_be32(pb, 0x15); |
|
508 |
+ avio_wb32(pb, 0x15); |
|
509 | 509 |
put_tag(pb, "SMI "); |
510 | 510 |
put_tag(pb, "SEQH"); |
511 |
- put_be32(pb, 0x5); |
|
512 |
- put_be32(pb, 0xe2c0211d); |
|
513 |
- put_be32(pb, 0xc0000000); |
|
514 |
- put_byte(pb, 0); |
|
511 |
+ avio_wb32(pb, 0x5); |
|
512 |
+ avio_wb32(pb, 0xe2c0211d); |
|
513 |
+ avio_wb32(pb, 0xc0000000); |
|
514 |
+ avio_w8(pb, 0); |
|
515 | 515 |
return 0x15; |
516 | 516 |
} |
517 | 517 |
|
... | ... |
@@ -519,7 +519,7 @@ static int mov_write_avcc_tag(AVIOContext *pb, MOVTrack *track) |
519 | 519 |
{ |
520 | 520 |
int64_t pos = url_ftell(pb); |
521 | 521 |
|
522 |
- put_be32(pb, 0); |
|
522 |
+ avio_wb32(pb, 0); |
|
523 | 523 |
put_tag(pb, "avcC"); |
524 | 524 |
ff_isom_write_avcc(pb, track->vosData, track->vosLen); |
525 | 525 |
return updateSize(pb, pos); |
... | ... |
@@ -529,47 +529,47 @@ static int mov_write_avcc_tag(AVIOContext *pb, MOVTrack *track) |
529 | 529 |
static int mov_write_avid_tag(AVIOContext *pb, MOVTrack *track) |
530 | 530 |
{ |
531 | 531 |
int i; |
532 |
- put_be32(pb, 24); /* size */ |
|
532 |
+ avio_wb32(pb, 24); /* size */ |
|
533 | 533 |
put_tag(pb, "ACLR"); |
534 | 534 |
put_tag(pb, "ACLR"); |
535 | 535 |
put_tag(pb, "0001"); |
536 |
- put_be32(pb, 1); /* yuv 1 / rgb 2 ? */ |
|
537 |
- put_be32(pb, 0); /* unknown */ |
|
536 |
+ avio_wb32(pb, 1); /* yuv 1 / rgb 2 ? */ |
|
537 |
+ avio_wb32(pb, 0); /* unknown */ |
|
538 | 538 |
|
539 |
- put_be32(pb, 24); /* size */ |
|
539 |
+ avio_wb32(pb, 24); /* size */ |
|
540 | 540 |
put_tag(pb, "APRG"); |
541 | 541 |
put_tag(pb, "APRG"); |
542 | 542 |
put_tag(pb, "0001"); |
543 |
- put_be32(pb, 1); /* unknown */ |
|
544 |
- put_be32(pb, 0); /* unknown */ |
|
543 |
+ avio_wb32(pb, 1); /* unknown */ |
|
544 |
+ avio_wb32(pb, 0); /* unknown */ |
|
545 | 545 |
|
546 |
- put_be32(pb, 120); /* size */ |
|
546 |
+ avio_wb32(pb, 120); /* size */ |
|
547 | 547 |
put_tag(pb, "ARES"); |
548 | 548 |
put_tag(pb, "ARES"); |
549 | 549 |
put_tag(pb, "0001"); |
550 |
- put_be32(pb, AV_RB32(track->vosData + 0x28)); /* dnxhd cid, some id ? */ |
|
551 |
- put_be32(pb, track->enc->width); |
|
550 |
+ avio_wb32(pb, AV_RB32(track->vosData + 0x28)); /* dnxhd cid, some id ? */ |
|
551 |
+ avio_wb32(pb, track->enc->width); |
|
552 | 552 |
/* values below are based on samples created with quicktime and avid codecs */ |
553 | 553 |
if (track->vosData[5] & 2) { // interlaced |
554 |
- put_be32(pb, track->enc->height/2); |
|
555 |
- put_be32(pb, 2); /* unknown */ |
|
556 |
- put_be32(pb, 0); /* unknown */ |
|
557 |
- put_be32(pb, 4); /* unknown */ |
|
554 |
+ avio_wb32(pb, track->enc->height/2); |
|
555 |
+ avio_wb32(pb, 2); /* unknown */ |
|
556 |
+ avio_wb32(pb, 0); /* unknown */ |
|
557 |
+ avio_wb32(pb, 4); /* unknown */ |
|
558 | 558 |
} else { |
559 |
- put_be32(pb, track->enc->height); |
|
560 |
- put_be32(pb, 1); /* unknown */ |
|
561 |
- put_be32(pb, 0); /* unknown */ |
|
559 |
+ avio_wb32(pb, track->enc->height); |
|
560 |
+ avio_wb32(pb, 1); /* unknown */ |
|
561 |
+ avio_wb32(pb, 0); /* unknown */ |
|
562 | 562 |
if (track->enc->height == 1080) |
563 |
- put_be32(pb, 5); /* unknown */ |
|
563 |
+ avio_wb32(pb, 5); /* unknown */ |
|
564 | 564 |
else |
565 |
- put_be32(pb, 6); /* unknown */ |
|
565 |
+ avio_wb32(pb, 6); /* unknown */ |
|
566 | 566 |
} |
567 | 567 |
/* padding */ |
568 | 568 |
for (i = 0; i < 10; i++) |
569 |
- put_be64(pb, 0); |
|
569 |
+ avio_wb64(pb, 0); |
|
570 | 570 |
|
571 | 571 |
/* extra padding for stsd needed */ |
572 |
- put_be32(pb, 0); |
|
572 |
+ avio_wb32(pb, 0); |
|
573 | 573 |
return 0; |
574 | 574 |
} |
575 | 575 |
|
... | ... |
@@ -740,27 +740,27 @@ static int mov_find_codec_tag(AVFormatContext *s, MOVTrack *track) |
740 | 740 |
*/ |
741 | 741 |
static int mov_write_uuid_tag_ipod(AVIOContext *pb) |
742 | 742 |
{ |
743 |
- put_be32(pb, 28); |
|
743 |
+ avio_wb32(pb, 28); |
|
744 | 744 |
put_tag(pb, "uuid"); |
745 |
- put_be32(pb, 0x6b6840f2); |
|
746 |
- put_be32(pb, 0x5f244fc5); |
|
747 |
- put_be32(pb, 0xba39a51b); |
|
748 |
- put_be32(pb, 0xcf0323f3); |
|
749 |
- put_be32(pb, 0x0); |
|
745 |
+ avio_wb32(pb, 0x6b6840f2); |
|
746 |
+ avio_wb32(pb, 0x5f244fc5); |
|
747 |
+ avio_wb32(pb, 0xba39a51b); |
|
748 |
+ avio_wb32(pb, 0xcf0323f3); |
|
749 |
+ avio_wb32(pb, 0x0); |
|
750 | 750 |
return 28; |
751 | 751 |
} |
752 | 752 |
|
753 | 753 |
static int mov_write_subtitle_tag(AVIOContext *pb, MOVTrack *track) |
754 | 754 |
{ |
755 | 755 |
int64_t pos = url_ftell(pb); |
756 |
- put_be32(pb, 0); /* size */ |
|
757 |
- put_le32(pb, track->tag); // store it byteswapped |
|
758 |
- put_be32(pb, 0); /* Reserved */ |
|
759 |
- put_be16(pb, 0); /* Reserved */ |
|
760 |
- put_be16(pb, 1); /* Data-reference index */ |
|
756 |
+ avio_wb32(pb, 0); /* size */ |
|
757 |
+ avio_wl32(pb, track->tag); // store it byteswapped |
|
758 |
+ avio_wb32(pb, 0); /* Reserved */ |
|
759 |
+ avio_wb16(pb, 0); /* Reserved */ |
|
760 |
+ avio_wb16(pb, 1); /* Data-reference index */ |
|
761 | 761 |
|
762 | 762 |
if (track->enc->extradata_size) |
763 |
- put_buffer(pb, track->enc->extradata, track->enc->extradata_size); |
|
763 |
+ avio_write(pb, track->enc->extradata, track->enc->extradata_size); |
|
764 | 764 |
|
765 | 765 |
return updateSize(pb, pos); |
766 | 766 |
} |
... | ... |
@@ -771,10 +771,10 @@ static int mov_write_pasp_tag(AVIOContext *pb, MOVTrack *track) |
771 | 771 |
av_reduce(&sar.num, &sar.den, track->enc->sample_aspect_ratio.num, |
772 | 772 |
track->enc->sample_aspect_ratio.den, INT_MAX); |
773 | 773 |
|
774 |
- put_be32(pb, 16); |
|
774 |
+ avio_wb32(pb, 16); |
|
775 | 775 |
put_tag(pb, "pasp"); |
776 |
- put_be32(pb, sar.num); |
|
777 |
- put_be32(pb, sar.den); |
|
776 |
+ avio_wb32(pb, sar.num); |
|
777 |
+ avio_wb32(pb, sar.den); |
|
778 | 778 |
return 16; |
779 | 779 |
} |
780 | 780 |
|
... | ... |
@@ -783,47 +783,47 @@ static int mov_write_video_tag(AVIOContext *pb, MOVTrack *track) |
783 | 783 |
int64_t pos = url_ftell(pb); |
784 | 784 |
char compressor_name[32]; |
785 | 785 |
|
786 |
- put_be32(pb, 0); /* size */ |
|
787 |
- put_le32(pb, track->tag); // store it byteswapped |
|
788 |
- put_be32(pb, 0); /* Reserved */ |
|
789 |
- put_be16(pb, 0); /* Reserved */ |
|
790 |
- put_be16(pb, 1); /* Data-reference index */ |
|
786 |
+ avio_wb32(pb, 0); /* size */ |
|
787 |
+ avio_wl32(pb, track->tag); // store it byteswapped |
|
788 |
+ avio_wb32(pb, 0); /* Reserved */ |
|
789 |
+ avio_wb16(pb, 0); /* Reserved */ |
|
790 |
+ avio_wb16(pb, 1); /* Data-reference index */ |
|
791 | 791 |
|
792 |
- put_be16(pb, 0); /* Codec stream version */ |
|
793 |
- put_be16(pb, 0); /* Codec stream revision (=0) */ |
|
792 |
+ avio_wb16(pb, 0); /* Codec stream version */ |
|
793 |
+ avio_wb16(pb, 0); /* Codec stream revision (=0) */ |
|
794 | 794 |
if (track->mode == MODE_MOV) { |
795 | 795 |
put_tag(pb, "FFMP"); /* Vendor */ |
796 | 796 |
if(track->enc->codec_id == CODEC_ID_RAWVIDEO) { |
797 |
- put_be32(pb, 0); /* Temporal Quality */ |
|
798 |
- put_be32(pb, 0x400); /* Spatial Quality = lossless*/ |
|
797 |
+ avio_wb32(pb, 0); /* Temporal Quality */ |
|
798 |
+ avio_wb32(pb, 0x400); /* Spatial Quality = lossless*/ |
|
799 | 799 |
} else { |
800 |
- put_be32(pb, 0x200); /* Temporal Quality = normal */ |
|
801 |
- put_be32(pb, 0x200); /* Spatial Quality = normal */ |
|
800 |
+ avio_wb32(pb, 0x200); /* Temporal Quality = normal */ |
|
801 |
+ avio_wb32(pb, 0x200); /* Spatial Quality = normal */ |
|
802 | 802 |
} |
803 | 803 |
} else { |
804 |
- put_be32(pb, 0); /* Reserved */ |
|
805 |
- put_be32(pb, 0); /* Reserved */ |
|
806 |
- put_be32(pb, 0); /* Reserved */ |
|
804 |
+ avio_wb32(pb, 0); /* Reserved */ |
|
805 |
+ avio_wb32(pb, 0); /* Reserved */ |
|
806 |
+ avio_wb32(pb, 0); /* Reserved */ |
|
807 | 807 |
} |
808 |
- put_be16(pb, track->enc->width); /* Video width */ |
|
809 |
- put_be16(pb, track->height); /* Video height */ |
|
810 |
- put_be32(pb, 0x00480000); /* Horizontal resolution 72dpi */ |
|
811 |
- put_be32(pb, 0x00480000); /* Vertical resolution 72dpi */ |
|
812 |
- put_be32(pb, 0); /* Data size (= 0) */ |
|
813 |
- put_be16(pb, 1); /* Frame count (= 1) */ |
|
808 |
+ avio_wb16(pb, track->enc->width); /* Video width */ |
|
809 |
+ avio_wb16(pb, track->height); /* Video height */ |
|
810 |
+ avio_wb32(pb, 0x00480000); /* Horizontal resolution 72dpi */ |
|
811 |
+ avio_wb32(pb, 0x00480000); /* Vertical resolution 72dpi */ |
|
812 |
+ avio_wb32(pb, 0); /* Data size (= 0) */ |
|
813 |
+ avio_wb16(pb, 1); /* Frame count (= 1) */ |
|
814 | 814 |
|
815 | 815 |
memset(compressor_name,0,32); |
816 | 816 |
/* FIXME not sure, ISO 14496-1 draft where it shall be set to 0 */ |
817 | 817 |
if (track->mode == MODE_MOV && track->enc->codec && track->enc->codec->name) |
818 | 818 |
strncpy(compressor_name,track->enc->codec->name,31); |
819 |
- put_byte(pb, strlen(compressor_name)); |
|
820 |
- put_buffer(pb, compressor_name, 31); |
|
819 |
+ avio_w8(pb, strlen(compressor_name)); |
|
820 |
+ avio_write(pb, compressor_name, 31); |
|
821 | 821 |
|
822 | 822 |
if (track->mode == MODE_MOV && track->enc->bits_per_coded_sample) |
823 |
- put_be16(pb, track->enc->bits_per_coded_sample); |
|
823 |
+ avio_wb16(pb, track->enc->bits_per_coded_sample); |
|
824 | 824 |
else |
825 |
- put_be16(pb, 0x18); /* Reserved */ |
|
826 |
- put_be16(pb, 0xffff); /* Reserved */ |
|
825 |
+ avio_wb16(pb, 0x18); /* Reserved */ |
|
826 |
+ avio_wb16(pb, 0xffff); /* Reserved */ |
|
827 | 827 |
if(track->tag == MKTAG('m','p','4','v')) |
828 | 828 |
mov_write_esds_tag(pb, track); |
829 | 829 |
else if(track->enc->codec_id == CODEC_ID_H263) |
... | ... |
@@ -851,19 +851,19 @@ static int mov_write_video_tag(AVIOContext *pb, MOVTrack *track) |
851 | 851 |
static int mov_write_rtp_tag(AVIOContext *pb, MOVTrack *track) |
852 | 852 |
{ |
853 | 853 |
int64_t pos = url_ftell(pb); |
854 |
- put_be32(pb, 0); /* size */ |
|
854 |
+ avio_wb32(pb, 0); /* size */ |
|
855 | 855 |
put_tag(pb, "rtp "); |
856 |
- put_be32(pb, 0); /* Reserved */ |
|
857 |
- put_be16(pb, 0); /* Reserved */ |
|
858 |
- put_be16(pb, 1); /* Data-reference index */ |
|
856 |
+ avio_wb32(pb, 0); /* Reserved */ |
|
857 |
+ avio_wb16(pb, 0); /* Reserved */ |
|
858 |
+ avio_wb16(pb, 1); /* Data-reference index */ |
|
859 | 859 |
|
860 |
- put_be16(pb, 1); /* Hint track version */ |
|
861 |
- put_be16(pb, 1); /* Highest compatible version */ |
|
862 |
- put_be32(pb, track->max_packet_size); /* Max packet size */ |
|
860 |
+ avio_wb16(pb, 1); /* Hint track version */ |
|
861 |
+ avio_wb16(pb, 1); /* Highest compatible version */ |
|
862 |
+ avio_wb32(pb, track->max_packet_size); /* Max packet size */ |
|
863 | 863 |
|
864 |
- put_be32(pb, 12); /* size */ |
|
864 |
+ avio_wb32(pb, 12); /* size */ |
|
865 | 865 |
put_tag(pb, "tims"); |
866 |
- put_be32(pb, track->timescale); |
|
866 |
+ avio_wb32(pb, track->timescale); |
|
867 | 867 |
|
868 | 868 |
return updateSize(pb, pos); |
869 | 869 |
} |
... | ... |
@@ -871,10 +871,10 @@ static int mov_write_rtp_tag(AVIOContext *pb, MOVTrack *track) |
871 | 871 |
static int mov_write_stsd_tag(AVIOContext *pb, MOVTrack *track) |
872 | 872 |
{ |
873 | 873 |
int64_t pos = url_ftell(pb); |
874 |
- put_be32(pb, 0); /* size */ |
|
874 |
+ avio_wb32(pb, 0); /* size */ |
|
875 | 875 |
put_tag(pb, "stsd"); |
876 |
- put_be32(pb, 0); /* version & flags */ |
|
877 |
- put_be32(pb, 1); /* entry count */ |
|
876 |
+ avio_wb32(pb, 0); /* version & flags */ |
|
877 |
+ avio_wb32(pb, 1); /* entry count */ |
|
878 | 878 |
if (track->enc->codec_type == AVMEDIA_TYPE_VIDEO) |
879 | 879 |
mov_write_video_tag(pb, track); |
880 | 880 |
else if (track->enc->codec_type == AVMEDIA_TYPE_AUDIO) |
... | ... |
@@ -907,13 +907,13 @@ static int mov_write_ctts_tag(AVIOContext *pb, MOVTrack *track) |
907 | 907 |
} |
908 | 908 |
entries++; /* last one */ |
909 | 909 |
atom_size = 16 + (entries * 8); |
910 |
- put_be32(pb, atom_size); /* size */ |
|
910 |
+ avio_wb32(pb, atom_size); /* size */ |
|
911 | 911 |
put_tag(pb, "ctts"); |
912 |
- put_be32(pb, 0); /* version & flags */ |
|
913 |
- put_be32(pb, entries); /* entry count */ |
|
912 |
+ avio_wb32(pb, 0); /* version & flags */ |
|
913 |
+ avio_wb32(pb, entries); /* entry count */ |
|
914 | 914 |
for (i=0; i<entries; i++) { |
915 |
- put_be32(pb, ctts_entries[i].count); |
|
916 |
- put_be32(pb, ctts_entries[i].duration); |
|
915 |
+ avio_wb32(pb, ctts_entries[i].count); |
|
916 |
+ avio_wb32(pb, ctts_entries[i].duration); |
|
917 | 917 |
} |
918 | 918 |
av_free(ctts_entries); |
919 | 919 |
return atom_size; |
... | ... |
@@ -949,13 +949,13 @@ static int mov_write_stts_tag(AVIOContext *pb, MOVTrack *track) |
949 | 949 |
entries++; /* last one */ |
950 | 950 |
} |
951 | 951 |
atom_size = 16 + (entries * 8); |
952 |
- put_be32(pb, atom_size); /* size */ |
|
952 |
+ avio_wb32(pb, atom_size); /* size */ |
|
953 | 953 |
put_tag(pb, "stts"); |
954 |
- put_be32(pb, 0); /* version & flags */ |
|
955 |
- put_be32(pb, entries); /* entry count */ |
|
954 |
+ avio_wb32(pb, 0); /* version & flags */ |
|
955 |
+ avio_wb32(pb, entries); /* entry count */ |
|
956 | 956 |
for (i=0; i<entries; i++) { |
957 |
- put_be32(pb, stts_entries[i].count); |
|
958 |
- put_be32(pb, stts_entries[i].duration); |
|
957 |
+ avio_wb32(pb, stts_entries[i].count); |
|
958 |
+ avio_wb32(pb, stts_entries[i].duration); |
|
959 | 959 |
} |
960 | 960 |
av_free(stts_entries); |
961 | 961 |
return atom_size; |
... | ... |
@@ -963,14 +963,14 @@ static int mov_write_stts_tag(AVIOContext *pb, MOVTrack *track) |
963 | 963 |
|
964 | 964 |
static int mov_write_dref_tag(AVIOContext *pb) |
965 | 965 |
{ |
966 |
- put_be32(pb, 28); /* size */ |
|
966 |
+ avio_wb32(pb, 28); /* size */ |
|
967 | 967 |
put_tag(pb, "dref"); |
968 |
- put_be32(pb, 0); /* version & flags */ |
|
969 |
- put_be32(pb, 1); /* entry count */ |
|
968 |
+ avio_wb32(pb, 0); /* version & flags */ |
|
969 |
+ avio_wb32(pb, 1); /* entry count */ |
|
970 | 970 |
|
971 |
- put_be32(pb, 0xc); /* size */ |
|
971 |
+ avio_wb32(pb, 0xc); /* size */ |
|
972 | 972 |
put_tag(pb, "url "); |
973 |
- put_be32(pb, 1); /* version & flags */ |
|
973 |
+ avio_wb32(pb, 1); /* version & flags */ |
|
974 | 974 |
|
975 | 975 |
return 28; |
976 | 976 |
} |
... | ... |
@@ -978,7 +978,7 @@ static int mov_write_dref_tag(AVIOContext *pb) |
978 | 978 |
static int mov_write_stbl_tag(AVIOContext *pb, MOVTrack *track) |
979 | 979 |
{ |
980 | 980 |
int64_t pos = url_ftell(pb); |
981 |
- put_be32(pb, 0); /* size */ |
|
981 |
+ avio_wb32(pb, 0); /* size */ |
|
982 | 982 |
put_tag(pb, "stbl"); |
983 | 983 |
mov_write_stsd_tag(pb, track); |
984 | 984 |
mov_write_stts_tag(pb, track); |
... | ... |
@@ -1000,7 +1000,7 @@ static int mov_write_stbl_tag(AVIOContext *pb, MOVTrack *track) |
1000 | 1000 |
static int mov_write_dinf_tag(AVIOContext *pb) |
1001 | 1001 |
{ |
1002 | 1002 |
int64_t pos = url_ftell(pb); |
1003 |
- put_be32(pb, 0); /* size */ |
|
1003 |
+ avio_wb32(pb, 0); /* size */ |
|
1004 | 1004 |
put_tag(pb, "dinf"); |
1005 | 1005 |
mov_write_dref_tag(pb); |
1006 | 1006 |
return updateSize(pb, pos); |
... | ... |
@@ -1008,44 +1008,44 @@ static int mov_write_dinf_tag(AVIOContext *pb) |
1008 | 1008 |
|
1009 | 1009 |
static int mov_write_nmhd_tag(AVIOContext *pb) |
1010 | 1010 |
{ |
1011 |
- put_be32(pb, 12); |
|
1011 |
+ avio_wb32(pb, 12); |
|
1012 | 1012 |
put_tag(pb, "nmhd"); |
1013 |
- put_be32(pb, 0); |
|
1013 |
+ avio_wb32(pb, 0); |
|
1014 | 1014 |
return 12; |
1015 | 1015 |
} |
1016 | 1016 |
|
1017 | 1017 |
static int mov_write_gmhd_tag(AVIOContext *pb) |
1018 | 1018 |
{ |
1019 |
- put_be32(pb, 0x20); /* size */ |
|
1019 |
+ avio_wb32(pb, 0x20); /* size */ |
|
1020 | 1020 |
put_tag(pb, "gmhd"); |
1021 |
- put_be32(pb, 0x18); /* gmin size */ |
|
1021 |
+ avio_wb32(pb, 0x18); /* gmin size */ |
|
1022 | 1022 |
put_tag(pb, "gmin"); /* generic media info */ |
1023 |
- put_be32(pb, 0); /* version & flags */ |
|
1024 |
- put_be16(pb, 0x40); /* graphics mode = */ |
|
1025 |
- put_be16(pb, 0x8000); /* opColor (r?) */ |
|
1026 |
- put_be16(pb, 0x8000); /* opColor (g?) */ |
|
1027 |
- put_be16(pb, 0x8000); /* opColor (b?) */ |
|
1028 |
- put_be16(pb, 0); /* balance */ |
|
1029 |
- put_be16(pb, 0); /* reserved */ |
|
1023 |
+ avio_wb32(pb, 0); /* version & flags */ |
|
1024 |
+ avio_wb16(pb, 0x40); /* graphics mode = */ |
|
1025 |
+ avio_wb16(pb, 0x8000); /* opColor (r?) */ |
|
1026 |
+ avio_wb16(pb, 0x8000); /* opColor (g?) */ |
|
1027 |
+ avio_wb16(pb, 0x8000); /* opColor (b?) */ |
|
1028 |
+ avio_wb16(pb, 0); /* balance */ |
|
1029 |
+ avio_wb16(pb, 0); /* reserved */ |
|
1030 | 1030 |
return 0x20; |
1031 | 1031 |
} |
1032 | 1032 |
|
1033 | 1033 |
static int mov_write_smhd_tag(AVIOContext *pb) |
1034 | 1034 |
{ |
1035 |
- put_be32(pb, 16); /* size */ |
|
1035 |
+ avio_wb32(pb, 16); /* size */ |
|
1036 | 1036 |
put_tag(pb, "smhd"); |
1037 |
- put_be32(pb, 0); /* version & flags */ |
|
1038 |
- put_be16(pb, 0); /* reserved (balance, normally = 0) */ |
|
1039 |
- put_be16(pb, 0); /* reserved */ |
|
1037 |
+ avio_wb32(pb, 0); /* version & flags */ |
|
1038 |
+ avio_wb16(pb, 0); /* reserved (balance, normally = 0) */ |
|
1039 |
+ avio_wb16(pb, 0); /* reserved */ |
|
1040 | 1040 |
return 16; |
1041 | 1041 |
} |
1042 | 1042 |
|
1043 | 1043 |
static int mov_write_vmhd_tag(AVIOContext *pb) |
1044 | 1044 |
{ |
1045 |
- put_be32(pb, 0x14); /* size (always 0x14) */ |
|
1045 |
+ avio_wb32(pb, 0x14); /* size (always 0x14) */ |
|
1046 | 1046 |
put_tag(pb, "vmhd"); |
1047 |
- put_be32(pb, 0x01); /* version & flags */ |
|
1048 |
- put_be64(pb, 0); /* reserved (graphics mode = copy) */ |
|
1047 |
+ avio_wb32(pb, 0x01); /* version & flags */ |
|
1048 |
+ avio_wb64(pb, 0); /* reserved (graphics mode = copy) */ |
|
1049 | 1049 |
return 0x14; |
1050 | 1050 |
} |
1051 | 1051 |
|
... | ... |
@@ -1076,19 +1076,19 @@ static int mov_write_hdlr_tag(AVIOContext *pb, MOVTrack *track) |
1076 | 1076 |
} |
1077 | 1077 |
} |
1078 | 1078 |
|
1079 |
- put_be32(pb, 0); /* size */ |
|
1079 |
+ avio_wb32(pb, 0); /* size */ |
|
1080 | 1080 |
put_tag(pb, "hdlr"); |
1081 |
- put_be32(pb, 0); /* Version & flags */ |
|
1082 |
- put_buffer(pb, hdlr, 4); /* handler */ |
|
1081 |
+ avio_wb32(pb, 0); /* Version & flags */ |
|
1082 |
+ avio_write(pb, hdlr, 4); /* handler */ |
|
1083 | 1083 |
put_tag(pb, hdlr_type); /* handler type */ |
1084 |
- put_be32(pb ,0); /* reserved */ |
|
1085 |
- put_be32(pb ,0); /* reserved */ |
|
1086 |
- put_be32(pb ,0); /* reserved */ |
|
1084 |
+ avio_wb32(pb ,0); /* reserved */ |
|
1085 |
+ avio_wb32(pb ,0); /* reserved */ |
|
1086 |
+ avio_wb32(pb ,0); /* reserved */ |
|
1087 | 1087 |
if (!track || track->mode == MODE_MOV) |
1088 |
- put_byte(pb, strlen(descr)); /* pascal string */ |
|
1089 |
- put_buffer(pb, descr, strlen(descr)); /* handler description */ |
|
1088 |
+ avio_w8(pb, strlen(descr)); /* pascal string */ |
|
1089 |
+ avio_write(pb, descr, strlen(descr)); /* handler description */ |
|
1090 | 1090 |
if (track && track->mode != MODE_MOV) |
1091 |
- put_byte(pb, 0); /* c string */ |
|
1091 |
+ avio_w8(pb, 0); /* c string */ |
|
1092 | 1092 |
return updateSize(pb, pos); |
1093 | 1093 |
} |
1094 | 1094 |
|
... | ... |
@@ -1096,21 +1096,21 @@ static int mov_write_hmhd_tag(AVIOContext *pb) |
1096 | 1096 |
{ |
1097 | 1097 |
/* This atom must be present, but leaving the values at zero |
1098 | 1098 |
* seems harmless. */ |
1099 |
- put_be32(pb, 28); /* size */ |
|
1099 |
+ avio_wb32(pb, 28); /* size */ |
|
1100 | 1100 |
put_tag(pb, "hmhd"); |
1101 |
- put_be32(pb, 0); /* version, flags */ |
|
1102 |
- put_be16(pb, 0); /* maxPDUsize */ |
|
1103 |
- put_be16(pb, 0); /* avgPDUsize */ |
|
1104 |
- put_be32(pb, 0); /* maxbitrate */ |
|
1105 |
- put_be32(pb, 0); /* avgbitrate */ |
|
1106 |
- put_be32(pb, 0); /* reserved */ |
|
1101 |
+ avio_wb32(pb, 0); /* version, flags */ |
|
1102 |
+ avio_wb16(pb, 0); /* maxPDUsize */ |
|
1103 |
+ avio_wb16(pb, 0); /* avgPDUsize */ |
|
1104 |
+ avio_wb32(pb, 0); /* maxbitrate */ |
|
1105 |
+ avio_wb32(pb, 0); /* avgbitrate */ |
|
1106 |
+ avio_wb32(pb, 0); /* reserved */ |
|
1107 | 1107 |
return 28; |
1108 | 1108 |
} |
1109 | 1109 |
|
1110 | 1110 |
static int mov_write_minf_tag(AVIOContext *pb, MOVTrack *track) |
1111 | 1111 |
{ |
1112 | 1112 |
int64_t pos = url_ftell(pb); |
1113 |
- put_be32(pb, 0); /* size */ |
|
1113 |
+ avio_wb32(pb, 0); /* size */ |
|
1114 | 1114 |
put_tag(pb, "minf"); |
1115 | 1115 |
if(track->enc->codec_type == AVMEDIA_TYPE_VIDEO) |
1116 | 1116 |
mov_write_vmhd_tag(pb); |
... | ... |
@@ -1133,21 +1133,21 @@ static int mov_write_mdhd_tag(AVIOContext *pb, MOVTrack *track) |
1133 | 1133 |
{ |
1134 | 1134 |
int version = track->trackDuration < INT32_MAX ? 0 : 1; |
1135 | 1135 |
|
1136 |
- (version == 1) ? put_be32(pb, 44) : put_be32(pb, 32); /* size */ |
|
1136 |
+ (version == 1) ? avio_wb32(pb, 44) : avio_wb32(pb, 32); /* size */ |
|
1137 | 1137 |
put_tag(pb, "mdhd"); |
1138 |
- put_byte(pb, version); |
|
1139 |
- put_be24(pb, 0); /* flags */ |
|
1138 |
+ avio_w8(pb, version); |
|
1139 |
+ avio_wb24(pb, 0); /* flags */ |
|
1140 | 1140 |
if (version == 1) { |
1141 |
- put_be64(pb, track->time); |
|
1142 |
- put_be64(pb, track->time); |
|
1141 |
+ avio_wb64(pb, track->time); |
|
1142 |
+ avio_wb64(pb, track->time); |
|
1143 | 1143 |
} else { |
1144 |
- put_be32(pb, track->time); /* creation time */ |
|
1145 |
- put_be32(pb, track->time); /* modification time */ |
|
1144 |
+ avio_wb32(pb, track->time); /* creation time */ |
|
1145 |
+ avio_wb32(pb, track->time); /* modification time */ |
|
1146 | 1146 |
} |
1147 |
- put_be32(pb, track->timescale); /* time scale (sample rate for audio) */ |
|
1148 |
- (version == 1) ? put_be64(pb, track->trackDuration) : put_be32(pb, track->trackDuration); /* duration */ |
|
1149 |
- put_be16(pb, track->language); /* language */ |
|
1150 |
- put_be16(pb, 0); /* reserved (quality) */ |
|
1147 |
+ avio_wb32(pb, track->timescale); /* time scale (sample rate for audio) */ |
|
1148 |
+ (version == 1) ? avio_wb64(pb, track->trackDuration) : avio_wb32(pb, track->trackDuration); /* duration */ |
|
1149 |
+ avio_wb16(pb, track->language); /* language */ |
|
1150 |
+ avio_wb16(pb, 0); /* reserved (quality) */ |
|
1151 | 1151 |
|
1152 | 1152 |
if(version!=0 && track->mode == MODE_MOV){ |
1153 | 1153 |
av_log(NULL, AV_LOG_ERROR, |
... | ... |
@@ -1162,7 +1162,7 @@ static int mov_write_mdhd_tag(AVIOContext *pb, MOVTrack *track) |
1162 | 1162 |
static int mov_write_mdia_tag(AVIOContext *pb, MOVTrack *track) |
1163 | 1163 |
{ |
1164 | 1164 |
int64_t pos = url_ftell(pb); |
1165 |
- put_be32(pb, 0); /* size */ |
|
1165 |
+ avio_wb32(pb, 0); /* size */ |
|
1166 | 1166 |
put_tag(pb, "mdia"); |
1167 | 1167 |
mov_write_mdhd_tag(pb, track); |
1168 | 1168 |
mov_write_hdlr_tag(pb, track); |
... | ... |
@@ -1176,41 +1176,41 @@ static int mov_write_tkhd_tag(AVIOContext *pb, MOVTrack *track, AVStream *st) |
1176 | 1176 |
track->timescale, AV_ROUND_UP); |
1177 | 1177 |
int version = duration < INT32_MAX ? 0 : 1; |
1178 | 1178 |
|
1179 |
- (version == 1) ? put_be32(pb, 104) : put_be32(pb, 92); /* size */ |
|
1179 |
+ (version == 1) ? avio_wb32(pb, 104) : avio_wb32(pb, 92); /* size */ |
|
1180 | 1180 |
put_tag(pb, "tkhd"); |
1181 |
- put_byte(pb, version); |
|
1182 |
- put_be24(pb, 0xf); /* flags (track enabled) */ |
|
1181 |
+ avio_w8(pb, version); |
|
1182 |
+ avio_wb24(pb, 0xf); /* flags (track enabled) */ |
|
1183 | 1183 |
if (version == 1) { |
1184 |
- put_be64(pb, track->time); |
|
1185 |
- put_be64(pb, track->time); |
|
1184 |
+ avio_wb64(pb, track->time); |
|
1185 |
+ avio_wb64(pb, track->time); |
|
1186 | 1186 |
} else { |
1187 |
- put_be32(pb, track->time); /* creation time */ |
|
1188 |
- put_be32(pb, track->time); /* modification time */ |
|
1187 |
+ avio_wb32(pb, track->time); /* creation time */ |
|
1188 |
+ avio_wb32(pb, track->time); /* modification time */ |
|
1189 | 1189 |
} |
1190 |
- put_be32(pb, track->trackID); /* track-id */ |
|
1191 |
- put_be32(pb, 0); /* reserved */ |
|
1192 |
- (version == 1) ? put_be64(pb, duration) : put_be32(pb, duration); |
|
1190 |
+ avio_wb32(pb, track->trackID); /* track-id */ |
|
1191 |
+ avio_wb32(pb, 0); /* reserved */ |
|
1192 |
+ (version == 1) ? avio_wb64(pb, duration) : avio_wb32(pb, duration); |
|
1193 | 1193 |
|
1194 |
- put_be32(pb, 0); /* reserved */ |
|
1195 |
- put_be32(pb, 0); /* reserved */ |
|
1196 |
- put_be32(pb, 0x0); /* reserved (Layer & Alternate group) */ |
|
1194 |
+ avio_wb32(pb, 0); /* reserved */ |
|
1195 |
+ avio_wb32(pb, 0); /* reserved */ |
|
1196 |
+ avio_wb32(pb, 0x0); /* reserved (Layer & Alternate group) */ |
|
1197 | 1197 |
/* Volume, only for audio */ |
1198 | 1198 |
if(track->enc->codec_type == AVMEDIA_TYPE_AUDIO) |
1199 |
- put_be16(pb, 0x0100); |
|
1199 |
+ avio_wb16(pb, 0x0100); |
|
1200 | 1200 |
else |
1201 |
- put_be16(pb, 0); |
|
1202 |
- put_be16(pb, 0); /* reserved */ |
|
1201 |
+ avio_wb16(pb, 0); |
|
1202 |
+ avio_wb16(pb, 0); /* reserved */ |
|
1203 | 1203 |
|
1204 | 1204 |
/* Matrix structure */ |
1205 |
- put_be32(pb, 0x00010000); /* reserved */ |
|
1206 |
- put_be32(pb, 0x0); /* reserved */ |
|
1207 |
- put_be32(pb, 0x0); /* reserved */ |
|
1208 |
- put_be32(pb, 0x0); /* reserved */ |
|
1209 |
- put_be32(pb, 0x00010000); /* reserved */ |
|
1210 |
- put_be32(pb, 0x0); /* reserved */ |
|
1211 |
- put_be32(pb, 0x0); /* reserved */ |
|
1212 |
- put_be32(pb, 0x0); /* reserved */ |
|
1213 |
- put_be32(pb, 0x40000000); /* reserved */ |
|
1205 |
+ avio_wb32(pb, 0x00010000); /* reserved */ |
|
1206 |
+ avio_wb32(pb, 0x0); /* reserved */ |
|
1207 |
+ avio_wb32(pb, 0x0); /* reserved */ |
|
1208 |
+ avio_wb32(pb, 0x0); /* reserved */ |
|
1209 |
+ avio_wb32(pb, 0x00010000); /* reserved */ |
|
1210 |
+ avio_wb32(pb, 0x0); /* reserved */ |
|
1211 |
+ avio_wb32(pb, 0x0); /* reserved */ |
|
1212 |
+ avio_wb32(pb, 0x0); /* reserved */ |
|
1213 |
+ avio_wb32(pb, 0x40000000); /* reserved */ |
|
1214 | 1214 |
|
1215 | 1215 |
/* Track width and height, for visual only */ |
1216 | 1216 |
if(st && (track->enc->codec_type == AVMEDIA_TYPE_VIDEO || |
... | ... |
@@ -1218,12 +1218,12 @@ static int mov_write_tkhd_tag(AVIOContext *pb, MOVTrack *track, AVStream *st) |
1218 | 1218 |
double sample_aspect_ratio = av_q2d(st->sample_aspect_ratio); |
1219 | 1219 |
if(!sample_aspect_ratio || track->height != track->enc->height) |
1220 | 1220 |
sample_aspect_ratio = 1; |
1221 |
- put_be32(pb, sample_aspect_ratio * track->enc->width*0x10000); |
|
1222 |
- put_be32(pb, track->height*0x10000); |
|
1221 |
+ avio_wb32(pb, sample_aspect_ratio * track->enc->width*0x10000); |
|
1222 |
+ avio_wb32(pb, track->height*0x10000); |
|
1223 | 1223 |
} |
1224 | 1224 |
else { |
1225 |
- put_be32(pb, 0); |
|
1226 |
- put_be32(pb, 0); |
|
1225 |
+ avio_wb32(pb, 0); |
|
1226 |
+ avio_wb32(pb, 0); |
|
1227 | 1227 |
} |
1228 | 1228 |
return 0x5c; |
1229 | 1229 |
} |
... | ... |
@@ -1231,48 +1231,48 @@ static int mov_write_tkhd_tag(AVIOContext *pb, MOVTrack *track, AVStream *st) |
1231 | 1231 |
// This box seems important for the psp playback ... without it the movie seems to hang |
1232 | 1232 |
static int mov_write_edts_tag(AVIOContext *pb, MOVTrack *track) |
1233 | 1233 |
{ |
1234 |
- put_be32(pb, 0x24); /* size */ |
|
1234 |
+ avio_wb32(pb, 0x24); /* size */ |
|
1235 | 1235 |
put_tag(pb, "edts"); |
1236 |
- put_be32(pb, 0x1c); /* size */ |
|
1236 |
+ avio_wb32(pb, 0x1c); /* size */ |
|
1237 | 1237 |
put_tag(pb, "elst"); |
1238 |
- put_be32(pb, 0x0); |
|
1239 |
- put_be32(pb, 0x1); |
|
1238 |
+ avio_wb32(pb, 0x0); |
|
1239 |
+ avio_wb32(pb, 0x1); |
|
1240 | 1240 |
|
1241 | 1241 |
/* duration ... doesn't seem to effect psp */ |
1242 |
- put_be32(pb, av_rescale_rnd(track->trackDuration, MOV_TIMESCALE, |
|
1242 |
+ avio_wb32(pb, av_rescale_rnd(track->trackDuration, MOV_TIMESCALE, |
|
1243 | 1243 |
track->timescale, AV_ROUND_UP)); |
1244 | 1244 |
|
1245 |
- put_be32(pb, track->cluster[0].cts); /* first pts is cts since dts is 0 */ |
|
1246 |
- put_be32(pb, 0x00010000); |
|
1245 |
+ avio_wb32(pb, track->cluster[0].cts); /* first pts is cts since dts is 0 */ |
|
1246 |
+ avio_wb32(pb, 0x00010000); |
|
1247 | 1247 |
return 0x24; |
1248 | 1248 |
} |
1249 | 1249 |
|
1250 | 1250 |
static int mov_write_tref_tag(AVIOContext *pb, MOVTrack *track) |
1251 | 1251 |
{ |
1252 |
- put_be32(pb, 20); // size |
|
1252 |
+ avio_wb32(pb, 20); // size |
|
1253 | 1253 |
put_tag(pb, "tref"); |
1254 |
- put_be32(pb, 12); // size (subatom) |
|
1255 |
- put_le32(pb, track->tref_tag); |
|
1256 |
- put_be32(pb, track->tref_id); |
|
1254 |
+ avio_wb32(pb, 12); // size (subatom) |
|
1255 |
+ avio_wl32(pb, track->tref_tag); |
|
1256 |
+ avio_wb32(pb, track->tref_id); |
|
1257 | 1257 |
return 20; |
1258 | 1258 |
} |
1259 | 1259 |
|
1260 | 1260 |
// goes at the end of each track! ... Critical for PSP playback ("Incompatible data" without it) |
1261 | 1261 |
static int mov_write_uuid_tag_psp(AVIOContext *pb, MOVTrack *mov) |
1262 | 1262 |
{ |
1263 |
- put_be32(pb, 0x34); /* size ... reports as 28 in mp4box! */ |
|
1263 |
+ avio_wb32(pb, 0x34); /* size ... reports as 28 in mp4box! */ |
|
1264 | 1264 |
put_tag(pb, "uuid"); |
1265 | 1265 |
put_tag(pb, "USMT"); |
1266 |
- put_be32(pb, 0x21d24fce); |
|
1267 |
- put_be32(pb, 0xbb88695c); |
|
1268 |
- put_be32(pb, 0xfac9c740); |
|
1269 |
- put_be32(pb, 0x1c); // another size here! |
|
1266 |
+ avio_wb32(pb, 0x21d24fce); |
|
1267 |
+ avio_wb32(pb, 0xbb88695c); |
|
1268 |
+ avio_wb32(pb, 0xfac9c740); |
|
1269 |
+ avio_wb32(pb, 0x1c); // another size here! |
|
1270 | 1270 |
put_tag(pb, "MTDT"); |
1271 |
- put_be32(pb, 0x00010012); |
|
1272 |
- put_be32(pb, 0x0a); |
|
1273 |
- put_be32(pb, 0x55c40000); |
|
1274 |
- put_be32(pb, 0x1); |
|
1275 |
- put_be32(pb, 0x0); |
|
1271 |
+ avio_wb32(pb, 0x00010012); |
|
1272 |
+ avio_wb32(pb, 0x0a); |
|
1273 |
+ avio_wb32(pb, 0x55c40000); |
|
1274 |
+ avio_wb32(pb, 0x1); |
|
1275 |
+ avio_wb32(pb, 0x0); |
|
1276 | 1276 |
return 0x34; |
1277 | 1277 |
} |
1278 | 1278 |
|
... | ... |
@@ -1285,20 +1285,20 @@ static int mov_write_udta_sdp(AVIOContext *pb, AVCodecContext *ctx, int index) |
1285 | 1285 |
av_strlcatf(buf, sizeof(buf), "a=control:streamid=%d\r\n", index); |
1286 | 1286 |
len = strlen(buf); |
1287 | 1287 |
|
1288 |
- put_be32(pb, len + 24); |
|
1288 |
+ avio_wb32(pb, len + 24); |
|
1289 | 1289 |
put_tag (pb, "udta"); |
1290 |
- put_be32(pb, len + 16); |
|
1290 |
+ avio_wb32(pb, len + 16); |
|
1291 | 1291 |
put_tag (pb, "hnti"); |
1292 |
- put_be32(pb, len + 8); |
|
1292 |
+ avio_wb32(pb, len + 8); |
|
1293 | 1293 |
put_tag (pb, "sdp "); |
1294 |
- put_buffer(pb, buf, len); |
|
1294 |
+ avio_write(pb, buf, len); |
|
1295 | 1295 |
return len + 24; |
1296 | 1296 |
} |
1297 | 1297 |
|
1298 | 1298 |
static int mov_write_trak_tag(AVIOContext *pb, MOVTrack *track, AVStream *st) |
1299 | 1299 |
{ |
1300 | 1300 |
int64_t pos = url_ftell(pb); |
1301 |
- put_be32(pb, 0); /* size */ |
|
1301 |
+ avio_wb32(pb, 0); /* size */ |
|
1302 | 1302 |
put_tag(pb, "trak"); |
1303 | 1303 |
mov_write_tkhd_tag(pb, track, st); |
1304 | 1304 |
if (track->mode == MODE_PSP || track->flags & MOV_TRACK_CTTS) |
... | ... |
@@ -1317,14 +1317,14 @@ static int mov_write_trak_tag(AVIOContext *pb, MOVTrack *track, AVStream *st) |
1317 | 1317 |
/* TODO: Not sorted out, but not necessary either */ |
1318 | 1318 |
static int mov_write_iods_tag(AVIOContext *pb, MOVMuxContext *mov) |
1319 | 1319 |
{ |
1320 |
- put_be32(pb, 0x15); /* size */ |
|
1320 |
+ avio_wb32(pb, 0x15); /* size */ |
|
1321 | 1321 |
put_tag(pb, "iods"); |
1322 |
- put_be32(pb, 0); /* version & flags */ |
|
1323 |
- put_be16(pb, 0x1007); |
|
1324 |
- put_byte(pb, 0); |
|
1325 |
- put_be16(pb, 0x4fff); |
|
1326 |
- put_be16(pb, 0xfffe); |
|
1327 |
- put_be16(pb, 0x01ff); |
|
1322 |
+ avio_wb32(pb, 0); /* version & flags */ |
|
1323 |
+ avio_wb16(pb, 0x1007); |
|
1324 |
+ avio_w8(pb, 0); |
|
1325 |
+ avio_wb16(pb, 0x4fff); |
|
1326 |
+ avio_wb16(pb, 0xfffe); |
|
1327 |
+ avio_wb16(pb, 0x01ff); |
|
1328 | 1328 |
return 0x15; |
1329 | 1329 |
} |
1330 | 1330 |
#endif |
... | ... |
@@ -1349,59 +1349,59 @@ static int mov_write_mvhd_tag(AVIOContext *pb, MOVMuxContext *mov) |
1349 | 1349 |
} |
1350 | 1350 |
|
1351 | 1351 |
version = maxTrackLen < UINT32_MAX ? 0 : 1; |
1352 |
- (version == 1) ? put_be32(pb, 120) : put_be32(pb, 108); /* size */ |
|
1352 |
+ (version == 1) ? avio_wb32(pb, 120) : avio_wb32(pb, 108); /* size */ |
|
1353 | 1353 |
put_tag(pb, "mvhd"); |
1354 |
- put_byte(pb, version); |
|
1355 |
- put_be24(pb, 0); /* flags */ |
|
1354 |
+ avio_w8(pb, version); |
|
1355 |
+ avio_wb24(pb, 0); /* flags */ |
|
1356 | 1356 |
if (version == 1) { |
1357 |
- put_be64(pb, mov->time); |
|
1358 |
- put_be64(pb, mov->time); |
|
1357 |
+ avio_wb64(pb, mov->time); |
|
1358 |
+ avio_wb64(pb, mov->time); |
|
1359 | 1359 |
} else { |
1360 |
- put_be32(pb, mov->time); /* creation time */ |
|
1361 |
- put_be32(pb, mov->time); /* modification time */ |
|
1360 |
+ avio_wb32(pb, mov->time); /* creation time */ |
|
1361 |
+ avio_wb32(pb, mov->time); /* modification time */ |
|
1362 | 1362 |
} |
1363 |
- put_be32(pb, MOV_TIMESCALE); |
|
1364 |
- (version == 1) ? put_be64(pb, maxTrackLen) : put_be32(pb, maxTrackLen); /* duration of longest track */ |
|
1363 |
+ avio_wb32(pb, MOV_TIMESCALE); |
|
1364 |
+ (version == 1) ? avio_wb64(pb, maxTrackLen) : avio_wb32(pb, maxTrackLen); /* duration of longest track */ |
|
1365 | 1365 |
|
1366 |
- put_be32(pb, 0x00010000); /* reserved (preferred rate) 1.0 = normal */ |
|
1367 |
- put_be16(pb, 0x0100); /* reserved (preferred volume) 1.0 = normal */ |
|
1368 |
- put_be16(pb, 0); /* reserved */ |
|
1369 |
- put_be32(pb, 0); /* reserved */ |
|
1370 |
- put_be32(pb, 0); /* reserved */ |
|
1366 |
+ avio_wb32(pb, 0x00010000); /* reserved (preferred rate) 1.0 = normal */ |
|
1367 |
+ avio_wb16(pb, 0x0100); /* reserved (preferred volume) 1.0 = normal */ |
|
1368 |
+ avio_wb16(pb, 0); /* reserved */ |
|
1369 |
+ avio_wb32(pb, 0); /* reserved */ |
|
1370 |
+ avio_wb32(pb, 0); /* reserved */ |
|
1371 | 1371 |
|
1372 | 1372 |
/* Matrix structure */ |
1373 |
- put_be32(pb, 0x00010000); /* reserved */ |
|
1374 |
- put_be32(pb, 0x0); /* reserved */ |
|
1375 |
- put_be32(pb, 0x0); /* reserved */ |
|
1376 |
- put_be32(pb, 0x0); /* reserved */ |
|
1377 |
- put_be32(pb, 0x00010000); /* reserved */ |
|
1378 |
- put_be32(pb, 0x0); /* reserved */ |
|
1379 |
- put_be32(pb, 0x0); /* reserved */ |
|
1380 |
- put_be32(pb, 0x0); /* reserved */ |
|
1381 |
- put_be32(pb, 0x40000000); /* reserved */ |
|
1382 |
- |
|
1383 |
- put_be32(pb, 0); /* reserved (preview time) */ |
|
1384 |
- put_be32(pb, 0); /* reserved (preview duration) */ |
|
1385 |
- put_be32(pb, 0); /* reserved (poster time) */ |
|
1386 |
- put_be32(pb, 0); /* reserved (selection time) */ |
|
1387 |
- put_be32(pb, 0); /* reserved (selection duration) */ |
|
1388 |
- put_be32(pb, 0); /* reserved (current time) */ |
|
1389 |
- put_be32(pb, maxTrackID+1); /* Next track id */ |
|
1373 |
+ avio_wb32(pb, 0x00010000); /* reserved */ |
|
1374 |
+ avio_wb32(pb, 0x0); /* reserved */ |
|
1375 |
+ avio_wb32(pb, 0x0); /* reserved */ |
|
1376 |
+ avio_wb32(pb, 0x0); /* reserved */ |
|
1377 |
+ avio_wb32(pb, 0x00010000); /* reserved */ |
|
1378 |
+ avio_wb32(pb, 0x0); /* reserved */ |
|
1379 |
+ avio_wb32(pb, 0x0); /* reserved */ |
|
1380 |
+ avio_wb32(pb, 0x0); /* reserved */ |
|
1381 |
+ avio_wb32(pb, 0x40000000); /* reserved */ |
|
1382 |
+ |
|
1383 |
+ avio_wb32(pb, 0); /* reserved (preview time) */ |
|
1384 |
+ avio_wb32(pb, 0); /* reserved (preview duration) */ |
|
1385 |
+ avio_wb32(pb, 0); /* reserved (poster time) */ |
|
1386 |
+ avio_wb32(pb, 0); /* reserved (selection time) */ |
|
1387 |
+ avio_wb32(pb, 0); /* reserved (selection duration) */ |
|
1388 |
+ avio_wb32(pb, 0); /* reserved (current time) */ |
|
1389 |
+ avio_wb32(pb, maxTrackID+1); /* Next track id */ |
|
1390 | 1390 |
return 0x6c; |
1391 | 1391 |
} |
1392 | 1392 |
|
1393 | 1393 |
static int mov_write_itunes_hdlr_tag(AVIOContext *pb, MOVMuxContext *mov, |
1394 | 1394 |
AVFormatContext *s) |
1395 | 1395 |
{ |
1396 |
- put_be32(pb, 33); /* size */ |
|
1396 |
+ avio_wb32(pb, 33); /* size */ |
|
1397 | 1397 |
put_tag(pb, "hdlr"); |
1398 |
- put_be32(pb, 0); |
|
1399 |
- put_be32(pb, 0); |
|
1398 |
+ avio_wb32(pb, 0); |
|
1399 |
+ avio_wb32(pb, 0); |
|
1400 | 1400 |
put_tag(pb, "mdir"); |
1401 | 1401 |
put_tag(pb, "appl"); |
1402 |
- put_be32(pb, 0); |
|
1403 |
- put_be32(pb, 0); |
|
1404 |
- put_byte(pb, 0); |
|
1402 |
+ avio_wb32(pb, 0); |
|
1403 |
+ avio_wb32(pb, 0); |
|
1404 |
+ avio_w8(pb, 0); |
|
1405 | 1405 |
return 33; |
1406 | 1406 |
} |
1407 | 1407 |
|
... | ... |
@@ -1410,18 +1410,18 @@ static int mov_write_string_data_tag(AVIOContext *pb, const char *data, int lang |
1410 | 1410 |
{ |
1411 | 1411 |
if(long_style){ |
1412 | 1412 |
int size = 16 + strlen(data); |
1413 |
- put_be32(pb, size); /* size */ |
|
1413 |
+ avio_wb32(pb, size); /* size */ |
|
1414 | 1414 |
put_tag(pb, "data"); |
1415 |
- put_be32(pb, 1); |
|
1416 |
- put_be32(pb, 0); |
|
1417 |
- put_buffer(pb, data, strlen(data)); |
|
1415 |
+ avio_wb32(pb, 1); |
|
1416 |
+ avio_wb32(pb, 0); |
|
1417 |
+ avio_write(pb, data, strlen(data)); |
|
1418 | 1418 |
return size; |
1419 | 1419 |
}else{ |
1420 | 1420 |
if (!lang) |
1421 | 1421 |
lang = ff_mov_iso639_to_lang("und", 1); |
1422 |
- put_be16(pb, strlen(data)); /* string length */ |
|
1423 |
- put_be16(pb, lang); |
|
1424 |
- put_buffer(pb, data, strlen(data)); |
|
1422 |
+ avio_wb16(pb, strlen(data)); /* string length */ |
|
1423 |
+ avio_wb16(pb, lang); |
|
1424 |
+ avio_write(pb, data, strlen(data)); |
|
1425 | 1425 |
return strlen(data) + 4; |
1426 | 1426 |
} |
1427 | 1427 |
} |
... | ... |
@@ -1430,7 +1430,7 @@ static int mov_write_string_tag(AVIOContext *pb, const char *name, const char *v |
1430 | 1430 |
int size = 0; |
1431 | 1431 |
if (value && value[0]) { |
1432 | 1432 |
int64_t pos = url_ftell(pb); |
1433 |
- put_be32(pb, 0); /* size */ |
|
1433 |
+ avio_wb32(pb, 0); /* size */ |
|
1434 | 1434 |
put_tag(pb, name); |
1435 | 1435 |
mov_write_string_data_tag(pb, value, lang, long_style); |
1436 | 1436 |
size= updateSize(pb, pos); |
... | ... |
@@ -1469,16 +1469,16 @@ static int mov_write_trkn_tag(AVIOContext *pb, MOVMuxContext *mov, |
1469 | 1469 |
AVMetadataTag *t = av_metadata_get(s->metadata, "track", NULL, 0); |
1470 | 1470 |
int size = 0, track = t ? atoi(t->value) : 0; |
1471 | 1471 |
if (track) { |
1472 |
- put_be32(pb, 32); /* size */ |
|
1472 |
+ avio_wb32(pb, 32); /* size */ |
|
1473 | 1473 |
put_tag(pb, "trkn"); |
1474 |
- put_be32(pb, 24); /* size */ |
|
1474 |
+ avio_wb32(pb, 24); /* size */ |
|
1475 | 1475 |
put_tag(pb, "data"); |
1476 |
- put_be32(pb, 0); // 8 bytes empty |
|
1477 |
- put_be32(pb, 0); |
|
1478 |
- put_be16(pb, 0); // empty |
|
1479 |
- put_be16(pb, track); // track number |
|
1480 |
- put_be16(pb, 0); // total track number |
|
1481 |
- put_be16(pb, 0); // empty |
|
1476 |
+ avio_wb32(pb, 0); // 8 bytes empty |
|
1477 |
+ avio_wb32(pb, 0); |
|
1478 |
+ avio_wb16(pb, 0); // empty |
|
1479 |
+ avio_wb16(pb, track); // track number |
|
1480 |
+ avio_wb16(pb, 0); // total track number |
|
1481 |
+ avio_wb16(pb, 0); // empty |
|
1482 | 1482 |
size = 32; |
1483 | 1483 |
} |
1484 | 1484 |
return size; |
... | ... |
@@ -1489,7 +1489,7 @@ static int mov_write_ilst_tag(AVIOContext *pb, MOVMuxContext *mov, |
1489 | 1489 |
AVFormatContext *s) |
1490 | 1490 |
{ |
1491 | 1491 |
int64_t pos = url_ftell(pb); |
1492 |
- put_be32(pb, 0); /* size */ |
|
1492 |
+ avio_wb32(pb, 0); /* size */ |
|
1493 | 1493 |
put_tag(pb, "ilst"); |
1494 | 1494 |
mov_write_string_metadata(s, pb, "\251nam", "title" , 1); |
1495 | 1495 |
mov_write_string_metadata(s, pb, "\251ART", "artist" , 1); |
... | ... |
@@ -1518,9 +1518,9 @@ static int mov_write_meta_tag(AVIOContext *pb, MOVMuxContext *mov, |
1518 | 1518 |
{ |
1519 | 1519 |
int size = 0; |
1520 | 1520 |
int64_t pos = url_ftell(pb); |
1521 |
- put_be32(pb, 0); /* size */ |
|
1521 |
+ avio_wb32(pb, 0); /* size */ |
|
1522 | 1522 |
put_tag(pb, "meta"); |
1523 |
- put_be32(pb, 0); |
|
1523 |
+ avio_wb32(pb, 0); |
|
1524 | 1524 |
mov_write_itunes_hdlr_tag(pb, mov, s); |
1525 | 1525 |
mov_write_ilst_tag(pb, mov, s); |
1526 | 1526 |
size = updateSize(pb, pos); |
... | ... |
@@ -1543,9 +1543,9 @@ static int ascii_to_wc(AVIOContext *pb, const uint8_t *b) |
1543 | 1543 |
int val; |
1544 | 1544 |
while(*b){ |
1545 | 1545 |
GET_UTF8(val, *b++, return -1;) |
1546 |
- put_be16(pb, val); |
|
1546 |
+ avio_wb16(pb, val); |
|
1547 | 1547 |
} |
1548 |
- put_be16(pb, 0x00); |
|
1548 |
+ avio_wb16(pb, 0x00); |
|
1549 | 1549 |
return 0; |
1550 | 1550 |
} |
1551 | 1551 |
|
... | ... |
@@ -1561,17 +1561,17 @@ static int mov_write_3gp_udta_tag(AVIOContext *pb, AVFormatContext *s, |
1561 | 1561 |
AVMetadataTag *t = av_metadata_get(s->metadata, str, NULL, 0); |
1562 | 1562 |
if (!t || !utf8len(t->value)) |
1563 | 1563 |
return 0; |
1564 |
- put_be32(pb, 0); /* size */ |
|
1564 |
+ avio_wb32(pb, 0); /* size */ |
|
1565 | 1565 |
put_tag (pb, tag); /* type */ |
1566 |
- put_be32(pb, 0); /* version + flags */ |
|
1566 |
+ avio_wb32(pb, 0); /* version + flags */ |
|
1567 | 1567 |
if (!strcmp(tag, "yrrc")) |
1568 |
- put_be16(pb, atoi(t->value)); |
|
1568 |
+ avio_wb16(pb, atoi(t->value)); |
|
1569 | 1569 |
else { |
1570 |
- put_be16(pb, language_code("eng")); /* language */ |
|
1571 |
- put_buffer(pb, t->value, strlen(t->value)+1); /* UTF8 string value */ |
|
1570 |
+ avio_wb16(pb, language_code("eng")); /* language */ |
|
1571 |
+ avio_write(pb, t->value, strlen(t->value)+1); /* UTF8 string value */ |
|
1572 | 1572 |
if (!strcmp(tag, "albm") && |
1573 | 1573 |
(t = av_metadata_get(s->metadata, "track", NULL, 0))) |
1574 |
- put_byte(pb, atoi(t->value)); |
|
1574 |
+ avio_w8(pb, atoi(t->value)); |
|
1575 | 1575 |
} |
1576 | 1576 |
return updateSize(pb, pos); |
1577 | 1577 |
} |
... | ... |
@@ -1581,23 +1581,23 @@ static int mov_write_chpl_tag(AVIOContext *pb, AVFormatContext *s) |
1581 | 1581 |
int64_t pos = url_ftell(pb); |
1582 | 1582 |
int i, nb_chapters = FFMIN(s->nb_chapters, 255); |
1583 | 1583 |
|
1584 |
- put_be32(pb, 0); // size |
|
1584 |
+ avio_wb32(pb, 0); // size |
|
1585 | 1585 |
put_tag (pb, "chpl"); |
1586 |
- put_be32(pb, 0x01000000); // version + flags |
|
1587 |
- put_be32(pb, 0); // unknown |
|
1588 |
- put_byte(pb, nb_chapters); |
|
1586 |
+ avio_wb32(pb, 0x01000000); // version + flags |
|
1587 |
+ avio_wb32(pb, 0); // unknown |
|
1588 |
+ avio_w8(pb, nb_chapters); |
|
1589 | 1589 |
|
1590 | 1590 |
for (i = 0; i < nb_chapters; i++) { |
1591 | 1591 |
AVChapter *c = s->chapters[i]; |
1592 | 1592 |
AVMetadataTag *t; |
1593 |
- put_be64(pb, av_rescale_q(c->start, c->time_base, (AVRational){1,10000000})); |
|
1593 |
+ avio_wb64(pb, av_rescale_q(c->start, c->time_base, (AVRational){1,10000000})); |
|
1594 | 1594 |
|
1595 | 1595 |
if ((t = av_metadata_get(c->metadata, "title", NULL, 0))) { |
1596 | 1596 |
int len = FFMIN(strlen(t->value), 255); |
1597 |
- put_byte(pb, len); |
|
1598 |
- put_buffer(pb, t->value, len); |
|
1597 |
+ avio_w8(pb, len); |
|
1598 |
+ avio_write(pb, t->value, len); |
|
1599 | 1599 |
} else |
1600 |
- put_byte(pb, 0); |
|
1600 |
+ avio_w8(pb, 0); |
|
1601 | 1601 |
} |
1602 | 1602 |
return updateSize(pb, pos); |
1603 | 1603 |
} |
... | ... |
@@ -1646,9 +1646,9 @@ static int mov_write_udta_tag(AVIOContext *pb, MOVMuxContext *mov, |
1646 | 1646 |
mov_write_chpl_tag(pb_buf, s); |
1647 | 1647 |
|
1648 | 1648 |
if ((size = url_close_dyn_buf(pb_buf, &buf)) > 0) { |
1649 |
- put_be32(pb, size+8); |
|
1649 |
+ avio_wb32(pb, size+8); |
|
1650 | 1650 |
put_tag(pb, "udta"); |
1651 |
- put_buffer(pb, buf, size); |
|
1651 |
+ avio_write(pb, buf, size); |
|
1652 | 1652 |
} |
1653 | 1653 |
av_free(buf); |
1654 | 1654 |
|
... | ... |
@@ -1661,10 +1661,10 @@ static void mov_write_psp_udta_tag(AVIOContext *pb, |
1661 | 1661 |
int len = utf8len(str)+1; |
1662 | 1662 |
if(len<=0) |
1663 | 1663 |
return; |
1664 |
- put_be16(pb, len*2+10); /* size */ |
|
1665 |
- put_be32(pb, type); /* type */ |
|
1666 |
- put_be16(pb, language_code(lang)); /* language */ |
|
1667 |
- put_be16(pb, 0x01); /* ? */ |
|
1664 |
+ avio_wb16(pb, len*2+10); /* size */ |
|
1665 |
+ avio_wb32(pb, type); /* type */ |
|
1666 |
+ avio_wb16(pb, language_code(lang)); /* language */ |
|
1667 |
+ avio_wb16(pb, 0x01); /* ? */ |
|
1668 | 1668 |
ascii_to_wc(pb, str); |
1669 | 1669 |
} |
1670 | 1670 |
|
... | ... |
@@ -1675,24 +1675,24 @@ static int mov_write_uuidusmt_tag(AVIOContext *pb, AVFormatContext *s) |
1675 | 1675 |
|
1676 | 1676 |
if (title) { |
1677 | 1677 |
pos = url_ftell(pb); |
1678 |
- put_be32(pb, 0); /* size placeholder*/ |
|
1678 |
+ avio_wb32(pb, 0); /* size placeholder*/ |
|
1679 | 1679 |
put_tag(pb, "uuid"); |
1680 | 1680 |
put_tag(pb, "USMT"); |
1681 |
- put_be32(pb, 0x21d24fce); /* 96 bit UUID */ |
|
1682 |
- put_be32(pb, 0xbb88695c); |
|
1683 |
- put_be32(pb, 0xfac9c740); |
|
1681 |
+ avio_wb32(pb, 0x21d24fce); /* 96 bit UUID */ |
|
1682 |
+ avio_wb32(pb, 0xbb88695c); |
|
1683 |
+ avio_wb32(pb, 0xfac9c740); |
|
1684 | 1684 |
|
1685 | 1685 |
pos2 = url_ftell(pb); |
1686 |
- put_be32(pb, 0); /* size placeholder*/ |
|
1686 |
+ avio_wb32(pb, 0); /* size placeholder*/ |
|
1687 | 1687 |
put_tag(pb, "MTDT"); |
1688 |
- put_be16(pb, 4); |
|
1688 |
+ avio_wb16(pb, 4); |
|
1689 | 1689 |
|
1690 | 1690 |
// ? |
1691 |
- put_be16(pb, 0x0C); /* size */ |
|
1692 |
- put_be32(pb, 0x0B); /* type */ |
|
1693 |
- put_be16(pb, language_code("und")); /* language */ |
|
1694 |
- put_be16(pb, 0x0); /* ? */ |
|
1695 |
- put_be16(pb, 0x021C); /* data */ |
|
1691 |
+ avio_wb16(pb, 0x0C); /* size */ |
|
1692 |
+ avio_wb32(pb, 0x0B); /* type */ |
|
1693 |
+ avio_wb16(pb, language_code("und")); /* language */ |
|
1694 |
+ avio_wb16(pb, 0x0); /* ? */ |
|
1695 |
+ avio_wb16(pb, 0x021C); /* data */ |
|
1696 | 1696 |
|
1697 | 1697 |
mov_write_psp_udta_tag(pb, LIBAVCODEC_IDENT, "eng", 0x04); |
1698 | 1698 |
mov_write_psp_udta_tag(pb, title->value, "eng", 0x01); |
... | ... |
@@ -1711,7 +1711,7 @@ static int mov_write_moov_tag(AVIOContext *pb, MOVMuxContext *mov, |
1711 | 1711 |
{ |
1712 | 1712 |
int i; |
1713 | 1713 |
int64_t pos = url_ftell(pb); |
1714 |
- put_be32(pb, 0); /* size placeholder*/ |
|
1714 |
+ avio_wb32(pb, 0); /* size placeholder*/ |
|
1715 | 1715 |
put_tag(pb, "moov"); |
1716 | 1716 |
|
1717 | 1717 |
for (i=0; i<mov->nb_streams; i++) { |
... | ... |
@@ -1752,11 +1752,11 @@ static int mov_write_moov_tag(AVIOContext *pb, MOVMuxContext *mov, |
1752 | 1752 |
|
1753 | 1753 |
static int mov_write_mdat_tag(AVIOContext *pb, MOVMuxContext *mov) |
1754 | 1754 |
{ |
1755 |
- put_be32(pb, 8); // placeholder for extended size field (64 bit) |
|
1755 |
+ avio_wb32(pb, 8); // placeholder for extended size field (64 bit) |
|
1756 | 1756 |
put_tag(pb, mov->mode == MODE_MOV ? "wide" : "free"); |
1757 | 1757 |
|
1758 | 1758 |
mov->mdat_pos = url_ftell(pb); |
1759 |
- put_be32(pb, 0); /* size placeholder*/ |
|
1759 |
+ avio_wb32(pb, 0); /* size placeholder*/ |
|
1760 | 1760 |
put_tag(pb, "mdat"); |
1761 | 1761 |
return 0; |
1762 | 1762 |
} |
... | ... |
@@ -1778,7 +1778,7 @@ static int mov_write_ftyp_tag(AVIOContext *pb, AVFormatContext *s) |
1778 | 1778 |
has_h264 = 1; |
1779 | 1779 |
} |
1780 | 1780 |
|
1781 |
- put_be32(pb, 0); /* size */ |
|
1781 |
+ avio_wb32(pb, 0); /* size */ |
|
1782 | 1782 |
put_tag(pb, "ftyp"); |
1783 | 1783 |
|
1784 | 1784 |
if (mov->mode == MODE_3GP) { |
... | ... |
@@ -1796,7 +1796,7 @@ static int mov_write_ftyp_tag(AVIOContext *pb, AVFormatContext *s) |
1796 | 1796 |
else |
1797 | 1797 |
put_tag(pb, "qt "); |
1798 | 1798 |
|
1799 |
- put_be32(pb, minor); |
|
1799 |
+ avio_wb32(pb, minor); |
|
1800 | 1800 |
|
1801 | 1801 |
if(mov->mode == MODE_MOV) |
1802 | 1802 |
put_tag(pb, "qt "); |
... | ... |
@@ -1827,56 +1827,56 @@ static void mov_write_uuidprof_tag(AVIOContext *pb, AVFormatContext *s) |
1827 | 1827 |
int audio_kbitrate= AudioCodec->bit_rate / 1000; |
1828 | 1828 |
int video_kbitrate= FFMIN(VideoCodec->bit_rate / 1000, 800 - audio_kbitrate); |
1829 | 1829 |
|
1830 |
- put_be32(pb, 0x94); /* size */ |
|
1830 |
+ avio_wb32(pb, 0x94); /* size */ |
|
1831 | 1831 |
put_tag(pb, "uuid"); |
1832 | 1832 |
put_tag(pb, "PROF"); |
1833 | 1833 |
|
1834 |
- put_be32(pb, 0x21d24fce); /* 96 bit UUID */ |
|
1835 |
- put_be32(pb, 0xbb88695c); |
|
1836 |
- put_be32(pb, 0xfac9c740); |
|
1834 |
+ avio_wb32(pb, 0x21d24fce); /* 96 bit UUID */ |
|
1835 |
+ avio_wb32(pb, 0xbb88695c); |
|
1836 |
+ avio_wb32(pb, 0xfac9c740); |
|
1837 | 1837 |
|
1838 |
- put_be32(pb, 0x0); /* ? */ |
|
1839 |
- put_be32(pb, 0x3); /* 3 sections ? */ |
|
1838 |
+ avio_wb32(pb, 0x0); /* ? */ |
|
1839 |
+ avio_wb32(pb, 0x3); /* 3 sections ? */ |
|
1840 | 1840 |
|
1841 |
- put_be32(pb, 0x14); /* size */ |
|
1841 |
+ avio_wb32(pb, 0x14); /* size */ |
|
1842 | 1842 |
put_tag(pb, "FPRF"); |
1843 |
- put_be32(pb, 0x0); /* ? */ |
|
1844 |
- put_be32(pb, 0x0); /* ? */ |
|
1845 |
- put_be32(pb, 0x0); /* ? */ |
|
1843 |
+ avio_wb32(pb, 0x0); /* ? */ |
|
1844 |
+ avio_wb32(pb, 0x0); /* ? */ |
|
1845 |
+ avio_wb32(pb, 0x0); /* ? */ |
|
1846 | 1846 |
|
1847 |
- put_be32(pb, 0x2c); /* size */ |
|
1847 |
+ avio_wb32(pb, 0x2c); /* size */ |
|
1848 | 1848 |
put_tag(pb, "APRF"); /* audio */ |
1849 |
- put_be32(pb, 0x0); |
|
1850 |
- put_be32(pb, 0x2); /* TrackID */ |
|
1849 |
+ avio_wb32(pb, 0x0); |
|
1850 |
+ avio_wb32(pb, 0x2); /* TrackID */ |
|
1851 | 1851 |
put_tag(pb, "mp4a"); |
1852 |
- put_be32(pb, 0x20f); |
|
1853 |
- put_be32(pb, 0x0); |
|
1854 |
- put_be32(pb, audio_kbitrate); |
|
1855 |
- put_be32(pb, audio_kbitrate); |
|
1856 |
- put_be32(pb, AudioRate); |
|
1857 |
- put_be32(pb, AudioCodec->channels); |
|
1858 |
- |
|
1859 |
- put_be32(pb, 0x34); /* size */ |
|
1852 |
+ avio_wb32(pb, 0x20f); |
|
1853 |
+ avio_wb32(pb, 0x0); |
|
1854 |
+ avio_wb32(pb, audio_kbitrate); |
|
1855 |
+ avio_wb32(pb, audio_kbitrate); |
|
1856 |
+ avio_wb32(pb, AudioRate); |
|
1857 |
+ avio_wb32(pb, AudioCodec->channels); |
|
1858 |
+ |
|
1859 |
+ avio_wb32(pb, 0x34); /* size */ |
|
1860 | 1860 |
put_tag(pb, "VPRF"); /* video */ |
1861 |
- put_be32(pb, 0x0); |
|
1862 |
- put_be32(pb, 0x1); /* TrackID */ |
|
1861 |
+ avio_wb32(pb, 0x0); |
|
1862 |
+ avio_wb32(pb, 0x1); /* TrackID */ |
|
1863 | 1863 |
if (VideoCodec->codec_id == CODEC_ID_H264) { |
1864 | 1864 |
put_tag(pb, "avc1"); |
1865 |
- put_be16(pb, 0x014D); |
|
1866 |
- put_be16(pb, 0x0015); |
|
1865 |
+ avio_wb16(pb, 0x014D); |
|
1866 |
+ avio_wb16(pb, 0x0015); |
|
1867 | 1867 |
} else { |
1868 | 1868 |
put_tag(pb, "mp4v"); |
1869 |
- put_be16(pb, 0x0000); |
|
1870 |
- put_be16(pb, 0x0103); |
|
1869 |
+ avio_wb16(pb, 0x0000); |
|
1870 |
+ avio_wb16(pb, 0x0103); |
|
1871 | 1871 |
} |
1872 |
- put_be32(pb, 0x0); |
|
1873 |
- put_be32(pb, video_kbitrate); |
|
1874 |
- put_be32(pb, video_kbitrate); |
|
1875 |
- put_be32(pb, FrameRate); |
|
1876 |
- put_be32(pb, FrameRate); |
|
1877 |
- put_be16(pb, VideoCodec->width); |
|
1878 |
- put_be16(pb, VideoCodec->height); |
|
1879 |
- put_be32(pb, 0x010001); /* ? */ |
|
1872 |
+ avio_wb32(pb, 0x0); |
|
1873 |
+ avio_wb32(pb, video_kbitrate); |
|
1874 |
+ avio_wb32(pb, video_kbitrate); |
|
1875 |
+ avio_wb32(pb, FrameRate); |
|
1876 |
+ avio_wb32(pb, FrameRate); |
|
1877 |
+ avio_wb16(pb, VideoCodec->width); |
|
1878 |
+ avio_wb16(pb, VideoCodec->height); |
|
1879 |
+ avio_wb32(pb, 0x010001); /* ? */ |
|
1880 | 1880 |
} |
1881 | 1881 |
|
1882 | 1882 |
static int mov_parse_mpeg2_frame(AVPacket *pkt, uint32_t *flags) |
... | ... |
@@ -1946,7 +1946,7 @@ int ff_mov_write_packet(AVFormatContext *s, AVPacket *pkt) |
1946 | 1946 |
/* nal reformating needed */ |
1947 | 1947 |
size = ff_avc_parse_nal_units(pb, pkt->data, pkt->size); |
1948 | 1948 |
} else { |
1949 |
- put_buffer(pb, pkt->data, size); |
|
1949 |
+ avio_write(pb, pkt->data, size); |
|
1950 | 1950 |
} |
1951 | 1951 |
|
1952 | 1952 |
if ((enc->codec_id == CODEC_ID_DNXHD || |
... | ... |
@@ -2201,13 +2201,13 @@ static int mov_write_trailer(AVFormatContext *s) |
2201 | 2201 |
/* Write size of mdat tag */ |
2202 | 2202 |
if (mov->mdat_size+8 <= UINT32_MAX) { |
2203 | 2203 |
url_fseek(pb, mov->mdat_pos, SEEK_SET); |
2204 |
- put_be32(pb, mov->mdat_size+8); |
|
2204 |
+ avio_wb32(pb, mov->mdat_size+8); |
|
2205 | 2205 |
} else { |
2206 | 2206 |
/* overwrite 'wide' placeholder atom */ |
2207 | 2207 |
url_fseek(pb, mov->mdat_pos - 8, SEEK_SET); |
2208 |
- put_be32(pb, 1); /* special value: real atom size will be 64 bit value after tag field */ |
|
2208 |
+ avio_wb32(pb, 1); /* special value: real atom size will be 64 bit value after tag field */ |
|
2209 | 2209 |
put_tag(pb, "mdat"); |
2210 |
- put_be64(pb, mov->mdat_size+16); |
|
2210 |
+ avio_wb64(pb, mov->mdat_size+16); |
|
2211 | 2211 |
} |
2212 | 2212 |
url_fseek(pb, moov_pos, SEEK_SET); |
2213 | 2213 |
|
... | ... |
@@ -251,14 +251,14 @@ static void output_immediate(const uint8_t *data, int size, |
251 | 251 |
int len = size; |
252 | 252 |
if (len > 14) |
253 | 253 |
len = 14; |
254 |
- put_byte(out, 1); /* immediate constructor */ |
|
255 |
- put_byte(out, len); /* amount of valid data */ |
|
256 |
- put_buffer(out, data, len); |
|
254 |
+ avio_w8(out, 1); /* immediate constructor */ |
|
255 |
+ avio_w8(out, len); /* amount of valid data */ |
|
256 |
+ avio_write(out, data, len); |
|
257 | 257 |
data += len; |
258 | 258 |
size -= len; |
259 | 259 |
|
260 | 260 |
for (; len < 14; len++) |
261 |
- put_byte(out, 0); |
|
261 |
+ avio_w8(out, 0); |
|
262 | 262 |
|
263 | 263 |
(*entries)++; |
264 | 264 |
} |
... | ... |
@@ -267,13 +267,13 @@ static void output_immediate(const uint8_t *data, int size, |
267 | 267 |
static void output_match(AVIOContext *out, int match_sample, |
268 | 268 |
int match_offset, int match_len, int *entries) |
269 | 269 |
{ |
270 |
- put_byte(out, 2); /* sample constructor */ |
|
271 |
- put_byte(out, 0); /* track reference */ |
|
272 |
- put_be16(out, match_len); |
|
273 |
- put_be32(out, match_sample); |
|
274 |
- put_be32(out, match_offset); |
|
275 |
- put_be16(out, 1); /* bytes per block */ |
|
276 |
- put_be16(out, 1); /* samples per block */ |
|
270 |
+ avio_w8(out, 2); /* sample constructor */ |
|
271 |
+ avio_w8(out, 0); /* track reference */ |
|
272 |
+ avio_wb16(out, match_len); |
|
273 |
+ avio_wb32(out, match_sample); |
|
274 |
+ avio_wb32(out, match_offset); |
|
275 |
+ avio_wb16(out, 1); /* bytes per block */ |
|
276 |
+ avio_wb16(out, 1); /* samples per block */ |
|
277 | 277 |
(*entries)++; |
278 | 278 |
} |
279 | 279 |
|
... | ... |
@@ -318,8 +318,8 @@ static int write_hint_packets(AVIOContext *out, const uint8_t *data, |
318 | 318 |
|
319 | 319 |
count_pos = url_ftell(out); |
320 | 320 |
/* RTPsample header */ |
321 |
- put_be16(out, 0); /* packet count */ |
|
322 |
- put_be16(out, 0); /* reserved */ |
|
321 |
+ avio_wb16(out, 0); /* packet count */ |
|
322 |
+ avio_wb16(out, 0); /* reserved */ |
|
323 | 323 |
|
324 | 324 |
while (size > 4) { |
325 | 325 |
uint32_t packet_len = AV_RB32(data); |
... | ... |
@@ -354,12 +354,12 @@ static int write_hint_packets(AVIOContext *out, const uint8_t *data, |
354 | 354 |
|
355 | 355 |
count++; |
356 | 356 |
/* RTPpacket header */ |
357 |
- put_be32(out, 0); /* relative_time */ |
|
358 |
- put_buffer(out, data, 2); /* RTP header */ |
|
359 |
- put_be16(out, seq); /* RTPsequenceseed */ |
|
360 |
- put_be16(out, 0); /* reserved + flags */ |
|
357 |
+ avio_wb32(out, 0); /* relative_time */ |
|
358 |
+ avio_write(out, data, 2); /* RTP header */ |
|
359 |
+ avio_wb16(out, seq); /* RTPsequenceseed */ |
|
360 |
+ avio_wb16(out, 0); /* reserved + flags */ |
|
361 | 361 |
entries_pos = url_ftell(out); |
362 |
- put_be16(out, 0); /* entry count */ |
|
362 |
+ avio_wb16(out, 0); /* entry count */ |
|
363 | 363 |
|
364 | 364 |
data += 12; |
365 | 365 |
size -= 12; |
... | ... |
@@ -373,13 +373,13 @@ static int write_hint_packets(AVIOContext *out, const uint8_t *data, |
373 | 373 |
|
374 | 374 |
curpos = url_ftell(out); |
375 | 375 |
url_fseek(out, entries_pos, SEEK_SET); |
376 |
- put_be16(out, entries); |
|
376 |
+ avio_wb16(out, entries); |
|
377 | 377 |
url_fseek(out, curpos, SEEK_SET); |
378 | 378 |
} |
379 | 379 |
|
380 | 380 |
curpos = url_ftell(out); |
381 | 381 |
url_fseek(out, count_pos, SEEK_SET); |
382 |
- put_be16(out, count); |
|
382 |
+ avio_wb16(out, count); |
|
383 | 383 |
url_fseek(out, curpos, SEEK_SET); |
384 | 384 |
return count; |
385 | 385 |
} |
... | ... |
@@ -71,10 +71,10 @@ static int id3v1_create_tag(AVFormatContext *s, uint8_t *buf) |
71 | 71 |
|
72 | 72 |
static void id3v2_put_size(AVFormatContext *s, int size) |
73 | 73 |
{ |
74 |
- put_byte(s->pb, size >> 21 & 0x7f); |
|
75 |
- put_byte(s->pb, size >> 14 & 0x7f); |
|
76 |
- put_byte(s->pb, size >> 7 & 0x7f); |
|
77 |
- put_byte(s->pb, size & 0x7f); |
|
74 |
+ avio_w8(s->pb, size >> 21 & 0x7f); |
|
75 |
+ avio_w8(s->pb, size >> 14 & 0x7f); |
|
76 |
+ avio_w8(s->pb, size >> 7 & 0x7f); |
|
77 |
+ avio_w8(s->pb, size & 0x7f); |
|
78 | 78 |
} |
79 | 79 |
|
80 | 80 |
static int string_is_ascii(const uint8_t *str) |
... | ... |
@@ -104,9 +104,9 @@ static int id3v2_put_ttag(AVFormatContext *s, const char *str1, const char *str2 |
104 | 104 |
(!str2 || string_is_ascii(str2))) |
105 | 105 |
enc = ID3v2_ENCODING_ISO8859; |
106 | 106 |
|
107 |
- put_byte(dyn_buf, enc); |
|
107 |
+ avio_w8(dyn_buf, enc); |
|
108 | 108 |
if (enc == ID3v2_ENCODING_UTF16BOM) { |
109 |
- put_le16(dyn_buf, 0xFEFF); /* BOM */ |
|
109 |
+ avio_wl16(dyn_buf, 0xFEFF); /* BOM */ |
|
110 | 110 |
put = avio_put_str16le; |
111 | 111 |
} else |
112 | 112 |
put = avio_put_str; |
... | ... |
@@ -116,10 +116,10 @@ static int id3v2_put_ttag(AVFormatContext *s, const char *str1, const char *str2 |
116 | 116 |
put(dyn_buf, str2); |
117 | 117 |
len = url_close_dyn_buf(dyn_buf, &pb); |
118 | 118 |
|
119 |
- put_be32(s->pb, tag); |
|
119 |
+ avio_wb32(s->pb, tag); |
|
120 | 120 |
id3v2_put_size(s, len); |
121 |
- put_be16(s->pb, 0); |
|
122 |
- put_buffer(s->pb, pb, len); |
|
121 |
+ avio_wb16(s->pb, 0); |
|
122 |
+ avio_write(s->pb, pb, len); |
|
123 | 123 |
|
124 | 124 |
av_freep(&pb); |
125 | 125 |
return len + ID3v2_HEADER_SIZE; |
... | ... |
@@ -128,7 +128,7 @@ static int id3v2_put_ttag(AVFormatContext *s, const char *str1, const char *str2 |
128 | 128 |
|
129 | 129 |
static int mp3_write_packet(struct AVFormatContext *s, AVPacket *pkt) |
130 | 130 |
{ |
131 |
- put_buffer(s->pb, pkt->data, pkt->size); |
|
131 |
+ avio_write(s->pb, pkt->data, pkt->size); |
|
132 | 132 |
put_flush_packet(s->pb); |
133 | 133 |
return 0; |
134 | 134 |
} |
... | ... |
@@ -139,7 +139,7 @@ static int mp3_write_trailer(struct AVFormatContext *s) |
139 | 139 |
|
140 | 140 |
/* write the id3v1 tag */ |
141 | 141 |
if (id3v1_create_tag(s, buf) > 0) { |
142 |
- put_buffer(s->pb, buf, ID3v1_TAG_SIZE); |
|
142 |
+ avio_write(s->pb, buf, ID3v1_TAG_SIZE); |
|
143 | 143 |
put_flush_packet(s->pb); |
144 | 144 |
} |
145 | 145 |
return 0; |
... | ... |
@@ -206,13 +206,13 @@ static int mp3_write_header(struct AVFormatContext *s) |
206 | 206 |
ID3v2_ENCODING_UTF8; |
207 | 207 |
int64_t size_pos, cur_pos; |
208 | 208 |
|
209 |
- put_be32(s->pb, MKBETAG('I', 'D', '3', mp3->id3v2_version)); |
|
210 |
- put_byte(s->pb, 0); |
|
211 |
- put_byte(s->pb, 0); /* flags */ |
|
209 |
+ avio_wb32(s->pb, MKBETAG('I', 'D', '3', mp3->id3v2_version)); |
|
210 |
+ avio_w8(s->pb, 0); |
|
211 |
+ avio_w8(s->pb, 0); /* flags */ |
|
212 | 212 |
|
213 | 213 |
/* reserve space for size */ |
214 | 214 |
size_pos = url_ftell(s->pb); |
215 |
- put_be32(s->pb, 0); |
|
215 |
+ avio_wb32(s->pb, 0); |
|
216 | 216 |
|
217 | 217 |
ff_metadata_conv(&s->metadata, ff_id3v2_34_metadata_conv, NULL); |
218 | 218 |
if (mp3->id3v2_version == 4) |
... | ... |
@@ -493,12 +493,12 @@ static int mpeg_mux_init(AVFormatContext *ctx) |
493 | 493 |
|
494 | 494 |
static inline void put_timestamp(AVIOContext *pb, int id, int64_t timestamp) |
495 | 495 |
{ |
496 |
- put_byte(pb, |
|
496 |
+ avio_w8(pb, |
|
497 | 497 |
(id << 4) | |
498 | 498 |
(((timestamp >> 30) & 0x07) << 1) | |
499 | 499 |
1); |
500 |
- put_be16(pb, (uint16_t)((((timestamp >> 15) & 0x7fff) << 1) | 1)); |
|
501 |
- put_be16(pb, (uint16_t)((((timestamp ) & 0x7fff) << 1) | 1)); |
|
500 |
+ avio_wb16(pb, (uint16_t)((((timestamp >> 15) & 0x7fff) << 1) | 1)); |
|
501 |
+ avio_wb16(pb, (uint16_t)((((timestamp ) & 0x7fff) << 1) | 1)); |
|
502 | 502 |
} |
503 | 503 |
|
504 | 504 |
|
... | ... |
@@ -618,16 +618,16 @@ static void put_padding_packet(AVFormatContext *ctx, AVIOContext *pb,int packet_ |
618 | 618 |
MpegMuxContext *s = ctx->priv_data; |
619 | 619 |
int i; |
620 | 620 |
|
621 |
- put_be32(pb, PADDING_STREAM); |
|
622 |
- put_be16(pb, packet_bytes - 6); |
|
621 |
+ avio_wb32(pb, PADDING_STREAM); |
|
622 |
+ avio_wb16(pb, packet_bytes - 6); |
|
623 | 623 |
if (!s->is_mpeg2) { |
624 |
- put_byte(pb, 0x0f); |
|
624 |
+ avio_w8(pb, 0x0f); |
|
625 | 625 |
packet_bytes -= 7; |
626 | 626 |
} else |
627 | 627 |
packet_bytes -= 6; |
628 | 628 |
|
629 | 629 |
for(i=0;i<packet_bytes;i++) |
630 |
- put_byte(pb, 0xff); |
|
630 |
+ avio_w8(pb, 0xff); |
|
631 | 631 |
} |
632 | 632 |
|
633 | 633 |
static int get_nb_frames(AVFormatContext *ctx, StreamInfo *stream, int len){ |
... | ... |
@@ -699,19 +699,19 @@ static int flush_packet(AVFormatContext *ctx, int stream_index, |
699 | 699 |
size = put_system_header(ctx, buf_ptr, 0); |
700 | 700 |
buf_ptr += size; |
701 | 701 |
size = buf_ptr - buffer; |
702 |
- put_buffer(ctx->pb, buffer, size); |
|
702 |
+ avio_write(ctx->pb, buffer, size); |
|
703 | 703 |
|
704 |
- put_be32(ctx->pb, PRIVATE_STREAM_2); |
|
705 |
- put_be16(ctx->pb, 0x03d4); // length |
|
706 |
- put_byte(ctx->pb, 0x00); // substream ID, 00=PCI |
|
704 |
+ avio_wb32(ctx->pb, PRIVATE_STREAM_2); |
|
705 |
+ avio_wb16(ctx->pb, 0x03d4); // length |
|
706 |
+ avio_w8(ctx->pb, 0x00); // substream ID, 00=PCI |
|
707 | 707 |
for (i = 0; i < 979; i++) |
708 |
- put_byte(ctx->pb, 0x00); |
|
708 |
+ avio_w8(ctx->pb, 0x00); |
|
709 | 709 |
|
710 |
- put_be32(ctx->pb, PRIVATE_STREAM_2); |
|
711 |
- put_be16(ctx->pb, 0x03fa); // length |
|
712 |
- put_byte(ctx->pb, 0x01); // substream ID, 01=DSI |
|
710 |
+ avio_wb32(ctx->pb, PRIVATE_STREAM_2); |
|
711 |
+ avio_wb16(ctx->pb, 0x03fa); // length |
|
712 |
+ avio_w8(ctx->pb, 0x01); // substream ID, 01=DSI |
|
713 | 713 |
for (i = 0; i < 1017; i++) |
714 |
- put_byte(ctx->pb, 0x00); |
|
714 |
+ avio_w8(ctx->pb, 0x00); |
|
715 | 715 |
|
716 | 716 |
memset(buffer, 0, 128); |
717 | 717 |
buf_ptr = buffer; |
... | ... |
@@ -734,7 +734,7 @@ static int flush_packet(AVFormatContext *ctx, int stream_index, |
734 | 734 |
} |
735 | 735 |
} |
736 | 736 |
size = buf_ptr - buffer; |
737 |
- put_buffer(ctx->pb, buffer, size); |
|
737 |
+ avio_write(ctx->pb, buffer, size); |
|
738 | 738 |
|
739 | 739 |
packet_size = s->packet_size - size; |
740 | 740 |
|
... | ... |
@@ -839,16 +839,16 @@ static int flush_packet(AVFormatContext *ctx, int stream_index, |
839 | 839 |
|
840 | 840 |
nb_frames= get_nb_frames(ctx, stream, payload_size - stuffing_size); |
841 | 841 |
|
842 |
- put_be32(ctx->pb, startcode); |
|
842 |
+ avio_wb32(ctx->pb, startcode); |
|
843 | 843 |
|
844 |
- put_be16(ctx->pb, packet_size); |
|
844 |
+ avio_wb16(ctx->pb, packet_size); |
|
845 | 845 |
|
846 | 846 |
if (!s->is_mpeg2) |
847 | 847 |
for(i=0;i<stuffing_size;i++) |
848 |
- put_byte(ctx->pb, 0xff); |
|
848 |
+ avio_w8(ctx->pb, 0xff); |
|
849 | 849 |
|
850 | 850 |
if (s->is_mpeg2) { |
851 |
- put_byte(ctx->pb, 0x80); /* mpeg2 id */ |
|
851 |
+ avio_w8(ctx->pb, 0x80); /* mpeg2 id */ |
|
852 | 852 |
|
853 | 853 |
pes_flags=0; |
854 | 854 |
|
... | ... |
@@ -865,8 +865,8 @@ static int flush_packet(AVFormatContext *ctx, int stream_index, |
865 | 865 |
if (stream->packet_number == 0) |
866 | 866 |
pes_flags |= 0x01; |
867 | 867 |
|
868 |
- put_byte(ctx->pb, pes_flags); /* flags */ |
|
869 |
- put_byte(ctx->pb, header_len - 3 + stuffing_size); |
|
868 |
+ avio_w8(ctx->pb, pes_flags); /* flags */ |
|
869 |
+ avio_w8(ctx->pb, header_len - 3 + stuffing_size); |
|
870 | 870 |
|
871 | 871 |
if (pes_flags & 0x80) /*write pts*/ |
872 | 872 |
put_timestamp(ctx->pb, (pes_flags & 0x40) ? 0x03 : 0x02, pts); |
... | ... |
@@ -874,13 +874,13 @@ static int flush_packet(AVFormatContext *ctx, int stream_index, |
874 | 874 |
put_timestamp(ctx->pb, 0x01, dts); |
875 | 875 |
|
876 | 876 |
if (pes_flags & 0x01) { /*write pes extension*/ |
877 |
- put_byte(ctx->pb, 0x10); /* flags */ |
|
877 |
+ avio_w8(ctx->pb, 0x10); /* flags */ |
|
878 | 878 |
|
879 | 879 |
/* P-STD buffer info */ |
880 | 880 |
if ((id & 0xe0) == AUDIO_ID) |
881 |
- put_be16(ctx->pb, 0x4000 | stream->max_buffer_size/ 128); |
|
881 |
+ avio_wb16(ctx->pb, 0x4000 | stream->max_buffer_size/ 128); |
|
882 | 882 |
else |
883 |
- put_be16(ctx->pb, 0x6000 | stream->max_buffer_size/1024); |
|
883 |
+ avio_wb16(ctx->pb, 0x6000 | stream->max_buffer_size/1024); |
|
884 | 884 |
} |
885 | 885 |
|
886 | 886 |
} else { |
... | ... |
@@ -892,38 +892,38 @@ static int flush_packet(AVFormatContext *ctx, int stream_index, |
892 | 892 |
put_timestamp(ctx->pb, 0x02, pts); |
893 | 893 |
} |
894 | 894 |
} else { |
895 |
- put_byte(ctx->pb, 0x0f); |
|
895 |
+ avio_w8(ctx->pb, 0x0f); |
|
896 | 896 |
} |
897 | 897 |
} |
898 | 898 |
|
899 | 899 |
if (s->is_mpeg2) { |
900 | 900 |
/* special stuffing byte that is always written |
901 | 901 |
to prevent accidental generation of start codes. */ |
902 |
- put_byte(ctx->pb, 0xff); |
|
902 |
+ avio_w8(ctx->pb, 0xff); |
|
903 | 903 |
|
904 | 904 |
for(i=0;i<stuffing_size;i++) |
905 |
- put_byte(ctx->pb, 0xff); |
|
905 |
+ avio_w8(ctx->pb, 0xff); |
|
906 | 906 |
} |
907 | 907 |
|
908 | 908 |
if (startcode == PRIVATE_STREAM_1) { |
909 |
- put_byte(ctx->pb, id); |
|
909 |
+ avio_w8(ctx->pb, id); |
|
910 | 910 |
if (id >= 0xa0) { |
911 | 911 |
/* LPCM (XXX: check nb_frames) */ |
912 |
- put_byte(ctx->pb, 7); |
|
913 |
- put_be16(ctx->pb, 4); /* skip 3 header bytes */ |
|
914 |
- put_byte(ctx->pb, stream->lpcm_header[0]); |
|
915 |
- put_byte(ctx->pb, stream->lpcm_header[1]); |
|
916 |
- put_byte(ctx->pb, stream->lpcm_header[2]); |
|
912 |
+ avio_w8(ctx->pb, 7); |
|
913 |
+ avio_wb16(ctx->pb, 4); /* skip 3 header bytes */ |
|
914 |
+ avio_w8(ctx->pb, stream->lpcm_header[0]); |
|
915 |
+ avio_w8(ctx->pb, stream->lpcm_header[1]); |
|
916 |
+ avio_w8(ctx->pb, stream->lpcm_header[2]); |
|
917 | 917 |
} else if (id >= 0x40) { |
918 | 918 |
/* AC-3 */ |
919 |
- put_byte(ctx->pb, nb_frames); |
|
920 |
- put_be16(ctx->pb, trailer_size+1); |
|
919 |
+ avio_w8(ctx->pb, nb_frames); |
|
920 |
+ avio_wb16(ctx->pb, trailer_size+1); |
|
921 | 921 |
} |
922 | 922 |
} |
923 | 923 |
|
924 | 924 |
/* output data */ |
925 | 925 |
assert(payload_size - stuffing_size <= av_fifo_size(stream->fifo)); |
926 |
- av_fifo_generic_read(stream->fifo, ctx->pb, payload_size - stuffing_size, &put_buffer); |
|
926 |
+ av_fifo_generic_read(stream->fifo, ctx->pb, payload_size - stuffing_size, &avio_write); |
|
927 | 927 |
stream->bytes_to_iframe -= payload_size - stuffing_size; |
928 | 928 |
}else{ |
929 | 929 |
payload_size= |
... | ... |
@@ -934,7 +934,7 @@ static int flush_packet(AVFormatContext *ctx, int stream_index, |
934 | 934 |
put_padding_packet(ctx,ctx->pb, pad_packet_bytes); |
935 | 935 |
|
936 | 936 |
for(i=0;i<zero_trail_bytes;i++) |
937 |
- put_byte(ctx->pb, 0x00); |
|
937 |
+ avio_w8(ctx->pb, 0x00); |
|
938 | 938 |
|
939 | 939 |
put_flush_packet(ctx->pb); |
940 | 940 |
|
... | ... |
@@ -961,7 +961,7 @@ static void put_vcd_padding_sector(AVFormatContext *ctx) |
961 | 961 |
int i; |
962 | 962 |
|
963 | 963 |
for(i=0;i<s->packet_size;i++) |
964 |
- put_byte(ctx->pb, 0); |
|
964 |
+ avio_w8(ctx->pb, 0); |
|
965 | 965 |
|
966 | 966 |
s->vcd_padding_bytes_written += s->packet_size; |
967 | 967 |
|
... | ... |
@@ -1220,7 +1220,7 @@ static int mpeg_mux_end(AVFormatContext *ctx) |
1220 | 1220 |
/* End header according to MPEG1 systems standard. We do not write |
1221 | 1221 |
it as it is usually not needed by decoders and because it |
1222 | 1222 |
complicates MPEG stream concatenation. */ |
1223 |
- //put_be32(ctx->pb, ISO_11172_END_CODE); |
|
1223 |
+ //avio_wb32(ctx->pb, ISO_11172_END_CODE); |
|
1224 | 1224 |
//put_flush_packet(ctx->pb); |
1225 | 1225 |
|
1226 | 1226 |
for(i=0;i<ctx->nb_streams;i++) { |
... | ... |
@@ -415,7 +415,7 @@ static MpegTSService *mpegts_add_service(MpegTSWrite *ts, |
415 | 415 |
static void section_write_packet(MpegTSSection *s, const uint8_t *packet) |
416 | 416 |
{ |
417 | 417 |
AVFormatContext *ctx = s->opaque; |
418 |
- put_buffer(ctx->pb, packet, TS_PACKET_SIZE); |
|
418 |
+ avio_write(ctx->pb, packet, TS_PACKET_SIZE); |
|
419 | 419 |
} |
420 | 420 |
|
421 | 421 |
static int mpegts_write_header(AVFormatContext *s) |
... | ... |
@@ -625,7 +625,7 @@ static void mpegts_insert_null_packet(AVFormatContext *s) |
625 | 625 |
*q++ = 0xff; |
626 | 626 |
*q++ = 0x10; |
627 | 627 |
memset(q, 0x0FF, TS_PACKET_SIZE - (q - buf)); |
628 |
- put_buffer(s->pb, buf, TS_PACKET_SIZE); |
|
628 |
+ avio_write(s->pb, buf, TS_PACKET_SIZE); |
|
629 | 629 |
} |
630 | 630 |
|
631 | 631 |
/* Write a single transport stream packet with a PCR and no payload */ |
... | ... |
@@ -650,7 +650,7 @@ static void mpegts_insert_pcr_only(AVFormatContext *s, AVStream *st) |
650 | 650 |
|
651 | 651 |
/* stuffing bytes */ |
652 | 652 |
memset(q, 0xFF, TS_PACKET_SIZE - (q - buf)); |
653 |
- put_buffer(s->pb, buf, TS_PACKET_SIZE); |
|
653 |
+ avio_write(s->pb, buf, TS_PACKET_SIZE); |
|
654 | 654 |
} |
655 | 655 |
|
656 | 656 |
static void write_pts(uint8_t *q, int fourbits, int64_t pts) |
... | ... |
@@ -844,7 +844,7 @@ static void mpegts_write_pes(AVFormatContext *s, AVStream *st, |
844 | 844 |
memcpy(buf + TS_PACKET_SIZE - len, payload, len); |
845 | 845 |
payload += len; |
846 | 846 |
payload_size -= len; |
847 |
- put_buffer(s->pb, buf, TS_PACKET_SIZE); |
|
847 |
+ avio_write(s->pb, buf, TS_PACKET_SIZE); |
|
848 | 848 |
} |
849 | 849 |
put_flush_packet(s->pb); |
850 | 850 |
} |
... | ... |
@@ -29,7 +29,7 @@ static int mpjpeg_write_header(AVFormatContext *s) |
29 | 29 |
uint8_t buf1[256]; |
30 | 30 |
|
31 | 31 |
snprintf(buf1, sizeof(buf1), "--%s\n", BOUNDARY_TAG); |
32 |
- put_buffer(s->pb, buf1, strlen(buf1)); |
|
32 |
+ avio_write(s->pb, buf1, strlen(buf1)); |
|
33 | 33 |
put_flush_packet(s->pb); |
34 | 34 |
return 0; |
35 | 35 |
} |
... | ... |
@@ -39,11 +39,11 @@ static int mpjpeg_write_packet(AVFormatContext *s, AVPacket *pkt) |
39 | 39 |
uint8_t buf1[256]; |
40 | 40 |
|
41 | 41 |
snprintf(buf1, sizeof(buf1), "Content-type: image/jpeg\n\n"); |
42 |
- put_buffer(s->pb, buf1, strlen(buf1)); |
|
43 |
- put_buffer(s->pb, pkt->data, pkt->size); |
|
42 |
+ avio_write(s->pb, buf1, strlen(buf1)); |
|
43 |
+ avio_write(s->pb, pkt->data, pkt->size); |
|
44 | 44 |
|
45 | 45 |
snprintf(buf1, sizeof(buf1), "\n--%s\n", BOUNDARY_TAG); |
46 |
- put_buffer(s->pb, buf1, strlen(buf1)); |
|
46 |
+ avio_write(s->pb, buf1, strlen(buf1)); |
|
47 | 47 |
put_flush_packet(s->pb); |
48 | 48 |
return 0; |
49 | 49 |
} |
... | ... |
@@ -307,24 +307,24 @@ static const MXFLocalTagPair mxf_local_tag_batch[] = { |
307 | 307 |
|
308 | 308 |
static void mxf_write_uuid(AVIOContext *pb, enum MXFMetadataSetType type, int value) |
309 | 309 |
{ |
310 |
- put_buffer(pb, uuid_base, 12); |
|
311 |
- put_be16(pb, type); |
|
312 |
- put_be16(pb, value); |
|
310 |
+ avio_write(pb, uuid_base, 12); |
|
311 |
+ avio_wb16(pb, type); |
|
312 |
+ avio_wb16(pb, value); |
|
313 | 313 |
} |
314 | 314 |
|
315 | 315 |
static void mxf_write_umid(AVFormatContext *s, int type) |
316 | 316 |
{ |
317 | 317 |
MXFContext *mxf = s->priv_data; |
318 |
- put_buffer(s->pb, umid_ul, 13); |
|
319 |
- put_be24(s->pb, mxf->instance_number); |
|
320 |
- put_buffer(s->pb, mxf->umid, 15); |
|
321 |
- put_byte(s->pb, type); |
|
318 |
+ avio_write(s->pb, umid_ul, 13); |
|
319 |
+ avio_wb24(s->pb, mxf->instance_number); |
|
320 |
+ avio_write(s->pb, mxf->umid, 15); |
|
321 |
+ avio_w8(s->pb, type); |
|
322 | 322 |
} |
323 | 323 |
|
324 | 324 |
static void mxf_write_refs_count(AVIOContext *pb, int ref_count) |
325 | 325 |
{ |
326 |
- put_be32(pb, ref_count); |
|
327 |
- put_be32(pb, 16); |
|
326 |
+ avio_wb32(pb, ref_count); |
|
327 |
+ avio_wb32(pb, 16); |
|
328 | 328 |
} |
329 | 329 |
|
330 | 330 |
static int klv_ber_length(uint64_t len) |
... | ... |
@@ -341,25 +341,25 @@ static int klv_encode_ber_length(AVIOContext *pb, uint64_t len) |
341 | 341 |
int size; |
342 | 342 |
if (len < 128) { |
343 | 343 |
//short form |
344 |
- put_byte(pb, len); |
|
344 |
+ avio_w8(pb, len); |
|
345 | 345 |
return 1; |
346 | 346 |
} |
347 | 347 |
|
348 | 348 |
size = (av_log2(len) >> 3) + 1; |
349 | 349 |
|
350 | 350 |
// long form |
351 |
- put_byte(pb, 0x80 + size); |
|
351 |
+ avio_w8(pb, 0x80 + size); |
|
352 | 352 |
while(size) { |
353 | 353 |
size--; |
354 |
- put_byte(pb, len >> 8 * size & 0xff); |
|
354 |
+ avio_w8(pb, len >> 8 * size & 0xff); |
|
355 | 355 |
} |
356 | 356 |
return 0; |
357 | 357 |
} |
358 | 358 |
|
359 | 359 |
static void klv_encode_ber4_length(AVIOContext *pb, int len) |
360 | 360 |
{ |
361 |
- put_byte(pb, 0x80 + 3); |
|
362 |
- put_be24(pb, len); |
|
361 |
+ avio_w8(pb, 0x80 + 3); |
|
362 |
+ avio_wb24(pb, len); |
|
363 | 363 |
} |
364 | 364 |
|
365 | 365 |
/* |
... | ... |
@@ -381,28 +381,28 @@ static void mxf_write_primer_pack(AVFormatContext *s) |
381 | 381 |
|
382 | 382 |
local_tag_number = FF_ARRAY_ELEMS(mxf_local_tag_batch); |
383 | 383 |
|
384 |
- put_buffer(pb, primer_pack_key, 16); |
|
384 |
+ avio_write(pb, primer_pack_key, 16); |
|
385 | 385 |
klv_encode_ber_length(pb, local_tag_number * 18 + 8); |
386 | 386 |
|
387 |
- put_be32(pb, local_tag_number); // local_tag num |
|
388 |
- put_be32(pb, 18); // item size, always 18 according to the specs |
|
387 |
+ avio_wb32(pb, local_tag_number); // local_tag num |
|
388 |
+ avio_wb32(pb, 18); // item size, always 18 according to the specs |
|
389 | 389 |
|
390 | 390 |
for (i = 0; i < local_tag_number; i++) { |
391 |
- put_be16(pb, mxf_local_tag_batch[i].local_tag); |
|
392 |
- put_buffer(pb, mxf_local_tag_batch[i].uid, 16); |
|
391 |
+ avio_wb16(pb, mxf_local_tag_batch[i].local_tag); |
|
392 |
+ avio_write(pb, mxf_local_tag_batch[i].uid, 16); |
|
393 | 393 |
} |
394 | 394 |
} |
395 | 395 |
|
396 | 396 |
static void mxf_write_local_tag(AVIOContext *pb, int size, int tag) |
397 | 397 |
{ |
398 |
- put_be16(pb, tag); |
|
399 |
- put_be16(pb, size); |
|
398 |
+ avio_wb16(pb, tag); |
|
399 |
+ avio_wb16(pb, size); |
|
400 | 400 |
} |
401 | 401 |
|
402 | 402 |
static void mxf_write_metadata_key(AVIOContext *pb, unsigned int value) |
403 | 403 |
{ |
404 |
- put_buffer(pb, header_metadata_key, 13); |
|
405 |
- put_be24(pb, value); |
|
404 |
+ avio_write(pb, header_metadata_key, 13); |
|
405 |
+ avio_wb24(pb, value); |
|
406 | 406 |
} |
407 | 407 |
|
408 | 408 |
static void mxf_free(AVFormatContext *s) |
... | ... |
@@ -436,7 +436,7 @@ static void mxf_write_essence_container_refs(AVFormatContext *s) |
436 | 436 |
av_log(s,AV_LOG_DEBUG, "essence container count:%d\n", c->essence_container_count); |
437 | 437 |
for (i = 0; i < c->essence_container_count; i++) { |
438 | 438 |
MXFStreamContext *sc = s->streams[i]->priv_data; |
439 |
- put_buffer(pb, mxf_essence_container_uls[sc->index].container_ul, 16); |
|
439 |
+ avio_write(pb, mxf_essence_container_uls[sc->index].container_ul, 16); |
|
440 | 440 |
} |
441 | 441 |
} |
442 | 442 |
|
... | ... |
@@ -456,11 +456,11 @@ static void mxf_write_preface(AVFormatContext *s) |
456 | 456 |
|
457 | 457 |
// last modified date |
458 | 458 |
mxf_write_local_tag(pb, 8, 0x3B02); |
459 |
- put_be64(pb, mxf->timestamp); |
|
459 |
+ avio_wb64(pb, mxf->timestamp); |
|
460 | 460 |
|
461 | 461 |
// write version |
462 | 462 |
mxf_write_local_tag(pb, 2, 0x3B05); |
463 |
- put_be16(pb, 258); // v1.2 |
|
463 |
+ avio_wb16(pb, 258); // v1.2 |
|
464 | 464 |
|
465 | 465 |
// write identification_refs |
466 | 466 |
mxf_write_local_tag(pb, 16 + 8, 0x3B06); |
... | ... |
@@ -473,7 +473,7 @@ static void mxf_write_preface(AVFormatContext *s) |
473 | 473 |
|
474 | 474 |
// operational pattern |
475 | 475 |
mxf_write_local_tag(pb, 16, 0x3B09); |
476 |
- put_buffer(pb, op1a_ul, 16); |
|
476 |
+ avio_write(pb, op1a_ul, 16); |
|
477 | 477 |
|
478 | 478 |
// write essence_container_refs |
479 | 479 |
mxf_write_local_tag(pb, 8 + 16 * mxf->essence_container_count, 0x3B0A); |
... | ... |
@@ -481,7 +481,7 @@ static void mxf_write_preface(AVFormatContext *s) |
481 | 481 |
|
482 | 482 |
// write dm_scheme_refs |
483 | 483 |
mxf_write_local_tag(pb, 8, 0x3B0B); |
484 |
- put_be64(pb, 0); |
|
484 |
+ avio_wb64(pb, 0); |
|
485 | 485 |
} |
486 | 486 |
|
487 | 487 |
/* |
... | ... |
@@ -492,7 +492,7 @@ static void mxf_write_local_tag_utf16(AVIOContext *pb, int tag, const char *valu |
492 | 492 |
int i, size = strlen(value); |
493 | 493 |
mxf_write_local_tag(pb, size*2, tag); |
494 | 494 |
for (i = 0; i < size; i++) |
495 |
- put_be16(pb, value[i]); |
|
495 |
+ avio_wb16(pb, value[i]); |
|
496 | 496 |
} |
497 | 497 |
|
498 | 498 |
static void mxf_write_identification(AVFormatContext *s) |
... | ... |
@@ -531,7 +531,7 @@ static void mxf_write_identification(AVFormatContext *s) |
531 | 531 |
|
532 | 532 |
// modification date |
533 | 533 |
mxf_write_local_tag(pb, 8, 0x3C06); |
534 |
- put_be64(pb, mxf->timestamp); |
|
534 |
+ avio_wb64(pb, mxf->timestamp); |
|
535 | 535 |
} |
536 | 536 |
|
537 | 537 |
static void mxf_write_content_storage(AVFormatContext *s) |
... | ... |
@@ -576,22 +576,22 @@ static void mxf_write_track(AVFormatContext *s, AVStream *st, enum MXFMetadataSe |
576 | 576 |
|
577 | 577 |
// write track id |
578 | 578 |
mxf_write_local_tag(pb, 4, 0x4801); |
579 |
- put_be32(pb, st->index+2); |
|
579 |
+ avio_wb32(pb, st->index+2); |
|
580 | 580 |
|
581 | 581 |
// write track number |
582 | 582 |
mxf_write_local_tag(pb, 4, 0x4804); |
583 | 583 |
if (type == MaterialPackage) |
584 |
- put_be32(pb, 0); // track number of material package is 0 |
|
584 |
+ avio_wb32(pb, 0); // track number of material package is 0 |
|
585 | 585 |
else |
586 |
- put_buffer(pb, sc->track_essence_element_key + 12, 4); |
|
586 |
+ avio_write(pb, sc->track_essence_element_key + 12, 4); |
|
587 | 587 |
|
588 | 588 |
mxf_write_local_tag(pb, 8, 0x4B01); |
589 |
- put_be32(pb, mxf->time_base.den); |
|
590 |
- put_be32(pb, mxf->time_base.num); |
|
589 |
+ avio_wb32(pb, mxf->time_base.den); |
|
590 |
+ avio_wb32(pb, mxf->time_base.num); |
|
591 | 591 |
|
592 | 592 |
// write origin |
593 | 593 |
mxf_write_local_tag(pb, 8, 0x4B02); |
594 |
- put_be64(pb, 0); |
|
594 |
+ avio_wb64(pb, 0); |
|
595 | 595 |
|
596 | 596 |
// write sequence refs |
597 | 597 |
mxf_write_local_tag(pb, 16, 0x4803); |
... | ... |
@@ -608,15 +608,15 @@ static void mxf_write_common_fields(AVFormatContext *s, AVStream *st) |
608 | 608 |
// find data define uls |
609 | 609 |
mxf_write_local_tag(pb, 16, 0x0201); |
610 | 610 |
if (st == mxf->timecode_track) |
611 |
- put_buffer(pb, smpte_12m_timecode_track_data_ul, 16); |
|
611 |
+ avio_write(pb, smpte_12m_timecode_track_data_ul, 16); |
|
612 | 612 |
else { |
613 | 613 |
const MXFCodecUL *data_def_ul = mxf_get_data_definition_ul(st->codec->codec_type); |
614 |
- put_buffer(pb, data_def_ul->uid, 16); |
|
614 |
+ avio_write(pb, data_def_ul->uid, 16); |
|
615 | 615 |
} |
616 | 616 |
|
617 | 617 |
// write duration |
618 | 618 |
mxf_write_local_tag(pb, 8, 0x0202); |
619 |
- put_be64(pb, mxf->duration); |
|
619 |
+ avio_wb64(pb, mxf->duration); |
|
620 | 620 |
} |
621 | 621 |
|
622 | 622 |
static void mxf_write_sequence(AVFormatContext *s, AVStream *st, enum MXFMetadataSetType type) |
... | ... |
@@ -664,15 +664,15 @@ static void mxf_write_timecode_component(AVFormatContext *s, AVStream *st, enum |
664 | 664 |
|
665 | 665 |
// Start Time Code |
666 | 666 |
mxf_write_local_tag(pb, 8, 0x1501); |
667 |
- put_be64(pb, mxf->timecode_start); |
|
667 |
+ avio_wb64(pb, mxf->timecode_start); |
|
668 | 668 |
|
669 | 669 |
// Rounded Time Code Base |
670 | 670 |
mxf_write_local_tag(pb, 2, 0x1502); |
671 |
- put_be16(pb, mxf->timecode_base); |
|
671 |
+ avio_wb16(pb, mxf->timecode_base); |
|
672 | 672 |
|
673 | 673 |
// Drop Frame |
674 | 674 |
mxf_write_local_tag(pb, 1, 0x1503); |
675 |
- put_byte(pb, mxf->timecode_drop_frame); |
|
675 |
+ avio_w8(pb, mxf->timecode_drop_frame); |
|
676 | 676 |
} |
677 | 677 |
|
678 | 678 |
static void mxf_write_structural_component(AVFormatContext *s, AVStream *st, enum MXFMetadataSetType type) |
... | ... |
@@ -693,22 +693,22 @@ static void mxf_write_structural_component(AVFormatContext *s, AVStream *st, enu |
693 | 693 |
|
694 | 694 |
// write start_position |
695 | 695 |
mxf_write_local_tag(pb, 8, 0x1201); |
696 |
- put_be64(pb, 0); |
|
696 |
+ avio_wb64(pb, 0); |
|
697 | 697 |
|
698 | 698 |
// write source package uid, end of the reference |
699 | 699 |
mxf_write_local_tag(pb, 32, 0x1101); |
700 | 700 |
if (type == SourcePackage) { |
701 | 701 |
for (i = 0; i < 4; i++) |
702 |
- put_be64(pb, 0); |
|
702 |
+ avio_wb64(pb, 0); |
|
703 | 703 |
} else |
704 | 704 |
mxf_write_umid(s, 1); |
705 | 705 |
|
706 | 706 |
// write source track id |
707 | 707 |
mxf_write_local_tag(pb, 4, 0x1102); |
708 | 708 |
if (type == SourcePackage) |
709 |
- put_be32(pb, 0); |
|
709 |
+ avio_wb32(pb, 0); |
|
710 | 710 |
else |
711 |
- put_be32(pb, st->index+2); |
|
711 |
+ avio_wb32(pb, st->index+2); |
|
712 | 712 |
} |
713 | 713 |
|
714 | 714 |
static void mxf_write_multi_descriptor(AVFormatContext *s) |
... | ... |
@@ -728,8 +728,8 @@ static void mxf_write_multi_descriptor(AVFormatContext *s) |
728 | 728 |
|
729 | 729 |
// write sample rate |
730 | 730 |
mxf_write_local_tag(pb, 8, 0x3001); |
731 |
- put_be32(pb, mxf->time_base.den); |
|
732 |
- put_be32(pb, mxf->time_base.num); |
|
731 |
+ avio_wb32(pb, mxf->time_base.den); |
|
732 |
+ avio_wb32(pb, mxf->time_base.num); |
|
733 | 733 |
|
734 | 734 |
// write essence container ul |
735 | 735 |
mxf_write_local_tag(pb, 16, 0x3004); |
... | ... |
@@ -739,7 +739,7 @@ static void mxf_write_multi_descriptor(AVFormatContext *s) |
739 | 739 |
MXFStreamContext *sc = s->streams[0]->priv_data; |
740 | 740 |
ul = mxf_essence_container_uls[sc->index].container_ul; |
741 | 741 |
} |
742 |
- put_buffer(pb, ul, 16); |
|
742 |
+ avio_write(pb, ul, 16); |
|
743 | 743 |
|
744 | 744 |
// write sub descriptor refs |
745 | 745 |
mxf_write_local_tag(pb, s->nb_streams * 16 + 8, 0x3F01); |
... | ... |
@@ -754,21 +754,21 @@ static void mxf_write_generic_desc(AVFormatContext *s, AVStream *st, const UID k |
754 | 754 |
MXFStreamContext *sc = st->priv_data; |
755 | 755 |
AVIOContext *pb = s->pb; |
756 | 756 |
|
757 |
- put_buffer(pb, key, 16); |
|
757 |
+ avio_write(pb, key, 16); |
|
758 | 758 |
klv_encode_ber4_length(pb, size+20+8+12+20); |
759 | 759 |
|
760 | 760 |
mxf_write_local_tag(pb, 16, 0x3C0A); |
761 | 761 |
mxf_write_uuid(pb, SubDescriptor, st->index); |
762 | 762 |
|
763 | 763 |
mxf_write_local_tag(pb, 4, 0x3006); |
764 |
- put_be32(pb, st->index+2); |
|
764 |
+ avio_wb32(pb, st->index+2); |
|
765 | 765 |
|
766 | 766 |
mxf_write_local_tag(pb, 8, 0x3001); |
767 |
- put_be32(pb, mxf->time_base.den); |
|
768 |
- put_be32(pb, mxf->time_base.num); |
|
767 |
+ avio_wb32(pb, mxf->time_base.den); |
|
768 |
+ avio_wb32(pb, mxf->time_base.num); |
|
769 | 769 |
|
770 | 770 |
mxf_write_local_tag(pb, 16, 0x3004); |
771 |
- put_buffer(pb, mxf_essence_container_uls[sc->index].container_ul, 16); |
|
771 |
+ avio_write(pb, mxf_essence_container_uls[sc->index].container_ul, 16); |
|
772 | 772 |
} |
773 | 773 |
|
774 | 774 |
static const UID mxf_mpegvideo_descriptor_key = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x51,0x00 }; |
... | ... |
@@ -788,13 +788,13 @@ static void mxf_write_cdci_common(AVFormatContext *s, AVStream *st, const UID ke |
788 | 788 |
mxf_write_generic_desc(s, st, key, size+8+8+8+8+8+8+5+16+sc->interlaced*4+12+20); |
789 | 789 |
|
790 | 790 |
mxf_write_local_tag(pb, 4, 0x3203); |
791 |
- put_be32(pb, st->codec->width); |
|
791 |
+ avio_wb32(pb, st->codec->width); |
|
792 | 792 |
|
793 | 793 |
mxf_write_local_tag(pb, 4, 0x3202); |
794 |
- put_be32(pb, stored_height>>sc->interlaced); |
|
794 |
+ avio_wb32(pb, stored_height>>sc->interlaced); |
|
795 | 795 |
|
796 | 796 |
mxf_write_local_tag(pb, 4, 0x3209); |
797 |
- put_be32(pb, st->codec->width); |
|
797 |
+ avio_wb32(pb, st->codec->width); |
|
798 | 798 |
|
799 | 799 |
if (st->codec->height == 608) // PAL + VBI |
800 | 800 |
display_height = 576; |
... | ... |
@@ -804,19 +804,19 @@ static void mxf_write_cdci_common(AVFormatContext *s, AVStream *st, const UID ke |
804 | 804 |
display_height = st->codec->height; |
805 | 805 |
|
806 | 806 |
mxf_write_local_tag(pb, 4, 0x3208); |
807 |
- put_be32(pb, display_height>>sc->interlaced); |
|
807 |
+ avio_wb32(pb, display_height>>sc->interlaced); |
|
808 | 808 |
|
809 | 809 |
// component depth |
810 | 810 |
mxf_write_local_tag(pb, 4, 0x3301); |
811 |
- put_be32(pb, 8); |
|
811 |
+ avio_wb32(pb, 8); |
|
812 | 812 |
|
813 | 813 |
// horizontal subsampling |
814 | 814 |
mxf_write_local_tag(pb, 4, 0x3302); |
815 |
- put_be32(pb, 2); |
|
815 |
+ avio_wb32(pb, 2); |
|
816 | 816 |
|
817 | 817 |
// frame layout |
818 | 818 |
mxf_write_local_tag(pb, 1, 0x320C); |
819 |
- put_byte(pb, sc->interlaced); |
|
819 |
+ avio_w8(pb, sc->interlaced); |
|
820 | 820 |
|
821 | 821 |
// video line map |
822 | 822 |
switch (st->codec->height) { |
... | ... |
@@ -835,18 +835,18 @@ static void mxf_write_cdci_common(AVFormatContext *s, AVStream *st, const UID ke |
835 | 835 |
} |
836 | 836 |
|
837 | 837 |
mxf_write_local_tag(pb, 12+sc->interlaced*4, 0x320D); |
838 |
- put_be32(pb, sc->interlaced ? 2 : 1); |
|
839 |
- put_be32(pb, 4); |
|
840 |
- put_be32(pb, f1); |
|
838 |
+ avio_wb32(pb, sc->interlaced ? 2 : 1); |
|
839 |
+ avio_wb32(pb, 4); |
|
840 |
+ avio_wb32(pb, f1); |
|
841 | 841 |
if (sc->interlaced) |
842 |
- put_be32(pb, f2); |
|
842 |
+ avio_wb32(pb, f2); |
|
843 | 843 |
|
844 | 844 |
mxf_write_local_tag(pb, 8, 0x320E); |
845 |
- put_be32(pb, sc->aspect_ratio.num); |
|
846 |
- put_be32(pb, sc->aspect_ratio.den); |
|
845 |
+ avio_wb32(pb, sc->aspect_ratio.num); |
|
846 |
+ avio_wb32(pb, sc->aspect_ratio.den); |
|
847 | 847 |
|
848 | 848 |
mxf_write_local_tag(pb, 16, 0x3201); |
849 |
- put_buffer(pb, *sc->codec_ul, 16); |
|
849 |
+ avio_write(pb, *sc->codec_ul, 16); |
|
850 | 850 |
} |
851 | 851 |
|
852 | 852 |
static void mxf_write_cdci_desc(AVFormatContext *s, AVStream *st) |
... | ... |
@@ -863,13 +863,13 @@ static void mxf_write_mpegvideo_desc(AVFormatContext *s, AVStream *st) |
863 | 863 |
|
864 | 864 |
// bit rate |
865 | 865 |
mxf_write_local_tag(pb, 4, 0x8000); |
866 |
- put_be32(pb, st->codec->bit_rate); |
|
866 |
+ avio_wb32(pb, st->codec->bit_rate); |
|
867 | 867 |
|
868 | 868 |
// profile and level |
869 | 869 |
mxf_write_local_tag(pb, 1, 0x8007); |
870 | 870 |
if (!st->codec->profile) |
871 | 871 |
profile_and_level |= 0x80; // escape bit |
872 |
- put_byte(pb, profile_and_level); |
|
872 |
+ avio_w8(pb, profile_and_level); |
|
873 | 873 |
} |
874 | 874 |
|
875 | 875 |
static void mxf_write_generic_sound_common(AVFormatContext *s, AVStream *st, const UID key, unsigned size) |
... | ... |
@@ -880,18 +880,18 @@ static void mxf_write_generic_sound_common(AVFormatContext *s, AVStream *st, con |
880 | 880 |
|
881 | 881 |
// audio locked |
882 | 882 |
mxf_write_local_tag(pb, 1, 0x3D02); |
883 |
- put_byte(pb, 1); |
|
883 |
+ avio_w8(pb, 1); |
|
884 | 884 |
|
885 | 885 |
// write audio sampling rate |
886 | 886 |
mxf_write_local_tag(pb, 8, 0x3D03); |
887 |
- put_be32(pb, st->codec->sample_rate); |
|
888 |
- put_be32(pb, 1); |
|
887 |
+ avio_wb32(pb, st->codec->sample_rate); |
|
888 |
+ avio_wb32(pb, 1); |
|
889 | 889 |
|
890 | 890 |
mxf_write_local_tag(pb, 4, 0x3D07); |
891 |
- put_be32(pb, st->codec->channels); |
|
891 |
+ avio_wb32(pb, st->codec->channels); |
|
892 | 892 |
|
893 | 893 |
mxf_write_local_tag(pb, 4, 0x3D01); |
894 |
- put_be32(pb, av_get_bits_per_sample(st->codec->codec_id)); |
|
894 |
+ avio_wb32(pb, av_get_bits_per_sample(st->codec->codec_id)); |
|
895 | 895 |
} |
896 | 896 |
|
897 | 897 |
static void mxf_write_wav_common(AVFormatContext *s, AVStream *st, const UID key, unsigned size) |
... | ... |
@@ -901,11 +901,11 @@ static void mxf_write_wav_common(AVFormatContext *s, AVStream *st, const UID key |
901 | 901 |
mxf_write_generic_sound_common(s, st, key, size+6+8); |
902 | 902 |
|
903 | 903 |
mxf_write_local_tag(pb, 2, 0x3D0A); |
904 |
- put_be16(pb, st->codec->block_align); |
|
904 |
+ avio_wb16(pb, st->codec->block_align); |
|
905 | 905 |
|
906 | 906 |
// avg bytes per sec |
907 | 907 |
mxf_write_local_tag(pb, 4, 0x3D09); |
908 |
- put_be32(pb, st->codec->block_align*st->codec->sample_rate); |
|
908 |
+ avio_wb32(pb, st->codec->block_align*st->codec->sample_rate); |
|
909 | 909 |
} |
910 | 910 |
|
911 | 911 |
static void mxf_write_wav_desc(AVFormatContext *s, AVStream *st) |
... | ... |
@@ -952,11 +952,11 @@ static void mxf_write_package(AVFormatContext *s, enum MXFMetadataSetType type) |
952 | 952 |
|
953 | 953 |
// package creation date |
954 | 954 |
mxf_write_local_tag(pb, 8, 0x4405); |
955 |
- put_be64(pb, mxf->timestamp); |
|
955 |
+ avio_wb64(pb, mxf->timestamp); |
|
956 | 956 |
|
957 | 957 |
// package modified date |
958 | 958 |
mxf_write_local_tag(pb, 8, 0x4404); |
959 |
- put_be64(pb, mxf->timestamp); |
|
959 |
+ avio_wb64(pb, mxf->timestamp); |
|
960 | 960 |
|
961 | 961 |
// write track refs |
962 | 962 |
mxf_write_local_tag(pb, track_count*16 + 8, 0x4403); |
... | ... |
@@ -1008,10 +1008,10 @@ static int mxf_write_essence_container_data(AVFormatContext *s) |
1008 | 1008 |
mxf_write_umid(s, 1); |
1009 | 1009 |
|
1010 | 1010 |
mxf_write_local_tag(pb, 4, 0x3F07); // BodySID |
1011 |
- put_be32(pb, 1); |
|
1011 |
+ avio_wb32(pb, 1); |
|
1012 | 1012 |
|
1013 | 1013 |
mxf_write_local_tag(pb, 4, 0x3F06); // IndexSID |
1014 |
- put_be32(pb, 2); |
|
1014 |
+ avio_wb32(pb, 2); |
|
1015 | 1015 |
|
1016 | 1016 |
return 0; |
1017 | 1017 |
} |
... | ... |
@@ -1048,7 +1048,7 @@ static void mxf_write_index_table_segment(AVFormatContext *s) |
1048 | 1048 |
if (!mxf->edit_units_count && !mxf->edit_unit_byte_count) |
1049 | 1049 |
return; |
1050 | 1050 |
|
1051 |
- put_buffer(pb, index_table_segment_key, 16); |
|
1051 |
+ avio_write(pb, index_table_segment_key, 16); |
|
1052 | 1052 |
|
1053 | 1053 |
if (mxf->edit_unit_byte_count) { |
1054 | 1054 |
klv_encode_ber_length(pb, 80); |
... | ... |
@@ -1063,65 +1063,65 @@ static void mxf_write_index_table_segment(AVFormatContext *s) |
1063 | 1063 |
|
1064 | 1064 |
// index edit rate |
1065 | 1065 |
mxf_write_local_tag(pb, 8, 0x3F0B); |
1066 |
- put_be32(pb, mxf->time_base.den); |
|
1067 |
- put_be32(pb, mxf->time_base.num); |
|
1066 |
+ avio_wb32(pb, mxf->time_base.den); |
|
1067 |
+ avio_wb32(pb, mxf->time_base.num); |
|
1068 | 1068 |
|
1069 | 1069 |
// index start position |
1070 | 1070 |
mxf_write_local_tag(pb, 8, 0x3F0C); |
1071 |
- put_be64(pb, mxf->last_indexed_edit_unit); |
|
1071 |
+ avio_wb64(pb, mxf->last_indexed_edit_unit); |
|
1072 | 1072 |
|
1073 | 1073 |
// index duration |
1074 | 1074 |
mxf_write_local_tag(pb, 8, 0x3F0D); |
1075 | 1075 |
if (mxf->edit_unit_byte_count) |
1076 |
- put_be64(pb, 0); // index table covers whole container |
|
1076 |
+ avio_wb64(pb, 0); // index table covers whole container |
|
1077 | 1077 |
else |
1078 |
- put_be64(pb, mxf->edit_units_count); |
|
1078 |
+ avio_wb64(pb, mxf->edit_units_count); |
|
1079 | 1079 |
|
1080 | 1080 |
// edit unit byte count |
1081 | 1081 |
mxf_write_local_tag(pb, 4, 0x3F05); |
1082 |
- put_be32(pb, mxf->edit_unit_byte_count); |
|
1082 |
+ avio_wb32(pb, mxf->edit_unit_byte_count); |
|
1083 | 1083 |
|
1084 | 1084 |
// index sid |
1085 | 1085 |
mxf_write_local_tag(pb, 4, 0x3F06); |
1086 |
- put_be32(pb, 2); |
|
1086 |
+ avio_wb32(pb, 2); |
|
1087 | 1087 |
|
1088 | 1088 |
// body sid |
1089 | 1089 |
mxf_write_local_tag(pb, 4, 0x3F07); |
1090 |
- put_be32(pb, 1); |
|
1090 |
+ avio_wb32(pb, 1); |
|
1091 | 1091 |
|
1092 | 1092 |
if (!mxf->edit_unit_byte_count) { |
1093 | 1093 |
// real slice count - 1 |
1094 | 1094 |
mxf_write_local_tag(pb, 1, 0x3F08); |
1095 |
- put_byte(pb, mxf->slice_count); |
|
1095 |
+ avio_w8(pb, mxf->slice_count); |
|
1096 | 1096 |
|
1097 | 1097 |
// delta entry array |
1098 | 1098 |
mxf_write_local_tag(pb, 8 + (s->nb_streams+1)*6, 0x3F09); |
1099 |
- put_be32(pb, s->nb_streams+1); // num of entries |
|
1100 |
- put_be32(pb, 6); // size of one entry |
|
1099 |
+ avio_wb32(pb, s->nb_streams+1); // num of entries |
|
1100 |
+ avio_wb32(pb, 6); // size of one entry |
|
1101 | 1101 |
// write system item delta entry |
1102 |
- put_byte(pb, 0); |
|
1103 |
- put_byte(pb, 0); // slice entry |
|
1104 |
- put_be32(pb, 0); // element delta |
|
1102 |
+ avio_w8(pb, 0); |
|
1103 |
+ avio_w8(pb, 0); // slice entry |
|
1104 |
+ avio_wb32(pb, 0); // element delta |
|
1105 | 1105 |
for (i = 0; i < s->nb_streams; i++) { |
1106 | 1106 |
AVStream *st = s->streams[i]; |
1107 | 1107 |
MXFStreamContext *sc = st->priv_data; |
1108 |
- put_byte(pb, sc->temporal_reordering); |
|
1108 |
+ avio_w8(pb, sc->temporal_reordering); |
|
1109 | 1109 |
if (sc->temporal_reordering) |
1110 | 1110 |
temporal_reordering = 1; |
1111 | 1111 |
if (i == 0) { // video track |
1112 |
- put_byte(pb, 0); // slice number |
|
1113 |
- put_be32(pb, KAG_SIZE); // system item size including klv fill |
|
1112 |
+ avio_w8(pb, 0); // slice number |
|
1113 |
+ avio_wb32(pb, KAG_SIZE); // system item size including klv fill |
|
1114 | 1114 |
} else { // audio track |
1115 | 1115 |
unsigned audio_frame_size = sc->aic.samples[0]*sc->aic.sample_size; |
1116 | 1116 |
audio_frame_size += klv_fill_size(audio_frame_size); |
1117 |
- put_byte(pb, 1); |
|
1118 |
- put_be32(pb, (i-1)*audio_frame_size); // element delta |
|
1117 |
+ avio_w8(pb, 1); |
|
1118 |
+ avio_wb32(pb, (i-1)*audio_frame_size); // element delta |
|
1119 | 1119 |
} |
1120 | 1120 |
} |
1121 | 1121 |
|
1122 | 1122 |
mxf_write_local_tag(pb, 8 + mxf->edit_units_count*(11+mxf->slice_count*4), 0x3F0A); |
1123 |
- put_be32(pb, mxf->edit_units_count); // num of entries |
|
1124 |
- put_be32(pb, 11+mxf->slice_count*4); // size of one entry |
|
1123 |
+ avio_wb32(pb, mxf->edit_units_count); // num of entries |
|
1124 |
+ avio_wb32(pb, 11+mxf->slice_count*4); // size of one entry |
|
1125 | 1125 |
|
1126 | 1126 |
for (i = 0; i < mxf->edit_units_count; i++) { |
1127 | 1127 |
int temporal_offset = 0; |
... | ... |
@@ -1143,12 +1143,12 @@ static void mxf_write_index_table_segment(AVFormatContext *s) |
1143 | 1143 |
temporal_offset = j - key_index - pic_num_in_gop; |
1144 | 1144 |
} |
1145 | 1145 |
} |
1146 |
- put_byte(pb, temporal_offset); |
|
1146 |
+ avio_w8(pb, temporal_offset); |
|
1147 | 1147 |
|
1148 | 1148 |
if ((mxf->index_entries[i].flags & 0x30) == 0x30) { // back and forward prediction |
1149 |
- put_byte(pb, mxf->last_key_index - i); |
|
1149 |
+ avio_w8(pb, mxf->last_key_index - i); |
|
1150 | 1150 |
} else { |
1151 |
- put_byte(pb, key_index - i); // key frame offset |
|
1151 |
+ avio_w8(pb, key_index - i); // key frame offset |
|
1152 | 1152 |
if ((mxf->index_entries[i].flags & 0x20) == 0x20) // only forward |
1153 | 1153 |
mxf->last_key_index = key_index; |
1154 | 1154 |
} |
... | ... |
@@ -1156,11 +1156,11 @@ static void mxf_write_index_table_segment(AVFormatContext *s) |
1156 | 1156 |
if (!(mxf->index_entries[i].flags & 0x33) && // I frame |
1157 | 1157 |
mxf->index_entries[i].flags & 0x40 && !temporal_offset) |
1158 | 1158 |
mxf->index_entries[i].flags |= 0x80; // random access |
1159 |
- put_byte(pb, mxf->index_entries[i].flags); |
|
1159 |
+ avio_w8(pb, mxf->index_entries[i].flags); |
|
1160 | 1160 |
// stream offset |
1161 |
- put_be64(pb, mxf->index_entries[i].offset); |
|
1161 |
+ avio_wb64(pb, mxf->index_entries[i].offset); |
|
1162 | 1162 |
if (s->nb_streams > 1) |
1163 |
- put_be32(pb, mxf->index_entries[i].slice_offset); |
|
1163 |
+ avio_wb32(pb, mxf->index_entries[i].slice_offset); |
|
1164 | 1164 |
} |
1165 | 1165 |
|
1166 | 1166 |
mxf->last_key_index = key_index - mxf->edit_units_count; |
... | ... |
@@ -1173,11 +1173,11 @@ static void mxf_write_klv_fill(AVFormatContext *s) |
1173 | 1173 |
{ |
1174 | 1174 |
unsigned pad = klv_fill_size(url_ftell(s->pb)); |
1175 | 1175 |
if (pad) { |
1176 |
- put_buffer(s->pb, klv_fill_key, 16); |
|
1176 |
+ avio_write(s->pb, klv_fill_key, 16); |
|
1177 | 1177 |
pad -= 16 + 4; |
1178 | 1178 |
klv_encode_ber4_length(s->pb, pad); |
1179 | 1179 |
for (; pad; pad--) |
1180 |
- put_byte(s->pb, 0); |
|
1180 |
+ avio_w8(s->pb, 0); |
|
1181 | 1181 |
assert(!(url_ftell(s->pb) & (KAG_SIZE-1))); |
1182 | 1182 |
} |
1183 | 1183 |
} |
... | ... |
@@ -1213,43 +1213,43 @@ static void mxf_write_partition(AVFormatContext *s, int bodysid, |
1213 | 1213 |
} |
1214 | 1214 |
|
1215 | 1215 |
// write klv |
1216 |
- put_buffer(pb, key, 16); |
|
1216 |
+ avio_write(pb, key, 16); |
|
1217 | 1217 |
klv_encode_ber_length(pb, 88 + 16 * mxf->essence_container_count); |
1218 | 1218 |
|
1219 | 1219 |
// write partition value |
1220 |
- put_be16(pb, 1); // majorVersion |
|
1221 |
- put_be16(pb, 2); // minorVersion |
|
1222 |
- put_be32(pb, KAG_SIZE); // KAGSize |
|
1220 |
+ avio_wb16(pb, 1); // majorVersion |
|
1221 |
+ avio_wb16(pb, 2); // minorVersion |
|
1222 |
+ avio_wb32(pb, KAG_SIZE); // KAGSize |
|
1223 | 1223 |
|
1224 |
- put_be64(pb, partition_offset); // ThisPartition |
|
1224 |
+ avio_wb64(pb, partition_offset); // ThisPartition |
|
1225 | 1225 |
|
1226 | 1226 |
if (!memcmp(key, body_partition_key, 16) && mxf->body_partitions_count > 1) |
1227 |
- put_be64(pb, mxf->body_partition_offset[mxf->body_partitions_count-2]); // PreviousPartition |
|
1227 |
+ avio_wb64(pb, mxf->body_partition_offset[mxf->body_partitions_count-2]); // PreviousPartition |
|
1228 | 1228 |
else if (!memcmp(key, footer_partition_key, 16) && mxf->body_partitions_count) |
1229 |
- put_be64(pb, mxf->body_partition_offset[mxf->body_partitions_count-1]); // PreviousPartition |
|
1229 |
+ avio_wb64(pb, mxf->body_partition_offset[mxf->body_partitions_count-1]); // PreviousPartition |
|
1230 | 1230 |
else |
1231 |
- put_be64(pb, 0); |
|
1231 |
+ avio_wb64(pb, 0); |
|
1232 | 1232 |
|
1233 |
- put_be64(pb, mxf->footer_partition_offset); // footerPartition |
|
1233 |
+ avio_wb64(pb, mxf->footer_partition_offset); // footerPartition |
|
1234 | 1234 |
|
1235 | 1235 |
// set offset |
1236 | 1236 |
header_byte_count_offset = url_ftell(pb); |
1237 |
- put_be64(pb, 0); // headerByteCount, update later |
|
1237 |
+ avio_wb64(pb, 0); // headerByteCount, update later |
|
1238 | 1238 |
|
1239 | 1239 |
// indexTable |
1240 |
- put_be64(pb, index_byte_count); // indexByteCount |
|
1241 |
- put_be32(pb, index_byte_count ? indexsid : 0); // indexSID |
|
1240 |
+ avio_wb64(pb, index_byte_count); // indexByteCount |
|
1241 |
+ avio_wb32(pb, index_byte_count ? indexsid : 0); // indexSID |
|
1242 | 1242 |
|
1243 | 1243 |
// BodyOffset |
1244 | 1244 |
if (bodysid && mxf->edit_units_count && mxf->body_partitions_count) { |
1245 |
- put_be64(pb, mxf->body_offset); |
|
1245 |
+ avio_wb64(pb, mxf->body_offset); |
|
1246 | 1246 |
} else |
1247 |
- put_be64(pb, 0); |
|
1247 |
+ avio_wb64(pb, 0); |
|
1248 | 1248 |
|
1249 |
- put_be32(pb, bodysid); // bodySID |
|
1249 |
+ avio_wb32(pb, bodysid); // bodySID |
|
1250 | 1250 |
|
1251 | 1251 |
// operational pattern |
1252 |
- put_buffer(pb, op1a_ul, 16); |
|
1252 |
+ avio_write(pb, op1a_ul, 16); |
|
1253 | 1253 |
|
1254 | 1254 |
// essence container |
1255 | 1255 |
mxf_write_essence_container_refs(s); |
... | ... |
@@ -1268,7 +1268,7 @@ static void mxf_write_partition(AVFormatContext *s, int bodysid, |
1268 | 1268 |
|
1269 | 1269 |
// update header_byte_count |
1270 | 1270 |
url_fseek(pb, header_byte_count_offset, SEEK_SET); |
1271 |
- put_be64(pb, header_byte_count); |
|
1271 |
+ avio_wb64(pb, header_byte_count); |
|
1272 | 1272 |
url_fseek(pb, pos, SEEK_SET); |
1273 | 1273 |
} |
1274 | 1274 |
|
... | ... |
@@ -1564,34 +1564,34 @@ static void mxf_write_system_item(AVFormatContext *s) |
1564 | 1564 |
frame = mxf->timecode_start + mxf->last_indexed_edit_unit + mxf->edit_units_count; |
1565 | 1565 |
|
1566 | 1566 |
// write system metadata pack |
1567 |
- put_buffer(pb, system_metadata_pack_key, 16); |
|
1567 |
+ avio_write(pb, system_metadata_pack_key, 16); |
|
1568 | 1568 |
klv_encode_ber4_length(pb, 57); |
1569 |
- put_byte(pb, 0x5c); // UL, user date/time stamp, picture and sound item present |
|
1570 |
- put_byte(pb, 0x04); // content package rate |
|
1571 |
- put_byte(pb, 0x00); // content package type |
|
1572 |
- put_be16(pb, 0x00); // channel handle |
|
1573 |
- put_be16(pb, frame); // continuity count |
|
1569 |
+ avio_w8(pb, 0x5c); // UL, user date/time stamp, picture and sound item present |
|
1570 |
+ avio_w8(pb, 0x04); // content package rate |
|
1571 |
+ avio_w8(pb, 0x00); // content package type |
|
1572 |
+ avio_wb16(pb, 0x00); // channel handle |
|
1573 |
+ avio_wb16(pb, frame); // continuity count |
|
1574 | 1574 |
if (mxf->essence_container_count > 1) |
1575 |
- put_buffer(pb, multiple_desc_ul, 16); |
|
1575 |
+ avio_write(pb, multiple_desc_ul, 16); |
|
1576 | 1576 |
else { |
1577 | 1577 |
MXFStreamContext *sc = s->streams[0]->priv_data; |
1578 |
- put_buffer(pb, mxf_essence_container_uls[sc->index].container_ul, 16); |
|
1578 |
+ avio_write(pb, mxf_essence_container_uls[sc->index].container_ul, 16); |
|
1579 | 1579 |
} |
1580 |
- put_byte(pb, 0); |
|
1581 |
- put_be64(pb, 0); |
|
1582 |
- put_be64(pb, 0); // creation date/time stamp |
|
1580 |
+ avio_w8(pb, 0); |
|
1581 |
+ avio_wb64(pb, 0); |
|
1582 |
+ avio_wb64(pb, 0); // creation date/time stamp |
|
1583 | 1583 |
|
1584 |
- put_byte(pb, 0x81); // SMPTE 12M time code |
|
1584 |
+ avio_w8(pb, 0x81); // SMPTE 12M time code |
|
1585 | 1585 |
time_code = ff_framenum_to_12m_time_code(frame, mxf->timecode_drop_frame, mxf->timecode_base); |
1586 |
- put_be32(pb, time_code); |
|
1587 |
- put_be32(pb, 0); // binary group data |
|
1588 |
- put_be64(pb, 0); |
|
1586 |
+ avio_wb32(pb, time_code); |
|
1587 |
+ avio_wb32(pb, 0); // binary group data |
|
1588 |
+ avio_wb64(pb, 0); |
|
1589 | 1589 |
|
1590 | 1590 |
// write system metadata package set |
1591 |
- put_buffer(pb, system_metadata_package_set_key, 16); |
|
1591 |
+ avio_write(pb, system_metadata_package_set_key, 16); |
|
1592 | 1592 |
klv_encode_ber4_length(pb, 35); |
1593 |
- put_byte(pb, 0x83); // UMID |
|
1594 |
- put_be16(pb, 0x20); |
|
1593 |
+ avio_w8(pb, 0x83); // UMID |
|
1594 |
+ avio_wb16(pb, 0x20); |
|
1595 | 1595 |
mxf_write_umid(s, 1); |
1596 | 1596 |
} |
1597 | 1597 |
|
... | ... |
@@ -1607,21 +1607,21 @@ static void mxf_write_d10_video_packet(AVFormatContext *s, AVStream *st, AVPacke |
1607 | 1607 |
packet_size += klv_fill_size(packet_size); |
1608 | 1608 |
|
1609 | 1609 |
klv_encode_ber4_length(pb, pkt->size); |
1610 |
- put_buffer(pb, pkt->data, pkt->size); |
|
1610 |
+ avio_write(pb, pkt->data, pkt->size); |
|
1611 | 1611 |
|
1612 | 1612 |
// ensure CBR muxing by padding to correct video frame size |
1613 | 1613 |
pad = packet_size - pkt->size - 16 - 4; |
1614 | 1614 |
if (pad > 20) { |
1615 |
- put_buffer(s->pb, klv_fill_key, 16); |
|
1615 |
+ avio_write(s->pb, klv_fill_key, 16); |
|
1616 | 1616 |
pad -= 16 + 4; |
1617 | 1617 |
klv_encode_ber4_length(s->pb, pad); |
1618 | 1618 |
for (; pad; pad--) |
1619 |
- put_byte(s->pb, 0); |
|
1619 |
+ avio_w8(s->pb, 0); |
|
1620 | 1620 |
assert(!(url_ftell(s->pb) & (KAG_SIZE-1))); |
1621 | 1621 |
} else { |
1622 | 1622 |
av_log(s, AV_LOG_WARNING, "cannot fill d-10 video packet\n"); |
1623 | 1623 |
for (; pad > 0; pad--) |
1624 |
- put_byte(s->pb, 0); |
|
1624 |
+ avio_w8(s->pb, 0); |
|
1625 | 1625 |
} |
1626 | 1626 |
} |
1627 | 1627 |
|
... | ... |
@@ -1636,9 +1636,9 @@ static void mxf_write_d10_audio_packet(AVFormatContext *s, AVStream *st, AVPacke |
1636 | 1636 |
|
1637 | 1637 |
klv_encode_ber4_length(pb, 4 + frame_size*4*8); |
1638 | 1638 |
|
1639 |
- put_byte(pb, (frame_size == 1920 ? 0 : (mxf->edit_units_count-1) % 5 + 1)); |
|
1640 |
- put_le16(pb, frame_size); |
|
1641 |
- put_byte(pb, (1<<st->codec->channels)-1); |
|
1639 |
+ avio_w8(pb, (frame_size == 1920 ? 0 : (mxf->edit_units_count-1) % 5 + 1)); |
|
1640 |
+ avio_wl16(pb, frame_size); |
|
1641 |
+ avio_w8(pb, (1<<st->codec->channels)-1); |
|
1642 | 1642 |
|
1643 | 1643 |
while (samples < end) { |
1644 | 1644 |
for (i = 0; i < st->codec->channels; i++) { |
... | ... |
@@ -1650,10 +1650,10 @@ static void mxf_write_d10_audio_packet(AVFormatContext *s, AVStream *st, AVPacke |
1650 | 1650 |
sample = AV_RL16(samples)<<12; |
1651 | 1651 |
samples += 2; |
1652 | 1652 |
} |
1653 |
- put_le32(pb, sample | i); |
|
1653 |
+ avio_wl32(pb, sample | i); |
|
1654 | 1654 |
} |
1655 | 1655 |
for (; i < 8; i++) |
1656 |
- put_le32(pb, i); |
|
1656 |
+ avio_wl32(pb, i); |
|
1657 | 1657 |
} |
1658 | 1658 |
} |
1659 | 1659 |
|
... | ... |
@@ -1719,7 +1719,7 @@ static int mxf_write_packet(AVFormatContext *s, AVPacket *pkt) |
1719 | 1719 |
} |
1720 | 1720 |
|
1721 | 1721 |
mxf_write_klv_fill(s); |
1722 |
- put_buffer(pb, sc->track_essence_element_key, 16); // write key |
|
1722 |
+ avio_write(pb, sc->track_essence_element_key, 16); // write key |
|
1723 | 1723 |
if (s->oformat == &ff_mxf_d10_muxer) { |
1724 | 1724 |
if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO) |
1725 | 1725 |
mxf_write_d10_video_packet(s, st, pkt); |
... | ... |
@@ -1727,7 +1727,7 @@ static int mxf_write_packet(AVFormatContext *s, AVPacket *pkt) |
1727 | 1727 |
mxf_write_d10_audio_packet(s, st, pkt); |
1728 | 1728 |
} else { |
1729 | 1729 |
klv_encode_ber4_length(pb, pkt->size); // write length |
1730 |
- put_buffer(pb, pkt->data, pkt->size); |
|
1730 |
+ avio_write(pb, pkt->data, pkt->size); |
|
1731 | 1731 |
mxf->body_offset += 16+4+pkt->size + klv_fill_size(16+4+pkt->size); |
1732 | 1732 |
} |
1733 | 1733 |
|
... | ... |
@@ -1743,24 +1743,24 @@ static void mxf_write_random_index_pack(AVFormatContext *s) |
1743 | 1743 |
uint64_t pos = url_ftell(pb); |
1744 | 1744 |
int i; |
1745 | 1745 |
|
1746 |
- put_buffer(pb, random_index_pack_key, 16); |
|
1746 |
+ avio_write(pb, random_index_pack_key, 16); |
|
1747 | 1747 |
klv_encode_ber_length(pb, 28 + 12*mxf->body_partitions_count); |
1748 | 1748 |
|
1749 | 1749 |
if (mxf->edit_unit_byte_count) |
1750 |
- put_be32(pb, 1); // BodySID of header partition |
|
1750 |
+ avio_wb32(pb, 1); // BodySID of header partition |
|
1751 | 1751 |
else |
1752 |
- put_be32(pb, 0); |
|
1753 |
- put_be64(pb, 0); // offset of header partition |
|
1752 |
+ avio_wb32(pb, 0); |
|
1753 |
+ avio_wb64(pb, 0); // offset of header partition |
|
1754 | 1754 |
|
1755 | 1755 |
for (i = 0; i < mxf->body_partitions_count; i++) { |
1756 |
- put_be32(pb, 1); // BodySID |
|
1757 |
- put_be64(pb, mxf->body_partition_offset[i]); |
|
1756 |
+ avio_wb32(pb, 1); // BodySID |
|
1757 |
+ avio_wb64(pb, mxf->body_partition_offset[i]); |
|
1758 | 1758 |
} |
1759 | 1759 |
|
1760 |
- put_be32(pb, 0); // BodySID of footer partition |
|
1761 |
- put_be64(pb, mxf->footer_partition_offset); |
|
1760 |
+ avio_wb32(pb, 0); // BodySID of footer partition |
|
1761 |
+ avio_wb64(pb, mxf->footer_partition_offset); |
|
1762 | 1762 |
|
1763 |
- put_be32(pb, url_ftell(pb) - pos + 4); |
|
1763 |
+ avio_wb32(pb, url_ftell(pb) - pos + 4); |
|
1764 | 1764 |
} |
1765 | 1765 |
|
1766 | 1766 |
static int mxf_write_footer(AVFormatContext *s) |
... | ... |
@@ -254,7 +254,7 @@ static void put_str(AVIOContext *bc, const char *string){ |
254 | 254 |
int len= strlen(string); |
255 | 255 |
|
256 | 256 |
ff_put_v(bc, len); |
257 |
- put_buffer(bc, string, len); |
|
257 |
+ avio_write(bc, string, len); |
|
258 | 258 |
} |
259 | 259 |
|
260 | 260 |
static void put_s(AVIOContext *bc, int64_t val){ |
... | ... |
@@ -285,16 +285,16 @@ static void put_packet(NUTContext *nut, AVIOContext *bc, AVIOContext *dyn_bc, in |
285 | 285 |
|
286 | 286 |
if(forw_ptr > 4096) |
287 | 287 |
init_checksum(bc, ff_crc04C11DB7_update, 0); |
288 |
- put_be64(bc, startcode); |
|
288 |
+ avio_wb64(bc, startcode); |
|
289 | 289 |
ff_put_v(bc, forw_ptr); |
290 | 290 |
if(forw_ptr > 4096) |
291 |
- put_le32(bc, get_checksum(bc)); |
|
291 |
+ avio_wl32(bc, get_checksum(bc)); |
|
292 | 292 |
|
293 | 293 |
if(calculate_checksum) |
294 | 294 |
init_checksum(bc, ff_crc04C11DB7_update, 0); |
295 |
- put_buffer(bc, dyn_buf, dyn_size); |
|
295 |
+ avio_write(bc, dyn_buf, dyn_size); |
|
296 | 296 |
if(calculate_checksum) |
297 |
- put_le32(bc, get_checksum(bc)); |
|
297 |
+ avio_wl32(bc, get_checksum(bc)); |
|
298 | 298 |
|
299 | 299 |
av_free(dyn_buf); |
300 | 300 |
} |
... | ... |
@@ -366,7 +366,7 @@ static void write_mainheader(NUTContext *nut, AVIOContext *bc){ |
366 | 366 |
ff_put_v(bc, nut->header_count-1); |
367 | 367 |
for(i=1; i<nut->header_count; i++){ |
368 | 368 |
ff_put_v(bc, nut->header_len[i]); |
369 |
- put_buffer(bc, nut->header[i], nut->header_len[i]); |
|
369 |
+ avio_write(bc, nut->header[i], nut->header_len[i]); |
|
370 | 370 |
} |
371 | 371 |
} |
372 | 372 |
|
... | ... |
@@ -382,7 +382,7 @@ static int write_streamheader(AVFormatContext *avctx, AVIOContext *bc, AVStream |
382 | 382 |
} |
383 | 383 |
ff_put_v(bc, 4); |
384 | 384 |
if (codec->codec_tag){ |
385 |
- put_le32(bc, codec->codec_tag); |
|
385 |
+ avio_wl32(bc, codec->codec_tag); |
|
386 | 386 |
} else { |
387 | 387 |
av_log(avctx, AV_LOG_ERROR, "No codec tag defined for stream %d\n", i); |
388 | 388 |
return AVERROR(EINVAL); |
... | ... |
@@ -392,10 +392,10 @@ static int write_streamheader(AVFormatContext *avctx, AVIOContext *bc, AVStream |
392 | 392 |
ff_put_v(bc, nut->stream[i].msb_pts_shift); |
393 | 393 |
ff_put_v(bc, nut->stream[i].max_pts_distance); |
394 | 394 |
ff_put_v(bc, codec->has_b_frames); |
395 |
- put_byte(bc, 0); /* flags: 0x1 - fixed_fps, 0x2 - index_present */ |
|
395 |
+ avio_w8(bc, 0); /* flags: 0x1 - fixed_fps, 0x2 - index_present */ |
|
396 | 396 |
|
397 | 397 |
ff_put_v(bc, codec->extradata_size); |
398 |
- put_buffer(bc, codec->extradata, codec->extradata_size); |
|
398 |
+ avio_write(bc, codec->extradata, codec->extradata_size); |
|
399 | 399 |
|
400 | 400 |
switch(codec->codec_type){ |
401 | 401 |
case AVMEDIA_TYPE_AUDIO: |
... | ... |
@@ -450,7 +450,7 @@ static int write_globalinfo(NUTContext *nut, AVIOContext *bc){ |
450 | 450 |
ff_put_v(bc, count); |
451 | 451 |
|
452 | 452 |
dyn_size= url_close_dyn_buf(dyn_bc, &dyn_buf); |
453 |
- put_buffer(bc, dyn_buf, dyn_size); |
|
453 |
+ avio_write(bc, dyn_buf, dyn_size); |
|
454 | 454 |
av_free(dyn_buf); |
455 | 455 |
return 0; |
456 | 456 |
} |
... | ... |
@@ -479,7 +479,7 @@ static int write_streaminfo(NUTContext *nut, AVIOContext *bc, int stream_id){ |
479 | 479 |
|
480 | 480 |
ff_put_v(bc, count); |
481 | 481 |
|
482 |
- put_buffer(bc, dyn_buf, dyn_size); |
|
482 |
+ avio_write(bc, dyn_buf, dyn_size); |
|
483 | 483 |
} |
484 | 484 |
|
485 | 485 |
av_free(dyn_buf); |
... | ... |
@@ -575,8 +575,8 @@ static int write_header(AVFormatContext *s){ |
575 | 575 |
build_frame_code(s); |
576 | 576 |
assert(nut->frame_code['N'].flags == FLAG_INVALID); |
577 | 577 |
|
578 |
- put_buffer(bc, ID_STRING, strlen(ID_STRING)); |
|
579 |
- put_byte(bc, 0); |
|
578 |
+ avio_write(bc, ID_STRING, strlen(ID_STRING)); |
|
579 |
+ avio_w8(bc, 0); |
|
580 | 580 |
|
581 | 581 |
if ((ret = write_headers(s, bc)) < 0) |
582 | 582 |
return ret; |
... | ... |
@@ -749,7 +749,7 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt){ |
749 | 749 |
header_idx= fc->header_idx; |
750 | 750 |
|
751 | 751 |
init_checksum(bc, ff_crc04C11DB7_update, 0); |
752 |
- put_byte(bc, frame_code); |
|
752 |
+ avio_w8(bc, frame_code); |
|
753 | 753 |
if(flags & FLAG_CODED){ |
754 | 754 |
ff_put_v(bc, (flags^needed_flags) & ~(FLAG_CODED)); |
755 | 755 |
flags = needed_flags; |
... | ... |
@@ -759,10 +759,10 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt){ |
759 | 759 |
if(flags & FLAG_SIZE_MSB) ff_put_v(bc, pkt->size / fc->size_mul); |
760 | 760 |
if(flags & FLAG_HEADER_IDX) ff_put_v(bc, header_idx= best_header_idx); |
761 | 761 |
|
762 |
- if(flags & FLAG_CHECKSUM) put_le32(bc, get_checksum(bc)); |
|
762 |
+ if(flags & FLAG_CHECKSUM) avio_wl32(bc, get_checksum(bc)); |
|
763 | 763 |
else get_checksum(bc); |
764 | 764 |
|
765 |
- put_buffer(bc, pkt->data + nut->header_len[header_idx], pkt->size - nut->header_len[header_idx]); |
|
765 |
+ avio_write(bc, pkt->data + nut->header_len[header_idx], pkt->size - nut->header_len[header_idx]); |
|
766 | 766 |
nus->last_flags= flags; |
767 | 767 |
nus->last_pts= pkt->pts; |
768 | 768 |
|
... | ... |
@@ -69,7 +69,7 @@ static void ogg_update_checksum(AVFormatContext *s, AVIOContext *pb, int64_t crc |
69 | 69 |
int64_t pos = url_ftell(pb); |
70 | 70 |
uint32_t checksum = get_checksum(pb); |
71 | 71 |
url_fseek(pb, crc_offset, SEEK_SET); |
72 |
- put_be32(pb, checksum); |
|
72 |
+ avio_wb32(pb, checksum); |
|
73 | 73 |
url_fseek(pb, pos, SEEK_SET); |
74 | 74 |
} |
75 | 75 |
|
... | ... |
@@ -86,16 +86,16 @@ static int ogg_write_page(AVFormatContext *s, OGGPage *page, int extra_flags) |
86 | 86 |
return ret; |
87 | 87 |
init_checksum(pb, ff_crc04C11DB7_update, 0); |
88 | 88 |
put_tag(pb, "OggS"); |
89 |
- put_byte(pb, 0); |
|
90 |
- put_byte(pb, page->flags | extra_flags); |
|
91 |
- put_le64(pb, page->granule); |
|
92 |
- put_le32(pb, oggstream->serial_num); |
|
93 |
- put_le32(pb, oggstream->page_counter++); |
|
89 |
+ avio_w8(pb, 0); |
|
90 |
+ avio_w8(pb, page->flags | extra_flags); |
|
91 |
+ avio_wl64(pb, page->granule); |
|
92 |
+ avio_wl32(pb, oggstream->serial_num); |
|
93 |
+ avio_wl32(pb, oggstream->page_counter++); |
|
94 | 94 |
crc_offset = url_ftell(pb); |
95 |
- put_le32(pb, 0); // crc |
|
96 |
- put_byte(pb, page->segments_count); |
|
97 |
- put_buffer(pb, page->segments, page->segments_count); |
|
98 |
- put_buffer(pb, page->data, page->size); |
|
95 |
+ avio_wl32(pb, 0); // crc |
|
96 |
+ avio_w8(pb, page->segments_count); |
|
97 |
+ avio_write(pb, page->segments, page->segments_count); |
|
98 |
+ avio_write(pb, page->data, page->size); |
|
99 | 99 |
|
100 | 100 |
ogg_update_checksum(s, pb, crc_offset); |
101 | 101 |
put_flush_packet(pb); |
... | ... |
@@ -104,7 +104,7 @@ static int ogg_write_page(AVFormatContext *s, OGGPage *page, int extra_flags) |
104 | 104 |
if (size < 0) |
105 | 105 |
return size; |
106 | 106 |
|
107 |
- put_buffer(s->pb, buf, size); |
|
107 |
+ avio_write(s->pb, buf, size); |
|
108 | 108 |
put_flush_packet(s->pb); |
109 | 109 |
av_free(buf); |
110 | 110 |
oggstream->page_count--; |
... | ... |
@@ -322,7 +322,7 @@ const AVCodecTag ff_codec_wav_tags[] = { |
322 | 322 |
int64_t ff_start_tag(AVIOContext *pb, const char *tag) |
323 | 323 |
{ |
324 | 324 |
put_tag(pb, tag); |
325 |
- put_le32(pb, 0); |
|
325 |
+ avio_wl32(pb, 0); |
|
326 | 326 |
return url_ftell(pb); |
327 | 327 |
} |
328 | 328 |
|
... | ... |
@@ -332,7 +332,7 @@ void ff_end_tag(AVIOContext *pb, int64_t start) |
332 | 332 |
|
333 | 333 |
pos = url_ftell(pb); |
334 | 334 |
url_fseek(pb, start - 4, SEEK_SET); |
335 |
- put_le32(pb, (uint32_t)(pos - start)); |
|
335 |
+ avio_wl32(pb, (uint32_t)(pos - start)); |
|
336 | 336 |
url_fseek(pb, pos, SEEK_SET); |
337 | 337 |
} |
338 | 338 |
|
... | ... |
@@ -354,12 +354,12 @@ int ff_put_wav_header(AVIOContext *pb, AVCodecContext *enc) |
354 | 354 |
|| av_get_bits_per_sample(enc->codec_id) > 16; |
355 | 355 |
|
356 | 356 |
if (waveformatextensible) { |
357 |
- put_le16(pb, 0xfffe); |
|
357 |
+ avio_wl16(pb, 0xfffe); |
|
358 | 358 |
} else { |
359 |
- put_le16(pb, enc->codec_tag); |
|
359 |
+ avio_wl16(pb, enc->codec_tag); |
|
360 | 360 |
} |
361 |
- put_le16(pb, enc->channels); |
|
362 |
- put_le32(pb, enc->sample_rate); |
|
361 |
+ avio_wl16(pb, enc->channels); |
|
362 |
+ avio_wl32(pb, enc->sample_rate); |
|
363 | 363 |
if (enc->codec_id == CODEC_ID_MP2 || enc->codec_id == CODEC_ID_MP3 || enc->codec_id == CODEC_ID_GSM_MS) { |
364 | 364 |
bps = 0; |
365 | 365 |
} else if (enc->codec_id == CODEC_ID_ADPCM_G726) { |
... | ... |
@@ -393,9 +393,9 @@ int ff_put_wav_header(AVIOContext *pb, AVCodecContext *enc) |
393 | 393 |
} else { |
394 | 394 |
bytespersec = enc->bit_rate / 8; |
395 | 395 |
} |
396 |
- put_le32(pb, bytespersec); /* bytes per second */ |
|
397 |
- put_le16(pb, blkalign); /* block align */ |
|
398 |
- put_le16(pb, bps); /* bits per sample */ |
|
396 |
+ avio_wl32(pb, bytespersec); /* bytes per second */ |
|
397 |
+ avio_wl16(pb, blkalign); /* block align */ |
|
398 |
+ avio_wl16(pb, bps); /* bits per sample */ |
|
399 | 399 |
if (enc->codec_id == CODEC_ID_MP3) { |
400 | 400 |
hdrsize += 12; |
401 | 401 |
bytestream_put_le16(&riff_extradata, 1); /* wID */ |
... | ... |
@@ -425,20 +425,20 @@ int ff_put_wav_header(AVIOContext *pb, AVCodecContext *enc) |
425 | 425 |
} |
426 | 426 |
if(waveformatextensible) { /* write WAVEFORMATEXTENSIBLE extensions */ |
427 | 427 |
hdrsize += 22; |
428 |
- put_le16(pb, riff_extradata - riff_extradata_start + 22); /* 22 is WAVEFORMATEXTENSIBLE size */ |
|
429 |
- put_le16(pb, enc->bits_per_coded_sample); /* ValidBitsPerSample || SamplesPerBlock || Reserved */ |
|
430 |
- put_le32(pb, enc->channel_layout); /* dwChannelMask */ |
|
431 |
- put_le32(pb, enc->codec_tag); /* GUID + next 3 */ |
|
432 |
- put_le32(pb, 0x00100000); |
|
433 |
- put_le32(pb, 0xAA000080); |
|
434 |
- put_le32(pb, 0x719B3800); |
|
428 |
+ avio_wl16(pb, riff_extradata - riff_extradata_start + 22); /* 22 is WAVEFORMATEXTENSIBLE size */ |
|
429 |
+ avio_wl16(pb, enc->bits_per_coded_sample); /* ValidBitsPerSample || SamplesPerBlock || Reserved */ |
|
430 |
+ avio_wl32(pb, enc->channel_layout); /* dwChannelMask */ |
|
431 |
+ avio_wl32(pb, enc->codec_tag); /* GUID + next 3 */ |
|
432 |
+ avio_wl32(pb, 0x00100000); |
|
433 |
+ avio_wl32(pb, 0xAA000080); |
|
434 |
+ avio_wl32(pb, 0x719B3800); |
|
435 | 435 |
} else if(riff_extradata - riff_extradata_start) { |
436 |
- put_le16(pb, riff_extradata - riff_extradata_start); |
|
436 |
+ avio_wl16(pb, riff_extradata - riff_extradata_start); |
|
437 | 437 |
} |
438 |
- put_buffer(pb, riff_extradata_start, riff_extradata - riff_extradata_start); |
|
438 |
+ avio_write(pb, riff_extradata_start, riff_extradata - riff_extradata_start); |
|
439 | 439 |
if(hdrsize&1){ |
440 | 440 |
hdrsize++; |
441 |
- put_byte(pb, 0); |
|
441 |
+ avio_w8(pb, 0); |
|
442 | 442 |
} |
443 | 443 |
|
444 | 444 |
return hdrsize; |
... | ... |
@@ -447,25 +447,25 @@ int ff_put_wav_header(AVIOContext *pb, AVCodecContext *enc) |
447 | 447 |
/* BITMAPINFOHEADER header */ |
448 | 448 |
void ff_put_bmp_header(AVIOContext *pb, AVCodecContext *enc, const AVCodecTag *tags, int for_asf) |
449 | 449 |
{ |
450 |
- put_le32(pb, 40 + enc->extradata_size); /* size */ |
|
451 |
- put_le32(pb, enc->width); |
|
450 |
+ avio_wl32(pb, 40 + enc->extradata_size); /* size */ |
|
451 |
+ avio_wl32(pb, enc->width); |
|
452 | 452 |
//We always store RGB TopDown |
453 |
- put_le32(pb, enc->codec_tag ? enc->height : -enc->height); |
|
454 |
- put_le16(pb, 1); /* planes */ |
|
453 |
+ avio_wl32(pb, enc->codec_tag ? enc->height : -enc->height); |
|
454 |
+ avio_wl16(pb, 1); /* planes */ |
|
455 | 455 |
|
456 |
- put_le16(pb, enc->bits_per_coded_sample ? enc->bits_per_coded_sample : 24); /* depth */ |
|
456 |
+ avio_wl16(pb, enc->bits_per_coded_sample ? enc->bits_per_coded_sample : 24); /* depth */ |
|
457 | 457 |
/* compression type */ |
458 |
- put_le32(pb, enc->codec_tag); |
|
459 |
- put_le32(pb, enc->width * enc->height * 3); |
|
460 |
- put_le32(pb, 0); |
|
461 |
- put_le32(pb, 0); |
|
462 |
- put_le32(pb, 0); |
|
463 |
- put_le32(pb, 0); |
|
458 |
+ avio_wl32(pb, enc->codec_tag); |
|
459 |
+ avio_wl32(pb, enc->width * enc->height * 3); |
|
460 |
+ avio_wl32(pb, 0); |
|
461 |
+ avio_wl32(pb, 0); |
|
462 |
+ avio_wl32(pb, 0); |
|
463 |
+ avio_wl32(pb, 0); |
|
464 | 464 |
|
465 |
- put_buffer(pb, enc->extradata, enc->extradata_size); |
|
465 |
+ avio_write(pb, enc->extradata, enc->extradata_size); |
|
466 | 466 |
|
467 | 467 |
if (!for_asf && enc->extradata_size & 1) |
468 |
- put_byte(pb, 0); |
|
468 |
+ avio_w8(pb, 0); |
|
469 | 469 |
} |
470 | 470 |
#endif //CONFIG_MUXERS |
471 | 471 |
|
... | ... |
@@ -46,17 +46,17 @@ typedef struct { |
46 | 46 |
|
47 | 47 |
static void put_str(AVIOContext *s, const char *tag) |
48 | 48 |
{ |
49 |
- put_be16(s,strlen(tag)); |
|
49 |
+ avio_wb16(s,strlen(tag)); |
|
50 | 50 |
while (*tag) { |
51 |
- put_byte(s, *tag++); |
|
51 |
+ avio_w8(s, *tag++); |
|
52 | 52 |
} |
53 | 53 |
} |
54 | 54 |
|
55 | 55 |
static void put_str8(AVIOContext *s, const char *tag) |
56 | 56 |
{ |
57 |
- put_byte(s, strlen(tag)); |
|
57 |
+ avio_w8(s, strlen(tag)); |
|
58 | 58 |
while (*tag) { |
59 |
- put_byte(s, *tag++); |
|
59 |
+ avio_w8(s, *tag++); |
|
60 | 60 |
} |
61 | 61 |
} |
62 | 62 |
|
... | ... |
@@ -75,14 +75,14 @@ static int rv10_write_header(AVFormatContext *ctx, |
75 | 75 |
start_ptr = s->buf_ptr; |
76 | 76 |
|
77 | 77 |
put_tag(s, ".RMF"); |
78 |
- put_be32(s,18); /* header size */ |
|
79 |
- put_be16(s,0); |
|
80 |
- put_be32(s,0); |
|
81 |
- put_be32(s,4 + ctx->nb_streams); /* num headers */ |
|
78 |
+ avio_wb32(s,18); /* header size */ |
|
79 |
+ avio_wb16(s,0); |
|
80 |
+ avio_wb32(s,0); |
|
81 |
+ avio_wb32(s,4 + ctx->nb_streams); /* num headers */ |
|
82 | 82 |
|
83 | 83 |
put_tag(s,"PROP"); |
84 |
- put_be32(s, 50); |
|
85 |
- put_be16(s, 0); |
|
84 |
+ avio_wb32(s, 50); |
|
85 |
+ avio_wb16(s, 0); |
|
86 | 86 |
packet_max_size = 0; |
87 | 87 |
packet_total_size = 0; |
88 | 88 |
nb_packets = 0; |
... | ... |
@@ -100,26 +100,26 @@ static int rv10_write_header(AVFormatContext *ctx, |
100 | 100 |
if (v > duration) |
101 | 101 |
duration = v; |
102 | 102 |
} |
103 |
- put_be32(s, bit_rate); /* max bit rate */ |
|
104 |
- put_be32(s, bit_rate); /* avg bit rate */ |
|
105 |
- put_be32(s, packet_max_size); /* max packet size */ |
|
103 |
+ avio_wb32(s, bit_rate); /* max bit rate */ |
|
104 |
+ avio_wb32(s, bit_rate); /* avg bit rate */ |
|
105 |
+ avio_wb32(s, packet_max_size); /* max packet size */ |
|
106 | 106 |
if (nb_packets > 0) |
107 | 107 |
packet_avg_size = packet_total_size / nb_packets; |
108 | 108 |
else |
109 | 109 |
packet_avg_size = 0; |
110 |
- put_be32(s, packet_avg_size); /* avg packet size */ |
|
111 |
- put_be32(s, nb_packets); /* num packets */ |
|
112 |
- put_be32(s, duration); /* duration */ |
|
113 |
- put_be32(s, BUFFER_DURATION); /* preroll */ |
|
114 |
- put_be32(s, index_pos); /* index offset */ |
|
110 |
+ avio_wb32(s, packet_avg_size); /* avg packet size */ |
|
111 |
+ avio_wb32(s, nb_packets); /* num packets */ |
|
112 |
+ avio_wb32(s, duration); /* duration */ |
|
113 |
+ avio_wb32(s, BUFFER_DURATION); /* preroll */ |
|
114 |
+ avio_wb32(s, index_pos); /* index offset */ |
|
115 | 115 |
/* computation of data the data offset */ |
116 | 116 |
data_offset_ptr = s->buf_ptr; |
117 |
- put_be32(s, 0); /* data offset : will be patched after */ |
|
118 |
- put_be16(s, ctx->nb_streams); /* num streams */ |
|
117 |
+ avio_wb32(s, 0); /* data offset : will be patched after */ |
|
118 |
+ avio_wb16(s, ctx->nb_streams); /* num streams */ |
|
119 | 119 |
flags = 1 | 2; /* save allowed & perfect play */ |
120 | 120 |
if (url_is_streamed(s)) |
121 | 121 |
flags |= 4; /* live broadcast */ |
122 |
- put_be16(s, flags); |
|
122 |
+ avio_wb16(s, flags); |
|
123 | 123 |
|
124 | 124 |
/* comments */ |
125 | 125 |
|
... | ... |
@@ -129,8 +129,8 @@ static int rv10_write_header(AVFormatContext *ctx, |
129 | 129 |
tag = av_metadata_get(ctx->metadata, ff_rm_metadata[i], NULL, 0); |
130 | 130 |
if(tag) size += strlen(tag->value); |
131 | 131 |
} |
132 |
- put_be32(s,size); |
|
133 |
- put_be16(s,0); |
|
132 |
+ avio_wb32(s,size); |
|
133 |
+ avio_wb16(s,0); |
|
134 | 134 |
for(i=0; i<FF_ARRAY_ELEMS(ff_rm_metadata); i++) { |
135 | 135 |
tag = av_metadata_get(ctx->metadata, ff_rm_metadata[i], NULL, 0); |
136 | 136 |
put_str(s, tag ? tag->value : ""); |
... | ... |
@@ -153,29 +153,29 @@ static int rv10_write_header(AVFormatContext *ctx, |
153 | 153 |
|
154 | 154 |
put_tag(s,"MDPR"); |
155 | 155 |
size = 10 + 9 * 4 + strlen(desc) + strlen(mimetype) + codec_data_size; |
156 |
- put_be32(s, size); |
|
157 |
- put_be16(s, 0); |
|
156 |
+ avio_wb32(s, size); |
|
157 |
+ avio_wb16(s, 0); |
|
158 | 158 |
|
159 |
- put_be16(s, i); /* stream number */ |
|
160 |
- put_be32(s, stream->bit_rate); /* max bit rate */ |
|
161 |
- put_be32(s, stream->bit_rate); /* avg bit rate */ |
|
162 |
- put_be32(s, stream->packet_max_size); /* max packet size */ |
|
159 |
+ avio_wb16(s, i); /* stream number */ |
|
160 |
+ avio_wb32(s, stream->bit_rate); /* max bit rate */ |
|
161 |
+ avio_wb32(s, stream->bit_rate); /* avg bit rate */ |
|
162 |
+ avio_wb32(s, stream->packet_max_size); /* max packet size */ |
|
163 | 163 |
if (stream->nb_packets > 0) |
164 | 164 |
packet_avg_size = stream->packet_total_size / |
165 | 165 |
stream->nb_packets; |
166 | 166 |
else |
167 | 167 |
packet_avg_size = 0; |
168 |
- put_be32(s, packet_avg_size); /* avg packet size */ |
|
169 |
- put_be32(s, 0); /* start time */ |
|
170 |
- put_be32(s, BUFFER_DURATION); /* preroll */ |
|
168 |
+ avio_wb32(s, packet_avg_size); /* avg packet size */ |
|
169 |
+ avio_wb32(s, 0); /* start time */ |
|
170 |
+ avio_wb32(s, BUFFER_DURATION); /* preroll */ |
|
171 | 171 |
/* duration */ |
172 | 172 |
if (url_is_streamed(s) || !stream->total_frames) |
173 |
- put_be32(s, (int)(3600 * 1000)); |
|
173 |
+ avio_wb32(s, (int)(3600 * 1000)); |
|
174 | 174 |
else |
175 |
- put_be32(s, (int)(stream->total_frames * 1000 / stream->frame_rate)); |
|
175 |
+ avio_wb32(s, (int)(stream->total_frames * 1000 / stream->frame_rate)); |
|
176 | 176 |
put_str8(s, desc); |
177 | 177 |
put_str8(s, mimetype); |
178 |
- put_be32(s, codec_data_size); |
|
178 |
+ avio_wb32(s, codec_data_size); |
|
179 | 179 |
|
180 | 180 |
if (stream->enc->codec_type == AVMEDIA_TYPE_AUDIO) { |
181 | 181 |
int coded_frame_size, fscode, sample_rate; |
... | ... |
@@ -184,12 +184,12 @@ static int rv10_write_header(AVFormatContext *ctx, |
184 | 184 |
stream->enc->frame_size) / (8 * sample_rate); |
185 | 185 |
/* audio codec info */ |
186 | 186 |
put_tag(s, ".ra"); |
187 |
- put_byte(s, 0xfd); |
|
188 |
- put_be32(s, 0x00040000); /* version */ |
|
187 |
+ avio_w8(s, 0xfd); |
|
188 |
+ avio_wb32(s, 0x00040000); /* version */ |
|
189 | 189 |
put_tag(s, ".ra4"); |
190 |
- put_be32(s, 0x01b53530); /* stream length */ |
|
191 |
- put_be16(s, 4); /* unknown */ |
|
192 |
- put_be32(s, 0x39); /* header size */ |
|
190 |
+ avio_wb32(s, 0x01b53530); /* stream length */ |
|
191 |
+ avio_wb16(s, 4); /* unknown */ |
|
192 |
+ avio_wb32(s, 0x39); /* header size */ |
|
193 | 193 |
|
194 | 194 |
switch(sample_rate) { |
195 | 195 |
case 48000: |
... | ... |
@@ -208,56 +208,56 @@ static int rv10_write_header(AVFormatContext *ctx, |
208 | 208 |
case 8000: |
209 | 209 |
fscode = 3; |
210 | 210 |
} |
211 |
- put_be16(s, fscode); /* codec additional info, for AC-3, seems |
|
211 |
+ avio_wb16(s, fscode); /* codec additional info, for AC-3, seems |
|
212 | 212 |
to be a frequency code */ |
213 | 213 |
/* special hack to compensate rounding errors... */ |
214 | 214 |
if (coded_frame_size == 557) |
215 | 215 |
coded_frame_size--; |
216 |
- put_be32(s, coded_frame_size); /* frame length */ |
|
217 |
- put_be32(s, 0x51540); /* unknown */ |
|
218 |
- put_be32(s, 0x249f0); /* unknown */ |
|
219 |
- put_be32(s, 0x249f0); /* unknown */ |
|
220 |
- put_be16(s, 0x01); |
|
216 |
+ avio_wb32(s, coded_frame_size); /* frame length */ |
|
217 |
+ avio_wb32(s, 0x51540); /* unknown */ |
|
218 |
+ avio_wb32(s, 0x249f0); /* unknown */ |
|
219 |
+ avio_wb32(s, 0x249f0); /* unknown */ |
|
220 |
+ avio_wb16(s, 0x01); |
|
221 | 221 |
/* frame length : seems to be very important */ |
222 |
- put_be16(s, coded_frame_size); |
|
223 |
- put_be32(s, 0); /* unknown */ |
|
224 |
- put_be16(s, stream->enc->sample_rate); /* sample rate */ |
|
225 |
- put_be32(s, 0x10); /* unknown */ |
|
226 |
- put_be16(s, stream->enc->channels); |
|
222 |
+ avio_wb16(s, coded_frame_size); |
|
223 |
+ avio_wb32(s, 0); /* unknown */ |
|
224 |
+ avio_wb16(s, stream->enc->sample_rate); /* sample rate */ |
|
225 |
+ avio_wb32(s, 0x10); /* unknown */ |
|
226 |
+ avio_wb16(s, stream->enc->channels); |
|
227 | 227 |
put_str8(s, "Int0"); /* codec name */ |
228 | 228 |
if (stream->enc->codec_tag) { |
229 |
- put_byte(s, 4); /* tag length */ |
|
230 |
- put_le32(s, stream->enc->codec_tag); |
|
229 |
+ avio_w8(s, 4); /* tag length */ |
|
230 |
+ avio_wl32(s, stream->enc->codec_tag); |
|
231 | 231 |
} else { |
232 | 232 |
av_log(ctx, AV_LOG_ERROR, "Invalid codec tag\n"); |
233 | 233 |
return -1; |
234 | 234 |
} |
235 |
- put_be16(s, 0); /* title length */ |
|
236 |
- put_be16(s, 0); /* author length */ |
|
237 |
- put_be16(s, 0); /* copyright length */ |
|
238 |
- put_byte(s, 0); /* end of header */ |
|
235 |
+ avio_wb16(s, 0); /* title length */ |
|
236 |
+ avio_wb16(s, 0); /* author length */ |
|
237 |
+ avio_wb16(s, 0); /* copyright length */ |
|
238 |
+ avio_w8(s, 0); /* end of header */ |
|
239 | 239 |
} else { |
240 | 240 |
/* video codec info */ |
241 |
- put_be32(s,34); /* size */ |
|
241 |
+ avio_wb32(s,34); /* size */ |
|
242 | 242 |
if(stream->enc->codec_id == CODEC_ID_RV10) |
243 | 243 |
put_tag(s,"VIDORV10"); |
244 | 244 |
else |
245 | 245 |
put_tag(s,"VIDORV20"); |
246 |
- put_be16(s, stream->enc->width); |
|
247 |
- put_be16(s, stream->enc->height); |
|
248 |
- put_be16(s, (int) stream->frame_rate); /* frames per seconds ? */ |
|
249 |
- put_be32(s,0); /* unknown meaning */ |
|
250 |
- put_be16(s, (int) stream->frame_rate); /* unknown meaning */ |
|
251 |
- put_be32(s,0); /* unknown meaning */ |
|
252 |
- put_be16(s, 8); /* unknown meaning */ |
|
246 |
+ avio_wb16(s, stream->enc->width); |
|
247 |
+ avio_wb16(s, stream->enc->height); |
|
248 |
+ avio_wb16(s, (int) stream->frame_rate); /* frames per seconds ? */ |
|
249 |
+ avio_wb32(s,0); /* unknown meaning */ |
|
250 |
+ avio_wb16(s, (int) stream->frame_rate); /* unknown meaning */ |
|
251 |
+ avio_wb32(s,0); /* unknown meaning */ |
|
252 |
+ avio_wb16(s, 8); /* unknown meaning */ |
|
253 | 253 |
/* Seems to be the codec version: only use basic H263. The next |
254 | 254 |
versions seems to add a diffential DC coding as in |
255 | 255 |
MPEG... nothing new under the sun */ |
256 | 256 |
if(stream->enc->codec_id == CODEC_ID_RV10) |
257 |
- put_be32(s,0x10000000); |
|
257 |
+ avio_wb32(s,0x10000000); |
|
258 | 258 |
else |
259 |
- put_be32(s,0x20103001); |
|
260 |
- //put_be32(s,0x10003000); |
|
259 |
+ avio_wb32(s,0x20103001); |
|
260 |
+ //avio_wb32(s,0x10003000); |
|
261 | 261 |
} |
262 | 262 |
} |
263 | 263 |
|
... | ... |
@@ -271,11 +271,11 @@ static int rv10_write_header(AVFormatContext *ctx, |
271 | 271 |
|
272 | 272 |
/* data stream */ |
273 | 273 |
put_tag(s,"DATA"); |
274 |
- put_be32(s,data_size + 10 + 8); |
|
275 |
- put_be16(s,0); |
|
274 |
+ avio_wb32(s,data_size + 10 + 8); |
|
275 |
+ avio_wb16(s,0); |
|
276 | 276 |
|
277 |
- put_be32(s, nb_packets); /* number of packets */ |
|
278 |
- put_be32(s,0); /* next data header */ |
|
277 |
+ avio_wb32(s, nb_packets); /* number of packets */ |
|
278 |
+ avio_wb32(s,0); /* next data header */ |
|
279 | 279 |
return 0; |
280 | 280 |
} |
281 | 281 |
|
... | ... |
@@ -290,13 +290,13 @@ static void write_packet_header(AVFormatContext *ctx, StreamInfo *stream, |
290 | 290 |
if (length > stream->packet_max_size) |
291 | 291 |
stream->packet_max_size = length; |
292 | 292 |
|
293 |
- put_be16(s,0); /* version */ |
|
294 |
- put_be16(s,length + 12); |
|
295 |
- put_be16(s, stream->num); /* stream number */ |
|
293 |
+ avio_wb16(s,0); /* version */ |
|
294 |
+ avio_wb16(s,length + 12); |
|
295 |
+ avio_wb16(s, stream->num); /* stream number */ |
|
296 | 296 |
timestamp = (1000 * (float)stream->nb_frames) / stream->frame_rate; |
297 |
- put_be32(s, timestamp); /* timestamp */ |
|
298 |
- put_byte(s, 0); /* reserved */ |
|
299 |
- put_byte(s, key_frame ? 2 : 0); /* flags */ |
|
297 |
+ avio_wb32(s, timestamp); /* timestamp */ |
|
298 |
+ avio_w8(s, 0); /* reserved */ |
|
299 |
+ avio_w8(s, key_frame ? 2 : 0); /* flags */ |
|
300 | 300 |
} |
301 | 301 |
|
302 | 302 |
static int rm_write_header(AVFormatContext *s) |
... | ... |
@@ -362,9 +362,9 @@ static int rm_write_audio(AVFormatContext *s, const uint8_t *buf, int size, int |
362 | 362 |
buf1[i] = buf[i+1]; |
363 | 363 |
buf1[i+1] = buf[i]; |
364 | 364 |
} |
365 |
- put_buffer(pb, buf1, size); |
|
365 |
+ avio_write(pb, buf1, size); |
|
366 | 366 |
} else { |
367 |
- put_buffer(pb, buf, size); |
|
367 |
+ avio_write(pb, buf, size); |
|
368 | 368 |
} |
369 | 369 |
put_flush_packet(pb); |
370 | 370 |
stream->nb_frames++; |
... | ... |
@@ -386,31 +386,31 @@ static int rm_write_video(AVFormatContext *s, const uint8_t *buf, int size, int |
386 | 386 |
#if 1 |
387 | 387 |
write_packet_header(s, stream, size + 7 + (size >= 0x4000)*4, key_frame); |
388 | 388 |
/* bit 7: '1' if final packet of a frame converted in several packets */ |
389 |
- put_byte(pb, 0x81); |
|
389 |
+ avio_w8(pb, 0x81); |
|
390 | 390 |
/* bit 7: '1' if I frame. bits 6..0 : sequence number in current |
391 | 391 |
frame starting from 1 */ |
392 | 392 |
if (key_frame) { |
393 |
- put_byte(pb, 0x81); |
|
393 |
+ avio_w8(pb, 0x81); |
|
394 | 394 |
} else { |
395 |
- put_byte(pb, 0x01); |
|
395 |
+ avio_w8(pb, 0x01); |
|
396 | 396 |
} |
397 | 397 |
if(size >= 0x4000){ |
398 |
- put_be32(pb, size); /* total frame size */ |
|
399 |
- put_be32(pb, size); /* offset from the start or the end */ |
|
398 |
+ avio_wb32(pb, size); /* total frame size */ |
|
399 |
+ avio_wb32(pb, size); /* offset from the start or the end */ |
|
400 | 400 |
}else{ |
401 |
- put_be16(pb, 0x4000 | size); /* total frame size */ |
|
402 |
- put_be16(pb, 0x4000 | size); /* offset from the start or the end */ |
|
401 |
+ avio_wb16(pb, 0x4000 | size); /* total frame size */ |
|
402 |
+ avio_wb16(pb, 0x4000 | size); /* offset from the start or the end */ |
|
403 | 403 |
} |
404 | 404 |
#else |
405 | 405 |
/* full frame */ |
406 | 406 |
write_packet_header(s, size + 6); |
407 |
- put_byte(pb, 0xc0); |
|
408 |
- put_be16(pb, 0x4000 + size); /* total frame size */ |
|
409 |
- put_be16(pb, 0x4000 + packet_number * 126); /* position in stream */ |
|
407 |
+ avio_w8(pb, 0xc0); |
|
408 |
+ avio_wb16(pb, 0x4000 + size); /* total frame size */ |
|
409 |
+ avio_wb16(pb, 0x4000 + packet_number * 126); /* position in stream */ |
|
410 | 410 |
#endif |
411 |
- put_byte(pb, stream->nb_frames & 0xff); |
|
411 |
+ avio_w8(pb, stream->nb_frames & 0xff); |
|
412 | 412 |
|
413 |
- put_buffer(pb, buf, size); |
|
413 |
+ avio_write(pb, buf, size); |
|
414 | 414 |
put_flush_packet(pb); |
415 | 415 |
|
416 | 416 |
stream->nb_frames++; |
... | ... |
@@ -440,8 +440,8 @@ static int rm_write_trailer(AVFormatContext *s) |
440 | 440 |
/* FIXME: write index */ |
441 | 441 |
|
442 | 442 |
/* undocumented end header */ |
443 |
- put_be32(pb, 0); |
|
444 |
- put_be32(pb, 0); |
|
443 |
+ avio_wb32(pb, 0); |
|
444 |
+ avio_wb32(pb, 0); |
|
445 | 445 |
|
446 | 446 |
url_fseek(pb, 0, SEEK_SET); |
447 | 447 |
for(i=0;i<s->nb_streams;i++) |
... | ... |
@@ -449,8 +449,8 @@ static int rm_write_trailer(AVFormatContext *s) |
449 | 449 |
rv10_write_header(s, data_size, 0); |
450 | 450 |
} else { |
451 | 451 |
/* undocumented end header */ |
452 |
- put_be32(pb, 0); |
|
453 |
- put_be32(pb, 0); |
|
452 |
+ avio_wb32(pb, 0); |
|
453 |
+ avio_wb32(pb, 0); |
|
454 | 454 |
} |
455 | 455 |
put_flush_packet(pb); |
456 | 456 |
return 0; |
... | ... |
@@ -55,10 +55,10 @@ static int rso_write_header(AVFormatContext *s) |
55 | 55 |
} |
56 | 56 |
|
57 | 57 |
/* format header */ |
58 |
- put_be16(pb, enc->codec_tag); /* codec ID */ |
|
59 |
- put_be16(pb, 0); /* data size, will be written at EOF */ |
|
60 |
- put_be16(pb, enc->sample_rate); |
|
61 |
- put_be16(pb, 0x0000); /* play mode ? (0x0000 = don't loop) */ |
|
58 |
+ avio_wb16(pb, enc->codec_tag); /* codec ID */ |
|
59 |
+ avio_wb16(pb, 0); /* data size, will be written at EOF */ |
|
60 |
+ avio_wb16(pb, enc->sample_rate); |
|
61 |
+ avio_wb16(pb, 0x0000); /* play mode ? (0x0000 = don't loop) */ |
|
62 | 62 |
|
63 | 63 |
put_flush_packet(pb); |
64 | 64 |
|
... | ... |
@@ -67,7 +67,7 @@ static int rso_write_header(AVFormatContext *s) |
67 | 67 |
|
68 | 68 |
static int rso_write_packet(AVFormatContext *s, AVPacket *pkt) |
69 | 69 |
{ |
70 |
- put_buffer(s->pb, pkt->data, pkt->size); |
|
70 |
+ avio_write(s->pb, pkt->data, pkt->size); |
|
71 | 71 |
return 0; |
72 | 72 |
} |
73 | 73 |
|
... | ... |
@@ -92,7 +92,7 @@ static int rso_write_trailer(AVFormatContext *s) |
92 | 92 |
|
93 | 93 |
/* update file size */ |
94 | 94 |
url_fseek(pb, 2, SEEK_SET); |
95 |
- put_be16(pb, coded_file_size); |
|
95 |
+ avio_wb16(pb, coded_file_size); |
|
96 | 96 |
url_fseek(pb, file_size, SEEK_SET); |
97 | 97 |
|
98 | 98 |
put_flush_packet(pb); |
... | ... |
@@ -268,12 +268,12 @@ int rtp_check_and_send_back_rr(RTPDemuxContext *s, int count) |
268 | 268 |
return -1; |
269 | 269 |
|
270 | 270 |
// Receiver Report |
271 |
- put_byte(pb, (RTP_VERSION << 6) + 1); /* 1 report block */ |
|
272 |
- put_byte(pb, RTCP_RR); |
|
273 |
- put_be16(pb, 7); /* length in words - 1 */ |
|
271 |
+ avio_w8(pb, (RTP_VERSION << 6) + 1); /* 1 report block */ |
|
272 |
+ avio_w8(pb, RTCP_RR); |
|
273 |
+ avio_wb16(pb, 7); /* length in words - 1 */ |
|
274 | 274 |
// our own SSRC: we use the server's SSRC + 1 to avoid conflicts |
275 |
- put_be32(pb, s->ssrc + 1); |
|
276 |
- put_be32(pb, s->ssrc); // server SSRC |
|
275 |
+ avio_wb32(pb, s->ssrc + 1); |
|
276 |
+ avio_wb32(pb, s->ssrc); // server SSRC |
|
277 | 277 |
// some placeholders we should really fill... |
278 | 278 |
// RFC 1889/p64 |
279 | 279 |
extended_max= stats->cycles + stats->max_seq; |
... | ... |
@@ -290,34 +290,34 @@ int rtp_check_and_send_back_rr(RTPDemuxContext *s, int count) |
290 | 290 |
|
291 | 291 |
fraction= (fraction<<24) | lost; |
292 | 292 |
|
293 |
- put_be32(pb, fraction); /* 8 bits of fraction, 24 bits of total packets lost */ |
|
294 |
- put_be32(pb, extended_max); /* max sequence received */ |
|
295 |
- put_be32(pb, stats->jitter>>4); /* jitter */ |
|
293 |
+ avio_wb32(pb, fraction); /* 8 bits of fraction, 24 bits of total packets lost */ |
|
294 |
+ avio_wb32(pb, extended_max); /* max sequence received */ |
|
295 |
+ avio_wb32(pb, stats->jitter>>4); /* jitter */ |
|
296 | 296 |
|
297 | 297 |
if(s->last_rtcp_ntp_time==AV_NOPTS_VALUE) |
298 | 298 |
{ |
299 |
- put_be32(pb, 0); /* last SR timestamp */ |
|
300 |
- put_be32(pb, 0); /* delay since last SR */ |
|
299 |
+ avio_wb32(pb, 0); /* last SR timestamp */ |
|
300 |
+ avio_wb32(pb, 0); /* delay since last SR */ |
|
301 | 301 |
} else { |
302 | 302 |
uint32_t middle_32_bits= s->last_rtcp_ntp_time>>16; // this is valid, right? do we need to handle 64 bit values special? |
303 | 303 |
uint32_t delay_since_last= ntp_time - s->last_rtcp_ntp_time; |
304 | 304 |
|
305 |
- put_be32(pb, middle_32_bits); /* last SR timestamp */ |
|
306 |
- put_be32(pb, delay_since_last); /* delay since last SR */ |
|
305 |
+ avio_wb32(pb, middle_32_bits); /* last SR timestamp */ |
|
306 |
+ avio_wb32(pb, delay_since_last); /* delay since last SR */ |
|
307 | 307 |
} |
308 | 308 |
|
309 | 309 |
// CNAME |
310 |
- put_byte(pb, (RTP_VERSION << 6) + 1); /* 1 report block */ |
|
311 |
- put_byte(pb, RTCP_SDES); |
|
310 |
+ avio_w8(pb, (RTP_VERSION << 6) + 1); /* 1 report block */ |
|
311 |
+ avio_w8(pb, RTCP_SDES); |
|
312 | 312 |
len = strlen(s->hostname); |
313 |
- put_be16(pb, (6 + len + 3) / 4); /* length in words - 1 */ |
|
314 |
- put_be32(pb, s->ssrc); |
|
315 |
- put_byte(pb, 0x01); |
|
316 |
- put_byte(pb, len); |
|
317 |
- put_buffer(pb, s->hostname, len); |
|
313 |
+ avio_wb16(pb, (6 + len + 3) / 4); /* length in words - 1 */ |
|
314 |
+ avio_wb32(pb, s->ssrc); |
|
315 |
+ avio_w8(pb, 0x01); |
|
316 |
+ avio_w8(pb, len); |
|
317 |
+ avio_write(pb, s->hostname, len); |
|
318 | 318 |
// padding |
319 | 319 |
for (len = (6 + len) % 4; len % 4; len++) { |
320 |
- put_byte(pb, 0); |
|
320 |
+ avio_w8(pb, 0); |
|
321 | 321 |
} |
322 | 322 |
|
323 | 323 |
put_flush_packet(pb); |
... | ... |
@@ -342,11 +342,11 @@ void rtp_send_punch_packets(URLContext* rtp_handle) |
342 | 342 |
if (url_open_dyn_buf(&pb) < 0) |
343 | 343 |
return; |
344 | 344 |
|
345 |
- put_byte(pb, (RTP_VERSION << 6)); |
|
346 |
- put_byte(pb, 0); /* Payload type */ |
|
347 |
- put_be16(pb, 0); /* Seq */ |
|
348 |
- put_be32(pb, 0); /* Timestamp */ |
|
349 |
- put_be32(pb, 0); /* SSRC */ |
|
345 |
+ avio_w8(pb, (RTP_VERSION << 6)); |
|
346 |
+ avio_w8(pb, 0); /* Payload type */ |
|
347 |
+ avio_wb16(pb, 0); /* Seq */ |
|
348 |
+ avio_wb32(pb, 0); /* Timestamp */ |
|
349 |
+ avio_wb32(pb, 0); /* SSRC */ |
|
350 | 350 |
|
351 | 351 |
put_flush_packet(pb); |
352 | 352 |
len = url_close_dyn_buf(pb, &buf); |
... | ... |
@@ -358,10 +358,10 @@ void rtp_send_punch_packets(URLContext* rtp_handle) |
358 | 358 |
if (url_open_dyn_buf(&pb) < 0) |
359 | 359 |
return; |
360 | 360 |
|
361 |
- put_byte(pb, (RTP_VERSION << 6)); |
|
362 |
- put_byte(pb, RTCP_RR); /* receiver report */ |
|
363 |
- put_be16(pb, 1); /* length in words - 1 */ |
|
364 |
- put_be32(pb, 0); /* our own SSRC */ |
|
361 |
+ avio_w8(pb, (RTP_VERSION << 6)); |
|
362 |
+ avio_w8(pb, RTCP_RR); /* receiver report */ |
|
363 |
+ avio_wb16(pb, 1); /* length in words - 1 */ |
|
364 |
+ avio_wb32(pb, 0); /* our own SSRC */ |
|
365 | 365 |
|
366 | 366 |
put_flush_packet(pb); |
367 | 367 |
len = url_close_dyn_buf(pb, &buf); |
... | ... |
@@ -213,7 +213,7 @@ static int asfrtp_parse_packet(AVFormatContext *s, PayloadContext *asf, |
213 | 213 |
if (!asf->pktbuf) |
214 | 214 |
return AVERROR(EIO); |
215 | 215 |
|
216 |
- put_buffer(asf->pktbuf, buf + off, len - off); |
|
216 |
+ avio_write(asf->pktbuf, buf + off, len - off); |
|
217 | 217 |
url_fskip(pb, len - off); |
218 | 218 |
if (!(flags & RTP_FLAG_MARKER)) |
219 | 219 |
return -1; |
... | ... |
@@ -68,7 +68,7 @@ static int latm_parse_packet(AVFormatContext *ctx, PayloadContext *data, |
68 | 68 |
if ((ret = url_open_dyn_buf(&data->dyn_buf)) < 0) |
69 | 69 |
return ret; |
70 | 70 |
} |
71 |
- put_buffer(data->dyn_buf, buf, len); |
|
71 |
+ avio_write(data->dyn_buf, buf, len); |
|
72 | 72 |
|
73 | 73 |
if (!(flags & RTP_FLAG_MARKER)) |
74 | 74 |
return AVERROR(EAGAIN); |
... | ... |
@@ -179,7 +179,7 @@ static int xiph_handle_packet(AVFormatContext * ctx, |
179 | 179 |
if((res = url_open_dyn_buf(&data->fragment)) < 0) |
180 | 180 |
return res; |
181 | 181 |
|
182 |
- put_buffer(data->fragment, buf, pkt_len); |
|
182 |
+ avio_write(data->fragment, buf, pkt_len); |
|
183 | 183 |
data->timestamp = *timestamp; |
184 | 184 |
|
185 | 185 |
} else { |
... | ... |
@@ -198,7 +198,7 @@ static int xiph_handle_packet(AVFormatContext * ctx, |
198 | 198 |
} |
199 | 199 |
|
200 | 200 |
// copy data to fragment buffer |
201 |
- put_buffer(data->fragment, buf, pkt_len); |
|
201 |
+ avio_write(data->fragment, buf, pkt_len); |
|
202 | 202 |
|
203 | 203 |
if (fragmented == 3) { |
204 | 204 |
// end of xiph data packet |
... | ... |
@@ -197,15 +197,15 @@ static void rtcp_send_sr(AVFormatContext *s1, int64_t ntp_time) |
197 | 197 |
s->last_rtcp_ntp_time = ntp_time; |
198 | 198 |
rtp_ts = av_rescale_q(ntp_time - s->first_rtcp_ntp_time, (AVRational){1, 1000000}, |
199 | 199 |
s1->streams[0]->time_base) + s->base_timestamp; |
200 |
- put_byte(s1->pb, (RTP_VERSION << 6)); |
|
201 |
- put_byte(s1->pb, RTCP_SR); |
|
202 |
- put_be16(s1->pb, 6); /* length in words - 1 */ |
|
203 |
- put_be32(s1->pb, s->ssrc); |
|
204 |
- put_be32(s1->pb, ntp_time / 1000000); |
|
205 |
- put_be32(s1->pb, ((ntp_time % 1000000) << 32) / 1000000); |
|
206 |
- put_be32(s1->pb, rtp_ts); |
|
207 |
- put_be32(s1->pb, s->packet_count); |
|
208 |
- put_be32(s1->pb, s->octet_count); |
|
200 |
+ avio_w8(s1->pb, (RTP_VERSION << 6)); |
|
201 |
+ avio_w8(s1->pb, RTCP_SR); |
|
202 |
+ avio_wb16(s1->pb, 6); /* length in words - 1 */ |
|
203 |
+ avio_wb32(s1->pb, s->ssrc); |
|
204 |
+ avio_wb32(s1->pb, ntp_time / 1000000); |
|
205 |
+ avio_wb32(s1->pb, ((ntp_time % 1000000) << 32) / 1000000); |
|
206 |
+ avio_wb32(s1->pb, rtp_ts); |
|
207 |
+ avio_wb32(s1->pb, s->packet_count); |
|
208 |
+ avio_wb32(s1->pb, s->octet_count); |
|
209 | 209 |
put_flush_packet(s1->pb); |
210 | 210 |
} |
211 | 211 |
|
... | ... |
@@ -218,13 +218,13 @@ void ff_rtp_send_data(AVFormatContext *s1, const uint8_t *buf1, int len, int m) |
218 | 218 |
av_dlog(s1, "rtp_send_data size=%d\n", len); |
219 | 219 |
|
220 | 220 |
/* build the RTP header */ |
221 |
- put_byte(s1->pb, (RTP_VERSION << 6)); |
|
222 |
- put_byte(s1->pb, (s->payload_type & 0x7f) | ((m & 0x01) << 7)); |
|
223 |
- put_be16(s1->pb, s->seq); |
|
224 |
- put_be32(s1->pb, s->timestamp); |
|
225 |
- put_be32(s1->pb, s->ssrc); |
|
221 |
+ avio_w8(s1->pb, (RTP_VERSION << 6)); |
|
222 |
+ avio_w8(s1->pb, (s->payload_type & 0x7f) | ((m & 0x01) << 7)); |
|
223 |
+ avio_wb16(s1->pb, s->seq); |
|
224 |
+ avio_wb32(s1->pb, s->timestamp); |
|
225 |
+ avio_wb32(s1->pb, s->ssrc); |
|
226 | 226 |
|
227 |
- put_buffer(s1->pb, buf1, len); |
|
227 |
+ avio_write(s1->pb, buf1, len); |
|
228 | 228 |
put_flush_packet(s1->pb); |
229 | 229 |
|
230 | 230 |
s->seq++; |
... | ... |
@@ -54,28 +54,28 @@ static int sox_write_header(AVFormatContext *s) |
54 | 54 |
|
55 | 55 |
if (enc->codec_id == CODEC_ID_PCM_S32LE) { |
56 | 56 |
put_tag(pb, ".SoX"); |
57 |
- put_le32(pb, sox->header_size); |
|
58 |
- put_le64(pb, 0); /* number of samples */ |
|
59 |
- put_le64(pb, av_dbl2int(enc->sample_rate)); |
|
60 |
- put_le32(pb, enc->channels); |
|
61 |
- put_le32(pb, comment_size); |
|
57 |
+ avio_wl32(pb, sox->header_size); |
|
58 |
+ avio_wl64(pb, 0); /* number of samples */ |
|
59 |
+ avio_wl64(pb, av_dbl2int(enc->sample_rate)); |
|
60 |
+ avio_wl32(pb, enc->channels); |
|
61 |
+ avio_wl32(pb, comment_size); |
|
62 | 62 |
} else if (enc->codec_id == CODEC_ID_PCM_S32BE) { |
63 | 63 |
put_tag(pb, "XoS."); |
64 |
- put_be32(pb, sox->header_size); |
|
65 |
- put_be64(pb, 0); /* number of samples */ |
|
66 |
- put_be64(pb, av_dbl2int(enc->sample_rate)); |
|
67 |
- put_be32(pb, enc->channels); |
|
68 |
- put_be32(pb, comment_size); |
|
64 |
+ avio_wb32(pb, sox->header_size); |
|
65 |
+ avio_wb64(pb, 0); /* number of samples */ |
|
66 |
+ avio_wb64(pb, av_dbl2int(enc->sample_rate)); |
|
67 |
+ avio_wb32(pb, enc->channels); |
|
68 |
+ avio_wb32(pb, comment_size); |
|
69 | 69 |
} else { |
70 | 70 |
av_log(s, AV_LOG_ERROR, "invalid codec; use pcm_s32le or pcm_s32be\n"); |
71 | 71 |
return -1; |
72 | 72 |
} |
73 | 73 |
|
74 | 74 |
if (comment_len) |
75 |
- put_buffer(pb, comment->value, comment_len); |
|
75 |
+ avio_write(pb, comment->value, comment_len); |
|
76 | 76 |
|
77 | 77 |
for ( ; comment_size > comment_len; comment_len++) |
78 |
- put_byte(pb, 0); |
|
78 |
+ avio_w8(pb, 0); |
|
79 | 79 |
|
80 | 80 |
put_flush_packet(pb); |
81 | 81 |
|
... | ... |
@@ -85,7 +85,7 @@ static int sox_write_header(AVFormatContext *s) |
85 | 85 |
static int sox_write_packet(AVFormatContext *s, AVPacket *pkt) |
86 | 86 |
{ |
87 | 87 |
AVIOContext *pb = s->pb; |
88 |
- put_buffer(pb, pkt->data, pkt->size); |
|
88 |
+ avio_write(pb, pkt->data, pkt->size); |
|
89 | 89 |
return 0; |
90 | 90 |
} |
91 | 91 |
|
... | ... |
@@ -101,9 +101,9 @@ static int sox_write_trailer(AVFormatContext *s) |
101 | 101 |
int64_t num_samples = (file_size - sox->header_size - 4LL) >> 2LL; |
102 | 102 |
url_fseek(pb, 8, SEEK_SET); |
103 | 103 |
if (enc->codec_id == CODEC_ID_PCM_S32LE) { |
104 |
- put_le64(pb, num_samples); |
|
104 |
+ avio_wl64(pb, num_samples); |
|
105 | 105 |
} else |
106 |
- put_be64(pb, num_samples); |
|
106 |
+ avio_wb64(pb, num_samples); |
|
107 | 107 |
url_fseek(pb, file_size, SEEK_SET); |
108 | 108 |
|
109 | 109 |
put_flush_packet(pb); |
... | ... |
@@ -476,9 +476,9 @@ static av_always_inline void spdif_put_16(IEC61937Context *ctx, |
476 | 476 |
AVIOContext *pb, unsigned int val) |
477 | 477 |
{ |
478 | 478 |
if (ctx->spdif_flags & SPDIF_FLAG_BIGENDIAN) |
479 |
- put_be16(pb, val); |
|
479 |
+ avio_wb16(pb, val); |
|
480 | 480 |
else |
481 |
- put_le16(pb, val); |
|
481 |
+ avio_wl16(pb, val); |
|
482 | 482 |
} |
483 | 483 |
|
484 | 484 |
static int spdif_write_packet(struct AVFormatContext *s, AVPacket *pkt) |
... | ... |
@@ -512,13 +512,13 @@ static int spdif_write_packet(struct AVFormatContext *s, AVPacket *pkt) |
512 | 512 |
} |
513 | 513 |
|
514 | 514 |
if (ctx->extra_bswap ^ (ctx->spdif_flags & SPDIF_FLAG_BIGENDIAN)) { |
515 |
- put_buffer(s->pb, ctx->out_buf, ctx->out_bytes & ~1); |
|
515 |
+ avio_write(s->pb, ctx->out_buf, ctx->out_bytes & ~1); |
|
516 | 516 |
} else { |
517 | 517 |
av_fast_malloc(&ctx->buffer, &ctx->buffer_size, ctx->out_bytes + FF_INPUT_BUFFER_PADDING_SIZE); |
518 | 518 |
if (!ctx->buffer) |
519 | 519 |
return AVERROR(ENOMEM); |
520 | 520 |
ff_spdif_bswap_buf16((uint16_t *)ctx->buffer, (uint16_t *)ctx->out_buf, ctx->out_bytes >> 1); |
521 |
- put_buffer(s->pb, ctx->buffer, ctx->out_bytes & ~1); |
|
521 |
+ avio_write(s->pb, ctx->buffer, ctx->out_bytes & ~1); |
|
522 | 522 |
} |
523 | 523 |
|
524 | 524 |
/* a final lone byte has to be MSB aligned */ |
... | ... |
@@ -33,10 +33,10 @@ static void put_swf_tag(AVFormatContext *s, int tag) |
33 | 33 |
swf->tag = tag; |
34 | 34 |
/* reserve some room for the tag */ |
35 | 35 |
if (tag & TAG_LONG) { |
36 |
- put_le16(pb, 0); |
|
37 |
- put_le32(pb, 0); |
|
36 |
+ avio_wl16(pb, 0); |
|
37 |
+ avio_wl32(pb, 0); |
|
38 | 38 |
} else { |
39 |
- put_le16(pb, 0); |
|
39 |
+ avio_wl16(pb, 0); |
|
40 | 40 |
} |
41 | 41 |
} |
42 | 42 |
|
... | ... |
@@ -53,11 +53,11 @@ static void put_swf_end_tag(AVFormatContext *s) |
53 | 53 |
url_fseek(pb, swf->tag_pos, SEEK_SET); |
54 | 54 |
if (tag & TAG_LONG) { |
55 | 55 |
tag &= ~TAG_LONG; |
56 |
- put_le16(pb, (tag << 6) | 0x3f); |
|
57 |
- put_le32(pb, tag_len - 4); |
|
56 |
+ avio_wl16(pb, (tag << 6) | 0x3f); |
|
57 |
+ avio_wl32(pb, tag_len - 4); |
|
58 | 58 |
} else { |
59 | 59 |
assert(tag_len < 0x3f); |
60 |
- put_le16(pb, (tag << 6) | tag_len); |
|
60 |
+ avio_wl16(pb, (tag << 6) | tag_len); |
|
61 | 61 |
} |
62 | 62 |
url_fseek(pb, pos, SEEK_SET); |
63 | 63 |
} |
... | ... |
@@ -102,7 +102,7 @@ static void put_swf_rect(AVIOContext *pb, |
102 | 102 |
put_bits(&p, nbits, ymax & mask); |
103 | 103 |
|
104 | 104 |
flush_put_bits(&p); |
105 |
- put_buffer(pb, buf, put_bits_ptr(&p) - p.buf); |
|
105 |
+ avio_write(pb, buf, put_bits_ptr(&p) - p.buf); |
|
106 | 106 |
} |
107 | 107 |
|
108 | 108 |
static void put_swf_line_edge(PutBitContext *pb, int dx, int dy) |
... | ... |
@@ -167,7 +167,7 @@ static void put_swf_matrix(AVIOContext *pb, |
167 | 167 |
put_bits(&p, nbits, ty); |
168 | 168 |
|
169 | 169 |
flush_put_bits(&p); |
170 |
- put_buffer(pb, buf, put_bits_ptr(&p) - p.buf); |
|
170 |
+ avio_write(pb, buf, put_bits_ptr(&p) - p.buf); |
|
171 | 171 |
} |
172 | 172 |
|
173 | 173 |
static int swf_write_header(AVFormatContext *s) |
... | ... |
@@ -239,20 +239,20 @@ static int swf_write_header(AVFormatContext *s) |
239 | 239 |
version = 6; /* version 6 and above support FLV1 codec */ |
240 | 240 |
else |
241 | 241 |
version = 4; /* version 4 for mpeg audio support */ |
242 |
- put_byte(pb, version); |
|
242 |
+ avio_w8(pb, version); |
|
243 | 243 |
|
244 |
- put_le32(pb, DUMMY_FILE_SIZE); /* dummy size |
|
244 |
+ avio_wl32(pb, DUMMY_FILE_SIZE); /* dummy size |
|
245 | 245 |
(will be patched if not streamed) */ |
246 | 246 |
|
247 | 247 |
put_swf_rect(pb, 0, width * 20, 0, height * 20); |
248 |
- put_le16(pb, (rate * 256) / rate_base); /* frame rate */ |
|
248 |
+ avio_wl16(pb, (rate * 256) / rate_base); /* frame rate */ |
|
249 | 249 |
swf->duration_pos = url_ftell(pb); |
250 |
- put_le16(pb, (uint16_t)(DUMMY_DURATION * (int64_t)rate / rate_base)); /* frame count */ |
|
250 |
+ avio_wl16(pb, (uint16_t)(DUMMY_DURATION * (int64_t)rate / rate_base)); /* frame count */ |
|
251 | 251 |
|
252 | 252 |
/* avm2/swf v9 (also v8?) files require a file attribute tag */ |
253 | 253 |
if (version == 9) { |
254 | 254 |
put_swf_tag(s, TAG_FILEATTRIBUTES); |
255 |
- put_le32(pb, 1<<3); /* set ActionScript v3/AVM2 flag */ |
|
255 |
+ avio_wl32(pb, 1<<3); /* set ActionScript v3/AVM2 flag */ |
|
256 | 256 |
put_swf_end_tag(s); |
257 | 257 |
} |
258 | 258 |
|
... | ... |
@@ -260,17 +260,17 @@ static int swf_write_header(AVFormatContext *s) |
260 | 260 |
if (swf->video_enc && swf->video_enc->codec_id == CODEC_ID_MJPEG) { |
261 | 261 |
put_swf_tag(s, TAG_DEFINESHAPE); |
262 | 262 |
|
263 |
- put_le16(pb, SHAPE_ID); /* ID of shape */ |
|
263 |
+ avio_wl16(pb, SHAPE_ID); /* ID of shape */ |
|
264 | 264 |
/* bounding rectangle */ |
265 | 265 |
put_swf_rect(pb, 0, width, 0, height); |
266 | 266 |
/* style info */ |
267 |
- put_byte(pb, 1); /* one fill style */ |
|
268 |
- put_byte(pb, 0x41); /* clipped bitmap fill */ |
|
269 |
- put_le16(pb, BITMAP_ID); /* bitmap ID */ |
|
267 |
+ avio_w8(pb, 1); /* one fill style */ |
|
268 |
+ avio_w8(pb, 0x41); /* clipped bitmap fill */ |
|
269 |
+ avio_wl16(pb, BITMAP_ID); /* bitmap ID */ |
|
270 | 270 |
/* position of the bitmap */ |
271 | 271 |
put_swf_matrix(pb, (int)(1.0 * (1 << FRAC_BITS)), 0, |
272 | 272 |
0, (int)(1.0 * (1 << FRAC_BITS)), 0, 0); |
273 |
- put_byte(pb, 0); /* no line style */ |
|
273 |
+ avio_w8(pb, 0); /* no line style */ |
|
274 | 274 |
|
275 | 275 |
/* shape drawing */ |
276 | 276 |
init_put_bits(&p, buf1, sizeof(buf1)); |
... | ... |
@@ -295,7 +295,7 @@ static int swf_write_header(AVFormatContext *s) |
295 | 295 |
put_bits(&p, 5, 0); |
296 | 296 |
|
297 | 297 |
flush_put_bits(&p); |
298 |
- put_buffer(pb, buf1, put_bits_ptr(&p) - p.buf); |
|
298 |
+ avio_write(pb, buf1, put_bits_ptr(&p) - p.buf); |
|
299 | 299 |
|
300 | 300 |
put_swf_end_tag(s); |
301 | 301 |
} |
... | ... |
@@ -317,11 +317,11 @@ static int swf_write_header(AVFormatContext *s) |
317 | 317 |
v |= 0x02; /* 16 bit playback */ |
318 | 318 |
if (swf->audio_enc->channels == 2) |
319 | 319 |
v |= 0x01; /* stereo playback */ |
320 |
- put_byte(s->pb, v); |
|
320 |
+ avio_w8(s->pb, v); |
|
321 | 321 |
v |= 0x20; /* mp3 compressed */ |
322 |
- put_byte(s->pb, v); |
|
323 |
- put_le16(s->pb, swf->samples_per_frame); /* avg samples per frame */ |
|
324 |
- put_le16(s->pb, 0); |
|
322 |
+ avio_w8(s->pb, v); |
|
323 |
+ avio_wl16(s->pb, swf->samples_per_frame); /* avg samples per frame */ |
|
324 |
+ avio_wl16(s->pb, 0); |
|
325 | 325 |
|
326 | 326 |
put_swf_end_tag(s); |
327 | 327 |
} |
... | ... |
@@ -345,70 +345,70 @@ static int swf_write_video(AVFormatContext *s, |
345 | 345 |
if (swf->video_frame_number == 0) { |
346 | 346 |
/* create a new video object */ |
347 | 347 |
put_swf_tag(s, TAG_VIDEOSTREAM); |
348 |
- put_le16(pb, VIDEO_ID); |
|
348 |
+ avio_wl16(pb, VIDEO_ID); |
|
349 | 349 |
swf->vframes_pos = url_ftell(pb); |
350 |
- put_le16(pb, 15000); /* hard flash player limit */ |
|
351 |
- put_le16(pb, enc->width); |
|
352 |
- put_le16(pb, enc->height); |
|
353 |
- put_byte(pb, 0); |
|
354 |
- put_byte(pb,ff_codec_get_tag(swf_codec_tags,enc->codec_id)); |
|
350 |
+ avio_wl16(pb, 15000); /* hard flash player limit */ |
|
351 |
+ avio_wl16(pb, enc->width); |
|
352 |
+ avio_wl16(pb, enc->height); |
|
353 |
+ avio_w8(pb, 0); |
|
354 |
+ avio_w8(pb,ff_codec_get_tag(swf_codec_tags,enc->codec_id)); |
|
355 | 355 |
put_swf_end_tag(s); |
356 | 356 |
|
357 | 357 |
/* place the video object for the first time */ |
358 | 358 |
put_swf_tag(s, TAG_PLACEOBJECT2); |
359 |
- put_byte(pb, 0x36); |
|
360 |
- put_le16(pb, 1); |
|
361 |
- put_le16(pb, VIDEO_ID); |
|
359 |
+ avio_w8(pb, 0x36); |
|
360 |
+ avio_wl16(pb, 1); |
|
361 |
+ avio_wl16(pb, VIDEO_ID); |
|
362 | 362 |
put_swf_matrix(pb, 1 << FRAC_BITS, 0, 0, 1 << FRAC_BITS, 0, 0); |
363 |
- put_le16(pb, swf->video_frame_number); |
|
363 |
+ avio_wl16(pb, swf->video_frame_number); |
|
364 | 364 |
put_tag(pb, "video"); |
365 |
- put_byte(pb, 0x00); |
|
365 |
+ avio_w8(pb, 0x00); |
|
366 | 366 |
put_swf_end_tag(s); |
367 | 367 |
} else { |
368 | 368 |
/* mark the character for update */ |
369 | 369 |
put_swf_tag(s, TAG_PLACEOBJECT2); |
370 |
- put_byte(pb, 0x11); |
|
371 |
- put_le16(pb, 1); |
|
372 |
- put_le16(pb, swf->video_frame_number); |
|
370 |
+ avio_w8(pb, 0x11); |
|
371 |
+ avio_wl16(pb, 1); |
|
372 |
+ avio_wl16(pb, swf->video_frame_number); |
|
373 | 373 |
put_swf_end_tag(s); |
374 | 374 |
} |
375 | 375 |
|
376 | 376 |
/* set video frame data */ |
377 | 377 |
put_swf_tag(s, TAG_VIDEOFRAME | TAG_LONG); |
378 |
- put_le16(pb, VIDEO_ID); |
|
379 |
- put_le16(pb, swf->video_frame_number++); |
|
380 |
- put_buffer(pb, buf, size); |
|
378 |
+ avio_wl16(pb, VIDEO_ID); |
|
379 |
+ avio_wl16(pb, swf->video_frame_number++); |
|
380 |
+ avio_write(pb, buf, size); |
|
381 | 381 |
put_swf_end_tag(s); |
382 | 382 |
} else if (enc->codec_id == CODEC_ID_MJPEG) { |
383 | 383 |
if (swf->swf_frame_number > 0) { |
384 | 384 |
/* remove the shape */ |
385 | 385 |
put_swf_tag(s, TAG_REMOVEOBJECT); |
386 |
- put_le16(pb, SHAPE_ID); /* shape ID */ |
|
387 |
- put_le16(pb, 1); /* depth */ |
|
386 |
+ avio_wl16(pb, SHAPE_ID); /* shape ID */ |
|
387 |
+ avio_wl16(pb, 1); /* depth */ |
|
388 | 388 |
put_swf_end_tag(s); |
389 | 389 |
|
390 | 390 |
/* free the bitmap */ |
391 | 391 |
put_swf_tag(s, TAG_FREECHARACTER); |
392 |
- put_le16(pb, BITMAP_ID); |
|
392 |
+ avio_wl16(pb, BITMAP_ID); |
|
393 | 393 |
put_swf_end_tag(s); |
394 | 394 |
} |
395 | 395 |
|
396 | 396 |
put_swf_tag(s, TAG_JPEG2 | TAG_LONG); |
397 | 397 |
|
398 |
- put_le16(pb, BITMAP_ID); /* ID of the image */ |
|
398 |
+ avio_wl16(pb, BITMAP_ID); /* ID of the image */ |
|
399 | 399 |
|
400 | 400 |
/* a dummy jpeg header seems to be required */ |
401 |
- put_be32(pb, 0xffd8ffd9); |
|
401 |
+ avio_wb32(pb, 0xffd8ffd9); |
|
402 | 402 |
/* write the jpeg image */ |
403 |
- put_buffer(pb, buf, size); |
|
403 |
+ avio_write(pb, buf, size); |
|
404 | 404 |
|
405 | 405 |
put_swf_end_tag(s); |
406 | 406 |
|
407 | 407 |
/* draw the shape */ |
408 | 408 |
|
409 | 409 |
put_swf_tag(s, TAG_PLACEOBJECT); |
410 |
- put_le16(pb, SHAPE_ID); /* shape ID */ |
|
411 |
- put_le16(pb, 1); /* depth */ |
|
410 |
+ avio_wl16(pb, SHAPE_ID); /* shape ID */ |
|
411 |
+ avio_wl16(pb, 1); /* depth */ |
|
412 | 412 |
put_swf_matrix(pb, 20 << FRAC_BITS, 0, 0, 20 << FRAC_BITS, 0, 0); |
413 | 413 |
put_swf_end_tag(s); |
414 | 414 |
} |
... | ... |
@@ -419,9 +419,9 @@ static int swf_write_video(AVFormatContext *s, |
419 | 419 |
if (swf->audio_enc && av_fifo_size(swf->audio_fifo)) { |
420 | 420 |
int frame_size = av_fifo_size(swf->audio_fifo); |
421 | 421 |
put_swf_tag(s, TAG_STREAMBLOCK | TAG_LONG); |
422 |
- put_le16(pb, swf->sound_samples); |
|
423 |
- put_le16(pb, 0); // seek samples |
|
424 |
- av_fifo_generic_read(swf->audio_fifo, pb, frame_size, &put_buffer); |
|
422 |
+ avio_wl16(pb, swf->sound_samples); |
|
423 |
+ avio_wl16(pb, 0); // seek samples |
|
424 |
+ av_fifo_generic_read(swf->audio_fifo, pb, frame_size, &avio_write); |
|
425 | 425 |
put_swf_end_tag(s); |
426 | 426 |
|
427 | 427 |
/* update FIFO */ |
... | ... |
@@ -495,11 +495,11 @@ static int swf_write_trailer(AVFormatContext *s) |
495 | 495 |
if (!url_is_streamed(s->pb) && video_enc) { |
496 | 496 |
file_size = url_ftell(pb); |
497 | 497 |
url_fseek(pb, 4, SEEK_SET); |
498 |
- put_le32(pb, file_size); |
|
498 |
+ avio_wl32(pb, file_size); |
|
499 | 499 |
url_fseek(pb, swf->duration_pos, SEEK_SET); |
500 |
- put_le16(pb, swf->video_frame_number); |
|
500 |
+ avio_wl16(pb, swf->video_frame_number); |
|
501 | 501 |
url_fseek(pb, swf->vframes_pos, SEEK_SET); |
502 |
- put_le16(pb, swf->video_frame_number); |
|
502 |
+ avio_wl16(pb, swf->video_frame_number); |
|
503 | 503 |
url_fseek(pb, file_size, SEEK_SET); |
504 | 504 |
} |
505 | 505 |
return 0; |
... | ... |
@@ -33,20 +33,20 @@ static int vc1test_write_header(AVFormatContext *s) |
33 | 33 |
av_log(s, AV_LOG_ERROR, "Only WMV3 is accepted!\n"); |
34 | 34 |
return -1; |
35 | 35 |
} |
36 |
- put_le24(pb, 0); //frames count will be here |
|
37 |
- put_byte(pb, 0xC5); |
|
38 |
- put_le32(pb, 4); |
|
39 |
- put_buffer(pb, avc->extradata, 4); |
|
40 |
- put_le32(pb, avc->height); |
|
41 |
- put_le32(pb, avc->width); |
|
42 |
- put_le32(pb, 0xC); |
|
43 |
- put_le24(pb, 0); // hrd_buffer |
|
44 |
- put_byte(pb, 0x80); // level|cbr|res1 |
|
45 |
- put_le32(pb, 0); // hrd_rate |
|
36 |
+ avio_wl24(pb, 0); //frames count will be here |
|
37 |
+ avio_w8(pb, 0xC5); |
|
38 |
+ avio_wl32(pb, 4); |
|
39 |
+ avio_write(pb, avc->extradata, 4); |
|
40 |
+ avio_wl32(pb, avc->height); |
|
41 |
+ avio_wl32(pb, avc->width); |
|
42 |
+ avio_wl32(pb, 0xC); |
|
43 |
+ avio_wl24(pb, 0); // hrd_buffer |
|
44 |
+ avio_w8(pb, 0x80); // level|cbr|res1 |
|
45 |
+ avio_wl32(pb, 0); // hrd_rate |
|
46 | 46 |
if (s->streams[0]->r_frame_rate.den && s->streams[0]->r_frame_rate.num == 1) |
47 |
- put_le32(pb, s->streams[0]->r_frame_rate.den); |
|
47 |
+ avio_wl32(pb, s->streams[0]->r_frame_rate.den); |
|
48 | 48 |
else |
49 |
- put_le32(pb, 0xFFFFFFFF); //variable framerate |
|
49 |
+ avio_wl32(pb, 0xFFFFFFFF); //variable framerate |
|
50 | 50 |
av_set_pts_info(s->streams[0], 32, 1, 1000); |
51 | 51 |
|
52 | 52 |
return 0; |
... | ... |
@@ -59,9 +59,9 @@ static int vc1test_write_packet(AVFormatContext *s, AVPacket *pkt) |
59 | 59 |
|
60 | 60 |
if (!pkt->size) |
61 | 61 |
return 0; |
62 |
- put_le32(pb, pkt->size | ((pkt->flags & AV_PKT_FLAG_KEY) ? 0x80000000 : 0)); |
|
63 |
- put_le32(pb, pkt->pts); |
|
64 |
- put_buffer(pb, pkt->data, pkt->size); |
|
62 |
+ avio_wl32(pb, pkt->size | ((pkt->flags & AV_PKT_FLAG_KEY) ? 0x80000000 : 0)); |
|
63 |
+ avio_wl32(pb, pkt->pts); |
|
64 |
+ avio_write(pb, pkt->data, pkt->size); |
|
65 | 65 |
put_flush_packet(pb); |
66 | 66 |
ctx->frames++; |
67 | 67 |
|
... | ... |
@@ -75,7 +75,7 @@ static int vc1test_write_trailer(AVFormatContext *s) |
75 | 75 |
|
76 | 76 |
if (!url_is_streamed(s->pb)) { |
77 | 77 |
url_fseek(pb, 0, SEEK_SET); |
78 |
- put_le24(pb, ctx->frames); |
|
78 |
+ avio_wl24(pb, ctx->frames); |
|
79 | 79 |
put_flush_packet(pb); |
80 | 80 |
} |
81 | 81 |
return 0; |
... | ... |
@@ -37,10 +37,10 @@ static int voc_write_header(AVFormatContext *s) |
37 | 37 |
|| s->streams[0]->codec->codec_type != AVMEDIA_TYPE_AUDIO) |
38 | 38 |
return AVERROR_PATCHWELCOME; |
39 | 39 |
|
40 |
- put_buffer(pb, ff_voc_magic, sizeof(ff_voc_magic) - 1); |
|
41 |
- put_le16(pb, header_size); |
|
42 |
- put_le16(pb, version); |
|
43 |
- put_le16(pb, ~version + 0x1234); |
|
40 |
+ avio_write(pb, ff_voc_magic, sizeof(ff_voc_magic) - 1); |
|
41 |
+ avio_wl16(pb, header_size); |
|
42 |
+ avio_wl16(pb, version); |
|
43 |
+ avio_wl16(pb, ~version + 0x1234); |
|
44 | 44 |
|
45 | 45 |
return 0; |
46 | 46 |
} |
... | ... |
@@ -53,39 +53,39 @@ static int voc_write_packet(AVFormatContext *s, AVPacket *pkt) |
53 | 53 |
|
54 | 54 |
if (!voc->param_written) { |
55 | 55 |
if (enc->codec_tag > 0xFF) { |
56 |
- put_byte(pb, VOC_TYPE_NEW_VOICE_DATA); |
|
57 |
- put_le24(pb, pkt->size + 12); |
|
58 |
- put_le32(pb, enc->sample_rate); |
|
59 |
- put_byte(pb, enc->bits_per_coded_sample); |
|
60 |
- put_byte(pb, enc->channels); |
|
61 |
- put_le16(pb, enc->codec_tag); |
|
62 |
- put_le32(pb, 0); |
|
56 |
+ avio_w8(pb, VOC_TYPE_NEW_VOICE_DATA); |
|
57 |
+ avio_wl24(pb, pkt->size + 12); |
|
58 |
+ avio_wl32(pb, enc->sample_rate); |
|
59 |
+ avio_w8(pb, enc->bits_per_coded_sample); |
|
60 |
+ avio_w8(pb, enc->channels); |
|
61 |
+ avio_wl16(pb, enc->codec_tag); |
|
62 |
+ avio_wl32(pb, 0); |
|
63 | 63 |
} else { |
64 | 64 |
if (s->streams[0]->codec->channels > 1) { |
65 |
- put_byte(pb, VOC_TYPE_EXTENDED); |
|
66 |
- put_le24(pb, 4); |
|
67 |
- put_le16(pb, 65536-256000000/(enc->sample_rate*enc->channels)); |
|
68 |
- put_byte(pb, enc->codec_tag); |
|
69 |
- put_byte(pb, enc->channels - 1); |
|
65 |
+ avio_w8(pb, VOC_TYPE_EXTENDED); |
|
66 |
+ avio_wl24(pb, 4); |
|
67 |
+ avio_wl16(pb, 65536-256000000/(enc->sample_rate*enc->channels)); |
|
68 |
+ avio_w8(pb, enc->codec_tag); |
|
69 |
+ avio_w8(pb, enc->channels - 1); |
|
70 | 70 |
} |
71 |
- put_byte(pb, VOC_TYPE_VOICE_DATA); |
|
72 |
- put_le24(pb, pkt->size + 2); |
|
73 |
- put_byte(pb, 256 - 1000000 / enc->sample_rate); |
|
74 |
- put_byte(pb, enc->codec_tag); |
|
71 |
+ avio_w8(pb, VOC_TYPE_VOICE_DATA); |
|
72 |
+ avio_wl24(pb, pkt->size + 2); |
|
73 |
+ avio_w8(pb, 256 - 1000000 / enc->sample_rate); |
|
74 |
+ avio_w8(pb, enc->codec_tag); |
|
75 | 75 |
} |
76 | 76 |
voc->param_written = 1; |
77 | 77 |
} else { |
78 |
- put_byte(pb, VOC_TYPE_VOICE_DATA_CONT); |
|
79 |
- put_le24(pb, pkt->size); |
|
78 |
+ avio_w8(pb, VOC_TYPE_VOICE_DATA_CONT); |
|
79 |
+ avio_wl24(pb, pkt->size); |
|
80 | 80 |
} |
81 | 81 |
|
82 |
- put_buffer(pb, pkt->data, pkt->size); |
|
82 |
+ avio_write(pb, pkt->data, pkt->size); |
|
83 | 83 |
return 0; |
84 | 84 |
} |
85 | 85 |
|
86 | 86 |
static int voc_write_trailer(AVFormatContext *s) |
87 | 87 |
{ |
88 |
- put_byte(s->pb, 0); |
|
88 |
+ avio_w8(s->pb, 0); |
|
89 | 89 |
return 0; |
90 | 90 |
} |
91 | 91 |
|
... | ... |
@@ -43,7 +43,7 @@ static int wav_write_header(AVFormatContext *s) |
43 | 43 |
int64_t fmt, fact; |
44 | 44 |
|
45 | 45 |
put_tag(pb, "RIFF"); |
46 |
- put_le32(pb, 0); /* file length */ |
|
46 |
+ avio_wl32(pb, 0); /* file length */ |
|
47 | 47 |
put_tag(pb, "WAVE"); |
48 | 48 |
|
49 | 49 |
/* format header */ |
... | ... |
@@ -59,7 +59,7 @@ static int wav_write_header(AVFormatContext *s) |
59 | 59 |
if (s->streams[0]->codec->codec_tag != 0x01 /* hence for all other than PCM */ |
60 | 60 |
&& !url_is_streamed(s->pb)) { |
61 | 61 |
fact = ff_start_tag(pb, "fact"); |
62 |
- put_le32(pb, 0); |
|
62 |
+ avio_wl32(pb, 0); |
|
63 | 63 |
ff_end_tag(pb, fact); |
64 | 64 |
} |
65 | 65 |
|
... | ... |
@@ -79,7 +79,7 @@ static int wav_write_packet(AVFormatContext *s, AVPacket *pkt) |
79 | 79 |
{ |
80 | 80 |
AVIOContext *pb = s->pb; |
81 | 81 |
WAVContext *wav = s->priv_data; |
82 |
- put_buffer(pb, pkt->data, pkt->size); |
|
82 |
+ avio_write(pb, pkt->data, pkt->size); |
|
83 | 83 |
if(pkt->pts != AV_NOPTS_VALUE) { |
84 | 84 |
wav->minpts = FFMIN(wav->minpts, pkt->pts); |
85 | 85 |
wav->maxpts = FFMAX(wav->maxpts, pkt->pts); |
... | ... |
@@ -103,7 +103,7 @@ static int wav_write_trailer(AVFormatContext *s) |
103 | 103 |
/* update file size */ |
104 | 104 |
file_size = url_ftell(pb); |
105 | 105 |
url_fseek(pb, 4, SEEK_SET); |
106 |
- put_le32(pb, (uint32_t)(file_size - 8)); |
|
106 |
+ avio_wl32(pb, (uint32_t)(file_size - 8)); |
|
107 | 107 |
url_fseek(pb, file_size, SEEK_SET); |
108 | 108 |
|
109 | 109 |
put_flush_packet(pb); |
... | ... |
@@ -115,7 +115,7 @@ static int wav_write_trailer(AVFormatContext *s) |
115 | 115 |
s->streams[0]->codec->sample_rate * (int64_t)s->streams[0]->time_base.num, |
116 | 116 |
s->streams[0]->time_base.den); |
117 | 117 |
url_fseek(pb, wav->data-12, SEEK_SET); |
118 |
- put_le32(pb, number_of_samples); |
|
118 |
+ avio_wl32(pb, number_of_samples); |
|
119 | 119 |
url_fseek(pb, file_size, SEEK_SET); |
120 | 120 |
put_flush_packet(pb); |
121 | 121 |
} |
... | ... |
@@ -108,21 +108,21 @@ static int yuv4_write_packet(AVFormatContext *s, AVPacket *pkt) |
108 | 108 |
av_log(s, AV_LOG_ERROR, "Error. YUV4MPEG stream header write failed.\n"); |
109 | 109 |
return AVERROR(EIO); |
110 | 110 |
} else { |
111 |
- put_buffer(pb, buf2, strlen(buf2)); |
|
111 |
+ avio_write(pb, buf2, strlen(buf2)); |
|
112 | 112 |
} |
113 | 113 |
} |
114 | 114 |
|
115 | 115 |
/* construct frame header */ |
116 | 116 |
|
117 | 117 |
m = snprintf(buf1, sizeof(buf1), "%s\n", Y4M_FRAME_MAGIC); |
118 |
- put_buffer(pb, buf1, strlen(buf1)); |
|
118 |
+ avio_write(pb, buf1, strlen(buf1)); |
|
119 | 119 |
|
120 | 120 |
width = st->codec->width; |
121 | 121 |
height = st->codec->height; |
122 | 122 |
|
123 | 123 |
ptr = picture->data[0]; |
124 | 124 |
for(i=0;i<height;i++) { |
125 |
- put_buffer(pb, ptr, width); |
|
125 |
+ avio_write(pb, ptr, width); |
|
126 | 126 |
ptr += picture->linesize[0]; |
127 | 127 |
} |
128 | 128 |
|
... | ... |
@@ -135,11 +135,11 @@ static int yuv4_write_packet(AVFormatContext *s, AVPacket *pkt) |
135 | 135 |
ptr1 = picture->data[1]; |
136 | 136 |
ptr2 = picture->data[2]; |
137 | 137 |
for(i=0;i<height;i++) { /* Cb */ |
138 |
- put_buffer(pb, ptr1, width); |
|
138 |
+ avio_write(pb, ptr1, width); |
|
139 | 139 |
ptr1 += picture->linesize[1]; |
140 | 140 |
} |
141 | 141 |
for(i=0;i<height;i++) { /* Cr */ |
142 |
- put_buffer(pb, ptr2, width); |
|
142 |
+ avio_write(pb, ptr2, width); |
|
143 | 143 |
ptr2 += picture->linesize[2]; |
144 | 144 |
} |
145 | 145 |
} |