• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/minidlna/ffmpeg-2.3.4/libavformat/

Lines Matching defs:wav

147     WAVMuxContext *wav = s->priv_data;
149 av_freep(&wav->peak_maxpos);
150 av_freep(&wav->peak_maxneg);
151 av_freep(&wav->peak_output);
156 WAVMuxContext *wav = s->priv_data;
168 wav->peak_bps = av_get_bits_per_sample(enc->codec_id) / 8;
170 if (wav->peak_bps == 1 && wav->peak_format == PEAK_FORMAT_UINT16) {
176 wav->peak_maxpos = av_mallocz_array(enc->channels, sizeof(*wav->peak_maxpos));
177 wav->peak_maxneg = av_mallocz_array(enc->channels, sizeof(*wav->peak_maxneg));
178 wav->peak_output = av_malloc(PEAK_BUFFER_SIZE);
179 if (!wav->peak_maxpos || !wav->peak_maxneg || !wav->peak_output)
182 wav->peak_outbuf_size = PEAK_BUFFER_SIZE;
194 WAVMuxContext *wav = s->priv_data;
199 if (!wav->peak_output)
203 wav->peak_maxneg[c] = -wav->peak_maxneg[c];
205 if (wav->peak_bps == 2 && wav->peak_format == PEAK_FORMAT_UINT8) {
206 wav->peak_maxpos[c] = wav->peak_maxpos[c] / 256;
207 wav->peak_maxneg[c] = wav->peak_maxneg[c] / 256;
210 if (wav->peak_ppv == 1)
211 wav->peak_maxpos[c] =
212 FFMAX(wav->peak_maxpos[c], wav->peak_maxneg[c]);
214 peak_of_peaks = FFMAX3(wav->peak_maxpos[c], wav->peak_maxneg[c],
215 wav->peak_pop);
216 if (peak_of_peaks > wav->peak_pop)
217 wav->peak_pos_pop = wav->peak_num_frames;
218 wav->peak_pop = peak_of_peaks;
220 if (wav->peak_outbuf_size - wav->peak_outbuf_bytes <
221 wav->peak_format * wav->peak_ppv) {
222 wav->peak_outbuf_size += PEAK_BUFFER_SIZE;
223 wav->peak_output = av_realloc(wav->peak_output,
224 wav->peak_outbuf_size);
225 if (!wav->peak_output) {
231 if (wav->peak_format == PEAK_FORMAT_UINT8) {
232 wav->peak_output[wav->peak_outbuf_bytes++] =
233 wav->peak_maxpos[c];
234 if (wav->peak_ppv == 2) {
235 wav->peak_output[wav->peak_outbuf_bytes++] =
236 wav->peak_maxneg[c];
239 AV_WL16(wav->peak_output + wav->peak_outbuf_bytes,
240 wav->peak_maxpos[c]);
241 wav->peak_outbuf_bytes += 2;
242 if (wav->peak_ppv == 2) {
243 AV_WL16(wav->peak_output + wav->peak_outbuf_bytes,
244 wav->peak_maxneg[c]);
245 wav->peak_outbuf_bytes += 2;
248 wav->peak_maxpos[c] = 0;
249 wav->peak_maxneg[c] = 0;
251 wav->peak_num_frames++;
256 WAVMuxContext *wav = s->priv_data;
265 if (wav->peak_block_pos)
278 avio_wl32(pb, wav->peak_format); /* 8 or 16 bit */
279 avio_wl32(pb, wav->peak_ppv); /* positive and negative */
280 avio_wl32(pb, wav->peak_block_size); /* frames per value */
282 avio_wl32(pb, wav->peak_num_frames); /* number of peak frames */
283 avio_wl32(pb, wav->peak_pos_pop); /* audio sample frame index */
288 avio_write(pb, wav->peak_output, wav->peak_outbuf_bytes);
292 if (!wav->data)
293 wav->data = peak;
298 WAVMuxContext *wav = s->priv_data;
307 if (wav->rf64 == RF64_ALWAYS) {
317 if (wav->rf64 != RF64_NEVER) {
319 ffio_wfourcc(pb, wav->rf64 == RF64_ALWAYS ? "ds64" : "JUNK");
321 wav->ds64 = avio_tell(pb);
325 if (wav->write_peak != 2) {
339 wav->fact_pos = ff_start_tag(pb, "fact");
341 ff_end_tag(pb, wav->fact_pos);
344 if (wav->write_bext)
347 if (wav->write_peak) {
354 wav->maxpts = wav->last_duration = 0;
355 wav->minpts = INT64_MAX;
357 if (wav->write_peak != 2) {
362 wav->data = ff_start_tag(pb, "data");
373 WAVMuxContext *wav = s->priv_data;
375 if (wav->write_peak != 2)
378 if (wav->write_peak) {
381 for (i = 0; i < pkt->size; i += wav->peak_bps) {
382 if (wav->peak_bps == 1) {
383 wav->peak_maxpos[c] = FFMAX(wav->peak_maxpos[c], *(int8_t*)(pkt->data + i));
384 wav->peak_maxneg[c] = FFMIN(wav->peak_maxneg[c], *(int8_t*)(pkt->data + i));
386 wav->peak_maxpos[c] = FFMAX(wav->peak_maxpos[c], (int16_t)AV_RL16(pkt->data + i));
387 wav->peak_maxneg[c] = FFMIN(wav->peak_maxneg[c], (int16_t)AV_RL16(pkt->data + i));
391 if (++wav->peak_block_pos == wav->peak_block_size) {
393 wav->peak_block_pos = 0;
400 wav->minpts = FFMIN(wav->minpts, pkt->pts);
401 wav->maxpts = FFMAX(wav->maxpts, pkt->pts);
402 wav->last_duration = pkt->duration;
411 WAVMuxContext *wav = s->priv_data;
419 if (wav->write_peak != 2) {
420 ff_end_tag(pb, wav->data);
424 if (wav->write_peak && wav->peak_output) {
431 data_size = file_size - wav->data;
432 if (wav->rf64 == RF64_ALWAYS || (wav->rf64 == RF64_AUTO && file_size - 8 > UINT32_MAX)) {
442 number_of_samples = av_rescale(wav->maxpts - wav->minpts + wav->last_duration,
448 avio_seek(pb, wav->fact_pos, SEEK_SET);
449 if (rf64 || (wav->rf64 == RF64_AUTO && number_of_samples > UINT32_MAX)) {
466 avio_seek(pb, wav->ds64 - 8, SEEK_SET);
475 avio_seek(pb, wav->data - 4, SEEK_SET);
483 if (wav->write_peak)
495 { "on", "Append peak chunk after wav data.", 0, AV_OPT_TYPE_CONST, { .i64 = PEAK_ON }, 0, 0, ENC, "peak" },
496 { "only", "Write only peak chunk, omit wav data.", 0, AV_OPT_TYPE_CONST, { .i64 = PEAK_ONLY }, 0, 0, ENC, "peak" },
515 .name = "wav",
517 .mime_type = "audio/x-wav",
518 .extensions = "wav",
555 WAVMuxContext *wav = s->priv_data;
573 start_guid(pb, ff_w64_guid_fact, &wav->fact_pos);
575 end_guid(pb, wav->fact_pos);
578 start_guid(pb, ff_w64_guid_data, &wav->data);
586 WAVMuxContext *wav = s->priv_data;
590 end_guid(pb, wav->data);
599 number_of_samples = av_rescale(wav->maxpts - wav->minpts + wav->last_duration,
602 avio_seek(pb, wav->fact_pos + 24, SEEK_SET);