[FFmpeg-cvslog] swr: special case for empty channels in rematrix.

Nicolas George git at videolan.org
Thu Mar 8 00:11:11 CET 2012


ffmpeg | branch: master | Nicolas George <nicolas.george at normalesup.org> | Mon Feb 20 23:55:28 2012 +0100| [a8cdb7b95a7fb7f39eb06c0e4bc0af632b85ba47] | committer: Nicolas George

swr: special case for empty channels in rematrix.

Speed += 10% overall for pan=stereo:FL=FL+FR from wav to null.

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

 libswresample/rematrix.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/libswresample/rematrix.c b/libswresample/rematrix.c
index da817e1..e588fe9 100644
--- a/libswresample/rematrix.c
+++ b/libswresample/rematrix.c
@@ -280,6 +280,9 @@ int swri_rematrix(SwrContext *s, AudioData *out, AudioData *in, int len, int mus
 
     for(out_i=0; out_i<out->ch_count; out_i++){
         switch(s->matrix_ch[out_i][0]){
+        case 0:
+            memset(out->ch[out_i], 0, len * (s->int_sample_fmt == AV_SAMPLE_FMT_FLT ? sizeof(float) : sizeof(int16_t)));
+            break;
         case 1:
             in_i= s->matrix_ch[out_i][1];
             if(mustcopy || s->matrix[out_i][in_i]!=1.0){



More information about the ffmpeg-cvslog mailing list