[FFmpeg-cvslog] af_ashowinfo: adopt used plane size when computing the plane checksum

Stefano Sabatini git at videolan.org
Sun Oct 16 00:55:33 CEST 2011


ffmpeg | branch: master | Stefano Sabatini <stefasab at gmail.com> | Sun Oct 16 00:44:22 2011 +0200| [cc6b8c4b612d239bef31a8115402b03453c2b4bc] | committer: Stefano Sabatini

af_ashowinfo: adopt used plane size when computing the plane checksum

Fix checksum computation when the used plane size is different from the
allocated plane size, as it was wrongly assumed.

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

 libavfilter/af_ashowinfo.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/libavfilter/af_ashowinfo.c b/libavfilter/af_ashowinfo.c
index 25ec342..c8e4d31 100644
--- a/libavfilter/af_ashowinfo.c
+++ b/libavfilter/af_ashowinfo.c
@@ -45,10 +45,13 @@ static void filter_samples(AVFilterLink *inlink, AVFilterBufferRef *samplesref)
     uint32_t plane_checksum[8] = {0}, checksum = 0;
     char chlayout_str[128];
     int plane;
+    int linesize =
+        av_get_channel_layout_nb_channels(samplesref->audio->channel_layout) *
+        samplesref->audio->nb_samples *
+        av_get_bytes_per_sample(samplesref->format);
 
     for (plane = 0; samplesref->data[plane] && plane < 8; plane++) {
         uint8_t *data = samplesref->data[plane];
-        int linesize = samplesref->linesize[plane];
 
         plane_checksum[plane] = av_adler32_update(plane_checksum[plane],
                                                   data, linesize);



More information about the ffmpeg-cvslog mailing list