Andreas Cadhalpun
c112be25f7
oggparsedaala: reject too large gpshift
...
Also use a unsigned constant for the shift calculation, as 1 << 31 is
undefined for int32_t. This is also fixed oggparsetheora.
This fixes ubsan runtime error: shift exponent is too large for
32-bit type 'int'
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-01-02 12:00:39 +01:00
Michael Niedermayer
0c1d62ab9d
avformat/oggparsetheora: Check duration to be not AV_NOPTS_VALUE (and positive) before use
...
Fixes: 1536b9b096a8f95b742bae9d3d761cc6/signal_sigsegv_294aaed_7322_4fad88a38dc8952dc20dcb60c1895758.ogg
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-04 13:47:58 +01:00
Michael Niedermayer
29d147c94d
Merge commit '059a934806d61f7af9ab3fd9f74994b838ea5eba'
...
* commit '059a934806d61f7af9ab3fd9f74994b838ea5eba':
lavc: Consistently prefix input buffer defines
Conflicts:
doc/examples/decoding_encoding.c
libavcodec/4xm.c
libavcodec/aac_adtstoasc_bsf.c
libavcodec/aacdec.c
libavcodec/aacenc.c
libavcodec/ac3dec.h
libavcodec/asvenc.c
libavcodec/avcodec.h
libavcodec/avpacket.c
libavcodec/dvdec.c
libavcodec/ffv1enc.c
libavcodec/g2meet.c
libavcodec/gif.c
libavcodec/h264.c
libavcodec/h264_mp4toannexb_bsf.c
libavcodec/huffyuvdec.c
libavcodec/huffyuvenc.c
libavcodec/jpeglsenc.c
libavcodec/libxvid.c
libavcodec/mdec.c
libavcodec/motionpixels.c
libavcodec/mpeg4videodec.c
libavcodec/mpegvideo.c
libavcodec/noise_bsf.c
libavcodec/nuv.c
libavcodec/nvenc.c
libavcodec/options.c
libavcodec/parser.c
libavcodec/pngenc.c
libavcodec/proresenc_kostya.c
libavcodec/qsvdec.c
libavcodec/svq1enc.c
libavcodec/tiffenc.c
libavcodec/truemotion2.c
libavcodec/utils.c
libavcodec/utvideoenc.c
libavcodec/vc1dec.c
libavcodec/wmalosslessdec.c
libavformat/adxdec.c
libavformat/aiffdec.c
libavformat/apc.c
libavformat/apetag.c
libavformat/avidec.c
libavformat/bink.c
libavformat/cafdec.c
libavformat/flvdec.c
libavformat/id3v2.c
libavformat/isom.c
libavformat/matroskadec.c
libavformat/mov.c
libavformat/mpc.c
libavformat/mpc8.c
libavformat/mpegts.c
libavformat/mvi.c
libavformat/mxfdec.c
libavformat/mxg.c
libavformat/nutdec.c
libavformat/oggdec.c
libavformat/oggparsecelt.c
libavformat/oggparseflac.c
libavformat/oggparseopus.c
libavformat/oggparsespeex.c
libavformat/omadec.c
libavformat/rawdec.c
libavformat/riffdec.c
libavformat/rl2.c
libavformat/rmdec.c
libavformat/rtpdec_latm.c
libavformat/rtpdec_mpeg4.c
libavformat/rtpdec_qdm2.c
libavformat/rtpdec_svq3.c
libavformat/sierravmd.c
libavformat/smacker.c
libavformat/smush.c
libavformat/spdifenc.c
libavformat/takdec.c
libavformat/tta.c
libavformat/utils.c
libavformat/vqf.c
libavformat/westwood_vqa.c
libavformat/xmv.c
libavformat/xwma.c
libavformat/yop.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 23:15:19 +02:00
Vittorio Giovara
059a934806
lavc: Consistently prefix input buffer defines
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27 15:24:59 +01:00
Michael Niedermayer
a8db787932
Merge commit 'db68ef898a3802e51b6f41fd600d0d46d058e3f8'
...
* commit 'db68ef898a3802e51b6f41fd600d0d46d058e3f8':
ogg: update event_flags with STREAM_/METADATA_UPDATED whenever metadata changes.
Conflicts:
libavformat/oggparsevorbis.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 00:05:49 +02:00
Andrew Stone
db68ef898a
ogg: update event_flags with STREAM_/METADATA_UPDATED whenever metadata changes.
...
Originally, AVFormatContext and a metadata dict were provided to ff_vorbis_comment(),
but this presented issues if an AVStream was being updated or the metadata on
AVFormatContext wasn't actually being updated. To remedy this, ff_vorbis_stream_comment()
explicitly updates a stream's metadata and sets any necessary flags.
ff_vorbis_comment() does not modify any flags, and any calls to it that update
AVFormatContext's metadata (just a single call) must also update
AVFormatContext.event_flags after detecting any metadata changes to the provided
dictionary, as signaled by a positive return value.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-13 16:25:19 +00:00
Michael Niedermayer
579e2b2874
Merge commit '23f741f79327e31be7b2a75ebb2e02111e06e52f'
...
* commit '23f741f79327e31be7b2a75ebb2e02111e06e52f':
matroskadec: parse the channel layout mask for FLAC
Conflicts:
libavformat/oggparsevorbis.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 13:02:19 +02:00
Anton Khirnov
23f741f793
matroskadec: parse the channel layout mask for FLAC
...
It is commonly stored in a vorbiscomment block in codec private data.
2014-05-28 07:50:32 +02:00
Michael Niedermayer
4511531582
avformat/oggparsetheora: zero extradata padding area
...
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f66fa0ac09d_9197_theora_a4_v6_k250_s0.ogg
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-15 19:21:48 +01:00
Michael Niedermayer
51c5768cca
Merge commit 'ce6949d3a0607eb318dc2872553110df934e9720'
...
* commit 'ce6949d3a0607eb318dc2872553110df934e9720':
oggparsetheora: stop using deprecated avcodec_set_dimensions
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-01 13:15:21 +01:00
Anton Khirnov
ce6949d3a0
oggparsetheora: stop using deprecated avcodec_set_dimensions
2013-10-31 20:14:14 +01:00
Michael Niedermayer
7fd7a10efd
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
oggparsetheora: check av_mallocz result
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-30 10:41:06 +01:00
Michael Niedermayer
0b9e480b8f
Merge commit '5e5fb21877d8da7b3b8a27bb4d6a070d210c152d'
...
* commit '5e5fb21877d8da7b3b8a27bb4d6a070d210c152d':
oggparsetheora: return meaningful error codes
Conflicts:
libavformat/oggparsetheora.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-30 10:35:29 +01:00
Michael Niedermayer
70737b83f0
Merge commit 'd4c12b8be4bdd2ffddb3bd5e11773de4c4c46f68'
...
* commit 'd4c12b8be4bdd2ffddb3bd5e11773de4c4c46f68':
oggparsetheora: K&R cosmetics, reformat
Conflicts:
libavformat/oggparsetheora.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-30 10:26:00 +01:00
Anton Khirnov
4f2d8968c0
oggparsetheora: check av_mallocz result
2013-10-30 08:45:31 +01:00
Anton Khirnov
5e5fb21877
oggparsetheora: return meaningful error codes
2013-10-30 08:45:25 +01:00
Anton Khirnov
d4c12b8be4
oggparsetheora: K&R cosmetics, reformat
...
Also typedef the private data struct and make its name consistent with
the rest of Libav.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-30 08:45:10 +01:00
Michael Niedermayer
72eddc10fa
Merge commit 'd872fb0f7ff2ff0ba87f5ccf6a1a55ca2be472c9'
...
* commit 'd872fb0f7ff2ff0ba87f5ccf6a1a55ca2be472c9':
lavf: Reset the entry count and allocation size variables on av_reallocp failures
Conflicts:
libavformat/avienc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-27 12:13:41 +02:00
Martin Storsjö
d872fb0f7f
lavf: Reset the entry count and allocation size variables on av_reallocp failures
...
When av_reallocp fails, the associated variables that keep track of
the number of elements in the array (and in some cases, the
separate number of allocated elements) need to be reset.
Not all of these might technically be needed, but it's better to
reset them if in doubt, to make sure variables don't end up
conflicting.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-26 23:14:03 +03:00
Michael Niedermayer
20dfab33f5
Merge commit '5626f994f273af80fb100d4743b963304de9e05c'
...
* commit '5626f994f273af80fb100d4743b963304de9e05c':
avformat: Use av_reallocp() where suitable
Conflicts:
libavformat/avidec.c
libavformat/avienc.c
libavformat/aviobuf.c
libavformat/oggparsevorbis.c
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-19 11:01:26 +02:00
Alexandra Khirnova
5626f994f2
avformat: Use av_reallocp() where suitable
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-09-18 18:28:38 +02:00
Giorgio Vazzana
39403c6c1b
oggparsetheora: fix comment header parsing
...
Pass the correct header size to ff_vorbis_comment()
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 20:47:27 +02:00
Giorgio Vazzana
db4bb4c983
oggparsetheora: fix comment header parsing
...
Pass the correct header size to ff_vorbis_comment()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-05 18:07:13 +02:00
Michael Niedermayer
d9d56712e9
oggparsetheora: print error when failing on unknown header
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 17:32:11 +02:00
Michael Niedermayer
abcaacf1ac
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
pthread: make sure AVFrame.extended_data is set properly.
libfdk-aac: reindent after last commit
libfdk-aac: Limit to supported sample rates.
cbrt_tablegen: Include libm.h
oggparsetheora: make it more robust
ogg: prevent NULL pointer deference in theora gptopts
Conflicts:
libavformat/oggparsetheora.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 16:11:34 +02:00
Michael Niedermayer
46a35959d8
Merge commit '7751e4693dd10ec98c20fbd9887233b575034272'
...
* commit '7751e4693dd10ec98c20fbd9887233b575034272':
ogg: check that the expected number of headers had been parsed
libx264: change default to closed gop to match x264cli
Use avcodec_free_frame() to free AVFrames.
lavf: use a malloced AVFrame in try_decode_frame().
lavc: add avcodec_free_frame().
lavc: ensure extended_data is set properly on decoding
lavc: initialize AVFrame.extended_data in avcodec_get_frame_defaults()
lavc: use av_mallocz to allocate AVFrames.
lavc: rename the argument of avcodec_alloc_frame/get_frame_defaults
Conflicts:
doc/APIchanges
doc/examples/decoding_encoding.c
libavcodec/utils.c
libavcodec/version.h
libavfilter/src_movie.c
libavformat/oggdec.c
libavformat/oggdec.h
libavformat/oggparsetheora.c
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 15:15:16 +02:00
Luca Barbato
7751e4693d
ogg: check that the expected number of headers had been parsed
...
Not having the header for a codec is a tell-tale of a broken file.
2012-09-24 22:35:29 +02:00
Luca Barbato
0336dea2ef
oggparsetheora: make it more robust
2012-09-24 22:35:29 +02:00
Michael Niedermayer
bb146bb57b
ogg: prevent NULL pointer deference in theora gptopts
...
Additional safety in case a special ogg stream is crafted
with the proper number of
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-24 22:35:29 +02:00
Michael Niedermayer
bb7073921c
oggparsetheora: fix metadata parsing
...
Fixes Ticket1508
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-12 23:09:45 +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
b18c9f1eb0
oggtheora: Port changes from oggvorbis timestamp handling.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-05 00:00:40 +02:00
Michael Niedermayer
231d32c8d7
oggtheora: Fix initial pts
...
code based on the solution in vorbis
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-04 14:40:22 +02:00
Michael Niedermayer
f927c5b753
vorbisdemux: Check private context in theoras gtopts.
...
This prevents a null ptr dereference.
It could be checked differently but this way it should
be possible to return some data.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-23 04:29:33 +01:00
Anton Khirnov
1bb3990b56
ogg: don't set codec timebase
...
Demuxers are not supposed to set it.
2012-03-02 11:11:38 +01:00
Anton Khirnov
c3f9ebf743
lavf: make av_set_pts_info private.
...
It's supposed to be called only from (de)muxers.
2011-11-30 20:34:45 +01:00
Reimar Döffinger
a351110eea
Always use av_set_pts_info to set the stream time base.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-06 16:08:59 -05:00
Jean-Daniel Dupas
cc947f04cc
Replace all occurences of PKT_FLAG_KEY with AV_PKT_FLAG_KEY.
...
Patch by Jean-Daniel Dupas, devlists shadowlab org
Originally committed as revision 22744 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-31 12:29:58 +00:00
Stefano Sabatini
72415b2adb
Define AVMediaType enum, and use it instead of enum CodecType, which
...
is deprecated and will be dropped at the next major bump.
Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
David Conrad
b53cde48bd
oggdec: Metadata is per-stream; don't merge multiple streams' together
...
Originally committed as revision 22473 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 05:16:44 +00:00
David Conrad
e4d2d8c5d7
Add ff_ prefix to vorbis_comment
...
Originally committed as revision 22472 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 05:16:39 +00:00
David Conrad
8b6bdb6cf3
oggdec: Parse theora headers since ogg might not mark keyframes
...
Fixes issue746
Originally committed as revision 22214 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 00:22:40 +00:00
David Conrad
2d4970d88d
oggdec: Set dts when known
...
Originally committed as revision 21134 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 05:51:09 +00:00
Reimar Döffinger
11d058b7b3
Replace invalid Theora frame rate by 25 FPS.
...
Avoids division by 0 due to e.g. time_base denominator being 0.
Originally committed as revision 19334 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-03 11:31:09 +00:00
David Conrad
12d7c0793b
Ensure that the extradata buffer is padded appripriately in the ogg demuxer.
...
Spotted by valgrind.
Originally committed as revision 19119 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 23:39:11 +00:00
David Conrad
0a8dedc9e1
Use skip_bits_long() for large skips
...
This fixes ogg/theora on ARM (more generally the A32 bitstream reader)
Originally committed as revision 18819 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-14 00:02:07 +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
Måns Rullgård
e3b07e1a74
OGG: correct PTS with old theora streams
...
Originally committed as revision 15785 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-06 01:57:17 +00:00
Måns Rullgård
77be08eeb1
OGG: untypedef demuxer structs
...
Originally committed as revision 15784 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-06 01:50:56 +00:00