Lines Matching refs:codecpar
56 st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO;
57 st->codecpar->ch_layout.nb_channels = avio_rl32(s->pb);
58 if (st->codecpar->ch_layout.nb_channels <= 0)
60 if (st->codecpar->ch_layout.nb_channels == 1)
61 st->codecpar->ch_layout = (AVChannelLayout)AV_CHANNEL_LAYOUT_MONO;
62 else if (st->codecpar->ch_layout.nb_channels == 2)
63 st->codecpar->ch_layout = (AVChannelLayout)AV_CHANNEL_LAYOUT_STEREO;
66 if (align < 0 || align > INT_MAX / st->codecpar->ch_layout.nb_channels)
68 st->codecpar->block_align = align * st->codecpar->ch_layout.nb_channels;
69 st->codecpar->sample_rate = avio_rl32(s->pb);
70 if (st->codecpar->sample_rate < 0)
78 case 0: st->codecpar->codec_id = AV_CODEC_ID_ADPCM_PSX; break;
80 case 11: st->codecpar->bits_per_coded_sample = 4;
81 if (st->codecpar->ch_layout.nb_channels > INT_MAX / 36)
83 st->codecpar->block_align = 36 * st->codecpar->ch_layout.nb_channels;
84 st->codecpar->codec_id = AV_CODEC_ID_ADPCM_IMA_WAV; break;
85 case 2: st->codecpar->codec_id = AV_CODEC_ID_ADPCM_DTK; break;
86 case 3: st->codecpar->codec_id = st->codecpar->block_align > 0 ?
89 case 4: st->codecpar->codec_id = st->codecpar->block_align > 0 ?
92 case 5: st->codecpar->codec_id = st->codecpar->block_align > 0 ?
95 case 6: if (st->codecpar->block_align > INT_MAX/1024)
97 st->codecpar->codec_id = AV_CODEC_ID_SDX2_DPCM; break;
98 case 7: ret = ff_alloc_extradata(st->codecpar, 2);
101 AV_WL16(st->codecpar->extradata, 3);
102 st->codecpar->codec_id = AV_CODEC_ID_ADPCM_IMA_WS; break;
103 case 10: st->codecpar->codec_id = AV_CODEC_ID_ADPCM_AICA; break;
104 case 12: st->codecpar->codec_id = AV_CODEC_ID_ADPCM_THP; break;
105 case 13: st->codecpar->codec_id = AV_CODEC_ID_PCM_U8; break;
106 case 17: st->codecpar->codec_id = AV_CODEC_ID_ADPCM_IMA_QT; break;
128 if (st->codecpar->codec_id == AV_CODEC_ID_ADPCM_THP) {
129 if (st->codecpar->ch_layout.nb_channels > 2) {
130 avpriv_request_sample(s, "channels %d>2", st->codecpar->ch_layout.nb_channels);
134 ff_alloc_extradata(st->codecpar, 32 * st->codecpar->ch_layout.nb_channels);
135 for (ch = 0; ch < st->codecpar->ch_layout.nb_channels; ch++) {
141 avio_read(s->pb, st->codecpar->extradata + 32 * ch, 32);
146 st->codecpar->block_align = 8 * st->codecpar->ch_layout.nb_channels;
154 if (st->codecpar->block_align <= 0)
159 avpriv_set_pts_info(st, 64, 1, st->codecpar->sample_rate);
166 AVCodecParameters *par = s->streams[0]->codecpar;