Commit Graph

51 Commits

Author SHA1 Message Date
Michael Niedermayer
28e4f906fa golomb: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-06 20:13:17 +02:00
Michael Niedermayer
b008ac18bb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  docs: use -bsf:[vas] instead of -[vas]bsf.
  mpegaudiodec: Prevent premature clipping of mp3 input buffer.
  lavf: move the packet keyframe setting code.
  oggenc: free comment header for all codecs
  lcl: error out if uncompressed input buffer is smaller than framesize.
  mjpeg: abort decoding if packet is too large.
  golomb: use HAVE_BITS_REMAINING() macro to prevent infloop on EOF.
  get_bits: add HAVE_BITS_REMAINING macro.
  lavf/output-example: use new audio encoding API correctly.
  lavf/output-example: more proper usage of the new API.
  tiff: Prevent overreads in the type_sizes array.
  tiff: Make the TIFF_LONG and TIFF_SHORT types unsigned.
  apetag: do not leak memory if avio_read() fails
  apetag: propagate errors.
  SBR DSP x86: implement SSE sbr_hf_g_filt
  SBR DSP x86: implement SSE sbr_sum_square_sse
  SBR DSP: use intptr_t for the ixh parameter.

Conflicts:
	doc/bitstream_filters.texi
	doc/examples/muxing.c
	doc/ffmpeg.texi
	libavcodec/golomb.h
	libavcodec/x86/Makefile
	libavformat/oggenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-25 04:00:43 +01:00
Ronald S. Bultje
46b3fbc30b golomb: use HAVE_BITS_REMAINING() macro to prevent infloop on EOF.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-24 07:28:33 -08:00
Michael Niedermayer
bbb61a1cd5 Merge remote-tracking branch 'qatar/master'
* qatar/master: (22 commits)
  als: prevent infinite loop in zero_remaining().
  cook: prevent div-by-zero if channels is zero.
  pamenc: switch to encode2().
  svq1enc: switch to encode2().
  dvenc: switch to encode2().
  dpxenc: switch to encode2().
  pngenc: switch to encode2().
  v210enc: switch to encode2().
  xwdenc: switch to encode2().
  ttadec: use branchless unsigned-to-signed unfolding
  avcodec: add a Sun Rasterfile encoder
  sunrast: Move common defines to a new header file.
  cdxl: fix video decoding for some files
  cdxl: fix audio for some samples
  apetag: add proper support for binary tags
  ttadec: remove dead code
  swscale: make access to filter data conditional on filter type.
  swscale: update context offsets after removal of AlpMmxFilter.
  prores: initialise encoder and decoder parts only when needed
  swscale: make monowhite/black RGB-independent.
  ...

Conflicts:
	Changelog
	libavcodec/alsdec.c
	libavcodec/dpxenc.c
	libavcodec/golomb.h
	libavcodec/pamenc.c
	libavcodec/pngenc.c
	libavformat/img2.c
	libswscale/output.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-18 02:20:19 +01:00
Ronald S. Bultje
52e4018be4 flac: fix infinite loops on all-zero input or end-of-stream.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-16 17:08:29 -08:00
Ronald S. Bultje
c6643fddba golomb: avoid infinite loop on all-zero input (or end of buffer).
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-16 08:36:08 -08:00
Michael Niedermayer
964506bb97 golomb: Fix infinite loop in svq3_get_ue_golomb()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-25 04:15:56 +01:00
Michael Niedermayer
fc739b79ad golomb: fix end of bitstream check
Fixes Ticket806
Bug found by Oana Stratulat

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-21 00:28:39 +01:00
Nir Ben David
083d9ba448 golomb: Fix overread in get_ur_golomb_jpegls()
Fixes Ticket600

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-10 23:09:44 +01:00
Michael Niedermayer
b81f8880e0 Merge remote-tracking branch 'qatar/master'
* qatar/master: (23 commits)
  fix AC3ENC_OPT_MODE_ON/OFF
  h264: fix HRD parameters parsing
  prores: implement multithreading.
  prores: idct sse2/sse4 optimizations.
  swscale: use aligned move for storage into temporary buffer.
  prores: extract idct into its own dspcontext and merge with put_pixels.
  h264: fix invalid shifts in init_cavlc_level_tab()
  intfloat_readwrite: fix signed addition overflows
  mov: do not misreport empty stts
  mov: cosmetics, fix for and if spacing
  id3v2: fix NULL pointer dereference
  mov: read album_artist atom
  mov: fix disc/track numbers and totals
  doc: fix references to obsolete presets directories for avconv/ffmpeg
  flashsv: return more meaningful error value
  flashsv: fix typo in av_log() message
  smacker: validate channels and sample format.
  smacker: check buffer size before reading output size
  smacker: validate number of channels
  smacker: Separate audio flags from sample rates in smacker demuxer.
  ...

Conflicts:
	cmdutils.h
	doc/ffmpeg.texi
	libavcodec/Makefile
	libavcodec/motion_est_template.c
	libavformat/id3v2.c
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-12 05:40:57 +02:00
Mans Rullgard
fdba370f8a h264: fix HRD parameters parsing
The bit_rate_value_minus1 and cpb_size_value_minus1 elements
allow a wider range than get_ue_golomb() supports.  This
adds a get_ue_golomb_long() function supporting up to 31
leading zeros, which is the maximum for these syntax
elements, and uses it in decode_hrd_parameters().

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-11 18:24:51 +01:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Diego Biurrun
ba87f0801d Remove explicit filename from Doxygen @file commands.
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +00:00
Lars Täuber
6fa6c481b9 Make get_ur_golomb capable of reading 16 bit values.
Patch by Lars Täuber: firstname taeuber gmx net

Originally committed as revision 19821 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-11 06:25:36 +00:00
Stefano Sabatini
9106a698e7 Rename bitstream.h to get_bits.h.
Originally committed as revision 18494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 16:20:26 +00:00
Stefano Sabatini
b275500706 Split bitstream.h, put the bitstream writer stuff in the new file
put_bits.h.

Originally committed as revision 18461 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 08:35:26 +00:00
Måns Rullgård
d4f2a6250a Fix get_ur_golomb_jpegls() with A32_BITSTREAM_READER
If k==0, log==0 can indicate that the coded value uses more than
MIN_CACHE_BITS bits.  With MIN_CACHE_BITS==32, the fast branch is
incorrectly taken in this case unless explicitly forbidden.

Originally committed as revision 17550 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-24 01:41:44 +00:00
Michael Niedermayer
9392863d1b Clarify get_ue_golomb_31() behavior with >31.
Originally committed as revision 17429 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-18 11:57:11 +00:00
Diego Biurrun
bad5537e2c Use full internal pathname in doxygen @file directives.
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.

Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-01 02:00:19 +00:00
Michael Niedermayer
0e921e97c1 Add get_ue_golomb_31()
Originally committed as revision 16298 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-23 21:05:47 +00:00
Michael Niedermayer
740c14dbd7 Fix regression test failure caused by golomb limit not being considered
in r15334.

Originally committed as revision 15338 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-16 01:24:12 +00:00
Michael Niedermayer
631e8afb8c Correct the threshold of get_ur_golomb_jpegls() at which the optimized
case is used.
Fix issue245.

Originally committed as revision 15334 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-15 20:30:22 +00:00
Stefano Sabatini
987903826b Globally rename the header inclusion guard names.
Consistently apply this rule: the guard name is obtained from the
filename by stripping the leading "lib", converting '/' and '.'  to
'_' and uppercasing the resulting name. Guard names in the root
directory have to be prefixed by "FFMPEG_".

Originally committed as revision 15120 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 07:39:47 +00:00
Ramiro Polla
6647ab80e3 bitstream: move put_sbits() from flacenc.c to bitstream.h and use it
throughout libavcodec.

Originally committed as revision 14204 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-13 14:27:48 +00:00
Diego Biurrun
5b21bdabe4 Add FFMPEG_ prefix to all multiple inclusion guards.
Originally committed as revision 10765 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-17 09:37:46 +00:00
Marco Gerards
9df4ce5e5b Make the Golomb decoder work for Dirac
Originally committed as revision 10119 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-15 12:59:27 +00:00
Diego Biurrun
e5a389a1b7 license header consistency cosmetics
Originally committed as revision 9484 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-05 10:40:25 +00:00
Guillaume Poirier
efb775777f add a comment to indicate which #endif belong to which #define
Originally committed as revision 9356 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-17 18:59:28 +00:00
Måns Rullgård
699b3f99d0 add multiple inclusion guards to headers
Originally committed as revision 9345 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-17 00:01:30 +00:00
Måns Rullgård
99545457bf include all prerequisites in header files
Originally committed as revision 9344 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-16 22:59:13 +00:00
Kostya Shishkov
76aca7a8bf handle limit>32 for set_ur_golomb_jpegls()
Originally committed as revision 6754 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-22 04:52:15 +00:00
Diego Biurrun
b78e7197a8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
and fix GPL/LGPL version mismatches.

Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-07 15:30:46 +00:00
Michael Niedermayer
9e96ab0389 first rudimentary version of (Justin Ruggles jruggle earthlink net) flac encoder
Originally committed as revision 5514 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-24 10:20:15 +00:00
Diego Biurrun
5509bffa88 Update licensing information: The FSF changed postal address.
Originally committed as revision 4842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-12 22:43:26 +00:00
Diego Biurrun
bb270c0896 COSMETICS: tabs --> spaces, some prettyprinting
Originally committed as revision 4764 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-22 01:10:11 +00:00
Diego Biurrun
115329f160 COSMETICS: Remove all trailing whitespace.
Originally committed as revision 4749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-17 18:14:38 +00:00
Alex Beregszaszi
e134e10f37 set_se_golomb can only write 16bits, add a note about this (ok, maybe it's brain dead using it with more than 16bits, but..)
Originally committed as revision 4635 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-10-12 22:43:12 +00:00
Michael Niedermayer
85ad569574 shorten decoder by (Jeff Muizelaar <jrmuizel gmail com>)
Originally committed as revision 3984 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-02-26 03:36:04 +00:00
Michael Niedermayer
895345da9a svq3_get_se_golomb() fix
Originally committed as revision 3849 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-19 13:03:38 +00:00
Loïc Le Loarer
61f040dd1a compile with TRACE define patch by (Loic <lll+ffmpeg m4x org>)
Originally committed as revision 3848 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-19 12:58:34 +00:00
Michael Niedermayer
a6c01275ad get/set_sr_golomb() cleanup
Originally committed as revision 3451 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-10 19:40:55 +00:00
Alex Beregszaszi
4579adb00c new signed golomb routines
Originally committed as revision 3444 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-08 17:59:22 +00:00
Michael Niedermayer
cceb990ef9 1000l to the ffsvq3 author, our default bitstream reader is only guranteed to be able to read 25bit at a time
Originally committed as revision 3237 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-06-19 01:14:13 +00:00
Michael Niedermayer
ac2570a8b0 flac fixes:
fix data types of residual&decoded
fix twos complement bitfields
fix utf8 (no, utf8 is not the same as the simple and compact uvlc used in nut)
add truncated bitstream support, both ogg and flac demuxers in mplayer cvs provide incomplete frames, and furthermore it isnt possible to find frameboundaries in flac without decoding it completly
add escape-less golomb rice decoder (=flac style golomb rice) (ultra efficient, the longest vlc code is just 2^32-1 bits)
printf->av_log
fix bps for non independant channels
fix a few +-1 bugs
fix sample order for independant channels
fix data_size

Originally committed as revision 2791 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-02-18 01:49:30 +00:00
Michael Niedermayer
ce3299529b 10l
Originally committed as revision 2041 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-07-13 11:14:43 +00:00
Michael Niedermayer
d9e6a6c629 golomb rice code cleanup / simplify (~0.5% compression gain and slightly faster)
jpegls style golomb rice coder

Originally committed as revision 2040 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-07-13 11:06:45 +00:00
Michael Niedermayer
11e659c203 golomb rice codes
use gradients instead of prediction errors as context model
store independant quantization tables for each point
merge contexts with opposit sign

Originally committed as revision 1957 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-06-13 21:31:28 +00:00
Michael Niedermayer
4704097a2b optimizations
Originally committed as revision 1867 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-13 00:46:42 +00:00
Michael Niedermayer
8b82a95675 svq3 decoder by anonymous
Originally committed as revision 1845 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-09 22:16:14 +00:00
Michael Niedermayer
1924f3ce36 multiple reference frames support
Originally committed as revision 1734 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-04-04 20:59:50 +00:00