summaryrefslogtreecommitdiff
path: root/libavutil
Commit message (Collapse)AuthorAge
* Unroll base64 decode loop.Reimar Döffinger2012-01-21
| | | | | | | | Around 50% faster. decode: 374139 -> 248852 decicycles syntax check: 236955 -> 123854 decicycles Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* Use a full table for base64 decode.Reimar Döffinger2012-01-21
| | | | | | | | | Also encodes error or end marker into table. About 20% faster. decode: 466491 -> 374139 decicycles syntax check: 236955 -> 161182 decicycles Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* base64: more thorough decode tests.Reimar Döffinger2012-01-21
| | | | Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* base64: Only run benchmark when "-t" is specified.Michael Niedermayer2012-01-21
| | | | | | | | As the test is run during fate and the benchmark is useless for fate this very slightly speeds up fate. Its also consistent with the other tests. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* base64: fix little typoMichael Niedermayer2012-01-21
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* base64: add a benchmark for a pure syntax check.Michael Niedermayer2012-01-21
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* base64: simplify end handling in av_base64_encode()Michael Niedermayer2012-01-21
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* base64: optimize av_base64_encode()Michael Niedermayer2012-01-21
| | | | | | This makes the code 2-3 times as fast Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* base64: add benchmarkMichael Niedermayer2012-01-21
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Slightly optimize base64 encode.Reimar Döffinger2012-01-20
| | | | | | Move handling of last byte outside of innermost loop. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* Optimize output buffer size check in base64 decode.Reimar Döffinger2012-01-20
| | | | Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* Minor optimization of base64 decode.Reimar Döffinger2012-01-20
| | | | Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* opt: Fix "libavutil/opt.c:811:20: warning: initialization discards ↵Michael Niedermayer2012-01-20
| | | | | | ‘const’ qualifier from pointer target type [enabled by default]" Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* tools: add ffeval toolStefano Sabatini2012-01-17
| | | | | | The tool is useful for testing the internal arithmetic evaluation engine (indeed I plan to use it in FATE), and provides a handy calculator when you can't rely on bc ;-).
* lavu/eval: add if() and ifnot() eval functionsStefano Sabatini2012-01-17
| | | | | | | | | | They allow to implement the if/then/else logic, which cannot be implemented otherwise. For example the expression: A*B + not(A)*C always evaluates to NaN if B is NaN, even in the case where A is 0.
* lavu: add 2.1 channel layout.Clément Bœsch2012-01-16
|
* Fix step_minus1 pixel descirption for RGB64.Carl Eugen Hoyos2012-01-11
|
* x86inc: remove duplicate movlhpsMichael Niedermayer2012-01-10
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-01-10
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: fate: Add tests for more AAC features. aacps: Add missing newline in error message. fate: Add tests for vc1/wmapro in ism. aacdec: Add a fate test for 5.1 channel SBR. aacdec: Turn off PS for multichannel files that use PCE based configs. cabac: remove put_cabac_u/ueg from cabac-test. swscale: RGB4444 and BGR444 input FATE: add test for xWMA demuxer. FATE: add test for SMJPEG demuxer and associated IMA ADPCM audio decoder. mpegaudiodec: optimized iMDCT transform mpegaudiodec: change imdct window arrangment for better pointer alignment mpegaudiodec: move imdct and windowing function to mpegaudiodsp mpegaudiodec: interleave iMDCT buffer to simplify future SIMD implementations swscale: convert yuy2/uyvy/nv12/nv21ToY/UV from inline asm to yasm. FATE: test to exercise WTV demuxer. mjpegdec: K&R formatting cosmetics swscale: K&R formatting cosmetics for code examples swscale: K&R reformatting cosmetics for header files FATE test: cvid-grayscale; ensures that the grayscale Cinepak variant is exercised. Conflicts: libavcodec/cabac.c libavcodec/mjpegdec.c libavcodec/mpegaudiodec.c libavcodec/mpegaudiodsp.c libavcodec/mpegaudiodsp.h libavcodec/mpegaudiodsp_template.c libavcodec/x86/Makefile libavcodec/x86/imdct36_sse.asm libavcodec/x86/mpegaudiodec_mmx.c libswscale/swscale-test.c libswscale/swscale.c libswscale/swscale_internal.h libswscale/x86/swscale_template.c tests/fate/demux.mak tests/fate/microsoft.mak tests/fate/video.mak tests/fate/wma.mak tests/ref/lavfi/pixfmts_scale Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * mpegaudiodec: optimized iMDCT transformVitor Sessak2012-01-08
| | | | | | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* | log: use a different color for debug (green).Clément Bœsch2012-01-09
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-01-06
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (21 commits) ipmovie: do not read audio packets before the codec is known truemotion2: check size before GetBitContext initialisation avio: Only do implicit network initialization for network protocols avio: Add an URLProtocol flag for indicating that a protocol uses network adpcm: ADPCM Electronic Arts has always two channels matroskadec: Fix a bug where a pointer was cached to an array that might later move due to a realloc() fate: Add missing reference file from 9b4767e4. mov: Support MOV_CH_LAYOUT_USE_DESCRIPTIONS for labeled descriptions. 4xm: Prevent buffer overreads. mjpegdec: parse RSTn to prevent skipping other data in mjpeg_decode_scan vp3: add fate test for non-zero last coefficient vp3: fix streams with non-zero last coefficient swscale: remove unused U/V arguments from yuv2rgb_write(). timer: K&R formatting cosmetics lavf: cosmetics, reformat av_read_frame(). lavf: refactor av_read_frame() to make it easier to understand. Report an error if pitch_lag is zero in AMR-NB decoder. Revert "4xm: Prevent buffer overreads." 4xm: Prevent buffer overreads. 4xm: pass the correct remaining buffer size to decode_i2_frame(). ... Conflicts: libavcodec/4xm.c libavcodec/mjpegdec.c libavcodec/truemotion2.c libavformat/ipmovie.c libavformat/mov_chan.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * timer: K&R formatting cosmeticsDiego Biurrun2012-01-05
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-01-04
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: fate: add dxtory test adx_parser: rewrite. adxdec: Validate channel count to fix a division by zero. adxdec: Do not require extradata. cmdutils: K&R reformatting cosmetics alacdec: implement the 2-pass prediction type. alacenc: implement the 2-pass prediction type. alacenc: do not generate invalid multi-channel ALAC files alacdec: fill in missing or guessed info about the extradata format. utvideo: proper median prediction for interlaced videos lavu: bump lavu minor for av_popcount64 dca: K&R formatting cosmetics dct: K&R formatting cosmetics lavf: flush decoders in avformat_find_stream_info(). win32: detect number of CPUs using affinity Add av_popcount64 snow: Restore three mistakenly removed casts. Conflicts: cmdutils.c doc/APIchanges libavcodec/adx_parser.c libavcodec/adxdec.c libavcodec/alacenc.c libavutil/avutil.h tests/fate/screen.mak Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavu: bump lavu minor for av_popcount64Janne Grunau2012-01-03
| | | | | | | | Add it to doc/APIchanges and update and correct other entries.
| * Add av_popcount64Daniel Verkamp2012-01-03
| | | | | | | | Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* | Avoid uninitialized data in lcldec when ofs is 0 in MSZH.Reimar Döffinger2011-12-31
| | | | | | | | Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* | Avoid av_memcpy_backptr hang without extra branch.Reimar Döffinger2011-12-30
| | | | | | | | | | | | | | | | This only happens for a "back" value of 0 which is invalid anyway, but lcldec does not properly validate input. Also extend the documentation to specify valid values. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* | mem: add av_max_alloc() to limit the maximum amount that may be allocated in ↵Michael Niedermayer2011-12-25
| | | | | | | | | | | | one piece Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lzo: fix memcpy_backptr() with 0 offsetMichael Niedermayer2011-12-24
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Make systematic palette opaque.Carl Eugen Hoyos2011-12-23
| |
* | fifo: Make writes atomic.Michael Niedermayer2011-12-23
| | | | | | | | | | | | | | Prior to this a X bytes write could be seen as less than X bytes being available if the check was done at an unfortunate moment. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | libavutil: increase LIBAVUTIL_VERSION_MICRO to 100Michael Niedermayer2011-12-22
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-12-22
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (27 commits) asfdec: add side data to ASFStream packet instead of output packet. idroqdec: set AVFMTCTX_NOHEADER and create streams as they occur. nellymoserdec: Indicate that the decoder can handle changed parameters libavcodec: Apply parameter change side data when decoding audio flvdec: Add param change side data if the sample rate or channels have changed libavformat: Add a utility function for adding parameter change side data libavcodec: Define a side data type for parameter changes aacdec: Handle new extradata passed as side data flvdec: Export new AAC/H.264 extradata as side data on the next packet libavcodec: Define a side data type for new extradata flacdec: skip all track indices at once instead of looping. mxf: Add PictureEssenceCoding UL for V210. mxfdec: consider QuantizationBits between 17 and 24 to be pcm_s24* mxfenc: Add support for MPEG-2 MP@HL-14 in mxf container. mxf: H.264/MPEG-4 AVC Intra support configure: Show whether the safe bitstream reader is enabled x86: Tighten register constraints for decode_significance*_x86. Replace Subversion revisions in comments by Git hashes. h264_cabac: synchronize decode_significance_*_x86 conditionals w32threads: wait for the waked thread in pthread_cond_signal. ... Conflicts: libavcodec/avcodec.h libavcodec/version.h libavformat/flvdec.c libavformat/utils.c tests/ref/lavfi/pixdesc tests/ref/lavfi/pixfmts_copy tests/ref/lavfi/pixfmts_null tests/ref/lavfi/pixfmts_scale tests/ref/lavfi/pixfmts_vflip Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Replace Subversion revisions in comments by Git hashes.Diego Biurrun2011-12-21
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-12-20
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: h264: clear trailing bits in partially parsed NAL units vc1: Handle WVC1 interlaced stream xl: Fix overreads mpegts: rename payload_index to payload_size segment: introduce segmented chain muxer lavu: add AVERROR_BUG error value avplay: clear pkt_temp when pkt is freed. qcelpdec: K&R formatting cosmetics qcelpdec: cosmetics: drop some pointless parentheses x86: conditionally compile dnxhd encoder optimizations Revert "h264: skip start code search if the size of the nal unit is known" swscale: fix formatting and indentation of unscaled conversion routines. h264: skip start code search if the size of the nal unit is known cljr: fix buf_size sanity check cljr: Check if width and height are positive integers Conflicts: libavcodec/cljr.c libavcodec/vc1dec.c libavformat/Makefile libavformat/mpegtsenc.c libavformat/segment.c libswscale/swscale_unscaled.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavu: add AVERROR_BUG error valueLuca Barbato2011-12-19
| | | | | | | | | | It should be used to mark codepath that can be reached only through programming error.
* | avutil: check sampleformats enum, pict type enum and media type enum against ↵Michael Niedermayer2011-12-17
| | | | | | | | | | | | insert/remove mistakes. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | pixfmts: Selfcheck against insertions / deletions in the enum.Michael Niedermayer2011-12-17
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-12-13
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: ulti: Fix invalid reads lavf: dealloc private options in av_write_trailer yadif: support 10bit YUV vc1: mark with ER_MB_ERROR bits overconsumption lavc: introduce ER_MB_END and ER_MB_ERROR error_resilience: use the ER_ namespace build: move inclusion of subdir.mak to main subdir loop rv34: NEON optimised 4x4 dequant rv34: move 4x4 dequant to RV34DSPContext aacdec: Use intfloat.h rather than local punning union. Conflicts: libavcodec/h264.c libavcodec/vc1dec.c libavfilter/vf_yadif.c libavformat/Makefile Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * build: move inclusion of subdir.mak to main subdir loopMans Rullgard2011-12-13
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-12-13
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: doxygen: misc consistency, spelling and wording fixes vcr1: drop unnecessary emms_c() calls without MMX code Replace all uses of av_close_input_file() with avformat_close_input(). lavf: add avformat_close_input(). lavf: deprecate av_close_input_stream(). lavf doxy: add some basic demuxing documentation. lavf doxy: add some general lavf information. lavf doxy: add misc utility functions to a group. lavf doxy: add av_guess_codec/format to the encoding group. lavf doxy: add core functions to a doxy group. Add basic libavdevice documentation. lavc: convert error_recognition to err_recognition. avconv: update -map option help text x86: Require 7 registers for the cabac asm x86: bswap: remove test for bswap instruction bswap: make generic implementation more compiler-friendly h264: remove useless cast proresdec: fix decode_slice() prototype Conflicts: configure doc/APIchanges ffprobe.c libavcodec/avcodec.h libavcodec/celp_math.h libavcodec/h264.c libavfilter/src_movie.c libavformat/anm.c libavformat/avformat.h libavformat/version.h libavutil/avstring.h libavutil/bswap.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * doxygen: misc consistency, spelling and wording fixesDiego Biurrun2011-12-12
| |
| * Add basic libavdevice documentation.Anton Khirnov2011-12-12
| |
| * x86: bswap: remove test for bswap instructionMans Rullgard2011-12-12
| | | | | | | | | | | | | | | | Firstly, this test never worked as intended, always reporting success. Secondly, bswap is available from 486 onward and can thus be assumed present. Signed-off-by: Mans Rullgard <mans@mansr.com>
| * bswap: make generic implementation more compiler-friendlyMans Rullgard2011-12-12
| | | | | | | | | | | | | | | | With these changes, gcc 4.5 and later recognise it as a bswap and use the proper instructions on ARM and x86. On x86, the 16-bit bswap is recognised from gcc 4.1. Signed-off-by: Mans Rullgard <mans@mansr.com>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-12-12
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: x86: cabac: replace explicit memory references with "m" operands avplay: don't request a stereo downmix wmapro: use av_float2int() lavc: avoid invalid memcpy() in avcodec_default_release_buffer() lavu: replace int/float punning functions lavfi: install libavfilter/vsrc_buffer.h Remove extraneous semicolons sdp: Restore the original mp4 format h264 extradata if converted rtpenc: Add support for mp4 format h264 rtpenc: Simplify code by introducing a separate end pointer movenc: Use the actual converted sample for RTP hinting Fix a bunch of common typos. Conflicts: doc/developer.texi doc/eval.texi doc/filters.texi doc/protocols.texi ffmpeg.c ffplay.c libavcodec/mpegvideo.h libavcodec/x86/cabac.h libavfilter/Makefile libavformat/avformat.h libavformat/cafdec.c libavformat/flvdec.c libavformat/flvenc.c libavformat/gxfenc.c libavformat/img2.c libavformat/movenc.c libavformat/mpegts.c libavformat/rtpenc_h264.c libavformat/utils.c libavformat/wtv.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavu: replace int/float punning functionsMans Rullgard2011-12-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing functions defined in intfloat_readwrite.[ch] are both slow and incorrect (infinities are not handled). This introduces a new header with fast, inline conversion functions using direct union punning assuming an IEEE-754 system, an assumption already made throughout the code. The one use of Intel/Motorola extended 80-bit format is replaced by simpler code sufficient under the present constraints (positive normal values). The old functions are marked deprecated and retained for compatibility. Signed-off-by: Mans Rullgard <mans@mansr.com>
| * Fix a bunch of common typos.Diego Biurrun2011-12-11
| |
* | Correct use of OSX to Mac OS X and properly format yasm providers on Mac OS XHanspeter Niederstrasser2011-12-11
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>