Note that the linebreaks text codec option (but not the feature) has
been removed; its main goal was to allow demuxers to configure the text
decoder (and not meant to be used by users), but the AVOption are not a
viable solution. This is solved differently in this commit.
The SRT muxer is reponsible for separating events with two line breaks,
there is no need to add more than necessary. Similarly, other muxers
(such as Matroska) are not supposed to add line breaks at the end of the
payload.
Since 83cab07 audio stream time bases are based on SampleRate, not EditRate.
This fixes trac ticket #2029 and a few seeking issues.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Do not overwrite linesize set by get_buffer().
The last frame in the FATE test is not decoded anymore, since the file
is cut and a part of it is missing.
Ported from MPlayer. Original author is A'rpi, with various
contributions from Michael Niedermayer. The original documentation was
mostly written by Diego Biurrun. See the MPlayer history for full
credits.
The filter is under GPL like the original filter, even if it differs
quite a lot. There is not much point in making it LGPL since pp is under
GPL.
* commit 'c35f0e8495e34c2082dcde805e9323c9f6a4cb0a':
au: Reorder code so that both muxer and demuxer are under #ifdefs
fate: Move RALF test into lossless audio group
cosmetics: Use consistent names for multiple inclusion guards.
Conflicts:
libavformat/au.c
tests/fate/lossless-audio.mak
tests/fate/real.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The initial testing of the VFW binary codec was flawed,
likely due to an AviSynth bug.
Re-testing using VirtualDub and various professional editing
applications has revealed it should have been flipped.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* commit '9d5c62ba5b586c80af508b5914934b1c439f6652':
lavu/opt: do not filter out the initial sign character except for flags
eval: treat dB as decibels instead of decibytes
float_dsp: add vector_dmul_scalar() to multiply a vector of doubles
Conflicts:
libavutil/eval.c
tests/ref/fate/eval
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
fate: workaround for slighly broken 'test' shell builtin
mimic: initialize padding of swap_buf through av_fast_padded_malloc
eamad: initialize padding of bitstream_buf through av_fast_padded_malloc()
raw demuxer: initialize end of partial packets
Conflicts:
tests/fate-run.sh
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Some shells, e.g. minix3, have a broken 'test' builtin which fails
if the first operand of a binary operator looks like a unary operator.
Prefixing the values with 'x' prevents this from happening.
Signed-off-by: Mans Rullgard <mans@mansr.com>
It is broken, and results will be messed up when seeking.
This also fix duration displayed for streams when using -c copy.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
* qatar/master:
ppc: always use pic for shared libraries
build: cosmetics: Move CONFIG_RTPDEC entry to a more suitable place
fate: ea, h264: prettyprinting and ordering cosmetics
Conflicts:
tests/fate/ea.mak
tests/fate/h264.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
fate: fft: Fix libavcodec dependency
build: Make the ISMV muxer select the MOV muxer
configure: move arm arch extensions to a separate variable
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'e816034a5fa131b13c4ad87bb0b5065b4f5697c6':
fate-seek: remove use of gnu make 3.82 only private modifier
fate: move vsynth reference files to their own directory
fate: move fate-acodec reference files to their own dir
configure: avplay now depends on avresample
fate: split dependencies for fate-seek tests
Conflicts:
configure
tests/fate/seek.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Each fate-seek test depends now only on the corresponding fate-acodec,
fate-vsynth2 or fate-lavf test which creates the file seek-tests
operates on. The tests and references are renamed to match the test they
depend on.
Without this exception files with ".gif" extension by default
recognized as input suitable for image2 demuxer rather than gif.
In order to pass image through gif demuxer it was necessary
to use -f gif option.
This change affected 'make fate' test results because previously
image2 demuxer and gif decoder took only first frame of multiframe
test data, which is no longer true with gif demuxer.
Signed-off-by: Vitaliy E Sugrobov <vsugrob@hotmail.com>
* commit 'e4d349b4014ee2a03f521027e0bd1ace4a9e60bd':
fate: h264: Add dependencies
fate: ea: Add dependencies
fate: Do not unconditionally run libavutil tests
rtpenc_chain: Remove unused variable
nuv: check for malloc failure when allocating extradata
nuv: use the stream indices generated by avformat_new_stream()
Conflicts:
tests/fate/ea.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The new code reads the input frame when its ready, the previous
code did read the input frame during start_frame at which point it
may not yet be available.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The following commit will make it useless.
The crop_scale_vflip FATE test changes because of off-by-one differences
in output when vflipped slices are passed to sws.
This fixes correctly storing and identifying PCM in nut.
Based on patch by Luca Barbato
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
FATE: add a bink version 'b' test
FATE: add a bink version 'i' test
libswscale: remove unnecessary direct #if LIBSWSCALE_VERSION_MAJOR
Conflicts:
tests/fate/video.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '3b4296f41473a5b39e84d7a49d480624c9c60040':
avformat: clarify stream id for muxing
fate: Add dependencies for aac, alac, amrnb, amrwb, atrac tests
ppc: do not pass redundant compiler flags
avutil: change GET_UTF8 to not use av_log2()
segment: fix NULL pointer dereference in seg_write_header()
Conflicts:
tests/fate/aac.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This remove the owner, group and permission preservation on fatesample checkouts
These caused problems for durandal_1707
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
fate: atrac: Place atrac1 and atrac3 tests in different groups
fate: aac: cosmetics: Group AAC LATM tests together
x86: avresample: Add missing colons to assembly labels
Conflicts:
tests/fate/aac.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
FATE: add a 24-bit FLAC encoding test
FATE: rename FLAC tests from flac-* to flac-16-*
flacenc: use RICE2 entropy coding mode for 24-bit
flacenc: add 24-bit encoding
flacdsp: move lpc encoding from FLAC encoder to FLACDSPContext
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '5ff998a233d759d0de83ea6f95c383d03d25d88e':
flacenc: use uint64_t for bit counts
flacenc: remove wasted trailing 0 bits
lavu: add av_ctz() for trailing zero bit count
flacenc: use a separate buffer for byte-swapping for MD5 checksum on big-endian
fate: aac: Place LATM tests and general AAC tests in different groups
build: The A64 muxer depends on rawenc.o for ff_raw_write_packet()
Conflicts:
doc/APIchanges
libavutil/version.h
tests/fate/aac.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Currently FFM files generated with one versions of ffmpeg generally
cannot be read by another.
By spliting data into chunks, more fields can saftely be appended to
chunks as well as new chunks added.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Otherwise during scaling it will try to interpret input in the wrong way and
that leads to the test results disagreeing on different platforms and with
different optimizations.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
* qatar/master:
pixfmt: support more yuva formats
swscale: support gray to 9bit and 10bit formats
configure: rewrite print_config() function using awk
FATE: fix (AD)PCM test dependencies broken in e519990
Use ptrdiff_t instead of int for intra pred "stride" function parameter.
x86: use PRED4x4/8x8/8x8L/16x16 macros to declare intrapred prototypes.
Conflicts:
libavcodec/h264pred.c
libavcodec/h264pred_template.c
libavutil/pixfmt.h
libswscale/swscale_unscaled.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>
* commit '14f031d7ecfabba0ef02776d4516aa3dcb7c40d8':
dv: use AVStream.index instead of abusing AVStream.id
lavfi: add ashowinfo filter
avcodec: Add a RFC 3389 comfort noise codec
lpc: Add a function for calculating reflection coefficients from samples
lpc: Add a function for calculating reflection coefficients from autocorrelation coefficients
lavr: document upper bound on number of output samples.
lavr: add general API usage doxy
indeo3: remove duplicate capabilities line.
fate: ac3: Add dependencies
Conflicts:
Changelog
doc/filters.texi
libavcodec/Makefile
libavcodec/allcodecs.c
libavcodec/avcodec.h
libavcodec/codec_desc.c
libavcodec/version.h
libavfilter/Makefile
libavfilter/af_ashowinfo.c
libavfilter/allfilters.c
libavfilter/version.h
libavutil/avutil.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '381dc1a5ec0925b281c573457c413ae643567086':
fate: ac3: Place E-AC-3 tests and AC-3 tests in different groups
fate: Add shorthands for acodec PCM and ADPCM tests
avconv: Drop unused function argument from do_video_stats()
cmdutils: Conditionally compile libswscale-related bits
aacenc: Drop some unused function arguments
rtsp: Avoid a cast when calling strtol
nut: support textual data
nutenc: verbosely report unsupported negative pts
Conflicts:
cmdutils.c
ffmpeg.c
libavformat/nut.c
libavformat/nutenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'ec444c84cfd30ef34a4e7b4ec7ee77d7e5250d25':
mpegaudiodec: Fix buffer handling on random access
mpegaudio: Refactor mp3on4 flush function
fate: Add dependencies for audio tests
fate: cosmetics: Group idct8x8 test together with all other libavcodec tests
fate: More fine-grained dependencies for libavcodec test programs
Conflicts:
tests/fate/audio.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This causes make to exit with an error message if a nonexistent
dependency is specified rather than silently dropping the test.
Signed-off-by: Mans Rullgard <mans@mansr.com>
FATE_SAMPLES_FFPROBE is a different list than FATE_FFPROBE, the same way
FATE_SAMPLES_FFMPEG is a different list than FATE_FFMPEG; these
FATE_SAMPLES_<tool> lists are in the FATE_EXTERN list, which is only
used when SAMPLES is set.
* commit 'c9ef43215c7d68c2cdcdbe02287aa114f27a32ed':
fate-vc1: add dependencies
ARM: fix overreads in neon h264 chroma mc
rtsp: Make sure the ret variable is initialized in ff_rtsp_fetch_packet
gitignore: ignore files created by msvc
fate: Add proper dependencies for the tests in video.mak
configure: Disable Snow decoder and encoder by default
lzo: Drop obsolete fast_memcpy reference
build: Drop OBJS declaration for non-existing PCM_DVD encoder
mpeg4videodec: Disable frame multithreading for GMC, its not implemented at all
Conflicts:
libavcodec/mpegvideo.c
libavformat/rtsp.c
tests/fate/microsoft.mak
tests/fate/video.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
fate: Add proper dependencies in qt.mak
fate: Add proper dependencies in lossless-video.mak
indeo3: do not try to output more lines than we can fit
bmv: get a new frame on every decode_frame(), so we can use direct rendering
Conflicts:
libavcodec/bmv.c
tests/fate/lossless-video.mak
tests/fate/qt.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '1cd432e167b1a80853760c89a33606e2b5f229c2':
configure: fix libcdio check
rtsp: Allow setting the reordering buffer size via an AVOption
rtsp: Vertically align a constant definition
rtp: Update the check for distinguishing between RTP and RTCP
aac: fix build with hardcoded tables
fate: dependencies for screen codec tests
riff: Move functions around to be covered by appropriate #ifdefs
Conflicts:
configure
tests/fate/screen.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'c0329748b04e1f175dad8c9c2ebf22a5e2dc5b72':
fate: add a dependency helper macro
Add support for building shared libraries with MSVC
avcodec: Rename avpriv_frame_rate_tab to ff_mpeg12_frame_rate_tab
gxf: Add a local copy of the relevant parts of the frame rate table
configure: Split out msvc as a separate target OS
aviobuf: Remove a senseless ifdef in avio_seek
Conflicts:
configure
libavcodec/dirac.c
libavcodec/mpeg12data.h
libavcodec/mpeg12enc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Previously if frame decoding failed it would be
silently reported as valid frame.
The fate ref is updated because sample have
truncated last video packet.
While here return meaningful error codes.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
* qatar/master:
mips64: mark hi/lo registers clobbered in MAC64/MLS64 macros
fate: list lavfi tests in a makefile
Conflicts:
configure
tests/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '36ac9a16a19a365ce58cc871484c20cffe9b6401':
fate: dependencies for seek tests
fate: handle lavf test dependencies entirely in make
Conflicts:
configure
tests/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '292d1e78743855404c7d07e3e7cb3f9c9ae6275b':
fate: dependencies for acodec tests
fate: dependencies for vsynth tests
fate: add macros useful for conditionally enabling things
libmp3lame: resize the output buffer if needed
Conflicts:
tests/fate/acodec.mak
tests/fate/vcodec.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '3dc06b6972cf389269e9c36ff0a4373f80f7149b':
tiny_psnr: check for specified sample size less than 1
fate: improve md5sum utility selection
rangecoder-test: Drop timer output that clutters stderr
Conflicts:
tests/tiny_psnr.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
For a sample size of 32 bits, the shift would overflow producing
undefined results. Incidentally, in the only test currently using
32-bit samples, the output matches the reference exactly on most
systems meaning the bad 'max' value is never used.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This fixes playback in some circumstances (like webm in firefox).
Regression after 2c34367b.
It is also matching the Matroska specifications:
http://matroska.org/technical/specs/notes.html, "The quick eye will
notice that if a Cluster's Timecode is set to zero, it is possible to
have Blocks with a negative Raw Timecode. Blocks with a negative Raw
Timecode are not valid."
* commit '0a7005bebd23ade7bb852bce0401af1a8fdbb723':
rtpdec_xiph: fix function return type
smjpeg: fix type of 'ret' variable in smjpeg_read_packet()
mpegvideo: remove write-only variable
Use proper return values in case of missing features
fate: add avstring test
rangecoder-test: Set error message log level to error, instead of debug
Conflicts:
libavcodec/aacdec.c
libavcodec/amrnbdec.c
libavcodec/mpegvideo.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'b522000e9b2ca36fe5b2751096b9a5f5ed8f87e6':
avio: introduce avio_closep
mpegtsenc: set muxing type notification to verbose
vc1dec: Use correct spelling of "opposite"
a64multienc: change mc_frame_counter to unsigned
arm: call arm-specific rv34dsp init functions under if (ARCH_ARM)
svq1: Drop a bunch of useless parentheses
parseutils-test: do not print numerical error codes
svq1: K&R formatting cosmetics
Conflicts:
doc/APIchanges
libavcodec/svq1dec.c
libavcodec/svq1enc.c
libavformat/version.h
libavutil/parseutils.c
tests/ref/fate/parseutils
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This test only make sure that the idet filter does not crash.
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
build: sanitize linking of tools and test programs
fate: Refactor setting of environment variables for groups of tests
Conflicts:
tests/fate/audio.mak
tests/fate/real.mak
tests/fate/voice.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'cbcd497f384f0f8ef3f76f85b29b644b900d6b9f':
adxdec: use planar sample format
adpcmdec: use planar sample format for adpcm_thp
adpcmdec: use planar sample format for adpcm_ea_xas
adpcmdec: use planar sample format for adpcm_ea_r1/r2/r3
adpcmdec: use planar sample format for adpcm_xa
adpcmdec: use planar sample format for adpcm_ima_ws for vqa version 3
adpcmdec: use planar sample format for adpcm_4xm
adpcmdec: use planar sample format for adpcm_ima_wav
adpcmdec: use planar sample format for adpcm_ima_qt
pcmdec: use planar sample format for pcm_lxf
mace: use planar sample format
atrac1: use planar sample format
build: non-x86: Only compile mpegvideo optimizations when necessary
rtpdec_mpeg4: au_headers is a single array, simple av_free is enough
avcodec: free extended_data instead address of it
fate: Add tests of the ff_make_absolute_url function
url: Handle relative urls starting with two slashes
url: Handle relative urls being just a new query string
url: Don't treat slashes in query parameters as directory separators
Conflicts:
libavcodec/adxdec.c
libavcodec/mips/Makefile
libavcodec/pcm.c
libavcodec/utils.c
libavformat/Makefile
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
wmaenc: use float planar sample format
(e)ac3enc: use planar sample format
aacenc: use planar sample format
adpcmenc: use planar sample format for adpcm_ima_wav and adpcm_ima_qt
adpcmenc: move 'ch' variable to higher scope
adpcmenc: fix 3 instances of variable shadowing
adpcm_ima_wav: simplify encoding
libvorbis: use planar sample format
libmp3lame: use planar sample formats
vorbisenc: use float planar sample format
ffm: do not write or read the audio sample format
parseutils: fix parsing of invalid alpha values
doc/RELEASE_NOTES: update for the 9 release.
smoothstreamingenc: Add a more verbose error message
smoothstreamingenc: Ignore the return value from mkdir
smoothstreamingenc: Try writing a manifest when opening the muxer
smoothstreamingenc: Move the output_chunk_list and write_manifest functions up
smoothstreamingenc: Properly return errors from ism_flush to the caller
smoothstreamingenc: Check the output UrlContext before accessing it
Conflicts:
doc/RELEASE_NOTES
libavcodec/aacenc.c
libavcodec/ac3enc_template.c
libavcodec/wmaenc.c
tests/ref/lavf/ffm
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The timebases before where only guranteed to be 1/fps precisse
and could cause AV sync errors on low fps
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The new fields are only printed when they differ from their defaults
this way only few fate refs change
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The fate checksum change is due to the header size having been wrong.
Credit&Authorship for the code belongs to Justin Ruggles
Blame for bugs in this merging of the code belong to the Commiter
Commit message by Commiter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Otherwise, the last byte of each stream is left uninitialized.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
While a 25 fps stream can in general store frame durations in 1/25
units, this is not true for the timestamps. For example a 25fps
and a 25000/1001 fps stream when they are stored together might have
a matching 0 timestamp point but when for example a chapter from
this is cut the new start is no longer aligned. The issue gets
MUCH worse when the streams are lower fps, like 1 or 2 fps.
This commit thus makes the muxer choose a multiple of the
framerate as timebase that is at least about 20 micro seconds precise
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
With this, when we use a finer timebase than neccessary to store
durations the demuxer still knows what the original timebase was.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>