[FFmpeg-cvslog] wavpackenc: do not copy samples if they are not available

Paul B Mahol git at videolan.org
Sun Aug 18 00:28:58 CEST 2013


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Sat Aug 17 22:25:49 2013 +0000| [02eb15a6c1b421c4b15f80630faf3f53957a5909] | committer: Paul B Mahol

wavpackenc: do not copy samples if they are not available

Signed-off-by: Paul B Mahol <onemda at gmail.com>

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

 libavcodec/wavpackenc.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavcodec/wavpackenc.c b/libavcodec/wavpackenc.c
index 3cc74bd..10e6e14 100644
--- a/libavcodec/wavpackenc.c
+++ b/libavcodec/wavpackenc.c
@@ -2531,9 +2531,11 @@ static int wavpack_encode_block(WavPackEncodeContext *s,
 
     if ((s->flags & WV_FLOAT_DATA) || (s->flags & MAG_MASK) >> MAG_LSB >= 24) {
         av_fast_padded_malloc(&s->orig_l, &s->orig_l_size, sizeof(int32_t) * nb_samples);
-        av_fast_padded_malloc(&s->orig_r, &s->orig_r_size, sizeof(int32_t) * nb_samples);
         memcpy(s->orig_l, samples_l, sizeof(int32_t) * nb_samples);
-        memcpy(s->orig_r, samples_r, sizeof(int32_t) * nb_samples);
+        if (!(s->flags & WV_MONO_DATA)) {
+            av_fast_padded_malloc(&s->orig_r, &s->orig_r_size, sizeof(int32_t) * nb_samples);
+            memcpy(s->orig_r, samples_r, sizeof(int32_t) * nb_samples);
+        }
 
         if (s->flags & WV_FLOAT_DATA)
             got_extra = scan_float(s, samples_l, samples_r, nb_samples);



More information about the ffmpeg-cvslog mailing list