summaryrefslogtreecommitdiffstats
path: root/libavcodec/vp56.h
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit '88bd7fdc821aaa0cbcf44cf075c62aaa42121e3f'Michael Niedermayer2013-01-231-3/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '88bd7fdc821aaa0cbcf44cf075c62aaa42121e3f': Drop DCTELEM typedef Conflicts: libavcodec/alpha/dsputil_alpha.h libavcodec/alpha/motion_est_alpha.c libavcodec/arm/dsputil_init_armv6.c libavcodec/bfin/dsputil_bfin.h libavcodec/bfin/pixels_bfin.S libavcodec/cavs.c libavcodec/cavsdec.c libavcodec/dct-test.c libavcodec/dnxhdenc.c libavcodec/dsputil.c libavcodec/dsputil.h libavcodec/dsputil_template.c libavcodec/eamad.c libavcodec/h264_cavlc.c libavcodec/h264idct_template.c libavcodec/mpeg12.c libavcodec/mpegvideo.c libavcodec/mpegvideo.h libavcodec/mpegvideo_enc.c libavcodec/ppc/dsputil_altivec.c libavcodec/proresdsp.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Drop DCTELEM typedefDiego Biurrun2013-01-221-3/+3
| | | | | | | | | | | | It does not help as an abstraction and adds dsputil dependencies. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* | Merge commit '6906b19346ae8a330bfaa1c16ce535be10789723'Michael Niedermayer2012-12-211-0/+2
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '6906b19346ae8a330bfaa1c16ce535be10789723': lavc: add missing files for arm lavc: introduce VideoDSPContext Conflicts: configure libavcodec/arm/dsputil_init_armv5te.c libavcodec/dsputil.c libavcodec/dsputil.h libavcodec/dsputil_template.c libavcodec/h264.c libavcodec/mpegvideo.h libavcodec/mpegvideo_enc.c libavcodec/x86/dsputil_mmx.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavc: introduce VideoDSPContextRonald S. Bultje2012-12-201-0/+2
| | | | | | | | | | | | | | | | Move some functions from dsputil. The idea is that videodsp contains functions that are useful for a large and varied set of video decoders. Currently, it contains emulated_edge_mc() and prefetch(). Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit 'bb675d3ac6d722d5e117ae9042a996b55ca05b1d'Michael Niedermayer2012-12-151-0/+2
|\ \ | |/ | | | | | | | | | | | | | | | | * commit 'bb675d3ac6d722d5e117ae9042a996b55ca05b1d': vp56: make parse_header return standard error codes Conflicts: libavcodec/vp56.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * vp56: make parse_header return standard error codesLuca Barbato2012-12-141-0/+2
| | | | | | | | | | | | Returning 0 for failure is misleading. CC: libav-stable@libav.org
* | Merge commit 'df9b9567518f2840d79a4a96b447ebe1aa326408'Michael Niedermayer2012-12-051-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'df9b9567518f2840d79a4a96b447ebe1aa326408': lavc: fix decode_frame() third parameter semantics for video decoders Conflicts: libavcodec/cscd.c libavcodec/eamad.c libavcodec/ffv1dec.c libavcodec/gifdec.c libavcodec/h264.c libavcodec/iff.c libavcodec/mjpegdec.c libavcodec/pcx.c libavcodec/vp56.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavc: fix decode_frame() third parameter semantics for video decodersAnton Khirnov2012-12-041-1/+1
| | | | | | | | It's got_frame, not data size
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-10-061-5/+5
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: yuv4mpeg: return proper error codes. Give all anonymously typedeffed structs in headers a name fate: Add parseutils test parseutils-test: Drop random colors from parsing test vf_pad/scale: use double precision for aspect ratios. build: error on variable-length arrays ppc: swscale: rework yuv2planeX_altivec() ppc: fmtconvert: kill VLA in float_to_int16_interleave_altivec() x86: dsputil: kill VLA in gmc_mmx() libspeexenc: Updated commentary to reflect recent changes libspeexenc: Add an option for enabling DTX doc/APIchanges: fill in missing dates and hashes. lavr: bump major to 1 and declare it stable. lavr: change the type of the data buffers to uint8_t**. lavc: deprecate the audio resampling API. Conflicts: cmdutils.h configure doc/APIchanges ffplay.c libavcodec/dwt.h libavcodec/libspeexenc.c libavfilter/vf_pad.c libavfilter/vf_scale.c libavformat/asf.h tests/fate/libavutil.mak tests/ref/fate/parseutils Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Give all anonymously typedeffed structs in headers a nameDiego Biurrun2012-10-061-5/+5
| | | | | | | | Anonymous structs cannot be forward declared and have no benefit.
| * vp56: Don't use DECLARE_ALIGN on a typedef nameDerek Buitenhuis2012-08-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Instead, use it on the first member, since by definition, if any member is aligned, the whole struct must be, in order to maintain that alignment. Fixes compilation with some finicky compilers. Idea for fix from Måns Rullgård. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* | lavc/vp6: Implement "slice" threading for VP6A decodeBen Jackson2012-09-151-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The YUV channels of VP6 are encoded in a highly linear fashion which does not have any slice-like concept to thread. The alpha channel of VP6A is fairly independent of the YUV and comprises 40% of the work. This patch uses the THREAD_SLICE capability to split the YUV and A decodes into separate threads. Two bugs are fixed by splitting YUV and alpha state: - qscale_table from VP6A decode was for alpha channel instead of YUV - alpha channel filtering settings were overwritten by YUV header parse Signed-off-by: Ben Jackson <ben@ben.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavc/vp56: Move golden_frame into VP56ContextBen Jackson2012-09-151-1/+2
| | | | | | | | | | | | | | | | Makes golden_frame more like other frame data, paves way for threading alpha channel decode. Signed-off-by: Ben Jackson <ben@ben.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavc/vp56: Refactor ff_vp56_init into ff_vp56_init/ff_vp56_init_contextBen Jackson2012-09-151-0/+3
| | | | | | | | | | | | | | Pave the way for per-thread context initialization. Signed-off-by: Ben Jackson <ben@ben.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vp56: Don't use DECLARE_ALIGN on a typedef nameDerek Buitenhuis2012-08-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Instead, use it on the first member, since by definition, if any member is aligned, the whole struct must be, in order to maintain that alignment. Fixes compilation with some finicky compilers, like a mix of libclang/msvc Idea for fix from Måns Rullgård. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-07-181-0/+2
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: ppc: fix build with altivec disabled vp3: move idct and loop filter pointers to new vp3dsp context build: add CONFIG_VP3DSP, reduce repetition in OBJS lists tscc2: do not add/subtract 128 bias during DCT tscc2: fix typo in DCT configure: clarify external library section of help output configure: mark libfdk-aac as nonfree configure: cosmetics: drop some unnecessary backslashes os_support: K&R formatting cosmetics Conflicts: configure libavcodec/vp3.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * vp3: move idct and loop filter pointers to new vp3dsp contextMans Rullgard2012-07-181-0/+2
| | | | | | | | | | | | | | | | This moves all VP3-specific function pointers from dsputil to a new vp3dsp context. There is no reason to ever use the VP3 IDCT where an MPEG2 IDCT is expected or vice versa. Signed-off-by: Mans Rullgard <mans@mansr.com>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-01-081-1/+0
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (29 commits) cabac: Move code only used within the CABAC test program into the test program. vp56: Drop unnecessary cabac.h #include. h264-test: Initialize AVCodecContext.av_class. build: Skip compiling network.h and rtsp.h if networking is not enabled. cosmetics: drop some pointless parentheses Disable annoying warning without changing behavior faq: Solutions for common problems with sample paths when running FATE. avcodec: attempt to clarify the CODEC_CAP_DELAY documentation avcodec: fix avcodec_encode_audio() documentation. FATE: xmv-demux test; exercise the XMV demuxer without decoding the perceptual codecs inside. vqf: recognize more metadata chunks FATE test: BMV demuxer and associated video and audio decoders. FATE: indeo4 video decoder test. FATE: update xxan-wc4 test to a sample with more code coverage. Change the recent h264_mp4toannexb bitstream filter test to output to an elementary stream rather than a program stream. g722enc: validate AVCodecContext.trellis g722enc: set frame_size, and also handle an odd number of input samples g722enc: split encoding into separate functions for trellis vs. no trellis mpegaudiodec: Use clearer pointer math tta: Fix returned error code at EOF ... Conflicts: libavcodec/h264.c libavcodec/indeo3.c libavcodec/interplayvideo.c libavcodec/ivi_common.c libavcodec/libxvidff.c libavcodec/mpegvideo.c libavcodec/ppc/mpegvideo_altivec.c libavcodec/tta.c libavcodec/utils.c libavfilter/vsrc_buffer.c libavformat/Makefile tests/fate/indeo.mak tests/ref/acodec/g722 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * vp56: Drop unnecessary cabac.h #include.Diego Biurrun2012-01-071-1/+0
| |
| * vp6: Check for huffman tree build errorsLaurent Aimar2011-10-071-1/+1
| | | | | | | | Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* | VP8: Remove no longer used vp8_rac_get_tree_with_offsetDavid Conrad2011-10-261-17/+6
| |
* | Check for huffman tree building error in vp6 decoder.Laurent Aimar2011-09-221-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-07-151-4/+6
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: configure: Automatically add more flags required on symbian mem.h: switch doxygen parameter order to match function prototype doxygen: replace @sa tag by the more readable but equivalent @see doxygen: use Doxygen markup for authors and web links where appropriate doxygen: do not include license boilerplate in Doxygen documentation ac3enc: Mark AVClasses const ffserver: Replace two loops with one loop. ffmpeg: Fix the check for experimental codecs swscale: extend mmx padding. swscale: clip unscaled colorspace conversion path. doxygen: misc consistency cosmetics doc: remove file name from @file directive in Doxygen usage example doxygen: consistently place brief description doxygen: place empty line between brief description and detailed description avformat_open_input(): Add braces to shut up gcc warning. Conflicts: libavcodec/8svx.c libavcodec/tiff.c libavcodec/tiff.h libavcodec/vaapi_h264.c libavcodec/vorbis.c libavcodec/vorbisdec.c libavcodec/vp6.c libswscale/swscale_unscaled.c libswscale/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * doxygen: do not include license boilerplate in Doxygen documentationDiego Biurrun2011-07-151-4/+6
| |
| * Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-191-4/+4
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
| * ARM optimised vp56_rac_get_prob()Mans Rullgard2011-02-111-1/+5
| | | | | | | | | | | | Approximately 3% faster on Cortex-A8. Signed-off-by: Mans Rullgard <mans@mansr.com>
* | ARM optimised vp56_rac_get_prob()Mans Rullgard2011-02-131-1/+5
|/ | | | | | | Approximately 3% faster on Cortex-A8. Signed-off-by: Mans Rullgard <mans@mansr.com> (cherry picked from commit 7da48fd0111adf504cfcfc5ebda7fd0681968041)
* VP5/6/8: ~7% faster arithmetic decodingJason Garrett-Glaser2010-08-121-5/+5
| | | | | | | Grab from the bitstream in 16-bit chunks instead of 8-bit chunks. TODO: grab in 32-bit chunks on 64-bit systems. Originally committed as revision 24783 to svn://svn.ffmpeg.org/ffmpeg/trunk
* VP5/6/8: eliminate CABAC dependencyJason Garrett-Glaser2010-08-041-10/+3
| | | | | | | Create a custom table for VP5/6/8's renorm to avoid depending on H.264's. Saves one instruction in the arithmetic decoder as well. Originally committed as revision 24701 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Silence unused function warnings in vp56.hJason Garrett-Glaser2010-08-031-5/+5
| | | | Originally committed as revision 24684 to svn://svn.ffmpeg.org/ffmpeg/trunk
* VP5/6/8: tweak some arithcoder inliningJason Garrett-Glaser2010-08-031-16/+19
| | | | | | | Always inline the arithmetic coder, except in the case of header-parsing stuff, in which case don't inline it at all to save code size. Originally committed as revision 24677 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Reindent after last commit.Alex Converse2010-07-281-1/+1
| | | | Originally committed as revision 24562 to svn://svn.ffmpeg.org/ffmpeg/trunk
* ff_prefix non static vp56 functions.Alex Converse2010-07-281-4/+4
| | | | Originally committed as revision 24561 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Inline asm for VP56 arith coderEli Friedman2010-07-231-5/+7
| | | | | | | | | This is a lot more reliable to get cmov rather than trying to trick gcc into generating it, useful since it's 2% faster overall. Patch by Eli Friedman <eli.friedman at gmail> Originally committed as revision 24471 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Decode DCT tokens by branching to a different code path for each branchDavid Conrad2010-07-231-0/+18
| | | | | | | | | | on the huffman tree, instead of traversing the tree in a while loop. Based on the similar optimization in libvpx's detokenize.c 10% faster at normal bitrates, and 30% faster for high-bitrate intra-only Originally committed as revision 24468 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move renormalization of the VP56 arith decoder to before decoding a bitDavid Conrad2010-07-231-15/+11
| | | | | | | No difference at the moment, but allows a future branchy variant of vp56_rac_get_prob to be significantly faster Originally committed as revision 24467 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Split renorm of vp56 arith decoder to its own functionDavid Conrad2010-07-231-13/+17
| | | | Originally committed as revision 24466 to svn://svn.ffmpeg.org/ffmpeg/trunk
* vp56's arith decoder's code_word is only 16 bits, no need for unsigned longDavid Conrad2010-07-231-2/+2
| | | | Originally committed as revision 24465 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Much faster VP8 mv and mode predictionJason Garrett-Glaser2010-07-221-6/+5
| | | | Originally committed as revision 24412 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Convert vp56_mv to 16-bit.Jason Garrett-Glaser2010-07-221-2/+2
| | | | | | | Saves nothing except a bit of memory/cache now, but will allow future optimizations. Originally committed as revision 24411 to svn://svn.ffmpeg.org/ffmpeg/trunk
* cosmetic: improve comment breaking at 80 colsAurelien Jacobs2010-07-011-2/+2
| | | | Originally committed as revision 23938 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Eliminate another redundant instruction in vp56/8 arithcoderJason Garrett-Glaser2010-06-301-8/+17
| | | | | | | | | | | | | Necessary because of this GCC bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44474 To do this, convert some, but not all (!) of the variables in VP56RangeCoder into local variables. If we convert c->high into a local variable, gcc gets the stupids and refuses to use a conditional move for the unpredictable main branch. TODO: dispense with this bullshit and write an asm version. Originally committed as revision 23924 to svn://svn.ffmpeg.org/ffmpeg/trunk
* CMOV-ify vp56 arithcoderJason Garrett-Glaser2010-06-301-6/+2
| | | | | | | | | This incantation causes gcc 4.3 to generate cmov on x86, a vastly better option than a completely unpredictable branch. Hopefully this carries over to newer versions and other CPUs with conditionals. ~5 cycles saved per call on a Core i7. Originally committed as revision 23921 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Optimize vp56 arithmetic decoderJason Garrett-Glaser2010-06-301-8/+9
| | | | | | Negate "bits" to eliminate a negate in cache refilling. Originally committed as revision 23920 to svn://svn.ffmpeg.org/ffmpeg/trunk
* renormalize VP5/6/7/8 range coder without loopStefan Gehrer2010-06-301-7/+9
| | | | Originally committed as revision 23915 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Native VP8 decoder.David Conrad2010-06-221-0/+75
| | | | | | Patch by David Conrad <lessen42 gmail com> and myself. Originally committed as revision 23719 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Change a / 256 into a >> 8.Ronald S. Bultje2010-06-221-1/+1
| | | | Originally committed as revision 23718 to svn://svn.ffmpeg.org/ffmpeg/trunk
* VP56: move vp56_edge_filter to new VP56DSPContextMåns Rullgård2010-04-301-3/+2
| | | | | | | | | | Using macro templates allows the vp[56]_adjust functions to be inlined instead of called through function pointers. The new function pointers enable optimised implementations of the filters. 4% faster VP6 decoding on Cortex-A8. Originally committed as revision 22992 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
* Remove DECLARE_ALIGNED_{8,16} macrosMåns Rullgård2010-03-061-1/+1
| | | | | | | 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
OpenPOWER on IntegriCloud