summaryrefslogtreecommitdiff
path: root/libavcodec/h264.c
Commit message (Collapse)AuthorAge
* Revert "h264: Properly set coded_{width, height} when parsing H.264."Luca Barbato2011-08-29
| | | | | | | 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-19
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* h264: correct implicit weight table computation for long ref picsJeff Downs2011-08-19
| | | | | | | Correct computation of implicit weight tables when referencing pictures that are marked for long reference. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* h264: notice memory allocation failureDustin Brody2011-08-11
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* h264: propagate error return values for AV_LOG_ERROR-triggering eventsDustin Brody2011-08-09
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* lavc: use designated initialisers for all codecs.Anton Khirnov2011-07-29
| | | | It's more readable and less prone to breakage.
* dsputil: create 16/32-bit dctcoef versions of some functionsMans Rullgard2011-07-21
| | | | | | | | | | High bitdepth H.264 needs 32-bit transform coefficients, whereas dnxhd does not. This creates a conflict with the templated functions operating on DCTELEM data. This patch adds a field allowing the caller to choose the element size in dsputil_init() and adds the required functions. Signed-off-by: Mans Rullgard <mans@mansr.com>
* h264: remove some disabled codeDiego Biurrun2011-07-20
|
* Eliminate FF_COMMON_FRAME macro.Diego Biurrun2011-07-11
| | | | | FF_COMMON_FRAME holds the contents of the AVFrame structure and is also copied to struct Picture. Replace by an embedded AVFrame structure in struct Picture.
* H.264: improve qp_thresh checkJason Garrett-Glaser2011-07-08
| | | | Eliminate redundant check in filter_mb_fast, consider bit depth in calculating qp_thresh.
* H.264: Remove redundant hl_motion_16/8 codeJason Garrett-Glaser2011-07-08
|
* H.264: av_always_inline some more functionsJason Garrett-Glaser2011-07-08
| | | | These weren't getting inlined all the time in all gcc versions.
* H.264: template left MB handlingJason Garrett-Glaser2011-07-03
| | | | Faster H.264 decoding with ALLOW_INTERLACE off.
* H.264: faster write_back_*Jason Garrett-Glaser2011-07-03
| | | | Avoid aliasing, unroll loops, and inline more functions.
* H.264: faster fill_filter_cachesJason Garrett-Glaser2011-07-03
| | | | Reduce aliasing problems and unroll mv/ref loop.
* Remove return statements following infinite loops without breakMans Rullgard2011-07-03
| | | | | | | These statements cannot be reached and are thus not needed. This removes a number of compiler warnings. Signed-off-by: Mans Rullgard <mans@mansr.com>
* H.264: disable 2tap qpel with CODEC_FLAG2_FAST and >8-bitJason Garrett-Glaser2011-06-26
| | | | 2tap qpel isn't implemented yet for high bit depth, so it just breaks decoding.
* H.264: fix 4:4:4 + deblocking + MBAFFJason Garrett-Glaser2011-06-22
|
* H.264: fix bug in lossless 4:4:4 decodingJason Garrett-Glaser2011-06-22
| | | | Coefficient test for i16x16 add_pixels4 assumed luma plane.
* h264: Fix assert that failed to compile with -DDEBUG.Diego Biurrun2011-06-21
| | | | The assert referenced a variable that no longer exists since 4:4:4 support.
* h264-mt: fix deadlock in packets with multiple slices (e.g. MP4).Ronald S. Bultje2011-06-20
|
* h264: drop some ugly castsAlex Converse2011-06-18
|
* h264: Complexify frame num gap shortening codeAlexander Strange2011-06-16
| | | | | | | | By observation it did not seem to handle prev_frame_num > frame_num. This does not affect any files I have. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* Fix decoding of mpegts streams with h264 video that does *NOT* have b framesMike Scheutzow2011-06-16
| | | | | | | | | | | | | | | One of the causes of this bug is that the h264 parser defaults low_delay to 1, but the h264 codec defaults low_delay to 0. Really Ugly. After many hours of looking at this, I'm still not sure how has_b_frames is *intended* to behave, but to me the implementation appears way more complicated than it ought to be. My patch relies on the encoder to set an optional field in the SPS. This works for libx264 streams, but I'm not sure that all h264 encoders will set it. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* H.264: fix CODEC_FLAG_GRAYJason Garrett-Glaser2011-06-13
| | | | It was broken in 4:4:4, and still did chroma deblocking for no reason in 4:2:0.
* 4:4:4 H.264 decoding supportJason Garrett-Glaser2011-06-13
| | | | Note: this is 4:4:4 from the 2007 spec revision, not the previous (now deprecated) 4:4:4 mode in H.264.
* Roll back 4:4:4 H.264 for nowJason Garrett-Glaser2011-06-13
| | | | Needs some ARM/PPC asm modifications.
* H.264: fix CODEC_FLAG_GRAYJason Garrett-Glaser2011-06-13
| | | | It was broken in 4:4:4, and still did chroma deblocking for no reason in 4:2:0.
* 4:4:4 H.264 decoding supportJason Garrett-Glaser2011-06-13
| | | | Note: this is 4:4:4 from the 2007 spec revision, not the previous (now deprecated) 4:4:4 mode in H.264.
* h264: don't be so picky on decoding pps in extradata.Michael Niedermayer2011-06-13
| | | | | | | Fixes issue2517 Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* h264: change a few comments into error messagesMichael Niedermayer2011-06-13
| | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* H264/MPEG frame-level multi-threading.Alexander Strange2011-06-02
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* h264: Properly set coded_{width, height} when parsing H.264.Felipe Contreras2011-05-23
| | | | | Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Diego Biurrun <diego@biurrun.de>
* h264: correct border check.Ronald S. Bultje2011-05-19
| | | | | | | | | When backing up the top-left border, check that the top-left (rather than left) MB indeed does belong to our slice. If it doesn't, backing up has no positive effect but may accidentally interfere with other threads writing in the same space. Fixes occasional one-off effects when enabling slice-MT.
* h264: fix loopfilter with threading at slice boundaries.Ronald S. Bultje2011-05-19
|
* h264: copy pixel_shift between slice threading contexts.Ronald S. Bultje2011-05-18
| | | | | Fixes "make THREADS=2 THREAD_TYPE=2 fate-h264-conformance-frext-pph10i3_panasonic_a".
* Enable decoding of high bit depth h264.Oskar Arvidsson2011-05-10
| | | | | | This patch completes the high bit depth h264 decoding support. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 ↵Oskar Arvidsson2011-05-10
| | | | | | | | | | | | | | | | | decoder. This patch lets e.g. dsputil_init chose dsp functions with respect to the bit depth to decode. The naming scheme of bit depth dependent functions is <base name>_<bit depth>[_<prefix>] (i.e. the old clear_blocks_c is now named clear_blocks_8_c). Note: Some of the functions for high bit depth is not dependent on the bit depth, but only on the pixel size. This leaves some room for optimizing binary size. Preparatory patch for high bit depth h264 decoding support. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Add support for higher QP values in h264.Oskar Arvidsson2011-05-10
| | | | | | | | In high bit depth, the QP values may now be up to (51 + 6*(bit_depth-8)). Preparatory patch for high bit depth h264 decoding support. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Add the notion of pixel size in h264 related functions.Oskar Arvidsson2011-05-10
| | | | | | | | | | In high bit depth the pixels will not be stored in uint8_t like in the normal case, but in uint16_t. The pixel size is thus 1 in normal bit depth and 2 in high bit depth. Preparatory patch for high bit depth h264 decoding support. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Choose h264 chroma dc dequant function dynamically.Oskar Arvidsson2011-05-10
| | | | | | Needed for high bit depth h264 decoding. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*.Stefano Sabatini2011-05-02
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* Replace deprecated av_get_pict_type_char() with av_get_picture_type_char().Stefano Sabatini2011-05-02
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* Remove some disabled printf debug cruft.Diego Biurrun2011-04-29
|
* lavc: remove FF_API_HURRY_UP cruftAnton Khirnov2011-04-26
|
* Introduce slice threads flag.Ronald S. Bultje2011-04-21
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* lavc: mark hurry_up for removal on next major bumpAnton Khirnov2011-04-02
| | | | | It has been deprecated for about five years, skip_idct/skip_frame should be used instead.
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Merge libavcore into libavutilReinhard Tartler2011-02-15
| | | | | | | | | | | | It is pretty hopeless that other considerable projects will adopt libavutil alone in other projects. Projects that need small footprint are better off with more specialized libraries such as gnulib or rather just copy the necessary parts that they need. With this in mind, nobody is helped by having libavutil and libavcore split. In order to ease maintenance inside and around FFmpeg and to reduce confusion where to put common code, avcore's functionality is merged (back) to avutil. Signed-off-by: Reinhard Tartler <siretart@tauware.de>
* h264: define FF_PROFILE_H264_HIGH_444 to the correct valueJanne Grunau2011-02-08
| | | | | It was removed in fe9a3fb since it had the wrong value. Add profile name for it.