summaryrefslogtreecommitdiffstats
path: root/libavcodec/h264dsp.c
Commit message (Collapse)AuthorAgeFilesLines
* h264: integrate clear_blocks calls with IDCT.Ronald S. Bultje2013-02-191-2/+2
| | | | | | | | | The non-intra-pcm branch in hl_decode_mb (simple, 8bpp) goes from 700 to 672 cycles, and the complete loop of decode_mb_cabac and hl_decode_mb (in the decode_slice loop) goes from 1759 to 1733 cycles on the clip tested (cathedral), i.e. almost 30 cycles per mb faster. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Add add_pixels4/8() to h264dsp, and remove add_pixels4 from dsputil.Ronald S. Bultje2013-02-121-0/+18
| | | | | | | | | These functions are mostly H264-specific (the only other user I can spot is bink), and this allows us to special-case some functionality for H264. Also remove the 16-bit-coeff with >8bpp versions (unused) and merge the duplicate 32-bit-coeff for >8bpp (identical). Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Merge commit '6a4430407404bfe55581e66a86a496c9adf6fb44'Michael Niedermayer2013-02-091-0/+1
|\ | | | | | | | | | | | | | | | | | | * commit '6a4430407404bfe55581e66a86a496c9adf6fb44': dsputil: Move ff_h264_idct function declarations to a separate header Conflicts: libavcodec/dsputil.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dsputil: Move ff_h264_idct function declarations to a separate headerDiego Biurrun2013-02-071-0/+1
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-10-081-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: x86: vc1: call ff_vc1dsp_init_x86() under if (ARCH_X86) x86: cavs: call ff_cavsdsp_init_x86() under if (ARCH_X86) x86: call most of the x86 dsp init functions under if (ARCH_X86) doc: support the new website layout doc: remove a warning from filters.texi doc: initial nut documentation segment: drop global headers setting lavu: fix typo in Makefile Conflicts: doc/Makefile doc/filters.texi doc/t2h.init libavcodec/fmtconvert.c libavcodec/proresdsp.c libavcodec/x86/Makefile libavcodec/x86/vc1dsp_mmx.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * x86: call most of the x86 dsp init functions under if (ARCH_X86)Janne Grunau2012-10-081-1/+1
| | | | | | | | Rename the called dsp init functions to *_init_x86.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-08-161-0/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: Fix even more missing includes after the common.h removal build: Factor out rangecoder dependencies to CONFIG_RANGECODER build: Factor out error resilience dependencies to CONFIG_ERROR_RESILIENCE x86: avcodec: Consistently name all init files Add more missing includes after removing the implicit common.h Add some more missing includes after removing the implicit common.h Don't include common.h from avutil.h rtmp: Automatically compute the hash for SWFVerification Conflicts: configure doc/APIchanges doc/examples/decoding_encoding.c libavcodec/Makefile libavcodec/assdec.c libavcodec/audio_frame_queue.c libavcodec/avpacket.c libavcodec/dv_profile.c libavcodec/dwt.c libavcodec/libtheoraenc.c libavcodec/rawdec.c libavcodec/rv40dsp.c libavcodec/tiff.c libavcodec/tiffenc.c libavcodec/v210dec.h libavcodec/vc1dsp.c libavcodec/x86/Makefile libavfilter/asrc_anullsrc.c libavfilter/avfilter.c libavfilter/buffer.c libavfilter/formats.c libavfilter/vf_ass.c libavfilter/vf_drawtext.c libavfilter/vf_fade.c libavfilter/vf_select.c libavfilter/video.c libavfilter/vsrc_testsrc.c libavformat/version.h libavutil/audioconvert.c libavutil/error.h libavutil/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Don't include common.h from avutil.hMartin Storsjö2012-08-151-0/+1
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | h264dsp: 12 and 14 bit supportMichael Niedermayer2012-07-101-0/+14
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | h264dsp: assert that depth is supportedMichael Niedermayer2012-07-031-0/+2
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-10-221-20/+8
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (35 commits) flvdec: Do not call parse_keyframes_index with a NULL stream libspeexdec: include system headers before local headers libspeexdec: return meaningful error codes libspeexdec: cosmetics: reindent libspeexdec: decode one frame at a time. swscale: fix signed shift overflows in ff_yuv2rgb_c_init_tables() Move timefilter code from lavf to lavd. mov: add support for hdvd and pgapmetadata atoms mov: rename function _stik, some indentation cosmetics mov: rename function _int8 to remove ambiguity, some indentation cosmetics mov: parse the gnre atom mp3on4: check for allocation failures in decode_init_mp3on4() mp3on4: create a separate flush function for MP3onMP4. mp3on4: ensure that the frame channel count does not exceed the codec channel count. mp3on4: set channel layout mp3on4: fix the output channel order mp3on4: allocate temp buffer with av_malloc() instead of on the stack. mp3on4: copy MPADSPContext from first context to all contexts. fmtconvert: port float_to_int16_interleave() 2-channel x86 inline asm to yasm fmtconvert: port int32_to_float_fmul_scalar() x86 inline asm to yasm ... Conflicts: libavcodec/arm/h264dsp_init_arm.c libavcodec/h264.c libavcodec/h264.h libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/h264_ps.c libavcodec/h264dsp_template.c libavcodec/h264idct_template.c libavcodec/h264pred.c libavcodec/h264pred_template.c libavcodec/x86/h264dsp_mmx.c libavdevice/Makefile libavdevice/jack_audio.c libavformat/Makefile libavformat/flvdec.c libavformat/flvenc.c libavutil/pixfmt.h libswscale/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * H264: change weight/biweight functions to take a height argument.Ronald S. Bultje2011-10-211-20/+8
| | | | | | | | Neon parts by Mans Rullgard <mans@mansr.com>.
| * h264: 4:2:2 intra decoding supportBaptiste Coudurier2011-10-211-10/+28
| | | | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de> Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* | h264dec: h264: 4:2:2 intra decodingBaptiste Coudurier2011-08-151-10/+28
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote branch 'qatar/master'Michael Niedermayer2011-05-111-50/+54
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 ↵Oskar Arvidsson2011-05-101-47/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Preparatory patch for high bit depth h264 decoding support.Oskar Arvidsson2011-05-101-258/+1
| | | | | | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
| * Choose h264 chroma dc dequant function dynamically.Oskar Arvidsson2011-05-101-0/+1
| | | | | | | | | | | | Needed for high bit depth h264 decoding. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
| * h264: DSP'ize MBAFF loopfilter.Ronald S. Bultje2011-05-101-18/+38
| |
| * 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-1/+0
| |
* | Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 ↵Oskar Arvidsson2011-04-101-43/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Michael Niedermayer <michaelni@gmx.at>
* | Move the functions in h264dsp.c into a new file h264dsp_internal.hOskar Arvidsson2011-04-101-242/+1
| | | | | | | | | | | | Preparatory patch for high bit depth h264 decoding support. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Choose h264 chroma dc dequant function dynamically.Oskar Arvidsson2011-04-101-0/+1
| | | | | | | | | | | | Needed for high bit depth h264 decoding. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Revert 2a1f431d38ea9c05abb215d70c7dc09cdb6888ab, it broke H264 lossless.Ronald S. Bultje2011-01-211-1/+0
|/ | | | (cherry picked from commit 66c6b5e2a5e6376c4a5c65b1d96fd7a1580bdfcf)
* H.264/SVQ3: make chroma DC work the same way as luma DCJason Garrett-Glaser2011-01-151-0/+1
| | | | | | | 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: split luma dc idct out and implement MMX/SSE2 versionsJason Garrett-Glaser2011-01-141-0/+1
| | | | | | | | | | 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
* Fix compilation on PPC 470.Carl Eugen Hoyos2010-03-171-1/+1
| | | | Originally committed as revision 22584 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move H264 dsputil functions into their own structMåns Rullgård2010-03-161-0/+320
| | | | | | | | | | | 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
* Rename h264dsp.c to h264dspenc.cPanagiotis Issaris2007-07-281-81/+0
| | | | Originally committed as revision 9819 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Adding H.264 DCT.Panagiotis Issaris2006-12-111-0/+81
Originally committed as revision 7282 to svn://svn.ffmpeg.org/ffmpeg/trunk
OpenPOWER on IntegriCloud