summaryrefslogtreecommitdiffstats
path: root/libavcodec/h264.c
Commit message (Collapse)AuthorAgeFilesLines
* mpegvideo: Add ff_ prefix to nonstatic functionsMartin Storsjö2012-02-151-10/+10
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* dsputil: Add ff_ prefix to the dsputil*_init* functionsMartin Storsjö2012-02-151-2/+2
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* h264: disallow constrained intra prediction modes for luma.Ronald S. Bultje2012-02-091-2/+2
| | | | | | | | | | | Conversion of the luma intra prediction mode to one of the constrained ("alzheimer") ones can happen by crafting special bitstreams, causing a crash because we'll call a NULL function pointer for 16x16 block intra prediction, since constrained intra prediction functions are only implemented for chroma (8x8 blocks). Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* h264: Split h264-test off into a separate file - golomb-test.c.Diego Biurrun2012-01-311-49/+0
| | | | The new name is more appropriate as only golomb functions are tested.
* h264-test: cleanup: drop timer invocations, commented out code and other cruftDiego Biurrun2012-01-311-15/+0
|
* h264-test: Remove unused DSP and AVCodec contexts and related init calls.Diego Biurrun2012-01-311-5/+0
| | | | This also avoids a segfault on startup.
* cabac: split cabac.h into declarations and function definitionsDiego Biurrun2012-01-121-2/+2
| | | | | | | | | | | This fixes standalone compilation of some decoders with --disable-optimizations. cabac.h defines some inline functions that use symbols from cabac.c. Without optimizations these inline functions are not eliminated and linking fails with references to non-existing symbols. Splitting the inline functions off into their own header and only #including it in the places where the inline functions are used allows #including cabac.h from anywhere without ill effects.
* h264-test: Initialize AVCodecContext.av_class.Diego Biurrun2012-01-071-1/+1
| | | | | | This fixes a segfault on startup. Also remove a commented-out and completely unused variable.
* h264: Only use symbols from the SVQ3 decoder under proper conditionals.Diego Biurrun2012-01-061-4/+4
| | | | Fixes --disable-everything --enable-decoder=h264 --disable-optimizations.
* h264: return index in buffer on end-of-sequence.Ronald S. Bultje2012-01-031-2/+2
| | | | | Fixes hangs if the last packet contains an end-of-sequence NAL unit, bug 158.
* Merge some declarations and initializations.Diego Biurrun2012-01-041-6/+2
| | | | | | This fixes compilation failures related to START_TIMER/STOP_TIMER macros and -Werror=declaration-after-statement. START_TIMER declares variables and thus may not be placed after statements outside of a new block.
* mpegenc: use avctx->slices as number of slicesJanne Grunau2012-01-021-5/+4
| | | | | | Adds a new member to MpegEncContext to hold the number of used slice contexts. Fixes segfaults with '-threads 17 -thread_type slice' and fate-vsynth{1,2}-mpeg{2,4}thread{,_ilace} with --disable-pthreads.
* h264: Fix a possible overread in decode_nal_units()Alexander Strange2011-12-231-1/+1
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* h264: clear trailing bits in partially parsed NAL unitsJanne Grunau2011-12-191-1/+4
| | | | | | | | Trailing bits are likely to be non-zero if the NAL unit is truncated. Clearing the bits make overreads of the bitstream less likely in this case. Fixes playback of http://streams.videolan.org/streams/mp4/Mr_MrsSmith-h264_aac.mp4 which has a forbidden byte sequence of 0x00 0x00 0x00 in it SPS.
* Revert "h264: skip start code search if the size of the nal unit is known"Janne Grunau2011-12-191-9/+2
| | | | This reverts commit 87eebb3454ff0cd6af6ebf9e1d31bdfd1c3b601b.
* h264: skip start code search if the size of the nal unit is knownJanne Grunau2011-12-181-2/+9
| | | | | | | | Start code emulation prevention is only required in Annex B bytestream packed NAL units. For other coding formats the size is already known. Looking for a start code prefix can result in false positives like in http://streams.videolan.org/streams/mp4/Mr_MrsSmith-h264_aac.mp4 which has a false positive in the SPS.
* h264: don't drop B-frames after next keyframe on POC reset.Ronald S. Bultje2011-12-161-1/+5
| | | | | | | The keyframe after a POC reset may not be the first to be returned to the user. Therefore, don't reset the expected next POC once we return a keyframe to the user, but once we know that the next frame in the return-queue is a keyframe.
* lavc: introduce ER_MB_END and ER_MB_ERRORLuca Barbato2011-12-131-8/+8
| | | | | | Simplify a little error resilience calls Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* error_resilience: use the ER_ namespaceLuca Barbato2011-12-131-9/+9
| | | | | | Add the namespace to {AC_,DC_,MV_}{END,ERROR} macros Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* doxygen: misc consistency, spelling and wording fixesDiego Biurrun2011-12-121-5/+7
|
* lavc: convert error_recognition to err_recognition.Dustin Brody2011-12-121-1/+1
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* h264: remove useless castMans Rullgard2011-12-121-1/+1
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Remove extraneous semicolonsMans Rullgard2011-12-111-2/+2
| | | | | | These semicolons cause invalid empty top-level declarations. Signed-off-by: Mans Rullgard <mans@mansr.com>
* Fix a bunch of common typos.Diego Biurrun2011-12-111-3/+3
|
* h264: fix frame reordering code.Ronald S. Bultje2011-12-031-17/+50
| | | | | Fixes fate-h264-conformance-{mr2_tandberg_e,mr3_tandberg_b} without requiring -strict 1.
* h264: cap max has_b_frames at MAX_DELAYED_PIC_COUNT - 1.Ronald S. Bultje2011-12-011-1/+1
| | | | | This prevents frame allocation overflows, and fixed fate-h264-conformance-mr3_tandberg_b with 2 threads.
* h264: add support for decoding planar RGB images.Ronald S. Bultje2011-11-241-7/+16
|
* avcodec: move some AVCodecContext fields to an internal struct.Justin Ruggles2011-11-191-1/+2
| | | | | | | | A new field, AVCodecContext.internal is used to hold a new struct AVCodecInternal, which has private fields that are not codec-specific and are used by general libavcodec functions. Moved internal_buffer, internal_buffer_count, and is_copy.
* hwaccel: OS X Video Decoder Acceleration (VDA) support.Sebastien Zwickert2011-11-141-0/+1
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* h264: improve calculation of codec delay.Ronald S. Bultje2011-11-051-5/+22
| | | | | | Fixes the following conformance suite samples: HCBP1_HHI_A.264, HCBP2_HHI_A.264, HCMP1_HHI_A.264 (main) HCHP1_HHI_B.264, HCHP2_HHI_A.264, HCHP3_HHI_A.264 (frext)
* Fix decoding of lossless 4:2:2 H.264Anton Mitrofanov2011-10-281-1/+1
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Fix decoding of lossless 10-bit 4:4:4 H.264Anton Mitrofanov2011-10-281-1/+1
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* mpegvideo: remove some unused variables from MpegEncContext.Anton Khirnov2011-10-231-1/+0
|
* lavc: replace references to deprecated AVCodecContext.error_recognition to ↵Dustin Brody2011-10-221-2/+2
| | | | | | use AVCodecContext.err_recognition Signed-off-by: Anton Khirnov <anton@khirnov.net>
* h264: mark some MC functions with av_always_inline instead of inline.Ronald S. Bultje2011-10-211-27/+33
| | | | | This actually causes them to be inlined, leading to a significant speedup (1-1.5% in my measurements).
* H264: have hl_motion() and its callees take a chroma_idc argument.Ronald S. Bultje2011-10-211-52/+98
|
* H264: change weight/biweight functions to take a height argument.Ronald S. Bultje2011-10-211-73/+53
| | | | Neon parts by Mans Rullgard <mans@mansr.com>.
* Support for lossless and inter H264 4:2:2.Ronald S. Bultje2011-10-211-11/+55
|
* h264: 4:2:2 intra decoding supportBaptiste Coudurier2011-10-211-25/+72
| | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de> Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* w32threads: support for frame multithreadingSteven Walters2011-10-161-1/+1
| | | | | | | | Replace our incomplete w32threads implementation with x264's pthreads w32threads wrapper. Relicensed to LGPL with kind permission by Pegasys Inc. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* h264: change unsupported bit depth message to error levelMans Rullgard2011-10-121-1/+1
| | | | | | | Unsupported bit depth is certainly an error the user will want to know about. Signed-off-by: Mans Rullgard <mans@mansr.com>
* h264: reset h->ref_count in case of errors in ↵Laurent Aimar2011-10-101-1/+3
| | | | | | ff_h264_decode_ref_pic_list_reordering() Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* h264: fix signed overflows in x*0x01010101 expressionsMans Rullgard2011-10-091-1/+1
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* H264: Only wait before triggering ff_thread_setup_complete() until the next ↵Michael Niedermayer2011-10-071-1/+5
| | | | | | | | | | | | slice that contains a start-of-field/frame macroblock This allows concurrent decoding of the last field/frame, rather than only the last slice, of data packets with multiple NAL units packed together. This will fix the slowdown reported in e.g. bug 52. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* h264: correct implicit_weight for field-interlaced pictures.Ronald S. Bultje2011-10-051-1/+5
|
* h264: check for out of bounds reads in ff_h264_decode_extradata().Laurent Aimar2011-09-251-0/+4
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* Fix assert() calls that need updates after FF_COMMON_FRAME macro elimination.Diego Biurrun2011-09-211-1/+1
| | | | This fixes build failures with -DDEBUG in CPPFLAGS.
* Revert "h264: Properly set coded_{width, height} when parsing H.264."Luca Barbato2011-08-291-3/+0
| | | | | | | This reverts commit b47904d158709bdec1a9d40e83d1abadf50081dc. coded_{width, height} overwrites width and height in avcodec_open and it currently just report the non-lowres size.
* h264: fix PCM intra-coded blocks in monochrome caseJeff Downs2011-08-191-12/+34
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* h264: correct implicit weight table computation for long ref picsJeff Downs2011-08-191-9/+11
| | | | | | | Correct computation of implicit weight tables when referencing pictures that are marked for long reference. Signed-off-by: Diego Biurrun <diego@biurrun.de>
OpenPOWER on IntegriCloud