aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/utils.c
Commit message (Collapse)AuthorAgeFilesLines
* lavf: fix missing "parser not found" messageMichael Niedermayer2012-06-071-0/+4
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-06-061-32/+46
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: vorbis: Validate that the floor 1 X values contain no duplicates. avprobe: Identify codec probe failures rather than calling them unsupported codecs. avformat: Probe codecs at score 0 on buffer exhaustion conditions. avformat: Factorize codec probing. Indeo Audio decoder imc: make IMDCT support stereo output imc: move channel-specific data into separate context lavfi: remove request/poll and drawing functions from public API on next bump lavfi: make avfilter_insert_pad and pals private on next bump. lavfi: make formats API private on next bump. avplay: use buffersrc instead of custom input filter. avtools: move buffer management code from avconv to cmdutils. avconv: don't use InputStream in the buffer management code. avconv: fix exiting when max frames is reached. mpc8: fix maximum bands handling aacdec: Turn PS off when switching to stereo and turn it to implicit when switching to mono. Conflicts: Changelog cmdutils.h ffmpeg.c ffplay.c ffprobe.c libavcodec/avcodec.h libavcodec/mpc8.c libavcodec/v210dec.h libavcodec/version.h libavcodec/vorbisdec.c libavfilter/avfilter.c libavfilter/avfilter.h libavfilter/buffersrc.c libavfilter/formats.c libavfilter/src_movie.c libavfilter/vf_aspect.c libavfilter/vf_blackframe.c libavfilter/vf_boxblur.c libavfilter/vf_crop.c libavfilter/vf_cropdetect.c libavfilter/vf_delogo.c libavfilter/vf_drawbox.c libavfilter/vf_drawtext.c libavfilter/vf_fade.c libavfilter/vf_fifo.c libavfilter/vf_format.c libavfilter/vf_frei0r.c libavfilter/vf_gradfun.c libavfilter/vf_hflip.c libavfilter/vf_hqdn3d.c libavfilter/vf_libopencv.c libavfilter/vf_lut.c libavfilter/vf_overlay.c libavfilter/vf_pad.c libavfilter/vf_scale.c libavfilter/vf_select.c libavfilter/vf_showinfo.c libavfilter/vf_transpose.c libavfilter/vf_unsharp.c libavfilter/vf_yadif.c libavfilter/vsrc_color.c libavfilter/vsrc_testsrc.c libavformat/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avformat: Probe codecs at score 0 on buffer exhaustion conditions.Alex Converse2012-06-051-12/+24
| |
| * avformat: Factorize codec probing.Alex Converse2012-06-051-20/+25
| |
* | lavf: use input keyframe flag when muxer does not provide keyframe flags.Michael Niedermayer2012-06-021-0/+3
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf: print the invalid tb in avpriv_set_pts_info()Michael Niedermayer2012-05-231-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat: add needs_parsing type to enable codec TS use.Michael Niedermayer2012-05-221-2/+8
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-05-211-1/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: dwt: K&R prettyprinting cosmetics Remove libnut wrapper fate: change name of FATE samples location environment variable avformat: Add a flag to mark muxers that allow (non strict) monotone timestamps. http: Factorize the code by adding http_read_header() Conflicts: configure doc/APIchanges doc/fate.texi libavcodec/dwt.c libavcodec/dwt.h libavformat/Makefile libavformat/avformat.h libavformat/libnut.c libavformat/matroskaenc.c libavformat/utils.c libavformat/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avformat: Add a flag to mark muxers that allow (non strict) monotone timestamps.James Zern2012-05-201-1/+3
| | | | | | | | Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-05-201-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: indeo: Make ivi_calc_band_checksum() static, it is only used in one file. indeo: Drop unused debug function ivi_check_band(). avcodec/utils: cast a function argument to shut up a compiler warning truemotion1: remove disabled code fix typo in comment fate: fix dependencies for non-SAMPLES avconv tests indeo: check for invalid motion vectors indeo: check that band output buffer exists indeo: clear allocated band buffers indeo: track tile macroblock size indeo: check custom Huffman tables for errors factor out common decoding code for Indeo 4 and Indeo 5 mp3: fix start band index for block type 2 in 8kHz audio lavf: change some (de)muxer names to lowercase lavf: make output format matching case insensitive Conflicts: libavcodec/indeo4.c libavcodec/indeo5.c libavcodec/ivi_common.c libavcodec/utils.c tests/fate/video.mak Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavf: make output format matching case insensitiveMans Rullgard2012-05-191-1/+1
| | | | | | | | | | | | This is consistent with how input formats are matched. Signed-off-by: Mans Rullgard <mans@mansr.com>
* | lavf: also use codec aspect ratio in av_guess_sample_aspect_ratioMarton Balint2012-05-201-1/+2
| | | | | | | | | | | | | | Use codec aspect ratio for frame aspect ratio if AVFrame is NULL. Signed-off-by: Marton Balint <cus@passwd.hu> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-05-161-0/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: fate: Work around non-standard wc implementations at more places fate: work around non-standard wc implementations x86: rv40: Mark rv40_weight functions as MMX2; they use MMX2 instructions. ac3dsp: simplify x86 versions of ac3_max_msb_abs_int16 fate: use standard diff options tta: Fix comment about channel number; TTA supports >2 channels. avfilter: Move ff_get_ref_perms_string() to where it is used. build: Add 'check' target to run all compile and test targets. indeo3: validate new frame size before resetting decoder indeo3: when freeing buffers, set pointers referencing them to NULL as well indeo3: initialise pixel planes on allocation indeo3: ensure that decoded cell data is in 7-bit range as presumed by decoder fate: rename psx-str-v3-mdec to mdec-v3 fate: convert psx-str to a demuxer test lavf: add mdec to is_intra_only() list Conflicts: doc/developer.texi libavcodec/indeo3.c libavfilter/video.c libavformat/utils.c tests/fate/demux.mak tests/fate/video.mak tests/lavf-regression.sh tests/ref/vsynth1/cljr tests/ref/vsynth1/ffvhuff tests/ref/vsynth2/cljr tests/ref/vsynth2/ffvhuff Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavf: add mdec to is_intra_only() listMans Rullgard2012-05-151-0/+1
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* | lavf: add av_guess_frame_sample_aspect_ratio functionMarton Balint2012-05-141-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Guesses the sample aspect ratio of a frame, based on both the stream and the frame aspect ratio. Since the frame aspect ratio is set by the codec but the stream aspect ratio is set by the demuxer, these two may not be equal. This function tries to return the value that you should use if you would like to display the frame. Basic logic is to use the stream aspect ratio if it is set to something sane otherwise use the frame aspect ratio. This way a container setting, which is usually easy to modify can override the coded value in the frames. Signed-off-by: Marton Balint <cus@passwd.hu> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | update_initial_durations: use av_ts2str()Michael Niedermayer2012-05-141-2/+2
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | update_initial_durations: add some checks to ensure things match up.Michael Niedermayer2012-05-141-0/+8
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/utils: make use of av_ts2str() to print timestamps.Clément Bœsch2012-05-131-32/+38
| |
* | lavf: extend the avi raw hack to movMichael Niedermayer2012-05-111-2/+5
| | | | | | | | | | | | Fixes ticket1194 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf: print a matching tag in case of code tag validation failureMichael Niedermayer2012-05-111-3/+4
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-05-051-4/+5
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: configure: add POWER[5-7] support arm: intreadwrite: revert 16-bit load asm to old version for gcc < 4.6 vqavideo: return error if image size is not a multiple of block size cosmetics: indentation avformat: only fill-in interpolated timestamps if duration is non-zero avformat: remove a workaround for broken timestamps Conflicts: libavformat/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * cosmetics: indentationJustin Ruggles2012-05-031-9/+10
| |
| * avformat: only fill-in interpolated timestamps if duration is non-zeroJustin Ruggles2012-05-031-0/+3
| | | | | | | | | | This avoids returning duplicate timestamps for multiple packets when the demuxer does not provide all timestamps and packet duration is not known.
| * avformat: remove a workaround for broken timestampsJustin Ruggles2012-05-031-9/+0
| | | | | | | | | | | | | | This modifies pts in situations other than what was intended, leading to invalid timestamps. Reverts commit 90bb394dccacd10607153833a0aeba0d970dc8db
* | Mark truncated packets as corrupt in av_get_packet.Reimar Döffinger2012-05-011-0/+3
| | | | | | | | | | | | | | Manually remove that flag again for formats that read an arbitrary amount of data and thus truncation is not an error. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* | lavf remove duplicated check in has_durationJean First2012-04-281-2/+0
| | | | | | | | | | | | | | | | | | this hunk was merged in 8b97ae64 and cbf767a8 although the check was there a few lines above since cdced09e. I removed the first check to reduce the differences to libav. Signed-off-by: Jean First <jeanfirst@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-04-261-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: dsputil: fix invalid array indexing configure: add libavresample to rpath build: icc: silence some warnings fft-test: add option to set cpuflag mask cpu: recognise only cpu flag names pertinent to the architecture avutil: add av_parse_cpu_flags() function vp8: armv6: fix non-armv6t2 build vp8: armv6 optimisations vp8: arm: separate ARMv6 functions from NEON ARM: add some compatibility macros mov: support eac3 audio avf: fix faulty check in has_duration Conflicts: configure doc/APIchanges ffmpeg.c libavcodec/arm/Makefile libavcodec/arm/asm.S libavcodec/arm/vp8dsp_armv6.S libavcodec/arm/vp8dsp_init_arm.c libavutil/avutil.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avf: fix faulty check in has_durationLuca Barbato2012-04-251-1/+1
| | | | | | | | An invalid duration is AV_NOPTS_VALUE not 0.
* | lavf: print a warning if probesize seems not enough.Nicolas George2012-04-231-0/+6
| |
* | lavf: check that the context to avformat_open_input() is valid.Michael Niedermayer2012-04-181-0/+4
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Add skip_to_keyframe stream variable.Reimar Döffinger2012-04-161-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | This replaces the matroskadec one with the same name. The advantage is not only easier reuse in other demuxers but also that we can make the decisions after the parser. This fixes seeking in files that mark the keyframes incorrectly, for example the file in track ticket #1003. The matroska variable is still kept to be able to complain about such broken files. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-04-141-0/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: vsrc_buffer: fix check from 7ae7c41. libxvid: Reorder functions to avoid forward declarations; make functions static. libxvid: drop some pointless dead code wmal: vertical alignment cosmetics wmal: Warn about missing bitstream splicing feature and ask for sample. wmal: Skip seekable_frame_in_packet. wmal: Drop unused variable num_possible_block_size. avfiltergraph: make the AVFilterInOut alloc/free API public graphparser: allow specifying sws flags in the graph description. graphparser: fix the order of connecting unlabeled links. graphparser: add avfilter_graph_parse2(). vsrc_buffer: allow using a NULL buffer to signal EOF. swscale: handle last pixel if lines have an odd width. qdm2: fix a dubious pointer cast WMAL: Do not try to read rawpcm coefficients if bits is invalid mov: Fix detecting there is no sync sample. tiffdec: K&R cosmetics avf: has_duration does not check the global one dsputil: fix optimized emu_edge function on Win64. Conflicts: doc/APIchanges libavcodec/libxvid_rc.c libavcodec/libxvidff.c libavcodec/tiff.c libavcodec/wmalosslessdec.c libavfilter/avfiltergraph.h libavfilter/graphparser.c libavfilter/version.h libavfilter/vsrc_buffer.c libswscale/output.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avf: has_duration does not check the global oneLuca Barbato2012-04-131-0/+2
| | | | | | | | | | Some container formats report a global duration, but not a per stream one.
* | lavf: print with debug level the byte positions before and after ↵Michael Niedermayer2012-04-141-0/+5
| | | | | | | | | | | | find_stream_info Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf: compute_pkt_fields, limit the pts upcorrection to mpegMichael Niedermayer2012-04-121-1/+4
| | | | | | | | | | | | | | The pts correction conflicts with the ogg vorbis demuxer. Thanks-to: Justin Ruggles Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf: always call avio_flush in av_write_trailer.Reimar Döffinger2012-04-121-0/+2
| | | | | | | | | | | | | | | | | | | | Otherwise for muxers like e.g. latmenc that never call avio_flush (and do not have a write_trailer function) a part of the data will always be missing. Also update references for the voc muxer, which was also buggy before and did not write out all data. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-04-071-1/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: rtpdec_asf: Set the no_resync_search option for the chained asf demuxer asfdec: Add an option for not searching for the packet markers cosmetics: Clean up the tiffenc pix_fmts declaration to match the style of others cosmetics: Align codec declarations cosmetics: Convert mimic.c to utf-8 avconv: remove an unused function parameter. avconv: remove now pointless variables. avconv: drop support for building without libavfilter. nellymoserenc: fix crash due to memsetting the wrong area. libavformat: Only require first packet to be known for audio/video streams avplay: Don't try to scale timestamps if the tb isn't set Conflicts: Changelog configure ffmpeg.c libavcodec/aacenc.c libavcodec/bmpenc.c libavcodec/dnxhddec.c libavcodec/dnxhdenc.c libavcodec/ffv1.c libavcodec/flacenc.c libavcodec/fraps.c libavcodec/huffyuv.c libavcodec/libopenjpegdec.c libavcodec/mpeg12enc.c libavcodec/mpeg4videodec.c libavcodec/pamenc.c libavcodec/pgssubdec.c libavcodec/pngenc.c libavcodec/qtrleenc.c libavcodec/rawdec.c libavcodec/sgienc.c libavcodec/tiffenc.c libavcodec/v210dec.c libavcodec/wmv2dec.c libavformat/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * libavformat: Only require first packet to be known for audio/video streamsJoakim Plate2012-04-061-1/+3
| | | | | | | | | | | | | | | | It can take a long time before subtitles or data streams show up, so we shouldn't wait for those before assuming we have all info for streams. Signed-off-by: Martin Storsjö <martin@martin.st>
* | lavf: Fix the last PTS to be generated using -fflags +genptsThierry Foucu2012-04-051-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | To reproduce the problem, using ffprobe: ./ffprobe -show_packets -print_format compact -fflags +genpts -i fate_samples/mxf/C0023S01.mxf You will notice that the last video frame does not have it's PTS being set, even with using genpts. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Add AVIO_FLAG_DIRECT.Reimar Döffinger2012-04-041-1/+1
| | | | | | | | | | | | | | | | Allows avoiding the buffer when using avio read, write and seek functions. When using the ffmpeg executable -avioflags direct can be used to enable this mode for input files, but has no effect on output files. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* | lavf: add mp1/2 to determinable_frame_size()Michael Niedermayer2012-04-041-2/+2
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf: print some more things in TS debug statementsMichael Niedermayer2012-04-031-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf: increase RELATIVE_TS_BASEMichael Niedermayer2012-04-031-2/+2
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf: print ts values in pts < dts error messageMichael Niedermayer2012-03-291-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-03-291-2/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: asf: only set index_read if the index contained entries. cabac: add overread protection to BRANCHLESS_GET_CABAC(). cabac: increment jump locations by one in callers of BRANCHLESS_GET_CABAC(). cabac: remove unused argument from BRANCHLESS_GET_CABAC_UPDATE(). cabac: use struct+offset instead of memory operand in BRANCHLESS_GET_CABAC(). h264: add overread protection to get_cabac_bypass_sign_x86(). h264: reindent get_cabac_bypass_sign_x86(). h264: use struct offsets in get_cabac_bypass_sign_x86(). h264: fix overreads in cabac reader. wmall: fix seeking. lagarith: fix buffer overreads. dvdec: drop unnecessary dv_tablegen.h #include build: fix doc generation errors in parallel builds Replace memset(0) by zero initializations. faandct: Remove FAAN_POSTSCALE define and related code. dvenc: print allowed profiles if the video doesn't conform to any of them. avcodec_encode_{audio,video}: only reallocate output packet when it has non-zero size. FATE: add a test for vp8 with changing frame size. fate: add kgv1 fate test. oggdec: calculate correct timestamps in Ogg/FLAC Conflicts: libavcodec/4xm.c libavcodec/cook.c libavcodec/dvdata.c libavcodec/dvdsubdec.c libavcodec/lagarith.c libavcodec/lagarithrac.c libavcodec/utils.c tests/fate/video.mak Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Replace memset(0) by zero initializations.Diego Biurrun2012-03-281-2/+1
| | | | | | | | Also remove one pointless zero initialization in rangecoder.c.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-03-271-12/+18
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: make av_interleaved_write_frame() flush packets when pkt is NULL mpegts: Fix dead error checks vc1: Do not read from array if index is invalid. targa: convert to bytestream2. rv34: set mb_num_left to 0 after finishing a frame Conflicts: libavcodec/targa.c libavcodec/vc1data.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * make av_interleaved_write_frame() flush packets when pkt is NULLJindrich Makovicka2012-03-271-12/+18
| | | | | | | | | | | | | | | | This patch allows the user to force flushing of all queued packets by calling av_interleaved_write_frame() with pkt set to NULL. Signed-off-by: Jindrich Makovicka <jindrich.makovicka@nangu.tv> Signed-off-by: Martin Storsjö <martin@martin.st>
* | Handle 0-size sync packets when only parsing headers.Reimar Döffinger2012-03-261-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Currently, the duration of those packets is just discarded when enabling parsing, thus the output of the Metal Gear Solid demuxer breaks completely when just setting AVSTREAM_PARSE_HEADERS. The result will not be correct if a parser creates a delay even with PARSER_FLAG_COMPLETE_FRAMES and there might be other cases where it does not work correct, but just discarding them as it is done currently seems worse. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* | Print a warning when using wild guesses as time stamps.Reimar Döffinger2012-03-211-0/+5
| | | | | | | | Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>