aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/h264_ps.c
Commit message (Collapse)AuthorAgeFilesLines
* 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>
| * avcodec: Remove some commented-out debug cruftDiego Biurrun2013-08-201-1/+0
| |
* | avcodec/h264_ps: try to support Ambarella AVCMichael Niedermayer2013-07-091-0/+5
| | | | | | | | | | | | Fixes Ticket2763 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | h264_ps: fix memleak in ff_h264_decode_picture_parameter_set()Michael Niedermayer2013-06-031-2/+2
| | | | | | | | | | Fixes: CID1026763 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | ff_h264_decode_seq_parameter_set: dont set h->spsMichael Niedermayer2013-05-061-2/+0
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | ff_h264_decode_picture_parameter_set: fix return codeMichael Niedermayer2013-05-061-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | ff_h264_decode_picture_parameter_set: use the correct spsMichael Niedermayer2013-05-061-9/+13
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | h264_ps: check croping valuesMichael Niedermayer2013-04-301-0/+13
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '5e83d9aced2fc2b2e1360452794c58aba55d497c'Michael Niedermayer2013-04-191-26/+27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '5e83d9aced2fc2b2e1360452794c58aba55d497c': h264: fully support cropping. Conflicts: doc/APIchanges libavcodec/h264.c libavcodec/h264_ps.c libavcodec/options_table.h libavcodec/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: fully support cropping.Anton Khirnov2013-04-191-19/+27
| | | | | | | | | | | | Based on a patch by Vittorio Giovara <vittorio.giovara@gmail.com> Fixes Bug 378.
* | Merge commit 'c242bbd8b6939507a1a6fb64101b0553d92d303f'Michael Niedermayer2013-02-261-1/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'c242bbd8b6939507a1a6fb64101b0553d92d303f': Remove unnecessary dsputil.h #includes Conflicts: libavcodec/ffv1.c libavcodec/h261dec.c libavcodec/h261enc.c libavcodec/h264pred.c libavcodec/lpc.h libavcodec/mjpegdec.c libavcodec/rectangle.h libavcodec/x86/idct_sse2_xvid.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Remove unnecessary dsputil.h #includesDiego Biurrun2013-02-261-1/+0
| |
* | h264: check that luma and chroma depth matchMichael Niedermayer2013-02-211-1/+1
| | | | | | | | | | | | | | Fixes out of array access Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-02-161-143/+137
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: h264: deMpegEncContextize Conflicts: libavcodec/dxva2_h264.c libavcodec/h264.c libavcodec/h264.h libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/h264_loopfilter.c libavcodec/h264_mb_template.c libavcodec/h264_parser.c libavcodec/h264_ps.c libavcodec/h264_refs.c libavcodec/h264_sei.c libavcodec/svq3.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: deMpegEncContextizeAnton Khirnov2013-02-151-136/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most of the changes are just trivial are just trivial replacements of fields from MpegEncContext with equivalent fields in H264Context. Everything in h264* other than h264.c are those trivial changes. The nontrivial parts are: 1) extracting a simplified version of the frame management code from mpegvideo.c. We don't need last/next_picture anymore, since h264 uses its own more complex system already and those were set only to appease the mpegvideo parts. 2) some tables that need to be allocated/freed in appropriate places. 3) hwaccels -- mostly trivial replacements. for dxva, the draw_horiz_band() call is moved from ff_dxva2_common_end_frame() to per-codec end_frame() callbacks, because it's now different for h264 and MpegEncContext-based decoders. 4) svq3 -- it does not use h264 complex reference system, so I just added some very simplistic frame management instead and dropped the use of ff_h264_frame_start(). Because of this I also had to move some initialization code to svq3. Additional fixes for chroma format and bit depth changes by Janne Grunau <janne-libav@jannau.net> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | Merge commit 'b85a5e87af4254b80913fe33591d96361f30832b'Michael Niedermayer2013-01-251-0/+14
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'b85a5e87af4254b80913fe33591d96361f30832b': lavu: Add av_strnstr() h264: Allow discarding the cropping information from SPS Conflicts: Changelog doc/APIchanges libavcodec/avcodec.h libavcodec/version.h libavutil/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: Allow discarding the cropping information from SPSVittorio Giovara2013-01-251-0/+14
| | | | | | | | | | | | Some 3D systems overload the meaning of the field for other purposes. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit 'c661cb6672af5ebcb900ec8766b24761bd2ab011'Michael Niedermayer2012-12-201-4/+5
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'c661cb6672af5ebcb900ec8766b24761bd2ab011': cmdutils: pass number of groups to split_commandline(). mov: handle h263 and flv1 for codec_tag 'H','2','6','3' h264: fix sps parsing for SVC and CAVLC 4:4:4 Intra profiles Conflicts: libavcodec/h264_ps.c libavformat/isom.c libavformat/mov.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: fix sps parsing for SVC and CAVLC 4:4:4 Intra profilesVictor Lopez2012-12-191-1/+5
| | | | | | | | | | | | Fixes bug 396. CC: libav-stable@libav.org
| * h264: fix memleak on error during SPS parsingJanne Grunau2012-12-151-1/+1
| | | | | | | | Introduced in d7d6efe42b0d.
* | Merge commit '072be3e8969f24113d599444be4d6a0ed04a6602'Michael Niedermayer2012-12-141-2/+5
|\| | | | | | | | | | | | | | | | | | | | | * commit '072be3e8969f24113d599444be4d6a0ed04a6602': h264: set parameters from SPS whenever it changes asyncts: cosmetics: reindent Conflicts: libavcodec/h264.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: set parameters from SPS whenever it changesJanne Grunau2012-12-131-2/+5
| | | | | | | | | | Fixes a crash in the fuzzed sample sample_varPAR.avi_s26638 with alternating bit depths.
* | Merge commit 'd7d6efe42b0d2057e67999b96b9a391f533d2333'Michael Niedermayer2012-12-071-5/+11
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'd7d6efe42b0d2057e67999b96b9a391f533d2333': h264: check sps.log2_max_frame_num for validity mov: validate number of DataReferenceBox entries against box size mov: compute avg_frame_rate only if duration is known flac: change minimum and default of lpc_passes option to 1 Conflicts: libavcodec/h264_ps.c libavformat/mov.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: check sps.log2_max_frame_num for validityJanne Grunau2012-12-071-2/+14
| | | | | | | | | | | | | | Fixes infinite or long taking loop in frame num gap code in the fuzzed sample bipbop234.ts_s223302. CC: libav-stable@libav.org
* | h264: 2nd try at getting sm2v workingMichael Niedermayer2012-11-111-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | h264: Support SMV2Michael Niedermayer2012-11-111-0/+2
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | h264: fix parsing of old lossless profile (profile_idc == 144)Hendrik Leppkes2012-10-141-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | h264: print num_reorder_frames in debug outputMichael Niedermayer2012-08-041-2/+3
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-07-301-1/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: avformat: Drop pointless "format" from container long names swscale: bury one more piece of inline asm under HAVE_INLINE_ASM. wv: K&R formatting cosmetics configure: Add missing descriptions to help output h264_ps: declare array of colorspace strings on its own line. fate: amix: specify f32 sample format for comparison tiny_psnr: support 32-bit float samples eamad/eatgq/eatqi: call special EA IDCT directly eamad: remove use of MpegEncContext mpegvideo: remove unnecessary inclusions of faandct.h af_asyncts: avoid overflow in out_size with large delta values af_asyncts: add first_pts option Conflicts: configure libavcodec/eamad.c libavcodec/h264_ps.c libavformat/crcenc.c libavformat/ffmdec.c libavformat/ffmenc.c libavformat/framecrcenc.c libavformat/md5enc.c libavformat/nutdec.c libavformat/rawenc.c libavformat/yuv4mpeg.c tests/tiny_psnr.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264_ps: declare array of colorspace strings on its own line.Ronald S. Bultje2012-07-291-1/+2
| |
* | h264/decode_scaling_matrices: fix coding order of 8x8 matrixes.Michael Niedermayer2012-07-101-4/+2
| | | | | | | | | | | | This fixes decoding of PPCV444I3_Thomson_A.bits Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | h264: 12 and 14 bit supportMichael Niedermayer2012-07-101-4/+24
| | | | | | | | | | | | | | This works with I, P and B frames CAVLC and CABAC Signed-off-by: Michael Niedermayer <michaelni@gmx.at>