summaryrefslogtreecommitdiff
path: root/libavformat
Commit message (Collapse)AuthorAge
...
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-02-28
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: avcodec_default_reget_buffer(): fix compilation in DEBUG mode fate: Overhaul WavPack coverage h264: fix mmxext chroma deblock to use correct TC values. flvdec: Remove the now redundant check for known broken metadata creator flvdec: Validate index entries added from metadata while reading rtsp: Handle requests from server to client movenc: use timestamps instead of frame_size for samples-per-packet movenc: use the first cluster duration as the tfhd default duration movenc: factorize calculation of cluster duration into a separate function doc/APIchanges: fill in missing dates and hashes. lavc: reorder AVCodecContext fields. lavc: reorder AVFrame fields. Conflicts: doc/APIchanges libavcodec/avcodec.h libavformat/flvdec.c libavformat/movenc.c tests/fate/lossless-audio.mak Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * flvdec: Remove the now redundant check for known broken metadata creatorMichael Niedermayer2012-02-27
| | | | | | | | | | | | The index validation identifies these indexes as broken. Signed-off-by: Martin Storsjö <martin@martin.st>
| * flvdec: Validate index entries added from metadata while readingMartin Storsjö2012-02-27
| | | | | | | | | | | | | | | | | | | | | | By validating the index entries while reading, we don't need to seek at startup to validate the entries. If the error in the index entries is not pointing to (our definition of) the start of packets, and there is an index entry pointing at some of the first packets after the metadata, the invalid index can be discarded almost immediately. Signed-off-by: Martin Storsjö <martin@martin.st>
| * rtsp: Handle requests from server to clientTommy Winther2012-02-27
| | | | | | | | | | | | | | | | | | | | | | | | This returns 200 OK for OPTIONS requests and 501 Not Implemented for all other requests. Even though this doesn't do much actual handling of the requests, it makes the code properly identify server requests as such, instead of interpreting it as a reply to the client's request as it did before. Signed-off-by: Martin Storsjö <martin@martin.st>
| * movenc: use timestamps instead of frame_size for samples-per-packetJustin Ruggles2012-02-27
| | | | | | | | | | | | For encoding, AVCodecContext.frame_size is the number of input samples to send to the encoder and does not necessarily correspond directly to the timestamps of the output packets.
| * movenc: use the first cluster duration as the tfhd default durationJustin Ruggles2012-02-27
| |
| * movenc: factorize calculation of cluster duration into a separate functionJustin Ruggles2012-02-27
| |
| * lavf: don't guess r_frame_rate from either stream or codec timebase.Anton Khirnov2012-02-26
| | | | | | | | | | | | | | Neither of those is guaranteed to be connected to framerate in any way (if it even exists). Fixes bug 56.
| * lavf: don't set codec timebase in avformat_find_stream_info().Anton Khirnov2012-02-26
| | | | | | | | It's not supposed to be set outside of lavc.
| * rawdec: set timebase to 1/fps.Anton Khirnov2012-02-26
| |
* | cdxl demux: do not create packets with uninitialized data at EOF.Reimar Döffinger2012-02-26
| | | | | | | | | | | | Fixes a failure in cdxl-pal8 test for the valgrind FATE instance. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-02-26
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (34 commits) mlp_parser: fix the channel mask value used for the top surround channel vorbisenc: check all allocations for failure roqaudioenc: return AVERROR codes instead of -1 roqaudioenc: set correct bit rate roqaudioenc: use AVCodecContext.frame_size correctly. roqaudioenc: remove unneeded sample_fmt check ra144enc: use int16_t* for input samples rather than void* ra144enc: set AVCodecContext.coded_frame ra144enc: remove unneeded sample_fmt check nellymoserenc: set AVCodecContext.coded_frame nellymoserenc: improve error checking in encode_init() nellymoserenc: return AVERROR codes instead of -1 libvorbis: improve error checking in oggvorbis_encode_init() mpegaudioenc: return AVERROR codes instead of -1 libfaac: improve error checking and handling in Faac_encode_init() avutil: add AVERROR_UNKNOWN check for coded_frame allocation failure in several audio encoders audio encoders: do not set coded_frame->key_frame. g722enc: check for trellis data allocation error libspeexenc: export encoder delay through AVCodecContext.delay ... Conflicts: doc/APIchanges libavcodec/avcodec.h libavcodec/fraps.c libavcodec/kgv1dec.c libavcodec/libfaac.c libavcodec/libgsm.c libavcodec/libvorbis.c libavcodec/mlp_parser.c libavcodec/roqaudioenc.c libavcodec/vorbisenc.c libavutil/avutil.h libavutil/error.c libavutil/error.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * matroska: don't overwrite string values until read/alloc was succesful.Ronald S. Bultje2012-02-25
| | | | | | | | | | | | | | | | | | | | | | | | This prevents certain tags with a default value assigned to them (as per the EBML syntax elements) from ever being assigned a NULL value. Other parts of the code rely on these being non-NULL (i.e. they don't check for NULL before e.g. using the string in strcmp() or similar), and thus in effect this prevents crashes when reading of such specific tags fails, either because of low memory or because of targeted file corruption. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-02-25
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * lavf: move the packet keyframe setting code.Anton Khirnov2012-02-24
| | | | | | | | | | | | | | | | | | | | compute_pkt_fields() is for unreliable estimates or guessing. The keyframe information from the parser is (at least in theory) reliable, so it should be used even when the other guessing is disabled with the AVFMT_FLAG_NOFILLIN flag. Therefore, move setting the packet keyframe flag based on parser information from compute_pkt_fields() to read_frame_internal().
| * oggenc: free comment header for all codecsJustin Ruggles2012-02-24
| | | | | | | | | | | | fixes a memleak for Vorbis and Theora, where the comment header from avpriv_split_xiph_headers() is replaced by a buffer that must be freed separately.
| * lavf/output-example: use new audio encoding API correctly.Anton Khirnov2012-02-24
| |
| * lavf/output-example: more proper usage of the new API.Anton Khirnov2012-02-24
| | | | | | | | Passing the codec into avformat_new_stream() is preferred.
| * apetag: do not leak memory if avio_read() failsPaul B Mahol2012-02-23
| | | | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
| * apetag: propagate errors.Ronald S. Bultje2012-02-23
| | | | | | | | | | | | | | Fixes crashes if reading the tag value fails. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* | rmdec: fix "warning: format %d expects argument of type int, but argument 7 ↵Michael Niedermayer2012-02-25
| | | | | | | | | | | | has type int64_t" Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | mp3enc: fix "warning: best_bitrate_idx may be used uninitialized in this ↵Michael Niedermayer2012-02-25
| | | | | | | | | | | | function" Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | flvdec: fix "libavformat/flvdec.c:195:29: warning: variable size1 set but ↵Michael Niedermayer2012-02-25
| | | | | | | | | | | | not used" Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-02-24
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (40 commits) swf: check return values for av_get/new_packet(). wavpack: Don't shift minclip/maxclip rtpenc: Expose the max packet size via an avoption rtpenc: Move max_packet_size to a context variable rtpenc: Add an option for not sending RTCP packets lavc: drop encode() support for video. snowenc: switch to encode2(). snowenc: don't abuse input picture for storing information. a64multienc: switch to encode2(). a64multienc: don't write into output buffer when there's no output. libxvid: switch to encode2(). tiffenc: switch to encode2(). tiffenc: properly forward error codes in encode_frame(). lavc: drop libdirac encoder. gifenc: switch to encode2(). libvpxenc: switch to encode2(). flashsvenc: switch to encode2(). Remove libpostproc. lcl: don't overwrite input memory. swscale: take first/lastline over/underflows into account for MMX. ... Conflicts: .gitignore Makefile cmdutils.c configure doc/APIchanges libavcodec/Makefile libavcodec/allcodecs.c libavcodec/libdiracenc.c libavcodec/libxvidff.c libavcodec/qtrleenc.c libavcodec/tiffenc.c libavcodec/utils.c libavformat/mov.c libavformat/movenc.c libpostproc/Makefile libpostproc/postprocess.c libpostproc/postprocess.h libpostproc/postprocess_altivec_template.c libpostproc/postprocess_internal.h libpostproc/postprocess_template.c libswscale/swscale.c libswscale/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * swf: check return values for av_get/new_packet().Ronald S. Bultje2012-02-23
| | | | | | | | | | | | | | Prevents crashers when using the packet if allocation failed. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
| * rtpenc: Expose the max packet size via an avoptionMartin Storsjö2012-02-23
| | | | | | | | | | | | | | | | | | | | This allows opting for a lower MTU than what the AVIOContext indicated, and allows writing into outputs that don't indicate an MTU at all (such as plain files, which is useful for testing). This also allows querying for the MTU via the avoption. Signed-off-by: Martin Storsjö <martin@martin.st>
| * rtpenc: Move max_packet_size to a context variableMartin Storsjö2012-02-23
| | | | | | | | | | | | This is in preparation for exposing this via an avoption. Signed-off-by: Martin Storsjö <martin@martin.st>
| * rtpenc: Add an option for not sending RTCP packetsMartin Storsjö2012-02-23
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
| * rtpenc: Add an error messageMartin Storsjö2012-02-23
| | | | | | | | | | | | Also return a proper error code. Signed-off-by: Martin Storsjö <martin@martin.st>
| * rtpenc: Allow packetizing H263 according to the old RFC 2190Martin Storsjö2012-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to newer RFCs, this packetization scheme should only be used for interfacing with legacy systems. Implementing this packetization mode properly requires parsing the full H263 bitstream to find macroblock boundaries (and knowing their macroblock and gob numbers and motion vector predictors). This implementation tries to look for GOB headers (which can be inserted by using -ps <small number>), but if the GOBs aren't small enough to fit into the MTU, the packetizer blindly splits packets at any offset and claims it to be a GOB boundary (by using Mode A from the RFC). While not correct, this seems to work with some receivers. Signed-off-by: Martin Storsjö <martin@martin.st>
| * rtpenc: Move the trailing comma into FF_RTP_FLAG_OPTSMartin Storsjö2012-02-23
| | | | | | | | | | | | This simplifies adding more flags to the macro. Signed-off-by: Martin Storsjö <martin@martin.st>
| * mov: set channel layout for AC-3 streams based on the 'dac3' atom infoJustin Ruggles2012-02-22
| | | | | | | | fixes Bug 225
* | udp: Fix sign of error codes.Michael Niedermayer2012-02-23
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | sbgdec: read_seek was undeprecated.Nicolas George2012-02-23
| |
* | riff: IPJ2 decodes with j2k decoder. samples can be made from mencoder and ↵Compn2012-02-22
| | | | | | | | jp2avi.dll codec.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-02-23
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: dxva2: don't check for DXVA_PictureParameters->wDecodedPictureIndex img2: split muxer and demuxer into separate files rm: prevent infinite loops for index parsing. aac: fix infinite loop on end-of-frame with sequence of 1-bits. mov: Add more HDV and XDCAM FourCCs. lavf: don't set AVCodecContext.has_b_frames in compute_pkt_fields(). rmdec: when using INT4 deinterleaving, error out if sub_packet_h <= 1. cdxl: correctly synchronize video timestamps to audio mlpdec_parser: fix a few channel layouts. Add channel names to channel_names[] array for channels added in b2890f5 movenc: Buffer the mdat for the initial moov fragment, too flvdec: Ignore the index if the ignidx flag is set flvdec: Fix indentation movdec: Don't parse all fragments if ignidx is set movdec: Restart parsing root-level atoms at the right spot prores: use natural integer type for the codebook index mov: Add support for MPEG2 HDV 720p24 (hdv4) swscale: K&R formatting cosmetics (part I) swscale: variable declaration and placement cosmetics Conflicts: configure libavcodec/aacdec.c libavcodec/mlp_parser.c libavformat/flvdec.c libavformat/img2.c libavformat/isom.h libavformat/mov.c libavformat/movenc.c libswscale/rgb2rgb.c libswscale/rgb2rgb_template.c libswscale/yuv2rgb.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * img2: split muxer and demuxer into separate filesPaul B Mahol2012-02-22
| | | | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Diego Biurrun <diego@biurrun.de>
| * rm: prevent infinite loops for index parsing.Ronald S. Bultje2012-02-22
| | | | | | | | | | | | | | | | | | Specifically, prevent jumping back in the file for the next index, since this can lead to infinite loops where we jump between indexes referring to each other, and don't read indexes that don't fit in the file. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
| * mov: Add more HDV and XDCAM FourCCs.Alex Converse2012-02-22
| | | | | | | | Reference: VLC
| * lavf: don't set AVCodecContext.has_b_frames in compute_pkt_fields().Anton Khirnov2012-02-22
| | | | | | | | | | | | | | | | | | | | | | It is not supposed to be done outside lavc. This is basically a revert of 818062f2f346df30f4ec0c0c1f54e8025cc3a80a. It is unclear what issue this was supposed to fix, if it reappears again it will have to be fixed in a more proper place. The wtv-demux test change is because the sample starts with a B-frame.
| * rmdec: when using INT4 deinterleaving, error out if sub_packet_h <= 1.Ronald S. Bultje2012-02-22
| | | | | | | | | | | | | | | | | | We read sub_packet_h / 2 packets per line of data (during deinterleaving), which equals zero if sub_packet_h <= 1, thus causing us to not read any data, leading to an infinite loop. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
| * cdxl: correctly synchronize video timestamps to audioPaul B Mahol2012-02-22
| | | | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
| * movenc: Buffer the mdat for the initial moov fragment, tooMartin Storsjö2012-02-22
| | | | | | | | | | | | | | | | | | | | | | | | This allows writing QuickTime-compatible fragmented mp4 (with a non-empty moov atom) to a non-seekable output. This buffers the mdat for the initial fragment just as it does for all normal fragments, too. Previously, the resulting atom structure was mdat,moov, moof,mdat ..., while it now is moov,mdat, moof,mdat. Signed-off-by: Martin Storsjö <martin@martin.st>
| * flvdec: Ignore the index if the ignidx flag is setMartin Storsjö2012-02-22
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
| * flvdec: Fix indentationMartin Storsjö2012-02-22
| | | | | | | | | | | | Also split a long line. Signed-off-by: Martin Storsjö <martin@martin.st>
| * movdec: Don't parse all fragments if ignidx is setMartin Storsjö2012-02-22
| | | | | | | | | | | | | | | | | | | | In nonseekable files, we already stop parsing the toplevel atoms after finding moov and one mdat. In large seekable files (or files that are seekable, but slowly, e.g. http), reading all the fragments at the start can take a considerable amount of time. This allows opting out from this behaviour. Signed-off-by: Martin Storsjö <martin@martin.st>
| * movdec: Restart parsing root-level atoms at the right spotMartin Storsjö2012-02-22
| | | | | | | | | | | | | | | | | | | | | | If parsing moov+mdat in a non-seekable file, we currently abort parsing directly after parsing the header of the mdat atom. If we want to continue parsing later (if looking to parse later fragments), we need to skip past the content of the mdat atom, otherwise we end up parsing the content of the mdat atom as root level atoms. Signed-off-by: Martin Storsjö <martin@martin.st>
| * mov: Add support for MPEG2 HDV 720p24 (hdv4)Alex Converse2012-02-21
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-02-22
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: mpegvideo_enc: only allocate output packet when we know there will be output Add names for more channel layouts to the channel layout map. sunrast: Add a sample request for RMP_RAW colormap. avcodec: do not override pts or duration from the audio encoder Add prores regression test. Enable already existing rso regression test. Add regression test for "sox" format muxer/demuxer. Add dpx encoding regression test. swscale: K&R formatting cosmetics for PowerPC code (part I/II) img2: Use ff_guess_image2_codec(filename) shorthand where appropriate. Clarify licensing information about files borrowed from libjpeg. Mark mutable static data const where appropriate. avplay: fix -threads option dvbsubdec: avoid undefined signed left shift in RGBA macro mlpdec: use av_log_ask_for_sample() gif: K&R formatting cosmetics png: make .long_name more descriptive movdec: Adjust keyframe flagging in fragmented files rv34: change most "int stride" into "ptrdiff_t stride". Conflicts: avprobe.c ffplay.c libavcodec/mlpdec.c libavcodec/mpegvideo_enc.c libavcodec/pngenc.c libavcodec/x86/v210-init.c libavfilter/vf_boxblur.c libavfilter/vf_crop.c libavfilter/vf_drawtext.c libavfilter/vf_lut.c libavfilter/vf_overlay.c libavfilter/vf_pad.c libavfilter/vf_scale.c libavfilter/vf_select.c libavfilter/vf_setpts.c libavfilter/vf_settb.c libavformat/img2.c libavutil/audioconvert.c tests/codec-regression.sh tests/lavf-regression.sh tests/ref/lavf/dpx tests/ref/vsynth1/prores tests/ref/vsynth2/prores Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * img2: Use ff_guess_image2_codec(filename) shorthand where appropriate.Diego Biurrun2012-02-21
| |