summaryrefslogtreecommitdiff
path: root/libavcodec/h264.c
Commit message (Collapse)AuthorAge
* avcodec/h264: Add ff_ prefix to the shared h264_init_dequant_tables() functionMichael Niedermayer2015-02-27
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avcodec/h264: Clear last_pic_for_ec on seeks and reinitsMichael Niedermayer2015-02-25
| | | | | | | | Fixes out of array read Fixes: asan_heap-oob_2ff30d2_3479_cov_3803648058_src13_hrc7_525_420_2.264 Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Merge commit 'a06b0b1295c51d100101e0ca0434e199ad6de6b5'Michael Niedermayer2015-02-21
|\ | | | | | | | | | | | | * commit 'a06b0b1295c51d100101e0ca0434e199ad6de6b5': h264: initialize H264Context.avctx in init_thread_copy Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: initialize H264Context.avctx in init_thread_copyAnton Khirnov2015-02-21
| | | | | | | | | | This prevents using a wrong (first thread's) AVCodecContext if decoding a frame in the first pass over all threads fails.
* | avcodec/h264: Be more strict on rejecting pps_id changesMichael Niedermayer2015-02-06
| | | | | | | | | | Fixes race condition Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | libavcodec/h264: replace assert() by av_assert0()Michael Niedermayer2015-01-31
| | | | | | | | | | | | also remove the now unneeded #include <assert.h> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '61928b68dc28e080b8c8191afe5541123c682bbd'Michael Niedermayer2015-01-28
|\| | | | | | | | | | | | | | | | | | | | | * commit '61928b68dc28e080b8c8191afe5541123c682bbd': h264: Do not share rbsp_buffer across threads Conflicts: libavcodec/h264.c See: ecbf838c7d81ebd3b89fe75d83ff29150dbda27a Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: Do not share rbsp_buffer across threadsMichael Niedermayer2015-01-28
| | | | | | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org> CC: libav-stable@libav.org
* | Merge commit '167e004e1aca7765686ed95d7cd8ea5064d4f6f6'Michael Niedermayer2015-01-27
|\| | | | | | | | | | | | | | | | | | | * commit '167e004e1aca7765686ed95d7cd8ea5064d4f6f6': h264: drop any pretense of support for data partitioning Conflicts: libavcodec/h264.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: drop any pretense of support for data partitioningAnton Khirnov2015-01-27
| | | | | | | | | | | | | | | | | | | | It does not work correctly and apparently never did. There is no indication that this (mis)feature is ever used in the wild or even that any software other than the reference supports it. Since the code that attempts to support it adds some nontrivial complexity and has resulted in several bugs in the past, it is better to just drop it.
* | Merge commit 'ecab21ac47d0d4ca604bebf494017ae5090853a8'Michael Niedermayer2015-01-27
|\| | | | | | | | | | | | | * commit 'ecab21ac47d0d4ca604bebf494017ae5090853a8': h264: do not reset the ref lists in flush_change() Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: do not reset the ref lists in flush_change()Anton Khirnov2015-01-27
| | | | | | | | | | They are always constructed anew when needed, so there is no need to reset them explicitly.
* | Merge commit '9404a47a2d1df418946a338938eb6cdb3afed474'Michael Niedermayer2015-01-27
|\| | | | | | | | | | | | | | | | | | | * commit '9404a47a2d1df418946a338938eb6cdb3afed474': h264: move parser-only variables to their own context Conflicts: libavcodec/h264_parser.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: move parser-only variables to their own contextAnton Khirnov2015-01-27
| |
* | Merge commit 'cf1e0786ed64e69614760bfb4ecd7adbde8e6094'Michael Niedermayer2015-01-27
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit 'cf1e0786ed64e69614760bfb4ecd7adbde8e6094': error_resilience: move the MECmpContext initialization into ER code Conflicts: libavcodec/error_resilience.c libavcodec/h264.c libavcodec/h264.h libavcodec/h264_slice.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * error_resilience: move the MECmpContext initialization into ER codeAnton Khirnov2015-01-27
| | | | | | | | | | | | | | Currently, it needs to be initialized by the ER caller (which is currently either a mpegvideo decoder or h264dec). However, since none of those decoders use MECmpContext for anything except ER, it makes more sense to handle it purely inside ER.
* | Merge commit 'f9f883af4fe615a832407a657752e248a96c6280'Michael Niedermayer2015-01-27
|\| | | | | | | | | | | | | | | | | | | * commit 'f9f883af4fe615a832407a657752e248a96c6280': h264: simplify code in flush_dpb() Conflicts: libavcodec/h264.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: simplify code in flush_dpb()Anton Khirnov2015-01-27
| | | | | | | | | | There is no point in clearing reference explicitly, since that will be done as a part of ff_h264_unref_picture() right below.
| * h264: restore a block mistakenly removed in e10fd08aAnton Khirnov2014-12-27
| | | | | | | | | | CC: libav-stable@libav.org Bug-ID: 781
| * h264: proper cleanup in ff_h264_alloc_tables() if DPB alloc failsMichael Niedermayer2014-12-03
| | | | | | | | CC: libav-devel@libav.org
| * h264: Fix memory leak on ff_h264_decode_init() failureDale Curtis2014-12-03
| | | | | | | | CC: libav-devel@libav.org
* | avcodec/h264: Partially decode and display single fields try #2Michael Niedermayer2015-01-23
| | | | | | | | | | | | | | | | | | | | | | This like the previous attempt does not fully correctly decode this type of non standard H.264, but it now works fully automatic requiring no manual filters or flags to be used See Ticket2254 Reviewed-by: Kieran Kunhya <kierank@obe.tv> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Revert "avcodec/h264: also show frames with missing fields when ↵Michael Niedermayer2015-01-20
| | | | | | | | | | | | | | | | | | | | | | CODEC_FLAG2_SHOW_ALL is set" Fixes regression Fixes Ticket4274 Suggested-by: kierank This reverts commit fe439c20698fc4992b9373cb068efb438fe1a098.
* | avcodec/h264: Keep a reference to the last picture for ECMichael Niedermayer2015-01-11
| | | | | | | | | | | | | | This and the next commit improve error concealment for green-block-artifacts-from-canon-100-hs.MOV Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/h264: also show frames with missing fields when CODEC_FLAG2_SHOW_ALL ↵Michael Niedermayer2014-12-22
| | | | | | | | | | | | | | | | is set This allows viewing more of ticket2254 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/h264: Check *log2_weight_denomMichael Niedermayer2014-12-18
| | | | | | | | | | | | | | Fixes undefined behavior Fixes: signal_sigsegv_14768d2_2248_cov_3629497219_h264_h264___pi_20070614T182942.h264 Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/h264: Clear delayed_pic on deallocationMichael Niedermayer2014-12-17
| | | | | | | | | | | | | | | | Fixes use of freed memory Fixes: case5_av_frame_copy_props.mp4 Found-by: Michal Zalewski <lcamtuf@coredump.cx> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'b1b1a7370e141c912e3d0bbaa668dcee05c3ad67'Michael Niedermayer2014-11-13
|\| | | | | | | | | | | | | | | | | | | * commit 'b1b1a7370e141c912e3d0bbaa668dcee05c3ad67': display: fix order of operands Conflicts: libavcodec/h264.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * display: fix order of operandsVittorio Giovara2014-11-13
| | | | | | | | | | CC: libav-stable@libav.org Bug-Id: CID 1238828 / CID 1238832
* | Move get_avc_nalsize() and find_start_code() to h264.hMichael Niedermayer2014-10-27
| | | | | | | | | | | | This allows sharing them with the h264 parser Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/h264: fix time_base and framerateMichael Niedermayer2014-10-15
| | | | | | | | | | | | | | They are not just inverses of each other. This should restore behavior to before the introduction of framerate Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '7ea1b3472a61de4aa4d41b571e99418e4997ad41'Michael Niedermayer2014-10-15
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '7ea1b3472a61de4aa4d41b571e99418e4997ad41': lavc: deprecate the use of AVCodecContext.time_base for decoding Conflicts: libavcodec/avcodec.h libavcodec/h264.c libavcodec/mpegvideo_parser.c libavcodec/utils.c libavcodec/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavc: deprecate the use of AVCodecContext.time_base for decodingAnton Khirnov2014-10-15
| | | | | | | | | | | | | | | | | | | | | | When decoding, this field holds the inverse of the framerate that can be written in the headers for some codecs. Using a field called 'time_base' for this is very misleading, as there are no timestamps associated with it. Furthermore, this field is used for a very different purpose during encoding. Add a new field, called 'framerate', to replace the use of time_base for decoding.
| * h264: reset ret to avoid propagating minor failuresMichael Niedermayer2014-09-29
| | | | | | | | | | | | | | | | Unbreak 772d150a6e82542c06b0c251e73dd299d98d1027. CC: libav-stable@libav.org Bug-Id: 750 / 905753 Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | avcodec/h264: Undefined behavior (left shift of 12852653 by 8 places cannot ↵Michael Niedermayer2014-10-08
| | | | | | | | | | | | | | | | | | be represented in type 'int') Fixes: asan_heap-oob_84f75d_8_asan_heap-oob_a2a00a_341_mbc.ts Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/h264: Check mode before considering mixed mode intra predictionMichael Niedermayer2014-10-04
| | | | | | | | | | | | | | | | Fixes out of array read Fixes: asan_heap-oob_e476fc_2_asan_heap-oob_1333ec6_61_CAMACI3_Sony_C.jsv Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/h264: Use FF_ALLOCZ_ARRAY_OR_GOTO()Michael Niedermayer2014-09-10
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/h264: Allow partial escapingMichael Niedermayer2014-09-07
| | | | | | | | | | | | Fixes Ticket3923 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/h264: Do not get stuck on IDR inter framesMichael Niedermayer2014-08-31
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/h264: Move h264_vdpau_class under ifdef to avoid unused variable warningMichael Niedermayer2014-08-28
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/h264: do proper cleanup in ff_h264_alloc_tables() in case DPB alloc ↵Michael Niedermayer2014-08-23
| | | | | | | | | | | | fails Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | h264: do not return on sidedata allocation failureChristophe Gisquet2014-08-23
| | | | | | | | | | | | | | | | Not having allocated it is not a good reason to leave the object in an undetermined state. Though a particular setting like the AV_EF_* flags could be useful to control that behaviour. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39'Michael Niedermayer2014-08-15
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-15
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | Merge commit 'a7e541c9926d531a100ba0d36f4e56956dd84651'Michael Niedermayer2014-08-07
|\| | | | | | | | | | | | | * commit 'a7e541c9926d531a100ba0d36f4e56956dd84651': h264: fix interpretation of interleved stereo modes Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: fix interpretation of interleved stereo modesFelix Abecassis2014-08-07
| | | | | | | | | | | | Column and row frame packing arrangements were inverted. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | h264: remove useless assignment.Benoit Fouet2014-08-01
| | | | | | | | | | | | | | source index, as well as dest one, is unconditionnaly set afterwards, before being effectively used. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/h264: support AV_PKT_DATA_NEW_EXTRADATAMichael Niedermayer2014-07-23
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/h264: factor is_extra() outMichael Niedermayer2014-07-23
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '2d60444331fca1910510038dd3817bea885c2367'Michael Niedermayer2014-07-17
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '2d60444331fca1910510038dd3817bea885c2367': dsputil: Split motion estimation compare bits off into their own context Conflicts: configure libavcodec/Makefile libavcodec/arm/Makefile libavcodec/dvenc.c libavcodec/error_resilience.c libavcodec/h264.h libavcodec/h264_slice.c libavcodec/me_cmp.c libavcodec/me_cmp.h libavcodec/motion_est.c libavcodec/motion_est_template.c libavcodec/mpeg4videoenc.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/x86/Makefile libavcodec/x86/me_cmp_init.c Merged-by: Michael Niedermayer <michaelni@gmx.at>