* qatar/master:
configure: Automatically add more flags required on symbian
mem.h: switch doxygen parameter order to match function prototype
doxygen: replace @sa tag by the more readable but equivalent @see
doxygen: use Doxygen markup for authors and web links where appropriate
doxygen: do not include license boilerplate in Doxygen documentation
ac3enc: Mark AVClasses const
ffserver: Replace two loops with one loop.
ffmpeg: Fix the check for experimental codecs
swscale: extend mmx padding.
swscale: clip unscaled colorspace conversion path.
doxygen: misc consistency cosmetics
doc: remove file name from @file directive in Doxygen usage example
doxygen: consistently place brief description
doxygen: place empty line between brief description and detailed description
avformat_open_input(): Add braces to shut up gcc warning.
Conflicts:
libavcodec/8svx.c
libavcodec/tiff.c
libavcodec/tiff.h
libavcodec/vaapi_h264.c
libavcodec/vorbis.c
libavcodec/vorbisdec.c
libavcodec/vp6.c
libswscale/swscale_unscaled.c
libswscale/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
APIchanges: fill in missing hashes and dates.
Add an APIChanges entry and bump minor versions for recent changes.
ffmpeg: print the low bitrate warning after the codec is openend.
doxygen: Move function documentation into the macro generating the function.
doxygen: Make sure parameter names match between .c and .h files.
h264: move fill_decode_neighbors()/fill_decode_caches() to h264_mvpred.h
H.264: Add more x86 assembly for 10-bit H.264 predict functions
lavf: fix invalid reads in avformat_find_stream_info()
cmdutils: replace opt_default with opt_default2() and remove set_context_opts
ffmpeg: use new avcodec_open2 and avformat_find_stream_info API.
ffplay: use new avcodec_open2 and avformat_find_stream_info API.
cmdutils: store all codec options in one dict instead of video/audio/sub
ffmpeg: check experimental flag after codec is opened.
ffmpeg: do not set GLOBAL_HEADER flag in the options context
Conflicts:
cmdutils.c
doc/APIchanges
ffmpeg.c
ffplay.c
libavcodec/version.h
libavformat/version.h
libswscale/swscale_unscaled.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'b5849f77095439e994b11c25e6063d443b36c228': (21 commits)
ac3enc: merge AC3MDCTContext with AC3EncodeContext.
ac3enc: prefer passing AC3EncodeContext rather than AVCodecContext
ac3enc: fix memleak
mpeg1video: add CODEC_CAP_SLICE_THREADS.
lavf: fix segfault in av_open_input_stream()
mpegtsenc: set Random Access indicator on keyframe start packets
lavf: Cleanup try_decode_frame() logic.
Replace some gotos that lead to single return statements by direct return.
build: move tests/seek_test.c to libavformat and reuse generic build rules
mxfenc: include needed header for ff_iso8601_to_unix_time() prototype
Add a check for strptime().
lavf: factor out conversion of ISO8601 string to unix time
wav: parse 'bext' metadata
wav: keep parsing until EOF if the input is seekable and we know the size of the data tag
wav: Refactor the tag checking into a switch statement
wav: make sure neither data_size nor sample_count is negative.
wav: refactor the 'fmt ' tag search and parsing.
wav: add an option for writing BEXT chunk
ffmpeg: get rid of a pointless limit on number of streams.
ffmpeg: remove an unused define.
...
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Moving the search and parsing of the 'fmt ' info the main loop of
wav_read_header() allows tags that precede it to be parsed. Creating
wav_parse_fmt_tag() makes wav_read_header() easier to read.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
* qatar/master:
doc: Improve references to external URLs.
h264: move decode_mb_skip() from h264.h to h.264_mvpred.h
ffplay: skip return value of avcodec_decode_video2 / avcodec_decode_subtitle2
dnxhdenc: Replace a forward declaration by the proper #include.
h264: move h264_mvpred.h include.
pix_fmt: Fix number of bits per component in yuv444p9be
lavf: deprecate AVFormatContext.timestamp
ffmpeg: merge input_files_ts_scale into InputStream.
ffmpeg: don't abuse a global for passing sample format from input to output
ffmpeg: don't abuse a global for passing channel layout from input to output
ffmpeg: factor common code from new_a/v/s/d_stream to new_output_stream()
matroskaenc: make SSA default subtitle codec.
oggdec: prevent heap corruption.
Conflicts:
doc/developer.texi
doc/faq.texi
doc/general.texi
ffmpeg.c
ffplay.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Resetting it on codec init would incorrectly clear the values
if av_find_stream_info was already run before, in particular
breaking ffplay.
This fixes trac tickets #213 and #262.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Specifically crafted samples can reinit ogg->streams[] while
reading samples, and thus we should not cache old pointers since
these may no longer be valid.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
According to MPEG-TS specs, the continuity_counter shall not be
incremented when the adaptation_field_control of the packet
equals '00' or '10'.
Signed-off-by: Jindrich Makovicka <jindrich.makovicka@nangu.tv>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
* commit '142e76f1055de5dde44696e71a5f63f2cb11dedf':
swscale: fix crash with dithering due incorrect offset calculation.
matroskadec: fix stupid typo (!= -> ==)
build: remove duplicates from order-only directory prerequisite list
build: rework rules for things in the tools dir
configure: fix --cpu=host with gcc 4.6
ARM: use const macro to define constant data in asm
bitdepth: simplify FUNC/FUNCC macros
dsputil: remove ff_emulated_edge_mc macro used in one place
9/10-bit: simplify clipping macros
matroskadec: reindent
matroskadec: defer parsing of cues element until we seek.
lavc: add support for codec-specific defaults.
lavc: make avcodec_alloc_context3 officially public.
lavc: remove a half-working attempt at different defaults for audio/video codecs.
ac3dec: add a drc_scale private option
lavf: add avformat_find_stream_info()
lavc: introduce avcodec_open2() as a replacement for avcodec_open().
Conflicts:
Makefile
libavcodec/utils.c
libavformat/avformat.h
libswscale/swscale_internal.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Declaring tools associated with each library in their respective
makefiles allows these tools to easily depend on the correct
prerequisites and link against the libs they need.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* qatar/master: (22 commits)
H.264: fix filter_mb_fast with 4:4:4 + 8x8dct
alsa: limit buffer_size to 32768 frames.
alsa: fallback to buffer_size/4 for period_size.
doc: replace @pxref by @ref where appropriate
mpeg1video: don't abort if thread_count is too high.
segafilm: add support for videos with cri adx adpcm
gxf: Fix 25 fps DV material in GXF being misdetected as 50 fps
libxvid: Add const qualifier to silence compiler warning.
H.264: improve qp_thresh check
H.264: use fill_rectangle in CABAC decoding
H.264: Remove redundant hl_motion_16/8 code
H.264: merge fill_rectangle into P-SKIP MV prediction, to match B-SKIP
H.264: faster P-SKIP decoding
H.264: av_always_inline some more functions
H.264: Add x86 assembly for 10-bit H.264 predict functions
swscale: rename uv_off/uv_off2 to uv_off_px/byte.
swscale: implement error dithering in planarCopyWrapper.
swscale: error dithering for 16/9/10-bit to 8-bit.
swscale: fix overflow in 16-bit vertical scaling.
swscale: fix crash in 8-bpc bilinear output without alpha.
...
Conflicts:
doc/developer.texi
libavdevice/alsa-audio.h
libavformat/gxf.c
libswscale/swscale.c
libswscale/swscale_internal.h
libswscale/swscale_unscaled.c
libswscale/x86/swscale_template.c
tests/ref/lavfi/pixdesc
tests/ref/lavfi/pixfmts_copy
tests/ref/lavfi/pixfmts_crop
tests/ref/lavfi/pixfmts_hflip
tests/ref/lavfi/pixfmts_null
tests/ref/lavfi/pixfmts_scale
tests/ref/lavfi/pixfmts_vflip
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Set DV packet durations using fields_per_frame.
This requires turning gxf_stream_info into the demuxer's context for access to the value in gxf_packet().
Since MPEG-2 seems to work fine this done only for DV.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
* qatar/master: (28 commits)
mp3enc: write a xing frame containing number of frames in the file
lavf: update AVStream.nb_frames when muxing.
ffmpeg: remove unused variables from InputStream.
doc: update ffmpeg -ar and -ac documentation to reflect reality.
ffmpeg: remove pointless if (nb_input_files)
ffmpeg: merge input_files_ts_offset into input_files.
ffmpeg: merge input_codecs into input_streams.
ffmpeg: drop AV prefixes from struct names.
ffmpeg: deprecate loop_input and loop_output options
gif: add loop private option.
img2: add loop private option.
AVOptions: in av_opt_find() don't return named constants unless unit is specified.
x11grab: replace undocumented nomouse hackery with a private option.
dict: extend documentation.
lls: whitespace cosmetics
docs: Use proper markup for a literal command line option
docs: Remove a remark that isn't relevant any longer
docs: Explain how to regenerate import libraries with MSVC tools
docs: Mention that libraries for MSVC can be built with a cross compiler
docs: Remove old docs that mention setting up a build environment with lib.exe
...
Conflicts:
doc/ffmpeg.texi
doc/general.texi
ffmpeg.c
libavcodec/Makefile
libavcodec/dnxhddata.c
libavformat/mp3enc.c
libavformat/utils.c
libavutil/Makefile
tests/copycooker.sh
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Parse the extension flag bit when reading the MPEG4 AudioSpecificConfig.
This has nothing to do with SBR/PS contradictory to what was noted when it was removed.
* qatar/master:
ffserver: remove unused variable.
Remove unused and outdated TODO file.
gitignore: Drop individual .d ignore; it is already covered by a wildcard.
lavf: deprecate AVStream.quality.
bink: pass Bink version to audio decoder through extradata instead of codec_tag.
libpostproc: Remove disabled code.
flashsv: improve some comments and fix some wrong ones
flashsv: Eliminate redundant variable indirection.
flashsv: set reference frame type to full frame
flashsv: replace bitstream description by a link to the specification
flashsv: convert a debug av_log into av_dlog
flashsv: simplify condition
flashsv: return more meaningful error values
flashsv: cosmetics: break some overly long lines
flashsv: cosmetics: drop some unnecessary parentheses
swscale: amend documentation to mention use of native depth for scaling.
eval: add missing comma to tests.
eval: fix memleak.
H.264: make loopfilter bS const where applicable
Conflicts:
libavcodec/binkaudio.c
libavformat/bink.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Code would allocate a new context but forget to assign it
to the pointer actually passed to avformat_open_input,
potentially causing a crash.
Even if it was initialized it would cause a memleak.
This caused crashes with e.g. mpd, see also
http://bugs.gentoo.org/show_bug.cgi?id=373423
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
This is needed because not all players (e.g. MPlayer) are able to distinguish
two different Bink audio decoders when codec_tag is set.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
* qatar/master:
Add some missing mathematics.h #includes for av_rescale().
opencore-amr: Add missing initializer braces to shut up gcc warning.
ARM: workaround for bug in GNU assembler
dv: fix comment wording mistake
Rename libavcodec/high_bit_depth.h ---> libavcodec/bit_depth_template.c
dv: fix valgrind use of uninitialised value warnings.
mxfenc: fix ignored drop flag in binary timecode representation.
PPC: use Altivec IMDCT only for supported sizes
dv: fix comment spelling
configure: simplify -rpath-link linker flag
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master: (36 commits)
ARM: allow unaligned buffer in fixed-point NEON FFT4
fate: test more FFT etc sizes
dca: set AVCodecContext frame_size for DTS audio
YASM: Shut up unused variable compiler warning with --disable-yasm.
x86_32: Fix build on x86_32 with --disable-yasm.
iirfilter: add fate test
doxygen: Add qmul docs.
ogg: propagate return values and return more meaningful error values
H.264: fix overreads of qscale_table
Remove unused static tables and static inline functions.
eval: clear Parser instances before using
dct-test: remove 'ref' function pointer from tables
build: Remove deleted 'check' target from .PHONY list.
oggdec: Abort Ogg header parsing when encountering a data packet.
Add LGPL license boilerplate to files lacking it.
mxfenc: small typo fix
doxygen: Fix documentation for some VP8 functions.
sha: use AV_RB32() instead of assuming buffer can be cast to uint32_t*
des: allow unaligned input and output buffers
aes: allow unaligned input and output buffers
...
Conflicts:
libavcodec/dct-test.c
libavcodec/libvpxenc.c
libavcodec/x86/dsputil_mmx.c
libavcodec/x86/h264_qpel_mmx.c
libavfilter/x86/gradfun.c
libavformat/oggdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master: (40 commits)
H.264: template left MB handling
H.264: faster fill_decode_caches
H.264: faster write_back_*
H.264: faster fill_filter_caches
H.264: make filter_mb_fast support the case of unavailable top mb
Do not include log.h in avutil.h
Do not include pixfmt.h in avutil.h
Do not include rational.h in avutil.h
Do not include mathematics.h in avutil.h
Do not include intfloat_readwrite.h in avutil.h
Remove return statements following infinite loops without break
RTSP: Doxygen comment cleanup
doxygen: Escape '\' in Doxygen documentation.
md5: cosmetics
md5: use AV_WL32 to write result
md5: add fate test
md5: include correct headers
md5: fix test program
doxygen: Drop array size declarations from Doxygen parameter names.
doxygen: Fix parameter names to match the function prototypes.
...
Conflicts:
libavcodec/x86/dsputil_mmx.c
libavformat/flvenc.c
libavformat/oggenc.c
libavformat/wtv.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
ARM: ac3: update ff_ac3_extract_exponents_neon per 8b7b2d6
ARM: NEON optimised vector_clip_int32()
swscale: disable full_chroma_int when converting to non-24/32bpp RGB.
suggest to use av_get_bytes_per_sample() in av_get_bits_per_sample_format() doxy
ffmpeg: use av_get_bytes_per_sample() in place of av_get_bits_per_sample_fmt()
put_bits: remove ALT_BITSTREAM_WRITER
put_bits: always use intreadwrite.h macros
libavformat: Add an example how to use the metadata API
doxygen: Prefer member groups over grouping into modules
doxygen: be more permissive when searching for API examples
avformat: doxify the Metadata API
lavf: restore old behavior for custom AVIOContex with an AVFMT_NOFILE format.
lavf: use the correct pointer in av_open_input_stream().
avidec: infer absolute vs relative index from first packet
Conflicts:
libavformat/Makefile
libavformat/avidec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Before this, almost all module groups have been used for grouping functions
and fields in structures semantically. This causes them to not appear
properly in the file documentation and needlessly clutters up the "Modules"
index.
Additionally, this commit streamlines some spelling and appearances.
The PTS for captured audio was measured using snd_pcm_htimestamp.
snd_pcm_htimestamp hangs when the input is a dsnoop plugin.
Furthermore, at some point, snd_pcm_htimestamp started returning monotonic
timestamps rather than wall clock timestamps, in most but not all
situations.
Monotonic timestamps are fine, but ffmpeg uses wall clock timestamps
everywhere else, and we have no API to inform the user which kind of
timestamps it is.
A separate snd_pcm_htimestamp is only slightly less accurate than
snd_pcm_htimestamp: the standard deviation for the difference between two
consecutive timestamps is (on my hardware):
- ~13 µs with snd_pcm_htimestamp;
- ~35 µs with av_gettime;
- ~5 µs with av_gettime and a timefilter.
av_open_input_stream used to allow this, even though it makes no sense.
Make it just print a warning instead of failing, thus restoring
compatibility.
Note that avformat_open_input() will still reject this combination.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
* qatar/master:
get_bits: remove x86 inline asm in A32 bitstream reader
doc: Remove outdated information about our issue tracker
avidec: Factor out the sync fucntionality.
fate-aac: Expand coverage.
ac3dsp: add x86-optimized versions of ac3dsp.extract_exponents().
ac3dsp: simplify extract_exponents() now that it does not need to do clipping.
ac3enc: clip coefficients after MDCT.
ac3enc: add int32_t array clipping function to DSPUtil, including x86 versions.
swscale: for >8bit scaling, read in native bit-depth.
matroskadec: matroska_read_seek after after EBML_STOP leads to failure.
doxygen: fix usage of @file directive in libavutil/{dict,file}.h
doxygen: Help doxygen parser to understand the DECLARE_ALIGNED and offsetof macros
Conflicts:
doc/issue_tracker.txt
libavformat/avidec.c
libavutil/dict.h
libswscale/swscale.c
libswscale/utils.c
tests/ref/lavfi/pixfmts_scale
Merged-by: Michael Niedermayer <michaelni@gmx.at>
EBML_STOP leaves matroska->current_id set. Then matroska_read_seek changes
the stream position without resetting current_id. The next
matroska_parse_cluster fails due to calculation of incorrect pos. So clear
current_id when avio_seek happens in matroska_read_seek.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* qatar/master:
cosmetics: fix some then/than typos
doxygen: Include libavcodec and libavformat examples into the documentation
avutil: elaborate documentation for av_get_random_seed
Add support for aac streams in mp4/mov without extradata.
aes: whitespace cosmetics
adler32: whitespace cosmetics
swscale: fix another yuv range conversion overflow in 16bit scaling.
Fix cpu flags test program
opt-test: Add missing braces to silence compiler warnings.
build: Eliminate obsolete test targets.
udp: Fix a compilation warning
swscale: Unbreak build with --enable-small
base64: add fate test
aes: improve test program and add fate test
adler32: make test program more useful and add fate test
swscale: fix yuv range correction when using 16-bit scaling.
aacenc: Make chan_map const correct
Conflicts:
Makefile
doc/examples/muxing-example.c
libavformat/udp.c
libavutil/random_seed.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This fixes this compilation warning, by making endptr a non-const
pointer, as required by strtol:
In function ‘udp_open’:
warning: passing argument 2 of ‘strtol’ from incompatible pointer type
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
rational-test: Add proper main() declaration to fix gcc warnings.
configure: Add vdpau and dxva2 to configure results output.
Remove unused, never built libavutil/pca.[ch]
matroskadec: forward parsing errors to caller.
av_find_stream_info: simplify EAGAIN handling.
aacenc: Fix determination of Mid/Side Mode.
psymodel: Remove the single channel analysis function
aacenc: Implement dummy channel group analysis that just calls the single channel analysis for each channel.
psymodel: Add channels and channel groups to the psymodel.
ARM: remove check for PLD instruction
fate: move amr[nw]b test rules into separate files
ogg: fix double free when finding length of small chained oggs.
swscale: implement >8bit scaling support.
build: fix creation of tools dir with make 3.81
build: Mark all-yes Makefile target as phony.
pixfmt: fix YUV422/444 wrong endian comment
build: create output directories as needed
Add new yuv444 pixfmts to avcodec_align_dimensions2
Conflicts:
Makefile
configure
libavutil/pca.c
libavutil/pca.h
libavutil/pixfmt.h
libswscale/swscale.c
libswscale/utils.c
libswscale/x86/swscale_template.c
tests/ref/lavfi/pixdesc
tests/ref/lavfi/pixfmts_copy
tests/ref/lavfi/pixfmts_null
tests/ref/lavfi/pixfmts_scale
tests/ref/lavfi/pixfmts_vflip
Merged-by: Michael Niedermayer <michaelni@gmx.at>
ogg_save() copies streams[], but doesn't keep track of free()'ed
struct members. Thus, if in between a call to ogg_save() and
ogg_restore(), streams[].private was free()'ed, this would result
in a double free -> crash, which happened when e.g. playing small
chained ogg fragments.
* qatar/master: (21 commits)
swscale: Add Doxygen for hyscale_fast/hScale.
fate: enable lavfi-pixmt tests on big endian systems
PPC: swscale: disable altivec functions for unsupported formats
fate: merge identical pixdesc_be/le tests
swscale: Add Doxygen for yuv2planar*/yuv2packed* functions.
build: call texi2pod.pl with full path instead of symlink
build: include sub-makefiles using full path instead of symlinks
swscale: update big endian reference values after dff5a835.
wavpack: skip blocks with no samples
cosmetics: remove outdated comment that is no longer true
build: replace some addprefix/addsuffix with substitution refs
avutil: Remove unused arbitrary precision integer code.
configure: Drop check for availability of ten assembler operands.
aacenc: Save channel configuration for later use.
aacenc: Fix codebook trellising for zeroed bands.
swscale: change prototypes of scaled YUV output functions.
swscale: re-add support for non-native endianness.
swscale: disentangle yuv2rgbX_c_full() into small functions.
swscale: split yuv2packed[12X]_c() remainders into small functions.
swscale: split yuv2packedX_altivec in smaller functions.
...
Conflicts:
Makefile
configure
libavcodec/x86/dsputil_mmx.c
libavfilter/Makefile
libavformat/Makefile
libavutil/integer.c
libavutil/integer.h
libswscale/swscale.c
libswscale/swscale_internal.h
libswscale/x86/swscale_template.c
tests/ref/lavfi/pixdesc_le
tests/ref/lavfi/pixfmts_scale
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
configure: Add -Wno-format-zero-length to CFLAGS.
udp: Receive on the remote port number, if no local port is set
Merged-by: Michael Niedermayer <michaelni@gmx.at>
For a unicast udp stream to localhost:1234, currently
ffplay udp://:1234?localport=1234
works, but
ffplay udp://:1234
doesn't work.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
doxygen: Consistently use '@' instead of '\' for Doxygen markup.
Use av_printf_format to check the usage of printf style functions
Add av_printf_format, for marking printf style format strings and their parameters
ARM: enable thumb for Cortex-M* CPUs
nsvdec: Propagate error values instead of returning 0 in nsv_read_header().
build: remove SRC_PATH_BARE variable
build: move basic rules and variables to main Makefile
build: move special targets to end of main Makefile
lavdev: improve feedback in case of invalid frame rate/size
vfwcap: prefer "framerate_q" over "fps" in vfw_read_header()
v4l2: prefer "framerate_q" over "fps" in v4l2_set_parameters()
fbdev: prefer "framerate_q" over "fps" in device context
bktr: prefer "framerate" over "fps" for grab_read_header()
ALSA: implement channel layout for playback.
alsa: support unsigned variants of already supported signed formats.
alsa: add support for more formats.
ARM: allow building in Thumb2 mode
Conflicts:
common.mak
doc/APIchanges
libavcodec/vdpau.h
libavdevice/alsa-audio-common.c
libavdevice/fbdev.c
libavdevice/libdc1394.c
libavutil/avutil.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This helps catching cases where the format string doesn't
match what is passed in, or injection bugs where user data
is passed in as format string.
Signed-off-by: Martin Storsjö <martin@martin.st>
When providing a custom AVIOContex for a AVFMT_NOFILE format
only print a warning instead of erroring out.
This allows the code to work with older MPlayer versions that
just always set pb out of laziness.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
There are 2 known Bink audio codecs. Additionally they have
a different flavor if they are found inside Bink-b "BIKb" file.
In order to guess the correct flavor, the demuxer sets the audio
codec_tag to be the same as the file format tag.
This causes problem because same tag is used for both audio codecs.
The hack works in FFmpeg because audio codecs are identified by their
codec_id, but other players rely on standard behavior.
This fix removes the codec_tag hack and instead uses artificial
extradata format to signal the codec flavor. This would also
allow proper embedding of Bink audio in other containers.
Signed-off-by: Ivan Kalvachev <ikalvachev@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
lavf: prevent crash in av_open_input_file() if ap == NULL.
more Changelog additions
lavf: add a forgotten NULL check in convert_format_parameters().
Fix build if yasm is not available.
H.264: Add x86 assembly for 10-bit MC Chroma H.264 functions.
Conflicts:
Changelog
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
lavc: add opt_find to AVCodecContext class.
h264: Complexify frame num gap shortening code
intreadwrite.h: fix AV_RL32/AV_RB32 signedness.
Fix decoding of mpegts streams with h264 video that does *NOT* have b frames
Add minor bumps and APIChanges entries for lavf private options.
ffmpeg: deprecate -vc and -tvstd
ffmpeg: use new avformat_open_* API.
ffserver: use new avformat_open_* API.
ffprobe: use new avformat_open_* API.
ffplay: use new avformat_open_* API.
cmdutils: add opt_default2().
dict: add AV_DICT_APPEND flag.
lavf: add avformat_write_header() as a replacement for av_write_header().
Deprecate av_open_input_* and remove their uses.
lavf: add avformat_open_input() as a replacement for av_open_input_*
AVOptions: add av_opt_find() as a replacement for av_find_opt.
AVOptions: add av_opt_set_dict() mapping a dictionary struct to a context.
ffmpeg: don't abuse a global for passing frame size from input to output
ffmpeg: don't abuse a global for passing pixel format from input to output
ffmpeg: initialise encoders earlier.
Conflicts:
cmdutils.c
doc/APIchanges
ffmpeg.c
ffplay.c
ffprobe.c
libavcodec/h264.c
libavformat/avformat.h
libavformat/utils.c
libavformat/version.h
libavutil/avutil.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
There is no need to write two HTTP newlines (\r\n) into "headers",
because http_connect (in http.c) already appends one HTTP newline at
the end of the given headers chunk, which would result in sending
three HTTP newlines after the headers. Most of the time it's okay
(although not RFC-conforming), but many proxy servers and the
occasional strict httpd will puke with a "400 bad request".
In this case, the string that was passed couldn't contain
user-defined data and thus there was no risk for injection
bugs, but it's safer this way, if we later change the
content of the options string.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master: (24 commits)
utils: Drop pointless '#if 1' preprocessor directive.
ac3enc: remove empty ac3_float function that is never called
ac3enc: split templated float vs. fixed functions into a separate file.
ac3enc: dynamically allocate AC3EncodeContext fields windowed_samples and mdct
ac3enc: use function pointer to choose between AC-3 and E-AC-3 header output functions.
Roll back 4:4:4 H.264 for now Needs some ARM/PPC asm modifications.
Fix SVQ3 after adding 4:4:4 H.264 support
H.264: fix CODEC_FLAG_GRAY
4:4:4 H.264 decoding support
h264_parser: Fix whitespace after previous change.
h264_parser: Fix behaviour when PARSER_FLAG_COMPLETE_FRAMES is set.
wav: remove an invalid free().
lavf: initialise reference_dts in av_estimate_timings_from_pts.
h264: don't be so picky on decoding pps in extradata.
avcodec.h: add or elaborate on some documentation comments.
h264: change a few comments into error messages
ac3dec: fix doxy-style for comment ("///>" should be "///<" instead).
img2: add .dpx to the list of supported file extensions.
ffv1: fix undefined behavior with insane widths.
ARM: jrevdct_arm: simplify stack usage
...
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
bitstream: Properly promote av_reverse values before shifting.
libavutil/swscale: YUV444P10/YUV444P9 support.
H.264: Fix high bit depth explicit biweight
h264: Fix 10-bit H.264 x86 chroma v loopfilter asm.
Replace DEBUG_SEEK/DEBUG_SI + av_log combinations by av_dlog.
Update copyright year for ac3enc_opts_template.c.
adts: Adjust frame size mask to follow the specification.
movenc: Add RTP muxer/hinter options
movenc: Pass the RTP AVFormatContext to the SDP generation
rtspenc: Add RTP muxer options
rtspenc: Add an AVClass for setting muxer specific options
rtpenc_chain: Pass the rtpflags options through to the chained muxer
rtpenc: Declare the rtp flags private AVOptions in rtpenc.h
sdp: Reindent after the previous commit
rtpenc: MP4A-LATM payload support
avoptions: Add an av_opt_flag_is_set function for inspecting flag fields
sdp: Allow passing an AVFormatContext to the SDP generation
mov: Fix wrong timestamp generation for fragmented movies that have time offset caused by the first edit list entry.
mpeg12: more advanced ffmpeg mpeg2 aspect guessing code.
swscale: split YUYV output out of yuv2packed[12X]_c().
Conflicts:
doc/APIchanges
libavcodec/Makefile
libavcodec/h264dsp_template.c
libavcodec/mpeg12.c
libavformat/aacdec.c
libavformat/avidec.c
libavformat/internal.h
libavformat/movenc.c
libavformat/rtpenc.c
libavformat/rtpenc_latm.c
libavformat/sdp.c
libavformat/version.h
libavutil/avutil.h
libavutil/pixfmt.h
libswscale/swscale.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This is enabled with an AVOption on the RTP muxer. The SDP
generator looks for a latm flag in the rtpflags field.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
lavf: make compute_pkt_fields2() return meaningful error values
matroskadec: set timestamps for RealAudio packets.
intelh263dec: aspect ratio processing fix.
intelh263dec: fix "Strict H.263 compliance" file playback
oss,sndio: simplify by using FFMIN.
swscale: extract monowhite/black output from yuv2packed[12X]_c().
swscale: de-macro'ify RGB15/16/32 input functions.
swscale: rearrange code.
movdec: Add support for the 'wfex' atom.
ffmpeg.c: Add a necessary const qualifier
riff: Fix potential memleak.
swscale: change 48bit RGB input macros to inline functions.
swscale: change 9/10bit YUV input macros to inline functions.
swscale: extract gray16 output functions from yuv2packed[12X]().
swscale: use standard clipping functions.
swscale: merge macros that are used only once.
swscale: fix function declarations in swscale.c.
swscale: fix function declaration keywords in x86/swscale_template.c.
Conflicts:
ffmpeg.c
libavcodec/intelh263dec.c
libswscale/swscale.c
libswscale/x86/swscale_template.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
crypto: Use av_freep instead of av_free
lavf: don't try to free private options if priv_data is NULL.
swscale: fix types of assembly arguments.
swscale: move two macros that are only used once into caller.
swscale: remove unused function.
options: Add missing braces around struct initializer.
mov: Remove leftover crufty debug statement with references to a local file.
dvbsubdec: Fix compilation of debug code.
Remove all uses of now deprecated metadata functions.
Move metadata API from lavf to lavu.
Conflicts:
doc/APIchanges
libavformat/aiffdec.c
libavformat/asfdec.c
libavformat/avformat.h
libavformat/avidec.c
libavformat/cafdec.c
libavformat/matroskaenc.c
libavformat/mov.c
libavformat/mp3enc.c
libavformat/wtv.c
libavutil/avutil.h
libavutil/internal.h
libswscale/swscale.c
libswscale/x86/swscale_template.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
Remove some unused scripts from tools/.
Add x86 assembly for some 10-bit H.264 intra predict functions.
v4l2: do not force NTSC as standard
Skip tableprint.h during 'make checkheaders'.
Remove unnecessary LIBAVFORMAT_BUILD #ifdef.
Drop explicit filenames from @file Doxygen tags.
Skip generated table headers during 'make checkheaders'.
lavf,lavc: free avoptions in a generic way.
AVOptions: add av_opt_free convenience function.
tableprint: Restore mistakenly deleted common.h #include for FF_ARRAY_ELEMS.
tiff: print log in case of unknown / unsupported tag.
tiff: fix linesize for mono-white/black formats.
Fix build of eval-test program
configure: Document --enable-vaapi
ac3enc: extract all exponents for the frame at once
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
ARM: remove MULL inline asm
mathops: use MUL64 macro where it forms part of other ops
tty: factorise returning error codes.
rawdec: add framerate private option.
x11grab: add framerate private option.
fbdev,v4l2: remove some forgotten uses of AVFormatParameters.time_base.
bktr: don't error when AVFormatParameters.time_base isn't set.
cmdutils: add missing const qualifier
Skip headers not designed to work standalone during 'make checkheaders'.
Add missing #includes to make headers self-contained.
musepack: remove unnecessary #include from mpcdata.h
musepack: remove extraneous mpcdata.h inclusions
Fix error check in av_file_map()
Conflicts:
cmdutils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master: (21 commits)
build: simplify commands for clean target
swscale: split swscale.c in unscaled and generic conversion routines.
swscale: cosmetics.
swscale: integrate (literally) swscale_template.c in swscale.c.
swscale: split out x86/swscale_template.c from swscale.c.
swscale: enable hScale_altivec_real.
swscale: split out ppc _template.c files from main swscale.c.
swscale: remove indirections in ppc/swscale_template.c.
swscale: split out unscaled altivec YUV converters in their own file.
mpegvideoenc: fix multislice fate tests with threading disabled.
mpegts: Wrap #ifdef DEBUG and av_hex_dump_log() combination in a macro.
build: Simplify texi2html invocation through the --output option.
Mark some variables with av_unused
Replace avcodec_get_pix_fmt_name() by av_get_pix_fmt_name().
svq3: Check negative mb_type to fix potential crash.
svq3: Move svq3-specific fields to their own context.
rawdec: initialize return value to 0.
Remove unused get_psnr() prototype
rawdec: don't leak option strings.
bktr: get default framerate from video standard.
...
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Most of these variables are only used in av_dlog statements, some
are required but not used by other macros.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* qatar/master:
vf_drawtext: Replace FFmpeg by Libav in license boilerplate.
mpegaudiodec: remove unusued code and variables
improved 'edts' atom writing support
mpegaudio: clean up compute_antialias() definition
vp8: fix segmentation race during frame-threading.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The 'edts' write function can now generate an initial empty edit resulting in a track-specific presentation delay.
This is automatically calculated and inserted for any track where the initial DTS != 0.
Added support for long (version==1) timecodes.
* qatar/master: (27 commits)
ac3enc: fix LOCAL_ALIGNED usage in count_mantissa_bits()
ac3dsp: do not use the ff_* prefix when referencing ff_ac3_bap_bits.
ac3dsp: fix loop condition in ac3_update_bap_counts_c()
ARM: unbreak build
ac3enc: modify mantissa bit counting to keep bap counts for all values of bap instead of just 0 to 4.
ac3enc: split mantissa bit counting into a separate function.
ac3enc: store per-block/channel bap pointers by reference block in a 2D array rather than in the AC3Block struct.
get_bits: add av_unused tag to cache variable
sws: replace all long with int.
ARM: aacdec: fix constraints on inline asm
ARM: remove unnecessary volatile from inline asm
ARM: add "cc" clobbers to inline asm where needed
ARM: improve FASTDIV asm
ac3enc: use LOCAL_ALIGNED macro
APIchanges: fill in git hash for av_get_pix_fmt_name (0420bd7).
lavu: add av_get_pix_fmt_name() convenience function
cmdutils: remove OPT_FUNC2
swscale: fix crash in bilinear scaling.
vpxenc: add VP8E_SET_STATIC_THRESHOLD mapping
webm: support stereo videos in matroska/webm muxer
...
Conflicts:
Changelog
cmdutils.c
cmdutils.h
doc/APIchanges
doc/muxers.texi
ffmpeg.c
ffplay.c
libavcodec/ac3enc.c
libavcodec/ac3enc_float.c
libavcodec/avcodec.h
libavcodec/get_bits.h
libavcodec/libvpxenc.c
libavcodec/version.h
libavdevice/libdc1394.c
libavformat/matroskaenc.c
libavutil/avutil.h
libswscale/rgb2rgb.c
libswscale/swscale.c
libswscale/swscale_template.c
libswscale/x86/swscale_template.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master: (31 commits)
ARM: add ARMv6 optimised av_clip_uintp2
ARM: remove volatile from asm statements in libavutil/intmath
ARM: fix av_clipl_int32_arm()
v4l: include avdevice.h
ffserver: move close_connection() call to avoid a temporary string and copy.
lavf: initialize demuxer private options.
AVOptions: set string default values.
lavdevice: mark v4l for removal on next major bump.
swscale: fix compile on ppc.
swscale: fix compile on x86-32.
build: Remove generated .version file on distclean.
configure: Add -D_GNU_SOURCE to CPPFLAGS on OS/2.
doc: Drop hint at --enable-memalign-hack for MinGW, it is now autodetected.
ffplay: Remove disabled code.
Mark parameterless function declarations as 'void'.
swscale: use av_clip_uint8() in yuv2yuv1_c().
swscale: remove VOF/VOFW.
swscale: split chroma buffers into separate U/V planes.
swscale: replace formatConvBuffer[VOF] by allocated array.
rgb2rgb: remove duplicate mmx/mmx2/3dnow/sse2 functions.
...
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master: (32 commits)
doc: create separate section for audio encoders
swscale: Remove orphaned, commented-out function declaration.
swscale: Eliminate rgb24toyv12_c() duplication.
Remove h263_msmpeg4 from MpegEncContext.
APIchanges: Fill in git hash for fps_probe_size (30315a8)
avformat: Add fpsprobesize as an AVOption.
avoptions: Return explicitly NAN or {0,0} if the option isn't found
rtmp: Reindent
rtmp: Don't try to do av_malloc(0)
tty: replace AVFormatParameters.sample_rate abuse with a private option.
Fix end time of last chapter in compute_chapters_end
ffmpeg: get rid of useless AVInputStream.nb_streams.
ffmpeg: simplify managing input files and streams
ffmpeg: purge redundant AVInputStream.index.
lavf: deprecate AVFormatParameters.channel.
libdc1394: add a private option for channel.
dv1394: add a private option for channel.
v4l2: reindent.
v4l2: add a private option for channel.
lavf: deprecate AVFormatParameters.standard.
...
Conflicts:
doc/APIchanges
doc/encoders.texi
ffmpeg.c
libavdevice/alsa-audio.h
libavformat/version.h
libavutil/opt.c
libswscale/rgb2rgb.h
libswscale/rgb2rgb_template.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Some received packets can have size 0. The return value from
av_malloc(0) may be NULL, which is ok if the size was 0. On
OS X, however, the returned pointer is non-null but leads to
crashes when trying to free it.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master: (22 commits)
configure: enable memalign_hack automatically when needed
swscale: unbreak the build on non-x86 systems.
swscale: remove if(bitexact) branch from functions.
swscale: remove if(canMMX2BeUsed) conditional.
swscale: remove swScale_{c,MMX,MMX2} duplication.
swscale: use emms_c().
Move emms_c() from libavcodec to libavutil.
tiff: set palette in the context when specified in TIFF_PAL tag
rtsp: use strtoul to parse rtptime and seq values.
pgssubdec: fix incorrect colors.
dvdsubdec: fix incorrect colors.
ape: Allow demuxing of files with metadata tags.
swscale: remove dead macro WRITEBGR24OLD.
swscale: remove AMD3DNOW "optimizations".
swscale: remove duplicate code in ppc/ subdirectory.
swscale: remove duplicated x86/ functions.
swscale: force --enable-runtime-cpudetect and remove SWS_CPU_CAPS_*.
vsrc_buffer.h: add file doxy
vsrc_buffer: tweak error message in init()
msmpeg4: reindent.
...
Merged-by: Michael Niedermayer <michaelni@gmx.at>
strtol could return negative values, leading to various error messages,
mainly "non-monotonically increasing dts".
Signed-off-by: Anton Khirnov <anton@khirnov.net>
The new function accepts a slightly more intuitive order of paramters,
and returns an error code, thus allowing applications to report a
meaningful error message.
* qatar/master:
ffmpeg: get rid of the -vglobal option.
dct32: Add AVX implementation of 32-point DCT
dct32: Change pass 6 permutation to allow for AVX implementation
dct32: port SSE 32-point DCT to YASM
multiple inclusion guard cleanup
avio: document buffer must created with av_malloc() and friends
avio: check AVIOContext malloc failure
swscale: point out an alternative to sws_getContext
svq3: Do initialization after parsing the extradata
add changelog entries for 0.7_beta2
mp3lame: add #include required for AV_RB32 macro.
Conflicts:
Changelog
libavcodec/svq3.c
libavcodec/x86/dct32_sse.c
libavfilter/vsrc_buffer.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
configure: make executable again
LATM/AAC: Free previously initialized context on reinit.
configure: Do not unconditionally add -Wall to host CFLAGS.
configure: Set OS/2 objformat to a.out.
Add support for a.out object format to assembler macros.
fate: disable threading for encoding
fate: add comment field
fate: allow overriding default build and install dirs
mpegtsenc: Add an AVClass pointer to the private data
mpegaudio: clean up #includes
mpegaudio: move all header parsing to mpegaudiodecheader.[ch]
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Since a private class is set for this muxer, the callers will
assume that the private data starts with an AVClass pointer.
If no such member exists, the first few bytes of the struct
will be overwritten, and the class pointer may be broken at
any later time.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
qdm2: Use floating point synthesis filter.
h264: correct border check.
h264: fix loopfilter with threading at slice boundaries.
Fix ff_mpa_synth_filter_fixed() prototype
Rename costablegen.c ---> cos_tablegen.c.
Collapse tableprint.c into tableprint.h.
Simplify trig table rules
Remove potentially unstable filenames from comments in generated files.
Ignore generated tables and generated table generator programs.
Simplify CLEANFILES make variable by using wildcards.
Remove silly insults from avformat_version() Doxygen documentation.
mpegaudiodsp: fix x86 and ppc makefiles
configure: Adjust AVX assembler check.
mpegaudio: remove unused version of SAME_HEADER_MASK
mpegaudio: remove useless #undef at end of file
asfdec: add missing #include for av_bswap32()
mpegaudio: merge two #if CONFIG_FLOAT blocks
mpegaudio: move some struct definitions from mpegaudio.h
Move some mpegaudio functions to new mpegaudiodsp subsystem
Conflicts:
libavcodec/h264.c
libavcodec/x86/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
In ff_id3v2_parse(), prevent unsigned integer overflow if data length
indicator is skipped and tlen is < 4.
Fix crash decoding file Allaby_cut.mp3, fix trac issue #182.
* qatar/master:
Fix compilation of iirfilter-test.
libx264: handle closed GOP codec flag
lavf: remove duplicate assignment in avformat_alloc_context.
lavf: use designated initializers for AVClasses.
flvdec: clenup debug code
asfdec: fix possible overread on broken files.
asfdec: do not fall back to binary/generic search
asfdec: reindent after previous commit c7bd5ed
asfdec: fallback to binary search internally
mpegaudio: add _fixed suffix to some names
Modify x86util.asm to ease transitioning to 10-bit H.264 assembly.
dct: build dct32 as separate object files
qdm2: include correct header for rdft
Conflicts:
ffpresets/libx264-fast.ffpreset
ffpresets/libx264-fast_firstpass.ffpreset
ffpresets/libx264-faster.ffpreset
ffpresets/libx264-faster_firstpass.ffpreset
ffpresets/libx264-medium.ffpreset
ffpresets/libx264-medium_firstpass.ffpreset
ffpresets/libx264-placebo.ffpreset
ffpresets/libx264-placebo_firstpass.ffpreset
ffpresets/libx264-slow.ffpreset
ffpresets/libx264-slow_firstpass.ffpreset
ffpresets/libx264-slower.ffpreset
ffpresets/libx264-slower_firstpass.ffpreset
ffpresets/libx264-superfast.ffpreset
ffpresets/libx264-superfast_firstpass.ffpreset
ffpresets/libx264-ultrafast.ffpreset
ffpresets/libx264-ultrafast_firstpass.ffpreset
ffpresets/libx264-veryfast.ffpreset
ffpresets/libx264-veryfast_firstpass.ffpreset
ffpresets/libx264-veryslow.ffpreset
ffpresets/libx264-veryslow_firstpass.ffpreset
libavformat/flvdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Moving the search and parsing of the 'fmt ' info the main loop of wav_read_header() allows tags that precede it to be parsed.
Creating wav_parse_fmt_tag() makes wav_read_header() easier to read.
asf_read_seek() inside the asf demuxer already does the
right thing, it tries the index and if that fails it uses
binary search. If binary search is called from outside of asfdec.c
it will fail because the asf code cannot clean up after itself.
Therefore introduce AVFMT_NOBINSEARCH that prevents the seek
code to fallback to binary search and AVFMT_NOGENSEARCH that
prevents the seek code to fallback to generic search.
Make the iff demuxer send the whole audio chunk to the decoder as a
single packet, move stereo interleaving from the iff demuxer to the
decoder, and introduce an 8svx_raw decoder which performs
stereo interleaving.
This is required for handling stereo data correctly, indeed samples
are stored like:
LLLLLL....RRRRRR
that is all left samples are at the beginning of the chunk, all right
samples at the end, so it is necessary to store and process the whole
buffer in order to decode each frame. Thus the decoder needs all the
audio chunk before it can return interleaved data.
Fix decoding of files 8svx_exp.iff and 8svx_fib.iff, fix trac issue #169.
Create separate fields 8svx_compression (for audio compression), and
bitmap_compression (for video compression), and perform minor related
logging tweaks.
Improve clarity, also simplify the case when both types of compression
are employed in the same file.
* qatar/master: (33 commits)
rtpdec_qdm2: Don't try to parse data packet if no configuration is received
ac3enc: put the counting of stereo rematrixing bits in the same place to make the code easier to understand.
ac3enc: clean up count_frame_bits() and count_frame_bits_fixed()
mpegvideo: make FF_DEBUG_DCT_COEFF output coeffs via av_log() instead of just via AVFrame.
srtdec: make sure we don't write past the end of buffer
wmaenc: improve channel count and bitrate error handling in encode_init()
matroskaenc: make sure we don't produce invalid file with no codec ID
matroskadec: check that pointers were initialized before accessing them
lavf: fix function name in compute_pkt_fields2 av_dlog message
lavf: fix av_find_best_stream when providing a wanted stream.
lavf: fix av_find_best_stream when decoder_ret is given and using a related stream.
ffmpeg: factorize quality calculation
tiff: add support for SamplesPerPixel tag in tiff_decode_tag()
tiff: Prefer enum TiffCompr over int for TiffContext.compr.
mov: Support edit list atom version 1.
configure: Enable libpostproc automatically if GPL code is enabled.
Cosmetics: fix prototypes in oggdec
oggdec: fix memleak with continuous streams.
matroskaenc: add missing new line in av_log() call
dnxhdenc: add AVClass in private context.
...
swscale changes largely rewritten by me or replaced by baptsites due to lots of bugs in ronalds code.
Above code is also just in case its not obvios to a large extended duplicates that where cherry picked
from ffmpeg.
Conflicts:
configure
ffmpeg.c
libavformat/matroskaenc.c
libavutil/pixfmt.h
libswscale/ppc/swscale_template.c
libswscale/swscale.c
libswscale/swscale_template.c
libswscale/utils.c
libswscale/x86/swscale_template.c
tests/fate/h264.mak
tests/ref/lavfi/pixdesc_le
tests/ref/lavfi/pixfmts_copy_le
tests/ref/lavfi/pixfmts_null_le
tests/ref/lavfi/pixfmts_scale_le
tests/ref/lavfi/pixfmts_vflip_le
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The later parsing of payload data depends on the configuration
being present. If it hasn't been configured properly yet,
parsing a data packet may lead to a crash.
Signed-off-by: Martin Storsjö <martin@martin.st>
In the main loop, stream_number is incremented after checking the stream type,
so the search usually will not find the wanted stream.
This patch eliminates the useless stream_number variable and introduces a new
one, called real_stream_index to store the real stream index of the current
stream, no matter if we are looping through all the streams or only the streams
of a program.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Yet another fix for the code originally designed for use without related_stream.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Add an extra size validity check in asf_read_frame_header(). Without
this asf->packet_size_left may become negative, which triggers an
assertion failure later.
This avoids the creation of a new AVStream instead of replacing it when
a stream reset occurs (track change with some webradios for example).
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Adding _POSIX_C_SOURCE to CPPFLAGS globally produces all sorts of problems
since it causes certain system functions to be hidden on some (BSD) systems.
The solution is to only add the flag on systems that really require it, i.e.
glibc-based ones.
This change makes BSD systems compile out-of-the-box without the need for
adding specific flags manually. It also allows dropping a number of flags
set manually on a file-per-file basis, but were only present to work around
breakage introduced by the presence of _POSIX_C_SOURCE.
Also add _XOPEN_SOURCE to CPPFLAGS for glibc systems. We use XSI extensions
in several places already, so it is preferable to define it globally instead
of littering source files with individual #defines only needed for glibc.
If an MP3 file contains the string NSVs, the NSV probe will confuse it for an
NSV file. Check for 0xBEEF after a Video/Audio chunk to achieve more accuracy.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
* qatar/master: (32 commits)
10-bit H.264 x86 chroma v loopfilter asm
Port SMPTE S302M audio decoder from FFmbc 0.3. [Copyright headers corrected]
Fix crash of interlaced MPEG2 decoding
h264pred: fix one more aliasing violation.
doc/APIchanges: fill in missing hashes and dates.
flacenc: use proper initializers for AVOption default values.
lavc: deprecate named constants for deprecated antialias_algo.
aac: workaround for compilation on cygwin
swscale: extend YUV422p support to 10bits depth
tiff: add support for inverted FillOrder for uncompressed data
Remove unused softfloat implementation.
h264pred: fix aliasing violations.
rotozoom: Eliminate French variable name.
rotozoom: Check return value of fread().
rotozoom: Return an error value instead of calling exit().
rotozoom: Make init_demo() return int and check for errors on invocation.
rotozoom: Drop silly UINT8 typedef.
rotozoom: Drop some unnecessary parentheses.
rotozoom: K&R coding style cosmetics
rtsp: Only do keepalive using GET_PARAMETER if the server supports it
...
Conflicts:
Changelog
cmdutils.c
doc/APIchanges
doc/general.texi
ffmpeg.c
ffplay.c
libavcodec/h264pred_template.c
libavcodec/resample.c
libavutil/pixfmt.h
libavutil/softfloat.c
libavutil/softfloat.h
tests/rotozoom.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This FourCC is used by "mpegable AVC" codec and the file encoded with this codec decodes correctly with FFmpeg's H264 decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This is more like what VLC does. If the server doesn't mention
supporting GET_PARAMETER in response to an OPTIONS request,
VLC doesn't send any keepalive requests at all. After this patch,
libavformat will still send OPTIONS keepalives if GET_PARAMETER
isn't explicitly said to be supported.
Some RTSP cameras don't support GET_PARAMETER, and will
close the connection if this is sent as keepalive request
(but support OPTIONS just fine, but probably don't need any
keepalive at all). Some other cameras don't support using
OPTIONS as keepalive, but require GET_PARAMETER instead.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master: (30 commits)
AVOptions: make default_val a union, as proposed in AVOption2.
arm/h264pred: add missing argument type.
h264dsp_mmx: place bracket outside #if/#endif block.
lavf/utils: fix ff_interleave_compare_dts corner case.
fate: add 10-bit H264 tests.
h264: do not print "too many references" warning for intra-only.
Enable decoding of high bit depth h264.
Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 decoder.
Add support for higher QP values in h264.
Add the notion of pixel size in h264 related functions.
Make the h264 loop filter bit depth aware.
Template dsputil_template.c with respect to pixel size, etc.
Template h264idct_template.c with respect to pixel size, etc.
Preparatory patch for high bit depth h264 decoding support.
Move some functions in dsputil.c into a new file dsputil_template.c.
Move the functions in h264idct into a new file h264idct_template.c.
Move the functions in h264pred.c into a new file h264pred_template.c.
Preparatory patch for high bit depth h264 decoding support.
Add pixel formats for 9- and 10-bit yuv420p.
Choose h264 chroma dc dequant function dynamically.
...
Conflicts:
doc/APIchanges
ffmpeg.c
ffplay.c
libavcodec/alpha/dsputil_alpha.c
libavcodec/arm/dsputil_init_arm.c
libavcodec/arm/dsputil_init_armv6.c
libavcodec/arm/dsputil_init_neon.c
libavcodec/arm/dsputil_iwmmxt.c
libavcodec/arm/h264pred_init_arm.c
libavcodec/bfin/dsputil_bfin.c
libavcodec/dsputil.c
libavcodec/h264.c
libavcodec/h264.h
libavcodec/h264_cabac.c
libavcodec/h264_cavlc.c
libavcodec/h264_loopfilter.c
libavcodec/h264_ps.c
libavcodec/h264_refs.c
libavcodec/h264dsp.c
libavcodec/h264idct.c
libavcodec/h264pred.c
libavcodec/mlib/dsputil_mlib.c
libavcodec/options.c
libavcodec/ppc/dsputil_altivec.c
libavcodec/ppc/dsputil_ppc.c
libavcodec/ppc/h264_altivec.c
libavcodec/ps2/dsputil_mmi.c
libavcodec/sh4/dsputil_align.c
libavcodec/sh4/dsputil_sh4.c
libavcodec/sparc/dsputil_vis.c
libavcodec/utils.c
libavcodec/version.h
libavcodec/x86/dsputil_mmx.c
libavformat/options.c
libavformat/utils.c
libavutil/pixfmt.h
libswscale/swscale.c
libswscale/swscale_internal.h
libswscale/swscale_template.c
tests/ref/seek/lavf_avi
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This should fix behavior introduced by commit
96573c0d76. Av_rescale_rnd() is not
lossless so if two timestamps are equal after being rescaled they are
not always actually identical. This patch use av_compare_ts() to get
always a correct result.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* qatar/master:
mpegaudiodec: group #includes more sanely
mpegaudio: remove #if 0 blocks
ffmpeg.c: reset avoptions after each input/output file.
ffmpeg.c: store per-output stream sws flags.
mpegaudio: remove CONFIG_MPEGAUDIO_HP option
mpegtsenc: Clear st->priv_data when freeing it
udp: Fix receiving RTP data over multicast
rtpproto: Remove an unused variable
regtest: fix wma tests
NOT pulled: mpegaudio: remove CONFIG_AUDIO_NONSHORT
regtest: separate flags for encoding and decoding
Conflicts:
ffmpeg.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Earlier, AVIO_RDWR was handled as READ, and all the checks
for the AVIO_WRONLY flag explicitly meant the write-only case.
When changed from old AVIO/URL contants to AVIO_FLAG in
59d96941f0, these comparisons were updated incorrectly, by
mapping checks for AVIO_WRONLY to checks for AVIO_FLAG_WRITE.
When receiving RTP over UDP, the urlcontext is opened with
READ_WRITE flags.
This patch updates the flag comparisons to check for the same
conditions as the code did prior to 59d96941f0.
Signed-off-by: Martin Storsjö <martin@martin.st>
The patch below provides exactly that to the MP3 muxer. A XING header
containing
* the numer of frames,
* the size, and
* a TOC
is generated.
It's based on an idea by Anton Khirnov (restricted to the number of
frames) found at
http://patches.ffmpeg.org/patch/1891/
The TOC is generated as found in lame's "VbrTag.c".
According to my tests the following reproduces the number of frames, the
size and the TOC in "c.mp3" from "b.mp3" (except a shift due to shorter
XING header generated by FFmpeg):
lame -V2 a.wav b.mp3
ffmpeg -i b.mp3 -acodec copy -y c.mp3
This fixes, for instance, the case that there is a track that has some samples with composition time offset and has a track run without sample-composition-time-offsets-present.
* qatar/master: (23 commits)
doc: Check standalone compilation before submitting new components.
Fix standalone compilation of pipe protocol.
Fix standalone compilation of ac3_fixed encoder.
Fix standalone compilation of binkaudio_dct / binkaudio_rdft decoders.
Fix standalone compilation of IMC decoder.
Fix standalone compilation of WTV demuxer.
Fix standalone compilation of MXPEG decoder.
flashsv: K&R cosmetics
matroskaenc: fix memory leak
vc1: make overlap filter for I-frames bit-exact.
vc1dec: use s->start/end_mb_y instead of passing them as function args.
Revert "VC1: merge idct8x8, coeff adjustments and put_pixels."
Replace strncpy() with av_strlcpy().
indeo3: Eliminate use of long.
get_bits: make cache unsigned to eliminate undefined signed overflow.
asfdec: fix assert failure on invalid files
avfilter: check malloc return values.
Not pulled as reason for reindent is not pulled: mpegvideo: reindent.
nutenc: check malloc return values.
Not pulled due to much simpler solution in ffmpeg *: don't av_malloc(0).
...
Conflicts:
doc/developer.texi
libavcodec/Makefile
libavcodec/get_bits.h
libavcodec/mpegvideo.c
libavformat/Makefile
libavutil/log.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Add an extra size validity check in asf_read_frame_header(). Without
this asf->packet_size_left may become negative, which triggers an
assertion failure later.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* qatar/master:
Implement fate-rsync target
Make ffmpeg support generic data stream
Conflicts:
cmdutils.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '85770f2a2651497861ed938efcd0df3696ff5e45':
AVOptions: make default_val a union, as proposed in AVOption2.
Move ff_dynarray_add to lavu and make it public.
lavf: remove duplicate assignment in avformat_alloc_context.
lavf: use designated initializers for AVClasses.
options: simplify av_find_opt by using av_next_option.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
Duplicate AMV: disable DR1 and don't override EMU_EDGE
Duplicate lavf: inspect more frames for fps when container time base is coarse
Wrong and we have correct fix: Fix races in default av_log handler
vorbis: Replace sized int_fast integer types with plain int/unsigned.
Remove disabled non-optimized code variants.
NO bswap.h: Remove disabled code.
Remove some disabled printf debug cruft.
Replace more disabled printf() calls by av_dlog().
NO tests: Remove disabled code.
NO Replace some commented-out debug printf() / av_log() messages with av_dlog().
vorbisdec: Replace some sizeof(type) by sizeof(*variable).
NO vf_fieldorder: Replace FFmpeg by Libav in license boilerplate.
Conflicts:
libavcodec/h264.c
libavcodec/vorbisdec.c
libavutil/log.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
As per issue2629, most 23.976fps matroska H.264 files are incorrectly
detected as 24fps, as the matroska timestamps usually have only
millisecond precision.
Fix that by doubling the amount of timestamps inspected for frame rate
for streams that have coarse time base. This also fixes 29.970 detection
in matroska.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 78431098f9)
Tested with mplayer based on this report
http://thread.gmane.org/gmane.comp.video.mplayer.user/66043/focus=66063
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
No longer needed after martins change to the values.
Though this would have been nicer ABI wise but iam too lazy to maintain this difference
This reverts commit 183401b924.
* qatar/master:
LOTS of duplicates ...
avio: Fix the deprecated fallback URL-prefixed open flags
avoid duplicate -lm in .pc files
mpeg12: terminate mpeg2_video_profiles arrays
network: Check POLLERR and POLLHUP in ff_network_wait_fd
mpegtsenc: make PMT PID really start on pmt_start_pid
nut format: support PIX_FMT_BGR48LE and PIX_FMT_BGR48BE
rawvideo codec: support PIX_FMT_BGR48LE and PIX_FMT_BGR48BE
hflip: make the filter accept PIX_FMT_BGR48LE and PIX_FMT_BGR48BE pixel formats
crop: make the filter accept PIX_FMT_BGR48LE and PIX_FMT_BGR48BE pixel formats
libswcale: PIX_FMT_BGR48LE and PIX_FMT_BGR48BE scaler implementation
Conflicts:
configure
libswscale/swscale.h
tests/ref/lavf/ts
Merged-by: Michael Niedermayer <michaelni@gmx.at>
While deprecated, they're totally useless as long as their values
are different from the AVIO_FLAG values that are used internally.
Currently, this leads to old libav applications still compiling
correctly (since we haven't removed the fallback wrappers), but
failing since the functions internally compare to the new AVIO_FLAG
values.
These should be removed at some point, but they aren't removed yet.
The intent is to be able to recompile an old application against
the new ABI without modifying the code, and this doesn't work
currently.
Signed-off-by: Martin Storsjö <martin@martin.st>
Previously, the function would lead to an infinite wait (by
returning AVERROR(EAGAIN)) on sockets indicating an error
via either of these poll flags.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
graphparser: add a NULL check on the argument passed to strstr
setdar: prefer "sar" over "par" in log info message
fade: fix draw_slice() check on fade->factor value
fade: make draw_slice() chroma check against planes 1 and 2
win32: include the correct header in cmdutils.c
ac3: fix memleak in fixed-point encoder
flashsv: Return more meaningful error values.
flashsv: Employ explicit AVCodec struct initializers.
read AVI palette from the end of extradata
cosmetics: K&R coding style and more whitespace for Flash Screen Video
Merged-by: Michael Niedermayer <michaelni@gmx.at>
It does not make sense (DV is interleaved by design) and
it avoids a crash when the non-interleaved code tries to
use the priv_data of streams created by the DV demuxer.
The crash could be avoided differently, but then that stream
would still lack an index and would not play correctly in
non-interleaved mode.
Fixes e.g. samples/ffmpeg-bugs/roundup/issue1514/Dennis0002_video1.avi
Official AVI specification says that stream header in case of video contains
BITMAPINFO, which is equal to BITMAPINFOHEADER and optional palette. Currently
lavf AVI demuxer thinks otherwise which produces garbage on codecs that have
both palette and extradata (luckily, there are not so many such codecs).
An example of such file is:
http://samples.multimedia.cx/V-codecs/KMVC/baseball1.avi
(IIRC, MSS1 or MSS2 also had such situation but they are still not supported
by lavc).
As a side note, passing palette in extradata as it's been done previously is
not quite correct since proper _extra_ data is surplus bytes in
BITMAPINFOHEADER, not including palette.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* qatar/master:
vorbisdec: Employ proper printf format specifiers for uint_fast32_t.
applehttp: Don't export variant_bitrate if it isn't known
crypto: Use av_freep instead of av_free
configure: Add missing libm library dependencies to .pc files.
oggdec: reindent after 8f3eebd6
configure: Add missing libavutil inter-library dependencies to .pc files.
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This enables non interleaved AVI mode for example.
Players that are picky on strict interleaving can set this.
Patches to only switch to non intereaved AVI mode when the index is not strictly
correctly interleaved are welcome.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
If there are no variants, the total bitrate of the single
stream isn't known, and exporting variant_bitrate = 0 does
look weird, since there really aren't any variants.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
Handle unicode file names on windows
rtp: Rename the open/close functions to alloc/free
Lowercase all ff* program names.
Refer to ff* tools by their lowercase names.
NOT Pulled Replace more FFmpeg instances by Libav or ffmpeg.
Replace `` by $() syntax in shell scripts.
patcheck: Allow overiding grep program(s) through environment variables.
NOT Pulled Remove stray libavcore and _g binary references.
vorbis: Rename decoder/encoder files to follow general file naming scheme.
aacenc: Fix whitespace after last commit.
cook: Fix small typo in av_log_ask_for_sample message.
aacenc: Finish 3GPP psymodel analysis for non mid/side cases.
Remove RDFT dependency from AAC decoder.
Add some debug log messages to AAC extradata
Fix mov debug (u)int64_t format strings.
bswap: use native types for av_bwap16().
doc: FLV muxing is supported.
applehttp: Handle AES-128 encrypted streams
Add a protocol handler for AES CBC decryption with PKCS7 padding
doc: Mention that DragonFly BSD requires __BSD_VISIBLE set
Conflicts:
ffplay.c
ffprobe.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
All file names should be in UTF-8 within libavformat.
This is handled by mapping the open() function to an internal one
in os_support.h for windows.
fopen() could be overridden in the same way, but if that would be
used from ffmpeg.c, it would add a dependency on an ff prefixed
internal lavf function.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
Use av_log_ask_for_sample() to request samples from users.
Make av_log_ask_for_sample() accept a variable number of arguments.
vqavideo: We no longer need to ask for version 1 samples.
aacdec: indentation cosmetics
Conflicts:
libavcodec/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This should hopefully fix roundup issue 2586.
This commit only implements it in the demuxer, not in the
protocol handler. If desired, some of the code could be
refactored to be shared by both implementations.
Signed-off-by: Martin Storsjö <martin@martin.st>
This can later be extended to support other AES bit sizes,
encryption, other crypto algorithms, reading the key from a URL, etc.
In order to use it, the key and initialization vector has to be
passed via AVOptions. Since such options can't be passed to
protocols from the command line, the protocol is currently
only for libavformat internal use.
Signed-off-by: Martin Storsjö <martin@martin.st>
AVERROR_NOTSUPP has been dropped with the major bump. Since the
signalled error denotes a configuration problem, AVERROR(EINVAL) looks
an adequate replacement.
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
* qatar/master:
APIChanges: document git revision for CODEC_CAP_SLICE_THREADS addition.
Introduce slice threads flag.
FATE: allow forcing thread-type when doing threaded fate runs.
Use av_log_ask_for_sample() where appropriate.
error: sort, pack, and align error code and string definitions
The stabilization period after version bumps should be one month, not one week.
applehttp: Expose the stream bitrate via metadata
doc: Add some initial docs on the applehttp demuxer
Provide a fallback version of the libm function trunc
libavdevice: Define _XOPEN_SOURCE for usleep
lavc: provide deprecated avcodec_thread_init until next major version
lavc: provide the opt.h header until the next bump
error: change AVERROR_EOF value
error: remove AVERROR_NUMEXPECTED
error: add error code AVERROR_OPTION_NOT_FOUND, and use it in opt.c
Conflicts:
libavcodec/h264.c
libavutil/error.c
libavutil/error.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
In write_packet(), return AVERROR(EINVAL) rather than AVERROR(EIO) if
the provided output filename pattern is not valid. Indeed this has to
be considered a configuration error rather than an I/O error.
Allow a less confusing error report.
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
AVERROR_NUMEXPECTED is used only in the image muxer and demuxer, and
has a too much specific meaning, which is better explained through a
log message. Thus it can be replaced by AVERROR(EINVAL).
This breaks API.
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
* qatar/master:
Makefile: Include dependencies for test tools, too
Remove a version check in av_log made unnecessary by the big bump.
update last major version increase dates in APIchanges
Reduce picture size for yadif.
oggdec: use av_freep() instead of av_free()
avio: Fix sanity checks in ffurl_read*
libavformat: Free AVFormatContext->streams
libavformat: Make protocols pass URLContext as log context where available
asf: remove commented out code in asf_read_seek
not pulled: libpostproc: Remove crufty code disabled by the big bump.
Reflect 0.7_beta1 release in the Changelog
not pulled: sws: remove disabled cruft.
lavu: remove disabled ff_random_get_seed cruft.
lavu: remove disabled sha1 cruft.
Conflicts:
Changelog
libavutil/sha1.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
After switching this from a statically allocated array to a
dynamically allocated one in the major bump, this needs explicit
freeing.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master: (37 commits)
In avcodec_open(), set return code to an error value only when an error occurs instead of unconditionally at the start of the function.
lavc: remove reference to opt.h from Makefile.
prefer avio_check() over url_exist()
avio: remove AVIO_* access symbols in favor of new AVIO_FLAG_* symbols
lavu: remove misc disabled cruft
lavu: remove FF_API_OLD_IMAGE_NAMES cruft
NOT PULLED lavu: remove FF_API_OLD_EVAL_NAMES cruft
lavc: remove misc disabled cruft.
lavc: remove the FF_API_INOFFICIAL cruft.
lavc: remove the FF_API_SET_STRING_OLD cruft.
lavc: remove the FF_API_USE_LPC cruft.
lavc: remove the FF_API_SUBTITLE_OLD cruft.
lavc: remove the FF_API_VIDEO_OLD cruft.
lavc: remove the FF_API_AUDIO_OLD cruft.
lavc: remove the FF_API_OPT_SHOW cruft.
lavc: remove the FF_API_MM_FLAGS cruft.
lavf: remove misc disabled cruft.
lavf: remove FF_API_INDEX_BUILT cruft
lavf: remove FF_API_URL_CLASS cruft.
lavf: remove FF_API_SYMVER cruft
...
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The problem with url_exist() is that it tries to open a resource in
RDONLY mode. If the file is a FIFO and there is already a reading
client, the open() call will hang.
By using avio_check() with access mode of 0, the second reading
process will check if the file exists without attempting to open it,
thus avoiding the lock.
Fix issue #1663.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Make AVIO_FLAG_ access constants work as flags, and in particular fix
the behavior of functions (such as avio_check()) which expect them to
be flags rather than modes.
This breaks API.
* commit 'f0a41afd8a37ebe972436fabfa3d289178bbd83b':
Not pulled: Replace mplayerhq.hu URLs by libav.org.
asfdec: Remove dead code from asf_read_close().
ptx: Use av_log_ask_for_sample() where appropriate.
Conflicts:
libavcodec/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
ac3dec: fix processing of delta bit allocation information.
vc1: fix fate-vc1 after previous commit.
wmv3dec: fix playback of complex WMV3 files using simple_idct.
make av_dup_packet() more cautious on allocation failures
make containers pass palette change in AVPacket
introduce side information for AVPacket
Politic commits that have not been pulled:
Update regtest checksums after revision 6001dad.
Replace more FFmpeg references by Libav.
Replace references to ffmpeg-devel with libav-devel; fix roundup URL.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Also add inttypes.h #include for PRId64 macros.
This fixes the following warnings:
libavformat/xwma.c:147: warning: too many arguments for format
libavformat/xwma.c:151: warning: too many arguments for format
* commit 'a3a0af4fb1237bed0af75868073f9a63db8b1864':
avutil: make aes and sha api public
handle malloc failures in ff_get_wav_header
add xWMA demuxer
mpegts: force the default timebase
libavcodec: Bump micro after adding the dtx AVOptions
Merged-by: Michael Niedermayer <michaelni@gmx.at>
ff_get_wav_header is reading data from a WAVE file and then uses it
(without validation) to malloc a buffer. It then proceeded to read
data into the buffer, without verifying that the allocation succeeded.
To address this, change ff_get_wav_header to return an error if
allocation failed, and adapted all calling code to handle that error.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
The mpegts muxer does not set the stream time base using
av_set_pts_info, but expects it to have the default value of 1/90000.
If the calling code changes stream pts before writing the header,
other muxers override the time base at that point (like mpegenc.c).
* qatar/master: (32 commits)
libopencore-amr, libvo-amrwbenc: Allow enabling DTX via private AVOptions
libopencore-amr, libvo-amrwbenc: Only check the bitrate when changed
libopencore-amr, libvo-amrwbenc: Find the closest matching bitrate
libvo-*: Fix up the long codec names
libavcodec: Mark AVCodec->priv_class const
swscale: Factorize FAST_BGR2YV12 definition.
libvo-aacenc: Only produce extradata if the global header flag is set
lavf: postpone removal of public metadata conversion API
lavc: postpone removal of request_channels
lavc: postpone removal of audioconvert and sample_fmt wrappers
lavf: postpone removal of deprecated avio functions
libopencore-amr: Cosmetics: Rewrap and align
libopencore-amr, libvo-amrbwenc: Rename variables and functions
libopencore-amr: Convert commented out debug logging into av_dlog
libopencore-amr: Remove an unused state variable
libvo-amrwbenc: Don't explicitly store bitrate modes in the bitrate table
libopencore-amr: Remove a useless local variable
libopencore-amr, libvo-amrwbenc: Make the bitrate/mode mapping array static const
libopencore-amr, libvo-amrwbenc: Return proper error codes in most places
libopencore-amr: Don't print carriage returns in log messages
...
Conflicts:
doc/developer.texi
libavcodec/avcodec.h
libavcodec/libvo-aacenc.c
libavcodec/libvo-amrwbenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This code could be executed if the demuxer reads more than one
segment before returning from av_open_input_stream.
Signed-off-by: Martin Storsjö <martin@martin.st>
The new function is more flexible than url_exist(), as it allows to
specify which access flags to check, and does not require an explicit
open of the checked resource.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
* qatar/master:
Partially merged:flvdec: Allow parsing keyframes metadata without seeking in most cases
Error out if vaapi is not found
avio: undeprecate av_url_read_fseek/fpause under nicer names
libvo-*: Don't use deprecated sample format names and enum names
DUPLICATE flvdec: Fix support for flvtool2 "keyframes based" generated index
DUPLICATE libavcodec: Use "const enum AVSampleFormat[]" in AVCodec initialization
Fix the conversion of AV_SAMPLE_FMT_FLT and _DBL to AV_SAMPLE_FMT_S32.
Convert some undefined 1<<31 shifts into 1U<<31.
Conflicts:
configure
libavcodec/libvo-aacenc.c
libavcodec/libvo-amrwbenc.c
libavformat/flvdec.c
Marged-by: Michael Niedermayer <michaelni@gmx.at>
Stop the avio input at a point where amf_parse_object can
continue parsing the end of the object seamlessly, when all
data is available.
If unsupported data is encountered within the keyframes object,
try seeking to the start of the keyframes object - if the seek
back was successful, the caller can continue parsing the rest
of the AMF data.
Signed-off-by: Martin Storsjö <martin@martin.st>
Current keyframes data parser unconditionally rewind metadata to
the end at the end of function. As result ALL metadata located
after keyframes index not parsed, and as metadata object can have
ANY placement inside metadata it can lead to unpredictable result
(bitrate can not be found, etc.). As result FLV movie will not
play at all in such situation.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
Not pulled due to wrong author, according to carl: Add unconditional return statement to yuva420_rgb32_MMX() / yuva420_bgr32_MMX().
Fix compilation of timefilter test program.
Add support for AMR-WB encoding via libvo-amrwbenc
Add an AAC encoder by using the libvo-aacenc library
g722: Return 8 bits per sample for g722 in av_get_bits_per_sample
Conflicts:
Changelog
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The printf function is forbidden in library code, but not in test programs,
so #undefine the printf macro that disables the system printf function.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
* qatar/master:
avio: add more documentation for AVIOContext.
Parse sprite data for WMVP and WVP2, and decode sprites for the latter
Replace outdated info on the FAQ
Redefine sameq
pad: fix example explanation
gradfun: add notice from the MPlayer manual
eval: add support for trunc, ceil, and floor functions
documentation: add setdar and setsar description to filters.texi
avio: document some members of AVIOContext.
avio: document avio_close().
avio: cosmetics, vertically align comments.
avio: cosmetics, group the reading functions.
avio: cosmetics, merge all the FF_API_OLD_AVIO blocks.
avio: cosmetics, move AVIOContext to start of the file.
avio: update file header.
os: fix OpenBSD/PowerPC compilation
pixfmt: add PIX_FMT_BGR48LE and PIX_FMT_BGR48BE
oggdec: fix demuxing chained audio streams
fix typo
Conflicts:
doc/filters.texi
libavformat/avio.h
libavutil/pixfmt.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
daud: Don't write packets that are too large to have their size expressed in the bytestream.
DUPLICATE pthread: validate_thread_parameters() ignored slice-threading being intentionally off
DUPLICATE Use consistent condition for whether to run slice-threading execute function.
avformat.h: fix a misplaced #endif
DUPLCIATE vaapi: cope with VA-API 0.32, i.e. fix VC-1 decoding on Sandy Bridge.
DUPLICATE vaapi: filter out DELAYED_PIC_REF flag to determine field.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Current keyframes data parser unconditionally rewind metadata to the end
at the end of function. As result ALL metadata located after keyframes
index not parsed,
and as metadata object can have ANY placement inside metadata it can
lead to unpredictable result
(bitrate can not be found, etc.). As result FLV movie will not play at
all in such situation.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
lavf: bump minor and add an APIChanges entry for avformat cleanup
lavf: get rid of ffm-specific stuff in avformat.h
Not pulled: avio: deprecate av_protocol_next().
avio: add a function for iterating though protocol names.
lavf: rename a parameter of av_sdp_create from buff->buf
lavf: rename avf_sdp_create to av_sdp_create.
lavf: make av_guess_image2_codec internal
avio: make URLProtocol internal.
avio: make URLContext internal.
lavf: mark av_pkt_dump(_log) for remove on $next+1 bump.
lavf: use designated initializers for all protocols
applehttp: don't use deprecated url_ functions.
avio: move two ff_udp_* functions from avio_internal to url.h
asfdec: remove a forgotten declaration of nonexistent function
avio: deprecate the typedef for URLInterruptCB
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
proto: include os_support.h in network.h
matroskaenc: don't write an empty Cues element.
lavc: add a FF_API_REQUEST_CHANNELS deprecation macro
avio: move extern url_interrupt_cb declaration from avio.h to url.h
avio: make av_register_protocol2 internal.
avio: avio_ prefix for url_set_interrupt_cb.
avio: AVIO_ prefixes for URL_ open flags.
proto: introduce listen option in tcp
doc: clarify configure features
proto: factor ff_network_wait_fd and use it on udp
Conflicts:
ffmpeg.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
Fix parser: mark av_parser_parse() for removal on next major bump
swscale: postpone sws_getContext removal until next major bump.
fate: add AAC LATM test
mmst: get rid of deprecated AVERRORs
lxfdec: use AVERROR(ENOMEM) instead of deprecated AVERROR_NOMEM.
Reemove remaining uses of deprecated AVERROR_NOTSUPP.
REIMPLEMENTED in 2 lines of code: lavf: if id3v2 tag is present and all else fails, guess by file extension
Conflicts:
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Support the URL_FLAG_NONBLOCK semantic and uniform the protocol.
The quick retry loop is already part of retry_transfer_wrapper.
The polling routine is common to the network protocols:
udp, tcp and, once merged, sctp.
Not yet complete, for demuxing AAC the AAC header must be generated
manually.
Possibly the decoder could accept the header as extradata to simplify
this.
* qatar/master:
psymodel: extend API to include PE and bit allocation.
avio: always compile dyn_buf functions
Remove unnecessary parameter from ff_thread_init() and fix behavior
Revert "aac_latm_dec: use aac context and aac m4ac"
configure: tell user if libva is enabled like the rest of external libs.
Add silence support for AV_SAMPLE_FMT_U8.
avio: make URL_PROTOCOL_FLAG_NESTED_SCHEME internal
avio: deprecate av_url_read_seek
avio: deprecate av_url_read_pause
ac3enc: NEON optimised extract_exponents
Conflicts:
libavcodec/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master: (22 commits)
ac3enc: move extract_exponents inner loop to ac3dsp
avio: deprecate url_get_filename().
avio: deprecate url_max_packet_size().
avio: make url_get_file_handle() internal.
avio: make url_filesize() internal.
avio: make url_close() internal.
avio: make url_seek() internal.
avio: cosmetics, move AVSEEK_SIZE/FORCE declarations together
avio: make url_write() internal.
avio: make url_read_complete() internal.
avio: make url_read() internal.
avio: make url_open() internal.
avio: make url_connect internal.
avio: make url_alloc internal.
applehttp: Merge two for loops
applehttp: Restructure the demuxer to use a custom AVIOContext
applehttp: Move finished and target_duration to the variant struct
aacenc: reduce the number of loop index variables
avio: deprecate url_open_protocol
avio: deprecate url_poll and URLPollEntry
...
Conflicts:
libavformat/applehttp.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>