summaryrefslogtreecommitdiffstats
path: root/libavcodec/h264_cabac.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove gcc 2.95.3 remnants.Carl Eugen Hoyos2011-06-291-1/+1
|
* Use HAVE_TEN_OPERANDS for new decode_significance* functions.Carl Eugen Hoyos2011-06-221-1/+1
|
* Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-06-151-101/+714
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: swscale: remove misplaced comment. ffmpeg: fix streaming to ffserver. swscale: split out RGB48 output functions from yuv2packed[12X]_c(). build: move vpath directives to main Makefile swscale: fix JPEG-range YUV scaling artifacts. build: move ALLFFLIBS to a more logical place ARM: factor some repetitive code into macros Fix SVQ3 after adding 4:4:4 H.264 support H.264: fix CODEC_FLAG_GRAY 4:4:4 H.264 decoding support ac3enc: fix allocation of floating point samples. Conflicts: ffmpeg.c libavcodec/dsputil_template.c libavcodec/h264.c libavcodec/mpegvideo.c libavcodec/snow.c libswscale/swscale.c libswscale/swscale_internal.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 4:4:4 H.264 decoding supportJason Garrett-Glaser2011-06-131-101/+714
| | | | | | | | 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-131-714/+101
| | | | | | | | Needs some ARM/PPC asm modifications.
| * 4:4:4 H.264 decoding supportJason Garrett-Glaser2011-06-131-101/+714
| | | | | | | | Note: this is 4:4:4 from the 2007 spec revision, not the previous (now deprecated) 4:4:4 mode in H.264.
* | Merge remote branch 'qatar/master'Michael Niedermayer2011-05-111-12/+14
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (30 commits) AVOptions: make default_val a union, as proposed in AVOption2. arm/h264pred: add missing argument type. h264dsp_mmx: place bracket outside #if/#endif block. lavf/utils: fix ff_interleave_compare_dts corner case. fate: add 10-bit H264 tests. h264: do not print "too many references" warning for intra-only. Enable decoding of high bit depth h264. Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 decoder. Add support for higher QP values in h264. Add the notion of pixel size in h264 related functions. Make the h264 loop filter bit depth aware. Template dsputil_template.c with respect to pixel size, etc. Template h264idct_template.c with respect to pixel size, etc. Preparatory patch for high bit depth h264 decoding support. Move some functions in dsputil.c into a new file dsputil_template.c. Move the functions in h264idct into a new file h264idct_template.c. Move the functions in h264pred.c into a new file h264pred_template.c. Preparatory patch for high bit depth h264 decoding support. Add pixel formats for 9- and 10-bit yuv420p. Choose h264 chroma dc dequant function dynamically. ... Conflicts: doc/APIchanges ffmpeg.c ffplay.c libavcodec/alpha/dsputil_alpha.c libavcodec/arm/dsputil_init_arm.c libavcodec/arm/dsputil_init_armv6.c libavcodec/arm/dsputil_init_neon.c libavcodec/arm/dsputil_iwmmxt.c libavcodec/arm/h264pred_init_arm.c libavcodec/bfin/dsputil_bfin.c libavcodec/dsputil.c libavcodec/h264.c libavcodec/h264.h libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/h264_loopfilter.c libavcodec/h264_ps.c libavcodec/h264_refs.c libavcodec/h264dsp.c libavcodec/h264idct.c libavcodec/h264pred.c libavcodec/mlib/dsputil_mlib.c libavcodec/options.c libavcodec/ppc/dsputil_altivec.c libavcodec/ppc/dsputil_ppc.c libavcodec/ppc/h264_altivec.c libavcodec/ps2/dsputil_mmi.c libavcodec/sh4/dsputil_align.c libavcodec/sh4/dsputil_sh4.c libavcodec/sparc/dsputil_vis.c libavcodec/utils.c libavcodec/version.h libavcodec/x86/dsputil_mmx.c libavformat/options.c libavformat/utils.c libavutil/pixfmt.h libswscale/swscale.c libswscale/swscale_internal.h libswscale/swscale_template.c tests/ref/seek/lavf_avi Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Add support for higher QP values in h264.Oskar Arvidsson2011-05-101-5/+7
| | | | | | | | | | | | | | | | 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-101-47/+58
| | | | | | | | | | | | | | | | | | | | 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>
| * Replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*.Stefano Sabatini2011-05-021-10/+10
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
| * Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-191-4/+4
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
| * Revert 2a1f431d38ea9c05abb215d70c7dc09cdb6888ab, it broke H264 lossless.Ronald S. Bultje2011-01-201-2/+1
| |
| * Set gray (128) U/V planes for chroma-less samples. Fixes two fate samplesRonald S. Bultje2011-01-201-0/+2
| | | | | | | | when played with -flags emu_edge.
* | replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*Stefano Sabatini2011-05-021-10/+10
| |
* | H264: factor if() out of coef decoding loop of decode_cabac_residual_internal()Michael Niedermayer2011-04-101-6/+6
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | H264: replace pixel_size by pixel_shiftMichael Niedermayer2011-04-101-6/+6
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Add support for higher QP values in h264.Oskar Arvidsson2011-04-101-5/+7
| | | | | | | | | | | | | | | | 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: Michael Niedermayer <michaelni@gmx.at>
* | Add the notion of pixel size in h264 related functions.Oskar Arvidsson2011-04-101-40/+50
| | | | | | | | | | | | | | | | | | | | 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: Michael Niedermayer <michaelni@gmx.at>
* | Set gray (128) U/V planes for chroma-less samples. Fixes two fate samplesRonald S. Bultje2011-01-211-0/+2
| | | | | | | | | | when played with -flags emu_edge. (cherry picked from commit 8bcfe7f7fd71e5d548c2cd96d33295ff06a5f6c8)
* | Revert 2a1f431d38ea9c05abb215d70c7dc09cdb6888ab, it broke H264 lossless.Ronald S. Bultje2011-01-211-2/+1
|/ | | | (cherry picked from commit 66c6b5e2a5e6376c4a5c65b1d96fd7a1580bdfcf)
* Remove evil timers that snuck their way into r26375.Jason Garrett-Glaser2011-01-151-2/+1
| | | | Originally committed as revision 26377 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix r26375 on non-x86.Jason Garrett-Glaser2011-01-151-2/+2
| | | | Originally committed as revision 26376 to svn://svn.ffmpeg.org/ffmpeg/trunk
* H.264: Partially inline CABAC residual decodingJason Garrett-Glaser2011-01-151-26/+34
| | | | | | | | | | Improves CABAC performance about ~1.2%. Trick originates from x264 and has also been used in ffvp8. It's useful because coded block flags are usually zero, so it helps to have the early termination inlined into the main function. Originally committed as revision 26375 to svn://svn.ffmpeg.org/ffmpeg/trunk
* H.264/SVQ3: make chroma DC work the same way as luma DCJason Garrett-Glaser2011-01-151-1/+2
| | | | | | | 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
* H.264: switch to x264-style tracking of luma/chroma DC NNZJason Garrett-Glaser2011-01-141-5/+6
| | | | | | | 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-141-4/+4
| | | | | | | | | | 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
* Remove explicit filename from Doxygen @file commands.Diego Biurrun2010-04-201-1/+1
| | | | | | | | Passing an explicit filename to this command is only necessary if the documentation in the @file block refers to a file different from the one the block resides in. Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Replace @returns by @return.Benoit Fouet2010-03-301-1/+1
| | | | Originally committed as revision 22729 to svn://svn.ffmpeg.org/ffmpeg/trunk
* h264: Use + instead of | in some placesAlexander Strange2010-03-261-8/+8
| | | | | | 6 insns less on x86-64/gcc 4.2. Originally committed as revision 22692 to svn://svn.ffmpeg.org/ffmpeg/trunk
* h264: Remove unused function argumentAlexander Strange2010-03-261-4/+4
| | | | Originally committed as revision 22690 to svn://svn.ffmpeg.org/ffmpeg/trunk
* h264: Simplify decode_cabac_residual() specializationAlexander Strange2010-03-261-17/+6
| | | | | | Gives more consistent inlining with some compilers (such as llvm). Originally committed as revision 22689 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove some unneeded fill_rectangle() for 16x16 blocks.Michael Niedermayer2010-02-281-4/+2
| | | | Originally committed as revision 22124 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Optimize (amvd>2)+(amvd>32), about 1 cpu cycles faster.Zhou Zongyi2010-02-261-1/+2
| | | | | | patch by Zhou Zongyi @ zhouzy () os punkt pku dot edu speck cn Originally committed as revision 22084 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Change mvd_cache & mvd_table to 8bit, this is overall a bit fasterMichael Niedermayer2010-02-241-13/+13
| | | | | | | for high resolution videos. about 20cycles faster per MB for cathederal. Originally committed as revision 22038 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Calculate mvd without abs()Michael Niedermayer2010-02-241-14/+18
| | | | | | same speed (ask gcc why, i dont know) Originally committed as revision 22035 to svn://svn.ffmpeg.org/ffmpeg/trunk
* switch back to (amvd>2)+(amvd>32), its 5 cpu cycles faster now.Michael Niedermayer2010-02-241-1/+1
| | | | Originally committed as revision 22032 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Factorize common code from the top of decode_cabac_mb_mvd()Michael Niedermayer2010-02-241-13/+16
| | | | | | 10-15 cpu cycles faster. Originally committed as revision 22029 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Replace mvd>2 + mvd>32 by MIN((mvd+28)*17>>9, 2)Michael Niedermayer2010-02-241-1/+1
| | | | | | | | same speed as far as i can meassure but it might have fewer branches on some archs. Idea from x264 / jason Originally committed as revision 22027 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Replace ad-hoc fill rectangle by fill_rectangle().Michael Niedermayer2010-02-241-4/+2
| | | | Originally committed as revision 22025 to svn://svn.ffmpeg.org/ffmpeg/trunk
* get rid of an if() 1 cpu cycle faster.Michael Niedermayer2010-02-191-2/+1
| | | | Originally committed as revision 21889 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Get rid of a local variable, 10 cpu cycles faster.Michael Niedermayer2010-02-191-6/+5
| | | | Originally committed as revision 21888 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move abs() from decode_cabac_mb_mvd() to the code that writes mvd_cache.Michael Niedermayer2010-02-181-13/+15
| | | | | | 4-8 cycles faster Originally committed as revision 21887 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Speedup decode_cabac_field_decoding_flag() by 9 cpu cycles.Michael Niedermayer2010-02-181-2/+1
| | | | Originally committed as revision 21875 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move check for and call of predict_field_decoding_flag() from the mb code toMichael Niedermayer2010-02-171-2/+0
| | | | | | the row code. This function would only be needed on a MB basis for MBAFF+FMO Originally committed as revision 21860 to svn://svn.ffmpeg.org/ffmpeg/trunk
* 2x faster ff_h264_init_cabac_states(), 4k cpu cycles less.Michael Niedermayer2010-02-161-9/+10
| | | | | | Sadly this is just per slice so the speedup with normal files should be negligible. Originally committed as revision 21859 to svn://svn.ffmpeg.org/ffmpeg/trunk
* 2 cpu cycles faster context calculation for decode_cabac_intra_mb_type()Michael Niedermayer2010-02-161-2/+2
| | | | Originally committed as revision 21845 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Drop a few redundant slice_num checks.Michael Niedermayer2010-02-161-11/+6
| | | | Originally committed as revision 21844 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Drop compute_mb_neighbors() and move fill_decode_neighbors() up to take itsMichael Niedermayer2010-02-151-28/+1
| | | | | | | role. Should be faster as this is a strict code removial. Originally committed as revision 21843 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Split setting neighboring MBs from fill_decode_caches()Michael Niedermayer2010-02-151-0/+1
| | | | | | no speed change. Originally committed as revision 21842 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Simplify decode_cabac_mb_intra4x4_pred_mode().Michael Niedermayer2010-02-151-4/+1
| | | | | | same speed Originally committed as revision 21839 to svn://svn.ffmpeg.org/ffmpeg/trunk
OpenPOWER on IntegriCloud