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
2012-06-03oggdec: fix regression that caused reading the whole file during openMichael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-14ogg: rewrite first timestamp reading code.Michael Niedermayer
this is simpler and closer to how timestamps are found for seeking. Fixes Ticket1186 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-14ogg: in ogg_get_length() start from data_offset not 0.Michael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-04oggdec: fix off by one error on pos_limitMichael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-04oggdec: print error on failure to create streamsMichael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-04oggdec: print error on changing streams when its unsupported.Michael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-04oggdec: print error on unsupported versionsMichael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-04oggdec: reset lastpts so that justins vorbis duration correction is not skipedMichael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-04oggdec: pass avformat context to ogg_reset()Michael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-17oggdec: Safety check against stream counts being inconsistent in seek()Michael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-17oggdec: Recreate streams only in the 1 stream case.Michael Niedermayer
Other cases are not supported and lead to inconsistencies which can lead to out of array writes. Reported-by: Dale Curtis <dalecurtis@chromium.org> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-09Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: ttadec: unbreak playback of matroska files vorbisdec: avoid invalid memory access Fix uninitialized reads on malformed ogg files. huffyuv: add padding to classic (v1) huffman tables. png: convert to bytestream2 API. dca: include libavutil/mathematics.h for possibly missing M_SQRT1_2 avs: fix infinite loop on end-of-stream. tiffdec: Prevent illegal memory access caused by recycled pointers. rtpenc: Fix the AVRational used for av_rescale_q_rnd wma: fix off-by-one in array bounds check. Conflicts: libavcodec/huffyuv.c libavcodec/pngdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-08Fix uninitialized reads on malformed ogg files.Dale Curtis
The ogg decoder wasn't padding the input buffer with the appropriate FF_INPUT_BUFFER_PADDING_SIZE bytes. Which led to uninitialized reads in various pieces of parsing code when they thought they had more data than they actually did. Signed-off-by: Dale Curtis <dalecurtis@chromium.org> Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-02-19oggdec: improve warning message.Reimar Döffinger
Print whether it was a keyframe or a non-keyframe that was incorrectly marked as the other. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-02-07Detect theora keyframes by content in Ogg demuxer.Reimar Döffinger
A lot of files do not mark keyframes correctly via granule, so detect keyframe or not based on data and complain if it mismatches. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-02-05oggdec: add missing ogg_reset on seek.Reimar Döffinger
It would never be called when the searched-for position was already in the index. In the other cases, the ogg_reset at the end of the read_timestamp function handled it. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-02-05oggdec: fix keyframe seeking when granule_is_start is 0.Reimar Döffinger
In this case, the pts values will be delayed by one, but at the same time pts values might only be supplied for e.g. keyframes. This results on only the frame after the keyframe having a pts value. As a hack, make read_timestamp return the keyframe position together with the pts from a following frame when seeking to a keyframe. Fixes trac issue #438. However it causes the read_timestamp function to return a pos value that is actually before the packet with the indicated pts. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-02-04Fix potential infinite discard loop.Reimar Döffinger
Fixes trac issue #438. Seeking in that sample would cause ogg_read_timestamp to fail because ogg_packet would go into a state where all packets of stream 1 would be discarded until the end of the stream. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-01-28Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: (71 commits) movenc: Allow writing to a non-seekable output if using empty moov movenc: Support adding isml (smooth streaming live) metadata libavcodec: Don't crash in avcodec_encode_audio if time_base isn't set sunrast: Document the different Sun Raster file format types. sunrast: Add a check for experimental type. libspeexenc: use AVSampleFormat instead of deprecated/removed SampleFormat lavf: remove disabled FF_API_SET_PTS_INFO cruft lavf: remove disabled FF_API_OLD_INTERRUPT_CB cruft lavf: remove disabled FF_API_REORDER_PRIVATE cruft lavf: remove disabled FF_API_SEEK_PUBLIC cruft lavf: remove disabled FF_API_STREAM_COPY cruft lavf: remove disabled FF_API_PRELOAD cruft lavf: remove disabled FF_API_NEW_STREAM cruft lavf: remove disabled FF_API_RTSP_URL_OPTIONS cruft lavf: remove disabled FF_API_MUXRATE cruft lavf: remove disabled FF_API_FILESIZE cruft lavf: remove disabled FF_API_TIMESTAMP cruft lavf: remove disabled FF_API_LOOP_OUTPUT cruft lavf: remove disabled FF_API_LOOP_INPUT cruft lavf: remove disabled FF_API_AVSTREAM_QUALITY cruft ... Conflicts: doc/APIchanges libavcodec/8bps.c libavcodec/avcodec.h libavcodec/libx264.c libavcodec/mjpegbdec.c libavcodec/options.c libavcodec/sunrast.c libavcodec/utils.c libavcodec/version.h libavcodec/x86/h264_deblock.asm libavdevice/libdc1394.c libavdevice/v4l2.c libavformat/avformat.h libavformat/avio.c libavformat/avio.h libavformat/aviobuf.c libavformat/dv.c libavformat/mov.c libavformat/utils.c libavformat/version.h libavformat/wtv.c libavutil/Makefile libavutil/file.c libswscale/x86/input.asm libswscale/x86/swscale_mmx.c libswscale/x86/swscale_template.c tests/ref/lavf/ffm Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-27lavf: remove AVFormatParameters from AVFormatContext.read_header signatureAnton Khirnov
2011-12-06Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: mov: Don't av_malloc(0). avconv: only allocate 1 AVFrame per input stream avconv: fix memleaks due to not freeing the AVFrame for audio h264-fate: remove -strict 1 except where necessary (mr4/5-tandberg). misc Doxygen markup improvements doxygen: eliminate Qt-style doxygen syntax g722: Add a regression test for muxing/demuxing in wav g722: Change bits per sample to 4 g722dec: Signal skipping the lower bits via AVOptions instead of bits_per_coded_sample api-example: update to use avcodec_decode_audio4() avplay: use avcodec_decode_audio4() avplay: use a separate buffer for playing silence avformat: use avcodec_decode_audio4() in avformat_find_stream_info() avconv: use avcodec_decode_audio4() instead of avcodec_decode_audio3() mov: Allow empty stts atom. doc: document preferred Doxygen syntax and make patcheck detect it Conflicts: avconv.c ffplay.c libavcodec/mlpdec.c libavcodec/version.h libavformat/mov.c tests/codec-regression.sh tests/fate/h264.mak Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-05misc Doxygen markup improvementsDiego Biurrun
2011-12-01Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: rtpdec: Templatize the code for different g726 bitrate variants rv40: move loop filter to rv34dsp context lavf: make av_set_pts_info private. rtpdec: Add support for G726 audio rtpdec: Add an init function that can do custom codec context initialization avconv: make copy_tb on by default. matroskadec: don't set codec timebase. rmdec: don't set codec timebase. avconv: compute next_pts from input packet duration when possible. lavf: estimate frame duration from r_frame_rate. avconv: update InputStream.pts in the streamcopy case. Conflicts: avconv.c libavdevice/alsa-audio-dec.c libavdevice/bktr.c libavdevice/fbdev.c libavdevice/libdc1394.c libavdevice/oss_audio.c libavdevice/v4l.c libavdevice/v4l2.c libavdevice/vfwcap.c libavdevice/x11grab.c libavformat/au.c libavformat/eacdata.c libavformat/flvdec.c libavformat/mpegts.c libavformat/mxfenc.c libavformat/rtpdec_g726.c libavformat/wtv.c libavformat/xmv.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-30lavf: make av_set_pts_info private.Anton Khirnov
It's supposed to be called only from (de)muxers.
2011-10-29Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: (53 commits) probe: Restore identification of files with very large id3 tags and no extension. probe: Remove id3 tag presence as a criteria to do file extension checking. mpegts: MP4 SL support mpegts: MP4 OD support mpegts: Add support for Sections in PMT mpegts: Replace the MP4 descriptor parser with a recursive parser. mpegts: Add support for multiple mp4 descriptors mpegts: Parse mpeg2 SL descriptors. isom: Add MPEG4SYSTEMS dummy object type indication. aacdec: allow output reconfiguration on channel changes nellymoserenc: take float input samples instead of int16 nellymoserdec: use dsp functions for overlap and windowing nellymoserdec: do not fail if there is extra data in the packet nellymoserdec: fail if output buffer is too small nellymoserdec: remove pointless buffer size check. lavf: add init_put_byte() to the list of visible symbols. seek-test: free options dictionary after use snow: do not draw_edge if emu_edge is set tools/pktdumper: update to recent avformat api seek-test: update to recent avformat api ... Conflicts: doc/APIchanges libavcodec/mpegaudiodec.c libavcodec/nellymoserdec.c libavcodec/snow.c libavcodec/version.h libavcodec/wmadec.c libavformat/avformat.h libavformat/mpegts.c libavformat/mxfdec.c libavformat/utils.c libavformat/wtv.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-28lavf: make some seeking functions privateAnton Khirnov
Specifically av_update_cur_dts(), av_seek_frame_binary() and av_gen_search(). They are not supposed to be called outside lavf.
2011-10-20Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: presets: rename presets directory lavc: make avcodec_get_context_defaults3 "officially" public lavf: replace av_new_stream->avformat_new_stream part II. lavf,lavd: replace av_new_stream->avformat_new_stream part I. lavf: add avformat_new_stream as a replacement for av_new_stream. Use correct scaling table for bwd-pred MVs in second B-field Ut Video decoder Makefile: change presets extension to .avpreset lavfi: add rgbtestsrc source, ported from MPlayer libmpcodecs lavfi: add testsrc source AVOptions: add documentation. presets: update libx264 ffpresets Conflicts: Changelog doc/APIchanges doc/ffmpeg.texi ffpresets/libx264-ipod320.ffpreset ffpresets/libx264-ipod640.ffpreset ffserver.c libavcodec/avcodec.h libavcodec/options.c libavcodec/version.h libavdevice/libdc1394.c libavfilter/avfilter.h libavfilter/vsrc_testsrc.c libavformat/flvdec.c libavformat/riff.c libavformat/version.h libavformat/wtv.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-19lavf: replace av_new_stream->avformat_new_stream part II.Anton Khirnov
Manual replacements are done in this commit. In many cases, the id is some constant made up number (e.g. 0 for video and 1 for audio), which is then not used in the demuxer for anything. Those ids are removed.
2011-09-26oggdec: add support for Xiph's CELT codecNicolas George
This patch also introduces CODEC_ID_CELT. Signed-off-by: Nicolas George <nicolas.george@normalesup.org> Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-09-17oggdec: fix out of bound write in the ogg demuxerLaurent Aimar
Between ogg_save() and ogg_restore() calls, the number of streams could have been reduced. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-09-12Fix writes out of bounds in the ogg demuxer.Laurent Aimar
Between ogg_save() and ogg_restore() calls, the number of streams could have been reduced. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-25oggdec: subtract time of first packet only from duration when it is significantMichael Niedermayer
this fixes accuracy with normal ogg files while keeping support for ogg files starting at times different from 0 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-25oggdec: Make sure start time correction is applied once to each streamMichael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-13Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: doc: Improve references to external URLs. h264: move decode_mb_skip() from h264.h to h.264_mvpred.h ffplay: skip return value of avcodec_decode_video2 / avcodec_decode_subtitle2 dnxhdenc: Replace a forward declaration by the proper #include. h264: move h264_mvpred.h include. pix_fmt: Fix number of bits per component in yuv444p9be lavf: deprecate AVFormatContext.timestamp ffmpeg: merge input_files_ts_scale into InputStream. ffmpeg: don't abuse a global for passing sample format from input to output ffmpeg: don't abuse a global for passing channel layout from input to output ffmpeg: factor common code from new_a/v/s/d_stream to new_output_stream() matroskaenc: make SSA default subtitle codec. oggdec: prevent heap corruption. Conflicts: doc/developer.texi doc/faq.texi doc/general.texi ffmpeg.c ffplay.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-12oggdec: prevent heap corruption.Chris Evans
Specifically crafted samples can reinit ogg->streams[] while reading samples, and thus we should not cache old pointers since these may no longer be valid. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-05Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: (36 commits) ARM: allow unaligned buffer in fixed-point NEON FFT4 fate: test more FFT etc sizes dca: set AVCodecContext frame_size for DTS audio YASM: Shut up unused variable compiler warning with --disable-yasm. x86_32: Fix build on x86_32 with --disable-yasm. iirfilter: add fate test doxygen: Add qmul docs. ogg: propagate return values and return more meaningful error values H.264: fix overreads of qscale_table Remove unused static tables and static inline functions. eval: clear Parser instances before using dct-test: remove 'ref' function pointer from tables build: Remove deleted 'check' target from .PHONY list. oggdec: Abort Ogg header parsing when encountering a data packet. Add LGPL license boilerplate to files lacking it. mxfenc: small typo fix doxygen: Fix documentation for some VP8 functions. sha: use AV_RB32() instead of assuming buffer can be cast to uint32_t* des: allow unaligned input and output buffers aes: allow unaligned input and output buffers ... Conflicts: libavcodec/dct-test.c libavcodec/libvpxenc.c libavcodec/x86/dsputil_mmx.c libavcodec/x86/h264_qpel_mmx.c libavfilter/x86/gradfun.c libavformat/oggdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-04ogg: propagate return values and return more meaningful error valuesNicolas George
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-07-04oggdec: Abort Ogg header parsing when encountering a data packet.Reimar Döffinger
Fixes Bugzilla #11. Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-06-30Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: rational-test: Add proper main() declaration to fix gcc warnings. configure: Add vdpau and dxva2 to configure results output. Remove unused, never built libavutil/pca.[ch] matroskadec: forward parsing errors to caller. av_find_stream_info: simplify EAGAIN handling. aacenc: Fix determination of Mid/Side Mode. psymodel: Remove the single channel analysis function aacenc: Implement dummy channel group analysis that just calls the single channel analysis for each channel. psymodel: Add channels and channel groups to the psymodel. ARM: remove check for PLD instruction fate: move amr[nw]b test rules into separate files ogg: fix double free when finding length of small chained oggs. swscale: implement >8bit scaling support. build: fix creation of tools dir with make 3.81 build: Mark all-yes Makefile target as phony. pixfmt: fix YUV422/444 wrong endian comment build: create output directories as needed Add new yuv444 pixfmts to avcodec_align_dimensions2 Conflicts: Makefile configure libavutil/pca.c libavutil/pca.h libavutil/pixfmt.h libswscale/swscale.c libswscale/utils.c libswscale/x86/swscale_template.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>
2011-06-29ogg: fix double free when finding length of small chained oggs.Ronald S. Bultje
ogg_save() copies streams[], but doesn't keep track of free()'ed struct members. Thus, if in between a call to ogg_save() and ogg_restore(), streams[].private was free()'ed, this would result in a double free -> crash, which happened when e.g. playing small chained ogg fragments.
2011-06-25ogg_read_packet: forward error code.Nicolas George
2011-06-03oggdec: fix Ticket185Michael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-03Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: (25 commits) Replace custom DEBUG preprocessor trickery by the standard one. vorbis: Remove non-compiling debug statement. vorbis: Remove pointless DEBUG #ifdef around debug output macros. cook: Remove non-compiling debug output. Remove pointless #ifdefs around function declarations in a header. Replace #ifdef + av_log() combinations by av_dlog(). Replace custom debug output functions by av_dlog(). cook: Remove unused debug functions. Remove stray extra arguments from av_dlog() invocations. targa: fix big-endian build v4l2: remove one forgotten use of AVFormatParameters.pix_fmt. vfwcap: add a framerate private option. v4l2: add a framerate private option. libdc1394: add a framerate private option. fbdev: add a framerate private option. bktr: add a framerate private option. oma: check avio_read() return value nutdec: remove unused variable Remove unused variables swscale: allocate larger buffer to handle altivec overreads. ... Conflicts: ffmpeg.c libavcodec/dca.c libavcodec/dirac.c libavcodec/error_resilience.c libavcodec/h264.c libavcodec/mpeg12.c libavcodec/mpeg4videodec.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/pthread.c libavcodec/rv10.c libavcodec/s302m.c libavcodec/shorten.c libavcodec/truemotion2.c libavcodec/utils.c libavdevice/dv1394.c libavdevice/fbdev.c libavdevice/libdc1394.c libavdevice/v4l2.c libavformat/4xm.c libavformat/apetag.c libavformat/asfdec.c libavformat/avidec.c libavformat/mmf.c libavformat/mpeg.c libavformat/mpegenc.c libavformat/mpegts.c libavformat/oggdec.c libavformat/oggparseogm.c libavformat/rl2.c libavformat/rmdec.c libavformat/rpl.c libavformat/rtpdec_latm.c libavformat/sauce.c libavformat/sol.c libswscale/utils.c tests/ref/vsynth1/error tests/ref/vsynth2/error Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-03Remove stray extra arguments from av_dlog() invocations.Diego Biurrun
2011-06-02Remove unused variablesMans Rullgard
2011-05-30Fix various unused variable warningsClément Bœsch
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-24oggdec: use av_dlog()Stefano Sabatini
Simplify.
2011-05-17Ogg demuxer: give meaningful error codes and warnings.Nicolas George
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
2011-05-13Merge remote branch 'qatar/master'Michael Niedermayer
* qatar/master: (33 commits) rtpdec_qdm2: Don't try to parse data packet if no configuration is received ac3enc: put the counting of stereo rematrixing bits in the same place to make the code easier to understand. ac3enc: clean up count_frame_bits() and count_frame_bits_fixed() mpegvideo: make FF_DEBUG_DCT_COEFF output coeffs via av_log() instead of just via AVFrame. srtdec: make sure we don't write past the end of buffer wmaenc: improve channel count and bitrate error handling in encode_init() matroskaenc: make sure we don't produce invalid file with no codec ID matroskadec: check that pointers were initialized before accessing them lavf: fix function name in compute_pkt_fields2 av_dlog message lavf: fix av_find_best_stream when providing a wanted stream. lavf: fix av_find_best_stream when decoder_ret is given and using a related stream. ffmpeg: factorize quality calculation tiff: add support for SamplesPerPixel tag in tiff_decode_tag() tiff: Prefer enum TiffCompr over int for TiffContext.compr. mov: Support edit list atom version 1. configure: Enable libpostproc automatically if GPL code is enabled. Cosmetics: fix prototypes in oggdec oggdec: fix memleak with continuous streams. matroskaenc: add missing new line in av_log() call dnxhdenc: add AVClass in private context. ... swscale changes largely rewritten by me or replaced by baptsites due to lots of bugs in ronalds code. Above code is also just in case its not obvios to a large extended duplicates that where cherry picked from ffmpeg. Conflicts: configure ffmpeg.c libavformat/matroskaenc.c libavutil/pixfmt.h libswscale/ppc/swscale_template.c libswscale/swscale.c libswscale/swscale_template.c libswscale/utils.c libswscale/x86/swscale_template.c tests/fate/h264.mak tests/ref/lavfi/pixdesc_le tests/ref/lavfi/pixfmts_copy_le tests/ref/lavfi/pixfmts_null_le tests/ref/lavfi/pixfmts_scale_le tests/ref/lavfi/pixfmts_vflip_le Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-12Cosmetics: fix prototypes in oggdecClément Bœsch
Signed-off-by: Diego Biurrun <diego@biurrun.de>