diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2007-01-29 22:06:55 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2007-01-29 22:06:55 +0000 |
commit | ac50bcc834a3d2cee880813424072768f84c6229 (patch) | |
tree | 346e0db298615c81ac287e3ca10b8f92b7498095 /ffplay.c | |
parent | a58b82f874a08978ab2b1bcd1c07c0c8fa0ccdfd (diff) | |
download | ffmpeg-ac50bcc834a3d2cee880813424072768f84c6229.tar.gz |
trigger for the audio scope vissualization
Originally committed as revision 7761 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'ffplay.c')
-rw-r--r-- | ffplay.c | 18 |
1 files changed, 17 insertions, 1 deletions
@@ -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; |