• Home
  • Raw
  • Download

Lines Matching refs:wav

78 static void set_spdif(AVFormatContext *s, WAVDemuxContext *wav)  in set_spdif()  argument
96 wav->spdif = 1; in set_spdif()
122 static int64_t wav_seek_tag(WAVDemuxContext * wav, AVIOContext *s, int64_t offset, int whence) in wav_seek_tag() argument
124 offset += offset < INT64_MAX && offset + wav->unaligned & 1; in wav_seek_tag()
130 static int64_t find_tag(WAVDemuxContext * wav, AVIOContext *pb, uint32_t tag1) in find_tag() argument
138 size = next_tag(pb, &tag, wav->rifx); in find_tag()
141 wav_seek_tag(wav, pb, size, SEEK_CUR); in find_tag()
176 WAVDemuxContext *wav = s->priv_data; in wav_parse_fmt_tag() local
184 ret = ff_get_wav_header(s, pb, (*st)->codecpar, size, wav->rifx); in wav_parse_fmt_tag()
352 WAVDemuxContext *wav = s->priv_data; in wav_read_header() local
356 wav->unaligned = avio_tell(s->pb) & 1; in wav_read_header()
358 wav->smv_data_ofs = -1; in wav_read_header()
366 wav->rifx = 1; in wav_read_header()
412 size = next_tag(pb, &tag, wav->rifx); in wav_read_header()
445 next_tag_ofs = wav->data_end = avio_tell(pb) + data_size; in wav_read_header()
448 next_tag_ofs = wav->data_end = size ? next_tag_ofs : INT64_MAX; in wav_read_header()
453 next_tag_ofs = wav->data_end = INT64_MAX; in wav_read_header()
466 sample_count = (!wav->rifx ? avio_rl32(pb) : avio_rb32(pb)); in wav_read_header()
483 wav->smv_given_first = 0; in wav_read_header()
498 wav->smv_data_ofs = avio_tell(pb) + (size - 5) * 3; in wav_read_header()
500 wav->smv_block_size = avio_rl24(pb); in wav_read_header()
501 if (!wav->smv_block_size) in wav_read_header()
507 wav->smv_frames_per_jpeg = avio_rl24(pb); in wav_read_header()
508 if (wav->smv_frames_per_jpeg > 65536) { in wav_read_header()
512 AV_WL32(vst->codecpar->extradata, wav->smv_frames_per_jpeg); in wav_read_header()
589 wav_seek_tag(wav, pb, next_tag_ofs, SEEK_SET) < 0) { in wav_read_header()
638 && wav->data_end <= avio_size(pb)) in wav_read_header()
668 set_spdif(s, wav); in wav_read_header()
699 WAVDemuxContext *wav = s->priv_data; in wav_read_packet() local
701 if (CONFIG_SPDIF_DEMUXER && wav->spdif == 1) in wav_read_packet()
704 if (wav->smv_data_ofs > 0) { in wav_read_packet()
712 wav->smv_last_stream = wav->smv_given_first ? in wav_read_packet()
715 wav->smv_given_first = 1; in wav_read_packet()
717 wav->smv_last_stream = !wav->smv_last_stream; in wav_read_packet()
718 wav->smv_last_stream |= wav->audio_eof; in wav_read_packet()
719 wav->smv_last_stream &= !wav->smv_eof; in wav_read_packet()
720 if (wav->smv_last_stream) { in wav_read_packet()
722 uint64_t new_pos = wav->smv_data_ofs + in wav_read_packet()
723 wav->smv_block * (int64_t)wav->smv_block_size; in wav_read_packet()
733 pkt->pts = wav->smv_block * wav->smv_frames_per_jpeg; in wav_read_packet()
734 pkt->duration = wav->smv_frames_per_jpeg; in wav_read_packet()
735 wav->smv_block++; in wav_read_packet()
741 wav->smv_eof = 1; in wav_read_packet()
750 left = wav->data_end - avio_tell(s->pb); in wav_read_packet()
751 if (wav->ignore_length) in wav_read_packet()
754 if (CONFIG_W64_DEMUXER && wav->w64) in wav_read_packet()
757 left = find_tag(wav, s->pb, MKTAG('d', 'a', 't', 'a')); in wav_read_packet()
759 wav->audio_eof = 1; in wav_read_packet()
760 if (wav->smv_data_ofs > 0 && !wav->smv_eof) in wav_read_packet()
764 wav->data_end = avio_tell(s->pb) + left; in wav_read_packet()
767 size = wav->max_size; in wav_read_packet()
785 WAVDemuxContext *wav = s->priv_data; in wav_read_seek() local
787 wav->smv_eof = 0; in wav_read_seek()
788 wav->audio_eof = 0; in wav_read_seek()
789 if (wav->smv_data_ofs > 0) { in wav_read_seek()
795 if (wav->smv_frames_per_jpeg > 0) { in wav_read_seek()
796 wav->smv_block = smv_timestamp / wav->smv_frames_per_jpeg; in wav_read_seek()
851 WAVDemuxContext *wav = s->priv_data; in w64_read_header() local
870 wav->w64 = 1; in w64_read_header()
899 wav->data_end = avio_tell(pb) + size - 24; in w64_read_header()
959 set_spdif(s, wav); in w64_read_header()