Commit Graph

45 Commits

Author SHA1 Message Date
Justin Ruggles 4795362660 golomb: check remaining bits during unary decoding in get_ur_golomb_jpegls()
Fixes infinite loop in FLAC decoding in case of a truncated bitstream due to
the safe bitstream reader returning 0's at the end.

Fixes Bug 310.

CC:libav-stable@libav.org
2012-06-12 14:33:39 -04: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
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
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
Michael Niedermayer 0da71265d8 H264 decoder & demuxer
Originally committed as revision 1732 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-04-04 14:42:28 +00:00