On Fri, Aug 05, 2016 at 05:23:04PM -0500, Burt P wrote: > A new mode, selected by filter option, to aid in analysis of HDCD > encoded audio. In this mode the audio is replaced by a solid tone and > the amplitude is adjusted to signal some specified aspect of the process. > The output file can be loaded in an audio editor alongside the original, > where the user can see where different features or states are present.
[...] > @@ -1358,18 +1478,32 @@ static void hdcd_process_stereo(HDCDContext *ctx, > int32_t *samples, int count) > count -= envelope_run; > lead = run - envelope_run; > > - hdcd_control_stereo(ctx, &peak_extend[0], &peak_extend[1]); > + ctlret = hdcd_control_stereo(ctx, &peak_extend[0], &peak_extend[1]); > } > if (lead > 0) { > av_assert0(samples + lead * stride <= samples_end); > - gain[0] = hdcd_envelope(samples, lead, stride, gain[0], > ctx->val_target_gain, peak_extend[0]); > - gain[1] = hdcd_envelope(samples + 1, lead, stride, gain[1], > ctx->val_target_gain, peak_extend[1]); > + if (ctx->analyze_mode) { > + gain[0] = hdcd_analyze(samples, lead, stride, gain[0], > ctx->val_target_gain, peak_extend[0], > + ctx->analyze_mode, > + ctx->state[0].sustain, > + !!(ctlret == HDCD_TG_MISMATCH) ); > + gain[1] = hdcd_analyze(samples + 1, lead, stride, gain[1], > ctx->val_target_gain, peak_extend[1], > + ctx->analyze_mode, > + ctx->state[1].sustain, > + !!(ctlret == HDCD_TG_MISMATCH) ); > + } else { > + gain[0] = hdcd_envelope(samples, lead, stride, gain[0], > ctx->val_target_gain, peak_extend[0]); > + gain[1] = hdcd_envelope(samples + 1, lead, stride, gain[1], > ctx->val_target_gain, peak_extend[1]); > + } > } > > ctx->state[0].running_gain = gain[0]; > ctx->state[1].running_gain = gain[1]; > } > > +/* tone generator: sample_number, frequency, sample_rate, amplitude */ > +#define TONEGEN16(sn, f, sr, a) (int16_t)(sin((6.28318530718 * sn * f) /sr) > * a * 0x7fff) missing () for argument protection TONEGEN16(1+1,2+3,4+5,6+7) wont do what one expects otherwise [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB The educated differ from the uneducated as much as the living from the dead. -- Aristotle
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel