This reduces the delay when opening the video with quicktime.
Idea-by: Maksym Veremeyenko <verem@m1stereo.tv>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This uses the old demuxing code for OP1a and separate demuxing code for OPAtom.
Timestamp output is added to the old demuxing code.
The seeking code is made to seek to the start of the desired EditUnit only,
from which the normal demuxing code takes over (if OP1a). This means we
do not use delta entries or slices, only StreamOffsets. OPAtom seeking
basically works like before.
This also makes D-10 seeking behave the same way as OP1a and OPAtom. In other
words, we allow seeking before the start or past the end for D-10 too.
Based on several patches by Tomas Härdin <tomas.hardin@codemill.se> and
Reimar Döffinger <Reimar.Doeffinger@gmx.de>.
Changed av_calloc to av_mallocz, added overflow checks.
* qatar/master:
mpeg12: check for available bits to avoid an infinite loop
fate: add some shorthands to run groups of tests
fate: Give some tests more sensible names.
cosmetics: Rename ffsink to avsink.
Conflicts:
avconv.c
cmdutils.c
cmdutils.h
ffmpeg.c
ffplay.c
tests/fate/audio.mak
tests/fate/demux.mak
tests/fate/dpcm.mak
tests/fate/image.mak
tests/fate/lossless-audio.mak
tests/fate/lossless-video.mak
tests/fate/microsoft.mak
tests/fate/pcm.mak
tests/fate/real.mak
tests/fate/screen.mak
tests/fate/video.mak
tests/fate/voice.mak
tests/fate/wma.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
They allow to implement the if/then/else logic, which cannot be
implemented otherwise.
For example the expression:
A*B + not(A)*C
always evaluates to NaN if B is NaN, even in the case where A is 0.
* qatar/master:
fate: split ADPCM and DPCM test references into separate files.
mov, mxfdec: Employ more meaningful return values.
lavc: Relax API strictness in avcodec_decode_audio3 with a custom get_buffer()
wavpack: fix clipping for 32-bit lossy mode
vb: Use bytestream2 functions
Conflicts:
libavcodec/utils.c
libavcodec/vb.c
libavformat/mxfdec.c
tests/fate/dpcm.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
sgidec: Use bytestream2 functions to prevent buffer overreads.
cosmetics: Move static and inline attributes to more standard places.
configure: provide libavfilter/version.h header to get_version()
swscale: change yuv2yuvX code to use cpuflag().
libx264: Don't leave max_b_frames as -1 if the user didn't set it
FATE: convert output to rgba for the targa tests which currently output pal8
fate: add missing reference files for targa tests in 9c2f9b0e2
FATE: enable the 2 remaining targa conformance suite tests
targa: add support for rgb555 palette
FATE: fix targa tests on big-endian systems
Conflicts:
libavcodec/sgidec.c
libavcodec/targa.c
libswscale/x86/output.asm
tests/fate/image.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
FATE: add tests for targa
ARM: fix Thumb-mode simple_idct_arm
ARM: 4-byte align start of all asm functions
rgb2rgb: rgb12to15()
swscale-test: fix stack overread.
swscale: fix invalid conversions and memory problems.
cabac: split cabac.h into declarations and function definitions
cabac: Mark ff_h264_mps_state array as static, it is only used within cabac.c.
cabac: Remove ff_h264_lps_state array.
Conflicts:
libswscale/rgb2rgb.h
libswscale/swscale_unscaled.c
tests/fate/image.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master: (22 commits)
rv34: frame-level multi-threading
mpegvideo: claim ownership of referenced pictures
aacsbr: prevent out of bounds memcpy().
ipmovie: fix pts for CODEC_ID_INTERPLAY_DPCM
sierravmd: fix audio pts
bethsoftvideo: Use bytestream2 functions to prevent buffer overreads.
bmpenc: support for PIX_FMT_RGB444
swscale: fix crash in fast_bilinear code when compiled with -mred-zone.
swscale: specify register type.
rv34: use get_bits_left()
avconv: reinitialize the filtergraph on resolution change.
vsrc_buffer: error on changing frame parameters.
avconv: fix -copyinkf.
fate: Update file checksums after the mov muxer change in a78dbada55
movenc: Don't store a nonzero creation time if nothing was set by the caller
bmpdec: support for rgb444 with bitfields compression
rgb2rgb: allow conversion for <15 bpp
doc: fix stray reference to FFmpeg
v4l2: use C99 struct initializer
v4l2: poll the file descriptor
...
Conflicts:
avconv.c
libavcodec/aacsbr.c
libavcodec/bethsoftvideo.c
libavcodec/kmvc.c
libavdevice/v4l2.c
libavfilter/vsrc_buffer.c
libswscale/swscale_unscaled.c
libswscale/x86/input.asm
tests/ref/acodec/alac
tests/ref/acodec/pcm_s16be
tests/ref/acodec/pcm_s24be
tests/ref/acodec/pcm_s32be
tests/ref/acodec/pcm_s8
tests/ref/lavf/mov
tests/ref/vsynth1/dnxhd_1080i
tests/ref/vsynth1/mpeg4
tests/ref/vsynth1/qtrle
tests/ref/vsynth1/svq1
tests/ref/vsynth2/dnxhd_1080i
tests/ref/vsynth2/mpeg4
tests/ref/vsynth2/qtrle
tests/ref/vsynth2/svq1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This test does not work on all platforms and until it does
it just hides new failures, which is really bad.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
fate: Add tests for more AAC features.
aacps: Add missing newline in error message.
fate: Add tests for vc1/wmapro in ism.
aacdec: Add a fate test for 5.1 channel SBR.
aacdec: Turn off PS for multichannel files that use PCE based configs.
cabac: remove put_cabac_u/ueg from cabac-test.
swscale: RGB4444 and BGR444 input
FATE: add test for xWMA demuxer.
FATE: add test for SMJPEG demuxer and associated IMA ADPCM audio decoder.
mpegaudiodec: optimized iMDCT transform
mpegaudiodec: change imdct window arrangment for better pointer alignment
mpegaudiodec: move imdct and windowing function to mpegaudiodsp
mpegaudiodec: interleave iMDCT buffer to simplify future SIMD implementations
swscale: convert yuy2/uyvy/nv12/nv21ToY/UV from inline asm to yasm.
FATE: test to exercise WTV demuxer.
mjpegdec: K&R formatting cosmetics
swscale: K&R formatting cosmetics for code examples
swscale: K&R reformatting cosmetics for header files
FATE test: cvid-grayscale; ensures that the grayscale Cinepak variant is exercised.
Conflicts:
libavcodec/cabac.c
libavcodec/mjpegdec.c
libavcodec/mpegaudiodec.c
libavcodec/mpegaudiodsp.c
libavcodec/mpegaudiodsp.h
libavcodec/mpegaudiodsp_template.c
libavcodec/x86/Makefile
libavcodec/x86/imdct36_sse.asm
libavcodec/x86/mpegaudiodec_mmx.c
libswscale/swscale-test.c
libswscale/swscale.c
libswscale/swscale_internal.h
libswscale/x86/swscale_template.c
tests/fate/demux.mak
tests/fate/microsoft.mak
tests/fate/video.mak
tests/fate/wma.mak
tests/ref/lavfi/pixfmts_scale
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(Does not attempt to decode percetual audio data inside.)
Code coverage: libavformat/xwma.c: 3% -> 75%
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(Don't attempt to decode JPEG data.)
Code coverage: libavformat/smjpeg.c: 0% -> 69%
libavcodec/adpcm.c: 0% -> 10% (fresh run); 92.4% -> 93% following a FATE run
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* qatar/master: (29 commits)
cabac: Move code only used within the CABAC test program into the test program.
vp56: Drop unnecessary cabac.h #include.
h264-test: Initialize AVCodecContext.av_class.
build: Skip compiling network.h and rtsp.h if networking is not enabled.
cosmetics: drop some pointless parentheses
Disable annoying warning without changing behavior
faq: Solutions for common problems with sample paths when running FATE.
avcodec: attempt to clarify the CODEC_CAP_DELAY documentation
avcodec: fix avcodec_encode_audio() documentation.
FATE: xmv-demux test; exercise the XMV demuxer without decoding the perceptual codecs inside.
vqf: recognize more metadata chunks
FATE test: BMV demuxer and associated video and audio decoders.
FATE: indeo4 video decoder test.
FATE: update xxan-wc4 test to a sample with more code coverage.
Change the recent h264_mp4toannexb bitstream filter test to output to an elementary stream rather than a program stream.
g722enc: validate AVCodecContext.trellis
g722enc: set frame_size, and also handle an odd number of input samples
g722enc: split encoding into separate functions for trellis vs. no trellis
mpegaudiodec: Use clearer pointer math
tta: Fix returned error code at EOF
...
Conflicts:
libavcodec/h264.c
libavcodec/indeo3.c
libavcodec/interplayvideo.c
libavcodec/ivi_common.c
libavcodec/libxvidff.c
libavcodec/mpegvideo.c
libavcodec/ppc/mpegvideo_altivec.c
libavcodec/tta.c
libavcodec/utils.c
libavfilter/vsrc_buffer.c
libavformat/Makefile
tests/fate/indeo.mak
tests/ref/acodec/g722
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The previous sample used for this test only contained type 0 frames.
Replace it with a sample that also features type 1 frames.
Code coverage:
libavcodec/xxan.c: 72% -> 89%
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* qatar/master: (21 commits)
ipmovie: do not read audio packets before the codec is known
truemotion2: check size before GetBitContext initialisation
avio: Only do implicit network initialization for network protocols
avio: Add an URLProtocol flag for indicating that a protocol uses network
adpcm: ADPCM Electronic Arts has always two channels
matroskadec: Fix a bug where a pointer was cached to an array that might later move due to a realloc()
fate: Add missing reference file from 9b4767e4.
mov: Support MOV_CH_LAYOUT_USE_DESCRIPTIONS for labeled descriptions.
4xm: Prevent buffer overreads.
mjpegdec: parse RSTn to prevent skipping other data in mjpeg_decode_scan
vp3: add fate test for non-zero last coefficient
vp3: fix streams with non-zero last coefficient
swscale: remove unused U/V arguments from yuv2rgb_write().
timer: K&R formatting cosmetics
lavf: cosmetics, reformat av_read_frame().
lavf: refactor av_read_frame() to make it easier to understand.
Report an error if pitch_lag is zero in AMR-NB decoder.
Revert "4xm: Prevent buffer overreads."
4xm: Prevent buffer overreads.
4xm: pass the correct remaining buffer size to decode_i2_frame().
...
Conflicts:
libavcodec/4xm.c
libavcodec/mjpegdec.c
libavcodec/truemotion2.c
libavformat/ipmovie.c
libavformat/mov_chan.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master: (46 commits)
mtv: Make sure audio_subsegments is not 0
v4l2: use V4L2_FMT_FLAG_EMULATED only if it is defined
avconv: add symbolic names for -vsync parameters
flvdec: Fix compiler warning for uninitialized variables
rtsp: Fix compiler warning for uninitialized variable
ulti: convert to new bytestream API.
swscale: Use standard multiple inclusion guards in ppc/ header files.
Place some START_TIMER invocations in separate blocks.
v4l2: list available formats
v4l2: set the proper codec_tag
v4l2: refactor device_open
v4l2: simplify away io_method
v4l2: cosmetics
v4l2: uniform and format options
v4l2: do not force interlaced mode
avio: exit early in fill_buffer without read_packet
vc1dec: fix invalid memory access for small video dimensions
rv34: fix invalid memory access for small video dimensions
rv34: joint coefficient decoding and dequantization
avplay: Don't call avio_set_interrupt_cb(NULL)
...
Conflicts:
Changelog
avconv.c
doc/APIchanges
doc/indevs.texi
libavcodec/adxenc.c
libavcodec/dnxhdenc.c
libavcodec/h264.c
libavdevice/v4l2.c
libavformat/flvdec.c
libavformat/mtv.c
libswscale/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
fate: add dxtory test
adx_parser: rewrite.
adxdec: Validate channel count to fix a division by zero.
adxdec: Do not require extradata.
cmdutils: K&R reformatting cosmetics
alacdec: implement the 2-pass prediction type.
alacenc: implement the 2-pass prediction type.
alacenc: do not generate invalid multi-channel ALAC files
alacdec: fill in missing or guessed info about the extradata format.
utvideo: proper median prediction for interlaced videos
lavu: bump lavu minor for av_popcount64
dca: K&R formatting cosmetics
dct: K&R formatting cosmetics
lavf: flush decoders in avformat_find_stream_info().
win32: detect number of CPUs using affinity
Add av_popcount64
snow: Restore three mistakenly removed casts.
Conflicts:
cmdutils.c
doc/APIchanges
libavcodec/adx_parser.c
libavcodec/adxdec.c
libavcodec/alacenc.c
libavutil/avutil.h
tests/fate/screen.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
mpegenc: use avctx->slices as number of slices
v410enc: fix undefined signed left shift caused by integer promotion
Release notes: mention cleaned up header includes
fix Changelog file
Fix a bunch of typos.
Drop some pointless void* return value casts from av_malloc() invocations.
wavpack: fix typos in previous cosmetic clean-up commit
wavpack: cosmetics: K&R pretty-printing
avconv: remove the 'codec framerate is different from stream' warning
wavpack: determine sample_fmt before requesting a buffer
bmv audio: implement new audio decoding API
mpegaudiodec: skip all channels when skipping granules
mpegenc: simplify muxrate calculation
Conflicts:
Changelog
avconv.c
doc/RELEASE_NOTES
libavcodec/h264.c
libavcodec/mpeg12.c
libavcodec/mpegaudiodec.c
libavcodec/mpegvideo.c
libavformat/mpegenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Adds a new member to MpegEncContext to hold the number of used slice
contexts. Fixes segfaults with '-threads 17 -thread_type slice' and
fate-vsynth{1,2}-mpeg{2,4}thread{,_ilace} with --disable-pthreads.
* qatar/master:
avconv: make -frames work for all types of streams, not just video.
bfi: K&R cosmetics
bgmc: K&R cleanup
rawdec: Set start_time to 0 for raw audio files.
Detect 'yuv2' as rawvideo also in avi.
rawdec: propagate pict_type information to the output frame
rawdec: Support more QT 1bpp rawvideo files.
avconv: free bitstream filters
threads: limit the number of automatic threads to MAX_AUTO_THREADS
avplay: K&R cleanup
fate: use rgb24 as output format for dfa tests
threads: set thread_count to 1 when thread support is disabled
threads: introduce CODEC_CAP_AUTO_THREADS and add it to libx264
Conflicts:
ffplay.c
libavcodec/avcodec.h
libavcodec/pthread.c
libavcodec/version.h
tests/ref/fate/dfa1
tests/ref/fate/dfa10
tests/ref/fate/dfa11
tests/ref/fate/dfa2
tests/ref/fate/dfa3
tests/ref/fate/dfa4
tests/ref/fate/dfa5
tests/ref/fate/dfa6
tests/ref/fate/dfa7
tests/ref/fate/dfa8
tests/ref/fate/dfa9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Palette is as supposed in native endianness. Converting the pal8 output
to rgb24 is thus necessary for identical CRCs on big and little endian
systems.
* qatar/master:
FATE: add tests for dfa
mpegaudiodec: fix seeking.
mpegaudiodec: fix compilation when testing the unchecked bitstream reader
threads: add sysconf based number of CPUs detection
threads: always include necessary headers for number of CPUs detection
threads: default to automatic thread count detection
Changelog: restore version <next> header
cook: K&R formatting cosmetics
Conflicts:
Changelog
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
fate: whitespace cosmetics
fate: split off video codec FATE tests into their own file
fate: split off audio codec FATE tests into their own file
fate: split off Electronic Arts codec FATE tests into their own file
fate: split off QuickTime codec FATE tests into their own file
fate: split off voice codec FATE tests into their own file
fate: split off demuxer FATE tests into their own file
cosmetics: Drop unnecessary parentheses around return values.
fate: drop pointless _audio and _video suffixes from xan tests
qt-faststart: K&R reformatting; fix comment typos
FATE: Add test for H.264 MP4->annex.B bitstream filter.
Conflicts:
ffplay.c
tests/fate.mak
tests/fate/h264.mak
tests/fate/image.mak
tests/fate/lossless-audio.mak
tests/fate/lossless-video.mak
tests/fate/qtrle.mak
tests/fate/real.mak
tests/fate/screen.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
fate: split off DPCM codec FATE tests into their own file
fate: split off PCM codec FATE tests into their own file
libvorbis: K&R reformatting cosmetics
libmp3lame: K&R formatting cosmetics
fate: Add a video test for xxan decoder
mpegvideo_enc: K&R cosmetics (line 1000-2000).
avconv: K&R cosmetics
qt-faststart: Fix up indentation
indeo4: remove two unused variables
doxygen: cleanup style to support older doxy
fate: add more tests for VC-1 decoder
applehttpproto: Apply the same reload interval changes as for the demuxer
applehttp: Use half the target duration as interval if the playlist didn't update
applehttp: Use the last segment duration as reload interval
lagarith: add decode support for arith rgb24 mode
Conflicts:
avconv.c
libavcodec/libmp3lame.c
libavcodec/mpegvideo_enc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
fate: split off vqf/twinvq FATE tests into their own file
fate: split off mpc FATE tests into their own file
fate: split off libavcodec FATE tests into their own file
fate: split off Microsoft codec FATE tests into their own file
fate: group all VP* codec FATE tests together in one file
swscale: prevent invalid writes in packed_16bpc_bswap
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
lavc: always align height by 32 pixel
raw: add 10bit YUV definitions
nut: support 10bit YUV
mpegvideo_enc: separate declarations and statements
oma: make header compile standalone
vp3: Reorder some functions to fix VP3 build with Theora disabled.
build: fix standalone compilation of ADX encoder
build: fix standalone compilation of ADPCM decoders
build: fix standalone compilation of mpc7/mpc8 decoders
4xm: Use bytestream2 functions to prevent overreads
bytestream: add a new set of bytestream functions with overread checking
mpegts: Suppress invalid timebase warnings on DMB streams.
mpegts: Fix typo in handling sections in the PMT.
vc1dec: Use the right pointer type for the tmp pointer
Conflicts:
libavcodec/4xm.c
libavcodec/utils.c
libavcodec/vc1dec.c
libavcodec/vp3.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Some libavifilter tests use NUT as output even if the produced
files were not decodable. The support for 10bit introduced in
432f0e5b7d and 91b1e6f0c changed the hashes.
* tjoppen/proper_mxf_track_linking:
mxfdec: Don't parse slices or DeltaEntryArrays
mxfdec: Remove dead/useless code
mxfdec: Hybrid demuxing/seeking solution
mxfdec: Add mxf_edit_unit_absolute_offset()
mxfdec: Replace zero IndexDurations with st->duration
mxfdec: Add "fake" index to MXFIndexTable to assist seeking
mxfdec: Add MXFIndexTables
mxfdec: Move mxf_read_packet*() near the bottom of the file
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The sample has an incomplete last frame. Decoding it is pointless.
The garbage produced was changed by the bitstream reader now
protecting against over-reads.
Signed-off-by: Mans Rullgard <mans@mansr.com>
This uses the old demuxing code for OP1a and separate demuxing code for OPAtom.
Timestamp output is added to the old demuxing code.
The seeking code is made to seek to the start of the desired EditUnit only,
from which the normal demuxing code takes over (if OP1a). This means we don't
use delta entries or slices, only StreamOffsets.
OPAtom seeking basically works like before.
This also makes D-10 seeking behave the same way as OP1a and OPAtom. In other
words, we allow seeking before the start or past the end for D-10 too.
This fixes ticket #746.
This changes mxf_compute_ptses() to be used for MXFIndexTable, and also adds
code for computing the fake index to it.
This also temporarily disables PTS computation. A future patch will restore it.
* qatar/master:
movenc: Rudimentary IODs support.
v410enc: fix output buffer size check
v410enc: include correct headers
fate: add -pix_fmt rgb48le to r210 test
flvenc: Support muxing 16 kHz nellymoser
configure: refactor list of programs into a variable
fate: add r210 decoder test
fate: split off Indeo FATE tests into their own file
fate: split off ATRAC FATE tests into their own file
fate: Add FATE tests for v410 encoder and decoder
ARM: fix external symbol refs in rv40 asm
westwood: Make sure audio header info is present when parsing audio packets
libgsm: Reset the MS mode of GSM in the flush function
libgsm: Set options on the right object
ARM: dca: disable optimised decode_blockcodes() for old gcc
Conflicts:
configure
libavformat/movenc.c
libavformat/movenc.h
tests/fate2.mak
tests/ref/acodec/alac
tests/ref/vsynth1/mpeg4
tests/ref/vsynth2/mpeg4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master: (23 commits)
applehttp: Properly clean up if unable to probe a segment
applehttp: Avoid reading uninitialized memory
fate: Replace misleading "aac" in the name of an ADTS test with "adts".
fate: Drop pointless "-an" from pictor test command.
fate: split off image codec FATE tests into their own file
fate: split off WMA codec FATE tests into their own file
fate: split off lossless video and audio FATE tests into their own files
fate: split off qtrle codec FATE tests into their own file
fate: split off Ut Video codec FATE tests into their own file
fate: split off screen codec FATE tests into their own file
fate: split off Real Inc. codec FATE tests into their own file
fate: split off AC-3 codec FATE tests into their own file
mpegvideo: remove abort() in ff_find_unused_picture()
rv40: NEON optimised loop filter strength selection
rv40: rearrange loop filter functions
configure: cosmetics: sort some lists where appropriate
swscale_mmx: drop no longer required parameters from VSCALEX macros
swscale: Mark yuv2planeX_8_mmx as MMX2; it contains MMX2 instructions.
build: conditionally compile x86 H.264 chroma optimizations
v410 encoder and decoder
...
Conflicts:
Changelog
configure
doc/developer.texi
doc/general.texi
libavcodec/arm/asm.S
libavcodec/avcodec.h
libavcodec/v410dec.c
libavcodec/v410enc.c
libavcodec/version.h
libavcodec/x86/Makefile
libavcodec/x86/dsputil_mmx.c
libswscale/x86/swscale_mmx.c
tests/Makefile
tests/fate2.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
ulti: Fix invalid reads
lavf: dealloc private options in av_write_trailer
yadif: support 10bit YUV
vc1: mark with ER_MB_ERROR bits overconsumption
lavc: introduce ER_MB_END and ER_MB_ERROR
error_resilience: use the ER_ namespace
build: move inclusion of subdir.mak to main subdir loop
rv34: NEON optimised 4x4 dequant
rv34: move 4x4 dequant to RV34DSPContext
aacdec: Use intfloat.h rather than local punning union.
Conflicts:
libavcodec/h264.c
libavcodec/vc1dec.c
libavfilter/vf_yadif.c
libavformat/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This patch is a generalization of what Michael Niedermayer
fixed in a single case.
The wmv8-drm fate test had been updated accordingly.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
As far as I could see the only change is increased pos values,
which is as expected with additional metadata in the files.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
I am not entirely sure the seek functionality is working correctly,
there are some strange cases like successful seek but no dts value.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* qatar/master: (21 commits)
Warn about avserver being broken.
avconv: drop code for special handling of avserver streams.
rawdec: don't set codec timebase.
lavf doxy: add muxing stuff to lavf_encoding group
lavf doxy: add demuxing stuff to lavf_decoding group
lavf doxy: expand/reword metadata API doxy.
lavf doxy: add installed headers to groups.
lavf doxy: add avio groups into the lavf_io group.
lavf doxy: rename lavf I/O group to lavf_io.
lavf doxy: add metadata docs to the main lavf group
ttadec: check channel count as read from extradata.
Add CLJR encoding and decoding regression tests
cljr: remove unused code
flacdec: Support for tracks in cuesheet metadata block
ptx: fix inverted check for sufficient data
flac muxer: fix writing of file header and STREAMINFO header from extradata
ptx: emit a warning on insufficient picture data
utvideo: add fate tests covering all codec variants
doc: update to refer to avconv
doc: remove some stale entries from the faq
...
Conflicts:
Changelog
avconv.c
doc/avconv.texi
doc/faq.texi
doc/ffplay.texi
doc/ffprobe.texi
doc/ffserver.texi
libavcodec/avcodec.h
libavcodec/cljr.c
libavformat/avformat.h
libavformat/riff.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
isom: sort and pretty-print codec_movaudio_tags[]
isom: remove pointless comments in codec_movaudio_tags[]
isom: remove commented-out tag for vorbis
movenc: write 'chan' tag for AC-3 in MOV
mov: add support for reading and writing the 'chan' tag
audioconvert: add some additional channel and channel layout macros
audioconvert: change 7.1 "wide" layout to use side surround channels
movenc: simplify handling of pcm vs. adpcm vs. other compressed codecs
doc: update documentation to use avconv
doc: update demuxers section
doc: extend external library coverage
doc: split platform specific information
doc: port the git-howto to texinfo
doc: provide fallback css and customize @float
doc: document fate in a texinfo
doxy: change hue value to match our green
Conflicts:
doc/fate.txt
doc/ffserver.texi
doc/general.texi
doc/muxers.texi
doc/protocols.texi
doc/t2h.init
libavformat/isom.c
libavformat/mov.c
libavutil/avutil.h
tests/ref/acodec/pcm_s16be
tests/ref/acodec/pcm_s24be
tests/ref/acodec/pcm_s32be
tests/ref/acodec/pcm_s8
tests/ref/lavf/mov
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Use Sound Sample Description Version 2 for all MOV files.
Updated FATE references accordingly.
Note that ADPCM is treated as compressed audio in version 2.
* tjoppen/opatom_demuxing_and_seeking:
mxfdec: Index table driven demuxing and seeking
mxfdec: Compute packet offsets properly
mxfdec: Use MaterialPackage - Track - TrackID instead of the system_item hack
mxfdec: Parse more values in PartitionPack
mxfdec: Parse TemporalOffsets
mxfdec: av_dlog():ify 'no corresponding source package found'
mxfdec: Compute essence container offsets and lengths into mxf->partitions
mxfdec: Make mxf->partitions sorted by offset
mxfdec: Parse ThisPartition
mxfdec: Speed up metadata and index parsing
mxfdec: Make sure DataDefinition is consistent between material track and source track
mxfdec: Add EssenceContainer UL found in 0001GL00.MXF.A1.mxf_opatom.mxf
Merged-by: Michael Niedermayer <michaelni@gmx.at>
In 1bpp mode, interpret skip&0x80 as "start a new line" instead of "go to next line", this is almost the same except for the first line which was always skipped before and caused to try to write an extra line at the end of the frame (ticket #226).
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The default of 9 gives different results on different FATE systems.
However the zlib test using compression level 6 works, so
try this instead.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* 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>
More specifically, PNG, v210, zlib and zmbv codecs.
zmbv needs vf_scale to be able to produce PAL8.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
While quality is bad, PAL8 support is needed to allow testing some
encoders that only support PAL8 input.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* qatar/master:
h264: fix frame reordering code.
fate: Add a test for the VBLE decoder
doc: break some long lines in developer.texi
drawtext: make x and y parametric
drawtext: manage memory allocation better
drawtext: refactor draw_text
doc: remove space between variable and post increment in example code
Conflicts:
doc/developer.texi
doc/filters.texi
libavcodec/h264.c
libavfilter/vf_drawtext.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master: (25 commits)
rtpenc: Add support for G726 audio
rtpdec: Interpret the different G726 names as bits_per_coded_sample
rtpenc: Change rtp_send_samples to handle sample sizes other than even bytes
rtpenc: Cast a rescaling parameter to int64_t
h264: cap max has_b_frames at MAX_DELAYED_PIC_COUNT - 1.
ARM: fix indentation in ff_dsputil_init_neon()
ARM: NEON put/avg_pixels8/16 cosmetics
ARM: add remaining NEON avg_pixels8/16 functions
ARM: clean up NEON put/avg_pixels macros
fate: split acodec-pcm into individual tests
swscale: #include "libavutil/mathematics.h"
pmpdec: don't use deprecated av_set_pts_info.
rv34: align temporary block of "dct" coefs
Add PlayStation Portable PMP format demuxer
proto: Realign struct initializers
proto: Use .priv_data_size to allocate the private context
mmsh: Properly clean up if the second ffurl_alloc failed
rtmp: Clean up properly if the handshake failed
md5proto: Remove the get_file_handle function
applehttpproto: Use the close function if the open function fails
...
Conflicts:
libavcodec/vble.c
libavformat/mmsh.c
libavformat/pmpdec.c
libavformat/udp.c
tests/ref/acodec/pcm
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Add all seven test bitstreams of Coding Technologies "aacPlus Decoder
Check Package". The streams cover different ways to signal SBR and PS
in different formats.
The qatar implementation makes no sense.
a muxer without timestamps is constant fps thus needs vsync.
the crc/mp5 are special cases that have timestamps yet allow any
nonsensical timestamps.
raw (yuv/rgb) video is constant fps thus needs vsync too.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
libavutil: add utility functions to simplify allocation of audio buffers.
libavutil: add planar sample formats and av_sample_fmt_is_planar()
avconv: fix segfault at EOF with delayed pictures
pcmdec: remove unneeded resetting of samples pointer
avconv: remove a now unused parameter from output_packet().
avconv: formatting fixes in output_packet()
avconv: declare some variables in blocks where they are used
avconv: use the same behavior when decoding audio/video/subs
bethsoftvideo: return proper consumed size for palette packets.
cdg: skip packets that don't contain a cdg command.
crcenc: add flags
avconv: use vsync 0 for AVFMT_NOTIMESTAMPS formats.
tiffenc: add a private option for selecting compression algorithm
md5enc: add flags
ARM: remove needless .text/.align directives
Conflicts:
doc/APIchanges
libavcodec/tiffenc.c
libavutil/avutil.h
libavutil/samplefmt.c
libavutil/samplefmt.h
tests/ref/fate/bethsoft-vid
tests/ref/fate/cdgraphics
tests/ref/fate/film-cvid-pcm-stereo-8bit
tests/ref/fate/mpeg2-field-enc
tests/ref/fate/nuv
tests/ref/fate/tiertex-seq
tests/ref/fate/tscc-32bit
tests/ref/fate/vmnc-32bit
Merged-by: Michael Niedermayer <michaelni@gmx.at>
AVFMT_NOTIMESTAMPS for crc, as it ignores the timestamps.
AVFMT_VARIABLE_FPS for framecrc, as it prints dts.
Many FATE changes, because avconv is no longer duplicating frames in
those tests.
Also added -vsync 0 for some tests to prevent avconv from dropping
frames until it can be fixed more properly.
AVFMT_NOTIMESTAMPS for md5, as it ignores the timestamps.
AVFMT_VARIABLE_FPS for framemd5, as it prints dts.
-vsync 0 for the vp8 test is needed because with vsync 2 the timestamp
guessing code gets confused by an altref frame that is never displayed
and drops a frame later.
* qatar/master: (22 commits)
aacdec: Fix PS in ADTS.
avconv: Consistently use PIX_FMT_NONE.
dsputil: use cpuflags in x86 emu_edge_core
dsputil: use movups instead of movdqu in ff_emu_edge_core_sse()
wma: initialize prev_block_len_bits, next_block_len_bits, and block_len_bits.
mov: Remove some redundant and obsolete comments.
Add libavutil/mathematics.h #includes for INFINITY
doxy: structure libavformat groups
doxy: introduce an empty structure in libavcodec
doxy: provide a start page and document libavutil
doxy: cleanup pixfmt.h
regtest: split video encode/decode tests into individual targets
ARM: add explicit .arch and .fpu directives to asm.S
pthread: do not touch has_b_frames
avconv: cleanup the transcoding loop in output_packet().
avconv: split subtitle transcoding out of output_packet().
avconv: split video transcoding out of output_packet().
avconv: split audio transcoding out of output_packet().
avconv: reindent.
avconv: move streamcopy-only code out of decoding loop.
...
Conflicts:
avconv.c
libavcodec/aaccoder.c
libavcodec/pthread.c
libavcodec/version.h
libavutil/audioconvert.h
libavutil/avutil.h
libavutil/mem.h
tests/ref/vsynth1/dv
tests/ref/vsynth1/mpeg2thread
tests/ref/vsynth2/dv
tests/ref/vsynth2/mpeg2thread
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master: (22 commits)
configure: add check for w32threads to enable it automatically
rtmp: do not hardcode invoke numbers
cinepack: return non-generic errors
fate-lavf-ts: use -mpegts_transport_stream_id option.
Add an APIchanges entry and a minor bump for avio changes.
avio: Mark the old interrupt callback mechanism as deprecated
avplay: Set the new interrupt callback
avconv: Set new interrupt callbacks for all AVFormatContexts, use avio_open2() everywhere
cinepak: remove redundant coordinate checks
cinepak: check strip_size
cinepak, simplify, use AV_RB24()
cinepak: simplify, use FFMIN()
cinepak: Fix division by zero, ask for sample if encoded_buf_size is 0
applehttp: Fix seeking in streams not starting at DTS=0
http: Don't use the normal http proxy mechanism for https
tls: Handle connection via a http proxy
http: Reorder two code blocks
http: Add a new protocol for opening connections via http proxies
http: Split out the non-chunked buffer reading part from http_read
segafilm: add support for raw videos
...
Conflicts:
avconv.c
configure
doc/APIchanges
libavcodec/cinepak.c
libavformat/applehttp.c
libavformat/version.h
tests/lavf-regression.sh
tests/ref/lavf/ts
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master: (35 commits)
libopencore-amr: check output buffer size before decoding
libopencore-amr: remove unneeded buf_size==0 check.
libopencore-amr: remove unneeded frame_count field.
aac_latm: remove unneeded check for zero-size packet.
pcmdec: fix output buffer size check by calculating the actual output size prior to decoding.
pcmdec: move codec-specific variable declarations to the corresponding codec blocks.
pcmdec: return buf_size instead of src-buf.
avcodec: remove the Zork PCM encoder.
pcm_zork: use AV_SAMPLE_FMT_U8 instead of shifting all samples by 8.
pcmenc: remove unneeded sample_fmt check.
pcmdec: move number of channels check to pcm_decode_init()
pcmdec: remove unnecessary check for sample_fmt change
pcmdec: move DVD PCM bits_per_coded_sample check near to the code that sets the sample size.
pcmdec: do not needlessly set *data_size to 0
alacdec: remove unneeded NULL or zero-size packet checks.
alacdec: simplify buffer allocation by using FF_ALLOC_OR_GOTO()
alacdec: ask for a sample for unsupported sample depths.
alacdec: cosmetics: use 'ch' instead of 'chan' to iterate channels
alacdec: move some declarations to the top of the function
alacdec: always use get_sbits_long() for uncompressed samples
...
Conflicts:
libavcodec/pcm.c
tests/ref/acodec/pcm
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The Zork PCM decoder does not decode the 1 sample we have correctly, therefore
the encoder based on the decoder is also incorrect. There is no good reason to
keep the encoder.
* qatar/master:
id3v2: fix doxy comment - 'machine byte order' makes no sense on char arrays
VC1: restore mistakenly removed code
twinvq: check output buffer size before decoding
twinvq: return an error when the packet size is too small
lavf: export some forgotten symbols with non-av prefixes.
swscale: update altivec yuv2planeX asm to new per-plane API.
swscale: make yuv2yuvX_10_sse2/avx 8/9/16-bits aware.
yuv2planeX10 SIMD
swscale: decide whether to use yuv2plane1/X on a per-plane basis.
swscale: reintroduce full precision in 16-bit output.
Split up yuv2yuvX functions
Split out yuv2yuv1 luma and chroma in order to make them generic DSP functions
lavc: replace references to deprecated AVCodecContext.error_recognition to use AVCodecContext.err_recognition
lavc: translate non-flag-based er options into flag-based ef options at codec open
add -err_filter AVOptions to access flag-based error recognition
h264_weight: initialize "height" function argument properly.
presets: spelling error in libvpx 1080p50_60
avplay: fix fullscreen behaviour with SDL 1.2.14 on Mac OS X
Conflicts:
ffplay.c
libavformat/libavformat.v
libswscale/swscale.c
libswscale/x86/swscale_template.c
tests/ref/lavfi/pixfmts_scale
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master: (35 commits)
flvdec: Do not call parse_keyframes_index with a NULL stream
libspeexdec: include system headers before local headers
libspeexdec: return meaningful error codes
libspeexdec: cosmetics: reindent
libspeexdec: decode one frame at a time.
swscale: fix signed shift overflows in ff_yuv2rgb_c_init_tables()
Move timefilter code from lavf to lavd.
mov: add support for hdvd and pgapmetadata atoms
mov: rename function _stik, some indentation cosmetics
mov: rename function _int8 to remove ambiguity, some indentation cosmetics
mov: parse the gnre atom
mp3on4: check for allocation failures in decode_init_mp3on4()
mp3on4: create a separate flush function for MP3onMP4.
mp3on4: ensure that the frame channel count does not exceed the codec channel count.
mp3on4: set channel layout
mp3on4: fix the output channel order
mp3on4: allocate temp buffer with av_malloc() instead of on the stack.
mp3on4: copy MPADSPContext from first context to all contexts.
fmtconvert: port float_to_int16_interleave() 2-channel x86 inline asm to yasm
fmtconvert: port int32_to_float_fmul_scalar() x86 inline asm to yasm
...
Conflicts:
libavcodec/arm/h264dsp_init_arm.c
libavcodec/h264.c
libavcodec/h264.h
libavcodec/h264_cabac.c
libavcodec/h264_cavlc.c
libavcodec/h264_ps.c
libavcodec/h264dsp_template.c
libavcodec/h264idct_template.c
libavcodec/h264pred.c
libavcodec/h264pred_template.c
libavcodec/x86/h264dsp_mmx.c
libavdevice/Makefile
libavdevice/jack_audio.c
libavformat/Makefile
libavformat/flvdec.c
libavformat/flvenc.c
libavutil/pixfmt.h
libswscale/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master: (47 commits)
lavc: hide private symbols.
lavc: deprecate img_get_alpha_info().
lavc: use avpriv_ prefix for ff_toupper4.
lavc: use avpriv_ prefix for ff_copy_bits and align_put_bits.
lavc: use avpriv_ prefix for ff_ac3_parse_header.
lavc: use avpriv_ prefix for ff_frame_rate_tab.
lavc: rename ff_find_start_code to avpriv_mpv_find_start_code
lavc: use avpriv_ prefix for ff_split_xiph_headers.
lavc: use avpriv_ prefix for ff_dirac_parse_sequence_header.
lavc: use avpriv_ prefix for some dv symbols used in lavf.
lavc: use avpriv_ prefix for some flac symbols used in lavf.
lavc: use avpriv_ prefix for some mpeg4audio symbols used in lavf.
lavc: use avpriv_ prefix for some mpegaudio symbols used in lavf.
lavc: use avpriv_ prefix for ff_aac_parse_header().
lavf: hide private symbols.
lavf: use avpriv_ prefix for some dv functions.
lavf: use avpriv_ prefix for ff_new_chapter().
avcodec: add CODEC_CAP_DELAY note to avcodec_decode_audio3() documentation
avcodec: clarify the CODEC_CAP_DELAY note in avcodec_decode_video2()
avcodec: clarify documentation of CODEC_CAP_DELAY
...
Conflicts:
configure
doc/general.texi
libavcodec/Makefile
libavcodec/aacdec.c
libavcodec/allcodecs.c
libavcodec/avcodec.h
libavcodec/dv.c
libavcodec/dvdata.c
libavcodec/dvdata.h
libavcodec/libspeexenc.c
libavcodec/mpegvideo.c
libavcodec/version.h
libavformat/avidec.c
libavformat/dv.c
libavformat/dv.h
libavformat/flvenc.c
libavformat/mov.c
libavformat/mp3enc.c
libavformat/oggparsespeex.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
enable CODEC_CAP_DELAY to flush any remaining frames in the buffer.
Stop decoding when the FN_QUIT command is found so that a trailing seek table
isn't decoded as a normal frame.
decode all channels in the same call to avcodec_decode_audio3() so that
decoding will not stop after the first channel of the last frame.
Updated FATE reference. More valid audio is now decoded.
* qatar/master:
sunrast: Check for out of bounds reads
lavc: rename AV_ER_* options to AV_EF_* and rename AGGRESSIVE to BUFFER
lavc: replace API-bump-triggered AVCodecContext field change with shorter, non-conflicting name
Add libvpx presets.
doc/avtools: add forgotten part to stream specifiers description
swscale: prevent overflow during initialization
g722: Add a fate test for the encoder
fate: Add a target for creating a 16000 Hz mono synthetic audio file
macosx: use the default surface on newer sdl
Conflicts:
ffplay.c
libavcodec/avcodec.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
prores: get correct size for coded V plane if alpha is present
prores: do not set pixel format on codec init
pthread: prevent updating AVCodecContext from itself in frame_thread_free
pthread: copy coded frame dimensions in update_context_from_thread
vp8: prevent read from uninitialized memory in decode_mvs
vp8: force reallocation in update_thread_context after frame size change
vp8: fix return value if update_dimensions fails
matroskadec: fix out of bounds write
adpcmdec: calculate actual number of output samples for each decoder.
adpcmdec: check remaining buffer size before decoding next block in the ADPCM IMA WAV decoder.
adpcmdec: do not terminate early in ADPCM IMA Duck DK3 decoder.
adpcmdec: remove unneeded buf_size==0 check.
adpcmdec: remove unneeded zeroing of *data_size
dnxhdenc: fixed signed multiplication overflow
Conflicts:
tests/ref/fate/prores-alpha
tests/ref/fate/truemotion1-24
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The pixel format is not known until the frame header is parsed.
Guessing it here only causes trouble for the caller if the guess
turns out to be wrong (and actually causes very wrong output by
avconv/avplay).
Signed-off-by: Mans Rullgard <mans@mansr.com>
* qatar/master:
proresdsp: fix function prototypes.
prores-idct: fix overflow in c code.
fate: update prores-alpha ref after changing pix_fmt to yuv444p10le
prores: add missing feature warning for alpha
mov: 10l: Terminate string with 0 not '0'
mov: Prevent illegal writes when chapter titles are very short.
prores: add appropriate -fix_fmt parameter to FATE command
riff: always generate a proper WAVEFORMATEX structure in ff_put_wav_header
lavc: add a flag-based error_recognition field to AVCodecContext and deprecate non-flag-based ER field
lavc: rename deprecation symbol FF_API_VERY_AGGRESSIVE to FF_API_ER
Conflicts:
libavcodec/avcodec.h
libavformat/mov.c
tests/fate/prores.mak
tests/ref/acodec/g726
tests/ref/fate/prores-alpha
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The cbSize field should be included in all cases, even with PCM where
its value is ignored.
Fixes encoding PCM audio in Matroska for some players which insist on
a full WAVEFORMATEX structure for A_MS/ACM audio.
Since fate uses wav files for the audio test a larger number of tests
has changed checksums or shifted positions due to the 2 byte longer
wave header.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* qatar/master: (22 commits)
prores: add FATE tests
id3v2: reduce the scope of some non-globally-used symbols/structures
id3v2: cosmetics: move some declarations before the places they are used
shorten: remove the flush function.
shn: do not allow seeking in the raw shn demuxer.
avformat: add AVInputFormat flag AVFMT_NO_BYTE_SEEK.
avformat: update AVInputFormat allowed flags
avformat: don't unconditionally call ff_read_frame_flush() when trying to seek.
truespeech: use sizeof() instead of hardcoded sizes
truespeech: remove unneeded variable, 'consumed'
truespeech: simplify truespeech_read_frame() by using get_bits()
truespeech: decode directly to output buffer instead of a temp buffer
truespeech: check to make sure channels == 1
truespeech: check for large enough output buffer rather than truncating output
truespeech: remove unneeded zero-size packet check.
mlpdec: return meaningful error codes instead of -1
mlpdec: remove unnecessary wrapper function
mlpdec: only calculate output size once
mlpdec: validate that the reported channel count matches the actual output channel count
pcm: reduce pointer type casting
...
Conflicts:
libavformat/avformat.h
libavformat/id3v2.c
libavformat/id3v2.h
libavformat/utils.c
libavformat/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
mpeg4dec: use unsigned type for startcode in ff_mpeg4_decode_picture_header
mpeg124: use sign_extend() function
ac3dec: use get_sbits() instead of manually sign-extending
4xm: fix signed overflow
wmavoice: fix a signed overflow
mpegvideo_enc: fix a signed overflow
crc: fix signed overflow
fate: run avconv with -nostats flag
avtools: add -v as alias for -loglevel
avconv: always print stats with AV_LOG_INFO
doc/avconv: add forgotten output/per-stream info to -filter
avconv: add -stats option to enable/disable printing encoding progress
avconv: in output_packet() don't set decoded_data_size for video.
avconv: remove pointless always true condition
avconv: factorize common code in transcode_init()
zmbv: remove memcpy() of decoded frame
mpeg12enc: use sign_extend() function
h264pred: use unsigned types for pixel values, fix signed overflows
h264: fix signed overflows in x*0x01010101 expressions
h264pred: remove unused variables
Conflicts:
avconv.c
tests/fate-run.sh
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master: (24 commits)
mpegps: Use av_get_packet() instead of poorly emulating it.
motionpixels: decode only the 111 complete frames for fate
mpc8: Check out of bound bands limit
xan: Prevent NULL dereference with missing palette
xan: Check for out of bound reads in xan_huffman_decode()
xan: Fixed out of bound accesses in xan_unpack()
motionpixels: Prevent calling init_vlc() with invalid parameters
shorten: Fix out of bound writes in fix_bitshift()
dsicinav: Check for out of bounds writes
tiertexseqv: Check for out of bound reads
quickdraw: Check for out of bound reads
dsicinav: Check for out of bounds reads
motionpixels: Fix the size of workspace buffers
motionpixels: Clear FF_INPUT_BUFFER_PADDING_SIZE bytes at the end of the temporary buffer
wmavoice: Check for corrupted extra data
wmavoice: Check for out of bound writes
xan: Prevent NULL dereferences with missing reference frame
bink: Prevent NULL dereferences with missing reference frame
wavpack: Reset internal state on corrupted blocks
wmapro: Validate the number of audio channels before using it
...
Conflicts:
libavcodec/h264.c
libavcodec/xan.c
tests/ref/fate/motionpixels
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master: (23 commits)
avconv: Reformat s16 volume adjustment.
ARM: NEON optimised vector_fmac_scalar()
dca: use vector_fmac_scalar from dsputil
dsputil: add vector_fmac_scalar()
latmenc: Fix private options
vf_unsharp: store hsub/vsub in the filter context
vf_unsharp: adopt a more natural order of params in apply_unsharp()
vf_unsharp: rename method "unsharpen" to "apply_unsharp"
vf_scale: apply the same transform to the aspect during init that is applied per frame
vf_pad: fix "vsub" variable value computation
vf_scale: add a "sar" variable
lavfi: fix realloc size computation in avfilter_add_format()
vsrc_color: use internal timebase
lavfi: fix signature for avfilter_graph_parse() and avfilter_graph_config()
graphparser: prefer void * over AVClass * for log contexts
avfiltergraph: use meaningful error codes
avconv: Initialize return value for codec copy path.
fate: use 'run' helper for seek-test
fate: remove seek-mpeg2reuse test
Fix memory (re)allocation in matroskadec.c, related to MSVR-11-0080.
...
Conflicts:
doc/filters.texi
libavfilter/avfilter.h
libavfilter/avfiltergraph.c
libavfilter/avfiltergraph.h
libavfilter/graphparser.c
libavfilter/vf_scale.c
libavfilter/vsrc_color.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Makes the code less obfuscated and fixes encoding one video stream to
several outputs.
Also use avcodec_alloc_frame() instead of allocating AVFrame on stack.
Breaks me_threshold in avconv, as motion vectors aren't passed through
lavfi. They could be copied manually, but I don't think this misfeature
is useful enough to justify ugly hacks.
* qatar/master: (21 commits)
fate: allow testing with libavfilter disabled
x86: XOP/FMA4 CPU detection support
ws_snd: misc cosmetic clean-ups
ws_snd: remove the 2-bit ADPCM table and just subtract 2 instead.
ws_snd: use memcpy() and memset() instead of loops
ws_snd: use samples pointer for loop termination instead of a separate iterator variable.
ws_snd: make sure number of channels is 1
ws_snd: add some checks to prevent buffer overread or overwrite.
ws_snd: decode to AV_SAMPLE_FMT_U8 instead of S16.
flacdec: fix buffer size checking in get_metadata_size()
rtp: Simplify ff_rtp_get_payload_type
rtpenc: Add a payload type private option
rtp: Correct ff_rtp_get_payload_type documentation
avconv: replace all fprintf() by av_log().
avconv: change av_log verbosity from ERROR to FATAL for fatal errors.
cmdutils: replace fprintf() by av_log()
avtools: parse loglevel before all the other options.
oggdec: add support for Xiph's CELT codec
sol: return error if av_get_packet() fails.
cosmetics: reindent and pretty-print
...
Conflicts:
avconv.c
cmdutils.c
libavcodec/avcodec.h
libavcodec/version.h
libavformat/oggparsecelt.c
libavformat/utils.c
libavutil/avutil.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
rtp: factorize dynamic payload type fallback
flvdec: Ignore the index if it's from a creator known to be different
cmdutils: move grow_array out of #if CONFIG_AVFILTER
avconv: actually set InputFile.rate_emu
ratecontrol: update last_qscale_for sooner
Fix unnecessary shift with 9/10bit vertical scaling
prores: mark prores as intra-only in libavformat/utils.c:is_intra_only()
prores: return more meaningful error values
prores: improve error message wording
prores: cosmetics: prettyprinting, drop useless parentheses
prores: lowercase AVCodec name entry
Conflicts:
cmdutils.c
libavcodec/proresdec_lgpl.c
tests/ref/lavfi/pixfmts_scale
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
Add LATM demuxer
avplay: flush audio decoder with empty packets at EOF if the decoder has CODEC_CAP_DELAY set.
8svx/iff: fix decoding of compressed stereo 8svx files.
8svx: log an error message if output buffer is too small
8svx: check packet size before reading the initial sample value.
8svx: output 8-bit samples instead of 16-bit.
8svx: split delta decoding into a separate function.
mp4: Don't read an empty Decoder Config Descriptor
fate.sh: Ignore errors from rm command during cleanup.
fate.sh: Run git-pull in quiet mode to avoid console spam.
Apple ProRes decoder
rtmp: Make the input FLV parser handle data cut at any point
rv34: Check for invalid slices offsets
eval: test isnan(sqrt(-1)) instead of just sqrt(-1)
Conflicts:
Changelog
libavcodec/8svx.c
libavcodec/proresdec.c
libavcodec/version.h
libavformat/iff.c
libavformat/version.h
tests/ref/fate/eval
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The install directory being deleted might not be present if the build failed.
This can lead to annoying error output if the FATE client is run as a cronjob.
Similar to libswscale this does resampling and format convertion, just for audio
instead of video.
changing sampling rate, sample formats, channel layouts and sample packing all
in one with a very simple public interface.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
lavfi: add select filter
oggdec: fix out of bound write in the ogg demuxer
movenc: create an alternate group for each media type
lavd: add libcdio-paranoia input device for audio CD grabbing
rawdec: refactor private option for raw video demuxers
pcmdec: use unique classes for all pcm demuxers.
rawdec: g722 is always 1 channel/16kHz
Conflicts:
Changelog
configure
doc/filters.texi
libavdevice/avdevice.h
libavfilter/avfilter.h
libavfilter/vf_select.c
tests/ref/lavf/mov
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This uses the RIFF header stored size to figure out the expected AVI file size, instead
of the actual file. To work fully it requires handling failed avio_seek() instead
of assuming they always succeed.
Some fate file has been cut off and contains half a frame at the end which previously
was not output during demuxing. This frame is now output to encoder, thus fate
diff update.
Merge video_qscale (set by -qscale) and audio_qscale (set by -aq) into
one 'qscale' field in the options context. Add a shortcut -q for -qscale
and make -aq an alias for -q:a.
* qatar/master:
ac3enc: Add channel coupling support for the fixed-point AC-3 encoder.
ac3enc: scale floating-point coupling channel coefficients in scale_coefficients() rather than in apply_channel_coupling()
ac3enc: fix encoding of stereo ac3 files when rematrixing is disabled.
wavpack: fix wrong return value in wavpack_decode_block()
avconv: fix parsing metadata specifiers.
fate: use +frame+slice named constants instead of '3'
mpeg12: propagate more real return values through chunk decode error return and fix some indentation
wavpack: use context reset in appropriate places
avconv: move mux_preload and mux_max_delay to options context
avconv: move bitstream filters to options context.
avconv: move rate_emu to options context.
avconv: move max_frames to options context.
avconv: move metadata to options context.
avconv: move ts scale to options context.
avconv: move chapter maps to options context.
avconv: move metadata maps to options context.
avconv: move codec_names to options context.
Conflicts:
avconv.c
tests/fate-run.sh
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
lavc: fix type for thread_type option
avconv: move format to options context
avconv: move limit_filesize to options context
avconv: move start_time, recording_time and input_ts_offset to options context
avconv: add a context for options.
cmdutils: allow storing per-stream/chapter/.... options in a generic way
cmdutils: split per-option code out of parse_options().
cmdutils: add support for caller-provided option context.
cmdutils: declare only one pointer type in OptionDef
cmdutils: move grow_array() from avconv to cmdutils.
cmdutils: move exit_program() declaration to cmdutils from avconv
http: Consider the stream as seekable if the reply contains Accept-Ranges: bytes
nutenc: add namespace to the api facing functions
Conflicts:
avconv.c
cmdutils.c
cmdutils.h
ffmpeg.c
ffplay.c
ffprobe.c
ffserver.c
libavformat/http.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
fifo: add FIFO API test program, and fate test
fifo: add av_fifo_peek2(), and deprecate av_fifo_peek()
postprocess.c: filter name needs to be double 0 terminated
doxygen: fix wrong comment syntax, //< vs. ///<
doxygen: drop pointless star from pointer variable names
Replace deprecated av_find_stream_info() by avformat_find_stream_info().
xmv: eliminate superfluous zeroing of zero data
configure: fix typo in avconv dependency list
Conflicts:
configure
doc/APIchanges
libavutil/Makefile
libavutil/avutil.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
libx264: only use ABR mode when the user explicitly set bitrate.
libx264: use medium preset by default.
mp2 encoder: make 128k the default bitrate.
movenc: use libx264 by default when possible for mov, mp4 and psp
avienc: saner default audio codec.
matroskaenc: saner default codecs.
avplay: add examples of how to specify size/pixel format through private options
lavc: add A|E|D flags to "ac" and "ar" options
Conflicts:
doc/ffplay.texi
libavcodec/libx264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
avconv: Fix spelling errors.
aac: Only set sample rate and object type from ADTS if output hasn't been configured.
aac: Set SBR and PS to unsignalled during headerless and ADTS initialization.
aac: Only output configure if audio was found.
avconv: save two levels of indentation in flush_encoders()
avconv: factor flushing encoders out of output_packet().
avconv: factor out initializing input streams.
avconv: remove -intra option.
avconv: reset streamid_map between output files.
avconv: make timer_start a local var in transcode().
avconv: cosmetics, move OutputStream.
avconv: remove two unused macros.
Conflicts:
avconv.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master: (23 commits)
h264: hide reference frame errors unless requested
swscale: split hScale() function pointer into h[cy]Scale().
Move clipd macros to x86util.asm.
avconv: reindent.
avconv: rescue poor abused start_time global.
avconv: rescue poor abused recording_time global.
avconv: merge two loops in output_packet().
avconv: fix broken indentation.
avconv: get rid of the arbitrary MAX_FILES limit.
avconv: get rid of the output_streams_for_file vs. ost_table schizophrenia
avconv: add a wrapper for output AVFormatContexts and merge output_opts into it
avconv: make itsscale syntax consistent with other options.
avconv: factor out adding input streams.
avconv: Factorize combining auto vsync with format.
avconv: Factorize video resampling.
avconv: Don't unnecessarily convert ipts to a double.
ffmpeg: remove unsed variable nopts
RV3/4 parser: remove unused variable 'off'
add XMV demuxer
rmdec: parse FPS in RealMedia properly
...
Conflicts:
avconv.c
libavformat/version.h
libswscale/swscale.c
tests/ref/fate/lmlm4-demux
Merged-by: Michael Niedermayer <michaelni@gmx.at>