summaryrefslogtreecommitdiff
path: root/libavcodec/h264.c
Commit message (Collapse)AuthorAge
* 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.
* h264: add profile names for the existing definesAnssi Hannula2011-02-01
| | | | Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
* h264: Add Intra and Constrained Baseline profiles to avctx.profileJanne Grunau2011-02-01
|
* Move ff_emulated_edge_mc() into DSPContext.Ronald S. Bultje2011-01-28
|
* Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.Diego Elio Pettenò2011-01-26
| | | | | | | None of these symbols should be accessed directly, so declare them as hidden. Signed-off-by: Mans Rullgard <mans@mansr.com>
* Make ff_h264_find_frame_end static to h264.c; delete h264_parser.hDiego Elio Pettenò2011-01-25
| | | | | | | The header is empty after making the function static, so delete it and drop its usage. Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
* Make ff_h264_decode_rbsp_trailing static to h264.cDiego Elio Pettenò2011-01-25
| | | | Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
* Reindent.Ronald S. Bultje2011-01-22
| | | | Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
* Fix crash on resolution change (issue 2393).Ronald S. Bultje2011-01-22
| | | | | | | | Don't free RBSP tables (containing decoded NAL units) on resolution change, because we actually need this data to decode the frame after reiniting (with new resolution). Fixed issue 2393. Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
* Remove H.264 encoder fragmentsAlex Converse2011-01-22
| | | | | | | It's incomplete, no one is working on it, and when someone asks about working on it we advise them not to. Signed-off-by: Mans Rullgard <mans@mansr.com>