Lines Matching refs:par
42 AVCodecParameters *par; in fsb_read_header() local
57 par = st->codecpar; in fsb_read_header()
58 par->codec_type = AVMEDIA_TYPE_AUDIO; in fsb_read_header()
59 par->codec_tag = 0; in fsb_read_header()
67 par->sample_rate = avio_rl32(pb); in fsb_read_header()
68 if (par->sample_rate <= 0) in fsb_read_header()
71 par->channels = avio_rl16(pb); in fsb_read_header()
72 if (!par->channels) in fsb_read_header()
76 par->codec_id = AV_CODEC_ID_PCM_S16LE; in fsb_read_header()
77 par->block_align = 4096 * par->channels; in fsb_read_header()
79 par->bits_per_coded_sample = 4; in fsb_read_header()
80 par->codec_id = AV_CODEC_ID_ADPCM_IMA_WAV; in fsb_read_header()
81 par->block_align = 36 * par->channels; in fsb_read_header()
83 par->codec_id = AV_CODEC_ID_ADPCM_PSX; in fsb_read_header()
84 par->block_align = 16 * par->channels; in fsb_read_header()
86 par->codec_id = AV_CODEC_ID_ADPCM_THP; in fsb_read_header()
87 par->block_align = 8 * par->channels; in fsb_read_header()
88 if (par->channels > INT_MAX / 32) in fsb_read_header()
90 ret = ff_alloc_extradata(par, 32 * par->channels); in fsb_read_header()
94 for (c = 0; c < par->channels; c++) { in fsb_read_header()
95 avio_read(pb, par->extradata + 32 * c, 32); in fsb_read_header()
113 par->codec_id = AV_CODEC_ID_XMA2; in fsb_read_header()
116 par->codec_id = AV_CODEC_ID_ADPCM_THP; in fsb_read_header()
123 par->sample_rate = avio_rl32(pb); in fsb_read_header()
124 if (par->sample_rate <= 0) in fsb_read_header()
128 par->channels = avio_rl16(pb); in fsb_read_header()
129 if (!par->channels) in fsb_read_header()
132 switch (par->codec_id) { in fsb_read_header()
134 ret = ff_alloc_extradata(par, 34); in fsb_read_header()
137 memset(par->extradata, 0, 34); in fsb_read_header()
138 par->block_align = 2048; in fsb_read_header()
141 if (par->channels > INT_MAX / 32) in fsb_read_header()
143 ret = ff_alloc_extradata(par, 32 * par->channels); in fsb_read_header()
147 for (c = 0; c < par->channels; c++) { in fsb_read_header()
148 avio_read(pb, par->extradata + 32 * c, 32); in fsb_read_header()
151 par->block_align = 8 * par->channels; in fsb_read_header()
161 avpriv_set_pts_info(st, 64, 1, par->sample_rate); in fsb_read_header()
168 AVCodecParameters *par = s->streams[0]->codecpar; in fsb_read_packet() local
176 if (par->codec_id == AV_CODEC_ID_ADPCM_THP && in fsb_read_packet()
177 par->channels > 1) { in fsb_read_packet()
180 ret = av_new_packet(pkt, par->block_align); in fsb_read_packet()
184 for (ch = 0; ch < par->channels; ch++) { in fsb_read_packet()
191 ret = av_get_packet(s->pb, pkt, par->block_align); in fsb_read_packet()
194 if (par->codec_id == AV_CODEC_ID_XMA2 && pkt->size >= 1) in fsb_read_packet()