1
mirror of https://git.videolan.org/git/ffmpeg.git synced 2024-07-15 08:51:38 +02:00
Commit Graph

38 Commits

Author SHA1 Message Date
Michael Niedermayer
fccd85b9f3 avcodec: fix aac/ac3 parser bitstream buffer size
Buffers containing copies of the AAC and AC3 header bits were not padded
before parsing, violating init_get_bits() buffer padding requirement,
leading to potential buffer read overflows.
This change adds FF_INPUT_BUFFER_PADDING_SIZE bytes to the bit buffer
for parsing the header in each of aac_parser.c and ac3_parser.c.

Based on patch by: Matt Wolenetz <wolenetz@chromium.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-22 01:24:40 +02:00
Michael Niedermayer
7a72695c05 Merge commit '36ef5369ee9b336febc2c270f8718cec4476cb85'
* commit '36ef5369ee9b336febc2c270f8718cec4476cb85':
  Replace all CODEC_ID_* with AV_CODEC_ID_*
  lavc: add AV prefix to codec ids.

Conflicts:
	doc/APIchanges
	doc/examples/decoding_encoding.c
	doc/examples/muxing.c
	ffmpeg.c
	ffprobe.c
	ffserver.c
	libavcodec/8svx.c
	libavcodec/avcodec.h
	libavcodec/dnxhd_parser.c
	libavcodec/dvdsubdec.c
	libavcodec/error_resilience.c
	libavcodec/h263dec.c
	libavcodec/libvorbisenc.c
	libavcodec/mjpeg_parser.c
	libavcodec/mjpegenc.c
	libavcodec/mpeg12.c
	libavcodec/mpeg4videodec.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/pcm.c
	libavcodec/r210dec.c
	libavcodec/utils.c
	libavcodec/v210dec.c
	libavcodec/version.h
	libavdevice/alsa-audio-dec.c
	libavdevice/bktr.c
	libavdevice/v4l2.c
	libavformat/asfdec.c
	libavformat/asfenc.c
	libavformat/avformat.h
	libavformat/avidec.c
	libavformat/caf.c
	libavformat/electronicarts.c
	libavformat/flacdec.c
	libavformat/flvdec.c
	libavformat/flvenc.c
	libavformat/framecrcenc.c
	libavformat/img2.c
	libavformat/img2dec.c
	libavformat/img2enc.c
	libavformat/ipmovie.c
	libavformat/isom.c
	libavformat/matroska.c
	libavformat/matroskadec.c
	libavformat/matroskaenc.c
	libavformat/mov.c
	libavformat/movenc.c
	libavformat/mp3dec.c
	libavformat/mpeg.c
	libavformat/mpegts.c
	libavformat/mxf.c
	libavformat/mxfdec.c
	libavformat/mxfenc.c
	libavformat/nsvdec.c
	libavformat/nut.c
	libavformat/oggenc.c
	libavformat/pmpdec.c
	libavformat/rawdec.c
	libavformat/rawenc.c
	libavformat/riff.c
	libavformat/sdp.c
	libavformat/utils.c
	libavformat/vocenc.c
	libavformat/wtv.c
	libavformat/xmv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07 22:45:46 +02:00
Anton Khirnov
36ef5369ee Replace all CODEC_ID_* with AV_CODEC_ID_* 2012-08-07 16:00:24 +02:00
Michael Niedermayer
988f585fcb Merge remote-tracking branch 'qatar/master'
* qatar/master: (44 commits)
  replacement Indeo 3 decoder
  gsm demuxer: do not allocate packet twice.
  flvenc: use first packet delay as global delay.
  ac3enc: doxygen update.
  imc: return error codes instead of 0 for error conditions.
  imc: return meaningful error codes instead of -1
  imc: do not set channel layout for stereo
  imc: validate channel count
  imc: check for ff_fft_init() failure
  imc: check output buffer size before decoding
  imc: use DSPContext.bswap16_buf() to byte-swap packet data
  rtsp: add allowed_media_types option
  libgsm: add flush function to reset the decoder state when seeking
  libgsm: simplify decoding by using a loop
  gsm: log error message when packet is too small
  libgsmdec: do not needlessly set *data_size to 0
  gsmdec: do not needlessly set *data_size to 0
  gsmdec: add flush function to reset the decoder state when seeking
  libgsmdec: check output buffer size before decoding
  gsmdec: log error message when output buffer is too small.
  ...

Conflicts:
	Changelog
	ffplay.c
	libavcodec/indeo3.c
	libavcodec/mjpeg_parser.c
	libavcodec/vp3.c
	libavformat/cutils.c
	libavformat/id3v2.c
	libavutil/parseutils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-03 02:16:26 +01:00
Anton Khirnov
5511ad14fe lavc: use designated initialisers for parsers. 2011-11-02 10:03:43 +01:00
Michael Niedermayer
dd8ffc1925 Merge remote-tracking branch 'qatar/master'
* qatar/master: (47 commits)
  lavc: hide private symbols.
  lavc: deprecate img_get_alpha_info().
  lavc: use avpriv_ prefix for ff_toupper4.
  lavc: use avpriv_ prefix for ff_copy_bits and align_put_bits.
  lavc: use avpriv_ prefix for ff_ac3_parse_header.
  lavc: use avpriv_ prefix for ff_frame_rate_tab.
  lavc: rename ff_find_start_code to avpriv_mpv_find_start_code
  lavc: use avpriv_ prefix for ff_split_xiph_headers.
  lavc: use avpriv_ prefix for ff_dirac_parse_sequence_header.
  lavc: use avpriv_ prefix for some dv symbols used in lavf.
  lavc: use avpriv_ prefix for some flac symbols used in lavf.
  lavc: use avpriv_ prefix for some mpeg4audio symbols used in lavf.
  lavc: use avpriv_ prefix for some mpegaudio symbols used in lavf.
  lavc: use avpriv_ prefix for ff_aac_parse_header().
  lavf: hide private symbols.
  lavf: use avpriv_ prefix for some dv functions.
  lavf: use avpriv_ prefix for ff_new_chapter().
  avcodec: add CODEC_CAP_DELAY note to avcodec_decode_audio3() documentation
  avcodec: clarify the CODEC_CAP_DELAY note in avcodec_decode_video2()
  avcodec: clarify documentation of CODEC_CAP_DELAY
  ...

Conflicts:
	configure
	doc/general.texi
	libavcodec/Makefile
	libavcodec/aacdec.c
	libavcodec/allcodecs.c
	libavcodec/avcodec.h
	libavcodec/dv.c
	libavcodec/dvdata.c
	libavcodec/dvdata.h
	libavcodec/libspeexenc.c
	libavcodec/mpegvideo.c
	libavcodec/version.h
	libavformat/avidec.c
	libavformat/dv.c
	libavformat/dv.h
	libavformat/flvenc.c
	libavformat/mov.c
	libavformat/mp3enc.c
	libavformat/oggparsespeex.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-21 02:01:26 +02:00
Anton Khirnov
73ae27e17b lavc: use avpriv_ prefix for ff_aac_parse_header().
It's used in lavf.
2011-10-20 21:06:57 +02: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 Elio Pettenò
e7e2df27f8 Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.
None of these symbols should be accessed directly, so declare them as
hidden.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit d36beb3f69)
2011-01-28 03:15:34 +01:00
Diego Elio Pettenò
d36beb3f69 Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.
None of these symbols should be accessed directly, so declare them as
hidden.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-26 16:08:45 +00:00
Alex Converse
3cac899af9 Split the ADTS header decoder off of the ADTS parser.
The AAC decoder and ADTS-to-ASC BSF both require the header decoder
but not full parsing capabilities.

Originally committed as revision 24217 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 18:52:03 +00:00
Måns Rullgård
8fc0162ac4 Add av_ prefix to bswap macros
Originally committed as revision 24170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-10 22:12:30 +00:00
Måns Rullgård
e6b22522c9 bswap: change ME to NE in macro names
Other parts of FFmpeg use NE (native endian) rather than ME (machine).
This makes it consistent.

Originally committed as revision 24169 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-10 22:09:01 +00:00
Alex Converse
90350d73f8 Allow parsing and decoding of ADTS AAC files with channel config = 0
Originally committed as revision 18815 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-13 17:57:58 +00:00
Alex Converse
ee373ddffd Move the ADTS header size to the parser's header file.
Originally committed as revision 18814 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-13 14:11:11 +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
Alex Converse
7ac1591764 Close the AAC parse context, discovered by Netgem.
Originally committed as revision 17544 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-23 19:25:18 +00:00
Alex Converse
4eb311d01c Correctly map ADTS profile_ObjectType to MPEG-4 AOT
Patch by Alex Converse ( alex converse gmail com )

Originally committed as revision 17196 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-13 00:08:15 +00:00
Diego Biurrun
406792e7b0 cosmetics: Remove pointless period after copyright statement non-sentences.
Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-19 15:46:40 +00:00
Robert Swain
158b39126d Support ADTS AAC files in the ffaac decoder (limited to streams containing one
raw_data_block() per ADTS frame)

Patch by Alex Converse ( alex converse gmail com) based on a patch by Robert
Swain ( robert swain gmail com )

Originally committed as revision 16485 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-07 22:09:21 +00:00
Måns Rullgård
cb56b44086 AAC: fix strict aliasing violation in parser
Originally committed as revision 16180 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-17 02:30:22 +00:00
Måns Rullgård
57bb0da679 aac_parser: fix strict aliasing violation
Originally committed as revision 15595 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-11 11:21:45 +00:00
Michael Niedermayer
133ac890fb Add new_frame_start and need_next_header.
based on a patch by Bartlomiej

Originally committed as revision 12895 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-19 01:59:55 +00:00
Michael Niedermayer
454064ad1e Change aac and ac3 parsers to use ff_combine_frame().
Originally committed as revision 12894 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-19 01:50:40 +00:00
Michael Niedermayer
8c731c9743 remove AACAC3FrameFlag
Originally committed as revision 12888 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-18 03:09:01 +00:00
Bartlomiej Wolowiec
469d8816d6 undo changes in aac_ac3_parser
Originally committed as revision 12778 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-09 22:11:21 +00:00
Bartlomiej Wolowiec
c09ed33e18 Corrections of errors in aac_ac3_parser
Originally committed as revision 12759 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-07 20:54:08 +00:00
Bartlomiej Wolowiec
0a5754c3b7 change of aac_ac3_parser, so it is able to send complete portion of data to decoder
Originally committed as revision 12758 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-05 20:09:36 +00:00
Baptiste Coudurier
bac47ae6ca use mpeg4audio common code in aac parser
Originally committed as revision 12665 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-01 12:50:32 +00:00
Bartlomiej Wolowiec
be1e2a2bfa removal of stream_type in AACAC3ParseContext and adding AACAC3FrameFlag
Originally committed as revision 12622 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-28 19:59:58 +00:00
Bartlomiej Wolowiec
eb538f6ec9 adding lacking include to aac3_parser.c
Originally committed as revision 12572 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-24 22:25:30 +00:00
Bartlomiej Wolowiec
6808a8eaf2 using EAC3_STREAM_TYPE_* instead of numbers
Originally committed as revision 12571 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-24 22:21:22 +00:00
Bartlomiej Wolowiec
4e6eeaf019 using stream type in eac3 parser
Originally committed as revision 12570 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-24 21:25:49 +00:00
Justin Ruggles
c599e297e7 Pass AACAC3ParseContext to sync() instead of individual arguments. Patch by
Bartlomiej Wolowiec (bartek wolowiec gmail com)

Originally committed as revision 12564 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-23 15:43:29 +00:00
Zuxy Meng
98a6fff98c Apply 'cold' attribute to init/uninit functions in libavcodec
Originally committed as revision 12525 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-21 03:11:20 +00:00
Michael Niedermayer
4d570f94ba prevent infinite loop and memcpy of negative amounts
fixes issue194

Originally committed as revision 10726 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-13 12:25:31 +00:00
Aurelien Jacobs
679c2294cb cosmetics: rename for consistency after previous aac and ac3 parsers move
Originally committed as revision 8942 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-08 23:29:07 +00:00
Aurelien Jacobs
99ff31dc75 move aac and ac3 parsers in their own files
Originally committed as revision 8941 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-08 23:25:31 +00:00