opusenc_psy: disable stereo searches for mono streams

Fixes a crash which happened when someone tried to encode mono.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
pull/274/head
Rostislav Pehlivanov 7 years ago
parent c29038f304
commit f141b353e6
  1. 7
      libavcodec/opusenc_psy.c

@ -383,6 +383,10 @@ static void celt_search_for_dual_stereo(OpusPsyContext *s, CeltFrame *f)
{
float td1, td2;
f->dual_stereo = 0;
if (s->avctx->channels < 2)
return;
bands_dist(s, f, &td1);
f->dual_stereo = 1;
bands_dist(s, f, &td2);
@ -396,6 +400,9 @@ static void celt_search_for_intensity(OpusPsyContext *s, CeltFrame *f)
int i, best_band = CELT_MAX_BANDS - 1;
float dist, best_dist = FLT_MAX;
if (s->avctx->channels < 2)
return;
/* TODO: fix, make some heuristic up here using the lambda value */
float end_band = 0;

Loading…
Cancel
Save