summaryrefslogtreecommitdiff
path: root/libavcodec/h264.c
Commit message (Collapse)AuthorAge
* 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>
* Revert 2a1f431d38ea9c05abb215d70c7dc09cdb6888ab, it broke H264 lossless.Ronald S. Bultje2011-01-20
|
* H.264/SVQ3: make chroma DC work the same way as luma DCJason Garrett-Glaser2011-01-15
| | | | | | | No speed improvement, but necessary for some future stuff. Also opens up the possibility of asm chroma dc idct/dequant. Originally committed as revision 26349 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Port SVQ3 to use the new mb_luma_dc method of storing luma DC coefficients.Jason Garrett-Glaser2011-01-15
| | | | | | | Doesn't help speed as there isn't an asm implementation yet, but consistency is a good thing. Originally committed as revision 26348 to svn://svn.ffmpeg.org/ffmpeg/trunk
* H.264: Remove useless arg to chroma_dc_dequant_idct_cJason Garrett-Glaser2011-01-14
| | | | Originally committed as revision 26345 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix SVQ3Jason Garrett-Glaser2011-01-14
| | | | | | Regression in r26336-7. Originally committed as revision 26341 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Reindent after r26337.Jason Garrett-Glaser2011-01-14
| | | | Originally committed as revision 26338 to svn://svn.ffmpeg.org/ffmpeg/trunk
* H.264: switch to x264-style tracking of luma/chroma DC NNZJason Garrett-Glaser2011-01-14
| | | | | | | Useful so that we don't have to run the hierarchical DC iDCT if there aren't any coefficients. Opens up some future opportunities for optimization as well. Originally committed as revision 26337 to svn://svn.ffmpeg.org/ffmpeg/trunk
* H.264: split luma dc idct out and implement MMX/SSE2 versionsJason Garrett-Glaser2011-01-14
| | | | | | | | | | About 2.5x the speed. NOTE: the way that the asm code handles large qmuls is a bit suboptimal. If x264-style dequant was used (separate shift and qmul values), it might be possible to get some extra speed. Originally committed as revision 26336 to svn://svn.ffmpeg.org/ffmpeg/trunk
* H.264: eliminate non-transposed scantable support.Jason Garrett-Glaser2011-01-14
| | | | | | | | | | It was an ugly hack to begin with and didn't give any performance. NOTE: this patch opens up some future simplifications to be made (such as removing some of the scantables from H264Context) but doesn't take advantage of them yet. Originally committed as revision 26329 to svn://svn.ffmpeg.org/ffmpeg/trunk
* H.264: fix grayscale decoding with explicit wpredJason Garrett-Glaser2011-01-10
| | | | Originally committed as revision 26306 to svn://svn.ffmpeg.org/ffmpeg/trunk
* SVQ3: Allow decoding if thread_count is > 1Alexander Strange2010-12-15
| | | | | | | svq3 still doesn't support multithreading, but it's simpler for clients if they can enable threading for all codecs by default. Originally committed as revision 26015 to svn://svn.ffmpeg.org/ffmpeg/trunk
* In h264 decoder, fix decoding when nal end sequence is presentBaptiste Coudurier2010-11-23
| | | | Originally committed as revision 25809 to svn://svn.ffmpeg.org/ffmpeg/trunk
* H.264 decode: support cropping up to 28 pixels in interlaced mode.Reimar Döffinger2010-11-03
| | | | | | | | Contrary to progressive, just being able to crop up to 14/15 pixels is not enough to encode all supported resolutions, and the new behaviour is also consistent with e.g. MPEG-2 etc. Originally committed as revision 25669 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Do not assume PIX_FMT_YUV420P will remain the only supported output format ↵Carl Eugen Hoyos2010-10-05
| | | | | | for H264. Originally committed as revision 25352 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move aspect ratio 0/0 avoidance code so the values in the sps struct are not ↵Michael Niedermayer2010-10-05
| | | | | | | | missed. This preempts issues with av_cmp_q(0/0, X) Originally committed as revision 25337 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Try to fix crashes introduced by r25218Jason Garrett-Glaser2010-09-28
| | | | | | | r25218 made assumptions about the existence of past reference frames that weren't necessarily true. Originally committed as revision 25243 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Improve error concealment of lost framesJason Garrett-Glaser2010-09-27
| | | | | | If a frame is lost, replace it with data from the previous valid frame. Originally committed as revision 25218 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Rename h264_idct_sse2.asm to h264_idct.asm; move inline IDCT asm fromRonald S. Bultje2010-09-14
| | | | | | | | | | | | | h264dsp_mmx.c to h264_idct.asm (as yasm code). Because the loops are now coded in asm instead of C, this is (depending on the function) up to 50% faster for cases where gcc didn't do a great job at looping. Since h264_idct_add8() is now faster than the manual loop setup in h264.c, in-asm idct calling can now be enabled for chroma as well (see r16207). For MMX, this is 5% faster. For SSE2 (which isn't done for chroma if h264.c does the looping), this makes it up to 50% faster. Speed gain overall is ~0.5-1.0%. Originally committed as revision 25119 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Perform sliding window operation during frame gap handling.Michael Niedermayer2010-07-05
| | | | | | This avoids some warnings about too many reference frames. Originally committed as revision 24057 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Give context to av_logBaptiste Coudurier2010-07-03
| | | | Originally committed as revision 24018 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix typo in Doxygen function parameter name.Diego Biurrun2010-07-02
| | | | Originally committed as revision 23983 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix grammar errors in documentationMåns Rullgård2010-06-30
| | | | Originally committed as revision 23904 to svn://svn.ffmpeg.org/ffmpeg/trunk