[SCM] libav/experimental: trigger for the audio scope vissualization

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:55:44 UTC 2013


The following commit has been merged in the experimental branch:
commit ac50bcc834a3d2cee880813424072768f84c6229
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Mon Jan 29 22:06:55 2007 +0000

    trigger for the audio scope vissualization
    
    Originally committed as revision 7761 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/ffplay.c b/ffplay.c
index 02f8132..1c3aa63 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -782,7 +782,23 @@ static void video_audio_display(VideoState *s)
         delay -= s->width / 2;
         if (delay < s->width)
             delay = s->width;
-        i_start = compute_mod(s->sample_array_index - delay * channels, SAMPLE_ARRAY_SIZE);
+
+        i_start= x = compute_mod(s->sample_array_index - delay * channels, SAMPLE_ARRAY_SIZE);
+
+        h= INT_MIN;
+        for(i=0; i<1000; i+=channels){
+            int idx= (SAMPLE_ARRAY_SIZE + x - i) % SAMPLE_ARRAY_SIZE;
+            int a= s->sample_array[idx];
+            int b= s->sample_array[(idx + 4*channels)%SAMPLE_ARRAY_SIZE];
+            int c= s->sample_array[(idx + 5*channels)%SAMPLE_ARRAY_SIZE];
+            int d= s->sample_array[(idx + 9*channels)%SAMPLE_ARRAY_SIZE];
+            int score= a-d;
+            if(h<score && (b^c)<0){
+                h= score;
+                i_start= idx;
+            }
+        }
+
         s->last_i_start = i_start;
     } else {
         i_start = s->last_i_start;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list