summaryrefslogtreecommitdiff
path: root/libavcodec/h264.c
Commit message (Collapse)AuthorAge
* h264: error out from decode_nal_units() when AV_EF_EXPLODE is setVittorio Giovara2014-06-23
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* h264: Refactor decode_nal_unitsLuca Barbato2014-04-06
|
* h264: Split h264 slice decoding from nal decodingLuca Barbato2014-03-23
|
* h264: move macroblock decoding into its own fileVittorio Giovara2014-03-23
|
* h264 does not depend on mpegvideo any moreVittorio Giovara2014-03-16
|
* mpegvideo: move mpegvideo formats-related defines to mpegutils.hVittorio Giovara2014-03-16
|
* h264: Remove MotionEstContext and move the relevant fields to H264ContextVittorio Giovara2014-03-16
| | | | Unused buffers scratchpad and temp have been dropped too.
* h264: Replace mpegvideo-specific MAX_THREADS by private defineVittorio Giovara2014-03-16
|
* h264: Replace mpegvideo-specific MAX_PICTURE_COUNT by private defineVittorio Giovara2014-03-16
|
* h264: move relevant fields from Picture to H264PictureVittorio Giovara2014-03-16
|
* er: move relevant fields from Picture to ERPictureVittorio Giovara2014-03-16
| | | | | | | This is done to disentangle ER from mpegvideo. In order to use a classic Picture, callers can use ff_mpeg_set_erpic() or use a custom function to set the fields. Please note that buffers need to be allocated before calling ff_er_frame_end().
* h264: directly use frames in ff_h264_draw_horiz_band()Vittorio Giovara2014-03-16
|
* Give IDCT matrix transpose macro a more descriptive nameDiego Biurrun2014-02-27
| | | | This also avoids a macro name clash and related warning on ARM.
* h264: Fix a typo from the previous commitLuca Barbato2014-02-22
| | | | | | f777504f640260337974848c7d5d7a3f064bbb45 changed a - in + CC: libav-stable@libav.org
* h264: Lower bound check for slice offsetsVittorio Giovara2014-02-20
| | | | | | | | | | And use the value from the specification. Sample-Id: 00000451-google Found-by: Mateusz j00ru Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* h264: informative error reporting in decode_slice_header()Luca Barbato2014-02-18
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* h264: fix slice_type value reported in decode_slice_header()Luca Barbato2014-02-18
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* h264: drop outdated commentsVittorio Giovara2014-02-14
|
* h264: store current_sps_id inside the current spsVittorio Giovara2014-02-14
| | | | In preparation for MVC support.
* h264: print values in case of errorVittorio Giovara2014-02-14
| | | | Also make error style consistent and drop redundant information.
* h264: make context_count unsignedJanne Grunau2014-02-12
| | | | | Removes the bogus but scary looking warning 'libavcodec/h264.c:4529:49: warning: array subscript is below array bounds [-Warray-bounds]'.
* h264: reset data partitioning at the beginning of each decode callAnton Khirnov2014-02-04
| | | | | | | | | Prevents using GetBitContexts with data from previous calls. Fixes access to freed memory. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* avutil: remove timer.h include from internal.hJanne Grunau2014-01-25
| | | | Added libavutil/timer.h include to all files with {START,STOP}_TIMER.
* h264: skip chroma edges at the picture boundary while deblocking 4:4:4Janne Grunau2014-01-22
| | | | | | | | | This handles macroblock edges for the chroma components in the same way as for the luma compoment for 4:4:4 streams. The Spec explicitly states that the deblocking filter is not applied to edges at the boundary of the picture. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* h264: check that an IDR NAL only contains I slicesAnton Khirnov2014-01-18
| | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* h264: reset ref count if decoding the slice header failsAnton Khirnov2014-01-18
| | | | | | | | | Otherwise the ER code might try to use some already freed references. Fixes possible access to freed memory. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* h264: do not call field_end if we do not have a current pictureAnton Khirnov2014-01-18
| | | | | | | Fixes invalid reads. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* h264: limit allowed pred modes in ff_h264_check_intra_pred_mode() to 3Anton Khirnov2014-01-18
| | | | | | | | | | Higher modes are not allowed for 16x16/chroma, which is what this function is used for. Otherwise this function would return 0 (vertical prediction) for invalid higher modes, which could result in invalid reads. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* h264: reset first_field if frame_start() fails for missing refsAnton Khirnov2014-01-18
| | | | | | | | | | In this case we may not have a current frame, while first_field being set implies we do. Fixes invalid reads. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* h264: check that execute_decode_slices() is not called too many timesAnton Khirnov2014-01-06
| | | | | | | Fixes invalid reads. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* h264: reject mismatching luma/chroma bit depths during sps parsingAnton Khirnov2014-01-06
| | | | | | | | | | 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
* h264: rebuild the default ref list if the reference count changesAnton Khirnov2014-01-06
| | | | | | | Fixes possible access to freed memory. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* h264: reset data_partitioning if decoding the slice header for NAL_DPA failsAnton Khirnov2014-01-03
| | | | | | | | If it was set before then we can end up trying to decode a slice without a valid slice header, which can lead to invalid memory access. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* h264: namespace the decode functionLuca Barbato2013-12-27
| | | | Make much easier debugging.
* h264: call av_frame_unref() instead of avcodec_get_frame_defaults().Anton Khirnov2013-12-11
| | | | | | This is a temporary workaround to allow deprecating avcodec_get_frame_defaults(). The proper solution will be using a properly allocated AVFrame in Picture.
* h264: parse frame packing arrangement SEI messages and save relevant ↵Vittorio Giovara2013-12-09
| | | | stereo3d information
* h264: check buffer size before accessing itAnton Khirnov2013-11-21
| | | | | | Fixes invalid reads. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* lavc: use buf[0] instead of data[0] in checks whether a frame is allocatedAnton Khirnov2013-11-18
| | | | data[0] may be NULL for valid frames with hwaccel pixel formats.
* lavc: Edge emulation with dst/src linesizeRonald S. Bultje2013-11-15
| | | | | | Allow supporting files for which the image stride is smaller than the maximum block size + number of subpel mc taps, e.g. a 64x64 VP9 file or a 16x16 VP8 file with -fflags +emu_edge.
* h264: free the tables and uninitialize the context on flushAnton Khirnov2013-11-14
| | | | | Prevents referencing empty frames when the first packet after the flush does not contain a frame.
* hwaccel: Simplify ff_find_hwaccelLuca Barbato2013-11-10
| | | | It is always called by passing fields from an AVCodecContext.
* h264: wait for initial complete frame before outputing framesJohn Stebbins2013-10-31
| | | | | | | | This can be optionally disabled whith the "output_corrupt" flags option. When in "output_corrupt" mode, incomplete frames are signalled through AVFrame.flags FRAME_FLAG_INCOMPLETE_FRAME. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* h264: Check all allocationsDerek Buitenhuis2013-10-29
| | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* lavc: Convert some remaining strides to ptrdiff_tRonald S. Bultje2013-10-15
|
* h264_parser: Fix POC parsing for the case where MMCO_RESET is present.Yusuke Nakamura2013-10-15
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* cosmetics: Group .name and .long_name together in codec/format declarationsDiego Biurrun2013-10-03
|
* h264: do not reinitialize the global cabac tables at each slice headerAnton Khirnov2013-09-24
|
* h264: do not discard NAL_SEI when skipping framesRainer Hochecker2013-09-24
| | | | | | Setting AVDISCARD_NONREF (e.g. after flushing) resulted in 100% dropped frames. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* h264: log extradata skip only for non-ignored NALsVittorio Giovara2013-09-24
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* h264: remove an unused static constantVittorio Giovara2013-09-20
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>