Commit Graph

170 Commits

Author SHA1 Message Date
Mashiat Sarker Shakkhar
07933b44dd wmal: Drop unused variable num_possible_block_size.
This is probably a leftover from WMA Pro.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-04-14 16:01:23 +02:00
Michael Niedermayer
b3a4351582 wmalosslessdec: Fix reading too many bits in decode_channel_residues()
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-14 14:51:49 +02:00
Michael Niedermayer
2a7063de54 wmalosslessdec: fix a get_bits(0) in decode_ac_filter
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-14 14:50:48 +02:00
Michael Niedermayer
a0abefb0af wmalosslessdec: make mclms arrays big enough for whats written into them.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-14 14:49:51 +02:00
Michael Niedermayer
d442c4462a wmalosslessdec: Make arrays WMALL_BLOCK_MAX_SIZE big and check samples_per_frame.
The samples_per_frame check is ported from wmaprodec.c

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-14 13:35:29 +02:00
Michael Niedermayer
680097cb6d WMAL: Do not try to read rawpcm coefficients if bits is invalid
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-04-13 23:13:03 +03:00
Jakub Stachowski
3b00fd5985 wmalosslessdec: Reset residues to 0 if they were not decoded from bitstream.
If channel residues are have not been decoded from bitstream, they should be
initialized to 0 instead of using values from previous subframe.
This causes bursts of noise in silent parts of some files.
This patch fixes bug #1055

Reviewed-by: Benjamin Larsson <benjamin@southpole.se>
Reviewed-by: Mashiat Sarker Shakkhar <mashiat.sarker@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-12 12:41:53 +02:00
Michael Niedermayer
59edf33f7b wmalosslessdec: rawpcm_tile fixes to keep get_bits() values within defined range.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-07 19:59:00 +02:00
Michael Niedermayer
d0212bb032 wmalosslessdec: channel residues can be 32 bit thus need _long bitreader.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-07 19:59:00 +02:00
Michael Niedermayer
2b7c0c9fe1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mp3dec: perform I/S and M/S only when frame mode is joint stereo.
  id3v2: add another mimetype for JPEG image
  lzw: prevent buffer overreads.
  WMAL: Remove inaccurate and unnecessary doxy
  h264: fix cabac-on-stack after safe cabac reader.
  truemotion2: convert packet header reading to bytestream2.

Conflicts:
	libavcodec/lzw.c
	libavcodec/truemotion2.c
	libavformat/id3v2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-30 06:05:39 +02:00
Michael Niedermayer
d40ff29cac Merge remote-tracking branch 'qatar/master'
* qatar/master:
  asf: only set index_read if the index contained entries.
  cabac: add overread protection to BRANCHLESS_GET_CABAC().
  cabac: increment jump locations by one in callers of BRANCHLESS_GET_CABAC().
  cabac: remove unused argument from BRANCHLESS_GET_CABAC_UPDATE().
  cabac: use struct+offset instead of memory operand in BRANCHLESS_GET_CABAC().
  h264: add overread protection to get_cabac_bypass_sign_x86().
  h264: reindent get_cabac_bypass_sign_x86().
  h264: use struct offsets in get_cabac_bypass_sign_x86().
  h264: fix overreads in cabac reader.
  wmall: fix seeking.
  lagarith: fix buffer overreads.
  dvdec: drop unnecessary dv_tablegen.h #include
  build: fix doc generation errors in parallel builds
  Replace memset(0) by zero initializations.
  faandct: Remove FAAN_POSTSCALE define and related code.
  dvenc: print allowed profiles if the video doesn't conform to any of them.
  avcodec_encode_{audio,video}: only reallocate output packet when it has non-zero size.
  FATE: add a test for vp8 with changing frame size.
  fate: add kgv1 fate test.
  oggdec: calculate correct timestamps in Ogg/FLAC

Conflicts:
	libavcodec/4xm.c
	libavcodec/cook.c
	libavcodec/dvdata.c
	libavcodec/dvdsubdec.c
	libavcodec/lagarith.c
	libavcodec/lagarithrac.c
	libavcodec/utils.c
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-29 04:11:10 +02:00
Mashiat Sarker Shakkhar
28e8c4d59a WMAL: Remove inaccurate and unnecessary doxy
A call to decode_packet() does not always decode a complete WMA packet.
Moreover, this is not the correct place to document calls that are part
of the public API.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-03-29 01:47:03 +02:00
Ronald S. Bultje
d360dd902c wmall: fix seeking. 2012-03-28 07:14:21 -07:00
Michael Niedermayer
464cef4c14 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  xwma: Validate channels and bits_per_coded_sample.
  mov: Do not read past the end of the ctts_data table.
  mov: Add missing terminator to mov_ch_layout_map_1ch.
  asf: reset side data elements on packet copy.
  wmavoice: fix stack overread.
  wmalossless: error out if a subframe is not used by any channel.
  vqa: check palette chunk size before reading data.
  wmalossless: reset sample pointer for each subframe.
  wmalossless: error out on invalid values for order.

Conflicts:
	libavcodec/vqavideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-22 23:16:49 +01:00
Michael Niedermayer
6716e6892b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  FATE: Add ZeroCodec test
  oggparseogm: fix order of arguments of avpriv_set_pts_info().
  pngenc: better upper bound for encoded frame size.
  aiffdec: set block_duration to 1 for PCM codecs that are supported in AIFF-C
  aiffdec: factor out handling of integer PCM for AIFF-C and plain AIFF
  aiffdec: use av_get_audio_frame_duration() to set block_duration for AIFF-C
  aiffdec: do not set bit rate if block duration is unknown
  wmall: output packet only if we have decoded some samples

Conflicts:
	libavcodec/pngenc.c
	tests/fate/lossless-video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-22 20:59:58 +01:00
Ronald S. Bultje
3c9267673e wmalossless: error out if a subframe is not used by any channel.
Prevents infinite loop because min_channel_len never increments.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-03-22 12:17:14 -07:00
Ronald S. Bultje
d462949974 wmalossless: reset sample pointer for each subframe.
Prevents overwrites when some subframes only encode some channels.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-03-22 12:17:14 -07:00
Ronald S. Bultje
326f7a68bb wmalossless: error out on invalid values for order.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-03-22 12:17:14 -07:00
Kostya Shishkov
87818103a0 wmall: output packet only if we have decoded some samples
Also set CODEC_CAP_DELAY to indicate that decoder may still have some
undecoded data left in internal buffer.
2012-03-22 07:16:47 +01:00
Michael Niedermayer
bf807a5e87 Merge remote-tracking branch 'qatar/master'
* qatar/master: (29 commits)
  sbrdsp.asm: convert all instructions to float/SSE ones.
  dv: cosmetics.
  dv: check buffer size before reading profile.
  Revert "AAC SBR: group some writes."
  udp: Print an error message if bind fails
  cook: extend channel uncoupling tables so the full bit range is covered.
  roqvideo: cosmetics.
  roqvideo: convert to bytestream2 API.
  dca: don't use av_clip_uintp2().
  wmall: fix build with -DDEBUG enabled.
  smc: port to bytestream2 API.
  AAC SBR: group some writes.
  dsputil: remove shift parameter from scalarproduct_int16
  SBR DSP: unroll sum_square
  rv34: remove dead code in intra availability check
  rv34: clean a bit availability checks.
  v4l2: update documentation
  tgq: convert to bytestream2 API.
  parser: remove forward declaration of MpegEncContext
  dca: prevent accessing static arrays with invalid indexes.
  ...

Conflicts:
	doc/indevs.texi
	libavcodec/Makefile
	libavcodec/dca.c
	libavcodec/dvdata.c
	libavcodec/eatgq.c
	libavcodec/mmvideo.c
	libavcodec/roqvideodec.c
	libavcodec/smc.c
	libswscale/output.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-08 02:51:45 +01:00
Ronald S. Bultje
626964a4c4 wmall: fix build with -DDEBUG enabled. 2012-03-07 10:40:15 -08:00
Diego Biurrun
8ca6e523a6 wma: Refactor common code to fix standalone compilation of WMA lossless decoder. 2012-03-07 09:36:05 +01:00
Carl Eugen Hoyos
18794000c6 Remove AV_LOG_DEBUG from av_dlog() calls.
AV_LOG_DEBUG is forced by the av_dlog definition.
2012-03-05 20:04:18 +01:00
Michael Niedermayer
268098d8b2 Merge remote-tracking branch 'qatar/master'
* qatar/master: (29 commits)
  amrwb: remove duplicate arguments from extrapolate_isf().
  amrwb: error out early if mode is invalid.
  h264: change underread for 10bit QPEL to overread.
  matroska: check buffer size for RM-style byte reordering.
  vp8: disable mmx functions with sse/sse2 counterparts on x86-64.
  vp8: change int stride to ptrdiff_t stride.
  wma: fix invalid buffer size assumptions causing random overreads.
  Windows Media Audio Lossless decoder
  rv10/20: Fix slice overflow with checked bitstream reader.
  h263dec: Disallow width/height changing with frame threads.
  rv10/20: Fix a buffer overread caused by losing track of the remaining buffer size.
  rmdec: Honor .RMF tag size rather than assuming 18.
  g722: Fix the QMF scaling
  r3d: don't set codec timebase.
  electronicarts: set timebase for tgv video.
  electronicarts: parse the framerate for cmv video.
  ogg: don't set codec timebase
  electronicarts: don't set codec timebase
  avs: don't set codec timebase
  wavpack: Fix an integer overflow
  ...

Conflicts:
	libavcodec/arm/vp8dsp_init_arm.c
	libavcodec/fraps.c
	libavcodec/h264.c
	libavcodec/mpeg4videodec.c
	libavcodec/mpegvideo.c
	libavcodec/msmpeg4.c
	libavcodec/pnmdec.c
	libavcodec/qpeg.c
	libavcodec/rawenc.c
	libavcodec/ulti.c
	libavcodec/vcr1.c
	libavcodec/version.h
	libavcodec/wmalosslessdec.c
	libavformat/electronicarts.c
	libswscale/ppc/yuv2rgb_altivec.c
	tests/ref/acodec/g722
	tests/ref/fate/ea-cmv

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-03 00:23:10 +01:00
Mashiat Sarker Shakkhar
9d25f1f619 Windows Media Audio Lossless decoder
Decodes 16-bit WMA Lossless encoded files. 24-bit is not supported yet.

Bitstream parser written by Andreas Öman with contributions from
Baptiste Coudurier and Ulion.

Includes a number of bug-fixes from Benjamin Larsson, Michael Niedermayer and
Konstantin Shishkov, shine and polish by Diego Biurrun.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-03-02 19:10:29 +01:00
Michael Niedermayer
f4f386dd00 wmalossless: Fix infinite loop.
Fixes more of Ticket1000

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-19 22:08:21 +01:00
Michael Niedermayer
886b40b94a wmalossless: Switch to new audio API
Partially fixes Ticket1000

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-19 22:08:21 +01:00
Michael Niedermayer
b240866c5b wmalossless: remove tab
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-19 22:08:09 +01:00
Michael Niedermayer
04f7eee709 Merge remote-tracking branch 'shariman/wmall'
* shariman/wmall:
  Perform inter-channel decorr. only if both channels are coded
  Use fixed-length array in revert_mclms()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-19 19:13:18 +01:00
Mashiat Sarker Shakkhar
a520a9946f Perform inter-channel decorr. only if both channels are coded 2012-02-18 21:04:10 +06:00
Benjamin Larsson
7f215e3e72 Use fixed-length array in revert_mclms() 2012-02-16 20:14:18 +06:00
Michael Niedermayer
28ba1027ec Merge remote-tracking branch 'shariman/wmall'
* shariman/wmall:
  Do not try to read residue if ave_mean <= 1
  Move some variable declarations to comply with C90
  Cosmetics: fix some whitespace errors
  Support 24-bit decoding
  wmall: remove ;;

Conflicts:
	libavcodec/wmalosslessdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-16 04:01:24 +01:00
Mashiat Sarker Shakkhar
d1ea26f640 Do not try to read residue if ave_mean <= 1
Otherwise, we end up with with log(0) or log(1). av_ceil_log2 simply
assumes the argument is non-zero and returns wrong result when it is.
(Not that there is a proper way of returning an undefined value.)
2012-02-16 02:39:30 +06:00
Mashiat Sarker Shakkhar
59df25effd Move some variable declarations to comply with C90 2012-02-16 02:34:31 +06:00
Mashiat Sarker Shakkhar
3ce50bf51d Cosmetics: fix some whitespace errors 2012-02-16 02:33:30 +06:00
Mashiat Sarker Shakkhar
6345184fc9 Support 24-bit decoding 2012-02-16 02:25:45 +06:00
Michael Niedermayer
dc08e7ea0f wmall: remove ;;
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-16 02:21:35 +06:00
Michael Niedermayer
a369a6b858 Merge remote-tracking branch 'qatar/master'
* qatar/master: (29 commits)
  fate: add golomb-test
  golomb-test: K&R formatting cosmetics
  h264: Split h264-test off into a separate file - golomb-test.c.
  h264-test: cleanup: drop timer invocations, commented out code and other cruft
  h264-test: Remove unused DSP and AVCodec contexts and related init calls.
  adpcm: Add missing stdint.h #include to fix standalone header compilation.
  lavf: add functions for accessing the fourcc<->CodecID mapping tables.
  lavc: set AVCodecContext.codec in avcodec_get_context_defaults3().
  lavc: make avcodec_close() work properly on unopened codecs.
  lavc: add avcodec_is_open().
  lavf: rename AVInputFormat.value to raw_codec_id.
  lavf: remove the pointless value field from flv and iv8
  lavc/lavf: remove unnecessary symbols from the symbol version script.
  lavc: reorder AVCodec fields.
  lavf: reorder AVInput/OutputFormat fields.
  mp3dec: Fix a heap-buffer-overflow
  adpcmenc: remove some unneeded casts
  adpcmenc: use int16_t and uint8_t instead of short and unsigned char.
  adpcmenc: fix adpcm_ms extradata allocation
  adpcmenc: return proper AVERROR codes instead of -1
  ...

Conflicts:
	doc/APIchanges
	libavcodec/Makefile
	libavcodec/adpcmenc.c
	libavcodec/avcodec.h
	libavcodec/h264.c
	libavcodec/libavcodec.v
	libavcodec/mpc7.c
	libavcodec/mpegaudiodec.c
	libavcodec/options.c
	libavformat/Makefile
	libavformat/avformat.h
	libavformat/flvdec.c
	libavformat/libavformat.v

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-01 02:36:09 +01:00
Michael Niedermayer
0d17477e2c Merge remote-tracking branch 'shariman/wmall'
* shariman/wmall:
  Cosmetics: Fix some whitespace errors and indentation
  Use correct variable type for 32-bit samples buffer

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-31 22:55:15 +01:00
Mashiat Sarker Shakkhar
bfbd22f9f0 Cosmetics: Fix some whitespace errors and indentation 2012-01-27 01:16:36 -08:00
Mashiat Sarker Shakkhar
6ca1016b3a Use correct variable type for 32-bit samples buffer 2012-01-22 18:17:09 +06:00
Michael Niedermayer
1ce8377c78 wmalossless: Fix incompatoble pointer type warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-19 08:51:56 +01:00
Michael Niedermayer
6429269096 wmall: remove ;;
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 23:52:28 +01:00
Michael Niedermayer
dde545c697 Merge remote-tracking branch 'shariman/wmall'
* shariman/wmall:
  Fix audio output
  Suppress dumping of residues buffer
  Use quantizer value read from bitstream
  Cosmetics: Remove two empty lines and realign some code
  Reset acfilter_prevvalues buffer in clear_codec_buffers()
  Fix AC filter buffers and AC filter reversion

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-03 23:45:48 +01:00
Mashiat Sarker Shakkhar
2083a10abf Fix audio output
Up until now, the decoder didn't output anything
in the data buffer. This fixes all the issues
related to sample format, removes leftover code
and actually outputs some audio to data buffer.

With this, the only sample we have can be played.
Seeking is still broken though.
2012-01-03 01:51:36 +06:00
Mashiat Sarker Shakkhar
f7166f7d8d Suppress dumping of residues buffer 2012-01-03 01:51:17 +06:00
Mashiat Sarker Shakkhar
3d84495128 Use quantizer value read from bitstream
Currently the code initializes quantizer even
before reading it from bitstream and uses that
to dequantize samples.
2012-01-01 14:32:40 +06:00
Mashiat Sarker Shakkhar
a6da23f146 Cosmetics: Remove two empty lines and realign some code 2012-01-01 00:00:51 +06:00
Mashiat Sarker Shakkhar
8dc8dd9f6f Reset acfilter_prevvalues buffer in clear_codec_buffers() 2011-12-31 23:57:35 +06:00
Mashiat Sarker Shakkhar
001a74ff53 Fix AC filter buffers and AC filter reversion 2011-12-31 23:57:14 +06:00
Michael Niedermayer
28dff06176 Merge remote-tracking branch 'shariman/wmall'
* shariman/wmall:
  Perform dequantization of channel coefficients
  Perform inverse inter-channel decorrelation and ac-filter
  Implement revert_inter_ch_decorr() and revert_acfilter()
  Enable inverse-MCLMS filter
  Fix inverse-MCLMS filtering routines
  Do not update buffers in case no speed change is necessary
  Use int for channel_coeffs instead of int16_t

Conflicts:
	libavcodec/wmalosslessdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-24 01:54:25 +01:00
Mashiat Sarker Shakkhar
70dd5a603c Perform dequantization of channel coefficients 2011-12-23 13:23:35 +06:00
Mashiat Sarker Shakkhar
cf6284b273 Perform inverse inter-channel decorrelation and ac-filter 2011-12-23 13:23:10 +06:00
Mashiat Sarker Shakkhar
7409210647 Implement revert_inter_ch_decorr() and revert_acfilter() 2011-12-23 13:21:59 +06:00
Mashiat Sarker Shakkhar
10406b95ad Enable inverse-MCLMS filter 2011-12-22 23:48:23 +06:00
Mashiat Sarker Shakkhar
302d5df834 Fix inverse-MCLMS filtering routines 2011-12-22 23:48:02 +06:00
Michael Niedermayer
52c522c720 Merge remote-tracking branch 'qatar/master'
* qatar/master: (27 commits)
  asfdec: add side data to ASFStream packet instead of output packet.
  idroqdec: set AVFMTCTX_NOHEADER and create streams as they occur.
  nellymoserdec: Indicate that the decoder can handle changed parameters
  libavcodec: Apply parameter change side data when decoding audio
  flvdec: Add param change side data if the sample rate or channels have changed
  libavformat: Add a utility function for adding parameter change side data
  libavcodec: Define a side data type for parameter changes
  aacdec: Handle new extradata passed as side data
  flvdec: Export new AAC/H.264 extradata as side data on the next packet
  libavcodec: Define a side data type for new extradata
  flacdec: skip all track indices at once instead of looping.
  mxf: Add PictureEssenceCoding UL for V210.
  mxfdec: consider QuantizationBits between 17 and 24 to be pcm_s24*
  mxfenc: Add support for MPEG-2 MP@HL-14 in mxf container.
  mxf: H.264/MPEG-4 AVC Intra support
  configure: Show whether the safe bitstream reader is enabled
  x86: Tighten register constraints for decode_significance*_x86.
  Replace Subversion revisions in comments by Git hashes.
  h264_cabac: synchronize decode_significance_*_x86 conditionals
  w32threads: wait for the waked thread in pthread_cond_signal.
  ...

Conflicts:
	libavcodec/avcodec.h
	libavcodec/version.h
	libavformat/flvdec.c
	libavformat/utils.c
	tests/ref/lavfi/pixdesc
	tests/ref/lavfi/pixfmts_copy
	tests/ref/lavfi/pixfmts_null
	tests/ref/lavfi/pixfmts_scale
	tests/ref/lavfi/pixfmts_vflip

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-22 01:51:53 +01:00
Mashiat Sarker Shakkhar
4fa3f1c507 Do not update buffers in case no speed change is necessary 2011-12-09 01:43:34 +06:00
Mashiat Sarker Shakkhar
153a853718 Use int for channel_coeffs instead of int16_t 2011-12-09 01:39:59 +06:00
Michael Niedermayer
15c481614b Merge remote-tracking branch 'shariman/wmall'
* shariman/wmall:
  Pass pointer to integer buffer instead of integer to memcpy

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-08 18:44:46 +01:00
Mashiat Sarker Shakkhar
6d4deecfdf Pass pointer to integer buffer instead of integer to memcpy 2011-12-08 22:53:36 +06:00
Michael Niedermayer
ec8a3e25d8 Merge remote-tracking branch 'shariman/wmall'
* shariman/wmall:
  Partially fix CDLMS prediction

Conflicts:
	libavcodec/wmalosslessdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-08 00:37:55 +01:00
Mashiat Sarker Shakkhar
c5cd231151 Partially fix CDLMS prediction 2011-12-08 03:57:21 +06:00
Michael Niedermayer
1fa8ff38e4 Merge remote-tracking branch 'shariman/wmall'
* shariman/wmall:
  Fix lms_update()
  Move num_lms reading out of a loop
  Use correct value for range
  Fix some int / int16_t / int32_t confusion
  Implement revert_mclms() and associated functions
  Fix two more int16_t vs. int confusion
  Init s->cdlms[][].recent to order - 1
  Add a size argument to dump_int_buffer()
  Get rid of logging that are not required anymore
  Fix some int vs. int16_t confusion

Conflicts:
	libavcodec/wmalosslessdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-07 04:49:42 +01:00
Mashiat Sarker Shakkhar
460bec6800 Fix lms_update() 2011-12-02 16:24:50 +06:00
Mashiat Sarker Shakkhar
075ebdf735 Move num_lms reading out of a loop 2011-12-02 03:11:59 +06:00
Mashiat Sarker Shakkhar
29c2fcb677 Use correct value for range
The current range value causes an underflow
when negated and pushes anything less than zero
to the minimum.
2011-12-02 03:11:21 +06:00
Mashiat Sarker Shakkhar
768261e50d Fix some int / int16_t / int32_t confusion
For now force everything to int16_t, except
for variables used as index
2011-12-02 03:09:19 +06:00
Mashiat Sarker Shakkhar
8aa831c07b Implement revert_mclms() and associated functions 2011-11-30 22:44:59 +06:00
Mashiat Sarker Shakkhar
bf8715719a Fix two more int16_t vs. int confusion
If everything works fine for 16-bit streams,
the current code could be extended to do 24-bit.
2011-11-30 22:44:45 +06:00
Michael Niedermayer
dd32a305bd wmall: fix return type of dump_int_buffer()
Found-by: Dominique Leuenberger
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-30 15:23:39 +01:00
Michael Niedermayer
dae7ff0416 wmall: remove tabs that leaked in from a merge and seem to have
managed to silently bypass the push checks.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-30 15:21:46 +01:00
Mashiat Sarker Shakkhar
be8a0d26db Init s->cdlms[][].recent to order - 1
Not sure if this is correct. But looks like
it was giving us off-by-one's when used to index
buffers.
2011-11-30 02:17:44 +06:00
Mashiat Sarker Shakkhar
6dd19c97c4 Add a size argument to dump_int_buffer() 2011-11-30 02:16:48 +06:00
Mashiat Sarker Shakkhar
81a3c67169 Get rid of logging that are not required anymore
(Resolves some conflicts)
2011-11-30 02:15:08 +06:00
Mashiat Sarker Shakkhar
e6c66fcf68 Fix some int vs. int16_t confusion
Size should be determined from bits per sample.
The current code only accepts 16-bit streams.
2011-11-30 02:06:12 +06:00
Michael Niedermayer
b429440d85 Merge remote-tracking branch 'shariman/wmall'
* shariman/wmall:
  call revert_cdlms()
  Fix some loop conditions to prevent overreads
  Initialize pred in lms_predict()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-22 21:32:11 +01:00
Mashiat Sarker Shakkhar
ea0323b0fa call revert_cdlms() 2011-11-22 01:03:15 +06:00
Mashiat Sarker Shakkhar
6cf31ef263 Fix some loop conditions to prevent overreads 2011-11-22 01:01:30 +06:00
Mashiat Sarker Shakkhar
a3a8d5e0c1 Initialize pred in lms_predict() 2011-11-22 00:54:01 +06:00
Michael Niedermayer
34465bbcb4 Merge remote-tracking branch 'shariman/wmall'
* shariman/wmall: (24 commits)
  Clean-up
  dump_int_buffer() to dump samples from a buffer
  Implement revert_cdlms()
  Doxy for reset_codec()
  Store transient state and position of transient area
  Implement use_high_update_speed() and use_normal_update_speed()
  Initialize num_logged_tiles and remove unnecessary codes
  Log index for each line of output
  Log tile size
  Output decoded residues
  Replace placeholders with actual calls to clear_codec_buffers() and reset_codec()
  Implement lms_update()
  Implement lms_predict()
  Implement reset_codec()
  Add missing syntax elements to WmallDecodeCtx
  Add .recent syntax element to cdlms struct
  Implement clear_codec_buffers()
  Add buffers to context necessary for reverting cdmls and mclms filter
  Use avpriv_copy_bits() instead of ff_copy_bits()
  Cosmetics
  ...

Conflicts:
	libavcodec/wmalosslessdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-20 15:43:19 +01:00
Mashiat Sarker Shakkhar
7a9807dea4 Clean-up 2011-11-20 14:51:40 +06:00
Mashiat Sarker Shakkhar
3e2f664b99 dump_int_buffer() to dump samples from a buffer 2011-11-20 14:51:40 +06:00
Mashiat Sarker Shakkhar
caf9eb85b1 Implement revert_cdlms() 2011-11-20 14:51:40 +06:00
Mashiat Sarker Shakkhar
d47782df26 Doxy for reset_codec() 2011-11-20 14:51:40 +06:00
Mashiat Sarker Shakkhar
3e4901b24e Store transient state and position of transient area 2011-11-20 14:51:40 +06:00
Mashiat Sarker Shakkhar
3f3d2b5f65 Implement use_high_update_speed() and use_normal_update_speed() 2011-11-20 14:51:40 +06:00
Mashiat Sarker Shakkhar
1e0db1c52a Initialize num_logged_tiles and remove unnecessary codes 2011-11-20 14:51:39 +06:00
Mashiat Sarker Shakkhar
5b2680a2af Log index for each line of output 2011-11-20 14:51:39 +06:00
Mashiat Sarker Shakkhar
a7c31f1595 Log tile size 2011-11-20 14:51:39 +06:00
Mashiat Sarker Shakkhar
d5aef477e6 Output decoded residues 2011-11-20 14:51:39 +06:00
Mashiat Sarker Shakkhar
f3d349f697 Replace placeholders with actual calls to clear_codec_buffers() and reset_codec() 2011-11-20 14:51:39 +06:00
Mashiat Sarker Shakkhar
269a0dee19 Implement lms_update() 2011-11-20 14:51:39 +06:00
Mashiat Sarker Shakkhar
0faae518e9 Implement lms_predict() 2011-11-20 14:51:39 +06:00
Mashiat Sarker Shakkhar
03684c8ff3 Implement reset_codec() 2011-11-20 14:51:39 +06:00
Mashiat Sarker Shakkhar
93d2cabd61 Add missing syntax elements to WmallDecodeCtx 2011-11-20 14:51:39 +06:00
Mashiat Sarker Shakkhar
79b16e780d Add .recent syntax element to cdlms struct 2011-11-20 14:51:39 +06:00
Mashiat Sarker Shakkhar
87b9c23b9a Implement clear_codec_buffers() 2011-11-20 14:51:38 +06:00
Mashiat Sarker Shakkhar
d58db7207d Add buffers to context necessary for reverting cdmls and mclms filter 2011-11-20 14:51:38 +06:00
Mashiat Sarker Shakkhar
a80a10bd73 Use avpriv_copy_bits() instead of ff_copy_bits() 2011-11-20 14:51:38 +06:00