[FFmpeg-trac] #871(undetermined:new): wavpack 24bit hybrid regression

FFmpeg trac at avcodec.org
Tue Jan 3 14:16:09 CET 2012


#871: wavpack 24bit hybrid regression
-------------------------------------+-------------------------------------
             Reporter:  ami_stuff    |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:
  undetermined                       |  unspecified
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 {{{
 wavpack: Clip samples after shifting

 It doesn't make much sense to clip pre-shift,
 nor is it correct for proper decoding.

 Signed-off-by: Derek Buitenhuis <derek.buitenhuis at gmail.com>
 Signed-off-by: Anton Khirnov <anton at khirnov.net>

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

  libavcodec/wavpack.c |    4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)

 diff --git a/libavcodec/wavpack.c b/libavcodec/wavpack.c
 index 11e9904..5358967 100644
 --- a/libavcodec/wavpack.c
 +++ b/libavcodec/wavpack.c
 @@ -405,12 +405,12 @@ static inline int
 wv_get_value_integer(WavpackFrameContext *s, uint32_t *crc, in
      }

      bit = (S & s->and) | s->or;
 -    bit = (((S + bit) << s->shift) - bit);
 +    bit = (((S + bit) << s->shift) - bit) << s->post_shift;

      if(s->hybrid)
          bit = av_clip(bit, -s->hybrid_maxclip, s->hybrid_maxclip - 1);

 -    return bit << s->post_shift;
 +    return bit;
  }

  static float wv_get_value_float(WavpackFrameContext *s, uint32_t *crc,
 int S)
 }}}


 {{{
 C:\>ffmpeg -i 512kbps.wv
 ffmpeg version N-36193-gf514695, Copyright (c) 2000-2011 the FFmpeg
 developers
   built on Dec 26 2011 17:50:37 with gcc 4.6.2
   configuration: --enable-gpl --enable-version3 --disable-w32threads
 --enable-ru
 ntime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-
 libope
 ncore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-
 libgsm --en
 able-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-
 libschroedinger -
 -enable-libspeex --enable-libtheora --enable-libvo-aacenc --enable-libvo-
 amrwben
 c --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs
 --enable-
 libxvid --enable-zlib
   libavutil      51. 33.100 / 51. 33.100
   libavcodec     53. 48.100 / 53. 48.100
   libavformat    53. 28.100 / 53. 28.100
   libavdevice    53.  4.100 / 53.  4.100
   libavfilter     2. 54.100 /  2. 54.100
   libswscale      2.  1.100 /  2.  1.100
   libswresample   0.  5.100 /  0.  5.100
   libpostproc    51.  2.100 / 51.  2.100
 Input #0, wv, from '512kbps.wv':
   Duration: 00:00:30.98, start: 0.000000, bitrate: 539 kb/s
     Stream #0:0: Audio: wavpack, 48000 Hz, stereo, s32
 At least one output file must be specified
 }}}

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/871>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list