Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-09-30skip_bits: dont call UPDATE_CACHEMichael Niedermayer
UPDATE_CACHE isnt needed and can cause segfaults Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30avcodec/get_bits: place volatile at the right spotMichael Niedermayer
Should fix Ticket2825 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30avcodec/get_bits: init_state is used for thread sync, make it volatileMichael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29avcodec/ff_init_vlc_sparse: use a spinlock for thread syncMichael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05get_bits: add get_bits_le()Paul B Mahol
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-30get_xbits: assert validity of the number of bitsMichael Niedermayer
similar is already done in the other get_bits() functions Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-11get_bits: return pointer to buffer that is the result of the alignment.Ronald S. Bultje
This allows more transparent mixing of get_bits and whole-byte access without having to touch get_bits internals. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-22Merge commit '4af5310d29379283553bcd9f541a3f6c317f706e'Michael Niedermayer
* commit '4af5310d29379283553bcd9f541a3f6c317f706e': get_bits/put_bits: K&R formatting cosmetics Conflicts: libavcodec/get_bits.h libavcodec/put_bits.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21get_bits/put_bits: K&R formatting cosmeticsDiego Biurrun
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-21Merge commit '68f18f03519ae550e25cf12661172641e9f0eaca'Michael Niedermayer
* commit '68f18f03519ae550e25cf12661172641e9f0eaca': videodsp_armv5te: remove #if HAVE_ARMV5TE_EXTERNAL dsputil: drop non-compliant "fast" qpel mc functions get_bits: change the failure condition in init_get_bits Conflicts: libavcodec/get_bits.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-20get_bits: change the failure condition in init_get_bitsLuca Barbato
Too much code relies in having init_get_bits fed with a valid buffer and set its dimension to 0. Check for NULL buffer instead.
2013-01-14init_get_bits: fix off by 1 errorMichael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14init_get_bits8: zero pointers & struct on errorMichael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14init_get_bits8: check byte_size against being positiveMichael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14Merge commit 'a1c525f7eb0783d31ba7a653865b6cbd3dc880de'Michael Niedermayer
* commit 'a1c525f7eb0783d31ba7a653865b6cbd3dc880de': pcx: return meaningful error codes. tmv: return meaningful error codes. msrle: return meaningful error codes. cscd: return meaningful error codes. yadif: x86: fix build for compilers without aligned stack lavc: introduce the convenience function init_get_bits8 lavc: check for overflow in init_get_bits Conflicts: libavcodec/cscd.c libavcodec/pcx.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14lavc: introduce the convenience function init_get_bits8Luca Barbato
Accept the buffer size in bytes and check for overflow before passing the value in bits to init_get_bits.
2013-01-14lavc: check for overflow in init_get_bitsLuca Barbato
Fix an undefined behaviour and make the function return a proper error in case of overflow. CC: libav-stable@libav.org
2012-12-08Merge commit '096abfa15052977eed93f0b5e01afd2d47c53c1f'Michael Niedermayer
* commit '096abfa15052977eed93f0b5e01afd2d47c53c1f': parser: fix large overreads bitstream: add get_bits64() to support reading more than 32 bits at once arm: detect cpu features at runtime on Linux Conflicts: libavcodec/parser.c libavformat/mpegts.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-08get_bits: rename get_bits_longlong to get_bits64Michael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-08bitstream: add get_bits64() to support reading more than 32 bits at onceMichael Niedermayer
Also remove a duplicate function in the MPEG-TS demuxer. Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-10-07get_bits: get_bits_long() support n=0 as the docs allow itMichael Niedermayer
also the 0 case is indeed used in some code pathes Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30bitstream: add get_bits_longlong() to support more than 32bitsMichael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30get_bits_long: fix variable typeMichael Niedermayer
This fixes a theoretical signed overflow Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: libopus: Remap channels using libopus' internal remapping. Opus decoder using libopus avcodec: document the use of AVCodecContext.delay for audio decoding vc1dec: add flush function for WMV9 and VC-1 decoders http: Increase buffer sizes to cope with longer URIs nutenc: const correctness for ff_put_v_trace/put_s_trace function arguments h264_refs: Fix debug tprintf argument types golomb: const correctness for get_ue()/get_se() function arguments get_bits: const correctness for get_bits_trace()/get_xbits_trace() arguments Conflicts: Changelog libavcodec/Makefile libavcodec/version.h libavformat/http.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-27get_bits: const correctness for get_bits_trace()/get_xbits_trace() argumentsDiego Biurrun
2012-04-07get_bits: check the number of bits parameter through av_assert2()Michael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-25Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: docs: use -bsf:[vas] instead of -[vas]bsf. mpegaudiodec: Prevent premature clipping of mp3 input buffer. lavf: move the packet keyframe setting code. oggenc: free comment header for all codecs lcl: error out if uncompressed input buffer is smaller than framesize. mjpeg: abort decoding if packet is too large. golomb: use HAVE_BITS_REMAINING() macro to prevent infloop on EOF. get_bits: add HAVE_BITS_REMAINING macro. lavf/output-example: use new audio encoding API correctly. lavf/output-example: more proper usage of the new API. tiff: Prevent overreads in the type_sizes array. tiff: Make the TIFF_LONG and TIFF_SHORT types unsigned. apetag: do not leak memory if avio_read() fails apetag: propagate errors. SBR DSP x86: implement SSE sbr_hf_g_filt SBR DSP x86: implement SSE sbr_sum_square_sse SBR DSP: use intptr_t for the ixh parameter. Conflicts: doc/bitstream_filters.texi doc/examples/muxing.c doc/ffmpeg.texi libavcodec/golomb.h libavcodec/x86/Makefile libavformat/oggenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-24get_bits: add HAVE_BITS_REMAINING macro.Ronald S. Bultje
2012-02-16Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: (27 commits) ppc: Add ff_ prefix to nonstatic symbols sh4: Add ff_ prefix to nonstatic symbols mpegvideo: Add ff_ prefix to nonstatic functions rtjpeg: Add ff_ prefix to nonstatic symbols rv: Add ff_ prefix to nonstatic symbols vp56: Add ff_ prefix to nonstatic symbols vorbis: Add ff_ prefix to nonstatic symbols msmpeg4: Add ff_ prefix to nonstatic symbols vc1: Add ff_ prefix to nonstatic symbols msmpeg4: Add ff_ prefixes to nonstatic symbols snow: Add ff_ prefix to nonstatic symbols mpeg12: Add ff_ prefix to nonstatic symbols mpeg4: Add ff_ prefixes to nonstatic symbols lagarith: Add ff_ prefix to lag_rac_init libavcodec: Add ff_ prefix to j_rev_dct* dsputil: Add ff_ prefix to inv_zigzag_direct16 libavcodec: Prefix fdct_ifast, fdct_ifast248 dsputil: Add ff_ prefix to the dsputil*_init* functions libavcodec: Add ff_ prefix to some nonstatic symbols vlc/rl: Add ff_ prefix to the nonstatic symbols ... Conflicts: libavcodec/Makefile libavcodec/allcodecs.c libavcodec/dnxhddec.c libavcodec/ffv1.c libavcodec/h263.h libavcodec/h263dec.c libavcodec/h264.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/nuv.c libavcodec/ppc/dsputil_ppc.c libavcodec/proresdsp.c libavcodec/svq3.c libavcodec/version.h libavformat/dv.h libavformat/dvenc.c libavformat/matroskadec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-16vlc/rl: Add ff_ prefix to the nonstatic symbolsMartin Storsjö
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-23Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: build: fix standalone compilation of OMA muxer build: fix standalone compilation of Microsoft XMV demuxer build: fix standalone compilation of Core Audio Format demuxer kvmc: fix invalid reads 4xm: Add a check in decode_i_frame to prevent buffer overreads adpcm: fix IMA SMJPEG decoding options: set minimum for "threads" to zero bsd: use number of logical CPUs as automatic thread count windows: use number of CPUs as automatic thread count linux: use number of CPUs as automatic thread count pthreads: reset active_thread_type when slice thread_init returrns early v410dec: include correct headers Drop ALT_ prefix from BITSTREAM_READER_LE name. lavfi: always build vsrc_buffer. ra144enc: zero the reflection coeffs if the filter is unstable sws: readd PAL8 to isPacked() mov: Don't stick the QuickTime field ordering atom in extradata. truespeech: fix invalid reads in truespeech_apply_twopoint_filter() Conflicts: configure libavcodec/4xm.c libavcodec/avcodec.h libavfilter/Makefile libavfilter/allfilters.c libavformat/Makefile libswscale/swscale_internal.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-22Drop ALT_ prefix from BITSTREAM_READER_LE name.Diego Biurrun
The prefix is a historic remnant that probably meant "alternative". Now that the A32 bitstream reader has been dropped it makes no sense anymore.
2011-12-18Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: build: link test programs with static libraries dct-test: remove unused variable cropTbl swscale: fix overflow in gray16 vertical scaling. get_bits: remove LAST_SKIP_CACHE macro swscale: fix integer overflows in RGB pixel writing. swscale: add endian conversion for RGB555 and RGB444 pixel formats swscale: fix overflows in output of RGB48 pixels. get_bits: remove strange/obsolete comments get_bits: whitespace (mostly) cosmetics swscale: add rgb565 endianess conversion get_bits: remove unnecessary #includes mp3dec: hack: fix decoding with safe bitstream reader fate: fix eatqi test adpcm: Check for channels to be a non-zero integer swscale: fix overflows in RGB rounding constants. get_bits: introduce safe bitreading to prevent overreads. Conflicts: libswscale/swscale.c libswscale/swscale_unscaled.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-18get_bits: drop the a32 reader.Michael Niedermayer
that way qatar maintains the code for me and i dont need to resolve conflicts. If someone wants the a32 reader back, only thing you need to do is maintain it, i would be happy to have it back, iam just not volunteering to maintain it due to lack of time. Based on: a1e98f198e9db4e5ddfc2f777014179d3d7bc4d2 by Mans Rullgard. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-18get_bits: remove LAST_SKIP_CACHE macroMans Rullgard
This macro is empty since the removal of the A32 bitstream reader. Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-17get_bits: remove strange/obsolete commentsMans Rullgard
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-17get_bits: whitespace (mostly) cosmeticsMans Rullgard
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-17get_bits: remove unnecessary #includesMans Rullgard
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-17get_bits: introduce safe bitreading to prevent overreads.Ronald S. Bultje
When turned on, H264/CAVLC gets ~15% (CVPCMNL1_SVA_C.264) slower for ultra-high-bitrate files, or ~2.5% (CVFI1_SVA_C.264) for lower-bitrate files. Other codecs are affected to a lesser extent because they are less optimized; e.g., VC-1 slows down by less than 1% (all on x86). The patch generated 3 extra instructions (cmp, cmovae and mov) per call to get_bits(). The performance penalty on ARM is within the error margin for most files, up to 4% in extreme cases such as CVPCMNL1_SVA_C.264. Based on work (for GCI) by Aneesh Dogra <lionaneesh@gmail.com>, and inspired by patch in Chromium by Chris Evans <cevans@chromium.org>.
2011-12-17Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: get_bits: remove A32 variant avconv: support stream specifiers in -metadata and -map_metadata wavpack: Fix 32-bit clipping wavpack: Clip samples after shifting h264: don't drop B-frames after next keyframe on POC reset. get_bits: remove useless pointer casts configure: refactor lists of tests and components into variables rv40: NEON optimised weak loop filter mpegts: replace some magic numbers with the existing define swscale: add unscaled packed 16 bit per component endianess conversion Conflicts: libavcodec/get_bits.h libavcodec/h264.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-17get_bits: remove A32 variantMans Rullgard
The A32 bitstream reader variant is only used on ARMv5 and for Prores due to the larger bit cache this decoder requires. In benchmarks on ARMv5 (Marvell Sheeva) with gcc 4.6, the only statistically significant difference between ALT and A32 is a 4% advantage for ALT in FLAC decoding. There is thus no (longer) any reason to keep the A32 reader from this point of view. This patch adds an option to the ALT reader increasing the bit cache to 32 bits as required by the Prores decoder. Benchmarking shows no significant change in speed on Intel i7. Again, the A32 reader fails to justify its existence. Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-16get_bits: remove useless pointer castsMans Rullgard
These pointers are already of the correct type. Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-13Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* 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>
2011-12-13doxygen: misc consistency, spelling and wording fixesDiego Biurrun
2011-09-15Revert "get_bits: remove x86 inline asm in A32 bitstream reader"Elvis Presley
This reverts commit 23ce6e72123a40895baaeefeb27c7c18748bd67e.
2011-07-02Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: get_bits: remove x86 inline asm in A32 bitstream reader doc: Remove outdated information about our issue tracker avidec: Factor out the sync fucntionality. fate-aac: Expand coverage. ac3dsp: add x86-optimized versions of ac3dsp.extract_exponents(). ac3dsp: simplify extract_exponents() now that it does not need to do clipping. ac3enc: clip coefficients after MDCT. ac3enc: add int32_t array clipping function to DSPUtil, including x86 versions. swscale: for >8bit scaling, read in native bit-depth. matroskadec: matroska_read_seek after after EBML_STOP leads to failure. doxygen: fix usage of @file directive in libavutil/{dict,file}.h doxygen: Help doxygen parser to understand the DECLARE_ALIGNED and offsetof macros Conflicts: doc/issue_tracker.txt libavformat/avidec.c libavutil/dict.h libswscale/swscale.c libswscale/utils.c tests/ref/lavfi/pixfmts_scale Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-02get_bits: remove x86 inline asm in A32 bitstream readerMans Rullgard
x86 does not use this variant so having inline asm there is pointless. Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-01Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: cosmetics: fix some then/than typos doxygen: Include libavcodec and libavformat examples into the documentation avutil: elaborate documentation for av_get_random_seed Add support for aac streams in mp4/mov without extradata. aes: whitespace cosmetics adler32: whitespace cosmetics swscale: fix another yuv range conversion overflow in 16bit scaling. Fix cpu flags test program opt-test: Add missing braces to silence compiler warnings. build: Eliminate obsolete test targets. udp: Fix a compilation warning swscale: Unbreak build with --enable-small base64: add fate test aes: improve test program and add fate test adler32: make test program more useful and add fate test swscale: fix yuv range correction when using 16-bit scaling. aacenc: Make chan_map const correct Conflicts: Makefile doc/examples/muxing-example.c libavformat/udp.c libavutil/random_seed.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-01cosmetics: fix some then/than typosDiego Biurrun
2011-05-28get_bits: add av_unused tag to cache variableMans Rullgard
This silences numerous compiler warnings from skip_bits(), where the cache variable is not used. Signed-off-by: Mans Rullgard <mans@mansr.com>