summaryrefslogtreecommitdiffstats
path: root/libavcodec/h264_ps.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit 'b09ad37c83841c399abb7f2503a2ab214d0c2d48'Hendrik Leppkes2015-12-171-0/+33
|\ | | | | | | | | | | | | | | | | | | * commit 'b09ad37c83841c399abb7f2503a2ab214d0c2d48': h264: derive the delay from the level when it's not present Merged without changing the strict_std_compliance check, as it breaks FATE and changes decoding behavior. Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * h264: derive the delay from the level when it's not presentAnton Khirnov2015-12-061-0/+33
| | | | | | | | | | | | | | | | | | | | | | Fall back to maximum DPB size if the level is unknown. This should be more spec-compliant and does not depend on the caller setting has_b_frames before opening the decoder. The old behaviour, when the delay is supplied by the caller setting has_b_frames, can still be obtained by setting strict_std_compliance below normal.
* | avcodec/h264_ps: Fix copying oversized pps&sps dataMichael Niedermayer2015-10-031-4/+6
| | | | | | | | | | | | | | | | | | Fixes: https://trac.ffmpeg.org/attachment/ticket/685/movie.264 In the available testcase the actual PPS only uses a few bits while there are 7kbyte of apparently random data after it Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/h264: keep SPS and PPS bitstream datawm42015-10-021-4/+16
| | | | | | | | | | | | | | | | We assume an upper bound of 4096 bytes for each raw SPS/PPS. It's hard to determine an exact maximum size, but this value was was considered high enough and safe. Needed for the following VideotoolBox commit.
* | Merge commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615'Michael Niedermayer2015-07-271-2/+2
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615': lavc: AV-prefix all codec flags Conflicts: doc/examples/muxing.c ffmpeg.c ffmpeg_opt.c ffplay.c libavcodec/aacdec.c libavcodec/aacenc.c libavcodec/ac3dec.c libavcodec/ac3enc_float.c libavcodec/atrac1.c libavcodec/atrac3.c libavcodec/atrac3plusdec.c libavcodec/dcadec.c libavcodec/ffv1enc.c libavcodec/h264.c libavcodec/h264_loopfilter.c libavcodec/h264_mb.c libavcodec/imc.c libavcodec/libmp3lame.c libavcodec/libtheoraenc.c libavcodec/libtwolame.c libavcodec/libvpxenc.c libavcodec/libxavs.c libavcodec/libxvid.c libavcodec/mpeg12dec.c libavcodec/mpeg12enc.c libavcodec/mpegaudiodec_template.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/mpegvideo_motion.c libavcodec/nellymoserdec.c libavcodec/nellymoserenc.c libavcodec/nvenc.c libavcodec/on2avc.c libavcodec/options_table.h libavcodec/opus_celt.c libavcodec/pngenc.c libavcodec/ra288.c libavcodec/ratecontrol.c libavcodec/twinvq.c libavcodec/vc1_block.c libavcodec/vc1_loopfilter.c libavcodec/vc1_mc.c libavcodec/vc1dec.c libavcodec/vorbisdec.c libavcodec/vp3.c libavcodec/wma.c libavcodec/wmaprodec.c libavcodec/x86/hpeldsp_init.c libavcodec/x86/me_cmp_init.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * lavc: AV-prefix all codec flagsVittorio Giovara2015-07-271-2/+2
| | | | | | | | | | | | Convert doxygen to multiline and express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Merge commit '86e1a35802df42f51337d3fed8d5d99d0898c8bf'Michael Niedermayer2015-04-201-2/+7
|\ \ | |/ | | | | | | | | | | | | | | | | * commit '86e1a35802df42f51337d3fed8d5d99d0898c8bf': h264_ps: Return meaningful error codes and address a memory leak Conflicts: libavcodec/h264_ps.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264_ps: Return meaningful error codes and address a memory leakVittorio Giovara2015-04-201-3/+7
| | | | | | | | Bug-Id: CID 1026763
* | avcodec/h264_ps: Validate num_units_in_tick/time_scale before setting them ↵Michael Niedermayer2015-04-161-5/+8
| | | | | | | | | | | | | | | | in the context This probably makes no big difference but it is more correct Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | h264: Do not fail on unsupported timing infoVittorio Giovara2015-04-161-1/+1
| | | | | | | | | | | | | | | | | | | | The spec madandate both time_scale and num_units_in_tick greater than 0, however since they are not essential for decoding, just ignore the whole block and try to finish parsing the VUI. Related to Ticket4445. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | avcodec/h264: Do not fail with randomly truncated VUIsMichael Niedermayer2015-04-101-3/+4
| | | | | | | | | | | | | | Fixes Ticket4445 Tested-by: Vittorio Giovara <vittorio.giovara@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/h264_ps: Move truncation check from VUI to SPSMichael Niedermayer2015-04-081-6/+6
| | | | | | | | | | | | This more completely checks for truncation Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '84f226a3bcd8b39801a4c9051c033ab7d61aaf76'Michael Niedermayer2015-04-051-4/+7
|\ \ | |/ | | | | | | | | | | | | | | | | | | * commit '84f226a3bcd8b39801a4c9051c033ab7d61aaf76': h264: use the correct SPS during PPS parsing Conflicts: libavcodec/h264_ps.c See: dc35b77b28f40c99d27c073fe2c22219ba600202 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: use the correct SPS during PPS parsingAnton Khirnov2015-04-051-8/+14
| | | | | | | | | | There is in general no reason for the currently active SPS to be the one referenced by the PPS being parsed.
* | Merge commit 'd8a45d2d49f54fde042b195f9d5859251252493d'Michael Niedermayer2015-03-211-4/+4
|\ \ | |/ | | | | | | | | | | | | | | | | | | * commit 'd8a45d2d49f54fde042b195f9d5859251252493d': h264_ps: properly check cropping parameters against overflow Conflicts: libavcodec/h264_ps.c See: c3bd306e78f9e3ca2f136f5b30cbe49fa0884f82 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264_ps: properly check cropping parameters against overflowAnton Khirnov2015-03-211-4/+16
| | | | | | | | CC: libav-stable@libav.org
* | avcodec/h264_ps: More completely check the bit depthsMichael Niedermayer2015-02-061-1/+2
| | | | | | | | | | | | | | | | Fixes out of array read Fixes: asan_static-oob_30328b6_719_cov_3325483287_H264_artifacts_motion.h264 Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | h264_ps: move and export aspect_ratioChristophe Gisquet2014-11-301-23/+3
| | | | | | | | | | | | Needed for filters that may need it, like an SPS bsf. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39'Michael Niedermayer2014-08-151-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39': cosmetics: Write NULL pointer equality checks more compactly Conflicts: cmdutils.c ffmpeg_opt.c ffplay.c libavcodec/dvbsub.c libavcodec/dvdsubdec.c libavcodec/dvdsubenc.c libavcodec/dxa.c libavcodec/libxvid_rc.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/rv10.c libavcodec/tiffenc.c libavcodec/utils.c libavcodec/vc1dec.c libavcodec/zmbv.c libavdevice/v4l2.c libavformat/matroskadec.c libavformat/movenc.c libavformat/sdp.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * cosmetics: Write NULL pointer equality checks more compactlyGabriel Dume2014-08-151-1/+1
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | Merge commit 'cba4e6062a02d5bf684e13a770be88aa1fec717e'Michael Niedermayer2014-04-021-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | * commit 'cba4e6062a02d5bf684e13a770be88aa1fec717e': More correct printf format specifiers Conflicts: libavcodec/h264_ps.c libavcodec/h264_refs.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * More correct printf format specifiersDiego Biurrun2014-04-021-1/+1
| | | | | | | | This avoids compiler warnings about argument and specifier type mismatch.
* | Merge commit 'cc8163e1a3601a56f722a4720516e860bf1c6198'Michael Niedermayer2014-03-221-5/+7
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'cc8163e1a3601a56f722a4720516e860bf1c6198': avcodec: more correct printf specifiers Conflicts: libavcodec/4xm.c libavcodec/alsdec.c libavcodec/dfa.c libavcodec/h264_ps.c libavcodec/jpeg2000dec.c libavcodec/lagarith.c libavcodec/mpeg12dec.c libavcodec/rv10.c libavcodec/svq3.c libavcodec/wmaprodec.c libavcodec/xwddec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avcodec: more correct printf specifiersDiego Biurrun2014-03-221-5/+7
| |
* | Merge commit '5d1c2e53ab3ce27b48c138d22bb01ff8e8304f27'Michael Niedermayer2014-03-171-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | * commit '5d1c2e53ab3ce27b48c138d22bb01ff8e8304f27': h264: Replace mpegvideo-specific MAX_PICTURE_COUNT by private define Conflicts: libavcodec/h264.c libavcodec/h264_ps.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: Replace mpegvideo-specific MAX_PICTURE_COUNT by private defineVittorio Giovara2014-03-161-1/+1
| |
* | Merge commit 'ee6280ca12696a67535ce2245c77190edc513794'Michael Niedermayer2014-03-011-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | * commit 'ee6280ca12696a67535ce2245c77190edc513794': h264: parse two additional constraint flags Conflicts: libavcodec/h264_ps.c See: 9091ba9dfa0901bdce8305cf282c747b0f4c942e Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: parse two additional constraint flagsVittorio Giovara2014-02-281-1/+3
| |
* | Merge commit 'e70ab7c1f5005041bba0e4efc1165410f83495b2'Michael Niedermayer2014-03-011-5/+11
|\ \ | |/ | | | | | | | | | | * commit 'e70ab7c1f5005041bba0e4efc1165410f83495b2': h264: add MVCD to the list of High profiles in SPS Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: add MVCD to the list of High profiles in SPSVittorio Giovara2014-02-281-5/+11
| | | | | | | | Also comment all previous profiles.
* | avcodec/h264_ps: fix printed num_reorder_frames valueMichael Niedermayer2014-02-221-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '614b9e4db8f3d7c23fc0410fc04745a727a82f4e'Michael Niedermayer2014-02-171-3/+2
|\ \ | |/ | | | | | | | | | | | | | | | | * commit '614b9e4db8f3d7c23fc0410fc04745a727a82f4e': h264: use avpriv_request_sample for chroma_format_idc Conflicts: libavcodec/h264_ps.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: use avpriv_request_sample for chroma_format_idcVittorio Giovara2014-02-161-3/+2
| |
* | Merge commit '3a0576702825423abecb32627c530dbc4c0f73bc'Michael Niedermayer2014-02-141-0/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | * commit '3a0576702825423abecb32627c530dbc4c0f73bc': h264: store current_sps_id inside the current sps Conflicts: libavcodec/h264.c libavcodec/h264_ps.c The current_sps_id is not removed as it used in security related code. Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: store current_sps_id inside the current spsVittorio Giovara2014-02-141-1/+1
| | | | | | | | In preparation for MVC support.
* | Merge commit '73e8fab31dc19c4371499e612856accbc00b2820'Michael Niedermayer2014-02-141-4/+5
|\ \ | |/ | | | | | | | | | | | | | | | | | | * commit '73e8fab31dc19c4371499e612856accbc00b2820': h264: print values in case of error Conflicts: libavcodec/h264.c libavcodec/h264_ps.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: print values in case of errorVittorio Giovara2014-02-141-5/+6
| | | | | | | | Also make error style consistent and drop redundant information.
* | Merge commit '9ecabd7892ff073ae60ded3fc0a1290f5914ed5c'Michael Niedermayer2014-01-181-1/+3
|\ \ | |/ | | | | | | | | | | | | | | * commit '9ecabd7892ff073ae60ded3fc0a1290f5914ed5c': h264: reset num_reorder_frames if it is invalid Note, num_reorder_frames is not used in the failure case Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: reset num_reorder_frames if it is invalidAnton Khirnov2014-01-181-1/+3
| | | | | | | | | | | | | | | | | | An invalid VUI is not considered a fatal error, so the SPS containing it may still be used. Leaving an invalid value of num_reorder_frames there can result in writing over the bounds of H264Context.delayed_pic. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* | Merge commit 'bfd26b7ce6efea594f2b99441d900419df3af638'Michael Niedermayer2014-01-061-1/+6
|\ \ | |/ | | | | | | | | | | | | | | | | | | * commit 'bfd26b7ce6efea594f2b99441d900419df3af638': h264: reject mismatching luma/chroma bit depths during sps parsing Conflicts: libavcodec/h264_ps.c See: bdeb61ccc67911cfc5e20c7cfb1312d0501ca90a Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: reject mismatching luma/chroma bit depths during sps parsingAnton Khirnov2014-01-061-0/+5
| | | | | | | | | | | | | | | | | | | | There is no point in delaying the check and it avoids bugs with a half-initialized context. Fixes invalid reads. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* | Merge commit '94603feb1b3ad01a821a1a1cef1570b13f471821'Michael Niedermayer2013-10-281-2/+4
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | * commit '94603feb1b3ad01a821a1a1cef1570b13f471821': h264_ps: when parsing a VUI fails, only abort when explode is set Merge only for metadata, ignoring invalid data can put the context into an invalid state and can possibly be used for remote code execution exploits. Also we support all non standard VUIs that have been reported so ignoring parsing failure makes no sense for us unless theres some issue that has not been reported Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264_ps: when parsing a VUI fails, only abort when explode is setAnton Khirnov2013-10-271-2/+4
| | | | | | | | | | | | A VUI doesn't contain anything strictly necessary for decoding. Apparently there are many samples with truncated VUIs in the wild, this commit should allow decoding them.
* | Merge commit 'c18838f5eb7d7001a9dc653f5162868c04c1b2a1'Michael Niedermayer2013-08-211-11/+11
|\ \ | |/ | | | | | | | | | | | | | | | | * commit 'c18838f5eb7d7001a9dc653f5162868c04c1b2a1': h264_ps: Use more meaningful error values Conflicts: libavcodec/h264_ps.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264_ps: Use more meaningful error valuesDiego Biurrun2013-08-201-12/+12
| |
* | Merge commit '330ad1f6a53a37dec228cb424ca57e1268fafc64'Michael Niedermayer2013-08-211-319/+337
|\ \ | |/ | | | | | | | | | | | | | | | | * commit '330ad1f6a53a37dec228cb424ca57e1268fafc64': h264_ps: K&R formatting cosmetics Conflicts: libavcodec/h264_ps.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264_ps: K&R formatting cosmeticsDiego Biurrun2013-08-201-287/+313
| |
* | Merge commit '8fed466b0a7d636ae5035f9c6074fba9a621539b'Michael Niedermayer2013-08-211-4/+0
|\ \ | |/ | | | | | | | | | | * commit '8fed466b0a7d636ae5035f9c6074fba9a621539b': h264_ps: Drop commented-out cruft Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264_ps: Drop commented-out cruftDiego Biurrun2013-08-201-4/+0
| |
* | Merge commit '2a61592573d725956a4377641344afe263382648'Michael Niedermayer2013-08-211-1/+0
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '2a61592573d725956a4377641344afe263382648': avcodec: Remove some commented-out debug cruft Conflicts: libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/h264_loopfilter.c libavcodec/h264_mvpred.h libavcodec/mjpegdec.c libavcodec/mjpegenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
OpenPOWER on IntegriCloud