summaryrefslogtreecommitdiffstats
path: root/libavcodec/h264_loopfilter.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-06-271-13/+49
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: build: improve rules for test programs build: factor out the .c and .S compile commands as a macro swscale: remove unused xInc/srcW arguments from hScale(). H.264: disable 2tap qpel with CODEC_FLAG2_FAST and >8-bit H.264: make filter_mb_fast support 4:4:4 mpeg4videoenc: Remove disabled variant of mpeg4_encode_block(). configure: allow post-fixed cpu strings for athlon64, k8, and opteron when setting the -march flag. Move some variable declarations below the proper #ifdefs. Conflicts: Makefile ffplay.c libswscale/swscale.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * H.264: make filter_mb_fast support 4:4:4Jason Garrett-Glaser2011-06-261-13/+49
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-06-231-13/+27
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: configure: add --optflags option build: move documentation rules to doc/Makefile build: move test rules to tests/Makefile ac3enc: remove unneeded local variable in asym_quant() ac3enc: remove a branch in asym_quant() by doing 2 shifts ac3enc: avoid masking output in asym_quant() by using signed values for quantized mantissas. H.264: fix 4:4:4 + deblocking + 8x8dct + cavlc + MBAFF H.264: fix 4:4:4 + deblocking + MBAFF H.264: fix 4:4:4 cropping warning H.264: reference the correct SPS in decode_scaling_matrices H.264: fix bug in lossless 4:4:4 decoding Conflicts: Makefile Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * H.264: fix 4:4:4 + deblocking + 8x8dct + cavlc + MBAFFJason Garrett-Glaser2011-06-221-5/+5
| |
| * H.264: fix 4:4:4 + deblocking + MBAFFJason Garrett-Glaser2011-06-221-8/+22
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-06-151-50/+82
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * H.264: fix CODEC_FLAG_GRAYJason Garrett-Glaser2011-06-131-42/+56
| | | | | | | | 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-131-26/+44
| | | | | | | | 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-82/+50
| | | | | | | | Needs some ARM/PPC asm modifications.
| * H.264: fix CODEC_FLAG_GRAYJason Garrett-Glaser2011-06-131-42/+56
| | | | | | | | 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-131-26/+44
| | | | | | | | 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-165/+59
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 the notion of pixel size in h264 related functions.Oskar Arvidsson2011-05-101-3/+3
| | | | | | | | | | | | | | | | | | | | 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>
| * Make the h264 loop filter bit depth aware.Oskar Arvidsson2011-05-101-12/+18
| | | | | | | | | | | | Preparatory patch for high bit depth h264 decoding support. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
| * h264: DSP'ize MBAFF loopfilter.Ronald S. Bultje2011-05-101-122/+22
| |
| * Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-191-4/+4
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* | H264: replace pixel_size by pixel_shiftMichael Niedermayer2011-04-101-3/+3
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Add the notion of pixel size in h264 related functions.Oskar Arvidsson2011-04-101-3/+3
| | | | | | | | | | | | | | | | | | | | 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>
* | Make the h264 loop filter bit depth aware.Oskar Arvidsson2011-04-101-36/+48
|/ | | | | | Preparatory patch for high bit depth h264 decoding support. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* 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
* Move H264 dsputil functions into their own structMåns Rullgård2010-03-161-10/+10
| | | | | | | | | | | This moves the H264-specific functions from DSPContext to the new H264DSPContext. The code is made conditional on CONFIG_H264DSP which is set by the codecs requiring it. The qpel and chroma MC functions are not moved as these are used by non-h264 code. Originally committed as revision 22565 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove DECLARE_ALIGNED_{8,16} macrosMåns Rullgård2010-03-061-4/+4
| | | | | | | These macros are redundant. All uses are replaced with the generic DECLARE_ALIGNED macro instead. Originally committed as revision 22233 to svn://svn.ffmpeg.org/ffmpeg/trunk
* H264: use alias-safe macrosMåns Rullgård2010-02-181-15/+18
| | | | | | | This eliminates all aliasing violation warnings in h264 code. No measurable speed difference with gcc-4.4.3 on i7. Originally committed as revision 21881 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use LOCAL_ALIGNED macro for local arraysMåns Rullgård2010-02-171-1/+1
| | | | Originally committed as revision 21866 to svn://svn.ffmpeg.org/ffmpeg/trunk
* h264: Remove unused variables.Alexander Strange2010-02-131-3/+2
| | | | Originally committed as revision 21815 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix CAVLC+8x8DCT+MBAFF loopfiltering.Michael Niedermayer2010-02-071-1/+8
| | | | | | Fixes issue1250 Originally committed as revision 21665 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Get rid of a check in one direction that cant be true in it in that partMichael Niedermayer2010-01-311-1/+1
| | | | | | | of the code. No meassureable speed change. Originally committed as revision 21566 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Split first reference list comparission from mv comparission.Michael Niedermayer2010-01-301-3/+4
| | | | | | about 0.5% faster MBAFF loop filtering Originally committed as revision 21552 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Replace h->left_type[0] by the local variable for it we have.Michael Niedermayer2010-01-301-2/+2
| | | | | | No meassureable speed effect. Originally committed as revision 21541 to svn://svn.ffmpeg.org/ffmpeg/trunk
* slightly faster bit trickery.Michael Niedermayer2010-01-301-2/+2
| | | | Originally committed as revision 21540 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Replace ?: by branchless code.Michael Niedermayer2010-01-301-7/+4
| | | | | | about 0.5% faster loop filtering Originally committed as revision 21539 to svn://svn.ffmpeg.org/ffmpeg/trunk
* factorize first filter call out, this makes the code somewhatMichael Niedermayer2010-01-281-10/+4
| | | | | | smaller without any speed loss. Originally committed as revision 21514 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Change wraper functions to always inline, they are faster now that way.Michael Niedermayer2010-01-281-4/+4
| | | | | | 1% faster MBAFF decoding overall, maybe ~0.1% faster for the cathedral sample. Originally committed as revision 21507 to svn://svn.ffmpeg.org/ffmpeg/trunk
* indentMichael Niedermayer2010-01-281-14/+14
| | | | Originally committed as revision 21506 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Restructure check_mv()Michael Niedermayer2010-01-281-6/+5
| | | | | | ~20 cpu cycles faster loopfilter Originally committed as revision 21505 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Restructure if() in check_mv()Michael Niedermayer2010-01-281-2/+5
| | | | | | quite a bit faster Originally committed as revision 21504 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Unroll loops in check_mv()Michael Niedermayer2010-01-281-14/+17
| | | | | | ~6% faster (slow path) loopfilter (should be ~2% overall) Originally committed as revision 21503 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Factor mv/ref compare code out.Michael Niedermayer2010-01-281-80/+26
| | | | | | | | This is a hair slower (0.15% maybe) but i really dont want to have the identical code duplicated 3 times because gcc adds odd threaded jumps with register reshuffling and register safe/restore. Originally committed as revision 21502 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Simplify first edge filter condition.Michael Niedermayer2010-01-281-3/+1
| | | | Originally committed as revision 21497 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Cosmetics, mostly indention, 2 or so new fixme comments that i was to lazyMichael Niedermayer2010-01-281-128/+128
| | | | | | to split out Originally committed as revision 21496 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Make the fast loop filter path work with unavailable left MBs.Michael Niedermayer2010-01-281-4/+12
| | | | | | | | This prevents the issue with having to switch between slow and fast code paths in each row. 0.5% faster loopfilter for cathedral Originally committed as revision 21495 to svn://svn.ffmpeg.org/ffmpeg/trunk
* get rid of the start variable.Michael Niedermayer2010-01-281-10/+7
| | | | | | a few cycles faster Originally committed as revision 21494 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Unroll main loop so the edge==0 case is seperate.Michael Niedermayer2010-01-281-27/+121
| | | | | | | | | | This allows many things to be simplified away. h264 decoder is overall 1% faster with a mbaff sample and 0.1% slower with the cathedral sample, probably because the slow loop filter code must be loaded into the code cache for each first MB of each row but isnt used for the following MBs. Originally committed as revision 21493 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Update comment.Michael Niedermayer2010-01-271-1/+1
| | | | Originally committed as revision 21479 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use table to speedup access to non_zero_count in MBAFF with differing ↵Michael Niedermayer2010-01-271-1/+11
| | | | | | | | interlacing. ~4 cpu cycles speedup Originally committed as revision 21474 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Optimize loop filtering of the left edge in MBAFF.Michael Niedermayer2010-01-261-8/+9
| | | | | | 60 cpu cycles speedup Originally committed as revision 21467 to svn://svn.ffmpeg.org/ffmpeg/trunk
* remove unneeded checkMichael Niedermayer2010-01-261-2/+0
| | | | Originally committed as revision 21460 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use left_mb_xy from fill_caches instead of recalculating it.Michael Niedermayer2010-01-261-5/+3
| | | | Originally committed as revision 21459 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Simplify loop filter a little by using top/left_type.Michael Niedermayer2010-01-261-11/+9
| | | | Originally committed as revision 21457 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove all uses of slice_type* from the loop filter, also remove itsMichael Niedermayer2010-01-241-5/+5
| | | | | | initialization befre the loop filter. Originally committed as revision 21416 to svn://svn.ffmpeg.org/ffmpeg/trunk
OpenPOWER on IntegriCloud