[FFmpeg-cvslog] swresample: move dither init up

Michael Niedermayer git at videolan.org
Thu Aug 18 13:16:06 EEST 2016


ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Thu Aug 18 11:44:42 2016 +0200| [946acacdcdff7eb9ac6430691ac6121516da9083] | committer: Michael Niedermayer

swresample: move dither init up

Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=946acacdcdff7eb9ac6430691ac6121516da9083
---

 libswresample/dither.c     |  9 ---------
 libswresample/swresample.c | 13 +++++++++++--
 2 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/libswresample/dither.c b/libswresample/dither.c
index 08c793d..76f8ccf 100644
--- a/libswresample/dither.c
+++ b/libswresample/dither.c
@@ -123,15 +123,6 @@ av_cold int swri_dither_init(SwrContext *s, enum AVSampleFormat out_fmt, enum AV
         s->dither.method = SWR_DITHER_TRIANGULAR_HIGHPASS;
     }
 
-    av_assert0(!s->preout.count);
-    s->dither.noise = s->preout;
-    s->dither.temp  = s->preout;
-    if (s->dither.method > SWR_DITHER_NS) {
-        s->dither.noise.bps = 4;
-        s->dither.noise.fmt = AV_SAMPLE_FMT_FLTP;
-        s->dither.noise_scale = 1;
-    }
-
     return 0;
 }
 
diff --git a/libswresample/swresample.c b/libswresample/swresample.c
index 351623b..ade81ef 100644
--- a/libswresample/swresample.c
+++ b/libswresample/swresample.c
@@ -322,6 +322,9 @@ av_assert0(s->out.ch_count);
     s->silence  = s->in;
     s->drop_temp= s->out;
 
+    if ((ret = swri_dither_init(s, s->out_sample_fmt, s->int_sample_fmt)) < 0)
+        goto fail;
+
     if(!s->resample && !s->rematrix && !s->channel_map && !s->dither.method){
         s->full_convert = swri_audio_convert_alloc(s->out_sample_fmt,
                                                    s-> in_sample_fmt, s-> in.ch_count, NULL, 0);
@@ -362,8 +365,14 @@ av_assert0(s->out.ch_count);
         set_audiodata_fmt(&s->in_buffer, s->int_sample_fmt);
     }
 
-    if ((ret = swri_dither_init(s, s->out_sample_fmt, s->int_sample_fmt)) < 0)
-        goto fail;
+    av_assert0(!s->preout.count);
+    s->dither.noise = s->preout;
+    s->dither.temp  = s->preout;
+    if (s->dither.method > SWR_DITHER_NS) {
+        s->dither.noise.bps = 4;
+        s->dither.noise.fmt = AV_SAMPLE_FMT_FLTP;
+        s->dither.noise_scale = 1;
+    }
 
     if(s->rematrix || s->dither.method) {
         ret = swri_rematrix_init(s);



More information about the ffmpeg-cvslog mailing list