Lines Matching refs:pb
239 AVIOContext pb; member
270 uint8_t *pb; in put_str16() local
276 len = avio_close_dyn_buf(dyn_buf, &pb); in put_str16()
278 avio_write(s, pb, len); in put_str16()
279 av_freep(&pb); in put_str16()
282 static int64_t put_header(AVIOContext *pb, const ff_asf_guid *g) in put_header() argument
286 pos = avio_tell(pb); in put_header()
287 ff_put_guid(pb, g); in put_header()
288 avio_wl64(pb, 24); in put_header()
293 static void end_header(AVIOContext *pb, int64_t pos) in end_header() argument
297 pos1 = avio_tell(pb); in end_header()
298 avio_seek(pb, pos + 16, SEEK_SET); in end_header()
299 avio_wl64(pb, pos1 - pos); in end_header()
300 avio_seek(pb, pos1, SEEK_SET); in end_header()
308 AVIOContext *pb = s->pb; in put_chunk() local
312 avio_wl16(pb, type); in put_chunk()
313 avio_wl16(pb, length); // size in put_chunk()
314 avio_wl32(pb, asf->seqno); // sequence number in put_chunk()
315 avio_wl16(pb, flags); // unknown bytes in put_chunk()
316 avio_wl16(pb, length); // size_confirm in put_chunk()
348 AVIOContext *pb = s->pb; in asf_write_markers() local
351 int64_t hpos = put_header(pb, &ff_asf_marker_header); in asf_write_markers()
353 ff_put_guid(pb, &ff_asf_reserved_4);// ASF spec mandates this reserved value in asf_write_markers()
354 avio_wl32(pb, s->nb_chapters); // markers count in asf_write_markers()
355 avio_wl16(pb, 0); // ASF spec mandates 0 for this in asf_write_markers()
356 avio_wl16(pb, 0); // name length 0, no name given in asf_write_markers()
373 avio_wl64(pb, offset); // offset of the packet with send_time in asf_write_markers()
374 avio_wl64(pb, pres_time + PREROLL_TIME * 10000); // presentation time in asf_write_markers()
375 avio_wl16(pb, 12 + len); // entry length in asf_write_markers()
376 avio_wl32(pb, send_time); // send time in asf_write_markers()
377 avio_wl32(pb, 0); // flags, should be 0 in asf_write_markers()
378 avio_wl32(pb, len / 2); // marker desc length in WCHARS! in asf_write_markers()
380 avio_write(pb, buf, len); // marker desc in asf_write_markers()
384 end_header(pb, hpos); in asf_write_markers()
393 AVIOContext *pb = s->pb; in asf_write_header1() local
463 ff_put_guid(pb, &ff_asf_header); in asf_write_header1()
464 avio_wl64(pb, -1); /* header length, will be patched after */ in asf_write_header1()
465 … avio_wl32(pb, 3 + has_title + !!metadata_count + s->nb_streams); /* number of chunks in header */ in asf_write_header1()
466 avio_w8(pb, 1); /* ??? */ in asf_write_header1()
467 avio_w8(pb, 2); /* ??? */ in asf_write_header1()
470 header_offset = avio_tell(pb); in asf_write_header1()
471 hpos = put_header(pb, &ff_asf_file_header); in asf_write_header1()
472 ff_put_guid(pb, &ff_asf_my_guid); in asf_write_header1()
473 avio_wl64(pb, file_size); in asf_write_header1()
474 avio_wl64(pb, unix_to_file_time(asf->creation_time)); in asf_write_header1()
475 avio_wl64(pb, asf->nb_packets); /* number of packets */ in asf_write_header1()
476 avio_wl64(pb, duration); /* end time stamp (in 100ns units) */ in asf_write_header1()
477 avio_wl64(pb, asf->duration); /* duration (in 100ns units) */ in asf_write_header1()
478 avio_wl64(pb, PREROLL_TIME); /* start time stamp */ in asf_write_header1()
479 avio_wl32(pb, (asf->is_streamed || !(pb->seekable & AVIO_SEEKABLE_NORMAL)) ? 3 : 2); /* ??? */ in asf_write_header1()
480 avio_wl32(pb, s->packet_size); /* packet size */ in asf_write_header1()
481 avio_wl32(pb, s->packet_size); /* packet size */ in asf_write_header1()
482 avio_wl32(pb, bit_rate ? bit_rate : -1); /* Maximum data rate in bps */ in asf_write_header1()
483 end_header(pb, hpos); in asf_write_header1()
486 hpos = put_header(pb, &ff_asf_head1_guid); in asf_write_header1()
487 ff_put_guid(pb, &ff_asf_head2_guid); in asf_write_header1()
488 avio_wl16(pb, 6); in asf_write_header1()
489 avio_wl32(pb, 0); /* length, to be filled later */ in asf_write_header1()
495 hpos2 = put_header(pb, &ff_asf_language_guid); in asf_write_header1()
496 avio_wl16(pb, asf->nb_languages); in asf_write_header1()
498 avio_w8(pb, 6); in asf_write_header1()
499 avio_put_str16le(pb, asf->languages[i]); in asf_write_header1()
501 end_header(pb, hpos2); in asf_write_header1()
508 hpos2 = put_header(pb, &ff_asf_group_mutual_exclusion_object); in asf_write_header1()
509 ff_put_guid(pb, &ff_asf_mutex_language); in asf_write_header1()
510 avio_wl16(pb, nb_audio_languages); in asf_write_header1()
513 avio_wl16(pb, audio_language_counts[i]); in asf_write_header1()
516 avio_wl16(pb, n + 1); in asf_write_header1()
519 end_header(pb, hpos2); in asf_write_header1()
526 es_pos = put_header(pb, &ff_asf_extended_stream_properties_object); in asf_write_header1()
527 avio_wl64(pb, 0); /* start time */ in asf_write_header1()
528 avio_wl64(pb, 0); /* end time */ in asf_write_header1()
529 avio_wl32(pb, s->streams[n]->codecpar->bit_rate); /* data bitrate bps */ in asf_write_header1()
530 avio_wl32(pb, 5000); /* buffer size ms */ in asf_write_header1()
531 avio_wl32(pb, 0); /* initial buffer fullness */ in asf_write_header1()
532 avio_wl32(pb, s->streams[n]->codecpar->bit_rate); /* peak data bitrate */ in asf_write_header1()
533 avio_wl32(pb, 5000); /* maximum buffer size ms */ in asf_write_header1()
534 avio_wl32(pb, 0); /* max initial buffer fullness */ in asf_write_header1()
535 avio_wl32(pb, 0); /* max object size */ in asf_write_header1()
536 …avio_wl32(pb, (!asf->is_streamed && (pb->seekable & AVIO_SEEKABLE_NORMAL)) << 1); /* flags - seeka… in asf_write_header1()
537 avio_wl16(pb, n + 1); /* stream number */ in asf_write_header1()
538 avio_wl16(pb, asf->streams[n].stream_language_index); /* language id index */ in asf_write_header1()
539 avio_wl64(pb, 0); /* avg time per frame */ in asf_write_header1()
540 avio_wl16(pb, 0); /* stream name count */ in asf_write_header1()
541 avio_wl16(pb, 0); /* payload extension system count */ in asf_write_header1()
542 end_header(pb, es_pos); in asf_write_header1()
547 hpos2 = put_header(pb, &ff_asf_metadata_header); in asf_write_header1()
548 avio_wl16(pb, 2 * has_aspect_ratio); in asf_write_header1()
555 avio_wl16(pb, 0); in asf_write_header1()
557 avio_wl16(pb, n + 1); in asf_write_header1()
558 avio_wl16(pb, 26); // name_len in asf_write_header1()
559 avio_wl16(pb, 3); // value_type in asf_write_header1()
560 avio_wl32(pb, 4); // value_len in asf_write_header1()
561 avio_put_str16le(pb, "AspectRatioX"); in asf_write_header1()
562 avio_wl32(pb, sar.num); in asf_write_header1()
563 avio_wl16(pb, 0); in asf_write_header1()
565 avio_wl16(pb, n + 1); in asf_write_header1()
566 avio_wl16(pb, 26); // name_len in asf_write_header1()
567 avio_wl16(pb, 3); // value_type in asf_write_header1()
568 avio_wl32(pb, 4); // value_len in asf_write_header1()
569 avio_put_str16le(pb, "AspectRatioY"); in asf_write_header1()
570 avio_wl32(pb, sar.den); in asf_write_header1()
573 end_header(pb, hpos2); in asf_write_header1()
577 pos1 = avio_tell(pb); in asf_write_header1()
578 avio_seek(pb, hpos + 42, SEEK_SET); in asf_write_header1()
579 avio_wl32(pb, pos1 - hpos - 46); in asf_write_header1()
580 avio_seek(pb, pos1, SEEK_SET); in asf_write_header1()
582 end_header(pb, hpos); in asf_write_header1()
593 hpos = put_header(pb, &ff_asf_comment_header); in asf_write_header1()
597 avio_wl16(pb, len); in asf_write_header1()
600 avio_write(pb, buf, len); in asf_write_header1()
602 end_header(pb, hpos); in asf_write_header1()
606 hpos = put_header(pb, &ff_asf_extended_content_header); in asf_write_header1()
607 avio_wl16(pb, metadata_count); in asf_write_header1()
609 put_str16(pb, tag->key); in asf_write_header1()
610 avio_wl16(pb, 0); in asf_write_header1()
611 put_str16(pb, tag->value); in asf_write_header1()
613 end_header(pb, hpos); in asf_write_header1()
644 hpos = put_header(pb, &ff_asf_stream_header); in asf_write_header1()
646 ff_put_guid(pb, &ff_asf_audio_stream); in asf_write_header1()
647 ff_put_guid(pb, &ff_asf_audio_conceal_spread); in asf_write_header1()
649 ff_put_guid(pb, &ff_asf_video_stream); in asf_write_header1()
650 ff_put_guid(pb, &ff_asf_video_conceal_none); in asf_write_header1()
652 avio_wl64(pb, 0); /* ??? */ in asf_write_header1()
653 es_pos = avio_tell(pb); in asf_write_header1()
654 avio_wl32(pb, extra_size); /* wav header len */ in asf_write_header1()
655 avio_wl32(pb, extra_size2); /* additional data len */ in asf_write_header1()
656 avio_wl16(pb, n + 1); /* stream number */ in asf_write_header1()
657 avio_wl32(pb, 0); /* ??? */ in asf_write_header1()
661 int wavsize = ff_put_wav_header(s, pb, par, FF_PUT_WAV_HEADER_FORCE_WAVEFORMATEX); in asf_write_header1()
666 cur_pos = avio_tell(pb); in asf_write_header1()
667 avio_seek(pb, es_pos, SEEK_SET); in asf_write_header1()
668 avio_wl32(pb, wavsize); /* wav header len */ in asf_write_header1()
669 avio_seek(pb, cur_pos, SEEK_SET); in asf_write_header1()
672 avio_w8(pb, 0x01); in asf_write_header1()
674 avio_wl16(pb, 0x0190); in asf_write_header1()
675 avio_wl16(pb, 0x0190); in asf_write_header1()
677 avio_wl16(pb, par->block_align); in asf_write_header1()
678 avio_wl16(pb, par->block_align); in asf_write_header1()
680 avio_wl16(pb, 0x01); in asf_write_header1()
681 avio_w8(pb, 0x00); in asf_write_header1()
683 avio_wl32(pb, par->width); in asf_write_header1()
684 avio_wl32(pb, par->height); in asf_write_header1()
685 avio_w8(pb, 2); /* ??? */ in asf_write_header1()
686 avio_wl16(pb, 40 + par->extradata_size); /* size */ in asf_write_header1()
689 ff_put_bmp_header(pb, par, 1, 0, 0); in asf_write_header1()
691 end_header(pb, hpos); in asf_write_header1()
696 hpos = put_header(pb, &ff_asf_codec_comment_header); in asf_write_header1()
697 ff_put_guid(pb, &ff_asf_codec_comment1_header); in asf_write_header1()
698 avio_wl32(pb, s->nb_streams); in asf_write_header1()
707 avio_wl16(pb, 2); in asf_write_header1()
709 avio_wl16(pb, 1); in asf_write_header1()
711 avio_wl16(pb, -1); in asf_write_header1()
728 avio_wl16(pb, len / 2); // "number of characters" = length in bytes / 2 in asf_write_header1()
730 avio_write(pb, buf, len); in asf_write_header1()
733 avio_wl16(pb, 0); in asf_write_header1()
735 avio_wl16(pb, 0); /* no parameters */ in asf_write_header1()
739 avio_wl16(pb, 2); in asf_write_header1()
740 avio_wl16(pb, par->codec_tag); in asf_write_header1()
742 avio_wl16(pb, 4); in asf_write_header1()
743 avio_wl32(pb, par->codec_tag); in asf_write_header1()
748 end_header(pb, hpos); in asf_write_header1()
752 cur_pos = avio_tell(pb); in asf_write_header1()
757 avio_seek(pb, header_offset - 10 - 30, SEEK_SET); in asf_write_header1()
758 avio_wl16(pb, header_size); in asf_write_header1()
759 avio_seek(pb, header_offset - 2 - 30, SEEK_SET); in asf_write_header1()
760 avio_wl16(pb, header_size); in asf_write_header1()
765 avio_seek(pb, header_offset - 14, SEEK_SET); in asf_write_header1()
766 avio_wl64(pb, header_size); in asf_write_header1()
767 avio_seek(pb, cur_pos, SEEK_SET); in asf_write_header1()
771 ff_put_guid(pb, &ff_asf_data_header); in asf_write_header1()
772 avio_wl64(pb, data_chunk_size); in asf_write_header1()
773 ff_put_guid(pb, &ff_asf_my_guid); in asf_write_header1()
774 avio_wl64(pb, asf->nb_packets); /* nb packets */ in asf_write_header1()
775 avio_w8(pb, 1); /* ??? */ in asf_write_header1()
776 avio_w8(pb, 1); /* ??? */ in asf_write_header1()
811 ffio_init_context(&asf->pb, asf->packet_buf, s->packet_size, 1, in asf_write_header()
834 AVIOContext *pb = s->pb; in put_payload_parsing_info() local
836 int64_t start = avio_tell(pb); in put_payload_parsing_info()
845 avio_w8(pb, ASF_PACKET_ERROR_CORRECTION_FLAGS); in put_payload_parsing_info()
847 avio_w8(pb, 0x0); in put_payload_parsing_info()
858 avio_w8(pb, iLengthTypeFlags); in put_payload_parsing_info()
860 avio_w8(pb, ASF_PPI_PROPERTY_FLAGS); in put_payload_parsing_info()
863 avio_wl16(pb, padsize - 2); in put_payload_parsing_info()
865 avio_w8(pb, padsize - 1); in put_payload_parsing_info()
867 avio_wl32(pb, sendtime); in put_payload_parsing_info()
868 avio_wl16(pb, duration); in put_payload_parsing_info()
870 avio_w8(pb, nb_payloads | ASF_PAYLOAD_FLAGS); in put_payload_parsing_info()
872 ppi_size = avio_tell(pb) - start; in put_payload_parsing_info()
897 avio_write(s->pb, asf->packet_buf, s->packet_size - packet_hdr_size); in flush_packet()
899 avio_write_marker(s->pb, AV_NOPTS_VALUE, AVIO_DATA_MARKER_FLUSH_POINT); in flush_packet()
905 ffio_init_context(&asf->pb, asf->packet_buf, s->packet_size, 1, in flush_packet()
914 AVIOContext *pb = &asf->pb; in put_payload_header() local
920 avio_w8(pb, val); in put_payload_header()
922 avio_w8(pb, stream->seq); // Media object number in put_payload_header()
923 avio_wl32(pb, m_obj_offset); // Offset Into Media Object in put_payload_header()
930 avio_w8(pb, ASF_PAYLOAD_REPLICATED_DATA_LENGTH); in put_payload_header()
932 avio_wl32(pb, m_obj_size); // Replicated Data - Media Object Size in put_payload_header()
933 avio_wl32(pb, (uint32_t) presentation_time); // Replicated Data - Presentation Time in put_payload_header()
936 avio_wl16(pb, payload_len); // payload length in put_payload_header()
986 avio_write(&asf->pb, buf, payload_len); in put_frame()
1056 AVIOContext *pb = s->pb; in asf_write_packet() local
1064 uint64_t offset = avio_tell(pb); in asf_write_packet()
1104 AVIOContext *pb = s->pb; in asf_write_index() local
1107 ff_put_guid(pb, &ff_asf_simple_index_header); in asf_write_index()
1108 avio_wl64(pb, 24 + 16 + 8 + 4 + 4 + (4 + 2) * count); in asf_write_index()
1109 ff_put_guid(pb, &ff_asf_my_guid); in asf_write_index()
1110 avio_wl64(pb, ASF_INDEXED_INTERVAL); in asf_write_index()
1111 avio_wl32(pb, max); in asf_write_index()
1112 avio_wl32(pb, count); in asf_write_index()
1114 avio_wl32(pb, index[i].packet_number); in asf_write_index()
1115 avio_wl16(pb, index[i].packet_count); in asf_write_index()
1128 if (asf->pb.buf_ptr > asf->pb.buffer) in asf_write_trailer()
1132 data_size = avio_tell(s->pb); in asf_write_trailer()
1139 if (asf->is_streamed || !(s->pb->seekable & AVIO_SEEKABLE_NORMAL)) { in asf_write_trailer()
1143 file_size = avio_tell(s->pb); in asf_write_trailer()
1144 avio_seek(s->pb, 0, SEEK_SET); in asf_write_trailer()