Compare commits

...

2928 Commits

Author SHA1 Message Date
Michael Niedermayer
9422cd85a0 update for 2.1.1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-20 03:12:11 +01:00
Michael Niedermayer
87c416d93a avcodec/pcm-dvd: fix 20/24bit 1 channel
Fixes part of ticket3122

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ab184b298d)
2013-11-19 11:46:43 +01:00
Michael Niedermayer
607e5038a9 avcodec/pcm-dvd: fix 20bit 2 channels
Fixes part of ticket3122

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 5db49fc38d)
2013-11-19 11:46:32 +01:00
Michael Niedermayer
a289b0b91a avformat/mpegts: fix resync seek
The seek ended up seeking before the begin, which caused problems
Fixes initial sync issues with libbluray
Fixes Ticket3117

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 7d0e927a31)
2013-11-18 17:54:15 +01:00
Michael Niedermayer
842def7d78 avformat/utils: dont count attached pics toward the probesize
Such pics behave more like headers which we also dont count.
Fixes Ticket3146

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit a8dec360c5)
2013-11-18 14:26:49 +01:00
Clément Bœsch
c38af02626 build: avoid stdin stall with GNU AS probing.
a758c5e added probing for various tools, such as AS. Unfortunately, GNU
AS is reading stdin with -v, and thus configure is stalled with
configure arguments such as --as=as.

Fixes Ticket #1898.
(cherry picked from commit dbb41f93c1)
2013-11-18 14:26:18 +01:00
Clément Bœsch
7ce0f4ea3b avformat/image2: allow muxing gif files.
Fixes Ticket #2936.
(cherry picked from commit f70db22999)
2013-11-18 14:23:52 +01:00
Michael Niedermayer
3193b85be3 avcodec/tiff_common: allow count = 0 in ff_tadd_bytes_metadata()
Fixes Ticket3103

Reviewed-by: Thilo Borgmann <thilo.borgmann@mail.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 73d887733d)
2013-11-18 14:21:37 +01:00
Lou Logan
5c8845a554 Fix example in pullup documentation.
The pullup filter does not work well with the fps filter, it
currently needs -r

Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
(cherry picked from commit 6d90a5c149)
2013-11-18 14:20:01 +01:00
Michael Niedermayer
e5e048bbf7 avutil: reintroduce lls1 as the 52 ABI needs it
lls1 taken from ff130d7

This is incompatible with libavcodec version
55.18.100 to 55.43.100 except 55.39.101
This incompatibility is caused by these libavcodec versions depending on
a libavutil 52 which is ABI incompatible with the previous ABI 52

you can avoid this incompatibility by upgrading your libavcodec so it
does no longer depend on the invalid ABI

See: 502ab21af0
See: cc6714bb16
See: 41578f70cf
See: Ticket3136
Tested-by: marillat
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit b382d09d29)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-17 19:26:43 +01:00
Michael Niedermayer
b276b913a1 rename new lls code to lls2 to avoid conflict with the old which has a different ABI
also remove failed attempt at a compatibility layer, the code simply cannot work

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c3814ab654)

Conflicts:

	libavcodec/version.h
2013-11-17 19:12:29 +01:00
Michael Niedermayer
d89e14bf54 avutil: rename lls to lls2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit bbe66ef912)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-17 19:11:28 +01:00
Michael Niedermayer
4b846f0ccf ffmpeg: Do not fill gap before the first decodable frame on single stream input files unless the user explicitly requests it.
Fixes different behavior to JM and probably several if not all
reference decoders.

We cannot just do this unconditionally as it would ruin AV sync in
some use cases.

Bug-Found-by: BugMaster
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d7ebeba80c)

Conflicts:

	ffmpeg.c
2013-11-17 19:11:07 +01:00
Diego Biurrun
425517eecb mpeg12dec: Remove incomplete and wrong UV swapping code for VCR2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3215140425)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-17 19:11:07 +01:00
Kostya Shishkov
bc89c2902b mpegvideo: Fix swapping of UV planes for VCR2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit bae14f38d9)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-17 19:11:07 +01:00
Michael Niedermayer
1497633924 h264: Do not treat the initial frame special in handling of frame gaps
The not handling of frame gaps has lead to the lack of a dummy reference
frame, which has lead to the failure of decode_slice_header() which has
lead to one SEI recovery message being skiped which had introduced a
slightly suboptimal recovery point for at least 1 h264 file compared to
JM.

Found-by: Carl & BugMaster
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 9e5ef1c5c3)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-17 19:11:07 +01:00
Michael Niedermayer
f167511753 avcodec/ffv1enc: Check high bpp RGB against coder type too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-17 19:11:07 +01:00
Michael Niedermayer
8c00647982 avformat/utils: never decrease has_b_frames in compute_pkt_fields()
The intent of the original check was to increase has_b_frames when
it was incorrectly set to 0. Later codecs allowed larger values

Found-by: divVerent
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8b73a3f6f6)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-17 19:11:07 +01:00
Michael Niedermayer
e40d01f45d avcodec/cabac: support UNCHECKED_BITSTREAM_READER = 0
Fixes overreads in HEVC
Fixes Ticket3070
Also fixed remaining issues from Ticket3075 and Ticket3076

Some lines of code taken from  0c5f839693da2276c2da23400f67a67be4ea0af1:libavcodec/x86/cabac.h
and                            0c5f839693da2276c2da23400f67a67be4ea0af1:libavcodec/cabac_functions.h

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit fa6fa2162b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-17 19:11:07 +01:00
Michael Niedermayer
51d1e79cc1 avformat/thp: force moving forward
Fixes infinite loop
Fixes Ticket3098

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6c4b87d3d6)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-17 19:11:07 +01:00
Michael Niedermayer
807d85400c avformat/thp: fix variable types to avoid overflows
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 2b1056e4e2)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-17 19:11:07 +01:00
Michael Niedermayer
5c1e9d3722 avcodec/jpeglsdec: check err value for ls_get_code_runterm()
Fixes infinite loop
Fixes Ticket3086

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit cc0e47b550)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-17 19:11:07 +01:00
Anssi Hannula
b56e9beeb8 lavf/spdifdec: fix demuxing of AAC in IEC 61937
Return value of avpriv_aac_parse_header() is not checked correctly. Fix
it.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f86387b6c2)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-17 19:11:07 +01:00
Michael Niedermayer
d8be5bda1b avformat/http: fix cookies
Fixes Ticket3096

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit b73900b8a6)
2013-10-31 01:55:00 +01:00
Michael Niedermayer
1cd5797f8e avcodec/bink: fix seeking to frame 0
Fixes Ticket3088

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit cb52d6da0a)
2013-10-31 00:50:24 +01:00
Michael Niedermayer
35a7b73590 update for 2.1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-28 01:35:03 +01:00
Michael Niedermayer
0fef19b15a doc/RELEASE_NOTES: update for 2.1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-28 01:13:46 +01:00
Michael Niedermayer
d041f12513 avdevice/pulse_audio_enc: remove double ;
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-28 00:52:11 +01:00
Michael Niedermayer
b85bf3423c doc/APIchanges: add 2 missing hashes & versions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-28 00:45:19 +01:00
Michael Niedermayer
f11a917ac0 MAINTAINERS: update which releases i maintain
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-28 00:40:15 +01:00
Michael Niedermayer
72d1f668c4 Changelog: add 2.1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-28 00:39:34 +01:00
Mickaël Raulet
0ddd3c5ba6 hevc: add decode hrd
(cherry picked from commit ab4061dff796b1dd2bc884101226aab48c2c875e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 23:50:35 +01:00
Anton Khirnov
2f77894ccc hevc: better mt implementation
Signed-off-by: Mickaël Raulet <mraulet@insa-rennes.fr>
(cherry picked from commit 93afb8c519deca85b3c97804927de5b016dd32d1)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 23:49:50 +01:00
Mickaël Raulet
c1882e801d hevc: clean up mvs(cherry picked from commit 955317c09b877a513d3fcfcd1615909b2f4f651c)
Decreases the difference to Anton Khirnovs patch v5

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 23:48:43 +01:00
Mickaël Raulet
2707cca78f hevc: cosmetic change(cherry picked from commit 3b57513b3f39c04337801fb9d159c7ca8dfa9deb)
Decreases the difference to Anton Khirnovs patch v5

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 23:48:11 +01:00
Mickaël Raulet
3106cbd321 hevc: more cosmetic(cherry picked from commit 9697abe41daa234602915f85bf6b1c0ca0252cff)
Decreases the difference to Anton Khirnovs patch v5

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 23:46:54 +01:00
Mickaël Raulet
3c3ece24ea hevc : cosmetic changes(cherry picked from commit 7308c0ccf13f18cebe4851e6dcd6b5c0b09be1dd)
Decreases the difference to Anton Khirnovs patch v5

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 23:45:34 +01:00
Marton Balint
dbe6f9f2c2 lavc: add support for CODEC_CAP_DELAY in subtitles
This patch adds CODEC_CAP_DELAY support to avcodec_decode_subtitle2.

For DVB teletext decoding, a single teletext packet can contain multiple
teletext pages. In order to support that, the teletext decoder may buffer
some pages.

Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 23:12:41 +01:00
Lukasz Marek
b387a24cb4 lavd/fbdev_enc: remove unused variables
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 22:46:32 +01:00
Michael Niedermayer
758b6d39f6 avcodec/hevc: calculate checksum only if AV_EF_EXPLODE is set
This avoids a slowdown with the default of enabled CRC checks

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 22:31:04 +01:00
Michael Niedermayer
69d39cb90c Revert "avcodec/options_table: disable CRC checking by default"
This reverts commit c7027ce9ea.

It appears there is no complete consensus on this currently.
2013-10-27 22:30:31 +01:00
Michael Niedermayer
e797bd9dc7 Revert "avcodec/options_table: set err_detect to careful by default"
This reverts commit b1348eb68b.
2013-10-27 22:30:00 +01:00
Lukasz Marek
b04af34600 lavd/fbdev_enc: more stream validation restrictive
So far fbdev_enc device picked up first video stream and ignored others.
It is required to provide exactly one video stream now.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-10-27 21:45:32 +01:00
Lukasz Marek
7f5e75eea9 lavd/pulse_audio_enc: more stream validation restrictive
So far pulse device picked up first audio stream and ignored others.
It is required to provide exactly one audio stream now.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-10-27 21:45:32 +01:00
Lukasz Marek
4fb3aa491b lavd:pulse_audio_enc: fix array compared against 0
fixes CID 1113222

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-10-27 21:45:26 +01:00
Lukasz Marek
e5b3b75669 lavd/pulse_audio_enc: fix timestamp calculation
Current implementation didn't include duration of
last processed packet.
Also remove access to st->cur_dts and replace with pkt->pts.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-10-27 21:43:05 +01:00
Paul B Mahol
75b2bbe21d libavfilter/vf_noise: relicense to LGPL
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-27 20:29:07 +00:00
Michael Niedermayer
b1348eb68b avcodec/options_table: set err_detect to careful by default
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 21:18:50 +01:00
Anton Khirnov
c7027ce9ea avcodec/options_table: disable CRC checking by default
3 runs each of fate-suite/hevc-conformance/ENTP_C_LG_3.bit

with crc flag
1841819858 decicycles in frame decode, 32 runs, 0 skips
1833937180 decicycles in frame decode, 32 runs, 0 skips
1843283884 decicycles in frame decode, 32 runs, 0 skips

without crc flag
1703897301 decicycles in frame decode, 32 runs, 0 skips
1695031879 decicycles in frame decode, 32 runs, 0 skips
1697524383 decicycles in frame decode, 32 runs, 0 skips

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 21:18:50 +01:00
Michael Niedermayer
2886d6cbb7 avcodec/takdec: also do crc check when er compliant is set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 21:18:40 +01:00
Derek Buitenhuis
d206fd996b avio: Check for memory allocation failure of private data
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-27 19:15:03 +00:00
Derek Buitenhuis
52aed19307 avfiltergraph: Properly handle memory allocation failure
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-27 19:15:03 +00:00
Derek Buitenhuis
6ef30976e0 timefilter: Handle memory allocation failure
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-27 19:14:23 +00:00
Michael Niedermayer
fc7be7ddf3 avcodec/avcodec.h: Add documentation for the AV_EF_* defifines
The documentation is copied from the AVOption texts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 20:05:36 +01:00
Michael Niedermayer
2ef1e62c8d correct the AVOption documentation for AV_EF_CAREFUL
The flag was and is intended to be a sane default and thus does not enable
time consuming checks. This also matches how the flag is used in decoders and
demuxers.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 20:03:08 +01:00
Paul B Mahol
292902ea9f avfilter: add mergeplanes filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-27 18:58:43 +00:00
Michael Niedermayer
d9bc251d39 ffmpeg_filter: Fix non jpeg yuv in jpeg support
This is a regression, did not bisect so dont know what caused it but
likely some changes to the command line handling code.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 17:41:06 +01:00
Michael Niedermayer
4307026243 avformat/utils: make "first_dts not matching first dts in the queue" message more informative
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 17:41:06 +01:00
Stefano Sabatini
5b53dd0803 doc/encoders: replace @xref with @ref command
@xref is ignored by texi2pod.
2013-10-27 15:32:25 +01:00
Ronald S. Bultje
efc5a54cab vp9: skip itxfm_add if the whole block has no coefficients.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 15:02:48 +01:00
Ronald S. Bultje
960490c0b2 avcodec/x86/videodsp: Small speedups in ff_emulated_edge_mc x86 SIMD.
Don't use word-size multiplications if size == 2, and if we're using
SIMD instructions (size >= 8), complete leftover 4byte sets using movd,
not mov. Both of these changes lead to minor speedups.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 15:02:48 +01:00
Ronald S. Bultje
cd86eb265f avcodec/x86/videodsp: fix a bug in a %if statement where we used '%%' instead of '&&'.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 15:02:48 +01:00
Benedict Endemann
696aa74b1a lavfi/overlay: correct small error in intersection detection
The image size of the destination image was used to determine if a source
image was positioned outside the destination image, that no intersection
could occur.  Actually for these two cases the size of the source image
has to be used!

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-27 15:01:02 +01:00
Michael Niedermayer
2c7c2a53b9 vcodec/vc1dec: remove dead code
Fixes CID732196

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 13:34:35 +01:00
Michael Niedermayer
7eda2e524b avcodec/vc1_parser: check ff_vc1_parse_frame_header*() return value
Fixed CID739860

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 13:28:08 +01:00
Michael Niedermayer
46143d2555 avcodec/tiff: factorize offset init code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 13:10:38 +01:00
Michael Niedermayer
d5ad4e4a2f avcodec/tiff: remove TIFF_LONG special case
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 13:10:38 +01:00
Michael Niedermayer
0aba920d61 avcodec/tiff: Fix use of uninitialized off variable
Fixes CID1108608

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 13:10:38 +01:00
Timothy Gu
43041a7b4a doc/encoders: add libshine doc
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-27 13:02:32 +01:00
Stefano Sabatini
d3aa04b150 doc/protocols/rtp: apply misc fixes
Partially suggested-by Burek Pekaric <burek021@gmail.com>.
2013-10-27 12:44:48 +01:00
Timothy Gu
21f22908c6 MAINTAINERS: add my name for Launchpad
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 12:11:06 +01:00
Michael Niedermayer
09ef98f1ae avcodec/hevcpred_template: Fix integer overflows
signed integer overflow is undefined in C

Fixes the following gcc warnings:
In file included from libavcodec/hevcpred.c:27:0:
libavcodec/hevcpred_template.c: In function ‘intra_pred_8’:
libavcodec/hevcpred_template.c:302:9: warning: assuming signed overflow does not occur when assuming that (X - c) > X is always false [-Wstrict-overflow]
In file included from libavcodec/hevcpred.c:31:0:
libavcodec/hevcpred_template.c: In function ‘intra_pred_9’:
libavcodec/hevcpred_template.c:302:9: warning: assuming signed overflow does not occur when assuming that (X - c) > X is always false [-Wstrict-overflow]
In file included from libavcodec/hevcpred.c:35:0:
libavcodec/hevcpred_template.c: In function ‘intra_pred_10’:
libavcodec/hevcpred_template.c:302:9: warning: assuming signed overflow does not occur when assuming that (X - c) > X is always false [-Wstrict-overflow]

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 11:54:53 +01:00
Michael Niedermayer
10386710fd Merge commit 'afa93d198aaf2cc661c4df6d4095cd030265d30a'
* commit 'afa93d198aaf2cc661c4df6d4095cd030265d30a':
  hevc_parser: Set pict_type, key_frame and output_picture_number.
  hevc: Search start code in decode_nal_units().

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 11:29:37 +01:00
Yusuke Nakamura
afa93d198a hevc_parser: Set pict_type, key_frame and output_picture_number.
Conflicts:
	libavcodec/hevc.c
2013-10-27 11:07:43 +01:00
Yusuke Nakamura
f7f8801839 hevc: Search start code in decode_nal_units().
User may cut off a weird position and send a packet from there.
This avoids returning as invalid data immediately.
2013-10-27 10:43:14 +01:00
Anton Khirnov
83d96e9a19 Changelog: add entry for HEVC support.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 10:34:34 +01:00
Guillaume Martres
7b0f61a936 FATE: update HEVC tests
This changes the tests that used the internal hevc checksum to use framecrc

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

Conflicts:

	tests/fate/hevc.mak
	tests/ref/fate/hevc-conformance-DBLK_A_SONY_3
	tests/ref/fate/hevc-conformance-DBLK_B_SONY_3
	tests/ref/fate/hevc-conformance-DBLK_C_SONY_3
	tests/ref/fate/hevc-conformance-DELTAQP_B_SONY_3
	tests/ref/fate/hevc-conformance-DELTAQP_C_SONY_3
	tests/ref/fate/hevc-conformance-POC_A_Bossen_3

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 10:15:56 +01:00
Michael Niedermayer
3b56f665b1 avcodec/flacdec: also do crc check when er compliant is set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 09:51:21 +01:00
Anton Khirnov
346e09638c avcodec/error_resilience check error_concealment, not err_recognition.
err_recognition is supposed to trigger detecting and reporting errors,
not trying to fix them.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 09:51:21 +01:00
Stefano Sabatini
4e268285aa cmdutils: add -colors option 2013-10-27 09:18:45 +01:00
Stefano Sabatini
d61617a523 lavu/parseutils: add av_get_known_color_name() 2013-10-27 09:16:05 +01:00
Michael Niedermayer
1e5271a9fd avformat/utils: do not override pts in h264 when they are provided from the demuxer
Fixes Ticket2143

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 02:27:45 +02:00
Michael Niedermayer
f3d0642d35 avutil/utils: check that size_t is unsigned
ANSI/ISO C guarantee this, yet there is evidence that there exist
platforms where its not so.
See: http://www.cs.utah.edu/dept/old/texinfo/glibc-manual-0.02/library_30.html

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-26 22:08:06 +02:00
Michael Niedermayer
c78a416985 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fft-test: add a missing #include

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-26 21:59:24 +02:00
Michael Niedermayer
3fcc2684e4 Merge commit 'b284e1ffe343d6697fb950d1ee517bafda8a9844'
* commit 'b284e1ffe343d6697fb950d1ee517bafda8a9844':
  mem: do not check for negative size

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-26 21:49:04 +02:00
Michael Niedermayer
d2db1bb7de avformat/http: dont fail with unknown Content-Encodings
Fixes: http://m1.file.xiami.com/282/23282/343749/1769075752_709488_l.mp3

Based-on-patch-by: Crossle Song <sxm@yixia.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-26 19:20:01 +02:00
Michael Niedermayer
e0b2bdd37a avcodec/h264_parser: heuristically detect non marked keyframes
Fixes Ticket3083

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-26 15:56:11 +02:00
Michael Niedermayer
41efb8d9a7 avcodec/x86/cabac: include get_cabac_bypass_sign_x86() under #if !BROKEN_COMPILER
this might fix Ticket2999 as well as some fate clients
untested as the original patch submitter no longer has the environment to test
this should be reverted if it does not fix the issues

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-26 15:06:55 +02:00
Lukasz Marek
99a4c86a32 configure: link with built libs when pc-uninstalled is used
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-26 14:06:40 +02:00
Michael Niedermayer
444ce03f0f Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: add support for libswresample options
  ffplay: use av_frame_get_pkt_pos instead directly accessing pkt pos
  ffplay: factor out picture freeing code
  ffplay: update and extend documentation for channel and stream switching

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-26 13:54:29 +02:00
Marton Balint
44758b4d17 ffplay: add support for libswresample options
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-10-26 12:23:54 +02:00
Marton Balint
04de0e04c5 ffplay: use av_frame_get_pkt_pos instead directly accessing pkt pos
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-10-26 12:23:54 +02:00
Marton Balint
2d059d8de1 ffplay: factor out picture freeing code
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-10-26 12:23:54 +02:00
Marton Balint
060c42bc3d ffplay: update and extend documentation for channel and stream switching
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-10-26 12:23:54 +02:00
Michael Niedermayer
fcd08b7770 avformat/md5enc: add format, version and column headers
See Ticket2280

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-26 12:16:04 +02:00
Michael Niedermayer
6889b78fe0 doc/issue_tracker: add 2 missing issue types
Reviewed-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-26 11:29:42 +02:00
Michael Niedermayer
0feecb62ab Merge remote-tracking branch 'lukaszmluki/master'
* lukaszmluki/master:
  lavd/pulse_audio_enc: avoid vars in for()
  lavd/pulse_audio_enc: add another default to stream name

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-26 10:31:04 +02:00
Anton Khirnov
834259528b fft-test: add a missing #include
stdio.h needed for printf since 7177df90a0
2013-10-26 09:11:22 +02:00
Vittorio Giovara
b284e1ffe3 mem: do not check for negative size
size_t is guaranteed to be unsigned

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-26 09:05:56 +02:00
Michael Niedermayer
7e19c549ba Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: aac: Add test for AAC-ELD

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-26 02:58:08 +02:00
Michael Niedermayer
8c508a0354 Merge commit 'adea4512c6087280702e2423de55cea050e20a98'
* commit 'adea4512c6087280702e2423de55cea050e20a98':
  aacdec: Fix calls to avpriv_report_missing_feature().

See: 435a730e21
See: 72cf47b241

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-26 02:46:40 +02:00
Michael Niedermayer
a665704402 Merge commit '4d6ee0725553a43ba88d6f8327ebcf8f1c5ae8d4'
* commit '4d6ee0725553a43ba88d6f8327ebcf8f1c5ae8d4':
  libavutil: x86: Add AVX2 capable CPU detection.

Conflicts:
	libavutil/cpu.c
	libavutil/cpu.h
	libavutil/x86/cpu.c

See: 865b70bc5d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-26 02:36:36 +02:00
Kieran Kunhya
865b70bc5d Add AVX2 capable CPU detection. Patch based on x264's AVX2 detection
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-26 02:34:22 +02:00
Michael Niedermayer
780669ef7c avcodec/jpeg2000dec: non zero image offsets are not supported
Fixes out of array accesses
Fixes Ticket3080
Found-by: ami_stuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-26 02:19:13 +02:00
Lukasz Marek
c428170549 lavd/pulse_audio_enc: avoid vars in for()
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-10-26 01:58:18 +02:00
Lukasz Marek
c6c70c2bf7 lavd/pulse_audio_enc: add another default to stream name
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-10-26 01:58:01 +02:00
Michael Niedermayer
3c9dd93faa h264: make flush_change() set mmco_reset
This ensures that frames do not get mixed on context reinits

Fixes Ticket2836

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-26 01:22:38 +02:00
lemonlinger@gmail.com
2cf94485de avformat/rtpproto: when local rtp port and local rtcp port are not specified, try to make two successive ports and retry 3 times when failed
some video players on Android will not send udp hole punching messages if the rtcp port and rtp port are not two successive integers.
So, if the video player is behind NAT, it could not receive and rtp messages via udp

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-25 22:40:21 +02:00
Alex Converse
4e326ec769 fate: aac: Add test for AAC-ELD 2013-10-25 19:41:23 +00:00
Alex Converse
adea4512c6 aacdec: Fix calls to avpriv_report_missing_feature().
It does not take log level as an argument.
2013-10-25 19:41:23 +00:00
Kieran Kunhya
4d6ee07255 libavutil: x86: Add AVX2 capable CPU detection.
Patch based on x264's AVX2 detection

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-25 19:36:55 +01:00
Michael Niedermayer
08a8976196 avcodec/h264: reduce noisiness of "mmco: unref short failure"
Do not consider it an error if we have no frames and should discard one.
This condition can easily happen when decoding is started from an I frame

Fixes Ticket2811

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-25 20:03:29 +02:00
Michael Niedermayer
ba8716df7f avformat/mp3dec: perform seek resync in the correct direction
Fixes seeking to the last frame in CBR files
Fixes Ticket2773

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-25 19:37:03 +02:00
Michael Niedermayer
d04ec6ffc5 avformat/rmdec: english typos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-25 19:14:36 +02:00
Michael Niedermayer
2e7a1fdd6d avcodec/twinvq: return the actual number of consumed bytes
Fixes Ticket2980

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-25 17:25:26 +02:00
Michael Niedermayer
cbb7f56dfe metasound & twinvqdec: return the number of read bytes from read_bitstream
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-25 17:24:07 +02:00
Michael Niedermayer
f5dae4894d configure: abort if threading without atomics is used
also provide a list of workarounds to the user

Fixes Ticket2363

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-25 16:55:57 +02:00
Stefano Sabatini
b4991292aa doc: add a few links to the Channel Layout syntax section 2013-10-25 15:44:12 +02:00
Stefano Sabatini
a3505136f9 doc/utils: document channel layout specification 2013-10-25 15:44:04 +02:00
Michael Niedermayer
d9ad305072 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fft-test: Remove possibility of returning restricted exit code
  dct-test: Remove possibility of returning a restricted exit code
  base64-test: Remove posibility of returning restricted exit codes
  tree-test: Don't return restricted exit codes

Conflicts:
	libavutil/base64.c

See: b2fdf3fc35
See: f80ca1cb00
See: cbbd0ac764
See: 5dfdffeb6f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-25 13:35:53 +02:00
Michael Niedermayer
6abb9eb525 avformat/wavdec: Fix smv packet interleaving
This strips the relative timestamp "flag" off.

Fixes Ticket2849

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-25 12:50:26 +02:00
Derek Buitenhuis
7177df90a0 fft-test: Remove possibility of returning restricted exit code
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-25 11:06:43 +01:00
Derek Buitenhuis
5331d2b93f dct-test: Remove possibility of returning a restricted exit code
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-25 11:06:43 +01:00
Derek Buitenhuis
8dc1b7bd22 base64-test: Remove posibility of returning restricted exit codes
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-25 11:06:32 +01:00
Michael Niedermayer
52297945ec doc/issue_tracker: remove more mentions of patches
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-25 12:03:35 +02:00
Michael Niedermayer
cdb46f15ff doc/issue_tracker: update resolution names
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-25 11:36:46 +02:00
Michael Niedermayer
2a28bad822 doc/issue_tracker: remove patches as we dont use trac to handle patches
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-25 11:36:29 +02:00
Michael Niedermayer
3db7ae6a9a doc/issue_tracker: theres no substatus in trac
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-25 11:34:18 +02:00
Paul B Mahol
0f15ebe588 MAINTAINERS: update
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-25 07:12:32 +00:00
Michael Niedermayer
a443b9732f ffmpeg: make stream default if its the only of its kind and no source can be unambigously assigned to it
Fixes Ticket2969

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-25 02:08:35 +02:00
Michael Niedermayer
4fb14f8492 avcodec/wmalosslessdec: fix data flushing at the end
Fixes ffplay -autoexit
Fixes Ticket3000

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-25 01:09:59 +02:00
Michael Niedermayer
29ffeef5e7 avcodec/h264: do not trust last_pic_droppable when marking pictures as done
This simplifies the code and fixes a deadlock

Fixes Ticket2927
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-24 23:15:30 +02:00
Michael Niedermayer
da54ad9a72 ffmpeg_filter: Pass command line -threads X to filtergraph
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-24 23:15:30 +02:00
Ingo Brückl
6c9c636c00 lavd/fbdev_common: fix compilation with older kernels
This will avoid errors due to conflicting declarations
with linux kernels prior to 2.6.30.

Reviewed-by: Lukasz M <lukasz.m.luki@gmail.com>
Signed-off-by: Ingo Brückl <ib@wupperonline.de>
2013-10-24 21:19:52 +02:00
Stefano Sabatini
af1c538850 doc/Makefile: fix man pages uninstall path
Fix trac ticket #3054.
2013-10-24 21:19:52 +02:00
burek
229042a52d doc/protocols: add description for the RTP protocol
With some edits by Stefano.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-24 21:19:45 +02:00
Paul B Mahol
ea9632b747 avcodec/flicvideo: use avpriv_request_sample()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-24 15:31:35 +00:00
Michael Niedermayer
aaf02f6ede avformat/rmdec: add some error messages
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-24 17:05:57 +02:00
Michael Niedermayer
f7106e00f7 avformat/rmdec: fix return code of ff_rm_parse_packet()
Broken by aecb9d3
Fixes assertion failure
Fixes Ticket3042

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-24 16:53:50 +02:00
Ronald S. Bultje
1b3a7e1f42 avcodec/x86/videodsp: Properly mark sse2 instructions in emulated_edge_mc x86 simd as such.
Should fix crashes or corrupt output on pre-SSE2 CPUs when they were
using SSE2-code (e.g. AMD Athlon XP 2400+ or Intel Pentium III) in
hfix or hvar single-edge (left/right) extension functions.

Tested-by: Ingo Brückl <ib@wupperonline.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-24 13:36:55 +02:00
Michael Niedermayer
210afae0ba avformat/utils: Check size argument in ff_add_index_entry()
Fixes infinite loop
Fixes Ticket3061

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-24 12:58:09 +02:00
Michael Niedermayer
e7811e48be Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  lavd/x11grab: Support AV_PIX_FMT_PAL8.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-24 12:18:21 +02:00
Michael Niedermayer
a826efb55a avfilter/x86/vf_gradfun_init: fix const and related warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-24 12:12:59 +02:00
Derek Buitenhuis
530cd2893e tree-test: Don't return restricted exit codes
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-24 10:59:26 +01:00
Carl Eugen Hoyos
f60c3a7c1b lavd/x11grab: Support AV_PIX_FMT_PAL8.
Fixes ticket #3068.
2013-10-24 11:56:36 +02:00
Derek Buitenhuis
b2fdf3fc35 fft-test: Remove possibility of returning restricted exit code
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-24 10:53:35 +01:00
Derek Buitenhuis
f80ca1cb00 dct-test: Remove possibility of returning a restricted exit code
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-24 10:53:10 +01:00
Derek Buitenhuis
cbbd0ac764 base64-test: Remove posibility of returning restrcted exit codes
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-24 10:51:52 +01:00
Derek Buitenhuis
5dfdffeb6f tree-test: Don't return restricted exit codes
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-24 10:51:52 +01:00
Ingo Brückl
94d707af3c build: remove pointless condition
$(STRIP) always expands to something, because it is one of the commands
in the BRIEF list. This renders the condition pointless.

Signed-off-by: Ingo Brückl <ib@wupperonline.de>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-24 10:51:03 +01:00
Timothy Gu
07e7bc9cbd lavc/libmp3lame: add comments about CBR/VBR modes
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-24 11:32:56 +02:00
Timothy Gu
683d9cb1f2 lavc/libmp3lame: fix alignment and capitalization in AVOptions
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-24 11:32:56 +02:00
Timothy Gu
6879fe4265 doc/codecs: update skip_alpha documentation
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-24 11:32:56 +02:00
Timothy Gu
0be74cf0f5 doc/encoders: add libvorbis doc
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-24 11:32:56 +02:00
Michael Niedermayer
caac12bd49 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  golomb: reduce scope of a few variables

Conflicts:
	libavcodec/golomb.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-24 10:44:42 +02:00
Michael Niedermayer
1ea28ffc4d Merge commit '0e730494160d973400aed8d2addd1f58a0ec883e'
* commit '0e730494160d973400aed8d2addd1f58a0ec883e':
  avfilter: x86: Port gradfun filter optimizations to yasm

Conflicts:
	libavfilter/x86/vf_gradfun_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-24 10:35:39 +02:00
Michael Niedermayer
0491695358 avdevice/fbdev_enc: avoid declaring variables in for()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-24 10:19:38 +02:00
Paul B Mahol
426abbb632 avfilter/libmpcodecs/vf_eq: remove useless storage class specifier in empty declaration
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-24 07:44:23 +00:00
Lukasz Marek
a547c496e9 lavd/fbdev: move common code to separate file
Move common fbdev dec/enc for separate file.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-24 08:45:59 +02:00
Lukasz Marek
c720d0d9df lavd: rename fbdev.c into fbdev_dec.c
Rename existing fbdev.c to make it a more meaningful name.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-24 08:38:33 +02:00
Lukasz Marek
759388aa71 lavd: add fbdev output device
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-24 08:16:17 +02:00
Stefano Sabatini
ff9d11f95d lsws: use av_pix_fmt_get_chroma_sub_sample()
Remove duplicated getSubSampleFactors() function. Simplify.
2013-10-24 08:12:38 +02:00
Vittorio Giovara
fb13fe8342 golomb: reduce scope of a few variables
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-10-24 02:04:34 +02:00
Michael Niedermayer
2f31b73a11 avcodec/mpegaudio_tablegen: fix build with hardcoded tables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-24 01:18:37 +02:00
Michael Niedermayer
fbdc98c758 avcodec/metasound_data: Fix inconsistency in tables
Fixes out of array read

This issue can be reproduced with:
Lucky.asf
teuflisch.asf
from http://samples.ffmpeg.org/A-codecs/VoxWare/

as well as other samples

fcb16m has 320 elements but the code before the patch can address a
table of 384 elements in its place.
I dont know if theres some elements missing, or its maybe the wrong
table, or if the parameters affecting the table size are wrong, or
if theres something else wrong.
if someone reading this has easy access to some reference. (binary
with the tables in it, spec, whatever, please contact us)

This solution fixes the inconsistency by padding the table with zeros,
this variant was suggested by Vitor Sessak. And ensures that nothing
currently working breaks.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 22:04:29 +02:00
Michael Niedermayer
92f649b411 avcodec/hevc: remove CODEC_CAP_EXPERIMENTAL
Approved-by: mraulet
Approved-by: smarter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 20:00:11 +02:00
Michael Niedermayer
02a31f6a74 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  golomb: K&R formatting cosmetics

Conflicts:
	libavcodec/golomb.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 19:45:07 +02:00
Michael Niedermayer
4c18c31438 Merge commit '1ce3ec24b35d9d549b12f17bd7fd391abaf3a6f7'
* commit '1ce3ec24b35d9d549b12f17bd7fd391abaf3a6f7':
  h263: K&R formatting cosmetics

Conflicts:
	libavcodec/h263dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 19:37:09 +02:00
Paul B Mahol
3a75c4e93b fate: fix fieldorder test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-23 17:35:37 +00:00
Michael Niedermayer
23dec54c5d Merge commit '0d6d4a9e4a626be6ff55839eab4114aeac45ba88'
* commit '0d6d4a9e4a626be6ff55839eab4114aeac45ba88':
  avstring-test: Mark pointer passed to av_free() as non-const

See: ab796ded75
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 18:53:32 +02:00
Michael Niedermayer
05eb0f125c avutil/log: document log callback thread saftey requirements
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 18:15:49 +02:00
Michael Niedermayer
423ae31354 avutil/log: make default av_log callback thread safe
This uses a pthread mutex

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 18:15:49 +02:00
Michael Niedermayer
094c40ca37 avcodec/utils: use a default lock manager that uses a pthread mutex
That makes avformat & avcodec thread safe without the need to explicitly
register a lock manager.

Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 16:38:06 +02:00
Michael Niedermayer
3ce7c62e1b avformat/framehash: add software version to framecrc/md5
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 16:32:32 +02:00
James Almer
c994b42830 lavf/adtsenc: Add support for APE tags
Should fix ticket #2269

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 16:13:23 +02:00
Robert Krüger
83922cccb2 avfilter/vf_scale: Correct vf_scale mappings from arguments to color range
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 15:44:31 +02:00
Daniel Kang
0e73049416 avfilter: x86: Port gradfun filter optimizations to yasm
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-10-23 14:50:27 +02:00
Michael Niedermayer
1e2ab98460 avcodec/vc1dec: use logical operation instead of bitwise for twomv
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 14:32:04 +02:00
Michael Niedermayer
867e7bb4f1 fix order of operations in comments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 14:32:04 +02:00
Vittorio Giovara
2c993e8b5e golomb: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-10-23 13:17:23 +02:00
Luca Barbato
1ce3ec24b3 h263: K&R formatting cosmetics
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-10-23 13:17:23 +02:00
Diego Biurrun
0d6d4a9e4a avstring-test: Mark pointer passed to av_free() as non-const
libavutil/avstring.c:278:9: warning: passing argument 1 of ‘av_free’ discards ‘const’ qualifier from pointer target type
2013-10-23 13:17:23 +02:00
Michael Niedermayer
3d3a7f5034 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo: Drop a faulty assert

Conflicts:
	libavcodec/mpegvideo.c

Merge for metadata only, the change looks wrong.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 13:04:30 +02:00
Michael Niedermayer
f4f8499c19 Merge commit 'f6633c55a3c0e93a5b2bab6aa0692fb608f2a38d'
* commit 'f6633c55a3c0e93a5b2bab6aa0692fb608f2a38d':
  avfilter: Fix typo in Loren's email address

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 12:14:49 +02:00
Michael Niedermayer
76424b2da8 Merge commit 'e01fba5562133ac56a4f44c6f214a80ee33cb388'
* commit 'e01fba5562133ac56a4f44c6f214a80ee33cb388':
  movenc: Add an F4V muxer

Conflicts:
	Changelog
	libavformat/allformats.c
	libavformat/movenc.c
	libavformat/version.h

See: 7bc70930dd
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 12:05:48 +02:00
Michael Niedermayer
b36257921e ffmpeg: Dont crash on unconnected output pads before an error is printed
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 11:39:43 +02:00
Michael Niedermayer
435a730e21 avcodec/aacdec: fix more avpriv_report_missing_feature() arguments
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 10:57:16 +02:00
Luca Barbato
72072bf9de mpegvideo: Drop a faulty assert
That check is easily reachable by faulty input.

CC:libav-stable@libav.org
Reported-by: Torsten Sadowski <tsadowski@gmx.net>
2013-10-23 10:49:48 +02:00
Michael Niedermayer
72cf47b241 avcodec/aacdec: fix avpriv_report_missing_feature() arguments
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 10:45:50 +02:00
Diego Biurrun
f6633c55a3 avfilter: Fix typo in Loren's email address 2013-10-23 10:25:14 +02:00
Clément Bœsch
e01fba5562 movenc: Add an F4V muxer
F4V is Adobe's mp4/iso media variant, with the most significant
addition/change being supporting other flash codecs than just
aac/h264.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-23 11:17:03 +03:00
Michael Niedermayer
eb4205cc89 swscale/utils: check mprotect() return code
Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 10:14:05 +02:00
Michael Niedermayer
fdb4822559 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aac: Add support for Enhanced AAC Low Delay (ER AAC ELD).

Conflicts:
	Changelog
	libavcodec/aacdec.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 10:02:43 +02:00
Michael Niedermayer
e0f2918223 Merge commit 'f457edb69794c7e13b3630456d72f7942fff19f7'
* commit 'f457edb69794c7e13b3630456d72f7942fff19f7':
  aacdec: Use avpriv_report_missing_feature() instead of custom logging.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 09:53:57 +02:00
Michael Niedermayer
078abccdd6 Merge commit 'b1fcdc08ceb5df69fac34aa0d57c56905d32b8b4'
* commit 'b1fcdc08ceb5df69fac34aa0d57c56905d32b8b4':
  nut: Fix unchecked allocations

Conflicts:
	libavformat/nut.c
	libavformat/nutdec.c
	libavformat/nutenc.c

See: 55ae13e3de
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 09:48:20 +02:00
Michael Niedermayer
d0f0ac426b Merge commit '3511d4fc9784d5fbb024dce68ca7a0d7fdd74663'
* commit '3511d4fc9784d5fbb024dce68ca7a0d7fdd74663':
  pthread: Avoid crashes/odd behavior caused by spurious wakeups

See: 692b930904
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 09:28:24 +02:00
Alex Converse
b3be41ca82 aac: Add support for Enhanced AAC Low Delay (ER AAC ELD).
This does not include support for LD SBR, epTool, data resilience, nor
the 960 transform family.
2013-10-23 00:08:29 -07:00
Alex Converse
f457edb697 aacdec: Use avpriv_report_missing_feature() instead of custom logging. 2013-10-23 00:08:29 -07:00
Michael Niedermayer
60ea0a5236 avcodec/sgi: Fix dereferencing uninitialized pointer
This also fixes the code so it decodes raw images correctly again
No release is affected by this

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 02:49:45 +02:00
Michael Niedermayer
610a8b1537 avcodec/hevc/extract_rbsp: fix error return type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-22 20:31:49 +02:00
Mickaël Raulet
0c8aba3842 hevc: add wavefront parallel processing
cherry picked from commit b971f2c8fdc60f8bab605a6e8060492eb548a53a
cherry picked from commit e57b0a2c915ce6b8a9d57b8292f6581f0680842e

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-22 20:20:40 +02:00
Mickaël Raulet
e146c326b9 avcodec/pthread: add wpp api
cherry picked from commit c7765f3295fe7dc0653161c6a3d3e1778b76ee67
cherry picked from commit 0008c4979fc1d1bc24d4d2c791715f6dd017563c

Conflicts:

	libavcodec/utils.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-22 19:55:47 +02:00
Michael Niedermayer
519395e4dd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: add fieldorder filter test

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-22 19:43:32 +02:00
Michael Niedermayer
f94124c23e Merge commit '00d7369de06a16f7c8770a899fcb16bcb94b1e20'
* commit '00d7369de06a16f7c8770a899fcb16bcb94b1e20':
  vf_fieldorder: log when processing is skipped

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-22 19:26:42 +02:00
Michael Niedermayer
4aeafbaab8 Merge commit '103d073dd7ce23b912df32be8c9524ba25dd5991'
* commit '103d073dd7ce23b912df32be8c9524ba25dd5991':
  h264_parser: Use ff_h264_reset_sei()

Conflicts:
	libavcodec/h264_parser.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-22 19:19:28 +02:00
Michael Niedermayer
3e1483d03e Merge commit '19f53840001a7afcdb57b2a797e363ec8081aba3'
* commit '19f53840001a7afcdb57b2a797e363ec8081aba3':
  h264_parser: Fix order of operations

See: 9c0fe487c7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-22 19:15:19 +02:00
Michael Niedermayer
cf47a6a1a0 Merge commit 'f825d42bccdb9f89669a586951de7f66a81e80a5'
* commit 'f825d42bccdb9f89669a586951de7f66a81e80a5':
  avplay: Accept cpuflags option

Conflicts:
	cmdutils_common_opts.h
	doc/ffmpeg.texi
	doc/fftools-common-opts.texi
	ffmpeg_opt.c

See: 1060e9ce54
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-22 19:07:28 +02:00
Hendrik Leppkes
c2f3715cb3 vp9: always consume the full input packet
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-22 18:52:40 +02:00
Derek Buitenhuis
b1fcdc08ce nut: Fix unchecked allocations
CC: libav-stable@libav.org
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-22 17:09:56 +01:00
Michael Niedermayer
88c27193c7 avcodec/vcr1: print the actual size when its insufficient
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-22 18:09:20 +02:00
Michael Niedermayer
77ef538818 avcodec/vcr1: Fix bitstream input size check
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-22 18:09:20 +02:00
Derek Buitenhuis
55ae13e3de nut: Fix unchecked allocations
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-22 17:08:10 +01:00
Derek Buitenhuis
692b930904 lavfi/pthread: Avoid crashes/odd behavior caused by spurious wakeups
This is similar to 5152196b2b.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-22 17:05:26 +01:00
Derek Buitenhuis
3511d4fc97 pthread: Avoid crashes/odd behavior caused by spurious wakeups
This is similar to 5152196b2b.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-22 13:24:01 +01:00
Michael Niedermayer
da30d0cec3 libavcodec/mpegaudio_tablegen: clip value before casting
Avoids FPE on alpha

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-22 12:48:47 +02:00
Vittorio Giovara
157dc0b489 fate: add fieldorder filter test
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-10-22 10:59:03 +02:00
Vittorio Giovara
00d7369de0 vf_fieldorder: log when processing is skipped
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-10-22 10:58:25 +02:00
Yusuke Nakamura
103d073dd7 h264_parser: Use ff_h264_reset_sei()
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-10-22 10:55:22 +02:00
Michael Niedermayer
19f5384000 h264_parser: Fix order of operations
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-10-22 10:53:04 +02:00
Luca Barbato
f825d42bcc avplay: Accept cpuflags option
Quite useful for debugging.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-10-22 10:49:31 +02:00
Mickaël Raulet
c68faca68e hevc: fix transform_skip which is only valid for 4x4(cherry picked from commit 740e5a71e5121dbf3fabdc4fec97829c18ecc2d8)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-22 08:41:14 +02:00
Mickaël Raulet
1c8de4dd94 hevc: pretty print(cherry picked from commit 6332b3afe298b9e1060e8549aea3aa2771b43f5d)
Conflicts:

	libavcodec/hevc.h
	libavcodec/hevc_filter.c
	libavcodec/hevc_refs.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-22 08:41:14 +02:00
Mickaël Raulet
a8fafa8978 hevc: cleaning disable field in deblocking filter(cherry picked from commit 7dd7a27ae850a51b3c9cd07046c422677398f6d5)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-22 08:41:14 +02:00
Mickaël Raulet
1912842045 hevc: remove disable_au option(cherry picked from commit e90b3f6753d645fec076e951a0597a5dc2d2fe31)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-22 08:41:14 +02:00
Michael Niedermayer
23c0698499 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavf/tee: fix leak of bsfs array.
  lavf/tee: fix leak of select option.
  lavf/tee: fix leak of strdup/strtoked buffer.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-21 23:50:07 +02:00
Michael Niedermayer
d47e14b53a h263dec: use init_get_bits8() and check its return code
Fixes null pointer dereference

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-21 23:37:49 +02:00
Michael Niedermayer
7e3e653618 avformat/bintext: protect against potential overflow of chars_per_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-21 23:37:49 +02:00
Paul B Mahol
c9660999b9 avfilter: replaygain scanner
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-21 19:56:55 +00:00
Michael Niedermayer
2f9422d951 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avio: Use AVERROR_PROTOCOL_NOT_FOUND

Conflicts:
	libavformat/avio.c

See: 12eeced8b4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-21 20:12:33 +02:00
Michael Niedermayer
2444fca523 Merge commit '5152196b2b47d446d9a509b9bfb318daa26a1f2b'
* commit '5152196b2b47d446d9a509b9bfb318daa26a1f2b':
  pthread: Avoid spurious wakeups

See: e3329474a3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-21 19:51:21 +02:00
Michael Niedermayer
e45460aab0 Merge commit '23e6d3d4e27c83e06d00aa072c84d057bd1dad23'
* commit '23e6d3d4e27c83e06d00aa072c84d057bd1dad23':
  fate: vpx: Remove one redundant $(eval) invocation

Merge for meta data only as this breaks the affected fate tests

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-21 19:47:27 +02:00
Nicolas George
c4e6024adc lavf/tee: fix leak of bsfs array. 2013-10-21 17:32:01 +02:00
Nicolas George
5a12142aca lavf/tee: fix leak of select option. 2013-10-21 17:32:01 +02:00
Nicolas George
59f809e992 lavf/tee: fix leak of strdup/strtoked buffer.
Fix CID 1108606.
2013-10-21 17:32:01 +02:00
Michael Niedermayer
ab2bfb85d4 avfilter/ff_insert_pad: fix order of operations
Fixes out of bounds access
Fixes CID732170
Fixes CID732169

No filter is known to use this function in a way so the issue can be reproduced.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-21 16:43:25 +02:00
Paul B Mahol
c655216939 make it possible to compile ffmpeg without swscale
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-21 13:57:00 +00:00
Luca Barbato
ea71aafd68 avio: Use AVERROR_PROTOCOL_NOT_FOUND
When the protocol is missing ffurl_alloc() should return
AVERROR_PROTOCOL_NOT_FOUND instead of AVERROR(ENOENT).

Bug-Id: 577
CC: libav-stable@libav.org
2013-10-21 15:55:20 +02:00
Paul B Mahol
f5ed83c383 avformat/mxfdec; parse random index pack to get last partition offset and use it when footer partition offset is missing
Footer partition may not be present and even if present footer partition
offset may not be set in any partition except last one.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-21 13:29:30 +00:00
Ben Jackson
5152196b2b pthread: Avoid spurious wakeups
pthread_wait_cond can wake up unexpectedly (Wikipedia: Spurious_wakeup).

The FF_THREAD_SLICE thread mechanism could spontaneously execute
jobs or allow the caller of avctx->execute to return before all
jobs were complete.

Test both cases to ensure the wakeup is real.

Signed-off-by: Ben Jackson <ben@ben.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-10-21 15:28:03 +02:00
Michael Niedermayer
80b8f78048 fate: enable hevc tests
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-21 14:22:41 +02:00
Carl Eugen Hoyos
87eae03aac Support FF_DISABLE_DEPRECATION_WARNINGS with icc on Linux. 2013-10-21 13:49:30 +02:00
Stefano Sabatini
ddaf33f5bb ffprobe: fix consistency checks in parse_read_intervals()
Move array size assert after the count increment, and avoid strchr() NULL
dereference on p.

Should fix FFmpeg coverity issue #1108581.
2013-10-21 13:33:06 +02:00
Mickaël Raulet
09ba986cae avcodec/hevc: fix duplicate/wrong nal unit check and difference to openhevc_upstream
NAL_BLA_W_RADL instead of NAL_BLA_N_LP

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-21 10:48:24 +02:00
Michael Niedermayer
712eff4978 fate: add synthetic swresample resampling tests
this is based on libavresample.mak

These tests do not depend on external samples

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-21 00:12:06 +02:00
Clément Bœsch
4189fe11ff avformat/vobsub: fix invalid sub queue access while seeking.
If there is only 1 stream and seek isn't called with a specific stream
index, we pick the first (and only) one.

Regression since dbfe6110.

Fixes CID1108591.
2013-10-20 21:23:46 +02:00
Ronald S. Bultje
fed483f188 avcodec/vp9dsp: fix overwrite by 1 in vert_left pred.
The memset following the memcpy was silencing the problem since
re-writing that same byte.

Fixes CID1108597, CID1108598, (16x16)
      CID1108599, CID1108600, (8x8)
      CID1108601, CID1108602  (32x32)

Signed-off-by: Clément Bœsch <u@pkh.me>
2013-10-20 21:16:53 +02:00
Marton Balint
b2d9790c2b lavc: make avcodec_decode_subtitle2 more robust
Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-20 20:35:31 +02:00
Lukasz Marek
36d0b15b4e MAINTAINERS: add lavd/fbdev_enc entry
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-20 19:23:31 +02:00
Lukasz Marek
d1f383341f lavd/pulse_audio_enc: add support for flushing
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-20 19:15:30 +02:00
Michael Niedermayer
2d8ccf0adc avutil/opt: initialize ret
Fixes CID1108610
Fixes use of uninitialized variable

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-20 18:38:48 +02:00
Michael Niedermayer
ad28fe35c5 avutil/file_open: Print debug message if setting close on exec fails
Fixes CID1087079
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-20 18:36:09 +02:00
Michael Niedermayer
88d4ff4b5f avformat/utils: Check av_packet_new_side_data() return before using it
Fixes null pointer dereference
Fixes CID1108592
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-20 18:33:53 +02:00
Michael Niedermayer
eb5cc8febc avformat/oggparsespeex: Check for extradata allocation failure
Fixes CID1108574
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-20 16:57:45 +02:00
Michael Niedermayer
2c1e075308 avformat/oggparseflac: check ff_alloc_extradata() return code
Fixes CID1108573
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-20 16:55:43 +02:00
Michael Niedermayer
b294a4beec avformat/oggparsecelt/celt_header: fix memleak
Fixes: CID1108605
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-20 16:48:51 +02:00
Michael Niedermayer
baab248c49 avformat/network: check for fcntl() failure in ff_socket()
Fixes: CID1087075
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-20 16:34:32 +02:00
Michael Niedermayer
78e6f83ce0 avformat/au: add assert to help source code analyzers
See: CID1108585 and CID1108603
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-20 14:46:36 +02:00
Michael Niedermayer
f198efb179 avcodec/vp9: Add asserts to help source code analyzers
See CID1108596 and CID1108595
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-20 14:46:23 +02:00
Reimar Döffinger
c9a22d69af hevc: Initialize sample aspect to valid value.
Without this, it is 0/0 by default, which is not allowed.
This sets it to 0/1, which means "undefined".

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-10-20 12:17:09 +02:00
Mickaël Raulet
1b5a52f425 hevc: pretty print(cherry picked from commit 64a4b623b7d66dfc0f3883e5f1d9125c00c3b18c)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-20 11:08:41 +02:00
Mickaël Raulet
c841d02c05 hevc: fix PPS_A_qualcomm_7(cherry picked from commit 2af177a8761c88eb477a658eebcf4264068aa773)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-20 11:08:32 +02:00
Michael Niedermayer
2e9b79fc00 avcodec/wavpackenc: fix uninitialized ret
Fixes CID1108609

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-20 02:39:32 +02:00
Michael Niedermayer
6338f1b3c0 avcodec/tiff: remove byte based bpp special case
This case does not work as off is uninitialized and it should be
handled fine by the generic code below

Fixes CID1108608

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-20 01:50:34 +02:00
Michael Niedermayer
23d69b158a avcodec/hevc_refs: fix h/vshift calculation in ff_hevc_output_frame()
Fixes CID1108577

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-20 00:41:00 +02:00
Michael Niedermayer
f2eca8d060 avcodec/hevc: do not dereference pointer before null check in verify_md5()
Fixes: CID1108607

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-20 00:35:18 +02:00
Michael Niedermayer
acecd6b4d7 avcodec/hevc_cabac: trivial simplifications
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-20 00:33:29 +02:00
Mickaël Raulet
b5d197a38b hevc: inline cabac in hls_mvd_coding(cherry picked from commit ad387195ad04e8a005a1bfd509e9e4f827e68fa9)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-20 00:31:33 +02:00
Mickaël Raulet
92a97d1168 hevc: inline cabac in residual coding(cherry picked from commit 17d7a880445b72feb36d684ae1f0597195811e97)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-20 00:31:25 +02:00
Michael Niedermayer
4c67ed8705 avcodec/hevc: fix EOB/EOS check
Fixes: CID1108575
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-20 00:23:48 +02:00
Michael Niedermayer
9c0fe487c7 avcodec/h264_parser: fix order of operations
Fixes CID1108576

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-19 23:44:34 +02:00
Michael Niedermayer
62533eab6f ffv1enc: use 64bit in maxsize calculation
This isnt needed but it cant hurt, its also more consistent with
how its calculated a few lines before.

See: CID1108593
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-19 23:36:35 +02:00
Michael Niedermayer
80b1e1c03d avcodec/exr: fix null pointer dereference
Fixes CID1108582

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-19 23:28:08 +02:00
Michael Niedermayer
d0812f91c8 avcodec/exr: favor av_freep() over av_free() for saftey
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-19 23:27:36 +02:00
Michael Niedermayer
6838e1f547 avformat/oggdec: favor av_freep() over av_free()
Found-by: Reimar Döffinger
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-19 22:50:16 +02:00
Michael Niedermayer
838f461b07 avcodec/utils: add some saftey checks to add_metadata_from_side_data()
This fixes potential overreads with crafted files.

Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-19 17:58:47 +02:00
Michael Niedermayer
240fd8c96f avcodec/avpacket/av_packet_split_side_data: ensure that side data padding is initialized
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-19 17:58:47 +02:00
Michael Niedermayer
d5ec8ba7f2 Do not leave positive values undefined when negative are defined as error
Define positive return values as non errors and leave further meaning undefined
This allows future extensions to use these values

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-19 16:42:57 +02:00
Michael Niedermayer
a6388616e8 doc/developer: Add a policy item about updating the MAINTAINERs file
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-19 15:20:03 +02:00
Diego Biurrun
23e6d3d4e2 fate: vpx: Remove one redundant $(eval) invocation 2013-10-19 15:09:29 +02:00
Michael Niedermayer
fec6d547cc avformat/wtvdec: drop SHIFT_SECTOR_BITS() macro
it just wraps around a bitwise shift, and makes the code harder to read

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-19 11:24:20 +02:00
Michael Niedermayer
2a5f4c1ea2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wtv: Seek by sector properly

Conflicts:
	libavformat/wtvdec.c

See: a0d13d84a9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-19 11:11:34 +02:00
Michael Niedermayer
5d2a83571b avformat/wtv: rename to wtv_common
This helps git matchup files on merges correctly

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-19 10:58:17 +02:00
Michael Niedermayer
12e66f2056 MAINTAINERS: add Timothy to documentation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-19 00:49:54 +02:00
俞晓磊
4bfdd021c7 configure: remove \r from cc_ident,
This should fix cygwin + non-cygwin toolchain

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-19 00:15:33 +02:00
Lukasz Marek
f569592623 lavd/pulse_audio_enc: fix error check
Error check should be done by checking negative value, not non-zero.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-18 23:59:27 +02:00
Stefano Sabatini
f6b56b1f26 lavd/fbdev: use av_str2err() macro for printing error messages
In particular fix wrong strerror(ret) with a negative value, and avoid
the use of non thread-safe strerror().
2013-10-18 23:38:54 +02:00
Lukasz Marek
fb74c7e044 lavd/pulse_audio_dec: apply cosmetic changes
In particular, fix punctuation in docs and make option help messages
grammatically consistent.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-18 23:26:55 +02:00
Lukasz Marek
1421ee2637 lavd/fbdev: pass proper memory map length
fbdev->data was allocated with size fbdev->fixinfo.smem_len, release data
in fbdev_read_close() using the same size.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-18 23:23:23 +02:00
Stefano Sabatini
8efed29937 MAINTAINERS: add my name to a few entries 2013-10-18 23:02:34 +02:00
Carl Eugen Hoyos
9860fb445a Fix decoding of G.726 in AIFF.
Fixes ticket #1973.
2013-10-18 19:53:47 +02:00
Carl Eugen Hoyos
6e65e34837 lavf/riff: Fix a comment.
FourCC aivx refers to (Sony) XAVC, not (Panasonic) AVC-Intra.
Spotted by Kieran Kunhya and Vincent Olivier.
2013-10-18 19:35:03 +02:00
Carl Eugen Hoyos
640c70ddc2 avformat: Use G726LE decoder for Sun AU files
fixes ticket #1955 as suggested by Roman.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-18 16:46:08 +02:00
Carl Eugen Hoyos
10c240a085 avcodec: Add little-endian G726 decoder
Fixes part of Ticket1955
suggested by Roman.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-18 16:46:08 +02:00
Carl Eugen Hoyos
5b9f39860d Support 4k AVC-Intra in mov. 2013-10-18 15:41:34 +02:00
Luca Barbato
2b72f8ac32 wtv: Seek by sector properly
Use an helper function to seek by sector to avoid possible mistakes
due shifting by WTV_SECTOR_BITS a 32bit integer.

Contrary to common intuition, a 32 bit integer left shifted
by a 64 bit integer does not promote the 32 bit integer to
64 bit before shifting.
2013-10-18 15:08:18 +02:00
Paul B Mahol
a688176535 avformat/flvdec: use avpriv_request_sample()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-18 09:55:16 +00:00
Clément Bœsch
0bf8580354 avcodec/hevcpred: fix make checkheaders. 2013-10-17 21:35:40 +02:00
Michael Niedermayer
57c018d542 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: Increase the tolerance in the lavr tests

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-17 20:15:22 +02:00
Michael Niedermayer
123c6ca809 Merge commit 'f52fd3f3b26f0d80e4f0b374b7695383feca5b92'
* commit 'f52fd3f3b26f0d80e4f0b374b7695383feca5b92':
  fate: aac: Add test for AAC-LD

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-17 19:51:12 +02:00
Stefano Sabatini
904c89ac1b lswr/swresample: convert ocl and icl options to AV_OPT_TYPE_CHANNEL_LAYOUT
Improve interface flexibility. In particular makes it possible to set
channel layout through symbolic names using the av_opt_set() interface.
2013-10-17 18:09:54 +02:00
Martin Storsjö
a27f1116cd fate: Increase the tolerance in the lavr tests
A few fate instances on OS/2, OpenBSD, FreeBSD and IA64 linux currently
still fail a few tests with a maxdiff of 6.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-17 19:09:50 +03:00
Stefano Sabatini
8696e51baf lavu/opt: add AV_OPT_TYPE_CHANNEL_LAYOUT and handler functions
The new type is compatible with AV_OPT_TYPE_INT64, but allows to specify
channel layouts using the format accepted by av_get_channel_layout().
2013-10-17 18:09:29 +02:00
Stefano Sabatini
d96e377c39 lavu/channel_layout: change av_get_channel_layout() behavior at the next bump
The new syntax is preferred since it allows backward syntax compatibility
with libswr when switching to the new option handling code with
AV_OPT_TYPE_CHANNEL_LAYOUT.

With the new parser the string:
1234

is interpreted as a channel layout mask, rather than as a number of
channels, and thus it's compatible with the current way to set a channel
layout as an integer (e.g. for the icl and ocl options) making use of
integer option values.

ff_get_channel_layout() with compat=0 will be used in the
AV_OPT_TYPE_CHANNEL handler code.

The user is encouraged to switch to the new forward compatible syntax,
which requires to put a trailing "c" when specifying a layout as a number
of channels.
2013-10-17 18:03:09 +02:00
Stefano Sabatini
b236eb49e1 lavu/opt.h: fix grammar typo in av_opt_get* doxy 2013-10-17 18:03:03 +02:00
Stefano Sabatini
98e7c1eed5 lavu/opt-test: use automatic set and free handlers
In particular, do not set default string value by hand and use
av_opt_free() to free context.
2013-10-17 18:02:54 +02:00
Michael Niedermayer
d0a3bc1302 swscale/yuv2rgb: clip cy, avoid division by 0 with 0 contrast
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-17 14:02:43 +02:00
Michael Niedermayer
2db6547237 swscale/utils/sws_setColorspaceDetails(): fix indention
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-17 14:02:43 +02:00
Diego Biurrun
f52fd3f3b2 fate: aac: Add test for AAC-LD 2013-10-17 12:36:35 +02:00
Michael Niedermayer
f90eb8cfc8 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Add some necessary casts in the wtv demuxer.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-17 10:42:41 +02:00
Dirk Farin
56cf6151ae avformat/hevcdec: add more irap cases to hevc_probe()
This fixes fate-hevc-conformance-RAP_A_docomo_4

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-17 10:18:28 +02:00
Dirk Farin
2ac31773f3 avformat/hevcdec: cosmetics, whitespaces
This reduces the difference to the latest hevc demuxer

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-17 10:14:11 +02:00
Carl Eugen Hoyos
a0d13d84a9 Add some necessary casts in the wtv demuxer.
This reverts e8023dba, fixes ticket #3049.
2013-10-17 09:54:03 +02:00
Michael Niedermayer
21b3563dcb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mem: Make av_strdup allocate using av_realloc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-17 08:13:42 +02:00
Mickaël Raulet
a7e300649a hevc: fix pcm with different chroma luma bit widths(cherry picked from commit 6a444516f338424d062c0ef2806714036283603b)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-17 02:42:11 +02:00
Mickaël Raulet
b494894390 hevc: optimize residual coding(cherry picked from commit 70692a44708157b4dfa50e402e446bfa2b27f55e)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-17 02:41:51 +02:00
Michael Niedermayer
3ed65d98c6 avutil/log: fix race between setting and using the log callback
Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-17 00:49:55 +02:00
Michael Niedermayer
9a63a45e48 doc/utils: fix docs build
Not sure this is the correct solution but that can be investigated too once
the docs build again

Tested-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-16 22:32:47 +02:00
Paul B Mahol
37d6b2b4e6 swsscale/swscale_unscaled: add GBRAP16
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-16 20:44:12 +02:00
Michael Niedermayer
9ec9d46365 swscale/swscale_unscaled: fix alpha pointer & stride for planarRgb16ToRgb16Wrapper()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-16 20:44:12 +02:00
Timothy Gu
586b8ea248 doc/filters: reference ffmpeg-utils manual for color and sizes options
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-16 18:32:15 +02:00
Timothy Gu
155a5ff00d doc/utils: reformat doc for color syntax and add list of supported colors
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-16 18:32:15 +02:00
Timothy Gu
b4da1fa550 doc/utils: rewrite doc for time duration syntax
Extend description and clarify syntax.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-16 18:32:15 +02:00
Martin Storsjö
d433e1aefa mem: Make av_strdup allocate using av_realloc
This makes sure that pointers from av_strdup are reallocable,
which is used in av_dict_set if the AV_DICT_APPEND flag is set.

Nothing should rely on pointers from av_strdup being aligned.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-16 18:59:01 +03:00
Carl Eugen Hoyos
d0b7d24b80 Support HEVC in transport streams. 2013-10-16 17:54:37 +02:00
Ronald S. Bultje
734ccf3785 avcodec/vp9: fix band_counts array size / padding
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-16 17:17:47 +02:00
Paul B Mahol
4413dcc035 avcodec/exr: piz decompression
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-16 14:54:59 +00:00
Michael Niedermayer
4d41a25d39 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo: Move 8x8 in a separate function

Conflicts:
	libavcodec/mpegvideo_motion.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-16 15:08:10 +02:00
Michael Niedermayer
8210e38461 Merge commit '95587859cc69e5abe37c9e3af48008032d98e262' into HEAD
* commit '95587859cc69e5abe37c9e3af48008032d98e262':
  mpegvideo: Move obmc in a separate function

Conflicts:
	libavcodec/mpegvideo_motion.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-16 14:51:00 +02:00
Michael Niedermayer
ab16d5b7b5 Merge commit 'a90905db2e6ab1840890f3a88bfd3bf008b9d886'
* commit 'a90905db2e6ab1840890f3a88bfd3bf008b9d886':
  ffv1: Assume bitdepth 0 means 8bit

Conflicts:
	libavcodec/ffv1dec.c

Note, FFmpeg is not affected by this bug

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-16 14:02:43 +02:00
Michael Niedermayer
8610751d07 Merge commit 'a84616b736fca5ebd6b87489dd41bc06ccdf7860'
* commit 'a84616b736fca5ebd6b87489dd41bc06ccdf7860':
  mpegvideo: K&R formatting cosmetics

Conflicts:
	libavcodec/mpegvideo_motion.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-16 13:54:41 +02:00
Michael Niedermayer
10c6d1b28c Merge commit '93f305473f880729d18b5e42067f19d2106cb2e5'
* commit '93f305473f880729d18b5e42067f19d2106cb2e5':
  lavc: Convert some remaining strides to ptrdiff_t

Conflicts:
	libavcodec/h264.h
	libavcodec/mpegvideo_enc.c
	libavcodec/mpegvideo_motion.c
	libavcodec/vp56.c
	libavcodec/wmv2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-16 13:08:37 +02:00
Michael Niedermayer
f7f74a37b8 Merge commit '4baba6c813b7a1f27370e20fb1a87b05fcb39208'
* commit '4baba6c813b7a1f27370e20fb1a87b05fcb39208':
  h264_parser: Fix POC parsing for the case where MMCO_RESET is present.

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-16 12:51:26 +02:00
Michael Niedermayer
91248f081f Merge commit 'b81dbd6cb7522bea96d78a52f8a4c25a47b820c9'
* commit 'b81dbd6cb7522bea96d78a52f8a4c25a47b820c9':
  h264_parser: Fix POC parsing for the case where MMCO_RESET is absent.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-16 12:39:02 +02:00
Michael Niedermayer
83bfcc3ce2 Merge commit '6b081eff4dfc3c899960f69f30cb567266b7dca3'
* commit '6b081eff4dfc3c899960f69f30cb567266b7dca3':
  fate: add vorbiscomment cover art test

Conflicts:
	tests/fate/cover-art.mak

See: 1ca3902726
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-16 12:23:34 +02:00
Michael Niedermayer
8778c49ace Merge commit '68edd5be0980941924ae633d98589d56a8091bbd'
* commit '68edd5be0980941924ae633d98589d56a8091bbd':
  FATE: use proper comparison mode in the lavr tests

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-16 12:12:21 +02:00
Michael Niedermayer
6659eb7116 Merge commit 'dd33637c18629c3e554ebb146bbeb45c9745a5cf'
* commit 'dd33637c18629c3e554ebb146bbeb45c9745a5cf':
  tiny_psnr: switch f32 handling to floating point

Conflicts:
	tests/tiny_psnr.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-16 12:07:02 +02:00
Michael Niedermayer
8895b71d6f Merge commit '29c455ce3daf7fb369ba20cf77c74bd8e3b43b55'
* commit '29c455ce3daf7fb369ba20cf77c74bd8e3b43b55':
  bitstream: Check the result of av_malloc()

Conflicts:
	libavcodec/bitstream.c

See: aa74810fc6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-16 11:30:17 +02:00
Michael Niedermayer
3a8b52c011 Merge commit '3b4fa54866f58bf3d8a8dcc460c73ef6564c0ad8'
* commit '3b4fa54866f58bf3d8a8dcc460c73ef6564c0ad8':
  cavs: more K&R formatting cosmetics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-16 11:12:23 +02:00
Michael Niedermayer
12e9821042 Merge commit 'c0085f94fea89b180e5727b193484a83586d3490'
* commit 'c0085f94fea89b180e5727b193484a83586d3490':
  mpegaudio_tablegen: Don't use llrint
  cos_tablegen: Don't use lrint
  tablegen: Don't use cbrtf in host tools
  tableprint: Fix use of a size_t print with MSVC

Conflicts:
	libavcodec/cbrt_tablegen.h
	libavcodec/mpegaudio_tablegen.h

See: e516921143
See: 5086720993
See: 008014b5e7
See: 00aa24ffee
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-16 10:56:22 +02:00
Mickaël Raulet
64b3aaf8f6 hevc: fixing TSCL_A_VIDYO_5 decoding output order(cherry picked from commit 19c5d9ed28606e7a166d180fc9f1517cb174146f)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-16 01:48:11 +02:00
Michael Niedermayer
48e1114abf fate: fix DBLK_A_MAIN10_VIXS_2 on big endian
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-16 01:26:50 +02:00
Guillaume Martres
fb3cea4be3 FATE: add HEVC tests
The tests are disabled as 2 do not pass yet
(fate-hevc-conformance-PPS_A_qualcomm_7 and fate-hevc-conformance-RAP_A_docomo_4)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-16 01:25:58 +02:00
Michael Niedermayer
f58cb772d9 avformat/mov: fix "correctly" typo
Found-by: Timothy Gu
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-16 00:26:10 +02:00
Yusuke Nakamura
16b6839de6 lavf/matroskadec: Support HEVC demuxing.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-16 00:17:28 +02:00
Yusuke Nakamura
53f903b7c5 lavf/mov: Support HEVC demuxing.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-16 00:17:28 +02:00
gcocherel
cf49d0156d valgrind cleanup(cherry picked from commit 0d5efa40b94c0de92a1fe5091b21e0e2d36bae3d)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-16 00:17:28 +02:00
Luca Barbato
825c7c62bb mpegvideo: Move 8x8 in a separate function 2013-10-15 23:58:20 +02:00
Luca Barbato
95587859cc mpegvideo: Move obmc in a separate function 2013-10-15 23:58:20 +02:00
Luca Barbato
a90905db2e ffv1: Assume bitdepth 0 means 8bit
CC: libav-stable@libav.org
Reported-by: debian/726189
2013-10-15 23:58:20 +02:00
Luca Barbato
a84616b736 mpegvideo: K&R formatting cosmetics 2013-10-15 23:58:20 +02:00
Ronald S. Bultje
93f305473f lavc: Convert some remaining strides to ptrdiff_t 2013-10-15 23:58:20 +02:00
Mickaël Raulet
93c1fe4de3 hevc: add ts demux support
cherry picked from commit 925ee44364a7bce58e2ac5bac91077ce0a75d883

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-15 23:48:00 +02:00
Michael Niedermayer
f2dd45d06c lavc/hevc: mark decoder as experimental
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-15 22:13:02 +02:00
Michael Niedermayer
af980aa4f6 lavc/hevc_ps: fix PIX_FMT enums
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-15 22:13:02 +02:00
Guillaume Martres
c8dd048ab8 lavc: add a HEVC decoder.
Initially written by Guillaume Martres <smarter@ubuntu.com> as a GSoC
project. Further contributions by the OpenHEVC project and other
developers, namely:

Mickaël Raulet <mraulet@insa-rennes.fr>
Seppo Tomperi <seppo.tomperi@vtt.fi>
Gildas Cocherel <gildas.cocherel@laposte.net>
Khaled Jerbi <khaled_jerbi@yahoo.fr>
Wassim Hamidouche <wassim.hamidouche@insa-rennes.fr>
Vittorio Giovara <vittorio.giovara@gmail.com>
Jan Ekström <jeebjp@gmail.com>
Anton Khirnov <anton@khirnov.net>
Martin Storsjö <martin@martin.st>
Luca Barbato <lu_zero@gentoo.org>
Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-15 22:13:02 +02:00
Michael Niedermayer
2a19fcc123 avcodec/mpegaudio_tablegen: remove dead branch
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-15 21:43:32 +02:00
Michael Niedermayer
12cc3bf29a avformat: rename a few more h.265 to HEVC
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-15 21:23:57 +02:00
Michael Niedermayer
59352a07d8 avcodec: improve precission for cbrtf() emulation
cbrtf() took floats but it represented 1/3 exactly
and even if not more precission should be better in theory
for the table generation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-15 21:03:03 +02:00
Yusuke Nakamura
4baba6c813 h264_parser: Fix POC parsing for the case where MMCO_RESET is present.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-15 20:02:55 +02:00
Yusuke Nakamura
b81dbd6cb7 h264_parser: Fix POC parsing for the case where MMCO_RESET is absent.
The prev_ values were not set after parsing POC.
Increase length of the buffer decoded to parse enough safely.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-15 20:02:47 +02:00
James Almer
6b081eff4d fate: add vorbiscomment cover art test
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-15 19:48:27 +02:00
Anton Khirnov
68edd5be09 FATE: use proper comparison mode in the lavr tests 2013-10-15 19:11:49 +02:00
Anton Khirnov
dd33637c18 tiny_psnr: switch f32 handling to floating point
Also add support for f64.
2013-10-15 19:10:33 +02:00
Diego Biurrun
29c455ce3d bitstream: Check the result of av_malloc() 2013-10-15 18:01:12 +02:00
Diego Biurrun
3b4fa54866 cavs: more K&R formatting cosmetics 2013-10-15 18:01:11 +02:00
Derek Buitenhuis
c0085f94fe mpegaudio_tablegen: Don't use llrint
You cannot count on it being present on all systems, and you
cannot include libm.h in a host tool, so just hard code a baseline
implementation.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-15 17:00:28 +01:00
Derek Buitenhuis
479a527955 cos_tablegen: Don't use lrint
You cannot count on it being present on all systems, and you
cannot include libm.h in a host tool, so just hard code a baseline
implementation.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-15 17:00:28 +01:00
Derek Buitenhuis
bc31a7a3b6 tablegen: Don't use cbrtf in host tools
You cannot count on them being present on all systems, and you
cannot include libm.h in a host tool, so just hard code baseline
implementations.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-15 17:00:28 +01:00
Derek Buitenhuis
884fd4d259 tableprint: Fix use of a size_t print with MSVC
%zu was introduced in C99, so MSVC has its own way to handle it,
namely %Iu.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-15 17:00:28 +01:00
Derek Buitenhuis
e516921143 mpegaudio_tablegen: Don't use llrint
You cannot count on it being present on all systems, and you
cannot include libm.h in a host tool, so just hard code a baseline
implementation.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-15 16:52:16 +01:00
Derek Buitenhuis
5086720993 cos_tablegen: Don't use lrint
You cannot count on it being present on all systems, and you
cannot include libm.h in a host tool, so just hard code a baseline
implementation.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-15 16:52:12 +01:00
Derek Buitenhuis
008014b5e7 tablegen: Don't use cbrtf in host tools
You cannot count on them being present on all systems, and you
cannot include libm.h in a host tool, so just hard code baseline
implementations.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-15 16:52:07 +01:00
Derek Buitenhuis
00aa24ffee tableprint: Fix use of a size_t print with MSVC
%zu was introduced in C99, so MSVC has its own way to handle it,
namely %Iu.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-15 16:51:58 +01:00
Michael Niedermayer
51df616909 configure: Warn when inline asm is disabled for ICL
See Ticket3048

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-15 16:34:29 +02:00
Stefano Sabatini
1120fd7852 lavf/segment: simplify logic and fix !=0 check on segment_end return value
A successfull return value can be > 0.
2013-10-15 15:17:22 +02:00
Billy Shambrook
67e507e10e lavf/segment: log segments as they end to AV_LOG_VERBOSE
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-15 14:57:49 +02:00
Stefano Sabatini
3b9f8e7cd9 lavf/segment: simplify segment_count update
Now segment_count mark the segment_count of the current segment.
2013-10-15 14:55:48 +02:00
Paul B Mahol
ccfb550b2c fate: add pxr24 exr test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-15 12:41:23 +00:00
Michael Niedermayer
a1b9004b76 avcodec/jpeg2000dec: fix context consistency with too large lowres
Fixes out of array accesses
Fixes Ticket2898

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-15 14:30:17 +02:00
Michael Niedermayer
0a6ce255ab Merge remote-tracking branch 'qatar/master'
* qatar/master:
  http: Check the auth string contents and not only the pointer

Conflicts:
	libavformat/http.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-15 09:34:27 +02:00
Michael Niedermayer
c35d29a9c8 avcodec/x86/dsputil_init: move ff_idct_xvid_mmxext init
This decreases the diff to libav

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-15 02:06:12 +02:00
Michael Niedermayer
ab8cbfe0dd avcodec/x86/dsputil_init: remove duplicated sse2 idct init
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-15 01:59:36 +02:00
Michael Niedermayer
1bf8fa75ee avcodec/x86/dsputil_init: fix cpu flag checks
Fixes linking failure with --disable-sse2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-15 01:46:21 +02:00
Lou Logan
a06dcde507 doc: make x11grab examples consistent with option names
Change -r to -framerate, but either will work.
Change -s to -video_size, but either will work.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-14 23:08:52 +02:00
Vignesh Venkatasubramanian
d6f86d74ed matroskadec: Demux support for SeekPreRoll and CodecDelay
Adds support for demuxing SeekPreRoll and CodecDelay container
elements.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-14 21:06:59 +02:00
Michael Niedermayer
708b32b6f7 http: Check the auth string contents and not only the pointer
This makes sure we don't send the Except: 100-continue header
if no authentication credentials have been provided.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-14 21:57:15 +03:00
Paul B Mahol
42a8d8aee8 avformat/rpl: use avpriv_report_missing_feature/avpriv_request_sample
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-14 18:18:25 +00:00
Vignesh Venkatasubramanian
0f99aad80f lavc: Adding seek_preroll to AVCodecContext
seek_preroll field is added to the AVCodecContext struct. It indicates
the number of samples to be discarded whenever there is a discontinuity.
The minor version is bumped accordingly.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-14 18:46:12 +02:00
Carl Eugen Hoyos
f7ed044eea Support H.264 fourcc UMSV.
Fixes ticket #3046.
2013-10-14 16:29:58 +02:00
Michael Niedermayer
f9bef2bec9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: more AVX2 framework

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-14 16:13:57 +02:00
Michael Niedermayer
e3e0e3d0c9 Merge commit 'c6908d6b4b377a04a5d055ba874bdbcf06c80497'
* commit 'c6908d6b4b377a04a5d055ba874bdbcf06c80497':
  x86inc: FMA3/4 Support

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-14 16:06:22 +02:00
Michael Niedermayer
9ac124c889 Merge commit '206895708ea2b464755d340e44501daf9a07c310'
* commit '206895708ea2b464755d340e44501daf9a07c310':
  x86inc: Remove our FMA4 support

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-14 15:54:23 +02:00
Michael Niedermayer
12e4493f9c Merge commit 'c108ba0175d4fc3a3253a8b0f782fbfb96ba5098'
* commit 'c108ba0175d4fc3a3253a8b0f782fbfb96ba5098':
  x86inc: Use VEX-encoded instructions in AVX functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-14 15:48:34 +02:00
Michael Niedermayer
12ca544aa0 Merge commit '15748773bf33c110e6e2e9526c7ba5478274c74c'
* commit '15748773bf33c110e6e2e9526c7ba5478274c74c':
  avresample/x86: Switch operand order for mulps

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-14 15:37:26 +02:00
Michael Niedermayer
953dd72321 Merge commit '84a125c4c28f3e3e215d2e6c32f7f0ec43bbc04c'
* commit '84a125c4c28f3e3e215d2e6c32f7f0ec43bbc04c':
  rtmp: Allocate the prev_pkt arrays dynamically

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-14 15:31:11 +02:00
Jason Garrett-Glaser
a3fabc6cb3 x86: more AVX2 framework
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-14 12:41:56 +01:00
Jason Garrett-Glaser
c6908d6b4b x86inc: FMA3/4 Support
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-14 12:41:54 +01:00
Derek Buitenhuis
206895708e x86inc: Remove our FMA4 support
This is so we can sync to x264's version of FMA4 support.

This partialy reverts commit 79687079a9.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-14 12:39:29 +01:00
Henrik Gramner
c108ba0175 x86inc: Use VEX-encoded instructions in AVX functions
Automatically use VEX-encoding in AVX/AVX2/XOP/FMA3/FMA4
functions for all instructions that exists in a VEX-encoded
version.

This change makes it easier to extend existing code to use AVX2.

Also add support for AVX emulation of a few instructions that
were missing before.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-14 12:36:11 +01:00
Derek Buitenhuis
15748773bf avresample/x86: Switch operand order for mulps
With the forthcoming VEX instruction emulation, mulps
must have only the third operand point to memory, as
this is what vmulps expects.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-14 12:36:11 +01:00
Martin Storsjö
84a125c4c2 rtmp: Allocate the prev_pkt arrays dynamically
Normally, all channel ids are between 0 and 10, while they in
uncommon cases can have values up to 64k.

This avoids allocating two arrays for up to 64k entries (at a total
of over 6 MB in size) each when most of them aren't used at all.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-14 14:27:35 +03:00
James Almer
1d4476d5da movenc: use ff_alloc_extradata()
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-14 13:02:18 +02:00
James Almer
00408f95e7 oggparsecelt: use ff_alloc_extradata()
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-14 13:01:42 +02:00
James Almer
aae8975ffb oggparseopus: use ff_alloc_extradata()
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-14 12:59:59 +02:00
Michael Niedermayer
8d9f08ef32 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  cavs: Check for negative cbp

Conflicts:
	libavcodec/cavsdec.c

See: 9f06c1c61e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-14 10:18:36 +02:00
Michael Niedermayer
d794b7db14 Merge commit '1b20d0f581f01f2df601c9e68d0d321672d97af7'
* commit '1b20d0f581f01f2df601c9e68d0d321672d97af7':
  cavs: Return meaningful error values

Conflicts:
	libavcodec/cavsdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-14 02:10:43 +02:00
Michael Niedermayer
fb8a10db5d Merge commit '14ddbb477faef359983151b763fd8b20e578651b'
* commit '14ddbb477faef359983151b763fd8b20e578651b':
  cavs: K&R formatting cosmetics

Conflicts:
	libavcodec/cavs.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-14 02:04:38 +02:00
Michael Niedermayer
5970f4bb02 avformat/http: check the auth string contents not the pointer which cannot be NULL
It appears this bug originates from a "work in progress" patch from
ffmpeg-devel that was heavily redesigned by and integrated in libav

And that patch even had a reply and review on the mailing list pointing
out that it had a bug.

This fixes a deadlock with ffserver

See: [FFmpeg-devel] [PATCH] Fix HTTP authentication problem for POST actions.
     [FFmpeg-devel] [PATCH 1/3] Introduce auth_phase flag, which will be true if authorization needs to be sent, but the type of authorization is not known yet Partial fix #3036
     [FFmpeg-devel] [PATCH 2/3] Only add Transfer-Encoding header when not in authorization phase, because server will wait (indefinitely) for data when receiving this header Partial fix #3036
     [FFmpeg-devel] [PATCH 3/3] Only allow posting data and/or forcing a 200 code, enabling posting isml chunks, -after- we did a possible first request to get a 403 from the server telling us which type of authentication to apply Final part fix #3036
See: 71549a857b
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-14 01:35:28 +02:00
Michael Niedermayer
6b1b63df85 Merge commit '71549a857b13edf4c4f95037de6ed5bb4c4bd4af'
* commit '71549a857b13edf4c4f95037de6ed5bb4c4bd4af':
  http: Support auth method detection for POST

Conflicts:
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-14 00:37:01 +02:00
Michael Niedermayer
5dee3e8bb4 Merge commit 'eb8b05a3824a9fa85e20d603595ac8a3b83505d4'
* commit 'eb8b05a3824a9fa85e20d603595ac8a3b83505d4':
  http: Add an option for forcing basic authentication

Conflicts:
	libavformat/http.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-14 00:17:49 +02:00
Michael Niedermayer
005200887b Merge commit 'eb90a2091ffb94d8c29aaa5ff50f4192520254fc'
* commit 'eb90a2091ffb94d8c29aaa5ff50f4192520254fc':
  pthread: Fix deadlock during thread initialization

Conflicts:
	libavcodec/pthread.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-14 00:04:52 +02:00
Paul B Mahol
5340c3dd8d avformat/westwood_vqa: s/unsigned char/uint8_t & s/unsigned int/uint32_t
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-13 20:21:03 +00:00
Paul B Mahol
a807c68253 avformat: use ff_alloc_extradata()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-13 20:13:38 +00:00
Paul B Mahol
3fd79833e2 avformat: add ff_alloc_extradata() helper
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-13 20:13:38 +00:00
Michael Niedermayer
fe448cd28d avcodec/jpeg2000dec: prevent out of array accesses in pixel addressing
Fixes Ticket2921

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 21:48:36 +02:00
Michael Niedermayer
e54f4510aa avcodec/jpeg2000: zero i/f_data
Fixes uninitialized use of variables

Fixes part of Ticket2921

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 21:48:28 +02:00
Michael Niedermayer
ede7602cba Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: add support for changing the channel by the C key
  ffplay: cycle through the streams of the current program, and not every stream
  ffplay: add null packet after attached pics packet
  ffplay: factor out putting null packet into the queue

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 19:37:20 +02:00
Michael Niedermayer
ac3b01a9c0 avcodec/jpeg2000dec: check transform equality in MCT
Fixes null pointer dereference
Fixes Ticket2843

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 19:23:24 +02:00
Michael Niedermayer
522f78f8ea avformat/oggparseopus: fix nb_headers
Line comes from ecab1c7741
and was not merged previously

Thanks-to: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 18:25:42 +02:00
Luca Barbato
39185ec4fa cavs: Check for negative cbp
Sample-Id: 00000647-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-10-13 17:52:53 +02:00
Luca Barbato
1b20d0f581 cavs: Return meaningful error values 2013-10-13 17:52:53 +02:00
Luca Barbato
14ddbb477f cavs: K&R formatting cosmetics 2013-10-13 17:52:53 +02:00
Marton Balint
3130416aec ffplay: add support for changing the channel by the C key
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-10-13 12:46:14 +02:00
Marton Balint
543d81a707 ffplay: cycle through the streams of the current program, and not every stream
When changing the audio, video or subtitle stream, from now on, ffplay will
cycle through the streams of the current program.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-10-13 12:31:52 +02:00
Marton Balint
0258e4dc8b ffplay: add null packet after attached pics packet
Fixes ticket #2904.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-10-13 12:31:52 +02:00
Marton Balint
b118d3e24d ffplay: factor out putting null packet into the queue
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-10-13 12:31:52 +02:00
Martin Storsjö
71549a857b http: Support auth method detection for POST
Inspired by a patch by Jakob van Bethlehem. But instead of doing
an empty POST first to trigger the WWW-Authenticate header (which
would succeed if no auth actually was required), add an Expect:
100-continue header, which is meant to be used exactly for
cases like this.

The header is added if doing a post, and the user has specified
authentication but we don't know the auth method yet.

Not all common HTTP servers support the Expect: 100-continue header,
though, so we only try to use it when it really is needed. The user
can request it to be added for other POST requests as well via
an option - which would allow the caller to know immediately that
the POST has failed (e.g. if no auth was provided but the server
required it, or if the target URL simply doesn't exist).

This is only done for write mode posts (e.g. posts without pre-set
post_data) - for posts with pre-set data, we can just redo the post
if it failed due to 401.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-13 12:59:03 +03:00
Martin Storsjö
eb8b05a382 http: Add an option for forcing basic authentication
The default is to autodetect the auth method. This does require one
extra request (and also closing and reopening the http connection).
For some cases such as HTTP POST, the autodetection is not handled
properly (yet).

No option is added for digest, since this method requires getting
nonce parameters from the server first and can't be used straight
away like Basic.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-13 12:59:03 +03:00
Paul B Mahol
fa7e9f9401 avformat/vocdec: return AVERROR_EOF when EOF is reached
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-13 09:50:38 +00:00
Derek Buitenhuis
eb90a2091f pthread: Fix deadlock during thread initialization
Sometimes, if pthread_create() failed, then pthread_cond_wait() could
accidentally be called in the worker threads after the uninit function
had already called pthread_cond_broadcast(), leading to a deadlock.

Don't call pthread_cond_wait() if c->done is set.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-13 05:50:00 -04:00
Michael Niedermayer
4b948dcadb doc/developer: Merge license related policy items
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 10:46:32 +02:00
Michael Niedermayer
43dec5ef9a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  indeo4: Check the inherited quant_mat

Conflicts:
	libavcodec/indeo4.c

See: 884efd4e09
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 10:38:51 +02:00
Michael Niedermayer
d3850ac5b9 Merge commit '0cb83c563848bf8f8365e7bd30e7e6b57ef360f0'
* commit '0cb83c563848bf8f8365e7bd30e7e6b57ef360f0':
  indeo4: Check the block size if reusing the band configuration

Conflicts:
	libavcodec/indeo4.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 10:19:15 +02:00
Michael Niedermayer
0c7bd34023 Merge commit 'fd2384f02b905a106fba9222ece4ddbe2ec61937'
* commit 'fd2384f02b905a106fba9222ece4ddbe2ec61937':
  oggparsevorbis: fail on memory allocation error

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 10:06:42 +02:00
Michael Niedermayer
77caa31f71 Merge commit 'c18375ec8040a9fe0f186b2033dc975883143758'
* commit 'c18375ec8040a9fe0f186b2033dc975883143758':
  oggvorbisdec: add support for embedded cover art

Conflicts:
	libavformat/oggparsevorbis.c

See: 193782216f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 09:51:00 +02:00
Michael Niedermayer
92b03cf926 Merge commit '601d6228c4811d8971a2412a759e1a4ab775ebe8'
* commit '601d6228c4811d8971a2412a759e1a4ab775ebe8':
  flac: move picture parsing code in a separate file

Conflicts:
	libavformat/Makefile
	libavformat/flacdec.c

See: 1e5bbbfcf3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 09:37:21 +02:00
Michael Niedermayer
8dbf98e68a Merge commit 'ecab1c77410f023b437c6ed3a3281be8f039e574'
* commit 'ecab1c77410f023b437c6ed3a3281be8f039e574':
  oggdec: add support for Opus in Ogg demuxing

Conflicts:
	Changelog
	libavformat/oggparseopus.c
	libavformat/version.h

See: e62fd6619f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 09:09:43 +02:00
Michael Niedermayer
3ce0eddeab Merge commit 'ed9245dba83f9add60f55718b537b0af2105c60e'
* commit 'ed9245dba83f9add60f55718b537b0af2105c60e':
  oggparsevorbis: check allocations

Conflicts:
	libavformat/oggparsevorbis.c

See: 033f1644b5
See: 84aea80f78
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 08:53:47 +02:00
Michael Niedermayer
b6ffe8afd9 Merge commit '9c15ef35d404fca2adc31276c1eedb11cf485461'
* commit '9c15ef35d404fca2adc31276c1eedb11cf485461':
  oggparsevorbis: support official chapter extension

Conflicts:
	libavformat/oggparsevorbis.c

See: 04b9836274
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 08:28:05 +02:00
Michael Niedermayer
40ade07141 Merge commit '16ea20c827ef2ffaf77d5e05d5cf9983689f7b2b'
* commit '16ea20c827ef2ffaf77d5e05d5cf9983689f7b2b':
  lavc doxy: extend/clarify avcodec_decode_audio4() doxy

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 08:17:01 +02:00
Michael Niedermayer
29d64b1d8e Merge commit '66d3f5fd5ca4cb3d09b52ad1041cd4359325a21a'
* commit '66d3f5fd5ca4cb3d09b52ad1041cd4359325a21a':
  lavc doxy: remove false statements about alignment requirements.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 08:09:28 +02:00
Michael Niedermayer
b35ef855a4 Merge commit '364af376f343d4706c4cdb7ab9fe0863994e6c01'
* commit '364af376f343d4706c4cdb7ab9fe0863994e6c01':
  FATE: add lavr resampling tests

The tests do not pass, and thus where disabled

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 08:01:56 +02:00
Michael Niedermayer
de80cebdd7 Merge commit '9ab5f7107d2f1411e9fda6c36af64524e5ed31d1'
* commit '9ab5f7107d2f1411e9fda6c36af64524e5ed31d1':
  FATE: add lavr mixing tests

The tests do not pass, and thus where disabled

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 07:32:11 +02:00
Michael Niedermayer
830a567e96 Merge commit 'df6737a55f5dc7c0ae5272bc5fa6182836d5481c'
* commit 'df6737a55f5dc7c0ae5272bc5fa6182836d5481c':
  audio_mix: fix channel order in mix_1_to_2_fltp_flt_c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 06:48:35 +02:00
Luca Barbato
c9ef6b0932 indeo4: Check the inherited quant_mat
Invalidate it if not supported.

Sample-Id: 00000262-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-10-13 01:38:21 +02:00
Luca Barbato
0cb83c5638 indeo4: Check the block size if reusing the band configuration
Sample-Id: 00000287-google

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-10-13 01:38:20 +02:00
Michael Niedermayer
87fe0bbd69 lavc: rename h265 to hevc, add AV_CODEC_ID_H265 with identical value for backward compatibility
Somehow 2 different identifiers have come into existence which makes supporting
both until the next major version bump required
I did not investigate how exactly that did happen.

wm4, j-b and smarter prefer hevc.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 00:26:27 +02:00
Paul B Mahol
fd54f70072 avformat/avr: use ff_get_pcm_codec_id()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-12 20:21:38 +00:00
Paul B Mahol
cfc9a4c732 avfilter/vsrc_testsrc: smpte(hd)bars: use yuv directly
Also set color space.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-12 18:40:15 +00:00
Paul B Mahol
1d8ce109e9 avfilter/vf_separatefields: do not reset pts to 0
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-12 15:10:19 +00:00
Vittorio Giovara
fd2384f02b oggparsevorbis: fail on memory allocation error 2013-10-12 15:37:56 +02:00
James Almer
c18375ec80 oggvorbisdec: add support for embedded cover art
Signed-off-by: James Almer <jamrial@gmail.com>
2013-10-12 15:34:10 +02:00
James Almer
601d6228c4 flac: move picture parsing code in a separate file
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-12 15:30:39 +02:00
Nicolas George
ecab1c7741 oggdec: add support for Opus in Ogg demuxing 2013-10-12 15:25:18 +02:00
Vittorio Giovara
ed9245dba8 oggparsevorbis: check allocations
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-12 15:24:26 +02:00
James Almer
9c15ef35d4 oggparsevorbis: support official chapter extension
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-12 15:24:08 +02:00
Anton Khirnov
16ea20c827 lavc doxy: extend/clarify avcodec_decode_audio4() doxy
Elaborate on flushing the decoder.
2013-10-12 15:10:21 +02:00
Anton Khirnov
66d3f5fd5c lavc doxy: remove false statements about alignment requirements.
The packet data does not need to be aligned.
2013-10-12 15:09:38 +02:00
Anton Khirnov
364af376f3 FATE: add lavr resampling tests 2013-10-12 15:07:46 +02:00
Anton Khirnov
9ab5f7107d FATE: add lavr mixing tests 2013-10-12 15:07:26 +02:00
Anton Khirnov
df6737a55f audio_mix: fix channel order in mix_1_to_2_fltp_flt_c
CC:libav-stable@libav.org
2013-10-12 15:06:55 +02:00
Michael Niedermayer
8de021fabe Merge remote-tracking branch 'lukaszmluki/master'
* lukaszmluki/master:
  avformat/ftp: add log regarding passive mode failure
  avformat/ftp: fix possible deadlock
  avdevice/pulse_audio_enc: fix stream index

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-12 14:14:54 +02:00
Michael Niedermayer
23c8a3353b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  riff: Add a mapping for VP6A

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-12 14:03:54 +02:00
Lukasz Marek
3a92ee5953 avformat/ftp: add log regarding passive mode failure
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-10-12 13:52:33 +02:00
Lukasz Marek
e1fb3143bb avformat/ftp: fix possible deadlock
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-10-12 13:52:33 +02:00
Lukasz Marek
7b1640c4a6 avdevice/pulse_audio_enc: fix stream index
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-10-12 13:52:26 +02:00
Martin Storsjö
a52b5a5a07 riff: Add a mapping for VP6A
This allows demuxing VP6A from F4V files.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-12 13:02:45 +03:00
Michael Niedermayer
aeddc6e3a5 avfilter/lavfutils: fix memleak of avpacket
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-12 11:52:10 +02:00
Michael Niedermayer
eedfee12c6 avfilter/vf_removelogo: fix pixel pointer so it points where its intended
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-12 11:36:55 +02:00
Michael Niedermayer
8c582d1b22 avfilter/vf_removelogo: fix offset for accessing pixels above and below
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-12 11:35:54 +02:00
Michael Niedermayer
8c0687abdf avfilter/vf_removelogo: use av_freep() for saftey
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-12 11:31:38 +02:00
Michael Niedermayer
e4d45673ca avformat/movenc: set XDCAM codec tag correctly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-12 01:42:53 +02:00
Michael Niedermayer
713dcdbfcb avformat/movenc: set pretty compressor name for XDCAM
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-12 01:42:53 +02:00
Michael Niedermayer
ce994a03f5 avformat/movenc: make AVStream easier to access
This adds a AVStream pointer to Track

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-12 01:42:53 +02:00
Timothy Gu
024bf3a1c2 doc/codecs: Add missing mpeg2 aac profiles
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-11 20:00:06 +02:00
Timothy Gu
1fdae1017c doc/codecs: Add ignorecrop
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-11 19:59:49 +02:00
Timothy Gu
db4a677433 doc/codecs: Remove no longer existing options
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-11 19:59:07 +02:00
Timothy Gu
a55e813e53 doc/codecs: Cosmetics in the flags2 description
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-11 19:57:47 +02:00
Michael Niedermayer
dfb89fee2d doc/codecs: document skip_alpha
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-11 16:59:32 +02:00
Michael Niedermayer
e7fa0417b3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  prores: Reject negative run and level values

See: 93c220e895
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-11 16:48:26 +02:00
Stefano Sabatini
f02bab6d09 doc/filters/scale: do not explicitly state the default swscale flags value
This is done is order to avoid the need of synching scale with libswscale
docs in case the libswscale default changes.
2013-10-11 16:40:20 +02:00
Carl Eugen Hoyos
a12ab37d1f lavf/riff.c: Fix GeoVision H.264 fourcc.
Fixes d24da748
2013-10-11 16:23:09 +02:00
Carl Eugen Hoyos
d24da748c3 Add H.264 fourcc GAVC for GeoVision cameras. 2013-10-11 10:02:00 +02:00
Michael Niedermayer
08b22c0ea5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mxf: Add jpeg2000 codec to intra only codecs

See: c461265a76
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-11 09:22:10 +02:00
Michael Niedermayer
bb8ce36dc2 Merge commit '5f5ada3dbf97e306a74250ba8dcf8619ad59b020'
* commit '5f5ada3dbf97e306a74250ba8dcf8619ad59b020':
  shorten: Fix out-of-array read

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-11 09:20:26 +02:00
Michael Niedermayer
964f9ca229 Merge commit 'ed796fba761f4794bec7735d467c1b2c8e1858fe'
* commit 'ed796fba761f4794bec7735d467c1b2c8e1858fe':
  atrac3: Better name for IMDCT window initialization
  atrac3: Remove unused gain compensation tables

See: 2d52834910
See: 4fb8de08e1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-11 08:23:07 +02:00
Michael Niedermayer
a72bf5fd11 ffmpeg: set the source_index for trivial filter graphs
Fixes one testcase in Ticket2969

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-11 00:51:09 +02:00
Luca Barbato
c0de9a23c7 prores: Reject negative run and level values
Sample-Id: 00000611-google

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-10-10 21:02:10 +02:00
Paul B Mahol
996c73490c avcodec/exr: remove pointless initialization
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-10 18:24:49 +00:00
Maxim Poliakovski
2d52834910 atrac3: Better name for imdct window initialization
Patch by Diego Biurrun.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-10 18:33:16 +02:00
Maxim Poliakovski
4fb8de08e1 atrac3: Remove unused gain compensation tables
Patch by Diego Biurrun.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-10 18:33:07 +02:00
Matthieu Bouron
054454c63a mxf: Add jpeg2000 codec to intra only codecs
Conform with SMPTE RP 224 and SMPTE s422.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-10-10 18:22:46 +02:00
Tim Walker
5f5ada3dbf shorten: Fix out-of-array read
pred_order == FF_ARRAY_ELEMS(fixed_coeffs) is invalid too.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-10-10 17:52:14 +02:00
Michael Niedermayer
a830915b78 swscale: Use full resolution chroma for yuv2rgb when the input has full chroma
See Ticket3028

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-10 17:28:59 +02:00
Paul B Mahol
d1d875d301 avfilter/vf_w3fdif: do not reset pts to 0
Shamelessly stolen from yadif.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-10 15:08:55 +00:00
Michael Niedermayer
cdc9657a0c doc/codecs: Document field_order
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-10 16:03:37 +02:00
Maxim Poliakovski
ed796fba76 atrac3: Better name for IMDCT window initialization
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-10-10 14:29:54 +02:00
Maxim Poliakovski
be76415047 atrac3: Remove unused gain compensation tables
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-10-10 14:26:13 +02:00
Timothy Gu
7ab8bceabc doc/encoder/aac: Remove -cutoff trick
Fix Ticket #2686 comment 155.

Trick obsoleted since 72dabdfc58.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-10 13:43:56 +02:00
Ronald S. Bultje
20d78a8606 libavcodec/x86: Fix emulated_edge_mc SSE code to not contain SSE2 instructions on x86-32.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-10 13:36:06 +02:00
Michael Niedermayer
ef6b85e9b8 avcodec/proresdec2: propagate error codes
Based-on: 44690dfa68
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-10 13:11:54 +02:00
Michael Niedermayer
0391f4617f avcodec/vmnc/reset_buffers(): reset cur_hx/hy too for saftey
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-10 12:30:52 +02:00
Michael Niedermayer
3fa4c528a9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  prores: Error out only on surely incomplete ac_coeffs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-10 12:29:17 +02:00
Michael Niedermayer
5c99ca2288 Merge commit '44690dfa683f620c77e9f0e8e9bc5682608636b1'
* commit '44690dfa683f620c77e9f0e8e9bc5682608636b1':
  prores: Add a codepath for decoding errors

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-10 12:21:15 +02:00
Michael Niedermayer
7acb464f0e Merge commit 'e6ed8668597cfea25dfb350a9b4df7fb2efc1d90'
* commit 'e6ed8668597cfea25dfb350a9b4df7fb2efc1d90':
  flvenc: Write proper cropping for VP6 even if there's no extradata

Conflicts:
	libavformat/flvenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-10 12:06:17 +02:00
Michael Niedermayer
c2555bcbd1 Merge commit 'be1e1373d267bae2af8a62d79eef736736f24565'
* commit 'be1e1373d267bae2af8a62d79eef736736f24565':
  flvenc: Support muxing VP6A as well

Conflicts:
	libavformat/flvenc.c

See: 42ae83c196
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-10 11:58:58 +02:00
Michael Niedermayer
0efbd98e23 Merge commit '4d7aeff9a1080e64125f3374d993b2c9c4c2751b'
* commit '4d7aeff9a1080e64125f3374d993b2c9c4c2751b':
  flvenc: Don't pretend to support muxing "plain" VP6

Conflicts:
	libavformat/flvenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-10 11:45:45 +02:00
Michael Niedermayer
70025c07a7 Merge commit '41a10f3ba149a2012de499d0b4ad4955d81f28d5'
* commit '41a10f3ba149a2012de499d0b4ad4955d81f28d5':
  vp6: Support cropping to AVCodecContext.width/height

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-10 11:38:36 +02:00
Michael Niedermayer
5fcd0a80a2 Merge commit 'ceec6e792e4b5baaa23b220f4fd33417631f5288'
* commit 'ceec6e792e4b5baaa23b220f4fd33417631f5288':
  avi: directly resync on DV in AVI read failure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-10 11:31:40 +02:00
Michael Niedermayer
dd0429e1de Merge commit '756547ce7f4d67a18663503e2157aebed3531703'
* commit '756547ce7f4d67a18663503e2157aebed3531703':
  avi: DV in AVI must be considered single stream

Conflicts:
	libavformat/avidec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-10 11:22:28 +02:00
Michael Niedermayer
c589c4c52d Merge commit '1cac9accbd1f9b8596122d0735e37b97a844c514'
* commit '1cac9accbd1f9b8596122d0735e37b97a844c514':
  avi: properly fail if the dv demuxer is missing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-10 10:40:33 +02:00
Michael Niedermayer
e96c80154f Merge commit '1018a92219a38a812cf97761c6b3a5e66a400f4b'
* commit '1018a92219a38a812cf97761c6b3a5e66a400f4b':
  jpeg2000: Check block length

See: 914ab4cd1c
See: 582f53349e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-10 10:32:04 +02:00
Luca Barbato
2df7f7714a prores: Error out only on surely incomplete ac_coeffs 2013-10-10 10:26:31 +02:00
Luca Barbato
44690dfa68 prores: Add a codepath for decoding errors 2013-10-10 09:47:03 +02:00
Michael Niedermayer
5a7a902ac3 Merge commit '071e29af4d383bdb44d0c87416dee3e4bb597936'
* commit '071e29af4d383bdb44d0c87416dee3e4bb597936':
  vmnc: Use meaningful return values

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-10 09:45:30 +02:00
Martin Storsjö
e6ed866859 flvenc: Write proper cropping for VP6 even if there's no extradata
This keeps cropping when remuxing from F4V to FLV.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-10 10:42:28 +03:00
Martin Storsjö
be1e1373d2 flvenc: Support muxing VP6A as well
Handle it in the same way as VP6F, except for the codec tag.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-10 10:42:10 +03:00
Martin Storsjö
4d7aeff9a1 flvenc: Don't pretend to support muxing "plain" VP6
The plain VP6 format is vertically flipped compared to VP6F/VP6A.
Support for the plain VP6 format was added in 09d8c0ae83 (which
also introduced support for muxing VP6F properly in general).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-10 10:41:44 +03:00
Martin Storsjö
41a10f3ba1 vp6: Support cropping to AVCodecContext.width/height
In these cases, there is no extradata but only the properly set
width/height values by the demuxer.

This makes sure VP6 in F4V files is cropped properly.

This is similar to what is done for H264 for letting the container
width/height override what's in the bitstream, since 30f515091.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-10 10:41:21 +03:00
Michael Niedermayer
20669753ce Merge commit '5e992a4682d2c09eed3839c6cacf70db3b65c2f4'
* commit '5e992a4682d2c09eed3839c6cacf70db3b65c2f4':
  vmnc: Check the cursor dimensions

Conflicts:
	libavcodec/vmnc.c

See: 9437259276
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-10 09:39:07 +02:00
Michael Niedermayer
f18db82f29 Merge commit '61cd19b8bc32185c8caf64d89d1b0909877a0707'
* commit '61cd19b8bc32185c8caf64d89d1b0909877a0707':
  vmnc: Port to bytestream2

Conflicts:
	libavcodec/vmnc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-10 09:19:05 +02:00
Michael Niedermayer
7824b5f6f5 Merge commit 'a66aa0daf290ef157cb3322b034b43d6201c43e9'
* commit 'a66aa0daf290ef157cb3322b034b43d6201c43e9':
  vmnc: K&R formatting cosmetics

Conflicts:
	libavcodec/vmnc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-10 09:04:22 +02:00
Luca Barbato
ceec6e792e avi: directly resync on DV in AVI read failure
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-10-10 07:28:17 +02:00
Luca Barbato
756547ce7f avi: DV in AVI must be considered single stream
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-10-10 07:28:03 +02:00
Luca Barbato
1cac9accbd avi: properly fail if the dv demuxer is missing
CC: libav-stable@libav.org
2013-10-10 07:27:50 +02:00
Michael Niedermayer
65c2fe7159 avcodec/h264: call flush_change() on init
This ensures that all the non zero fields get setup correctly.
Alternatively their initialization could be duplicated.

Fixes Ticket2738

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-10 02:25:51 +02:00
Michael Niedermayer
5ac6b6028f avcodec/h264_refs: modify key frame detection heuristic to detect more cases
Fixes Ticket2968

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-10 00:07:26 +02:00
Luca Barbato
1018a92219 jpeg2000: Check block length
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-10-09 22:25:19 +02:00
Luca Barbato
071e29af4d vmnc: Use meaningful return values 2013-10-09 22:25:01 +02:00
Luca Barbato
5e992a4682 vmnc: Check the cursor dimensions
And manage the reallocation failure path.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-10-09 22:25:01 +02:00
Luca Barbato
61cd19b8bc vmnc: Port to bytestream2
Fix some buffer overreads.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-10-09 22:25:01 +02:00
Luca Barbato
a66aa0daf2 vmnc: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-10-09 22:25:01 +02:00
Michael Niedermayer
83fc6c822b avformat/wavdec: Dont trust the fact chunk for PCM
Fixes Ticket3033

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-09 22:18:19 +02:00
Carl Eugen Hoyos
3aa576513b lavd/xv.c: Include XShm.h before Xvlib.h.
This may fix compilation with libxv 1.0.4.
2013-10-09 19:01:11 +02:00
Michael Niedermayer
0f322feffd avfilter/buffersink: try to fix AV_NOPTS_VALUE
no testcase available, just found this issue by reading the code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-09 16:33:18 +02:00
Michael Niedermayer
8780f7fbfa avfilter/ff_filter_frame_needs_framing: fix handling of AV_NOPTS_VALUE
Fixes Ticket3015

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-09 16:33:18 +02:00
Paul B Mahol
8c7bc7d3e5 avcodec/exr: use avpriv_report_missing_feature()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-09 13:46:44 +00:00
Paul B Mahol
19fda0a1bc avcodec/vmnc: use av_freep()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-09 12:54:45 +00:00
Michael Niedermayer
31d0d35560 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86inc: Remove .rodata kludges

Conflicts:
	libavutil/x86/x86inc.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-09 14:29:42 +02:00
Michael Niedermayer
4ce82e6fa9 Merge commit '9e3946aadaef6f7d7ef15c31b5ff1e73d0ba79a1'
* commit '9e3946aadaef6f7d7ef15c31b5ff1e73d0ba79a1':
  build: Require yasm 0.8.0 or higher

Conflicts:
	configure

If someone wants to continue supporting older yasm/nasm versions, patches are of course welcome!

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-09 14:17:56 +02:00
Henrik Gramner
ad7d7d4f6a x86inc: Remove .rodata kludges
The Mach-O bug was fixed in yasm 0.8.0 and we don't
support versions that old anymore.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-09 07:44:30 -04:00
Derek Buitenhuis
9e3946aada build: Require yasm 0.8.0 or higher
This is in preparation for removing a .rodata kludge
which was only required for older YASM versions.

The movbe instruction was introduced in 0.8.0, which already
had AVX, which was introduced in 0.7.0, and NASM introduced
movbe in 2.0.3, which is the same version which introduced
AVX support.

Also, make the failure message more accurate.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-09 07:44:19 -04:00
Clément Bœsch
56db86a0b2 doc/filters: remove extra spacing in vid.stab section. 2013-10-09 13:22:04 +02:00
Michael Niedermayer
7f22df3a49 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  shorten: Extend fixed_coeffs to properly support pred_order 0

Conflicts:
	libavcodec/shorten.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-09 11:04:06 +02:00
Carl Eugen Hoyos
3aabfaa37b Fix make checkheaders for vp9 header files. 2013-10-09 09:42:16 +02:00
Carl Eugen Hoyos
f4e85afd99 Add pulse_audio_common.h to skipheaders.
Fixes an error when running make checkheaders.
2013-10-09 09:39:57 +02:00
Lou Logan
f115e83c81 MAINTAINERS: add Communication section
Add Twitter with myself (Lou Logan) as maintainer.

Add Google+ with Paul B Mahol, Michael Niedermayer, and Alexander
Strasser as maintainers.

Move website and mailinglists from Miscellaneous Areas to
Communication.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-09 04:04:38 +02:00
Timothy Gu
df08fd5e1e doc/default.css + doc/t2h.init: New styles
The main motive of this commit is to make the offline copy of the HTML doc as
pretty as the online (ffmpeg.org) one. This also introduced new styles for
<h2> to <h4>.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-09 04:01:46 +02:00
Luca Barbato
b2148faca9 shorten: Extend fixed_coeffs to properly support pred_order 0
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-10-09 03:34:10 +02:00
Michael Niedermayer
885739f3b4 ffserver: strip odd chars from html error messages before sending them back
Fixes Ticket3034

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-09 00:30:46 +02:00
Lukasz Marek
60136345e6 lavd/pulse: move common code to separate file
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 23:02:47 +02:00
Lukasz Marek
1ab9f322ee lavd/pulse: rename pulse.c into pulse_audio_dec.c
This make name of the file more specific
as there is also encoder implementation.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 22:28:39 +02:00
Paul B Mahol
162e22e144 avfilter/af_join: remove now unnecessary goto
Options are freed from the generic code now, there is no need to call
av_opt_free() from the filter.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-08 12:40:33 +00:00
Paul B Mahol
85b56e4803 avcodec/xwddec: use avpriv_report_missing_feature
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-08 12:40:33 +00:00
Paul B Mahol
3abbf20962 dpx: abgr support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-08 12:40:33 +00:00
Lukasz Marek
361b56c379 lavd: pulse audio encoder
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 14:31:50 +02:00
Michael Niedermayer
8c0f565ee3 avformat/movenc: factor out find_fps()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 14:18:43 +02:00
Michael Niedermayer
2dce4abe50 Changelog: add max_error_rate
Suggested-by: Paul B Mahol
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 13:38:59 +02:00
Ronald S. Bultje
ad75d2b590 x86: Fix compilation with nasm on PPC & OS/2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 12:36:19 +02:00
Michael Niedermayer
deb5addcff Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: h264_idct: Update comments to match 8/10-bit depth optimization split

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 12:10:02 +02:00
Michael Niedermayer
19c3890819 Merge commit '3e2fa991db7ef172579422accd61624d52777e5a'
* commit '3e2fa991db7ef172579422accd61624d52777e5a':
  x86inc: remove misaligned cpu flag

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 12:02:21 +02:00
Michael Niedermayer
31d9aa6b2e Merge commit '71155665414b551ad350622d5abed20e58371fbf'
* commit '71155665414b551ad350622d5abed20e58371fbf':
  x86inc: various minor backports from x264

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 11:57:39 +02:00
Michael Niedermayer
3f965ab95d Merge commit '47f9d7ce5493e119e09d1227d017414feaaf8d97'
* commit '47f9d7ce5493e119e09d1227d017414feaaf8d97':
  x86inc: Check for __OUTPUT_FORMAT__ having a value of "x64"

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 11:37:22 +02:00
Michael Niedermayer
1f17619fe4 Merge commit 'bbe4a6db44f0b55b424a5cc9d3e89cd88e250450'
* commit 'bbe4a6db44f0b55b424a5cc9d3e89cd88e250450':
  x86inc: Utilize the shadow space on 64-bit Windows

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 11:23:00 +02:00
Michael Niedermayer
17d9c7c208 Merge commit '3fb78e99a04d0ed8db834d813d933eb86c37142a'
* commit '3fb78e99a04d0ed8db834d813d933eb86c37142a':
  x86inc: create xm# and ym#, analagous to m#

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 11:15:17 +02:00
Michael Niedermayer
3352fdb292 Merge commit '49ebe3f9fe02174ae7e14548001fd146ed375cc2'
* commit '49ebe3f9fe02174ae7e14548001fd146ed375cc2':
  x86inc: fix some corner cases of SWAP

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 11:07:03 +02:00
Michael Niedermayer
006c0fcfea Merge commit '63f0d623100bdb0c6081456127f4b6713e83d3db'
* commit '63f0d623100bdb0c6081456127f4b6713e83d3db':
  x86inc: Use SSE instead of SSE2 for copying data

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 11:01:40 +02:00
Michael Niedermayer
faafffaf82 Merge commit 'ad76e6e7e193b98e7335156422d35467816f9ef1'
* commit 'ad76e6e7e193b98e7335156422d35467816f9ef1':
  x86inc: Set ELF hidden visibility for global constants

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 10:52:51 +02:00
Michael Niedermayer
3d5a995eac Merge commit 'e52567c2954f627d420b30f75f71af2f2e4afe80'
* commit 'e52567c2954f627d420b30f75f71af2f2e4afe80':
  build: Strip spurious labels

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 10:45:37 +02:00
Michael Niedermayer
c1488fab3d Merge commit '25cb0c1a1e66edacc1667acf6818f524c0997f10'
* commit '25cb0c1a1e66edacc1667acf6818f524c0997f10':
  x86inc: activate REP_RET automatically

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 10:27:30 +02:00
Ronald S. Bultje
ba9c557b92 avcodec/x86/vp9dsp: Fix compilation with nasm.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 02:27:12 +02:00
Michael Niedermayer
b6b9c150f0 ffmpeg: add max_error_rate to allow tuning the point decoding errors are considered a failure of the whole transcoding.
Suggested-by: Daemon404
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-07 23:58:59 +02:00
Michael Niedermayer
728bb910ec avfilter/vf_deshake: fix block_contrast() lower brightness value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-07 22:05:14 +02:00
Diego Biurrun
6405ca7d4a x86: h264_idct: Update comments to match 8/10-bit depth optimization split 2013-10-07 21:46:46 +02:00
Lenny Wang
2779b7b30a avfilter/deshake
The old row index looks weird and wrong to me

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-07 21:39:16 +02:00
Michael Niedermayer
abf2d53d80 avcodec/options_table: add field_order
This allows setting and overriding the field order

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-07 18:23:20 +02:00
Paul B Mahol
23824b9698 avcodec/dpx: support for 8 and 16 bit luma only files
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-07 11:45:46 +00:00
Paul B Mahol
e745dc2d6f avcodec/dpx: refactor pixel format selection
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-07 11:45:46 +00:00
Michael Niedermayer
b8866783c6 avfilter/lswsutils: dont override the default scaler
This should make no difference as this code is only used by removelogo which
seems to refuse to use masks of different size.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-07 13:28:13 +02:00
Henrik Gramner
3e2fa991db x86inc: remove misaligned cpu flag
Prevents a crash if the misaligned exception mask bit is
cleared for some reason.

Misaligned SSE functions are only used on AMD Phenom CPUs
and the benefit is miniscule. They also require modifying
the MXCSR control register and by removing those functions
we can get rid of that complexity altogether.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-07 06:27:38 -04:00
Jason Garrett-Glaser
7115566541 x86inc: various minor backports from x264
Small backports that sneaked into other asm commits in x264.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-07 06:27:22 -04:00
Derek Buitenhuis
47f9d7ce54 x86inc: Check for __OUTPUT_FORMAT__ having a value of "x64"
This is also a valid value for WIN64.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-07 06:27:08 -04:00
Henrik Gramner
bbe4a6db44 x86inc: Utilize the shadow space on 64-bit Windows
Store XMM6 and XMM7 in the shadow space in functions that
clobbers them. This way we don't have to adjust the stack
pointer as often, reducing the number of instructions as
well as code size.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-07 06:25:35 -04:00
Loren Merritt
3fb78e99a0 x86inc: create xm# and ym#, analagous to m#
For when we want to mix simd sizes within one function.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-07 06:25:19 -04:00
Loren Merritt
49ebe3f9fe x86inc: fix some corner cases of SWAP
SWAP with >=3 named (rather than numbered) args
PERMUTE followed by SWAP with 2 named args
used to produce the wrong permutation

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-07 06:25:06 -04:00
Henrik Gramner
63f0d62310 x86inc: Use SSE instead of SSE2 for copying data
Reduces code size because movaps/movups is one byte
shorter than movdqa/movdqu.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-07 06:24:33 -04:00
Henrik Gramner
ad76e6e7e1 x86inc: Set ELF hidden visibility for global constants
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-07 06:24:13 -04:00
Loren Merritt
e52567c295 build: Strip spurious labels
The implementation of 25cb0c1a involves lots of spurious labels.

The effect of keeping those labels around is making debugging harder.
Those labels are meaningless, and complicate the disassembly. Also,
gdb can't tell the difference between them and function entry points.

This new strip command is irrelevant to any usage of Libav that would
have used the old fully stripped version, because the old one was for
non-debug use.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-07 06:20:15 -04:00
Loren Merritt
25cb0c1a1e x86inc: activate REP_RET automatically
Now RET checks whether it immediately follows a branch, so the
programmer dosen't have to keep track of that condition. REP_RET
is still needed manually when it's a branch target, but that's
much rarer.

The implementation involves lots of spurious labels, but that's OK
because we strip them.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-07 06:17:59 -04:00
Lukasz Marek
c21be5845f doc/indevs: make pulse dev formatting consistent with other devices
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-07 12:01:51 +02:00
Niv Sardi
49ba6e56bd lavu/parseutils: add more resolutions
See http://en.wikipedia.org/wiki/Graphics_display_resolution

Signed-off-by: Niv Sardi <xaiki@evilgiggle.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-07 11:45:03 +02:00
Michael Niedermayer
b67cb58520 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: fdct: Employ more specific ifdefs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-07 11:37:47 +02:00
Michael Niedermayer
57f0f86f72 Merge commit '9adbc3f3a1770fec9d24b8f5be3438a6c8e9e6a6'
* commit '9adbc3f3a1770fec9d24b8f5be3438a6c8e9e6a6':
  bmv: Remove unused variable

See: 63139f62f3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-07 11:27:43 +02:00
Paul B Mahol
62078f25ee avcodec/dpx: return different error code for unsupported depths
Also give better message in such cases.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-07 09:10:00 +00:00
Paul B Mahol
ad934bc353 avfilter/vf_drawtext: remove dead initialization
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-07 08:40:17 +00:00
Paul B Mahol
ce26a016cd avfilter/vf_phase: remove dead initialization
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-07 08:28:00 +00:00
Michael Niedermayer
38e13f55a5 ffmpeg: dont detect slight (0.1sec) backward moving dts as discontinuity 2013-10-07 01:36:05 +02:00
Michael Niedermayer
8f2386b589 avformat/oggparseflac: fix handling of old flac in ogg
Improves handling of the file in Ticket1617

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-07 01:36:05 +02:00
Michael Niedermayer
630c005b87 avcodec/flac_parser: export sample_rate also when PARSER_FLAG_COMPLETE_FRAMES is set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-07 01:36:05 +02:00
Paul B Mahol
ee3d03bf4e avcodec/dpx: make .long_name more descriptive
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-06 20:17:10 +00:00
Paul B Mahol
8ec328668a avcodec: add dpx parser
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-06 20:12:37 +00:00
Diego Biurrun
ce1e8045e0 x86: fdct: Employ more specific ifdefs
This avoids building mmxext and sse2 code when disabled by configure.
2013-10-06 22:02:25 +02:00
Diego Biurrun
9adbc3f3a1 bmv: Remove unused variable 2013-10-06 19:36:53 +02:00
Michael Niedermayer
efff7564d4 configure: filters should select the parts they need not use deps
otherwise enabling the filter would not work if the part hasnt been
enabled by other means already

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-06 16:43:34 +02:00
Michael Niedermayer
4916088a93 fate: fix dpx on big endian
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-06 15:22:18 +02:00
Michael Niedermayer
3ee796760a avfilter/vf_scale: dont duplicate default.
use the defaults set by swscale

Suggested-by: stefano
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-06 12:39:47 +02:00
Michael Niedermayer
4634871b51 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  oggparsevorbis: return meaningful errors

Conflicts:
	libavformat/oggparsevorbis.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-06 12:24:13 +02:00
Michael Niedermayer
c86955d24a Merge commit '2ddb35b91131115c094d90e04031451023441b4d'
* commit '2ddb35b91131115c094d90e04031451023441b4d':
  x86: dsputil: Separate ff_add_hfyu_median_prediction_cmov from dsputil_mmx

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-06 11:50:01 +02:00
Michael Niedermayer
5710f55e49 Merge commit '6b3ff6f91a535d6383f41ca7bdf760165dcb6015'
* commit '6b3ff6f91a535d6383f41ca7bdf760165dcb6015':
  swscale: provide a default scaler if none is set

Conflicts:
	libswscale/utils.c

The default is left at bicubic until someone has compared the scalers
properly speed and quality wise.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-06 11:44:05 +02:00
Michael Niedermayer
7fb123429e Merge commit '258414d0771845d20f646ffe4d4e60f22fba217c'
* commit '258414d0771845d20f646ffe4d4e60f22fba217c':
  x86: fdct: Initialize optimized fdct implementations in the standard way

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-06 11:31:01 +02:00
Michael Niedermayer
d0b2703676 Merge commit '0b8b2ae5e93d616c2ece59f7175f483154cff918'
* commit '0b8b2ae5e93d616c2ece59f7175f483154cff918':
  x86: xviddct: Employ more specific ifdefs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-06 11:25:22 +02:00
Michael Niedermayer
90cecd3c9b Merge commit '4272bb6ef1533846a788c259cc498562d0704444'
* commit '4272bb6ef1533846a788c259cc498562d0704444':
  doxy: Document avlog

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-06 11:16:15 +02:00
Michael Niedermayer
931a4b433d avfilter/vf_scale: change the default scaler to bicubic
See: [FFmpeg-devel] [PATCH] swscale/options: switch default to bicubic
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-06 11:00:48 +02:00
Michael Niedermayer
ccf96f8c64 swscale/options: switch default to bicubic
Suggested-by: Ronald S. Bultje
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-06 10:47:09 +02:00
Michael Niedermayer
6853e40106 avformat/matroskadec: only set r_frame_rate if the value is within reasonable limits
Fixes Ticket2451

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-06 00:22:08 +02:00
Vittorio Giovara
90e15e340d oggparsevorbis: return meaningful errors
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-10-05 23:16:48 +02:00
Paul B Mahol
746e3142ee avfilter/f_interleave: use the name 's' for the pointer to the private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-05 19:16:55 +00:00
Diego Biurrun
2ddb35b911 x86: dsputil: Separate ff_add_hfyu_median_prediction_cmov from dsputil_mmx
The function does not depend on MMX and compilation without MMX enabled
fails if the function is compiled conditional on MMX availability.
2013-10-05 19:21:15 +02:00
Michael Niedermayer
4b05906e84 configure: add --tempprefix option
With this and ccache configure execution time goes down from 3.9 to 2.4 seconds

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-05 18:43:21 +02:00
Vittorio Giovara
6b3ff6f91a swscale: provide a default scaler if none is set
Lanczos for general case, sinc for upscaling, Gaussian for
downscaling. According to current literature these scalers
should be the best quality-wise algorithms for each case.

Inspired from a patch by wm4 <nfxjfg@googlemail.com>

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-10-05 18:38:55 +02:00
Diego Biurrun
258414d077 x86: fdct: Initialize optimized fdct implementations in the standard way 2013-10-05 18:20:52 +02:00
Diego Biurrun
0b8b2ae5e9 x86: xviddct: Employ more specific ifdefs
This avoids building mmxext and sse2 code when disabled by configure.
2013-10-05 18:14:58 +02:00
Luca Barbato
4272bb6ef1 doxy: Document avlog
Provide some information for every function and add a group.
2013-10-05 18:09:45 +02:00
Paul B Mahol
fc83c99c0b avcodec/dpx: cosmetics: fix identation
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-05 12:27:31 +00:00
Paul B Mahol
0841652b54 avcodec/dpx: reformat avpriv_report_missing_feature messages
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-05 12:26:45 +00:00
Paul B Mahol
c3e0fbc507 avcodec/dpx: return proper error code for unsupported files
Also use avpriv_report_missing_feature().

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-05 12:26:21 +00:00
Paul B Mahol
9665217a75 avfilter/af_silencedetect: support more sample formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-05 11:59:34 +00:00
Michael Niedermayer
922596e3da Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ismindex: Change the duration field to int64_t

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-05 11:35:39 +02:00
Michael Niedermayer
47a57c6832 Merge commit '583a287f6f48f263859df142e6f90993e4217c72'
* commit '583a287f6f48f263859df142e6f90993e4217c72':
  ismindex: Calculate the file duration among the included tracks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-05 11:29:02 +02:00
Michael Niedermayer
5de251a3e3 Merge commit 'd347a7b248d4ffdc278373fecf033b0ade030343'
* commit 'd347a7b248d4ffdc278373fecf033b0ade030343':
  ismindex: Use the individual stream duration instead of the global one

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-05 11:14:26 +02:00
Michael Niedermayer
a7630e3755 Merge commit 'b698542ad83284fbb8c22404e3cafeb2dd739d38'
* commit 'b698542ad83284fbb8c22404e3cafeb2dd739d38':
  mov: Don't allocate arrays with av_malloc that will be realloced

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-05 10:50:47 +02:00
Michael Niedermayer
a927276fcc avcodec/dpx: check packing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-05 01:41:44 +02:00
Michael Niedermayer
23f105a830 avcodec/dpx: check encoding
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-05 01:41:44 +02:00
Michael Niedermayer
fb726ef09a avcodec/dpx: fix reading of the packing field
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-05 01:33:52 +02:00
Michael Niedermayer
8cb7d20567 avcodec/dpx: fix reading 12bit dpx images, which have non zero padding bits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-05 01:31:15 +02:00
Michael Niedermayer
e1f8184a1a avformat/gifdec: make GIF_APP_EXT_LABEL parsing more robust
Fixes Ticket3021

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-04 23:26:40 +02:00
Lukasz Marek
b611ea041d lavd/pulse: add MAINTAINERS entry
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-04 23:26:40 +02:00
Martin Storsjö
a4435f9235 ismindex: Change the duration field to int64_t
This reduces the risk for overflow in pathlogical cases.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-05 00:01:28 +03:00
Martin Storsjö
583a287f6f ismindex: Calculate the file duration among the included tracks
If the input file contains other tracks (non video/audio) that
aren't included in ismindex, the global file duration as returned
by libavformat might not be equal to the maximum of the duration
of the actual included tracks.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-05 00:01:18 +03:00
Martin Storsjö
d347a7b248 ismindex: Use the individual stream duration instead of the global one
The stream duration is used for calculating the duration of the
last fragment easily without manually parsing anything else than
the mfra/tfra atoms. When the global file duration was used
previously, the duration of the last fragment could end up wrong
if the streams weren't equally long.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-05 00:01:08 +03:00
Martin Storsjö
b698542ad8 mov: Don't allocate arrays with av_malloc that will be realloced
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-05 00:00:43 +03:00
Paul B Mahol
a2c14ba2b1 avfilter/vf_histogram: use const for variables that are not supposed to change
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-04 16:48:19 +00:00
Michael Niedermayer
e41ea866fc avformat/mov: force parsing of headers if stts is absent
Fixes Ticket2991

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-04 17:47:26 +02:00
Stefano Sabatini
515e651f56 lavu/opt: fix doxy for av_opt_get* functions about return value
Success code must be >= 0 and not == 0, consistently with the
implementation.
2013-10-04 16:36:27 +02:00
Stefano Sabatini
719b4eef5d lavu/common: add warning to GET_UTF8 doxy
Should prevent wrong uses, or at least decrease their chance.
2013-10-04 16:36:27 +02:00
Michael Niedermayer
9d8e8495c9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: fdct: Only build fdct code if encoders have been enabled

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-04 14:36:58 +02:00
Michael Niedermayer
74b2b0ed9f Merge commit 'cd818b3a5709b9b08bd5901cb8863a8b61be265e'
* commit 'cd818b3a5709b9b08bd5901cb8863a8b61be265e':
  rtmpproto: Validate the embedded flv packet size before copying

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-04 14:30:05 +02:00
Michael Niedermayer
5bb3ef3b36 Merge commit '8921e32f730c191543b84e61338bc9d549aa05a3'
* commit '8921e32f730c191543b84e61338bc9d549aa05a3':
  rtmpproto: Readjust the end of the flv buffer if handle_metadata exited early

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-04 14:25:03 +02:00
Michael Niedermayer
b8e44118b1 Merge commit '24fee95321c1463360ba7042d026dae021854360'
* commit '24fee95321c1463360ba7042d026dae021854360':
  rtmpproto: Move the flv header/trailer addition to append_flv_data

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-04 14:18:32 +02:00
Michael Niedermayer
205b602135 Merge commit '72540e514ceaaed8ecb97ed63637b2a2a4447ab8'
* commit '72540e514ceaaed8ecb97ed63637b2a2a4447ab8':
  rtmpproto: Clear the flv allocation size on reallocp failures

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-04 14:17:53 +02:00
Michael Niedermayer
d32eec3359 Merge commit '4d6d70292e91a7ef027824d731b6b6570ceabf2f'
* commit '4d6d70292e91a7ef027824d731b6b6570ceabf2f':
  rtmpproto: Pass the 'live' parameter in the right unit

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-04 13:53:17 +02:00
Michael Niedermayer
373d15525d Merge commit 'a6b361325f2bfc8d9d4e5f761d6c1a07b209c4fb'
* commit 'a6b361325f2bfc8d9d4e5f761d6c1a07b209c4fb':
  rtmpproto: Print the error code string if there's no description

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-04 13:47:06 +02:00
Clément Bœsch
b46f19100b cosmetics: group remaining .name and .long_name.
See b2bed9325.
2013-10-04 13:33:20 +00:00
Michael Niedermayer
ee77140afa Merge commit 'b2bed9325dbd6be0da1d91ffed3f513c40274fd2'
* commit 'b2bed9325dbd6be0da1d91ffed3f513c40274fd2':
  cosmetics: Group .name and .long_name together in codec/format declarations

Conflicts:
	libavcodec/8svx.c
	libavcodec/alac.c
	libavcodec/cljr.c
	libavcodec/dnxhddec.c
	libavcodec/dnxhdenc.c
	libavcodec/dpxenc.c
	libavcodec/dvdec.c
	libavcodec/dvdsubdec.c
	libavcodec/dvdsubenc.c
	libavcodec/ffv1dec.c
	libavcodec/flacdec.c
	libavcodec/flvdec.c
	libavcodec/fraps.c
	libavcodec/frwu.c
	libavcodec/g726.c
	libavcodec/gif.c
	libavcodec/gifdec.c
	libavcodec/h261dec.c
	libavcodec/h263dec.c
	libavcodec/iff.c
	libavcodec/imc.c
	libavcodec/libopencore-amr.c
	libavcodec/libopenjpegdec.c
	libavcodec/libopenjpegenc.c
	libavcodec/libspeexenc.c
	libavcodec/libvo-amrwbenc.c
	libavcodec/libvorbisenc.c
	libavcodec/libvpxenc.c
	libavcodec/libx264.c
	libavcodec/libxavs.c
	libavcodec/libxvid.c
	libavcodec/ljpegenc.c
	libavcodec/mjpegbdec.c
	libavcodec/mjpegdec.c
	libavcodec/mpeg12dec.c
	libavcodec/mpeg4videodec.c
	libavcodec/msmpeg4dec.c
	libavcodec/pgssubdec.c
	libavcodec/pngdec.c
	libavcodec/pngenc.c
	libavcodec/proresdec_lgpl.c
	libavcodec/proresenc_kostya.c
	libavcodec/ra144enc.c
	libavcodec/rawdec.c
	libavcodec/rv10.c
	libavcodec/sp5xdec.c
	libavcodec/takdec.c
	libavcodec/tta.c
	libavcodec/v210dec.c
	libavcodec/vp6.c
	libavcodec/wavpack.c
	libavcodec/xbmenc.c
	libavcodec/yop.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-04 12:34:23 +02:00
Michael Niedermayer
f3968ab47c Merge commit '49fe9c05f97bc2cfafd8fdcfea2f313d7c8e2c48'
* commit '49fe9c05f97bc2cfafd8fdcfea2f313d7c8e2c48':
  oggparsevorbis: K&R formatting cosmetics

Conflicts:
	libavformat/oggparsevorbis.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-04 12:01:17 +02:00
Michael Niedermayer
90e1fc8bec Merge commit '47b6cfc2a0333fb24f074d27830bf35ae5007050'
* commit '47b6cfc2a0333fb24f074d27830bf35ae5007050':
  avformat/output-example: Declare link dependency on libswscale in the Makefile

Conflicts:
	libavformat/Makefile

Changes to libavformat/Makefile are not merged as our build system for the examples
is different.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-04 11:49:01 +02:00
Michael Niedermayer
1e67800780 Merge commit '80fefbed623491b92fe59ead99225f99c0d0ca08'
* commit '80fefbed623491b92fe59ead99225f99c0d0ca08':
  x86: cpu: Restore some explanatory comments removed in 7160bb7

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-04 11:28:21 +02:00
Michael Niedermayer
8378aae729 Merge commit '6a5bfd4d49e7433f6de869ccfe682940dbca8740'
* commit '6a5bfd4d49e7433f6de869ccfe682940dbca8740':
  atrac: Add missing av_cold

See: 852241561d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-04 11:22:23 +02:00
Michael Niedermayer
02a6ee5168 avfilter/vf_frei0r: fix out of array read
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-04 11:16:35 +02:00
Clément Bœsch
d4dc673455 avformat/vobsub: raise packet even if apparently incomplete.
This restore the latest packet which was dropped from the FATE test in
dbfe61100.
2013-10-04 09:25:11 +00:00
Diego Biurrun
6cc133ec58 x86: fdct: Only build fdct code if encoders have been enabled
fdct is only initialized if encoders are enabled.
2013-10-04 10:50:44 +02:00
Martin Storsjö
cd818b3a57 rtmpproto: Validate the embedded flv packet size before copying
This wasn't an issue prior to 58404738, when the whole RTMP packet
was copied at once and the length of the individual embedded flv
packets only were validated by the flv demuxer.

Prior to this patch, this could lead to reads and writes out of bound.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-04 09:25:10 +03:00
Martin Storsjö
8921e32f73 rtmpproto: Readjust the end of the flv buffer if handle_metadata exited early
If the embedded flv packets were incomplete and we aborted the
copying loop early, make sure the flv buffer is trimmed to
only contain full packets.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-04 09:25:08 +03:00
Martin Storsjö
24fee95321 rtmpproto: Move the flv header/trailer addition to append_flv_data
update_offset is also called from handle_metadata, where the
packet header sizes is already included in the size.

Previously this lead to flv_data/flv_size including 15 uninitialized
bytes at the end after each call to handle_metadata, making the
flv demuxer lose sync with the stream.

Also remove leftover copying in handle_metadata. This is a leftover
from the refactoring in 5840473. (Previously this final mempcy was
the one that copied all the packets at once, while this is done
within the loop right now.) After making sure flv_size is set to
the right size, this write was out of bounds.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-04 09:25:07 +03:00
Martin Storsjö
72540e514c rtmpproto: Clear the flv allocation size on reallocp failures
This was overlooked in d872fb0f7 since I assumed all the realloc
issues in the rtmp code was fixed already.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-04 09:25:06 +03:00
Martin Storsjö
4d6d70292e rtmpproto: Pass the 'live' parameter in the right unit
The current magic numbers passed are values in seconds, while the
parameter itself should be passed over the wire in milliseconds.

This makes (some/all?) live streams from Red5 work correctly, that
previously returned StreamNotFound even with "-rtmp_live live". After
this commit, the default 'any' also works on these streams.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-04 09:25:05 +03:00
Martin Storsjö
a6b361325f rtmpproto: Print the error code string if there's no description
On (certain streams/setups at least on) Red5, the description string
actually is present, but empty. Therefore, first try loading the
description, but if not found or empty, load the code string instead.
The code string is quite understandable in most cases anyway (like
"NetStream.Play.StreamNotFound").

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-04 09:25:04 +03:00
Clément Bœsch
dbfe61100b avformat/vobsub: fix several issues.
Here is an extract of fate-samples/sub/vobsub.idx, with an additional
text at the end of each line to better identify each bitmap:

    timestamp: 00:04:55:445, filepos: 00001b000 Ace!
    timestamp: 00:05:00:049, filepos: 00001b800 Wake up, honey!
    timestamp: 00:05:02:018, filepos: 00001c800 I gotta go to work.
    timestamp: 00:05:02:035, filepos: 00001d000 <???>
    timestamp: 00:05:04:203, filepos: 00001d800 Look after Clayton, okay?
    timestamp: 00:05:05:947, filepos: 00001e800 I'll be back tonight.
    timestamp: 00:05:07:957, filepos: 00001f800 Bye! Love you.
    timestamp: 00:05:21:295, filepos: 000020800 Hey, Ace! What's up?
    timestamp: 00:05:23:356, filepos: 000021800 Hey, how's it going?
    timestamp: 00:05:24:640, filepos: 000022800 Remember what today is? The 3rd!
    timestamp: 00:05:27:193, filepos: 000023800 Look over there!
    timestamp: 00:05:28:369, filepos: 000024800 Where are they going?
    timestamp: 00:05:28:361, filepos: 000025000 <???>
    timestamp: 00:05:29:946, filepos: 000025800 Let's go see.
    timestamp: 00:05:31:230, filepos: 000026000 I can't, man. I got Clayton.

Note the two "<???>": they are basically split subtitles (with the
previous one), which the dvdsub decoder is now supposed to reconstruct
with a previous commit. But also note that while the first chunk has
increasing timestamps,

    timestamp: 00:05:02:018, filepos: 00001c800
    timestamp: 00:05:02:035, filepos: 00001d000

...it's not the case of the second one (and this is not an exception in the
original file):

    timestamp: 00:05:28:369, filepos: 000024800
    timestamp: 00:05:28:361, filepos: 000025000

For the dvdsub decoder, they need to be "filepos'ed" ordered, but the
FFDemuxSubtitlesQueue is timestamps ordered, which is the reason of the
introduction of a sub sort method in the context, to allow giving
priority to the position, and then the timestamps. With that change, the
dvdsub decoder get fed with ordered packets.

Now the packet size estimation was also broken: the filepos differences
in the vobsub index defines the full data read between two subtitles
chunks, and it is necessary to take into account what is read by the
mpegps_read_pes_header() function since the length returned by that
function doesn't count the size of the data it reads. This is fixed with
the introduction of total_read, and {old,new}_pos. By doing this change,
we can drop the unreliable len16 heuristic and simplify the whole loop.
Note that mpegps_read_pes_header() often read more than one PES packet
(typically in one call it can read 0x1ba and 0x1be chunk along with the
relevant 0x1bd packet), which triggers the "total_read + pkt_size >
psize" check. This is an expected behaviour, which could be avoided by
having a more chunked version of mpegps_read_pes_header().

The latest change is the extraction of each stream into its own
subtitles queue. If we don't do this, the maximum size for a subtitle
chunk is broken, and the previous changes can not work. Having each
stream in a different queue requires some little adjustments in the
seek code of the demuxer.

This commit is only meaningful as a whole change and can not be easily
split. The FATE test changes because it uses the vobsub demuxer.
2013-10-04 07:59:49 +02:00
Clément Bœsch
95cafeb684 avcodec/dvdsubdec: reconstruct incomplete SPU packets. 2013-10-04 07:59:48 +02:00
Clément Bœsch
71e0ae22ac avcodec/dvdsubdec: extract every subtitle in a different file (debug).
Even thought a generic solution would be more relevant, this is
currently helpful while debugging.
2013-10-04 07:59:48 +02:00
Clément Bœsch
41fd6f0796 avcodec/dvdsubdec: factor out rectangles reset. 2013-10-04 07:59:48 +02:00
Diego Biurrun
b2bed9325d cosmetics: Group .name and .long_name together in codec/format declarations 2013-10-03 23:32:01 +02:00
Vittorio Giovara
49fe9c05f9 oggparsevorbis: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-10-03 23:26:09 +02:00
Diego Biurrun
47b6cfc2a0 avformat/output-example: Declare link dependency on libswscale in the Makefile 2013-10-03 23:23:04 +02:00
Diego Biurrun
80fefbed62 x86: cpu: Restore some explanatory comments removed in 7160bb7 2013-10-03 23:00:09 +02:00
Maxim Poliakovski
6a5bfd4d49 atrac: Add missing av_cold
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-10-03 23:00:09 +02:00
Michael Niedermayer
c7fe2a3733 ffplay: avoid direct access to lowres use av_codec_g/set_lowres()
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-03 22:38:54 +02:00
Michael Niedermayer
b72040daad ffplay: avoid direct access to max_lowres use av_codec_get_max_lowres()
This avoids future ABI issues when the field is moved to the end of the
struct.

Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-03 22:38:23 +02:00
Maxim Poliakovski
79cbac8cd4 atrac3: Generalize gain compensation code
Move it to the ATRAC common code, to reuse in the upcoming ATRAC3+ decoder.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-10-03 18:20:01 +02:00
Diego Biurrun
5ce04c14dd Use correct Doxygen syntax 2013-10-03 17:53:51 +02:00
Maxim Poliakovski
4be292dac7 atrac: Move doxygen comments to the header
Also update copyright info and file description.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-10-03 17:53:51 +02:00
Diego Biurrun
be0b4c70ec atrac3: Replace a silly counter variable name with plain 'j' 2013-10-03 17:53:51 +02:00
Paul B Mahol
5f99e6d632 avfilter/vf_pullup: do not ignore frame field order
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-03 02:43:20 +00:00
Michael Niedermayer
4a63c69faa Merge remote-tracking branch 'qatar/master'
* qatar/master:
  atrac3: Generalize gain compensation code

Conflicts:
	libavcodec/atrac.c
	libavcodec/atrac.h
	libavcodec/atrac3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-03 21:46:42 +02:00
Michael Niedermayer
2ece7d94bc Merge commit '5ce04c14dd3dd3670cbdba82275a3a72c716ec6f'
* commit '5ce04c14dd3dd3670cbdba82275a3a72c716ec6f':
  Use correct Doxygen syntax

Conflicts:
	libavcodec/atrac3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-03 21:29:38 +02:00
Michael Niedermayer
16bb8faac6 Merge commit '4be292dac7e7f0586053fcced8d530ccf4ebef29'
* commit '4be292dac7e7f0586053fcced8d530ccf4ebef29':
  atrac: Move doxygen comments to the header

Conflicts:
	libavcodec/atrac.c
	libavcodec/atrac.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-03 21:22:55 +02:00
Michael Niedermayer
c2df95978b Merge commit 'be0b4c70ec40d7f9ac8e416a4379d4a387421184'
* commit 'be0b4c70ec40d7f9ac8e416a4379d4a387421184':
  atrac3: Replace a silly counter variable name with plain 'j'

Conflicts:
	libavcodec/atrac3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-03 21:14:54 +02:00
Michael Niedermayer
6565b1ad97 avcodec/h264_sei: make SEI type truncated message more informative
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-03 20:13:55 +02:00
Michael Niedermayer
fcd19d6c8d avcodec/jpeg2000dec: Zero code and quant style
This prevents future frames from using half initialized/inconsistent
structures
Fixes assertion failure
Fixes Ticket2897

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-03 19:03:56 +02:00
Michael Niedermayer
1c71f185ad avcodec/tiff_common: Improve formating of long arrays
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-03 18:47:50 +02:00
Michael Niedermayer
4d5d905eed ffmpeg: avoid direct access to lowres use av_codec_g/set_lowres()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-03 17:20:53 +02:00
Michael Niedermayer
e57dba0d52 avcodec: add av_codec_get_max_lowres()
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-03 16:33:09 +02:00
Marton Balint
0362cf1a19 avfilter/vf_histogram: add mirrored waveform mode
Added parameter to mirror the waveform (high values are shown on top in column mode)

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-10-02 21:02:59 +00:00
Marton Balint
5b5bb0d81c avfilter/vf_histogram: fix segfault in parade waveform mode for subsampled formats
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-10-02 21:02:54 +00:00
Michael Niedermayer
4c292d5c34 Merge remote-tracking branch 'rbultje/master'
* rbultje/master:
  Full-pixel MC functions.
  VP9 MC (ssse3) optimizations.
  Native VP9 decoder.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-03 13:56:52 +02:00
Michael Niedermayer
5a63fb6693 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: mark deprecated AVCodec.max_lowres for removal on next bump

Conflicts:
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-03 12:04:37 +02:00
Michael Niedermayer
c4f3b55f50 Merge commit '06e7301a2efa8dededecbe6836ee5b59bf7e5e76'
* commit '06e7301a2efa8dededecbe6836ee5b59bf7e5e76':
  vf_interlace: do not process an already interlaced frame

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-03 11:16:57 +02:00
Stefano Sabatini
f5b27b6d5f ffprobe: print stream channel_layout when available
Fix trac ticket #3006.
2013-10-03 09:19:38 +02:00
Ronald S. Bultje
f1548c008f Full-pixel MC functions.
Decoding time of ped1080p.webm goes from 11.3sec to 11.1sec.
2013-10-02 21:03:15 -04:00
Ronald S. Bultje
c07ac8d467 VP9 MC (ssse3) optimizations.
Decoding time of ped1080p.webm goes from 20.7sec to 11.3sec.
2013-10-02 21:03:15 -04:00
Ronald S. Bultje
848826f527 Native VP9 decoder.
Authors: Ronald S. Bultje <rsbultje gmail com>,
         Clement Boesch <u pkh me>
2013-10-02 21:03:11 -04:00
Carl Eugen Hoyos
b5f219c904 Print pix_fmt name on h264 context reinitialisation. 2013-10-03 01:42:23 +02:00
Michael Niedermayer
64327aabb9 ffmpeg: add support to force specific AVCodecs
previously only codec_ids could be forced, which did not allow
forcing a specific implementation like libopenjpeg vs jpeg2000.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-02 22:56:03 +02:00
Michael Niedermayer
5082fcc0e2 avformat: add support to force specific AVCodecs
previously only codec_ids could be forced, which did not allow
forcing a specific implementation like libopenjpeg vs jpeg2000.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-02 22:56:03 +02:00
Michael Niedermayer
f4aec34805 avformat/utils: pass AVFormatContext to find_decoder()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-02 22:56:03 +02:00
Reimar Döffinger
af6e232ccf VC1 VDPAU: Mark missing reference frames as such.
Currently the code passes some nonsense values as
references instead, causing corruption with NVidia's
and assertion failures with Mesa's implementation.
For non-corrupted input this mostly happens in
interlaced bitstreams, e.g.
http://samples.mplayerhq.hu/V-codecs/WMV9/interlaced/480i30__codec_WVC1__mode_2__framerate_29.970__type_2__preproc_17.wmv.
The != VDP_INVALID handle assert does not trigger
(and probably is quite nonsense) because the frames
are initialized to 0.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-10-02 20:51:14 +02:00
Michael Niedermayer
ebb8dd437b mov: fix trun / pseudo_stream_id handling
This fixes simple concatenated h264

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-02 19:59:10 +02:00
Michael Niedermayer
95666b2298 avcodec/imgconvert/get_color_type: fix type for PAL8
Fixes Ticket3008

Fate changes as PAL8 gets used instead of BGR8

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-02 19:59:10 +02:00
Paul B Mahol
2490996f38 avcodec: use designated initializers for bitstream filters
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-02 17:20:29 +00:00
Anton Khirnov
451606f7ce lavc: mark deprecated AVCodec.max_lowres for removal on next bump 2013-10-02 16:41:08 +02:00
Vittorio Giovara
06e7301a2e vf_interlace: do not process an already interlaced frame
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-02 16:40:49 +02:00
Michael Niedermayer
5e253fdfc1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmp: alias rtmp_listen to listen

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-02 14:59:42 +02:00
Michael Niedermayer
c28bca2bde Merge commit 'ad0560fe7491a85c3e71d5a3d6a0443f10b33ab1'
* commit 'ad0560fe7491a85c3e71d5a3d6a0443f10b33ab1':
  mxf: Remove a typo

Conflicts:
	libavformat/mxfdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-02 14:55:18 +02:00
Michael Niedermayer
8aa6ffd8fa Merge commit 'cc41167aede4c101ad17eeffa8f39bb6c23d3dad'
* commit 'cc41167aede4c101ad17eeffa8f39bb6c23d3dad':
  asfdec: Check the return value of asf_read_stream_properties

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-02 14:53:00 +02:00
Clément Bœsch
3841e4510b avfilter/avf_showspectrum: use the name 's' for the pointer to the private context 2013-10-02 11:37:53 +00:00
Paul B Mahol
848a1e6738 avfilter/af_afade: use the name 's' for the pointer to the private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-02 11:37:52 +00:00
Michael Niedermayer
0425fd7eb2 ffmpeg: dont return reserved values
Found-by: Daemon404
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-02 12:59:39 +02:00
Clément Bœsch
e31a239fea avfilter/vf_removelogo: use the name 's' for the pointer to the private context 2013-10-02 10:54:11 +00:00
Paul B Mahol
7d0ce1e59d avfilter/af_silencedetect: use the name 's' for the pointer to the private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-02 10:28:28 +00:00
Maxim Poliakovski
d49f3fa579 atrac3: Generalize gain compensation code
Move it to the ATRAC common code, so it can be reused
in the umpcoming ATRAC3+ decoder.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-02 10:44:02 +02:00
Maxim Poliakovski
4fa2484067 atrac3/decode_gain_control: cosmetics
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-02 10:42:12 +02:00
Maxim Poliakovski
4978be2bc6 atrac3: rename num_gain_data to num_points
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-02 10:37:38 +02:00
Maxim Poliakovski
dc80e250fc atrac3: Rename GainInfo to AtracGainInfo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-02 10:37:05 +02:00
Maxim Poliakovski
746cb9bc53 atrac: limit line length to 80 chars
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-02 10:21:35 +02:00
Maxim Poliakovski
3d80ab015f atrac: Move doxygen comments to the header
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-02 10:21:14 +02:00
Maxim Poliakovski
cc2330fe3a atrac: Update copyright info and file description.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-02 10:19:22 +02:00
Maxim Poliakovski
852241561d atrac: Add missing av_cold.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-02 10:17:50 +02:00
Michael Niedermayer
286beebdc3 avcodec/wmalosslessdec: check block_align
Code copied from wmaprodec

Fixes null pointer dereference
Fixes Ticket3002

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-02 01:24:19 +02:00
Michael Niedermayer
ad8fbddb94 Revert "Merge commit '61c31e4ee7ea79a9e74c0476b81244febf17e6d7'" (configure: Properly set zlib dependencies for all components)
The reverted commit introduced undefined behavior.
undefined in the sense that the evaluation order of the dependencies affects the results

Fixes Ticket2920

This reverts commit c32db6adab, reversing
changes made to 05f1b4e2ec.

Alternative solutions would be to change the dependency solver to handle non trivial
dependencies or to enable zlib by default before the dependency solver, this would
leave a zlib dependency in the libs though then even when no zlib is needed or used.
2013-10-01 23:52:20 +02:00
Paul B Mahol
edadda968c avfilter/vf_histogram: change order of histograms for planar rgb
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-10-01 21:22:22 +00:00
Marton Balint
cac9af68a4 avfilter/vf_histogram: add support for subsampled planar yuv modes in waveform mode
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-10-01 21:04:31 +00:00
Marton Balint
31a8461d64 avfilter/vf_histogram: improve waveform speed
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-10-01 21:04:30 +00:00
Michael Niedermayer
795eaf8d69 avcodec/fraps: increase vlc nb_bits
This should fix decoding the file in:
http://ffmpeg.gusari.org/viewtopic.php?f=16&t=1078
No i dont have the file so i cant test

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-01 20:37:14 +02:00
Thilo Borgmann
d3a03d90a3 configure: fix logic for threads in case of OpenCL is enabled. Fixes ticket 3004.
Signed-off-by: Thilo Borgmann <thilo.borgmann@mail.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-01 18:31:21 +02:00
Luca Barbato
628a17d78a rtmp: alias rtmp_listen to listen
Make it uniform with the other protocols.
2013-10-01 15:42:06 +02:00
Luca Barbato
ad0560fe74 mxf: Remove a typo
Introduced in 93370d1216
2013-10-01 13:43:48 +02:00
Michael Niedermayer
2e2a2d8801 swscale/utils: dont divide by zero with zero vectors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-01 00:27:28 +02:00
wm4
01e3340fb6 swscale: make bilinear scaling the default
Before this commit, sws_init_context() failed with an error if no scaler
was explicitly set.

Defaulting to something reasonable is better behavior.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-30 18:14:58 +02:00
Paul B Mahol
fc0d8cf185 fate: add fieldorder test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-30 16:02:42 +00:00
Stefano Sabatini
8fafaf1834 doc: move sws_dither option description to scaler.texi
That's the more proper place where the scaler options should be
documented.
2013-09-30 16:54:46 +02:00
Stefano Sabatini
d17aaad630 doc/filters/scale: mention and link scaler options 2013-09-30 16:50:44 +02:00
Stefano Sabatini
fd0a1647f2 doc/filters/scale: fix MAN rendering of @ref arguments 2013-09-30 16:43:33 +02:00
Michael Niedermayer
31b6300f4d doc: try to add a link from the vf_scale sws_flags to the scaler docs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-30 16:09:58 +02:00
Paul B Mahol
0a4aea6db9 avfilter/vf_hflip: support slice threading
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-30 13:08:55 +00:00
Paul B Mahol
2a6a3d4317 avfilter/vf_hflip: refactor plane dimensions calculation
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-30 13:08:55 +00:00
Paul B Mahol
862773907a avfilter/vf_rotate: support slice threading
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-30 13:08:55 +00:00
Michael Niedermayer
54197c7aae skip_bits: dont call UPDATE_CACHE
UPDATE_CACHE isnt needed and can cause segfaults

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-30 14:34:12 +02:00
Paul B Mahol
f4ab723a79 cmdutils: print command support in -filters.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-30 10:15:22 +00:00
Michael Niedermayer
0a0b7267b2 configure: fix build with enable-xmm-clobber-test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-30 12:01:17 +02:00
Timothy Gu
8fd8ead23c doc/t2h.init: remove resource-type and distribution meta elements
The W3C validator complains about these.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-09-30 11:56:16 +02:00
Michael Niedermayer
b0b5012e77 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Avoid img_segment_size == 0 in mtv demuxer.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-30 11:09:32 +02:00
Paul B Mahol
cd1b22d8e8 avfilter/dualinput: simplify
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-30 08:47:40 +00:00
Martin Storsjö
cc41167aed asfdec: Check the return value of asf_read_stream_properties
This makes sure errors in setting stream parameters are passed
on to the caller. This avoids successfully opening files while
some parameters aren't filled in properly.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-30 10:48:58 +03:00
Carl Eugen Hoyos
e34ba4723e Avoid img_segment_size == 0 in mtv demuxer.
Fixes ticket #3011.
2013-09-30 07:55:23 +02:00
Michael Niedermayer
5c7d86cbde Merge remote-tracking branch 'qatar/master'
* qatar/master:
  omadec: fix bitrate for ATRAC3+ streams

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-30 02:21:41 +02:00
Michael Niedermayer
7a28a9f68e Merge commit '23d0fdcf6f30843fc3f14084d80581f1ca10f1f3'
* commit '23d0fdcf6f30843fc3f14084d80581f1ca10f1f3':
  Add support for multichannel ATRAC3+ streams.

Conflicts:
	libavformat/oma.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-30 02:15:36 +02:00
Michael Niedermayer
c7fae9081d Merge commit '93370d12164236d59645314871a1d6808b2a8ddb'
* commit '93370d12164236d59645314871a1d6808b2a8ddb':
  mxfdec: set audio timebase to 1/samplerate

Conflicts:
	libavformat/mxfdec.c
	tests/ref/fate/mxf-demux
	tests/ref/seek/lavf-mxf
	tests/ref/seek/lavf-mxf_d10

See: 83cab07a4c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-30 02:12:42 +02:00
Michael Niedermayer
bbe50a8001 Merge commit 'ff07ec143ebd3833fd5a3f4b6c00474ac523a31f'
* commit 'ff07ec143ebd3833fd5a3f4b6c00474ac523a31f':
  pcx: Return an error on broken palette if err_detect is set to 'explode'

Conflicts:
	libavcodec/pcx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-30 01:54:59 +02:00
Michael Niedermayer
c955bac7d5 Merge commit 'd1d99e3befea5d411ac3aae72dbdecce94f8b547'
* commit 'd1d99e3befea5d411ac3aae72dbdecce94f8b547':
  pcx: Check the packet size before assuming it fits a palette

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-30 01:49:21 +02:00
Michael Niedermayer
1eead87766 Merge commit '7ba0cedbfeff5671b264d1d7e90777057b5714c6'
* commit '7ba0cedbfeff5671b264d1d7e90777057b5714c6':
  rpza: Fix a buffer size check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-30 01:42:33 +02:00
Michael Niedermayer
1ad36551ec Merge commit 'aa0dd52434768da64f1f3d8ae92bcf980c1adffc'
* commit 'aa0dd52434768da64f1f3d8ae92bcf980c1adffc':
  xxan: Disallow odd width

See: 77693c541a
See: 8ad9b48c9b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-30 01:41:17 +02:00
Michael Niedermayer
7d7fb61e0d Merge commit 'fc739b3eefa0b58d64e7661621da94a94dbc8a82'
* commit 'fc739b3eefa0b58d64e7661621da94a94dbc8a82':
  xan: Only read within the data that actually was initialized

Conflicts:
	libavcodec/xan.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-30 01:21:30 +02:00
Michael Niedermayer
b6dfb82913 Merge commit '30db94dc399f6e4ef8905049d9b740556f0fce47'
* commit '30db94dc399f6e4ef8905049d9b740556f0fce47':
  xan: Use bytestream2 to limit reading to within the buffer

Conflicts:
	libavcodec/xan.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-30 01:12:15 +02:00
Michael Niedermayer
a612bb3099 Merge commit '9fb0de86b49e9fb0709a8ad1e1875e35da841887'
* commit '9fb0de86b49e9fb0709a8ad1e1875e35da841887':
  pcx: Consume the whole packet if giving up due to missing palette

Conflicts:
	libavcodec/pcx.c

See: b4e516e30e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-30 01:00:50 +02:00
Michael Niedermayer
9834874f8c Merge commit 'a81cad8f86d1feb7e4bfae29e43f3e994935a5c7'
* commit 'a81cad8f86d1feb7e4bfae29e43f3e994935a5c7':
  pngdec: Stop trying to decode once inflate returns Z_STREAM_END

Conflicts:
	libavcodec/pngdec.c

See: 65bf9a44d7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-30 00:40:17 +02:00
Michael Niedermayer
143a19f5c7 Merge commit 'c231987662194d009dd91bfc57c678e0e70ca161'
* commit 'c231987662194d009dd91bfc57c678e0e70ca161':
  mov: Make sure the read sample count is nonnegative

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-30 00:32:01 +02:00
Michael Niedermayer
ccb6b056df Merge commit '640a2427aafa774b83316b7a8c5c2bdc28bfd269'
* commit '640a2427aafa774b83316b7a8c5c2bdc28bfd269':
  bfi: Add some very basic sanity checks for input packet sizes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-30 00:13:36 +02:00
Michael Niedermayer
a6b79bb2b1 Merge commit '9fc7184d1a9af8d97b3fc5c2ef9d0a647d6617ea'
* commit '9fc7184d1a9af8d97b3fc5c2ef9d0a647d6617ea':
  bfi: Avoid divisions by zero

See: 99a8552dae
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-30 00:12:33 +02:00
Michael Niedermayer
7057cc861d Merge commit 'a9221e39600a31ee13e736e9e47743cde23f0280'
* commit 'a9221e39600a31ee13e736e9e47743cde23f0280':
  electronicarts: Add more sanity checking for the number of channels

Note: This check is probably unnecessary
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-29 23:52:07 +02:00
Michael Niedermayer
5badcfe220 Merge commit 'd07aa3f02b73ab1371c13ac7898338380ca0932b'
* commit 'd07aa3f02b73ab1371c13ac7898338380ca0932b':
  riffdec: Add sanity checks for the sample rate

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-29 23:41:16 +02:00
Clément Bœsch
a89e9ad1c8 swr: fix example code and doxy indent. 2013-09-29 23:37:46 +02:00
Clément Bœsch
565fd3cc1a doc/faq: add @command{} in the tool debug entry. 2013-09-29 23:31:12 +02:00
Clément Bœsch
2e798c6ce0 doc/faq: remove indent in examples.
CSS should take care of this.
2013-09-29 23:31:12 +02:00
Clément Bœsch
eafb9c52e8 doc/faq: remove Delphi/Pascal entry.
Link is dead.
2013-09-29 23:31:12 +02:00
Clément Bœsch
e6273592e4 doc/faq: rework r_frame_rate entry. 2013-09-29 23:31:12 +02:00
Michael Niedermayer
2f8418b584 Merge commit '28ff439efd2362fb21e1a78610737f2e26a72d8f'
* commit '28ff439efd2362fb21e1a78610737f2e26a72d8f':
  mvi: Add sanity checking for the audio frame size

Conflicts:
	libavformat/mvi.c

See: ea1d8465e6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-29 23:24:27 +02:00
Michael Niedermayer
9e58d46edf Merge commit '59480abce7e4238e22b3a4a904a9fe6abf4e4188'
* commit '59480abce7e4238e22b3a4a904a9fe6abf4e4188':
  alac: Do bounds checking of lpc_order read from the bitstream

See: fd4f4923cc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-29 23:17:45 +02:00
Michael Niedermayer
17049bff64 Merge commit 'adc09136a4a63b152630abeacb22c56541eacf60'
* commit 'adc09136a4a63b152630abeacb22c56541eacf60':
  xwma: Avoid division by zero

Conflicts:
	libavformat/xwma.c

See: a3cb7f992f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-29 22:59:49 +02:00
Michael Niedermayer
3a3ebc7c7d Merge commit '8d07258bb6063d0780ce2d39443d6dc6d8eedc5a'
* commit '8d07258bb6063d0780ce2d39443d6dc6d8eedc5a':
  avidec: Make sure a packet is large enough before reading its data

Conflicts:
	libavformat/avidec.c

See: 028cc42a16
Note: data!=NULL implies that the allocated array is at least FF_INPUT_BUFFER_PADDING_SIZE large
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-29 22:56:15 +02:00
Michael Niedermayer
b24f7cf950 Merge commit '68ff9981283a56c731f00c2ee7901103665092fc'
* commit '68ff9981283a56c731f00c2ee7901103665092fc':
  vqf: Make sure the bitrate is in the valid range

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-29 22:42:31 +02:00
Michael Niedermayer
554c22c710 Merge commit '9277050e2918e0a0df9689721a188a604d886616'
* commit '9277050e2918e0a0df9689721a188a604d886616':
  vqf: Make sure sample_rate is set to a valid value

See: e481ba2ed7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-29 22:35:06 +02:00
Maxim Poliakovski
487b54104a omadec: fix bitrate for ATRAC3+ streams
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-09-29 21:54:51 +02:00
Maxim Poliakovski
23d0fdcf6f Add support for multichannel ATRAC3+ streams.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-09-29 21:52:57 +02:00
Anton Khirnov
93370d1216 mxfdec: set audio timebase to 1/samplerate
Fixes sync in some samples (e.g. bugs 7581 and 8374 in VLC).
Based on a commit by Matthieu Bouron <matthieu.bouron@gmail.com>

Reported-by: Jean-Baptiste Kempf <jb@videolan.org>
CC: libav-stable@libav.org
2013-09-29 21:50:30 +02:00
Michael Niedermayer
4be0c6ed20 avcodec/tiff_common: fix bprint max sizes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-29 21:28:22 +02:00
Paul B Mahol
61274193e3 avfilter/vf_rotate: use vsub for output plane height calculation
Output plane height used horizontal instead of vertical subsampling.
This is just cosmetic change as filter does not support formats where
vertical subsampling does not match horizontal one.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-29 19:24:27 +00:00
Martin Storsjö
ff07ec143e pcx: Return an error on broken palette if err_detect is set to 'explode'
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-29 21:05:16 +03:00
Martin Storsjö
d1d99e3bef pcx: Check the packet size before assuming it fits a palette
This fixes reads out of bounds.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-29 20:03:12 +03:00
Martin Storsjö
7ba0cedbfe rpza: Fix a buffer size check
We read 2 bytes for 15 out of 16 pixels, therefore we need to
have at least 30 bytes, not 16.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-29 20:02:42 +03:00
Martin Storsjö
aa0dd52434 xxan: Disallow odd width
Decoded data is always written in pairs within this decoder.
This fixes writes out of bounds.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-29 20:02:32 +03:00
Martin Storsjö
fc739b3eef xan: Only read within the data that actually was initialized
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-29 20:02:19 +03:00
Martin Storsjö
30db94dc39 xan: Use bytestream2 to limit reading to within the buffer
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-29 20:01:50 +03:00
Martin Storsjö
9fb0de86b4 pcx: Consume the whole packet if giving up due to missing palette
Previously, we returned 0, meaning successful decoding but 0
bytes consumed, leading to an infinite loop.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-29 20:01:29 +03:00
Martin Storsjö
a81cad8f86 pngdec: Stop trying to decode once inflate returns Z_STREAM_END
If the input buffer contains more data after the deflate stream,
the loop previously left running infinitely, with inflate returning
Z_STREAM_END.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-29 20:01:03 +03:00
Martin Storsjö
c231987662 mov: Make sure the read sample count is nonnegative
This avoids setting a negative number of frames, ending up with a
negative average frame rate.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-29 20:00:45 +03:00
Martin Storsjö
640a2427aa bfi: Add some very basic sanity checks for input packet sizes
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-29 19:59:32 +03:00
Martin Storsjö
9fc7184d1a bfi: Avoid divisions by zero
If a zero-length video packet is to be returned, just return
AVERROR(EAGAIN) and switch back to the audio stream.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-29 19:58:56 +03:00
Martin Storsjö
a9221e3960 electronicarts: Add more sanity checking for the number of channels
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-29 19:58:41 +03:00
Martin Storsjö
d07aa3f02b riffdec: Add sanity checks for the sample rate
This avoids a division by zero for G726.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-29 19:58:18 +03:00
Martin Storsjö
28ff439efd mvi: Add sanity checking for the audio frame size
This avoids a division by zero.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-29 19:57:43 +03:00
Martin Storsjö
59480abce7 alac: Do bounds checking of lpc_order read from the bitstream
In lpc_prediction(), we write up to array element 'lpc_order' in
an array allocated to hold 'max_samples_per_frame' elements.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-29 19:57:10 +03:00
Martin Storsjö
adc09136a4 xwma: Avoid division by zero
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-29 19:56:44 +03:00
Martin Storsjö
8d07258bb6 avidec: Make sure a packet is large enough before reading its data
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-29 19:56:22 +03:00
Paul B Mahol
5a47f12390 doc/demuxers: fix image2 examples
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-29 16:36:25 +00:00
Martin Storsjö
68ff998128 vqf: Make sure the bitrate is in the valid range
Even if the sample rate is valid, an invalid bitrate could
pass the mode combination test below.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-29 18:46:39 +03:00
Martin Storsjö
9277050e29 vqf: Make sure sample_rate is set to a valid value
This avoids divisions by zero later (and possibly assertions in
time base scaling), since an invalid rate_flag combined with an
invalid bitrate below could pass the mode combination test.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-29 18:46:21 +03:00
Michael Niedermayer
f2eb474a5a avformat/mpegenc: check, warn and clip muxrate to syntactical possible values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-29 17:02:57 +02:00
Michael Niedermayer
8c1253c934 avformat/mpegenc: check, warn and clip VBV value to within syntactically possible values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-29 17:02:06 +02:00
Michael Niedermayer
28d35dbe9f avformat/mpegenc: fix muxrates AVOption maximum value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-29 17:00:54 +02:00
Michael Niedermayer
a0fec71ebd avformat/mxfenc: instance number is just 24 bits
Fixes assertion failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-29 14:33:40 +02:00
Michael Niedermayer
5c4fc51d9b Revert "fate: Force diff into text mode"
This should fix AIX and should no longer be needed

This reverts commit b78e75ebc9.
2013-09-29 12:19:48 +02:00
Michael Niedermayer
e40c96513e avcodec/exif: print bytes and undefined types as scalar lists
This prevents odd characters from ending in the fate test

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-29 12:19:47 +02:00
Michael Niedermayer
7859e89ff0 avcodec/tiff_common: add ff_tadd_bytes_metadata()
The le argument is passed so the function has the same prototype as the
other similar functions. It is otherwise unused

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-29 12:19:47 +02:00
Carl Eugen Hoyos
d87ff55502 Remove an incorrect and unneeded assert in the amr demuxer.
Asserting a specific codec is not correct since libavformat
allows forcing a codec, an equivalent check is in the
following line.

Fixes ticket #3001.
2013-09-29 07:11:56 +02:00
Ronald S. Bultje
face578d56 Rewrite emu_edge functions to have separate src/dst_stride arguments.
This allows supporting files for which the image stride is smaller than
the max. block size + number of subpel mc taps, e.g. a 64x64 VP9 file
or a 16x16 VP8 file with -fflags +emu_edge.
2013-09-28 20:28:08 -04:00
Ronald S. Bultje
f574b4da56 vp8: use 2 registers for dst_stride and src_stride in neon bilin filter. 2013-09-28 20:25:29 -04:00
Matthieu Bouron
c461265a76 lavf/mxfdec: add j2k codec to intra only codecs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-28 22:57:52 +02:00
Michael Niedermayer
2b834a0605 avcodec/huffman: Allow specifying nb_bits to ff_huff_build_tree()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-28 20:33:56 +02:00
Michael Niedermayer
a63b479d11 avformat/utils: factor find_decoder() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-28 18:11:13 +02:00
Paul B Mahol
07da0854fe avformat/vfq: fix deadlock in vqf_read_header()
Fixes #3010.
Reported-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-28 15:36:54 +00:00
Paul B Mahol
88c8ed18c9 avfilter/dualinput: remove unused variable
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-28 14:33:30 +00:00
Michael Bradshaw
f46a3e3d6e libopenjpeg: fix encoding of odd sized subsampled images
Signed-off-by: Michael Bradshaw <mjbshaw@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-28 15:04:48 +02:00
Ronald S. Bultje
c341f734e5 Convert multiplier for MV from int to ptrdiff_t.
This prevents emulated_edge_mc from not undoing mvy*stride-related
integer overflows.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-28 11:28:09 +02:00
Michael Niedermayer
7381d31f22 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavfi: allow user-provided execute() callbacks

Conflicts:
	libavfilter/avfilter.h
	libavfilter/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-28 11:02:01 +02:00
Michael Niedermayer
945c7e399a Merge commit '38e15df1489d86c016515223ee693e7d0326c56a'
* commit '38e15df1489d86c016515223ee693e7d0326c56a':
  avframe: note that linesize is not the usable data size

Conflicts:
	libavutil/frame.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-28 10:47:43 +02:00
Anton Khirnov
0767bfd199 lavfi: allow user-provided execute() callbacks 2013-09-28 08:06:19 +02:00
Anton Khirnov
38e15df148 avframe: note that linesize is not the usable data size 2013-09-28 07:35:50 +02:00
Michael Niedermayer
3e0c78bac6 avcodec/imc: Check flcoeffs5
Fixes infinite loop
Fixes Ticket2996

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-27 23:13:29 +02:00
Paul B Mahol
c2d1943029 fate: add phase test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-27 18:57:55 +00:00
Paul B Mahol
b890198b66 avfilter: add av_cold to init()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-27 18:51:49 +00:00
Michael Niedermayer
f7bea731d9 avcodec/mlpdec: Fail if the input is too small
This fixes a infinite loop
Fixes Ticket2986

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-27 20:12:37 +02:00
Michael Niedermayer
9790a03e67 avformat/mxfdec: check sample size more completely
Fixes division by zero
Fixes Ticket2992

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-27 19:09:15 +02:00
Georg Martius
e064d0aaf6 avfilter/vidstabtransform: update optzoom range values for recent vid.stab update.
Signed-off-by: Georg Martius <martius@mis.mpg.de>
2013-09-27 16:48:31 +00:00
Michael Niedermayer
df21537dfb avformat/tls: fix {} error for the GNUTLS case
Found-by:" Geek.Song" <ffmpeg@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-27 15:59:19 +02:00
Paul B Mahol
191ee4aefb avfilter/af_ladspa: set output channel layout for passthrough case
For cases when plugin does not return any samples we just return
input samples. Previously channel layout for outlink was not set.
Set it explicitly instead.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-27 12:51:08 +00:00
Paul B Mahol
110a2f446d avfilter/af_ladspa: allow changing controls dynamically
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-27 12:49:55 +00:00
Paul B Mahol
4d86a945df avfilter/af_ladspa: refactor code setting input control ports values
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-27 12:49:54 +00:00
Michael Niedermayer
d8d235ffe9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lxf: check the nb_streams instead of relying on padding

Conflicts:
	libavformat/lxfdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-27 13:27:31 +02:00
Michael Niedermayer
fc424f37a3 Merge commit 'a529fa2f4dd3292ba7d9cd3e6ba76425b1ba7aef'
* commit 'a529fa2f4dd3292ba7d9cd3e6ba76425b1ba7aef':
  lxf: remove deplanarization hack

See: 37e2a9783f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-27 13:10:18 +02:00
Michael Niedermayer
b654aa6beb Merge commit '7e52080cb18332cb1da9fe133498750b6b4b0fb3'
* commit '7e52080cb18332cb1da9fe133498750b6b4b0fb3':
  pcm: support 24-bit/32-bit little-endian planar

Conflicts:
	doc/general.texi
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/avcodec.h
	libavcodec/pcm.c
	libavcodec/version.h
	libavformat/nut.c

See: 467dfd5dfa
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-27 13:05:05 +02:00
Michael Niedermayer
e82071e727 Merge commit '839df90c718dcab9b9e91ca3c7e73479b3e8103c'
* commit '839df90c718dcab9b9e91ca3c7e73479b3e8103c':
  lxf: Support 16-channel files
  lxf: Support version 1 files

Conflicts:
	libavformat/lxfdec.c

See: e701b0cf75
See: 1a06d6dd86
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-27 12:31:15 +02:00
Michael Niedermayer
72eddc10fa Merge commit 'd872fb0f7ff2ff0ba87f5ccf6a1a55ca2be472c9'
* commit 'd872fb0f7ff2ff0ba87f5ccf6a1a55ca2be472c9':
  lavf: Reset the entry count and allocation size variables on av_reallocp failures

Conflicts:
	libavformat/avienc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-27 12:13:41 +02:00
Michael Niedermayer
328a5b93d3 Merge commit '06ebc0bf9a6401733a4ce1310325de19f631819a'
* commit '06ebc0bf9a6401733a4ce1310325de19f631819a':
  lavf: Allocate arrays with av_realloc if they will be realloced later

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-27 11:45:37 +02:00
Michael Niedermayer
47c5c942f8 Merge commit '1af78b865b66acb8020c54262f12aa41ad47e05c'
* commit '1af78b865b66acb8020c54262f12aa41ad47e05c':
  rtpdec_qt: Add an accidentally removed allocation return value check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-27 11:38:49 +02:00
Michael Niedermayer
f31c36e552 Merge commit '705b748e8d8612385c96428ae36ed0d42a170d93'
* commit '705b748e8d8612385c96428ae36ed0d42a170d93':
  tls: Add support for listen mode

Conflicts:
	doc/protocols.texi
	libavformat/tls.c
	libavformat/version.h

See: 4f4eb380f0
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-27 11:33:19 +02:00
Michael Niedermayer
689a1bd917 Merge commit '5c53bf7aaf03748464cbf978bffe7ffdb71112b1'
* commit '5c53bf7aaf03748464cbf978bffe7ffdb71112b1':
  http: Pass options through to the nested protocol

Conflicts:
	libavformat/http.c

See: b6f435fbc8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-27 10:38:04 +02:00
Michael Niedermayer
e6e71fd7b5 Merge commit '8b09d917e7dc7d7f2ace31419f802d4ff518236c'
* commit '8b09d917e7dc7d7f2ace31419f802d4ff518236c':
  tls: Add options for verifying the peer certificate

Conflicts:
	doc/protocols.texi
	libavformat/tls.c
	libavformat/version.h

See: b2460858f6
See: 973a758f52
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-27 09:33:28 +02:00
Luca Barbato
5c349ad08a lxf: check the nb_streams instead of relying on padding
Remove the now unneeded stream pointer while at it.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-09-27 01:33:46 +02:00
Paul B Mahol
a529fa2f4d lxf: remove deplanarization hack
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-09-27 01:33:46 +02:00
Paul B Mahol
7e52080cb1 pcm: support 24-bit/32-bit little-endian planar
Used by LXF.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-09-27 01:33:45 +02:00
Carl Eugen Hoyos
839df90c71 lxf: Support 16-channel files
Reported, analyzed and tested by Gabriel Gerard.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-09-27 01:33:45 +02:00
Reimar Döffinger
779951cd2c lxf: Support version 1 files
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-09-27 01:33:45 +02:00
Martin Storsjö
d872fb0f7f lavf: Reset the entry count and allocation size variables on av_reallocp failures
When av_reallocp fails, the associated variables that keep track of
the number of elements in the array (and in some cases, the
separate number of allocated elements) need to be reset.

Not all of these might technically be needed, but it's better to
reset them if in doubt, to make sure variables don't end up
conflicting.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-26 23:14:03 +03:00
Martin Storsjö
06ebc0bf9a lavf: Allocate arrays with av_realloc if they will be realloced later
Pointers returned from av_malloc can't in general be passed
to av_realloc.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-26 23:13:53 +03:00
Martin Storsjö
1af78b865b rtpdec_qt: Add an accidentally removed allocation return value check
This check was mistakenly removed in 5626f994f.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-26 23:13:50 +03:00
Martin Storsjö
705b748e8d tls: Add support for listen mode
Also add options for specifying a certificate and key, which can
be used both when operating as client and as server.

Partially based on a patch by Peter Ross.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-26 23:13:35 +03:00
Martin Storsjö
5c53bf7aaf http: Pass options through to the nested protocol
When passing a dict to the nested protocol, it will consume
the used options from it, so a separate copy needs to be used
when reopening the connection multiple times.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-26 23:13:16 +03:00
Martin Storsjö
8b09d917e7 tls: Add options for verifying the peer certificate
A file containing the trusted CA certificates needs to be
supplied via the ca_file AVOption, unless the TLS library
has got a system default file/database set up.

This doesn't check the hostname of the peer certificate with
openssl, which requires a non-trivial piece of code for
manually matching the desired hostname to the string provided
by the certificate, not provided as a library function.

That is, with openssl, this only validates that the received
certificate is signed with the right CA, but not that it is
the actual server we think we're talking to.

Verification is still disabled by default since we can't count
on a proper CA database existing at all times.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-26 23:13:06 +03:00
Michael Niedermayer
f31011e9ab avcodec/parser: reset indexes on realloc failure
Fixes Ticket2982

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-26 21:03:48 +02:00
Michael Niedermayer
5dc6c0ea9e avformat/mpegts: check avio_tell() return code before using it
Fixes Ticket2962

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-26 16:43:55 +02:00
Michael Niedermayer
e024953722 avformat/wavdec: check smv_frames_per_jpeg
Values outside would not be possible due to limitations of jpeg itself

Fixes very long running loop
Fixes Ticket2977

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-26 14:56:32 +02:00
Michael Niedermayer
cd05c4060a avformat/mpegenc: minor simplification / use AV_WB16()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-26 13:36:45 +02:00
Michael Niedermayer
1906e00030 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  g2meet: Respect cursor_stride properly everywhere

See: c88ac1e023
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-26 10:21:36 +02:00
Michael Niedermayer
32cde96296 avformat/mpegenc: Better heuristic for ordering packets
This prevents underflows in quite constrained cases

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-26 03:13:38 +02:00
Michael Niedermayer
930406325c avformat/mpegenc: Better default for max_delay
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-26 03:12:20 +02:00
Michael Niedermayer
b637118086 avformat/mpegenc: change assert to av_assert0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-26 02:16:12 +02:00
Michael Niedermayer
ddd0e23d58 avformat/mpegenc: improve field names in underflow error message
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-26 01:07:24 +02:00
Michael Niedermayer
851a6e2f1a avcodec/wmalosslessdec: Fix return code for invalid buffer sizes
Fixes infinite loop
Fixes Ticket2979

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-25 21:50:27 +02:00
Paul B Mahol
f5498ef38d avcodec/flicvideo: fix infinite loops
Fixes #2995.
Reported-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-25 19:45:49 +00:00
Michael Niedermayer
c99d27287d avcodec/wmaprodec: check that there are input bits left in decode_subframe_length()
Fixes infinite loop
Fixes Ticket2987

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-25 20:10:24 +02:00
Michael Niedermayer
45f0623ae3 avcodec/lagarith: check scaled probabilities
Prevents infinite loop
Fixes Ticket2988

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-25 18:26:13 +02:00
Kostya Shishkov
4370f65be8 g2meet: Respect cursor_stride properly everywhere
This fixes a regression with rgb cursors since b1e46988.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-25 17:42:01 +03:00
Michael Niedermayer
ab6fbe8206 avcodec/cabac: remove h264_lps_state
The only use case of it was the selftest code, and there the slightly more
complex indexing that is needed after its removial doesnt matter.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-25 16:30:25 +02:00
Michael Niedermayer
c3c6999ea1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc doxy: document that avcodec_flush_buffers() invalidates decoded frames

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-25 11:02:32 +02:00
Michael Niedermayer
9b3d4258d9 Merge commit '2725f2d40315b56f17c5dffe39dda7d94786302d'
* commit '2725f2d40315b56f17c5dffe39dda7d94786302d':
  doc/filters: fix an option name in the unsharp docs

Conflicts:
	doc/filters.texi

See: b7b72963e0
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-25 10:53:32 +02:00
Michael Niedermayer
4a89868c5f Merge commit 'cab8c5f8e140c96ba3725ab709d823abfd1e31a5'
* commit 'cab8c5f8e140c96ba3725ab709d823abfd1e31a5':
  h264: do not reinitialize the global cabac tables at each slice header

See: 1e2e2c8095
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-25 10:25:17 +02:00
Michael Niedermayer
b0b66269f4 Merge commit 'e880418660c80e2f12a123e131975cdb6b12cd13'
* commit 'e880418660c80e2f12a123e131975cdb6b12cd13':
  cabac: remove write-only h264_mps_state[]

Conflicts:
	libavcodec/cabac.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-25 10:02:09 +02:00
Michael Niedermayer
57070d9892 Merge commit '668643b9239c70b777aea322eab411ebc960d9a0'
* commit '668643b9239c70b777aea322eab411ebc960d9a0':
  matroskadec: check av_strdup() when setting defaults

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-25 09:39:24 +02:00
Michael Niedermayer
65bf9a44d7 avcodec/pngdec: check for stream end in png_decode_idat()
Fix infinite loop
Fix Ticket2978

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-25 02:17:36 +02:00
Michael Niedermayer
bb4b041df3 avcodec/mpegvideo_enc: check qmin/qmax
Fixes Ticket2990

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-25 00:44:17 +02:00
Michael Niedermayer
c88ac1e023 avcodec/g2meet: fix regression with rgb cursors
Fixes Ticket2972

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-25 00:25:23 +02:00
Anton Khirnov
5f4b1b1cbd lavc doxy: document that avcodec_flush_buffers() invalidates decoded frames 2013-09-24 17:34:00 +02:00
Anton Khirnov
2725f2d403 doc/filters: fix an option name in the unsharp docs 2013-09-24 17:22:11 +02:00
Michael Niedermayer
dcc7686ae7 avcodec/mpegvideo: drop emu edge check from chroma_4mv_motion_lowres()
This is in line with the other functions

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-24 17:15:24 +02:00
Anton Khirnov
cab8c5f8e1 h264: do not reinitialize the global cabac tables at each slice header 2013-09-24 17:13:52 +02:00
Anton Khirnov
e880418660 cabac: remove write-only h264_mps_state[] 2013-09-24 17:13:17 +02:00
Anton Khirnov
668643b923 matroskadec: check av_strdup() when setting defaults 2013-09-24 17:11:50 +02:00
Alex Smith
2599a62fbb ffhash: Change size to an int
This fixes compilation with MSVC and ICL, and makes ffhash consistent
with how the rest of the codebase uses read().

Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-24 16:29:18 +02:00
Michael Niedermayer
4fdf2fa94a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: add support for interleaved chroma formats to libx264.

Conflicts:
	libavcodec/libx264.c

See: 283fb76d3d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-24 15:53:50 +02:00
Michael Niedermayer
1fb0d96114 Merge commit 'a454dec19aa6666b555deec431bc42eda391d7b6'
* commit 'a454dec19aa6666b555deec431bc42eda391d7b6':
  pixdesc: fix NV20* descriptors
  h264_sei: check SEI size

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-24 15:51:08 +02:00
Michael Niedermayer
d195e6e410 Merge commit '71cabb521ac397db3903011d2de7afd3e0fc7ab6'
* commit '71cabb521ac397db3903011d2de7afd3e0fc7ab6':
  h264: do not discard NAL_SEI when skipping frames

Conflicts:
	libavcodec/h264.c

See: 7d75fb381b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-24 15:38:34 +02:00
Michael Niedermayer
af2bb83dff Merge commit 'edaba18021e4793116f0f266e65077578a5e742e'
* commit 'edaba18021e4793116f0f266e65077578a5e742e':
  h264: log extradata skip only for non-ignored NALs

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-24 15:30:21 +02:00
Michael Niedermayer
9c2e31c3b3 Merge commit '26179964ff3fa1173e6f512c5735ba8223e2395d'
* commit '26179964ff3fa1173e6f512c5735ba8223e2395d':
  h264_sei: log unknown sei messages

Conflicts:
	libavcodec/h264_sei.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-24 15:03:32 +02:00
Michael Niedermayer
0ebc372856 Merge commit '5f24fe82e5fcf227abb5ebf62aa9bc246fda8c0d'
* commit '5f24fe82e5fcf227abb5ebf62aa9bc246fda8c0d':
  mpegvideo: Initialize chroma_*_shift and codec_tag even if the size is 0

Conflicts:
	libavcodec/mpegvideo.c

The chroma_*_shift and codec_tag code was not under a size!=0 check in ffmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-24 14:55:14 +02:00
Michael Niedermayer
ab0b1fdd17 Merge commit 'd6d27f3e58e6980bce4a490e7d8cc0f6a84521fe'
* commit 'd6d27f3e58e6980bce4a490e7d8cc0f6a84521fe':
  configure: Enable -Qansi-alias for icl 14+

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-24 14:35:52 +02:00
Kieran Kunhya
58894ab3f9 lavc: add support for interleaved chroma formats to libx264.
Interleaved chroma is x264's native format

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-09-24 14:15:04 +02:00
Michael Niedermayer
a454dec19a pixdesc: fix NV20* descriptors
They were inconsistent (overlapping fields and wrong sizes)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-09-24 14:02:10 +02:00
Rainer Hochecker
71cabb521a h264: do not discard NAL_SEI when skipping frames
Setting AVDISCARD_NONREF (e.g. after flushing) resulted in 100% dropped frames.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-09-24 13:24:29 +02:00
Michael Niedermayer
84df6d6a85 h264_sei: check SEI size
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-09-24 13:24:29 +02:00
Vittorio Giovara
edaba18021 h264: log extradata skip only for non-ignored NALs
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-09-24 13:24:28 +02:00
Vittorio Giovara
26179964ff h264_sei: log unknown sei messages
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-09-24 13:24:28 +02:00
Martin Storsjö
5f24fe82e5 mpegvideo: Initialize chroma_*_shift and codec_tag even if the size is 0
This fixes breakage in a few fate tests on certain setups
(that for some reason didn't break on OS X) after the previous
commit (8812a8057). Currently, some video streams are initialized
in ff_MPV_common_init with width/height set at 0 and only changed
to a proper video size with ff_MPV_common_frame_size_change later.

The breakage was diagnosed by Anton Khirnov.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-24 14:02:23 +03:00
Alex Smith
d6d27f3e58 configure: Enable -Qansi-alias for icl 14+
Qansi-alias worked on 12.x, then caused miscompilation on 13.x, but now
works again passing all FATE tests for icl version 14.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-09-24 11:29:00 +02:00
Michael Niedermayer
17513f4fb3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h263dec: Remove a hack that can cause infinite loops

Conflicts:
	libavcodec/h263dec.c

See: d2981b8ef1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-24 10:59:22 +02:00
Michael Niedermayer
15d4965239 avcodec/mjpegenc: dont store DQT for LJPEG
This may improve compatibility of lgpegs generated by libavcodec
also encoded ljpegs become slightly smaller

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-24 01:21:03 +02:00
Michael Niedermayer
fb45de779c avformat/omadec: simplify checks in nprobe()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-24 00:29:02 +02:00
Lukasz Marek
23ad4d6f58 doc/outdevs: add sdl window_fullscreen option
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 23:37:14 +02:00
Martin Storsjö
8812a8057f h263dec: Remove a hack that can cause infinite loops
The actual usefulness of the hack is not known, and it does cause
infinite loops with some broken input files.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-23 23:14:49 +03:00
Ronald S. Bultje
34b429d5ba vp8: fix PPC assembly and bilinear C code to work if src_stride != dst_stride.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 15:23:53 +02:00
Michael Niedermayer
3f3867ca27 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavfi/dualinput: reimplement on top of framesync.
  lavfi: add an API to synchronize multiple video inputs.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 15:04:09 +02:00
Michael Niedermayer
356031348c avcodec/vc1dec: fix propagating error codes from various functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 14:57:30 +02:00
Michael Niedermayer
a51f3b53fe avcodec/vc1dec: Fix return code on malloc() failure from ff_vc1_decode_init_alloc_tables()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 14:54:57 +02:00
Michael Niedermayer
552945efe6 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenchint: Clear size and len if the realloc failed

Conflicts:
	libavformat/movenchint.c

See: 63621762ec
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 14:52:20 +02:00
Michael Niedermayer
8c766228c1 Merge commit 'f2b00a5372bfa1d82a8ab99cb8eafac8a9473494'
* commit 'f2b00a5372bfa1d82a8ab99cb8eafac8a9473494':
  movenc: Return a proper error code for invalid combinations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 14:40:18 +02:00
Michael Niedermayer
50138a9235 Merge commit '23d6ba2c44540eb39c6880e4cbd527d297d264a9'
* commit '23d6ba2c44540eb39c6880e4cbd527d297d264a9':
  vc1dec: Check the error handling flags on slice/field header decode errors

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 14:34:36 +02:00
Michael Niedermayer
eeeb3c8fa3 Merge commit 'f7e616959aff8706edccdae763c24c897c449f6f'
* commit 'f7e616959aff8706edccdae763c24c897c449f6f':
  electronicarts: Check packet sizes before reading

Conflicts:
	libavformat/electronicarts.c

See: fb1ea777b3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 14:27:09 +02:00
Michael Niedermayer
ef7e8efc6b Merge commit 'ce67f442be0f6c4a8794272873852e256b5b8ee4'
* commit 'ce67f442be0f6c4a8794272873852e256b5b8ee4':
  lavf: Avoid setting avg_frame_rate if delta_dts is negative

Conflicts:
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 14:19:13 +02:00
Stefano Sabatini
7bac6e5cf8 ffprobe: fix uninitialized variable warning
Fix warning:
ffprobe.c:1684:21: warning: ‘start’ may be used uninitialized in this function [-Wmaybe-uninitialized] end = start + interval->end;

The warning is a false positive, since the variable is accessed only if
has_start is set, and in that case start has been already set.
2013-09-23 14:16:34 +02:00
Michael Niedermayer
c74fa39b93 Merge commit 'bb7bf175951475235ee7d0504198c4a30cf5d5dd'
* commit 'bb7bf175951475235ee7d0504198c4a30cf5d5dd':
  vc1dec: Don't decode slices when the latest slice header failed to decode

Conflicts:
	libavcodec/vc1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 14:03:53 +02:00
Michael Niedermayer
79fbd7a5c1 Merge commit '5e25fdbfe01635cfc650ac4adc27d434b2df0d64'
* commit '5e25fdbfe01635cfc650ac4adc27d434b2df0d64':
  vc1dec: Make sure last_picture is initialized in vc1_decode_skip_blocks

See: 09de0ffeab
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 13:57:15 +02:00
Michael Niedermayer
8b85d9bfb6 Merge commit 'b772b0e28eba6abf76d86ee8c6e459a86642db5a'
* commit 'b772b0e28eba6abf76d86ee8c6e459a86642db5a':
  vc1dec: Undo mpegvideo initialization if unable to allocate tables

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 13:44:37 +02:00
Michael Niedermayer
eed40b2957 Merge commit 'ede508443e4bf57dc1e019fac81bf6244b88fbd3'
* commit 'ede508443e4bf57dc1e019fac81bf6244b88fbd3':
  vc1dec: Fix leaks in ff_vc1_decode_init_alloc_tables on errors

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 13:29:58 +02:00
Michael Niedermayer
621845fecc Merge commit '91be1103fd1f79d381edf268c32f4166b6c3b6d8'
* commit '91be1103fd1f79d381edf268c32f4166b6c3b6d8':
  wnv1: Make sure the input packet is large enough

Conflicts:
	libavcodec/wnv1.c

See: f23a2418fb
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 13:20:42 +02:00
Michael Niedermayer
341dc59053 Merge commit 'f1eac2b8a0370b908cd691086d11f51342054730'
* commit 'f1eac2b8a0370b908cd691086d11f51342054730':
  movenc: Use keyframes as default fragmentation point in ismv

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 13:09:53 +02:00
Michael Niedermayer
d4574b7608 Merge commit 'a9553bbb336a7186c62b3b14a0499c1b6ba61ebd'
* commit 'a9553bbb336a7186c62b3b14a0499c1b6ba61ebd':
  movenc: Set all implicit flags immediately in mov_write_header

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 12:24:19 +02:00
Michael Niedermayer
b189c699b9 Merge commit '187023f6b2b43966acb2449a379b4ededdc4b22e'
* commit '187023f6b2b43966acb2449a379b4ededdc4b22e':
  movenc: Set mov->mode earlier in mov_write_header

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 12:17:10 +02:00
Michael Niedermayer
03e9506aae Merge commit '5055035670bd1a1eaca64bd3bc71fb07de9df2c3'
* commit '5055035670bd1a1eaca64bd3bc71fb07de9df2c3':
  tls: Do not abort on non-fatal TLS alerts with gnutls

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 12:01:53 +02:00
Michael Niedermayer
09e06cd90f Merge commit 'c951e4b442df9dde6051634a85359eb809bf2142'
* commit 'c951e4b442df9dde6051634a85359eb809bf2142':
  flv: Make onTextData parsing robust

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 11:56:29 +02:00
Michael Niedermayer
eaa20afa76 Merge commit 'ba77757a7efafe38924b6b423acfca8c1e1c62d6'
* commit 'ba77757a7efafe38924b6b423acfca8c1e1c62d6':
  rtmp: Replace a magic number with a macro

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 11:45:38 +02:00
Michael Niedermayer
c70e647a15 Merge commit '5840473890440dbe0bd2cce530ebb3d93e187ae6'
* commit '5840473890440dbe0bd2cce530ebb3d93e187ae6':
  rtmp: Rewrite embedded flv handling

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 11:40:15 +02:00
Michael Niedermayer
eee8cb42d0 Merge commit 'e40a0e822801d2485e4e555909d7a82713fa86a5'
* commit 'e40a0e822801d2485e4e555909d7a82713fa86a5':
  rtmp: Refactor get_packet

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 11:36:06 +02:00
Michael Niedermayer
f3a02f4bc1 Merge commit '32a414f316c7f0eea877370e3f9d9f25afbf5da2'
* commit '32a414f316c7f0eea877370e3f9d9f25afbf5da2':
  rtmp: Support AMF_DATA_TYPE_MIXEDARRAY

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 11:31:13 +02:00
Nicolas George
231e50157c lavfi/dualinput: reimplement on top of framesync. 2013-09-23 09:50:09 +02:00
Nicolas George
53319d5c93 lavfi: add an API to synchronize multiple video inputs.
Compared to dualinput, this API can handle more than two
inputs and can generate frames synchronized to any or all
input streams.
2013-09-23 09:49:37 +02:00
Michael Bradshaw
3cfd4df8e7 libopenjpeg: init and close properly; don't config during encode
Signed-off-by: Michael Bradshaw <mjbshaw@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 02:35:50 +02:00
Paul B Mahol
e494f44c05 avcodec/escape124: fix infinite loop
Remove can_safely_read() as its not really needed with
checked bitstream reader.

Fixes #2984.
Reported-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-23 00:19:05 +00:00
Timothy Gu
ca10d66719 doc/filters: add [] labels for the graph of the opening paragraph example
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-09-23 00:11:56 +02:00
Stefano Sabatini
21f6ff3801 doc/filters: use between() function in select examples
Simplify.
2013-09-22 23:54:39 +02:00
Stefano Sabatini
57618d80af doc/fftools: rework some paragraph in the AVOptions chapter
Fix typos, and clarify note about codec AVOptions.
2013-09-22 23:54:39 +02:00
Paul B Mahol
0de4efb8d7 doc/filters: put ladspa configure option into @code{}
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-22 20:41:01 +00:00
Michael Niedermayer
fbf861cb84 tests/fate/prores: fix skip alpha tests on big endian
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-22 20:57:34 +02:00
Michael Niedermayer
b5b762b714 avcodec/avcodec.h: skip_alpha should not be accessed directly (would cause ABI issues)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-22 20:57:34 +02:00
Paul B Mahol
f8e8932e92 doc/filters: mention configure option for ladspa
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-22 18:45:50 +00:00
Martin Storsjö
b6c7bd53f4 movenchint: Clear size and len if the realloc failed
Previously these were left in an inconsistent state.

Pointed out by Michael Niedermayer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-22 21:02:52 +03:00
Martin Storsjö
f2b00a5372 movenc: Return a proper error code for invalid combinations
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-22 21:02:52 +03:00
Martin Storsjö
23d6ba2c44 vc1dec: Check the error handling flags on slice/field header decode errors
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-22 21:02:52 +03:00
Martin Storsjö
f7e616959a electronicarts: Check packet sizes before reading
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-22 21:02:52 +03:00
Martin Storsjö
ce67f442be lavf: Avoid setting avg_frame_rate if delta_dts is negative
This avoids setting avg_frame_rate to invalid (negative)
values.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-22 21:02:52 +03:00
Michael Niedermayer
bb7bf17595 vc1dec: Don't decode slices when the latest slice header failed to decode
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-22 21:02:52 +03:00
Martin Storsjö
5e25fdbfe0 vc1dec: Make sure last_picture is initialized in vc1_decode_skip_blocks
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-22 21:02:52 +03:00
Martin Storsjö
b772b0e28e vc1dec: Undo mpegvideo initialization if unable to allocate tables
Previously, s->context_initialized was left set to 1
if ff_vc1_decode_init_alloc_tables failed, skipping the
initialization completely on the next decode call.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-22 21:02:47 +03:00
Kieran Kunhya
283fb76d3d lavc: Add support for interleaved chroma formats to libx264. Interleaved chroma is x264's native format
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-22 19:55:57 +02:00
Paul B Mahol
b00fb157ba avcodec/sgirledec: fix infinite loop in decode_sgirle8()
Fixes #2985.
Reported-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-22 17:30:51 +00:00
Paul B Mahol
601eab2bbf avfilter: add ladspa wrapper filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-22 16:36:10 +00:00
Reimar Döffinger
547c2f002a Make decoding alpha optional for some codecs.
For codecs where decoding of a whole plane can simply
be skipped, we should offer applications to not decode
alpha for better performance (ca. 30% less CPU usage
and 40% reduced memory bandwidth).
It also means applications do not need to implement support
(even if it is rather simple) for YUVA formats in order to be
able to play these files.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-09-22 16:20:54 +02:00
Michael Niedermayer
a5cbf1991c avformat/mov: reset extradata size when extradata gets deallocated due to realloc failure
This prevents the fields from becoming inconsistent

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-22 16:11:02 +02:00
Reimar Döffinger
2aa8e33d7d Fix nonsense MPEG-4 hwaccel code.
Issues with the code:
1) The skip_bits_long breaks packed B-frames since we skip
of the packed frame, even for VDPAU.
2) Calling ff_h263_find_resync_marker_reverse is nonsense for MPEG-4,
and for H.263 the only code using this (vaapi_mpeg4) explicitly reverts
this change!
3) mb_x/mb_y are always 0 when vaapi_mpeg4_decode_slice, so doing
computations with them is just obfuscation
4) due to not updating mb_y the code would always go into the error
resilience case, causing nonsense error messages and maybe further
issues.

While tested to fix the data provided to the decoder in case of
VDPAU so it is the same as for the non-hwaccel code, the VA-API code
was not tested to still work, and adding regression testing even
as a quick hack is much more complicated for it.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-09-22 16:08:35 +02:00
Martin Storsjö
ede508443e vc1dec: Fix leaks in ff_vc1_decode_init_alloc_tables on errors
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-22 16:10:22 +03:00
Martin Storsjö
91be1103fd wnv1: Make sure the input packet is large enough
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-22 16:10:21 +03:00
Martin Storsjö
f1eac2b8a0 movenc: Use keyframes as default fragmentation point in ismv
Fragmenting blindly to a certain duration isn't a good choice
if one should be able to switch between different qualities,
therefore default to keyframes instead.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-22 16:10:21 +03:00
Martin Storsjö
a9553bbb33 movenc: Set all implicit flags immediately in mov_write_header
This makes sure other sanity checks for conflicting options
can work properly, e.g. for the conflict between the faststart
flag when using the ismv mode.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-22 16:10:21 +03:00
Martin Storsjö
187023f6b2 movenc: Set mov->mode earlier in mov_write_header
This allows simplifying some early checks that depend on the
muxer mode.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-22 16:10:21 +03:00
Martin Storsjö
5055035670 tls: Do not abort on non-fatal TLS alerts with gnutls
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-22 16:10:21 +03:00
Michael Niedermayer
05b7a635dc avformat/movenchint: use realloc_array() to protect against integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-22 15:06:22 +02:00
Michael Niedermayer
63621762ec avformat/movenchint: only change queue size if reallocation succeeded
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-22 15:05:35 +02:00
Michael Niedermayer
091ba02cc8 avformat/movenchint: revert "Use av_reallocp() where suitable"
reverts movenchin part of 5626f994f2
The change left the fields in an inconsistent state

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-22 15:00:08 +02:00
Michael Niedermayer
361bc70731 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avutil: Fix compilation with inline asm disabled on mingw

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-22 11:51:38 +02:00
Michael Niedermayer
85f8a3cb50 Merge commit 'e208e6d209728d332343aa5390ae377ac0a6305c'
* commit 'e208e6d209728d332343aa5390ae377ac0a6305c':
  lavu: Add interleaved 4:2:2 8/10-bit formats

Conflicts:
	doc/APIchanges
	libavutil/pixdesc.c
	libavutil/pixfmt.h
	libavutil/version.h

See: 90ca5a9b5f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-22 11:42:03 +02:00
Michael Niedermayer
8310bccc91 avutil/pixdesc: try to fix NV20* descriptors
They where inconsistent (overlapping fields and wrong sizes)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-22 11:34:01 +02:00
Kieran Kunhya
90ca5a9b5f Add interleaved 4:2:2 8/10-bit formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-22 10:49:29 +02:00
Luca Barbato
c951e4b442 flv: Make onTextData parsing robust
Certain streaming servers do not preserve the order of the fields.
2013-09-22 01:10:17 +02:00
Luca Barbato
ba77757a7e rtmp: Replace a magic number with a macro
11 is the RTMP header size.
2013-09-22 01:09:33 +02:00
Luca Barbato
5840473890 rtmp: Rewrite embedded flv handling
Use update_offset() as done for rtmp audio, video and notifications and
read update and write the fields instead of replacing them in the rtmp
packet and then memcpying it to the output buffer.
2013-09-22 01:09:33 +02:00
Luca Barbato
e40a0e8228 rtmp: Refactor get_packet 2013-09-22 01:09:33 +02:00
Luca Barbato
32a414f316 rtmp: Support AMF_DATA_TYPE_MIXEDARRAY
And fix the AMF_DATA_TYPE_ARRAY parsing while at it.

A MIXEDARRAY type, as the ARRAY, store the number of elements in
an uint32 before the list. The ARRAY is strict and does not have
an OBJECT terminator, MIXEDARRAY behaves like an OBJECT type and
a different than stated number of element can be present.
2013-09-22 01:06:42 +02:00
Michael Niedermayer
e07ac727c1 avcodec/g2meet: Fix framebuf size
Currently the code can in some cases draw tiles that hang outside the
allocated buffer. This patch increases the buffer size to avoid out
of array accesses. An alternative would be to fail if such tiles are
encountered.
I do not know if any valid files use such hanging tiles.

Fixes Ticket2971
Found-by: ami_stuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-22 00:04:39 +02:00
Compn
5dca837ac3 changelog: add fraps and libx264 changes 2013-09-21 17:57:08 -04:00
Alex Smith
08fa828b3f avutil: Fix compilation with inline asm disabled on mingw
Because of -Werror=implicit-function-declaration the build will fail.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-22 00:50:32 +03:00
Michael Niedermayer
21a2b97365 avformat/hls: do not limit manifest lines to 1024 chars
Fixes Ticket2976
Debuged-by: jaimeMF
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-21 20:59:30 +02:00
Kieran Kunhya
e208e6d209 lavu: Add interleaved 4:2:2 8/10-bit formats
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-09-21 17:36:15 +02:00
Michael Niedermayer
a072acb108 avcodec: fix duplicate includes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-21 16:59:13 +02:00
Michael Niedermayer
b8a954e46d avformat/network: fix duplicate include
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-21 16:58:58 +02:00
Lukasz Marek
ef23b7fd6d lavf/libssh: add MAINTAINERS entry
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-21 16:35:41 +02:00
Alex Smith
66c2f200b6 lavu/attributes: Don't define av_restrict
This is always defined in config.h.

Original patch by Derek Buitenhuis.
2013-09-21 15:43:31 +02:00
Michael Niedermayer
49515cb840 avformat: remove duplicate includes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-21 15:36:33 +02:00
Michael Niedermayer
d0c61571cf avdevice/v4l: remove duplicate include
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-21 15:36:33 +02:00
Michael Niedermayer
4bc7a2a64b avfilter: remove duplicate includes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-21 15:36:33 +02:00
Michael Niedermayer
0506f3fa38 avutil/cpu: remove duplicate include
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-21 15:36:33 +02:00
Hendrik Leppkes
1c4fa2aaf2 avcodec/fraps: use BT.709 colorspace for YUV Fraps versions
Based both on comparison to the reference decoder, and comments from
the fraps developers upon inquiry how to handle the yuv fraps variants.
2013-09-21 13:09:13 +00:00
Paul B Mahol
59d72f8b16 lavfi/pad,crop,scale: remove options description from filter description
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-21 12:50:02 +00:00
Paul B Mahol
8ac0eb2cd7 avfilter/vf_tinterlace: add yuv411p, yuv440p, yuva422p and yuva444p
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-21 12:48:24 +00:00
Alex Smith
eedbc2b56d tools: Fix apparent merge failure 2013-09-21 14:40:31 +02:00
James Almer
56f17407bc matroska: Add the CueDuration element
Use it only on subtitle CuePoints.
With proper demuxer/splitter support this should improve the display
of subtitles right after seeking to a given point in the stream.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-21 14:33:01 +02:00
Michael Niedermayer
8ad2465987 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Allow encoding YUVJ422P and YUVJ444P with libx264.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-21 14:07:41 +02:00
Carl Eugen Hoyos
ac82155204 Remove '-vf' from pullup documentation example. 2013-09-21 12:17:20 +02:00
Michael Niedermayer
d0171eb8d7 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264dec: Add .avc file name extension

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-21 11:57:19 +02:00
Michael Niedermayer
de493809f3 Merge commit '01f111bdb21b4ea6d2ff3ea919d70ae9ca451cf9'
* commit '01f111bdb21b4ea6d2ff3ea919d70ae9ca451cf9':
  h264dec: K&R formatting cosmetics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-21 11:09:41 +02:00
Carl Eugen Hoyos
79209f5d6c Allow encoding YUVJ422P and YUVJ444P with libx264.
Reviewed-by: Reimar
2013-09-21 09:54:06 +02:00
Reimar Döffinger
f76b633a94 mpeg4dec: Ensure data is not clobbered too early.
Avoid overwriting the bitstream buffer data before we
have ended processing the frame.
This is necessary to fix hwaccels which might try to use
the buffer during the end_frame call.
I am not sure but it is possible this could even trigger
a use-after-free if the av_fast_malloc allocated a new buffer.
This would require that decode_slice did not wind the bitstream
forward all the way to the end, which does not currently happen in
normal streams.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-09-21 09:40:28 +02:00
Michael Niedermayer
6c169c2fa4 Merge commit '67e285ceca1cb602a5ab87010b30d904527924fe'
* commit '67e285ceca1cb602a5ab87010b30d904527924fe':
  mem: Handle av_reallocp(..., 0) properly

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-21 09:36:58 +02:00
Paul B Mahol
f35b2fa8c9 fate: add adelay test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-21 03:37:09 +00:00
Reimar Döffinger
29f244e08e dvbsubdec: Check for invalid clut selector.
Fail decoding if strict compliance is requested.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-09-21 09:51:10 +02:00
JULIAN GARDNER
97ff584af4 Apply clut changes only to one table.
The specification does not allow multiple bits to be set,
but some encoders do it anyway.
Applying it only to the first seems to give better results.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-09-21 09:51:09 +02:00
Lukasz Marek
5b153f8164 lavf: add SFTP protocol via libssh
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-21 03:26:54 +02:00
Carl Eugen Hoyos
705b30e24f Improve pullup documentation.
Mention that the fps filter should be used after pullup.
2013-09-21 03:24:24 +02:00
Michael Niedermayer
68f328fcdd avfilter/vf_psnr: avoid 64bit arithmetic in the inner loop
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-21 03:11:02 +02:00
Neil Birkbeck
a11c16a0b0 avfilter/vf_psnr: Prevent integer overflow.
The 32-bit integer accumulator in MSE computation can overflow for 8-bit frame data.
(e.g., for 1080p white frame compared to a black frame can give sum of 255*255*1080*1920 > 2^32).

Signed-off-by: Neil Birkbeck <neil.birkbeck@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-21 03:10:45 +02:00
Michael Niedermayer
15672e832f avformat/utils: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 23:19:29 +02:00
Michael Niedermayer
fcd64dcc37 avformat/avienc: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 22:50:06 +02:00
James Almer
39442b1a1b matroskaenc: Add CuePoints for subtitle tracks
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 22:40:16 +02:00
Vittorio Giovara
944c338430 h264dec: Add .avc file name extension
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-09-20 21:08:02 +02:00
Vittorio Giovara
01f111bdb2 h264dec: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-09-20 21:06:23 +02:00
Martin Storsjö
67e285ceca mem: Handle av_reallocp(..., 0) properly
Previously this did a double free (and returned an error).

Reported-by: Justin Ruggles
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-20 21:23:08 +03:00
Michael Niedermayer
bed611f937 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: remove an unused static constant

Merge only for metadata as the constant us not unused in ffmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 16:09:56 +02:00
Michael Niedermayer
8377b2b6bf Merge commit '33b88f2a4ae54d5397c45e39a5326289ebdc7747'
* commit '33b88f2a4ae54d5397c45e39a5326289ebdc7747':
  msvc/icl: Use __declspec(noinline)

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 16:03:00 +02:00
Michael Niedermayer
e1f74ad1f0 Merge commit '09f2581dc5edb3642858d69d9a70b67e249167e9'
* commit '09f2581dc5edb3642858d69d9a70b67e249167e9':
  msvc/icl: Use __declspec(deprecated)

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 15:51:27 +02:00
Michael Niedermayer
dda7bd13b3 Merge commit '5532ee6d7d554bb54d4374d0b69f72bc9ab9fd91'
* commit '5532ee6d7d554bb54d4374d0b69f72bc9ab9fd91':
  rtmp: Unbreak get_packet

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 15:45:04 +02:00
Michael Niedermayer
8c320b3c08 Merge commit 'a9d50bb578ec04c085a25f1e023f75e0e4499d5e'
* commit 'a9d50bb578ec04c085a25f1e023f75e0e4499d5e':
  dcadec: Validate the lfe parameter

Conflicts:
	libavcodec/dcadec.c

See: 3b2cd83a82
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 15:37:55 +02:00
Michael Niedermayer
391e272c16 Merge commit 'b97b1adb3f807e1acd00d56319ee6cb41cc727e4'
* commit 'b97b1adb3f807e1acd00d56319ee6cb41cc727e4':
  rtmpproto: Add a comment explaining the logic in handle_notify

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 15:30:51 +02:00
Michael Niedermayer
2be92abac7 Merge commit 'e5d45e028cf4193b562075897e55091779e49f15'
* commit 'e5d45e028cf4193b562075897e55091779e49f15':
  build: Support cparser

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 15:23:58 +02:00
Michael Niedermayer
f657ca0d0b Merge commit 'd8798276b65543d921adadf63cc7f5ba2d1604af'
* commit 'd8798276b65543d921adadf63cc7f5ba2d1604af':
  r3d: Add more input value validation

Conflicts:
	libavformat/r3d.c

See: 99b1b2b1c6
See: df92ac1852
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 15:14:31 +02:00
Michael Niedermayer
2a930fa29e Merge commit '3ca14aa5964ea5d11f7a15f9fff17924d6096d44'
* commit '3ca14aa5964ea5d11f7a15f9fff17924d6096d44':
  rl2: Avoid a division by zero

See: f371396dfb
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 14:58:07 +02:00
Michael Niedermayer
6c18775bae Merge commit '83c285f88016b087c2f0f4b9ef356ad8ef12d947'
* commit '83c285f88016b087c2f0f4b9ef356ad8ef12d947':
  wtv: Add more sanity checks for a length read from the file

Conflicts:
	libavformat/wtv.c

See: c42efad3c3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 14:51:02 +02:00
Michael Niedermayer
09b09ef4ab Merge commit 'd8b68660145c76a23fc9665f96932449514ecad2'
* commit 'd8b68660145c76a23fc9665f96932449514ecad2':
  yop: Clear all references to the AVBuffer in the local AVPacket

Conflicts:
	libavformat/yop.c

See: 551f683861
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 14:37:52 +02:00
Michael Niedermayer
9bb86faca7 Merge commit '3185a80259ce1f8f8111073dbd14a69a396e03a3'
* commit '3185a80259ce1f8f8111073dbd14a69a396e03a3':
  fraps: Make the input buffer size checks more strict

Conflicts:
	libavcodec/fraps.c

The added checks are mostly to handle duplicate frames, which
we discard, thus there are also no P frames for example.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 14:21:34 +02:00
Michael Niedermayer
c188c10805 Merge commit '82e266c6d3fbf3cc74e515b883e66543381a0f2c'
* commit '82e266c6d3fbf3cc74e515b883e66543381a0f2c':
  segafilm: Validate the number of audio channels

Merge only for metadata as the change is incorrect, checking audio
parameters in video only files

See: 192db16b9c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 13:50:35 +02:00
Vittorio Giovara
1cad7171dd h264: remove an unused static constant
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-20 14:40:10 +03:00
Alex Smith
33b88f2a4a msvc/icl: Use __declspec(noinline)
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-20 14:40:06 +03:00
Alex Smith
09f2581dc5 msvc/icl: Use __declspec(deprecated)
Prior to this on msvc/icl there was no handling of deprecated functions
and the deprecated warning was disabled.

After enabling there are a number of warnings relating to the CRT and
the use of the non-secure versions of several functions.  Defining
_CRT_SECURE_NO_WARNINGS silences these warnings.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-20 14:40:06 +03:00
Luca Barbato
5532ee6d7d rtmp: Unbreak get_packet
Commit 5626f994f2 broke it.
2013-09-20 13:38:22 +02:00
Michael Niedermayer
c092af3008 Merge commit '601c2015bc16f0b281160292a6a760cbbbb0eacb'
* commit '601c2015bc16f0b281160292a6a760cbbbb0eacb':
  svq3: Avoid a division by zero

Conflicts:
	libavcodec/svq3.c

See: 4fa706a4a6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 13:29:39 +02:00
Michael Niedermayer
61a8eaf711 Merge commit '7a5a55722749a3ab77941914707277b147322cbe'
* commit '7a5a55722749a3ab77941914707277b147322cbe':
  qpeg: Add checks for running out of rows in qpeg_decode_inter

Conflicts:
	libavcodec/qpeg.c

See: 4299dfa5de
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 13:20:06 +02:00
Martin Storsjö
a9d50bb578 dcadec: Validate the lfe parameter
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-20 14:14:45 +03:00
Michael Niedermayer
3f4cf77abd Merge commit 'e9d61de96c113ee0ef8082833c7e682df0e23eec'
* commit 'e9d61de96c113ee0ef8082833c7e682df0e23eec':
  mpegaudiodec: Validate that the number of channels fits at the given offset

Conflicts:
	libavcodec/mpegaudiodec.c

See: 51fcf276f8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 13:06:12 +02:00
Michael Niedermayer
13b353a7cb avcodec/asvdec: dont fail without extradata
extradata is not mandatory to decode asv

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 12:51:22 +02:00
Michael Niedermayer
1e9a850df9 Merge commit 'f50803354c6acb4575379d7c54ca48ec5d36dd61'
* commit 'f50803354c6acb4575379d7c54ca48ec5d36dd61':
  asvdec: Verify the amount of extradata

See: 605f2b6b00
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 12:49:15 +02:00
Michael Niedermayer
35a8387b40 Merge commit '72fe16a13e3ebd5396ac173bf84c8b20085c16d5'
* commit '72fe16a13e3ebd5396ac173bf84c8b20085c16d5':
  movenc: Use null buffers for measuring the amount of data to be written

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 12:37:24 +02:00
Michael Niedermayer
2ad8056c5e Merge commit '3627ce2f1dab1d33b7f99d78907a3e4d86b7d847'
* commit '3627ce2f1dab1d33b7f99d78907a3e4d86b7d847':
  aviobuf: Add functions for null buffers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 12:26:09 +02:00
Michael Niedermayer
04ee57ce0a Merge commit 'bb461370e34b1fa1637f34ce7d37b934ddb472d5'
* commit 'bb461370e34b1fa1637f34ce7d37b934ddb472d5':
  asfenc: mux chapters in ASF files using an ASF "marker" section

Conflicts:
	Changelog
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 12:06:15 +02:00
Michael Niedermayer
018e0db5ef Merge commit '09f3c937ed6fd7c5bd64450d45f73b0f4975f4c9'
* commit '09f3c937ed6fd7c5bd64450d45f73b0f4975f4c9':
  asfenc: remember send time and offset of the index entries

Conflicts:
	libavformat/asfenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 11:43:32 +02:00
Michael Niedermayer
c6b4258965 Merge commit '1eb932803037a3c9f98f66aeb80024dfa3c5c743'
* commit '1eb932803037a3c9f98f66aeb80024dfa3c5c743':
  asfenc: add ASF_Reserved_4 as defined in section 10.10 of the ASF spec

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 11:18:20 +02:00
Michael Niedermayer
c6526620a9 Merge commit 'c53b5dda352452e79a9e962cd4c74c813186d9ed'
* commit 'c53b5dda352452e79a9e962cd4c74c813186d9ed':
  asfdec: replace magic constant with DATA_HEADER_SIZE

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 11:06:23 +02:00
Michael Niedermayer
c16470d77a Merge commit '5f408333601a827054335f309defcb246a532b21'
* commit '5f408333601a827054335f309defcb246a532b21':
  asfdec: substract preroll time from marker presentation time

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 10:57:20 +02:00
Martin Storsjö
b97b1adb3f rtmpproto: Add a comment explaining the logic in handle_notify
This explains why the cleanup in 5626f994f was wrong and why
ae0f316a was needed.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-20 10:47:15 +03:00
Monty Montgomery
f6622f9610 avformat/matroskadec: correct spurious keyframe warnings in webm
Minor change to fix for Trac #1003 to avoid squawking about files
with valid keyframes that aren't marked (as opposed to frames that are
marked as keyframes and aren't).

Change correctly surpresses the spurious warnings, while still complaining
about (and handling) the genuinely broken file attached to bug #1003.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-20 03:45:02 +02:00
Paul B Mahol
3e2a5b33f0 avformat/matroskadec: use av_malloc_array() and check for allocation error
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-19 22:28:25 +00:00
Michael Niedermayer
13eff473ad swscale/swscale_unscaled: fix alpha values for rgb/bgr -> RGB32_1 / BGR32_1
Found-by: Justin Ruggles
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-19 23:15:51 +02:00
Michael Niedermayer
1225b67fc9 avutil/frame: suppress "comparison of unsigned expression < 0 is always false" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-19 22:46:52 +02:00
Michael Niedermayer
9c8aeacf82 avutil: add av_get_colorspace_name()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-19 22:14:13 +02:00
Michael Niedermayer
63139f62f3 avformat/bmv: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-19 22:04:34 +02:00
Luca Barbato
e5d45e028c build: Support cparser 2013-09-19 21:53:21 +02:00
Martin Storsjö
d8798276b6 r3d: Add more input value validation
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-19 22:47:26 +03:00
Martin Storsjö
3ca14aa596 rl2: Avoid a division by zero
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-19 22:47:00 +03:00
Martin Storsjö
83c285f880 wtv: Add more sanity checks for a length read from the file
Also make sure the existing length check can't overflow.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-19 22:46:35 +03:00
Martin Storsjö
d8b6866014 yop: Clear all references to the AVBuffer in the local AVPacket
This makes sure that it doesn't try to free an AVBuffer belonging
to an earlier packet when we free the local packet at the end.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-19 22:46:21 +03:00
Martin Storsjö
3185a80259 fraps: Make the input buffer size checks more strict
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-19 22:45:59 +03:00
Martin Storsjö
82e266c6d3 segafilm: Validate the number of audio channels
This avoids divisions by zero later.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-19 22:45:40 +03:00
Martin Storsjö
601c2015bc svq3: Avoid a division by zero
If the height is zero, the decompression will probably end up
failing due to not fitting into the allocated buffer later
anyway, so this doesn't need any more elaborate check.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-19 22:45:16 +03:00
Martin Storsjö
7a5a557227 qpeg: Add checks for running out of rows in qpeg_decode_inter
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-19 22:44:39 +03:00
Martin Storsjö
e9d61de96c mpegaudiodec: Validate that the number of channels fits at the given offset
This is similar to the fix in 35cbc98b.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-19 22:44:18 +03:00
Martin Storsjö
f50803354c asvdec: Verify the amount of extradata
The init function reads one byte of extradata.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-19 22:43:55 +03:00
Martin Storsjö
72fe16a13e movenc: Use null buffers for measuring the amount of data to be written
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-19 22:42:40 +03:00
Martin Storsjö
3627ce2f1d aviobuf: Add functions for null buffers
Null buffers are useful for simulating writing to a real buffer
for the sake of measuring how many bytes are written.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-19 22:42:37 +03:00
Paul B Mahol
20101f4a83 avfilter/vf_decimate: add gray16 and yuv440p
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-19 17:53:05 +00:00
Vladimir Pantelic
bb461370e3 asfenc: mux chapters in ASF files using an ASF "marker" section
ASF markers only have a start time, so we lose the chapter end times,
but that is ASF for you

Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-09-19 19:51:49 +02:00
Paul B Mahol
0ad5ef674b avfilter/vf_decimate: fix crash with gray8
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-19 17:50:42 +00:00
Vladimir Pantelic
09f3c937ed asfenc: remember send time and offset of the index entries
Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-09-19 19:37:59 +02:00
Vladimir Pantelic
1eb9328030 asfenc: add ASF_Reserved_4 as defined in section 10.10 of the ASF spec
Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-09-19 19:37:46 +02:00
Vladimir Pantelic
c53b5dda35 asfdec: replace magic constant with DATA_HEADER_SIZE
Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-09-19 19:37:37 +02:00
Vladimir Pantelic
5f40833360 asfdec: substract preroll time from marker presentation time
this was forgotten when we changed ASF to not output the preroll time

Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-09-19 19:37:28 +02:00
Paul B Mahol
1f5d1342ea doc: Add missing hashes and dates to APIChanges
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-19 16:57:48 +00:00
Paul B Mahol
390c35a13b lavfi/mp: remove mp=qp
The filter does nothing.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-19 15:53:45 +00:00
Michael Niedermayer
ad2a08388c avformat/concat: revert one hunk of 20dfab33f5
The deallocated memory contains resources that need to be freed before it
can be deallocated. The original code was correct.
This also fixes a double free

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-19 15:18:15 +02:00
Michael Niedermayer
8be56e464b avformat/smacker: Check if bufs has been allocated before use
Fixes null pointer dereference

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-19 14:20:21 +02:00
Michael Niedermayer
93648ee47b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rv34: Fix a memory leak on errors

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-19 13:49:17 +02:00
Michael Niedermayer
52dc3600a9 Merge commit 'bcbe4f3ceb6ee0210d3a401963518906c8b9b230'
* commit 'bcbe4f3ceb6ee0210d3a401963518906c8b9b230':
  idroqdec: Make sure a video stream has been allocated before returning packets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-19 13:34:25 +02:00
Michael Niedermayer
b4c88a4c4c Merge commit '5372cda67109848d22146289e401669266217e80'
* commit '5372cda67109848d22146289e401669266217e80':
  rv10: Validate the dimensions set from the container

This check could be replaced by a width==0||height==0

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-19 13:28:32 +02:00
Michael Niedermayer
374a2f4562 Merge commit 'ae0f316a4778e473d407cffa8392595ba0735153'
* commit 'ae0f316a4778e473d407cffa8392595ba0735153':
  rtmp: Unbreak handle_notify

See: fbd54827b1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-19 13:03:19 +02:00
Michael Niedermayer
32ea39f56d Merge commit '1914e6f010b3320025c7b692aaea51d9b9a992a8'
* commit '1914e6f010b3320025c7b692aaea51d9b9a992a8':
  aacdec: Add support for LD (Low Delay) AAC

Conflicts:
	Changelog
	libavcodec/aacdec.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-19 12:55:26 +02:00
Michael Niedermayer
257f11820b Merge commit '5cdefc02079a5b899bdec09e15e2bb099cb01734'
* commit '5cdefc02079a5b899bdec09e15e2bb099cb01734':
  aacdec: Add support for Error Resilience syntax.

Conflicts:
	Changelog
	libavcodec/aacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-19 12:44:06 +02:00
Michael Niedermayer
b26ccf218d Merge commit 'c4bfa098072ba338d83555d6e2199f7e1e64ffff'
* commit 'c4bfa098072ba338d83555d6e2199f7e1e64ffff':
  Add a WebP decoder

Conflicts:
	Changelog
	doc/general.texi
	libavcodec/Makefile
	libavcodec/avcodec.h
	libavcodec/version.h
	libavformat/img2.c

The previously existing webp decoder is disabled as the new
one supports lossless mode and alpha while the previous does not.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-19 12:36:11 +02:00
Michael Niedermayer
ac2fc63ac6 Merge commit '9ae53c5860e17d087642d27b00dade071970a2e7'
* commit '9ae53c5860e17d087642d27b00dade071970a2e7':
  lavc: add ff_u8_to_s8() for safe type punning of uint8_t to int8_t

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-19 11:47:40 +02:00
Luca Barbato
fbd54827b1 rtmp: Unbreak handle_notify
Commit 5626f994f2 broke it.
2013-09-19 11:27:21 +02:00
Michael Niedermayer
20dfab33f5 Merge commit '5626f994f273af80fb100d4743b963304de9e05c'
* commit '5626f994f273af80fb100d4743b963304de9e05c':
  avformat: Use av_reallocp() where suitable

Conflicts:
	libavformat/avidec.c
	libavformat/avienc.c
	libavformat/aviobuf.c
	libavformat/oggparsevorbis.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-19 11:01:26 +02:00
Michael Niedermayer
f54d751f33 Merge commit '0f310a6f333b016d336674d086045e8473fdf918'
* commit '0f310a6f333b016d336674d086045e8473fdf918':
  rmdec: Validate the fps value

Conflicts:
	libavformat/rmdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-19 10:38:40 +02:00
Stefano Sabatini
f0606a28de ffprobe: add -read_intervals option
This is also useful to test seeking on an input file.

This also addresses trac ticket #1437.
2013-09-19 10:10:30 +02:00
Martin Storsjö
fdbd924b84 rv34: Fix a memory leak on errors
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-19 11:09:18 +03:00
Martin Storsjö
bcbe4f3ceb idroqdec: Make sure a video stream has been allocated before returning packets
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-19 11:09:04 +03:00
Martin Storsjö
5372cda671 rv10: Validate the dimensions set from the container
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-19 11:08:54 +03:00
Stefano Sabatini
6230a95659 doc/muxers: itemize tee examples
Improve rendering.
2013-09-19 10:07:53 +02:00
Luca Barbato
ae0f316a47 rtmp: Unbreak handle_notify
Commit 5626f994f2 broke it.
2013-09-19 09:13:04 +02:00
James Almer
ea70e2f2d7 matroskaenc: Write muxingapp and writingapp elements when using bitexact flag
Files won't validate with mkvalidtor if these two elements are missing.
Use a const "Lavf" string that wont change with library version bumps.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-18 23:06:59 +02:00
James Almer
93439e8b6f fate: Fix exif tests ffprobe dependency
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-18 22:59:40 +02:00
James Almer
164e0e544f doc/APIchanges: Fix two hashes
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-18 22:50:52 +02:00
Paul B Mahol
2e35686030 avfilter/vf_telecine: remove redudant av_frame_copy_props()
It is already called by av_frame_clone().

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-18 19:17:34 +00:00
Alex Converse
1914e6f010 aacdec: Add support for LD (Low Delay) AAC 2013-09-18 12:01:53 -07:00
Alex Converse
5cdefc0207 aacdec: Add support for Error Resilience syntax.
This does not add support for any error resilience tools.
2013-09-18 12:01:49 -07:00
Justin Ruggles
c4bfa09807 Add a WebP decoder
Container and lossy decoding by Aneesh Dogra <aneesh@sugarlabs.org>
Lossless decoding by Justin Ruggles <justin.ruggles@gmail.com>
2013-09-18 14:10:05 -04:00
Justin Ruggles
9ae53c5860 lavc: add ff_u8_to_s8() for safe type punning of uint8_t to int8_t 2013-09-18 14:10:05 -04:00
Alexandra Khirnova
5626f994f2 avformat: Use av_reallocp() where suitable
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-09-18 18:28:38 +02:00
Paul B Mahol
7f4a5006ce avfilter/vf_pullup: remove junk_down nonsense
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-18 12:47:57 +00:00
Paul B Mahol
d520055000 avfilter/vf_pullup: change log level to error
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-18 11:56:36 +00:00
Paul B Mahol
fe5b7612c0 avfilter/vf_pullup: fix memleak of metrics for last PullupField
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-18 11:56:35 +00:00
Michael Niedermayer
b7e7d8cdaf Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: Add an option for omitting the tfhd base offset

Conflicts:
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-18 13:32:55 +02:00
Paul B Mahol
394a73cad2 avfilter/vf_pullup: make sure metric_plane is available
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-18 11:27:41 +00:00
Paul B Mahol
8302abf844 lavfi/mp: remove mp=pullup
The filter was ported to a native libavfilter filter.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-18 11:05:27 +00:00
Michael Niedermayer
66e199bd75 Merge commit 'a4adabb460ace39783d707a5b3bbe28b4b5b9dc4'
* commit 'a4adabb460ace39783d707a5b3bbe28b4b5b9dc4':
  movenc: Write the moof atom in two passes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-18 12:47:55 +02:00
Michael Niedermayer
015f7ce7d7 Merge commit 'c77d409bf95954aceb762dd800d1ee2868c4b0d4'
* commit 'c77d409bf95954aceb762dd800d1ee2868c4b0d4':
  twinvqdec: Check the ibps parameter separately

See: b8dc5f8bb3
See: 98b377004d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-18 12:42:19 +02:00
Michael Niedermayer
4131a3cb58 Merge commit '8583b14252deac71136f1dec231910abab0ba503'
* commit '8583b14252deac71136f1dec231910abab0ba503':
  rtmp: Support reading interleaved chunks.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-18 12:09:06 +02:00
Michael Niedermayer
46cc498b77 Merge commit 'd4c2a3740fb95f952a87ba320d2bf31f126bdf68'
* commit 'd4c2a3740fb95f952a87ba320d2bf31f126bdf68':
  xmv: Add more sanity checks for parameters read from the bitstream

Conflicts:
	libavformat/xmv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-18 11:24:27 +02:00
Michael Niedermayer
c1840cbdbe Merge commit 'dc4acc820076b2149ef6c921bdabe05d07ca1bc6'
* commit 'dc4acc820076b2149ef6c921bdabe05d07ca1bc6':
  rtmpproto: Extend a comment to explain the prev_pkt arrays roles

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-18 11:09:31 +02:00
Michael Niedermayer
e81411e88e Merge commit '647d655d19c38e9716328e4787199149097d6089'
* commit '647d655d19c38e9716328e4787199149097d6089':
  rtmpproto: Consistently use the right prev_pkt array

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-18 11:00:51 +02:00
Michael Niedermayer
7742edc03b Merge commit '0d3784396b736374a61fea26268febdabd803a59'
* commit '0d3784396b736374a61fea26268febdabd803a59':
  rtmpproto: Check for the right return code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-18 10:50:54 +02:00
Michael Niedermayer
f9ccdcb6ce Merge commit '8411baf6f0a42bdd61f00f34aa9efec7e138b5f2'
* commit '8411baf6f0a42bdd61f00f34aa9efec7e138b5f2':
  dca_parser: Handle changes in DCA frame size

Conflicts:
	libavcodec/dca_parser.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-18 10:39:34 +02:00
Martin Storsjö
0f310a6f33 rmdec: Validate the fps value
Abort if it is invalid if strict error checking has been requested.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-18 11:30:06 +03:00
Michael Niedermayer
2dd38a1d48 avcodec/jpeg2000dec: move "missing SIZ" check up
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-18 10:04:43 +02:00
Michael Niedermayer
8ae14bf5ce Merge commit '18a245a2aea31b92bc435f2962a71e060d83b5f7'
* commit '18a245a2aea31b92bc435f2962a71e060d83b5f7':
  jpeg2000dec: Add more checks when parsing headers

The check cannot be true in FFmpeg, but does no harm.
I will move it in a subsequent commit so it can detect missing SIZ

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-18 10:03:35 +02:00
Michael Niedermayer
4d09d2ef9f doc/APIchanges: List merge commit hashes and version numbers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-18 01:44:29 +02:00
mrlika
ed72542539 lavd/v4l2: do not fail when VIDIOC_ENUMSTD returns EINVAL without a valid match
With some (buggy) drivers, the VIDIOC_G_STD ioctl returns a std_id that cannot
be matched with any of the enumerated v4l2_standard structures (for example
std_id = 0 or std_id = 0xffffff). Do not fail when we reach the end of the
enumeration without a valid match.

Fixes ticket #2370

Note: This commit message has been modified by Giorgio Vazzana, the original
commit message was:

"Fixed regression for mandatory VIDIOC_ENUMSTD support by v4l2"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 22:57:31 +02:00
Martin Storsjö
e7bf085b78 movenc: Add an option for omitting the tfhd base offset
This makes the output fragments independent of their position in
the output stream, making the output work better when streamed.

QuickTime Player doesn't support fragmented mp4 without the base
data offset, though.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 23:30:31 +03:00
Martin Storsjö
a4adabb460 movenc: Write the moof atom in two passes
This is a bit more work, but avoids having to fill in
the data offset field afterwards instead of directly when
the rest of the trun atom is written.

This simplifies future cases where this field needs to be set to
something different.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 23:25:46 +03:00
Martin Storsjö
c77d409bf9 twinvqdec: Check the ibps parameter separately
This is required, since invalid parameters actually could
pass the switch check below.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 23:22:46 +03:00
Josh Allmann
8583b14252 rtmp: Support reading interleaved chunks.
A given packet won't always come in contiguously; sometimes
they may be broken up on chunk boundaries by packets of another
channel.

This support primarily involves tracking information about the
data that's been read, so the reader can pick up where it left
off for a given channel.

As a side effect, we no longer over-report the bytes read if
(toread = MIN(size, chunk_size)) == size

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 23:19:11 +03:00
Michael Niedermayer
2d28950da9 swscale/utils: remove redundant NULL checks before sws_freeVec()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 21:48:54 +02:00
Michael Niedermayer
a446657d8c swscale/utils: simplify cpu caps printing code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 21:31:58 +02:00
Michael Niedermayer
9d052adbeb swscale/utils: Simplify scaler name printing code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 21:29:42 +02:00
Lenny Wang
29664fab0c OpenCL: convert meaningless "device id" output to "device name"
Approved-by: Wei Gao <highgod0401@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 21:21:11 +02:00
Paul B Mahol
78f680cb36 avformat/smacker: use av_malloc_array() and check for allocation error
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-17 18:29:48 +00:00
Michael Niedermayer
7703d19c40 lavf/options_table: improve option help text
Contains text suggested by carl

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 19:47:58 +02:00
Chih-Wei Huang
985920433c avformat/asfenc: fix a build error
It's introduced by the erroneous merging commit cbe47b1e.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 19:34:53 +02:00
Paul B Mahol
112017e990 avfilter/x86/vf_pullup: try to fix build on x64
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-17 17:20:58 +00:00
Martin Storsjö
d4c2a3740f xmv: Add more sanity checks for parameters read from the bitstream
Since the number of channels is multiplied by 36 and assigned to
to a uint16_t, make sure this calculation didn't overflow. (In
certain cases the calculation could overflow leaving the
truncated block_align at 0, leading to divisions by zero later.)

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 20:09:25 +03:00
Martin Storsjö
dc4acc8200 rtmpproto: Extend a comment to explain the prev_pkt arrays roles
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 20:09:25 +03:00
Martin Storsjö
647d655d19 rtmpproto: Consistently use the right prev_pkt array
prev_pkt[0] is used for input packets, while prev_pkt[1] is
used for output.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 20:09:24 +03:00
Martin Storsjö
0d3784396b rtmpproto: Check for the right return code
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 20:09:22 +03:00
Paul B Mahol
9c774459a9 avfilter: port pullup filter from libmpcodecs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-17 17:03:36 +00:00
John Stebbins
8411baf6f0 dca_parser: Handle changes in DCA frame size
A change in framesize caused a perpetual loss of synchronization.
So read (and use) the frame size from the frame header instead of
setting it only once.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-09-17 18:16:47 +02:00
Derek Buitenhuis
fcb069af8f lavc: Don't export ff_vdpau_vc1_decode_picture
It's not our responsibility to account for other projects'
terrible hacky usage.

Also, it is no longer needed by XMBC, since 78b71d4.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-09-17 12:12:21 -04:00
Michael Niedermayer
aec91de549 swscale/utils: Allow sws_setColorspaceDetails() to use the tables from sws_getColorspaceDetails()
Previously this would have lead to a memcpy(a,a) which violates the
requirement of non overlapping src and dst.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 17:21:13 +02:00
Michael Niedermayer
0988709673 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doc: Add missing hashes and dates to APIChanges

Conflicts:
	doc/APIchanges

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 17:09:58 +02:00
Michael Niedermayer
102a1d9239 Merge commit 'b1db33159fdc2da4bdd8c75e4ff9a7dd0ef2f0c2'
* commit 'b1db33159fdc2da4bdd8c75e4ff9a7dd0ef2f0c2':
  ffv1: Make sure at least one slice context is initialized

Conflicts:
	libavcodec/ffv1.c

This condition is not possible in ffmpegs ffv1 code and already
checked for by assert() for the case that some future changes make it possible.
Thus merge just for meta-data

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 17:03:22 +02:00
Michael Niedermayer
1976976674 Merge commit 'ea78a348d86a3a733f6c1e0a65cfdd8283d924b9'
* commit 'ea78a348d86a3a733f6c1e0a65cfdd8283d924b9':
  eacmv: Make sure a reference frame exists before referencing it

Conflicts:
	libavcodec/eacmv.c

See: 113d7be624
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 16:47:18 +02:00
Michael Niedermayer
8fc441cee8 Merge commit 'c39f7eba01cd656e8f0eed592f93d11814736650'
* commit 'c39f7eba01cd656e8f0eed592f93d11814736650':
  truemotion2: Use av_freep properly in an error path

Conflicts:
	libavcodec/truemotion2.c

See: c54aa2fb0f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 16:39:16 +02:00
Michael Niedermayer
028f8c3ecb Merge commit 'f875a732e36786d49f3650e3235272891a820600'
* commit 'f875a732e36786d49f3650e3235272891a820600':
  mpeg4videodec: Check the width/height in mpeg4_decode_sprite_trajectory

Conflicts:
	libavcodec/mpeg4videodec.c

See: fc5c49ab32
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 16:26:59 +02:00
Michael Niedermayer
8d0b899e38 Merge commit 'a92538b7c0defc86c55fb91f55dfa36aad192673'
* commit 'a92538b7c0defc86c55fb91f55dfa36aad192673':
  ivi_common: Make sure color planes have been initialized

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 16:22:47 +02:00
Michael Niedermayer
7f20440b4c Merge commit '7f8d41eb097e8d4223c9caf97dd332a2fdb29d52'
* commit '7f8d41eb097e8d4223c9caf97dd332a2fdb29d52':
  mov: Don't use a negative duration for setting other fields

Conflicts:
	libavformat/mov.c

See: 87d073eacc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 16:04:41 +02:00
Stefano Sabatini
5d12ec8fb7 ffprobe: downgrade log level for non fatal errors in open_input_file()
Since the errors are not fatal, it is less confusing not to show them as
errors but as warnings.

Arbitrarily fixes trac ticket #2419.
2013-09-17 15:59:48 +02:00
Michael Niedermayer
a1fb3e5127 Merge commit '19b9659f3174599e8685d329c4330b1ea8c4c6db'
* commit '19b9659f3174599e8685d329c4330b1ea8c4c6db':
  oggparseogm: Convert to use bytestream2

Conflicts:
	libavformat/oggparseogm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 15:50:21 +02:00
Michael Niedermayer
b3dfda8a41 Merge commit '711c970168297683860422e95d6b7e37ee3c8367'
* commit '711c970168297683860422e95d6b7e37ee3c8367':
  rv34: Check the return value from ff_rv34_decode_init

Conflicts:
	libavcodec/rv30.c
	libavcodec/rv40.c

See: b86651a208
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 15:38:09 +02:00
Michael Niedermayer
2c8d876dea Merge commit '569d18aa9dc989c37bb4d4b968026fe5afa6fff9'
* commit '569d18aa9dc989c37bb4d4b968026fe5afa6fff9':
  matroskadec: Verify realaudio codec parameters

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 15:25:45 +02:00
Michael Niedermayer
7163bbefa2 Merge commit 'e1f3847f860a1094a46be4c5f10db8df616c3135'
* commit 'e1f3847f860a1094a46be4c5f10db8df616c3135':
  mace: Make sure that the channel count is set to a valid value

Conflicts:
	libavcodec/mace.c

See: 6df1cfa7e4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 15:16:01 +02:00
Michael Niedermayer
a64b99503b Merge commit '1115689d54ea95a084421f5a182b8dc56cbff978'
* commit '1115689d54ea95a084421f5a182b8dc56cbff978':
  svq3: Check for any negative return value from ff_h264_check_intra_pred_mode

Conflicts:
	libavcodec/svq3.c

See: 019eb2c77b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 15:07:09 +02:00
Martin Storsjö
18a245a2ae jpeg2000dec: Add more checks when parsing headers
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 15:57:27 +03:00
Luca Barbato
c38854c399 doc: Add missing hashes and dates to APIChanges
Also fix the typo in the last entry version.
2013-09-17 13:31:54 +02:00
Michael Niedermayer
e960b3e27e avformat/utils: Print warning if reallocating probe buffer failed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 13:09:24 +02:00
Michael Niedermayer
01b4689d20 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmp: rename main_channel_id to stream_id.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 13:03:50 +02:00
Michael Niedermayer
208f9dd2ef Merge commit 'd4aef997809167832ecc64e89dda8cb445e5fe10'
* commit 'd4aef997809167832ecc64e89dda8cb445e5fe10':
  rtmp: Follow Flash player numbering for channels.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 12:57:19 +02:00
Michael Niedermayer
c71541d42a Merge commit '120af23cd5fcfc539d9575d17d403247ab17109b'
* commit '120af23cd5fcfc539d9575d17d403247ab17109b':
  rtmp: Send video on a separate channel.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 12:52:25 +02:00
Michael Niedermayer
3f760214b4 Merge commit '68b467742092364f9306283f40effde2c12efe08'
* commit '68b467742092364f9306283f40effde2c12efe08':
  lavf: Make probe_codec return an error code

Conflicts:
	libavformat/utils.c

A failure to reallocate should not free the array as it is used
to probe the codec. And failure to reallocate if the following
probe succeeds isnt a fatal error for probe_codec(). Thus this
is only partially merged to ensure probing still is attempted
with the data available.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 12:44:31 +02:00
Stefano Sabatini
4149981b37 doc/fftools-common-opts: document -help long and full output 2013-09-17 12:30:40 +02:00
Michael Niedermayer
8947de17f9 Merge commit '1daea5232fc9963ba93b1b6d07a2373f87c9b392'
* commit '1daea5232fc9963ba93b1b6d07a2373f87c9b392':
  x86: Add an xmm clobbering wrapper for avcodec_encode_video2

See: ede42109e7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 12:22:18 +02:00
Michael Niedermayer
7b836487a9 Merge commit '73084391588b0f150737990038829cac5013dd68'
* commit '73084391588b0f150737990038829cac5013dd68':
  lavf: Don't explicitly flush after each written packet in muxers

Conflicts:
	libavformat/assenc.c
	libavformat/yuv4mpeg.c

See: 8de9bb6e5e

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 12:16:55 +02:00
Michael Niedermayer
96e6447d62 Merge commit '596e5d4783ca951258a7c580951fd161f1785ec1'
* commit '596e5d4783ca951258a7c580951fd161f1785ec1':
  lavf: Add a flag to enable/disable per-packet flushing

Conflicts:
	libavformat/avformat.h
	libavformat/mux.c
	libavformat/version.h

This adds a 2nd API to set per packet flushing
If the user application indicates through either a non default then this non default takes
precedence over the other still default value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 12:01:35 +02:00
Michael Niedermayer
22f79a2d60 Merge commit '0a9425d7cfdf0113c3d32096c9406823efe0cd0a'
* commit '0a9425d7cfdf0113c3d32096c9406823efe0cd0a':
  flv: Do not export datastream as metadata

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 11:44:02 +02:00
Michael Niedermayer
a275ff7e01 Merge commit '92ed83e393d25b6d15920e90d56ee77de54a9728'
* commit '92ed83e393d25b6d15920e90d56ee77de54a9728':
  rtmp: Store all the notify messages

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 11:39:45 +02:00
Michael Niedermayer
9589b61904 Merge commit 'fe0337e89bbbe84b7274fbb0d9d56ed992937931'
* commit 'fe0337e89bbbe84b7274fbb0d9d56ed992937931':
  rtmp: Do not send the first field twice within the handshake

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 11:34:30 +02:00
Michael Niedermayer
c9eb2ce085 Merge commit '666ed7eda1d568638689ac7b0cef0a9e564ffbdf'
* commit '666ed7eda1d568638689ac7b0cef0a9e564ffbdf':
  rtmp: Drop an unneeded warning

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 11:28:16 +02:00
Michael Niedermayer
953a4191b8 Merge commit 'ffb7669e47343ac0caa866361965fdb2bf6ed825'
* commit 'ffb7669e47343ac0caa866361965fdb2bf6ed825':
  rtmp: Support play method in listen mode

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 11:22:54 +02:00
Michael Niedermayer
0483cfe8ca Merge commit '97d35fa89f73468d64f663bfc0686aa6cddd8b6a'
* commit '97d35fa89f73468d64f663bfc0686aa6cddd8b6a':
  rtmp: Factor out publish specific code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 11:17:11 +02:00
Michael Niedermayer
c74c3fb142 Merge commit '3feb3d6ce4be0a09a9f8f13d613bed25b523b6e7'
* commit '3feb3d6ce4be0a09a9f8f13d613bed25b523b6e7':
  mem: Introduce av_reallocp

Conflicts:
	doc/APIchanges
	libavutil/mem.c
	libavutil/mem.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 11:06:26 +02:00
Martin Storsjö
ede42109e7 x86: Add an xmm clobbering wrapper for avcodec_encode_video2
This is required since 187105ff8 when we started trying to
wrap this function as well.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 10:53:23 +02:00
Michael Niedermayer
ff4548f223 Merge commit '187105ff8a02bafc9c58d9d8363bb3f55a415635'
* commit '187105ff8a02bafc9c58d9d8363bb3f55a415635':
  Fix references to deleted avcodec_encode_video() function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 10:53:14 +02:00
Martin Storsjö
b1db33159f ffv1: Make sure at least one slice context is initialized
This avoids crashes when initializing the range coder for
the first slice context.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:33:38 +03:00
Martin Storsjö
ea78a348d8 eacmv: Make sure a reference frame exists before referencing it
This is similar to an existing check for the second-last frame
from 062421e3.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:33:38 +03:00
Martin Storsjö
c39f7eba01 truemotion2: Use av_freep properly in an error path
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:33:38 +03:00
Martin Storsjö
f875a732e3 mpeg4videodec: Check the width/height in mpeg4_decode_sprite_trajectory
This avoids a potential division by zero.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:33:38 +03:00
Martin Storsjö
a92538b7c0 ivi_common: Make sure color planes have been initialized
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:33:38 +03:00
Martin Storsjö
7f8d41eb09 mov: Don't use a negative duration for setting other fields
Some files have the duration set to -1 in the mdhd atom, more
or less legitimately. (We produce such files ourselves, for the
initial duration in fragmented mp4 files.)

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:33:37 +03:00
Martin Storsjö
19b9659f31 oggparseogm: Convert to use bytestream2
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:33:37 +03:00
Martin Storsjö
711c970168 rv34: Check the return value from ff_rv34_decode_init
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:33:37 +03:00
Martin Storsjö
569d18aa9d matroskadec: Verify realaudio codec parameters
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:22:30 +03:00
Martin Storsjö
e1f3847f86 mace: Make sure that the channel count is set to a valid value
Also return a proper error code.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:21:46 +03:00
Martin Storsjö
1115689d54 svq3: Check for any negative return value from ff_h264_check_intra_pred_mode
Also pass on any returned error code.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:21:16 +03:00
Josh Allmann
f8d1bb6723 rtmp: rename main_channel_id to stream_id.
This more closely corresponds to the usage of the field.
Its usage here is unrelated to the channel ID.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:03:36 +03:00
Josh Allmann
d4aef99780 rtmp: Follow Flash player numbering for channels.
Channel 4 is typically used by the Flash player to transmit
audio, channel 6 for video, and various stream-specific invokes
get sent over channel 8, which is designated the source channel.

This more closely matches the behavior of the Flash player,
including the transmission of play requests over channel 8.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:03:36 +03:00
Josh Allmann
120af23cd5 rtmp: Send video on a separate channel.
Sending non-monotonic packets (e.g. when the audio and video
streams are monotonic within themselves but not muxed
monotonically) will lead to negative values the RTMP timestamp
field (where timestamps are transmitted only as deltas for each
channel), and this delta can end up being incorrectly written as
a large unsigned number.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:03:36 +03:00
Michael Niedermayer
7129935ed2 avcodec/mjpegdec: Fix ljpeg RCT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 02:00:15 +02:00
Michael Niedermayer
7dea2eab7e Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Do not suggest to increase probesize for image2 files.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 00:27:40 +02:00
Carl Eugen Hoyos
5c2be81b39 Do not suggest to increase probesize for image2 files. 2013-09-17 00:08:12 +02:00
Vignesh Venkatasubramanian
bcac6b438e lavf/oggopus: Fixing a log message
Re-wording a log message that's no longer true and changing its
severity level to debug.

Signed-off by: Vignesh Venkatasubramanian <vigneshv@google.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 23:46:39 +02:00
Michael Niedermayer
b9e7bde6bd lavf/avienc: use av_freep() avoid stale pointers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 22:49:17 +02:00
Michael Niedermayer
46a723ec72 swscale/yuv2rgb: make sure yuvTable is set to NULL after deallocation
ensures no stale pointers remain

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 22:47:21 +02:00
Michael Niedermayer
9078b40d35 swresample: replace 2 av_free() by av_freep()
avoids leaving stale pointers in memory

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 22:44:15 +02:00
Alexandra Khirnova
68b4677420 lavf: Make probe_codec return an error code
This allows handling errors from av_realloc properly.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 22:28:23 +03:00
Martin Storsjö
1daea5232f x86: Add an xmm clobbering wrapper for avcodec_encode_video2
This is required since 187105ff8 when we started trying to
wrap this function as well.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 22:22:41 +03:00
Clément Bœsch
7308439158 lavf: Don't explicitly flush after each written packet in muxers
Since 596e5d4783, this is not necessary anymore. It also allows to
actually disable the flushing, improving write performance (but
possibly giving worse latency in real-time streaming).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 22:17:33 +03:00
Luca Barbato
596e5d4783 lavf: Add a flag to enable/disable per-packet flushing
This is enabled by default and can be disabled with
"-fflags -flush_packets".

Inspired by a patch from Nicolas George <nicolas.george@normalesup.org>.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 22:11:08 +03:00
Paul B Mahol
c051d668b5 avformat/avidec: use av_calloc() and check for allocation error
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-16 18:53:28 +00:00
Vignesh Venkatasubramanian
23637f98f4 lavf/ogg: Support for end trimming Opus
Adding support for end trimming Opus embedded in Ogg container.

Signed-Off By: Vignesh Venkatasubramanian <vigneshv@google.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 21:42:41 +02:00
Luca Barbato
0a9425d7cf flv: Do not export datastream as metadata
It is used internally.
2013-09-16 19:36:37 +02:00
Luca Barbato
92ed83e393 rtmp: Store all the notify messages
The onTextData is used to implement text data streams in flv.
2013-09-16 19:36:37 +02:00
Luca Barbato
fe0337e89b rtmp: Do not send the first field twice within the handshake 2013-09-16 19:36:37 +02:00
Luca Barbato
666ed7eda1 rtmp: Drop an unneeded warning
Apparently a widely used streaming server requires that the second
field always presents a version during C1 phase.
2013-09-16 19:36:37 +02:00
Luca Barbato
ffb7669e47 rtmp: Support play method in listen mode 2013-09-16 19:36:37 +02:00
Luca Barbato
97d35fa89f rtmp: Factor out publish specific code
Will be reused for supporting play.
2013-09-16 19:36:37 +02:00
Luca Barbato
3feb3d6ce4 mem: Introduce av_reallocp 2013-09-16 19:36:37 +02:00
Timothy Gu
b7dd459863 doc/formats: Add documentation for 3 parameters that have been missing
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 17:49:10 +02:00
Paul B Mahol
9d05de2258 avfilter: add adelay filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-16 14:33:07 +00:00
Paul B Mahol
42b8f5fba1 avformat/segafilm: remove deplanarization hack
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-16 13:30:20 +00:00
Paul B Mahol
ca5456db7f avformat/segafilm: use av_freep()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-16 13:12:45 +00:00
Michael Niedermayer
02f56bfcc3 avformat/sierravmd: use av_freep() for freeing context fields
This ensures that there are no stale pointers

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 14:53:56 +02:00
Paul B Mahol
563057731a avfilter/vf_stereod3d: add const qualifiers to ana_convert()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-16 12:37:29 +00:00
Paul B Mahol
c74d5929df avfilter/vf_stereo3d: BGR24 support for anaglyphs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-16 12:37:29 +00:00
Paul B Mahol
fcea6f71ad avfilter/vf_stereo3d: avoid pointless copy
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-16 12:37:29 +00:00
Michael Niedermayer
7283d2bb90 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avpacket: Fix error checking in packet_alloc

Conflicts:
	libavcodec/avpacket.c

See: b905a7137a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 14:22:26 +02:00
Michael Niedermayer
b3970b3949 Merge commit '6fc8226e29055858f28973bb3d27b63b3b65e616'
* commit '6fc8226e29055858f28973bb3d27b63b3b65e616':
  vp3: Check the framerate for validity

Conflicts:
	libavcodec/vp3.c

See: a56d963f11
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 14:10:31 +02:00
Vittorio Giovara
187105ff8a Fix references to deleted avcodec_encode_video() function 2013-09-16 13:59:19 +02:00
Michael Niedermayer
e0fcd0294e Merge commit 'ac9d159015a88aa2721b271875d18482f713f354'
* commit 'ac9d159015a88aa2721b271875d18482f713f354':
  proresdec: Properly make sure an index doesn't run past the limit

Conflicts:
	libavcodec/proresdec_lgpl.c

See: 30df9789a9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 13:42:20 +02:00
Michael Niedermayer
18e0dd05df Merge commit 'e90a6846c2c006fbebd00e1f2789f4a86fafacef'
* commit 'e90a6846c2c006fbebd00e1f2789f4a86fafacef':
  cavsdec: Make sure a sequence header has been decoded before decoding pictures

See: ec0965be36
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 13:04:00 +02:00
Michael Niedermayer
ff0a382758 Merge commit '5bbfe193a0a41bd2adb648c8c3f6901a575734a2'
* commit '5bbfe193a0a41bd2adb648c8c3f6901a575734a2':
  vocdec: Don't update codec parameters mid-stream

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 12:38:56 +02:00
Michael Niedermayer
cfa909ef5b Merge commit '0ef1660a6365ce60ead8858936b6f3f8ea862826'
* commit '0ef1660a6365ce60ead8858936b6f3f8ea862826':
  sierravmd: Do sanity checking of frame sizes

Conflicts:
	libavformat/sierravmd.c

See: 47c4713a23
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 12:32:24 +02:00
Michael Niedermayer
a444ddff03 Merge commit '342c43d154e586bc022c86b168fe8d36f69da9d3'
* commit '342c43d154e586bc022c86b168fe8d36f69da9d3':
  omadec: Properly check lengths before incrementing the position

See: f1d6f013b2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 12:15:42 +02:00
Michael Niedermayer
97f8d9feb7 Merge commit 'a06a5b78e2c3bd2e12aff0627a3b65c6fee555a5'
* commit 'a06a5b78e2c3bd2e12aff0627a3b65c6fee555a5':
  mathops/x86: work around inline asm miscompilation with GCC 4.8.1

See: 659df32a9d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 12:01:12 +02:00
Martin Storsjö
85e8192b85 avpacket: Fix error checking in packet_alloc
Previously the wrong buffer pointer was checked, when buf
instead of *buf was checked. But checking the return value
instead is even better.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 11:22:42 +03:00
Martin Storsjö
6fc8226e29 vp3: Check the framerate for validity
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 11:04:52 +03:00
Martin Storsjö
ac9d159015 proresdec: Properly make sure an index doesn't run past the limit
If idx equaled num_coeffs - 1 on entry to the loop, the previous
check failed to break out of the loop.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 11:04:52 +03:00
Martin Storsjö
e90a6846c2 cavsdec: Make sure a sequence header has been decoded before decoding pictures
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 11:04:52 +03:00
Martin Storsjö
5bbfe193a0 vocdec: Don't update codec parameters mid-stream
If we really want to support parameter changes, they need to be
signalled along with the AVPackets as parameter change side data,
not just changing the AVCodecContext parameters when a packet
is demuxed (since there may be other earlier packets yet undecoded).

Something similar was already done for the sample rate in 0883109b2,
but some parameters were left changeable.

This avoids having to recheck the channel count for validity for
each decoded frame in (ad)pcm decoders, unless the decoders
explicitly say that they accept parameter changes.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 11:04:52 +03:00
Martin Storsjö
0ef1660a63 sierravmd: Do sanity checking of frame sizes
Limit the size to INT_MAX/2 (for simplicity) to be sure that
size + BYTES_PER_FRAME_RECORD won't overflow.

Also factorize other existing error return paths.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 11:04:52 +03:00
Martin Storsjö
342c43d154 omadec: Properly check lengths before incrementing the position
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 11:04:52 +03:00
Compn
9ea3598085 riff: g723_1 decodes vivo g723.1 in asf
works on bellair_digital_movie.asf
2013-09-15 22:03:03 -04:00
Michael Niedermayer
7fb2622456 avcodec/mjpegdec: rgba64 ljpeg support
Fixes Ticket2965

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 03:00:54 +02:00
Michael Niedermayer
1e4e0bd907 avcodec/mjpegdec: change error return value to be outside the 16bit range
Fixes part of Ticket2965

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 02:59:33 +02:00
Paul B Mahol
7ac6c6325e libavfilter/libmpcodecs: remove unused files
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-15 21:43:04 +00:00
Michael Niedermayer
b4a5fcb998 avcodec/mjpegdec: Fix rgb48 ljpeg
Fixes Ticket894

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-15 23:36:11 +02:00
Alexander Strasser
069010ffae lavf/subtitles: Make comment less arrogant
Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2013-09-15 22:37:13 +02:00
Clément Bœsch
04427182bc avcodec: typo fix sepera* → separa* 2013-09-15 21:32:42 +02:00
Paul B Mahol
24678a61d9 avfilter/vf_gradfun: use av_calloc()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-15 19:07:02 +00:00
Paul B Mahol
693747c3d0 avfilter/vsrc_life: use av_calloc()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-15 19:07:01 +00:00
Michael Niedermayer
4f1a17b1a9 avcodec/c93: force dimensions to the correct value instead of depending on the demuxer to do so
Fixes Ticket2934

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-15 20:32:09 +02:00
Hendrik Leppkes
a06a5b78e2 mathops/x86: work around inline asm miscompilation with GCC 4.8.1
The volatile is not required here, and prevents a miscompilation with GCC
4.8.1 when building on x86 with --cpu=i686

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-09-15 11:15:07 -04:00
Michael Niedermayer
821a5938d1 avcodec/g2meet: Fix order of align and pixel size multiplication.
Fixes out of array accesses
Fixes Ticket2922

Found-by: ami_stuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-15 16:33:27 +02:00
Michael Niedermayer
e428632c1a avcodec/jpeg2000dec: print invalid cdx/y values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-15 15:37:16 +02:00
Michael Niedermayer
3dfc5f551f avfilter: avoid testing float == 0
This fixes the hypothetical case of rounding errors causing
incorrect values to be used.
We do not use *_EPSILON, because non trivial expressions can contain
errors larger than that making a zero equality test with *_EPSILON
unreliable.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-15 15:33:39 +02:00
Paul B Mahol
60abdb6c17 avfilter/af_aecho & af_compand: use extended_data
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-15 12:10:12 +00:00
Compn
a06e20888d changelog: add ffv1 yuva and dts streamid change 2013-09-15 07:24:16 -04:00
Paul B Mahol
211a185cba avfilter/avfilter: check allocation failure in ff_insert_pad()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-15 11:09:23 +00:00
James Almer
5ab7b3b948 matroskadec: Mute "Unknown entry" log messages for CueRelativePosition entries
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-15 12:57:19 +02:00
Michael Niedermayer
61b3b58720 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mem: Document the non-compatibility of av_realloc() and av_malloc()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-15 11:57:02 +02:00
Timothy Gu
81bbe49a0e doc/encoders: improve libvo-aacenc doc
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-09-15 11:35:32 +02:00
Timothy Gu
0e11790cf7 doc/encoders: add doc for AAC encoder
Thanks-to: Kostya Shishkov <kostya.shishkov@gmail.com>
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-09-15 11:35:17 +02:00
Michael Niedermayer
529540759f avcodec/simple_idct_template: adjust coeffs for 12bit idct
This prevents overflows with 12bit jpegs
Fixes Ticket2952

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-15 03:21:03 +02:00
James Almer
d59213b5d3 matroskaenc: Bump DocTypeVersion to 4
The muxer has been creating files with v4 elements for some time now,
and especially now that we can mux non-experimental Opus files, reporting
the DocTypeVersion as 2 is not correct.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-15 02:08:15 +02:00
Dave Rice
2fcef19c38 Adding a line to Changelog about FFV1 version 1.3 now being stable
FFV1 version 1.3 is non-experimental as of Aug 26, 2013. Adding that to the changelog.

Signed-Off By: dericed <dave@dericed.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-14 23:16:57 +02:00
Paul B Mahol
f2afe96181 avformat/nutenc: use av_reallocp_array()
Fixes memleak on allocation error.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-14 16:14:43 +00:00
Paul B Mahol
6a70feadb0 avformat/nutenc: use av_calloc()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-14 16:14:43 +00:00
Diego Biurrun
9997a812e7 mem: Document the non-compatibility of av_realloc() and av_malloc() 2013-09-14 17:38:01 +02:00
Piotr Bandurski
1a3d142f1f avcodec/bfi: check for malloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-14 17:35:48 +02:00
Piotr Bandurski
bb5e7d3b5a avcodec/mationpixels: free memory after malloc failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-14 17:35:48 +02:00
Paul B Mahol
7d8939a0ff avfilter/avf_avectorscope: improve description
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-14 12:11:22 +00:00
Paul B Mahol
8134edf3eb avcodec/cdxl: use av_freep()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-14 10:45:14 +00:00
Piotr Bandurski
8728360b56 avcodec/mationpixels: check for malloc failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-14 04:12:21 +02:00
Alexey Balekhov
90ca814267 ffserver: allow choosing the pixel format
Fixes Ticket2954

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-14 03:51:45 +02:00
Michael Niedermayer
108b91c3fe avcodec/mpeg12dec: clear mpeg_enc_ctx_allocated when contexts are deallocated
Fixes Ticket2950

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-14 00:31:40 +02:00
Michael Niedermayer
6c07e41f43 avcodec/mjpegdec: check for malloc failure of blocks[] and last_nnz[]
Fixes null pointer dereference
Fixes Ticket2947

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-13 23:25:16 +02:00
Paul B Mahol
23bd0335af avcodec/g2meet: remove redundant log message
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-13 20:41:12 +00:00
Paul B Mahol
3dcd3e08f6 avcodec/proresdec2: remove duplicated tables
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-13 19:28:10 +00:00
Paul B Mahol
b8b398027c avfilter/video: remove commented out cruft
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-13 19:17:56 +00:00
Michael Niedermayer
f3ba91a3f1 avutil/pixdesc: dont try to use av_read_image_line() with bayer formats
It has undefined behavior ATM as its not supported.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-13 20:51:41 +02:00
Michael Niedermayer
a25585bb50 avutil/pixdesc: Prevent minor array overread in ff_check_pixfmt_descriptors()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-13 20:51:04 +02:00
Michael Niedermayer
fc477263fa Merge remote-tracking branch 'qatar/master'
* qatar/master:
  pcm-dvd: Minor leftovers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-13 13:48:43 +02:00
Michael Niedermayer
3c89ec2816 Merge commit 'd9cdb7d8d6d828bb5497ea3f0fd7edd2f3f6cc30'
* commit 'd9cdb7d8d6d828bb5497ea3f0fd7edd2f3f6cc30':
  pcm-dvd: Support channel configuration changes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-13 13:43:13 +02:00
Christian Schmidt
aca25104ea pcm-dvd: Minor leftovers
Drop a pointless branch in uninit and use the compact copyright.
2013-09-13 12:14:05 +02:00
Christian Schmidt
d9cdb7d8d6 pcm-dvd: Support channel configuration changes
The sample buffering logic does not take into account that the blocksize
could change. Reset the buffer if the channel configuration changes,
since if there are leftover samples, it is most likely a broken or
misconcatenated stream. This could lead to negative numbers for
missing_samples during decoding.

Thanks to Michael Niedermeyer for pointing these out.
2013-09-13 12:14:05 +02:00
Michael Niedermayer
126ba68826 avfilter/vf_noise: rename linesize to bytewidth
Its the width in bytes and not the linesize or stride.
This makes the naming more consistent with the rest of the codebase

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-13 11:51:37 +02:00
Michael Niedermayer
53102fa2f0 Revert "avfilter/vf_noise: dont corrupt the picture outside width x height"
This reverts commit 51dab60c7b.

this fixed nothing, and was just the result of assuming that the
variable named linesize was the linesize. Its not, its the width
in bytes which was already correct.

Found-by: durandal_1707
2013-09-13 11:51:37 +02:00
Georg Martius
ad96482d67 avfilter/vidstabtransform: allow negative zoom.
This is useful in addition to crop=black.

Signed-off-by: Clément Bœsch <clement@stupeflix.com>
2013-09-13 11:46:44 +02:00
Vignesh Venkatasubramanian
b7bd68853d lavf/matroska: Removing experimental suffix for Opus
Removing the /EXPERIMENTAL suffix for codec id field for Opus. Doing this
as the implementation of embedding Opus in Matroska is complete.

Signed-Off By: Vignesh Venkatasubramanian <vigneshv@google.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 23:55:29 +02:00
Vignesh Venkatasubramanian
1d0d2201b4 Adding a line to Changelog about Opus Matroska Support
Next release of ffmpeg will support embedding Opus in Matroska
container. Adding that to the Changelog.

Signed-Off By: Vignesh Venkatasubramanian <vigneshv@google.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 23:55:28 +02:00
Michael Niedermayer
e2774b3e3b Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Set bits_per_raw_sample when reading j2k frames.
  libopenjpegdec.c: Correctly scale gray16 output if precision < 16
  Use rc_max_rate if no video bit_rate was specified when muxing mxf_d10.
  Store the video bit_rate in the context when muxing mxf.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 22:19:46 +02:00
Paul B Mahol
1b99514dfd avcodec/smacker: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-12 16:34:54 +00:00
Michael Niedermayer
16837f9846 avcodec/aacenc: use enum for aac coder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 17:25:30 +02:00
Timothy Gu
5748e24950 aacenc: use constants to set AAC coder
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 17:22:48 +02:00
Timothy Gu
4bd910d83d aacenc: add AAC_CODER_(FAAC|ANMR|etc.) macros
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 17:22:36 +02:00
Michael Niedermayer
bfe1445871 avcodec/aic: fix "warning: comparison of unsigned expression < 0 is always false"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 17:14:55 +02:00
Michael Niedermayer
51dab60c7b avfilter/vf_noise: dont corrupt the picture outside width x height
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 17:14:54 +02:00
Paul B Mahol
3eba83daed avfilter/vf_noise: unbreak filter when inline assembly is not present
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-12 14:54:10 +00:00
Michael Niedermayer
f144168d9b avcodec/smacker: fix some memleaks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 16:17:32 +02:00
Michael Niedermayer
fbab9a7c22 avcodec/smacker: remove check that has become redundant
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 16:17:32 +02:00
Michael Niedermayer
59a08d1939 avcodec/smacker: use the correct field instead of a hardcoded value for the index check in smacker_decode_tree()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 16:17:32 +02:00
Michael Niedermayer
d2d96f9e47 vformat/smacker: use av_freep() to ensure no stale pointers remain
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 16:17:32 +02:00
Paul B Mahol
b211607b5c avfilter: various cosmetics
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-12 14:01:43 +00:00
Michael Niedermayer
ba5e77814e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  matroskaenc: Fix stray pointers left over from av_reallocp_array refactoring

Conflicts:
	libavformat/matroskaenc.c

Mostly not merged as the buggy code was no longer part of FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 15:26:06 +02:00
Stefano Sabatini
52ed1d6d58 MAINTAINERS: move sections from lavc to lavu
Reflect current code organization.
2013-09-12 15:17:11 +02:00
Michael Niedermayer
44fb7de8ee Merge commit 'c0779a67e85df856904ee6fab760c4233d4c2be5'
* commit 'c0779a67e85df856904ee6fab760c4233d4c2be5':
  mp3: add .mpa extension

Conflicts:
	libavformat/mp3dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 15:02:23 +02:00
Michael Niedermayer
07f6a3d787 Merge commit 'e2cd766ca1b9bb2ba72aca5f6ba5d8be15743984'
* commit 'e2cd766ca1b9bb2ba72aca5f6ba5d8be15743984':
  configure: Mention that icl does not build both static and shared libs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 14:57:23 +02:00
Michael Niedermayer
fa9e8bafc8 Merge commit 'b1e469885362febce3d9a4678624e44a92f77da9'
* commit 'b1e469885362febce3d9a4678624e44a92f77da9':
  g2meet: Allocate cursor buffers large enough to fit the aligned width

See: 3c4c5ca1c1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 14:48:55 +02:00
Michael Niedermayer
72abfba884 Merge commit '0f678c0214dccb355ed8955077a2bea46984fbc8'
* commit '0f678c0214dccb355ed8955077a2bea46984fbc8':
  aic: Validate values read from the bitstream

Conflicts:
	libavcodec/aic.c

See: 657875b145
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 14:33:49 +02:00
Michael Niedermayer
83d2b7e9a2 Merge commit '17d57848fc14e82f76a65ffb25c90f2f011dc4a0'
* commit '17d57848fc14e82f76a65ffb25c90f2f011dc4a0':
  mpc8: Make sure the first stream exists before parsing the seek table

Conflicts:
	libavformat/mpc8.c

See: 69fb605ad5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 14:31:07 +02:00
Michael Niedermayer
ad9a877a6d Merge commit '459f2b393a3f89ed08d10fbceb4738d1429f268e'
* commit '459f2b393a3f89ed08d10fbceb4738d1429f268e':
  mpc8: Check the seek table size parsed from the bitstream

Conflicts:
	libavformat/mpc8.c

See: b61ba262a1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 14:10:17 +02:00
Michael Niedermayer
d6e650d885 Merge commit '0d61f260010707f3028b818e8b24598e1a83d696'
* commit '0d61f260010707f3028b818e8b24598e1a83d696':
  zmbvdec: Check the buffer size for uncompressed data

Conflicts:
	libavcodec/zmbv.c

See: 44c23aa1b8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 13:58:54 +02:00
Michael Niedermayer
fcfbc58a1c Merge commit '183b9d843a9533774fabd3984a52f3987001acbc'
* commit '183b9d843a9533774fabd3984a52f3987001acbc':
  ape: Don't allow the seektable to be omitted

See: e7cb161515
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 13:51:20 +02:00
Michael Niedermayer
4caf8c51de Merge commit 'b26742cc308552f242ee2bf93b07a3ff509f4edc'
* commit 'b26742cc308552f242ee2bf93b07a3ff509f4edc':
  shorten: Break out of loop looking for fmt chunk if none is found

See: 5e9a56a035
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 13:38:52 +02:00
Michael Niedermayer
a44d35d90f Merge commit '49568851bf1700e3d9ea9cda29208d0df3c2c38b'
* commit '49568851bf1700e3d9ea9cda29208d0df3c2c38b':
  shorten: Use a checked bytestream reader for the wave header

Conflicts:
	libavcodec/shorten.c

See: 5e9a56a035
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 13:31:59 +02:00
Alexandra Khirnova
00a63bfb87 matroskaenc: Fix stray pointers left over from av_reallocp_array refactoring
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-09-12 13:16:15 +02:00
Vittorio Giovara
c0779a67e8 mp3: add .mpa extension
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-09-12 13:16:15 +02:00
Diego Biurrun
e2cd766ca1 configure: Mention that icl does not build both static and shared libs 2013-09-12 13:00:22 +02:00
Michael Niedermayer
af539319af Merge commit 'f3d57dc69145f1b7acb4870da9ce60378190a1fd'
* commit 'f3d57dc69145f1b7acb4870da9ce60378190a1fd':
  smacker: Free memory properly if the init function fails

Conflicts:
	libavcodec/smacker.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 12:57:58 +02:00
Michael Niedermayer
f8932d9902 Merge commit '0679cec6e8802643bbe6d5f68ca1110a7d3171da'
* commit '0679cec6e8802643bbe6d5f68ca1110a7d3171da':
  smacker: Make sure we don't fill in huffman codes out of range

Conflicts:
	libavcodec/smacker.c

See: 1285baaab5
the added test is redundant but will be used after future refactoring

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 12:51:07 +02:00
Michael Niedermayer
d510d70df0 Merge commit 'd002fce24a7206e95f9492031f45adc35711e183'
* commit 'd002fce24a7206e95f9492031f45adc35711e183':
  smacker: Check malloc return values

Conflicts:
	libavcodec/smacker.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 11:55:08 +02:00
Michael Niedermayer
c16cd55593 Merge commit '710b0e27025948b7511821c2f888ff2d74a59e14'
* commit '710b0e27025948b7511821c2f888ff2d74a59e14':
  smacker: Avoid integer overflow when allocating packets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 11:39:18 +02:00
Michael Niedermayer
33cf70a8b8 Merge commit '8d928023f953a28692ba27071a448259134b103b'
* commit '8d928023f953a28692ba27071a448259134b103b':
  smacker: Don't return packets in unallocated streams

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 11:26:17 +02:00
Michael Niedermayer
7e88dbe935 Merge commit '48d6556dd46d4f4fac10d0f4a819e314887cd50e'
* commit '48d6556dd46d4f4fac10d0f4a819e314887cd50e':
  dsicin: Add some basic sanity checks for fields read from the file

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 11:19:38 +02:00
Michael Niedermayer
ae77f06c69 Merge commit '5045f6bdfabfa5d3374756d2c23f762fb042acae'
* commit '5045f6bdfabfa5d3374756d2c23f762fb042acae':
  configure: Fix wrong reference to user support mailing list

Conflicts:
	configure

No change as the reference was not wrong in ffmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 11:10:46 +02:00
Martin Storsjö
b1e4698853 g2meet: Allocate cursor buffers large enough to fit the aligned width
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-12 10:55:20 +03:00
Martin Storsjö
0f678c0214 aic: Validate values read from the bitstream
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-12 10:54:54 +03:00
Martin Storsjö
17d57848fc mpc8: Make sure the first stream exists before parsing the seek table
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-12 10:54:27 +03:00
Martin Storsjö
459f2b393a mpc8: Check the seek table size parsed from the bitstream
Limit the size to INT_MAX/2 (for simplicity) to be sure that
size + FF_INPUT_BUFFER_PADDING_SIZE won't overflow.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-12 10:54:05 +03:00
Michael Niedermayer
0d61f26001 zmbvdec: Check the buffer size for uncompressed data
Also don't pointlessly set the buffer size to 1 after copying
one packet.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-12 10:53:39 +03:00
Martin Storsjö
183b9d843a ape: Don't allow the seektable to be omitted
The seektable is required for filling in ape->frames[i].pos
further down.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-12 10:53:25 +03:00
Martin Storsjö
b26742cc30 shorten: Break out of loop looking for fmt chunk if none is found
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-12 10:53:04 +03:00
Martin Storsjö
49568851bf shorten: Use a checked bytestream reader for the wave header
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-12 10:52:42 +03:00
Carl Eugen Hoyos
f99f7f4025 Set bits_per_raw_sample when reading j2k frames. 2013-09-12 09:23:32 +02:00
Michael Bradshaw
7412a4a48f libopenjpegdec.c: Correctly scale gray16 output if precision < 16
Fixes ticket #2943.

Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-09-12 09:21:51 +02:00
Carl Eugen Hoyos
d73565d5dd Use rc_max_rate if no video bit_rate was specified when muxing mxf_d10.
Fixes ticket #2945.

Reviewed-by: Matthieu Bouron
2013-09-12 08:58:27 +02:00
Carl Eugen Hoyos
52cf08b4c8 Store the video bit_rate in the context when muxing mxf.
This will allow using rc_max_rate if no bit_rate is specified (on remuxing).

Reviewed-by: Matthieu Bouron
2013-09-12 08:58:27 +02:00
James Almer
bbcaf25d4d lavu/sha512: Fully unroll the transform function loops
crypto_bench SHA-512 results using an AMD Athlon X2 7750+, mingw32-w64 GCC 4.7.3 x86_64

Before:
lavu       SHA-512      size: 1048576  runs:   1024  time:   12.737 +- 0.147

After:
lavu       SHA-512      size: 1048576  runs:   1024  time:   11.670 +- 0.173

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 21:55:59 +02:00
James Almer
7e4fe5162a lavu/sha: Fully unroll the transform function loops
crypto_bench SHA-1 and SHA-256 results using an AMD Athlon X2 7750+, mingw32-w64 GCC 4.7.3 x86_64

Before:
lavu       SHA-1        size: 1048576  runs:   1024  time:    9.012 +- 0.162
lavu       SHA-256      size: 1048576  runs:   1024  time:   19.625 +- 0.173

After:
lavu       SHA-1        size: 1048576  runs:   1024  time:    7.948 +- 0.154
lavu       SHA-256      size: 1048576  runs:   1024  time:   17.841 +- 0.170

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 21:55:59 +02:00
Martin Storsjö
f3d57dc691 smacker: Free memory properly if the init function fails
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-11 20:20:50 +03:00
Martin Storsjö
0679cec6e8 smacker: Make sure we don't fill in huffman codes out of range
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-11 20:20:45 +03:00
Martin Storsjö
d002fce24a smacker: Check malloc return values
Also try to free local allocations on errors.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-11 20:20:28 +03:00
Martin Storsjö
710b0e2702 smacker: Avoid integer overflow when allocating packets
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-11 20:19:43 +03:00
Martin Storsjö
8d928023f9 smacker: Don't return packets in unallocated streams
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-11 20:19:12 +03:00
Martin Storsjö
48d6556dd4 dsicin: Add some basic sanity checks for fields read from the file
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-11 20:18:55 +03:00
Paul B Mahol
a8e00cf926 avfilter: remove redundant use of AV_NE() macro
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-11 15:05:21 +00:00
Paul B Mahol
269845db86 avformat/nutdec: check for allocation failures
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-11 15:04:08 +00:00
Paul B Mahol
99a283331c avfilter/vf_traspose: move switch out of loop
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-11 15:02:08 +00:00
Dylan Alex Simon
38155b47fd avcodec: add const qualifier to avcodec_find_best_pix_fmt2 args
avcodec_find_best_pix_fmt2 does not modify its first argument so may be
marked const.  This avoids a warning when passing in AVCodec.pix_fmts.

Signed-off-by: Dylan Simon <dylan@dylex.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 16:54:02 +02:00
Diego Biurrun
5045f6bdfa configure: Fix wrong reference to user support mailing list 2013-09-11 14:49:56 +02:00
Michael Niedermayer
2a1c24a267 avformat/utils: use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 13:38:53 +02:00
Michael Niedermayer
c5714097eb avformat/mxfdec: use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 13:37:31 +02:00
Michael Niedermayer
9bca8e5341 avformat/matroskaenc: use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 13:36:11 +02:00
Michael Niedermayer
e529082369 avformat/matroskadec: use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 13:34:25 +02:00
Michael Niedermayer
b5b34c1983 avformat/matroskaenc: use av_freep() to avoid leaving stale pointers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 13:28:41 +02:00
Michael Niedermayer
2175f76894 avformat/asfenc: use av_freep() for extra saftey
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 13:21:11 +02:00
Michael Niedermayer
2832a82e17 avformat/gxfenc: Clear nb_fields on array deallocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 13:21:11 +02:00
Michael Niedermayer
a6ca08f1af avformat/gxfenc: Check and propagate return code from gxf_write_map_packet()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 13:21:11 +02:00
Paul B Mahol
9e505485f3 avformat/smacker: check avformat_new_stream() return value
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-11 11:12:35 +00:00
Paul B Mahol
848ad8db22 avformat/libnut: check avformat_new_stream() return value
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-11 11:06:45 +00:00
Paul B Mahol
f2e614e7e9 avformat/ffmetadec: return meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-11 11:06:44 +00:00
Paul B Mahol
60caa3d8bc avformat/sierravmd: check for memory allocation failures
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-11 11:06:44 +00:00
Paul B Mahol
00e1bf8a58 avformat/flic: check for memory allocation failures
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-11 11:06:44 +00:00
Michael Niedermayer
803445e02c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Drop pointless directory name prefixes from #includes in the current dir

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 12:51:01 +02:00
Michael Niedermayer
c45e9097d8 Merge commit 'ec17d1aa8b833d49d8fc479e44e9e22858aa486c'
* commit 'ec17d1aa8b833d49d8fc479e44e9e22858aa486c':
  doc: Drop VDPAU from list of supported codecs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 12:42:11 +02:00
Michael Niedermayer
24da9eb25d Merge commit 'c58f4069e1d5b5804c669b691510e1b8fabb67fc'
* commit 'c58f4069e1d5b5804c669b691510e1b8fabb67fc':
  fate.sh: Run git-clone quietly

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 12:31:51 +02:00
Michael Niedermayer
8c9d6ee4f2 avformat/utils: functions that add entries should not destroy the whole list on failure
The caller does not expect this, and in case of adding new streams would then
not even be able to deallocate them anymore.

This reverts a hunk from "avformat: Use av_reallocp_array() where suitable"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 12:21:21 +02:00
Michael Niedermayer
5ca39a0b89 avformat/mxfdec: functions that add entries should not destroy the whole list on failure
The caller does not expect this and there are variables left that index to otherwise
deallocated data.

This reverts a hunk from "avformat: Use av_reallocp_array() where suitable"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 12:19:17 +02:00
Michael Niedermayer
c9367c0709 avformat/matroskaenc: functions that add entries should not destroy the whole list on failure
This reverts a hunk from "avformat: Use av_reallocp_array() where suitable"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 12:16:21 +02:00
Michael Niedermayer
32805f8521 avformat/matroskadec: ebml_parse_elem() should not deallocate priorly existing lists on failure
This reverts a hunk from "avformat: Use av_reallocp_array() where suitable"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 12:15:08 +02:00
Michael Niedermayer
cbe47b1e84 Merge commit 'f369b9356c4606cd4d713d60f7db5de119d901fa'
* commit 'f369b9356c4606cd4d713d60f7db5de119d901fa':
  avformat: Use av_reallocp_array() where suitable

Conflicts:
	libavformat/asfenc.c
	libavformat/gxfenc.c
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 11:23:40 +02:00
Michael Niedermayer
64b6279d14 avcodec/mjpegdec: Support >8bpc color mjpeg
Fixes Ticket2939

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 02:45:17 +02:00
Michael Niedermayer
7bc9fb8cde avcodec/utils: add 16bit planar YUV formats to avcodec_align_dimensions2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 02:45:17 +02:00
Vignesh Venkatasubramanian
ae12d65538 lavcodec: Adding support for End Trimming in Opus encoder
Adds the end trimming value (duration to be trimmed from the end
of the file due to padding) to the packet's side data. This is
then made use by the muxer to put the value in the container.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 01:03:07 +02:00
Vignesh Venkatasubramanian
7b0a839b0b opus/matroska: Adding support for End Trimming in demuxer/decoder
Implementing support for end trimming Opus in Matroska by making
use of the DiscardPadding value from the container and discarding
the samples accordingly.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 23:11:15 +02:00
Vignesh Venkatasubramanian
889bc79b5f lavc/utils: Add support for discarding samples from the end
Adding support for discarding samples from the end based on the value in
AV_PKT_DATA_SKIP_SAMPLES side data's bytes 5-8.

Signed-off By: Vignesh Venkatasubramanian <vigneshv@google.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 22:53:21 +02:00
Paul B Mahol
bf5ceeffc3 avfilter/vf_psnr: >8 bit planar support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-10 16:45:48 +00:00
Timothy Gu
83165e39fe doc: Rename avtools-common-opts to fftools-common opts
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 18:04:03 +02:00
Paul B Mahol
942babd87f avcodec/vp56: use av_reallocp_array() and check if allocation failed
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-10 15:44:10 +00:00
Michael Niedermayer
7883827cb7 ffmpeg: check for unsupported "queing of command on first filter supporting the specific commend"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 14:13:44 +02:00
Michael Niedermayer
1525107313 ffmpeg: improve built in docs for passing commands
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 14:13:18 +02:00
Michael Niedermayer
f8f4e48b6d ffmpeg: print command replies starting on column 0
This fixes formating issues with multi-line replies

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 13:57:29 +02:00
Michael Niedermayer
bb23bf8fd7 avfilter/avfilter: fix null pointer dereference with queued ping filters
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 13:39:57 +02:00
Michael Bradshaw
9b07d34efb Make avcodec_find_best_pix_fmt_of_list const-correct
Signed-off-by: Michael Bradshaw <mjbshaw@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 12:46:56 +02:00
Piotr Bandurski
5cfa51929f avformat/riff: add 0x594a TwoCC
sample:

http://samples.mplayerhq.hu/game-formats/wc4-xan/crusader-no-regret.avi

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 12:44:26 +02:00
Diego Biurrun
a0b901a348 Drop pointless directory name prefixes from #includes in the current dir 2013-09-10 12:38:41 +02:00
Diego Biurrun
ec17d1aa8b doc: Drop VDPAU from list of supported codecs 2013-09-10 12:38:41 +02:00
Diego Biurrun
c58f4069e1 fate.sh: Run git-clone quietly 2013-09-10 12:38:41 +02:00
Alexandra Khirnova
f369b9356c avformat: Use av_reallocp_array() where suitable
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-09-10 12:38:32 +02:00
Michael Niedermayer
46405813c3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: Simplify setting the fragmentation flag

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 10:20:11 +02:00
Michael Niedermayer
ada9b17e7a Merge commit '8b524ab0c43c1767919530abb79d3656113cdc47'
* commit '8b524ab0c43c1767919530abb79d3656113cdc47':
  movenc: Add a warning message if conflicting options have been specified

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 10:08:38 +02:00
Michael Niedermayer
16ae64ce24 Merge commit 'a6a4596e12192375e1d9dffeae24d6d4c41b25c1'
* commit 'a6a4596e12192375e1d9dffeae24d6d4c41b25c1':
  tcp: Explicitly convert a pointer to a boolean integer

Conflicts:
	libavformat/tcp.c

See: 22fbc7f8be
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 10:00:09 +02:00
Michael Niedermayer
f7003c7a3b Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Use 0x88 as stream id when muxing DTS in program streams.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 02:05:13 +02:00
Carl Eugen Hoyos
fe8e01361f Use 0x88 as stream id when muxing DTS in program streams.
This is what other open source software uses and what
some hardware players expect.
Tested by trac user iuqbgq9h-1 at yahoo
2013-09-10 01:48:59 +02:00
Vignesh Venkatasubramanian
d92b1b1bab lavf/matroska: Adding support for Opus CodecDelay
In order to represent the codec delay accurately in Matroska, a
new element CodecDelay has been introduced. It contains the
overall delay added by the codec in nanoseconds. This patch adds
support for muxing CodecDelay value in the container.
Matroska spec for CodecDelay element can be found here:
http://matroska.org/technical/specs/index.html#CodecDelay

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 01:45:38 +02:00
Vignesh Venkatasubramanian
bb47aa5850 opus/matroska: Adding support for DiscardPadding in muxer
Support for end trimming Opus in Matroska is implemented by using
the DiscardPadding container element in the Block data. The last
chunk is stored as a Block instead of SimpleBlock and the
trimming information is stored and used to discard samples that
were padded by the Opus codec. This patch adds support for muxing
DiscardPadding element into the container with appropriate value.
Matroska spec for the DiscardPadding element can be found here:
http://matroska.org/technical/specs/index.html#DiscardPadding

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 01:04:06 +02:00
Martin Storsjö
bdf990425e movenc: Simplify setting the fragmentation flag
This makes sure the faststart vs fragmentation check works as
intended when fragmentation is enabled due to using the ismv mode.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-09 23:58:33 +03:00
Martin Storsjö
8b524ab0c4 movenc: Add a warning message if conflicting options have been specified
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-09 23:57:41 +03:00
Martin Storsjö
a6a4596e12 tcp: Explicitly convert a pointer to a boolean integer
This fixes warnings about making integers from pointers without
a cast, and avoids the theoretical case where the lower 32 bits of
the pointer would all be zero where the implicit cast wouldn't give
the right result.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-09 23:57:04 +03:00
Paul B Mahol
d1a16564a2 avcodec/ffv1: YUVA(444,422,420) 9, 10 and 16 bit support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-09 19:49:37 +00:00
Paul B Mahol
a27227d401 avcodec/ffv1dec: fix format detection
Fixes crash with carefuly designed files.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-09 19:49:01 +00:00
Reimar Döffinger
723cf4b29e Move packed B-frames message level to info.
Since they generally decode fine, printing it as a warning
might not really be appropriate.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-09-09 20:51:08 +02:00
Reimar Döffinger
4ebf09c346 Make packed B-frame warning message more useful.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-09-09 20:51:08 +02:00
Michael Niedermayer
3576b564ec avcodec/ffv1enc: encode slice as raw PCM in 1.4 when the buffer is too small.
This limits the maximum size of encoded slices more tightly

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-09 20:20:21 +02:00
Michael Niedermayer
8393b80b7d avcodec/ffv1dec: Support decoding planes as raw PCM in 1.4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-09 20:19:28 +02:00
Michael Niedermayer
77f521d9e5 avcodec/ffv1enc: check encode_line()s return code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-09 20:19:24 +02:00
Michael Niedermayer
3728603f18 avcodec/ffv1enc: update buffer check for 16bps
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-09 20:19:17 +02:00
Michael Niedermayer
904a2864bd avcodec/ffv1enc: fix size used for ff_alloc_packet2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-09 20:19:08 +02:00
Michael Niedermayer
9a0e20817a avcodec/util: Make size argument of ff_alloc_packet2() int64_t
This ensures that huge sizes dont get truncated before the check in ff_alloc_packet2()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-09 20:18:54 +02:00
Paul B Mahol
a5615b82eb avcodec/eatgv: use av_reallocp_array() and check return value
Fixes #2949.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-09 12:26:05 +00:00
Paul B Mahol
81f231b5c7 avcodec/asfdec: check return value of av_mallocz()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-09 12:09:31 +00:00
Paul B Mahol
5e66d8ac63 avcodec/xwdenc: use AV_LOG_ERROR in error message
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-09 11:58:12 +00:00
Paul B Mahol
9bc59c108b avcodec/bmpenc: return meaningful error code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-09 11:58:11 +00:00
Paul B Mahol
6e07bb3639 avcodec/truemotion2: use av_reallocp_array() and check return value
Also reset tok_lens if reallocation fails.

Fixes #2946.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-09 11:53:38 +00:00
Rainer Hochecker
7d75fb381b h264: do not discard NAL_SEI when skipping frames
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-09 11:42:26 +02:00
James Almer
8702a94e49 lavu/ripemd: Add a size optimized version of the transform functions
When compiling with --enable-small, ripemd.o will weigh a few kilobytes less than
it used to before the previous commit.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-09 11:18:48 +02:00
James Almer
452ac2aaec lavu/ripemd: Fully unroll the transform function loops
crypto_bench RIPEMD-160 results using an AMD Athlon X2 7750+, mingw32-w64 GCC 4.8.1 x86_64

Before:
lavu       RIPEMD-160   size: 1048576  runs:   1024  time:   12.342 +- 0.199

After:
lavu       RIPEMD-160   size: 1048576  runs:   1024  time:   10.143 +- 0.192

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-09 11:18:43 +02:00
wm4
b4e1630d4d lavc: don't show "Invalid and inefficient vfw-avi..." warning in mpeg4 parser
Only the actual decoder should print this warning.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-09 03:14:53 +02:00
Michael Niedermayer
ce22820627 avcodec/mjpegdec: fix shift_output() with lowres
Fixes Ticket2940

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-09 01:46:14 +02:00
Michael Niedermayer
7caaa72e62 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  libxvid: guess a good aspect when we cant store the exact one.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-08 23:49:33 +02:00
Paul B Mahol
43497d8a83 avcodec/proresdec2: return meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-08 21:44:32 +00:00
Michael Niedermayer
d8fb170da2 avcodec/ratecontrol: give some trivial tips in case of buffer underflows
See Ticket2725

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-08 23:11:39 +02:00
Carl Eugen Hoyos
43353bf32c libxvid: guess a good aspect when we cant store the exact one.
Based on 394781a8.
2013-09-08 22:53:14 +02:00
Paul B Mahol
cd6241b5df avcodec/truemotion2: use av_calloc() & av_malloc_array()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-08 18:56:06 +00:00
Michael Niedermayer
c54aa2fb0f avcodec/truemotion2: Fix av_freep arguments
Fixes null pointer dereference
Fixes Ticket2944

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-08 20:27:54 +02:00
Michael Niedermayer
8586d8dda2 avformat/avidec: fix signedness of pointer type in get_stream_idx()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-08 19:02:19 +02:00
Clément Bœsch
3a54c221d5 avcodec/srtdec: fix potential overread. 2013-09-08 18:50:25 +02:00
Clément Bœsch
860a081058 avcodec/assenc: fix potential overread. 2013-09-08 18:50:25 +02:00
Clément Bœsch
378a830e7b avformat/subtitles: support standalone CR (MacOS).
Recent .srt files with CR only were found in the wild.
2013-09-08 18:48:35 +02:00
Clément Bœsch
90fc00a623 avformat/subtitles: add a next line jumper and use it.
This fixes a bunch of possible overread in avformat with the idiom p +=
strcspn(p, "\n") + 1 (strcspn() can focus on the trailing '\0' if no
'\n' is found, so the +1 leads to an overread).

Note on lavf/matroskaenc: no extra subtitles.o Makefile dependency is
added because only the header is required for ff_subtitles_next_line().

Note on lavf/mpsubdec: code gets slightly complex to avoid an infinite
loop in the probing since there is no more forced increment.
2013-09-08 18:48:09 +02:00
Clément Bœsch
cfcd55db16 avformat/srtdec: skip initial random line breaks.
I found a bunch of (recent) SRT files in the wild with 3 to 10 line
breaks at the beginning.
2013-09-08 18:37:07 +02:00
Paul B Mahol
7d7b4e8d5c avcodec/png: remove obsolete comments
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-08 15:13:33 +00:00
Michael Niedermayer
c914c99d4b swscale/utils: use memcpy instead of loop in sws_cloneVec()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-08 16:39:38 +02:00
Paul B Mahol
14851ca5f5 avformat/matroskaenc: remove bogus prores tag
Fixes: ffmpeg -i input -c:v prores output.mkv

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-08 13:03:08 +00:00
Giorgio Vazzana
7f6ec05f09 lavd/v4l2: Improve debug message
In particular, print the standard supported by the selected input.
Additionally, use PRIx64 everywhere when printing standards.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-08 14:30:52 +02:00
Paul B Mahol
0227b42926 avfilter/vf_psnr: refactor subsampled format support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-08 12:01:44 +00:00
Clément Bœsch
b1319e14e3 avformat/subtitles: binary search seeking. 2013-09-08 12:54:49 +02:00
Clément Bœsch
1ca4bf930b avformat/subtitles: check lower bound for duration overlap seeking. 2013-09-08 12:54:49 +02:00
Clément Bœsch
f8678dcef3 avformat/vobsub: fix seeking. 2013-09-08 12:54:49 +02:00
Michael Niedermayer
53fb52ac85 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavf: fix the comparison in an overflow check

Conflicts:
	libavformat/utils.c

See: a5d67bc796
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-08 12:29:07 +02:00
Michael Niedermayer
13e35a25f6 Merge commit '7ee191cab0dc44700f26c5784e2adeb6a779651b'
* commit '7ee191cab0dc44700f26c5784e2adeb6a779651b':
  dv: Add a guard to not overread the ppcm array

See: 3669915e93
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-08 11:51:36 +02:00
Michael Niedermayer
58e5f6a433 oMerge commit '85ac12587bfef970d0e0e4abc292df346daf8478'
* commit '85ac12587bfef970d0e0e4abc292df346daf8478':
  nuv: check ff_rtjpeg_decode_frame_yuv420 return value

Conflicts:
	libavcodec/nuv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-08 11:40:45 +02:00
James Almer
e3d34100e7 doc: add *install-doc that covers all documentation
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-08 05:25:17 +02:00
Michael Niedermayer
ea538b0d64 avcodec/snowenc: fix constness of the AVFrame argument in encode_frame()
Some fields of the frame are changed to reflect encoder decissions like
if its a keyframe. It thus cannot be constant.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-08 05:22:45 +02:00
Paul B Mahol
ffde17e70f avfilter/vf_histeq: remove unused item from filter private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-07 21:04:12 +00:00
Michael Niedermayer
c4c3a3d580 vformat/tee: fix uninitialized use of ret
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-07 22:43:32 +02:00
Paul B Mahol
4cf1900ba7 avfilter/vf_format: add .get_video_buffer back
Unbreak xyz12 with vflip.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-07 20:37:48 +00:00
James Almer
1e97ae4ba3 doc: rename *install-doc to *install-html
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-07 21:41:43 +02:00
James Almer
2df184f3d5 doc: fix install-doc dependencies
Put it inside its own ifdef conditional.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-07 21:41:43 +02:00
Paul B Mahol
d2382903d6 avfilter/vf_rotate: fix 'oh' option description
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-07 18:35:26 +00:00
Paul B Mahol
b077d8d908 avfilter: remove redundant .get_(audio/video)_buffer initializations
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-07 18:20:16 +00:00
Paul B Mahol
5a16a1d508 avfilter/af_asetnsamples: remove .needs_writable as it is not required
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-07 12:15:46 +00:00
Anton Khirnov
26f027fba1 lavf: fix the comparison in an overflow check
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-09-07 11:52:40 +02:00
Luca Barbato
7ee191cab0 dv: Add a guard to not overread the ppcm array
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-09-07 11:18:01 +02:00
Luca Barbato
85ac12587b nuv: check ff_rtjpeg_decode_frame_yuv420 return value
CC: libav-stable@libav.org
2013-09-07 11:11:52 +02:00
Michael Niedermayer
64c54f8333 avfilter/af_compand: silence "maybe uninitialized" warnings
if channels is 0 it actually would be uninitialized, thus an assert with comment is added

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-07 03:49:01 +02:00
Michael Niedermayer
797762fcf3 avfilter/af_aecho: silence "maybe uninitialized warning"
if channels is 0 it actually would be uninitialized, thus an assert with comment is added

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-07 03:48:07 +02:00
Kirill Gavrilov
0f48acf29b lavu: provide msvc implementation of attribute_deprecated
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 22:15:33 +02:00
Paul B Mahol
50b90d5e0b lavfi/telecine: remove bitstream and pal formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-06 18:45:27 +00:00
Paul B Mahol
6770fa4df8 lavfi/fieldorder: work with non writtable frames too
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-06 18:34:37 +00:00
Paul B Mahol
33dacda40b lavfi/fieldorder: remove pal8 format
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-06 18:34:37 +00:00
Paul B Mahol
86cb986ce1 lavfi/fieldorder: add timeline support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-06 17:45:31 +00:00
Paul B Mahol
df7e3572c3 lavfi/fieldorder: use av_image_fill_linesizes()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-06 17:45:31 +00:00
Paul B Mahol
9b35bee696 lavfi/fieldorder: remove redundant get_video_buffer()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-06 17:45:31 +00:00
Paul B Mahol
c9b5ad124e s302m: s/bits_per_coded_sample/bits_per_raw_sample
bits_per_coded_sample should be set from demuxer and
not from decoder.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-06 17:43:35 +00:00
Paul B Mahol
6b024d8a7a avcodec/xan: use uint8_t instead of unsigned char
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-06 17:18:17 +00:00
Paul B Mahol
6508bd4aa3 pixfmt: add native GBRAP16 format
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-06 16:59:32 +00:00
Paul B Mahol
898c6191ff lavfi: Weston 3 Field Deinterlacing Filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-06 12:46:56 +00:00
Michael Niedermayer
911a100da9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avisynth: K&R formatting cosmetics

Conflicts:
	libavformat/avisynth.c

Nothing changed as the avisynth code has been rewritten to
support avi/avxsynth in ffmpeg.
And the new code should be free of formating problems.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 13:52:59 +02:00
Michael Niedermayer
86ca6a7568 Merge commit '97b052e56807fab6887e9ba210a28a622e6a4b78'
* commit '97b052e56807fab6887e9ba210a28a622e6a4b78':
  avisynth: Add missing #include for NULL_IF_CONFIG_SMALL

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 13:39:15 +02:00
Michael Niedermayer
c4a696fb54 Merge commit 'befe044bb9561c9d7d6559db06bba375e82a4b66'
* commit 'befe044bb9561c9d7d6559db06bba375e82a4b66':
  avcodec: Stop exporting the removed audio_resample* symbols

Conflicts:
	libavcodec/libavcodec.v

Not merged as theres no pressing need to remove it now.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 13:17:12 +02:00
Michael Niedermayer
2a27e52550 Merge commit '7f93a861aaf2e76fd63b53ccc465909873b8dc29'
* commit '7f93a861aaf2e76fd63b53ccc465909873b8dc29':
  mpeg12enc: K&R formatting cosmetics

Conflicts:
	libavcodec/mpeg12enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 13:00:47 +02:00
Michael Niedermayer
61845dc74a Merge commit '66f091053f11a8957b2175480d2f368d2cf4474c'
* commit '66f091053f11a8957b2175480d2f368d2cf4474c':
  mpeg12enc: drop forward declarations

Conflicts:
	libavcodec/mpeg12enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 12:34:09 +02:00
Michael Niedermayer
5866c107a9 Merge commit 'c3e6e8f06c42499bd020fd0b37f9542150e6067b'
* commit 'c3e6e8f06c42499bd020fd0b37f9542150e6067b':
  mem: Do not check unsigned values for negative size

Conflicts:
	libavutil/mem.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 12:21:16 +02:00
Michael Niedermayer
92424a45d0 Merge commit 'b634b36fcebfe16b837b6c4044f5d5cb99a75040'
* commit 'b634b36fcebfe16b837b6c4044f5d5cb99a75040':
  mem: Improve documentation wording and spelling

Conflicts:
	libavutil/mem.c
	libavutil/mem.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 12:05:02 +02:00
Diego Biurrun
c16ddcc90b avisynth: K&R formatting cosmetics 2013-09-06 11:13:36 +02:00
Diego Biurrun
97b052e568 avisynth: Add missing #include for NULL_IF_CONFIG_SMALL 2013-09-06 09:09:07 +02:00
Michael Niedermayer
bcd1c20612 avcodec/mjpegdec: support >8bit in mjpeg_decode_scan_progressive_ac()
Fixes Ticket2812

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 02:33:10 +02:00
Michael Niedermayer
b155fb08b8 avcodec/mjpegdec: move shift_output() to its own function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 02:31:32 +02:00
Michael Niedermayer
c407c73457 avcodec/mjpegdec: 12bit Grayscale support
Fixes part of Ticket2812

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 01:19:37 +02:00
Michael Niedermayer
1deeb9437c avcodec/mjpegdec: Fix normal jpeg with bits < 8
Untested due to lack of testcase

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 01:19:37 +02:00
Michael Niedermayer
15071ed4fc avcodec/mjpegdec fix last_dc for bits != 8
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 01:19:37 +02:00
Michael Niedermayer
ae57e82469 avcodec/dsputil: add 12bit simple idct
Will be needed for jpeg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 01:19:37 +02:00
Paul B Mahol
d2e237338d lavfi/mp: remove mp=fil
The filter does not work correctly most of time.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-05 20:22:47 +00:00
Diego Biurrun
befe044bb9 avcodec: Stop exporting the removed audio_resample* symbols 2013-09-05 22:11:36 +02:00
Paul B Mahol
0a8bb91505 lavfi/mp: remove mp=dint
There are better and actually maintained filters that have similar
functionality.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-05 20:03:36 +00:00
Vittorio Giovara
7f93a861aa mpeg12enc: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-09-05 21:50:24 +02:00
Michael Niedermayer
59b9ecc92a avfilter/vf_yadif: Treat mode as a field of flags
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-05 20:53:12 +02:00
Michael Niedermayer
4ff5b2683c avfilter/vf_yadif: fix "incompatible pointer type" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-05 19:58:45 +02:00
Michael Niedermayer
a67dcd74ab avfilter/vf_yadif: add gbr(a)p support
Suggested-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-05 14:06:17 +02:00
Michael Niedermayer
2230d85ceb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  matroskaenc: Allow chapters to be written in trailer

Conflicts:
	libavformat/matroskaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-05 13:34:37 +02:00
Vittorio Giovara
66f091053f mpeg12enc: drop forward declarations
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-09-05 12:38:43 +02:00
Diego Biurrun
c3e6e8f06c mem: Do not check unsigned values for negative size 2013-09-05 12:38:43 +02:00
Diego Biurrun
b634b36fce mem: Improve documentation wording and spelling 2013-09-05 12:38:43 +02:00
Michael Niedermayer
b042712a87 avcodec/mjpegdec: Simplify masking in ljpeg_decode_yuv_scan()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-05 01:39:20 +02:00
Michael Niedermayer
b394ccfe47 avcodec/mjpegdec: fix rgb ljpeg prediction 5/6/7 with point_transform
untested due to lack of sample

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-05 01:39:20 +02:00
Michael Niedermayer
38f8640df8 avcodec/mjpegdec: fix yuv ljpeg prediction 5/6/7 with point transforms
Fixes Ticket2826

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-05 01:39:20 +02:00
Michael Niedermayer
4ced30908f avcodec/jpeg2000dec: make SOC finding code more robust
Fixes file from Ticket860

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-05 01:39:20 +02:00
Michael Niedermayer
cb026ac303 avcodec/mjpegdec: make "unknown colorspace" error more informative
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-05 01:39:20 +02:00
Michael Niedermayer
61c68000ed avcodec/mjpegdec: Add some sanity checks to ljpeg_decode_rgb_scan()
These prevent the rgb ljpeg code from being run on parameters that it doesnt
support. No testcase available but it seems possible to trigger these.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-05 01:39:20 +02:00
Clément Bœsch
f974289671 doc/APIchanges: update hashes and dates after last two commits.
Sorry, I'm too lazy to fix the rest.
2013-09-04 22:18:59 +02:00
Clément Bœsch
3e1f507f3e avcodec: make avcodec_close() more tolerant.
See previous commit.
2013-09-04 22:06:38 +02:00
Clément Bœsch
36cd017acd avformat: make avformat_close_input() more tolerant.
The purpose of this commit is to make error management simpler and less
error prone, just like av_free() which is safe with NULL.
2013-09-04 22:06:38 +02:00
Clément Bœsch
bc68927a0f tools/crypto_bench: fix 2 typos. 2013-09-04 21:59:34 +02:00
Michael Niedermayer
9cbb3fce59 avcodec/avpacket: zero memory in av_packet_new_side_data()
This ensures that no uninitialized bytes cause non-deterministic behavior.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 21:00:24 +02:00
John Stebbins
26b241c079 matroskaenc: Allow chapters to be written in trailer
This allows creation of frame accurate chapter marks from sources like
DVD and BD where the precise chapter location is not known until the
chapter mark has been reached during reading.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-09-04 20:30:43 +02:00
Nicolas George
04dcdc4640 lavc/avfft: init context to 0.
Prevent an invalid free in case of init failure.
2013-09-04 16:37:25 +02:00
Nicolas George
83635ac67b ffprobe: show bitmap subtitles size.
Fix trac ticket #2930.
2013-09-04 16:36:28 +02:00
Nicolas George
d7ccfe58e3 lavc/libvorbisdec: do not return empty frames.
Some parts of the code have been known to react badly to
empty frames; they should not, but there is no need to
take risks.
2013-09-04 16:36:20 +02:00
Nicolas George
d5b58f678d tools: add benchmark for crypto functions.
The benchmark tests the speed of the following algorithms:
MD5, SHA-1, SHA-256, SHA-512, RIPEMD-160, AES-128.

It can optionally be built to perform the same benchmark on
other crypto libraries, for comparison purposes.
The supported libraries are:
- crypto:   OpenSSL's libcrypto;
- gcrypt:   GnuTLS's libgcrypt;
- tomcrypt: LibTomCrypt
To enable them, use this syntax:
make VERSUS=crypto+gcrypt+tomcrypt tools/crypto_bench
They do not need to have been enabled in configure.
2013-09-04 16:36:11 +02:00
Clément Bœsch
dc8f732292 doc/examples: fix lib math dep for resampling_audio.
It uses at least sin()
2013-09-04 15:49:18 +02:00
Clément Bœsch
2c1eb38e5e avcodec: fix AVpacket → AVPacket typo. 2013-09-04 15:48:11 +02:00
Clément Bœsch
98b9bbb787 doc/examples: remove extra "the".
"into the doc/examples directory" vs "into doc/examples".
2013-09-04 15:46:31 +02:00
Michael Niedermayer
2ffead98dd avcodec: add emuedge_linesize_type
Currently all uses of the emu edge code as well as the code itself
assume int linesize
changing some but not changing all would introduce a security issue
once all use this typedef a simple search and replace can be
done to switch them all to ptrdiff_t

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 14:29:20 +02:00
Michael Niedermayer
3eeca8b0e4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo: Avoid 32-bit wrapping of linesize multiplications

This is not merged as its not correct for ffmpeg and would introduce a
security issue if merged as is.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 14:19:22 +02:00
Michael Niedermayer
35307df53c Merge commit '0ebfdae099d2749240b6a565abcdf0bf62589748'
* commit '0ebfdae099d2749240b6a565abcdf0bf62589748':
  doc: Describe TB option of setpts filter

Conflicts:
	doc/filters.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 14:06:46 +02:00
Michael Niedermayer
1c10e89c51 Merge commit 'b4ec7a5fee644ad9882e10c097817b65447b8e55'
* commit 'b4ec7a5fee644ad9882e10c097817b65447b8e55':
  mem: Document the av_realloc family of functions properly

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 13:57:01 +02:00
Martin Storsjö
a711a2cb47 mpegvideo: Avoid 32-bit wrapping of linesize multiplications
This makes sure that linesize * start_y doesn't overflow, so that
emulated_edge_mc can get back the original value if needed.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-04 14:33:29 +03:00
Michael Niedermayer
44d884f036 Merge commit '7f9e893f56db52078e0f46677ed337b2e25fa94d'
* commit '7f9e893f56db52078e0f46677ed337b2e25fa94d':
  build: Report an error message when a pc file is not found

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 13:15:22 +02:00
Michael Niedermayer
49f5519345 Merge commit 'af11fa5409cc72fc45ca7f3527400beca10967b9'
* commit 'af11fa5409cc72fc45ca7f3527400beca10967b9':
  mjpegb: Detect changing number of planes in interlaced video

Conflicts:
	libavcodec/mjpegdec.c

See: ecc31630f9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 13:06:24 +02:00
Michael Niedermayer
f1b15c1ef9 Merge commit '35cbc98b720db95b923cb2d745f77bb2ee4363dc'
* commit '35cbc98b720db95b923cb2d745f77bb2ee4363dc':
  alac: Check that the channels fit at the given offset

Conflicts:
	libavcodec/alac.c

See: b53f89710b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 13:02:08 +02:00
Clifford Wolf
0ebfdae099 doc: Describe TB option of setpts filter
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-09-04 12:28:28 +02:00
Michael Niedermayer
9411e9cafb Merge commit 'd719981273bc779c7d1e879d88404fd867f93a0e'
* commit 'd719981273bc779c7d1e879d88404fd867f93a0e':
  4xm: Check that the read track value is non-negative

Conflicts:
	libavformat/4xm.c

See: 0838cfdc8a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 12:20:53 +02:00
Michael Niedermayer
233ab0f02a Merge commit '5bcd3ae5b167fb74215520b01d5d810e0c8986ab'
* commit '5bcd3ae5b167fb74215520b01d5d810e0c8986ab':
  matroskadec: Check that .lang was allocated and set before reading it

Conflicts:
	libavformat/matroskadec.c

See: 01fd1aa0ad
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 12:07:06 +02:00
Michael Niedermayer
642207d29a Merge commit 'f7c5883126f9440547933eefcf000aa78af4821c'
* commit 'f7c5883126f9440547933eefcf000aa78af4821c':
  alac: Limit max_samples_per_frame

See: 3920d13878
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 11:58:00 +02:00
Luca Barbato
b4ec7a5fee mem: Document the av_realloc family of functions properly
realloc() does not accept pointers from memalign().
2013-09-04 10:56:41 +02:00
Luca Barbato
7f9e893f56 build: Report an error message when a pc file is not found
Ease tracking path problems.
2013-09-04 09:47:06 +02:00
Michael Niedermayer
54d628a580 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Show subtitle resolution in avcodec_string().

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 01:51:11 +02:00
Michael Niedermayer
e5c338ba7a avformat/utils: assert position monotonicity in ff_find_last_ts()
This ensures that no read timestamp functions finds packets before the search window in ff_find_last_ts()
which could cause an infinite loop

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 01:45:13 +02:00
Carl Eugen Hoyos
6fcfafff84 Show subtitle resolution in avcodec_string(). 2013-09-04 01:04:01 +02:00
Michael Niedermayer
a660991921 avformat/mpegts: Ensure that mpegts_get_dts() only considers packets at or after the given position
This fixes an infinite loop
An alternative fix would be to revert d73cbc22c5
but that would worsen error resilience.

Found-by: Justin Ruggles
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 01:02:06 +02:00
Michael Niedermayer
b78e75ebc9 fate: Force diff into text mode
On openbsd the exif-image-jpg test fails but diff treats the files as
binary due to some non ascii symbols in them. This should force it to
treat them as text, which should result in more informative output

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 01:02:06 +02:00
Michael Niedermayer
560612344e avcodec/pictordec: remove y checks, which have become redundant
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 01:02:06 +02:00
Michael Niedermayer
8088d6f5f1 avcodec/pictordec: run av_image_check_size() unconditionally
This ensures that no invalid size leaks through
(This issue is hypothetical, ive no testcase)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 01:02:06 +02:00
Paul B Mahol
d21e496cf5 lavfi/mptestsrc: use outlink->frame_count
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-03 20:15:46 +00:00
Michael Niedermayer
af11fa5409 mjpegb: Detect changing number of planes in interlaced video
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-03 22:58:24 +03:00
Martin Storsjö
35cbc98b72 alac: Check that the channels fit at the given offset
The code tries to decode a number of channels at the
offset given by the ff_alac_channel_layout_offsets table.
Even if the number of channels decoded so far doesn't
exceed the total number of channels, we need to check that
we actually can decode that number of channels at this offset
as well.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-03 22:57:52 +03:00
Martin Storsjö
d719981273 4xm: Check that the read track value is non-negative
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-03 22:57:36 +03:00
Martin Storsjö
5bcd3ae5b1 matroskadec: Check that .lang was allocated and set before reading it
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-03 22:57:15 +03:00
Martin Storsjö
f7c5883126 alac: Limit max_samples_per_frame
Otherwise buffer size calculations in allocate_buffers could
overflow later, making the code think a large enough buffer
actually was allocated.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-03 22:56:36 +03:00
Clément Bœsch
30d40c9e86 lavfi/drawtext: add generic timeline interface and deprecate "draw". 2013-09-03 21:12:15 +02:00
Clément Bœsch
493ebbd7eb Update copyrights where my email appears with the new one. 2013-09-03 20:42:24 +02:00
wm4
060c6c4647 avformat/mpl2dec: handle files with CRLF linebreaks correctly
Skip the "\r" as normal text. Otherwise it will be the first character
of the string passed to sscanf(), which then fill fail to match the
timestamps.

Signed-off-by: Clément Bœsch <u@pkh.me>
2013-09-03 20:38:40 +02:00
Dirk Farin
902a5fa722 avformat: H265 demuxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 19:34:04 +02:00
Paul B Mahol
771e2e59e2 lavfi/hue: relicense to LGPL with permission by all contributors
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-03 17:21:06 +00:00
Paul B Mahol
6053812814 x86/simple_idct: use LOCAL_ALIGNED instead of DECLARE_ALIGNED
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-03 17:02:49 +00:00
Paul B Mahol
916549cb1e lavfi/mp: remove mp=phase
The filter was ported to a native libavfilter filter.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-03 14:05:38 +00:00
Paul B Mahol
3dd4b6ea41 lavfi: port phase filter from libmpcodecs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-03 14:05:38 +00:00
Michael Niedermayer
f4e9c768d1 avcodec/vcr1: simplify code drop buf variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 15:48:33 +02:00
Michael Niedermayer
84b6451d29 avcodec/vcr1: simplify code, drop buf_size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 15:48:33 +02:00
Michael Niedermayer
a4e7091831 avcodec/vcr1: return the actual number of consumed bytes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 15:44:37 +02:00
Michael Niedermayer
40bb950385 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: Don't flush after each written packet

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 15:18:57 +02:00
Michael Niedermayer
4cfe3b7405 Merge commit '7df9e693a34c84c698da60426c78140c950f95ed'
* commit '7df9e693a34c84c698da60426c78140c950f95ed':
  cosmetics: Fix ATRAC codec name spelling

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 15:05:18 +02:00
Michael Niedermayer
50fd98b7ac Merge commit '488b2984fece7ad0c2596826fee18e74aa904667'
* commit '488b2984fece7ad0c2596826fee18e74aa904667':
  ape demuxer: check for EOF in potentially long loops

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 14:58:55 +02:00
Michael Niedermayer
bdb4ed963f Merge commit 'a7c1689dedd11689edb30088d467ac03f9b8d1cf'
* commit 'a7c1689dedd11689edb30088d467ac03f9b8d1cf':
  4xm: check that bits per sample is strictly positive

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 14:57:14 +02:00
Michael Niedermayer
a5d67bc796 avformat/utils: Fix bitrate overflow check
The check added in df33a58e53 does not work
at all, rather it broke the summing of bitrates completely.
The comparission was wrong way around.
This commit replaces it by a simpler and hopefully clearer check

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 14:49:03 +02:00
Michael Niedermayer
d07d54fd56 Merge commit 'df33a58e5311ee9a64a573889b883a80e981af7b'
* commit 'df33a58e5311ee9a64a573889b883a80e981af7b':
  lavf: avoid integer overflow when estimating bitrate

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 14:45:53 +02:00
Michael Niedermayer
b0ba2bf8c6 Merge commit 'fab694dd3931b1c0bc3c598c3f88b1902c14a303'
* commit 'fab694dd3931b1c0bc3c598c3f88b1902c14a303':
  lavf: move a variable declaration to the block where it's used

Conflicts:
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 14:27:48 +02:00
Compn
8d14596bc2 riff: add 0x64 to g726 works on g726-test1.wav 2013-09-03 08:25:43 -04:00
Michael Niedermayer
1eb151c501 Merge commit 'fe9bb61f9a16be19ad91875632c39e44b7a99a8a'
* commit 'fe9bb61f9a16be19ad91875632c39e44b7a99a8a':
  pictordec: pass correct context to avpriv_request_sample

Conflicts:
	libavcodec/pictordec.c

No change as the avpriv_request_sample() has already been replaced by an implementation
of the codepath.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 14:14:12 +02:00
Michael Niedermayer
efb21b0a8f Merge commit '5f7aecde02a95451e514c809f2794c1deba80695'
* commit '5f7aecde02a95451e514c809f2794c1deba80695':
  pictordec: break out of both decoding loops when y drops below 0

Conflicts:
	libavcodec/pictordec.c

The added check is redundant.
It shows the error path more clearly though

See: f3f488423a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 14:12:53 +02:00
Michael Niedermayer
164b67ca28 avcodec/vcr1: replace redundant checks from libav (8aba7968dd) by asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 13:45:03 +02:00
Michael Niedermayer
8ba683e629 Merge commit '8aba7968dd604aae91ee42cbce0be3dad7dceb30'
* commit '8aba7968dd604aae91ee42cbce0be3dad7dceb30':
  vcr1: add sanity checks

Conflicts:
	libavcodec/vcr1.c

See: 845724c82c
See: 8e09482e4d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 13:44:44 +02:00
Martin Storsjö
0fbda03e5c movenc: Don't flush after each written packet
This should improve write performance quite significantly.
---
Tested with both writing a normal mp4, by using the faststart
feature and writing a fragmented mp4 file; all turn out with the
same md5sum as before.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-03 10:36:17 +03:00
Michael Niedermayer
92b7e7b318 avfilter/vf_yadif: reallocate frames if strides differ
Fixes Ticket2896

An alternative to this would be to change the code to support any
stride.
The condition of differing strides should be rare.
If theres no speedloss supporting any stride would be better

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 05:14:29 +02:00
Michael Niedermayer
cc84f30402 avutil/fifo: assert that theres enough data in the fifo on drain calls.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 03:11:35 +02:00
Paul B Mahol
3e36dc8626 w64dec: fix end position of summarylist guid
Noticed-by: James Almer

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-03 01:03:10 +00:00
Paul B Mahol
79b70e47a4 w64dec: fix skipping of unknown guids
Regression since 14d50c1.
Fixes #2932.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-02 22:55:46 +00:00
Vignesh Venkatasubramanian
fdd1aaf87a avpacket: Fixing side data copy when src == dst
Fixing av_packet_copy_side_data to work correctly when source and
destination are the same. This makes sure that there is no memory
leak and double frees.

Signed-off by: Vignesh Venkatasubramanian <vigneshv@google.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-02 21:40:15 +02:00
Diego Biurrun
7df9e693a3 cosmetics: Fix ATRAC codec name spelling 2013-09-02 21:38:57 +02:00
Anton Khirnov
488b2984fe ape demuxer: check for EOF in potentially long loops
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-09-02 19:28:55 +02:00
Anton Khirnov
a7c1689ded 4xm: check that bits per sample is strictly positive
Avoids a divide by zero.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-09-02 19:28:47 +02:00
Anton Khirnov
df33a58e53 lavf: avoid integer overflow when estimating bitrate
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-09-02 19:28:29 +02:00
Anton Khirnov
fab694dd39 lavf: move a variable declaration to the block where it's used 2013-09-02 19:28:19 +02:00
Anton Khirnov
fe9bb61f9a pictordec: pass correct context to avpriv_request_sample
Fixes invalid reads.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-09-02 19:27:56 +02:00
Anton Khirnov
5f7aecde02 pictordec: break out of both decoding loops when y drops below 0
Otherwise picmemset can get called with negative y, resulting in an
invalid write.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-09-02 19:27:45 +02:00
Anton Khirnov
8aba7968dd vcr1: add sanity checks
Fixes invalid reads with corrupted files.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-09-02 19:27:33 +02:00
Michael Niedermayer
2501f6d3d6 avformat/movenc: Use the rate from av_timecode_init_from_string() for tmcd
Fixes Ticket2892
Reveiwed-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-02 17:16:20 +02:00
Michael Niedermayer
4fb3e1a652 avcodec/pnmdec: fix unaligned read
Fixes fate-lavf-pam on alpha

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-02 12:32:32 +02:00
Michael Niedermayer
62d07bb321 avcodec/pnmdec: use a more specific pointer type than void in samplecpy()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-02 12:31:55 +02:00
Carl Eugen Hoyos
ec8a4841f7 Avoid a deadlock when decoding wma.
Fixes ticket #2925.
2013-09-02 08:32:24 +02:00
Michael Niedermayer
cdd5df8189 avfilter/vf_fps: make sure the fifo is not empty before using it
Fixes Ticket2905

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-02 04:32:23 +02:00
Marton Balint
b339dccbba lavc: add teletext decoder using libzvbi
Based on a patch by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
http://lists.ffmpeg.org/pipermail/ffmpeg-devel/2012-December/136677.html

The original patch was rebased by Tudor SUCIU <tudor.suciu@gmail.com>.

Lots of additional features and fixes are made by me.

Fixes ticket #2086.

Changes since last version:
- change default page to all pages

Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-02 01:19:52 +02:00
Michael Niedermayer
cf94299448 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Read h264 headers from v4l2 to allow stream-copying.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-02 00:59:35 +02:00
Michael Niedermayer
21dc3a3cc2 avcodec/ffv1dec: reorganize thread init/update
This moves some allocations to init, reducing possible failure modes in update.
Always copies from the previous context instead of just during init

Fixes Ticket2923

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 23:22:06 +02:00
Michael Niedermayer
c72cca5a44 avcodec/ffv1dec: move initial_states init to init_thread_copy()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 23:22:06 +02:00
Carl Eugen Hoyos
e337c9d564 Read h264 headers from v4l2 to allow stream-copying.
Fixes ticket #2882.
Analyzed and tested by William C Bonner.
2013-09-01 21:27:43 +02:00
Paul B Mahol
5be7aecc80 pcm-dvd: use av_freep()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-01 19:20:39 +00:00
Paul B Mahol
fc435d977a pcm-dvd: remove redundant log message
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-01 19:19:31 +00:00
Michael Niedermayer
91acb23a28 doc: fix insane hard texi2html dependancy
Found-by: nevcairiel
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 20:02:52 +02:00
Michael Niedermayer
4aeb996f71 pixfmt: add native bayer 16bit formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 17:32:16 +02:00
Peter Ross
9116995efb libavutil: add AV_PIX_FMT_BAYER pixel formats
The pixel format descriptors are set to more or less arbitrary
values as bayer formats do not fit in the descriptors structure.
These values are currently not used for bayer formats and thus
do not matter.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 17:32:16 +02:00
Michael Niedermayer
8901f48e63 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  pcm-dvd: Fix build on big endian

See: 789cd1de99
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 14:09:49 +02:00
Michael Niedermayer
d8809b357c Merge commit 'f4ca970dba13a60a1334cce1b574036e6f624b9c'
* commit 'f4ca970dba13a60a1334cce1b574036e6f624b9c':
  configure: Add docdir configuration option

Conflicts:
	configure
	doc/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 13:42:37 +02:00
Michael Niedermayer
67d7ea9825 Merge commit 'faa8245bd45c1a6dd220ba9407ea1c82132aa1ce'
* commit 'faa8245bd45c1a6dd220ba9407ea1c82132aa1ce':
  vf_lut: Constantize

Conflicts:
	libavfilter/vf_lut.c

See: d7e95ccd9f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 13:10:07 +02:00
Michael Niedermayer
7c1805869d avcodec/pcm-dvd: discard buffer if block size changed
This prevents a potential crash

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 13:00:39 +02:00
Martin Storsjö
789cd1de99 pcm-dvd: Fix build on big endian
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 13:00:38 +02:00
Michael Niedermayer
cb4d05e7f2 Merge commit 'a42e3a6700547e4e49445bda81d3a89ec3e081a9'
* commit 'a42e3a6700547e4e49445bda81d3a89ec3e081a9':
  pcm_dvd: consolidate pieces from pcm.c and mpeg.c

Conflicts:
	libavcodec/pcm.c
	libavcodec/version.h
	libavformat/mpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 13:00:08 +02:00
Michael Niedermayer
d7f917c37a fate: update fate tests after master:291ad12ea2d1: ffprobe: show probe_score in the format section
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 12:53:24 +02:00
Stefano Sabatini
291ad12ea2 ffprobe: show probe_score in the format section
Should address trac ticket #2621.
2013-09-01 11:34:18 +02:00
Stefano Sabatini
51b01573e5 ffprobe: fix format section XML validation
It was broken since 2186a7e547.
2013-09-01 11:34:12 +02:00
Michael Niedermayer
93cf7b0195 avcodec/h264: set er.ref_count earlier
Fixes Ticket2910

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 04:02:03 +02:00
Michael Niedermayer
990bbc15b8 avcodec/error_resilience: change out commented printf() to av_log()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 03:50:08 +02:00
Michael Niedermayer
0388203098 avformat/utils: fix duration_fields calculation when need_parsing=0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 00:46:14 +02:00
Michael Niedermayer
8349be852b avformat/lxfdec: use a parser to parse video frame headers
lxf needs a parser (or would need to set a few fields explicitly).
Fixes Ticket2917

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 00:21:37 +02:00
Martin Storsjö
21ffd41011 pcm-dvd: Fix build on big endian
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-31 18:06:26 +02:00
Michael Niedermayer
8da23be458 avcodec/utils: avcodec_string: print colorspace type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-31 17:22:04 +02:00
Michael Niedermayer
ea07dbdeaa avcodec/utils: avcodec_string: Print color_range
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-31 17:21:20 +02:00
Michael Niedermayer
336982a0ce avcodec/utils: avcodec_string: make the colorspace printing code more extendible.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-31 17:00:00 +02:00
Vittorio Giovara
f4ca970dba configure: Add docdir configuration option
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-08-31 16:16:38 +02:00
Diego Elio Pettenò
faa8245bd4 vf_lut: Constantize
The pixel format tables are never modified, mark them as constant.

Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-08-31 16:13:42 +02:00
Michael Niedermayer
4fa00c567c Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix make checkheaders for wavpackenc.h
  Fix make checkheaders for vdpau_internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-31 13:55:38 +02:00
Michael Niedermayer
b043d80be4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  pcm_bluray: cosmetics

Conflicts:
	libavcodec/pcm-bluray.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-31 13:47:04 +02:00
Michael Niedermayer
4273236e2f Merge commit '0d6549d8b57aaa5be8efb794154cdbe9a645910f'
* commit '0d6549d8b57aaa5be8efb794154cdbe9a645910f':
  pcm_bluray: rename pcm-mpeg.c to pcm-bluray.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-31 13:36:01 +02:00
Carl Eugen Hoyos
b970f85564 Fix make checkheaders for wavpackenc.h 2013-08-31 13:34:46 +02:00
Carl Eugen Hoyos
e7da19e9fa Fix make checkheaders for vdpau_internal.h 2013-08-31 13:32:13 +02:00
Christian Schmidt
a42e3a6700 pcm_dvd: consolidate pieces from pcm.c and mpeg.c
Remove the header decoding for PCM audio from mpeg.c and the
20/24bit parts from pcm.c and merge them into a new decoder in
pcm-dvd.c.

The decoder has added support for samples that span multiple
packets and modified 20/24bit group decoding. Both is needed to
decode samples that have been generated with DVD-Lab Pro 2. The
decoding of 16bit PCM and two channel 24bit is identical to
before. No other samples are known to verify the correctness of
the encoding this software does.
The complete list of tested formats is
48kHz/16bit/2-8 channels
48kHz/24bit/2-5 channels
96kHz/16bit/2-4 channels
96kHz/24bit/2 channels

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-08-31 11:26:29 +02:00
Christian Schmidt
21fd2f84ce pcm_bluray: cosmetics 2013-08-31 11:00:46 +02:00
Christian Schmidt
0d6549d8b5 pcm_bluray: rename pcm-mpeg.c to pcm-bluray.c
The original idea was to collect PCM codecs that could appear in various
MPEG streams in this file. Discussion in IRC lead to the conclusion that
one codec per file would be better and stop the need for #ifdefs.
2013-08-31 11:00:46 +02:00
Michael Niedermayer
227a0eb5a9 avformat/avidec: match first index and first packet size=0 handling
Fixes Ticket2861

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-31 03:08:25 +02:00
Michael Niedermayer
454a11a1c9 avcodec/dsputil: fix signedness in sizeof() comparissions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 23:40:47 +02:00
Michael Niedermayer
86736f59d6 avcodec/pngdsp: fix (un)signed type in end comparission
Fixes out of array accesses
Fixes Ticket2919

Found_by: ami_stuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 23:22:18 +02:00
Lukasz Marek
0b46d6f3ef lavu/bprint: add append buffer function
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Reveiwed-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 22:36:38 +02:00
Michael Niedermayer
6e1b1a27a4 avcodec/avpacket: Use av_free_packet() in error cleanups
This prevents memleaks on errors
reproduceable with fate when error pathes are forced

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 21:43:35 +02:00
Michael Niedermayer
5c504e4df7 vformat/subtitles: check av_copy_packets return code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 21:36:58 +02:00
Paul B Mahol
c042684476 kgv1dec: remove unused avctx from codec private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-30 18:24:19 +00:00
Paul B Mahol
057dce5f21 kgv1dec: make decoder independent of sizeof(AVFrame)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-30 18:24:18 +00:00
Paul B Mahol
ea3ce00859 wnv1: remove unused avctx from codec private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-30 18:24:18 +00:00
Michael Niedermayer
60fed98e63 avcodec/pngdec: fix last_row_size type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 19:34:24 +02:00
Michael Niedermayer
7b47d7f75e avcodec/pngdec: Fix padded alloc code with threads
Fixes Ticket2903
Fixes out of array write
no releases should be affected by this

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 19:34:23 +02:00
Thilo Borgmann
d814a839ac Reinstate proper FFmpeg license for all files. 2013-08-30 15:47:38 +00:00
Carl Eugen Hoyos
8fe1fb41ac Fix compilation with --disable-mmx. 2013-08-30 15:21:15 +02:00
Paul B Mahol
48cd1037f6 cmdutils: silence warning about incompatible pointer types
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-30 12:41:36 +00:00
Michael Niedermayer
4f5454d201 avcodec/mpegvideo: reduce log level for messages about allocating frames.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 14:20:59 +02:00
Michael Niedermayer
b05cd1ea7e ffv1dec: Check bits_per_raw_sample and colorspace for equality in ver 0/1 headers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 13:53:58 +02:00
Michael Niedermayer
05507348af Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ppc: don't return a value from a function declared void

See: 01a82f1dc5

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 12:58:24 +02:00
Michael Niedermayer
62a6052974 Merge commit 'e998b56362c711701b3daa34e7b956e7126336f4'
* commit 'e998b56362c711701b3daa34e7b956e7126336f4':
  x86: avcodec: Consistently structure CPU extension initialization

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 12:50:01 +02:00
Michael Niedermayer
7fb758cd8e avcodec/x86/lpc: Fix cpu flag checks so they work
Broken by 6369ba3c9c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 12:34:52 +02:00
Michael Niedermayer
c1913064e3 avcodec/x86/vp8dsp: Fix cpu flag checks so they work
Broken by 6369ba3c9c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 12:33:56 +02:00
Michael Niedermayer
8be0e2bd43 Merge commit '6369ba3c9cc74becfaad2a8882dff3dd3e7ae3c0'
* commit '6369ba3c9cc74becfaad2a8882dff3dd3e7ae3c0':
  x86: avcodec: Use convenience macros to check for CPU flags

Conflicts:
	libavcodec/x86/dsputil_init.c
	libavcodec/x86/hpeldsp_init.c
	libavcodec/x86/motion_est.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 12:08:28 +02:00
Michael Niedermayer
f0a3562382 Merge commit '79aec43ce813a3e270743ca64fa3f31fa43df80b'
* commit '79aec43ce813a3e270743ca64fa3f31fa43df80b':
  x86: Add and use more convenience macros to check CPU extension availability

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 11:57:35 +02:00
Sean McGovern
01a82f1dc5 ppc: don't return a value from a function declared void
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-30 11:56:11 +02:00
Michael Niedermayer
09c94b57ca Merge commit 'a6b650118543e1580e872896d8976042b7c32d01'
* commit 'a6b650118543e1580e872896d8976042b7c32d01':
  ppc: cosmetics: Consistently format CPU flag detection invocations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 11:48:54 +02:00
Timothy Gu
e45e72f5f8 doc/encoders: reformat and add some clarification in libtwolame doc
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-08-30 11:37:07 +02:00
Timothy Gu
40b8350b57 doc/encoders: reformat libmp3lame doc
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-08-30 11:36:35 +02:00
Michael Niedermayer
547d690d67 ffv1dec: check that global parameters dont change in version 0/1
Such changes are not allowed nor supported

Fixes Ticket2906

Found-by: ami_stuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 05:27:51 +02:00
Michael Niedermayer
20b965a1a4 avcodec/ffv1dec: check global header version
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 03:43:49 +02:00
Michael Niedermayer
259292f9d4 avcodec/mpegvideo: Dont incorrectly warn about missing keyframes
Files starting with B frames in presentation order generated the
"no keyframe" warning before this change.

Based on patch by: Robert Krüger <krueger@lesspain.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 01:45:11 +02:00
Sean McGovern
f1f728cbe4 ppc: don't return a value from a function declared void
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-30 00:41:10 +03:00
Michael Niedermayer
24b4e6c373 snow: Check av_frame_alloc() failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 23:23:22 +02:00
Michael Niedermayer
c4224fff1b avcodec/snow: gray support
Fixes Ticket839

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 22:52:04 +02:00
Michael Niedermayer
ec120efaa9 doc/snow: add gray/alpha/gbr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 22:52:04 +02:00
Michael Niedermayer
811d58e083 avcodec/utils: support non edge emu for grayscale
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 22:52:04 +02:00
Michael Niedermayer
cf06dee58d libavcodec/snow: change AVFrame to pointers to AVFrame for ABI stability
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 19:46:52 +02:00
Michael Niedermayer
1cefdc397e avcodec/snowenc: remove now unneeded include <assert.h>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 17:08:56 +02:00
Michael Niedermayer
2bc8348c85 avcodec/snowenc: convert all asserts to av_asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 17:08:56 +02:00
Michael Niedermayer
f07b569939 snowenc: remove disabled QUANTIZE2 code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 17:08:56 +02:00
Michael Niedermayer
f896f92337 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  cosmetics: Place arch initialization calls in alphabetical order

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 16:15:54 +02:00
Michael Niedermayer
e1c3e6277f Merge commit 'f0389eb777b1ab4291329d4f709098cdfa7384dc'
* commit 'f0389eb777b1ab4291329d4f709098cdfa7384dc':
  arm: fmtconvert: Split armv6 fmtconvert code off from vfp code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 16:10:39 +02:00
Michael Niedermayer
946f080b54 Merge commit '7ffda66fd5c81af4725bff7c2c4f207ba2aa0613'
* commit '7ffda66fd5c81af4725bff7c2c4f207ba2aa0613':
  arm: float_dsp: Propagate cpu_flags to vfp initialization function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 16:05:04 +02:00
Michael Niedermayer
99e7c702db Merge commit 'bd549cbaacd33dfb7be81d0619c9b107b8a85be7'
* commit 'bd549cbaacd33dfb7be81d0619c9b107b8a85be7':
  arm: dcadsp: Move synth filter initialization to dcadsp file

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 16:00:45 +02:00
Michael Niedermayer
01cac26f68 Merge commit '1909f6b1b6da2db371c179bed5a19aaf979b7557'
* commit '1909f6b1b6da2db371c179bed5a19aaf979b7557':
  swscale: cosmetics: Drop silly camelCase from swScale function pointer name

Conflicts:
	libswscale/swscale_unscaled.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 15:56:03 +02:00
Michael Niedermayer
c49b6c3d99 Merge commit '4e0799a4d04404abfa8fbc072640be76465158cf'
* commit '4e0799a4d04404abfa8fbc072640be76465158cf':
  swscale: Add some missing av_cold to arch-specific init functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 15:48:53 +02:00
Michael Niedermayer
c5cec9a42b Merge commit '3aa682f25324d811ec284edc808eb71a46eae950'
* commit '3aa682f25324d811ec284edc808eb71a46eae950':
  swscale: consistent names for arch-specific acceleration functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 15:41:05 +02:00
Michael Niedermayer
5ff1b588eb Merge commit 'c2503d9c8ab42ea55922e9f5a10c8bfbbbfeaf19'
* commit 'c2503d9c8ab42ea55922e9f5a10c8bfbbbfeaf19':
  swscale: ppc: Hide arch-specific initialization details

Conflicts:
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 15:10:09 +02:00
Michael Niedermayer
4399e72723 Merge commit '6af2c351b3ae61e4478950ffddd0dfcad06188b8'
* commit '6af2c351b3ae61e4478950ffddd0dfcad06188b8':
  ppc: Add missing AltiVec cpuflag detection invocations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 15:04:59 +02:00
Michael Niedermayer
3e75f98667 Merge commit 'de81b6ae4f38273ff27020f494cc46539110d34b'
* commit 'de81b6ae4f38273ff27020f494cc46539110d34b':
  ppc: fdct: Remove vim editor settings comment

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 15:00:02 +02:00
Michael Niedermayer
8251529ff3 Merge commit '70dd8892bf00923af838756dfbb356a9b1e4e40d'
* commit '70dd8892bf00923af838756dfbb356a9b1e4e40d':
  mpegvideo: Replace arch initialization ifdeffery by standard conditionals

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 14:53:44 +02:00
Michael Niedermayer
37494bdb0d Merge commit 'cd529172377229f2e86987869ccc08f426bfe114'
* commit 'cd529172377229f2e86987869ccc08f426bfe114':
  x86: rv40dsp: Move inline assembly optimizations out of YASM init section

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 14:48:46 +02:00
Michael Niedermayer
db6b389c7f Merge commit 'a519583991c38d38503ab08357716513facc5725'
* commit 'a519583991c38d38503ab08357716513facc5725':
  swscale: x86: Hide arch-specific initialization details

Conflicts:
	libswscale/x86/Makefile
	libswscale/x86/swscale.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 14:42:34 +02:00
Michael Niedermayer
477641e9f8 Merge commit 'a64f6a04ac5773aeff2003897455dadb9609f18b'
* commit 'a64f6a04ac5773aeff2003897455dadb9609f18b':
  dsputil: x86: Hide arch-specific initialization details

Conflicts:
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 14:32:05 +02:00
Michael Niedermayer
29daad5b98 Merge commit 'f61bece684d9685b07895508e6c1c733b5564ccf'
* commit 'f61bece684d9685b07895508e6c1c733b5564ccf':
  ppc: Add and use convenience macro to check for AltiVec availability

Conflicts:
	libavcodec/ppc/dsputil_ppc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 14:24:07 +02:00
Michael Niedermayer
2a60666d1d Merge commit '8410d6e93c2e074881f1c7b7e4cdefd2e497d52e'
* commit '8410d6e93c2e074881f1c7b7e4cdefd2e497d52e':
  avutil: Refactor CPU extension availability macros

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 14:15:10 +02:00
Michael Niedermayer
c83d794936 Merge commit 'b78b10c4b78b696927f2801cf2d9f193b4eff28b'
* commit 'b78b10c4b78b696927f2801cf2d9f193b4eff28b':
  avutil: Move internal CPU detection function declarations to private header

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 14:05:15 +02:00
Michael Niedermayer
18a9deedb0 Merge commit '91d4cfb8127f1de6c4ad173a30fffe584700046d'
* commit '91d4cfb8127f1de6c4ad173a30fffe584700046d':
  apedec: do not buffer decoded samples over AVPackets

Conflicts:
	libavcodec/apedec.c

See: 77d89a5b16
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 14:02:33 +02:00
Michael Niedermayer
8f68ef4681 Merge commit '84146963d23d76b09af633e97413cd97d9b3021e'
* commit '84146963d23d76b09af633e97413cd97d9b3021e':
  configure: x86: Fix handling of i686 and cpunop features

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 13:52:09 +02:00
Michael Niedermayer
5f9b1aae50 Merge commit '6454c44f9f74dbaed17d32cf0eaec185386c27fa'
* commit '6454c44f9f74dbaed17d32cf0eaec185386c27fa':
  rtmpproto: Fix limelight authentication with abbreviated app names

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 13:43:07 +02:00
Michael Niedermayer
8b79a458c0 avfilter/vf_fps: fix ABI compatibility with AV_NOPTS starttime
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 13:12:09 +02:00
Diego Biurrun
e998b56362 x86: avcodec: Consistently structure CPU extension initialization 2013-08-29 13:07:37 +02:00
Diego Biurrun
6369ba3c9c x86: avcodec: Use convenience macros to check for CPU flags 2013-08-29 13:07:37 +02:00
Diego Biurrun
79aec43ce8 x86: Add and use more convenience macros to check CPU extension availability 2013-08-29 13:07:37 +02:00
Michael Niedermayer
88262e1c1d Merge commit 'cb8f70c96e14c1b4824ef23d21d78d10fc5a4b93'
* commit 'cb8f70c96e14c1b4824ef23d21d78d10fc5a4b93':
  vf_fps: use double constants for default/min/max for start_time

Conflicts:
	libavfilter/vf_fps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 13:02:28 +02:00
Paul B Mahol
d49f2603be truemotion2: check return value of av_malloc(z)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-29 10:46:42 +00:00
Diego Biurrun
a6b6501185 ppc: cosmetics: Consistently format CPU flag detection invocations 2013-08-29 11:31:32 +02:00
Diego Biurrun
67e6a9f558 cosmetics: Place arch initialization calls in alphabetical order 2013-08-29 11:24:14 +02:00
Diego Biurrun
f0389eb777 arm: fmtconvert: Split armv6 fmtconvert code off from vfp code 2013-08-29 11:24:14 +02:00
Diego Biurrun
7ffda66fd5 arm: float_dsp: Propagate cpu_flags to vfp initialization function 2013-08-29 11:24:14 +02:00
Diego Biurrun
bd549cbaac arm: dcadsp: Move synth filter initialization to dcadsp file 2013-08-29 11:24:14 +02:00
Diego Biurrun
1909f6b1b6 swscale: cosmetics: Drop silly camelCase from swScale function pointer name 2013-08-29 10:23:54 +02:00
Diego Biurrun
4e0799a4d0 swscale: Add some missing av_cold to arch-specific init functions 2013-08-29 10:23:53 +02:00
Diego Biurrun
3aa682f253 swscale: consistent names for arch-specific acceleration functions 2013-08-29 10:23:52 +02:00
Diego Biurrun
c2503d9c8a swscale: ppc: Hide arch-specific initialization details
Also give consistent names to init functions.
2013-08-29 10:23:41 +02:00
Lukasz Marek
f3ace37a3b lavf/ftp: fix possible crash 2013-08-29 01:57:38 +02:00
Michael Niedermayer
c4810fbe4f avformat/utils: fix av_probe_input_buffer2() so it returns the probe score
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 01:15:15 +02:00
Diego Biurrun
6af2c351b3 ppc: Add missing AltiVec cpuflag detection invocations 2013-08-29 00:24:46 +02:00
Stefano Sabatini
7528fdcda3 doc/APIchanges: add missing entry for av_format_probe_score() function addition 2013-08-29 00:10:34 +02:00
Stefano Sabatini
083f058024 doc/formats: remove probe_score entry, since it's not an option 2013-08-29 00:08:27 +02:00
Diego Biurrun
de81b6ae4f ppc: fdct: Remove vim editor settings comment 2013-08-28 23:59:24 +02:00
Diego Biurrun
70dd8892bf mpegvideo: Replace arch initialization ifdeffery by standard conditionals 2013-08-28 23:59:24 +02:00
Diego Biurrun
cd52917237 x86: rv40dsp: Move inline assembly optimizations out of YASM init section 2013-08-28 23:59:24 +02:00
Diego Biurrun
a519583991 swscale: x86: Hide arch-specific initialization details
Also give consistent names to init functions.
2013-08-28 23:59:24 +02:00
Diego Biurrun
a64f6a04ac dsputil: x86: Hide arch-specific initialization details
Also give consistent names to init functions.
2013-08-28 23:59:24 +02:00
Diego Biurrun
f61bece684 ppc: Add and use convenience macro to check for AltiVec availability 2013-08-28 23:54:15 +02:00
Diego Biurrun
8410d6e93c avutil: Refactor CPU extension availability macros 2013-08-28 23:54:14 +02:00
Diego Biurrun
b78b10c4b7 avutil: Move internal CPU detection function declarations to private header 2013-08-28 23:54:14 +02:00
Michael Niedermayer
e31db621bf avformat: export probe score
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 22:18:57 +02:00
Rafaël Carré
91d4cfb812 apedec: do not buffer decoded samples over AVPackets
Only consume an AVPacket when all the samples have been read.

When the rate of samples output is limited (by the default value
of max_samples), consuming the first packet immediately will cause
timing problems:

- The first packet with PTS 0 will output 4608 samples and be
consumed entirely
- The second packet with PTS 64 will output the remaining samples
(typically, a lot, that's why max_samples exist) until the decoded
samples of the first packet have been exhausted, at which point the
samples of the second packet will be decoded and output when
av_decode_frame is called with the next packet).

That means there's a PTS jump since the first packet is 'decoded'
immediately, which can be seen with avplay or mplayer: the timing
jumps immediately to 6.2s (which is the size of a packet).

Sample: http://streams.videolan.org/issues/6348/Goldwave-MAClib.ape
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2013-08-28 15:00:34 -04:00
Michael Niedermayer
90411f7ed6 snowenc: Fix memleak of the ratecontrol related memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 20:53:21 +02:00
Michael Niedermayer
f13e733145 avcodec/snow: check for malloc* failures
Also return and pass on error codes where needed for this

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 17:09:46 +02:00
Diego Biurrun
84146963d2 configure: x86: Fix handling of i686 and cpunop features
The i686 feature really is a CPU feature and should be handled as such.
The cpunop dependency on i686 should be expressed with a standard _deps
declaration instead of a manual test.
2013-08-28 17:03:05 +02:00
Martin Storsjö
6454c44f9f rtmpproto: Fix limelight authentication with abbreviated app names
When streaming to limelight, the app name is either a full
"appname/subaccount" or "appname/_definst_". In the latter case,
the app name can be simplified into simply "appname", but the
authentication hashing assumes the /_definst_ still to be present.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-28 17:54:51 +03:00
Hendrik Leppkes
cb8f70c96e vf_fps: use double constants for default/min/max for start_time
When using AV_NOPTS_VALUE (which expands to INT64_C(0x8000000000000000))
as union initializer for a double field, the c99 converter needs to
interpret this constant when filling the union initializer, and it is
interpreted as a positive value.

When converting AV_NOPTS_VALUE to a double, MSVC 2010 ends up with
the same positive value as the c99 converter, while MSVC 2012 gets
a negative value.

This results in an infite loop in various FATE tests on MSVC 2012.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-28 17:54:47 +03:00
Michael Niedermayer
129f50692e snowenc: check for memory allocation failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 16:52:30 +02:00
Michael Niedermayer
48480da6ad Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doc: document the asf demuxer

Conflicts:
	doc/demuxers.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 13:03:09 +02:00
Michael Niedermayer
bc6e535db1 Merge commit '0ce1a7598e84abe6fb3684d0d5b0872d36f001d7'
* commit '0ce1a7598e84abe6fb3684d0d5b0872d36f001d7':
  vf_interlace: fix file permissions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 12:57:09 +02:00
Michael Niedermayer
983ed20c1c Merge commit 'ef51692a49d58963966adca55c62da9c34c3c7e1'
* commit 'ef51692a49d58963966adca55c62da9c34c3c7e1':
  Revert "w32pthread: help compiler figure out undeeded code"

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 12:46:12 +02:00
Michael Niedermayer
a8ddafb0f4 Merge commit '4332bf98dc051fd1ffbd9d4ddc1c5e55790c96f1'
* commit '4332bf98dc051fd1ffbd9d4ddc1c5e55790c96f1':
  w32threads: Don't use function pointers when linking directly to newer APIs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 12:41:16 +02:00
Michael Niedermayer
72196a4b8d Merge commit '310cc4bf82824f09bdd0b9147ed725cdbeaf9bdd'
* commit '310cc4bf82824f09bdd0b9147ed725cdbeaf9bdd':
  smoothstreamingenc: Write to a temp file while updating the manifest

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 12:34:33 +02:00
Michael Niedermayer
7efa9b1794 Merge commit 'b1f9cdc37ff5d5b391d2cd9af737ab4e5a0fc1c0'
* commit 'b1f9cdc37ff5d5b391d2cd9af737ab4e5a0fc1c0':
  ac3: Return proper error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 12:28:25 +02:00
Michael Niedermayer
bfa1b42b3c Merge commit '818d1f1a3e89d35213af0bd5dc4a772713951882'
* commit '818d1f1a3e89d35213af0bd5dc4a772713951882':
  ac3: Clean up the error paths

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 12:16:10 +02:00
Michael Niedermayer
f0ee0341b0 Merge commit '6258d362b82934a2c27557e0984aed372d98091a'
* commit '6258d362b82934a2c27557e0984aed372d98091a':
  ac3: Do not clash with normal AVERROR

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 12:09:41 +02:00
Michael Niedermayer
946902e5b9 Merge commit 'f4634ae8a83d13a1abf3baac8956a3111aa09ed2'
* commit 'f4634ae8a83d13a1abf3baac8956a3111aa09ed2':
  flv: Fix the help string

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 12:03:06 +02:00
Michael Niedermayer
a13af77f49 Merge commit '21015109ec0fac0f104a5355f272ecb956ba3f4e'
* commit '21015109ec0fac0f104a5355f272ecb956ba3f4e':
  doc: Document the flv demuxer

Conflicts:
	doc/demuxers.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 11:55:03 +02:00
Michael Niedermayer
87d38ad803 Merge commit 'f812eeda17e38797df5cb733ce99cdfd829d84ca'
* commit 'f812eeda17e38797df5cb733ce99cdfd829d84ca':
  matroskaenc: Fix writing TRACKDEFAULTFLAG

Conflicts:
	libavformat/matroskaenc.c
	tests/fate/wavpack.mak
	tests/ref/lavf/mkv
	tests/ref/seek/lavf-mkv

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 11:33:59 +02:00
Luca Barbato
48f2e53ad0 doc: document the asf demuxer
And drop a typo from the previous FLV entry.
2013-08-28 11:02:56 +02:00
Michael Niedermayer
70106e73c5 cmdutils: Filter non user AVOptions out from what can be set over the command line.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 00:25:13 +02:00
Vittorio Giovara
0ce1a7598e vf_interlace: fix file permissions
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-08-27 23:50:45 +02:00
Martin Storsjö
ef51692a49 Revert "w32pthread: help compiler figure out undeeded code"
This reverts commit 4622f11f9c.

The compiler should be able to do the dead code elimination now
without this when the cond_* names point directly to the real
functions instead of to local function pointers.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-27 23:12:49 +03:00
Martin Storsjö
4332bf98dc w32threads: Don't use function pointers when linking directly to newer APIs
This reduces the call overhead slightly. More noticeably, it
restores the earlier (unintended?) feature that condition variable
functions work just fine even if w32thread_init() hasn't been called.
This was broken as a side effect of 4622f11f9, if explicitly targeting
Vista+.

This makes w32threading work in VP8 again, if targeting Vista+.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-27 23:12:28 +03:00
Martin Storsjö
310cc4bf82 smoothstreamingenc: Write to a temp file while updating the manifest
If a client tries to read the file while it's being updated, the client
would get an incomplete manifest. Instead write to a separate temp file
and atomically rename it to replace the previous one.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-27 19:44:31 +03:00
Luca Barbato
b1f9cdc37f ac3: Return proper error codes 2013-08-27 16:19:12 +02:00
Luca Barbato
818d1f1a3e ac3: Clean up the error paths 2013-08-27 16:19:12 +02:00
Luca Barbato
6258d362b8 ac3: Do not clash with normal AVERROR
The parsing function return AVERROR and AAC_AC3_PARSE_ERROR values,
make sure they are not misunderstood.
2013-08-27 16:19:12 +02:00
Luca Barbato
f4634ae8a8 flv: Fix the help string 2013-08-27 14:38:54 +02:00
Luca Barbato
21015109ec doc: Document the flv demuxer 2013-08-27 14:38:19 +02:00
Alfred E. Heggestad
16c3ed5837 libavutil: cast truncated values to uint32_t
programs using ffmpeg that are compiled with -Wshorten-64-to-32
gives a warning when using header files common.h and rational.h

cast 64-bit truncated values to (uint32_t) to avoid the warning

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-27 14:25:34 +02:00
John Stebbins
f812eeda17 matroskaenc: Fix writing TRACKDEFAULTFLAG
The element was only being written when the value == 1.  But the default
value of this element is 1, so this has no useful effect.  This element
needs to be written when the value == 0.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-27 14:00:31 +02:00
Michael Niedermayer
231201382e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: Check for errors from mov_create_chapter_track

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-27 12:52:17 +02:00
Michael Niedermayer
da2038221b Merge commit '2bbad1f94cbc5eab0aa2d937bc79d085477d0242'
* commit '2bbad1f94cbc5eab0aa2d937bc79d085477d0242':
  movenc: Properly free allocated data on failures in mov_write_header

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-27 12:47:04 +02:00
Michael Niedermayer
ef4fcb30c4 Merge commit '3559fb97c459c88b4f1d0eef80d55933d3b7fabe'
* commit '3559fb97c459c88b4f1d0eef80d55933d3b7fabe':
  movenc: Check that tracks->enc exists before trying to free extradata

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-27 12:33:39 +02:00
Michael Niedermayer
0bd15938ec Merge commit '4d122b01e4ce539269ee2df193b061772c7374f6'
* commit '4d122b01e4ce539269ee2df193b061772c7374f6':
  movenc: Check for allocation failures in mov_create_chapter_track

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-27 12:26:27 +02:00
Martin Storsjö
0fb3e1c6ce movenc: Check for errors from mov_create_chapter_track
On failures in the write_trailer function, we could also ignore
the errors and try to finish the file despite these errors (which
would only leave an incomplete chapters track). It's probably better
to signal the error clearly to the caller though (and if this
function failed there's no guarantee that there's enough memory to
finish the trailer either).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-27 10:26:10 +03:00
Martin Storsjö
2bbad1f94c movenc: Properly free allocated data on failures in mov_write_header
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-27 10:26:08 +03:00
Martin Storsjö
3559fb97c4 movenc: Check that tracks->enc exists before trying to free extradata
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-27 10:26:07 +03:00
Martin Storsjö
4d122b01e4 movenc: Check for allocation failures in mov_create_chapter_track
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-27 10:25:55 +03:00
Michael Niedermayer
535d9a9386 avformat/ftp: make const tables static const
Reviewed-by: Lukasz M <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-27 03:55:45 +02:00
Paul B Mahol
b74213db08 wavpackenc: remove duplicate 'const' declaration specifier
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-26 19:30:45 +00:00
Paul B Mahol
e6e26b8a91 msrledec: use memset()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-26 19:26:01 +00:00
Paul B Mahol
6638738968 msrledec: use bytestream2_get_bufferu()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-26 19:26:00 +00:00
Paul B Mahol
f12c27daf7 sgidec: use bytestream2_get_bufferu()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-26 19:26:00 +00:00
Michael Niedermayer
fcaf5fa2ea avcodec/fft-test: put ff_dct* code under CONFIG_DCT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 20:39:22 +02:00
Michael Niedermayer
ffdbec6fc9 tests/fate/libavcodec: fate-idct8x8 needs dct
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 20:37:31 +02:00
Michael Niedermayer
0617efa7f7 tests/fate/fft: add mdct dependency as mdct is used too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 20:36:35 +02:00
Michael Niedermayer
e29c29e10a tests/fate/cover-art: add file protocol & rawvideo muxer dependency
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 20:35:57 +02:00
Michael Niedermayer
d5f616ed87 avcodec: dct_test needs CONFIG_DCT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 20:19:01 +02:00
Michael Niedermayer
abe76b851c ffv1enc: Make ffv1.3 non experimental
The fate tests change as they used 1.2 previously
The increased size is due to:
32bit CRCs per slice by default (can be disabled),
it adds slice headers to allow decoding one slice without the others
an additional slice size field is added to make it possible to find
slices within corrupted surroundings.

these add up to about 57bit per slice more
at 50 frames and 4 slices thats 1425 byte

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 17:33:53 +02:00
Pavel Koshevoy
185fc52f19 avfilter/vf_fps: Work around msvc (c99wrap) build failure
c99wrap choked on initialization of .dbl start_time option with
AV_NOPTS_VALUE: Unable to parse int64_t as expression primary

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 15:23:45 +02:00
Michael Niedermayer
09ea5048a9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  imc: support mode 1

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 14:53:15 +02:00
Michael Niedermayer
6063f012f2 Merge commit '9e7b62f0fb7462a902330fcc82cf596388f0187b'
* commit '9e7b62f0fb7462a902330fcc82cf596388f0187b':
  twinvq: set block align for codecs and use it in size checks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 14:47:15 +02:00
Michael Niedermayer
e43c672b56 Merge commit 'b89e8759e053792704741d08cbc41c9ac3c7ed63'
* commit 'b89e8759e053792704741d08cbc41c9ac3c7ed63':
  mov: Write tmcd extradata

This commit should make no difference as we had tmcd support
already, which is not changed.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 14:36:00 +02:00
Michael Niedermayer
d3ff77023e Merge commit '5b41eb91e0083755de8c35e8cd005896ec3ab31f'
* commit '5b41eb91e0083755de8c35e8cd005896ec3ab31f':
  mov: Parse tmcd extradata

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 14:26:40 +02:00
Michael Niedermayer
b32a6da100 Merge commit '0b5af5cf1224add1769b1094b9924ecf10de3d7d'
* commit '0b5af5cf1224add1769b1094b9924ecf10de3d7d':
  mov: Refactor multiple stsd skipping in mov_mov_skip_multiple_stsd

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 13:59:28 +02:00
Michael Niedermayer
e299aa78d9 Merge commit '08504380ddf25d6905e189e9bf52e7a4c771a415'
* commit '08504380ddf25d6905e189e9bf52e7a4c771a415':
  mov: Refactor codec specific final steps in mov_finalize_stsd_codec

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 13:28:04 +02:00
Michael Niedermayer
80e0599402 Merge commit 'dc518a3ae21e7b6420131b813cfc6bcdcad26b7e'
* commit 'dc518a3ae21e7b6420131b813cfc6bcdcad26b7e':
  mov: Refactor subtitle specific parsing in mov_parse_stsd_subtitle

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 13:18:43 +02:00
Michael Niedermayer
9748f1477d Merge commit 'ef196beeb50e8e024ed5a560a1d39eff4a296ce4'
* commit 'ef196beeb50e8e024ed5a560a1d39eff4a296ce4':
  mov: Refactor audio specific parsing in mov_parse_stsd_audio

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 13:14:09 +02:00
Michael Niedermayer
bc6370b622 Merge commit 'a3b53ff062eaccdaa28964899c63520ef2978c2e'
* commit 'a3b53ff062eaccdaa28964899c63520ef2978c2e':
  mov: Refactor video specific parsing in mov_parse_stsd_video

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 13:07:13 +02:00
Michael Niedermayer
f5a0c205d9 Merge commit 'bf9856250584228678963ce8f11c54f85005d783'
* commit 'bf9856250584228678963ce8f11c54f85005d783':
  mov: Refactor codec id selection in mov_codec_id

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 12:44:29 +02:00
Kostya Shishkov
4eb4bb3a02 imc: support mode 1 2013-08-26 09:23:45 +02:00
Kostya Shishkov
9e7b62f0fb twinvq: set block align for codecs and use it in size checks
This both allows factoring out size check for both MetaSound and TwinVQ-VQF
decoders and fixes the situation when there are several MetaSound frames
stuffed together (that happens in 8kHz @ 8kbps MetaSound in ASF for example).
2013-08-26 09:23:39 +02:00
Michael Niedermayer
8d679bc7e6 avformat/mp3dec: improve detection of mp3s with huge id3 tags
When a id3 tag is larger than the amount of space we will probe
give it a score similar to what a .mp3 extension would have given it

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 00:57:35 +02:00
Michael Niedermayer
a9d1a7c79b avformat: move PROBE_BUF_M* to internal.h
They will be used by the mp3 probe function in the next commit

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 00:54:30 +02:00
Michael Niedermayer
22fbc7f8be avformat/tcp: fix pointer to int warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-25 19:44:40 +02:00
Michael Niedermayer
59360cd456 tools/graph2dot: fix use of deprecated *put_count
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-25 19:37:37 +02:00
Michael Niedermayer
1350a5c4d5 avfilter/graphparser: fix use of deprecated symbols
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-25 19:36:58 +02:00
Michael Niedermayer
7659ee350b avfilter/graphdump: fix use of deprecated symbols
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-25 19:33:44 +02:00
Michael Niedermayer
f12174c8ce avfilter/filtfmts: fix use of deprecated symbols
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-25 19:33:44 +02:00
Luca Barbato
b89e8759e0 mov: Write tmcd extradata 2013-08-25 13:49:21 +02:00
Luca Barbato
5b41eb91e0 mov: Parse tmcd extradata 2013-08-25 13:49:13 +02:00
Michael Niedermayer
21ba80214c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264_cabac: Mark functions calling decode_cabac_residual_internal as noinline

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-25 12:26:14 +02:00
Michael Niedermayer
626739ebbb avcodec/h264: Free rbsp_buffer before copying context over it
Fixes memleak
Fixes Ticket1900

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-25 03:30:31 +02:00
Michael Niedermayer
be30e44dd9 avcodec/h264: Zero rbsp_buffer earler to ensure no duplicated pointers can leak
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-25 03:29:52 +02:00
Michael Niedermayer
ecbf838c7d h264: prevent rbsp_buffer values from becoming duplicated
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-25 03:01:19 +02:00
Michael Niedermayer
88909beca3 avcodec/movenc: move chapter_properties under the #if of the code that uses it
Fixes warning about unused variable

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-24 23:23:00 +02:00
Michael Niedermayer
f55a7ba037 avcodec/ituh263dec: detect and warn about RTP
Fixes Ticket925
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-24 23:06:59 +02:00
Michael Niedermayer
5c6a58746b ffplay: make next_nb_channels[] static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-24 19:53:11 +02:00
Michael Niedermayer
7495186fd4 avcodec/h263dec: fix aspect of lead h263 EHC
Fixes part of ticket925

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-24 18:59:58 +02:00
Luca Barbato
0b5af5cf12 mov: Refactor multiple stsd skipping in mov_mov_skip_multiple_stsd 2013-08-24 17:02:23 +02:00
Luca Barbato
08504380dd mov: Refactor codec specific final steps in mov_finalize_stsd_codec 2013-08-24 17:02:23 +02:00
Luca Barbato
dc518a3ae2 mov: Refactor subtitle specific parsing in mov_parse_stsd_subtitle 2013-08-24 17:02:23 +02:00
Luca Barbato
ef196beeb5 mov: Refactor audio specific parsing in mov_parse_stsd_audio 2013-08-24 17:02:23 +02:00
Luca Barbato
a3b53ff062 mov: Refactor video specific parsing in mov_parse_stsd_video 2013-08-24 17:02:23 +02:00
Luca Barbato
bf98562505 mov: Refactor codec id selection in mov_codec_id 2013-08-24 17:02:23 +02:00
Diego Biurrun
ff9d57e7df h264_cabac: Mark functions calling decode_cabac_residual_internal as noinline
This ensures that decode_cabac_residual_internal actually does get inlined,
which it otherwise does not, even though it is marked as always_inline.
2013-08-24 16:14:15 +02:00
Michael Niedermayer
6067186f3a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: h264chroma: Do not compile h264_chroma_mc* dependent on h264 decoder

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-24 11:30:57 +02:00
Michael Niedermayer
edf6fb64e0 Merge commit '84784c297fe6a6e538a7e111dcdbd8b893c2d275'
* commit '84784c297fe6a6e538a7e111dcdbd8b893c2d275':
  libfdk-aacdec: formatting cosmetics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-24 11:23:25 +02:00
Michael Niedermayer
f9418d156f Merge commit '8506ff97c9ea4a1f52983497ecf8d4ef193403a9'
* commit '8506ff97c9ea4a1f52983497ecf8d4ef193403a9':
  vp56: Mark VP6-only optimizations as such.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-24 11:04:11 +02:00
Michael Niedermayer
b99d3613cf avcodec/h263dec: use FF_CEIL_RSHIFT()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-24 04:09:43 +02:00
Michael Niedermayer
9a271a9368 jpeg2000: check log2_cblk dimensions
Fixes out of array access
Fixes Ticket2895

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-24 03:42:54 +02:00
Paul B Mahol
b8ff4f5ea3 truemotion1: check av_fast_malloc() return value
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-23 23:22:39 +00:00
Paul B Mahol
83b915d495 truemotion1: use av_freep()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-23 23:22:39 +00:00
Michael Niedermayer
5cc8b81687 mpeg4videodec: fix GEOV/GEOX fliping
Fixes Ticket317
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-24 01:04:23 +02:00
Michael Niedermayer
3941a4f5c2 snowenc: change a bunch of assert() to av_assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-24 01:00:00 +02:00
Paul B Mahol
2a75459519 pngdec: do not release buffer on failure instead report full progress
Should fix heap-use-after-free as reported by Address Sanitizer.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-23 21:08:32 +00:00
Alexander Strasser
b329ff3d43 MAINTAINERS: Add my GPG fingerprint 2013-08-23 21:40:57 +02:00
Michael Niedermayer
aadfadd784 avformat/redspark: check coef_off
Fixes out of array reads

Found-by: Laurent Butti <laurentb@gmail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-23 20:05:35 +02:00
Michael Niedermayer
9e477a3770 jpeg2000: fix null pointer dereference in case of malloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-23 18:06:54 +02:00
Michael Niedermayer
09927f3eaa jpeg2000: zero reslevel array on allocation
prevent use of uninitialized values

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-23 18:06:54 +02:00
Michael Niedermayer
912ce9dd20 jpeg2000: fix dereferencing invalid pointers
Found-by: Laurent Butti <laurentb@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-23 17:36:53 +02:00
Diego Biurrun
f407856968 arm: h264chroma: Do not compile h264_chroma_mc* dependent on h264 decoder
The functions are used by all codecs that enable the h264chroma component
and the file is already compiled conditional on h264chroma being enabled.
2013-08-23 17:21:14 +02:00
Diego Biurrun
84784c297f libfdk-aacdec: formatting cosmetics 2013-08-23 17:11:47 +02:00
Diego Biurrun
8506ff97c9 vp56: Mark VP6-only optimizations as such.
Most of our VP56 optimizations are VP6-only and will stay that way.
So avoid compiling them for VP5-only builds.
2013-08-23 14:42:19 +02:00
Michael Niedermayer
800ea20cad Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: Make tkhd "enabled" flag QuickTime compatible

Conflicts:
	libavformat/movenc.c
	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/vsynth/vsynth1-dnxhd-1080i
	tests/ref/vsynth/vsynth1-mpeg4
	tests/ref/vsynth/vsynth1-prores
	tests/ref/vsynth/vsynth1-qtrle
	tests/ref/vsynth/vsynth1-svq1
	tests/ref/vsynth/vsynth2-dnxhd-1080i
	tests/ref/vsynth/vsynth2-mpeg4
	tests/ref/vsynth/vsynth2-prores
	tests/ref/vsynth/vsynth2-qtrle
	tests/ref/vsynth/vsynth2-svq1

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-23 13:49:24 +02:00
Michael Niedermayer
c6f4a3a708 Merge commit '1f70a5ad284b33e8b3e2b40a5cb33055419781b7'
* commit '1f70a5ad284b33e8b3e2b40a5cb33055419781b7':
  mov: use tkhd enabled flag to set the default track

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-23 13:27:34 +02:00
Paul B Mahol
dd1d29bd5f pngdec: use av_fast_padded_malloc(z)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-23 10:29:33 +00:00
Paul B Mahol
8fbf940e16 lavfi/tile: do not leak input frame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-23 10:28:29 +00:00
Stefano Sabatini
0be3be9011 lavf/tee: copy metadata to output chained muxers 2013-08-23 12:27:09 +02:00
John Stebbins
30ce289074 movenc: Make tkhd "enabled" flag QuickTime compatible
QuickTime will play multiple audio tracks concurrently if this flag is
set for multiple audio tracks.  And if no subtitle track has this flag
set, QuickTime will show no subtitles in the subtitle menu.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-23 09:55:42 +02:00
John Stebbins
1f70a5ad28 mov: use tkhd enabled flag to set the default track
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-23 09:24:22 +02:00
Michael Niedermayer
16a0d75c76 avcodec/mjpegdec: fix overread in find_marker()
Found-by: Laurent Butti <laurentb@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-23 04:44:55 +02:00
Carl Eugen Hoyos
2baa12f1d1 Fix dependencies for h263 vaapi decoder. 2013-08-23 02:11:49 +02:00
Michael Niedermayer
8bb11c3ca7 avcodec/jpeg2000dec: Check cdx/y values more carefully
Some invalid values where not handled correctly in the later pixel
format matching code.
Fixes out of array accesses
Fixes Ticket2848

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-23 01:02:03 +02:00
Michael Niedermayer
c443689afb avformat/movenc: use av_freep() instead of av_free() except for local variables before return
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-23 00:31:15 +02:00
Paul B Mahol
b1e276f8df lavfi/hue: allow changing brightness
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-22 14:56:13 +00:00
Paul B Mahol
6e643239d9 pngdec: frame multithreading support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-22 13:14:25 +00:00
Michael Niedermayer
f903b42663 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: Split DCT and FFT initialization into separate files

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-22 14:28:42 +02:00
Stefano Sabatini
7af7b45c38 lavf/image2: extend start_number range to accept zero
Address trac ticket #2884.
2013-08-22 14:26:23 +02:00
Michael Niedermayer
25e4ec6aa1 Merge commit '60198742ff851f11a3757c713fc75a9c19b88566'
* commit '60198742ff851f11a3757c713fc75a9c19b88566':
  movenc: fix detection of 64bit offset requirement

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-22 14:16:52 +02:00
Michael Niedermayer
606a30c5a1 Merge commit 'fe5d5a8ffcafdc14c0d26eaea6464c89e120cc9e'
* commit 'fe5d5a8ffcafdc14c0d26eaea6464c89e120cc9e':
  movenc: Make chapter track QuickTime compatible

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-22 13:58:23 +02:00
Michael Niedermayer
d68adbd666 Merge commit 'f8ef91ff3d6bb83d601d816ef9368f911021c64b'
* commit 'f8ef91ff3d6bb83d601d816ef9368f911021c64b':
  movenc: add faststart option for web streaming

Conflicts:
	doc/muxers.texi
	libavformat/movenc.c
	libavformat/movenc.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-22 13:37:16 +02:00
Michael Niedermayer
221a99aae7 Merge commit '4622f11f9c83db8a2e08408c71ff901826ca652c'
* commit '4622f11f9c83db8a2e08408c71ff901826ca652c':
  w32pthread: help compiler figure out undeeded code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-22 13:09:24 +02:00
Michael Niedermayer
503aec1425 Merge commit '0b45269c2d732d15afa2de9c475d85fcf5561ac4'
* commit '0b45269c2d732d15afa2de9c475d85fcf5561ac4':
  x86: h264_idct: Remove incorrect comment

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-22 13:04:07 +02:00
Paul B Mahol
139a98be8e lavfi/gradfun: support gbrp
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-22 10:59:52 +00:00
Stefano Sabatini
eadb3ad758 lavf/tee: initialize ret in parse_bsfs()
Fix spurious failures.
2013-08-22 09:52:54 +02:00
Michael Niedermayer
3819db745d avcodec/rpza: Perform pointer advance and checks before using the pointers
Fixes out of array accesses
Fixes Ticket2850

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-22 01:26:02 +02:00
Paul B Mahol
920046abf1 loco: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-21 20:29:05 +00:00
Paul B Mahol
e7834d29f2 lavfi/separatefields: fix frame leak
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-21 20:02:25 +00:00
Paul B Mahol
71c378984b qtrle: make code independent of sizeof(AVFrame)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-21 19:27:31 +00:00
Paul B Mahol
5c9d44d66b qtrle: use memcpy()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-21 19:18:05 +00:00
Paul B Mahol
d5f547389b qtrle: use uint16_t and (u)int8_t instead of unsigned short and unsigned char
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-21 19:18:05 +00:00
Paul B Mahol
925d0837b9 qtrle: use bytestream2_get_buffer()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-21 19:18:05 +00:00
Paul B Mahol
9a5aa2c48e avcodec/mdec: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-21 18:35:58 +00:00
Diego Biurrun
e7b31844f6 x86: Split DCT and FFT initialization into separate files 2013-08-21 20:15:27 +02:00
Thilo Borgmann
ffa18de2e6 configure: Add exif to CONFIG_EXTRA.
Add exif as a common component in CONFIG_EXTRA in order to avoid many
dependencies to 'exif.o tiff_common.o' in lavc/Makefile.
2013-08-21 19:00:48 +02:00
Stefano Sabatini
71c5f9d29c doc/muxers: add elaborated example for the tee muxer
The example shows how to combine bsfs and select options.
2013-08-21 17:44:35 +02:00
Stefano Sabatini
5ae3563359 lavf/tee: add special select option 2013-08-21 17:44:35 +02:00
Paul B Mahol
e6876c7b7b lavfi/hue: use lookup tables
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-21 15:33:33 +00:00
Clément Bœsch
60198742ff movenc: fix detection of 64bit offset requirement
The old method doesn't work when moov is relocated to beginning of file

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-21 14:20:33 +01:00
John Stebbins
fe5d5a8ffc movenc: Make chapter track QuickTime compatible
QuickTime requires that the stsd.text box be completely filled in.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-21 14:20:33 +01:00
Clément Bœsch
f8ef91ff3d movenc: add faststart option for web streaming
Faststart moves the moov atom to the beginning of the file and rewrites
the rest of the file after muxing is complete.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-21 14:20:33 +01:00
Rafaël Carré
4622f11f9c w32pthread: help compiler figure out undeeded code
The emulation code is not needed when targetting Vista+
This helps getting rid of CreateSemaphore symbol, which is
forbidden in Windows Store apps.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-21 14:20:33 +01:00
Diego Biurrun
0b45269c2d x86: h264_idct: Remove incorrect comment 2013-08-21 15:09:58 +02:00
Michael Niedermayer
ca7f637a1e doc/filters: move fps filter start_time item to correct place
Fixes warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 14:29:15 +02:00
Michael Niedermayer
3d842cf827 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avcodec/utils: Simplify a condition that combines HAVE_NEON and ARCH_ARM

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 13:08:55 +02:00
Michael Niedermayer
70a73213b7 Merge commit 'c18838f5eb7d7001a9dc653f5162868c04c1b2a1'
* commit 'c18838f5eb7d7001a9dc653f5162868c04c1b2a1':
  h264_ps: Use more meaningful error values

Conflicts:
	libavcodec/h264_ps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 13:03:40 +02:00
Michael Niedermayer
e853cf5325 Merge commit '330ad1f6a53a37dec228cb424ca57e1268fafc64'
* commit '330ad1f6a53a37dec228cb424ca57e1268fafc64':
  h264_ps: K&R formatting cosmetics

Conflicts:
	libavcodec/h264_ps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 12:56:37 +02:00
Michael Niedermayer
8299ed261a Merge commit '8fed466b0a7d636ae5035f9c6074fba9a621539b'
* commit '8fed466b0a7d636ae5035f9c6074fba9a621539b':
  h264_ps: Drop commented-out cruft

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 12:32:33 +02:00
Michael Niedermayer
16466d92b9 Merge commit 'c4e43560fe6677e9d60bfb3cffc41c7324e92a0b'
* commit 'c4e43560fe6677e9d60bfb3cffc41c7324e92a0b':
  h264data: Move some tables to the only place they are used

Conflicts:
	libavcodec/h264data.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 12:21:48 +02:00
Michael Niedermayer
e9cb43c6f6 Merge commit 'f34de1486aa0eb147d46ba5d2cb86a17407bb7ce'
* commit 'f34de1486aa0eb147d46ba5d2cb86a17407bb7ce':
  h264data: Remove unused luma_dc_field_scan table

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 12:12:10 +02:00
Michael Niedermayer
614cf1a613 Merge commit '4f2b469da5e4ae221718ae479f6af627cfdebb91'
* commit '4f2b469da5e4ae221718ae479f6af627cfdebb91':
  Add a libfdk-aac decoder

Conflicts:
	configure
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 12:05:19 +02:00
Michael Niedermayer
b69b075ac6 Merge commit '545a0b807cf45b2bbc4c9087a297b741ce00f508'
* commit '545a0b807cf45b2bbc4c9087a297b741ce00f508':
  vf_fps: add 'start_time' option

Conflicts:
	doc/filters.texi
	libavfilter/vf_fps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 11:37:10 +02:00
Michael Niedermayer
58e12732db Merge commit '2a61592573d725956a4377641344afe263382648'
* commit '2a61592573d725956a4377641344afe263382648':
  avcodec: Remove some commented-out debug cruft

Conflicts:
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_loopfilter.c
	libavcodec/h264_mvpred.h
	libavcodec/mjpegdec.c
	libavcodec/mjpegenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 11:18:43 +02:00
Michael Niedermayer
a76390d100 Merge commit '6c786765cd5eb794dedd4a0970dfe689b16dfeeb'
* commit '6c786765cd5eb794dedd4a0970dfe689b16dfeeb':
  movenc: Allow chapters to be written in trailer

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 11:00:26 +02:00
Michael Niedermayer
8d63aaed1e Merge commit 'db03cb37fd9650b4a7c752d24a2e84ff27508ee8'
* commit 'db03cb37fd9650b4a7c752d24a2e84ff27508ee8':
  movenc: Allow chapter track in default MODE_MP4

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 10:45:27 +02:00
Michael Niedermayer
9ab8de4b23 Merge commit '64af59bc4916fac5578b31c89da13c30b591bddf'
* commit '64af59bc4916fac5578b31c89da13c30b591bddf':
  avformat: Fix references to removed av_close_input_file in Doxygen

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 10:38:45 +02:00
Diego Biurrun
e95930eda1 avcodec/utils: Simplify a condition that combines HAVE_NEON and ARCH_ARM 2013-08-21 09:40:39 +02:00
Michael Niedermayer
be03912a78 avformat/unix: reshuffle #includes
This should fix openbsd while hopefully also working on solaris & android

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 05:51:41 +02:00
Michael Niedermayer
97e165cdae avformat/unix: include sys/socket.h
unbreak android ndk r8 build

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 00:25:51 +02:00
Michael Niedermayer
880c73cd76 avcodec/flashsv: check diff_start/height
Fixes out of array accesses
Fixes Ticket2844

Found-by: ami_stuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 23:18:48 +02:00
Diego Biurrun
c18838f5eb h264_ps: Use more meaningful error values 2013-08-20 21:24:42 +02:00
Diego Biurrun
330ad1f6a5 h264_ps: K&R formatting cosmetics 2013-08-20 21:23:24 +02:00
Diego Biurrun
8fed466b0a h264_ps: Drop commented-out cruft 2013-08-20 21:09:05 +02:00
Diego Biurrun
c4e43560fe h264data: Move some tables to the only place they are used 2013-08-20 20:49:37 +02:00
Diego Biurrun
f34de1486a h264data: Remove unused luma_dc_field_scan table 2013-08-20 20:49:37 +02:00
Martin Storsjö
4f2b469da5 Add a libfdk-aac decoder
This can be useful for decoding AAC object types that are not supported
by the native AAC decoder, e.g. AAC-LD and AAC-ELD.
2013-08-20 14:27:27 -04:00
Justin Ruggles
545a0b807c vf_fps: add 'start_time' option
This allows for dropping or duplication to match a particular start time.
2013-08-20 14:10:02 -04:00
Diego Biurrun
2a61592573 avcodec: Remove some commented-out debug cruft 2013-08-20 19:59:50 +02:00
Thilo Borgmann
78d2a781d0 fate: Add EXIF test. 2013-08-20 18:47:20 +02:00
Michael Niedermayer
c56d4dab03 swr/rematrix: Fix handling of AV_CH_LAYOUT_STEREO_DOWNMIX output
Fixes Ticket2859

Note, testcases related to the downmix channels are welcome.
(id like to make sure this is working correctly now, as obviously it didnt
 work before ...)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 16:56:51 +02:00
Michael Niedermayer
6dfffe9200 swr: clean layouts before checking sanity
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 16:49:31 +02:00
John Stebbins
6c786765cd movenc: Allow chapters to be written in trailer
This allows creation of frame accurate chapter marks from sources
like DVD and BD where the precise chapter location is not known until
the chapter mark has been reached during reading.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-20 15:18:42 +01:00
John Stebbins
db03cb37fd movenc: Allow chapter track in default MODE_MP4
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-20 15:18:42 +01:00
Michael Niedermayer
3d64845600 movenc: ilbc needs audio_vbr set.
Without this the block_align or bitrate value is not available to the decoder

Fixes Ticket2858

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 14:18:24 +02:00
Diego Biurrun
64af59bc49 avformat: Fix references to removed av_close_input_file in Doxygen 2013-08-20 13:33:47 +02:00
Michael Niedermayer
fb679d5374 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mov: Prevent segfaults on mov_write_hdlr_tag

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 12:48:52 +02:00
Michael Niedermayer
eec75e0a1f Merge commit '22de0f8369f1f3edf1a55e1d275f3c07c617b53e'
* commit '22de0f8369f1f3edf1a55e1d275f3c07c617b53e':
  mov: Compute max duration among the tracks with a timescale

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 12:34:54 +02:00
Michael Niedermayer
4a6f1be170 Merge commit '39523030108815242178ac5e209c83070bd1baef'
* commit '39523030108815242178ac5e209c83070bd1baef':
  mov: Set the timescale for data streams

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 12:16:31 +02:00
Michael Niedermayer
e1acfd3cb0 Merge commit 'b886f5c2f1e71b3e60e4265c500158d392b4b9a4'
* commit 'b886f5c2f1e71b3e60e4265c500158d392b4b9a4':
  mkv: Allow flushing the current cluster in progress

Conflicts:
	libavformat/matroskaenc.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 11:44:25 +02:00
Michael Niedermayer
d169b56b7b Merge commit '59f595921eb2b848a80a74aa81b6bb43038c9ebe'
* commit '59f595921eb2b848a80a74aa81b6bb43038c9ebe':
  mkv: Flush the old cluster before writing a new one

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 11:30:55 +02:00
Michael Niedermayer
ac957bc60c Merge commit '98308bd44face14ea3142b501d16226eec23b75a'
* commit '98308bd44face14ea3142b501d16226eec23b75a':
  mkv: Add options for specifying cluster limits

Conflicts:
	libavformat/matroskaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 11:15:11 +02:00
Michael Niedermayer
976de369dd Merge commit '148fbdd1c2a2a88a78ba9fd152c81c840bdb205a'
* commit '148fbdd1c2a2a88a78ba9fd152c81c840bdb205a':
  mkv: Refactor mkv_write_packet

Conflicts:
	libavformat/matroskaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 11:05:02 +02:00
Michael Niedermayer
d9b0b54a5f ffv1: rename minor to micro version
the version is 1.3.4 which makes 4 micro and not minor

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 03:30:36 +02:00
Luca Barbato
67400f6b62 mov: Prevent segfaults on mov_write_hdlr_tag
Do not segfault when writing tracks such as tmcd by writing them down
as generic DataHandlers if not known.
2013-08-20 00:22:58 +02:00
Luca Barbato
22de0f8369 mov: Compute max duration among the tracks with a timescale
Prevent an assert.
2013-08-20 00:22:58 +02:00
Luca Barbato
3952303010 mov: Set the timescale for data streams
Data streams have a defined timebase, do not ignore it.
2013-08-20 00:22:58 +02:00
Michael Niedermayer
68b63a3432 mpegvideo: Use picture_ptr instead of picture in ff_mpeg_draw_horiz_band()
Fixes strides and issue with mplayer and mpeg2 field pictures

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 00:19:21 +02:00
Martin Storsjö
b886f5c2f1 mkv: Allow flushing the current cluster in progress
Allow emitting the current cluster that is being written before
starting a new one, simplifying how to figure out where clusters
are positioned in the output stream (for live streaming).

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-08-19 22:47:07 +02:00
Luca Barbato
59f595921e mkv: Flush the old cluster before writing a new one
This simplifies keeping track of cluster boundaries for e.g.
livestreaming of WebM.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-08-19 22:47:06 +02:00
Luca Barbato
98308bd44f mkv: Add options for specifying cluster limits
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-08-19 22:46:31 +02:00
Matthew Heaney
818ebe930f avformat/matroskadec: add WebVTT support
WebM files now support inband text tracks, as described in the
following specification:

http://wiki.webmproject.org/webm-metadata/temporal-metadata/webvtt-in-webm

The Matroska demuxer now detects the presence of WebVTT tracks,
synthesizing WebVTT packets (having codec id AV_CODEC_ID_WEBVTT) and
pushing them downstream in the normal way.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-19 22:34:57 +02:00
Michael Niedermayer
23b3141261 swscale: improve dither checks
Bssed on patch by Øyvind Kolås <pippin@gimp.org>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-19 18:33:50 +02:00
Michael Niedermayer
8c50ea2251 swscale: set dither to a specific value for rgb/bgr8 output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-19 18:31:35 +02:00
Luca Barbato
148fbdd1c2 mkv: Refactor mkv_write_packet
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-08-19 17:21:15 +02:00
Stephen Hutchinson
76d8d23881 Revert "doc/RELEASE_NOTES: add a note about AVISynth"
This reverts commit 3aa2257d24.
2013-08-19 12:39:28 +02:00
Paul B Mahol
daede1e3fa matroskaenc: remove unneeded wavpack tag
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-19 09:41:18 +00:00
Michael Niedermayer
54e718d014 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ogg: Fix potential infinite discard loop

No change as this commit has been part of ffmpeg since a while already

See: d7b542ae29
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-19 11:22:26 +02:00
Reimar Döffinger
9a27acae9e ogg: Fix potential infinite discard loop
Seeking in certain broken files would cause ogg_read_timestamp
to fail because ogg_packet would go into a state where all packets
of stream 1 would be discarded until the end of the stream.

Bug-Id: 553
CC: libav-stable@libav.org

Signed-off-by: Jan Gerber <j@v2v.cc>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-08-19 05:20:39 +02:00
Carl Eugen Hoyos
037af63b33 Fix frame width and height for some targa_y216 samples.
Fixes ticket #2864.
2013-08-18 23:37:27 +02:00
Michael Niedermayer
d73cbc22c5 avformat/mpegts: resync from the smallest packet size on
This avoids the loss of a packet in many cases if the packet size was wrong.
It also improves detection of packet size changes

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 22:59:04 +02:00
Michael Niedermayer
b4429c259a mpegts_get_pcr: dont loose a packet when resyncing
This matches how read_packet() works

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 22:48:19 +02:00
Michael Niedermayer
0f2f65bd58 mpegts: fix pos47_full
The value was off by a packet

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 22:45:39 +02:00
Michael Niedermayer
ee7f2609a0 avformat/mpegts: print packet size warning only if new size differs from old
No case is known to have triggered this, but its more correct to check that the
new size differs.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 22:45:39 +02:00
Carl Eugen Hoyos
47f9a5b737 Warn the user if a pix_fmt != yuv420p was chosen for MPEG-2 video encoding.
Fixes ticket #2870.
2013-08-18 22:00:35 +02:00
Michael Niedermayer
63c0e9077e avcodec/jpeg2000dec: fix near null pointer dereference
Fixes Ticket2840

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 18:44:12 +02:00
Michael Niedermayer
c666c59ac1 mpegts: reanalyze packet size on mismatches
Fixes Ticket1812
Fixes Ticket2838

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 16:40:18 +02:00
Michael Niedermayer
7d776062f9 avcodec/error_resilience: Fix handling of matrox mpeg2
Fixes Ticket2615

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 14:37:12 +02:00
Michael Niedermayer
70967a60df mpeg12dec: also print progressive seq and chroma format
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 13:55:57 +02:00
Michael Niedermayer
f4f6eb5b74 fate: add ffv1.0 test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 13:01:44 +02:00
Michael Niedermayer
45975ab7a1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: Indicate that negative timestamps are supported

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 12:40:22 +02:00
Michael Niedermayer
66722b4ba9 Merge commit 'c34a96a5ddfa390ce2a352eca79190766c9056d4'
* commit 'c34a96a5ddfa390ce2a352eca79190766c9056d4':
  dxa: fix decoding of first I-frame by separating I/P-frame decoding

Conflicts:
	libavcodec/dxa.c

See: 186e47ef6d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 12:00:17 +02:00
Michael Niedermayer
338f8b2eaf avformat/matroskadec: check out_samplerate before using it in av_rescale()
Prevent assertion failure with damaged input

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 02:34:48 +02:00
James Almer
af248fa117 matroskadec: Improve TTA duration calculation
Calculate the duration as accurately as possible to improve decoding of samples
where the last frame is smaller than the rest.

Example:
Take lossless-audio/luckynight-partial.tak from the FATE suit and convert it
to TTA muxed into matroska:

ffmpeg -i $(SAMPLES)/lossless-audio/luckynight-partial.tak -c:a tta lucky.mka

The framemd5 output for lucky.mka without this patch:

0,          0,          0,    46080,   184320, 7c3751ddd571d2903c3cf0ab4b3e3d0a
0,      46080,      46080,    46080,   184320, 6b70c782ba1da3f933fde2daa4f96b73
0,      92160,      92160,    46080,   184320, dcf70d89c54b9a4f0b302d4ec4fb302d
0,     138240,     138240,    46080,   184320, 48713ca38b388d2ea4abf5b86ed1226f
0,     184320,     184320,    46080,   184320, 12188a23648e7ebfb07cd6fe9197b2ea
0,     230400,     230400,    46080,   184320, 49653ab8186a5d4a044ed284671a26e0
0,     276480,     276480,    46080,   184320, 5e82c6a7fe58c7ea612c03a0a2927dd4
0,     322560,     322560,    46080,   184320, 83dc449dbd9eab5f2e8ad2b4403d6a21
0,     368640,     368640,    46080,   184320, bdd6b92c23d30978d4e802d305b0fc49

With this patch:

0,          0,          0,    46080,   184320, 7c3751ddd571d2903c3cf0ab4b3e3d0a
0,      46080,      46080,    46080,   184320, 6b70c782ba1da3f933fde2daa4f96b73
0,      92160,      92160,    46080,   184320, dcf70d89c54b9a4f0b302d4ec4fb302d
0,     138240,     138240,    46080,   184320, 48713ca38b388d2ea4abf5b86ed1226f
0,     184320,     184320,    46080,   184320, 12188a23648e7ebfb07cd6fe9197b2ea
0,     230400,     230400,    46080,   184320, 49653ab8186a5d4a044ed284671a26e0
0,     276480,     276480,    46080,   184320, 5e82c6a7fe58c7ea612c03a0a2927dd4
0,     322560,     322560,    46080,   184320, 83dc449dbd9eab5f2e8ad2b4403d6a21
0,     368640,     368640,    46080,   184320, bdd6b92c23d30978d4e802d305b0fc49
0,     414720,     414720,     4230,    16920, b50b440c5bbcecb8e9fbece643447593

The duration without this patch was calculated as 418950000000, which is bigger
than uint32_t and as such stored as 2338172288.
With this patch the duration is correctly calculated as 418950.

Signed-off-by: James Almer <jamrial@gmail.com>
Approved-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 02:34:39 +02:00
Paul B Mahol
02eb15a6c1 wavpackenc: do not copy samples if they are not available
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-17 22:25:49 +00:00
Vignesh Venkatasubramanian
571efd9729 lavf/matroska: Adding the new SeekPreRoll element
In order to encapsuate Opus in Matroska, there is a new element
that has been added to the Matroska Spec, SeekPreRoll. It has the
duration in nanoseconds that has to be decoded before every seek.
Spec: http://matroska.org/technical/specs/index.html#SeekPreRoll
Proposal for encapsulateing Opus in Matroska:
http://wiki.xiph.org/MatroskaOpus

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 00:04:08 +02:00
Martin Storsjö
0a14fefd68 movenc: Indicate that negative timestamps are supported
The mov/mp4 muxer has support for handling negative timestamps
via edit lists (which customarily is used for handling the 1-frame
delay due to B-frames as well).

Using the muxer's native way of handling it is better than using
the generic offsetting. The generic offsetting is a bit too
crude when e.g. the timebase of one track is 1/fps, where the
edit lists can handle it accurately.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-17 22:46:11 +01:00
Michael Niedermayer
6e4b9b8a2f avcodec: fix compilation without vdpau
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 22:18:55 +02:00
Michael Niedermayer
a0c6c8e53e Revert "Merge commit of 'vdpau: remove old-style decoders'"
This reverts commit bf36dc50ea, reversing
changes made to b7fc2693c7.

Conflicts:

	libavcodec/h264.c

Keeping support for the old VDPAU API has been requested by our VDPAU maintainer

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 22:17:49 +02:00
Michael Niedermayer
0a141b0e49 avcodec/dxa: Support printing picture debug info
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 15:11:09 +02:00
Stephen Hutchinson
2c25e83b1d avisynth: Support video input from AviSynth 2.5 properly.
Uses the 2.5 compatibility header included with the variant of
FFMS2 that uses AviSynth's C-interface. A copy of this header is
now provided in compat/avisynth.

avs_get_row_size_p and avs_get_height_p changed between versions
2.5 and 2.6. Since the avisynth_c.h header that avformat uses
assumes AviSynth 2.6, it would cause 2.5 to crash if given any
kind of real video (the Version() function was known to work,
though).

AvxSynth was unaffected by this issue because, despite being based
on AviSynth 2.5.8 and using 2.5.8's interface version number of 3,
it actually uses 2.6's versions of these functions.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 14:27:25 +02:00
Janne Grunau
c34a96a5dd dxa: fix decoding of first I-frame by separating I/P-frame decoding
5ef7c84 broke decoding for the first keyframe due to an unnecessary
check for a reference frame.

CC: libav-stable@libav.org
2013-08-17 12:55:26 +02:00
Michael Niedermayer
9640ea1da4 dxa: fix support of decoding all frames even in the absence of references
The case where decoding should only happen for keyframes and afterwards
(CODEC_FLAG2_SHOW_ALL not set) does not fully work neither before nor
after this

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 11:48:22 +02:00
Michael Niedermayer
186e47ef6d dxa: only fail with an error about reference frames if the reference frame would be used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 11:19:20 +02:00
Michael Niedermayer
7a342f97c4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dxa: Make sure the reference frame exists

See: 12eb2fd539
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 11:19:03 +02:00
Michael Niedermayer
bd71071066 Merge commit 'c59967fa7cc5bc2fa06b36c17d2c207240c06b3e'
* commit 'c59967fa7cc5bc2fa06b36c17d2c207240c06b3e':
  h261: check the mtype index

Conflicts:
	libavcodec/h261dec.c

The right half of the check is impossible to be true and thus replaced by
an assert()

See: ec3cd74f2d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 10:35:51 +02:00
Michael Niedermayer
2c1a215ddb ffv1: update years in header
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 01:43:30 +02:00
Michael Niedermayer
c8d89be477 ffv1enc: propagate error code from write_extradata()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 01:43:30 +02:00
Michael Niedermayer
eeb3fb9e62 ffv1enc: check for malloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 01:43:30 +02:00
Stefano Sabatini
faf7c35655 lavf/tee: add support for bitstream filtering
This allows to apply different bitstream filters to different outputs,
with no need to transcode.
2013-08-16 17:58:58 +02:00
Michael Niedermayer
29852ffc64 avcodec/dirac_dwt: Remove unused ff_spatial_idwt2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 16:07:29 +02:00
Michael Niedermayer
cbdf4d6a61 avfilter/vf_mp: remove unused sws related functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 16:07:29 +02:00
Michael Niedermayer
247fa6c27c avfilter: remove ff_copy_int*_list
The functions are unused

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 16:07:29 +02:00
Michael Niedermayer
c62801270f swscale: change ff_dither_8x8_128 dimensions to be consistent with the others
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 16:06:59 +02:00
Luca Barbato
5ef7c84a93 dxa: Make sure the reference frame exists
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-08-16 14:56:56 +02:00
Luca Barbato
c59967fa7c h261: check the mtype index
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-08-16 14:56:49 +02:00
Paul B Mahol
66f1de66b8 lavfi/transpose: call av_frame_copy_props()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-16 12:40:02 +00:00
Paul B Mahol
e74a5acb40 lavfi/transpose: support slice threading
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-16 12:40:02 +00:00
Paul B Mahol
ef6718a5f7 lavfi/tile: make color of blank/unused area configurable
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-16 12:40:01 +00:00
Michael Niedermayer
d7ed473d5c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  altivec: perform an explicit unaligned load

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 14:21:40 +02:00
Michael Niedermayer
c02945b6d2 Merge commit '9d86bfc259ae9ba7a76067ec931ff20fbb86ea2a'
* commit '9d86bfc259ae9ba7a76067ec931ff20fbb86ea2a':
  hlsenc: Don't reset the number variable when wrapping

Conflicts:
	libavformat/hlsenc.c

See: 75b9fb27f5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 14:05:59 +02:00
Michael Niedermayer
50c0837801 Merge commit '09c93b1b957f2049ea5fd8fb0e6f4d82680172f2'
* commit '09c93b1b957f2049ea5fd8fb0e6f4d82680172f2':
  hlsenc: Append the last incomplete segment when closing the output

Conflicts:
	libavformat/hlsenc.c

See: 4630dfd1eb
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 14:03:44 +02:00
Michael Niedermayer
dff205cca3 Merge commit 'c9031c7c1446a1a63eff7c0bf50d1ee559adf3fb'
* commit 'c9031c7c1446a1a63eff7c0bf50d1ee559adf3fb':
  hlsenc: Add a proper dependency on the mpegts muxer

Conflicts:
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 13:43:31 +02:00
Michael Niedermayer
83386a1f62 Merge commit '239f55bf3c966782b781338df284f250393b9ed6'
* commit '239f55bf3c966782b781338df284f250393b9ed6':
  vp56data: Move all data tables to the .c file

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 13:37:10 +02:00
Michael Niedermayer
669ea5e102 Merge commit 'cb214707a6cb0d3272ec0261af6f1f5d8b7dabc7'
* commit 'cb214707a6cb0d3272ec0261af6f1f5d8b7dabc7':
  vp56data: Move all shared enum/struct declarations to common header

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 13:19:24 +02:00
Michael Niedermayer
dbcee7cc5c Merge commit '38f64c03301ac66d7b54b3e4bd2bf6454f9fb2d3'
* commit '38f64c03301ac66d7b54b3e4bd2bf6454f9fb2d3':
  mpeg12decdata.h: Move all tables to the only place they are used

Conflicts:
	libavcodec/mpeg12decdata.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 13:13:58 +02:00
Michael Niedermayer
89f4812cda Merge commit 'ec6c1b1d832ec3261cc3faf93a18d7b2a84883c6'
* commit 'ec6c1b1d832ec3261cc3faf93a18d7b2a84883c6':
  mpeg12decdata: Remove unused #define

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 13:08:12 +02:00
Michael Niedermayer
b7a025092f Merge commit 'c591d4575a6f97fbbe6145304b1ea960e8e81e14'
* commit 'c591d4575a6f97fbbe6145304b1ea960e8e81e14':
  avcodec: Replace local extern declarations for tables with header #includes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 13:01:44 +02:00
Michael Niedermayer
c14fc4585c Merge commit 'aa2ba8c99e5708884a56aea9c1d96e014866f8a3'
* commit 'aa2ba8c99e5708884a56aea9c1d96e014866f8a3':
  swscale: Move extern declarations for tables to swscale_internal.h

Conflicts:
	libswscale/output.c
	libswscale/swscale_internal.h
	libswscale/swscale_unscaled.c
	libswscale/utils.c
	libswscale/yuv2rgb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 12:56:48 +02:00
Michael Niedermayer
1ef0b8f9cc Merge commit 'd258531502b24cb653204fe4f003c8815755bdc4'
* commit 'd258531502b24cb653204fe4f003c8815755bdc4':
  swscale: Mark a bunch of tables only used within one file static

Conflicts:
	libswscale/swscale_unscaled.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 12:40:32 +02:00
Michael Niedermayer
7372177a08 Merge commit '060ce0c697e261ca2792a7df30dfd1bae6900a4f'
* commit '060ce0c697e261ca2792a7df30dfd1bae6900a4f':
  ivi_common: Make some tables only used within the file static

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 12:31:43 +02:00
Michael Niedermayer
e1ec7990fe Merge commit '4b054a3400f728c54470ee6a1eefe1d82420f6a2'
* commit '4b054a3400f728c54470ee6a1eefe1d82420f6a2':
  rtpproto: Check the right feature detection macro

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 12:31:15 +02:00
Michael Niedermayer
165e42b542 Merge commit '163a729725c6eb0081b0af41a7279f7d19aee86e'
* commit '163a729725c6eb0081b0af41a7279f7d19aee86e':
  electronicarts: Let functions always returning the same value return void

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 12:25:07 +02:00
Michael Niedermayer
4195321a82 Merge commit '4908c8ef2706d98022bf27a5c5bca1fe109e7529'
* commit '4908c8ef2706d98022bf27a5c5bca1fe109e7529':
  electronicarts: Improve some function/variable names

Conflicts:
	libavformat/electronicarts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 12:14:32 +02:00
Michael Niedermayer
6bba695785 Merge commit 'a90cff137b2aca89380b0acad41cd7bb05619ece'
* commit 'a90cff137b2aca89380b0acad41cd7bb05619ece':
  electronicarts: comment wording fixes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 12:08:47 +02:00
Michael Niedermayer
6a4e55a246 Merge commit '288f2ffb57ae9e9eee2748aca26da3aeb3ca6f6c'
* commit '288f2ffb57ae9e9eee2748aca26da3aeb3ca6f6c':
  electronicarts: Remove bogus function documentation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 12:07:49 +02:00
Michael Niedermayer
a87cf3689e Merge commit '8747fce91fca6bb8e9936497f2de05c905cf43b5'
* commit '8747fce91fca6bb8e9936497f2de05c905cf43b5':
  electronicarts: K&R formatting cosmetics

Conflicts:
	libavformat/electronicarts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 12:01:22 +02:00
Michael Niedermayer
15677e7239 Merge commit 'e8c0defe1322f0ff281d9bc5eee91fa1b712b6aa'
* commit 'e8c0defe1322f0ff281d9bc5eee91fa1b712b6aa':
  8bps: decode 24bit files correctly as rgb32 on bigendian

Conflicts:
	libavcodec/8bps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 11:43:26 +02:00
Kostya Shishkov
f399e406af altivec: perform an explicit unaligned load
Implicit vector loads on POWER7 hardware can use the VSX
instruction set instead of classic Altivec/VMX. Let's force
a VMX load in this case.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-16 10:08:47 +03:00
Michael Niedermayer
ec0e0eb4c1 avfilter/vf_scale+aresample: minor simpification
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 04:26:59 +02:00
Michael Niedermayer
6d246f440e avfilter/vf_scale: generic swscale option support
With this all AVOptions from swscale can be set without each needing
changes to vf_scale.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-15 23:23:58 +02:00
Carl Eugen Hoyos
9d86bfc259 hlsenc: Don't reset the number variable when wrapping
The counter itself shouldn't be wrapped, since it is used for
determining end_pts for the next segment - only wrap the number
used for the segment file name.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-15 22:41:19 +03:00
Stefano Sabatini
09c93b1b95 hlsenc: Append the last incomplete segment when closing the output
Also avoid comparing NOPTS values.

Bug-id: 551
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-15 22:41:18 +03:00
Martin Storsjö
c9031c7c14 hlsenc: Add a proper dependency on the mpegts muxer
The hls muxer itself doesn't have any direct (object file level)
dependencies on mpegtsenc.o, and including that object file
directly doesn't ensure that it is registered so that the muxer
actually is accessible.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-15 22:41:11 +03:00
Michael Niedermayer
1e0e193240 sws: add dither enum
This allows specifying more dither algorithms without using up flags and
without ambiguities.

Also initialize the new field based on the flags and use it.
Note, improving the logic of the checks is left to subsequent
commits, this here only switches from flags to enum.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-15 21:39:32 +02:00
Michael Niedermayer
60e9b8556a swscale_unscaled: make dither_scale static, its not used elsewhere and has no prefix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-15 21:38:22 +02:00
Piotr Bandurski
165b65771d avformat/riff: add DM4V FourCC
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-15 15:46:25 +02:00
Diego Biurrun
239f55bf3c vp56data: Move all data tables to the .c file 2013-08-15 14:38:03 +02:00
Diego Biurrun
cb214707a6 vp56data: Move all shared enum/struct declarations to common header 2013-08-15 14:38:03 +02:00
Diego Biurrun
38f64c0330 mpeg12decdata.h: Move all tables to the only place they are used 2013-08-15 14:38:03 +02:00
Diego Biurrun
ec6c1b1d83 mpeg12decdata: Remove unused #define 2013-08-15 14:38:03 +02:00
Diego Biurrun
c591d4575a avcodec: Replace local extern declarations for tables with header #includes 2013-08-15 14:38:03 +02:00
Diego Biurrun
aa2ba8c99e swscale: Move extern declarations for tables to swscale_internal.h
Also add missing ff_ prefixes where necessary.
2013-08-15 14:38:03 +02:00
Diego Biurrun
d258531502 swscale: Mark a bunch of tables only used within one file static 2013-08-15 14:38:03 +02:00
Diego Biurrun
060ce0c697 ivi_common: Make some tables only used within the file static 2013-08-15 14:38:03 +02:00
Martin Storsjö
4b054a3400 rtpproto: Check the right feature detection macro
IPPROTO_IPV6 is unrelated here (it's only used in udp.c for
multicast sockopts), check for support for the sockaddr_in6
struct itself.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-15 15:35:41 +03:00
Michael Niedermayer
23606f27f0 avcodec/ffv1enc: bump minor_version for the chroma_plane fix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-15 13:49:21 +02:00
Michael Niedermayer
1a01147d7a avcodec/ffv1enc: fix chroma_plane for rgb/rgba
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-15 13:27:29 +02:00
Michael Niedermayer
c387c45e83 ffv1: fix plane_count at version 1.4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-15 13:03:53 +02:00
Michael Niedermayer
8ec6188263 ffv1dec: support printing information about the global header
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-15 12:58:48 +02:00
Diego Biurrun
163a729725 electronicarts: Let functions always returning the same value return void 2013-08-15 12:24:43 +02:00
Diego Biurrun
4908c8ef27 electronicarts: Improve some function/variable names 2013-08-15 12:24:42 +02:00
Diego Biurrun
a90cff137b electronicarts: comment wording fixes 2013-08-15 12:24:42 +02:00
Diego Biurrun
288f2ffb57 electronicarts: Remove bogus function documentation 2013-08-15 12:24:42 +02:00
Diego Biurrun
8747fce91f electronicarts: K&R formatting cosmetics 2013-08-15 12:24:42 +02:00
Janne Grunau
e8c0defe13 8bps: decode 24bit files correctly as rgb32 on bigendian 2013-08-15 11:50:43 +02:00
Michael Niedermayer
2c959eccc6 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtpproto: Check for the right feature when reading a sockaddr_in6

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-15 11:34:30 +02:00
Dave Yeo
c3386bd5b4 rtpproto: Check for the right feature when reading a sockaddr_in6
Some systems, such as OS/2, define AF_INET6 without a full
implementation.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-15 10:31:43 +03:00
Michael Niedermayer
bfbe07670b wavpackenc: simplify "sign = ((sample) < 0) ? 1 : 0;"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 23:20:25 +02:00
Michael Niedermayer
1a53ddd9a2 avcodec/lzwenc: change asserts to av_asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 23:15:54 +02:00
Michael Niedermayer
796b20fa1c avcodec/gif: use the whole allocated buffer
Fixes some gif encoding failures

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 23:15:54 +02:00
Michael Niedermayer
b4e2e03709 avcodec/lzwenc: Add 1 additional bit of padding for gif
This fixes issues with gimp reading animated gifs

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 23:15:54 +02:00
Michael Niedermayer
5dd5985e05 avcodec/gif: move BITSTREAM_WRITER_LE up
This prevents issues in case any header #includes put_bits.h

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 23:15:54 +02:00
Alexander Strasser
dc2e4c2e53 lavf/wavdec: Fix seeking in files with unaligned offsets
A file with a prepended ID3 tag of an uneven length was found
in the wild.

Check if the wav data starts at an uneven offset and use that
information to correct the seeking calculation in wav_seek_tag,
which used to only seek to even byte positions.

Regression since ac87eaf856

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2013-08-14 22:05:41 +02:00
Michael Niedermayer
dabfa80ce2 avcodec/mjpegdec: print a message when there was just a single field and no frame
Fixes ticket1915

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 19:16:38 +02:00
Paul B Mahol
93f4277714 WavPack encoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-14 14:04:05 +00:00
Michael Niedermayer
20904518e9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  sdp: Add an option for sending RTCP packets to the source of the last packets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 12:42:44 +02:00
Michael Niedermayer
2425be894a Merge commit '6b58e11a8331690ec32e9869db89ae10c54614e9'
* commit '6b58e11a8331690ec32e9869db89ae10c54614e9':
  rtpproto: Add an option for writing return packets to the address of the last received packets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 12:38:11 +02:00
Michael Niedermayer
1a01f367a4 Merge commit '2427ac6ccd868811d1fe9df7c64c50ca58abe6f6'
* commit '2427ac6ccd868811d1fe9df7c64c50ca58abe6f6':
  rtpproto: Update the parameter documentation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 12:30:40 +02:00
Michael Niedermayer
ab06436dbf Merge commit '5268bd2900effa59b51e0fede61aacde5e2f0b95'
* commit '5268bd2900effa59b51e0fede61aacde5e2f0b95':
  segafilm: Error out on impossible packet size

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 12:25:51 +02:00
Michael Niedermayer
070c22d53a Merge commit '3562684db716d11de0b0dcc52748e9cd90d68132'
* commit '3562684db716d11de0b0dcc52748e9cd90d68132':
  ogg: Always alloc the private context in vorbis_header

Conflicts:
	libavformat/oggparsevorbis.c

See: 18b46a494e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 12:17:02 +02:00
Michael Niedermayer
2bac839bd3 Merge commit 'f13fe6020e6a3871f9b0c96b240e58e6ed4fb5d7'
* commit 'f13fe6020e6a3871f9b0c96b240e58e6ed4fb5d7':
  rtjpeg: Use init_get_bits8

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 11:56:12 +02:00
Michael Niedermayer
d12bc01ec5 Merge commit '62cc7a91080194d9ead162516f779f20931220d9'
* commit '62cc7a91080194d9ead162516f779f20931220d9':
  rtjpeg: return meaningful error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 11:51:42 +02:00
Michael Niedermayer
8da4305eb5 Merge commit '2df0776c2293efb0ac12c003843ce19332342e01'
* commit '2df0776c2293efb0ac12c003843ce19332342e01':
  nuv: Use av_fast_realloc

Conflicts:
	libavcodec/nuv.c

This change is not merged, the long ago fixed buffer use after codec_reinit()
was a bug.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 11:50:40 +02:00
Michael Niedermayer
1dee467d26 Merge commit 'feaaf5f7f0afac7223457f871af2ec9b99eb6cc6'
* commit 'feaaf5f7f0afac7223457f871af2ec9b99eb6cc6':
  nuv: Reset the frame on resize

Conflicts:
	libavcodec/nuv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 10:44:55 +02:00
Michael Niedermayer
86fe16a763 Merge commit '075dbc185521f193c98b896cd63be3ec2613df5d'
* commit '075dbc185521f193c98b896cd63be3ec2613df5d':
  nuv: Pad the lzo outbuf

Conflicts:
	libavcodec/nuv.c

See: 95e1dfee76
See: 266f6eefc6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 10:38:11 +02:00
Martin Storsjö
b56fc18b20 sdp: Add an option for sending RTCP packets to the source of the last packets
An SDP description normally only contains the target IP address
and port for the packets. This means that we don't really have
any clue where to send the RTCP RR packets - previously they're
sent to the destination IP written in the SDP (at the same port),
which rarely is the actual peer. And if the source for the packets
is on a different port than the destination, it's never correct.

With a new option, we can choose to send the packets to the
address that the latest packet on each socket arrived from.
---
Some may even argue that this should be the default - perhaps,
but I'd rather keep it optional at first. Additionally, I'm not
sure if sending RTCP RR directly back to the source is
desireable for e.g. multicast.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-14 11:21:33 +03:00
Martin Storsjö
6b58e11a83 rtpproto: Add an option for writing return packets to the address of the last received packets
If we've received packets on the same socket before, the return
packets are sent to that address. If we've only received packets
on the other socket, try to guess the source port for the other
one assuming the basic +1/-1 logic.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-14 11:21:32 +03:00
Michael Niedermayer
7ec7d626a1 Merge commit 'aae159a7cc4df7d0521901022b778c9da251c24e'
* commit 'aae159a7cc4df7d0521901022b778c9da251c24e':
  nuv: Do not ignore lzo decompression failures

Conflicts:
	libavcodec/nuv.c
	tests/ref/fate/nuv-rtjpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 10:10:14 +02:00
Michael Niedermayer
640a36a05c ffmpeg_filter: check that the input media type match the filter
Fixes Ticket2012

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 03:03:41 +02:00
Piotr Bandurski
1ee1a3d9f4 avcodec/gsmdec: reject unsupported msn audio modes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 23:59:39 +02:00
Timothy Gu
bbbd9596ad doc/filters: reformat scale filter doc
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-08-13 23:51:08 +02:00
Paul B Mahol
8a7295beeb tiff: frame multithreading support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-13 19:29:10 +00:00
Martin Storsjö
2427ac6ccd rtpproto: Update the parameter documentation
Move the sources documentation up below the marker for deprecated
otpions. Also mention the new block parameter, that was added
in 749722209.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-13 22:16:53 +03:00
Michael Niedermayer
9706401927 avcodec/mpeg12dec: check slice size before trying to decode it
Fixes assertion failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 19:36:50 +02:00
Thilo Borgmann
6a64b23d93 Update my email address. 2013-08-13 15:45:08 +02:00
Compn
8e0b6d82b3 riff: add msn audio comment 2013-08-13 09:41:28 -04:00
Michael Niedermayer
cba9a40d47 avcodec: free priv_data in avcodec_copy_context()
Fixes memleak
Fixes Ticket2216

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 15:24:30 +02:00
Michael Niedermayer
e85771f268 ffserver: allocate rc_eq, prevent freeing invalid pointer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 15:24:30 +02:00
Michael Niedermayer
ef36ba5e08 avcodec: clarify documentation of avcodec_copy_context()
Following this is not strictly needed but safes some malloc+free

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 15:24:30 +02:00
Luca Barbato
5268bd2900 segafilm: Error out on impossible packet size
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-08-13 15:14:07 +02:00
Paul B Mahol
11afe28b9a lavfi/ebur128: fix typo: s/negociation/negotiation
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-13 12:43:56 +00:00
Luca Barbato
3562684db7 ogg: Always alloc the private context in vorbis_header
It is possible to have an initial broken header and then valid packets.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-08-13 14:04:55 +02:00
Luca Barbato
f13fe6020e rtjpeg: Use init_get_bits8
CC:libav-stable@libav.org
2013-08-13 14:04:55 +02:00
Luca Barbato
62cc7a9108 rtjpeg: return meaningful error codes 2013-08-13 14:04:55 +02:00
Luca Barbato
2df0776c22 nuv: Use av_fast_realloc
The decompressed buffer can be used after codec_reinit, so it must be
preserved.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-08-13 14:04:06 +02:00
Luca Barbato
feaaf5f7f0 nuv: Reset the frame on resize
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-08-13 13:09:33 +02:00
Luca Barbato
075dbc1855 nuv: Pad the lzo outbuf
And properly update the buf_size with the correct size.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-08-13 13:09:33 +02:00
Luca Barbato
aae159a7cc nuv: Do not ignore lzo decompression failures
Update the fate reference since the last broken frame is not decoded
anymore.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-08-13 13:09:22 +02:00
Nedeljko Babic
7b71feabfb MAINTAINERS: add myself as maintainer for MIPS and Zeljko Lukac as maintainer for new fixed point FFT
Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 11:57:26 +02:00
Piotr Bandurski
e87fcaa8d5 avformat/riff: treat msn audio like gsm_ms
Fixes decoding of 4 files from Ticket2854

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 11:37:44 +02:00
Michael Niedermayer
1057390d91 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  png: allow encoding 16-bit grayscale

Conflicts:
	libavcodec/pngenc.c

See: fdc013da78

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 10:47:14 +02:00
Ian Taylor
46dee21a32 png: allow encoding 16-bit grayscale
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-08-13 06:05:44 +02:00
Alexis Ballier
7a48b1c492 Remove FF_API_PKT_DUMP cruft. Not compiled since libavformat 54.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 04:18:32 +02:00
Alexis Ballier
ca2378ad04 libavformat/version.h: Drop FF_API_OLD_AVIO (unused and undefined since libavformat 55)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 03:26:25 +02:00
Thilo Borgmann
bb4e1b4cf9 avcodec/mjpegdec: Read EXIF metadata in JPEG input.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 00:30:34 +02:00
Thilo Borgmann
ad0f7574ef avcodec: Add EXIF metadata parser to libavcodec.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 00:30:20 +02:00
Thilo Borgmann
b7ba7cbd6e avcodec/tiff: Refactor TIFF tag related functions to share the code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 00:30:02 +02:00
Michael Niedermayer
4b101ab02e avformat/asfdec: call ff_read_frame_flush() in asf_read_pts()
flushing just the asf demuxer but not the cores buffers leads to inconsistencies
and a "random" packet position which later causes an assertion failure

Fixes Ticket2853

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 22:52:23 +02:00
Michael Niedermayer
3500f53c93 libavutil/opt.h: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
5086b26809 libavutil/file_open.c: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
5347de881b libavcodec/xsubenc.c: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
ad26aa3623 libavcodec/rv40.c: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
c6325e50dd libavcodec/mpegvideo.h: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
1e6816dcda libavcodec/lpc.h: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
e458fd6cf9 libavcodec/dv.c: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
805fbbefb3 libavcodec/bintext.h: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
c77c5f6c9f libavcodec/bink.c: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
9da6e742f4 libavcodec/avcodec.h: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
f10462377d libavcodec/ac3tab.c: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
7fabf3a4b7 libavcodec/ac3enc_template.c: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
a8163a786b doc/filters.texi: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
e1c44be802 doc/filter_design.txt: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Kirill Gavrilov
53f309c617 pixfmt: extend description for planar YUV 9/10 bits formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 18:10:14 +02:00
Kirill Gavrilov
2395ae22ce img2dec: fix typo (double "with with")
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 18:04:09 +02:00
Paul B Mahol
d4ab1292e9 ffmpeg_filter: do not pick evil path for trim filters
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-12 10:59:09 +00:00
Paul B Mahol
9087dcbe5b lavfi/trim: check for right default value
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-12 10:56:52 +00:00
Michael Niedermayer
c103d5f538 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wmall: use AVFrame API properly

Conflicts:
	libavcodec/wmalosslessdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 10:13:56 +02:00
Thilo Borgmann
f18ccb529f Fix wrong use of "an" in some comments. 2013-08-12 03:27:26 +02:00
Michael Niedermayer
98fd8a7848 avcodec: Remove ff_packet_free_side_data, use av_packet_free_side_data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 00:13:21 +02:00
wm4
a5ef7960fc ape: check avio_read() return value
This sets pkt->size to absurd values on failure otherwise.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 21:46:09 +02:00
Hendrik Leppkes
3ca5df36a5 wmall: use AVFrame API properly
This fixes a bug with non-refcounted callers resulting in invalid memory access.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-11 21:13:56 +02:00
Reimar Döffinger
d404fe35b2 Make new VDPAU easier to use by adding context to callback.
Using VDPAU correctly means checking for preemption
and possibly regenerating the context all the time.
With the current API there is no context or other
user-defined pointer and thus this in not possible
during decoding unless using some hack like global
variables.
The need to reinitialize both surfaces and even function
pointers makes handling preemption even more difficult.
This patch introduces a new render2 function that gets
both the AVCodecContext and AVFrame in addition,
in both the user can store additional opaque data.
This allows even advanced approaches like keeping a
"generation counter" for the surfaces so they can be
regenerated on the fly and efficiently.
In addition, the function has a return value that will
be passed through all the way instead of being silently
ignored as for the current render function.
Unfortunately the HWAccel API has no way of providing
API/ABI compatibility, so a currently disallowed
state (render pointer being NULL) is used to extend it.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-08-11 20:16:57 +02:00
Reimar Döffinger
af05edc658 vdpau: Add an allocation function for AVVDPAUContext.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-08-11 19:31:46 +02:00
Reimar Döffinger
d87f9da53c vdpau_internal.h: Add missing include for FF_API_BUFS_VDPAU.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-08-11 19:30:51 +02:00
Reimar Döffinger
49cf36f4e3 sanm: fix undefined behaviour on big-endian.
A variable with post-increment may only appear
once in a statement.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-08-11 19:30:51 +02:00
Michael Niedermayer
61e0e80999 tiff: continue parsing on non fatal errors
Reviewed-by: Thilo Borgmann <thilo.borgmann@mail.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 18:11:36 +02:00
Michael Niedermayer
8e119a22c4 mpeg4videodec: Parse newpred headers
This is untested due to lack of a non broken file using new pred

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 17:35:30 +02:00
Michael Niedermayer
06137a496b mpeg4videodec: check resolution marker bits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 17:34:29 +02:00
Michael Niedermayer
5717689c75 avutil/avstring: make const tables static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 16:50:58 +02:00
Michael Niedermayer
2215947438 avutil/parseutils:make const tables static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 16:50:24 +02:00
Michael Niedermayer
64a3dbadee avutil/ripemd:make const tables static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 16:49:57 +02:00
Michael Niedermayer
0e98a13322 avutil/xtea: make const tables static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 16:49:36 +02:00
Michael Niedermayer
90b40b45d4 avutil/sha:make const tables static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 16:49:21 +02:00
Michael Niedermayer
475df42eb6 avutil/sha512: make const tables static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 16:49:03 +02:00
Mark Harris
4ccafaca1c avformat/id3v2enc: use UTF-16 in id3v2.3 APIC frame only if non-ASCII
This makes the encoding of picture descriptions consistent with the
encoding of other text id3 tags and works better with iTunes, which
does not display pictures with some UTF-16 picture descriptions
(including a UTF-16 empty string, i.e. BOM + terminator).  It also
saves a few bytes.

Example:
 ffmpeg -f lavfi -i sine=b=4 -f lavfi -i smptebars -map 0:a -map 1:v \
   -codec:a libmp3lame -codec:v mjpeg -id3v2_version 3 \
   -metadata:s:v comment="Cover (front)" -t 3 -y out.mp3

This example does not set a picture description (-metadata:s:v title=)
so an empty string is written in the id3v2.3 APIC frame.  Without this
patch, UTF-16 is used and the cover art does not display in iTunes.
With the patch the cover art is displayed.  (Note that iTunes does not
display or have a way to set picture descriptions, only the picture
itself, but nevertheless has trouble skipping some UTF-16 descriptions.)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 13:06:40 +02:00
Michael Niedermayer
15c92f8c48 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmp: Do not misuse memcmp

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 11:54:37 +02:00
Michael Niedermayer
99091ff217 Merge commit '205a4502d3da9de2db75d2c965c9d065574e9266'
* commit '205a4502d3da9de2db75d2c965c9d065574e9266':
  doc: Clarify the avconv section about -re

Conflicts:
	doc/ffmpeg.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 11:49:47 +02:00
Michael Niedermayer
5993b96269 Merge commit 'd175a5730b42166704b7262b33f4b780d9d92f60'
* commit 'd175a5730b42166704b7262b33f4b780d9d92f60':
  doc: Add an example on publishing over RTMP
  doc: Add librtmp to the section header for the librtmp specific details

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 11:37:57 +02:00
Michael Niedermayer
159dfd2625 Merge commit 'a435ca5b4d9efebf0759220681010977c36615f7'
* commit 'a435ca5b4d9efebf0759220681010977c36615f7':
  doc: Explain that the default RTMP user agent is different when publishing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 11:28:54 +02:00
Michael Niedermayer
78242e4310 Merge commit 'aa16a6b0c56e3f46c5d7efb706b87a8f7a1603ec'
* commit 'aa16a6b0c56e3f46c5d7efb706b87a8f7a1603ec':
  doc: Extend the rtmp example to include how to pass username/password

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 11:24:14 +02:00
Michael Niedermayer
6c7a05352f Merge commit '8e1fe345577a42f99591caf8a06c447613449694'
* commit '8e1fe345577a42f99591caf8a06c447613449694':
  rtmp: Detect and warn if the user tries to pass librtmp style parameters

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 11:17:43 +02:00
Michael Niedermayer
06186a3160 Merge commit 'ba5393a609c723ec8ab7f9727c10fef734c09278'
* commit 'ba5393a609c723ec8ab7f9727c10fef734c09278':
  rtmp: rename data_size to size

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 11:11:40 +02:00
Michael Niedermayer
a2b0699f4f Merge commit '4ebc7d659f0da6c1305ca08cf4303959203fff4b'
* commit '4ebc7d659f0da6c1305ca08cf4303959203fff4b':
  rtmp: Use PRId64 when needed.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 11:02:37 +02:00
Michael Niedermayer
b905a7137a avcodec/avpacket: Fix memory allocation failure check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 10:56:07 +02:00
Michael Niedermayer
67a580f423 Merge commit '5a9a9d4a2abefa63d9a898ce26715453c569e89d'
* commit '5a9a9d4a2abefa63d9a898ce26715453c569e89d':
  lavc: Add refcounted api to AVPacket

Conflicts:
	libavcodec/avpacket.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 10:45:13 +02:00
Michael Niedermayer
921c1d4c95 Merge commit 'c1076d8479a6c0ee2e0c4b0e2151df5b0228438e'
* commit 'c1076d8479a6c0ee2e0c4b0e2151df5b0228438e':
  h264: check one context_init() allocation

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 10:35:44 +02:00
Michael Niedermayer
d2d8e259fd Merge commit '5eb488bfa835f2902a31ba99d57c16ae36c4f598'
* commit '5eb488bfa835f2902a31ba99d57c16ae36c4f598':
  h264: use explicit variable names for *_field_flag

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 10:28:49 +02:00
Michael Niedermayer
019eb2c77b svq3: Fix ff_h264_check_intra_pred_mode() return code check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 10:22:51 +02:00
Michael Niedermayer
e0b45ca730 Merge commit 'b3dc260e7fa6f3f852dd5cb7d86763c4b5736714'
* commit 'b3dc260e7fa6f3f852dd5cb7d86763c4b5736714':
  h264: return meaningful values

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 10:08:48 +02:00
Luca Barbato
5718e3487b rtmp: Do not misuse memcmp
CC: libav-stable@libav.org
2013-08-11 01:19:27 +02:00
Thilo Borgmann
4dcb2f7478 lavu: fix grammar in doxy for av_frame_ref.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 00:40:48 +02:00
James Almer
214293b143 lavd: Fix make checkheaders
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 00:40:30 +02:00
Derek Buitenhuis
d9c1fb8376 bprint: Include va_copy compat
Fixes build with MSVC and ICL.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-08-10 15:53:32 -04:00
Nicolas George
d5f38847f5 tests/fli: avoid rounding errors in -t option.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 20:17:10 +02:00
Michael Niedermayer
5fc5170c55 avutil/opt: make const tables static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 18:44:40 +02:00
Michael Niedermayer
18b1381c5f avutil/opt: fix av_log type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 18:44:40 +02:00
Michael Niedermayer
db4918b72e avformat/tedcaptionsdec: make const arrays static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 18:44:40 +02:00
Michael Niedermayer
0b5627189d avfilter/f_sendcmd: make const arrays static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 18:44:39 +02:00
Michael Niedermayer
148310ca16 avutil/log: Use bprint for part
This should fix the issue with strings longer than 1024

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 18:17:30 +02:00
Martin Storsjö
205a4502d3 doc: Clarify the avconv section about -re
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-10 18:37:21 +03:00
Martin Storsjö
d175a5730b doc: Add an example on publishing over RTMP
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-10 18:37:21 +03:00
Martin Storsjö
a435ca5b4d doc: Explain that the default RTMP user agent is different when publishing
The fact that a different user agent is used is cruicial for getting
publishing authentication working. (When using librtmp, this other
user agent has to be specified manually, but that's not needed
with the libavformat internal RTMP support.)

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-10 18:37:21 +03:00
Martin Storsjö
aa16a6b0c5 doc: Extend the rtmp example to include how to pass username/password
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-10 18:37:21 +03:00
Martin Storsjö
3bea53dbdf doc: Add librtmp to the section header for the librtmp specific details
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-10 18:37:21 +03:00
Martin Storsjö
8e1fe34557 rtmp: Detect and warn if the user tries to pass librtmp style parameters
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-10 18:37:18 +03:00
Michael Niedermayer
112c970ca6 avutil/bprint: add av_vbprintf()
Reviewed-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 17:01:42 +02:00
Luca Barbato
ba5393a609 rtmp: rename data_size to size 2013-08-10 13:49:09 +02:00
Luca Barbato
4ebc7d659f rtmp: Use PRId64 when needed. 2013-08-10 13:48:48 +02:00
Luca Barbato
5a9a9d4a2a lavc: Add refcounted api to AVPacket
Provide a clean way to manipulate packets.
2013-08-10 13:41:35 +02:00
Vittorio Giovara
c1076d8479 h264: check one context_init() allocation
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-10 13:36:38 +02:00
Vittorio Giovara
5eb488bfa8 h264: use explicit variable names for *_field_flag
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-10 13:36:25 +02:00
Vittorio Giovara
b3dc260e7f h264: return meaningful values
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-10 13:28:51 +02:00
Michael Niedermayer
b37ff488b8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libavutil: Make avpriv_open a library-internal function on msvcrt

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 10:51:03 +02:00
Michael Niedermayer
ef13a005c4 Merge commit 'a76d0cdf21c3d9e464623cc0ad1c005abf952afa'
* commit 'a76d0cdf21c3d9e464623cc0ad1c005abf952afa':
  libavutil: Move avpriv_open to a new file, file_open.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 10:37:20 +02:00
Michael Niedermayer
e3a296dfa5 Merge commit 'cb0244daaca83ab666798818f74f5181bf6bc387'
* commit 'cb0244daaca83ab666798818f74f5181bf6bc387':
  bktr: Changed a missed occurrance of open into avpriv_open

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 10:29:44 +02:00
Michael Niedermayer
09f1afc784 Merge commit '33237123c83bf4f8345e6ac889ad2e7dbd303d0e'
* commit '33237123c83bf4f8345e6ac889ad2e7dbd303d0e':
  libavutil: Enable the MSVC DLL symbol loading workaround in shared builds as well

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 10:24:33 +02:00
Michael Niedermayer
296eaa84b9 Merge commit '9d5ec50ead97e088d77317e77b18cef06cb3d053'
* commit '9d5ec50ead97e088d77317e77b18cef06cb3d053':
  ff_socket: put out-of-line and fallback to fcntl() for close-on-exec

Conflicts:
	libavformat/network.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 10:18:18 +02:00
Mark Harris
69f543854d doc/filters: fix sine sample_rate abbreviation
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-08-10 10:11:09 +02:00
Bryce W. Harrington
d9c46c3cd9 doc: apply various grammar fixes
The first sentence of each of the modified man pages are worded a bit
awkwardly. These minor copy-edits should make them clearer.

Signed-off-by: Bryce Harrington <b.harrington@samsung.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-08-10 10:07:30 +02:00
Reimar Döffinger
d4db7c334b Integrate accessors.h header into internal.h
I have no idea why I added a separate header,
I think there is no good reason for it.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-08-10 07:56:42 +02:00
Martin Storsjö
e743e7ae6e libavutil: Make avpriv_open a library-internal function on msvcrt
Add one copy of the function into each of the libraries, similarly
to what we do for log2_tab. When using static libs, only one
copy of the file_open.o object file gets included, while when
using shared libraries, each of them get a copy of its own.

This fixes DLL builds with a statically linked C runtime, where
each DLL effectively has got its own instance of the C runtime,
where file descriptors can't be shared across runtimes.

On systems not using msvcrt, the function is not duplicated.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-10 00:53:33 +03:00
Martin Storsjö
a76d0cdf21 libavutil: Move avpriv_open to a new file, file_open.c
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-10 00:53:33 +03:00
Martin Storsjö
cb0244daac bktr: Changed a missed occurrance of open into avpriv_open
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-10 00:53:32 +03:00
Martin Storsjö
33237123c8 libavutil: Enable the MSVC DLL symbol loading workaround in shared builds as well
This used to only be necessary in static builds (when using the
dynamically linked C runtime), since the _imp prefixed symbols do
exist when linking to the actual DLL. When building testprogs,
however, the current library (e.g. libavutil for some of the testprogs)
is linked statically.

This fixes make fate on DLL builds when using the dynamically
linked C runtime.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-10 00:53:25 +03:00
Michael Niedermayer
db8578a809 avcodec/raw: gbrp support
Fixes 2nd half of Ticket2274

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-09 23:02:48 +02:00
Michael Niedermayer
12538bb9c2 avformat/nut: support planar rgb
Fixes first half of Ticket2274

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-09 23:02:48 +02:00
Michael Niedermayer
200170e8c0 avcodec/tiff: remove redundant check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-09 14:58:07 +02:00
Michael Niedermayer
a9553e8f37 avcodec/tiff: avoid seek back on reading tags
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-09 14:53:13 +02:00
Michael Niedermayer
c94f9e8542 avutil/mem: Fix flipped condition
Fixes return code and later null pointer dereference

Found-by: Laurent Butti <laurentb@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-09 13:47:10 +02:00
Michael Niedermayer
f58cd2867a avformat/paf: Fix integer overflow and out of array read
Found-by:  Laurent Butti <laurentb@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-09 13:23:10 +02:00
Michael Niedermayer
c9837613ed avfilter/trim: Fix assertion failure with empty frames
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-09 11:54:40 +02:00
Rémi Denis-Courmont
9d5ec50ead ff_socket: put out-of-line and fallback to fcntl() for close-on-exec
This supports non-Linux systems (SOCK_CLOEXEC is non-standard) and
older Linux kernels to the extent possible.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-09 11:26:50 +03:00
Michael Niedermayer
190a5893d1 avfilter/fifo: explicitly assert that a frame should have become available after request
May help tools like coverity

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-09 09:28:11 +02:00
Michael Niedermayer
760c5278db Merge remote-tracking branch 'qatar/master'
* qatar/master:
  FATE: add a TAK test

Conflicts:
	tests/fate/lossless-audio.mak

No change as we already have a tak test with luckynight-partial.tak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-09 08:58:59 +02:00
Michael Niedermayer
0dc17da308 Merge commit 'dfc6b5c81491abf7effb97b23af17ccf7adcd132'
* commit 'dfc6b5c81491abf7effb97b23af17ccf7adcd132':
  file: Move win32 utf8->wchar open wrapper to libavutil

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-09 07:16:38 +02:00
Marton Balint
18be3fac1d ffplay: check for filter EOF return codes
Fixes ticket #2800.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-08-09 00:16:13 +02:00
Marton Balint
e84ca8d38a ffplay: ensure the decoder is flushed before exiting or looping
Also make sure that we only exit or restart the video if it is not paused and
if the picture queue is empty.

There is still room for improvement (filters may also buffer some frames), but
the patch fixes the most common use cases and ticket #2783 as well.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-08-09 00:16:13 +02:00
Marton Balint
608989f6bf ffplay: fix memleak of non-bitmap subtitles
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-08-09 00:16:13 +02:00
Marton Balint
9f120e034f ffplay: free subtitle pictures on exit
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-08-09 00:16:13 +02:00
Michael Niedermayer
3b2e99fe9e avfilter/vf_perspective: factor u cliping code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-09 00:03:43 +02:00
Michael Niedermayer
c11c180132 MAINTAINERS: add Alexander Strasser for the server
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-09 00:03:43 +02:00
Anton Khirnov
fa09e76010 FATE: add a TAK test 2013-08-08 22:59:42 +02:00
Reimar Döffinger
a48979d715 Reduce MAKE_ACCESSORS code duplication via a new header.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-08-08 20:32:40 +02:00
Michael Niedermayer
55a88daf6f MAINTAINERS: remove myself from movenc, 2 maintainers should be enough
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 16:40:19 +02:00
Matthieu Bouron
88a1ff2233 MAINTAINERS: add myself as maintainer for lavf/aiff* and lavf/movenc.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 16:39:46 +02:00
Martin Storsjö
dfc6b5c814 file: Move win32 utf8->wchar open wrapper to libavutil
When libavformat was changed to use the new avpriv_open function
in 51eb213d00, this silently bypassed the existing wrapper for
win32. Move the win32 wrapper into libavutil/file.c to make sure
it gets called everywhere (not just in the libavformat case).

This makes sure that non-ascii file names gets opened properly
(where file names internally are stored as utf8, but they get
converted to wchar_t and opened with _wsopen).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-08 16:41:33 +03:00
Michael Niedermayer
9386f334af avcodec/bitstream: Dont try to free buffers for static VLCs
Such buffers are not malloced thus freeing would be bad.
Note though this condition never could have happened so this
is more for correctness sake and not a true bugfix

Fixes CID1061047

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 15:05:48 +02:00
Michael Niedermayer
e1a5ee25e0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: Add assembly version of h264_find_start_code_candidate

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 12:52:35 +02:00
Michael Niedermayer
c0f2ad3dbd Merge commit '218d6844b37d339ffbf2044ad07d8be7767e2734'
* commit '218d6844b37d339ffbf2044ad07d8be7767e2734':
  h264dsp: Factorize code into a new function, h264_find_start_code_candidate

Conflicts:
	libavcodec/h264_parser.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 12:47:05 +02:00
Michael Niedermayer
50b7ce1257 Merge commit '7a82022ee2f9b1fad991ace0936901e7419444be'
* commit '7a82022ee2f9b1fad991ace0936901e7419444be':
  h264_parser: Initialize the h264dsp context in the parser as well

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 12:29:35 +02:00
Michael Niedermayer
69ea65b46f Merge commit '3e5898782dce60334ab294821ca00b19c648cf66'
* commit '3e5898782dce60334ab294821ca00b19c648cf66':
  Voxware MetaSound decoder

Conflicts:
	Changelog
	libavcodec/Makefile
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 12:11:33 +02:00
Michael Niedermayer
a0fb608396 Merge commit '5afe1d27912be9b643ffb4ddc21f6d920260dbb0'
* commit '5afe1d27912be9b643ffb4ddc21f6d920260dbb0':
  avio: Add const qualifiers to ffio_read_indirect

Conflicts:
	libavformat/mpegts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 12:04:46 +02:00
Michael Niedermayer
f09b5fb4af Merge commit '0f1fb6c0194c85483dedb93b20a5b76f6fc9d520'
* commit '0f1fb6c0194c85483dedb93b20a5b76f6fc9d520':
  libavutil: Don't use fcntl if the function does not exist
  cmdutils: Only do the windows-specific commandline parsing on _WIN32

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 11:54:14 +02:00
Michael Niedermayer
756f865e3b Merge commit '51eb213d00154b8e7856c7667ea62db8b0f663d4'
* commit '51eb213d00154b8e7856c7667ea62db8b0f663d4':
  libavformat: use avpriv_open()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 11:47:12 +02:00
Michael Niedermayer
95fa1fe437 Merge commit '71bf6b41d974229a06921806c333ce98566a5d8a'
* commit '71bf6b41d974229a06921806c333ce98566a5d8a':
  libavdevice: use avpriv_open()

Conflicts:
	libavdevice/v4l2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 11:36:21 +02:00
Michael Niedermayer
eec9c7af33 Merge commit 'fee9db1fdf921295233e94cbe2769f9cd722206d'
* commit 'fee9db1fdf921295233e94cbe2769f9cd722206d':
  libavcodec: use avpriv_open()

Conflicts:
	libavcodec/libxvid_rc.c

The changed code does not exist in ffmpeg anymore, thus nothing is
changed.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 11:35:52 +02:00
Michael Niedermayer
579a137897 Merge commit '880391ed2d2faf796ca3a16f63cec69767546a21'
* commit '880391ed2d2faf796ca3a16f63cec69767546a21':
  libavutil: use avpriv_open()

Conflicts:
	libavutil/random_seed.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 11:18:17 +02:00
Derek Buitenhuis
87e8cbf709 libavutil: Don't use fcntl if the function does not exist
Not all platforms have the function.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-08 11:10:33 +02:00
Ben Avison
45e10e5c8d arm: Add assembly version of h264_find_start_code_candidate
Before          After
               Mean   StdDev   Mean   StdDev  Change
This function   508.8 23.4      185.4  9.0    +174.4%
Overall        3068.5 31.7     2752.1 29.4     +11.5%

In combination with the preceding patch:
                Before          After
                Mean   StdDev   Mean   StdDev  Change
Overall         2925.6 26.2     2752.1 29.4     +6.3%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-08 12:08:34 +03:00
Ben Avison
218d6844b3 h264dsp: Factorize code into a new function, h264_find_start_code_candidate
This performs the start code search which was previously part of
h264_find_frame_end() - the most CPU intensive part of the function.

By itself, this results in a performance regression:
              Before          After
              Mean   StdDev   Mean   StdDev  Change
Overall time  2925.6 26.2     3068.5 31.7    -4.7%

but this can more than be made up for by platform-optimised
implementations of the function.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-08 12:08:30 +03:00
Ben Avison
7a82022ee2 h264_parser: Initialize the h264dsp context in the parser as well
Each AVStream struct for an H.264 elementary stream actually has two
copies of the H264DSPContext struct (and in fact all the other members
of H264Context as well):

((H264Context *) ((AVStream *)st)->codec->priv_data)->h264dsp
((H264Context *) ((AVStream *)st)->parser->priv_data)->h264dsp

but only the first of these was actually being initialised. This
prevented the addition of platform-specific implementations of
parser-related functions.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-08 12:08:28 +03:00
Michael Niedermayer
5f38317e59 Merge commit '869b04e89154cd92d2bcfdabcecbe3217864c099'
* commit '869b04e89154cd92d2bcfdabcecbe3217864c099':
  libavutil: add avpriv_open() to open files with close-on-exec flag

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 11:07:51 +02:00
Kostya Shishkov
3e5898782d Voxware MetaSound decoder 2013-08-08 10:52:44 +02:00
Michael Niedermayer
1b2a5817fc Merge commit '22c879057ead189c0f59241cb9eeb926381e3299'
* commit '22c879057ead189c0f59241cb9eeb926381e3299':
  mpegvideo_enc: drop outdated copy_picture_attributes() in favour of a modern av_frame_copy_props()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 10:49:23 +02:00
Michael Niedermayer
eb02f0c6e8 Merge commit 'f4d371b9737c0405b3bc46d7ca0c856c0a8616b1'
* commit 'f4d371b9737c0405b3bc46d7ca0c856c0a8616b1':
  rtsp: Don't include the listen flag in the SDP demuxer flags

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 10:41:32 +02:00
Ben Avison
5afe1d2791 avio: Add const qualifiers to ffio_read_indirect
This provides at least some protection against potential accidental
corruption of AVIO buffer workspace.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-08 11:09:00 +03:00
Derek Buitenhuis
0f1fb6c019 libavutil: Don't use fcntl if the function does not exist
Not all platforms have the function.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-08 11:07:51 +03:00
Diogo Franco
e8edf4e1cf cmdutils: Only do the windows-specific commandline parsing on _WIN32
Fixes commandline parsing on Cygwin (on 64 bit, and on very recent
32 bit), where the configure check does find the CommandLineToArgvW
function (since it exists in the link libraries and in the headers),
but whose GetCommandLineW() only returns the application's path.
(This is due to a cygwin internal optimization, see
http://cygwin.com/ml/cygwin/2013-07/msg00538.html for details.)
Arguments are only given through main's argc/argv, and they're already
UTF-8.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-08 10:59:03 +03:00
Michael Niedermayer
8d745281a4 swscale/utils: Fix potential overflow of srcPos*C before converting to 64bit
Fixes CID1061054

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 02:56:26 +02:00
Michael Niedermayer
bc721ac9f7 swscale/utils: Fix potential overflow of dstPos*xInc before converting to 64bit
Fixes CID1061053

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 02:51:52 +02:00
Michael Niedermayer
0b5d1b88e0 avutil/opt: fix types passed to the format string "%s"
Fixes gcc warnings
Fixes CID1061056
Fixes CID1061057

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 02:48:44 +02:00
Rémi Denis-Courmont
51eb213d00 libavformat: use avpriv_open()
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-07 21:22:03 +02:00
Rémi Denis-Courmont
71bf6b41d9 libavdevice: use avpriv_open()
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-07 21:16:05 +02:00
Rémi Denis-Courmont
fee9db1fdf libavcodec: use avpriv_open()
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-07 21:13:12 +02:00
Rémi Denis-Courmont
880391ed2d libavutil: use avpriv_open()
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-07 21:12:28 +02:00
Rémi Denis-Courmont
869b04e891 libavutil: add avpriv_open() to open files with close-on-exec flag
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-07 21:12:20 +02:00
Vittorio Giovara
22c879057e mpegvideo_enc: drop outdated copy_picture_attributes() in favour of a modern av_frame_copy_props()
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-07 20:48:15 +02:00
Michael Niedermayer
b11b7ceb89 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  ffmpeg: remove obsolete workaround in trim insertion.
  lavu/log: do not skip overwritten lines.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 19:16:12 +02:00
Michael Niedermayer
60ae776d04 av_frame_copy_props: fix unintended self assignment
Fixes CID1061052

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 17:27:07 +02:00
Michael Niedermayer
f3b7f47070 avformat/oggparsevorbis: fix leak of tt
Fixes CID1061059
Fixes fate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 17:20:39 +02:00
Michael Niedermayer
d0a882ab1d avformat/oggparsevorbis: fix leak of ct
Fixes CID1061058
Fixes fate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 17:18:19 +02:00
Michael Niedermayer
731f7eaaad ff_flac_parse_picture: assert that len is within the array
The check that gurantees this isnt recognized by coverity for
example

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 17:18:05 +02:00
Michael Niedermayer
2960576378 avcodec/g2meet: fix src pointer checks in kempf_decode_tile()
Fixes Ticket2842

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 16:28:28 +02:00
Nicolas George
dd9555e94b ffmpeg: remove obsolete workaround in trim insertion.
The bug it was working seems to have been fixed.
This change causes ffmpeg to use the trim filter to implement
the -t option.
FATE tests are updated due to the more accurate handling of
the last packets.
2013-08-07 16:20:41 +02:00
Nicolas George
39bb26f91b lavu/log: do not skip overwritten lines.
If the line ends with \r, it will not flood the tty, and
the "Last message repeated" line would overwrite it.
Fix bug introduced by c25d1ba.
2013-08-07 16:01:45 +02:00
Michael Niedermayer
5cd57e8758 avcodec/jpeg2000dec: check sample sepration for validity
Fixes division by 0
Fixes Ticket2841

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 15:09:35 +02:00
Martin Storsjö
f4d371b973 rtsp: Don't include the listen flag in the SDP demuxer flags
It's only relevant for the RTSP demuxer. Similarly, the custom_io
flag is only present in the SDP demuxer options list.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-07 13:16:44 +03:00
Michael Niedermayer
e4eab2d9bd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  deprecate AV_CODEC_ID_VOXWARE and introduce AV_CODEC_ID_METASOUND instead

Conflicts:
	libavcodec/avcodec.h
	libavcodec/codec_desc.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 12:14:39 +02:00
Michael Niedermayer
6bf6d6ad49 Merge commit '62572435d4106098c090fb8f129a9090e41ff1eb'
* commit '62572435d4106098c090fb8f129a9090e41ff1eb':
  rtpenc_chain: Check for errors from ffio_fdopen and ffio_open_dyn_packet_buf

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 12:05:03 +02:00
Michael Niedermayer
5d08f8149c Merge commit 'f542dedf72091af8e6f32a12bd64289c58857c21'
* commit 'f542dedf72091af8e6f32a12bd64289c58857c21':
  rtspenc: Check the return value from ffio_open_dyn_packet_buf

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 11:52:05 +02:00
Stephen Hutchinson
7f43a09da7 configure: Add -lstdc++ to the requirements for linking with libgme.
Needed for cross-compiling with MinGW-w64

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 11:13:40 +02:00
Kostya Shishkov
f544c58636 deprecate AV_CODEC_ID_VOXWARE and introduce AV_CODEC_ID_METASOUND instead
Voxware is the name of company, it has produced several audio codecs e.g.
MetaVoice family and MetaSound.
2013-08-07 10:56:18 +02:00
Stephen Hutchinson
9db353bc47 avisynth: Exit gracefully when trying to serve video from v2.5.8.
'Fixes' ticket #2526 insofar as it stops 2.5.8 from crashing and
tells the user to upgrade to 2.6 if they want to make video input
work. A real solution to #2526 would be to get video input from
2.5.8 to work right.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 10:38:48 +02:00
Stephen Hutchinson
f277d6bf42 avisynth: Cosmetics
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 10:37:19 +02:00
Martin Storsjö
62572435d4 rtpenc_chain: Check for errors from ffio_fdopen and ffio_open_dyn_packet_buf
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-07 11:37:13 +03:00
Martin Storsjö
f542dedf72 rtspenc: Check the return value from ffio_open_dyn_packet_buf
Also clear the AVIOContext handle after freeing, to avoid
possible dangling pointers if the later call fails.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-07 11:37:01 +03:00
Michael Niedermayer
81f4d55c36 MAINTAINERS: alphabetical sort
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 03:01:51 +02:00
Michael Niedermayer
b45b1d7af9 MAINTAINERS: Add some maintainers for parts of libavutil
Developers added are active and in the copyright of the specified files,

If anyone wants to maintain anything else, send a patch that adds you to
MAINTAINERS.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 01:37:57 +02:00
Michael Niedermayer
caa7a49481 avformat/utils: fix memleak with nobuffer
Fixes Ticket2802

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 01:21:43 +02:00
Michael Niedermayer
a68b6ec7f5 avutil/hmac: make const tables static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 20:30:55 +02:00
Michael Niedermayer
9e10b2cfc9 avformat/spdifenc make const tables static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 20:30:36 +02:00
Michael Niedermayer
ef71717901 avformat/smoothstreamingenc: Make const tables static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 20:30:12 +02:00
Michael Niedermayer
5b13778f93 mpegts: remove usage of MOD_UNLIKELY()
Its not needed and doing nothing is faster than doing a optimized MOD

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 19:56:20 +02:00
Michael Niedermayer
aa24729c21 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  pcm_bluray: Return AVERROR_INVALIDDATA instead of -1 on header errors

Conflicts:
	libavcodec/pcm-mpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 19:40:50 +02:00
Michael Niedermayer
66328da700 Merge commit '6fb65973c9501d3fe94a5a9195c01cd20083066e'
* commit '6fb65973c9501d3fe94a5a9195c01cd20083066e':
  configure: Properly split dv1394 indev dependencies

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 19:33:46 +02:00
Michael Niedermayer
c32db6adab Merge commit '61c31e4ee7ea79a9e74c0476b81244febf17e6d7'
* commit '61c31e4ee7ea79a9e74c0476b81244febf17e6d7':
  configure: Properly set zlib dependencies for all components

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 19:29:27 +02:00
Michael Niedermayer
05f1b4e2ec Merge commit 'a7d45e06e9757f49ea4e105cbefc3462a7324e9a'
* commit 'a7d45e06e9757f49ea4e105cbefc3462a7324e9a':
  configure: The W64 demuxer should select the WAV demuxer, not depend on it

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 19:22:00 +02:00
Michael Niedermayer
1faece7ecc Merge commit '406e6c0ba5393fa302080202fe77bd09187889a1'
* commit '406e6c0ba5393fa302080202fe77bd09187889a1':
  configure: Properly split avserver component and system dependencies

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 19:04:04 +02:00
Michael Niedermayer
0a8f5eb23a Merge commit '255d9c570e117f0fcb8e51fa2c5996f3c4b2052b'
* commit '255d9c570e117f0fcb8e51fa2c5996f3c4b2052b':
  riff: Move demuxing code to a separate file.

Conflicts:
	configure
	libavformat/riff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 18:30:47 +02:00
Michael Niedermayer
508a5349da Merge commit '3dd5c95deef51d7fbf6f4458ba42d1335d2f1472'
* commit '3dd5c95deef51d7fbf6f4458ba42d1335d2f1472':
  riff: Move muxing code to a separate file

Conflicts:
	configure
	libavformat/riff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 18:08:30 +02:00
Michael Niedermayer
7565aaecb4 Merge commit 'fcc455ff2e11ed04603aead1984a92ac3a4be226'
* commit 'fcc455ff2e11ed04603aead1984a92ac3a4be226':
  avformat/dv: K&R formatting cosmetics

Conflicts:
	libavformat/dv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 18:01:03 +02:00
Michael Niedermayer
89efaabc99 Merge commit 'abe5268c3328bf0e8fcfb7dc6e231b8920177c3a'
* commit 'abe5268c3328bf0e8fcfb7dc6e231b8920177c3a':
  tcp: Use a different log message and level if there's more addresses to try

Conflicts:
	libavformat/tcp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 17:53:01 +02:00
Michael Niedermayer
287f7d0ae1 Merge commit '2a0ec47bd70ebb79e8b2d2f956feeb3a813df798'
* commit '2a0ec47bd70ebb79e8b2d2f956feeb3a813df798':
  unix: Convert from AVERROR to errno range before comparing error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 17:24:50 +02:00
Michael Niedermayer
83db013a06 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avcodec/options: Drop deprecation warning suppression macros

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 16:48:31 +02:00
Michael Niedermayer
f5b2718c0a Merge commit '971cce7ebb48a58e72e4dc57b3008e2682bcf4e7'
* commit '971cce7ebb48a58e72e4dc57b3008e2682bcf4e7':
  riff.h: Remove stray extern declaration for non-existing symbol

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 16:41:44 +02:00
Michael Niedermayer
7d03e60c12 Merge commit '86f4c59bd676672040b89d8fea4c9e3b59bfe7ab'
* commit '86f4c59bd676672040b89d8fea4c9e3b59bfe7ab':
  twinvq: Split VQF-specific part from common TwinVQ decoder core

Conflicts:
	libavcodec/Makefile
	libavcodec/twinvq.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 16:37:08 +02:00
Michael Niedermayer
a97f749990 Merge commit '4d8d16b596c63de85e52488734338fbb41238058'
* commit '4d8d16b596c63de85e52488734338fbb41238058':
  twinvq: Prefix enums and defines shared with VoxWare MetaSound

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 16:29:35 +02:00
Michael Niedermayer
9648c8e57b Merge commit 'bc909626b0a3c107625f2cb4c85479d18de422a8'
* commit 'bc909626b0a3c107625f2cb4c85479d18de422a8':
  twinvq: move all bitstream reading into single place

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 16:24:08 +02:00
Michael Niedermayer
0df55e1ba8 Merge commit 'a22ae9f0c579793f411e2bd7a8db557091a3a4ae'
* commit 'a22ae9f0c579793f411e2bd7a8db557091a3a4ae':
  mpegts: Remove one 64-bit integer modulus operation per packet

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 16:23:32 +02:00
Michael Niedermayer
91062ddef1 Merge commit '43bacd5b7d3d265a77cd29d8abb131057796aecc'
* commit '43bacd5b7d3d265a77cd29d8abb131057796aecc':
  vc1: check mb_height validity.

See: b5f4836f8c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 16:07:37 +02:00
Michael Niedermayer
f606c6e92c Merge commit '090cd0631140ac1a3a795d2adfac5dbf5e381aa2'
* commit '090cd0631140ac1a3a795d2adfac5dbf5e381aa2':
  vc1: check the source buffer in vc1_mc functions

Conflicts:
	libavcodec/vc1dec.c

See: 3a04c18d89
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 15:57:35 +02:00
Michael Niedermayer
06fd4e45d9 Merge commit '9991298f2c4d9022ad56057f15d037e18d454157'
* commit '9991298f2c4d9022ad56057f15d037e18d454157':
  bink: Bound check the quantization matrix.

See: e70144cba1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 15:53:27 +02:00
Michael Niedermayer
2539767206 Merge commit 'bb9378251a167ef0116f263912e57f715c1e02ac'
* commit 'bb9378251a167ef0116f263912e57f715c1e02ac':
  network: Use SOCK_CLOEXEC when available

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 15:40:05 +02:00
Michael Niedermayer
8d06ce7941 Merge commit '605387582bd35920b83a26dabbe1c0601f425621'
* commit '605387582bd35920b83a26dabbe1c0601f425621':
  lavf: Support unix sockets

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 15:33:12 +02:00
Michael Niedermayer
560e9365b6 Merge commit 'bc54c2ae3ca6abd225dc331eafc12108513158de'
* commit 'bc54c2ae3ca6abd225dc331eafc12108513158de':
  libx264: add shortcut for the bluray compatibility option

Conflicts:
	doc/encoders.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 15:26:04 +02:00
Michael Niedermayer
5dd8ca7d1b Merge commit 'c84ea750cf765c9d8845fca5546eb0ae25b9c855'
* commit 'c84ea750cf765c9d8845fca5546eb0ae25b9c855':
  mpegts: Make discard_pid() faster for single-program streams

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 15:16:35 +02:00
Michael Niedermayer
4ed0b28a45 Merge commit 'cabb1681697555e2c319c37c1f30f149207e9434'
* commit 'cabb1681697555e2c319c37c1f30f149207e9434':
  mpegts: Remove one memcpy per packet

Conflicts:
	libavformat/mpegts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 15:11:55 +02:00
Michael Niedermayer
8878aef048 Merge commit 'daf1e0d3de03bd424016e2a7520e4e94ece5c0ac'
* commit 'daf1e0d3de03bd424016e2a7520e4e94ece5c0ac':
  avio: Add an internal function for reading without copying

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 15:02:27 +02:00
Michael Niedermayer
7ed002d791 Merge commit '22a154e4363b351dd9f321003de01dffebd2fa18'
* commit '22a154e4363b351dd9f321003de01dffebd2fa18':
  build: Add missing img2.o dependency to apetag.o

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 14:56:22 +02:00
Michael Niedermayer
1dfb34db6d Merge commit 'bea3d6f4363ff1bbbd99c1717f7498b9fdb12cfc'
* commit 'bea3d6f4363ff1bbbd99c1717f7498b9fdb12cfc':
  ismindex: Replace mkdir ifdeffery by os_support.h #include

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 14:50:27 +02:00
Michael Niedermayer
318d7a9638 avcodec/vdpau: include attributes.h, needed for attribute_deprecated
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 14:49:03 +02:00
Michael Niedermayer
66056f74a1 avcodec/vdpau.h: define FF_API_BUFS_VDPAU if its not defined
Similar to 50fb8c1114

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 14:48:54 +02:00
Michael Niedermayer
9547e3eef3 Merge commit 'f824535a4a79c260b59d3178b8d958217caffd78'
* commit 'f824535a4a79c260b59d3178b8d958217caffd78':
  vdpau: deprecate bitstream buffers within the hardware context

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 14:30:49 +02:00
Michael Niedermayer
c3b2902320 Merge commit '2852740e23f91d6775714d7cc29b9a73e1111ce0'
* commit '2852740e23f91d6775714d7cc29b9a73e1111ce0':
  vdpau: store picture data in picture's rather than codec's context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 14:25:26 +02:00
Michael Niedermayer
50fb8c1114 avcodec/vdpau.h: define FF_API_CAP_VDPAU if its not defined
Prevent build failure for applicatins using the old API
This could be replaced be a include of version.h but some applications
would then need extern C wrapers

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 14:15:17 +02:00
Michael Niedermayer
3b805dcaa9 Merge commit '549294fbbe1c00fee37dc4d3f291b98945e11094'
* commit '549294fbbe1c00fee37dc4d3f291b98945e11094':
  vdpau: deprecate VDPAU codec capability

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 13:54:05 +02:00
Michael Niedermayer
4ee0984341 Merge commit 'a0ad5d011318f951ecd4c9ffe1829518c9533909'
* commit 'a0ad5d011318f951ecd4c9ffe1829518c9533909':
  vdpau: deprecate old codec-specific pixel formats

Conflicts:
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 13:45:21 +02:00
Michael Niedermayer
bf36dc50ea Merge commit '578ea75a9e4ac56e0bbbbe668700be756aa699f8'
* commit '578ea75a9e4ac56e0bbbbe668700be756aa699f8':
  vdpau: remove old-style decoders

Conflicts:
	libavcodec/allcodecs.c
	libavcodec/h263dec.c
	libavcodec/h264.c
	libavcodec/mpeg12dec.c
	libavcodec/mpeg4videodec.c
	libavcodec/vc1dec.c
	libavcodec/vdpau.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 13:24:22 +02:00
Christian Schmidt
1c6d2bb9a9 pcm_bluray: Return AVERROR_INVALIDDATA instead of -1 on header errors
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-08-06 13:19:29 +02:00
Michael Niedermayer
b7fc2693c7 Merge commit '488a0fa68973d48e264d54f1722f7afb18afbea7'
* commit '488a0fa68973d48e264d54f1722f7afb18afbea7':
  avconv: support -t as an input option.

Conflicts:
	Changelog
	ffmpeg.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 12:41:04 +02:00
Michael Niedermayer
6d77279ed8 ffmpeg_opt: Remove support for specifying -t anywhere to set the duration
This would otherwise conflict with the semantics of using -t for the input

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 12:06:28 +02:00
Michael Niedermayer
7cbef2ed7e Merge commit '811bd0784679dfcb4ed02043a37c92f9df10500e'
* commit '811bd0784679dfcb4ed02043a37c92f9df10500e':
  avconv: make input -ss accurate when transcoding

Conflicts:
	Changelog
	doc/ffmpeg.texi
	ffmpeg.h
	ffmpeg_filter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 11:39:09 +02:00
Diego Biurrun
6fb65973c9 configure: Properly split dv1394 indev dependencies 2013-08-06 11:23:00 +02:00
Diego Biurrun
61c31e4ee7 configure: Properly set zlib dependencies for all components 2013-08-06 11:23:00 +02:00
Diego Biurrun
a7d45e06e9 configure: The W64 demuxer should select the WAV demuxer, not depend on it 2013-08-06 11:23:00 +02:00
Diego Biurrun
406e6c0ba5 configure: Properly split avserver component and system dependencies 2013-08-06 11:23:00 +02:00
Diego Biurrun
255d9c570e riff: Move demuxing code to a separate file. 2013-08-06 11:02:36 +02:00
Diego Biurrun
3dd5c95dee riff: Move muxing code to a separate file 2013-08-06 11:02:35 +02:00
Diego Biurrun
fcc455ff2e avformat/dv: K&R formatting cosmetics 2013-08-06 11:01:44 +02:00
Michael Niedermayer
3fa72de82f Merge commit '56ee3f9de7b9f6090d599a27d33a392890a2f7b8'
* commit '56ee3f9de7b9f6090d599a27d33a392890a2f7b8':
  avconv: distinguish between -ss 0 and -ss not being used

Conflicts:
	ffmpeg.c
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 10:25:32 +02:00
Michael Niedermayer
84bc317019 Merge commit '2e661f26f8b12195f75ae3b07d9591e395135bc7'
* commit '2e661f26f8b12195f75ae3b07d9591e395135bc7':
  avconv: insert extra filters in the same way for both graph inputs and outputs

Conflicts:
	ffmpeg_filter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 10:08:17 +02:00
Martin Storsjö
abe5268c33 tcp: Use a different log message and level if there's more addresses to try
This lowers the level of warnings printed if trying to connect
to a host name that provides both v6 and v4 addresses but the
service only is available on the v4 address (often occurring for
'localhost', with servers that aren't v6-aware).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-06 10:39:39 +03:00
Martin Storsjö
2a0ec47bd7 unix: Convert from AVERROR to errno range before comparing error codes
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-06 10:38:14 +03:00
Michael Niedermayer
bb5ef96164 Merge commit '3799376dd3373ee255651ed542c75b15665801a8'
* commit '3799376dd3373ee255651ed542c75b15665801a8':
  lavfi/fifo: fix flushing when using request_samples

Conflicts:
	libavfilter/fifo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 09:35:03 +02:00
Michael Niedermayer
a59a64cbc8 Merge commit '06cd4c5a68e23f5be199c0d2d563da80989f839f'
* commit '06cd4c5a68e23f5be199c0d2d563da80989f839f':
  avconv: fix usage of deprecated lavfi API

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 09:20:22 +02:00
Michael Niedermayer
4131f21f77 Merge commit '612a5049d9b4ac1c2a293daf75fe814b7a94fdc7'
* commit '612a5049d9b4ac1c2a293daf75fe814b7a94fdc7':
  avserver: do not use a static string as a default for a string option

See: 19c41c6d8e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 09:13:51 +02:00
Diego Biurrun
0ba4ea312b avcodec/options: Drop deprecation warning suppression macros
The options table is used in tools built by the host compiler and the
deprecation macros pull in bits that are not safe to use if host and
target compiler differ.
2013-08-06 03:05:03 +02:00
Marton Balint
a7bb12a307 mpegts: add fix_teletext_pts mpegts demuxer option
Changes since v1 of the patch:
- enable option by default
- add documentation
- move up PTS override code after PES header parsing, to ensure we use the
  last PCR before the first packet of the teletext PES packet.

The option overrides teletext packet PTS and DTS values with the timestamps
calculated from the PCR of the first program which the teletext stream is part
of and is not discarded.

Using the same teletext PID for multiple programs is possible, therefore we
need some kind of heuristics to know which program PCR we should synchronize
to. Using the first non-discarded PCR pid among the programs of the teletext
stream seemed like a good choice.

The patch does not do PCR interpolation to estimate the PCR of the teltetext
packet, it just uses the last PCR of the program, which may cause a slight
error (0.1 sec) in the teletext packet pts-es.

Based on a patch by Reimar Döffinger.
http://lists.ffmpeg.org/pipermail/ffmpeg-devel/2012-September/131610.html

Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 02:47:38 +02:00
Carl Eugen Hoyos
4c15f3491f Set bits_per_raw_sample when decoding pnm. 2013-08-06 00:26:21 +02:00
Diego Biurrun
971cce7ebb riff.h: Remove stray extern declaration for non-existing symbol 2013-08-05 22:44:48 +02:00
Wei-Cheng Pan
f646cd4471 rtp: Make ff_rtp_codec_id() case insensitive
Fixes handling of lower case pcmu

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 21:53:52 +02:00
Kostya Shishkov
86f4c59bd6 twinvq: Split VQF-specific part from common TwinVQ decoder core
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-08-05 20:59:23 +02:00
Diego Biurrun
4d8d16b596 twinvq: Prefix enums and defines shared with VoxWare MetaSound 2013-08-05 20:19:11 +02:00
Kostya Shishkov
bc909626b0 twinvq: move all bitstream reading into single place
This is required for the future addition of VoxWare MetaSound decoder, for its
functions are mostly the same but bitstream reader is completely different
and bitstream format is slightly different too.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-08-05 19:37:47 +02:00
Ben Avison
a22ae9f0c5 mpegts: Remove one 64-bit integer modulus operation per packet
The common case of the pointer having increased by one packet (which results
in no change to the modulus) can be detected with a 64-bit subtraction,
which is far cheaper than a division on many platforms.

           Before          After
           Mean   StdDev   Mean   StdDev  Change
Divisions   248.3  8.8      51.5   7.4    +381.7%
Overall    2773.2 25.6     2372.5 43.1     +16.9%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-05 19:25:55 +03:00
Luca Barbato
43bacd5b7d vc1: check mb_height validity.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-08-05 16:24:13 +02:00
Luca Barbato
090cd06311 vc1: check the source buffer in vc1_mc functions
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-08-05 16:24:13 +02:00
Luca Barbato
9991298f2c bink: Bound check the quantization matrix.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-08-05 16:24:13 +02:00
Luca Barbato
bb9378251a network: Use SOCK_CLOEXEC when available 2013-08-05 16:13:36 +02:00
Luca Barbato
605387582b lavf: Support unix sockets 2013-08-05 16:13:35 +02:00
Luca Barbato
bc54c2ae3c libx264: add shortcut for the bluray compatibility option
As for intra-refresh it is just a commodity.
2013-08-05 16:13:35 +02:00
Timothy Gu
3217a706e2 libxvid: Reduce the size of an array
It is not possible to have a plugin[] array with 5 or more elements.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 15:11:17 +02:00
Michael Niedermayer
1ccc2157ff avcodec/libxvid: Partially check plugins array size with assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 15:06:04 +02:00
Michael Niedermayer
412df0a52f avcodec/libxvid: set lumi_aq for lumimasking
Simplifies check and should fix lumi+vari warning

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 15:06:04 +02:00
Ben Avison
c84ea750cf mpegts: Make discard_pid() faster for single-program streams
When a stream contains a single program, there's no point in doing a
PID -> program lookup. Normally the one and only program isn't disabled,
so no packets should be discarded.

              Before          After
              Mean   StdDev   Mean   StdDev  Change
discard_pid()   73.8  9.4       20.2  1.5    +264.8%
Overall       2300.8 28.0     2253.1 20.6      +2.1%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-05 15:18:42 +03:00
Ben Avison
cabb168169 mpegts: Remove one memcpy per packet
This was being performed to ensure that a complete packet was held in
contiguous memory, prior to parsing the packet. However, the source buffer
is typically large enough that the packet was already contiguous, so it is
beneficial to return the packet by reference in most cases.

         Before          After
         Mean   StdDev   Mean   StdDev  Change
memcpy    720.7  32.7     649.8  25.1   +10.9%
Overall  2372.7  46.1    2291.7  21.8    +3.5%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-05 15:14:31 +03:00
Ben Avison
daf1e0d3de avio: Add an internal function for reading without copying
As long as there is enough contiguous data in the avio buffer,
just return a pointer to it instead of copying it to the caller
provided buffer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-05 15:14:25 +03:00
Diego Biurrun
22a154e436 build: Add missing img2.o dependency to apetag.o 2013-08-05 11:38:00 +02:00
Diego Biurrun
bea3d6f436 ismindex: Replace mkdir ifdeffery by os_support.h #include
os_support.h contains more precise workarounds for non-POSIX mkdir().
2013-08-05 11:38:00 +02:00
Rémi Denis-Courmont
f824535a4a vdpau: deprecate bitstream buffers within the hardware context
The bitstream buffers are now private and freed by libavcodec. For
backward compatibility, the hold bitstream buffer pointer is left NULL
(applications were supposed to av_freep() it).

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-05 11:21:36 +02:00
Rémi Denis-Courmont
2852740e23 vdpau: store picture data in picture's rather than codec's context
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-05 11:20:41 +02:00
Rémi Denis-Courmont
549294fbbe vdpau: deprecate VDPAU codec capability
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-05 11:20:32 +02:00
Rémi Denis-Courmont
a0ad5d0113 vdpau: deprecate old codec-specific pixel formats
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-05 11:16:54 +02:00
Rémi Denis-Courmont
578ea75a9e vdpau: remove old-style decoders
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-05 11:15:49 +02:00
Anton Khirnov
488a0fa689 avconv: support -t as an input option.
It limits the duration of the data read from a given input.
2013-08-05 10:54:19 +02:00
Anton Khirnov
811bd07846 avconv: make input -ss accurate when transcoding
Insert (a)trim filters on the corresponding inputs, so the extra frames
are decoded and discarded.
2013-08-05 10:53:41 +02:00
Anton Khirnov
56ee3f9de7 avconv: distinguish between -ss 0 and -ss not being used
Using -ss 0 to drop frames with negative timestamps is a perfectly valid
use case.
2013-08-05 10:53:12 +02:00
Anton Khirnov
2e661f26f8 avconv: insert extra filters in the same way for both graph inputs and outputs
This will allow using the same code when one filter can be inserted both
on input and output.
2013-08-05 10:52:22 +02:00
Anton Khirnov
3799376dd3 lavfi/fifo: fix flushing when using request_samples
If any samples are still buffered when request_frame returns EOF, they
won't be returned currently.
2013-08-05 10:52:00 +02:00
Anton Khirnov
06cd4c5a68 avconv: fix usage of deprecated lavfi API 2013-08-05 10:51:41 +02:00
James Almer
1ca3902726 fate: Add vorbiscomment cover art test
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 10:48:37 +02:00
Michael Niedermayer
22458ccbcc avcodec/tta: use init_get_bits8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 10:15:03 +02:00
Michael Niedermayer
89c3f5a907 avformat/takdec: use init_get_bits8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 10:14:42 +02:00
Michael Niedermayer
263da1a8f7 avcodec/eatgq: use init_get_bits8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 10:14:14 +02:00
Michael Niedermayer
5dff269998 avcodec/diracdec: use init_get_bits8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 10:13:48 +02:00
Michael Niedermayer
6ed1aa4f85 avcodec/ra144dec: use init_get_bits8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 10:13:21 +02:00
Michael Niedermayer
77e37c34cb avformat/latmenc: use init_get_bits8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 10:12:46 +02:00
Michael Niedermayer
dd98d9d1ff Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mxfenc: switch to av_reallocp_array() and check allocation errors

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 09:57:28 +02:00
Michael Niedermayer
d6c36fba0b Merge commit 'a10c4ce24bd4a0dd557d5849aa53a0cc74677808'
* commit 'a10c4ce24bd4a0dd557d5849aa53a0cc74677808':
  aac: Forward errors properly in aac_decode_frame_int

Conflicts:
	libavcodec/aacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 09:52:06 +02:00
Michael Niedermayer
48af87819a Merge commit '71953ebcf94fe4ef316cdad1f276089205dd1d65'
* commit '71953ebcf94fe4ef316cdad1f276089205dd1d65':
  aac: Check init_get_bits return value

Conflicts:
	libavcodec/aacdec.c

See: 73abc3a634

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 09:46:04 +02:00
Michael Niedermayer
783c674da7 Merge commit '51fc88e7467169031b20b9983d80456b893a9fa3'
* commit '51fc88e7467169031b20b9983d80456b893a9fa3':
  avconv: improve some variable names

Conflicts:
	ffmpeg_filter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 09:32:31 +02:00
Michael Niedermayer
46b3dbf9ca Merge commit '77cc958f60f73963be4281d6e82ef81707e40c26'
* commit '77cc958f60f73963be4281d6e82ef81707e40c26':
  lavfi: add const to the AVFilter parameter of avfilter_graph_create_filter()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 09:22:18 +02:00
Michael Niedermayer
c4f9a4cd2f rdt: make const tables static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 02:53:16 +02:00
Michael Niedermayer
1787432b23 mp3dec: make const tables static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 02:52:41 +02:00
Michael Niedermayer
6bbcae2c16 avcodec/fft: Fix "warning: unused variable"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-04 22:52:10 +02:00
Michael Niedermayer
62cf5c114a avformat/matroskadec: make sipr_bit_rate static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-04 21:18:49 +02:00
Anton Khirnov
612a5049d9 avserver: do not use a static string as a default for a string option
Fixes an invalid free.

Bug-id: 448
2013-08-04 18:47:22 +02:00
Alexandra Khirnova
7684a36113 mxfenc: switch to av_reallocp_array() and check allocation errors
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-04 16:49:04 +02:00
Luca Barbato
a10c4ce24b aac: Forward errors properly in aac_decode_frame_int
Incidentally also remove a warning.
2013-08-04 16:05:36 +02:00
Luca Barbato
71953ebcf9 aac: Check init_get_bits return value
Some code paths can call it with invalid length.

CC: libav-stable@libav.org
2013-08-04 16:05:36 +02:00
Anton Khirnov
51fc88e746 avconv: improve some variable names
'filter' is too generic, since the functions in question deal with
several filters.

Also add const qualifiers to those variables.
2013-08-04 15:46:19 +02:00
Anton Khirnov
77cc958f60 lavfi: add const to the AVFilter parameter of avfilter_graph_create_filter()
This function should never modify the filter.
2013-08-04 15:46:19 +02:00
Nedeljko Babic
18d7074b4e libavcodec: Implementation of 32 bit fixed point FFT
Iterative implementation of 32 bit fixed point split-radix FFT.
Max FFT that can be calculated currently is 2^12.

Signed-off-by: Nedeljko Babic <nbabic@mips.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-04 14:01:41 +02:00
Andrey Utkin
27cc3e72f8 doc/muxers: Document use case of mpegts muxer option tables_version
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-04 13:35:54 +02:00
Timothy Gu
3415058541 vf_scale: add force_original_aspect_ratio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-04 13:27:01 +02:00
Michael Niedermayer
48188a5120 MAINTAINERS: order libavutil entries alphabetically
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-04 11:24:57 +02:00
Michael Niedermayer
61af627d56 avfilter/graphparser: remove 256 char limit from create_filter()
Fixes Ticket2803

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-04 00:56:55 +02:00
Michael Niedermayer
c0ef5d6c16 avdevice/vfwcap: make constant arrays static
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 22:24:31 +02:00
Michael Niedermayer
8862ed7340 avdevice/dshow: make constant arrays static
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 22:24:11 +02:00
Michael Niedermayer
f187390907 doc/examples/filtering_audio: make const arrays also static
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 22:22:03 +02:00
Andrey Utkin
5b76c3a120 doc/muxers: Document previously undocumented mpegts muxer options
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 20:30:33 +02:00
Michael Niedermayer
e43a0a232d avfilter: fix plane validity checks
Fixes out of array accesses

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 19:15:46 +02:00
Michael Niedermayer
bc4e798562 avdevice/timefilter: 2nd try at avoiding rounding issues
This hopefully fixes fate-timefilter

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 16:15:13 +02:00
Michael Niedermayer
d6fd1242f3 avdevice/timefilter-test: provide more space for the printout to allow larger values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 16:11:29 +02:00
Carl Eugen Hoyos
34d48dac25 avcodec/pnmdec: support more pnm files
Fixes Ticket1897

Some hunks that have become unneeded due to previous changes removed by the commiter.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 15:00:20 +02:00
Michael Niedermayer
62738157dd pnmdec: always output native pixel format
This simplifies the code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 15:00:15 +02:00
Andrey Utkin
b7ed18b9bd mpegtsenc: add option tables_version
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 12:44:53 +02:00
Michael Niedermayer
5ad4e29337 MAINTAINERS: add myself as maintainer for the interface code to swresample & swscale in libavfilter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 12:36:56 +02:00
Michael Niedermayer
62f616ed58 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Check for GCC diagnostic pragma support inside of functions

This commit was cherry picked previously already to prevent compilation failure on a previous merge
See: 038c4f65ee

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 10:55:46 +02:00
Michael Niedermayer
82fdfe8e51 Merge commit 'a8b19271c3b40ac3c3dc769fe248887acf14ba5a'
* commit 'a8b19271c3b40ac3c3dc769fe248887acf14ba5a':
  avcodec: Add output_picture_number to AVCodecParserContext

Conflicts:
	doc/APIchanges
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 10:48:11 +02:00
Michael Niedermayer
1607a98545 avcodec/mlp: Fix bugs in libavs warning fixes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 10:27:42 +02:00
Michael Niedermayer
20be5e0a0e Merge commit '7950e519bb094897f957b9a9531cc60ba46cbc91'
* commit '7950e519bb094897f957b9a9531cc60ba46cbc91':
  Disable deprecation warnings for cases where a replacement is available

Conflicts:
	libavcodec/avpacket.c
	libavcodec/pthread.c
	libavcodec/utils.c
	libavdevice/v4l2.c
	libavfilter/avfiltergraph.c
	libavfilter/buffersrc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 10:08:30 +02:00
Diego Biurrun
038c4f65ee configure: Check for GCC diagnostic pragma support inside of functions
The actual usage of the pragma is within functions and older versions
of gcc only support the pragma outside of functions.
2013-08-03 10:08:04 +02:00
Michael Niedermayer
85fc1a18ca Merge commit '3a7050ffed5ce061b114a11e4de4b77aba8efa0b'
* commit '3a7050ffed5ce061b114a11e4de4b77aba8efa0b':
  build: Add _Pragma macro to disable deprecated declaration warnings

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 09:27:37 +02:00
Michael Niedermayer
fa5410f61a Merge commit '79be2c325c5ee8f7ac9e28399e51986ebe99bb3c'
* commit '79be2c325c5ee8f7ac9e28399e51986ebe99bb3c':
  doc/print_options: Move options headers to a saner place

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 09:22:30 +02:00
Michael Niedermayer
a8e963835a Merge commit 'b5a138652ff8a5b987d3e1191e67fd9f6575527e'
* commit 'b5a138652ff8a5b987d3e1191e67fd9f6575527e':
  Give less generic names to global library option arrays

Conflicts:
	libavcodec/options_table.h
	libavfilter/avfilter.c
	libavformat/options_table.h
	libswscale/options.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 09:16:36 +02:00
Michael Niedermayer
8e970a5861 Merge commit '0d6fa3977b016f1b72b0b24b8834ff9222498548'
* commit '0d6fa3977b016f1b72b0b24b8834ff9222498548':
  rtmp: Add seek support

Conflicts:
	Changelog
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 09:01:48 +02:00
Michael Niedermayer
7cd13f618c Merge commit '0d8b943d204bd16fcf2f4a59c742e65a401dd3d0'
* commit '0d8b943d204bd16fcf2f4a59c742e65a401dd3d0':
  h264_sei: Return meaningful values

Conflicts:
	libavcodec/h264_sei.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 08:54:54 +02:00
Michael Niedermayer
bdccfc3fc3 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Forward interlaced field information from mov to ffv1 decoder.
  Do not suggest to use gas-preprocessor if using it would break compilation.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 00:45:08 +02:00
Tim.Nicholson
ae4c912bce Forward interlaced field information from mov to ffv1 decoder.
Only read the information for old ffv1, level/version 3 saves
the information in the bitstream.
Fixes a part of ticket #2190.

Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-08-02 23:31:40 +02:00
Carl Eugen Hoyos
401f6a7126 Do not suggest to use gas-preprocessor if using it would break compilation.
gas-preprocessor does not work on ppc with pic and on ppc64.
2013-08-02 23:23:58 +02:00
Michael Niedermayer
154c8bf60b avcodec/mdec: make block_index static const 2013-08-02 23:12:26 +02:00
Michael Niedermayer
f19a23bd4f avcodec/mjpeg: make 2 outcommented tables static 2013-08-02 23:11:58 +02:00
Michael Niedermayer
b984c727f5 avcodec/dxtory: make def_lru[8] static
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 23:11:31 +02:00
Michael Niedermayer
04c50cb3a0 avcodec/dnxhdenc: make header_prefix static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 23:10:42 +02:00
Diego Biurrun
6da5b57da1 configure: Check for GCC diagnostic pragma support inside of functions
The actual usage of the pragma is within functions and older versions
of gcc only support the pragma outside of functions.
2013-08-02 22:34:03 +02:00
Michael Niedermayer
0553f2c6e5 avformat/matroskaenc: make 2 tables static that are not used outside matroskaenc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 21:14:59 +02:00
Michael Niedermayer
65dd93209d movenc: make uuids static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 21:14:59 +02:00
Yusuke Nakamura
a8b19271c3 avcodec: Add output_picture_number to AVCodecParserContext
Set output_picture_number in H.264 parser.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-08-02 20:59:45 +02:00
Diego Biurrun
7950e519bb Disable deprecation warnings for cases where a replacement is available 2013-08-02 19:19:02 +02:00
Diego Biurrun
3a7050ffed build: Add _Pragma macro to disable deprecated declaration warnings 2013-08-02 19:19:02 +02:00
Diego Biurrun
79be2c325c doc/print_options: Move options headers to a saner place 2013-08-02 19:19:02 +02:00
Diego Biurrun
b5a138652f Give less generic names to global library option arrays 2013-08-02 19:19:02 +02:00
Gavriloaie Eugen-Andrei
0d6fa3977b rtmp: Add seek support
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-02 20:11:54 +03:00
Paul B Mahol
bc2187cfdb ttaenc: fix packet size
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-02 16:45:58 +00:00
Vittorio Giovara
0d8b943d20 h264_sei: Return meaningful values
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-08-02 18:19:40 +02:00
Michael Niedermayer
2b9590ebab avdevice/timefilter-test: dont try to optimize par1 for n0=0 case
for the n0=0 case there are multiple solutions and different
platforms pick different ones
This should reduce the issues with fate and the timefilter test

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 17:06:13 +02:00
Michael Niedermayer
61a28d00e8 flvdec: silence unused warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 13:05:16 +02:00
Michael Niedermayer
2ae5ac78d8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264_sei: K&R formatting cosmetics

Conflicts:
	libavcodec/h264_sei.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 12:37:37 +02:00
Michael Niedermayer
da4cd61502 Merge commit '4c7fd58f8ae729b964b6859eace5ab9a55ce3c8c'
* commit '4c7fd58f8ae729b964b6859eace5ab9a55ce3c8c':
  h264_sei: Remove pointless old comment
  twinvq: Add proper twinvq prefixes to identifiers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 12:23:52 +02:00
Michael Niedermayer
67291ffd63 Merge commit 'f900f35ac8db4ac30df6fda1c27502c2ef9e6ba5'
* commit 'f900f35ac8db4ac30df6fda1c27502c2ef9e6ba5':
  flvdec: Eliminate completely silly goto

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 12:19:21 +02:00
Michael Niedermayer
ae48547a52 Merge commit 'e4529df944616917ae8462f5102253ff7f983093'
* commit 'e4529df944616917ae8462f5102253ff7f983093':
  flvdec: K&R formatting cosmetics

Conflicts:
	libavformat/flvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 12:08:56 +02:00
Michael Niedermayer
cb73f84087 Merge commit '390b4d7088b5cecace245fee0c54a57e24dabdf4'
* commit '390b4d7088b5cecace245fee0c54a57e24dabdf4':
  flvdec: Fix = vs. == typo in sample rate check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 11:00:50 +02:00
Michael Niedermayer
ca1b029108 Merge commit 'fd8f91e3f44a2bdbefaaebead388133c5fdd3423'
* commit 'fd8f91e3f44a2bdbefaaebead388133c5fdd3423':
  rtsp: Simplify code for forming the remote peer url

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 10:39:46 +02:00
Michael Niedermayer
bff371e34c jpeg2000dec: simplify jpeg2000_read_bitstream_packets()
23 lines less
less error prone as theres no more need to update *_size on every read

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 03:55:07 +02:00
Michael Niedermayer
5936d98244 avcodec/wmaenc: change commented assert to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 03:54:59 +02:00
Marton Balint
d75d911223 mpegts: save last pcr of pcr pids in PES Context
Based on a patch by Reimar Döffinger.
http://lists.ffmpeg.org/pipermail/ffmpeg-devel/2012-September/131610.html

Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 03:27:47 +02:00
Timothy Gu
b3f858b829 libxvid: cosmetics: Realign the code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 03:21:09 +02:00
Stefano Sabatini
f118b41759 ffmpeg: raise level for message printed in case of auto-select pixel format
Increase visibility, in order to decrease troubleshooting for
users generating non playable H.264 content.

Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-08-01 21:14:48 +02:00
Carl Eugen Hoyos
fbc0004b4b lavf/movenc: Write disc number and total number of discs as part of metadata.
Fixes ticket #2731.
2013-08-01 16:21:31 +02:00
Carl Eugen Hoyos
bb7f71d9b6 lavf/movenc: Write total number of tracks as part of metadata.
Fixes ticket #2157.
2013-08-01 16:20:58 +02:00
Michael Niedermayer
9408d990c4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avframe: have av_frame_get_side_data take const AVFrame*

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 13:59:50 +02:00
Michael Niedermayer
0f5a40c2a4 Merge commit 'ee37d5811caa8f4ad125a37fe6ce3f9e66cd72f2'
* commit 'ee37d5811caa8f4ad125a37fe6ce3f9e66cd72f2':
  rtpproto: Allow specifying a separate rtcp port in ff_rtp_set_remote_url

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 13:51:44 +02:00
Vittorio Giovara
b18412171f h264_sei: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-08-01 13:26:07 +02:00
Diego Biurrun
4c7fd58f8a h264_sei: Remove pointless old comment 2013-08-01 13:26:07 +02:00
Michael Niedermayer
2ee58af53e Merge commit '1851e1d05d06f6ef3436c667e4354da0f407b226'
* commit '1851e1d05d06f6ef3436c667e4354da0f407b226':
  rtpproto: Check the size before reading buf[1]

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 13:24:57 +02:00
Michael Niedermayer
4f07fcd30b Merge commit '7748dd41be3d6dd6300f14263586af4ee104ead2'
* commit '7748dd41be3d6dd6300f14263586af4ee104ead2':
  avconv: add -n option to immediately exit when output files already exist

Conflicts:
	Changelog
	doc/ffmpeg.texi
	ffmpeg_opt.c

See: 0a4f02117b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 13:21:34 +02:00
Michael Niedermayer
56e682374e Merge commit 'b85dbe68e222586fd77332716eb8ed5724db4e1b'
* commit 'b85dbe68e222586fd77332716eb8ed5724db4e1b':
  avconv: Call exit_program instead of exit in avconv_opt as well

Conflicts:
	ffmpeg_opt.c

See: eeddeb6579

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 12:52:50 +02:00
Diego Biurrun
9ea24e927e twinvq: Add proper twinvq prefixes to identifiers 2013-08-01 12:44:05 +02:00
Diego Biurrun
f900f35ac8 flvdec: Eliminate completely silly goto 2013-08-01 12:43:54 +02:00
Diego Biurrun
e4529df944 flvdec: K&R formatting cosmetics 2013-08-01 12:43:53 +02:00
Diego Biurrun
390b4d7088 flvdec: Fix = vs. == typo in sample rate check 2013-08-01 12:43:53 +02:00
Michael Niedermayer
cca229e75a Merge commit 'c7e921a54ffe7feb9f695c82f0a0764ab8d0f62b'
* commit 'c7e921a54ffe7feb9f695c82f0a0764ab8d0f62b':
  avopt: Check whether the object actually has got an AVClass

Conflicts:
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 12:30:30 +02:00
Michael Niedermayer
fcccb4c11d Merge commit 'b7e6da988bfd5def40ccf3476eb8ce2f98a969a5'
* commit 'b7e6da988bfd5def40ccf3476eb8ce2f98a969a5':
  rtpproto: Move rtpproto specific function declarations to a separate header

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 12:03:24 +02:00
Michael Niedermayer
d6b37de4d4 Merge commit '892b0be1dfbdeaf71235fb6c593286e4f5c7e4ec'
* commit '892b0be1dfbdeaf71235fb6c593286e4f5c7e4ec':
  rtpproto: Simplify the rtp_read function by looping over the fds

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 11:58:17 +02:00
Michael Niedermayer
b39f012dee Merge commit '7531588fffbca1f0afdcc06635999c00dfc16ca6'
* commit '7531588fffbca1f0afdcc06635999c00dfc16ca6':
  rtpproto: Remove a misplaced comment

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 11:53:54 +02:00
Michael Niedermayer
d2c613dd14 Merge commit '54e03ff6af8a070f1055edd26028f3f7b2e2ca8e'
* commit '54e03ff6af8a070f1055edd26028f3f7b2e2ca8e':
  rtpproto: Support nonblocking reads

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 11:47:42 +02:00
Michael Niedermayer
57b8ce414b Merge commit '2e814d0329aded98c811d0502839618f08642685'
* commit '2e814d0329aded98c811d0502839618f08642685':
  rtpenc: Simplify code by introducing a macro for rescaling NTP timestamps

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 11:42:30 +02:00
Michael Niedermayer
0c8efe4891 Merge commit '45dd1ae1b3c18331f3db2293a9135bc5851e553f'
* commit '45dd1ae1b3c18331f3db2293a9135bc5851e553f':
  avfilter: Add some missing FF_API_AVFILTERBUFFER ifdefs

Conflicts:
	libavfilter/buffer.c
	libavfilter/internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 11:36:54 +02:00
Michael Niedermayer
b326438139 avutil/tree: fix memleaks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 11:29:12 +02:00
Michael Niedermayer
161054f37b Merge commit 'c2e936de07d054bf476e60445b453bf6b4836820'
* commit 'c2e936de07d054bf476e60445b453bf6b4836820':
  tree-test: Refactor and plug memory leaks

Conflicts:
	libavutil/tree.c

Most of this commit is not merged due to bugs in it

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 11:29:03 +02:00
Martin Storsjö
fd8f91e3f4 rtsp: Simplify code for forming the remote peer url
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-01 12:11:17 +03:00
Michael Niedermayer
bc47d126bf Merge commit 'a9b04b2c43f95cc17c2291f83c27a3119471d986'
* commit 'a9b04b2c43f95cc17c2291f83c27a3119471d986':
  tree.h: K&R formatting and typo cosmetics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 10:41:06 +02:00
Vittorio Giovara
3c8bff0740 avframe: have av_frame_get_side_data take const AVFrame*
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-01 09:41:45 +02:00
Martin Storsjö
ee37d5811c rtpproto: Allow specifying a separate rtcp port in ff_rtp_set_remote_url
A separate rtcp port can already be set when opening the rtp
protocol normally, but when doing port setup as in RTSP (where
we first need to open the local ports and pass them to the peer,
and only then receive the remote peer port numbers), we didn't
check the same url parameter as in the normal open routine.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-01 10:26:17 +03:00
Martin Storsjö
1851e1d05d rtpproto: Check the size before reading buf[1]
I doubt that anyone ever would try to send a 1 byte packet
via the RTP protocol, but check just in case - it shouldn't
crash at least.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-01 09:41:21 +03:00
Andrey Utkin
11ace70607 doc/protocols: Document file protocol options
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 04:08:14 +02:00
Paul B Mahol
69fe25cdca lclenc: remove unused code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-31 20:01:43 +00:00
Paul B Mahol
fe37551249 sunrastenc: do not set avctx->coded_frame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-31 20:01:43 +00:00
Paul B Mahol
678431d3f2 jv: make code independent of sizeof(AVFrame)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-31 20:01:42 +00:00
Paul B Mahol
ff1c13b133 mss3: make code independent of sizeof(AVFrame)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-31 20:01:42 +00:00
Paul B Mahol
02fe531afe mss2: make code independent of sizeof(AVFrame)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-31 20:01:42 +00:00
Paul B Mahol
451b2ca1b4 indeo2: make code independent of sizeof(AVFrame)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-31 20:01:42 +00:00
Paul B Mahol
76e27b1d05 smacker: make code independent of sizeof(AVFrame)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-31 20:01:42 +00:00
Vittorio Giovara
7748dd41be avconv: add -n option to immediately exit when output files already exist
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-31 22:28:54 +03:00
Andrey Utkin
681ad3a5b6 Document new 'blocksize' option of 'pipe' protocol
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-31 21:17:03 +02:00
Andrey Utkin
a8f171151f file: Add 'blocksize' option
Interruptibility of file operations is strongly desirable in case of
slow storage access, e.g. mounted network share.
This commit introduces possibility to limit data quantity transferred by
'file' protocol at once. By default, old behaviour is preserved and data
is still tried to be transferred without block size limitation.

Note that file I/O operation still may block (or even freeze) inside of
single read(2) or write(2) operation.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-31 21:16:54 +02:00
Martin Storsjö
b85dbe68e2 avconv: Call exit_program instead of exit in avconv_opt as well
This seems to have been missed in 636ced8e1d.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-31 22:11:32 +03:00
Martin Storsjö
c7e921a54f avopt: Check whether the object actually has got an AVClass
AVIOContext has got an av_class member that only gets set if
opening the context using avio_open2, but not if allocating a
custom IO context. A caller that wants to read AVOptions from
an AVIOContext (recursively using AV_OPT_SEARCH_CHILDREN) may
not know if the AVIOContext actually has got a class set or not.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-31 21:31:14 +03:00
Martin Storsjö
b7e6da988b rtpproto: Move rtpproto specific function declarations to a separate header
Mixing these with the rtp depacketizer functions in rtpdec.h is
no good.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-31 21:12:34 +03:00
Martin Storsjö
892b0be1df rtpproto: Simplify the rtp_read function by looping over the fds
This avoids having duplicate code where only the fd parameter
differs.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-31 21:12:34 +03:00
Martin Storsjö
7531588fff rtpproto: Remove a misplaced comment
The fdset is a pollfd array nowadays, and it is already populated
at this point.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-31 21:12:34 +03:00
Martin Storsjö
54e03ff6af rtpproto: Support nonblocking reads
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-31 21:12:34 +03:00
Martin Storsjö
2e814d0329 rtpenc: Simplify code by introducing a macro for rescaling NTP timestamps
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-31 21:12:34 +03:00
Diego Biurrun
45dd1ae1b3 avfilter: Add some missing FF_API_AVFILTERBUFFER ifdefs 2013-07-31 19:23:00 +02:00
Diego Biurrun
c2e936de07 tree-test: Refactor and plug memory leaks
With the most annoying memory leak found by Derek Buitenhuis.
2013-07-31 18:14:08 +02:00
Diego Biurrun
a9b04b2c43 tree.h: K&R formatting and typo cosmetics 2013-07-31 18:14:08 +02:00
Timothy Gu
3b3c1ed076 libxvid: Add SSIM displaying through a libxvidcore plugin
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-31 12:41:27 +02:00
Timothy Gu
ccb212b6c3 libxvid: add working lumimasking and variance AQ
The old implementation is unusable due to change in the Xvid API.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-31 11:57:52 +02:00
Michael Niedermayer
95960027a5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  hls: Call avformat_find_stream_info() on the chained demuxers

Conflicts:
	libavformat/hls.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-31 11:01:30 +02:00
Romain Beauxis
38536e5927 Support for shine 3.0.0 2013-07-30 21:12:34 +00:00
Paul B Mahol
d49252721a lavf/webvttenc: use proper printf format for int64_t values
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-30 20:32:26 +00:00
Michael Niedermayer
1bbf94d84f avfilter/af_compand: %f is for printing doubles
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 22:24:42 +02:00
Michael Niedermayer
121fc05b4d avcodec/get_bits: place volatile at the right spot
Should fix Ticket2825

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 20:55:54 +02:00
Michael Niedermayer
43411f416f avcodec/get_bits: init_state is used for thread sync, make it volatile
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 20:38:19 +02:00
Timothy Gu
6b255e5e70 doc/encoders: add libxvid doc
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-07-30 16:24:29 +02:00
Michael Niedermayer
d6686149e2 asfdec: Skip to keyframe after seeking
Fixes Ticket1616

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 15:29:12 +02:00
Michael Niedermayer
66487d73c3 avdevice/timefilter: cleanup the formating of the test output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 12:35:53 +02:00
Michael Niedermayer
231e33f050 avutil/pixfmt: dont refer to deprecated PIX_FMT in the documentation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 12:32:05 +02:00
Michael Niedermayer
e5526a4bae avformat/gxfenc: replace deprecated PIX_FMT constants
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 12:29:20 +02:00
Michael Niedermayer
000f8bcd03 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Replace remaining obsolete PIX_FMT names with AV_PIX_FMT equivalents

Conflicts:
	libavcodec/g2meet.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 12:03:12 +02:00
Michael Niedermayer
870f506cfe Merge commit '1f57d60129b0e297cd197c6031c4439b30a6b503'
* commit '1f57d60129b0e297cd197c6031c4439b30a6b503':
  rtsp: Support RFC4570 (source specific multicast) more properly.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 11:57:43 +02:00
Michael Niedermayer
0b712f5d5e Merge commit '74972220909787af5a3ffe66f7fa8041827c2bd2'
* commit '74972220909787af5a3ffe66f7fa8041827c2bd2':
  rtpproto: Support more than one SSM include address, support excludes

Conflicts:
	libavformat/rtpproto.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 11:51:14 +02:00
Michael Niedermayer
42f7c45d7b Merge commit '7d99c92945e4b2d12ed2126365482e1900340da0'
* commit '7d99c92945e4b2d12ed2126365482e1900340da0':
  udp: Keep track of include and exclude sources separately

Conflicts:
	libavformat/udp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 11:40:05 +02:00
Michael Niedermayer
15ca3ab825 Merge commit '3357bccc5cb31795f248cd72dc480025f3075a5b'
* commit '3357bccc5cb31795f248cd72dc480025f3075a5b':
  udp: Allow specifying multicast include/blocks as host names as well

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 11:31:17 +02:00
Michael Niedermayer
9696740af7 hls: Call avformat_find_stream_info() on the chained demuxers
This allows the chained demuxer (or more precisely, the lavf
utility code) to better fill in timestamps on packets from
these, especially for cases where one stream is a raw ADTS
stream.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-30 12:31:08 +03:00
Michael Niedermayer
c7d1717957 Merge commit '0e8c6f221a8ddb7dfb3c9e9bd0b33cb12e9391b8'
* commit '0e8c6f221a8ddb7dfb3c9e9bd0b33cb12e9391b8':
  avisynth: Fix a "AVISynth" vs. "AviSynth" struct name typo

Conflicts:
	doc/general.texi
	libavformat/avisynth.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 11:26:39 +02:00
Michael Niedermayer
5fae467894 Merge commit '4822ee3ca620a92cd2b0a9a03ea9e34288192c79'
* commit '4822ee3ca620a92cd2b0a9a03ea9e34288192c79':
  configure: Detect AIX ar command instead of hardcoding it in the OS section

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 11:20:12 +02:00
Michael Niedermayer
dc737f0bfa Merge commit '711c4da1af71e0d26ca93626a3c2dd48821f1cc7'
* commit '711c4da1af71e0d26ca93626a3c2dd48821f1cc7':
  fate: Add tree test

Conflicts:
	tests/fate/libavutil.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 11:13:34 +02:00
Michael Niedermayer
1f5755d869 Merge commit 'd99a2b6d0a4d0b2f5ba6a1f1637d6cb88c5c9184'
* commit 'd99a2b6d0a4d0b2f5ba6a1f1637d6cb88c5c9184':
  avutil/tree: Drop debug messages that clutter the output

Conflicts:
	libavutil/tree.c

Merge for metadata only, a better solution has been commited that allows the
debug output to be turned on and off

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 11:06:03 +02:00
Michael Niedermayer
db75537e25 avutil/tree: allow adjusting the log level
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 11:04:48 +02:00
Michael Niedermayer
647836608c avutil/tree: change debug output to AV_LOG_DEBUG level
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 11:04:39 +02:00
Michael Niedermayer
93b3a5edff Merge commit '10db1a9bca46b0f760a1263d47142b2f57e195d7'
* commit '10db1a9bca46b0f760a1263d47142b2f57e195d7':
  avutil/tree: K&R formatting cosmetics

Conflicts:
	libavutil/tree.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 10:42:40 +02:00
Michael Niedermayer
4cf6e00081 Merge commit 'c47037c7a17e4026d38dfa41da27b9f91506725b'
* commit 'c47037c7a17e4026d38dfa41da27b9f91506725b':
  fate: Add timefilter test

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 10:36:04 +02:00
Michael Niedermayer
7dfe798d14 Merge commit '06205b5efdcf0bc4c5463bfdd02f09b5f79fc4cd'
* commit '06205b5efdcf0bc4c5463bfdd02f09b5f79fc4cd':
  hls: Free packets when skipping packets when seeking

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 10:26:04 +02:00
Michael Niedermayer
ef1544740e Merge commit 'a2b7eeeb06471979ee39fd3075a04633222678a6'
* commit 'a2b7eeeb06471979ee39fd3075a04633222678a6':
  hlsproto: Store all durations in AV_TIME_BASE

Conflicts:
	libavformat/hlsproto.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 10:19:20 +02:00
Michael Niedermayer
4971551fd2 Merge commit 'c44191039944526dd7eb6e536990b555837961f5'
* commit 'c44191039944526dd7eb6e536990b555837961f5':
  hls: Store all durations in AV_TIME_BASE

Conflicts:
	libavformat/hls.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 10:12:48 +02:00
Michael Niedermayer
5a270296cb Merge commit 'e1d5b244761cf69db655ad7ece1dbf2c13dd4fce'
* commit 'e1d5b244761cf69db655ad7ece1dbf2c13dd4fce':
  hls: Store first_timestamp in units of AV_TIME_BASE

Conflicts:
	libavformat/hls.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 10:03:02 +02:00
Michael Niedermayer
947f2d4d34 Merge commit '55c4cba2a7037161ea56b2d55b347c8381df7f1e'
* commit '55c4cba2a7037161ea56b2d55b347c8381df7f1e':
  huffyuvenc: BGRA support

Conflicts:
	libavcodec/huffyuvenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 09:50:26 +02:00
Michael Niedermayer
6df20d0d35 asfdec: remove "ignoring invalid packet_obj_size" code
The code is no longer needed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 03:19:39 +02:00
Michael Niedermayer
465aa53f21 asfdec: move packet_obj_size to ASFStream
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 03:19:39 +02:00
Michael Niedermayer
cb6d02df4c asfdec: avoid using AVStream->priv_data
This ensures that we dont write into one struct and read the other without
realizing that they arent identical.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 03:19:39 +02:00
Diego Biurrun
78b4bfdb84 Replace remaining obsolete PIX_FMT names with AV_PIX_FMT equivalents 2013-07-29 23:46:51 +02:00
Paul B Mahol
c96b3ae8db doc/filters: fix typo
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-29 20:05:21 +00:00
Ed Torbett
1f57d60129 rtsp: Support RFC4570 (source specific multicast) more properly.
Add support for domain names, for multiple source addresses,
for exclusions, and for session level specification of addresses.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 22:58:56 +03:00
Ed Torbett
7497222090 rtpproto: Support more than one SSM include address, support excludes
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 22:58:55 +03:00
Ed Torbett
7d99c92945 udp: Keep track of include and exclude sources separately
This allows us to explicitly fail if the caller tried to set
both inclusions and exclusions at the same time.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 22:58:54 +03:00
Ed Torbett
3357bccc5c udp: Allow specifying multicast include/blocks as host names as well
Previously this only allowed literal IP addresses. When these
are conveyed in a SDP file as in RFC4570, host names are allowed
as well.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 22:58:53 +03:00
Paul B Mahol
6b68e2a43b lavfi: add compand filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-29 19:11:50 +00:00
Michael Niedermayer
3cd8aaa2b2 avcodec/kmvc: fix MV checks
Fixes Ticket2813
Fixes regression since 70b5583

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 20:58:20 +02:00
Diego Biurrun
0e8c6f221a avisynth: Fix a "AVISynth" vs. "AviSynth" struct name typo
Also fix some similar typos in comments and documentation.
2013-07-29 20:09:59 +02:00
Diego Biurrun
4822ee3ca6 configure: Detect AIX ar command instead of hardcoding it in the OS section 2013-07-29 19:43:37 +02:00
Diego Biurrun
711c4da1af fate: Add tree test 2013-07-29 19:20:28 +02:00
Diego Biurrun
d99a2b6d0a avutil/tree: Drop debug messages that clutter the output 2013-07-29 19:20:27 +02:00
Diego Biurrun
10db1a9bca avutil/tree: K&R formatting cosmetics 2013-07-29 19:20:27 +02:00
Diego Biurrun
c47037c7a1 fate: Add timefilter test 2013-07-29 19:20:27 +02:00
Martin Storsjö
06205b5efd hls: Free packets when skipping packets when seeking
This fixes memory leaks present since 2b3d041cdc.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 20:15:50 +03:00
Martin Storsjö
a2b7eeeb06 hlsproto: Store all durations in AV_TIME_BASE
Also parse segment durations as floating point, which is allowed
since HLS version 3.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 20:15:50 +03:00
Martin Storsjö
c441910399 hls: Store all durations in AV_TIME_BASE
Also parse segment durations as floating point, which is allowed
since HLS version 3.

This is based on a patch by Zhang Rui.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 20:15:50 +03:00
Martin Storsjö
e1d5b24476 hls: Store first_timestamp in units of AV_TIME_BASE
When first_timestamp was stored as-is, its actual time base
wasn't known later in the seek function.

Additionally, the logic (from 795d9594cf) for scaling it
based on stream_index is flawed - stream_index in the seek
function only specifies which stream the seek timestamp refers
to, but obviously doesn't say anything about which stream
first_timestamp belongs to.

In the cases where stream_index was >= 0 and all streams had the
same time base, this didn't matter in practice.

Seeking taking first_timestamp into account is problematic
when one variant is mpegts (with real timestamps) and one variant
is raw ADTS (with timestamps only being accumulated packet
duration), where the variants start at totally different timestamps.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 20:15:50 +03:00
Michael Niedermayer
55c4cba2a7 huffyuvenc: BGRA support
Bug-Id: 452

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-07-29 18:21:05 +02:00
Carl Eugen Hoyos
f2118d44c9 Fix compilation with --disable-everything --enable-shared.
Compilation with --disable-everything --enable-shared failed
on systems with VAAPI support with the following undefined
symbol in libavcodec/vaapi.o:
libavcodec/libavcodec.so: undefined reference to `ff_mpeg_draw_horiz_band'
2013-07-29 17:52:40 +02:00
Michael Niedermayer
f80ccf074a avcodec/ff_init_vlc_sparse: use a local array for static vlcs avoiding malloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 16:48:41 +02:00
Michael Niedermayer
6af8326354 avcodec/ff_init_vlc_sparse: use a spinlock for thread sync
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 16:48:41 +02:00
Michael Niedermayer
a9903f7ec1 Revert "bitstream: make vlc init of static tables thread safe."
This reverts commit 4b6869d6e0.

Conflicts:

	libavcodec/bitstream.c

This code can cause assertion failures on artificial OOM situations
It will be replaced by a solution that doesnt have this issue in the
following commits.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 16:48:41 +02:00
Paul B Mahol
2786ac777d zmbv: use av_image_copy_plane()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-29 14:45:02 +00:00
Michael Niedermayer
994e09345e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  hls: Create an AVProgram for each variant

Conflicts:
	libavformat/hls.c

See: 23db5418ed
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 14:35:40 +02:00
Michael Niedermayer
65dcb54493 Merge commit '9d64f236292ba28018dd9afd2d57f8f944b33f81'
* commit '9d64f236292ba28018dd9afd2d57f8f944b33f81':
  hls: Respect the different stream time bases when comparing dts

Conflicts:
	libavformat/hls.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 14:18:37 +02:00
Michael Niedermayer
2f9e97b32a Merge commit 'c11e33a3d9665dd1fc5dbdecdd03a4860ac6a622'
* commit 'c11e33a3d9665dd1fc5dbdecdd03a4860ac6a622':
  hls: Set stream offset before opening a chained demuxer

Conflicts:
	libavformat/hls.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 14:11:21 +02:00
Michael Niedermayer
d31c0fcfa5 Merge commit 'cdd2d73d315ecaf19ff49e64c91923275f1bda68'
* commit 'cdd2d73d315ecaf19ff49e64c91923275f1bda68':
  hls: Don't check discard flags until the parent demuxer's streams actually exist
  hls: Copy the time base from the chained demuxer

Conflicts:
	libavformat/hls.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 14:04:27 +02:00
Michael Niedermayer
07440c9380 Merge commit 'eb33ba04e03d9f36e23fffd442510c824be709c3'
* commit 'eb33ba04e03d9f36e23fffd442510c824be709c3':
  hls: Return all packets from a previous variant before moving on to the next one

Conflicts:
	libavformat/hls.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 13:59:27 +02:00
Michael Niedermayer
f7bc03bcaf Merge commit 'c5b46a064d9991f2cd045c90179fccf35ecffc34'
* commit 'c5b46a064d9991f2cd045c90179fccf35ecffc34':
  lavf: Don't interpret just slightly broken timestamps as wraparound

Conflicts:
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 13:14:29 +02:00
Michael Niedermayer
5fb652dddb Merge commit '2219e27b5b17d146e4ab71a3ed86dfc013fb7a93'
* commit '2219e27b5b17d146e4ab71a3ed86dfc013fb7a93':
  oma: correctly mark and decrypt partial packets

Conflicts:
	libavformat/omadec.c

See: dcd013a535
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 13:01:20 +02:00
Michael Niedermayer
9d8fb23747 Merge commit '9d0b45ade864f3d2ccd8610149fe1fff53c4e937'
* commit '9d0b45ade864f3d2ccd8610149fe1fff53c4e937':
  oma: check geob tag boundary

Conflicts:
	libavformat/omadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 12:41:32 +02:00
Michael Niedermayer
bc672a016f Merge commit '4f03a77e52596cbe9ec179666ddb3e0345a8133a'
* commit '4f03a77e52596cbe9ec179666ddb3e0345a8133a':
  oma: refactor seek function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 12:21:52 +02:00
Michael Niedermayer
6561aae8a9 Merge commit '3ca1dd2502a860989ee5289316af6b9816cee78f'
* commit '3ca1dd2502a860989ee5289316af6b9816cee78f':
  xl: Make sure the width is valid

Conflicts:
	libavcodec/xl.c

See: 94b42da696
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 12:09:38 +02:00
Michael Niedermayer
39a69d9dfb Merge commit '0f51c398beac87682b2249662b97e30512f7868c'
* commit '0f51c398beac87682b2249662b97e30512f7868c':
  http: Support reading gzip/deflate compressed data
  utvideoenc: use av_image_copy_plane()

Conflicts:
	libavformat/http.c
See: b09d86c636
See: 6bab3430a7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 12:00:17 +02:00
Michael Niedermayer
0c6f382e85 Merge commit '62b1e3b1031e901105d78e831120de8e4c3e0013'
* commit '62b1e3b1031e901105d78e831120de8e4c3e0013':
  aasc: Check minimum buffer size

Conflicts:
	libavcodec/aasc.c

See: e1631f8ebe
See: 8a57ca5c6a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 11:46:28 +02:00
Michael Niedermayer
5f312139df Merge commit '45ee556d51ef04d79d52bf6b0b7f28a4d231cb0c'
* commit '45ee556d51ef04d79d52bf6b0b7f28a4d231cb0c':
  qdm2: Whitespace cosmetics
  flac: use meaningful return values

Conflicts:
	libavcodec/flacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 11:34:07 +02:00
Michael Niedermayer
03853b1091 Merge commit 'f1cb490d6d7391ff7e28cc376908cc98a652228d'
* commit 'f1cb490d6d7391ff7e28cc376908cc98a652228d':
  xl: Fix the buffer size check

Conflicts:
	libavcodec/xl.c

See: 8c59e0c362
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 11:30:28 +02:00
Michael Niedermayer
688331c51c Merge commit 'e13a929314e4a9a09d3146648f876f162f46cc32'
* commit 'e13a929314e4a9a09d3146648f876f162f46cc32':
  xl: K&R formatting cosmetics

Conflicts:
	libavcodec/xl.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 11:08:02 +02:00
LYF
c110cbf6b5 hls: Create an AVProgram for each variant
Without the information, an application may choose audio from one
variant and video from another variant, which leads to fetching two
variants from the network. This enables av_find_best_stream() to find
matching audio and video streams, so that only one variant is fetched.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 09:50:09 +03:00
Michael Niedermayer
9d64f23629 hls: Respect the different stream time bases when comparing dts
Also adjust the streams timestamps according to their start
timestamp when comparing. This helps getting correctly interleaved
packets if one stream lacks timestamps (such as a plain ADTS
stream when the other variants are full mpegts) when the others
have timestamps that don't start from zero.

This probably doesn't work properly if such a stream is
temporarily disabled (via the discard flags) and then reenabled,
and such streams are hard to correctly sync against the other
streams as well - but this works better than before at least.

The segment number restriction makes sure all variants advance
roughly at the same pace as well.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 09:50:08 +03:00
Martin Storsjö
c11e33a3d9 hls: Set stream offset before opening a chained demuxer
This makes sure we don't accidentally check discard flags
for the wrong stream.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 09:50:06 +03:00
Michael Niedermayer
cdd2d73d31 hls: Don't check discard flags until the parent demuxer's streams actually exist
If passing the end of one segment while initializing the
chained demuxer, the parent demuxer's streams aren't set up
yet, so we can't recheck the discard flags.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 09:50:05 +03:00
Michael Niedermayer
82bf8c8783 hls: Copy the time base from the chained demuxer
When a variant stream isn't mpegts but e.g. raw adts, the
default time base (90k) isn't correct.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 09:50:03 +03:00
Martin Storsjö
eb33ba04e0 hls: Return all packets from a previous variant before moving on to the next one
This serves as a safeguard; normally we want to use the dts
comparison to interleave packets from all active variants. If that
dts comparison for some reason doesn't work as intended, make sure
that all packets in all variants for a certain sequence number have
been returned before moving on to the next one.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 09:50:02 +03:00
Michael Niedermayer
c5b46a064d lavf: Don't interpret just slightly broken timestamps as wraparound
This avoids breaking some slightly incorrect (dts > pts) timestamps
in sample HLS streams from Apple.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 09:49:58 +03:00
Paul B Mahol
19da86f3ff targaenc: remove unused TargaContext
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-28 22:42:40 +00:00
Paul B Mahol
e999f2339a truemotion2: make code independent of sizeof(AVFrame)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-28 22:42:40 +00:00
Paul B Mahol
a5155294e5 pnm: do not set avctx->coded_frame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-28 22:27:36 +00:00
Paul B Mahol
329221eee7 pnm: fix 255 < maxval < 65535 for pam with depth 1
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-28 22:27:36 +00:00
Carl Eugen Hoyos
2c046c718a Revert "Avoid overflows when reading pgm files with maxval != 255 and != 65535."
The patch worked on little endian because pgm decoding was broken
but it was not correct in any way.

This reverts commit 7651c0e49b.
2013-07-29 00:05:43 +02:00
Paul B Mahol
768e40b451 Revert "pnm: remove nonsense code"
Breaks decoding pgms with 256 < maxval < 65535.

Found-by: Carl Eugen Hoyos <cehoyos@ag.or.at>.

This reverts commit a0348d0966.
2013-07-28 21:45:37 +00:00
Luca Barbato
2219e27b5b oma: correctly mark and decrypt partial packets
Incomplete crypted files would lead to a read after buffer boundary
otherwise.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-28 22:54:55 +02:00
Luca Barbato
9d0b45ade8 oma: check geob tag boundary
Prevent read after buffer boundary on corrupted tag.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-28 22:54:55 +02:00
Luca Barbato
4f03a77e52 oma: refactor seek function
Properly propagate seek errors from avio and the generic pcm seek.
2013-07-28 22:54:55 +02:00
James Almer
ac8e70d735 oggenc: Write stream metadata if available
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 21:10:51 +02:00
Luca Barbato
3ca1dd2502 xl: Make sure the width is valid
And undo the wrong commit f1cb490d6d

CC: libav-stable@libav.org
2013-07-28 19:36:44 +02:00
Carl Eugen Hoyos
7651c0e49b Avoid overflows when reading pgm files with maxval != 255 and != 65535.
libjpeg v6b apparently does not initialize the most significant bits
to zero when writing 12bit pgm's with maxval 4095.
2013-07-28 19:07:06 +02:00
Carl Eugen Hoyos
7e8e8ba9cc Assume gray8 if 1 < maxval <= 255 in pgm. 2013-07-28 18:12:23 +02:00
Zhang Rui
0f51c398be http: Support reading gzip/deflate compressed data
Derived from VLC's http module.
Original authors:
  Antoine Cellerier <dionoea@videolan.org>
  Sébastien Escudier <sebastien-devel@celeos.eu>
  Rémi Duraffort <ivoire@videolan.org>
  Rémi Denis-Courmont <remi@remlab.net>
  Francois Cartegnie <fcvlcdev@free.fr>

Normally, http servers shouldn't send this to us since we
don't advertise it with an Accept-Encoding header, but some
servers still do it anyway.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-28 18:39:49 +03:00
Carl Eugen Hoyos
ae4dc0b37a Set bits_per_raw_sample when decoding mjpeg / ljpeg.
The ljpeg decoder also supports gray images with
8 - 15 bits per component.
2013-07-28 17:13:01 +02:00
Matthieu Bouron
8a09195545 lavf/movenc: improve psp check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 17:05:05 +02:00
Matthieu Bouron
ee4ef139e3 lavf/movenc: remove useless checks on AVOutputFormat
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 17:05:01 +02:00
Paul B Mahol
b09d86c636 utvideoenc: use av_image_copy_plane()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-07-28 10:57:51 -04:00
Florent Tribouilloy
2186a7e547 ffprobe: add -show_programs option
The option is used to sort the streams by program.

Signed-off-by: Florent Tribouilloy <florent.tribouilloy@smartjog.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-07-28 16:39:06 +02:00
Stefano Sabatini
2fcd400669 ffprobe: do not treat array elements as nested in the compact writer
This fixes rendering of sections containing nested elements followed by
an array, for example as in the case:
programs->streams->stream

enabled by the -show_programs option.
2013-07-28 16:38:50 +02:00
Stefano Sabatini
18df69d238 doc/ffprobe.xsd: specify tag elements in stream after disposition element
Fix XML schema validation, since elements must appear in the same order
as specified in the schema.
2013-07-28 16:38:49 +02:00
Luca Barbato
62b1e3b103 aasc: Check minimum buffer size
Prevent some overreads.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-28 15:41:59 +02:00
Luca Barbato
45ee556d51 qdm2: Whitespace cosmetics 2013-07-28 14:58:19 +02:00
Luca Barbato
0e78ef0f94 flac: use meaningful return values 2013-07-28 14:58:18 +02:00
Michael Niedermayer
f0308af5fa Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doc: cosmetics: Consistently format list and table items

Conflicts:
	doc/developer.texi
	doc/fate.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 14:21:11 +02:00
Michael Niedermayer
b0edd59994 Merge commit 'bf4b0ed1d5d323050a87c9f0ad1dd40860eb3da2'
* commit 'bf4b0ed1d5d323050a87c9f0ad1dd40860eb3da2':
  Add missing deprecation attributes

Conflicts:
	libavfilter/avfilter.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 13:44:34 +02:00
Michael Niedermayer
8ff23f0e3c Merge commit '5b097399baa2e38cc513939cfab3a9b6fdbc33df'
* commit '5b097399baa2e38cc513939cfab3a9b6fdbc33df':
  eval: Explicitly ignore return value of strtod() in parse_db()

Conflicts:
	libavutil/eval.c

See: 3cd9849d9c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 13:37:46 +02:00
Michael Niedermayer
2655c1ac12 Merge commit '6ff15cd569e1345bc3612fb69ad3003b104fe50d'
* commit '6ff15cd569e1345bc3612fb69ad3003b104fe50d':
  Remove unreachable returns

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 13:23:54 +02:00
Michael Niedermayer
3afcddcff2 Merge commit 'c8f0b20b4a6bb6691928789d83e4b02896969848'
* commit 'c8f0b20b4a6bb6691928789d83e4b02896969848':
  avidec: Let the inner dv demuxer take care of discarding

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 13:15:21 +02:00
Michael Niedermayer
d781220991 Merge commit '10aa44aa675e05067845e3e55fac37642cbbdae4'
* commit '10aa44aa675e05067845e3e55fac37642cbbdae4':
  avidec: K&R formatting cosmetics

Conflicts:
	libavformat/avidec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 13:06:38 +02:00
Luca Barbato
f1cb490d6d xl: Fix the buffer size check
Also make it the first check.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-28 12:45:05 +02:00
Luca Barbato
e13a929314 xl: K&R formatting cosmetics 2013-07-28 12:45:05 +02:00
Michael Niedermayer
1ecf380223 Merge commit '37063714c0a064808f9671ec4d376955d664f463'
* commit '37063714c0a064808f9671ec4d376955d664f463':
  build: Only check FATE dependencies when running FATE tests

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 11:54:27 +02:00
Michael Niedermayer
102397d2c1 Merge commit '16c22122c788b5e54a2f2e224bd0106429f0714c'
* commit '16c22122c788b5e54a2f2e224bd0106429f0714c':
  h264: K&R formatting cosmetics

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 11:40:49 +02:00
Michael Niedermayer
edab63a406 Merge commit '966689442ed843019dc0722a49bfb0ac51755d19'
* commit '966689442ed843019dc0722a49bfb0ac51755d19':
  buffersink: K&R formatting cosmetics

Conflicts:
	libavfilter/buffersink.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 11:26:57 +02:00
Marton Balint
63c0113588 lavc: do not override format if neither text nor bitmap codec prop is set
Some decoders may output both, this way the decoder can set it.

Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-27 23:03:00 +02:00
Paul B Mahol
94ad38e2e8 dpx: use av_image_copy_plane()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-27 20:51:14 +00:00
Paul B Mahol
6a57494204 dpxenc: cosmetics: reindent
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-27 20:45:48 +00:00
Paul B Mahol
9d099b9ae4 targa_y216dec: remove empty function
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-27 20:27:15 +00:00
Paul B Mahol
0909f3edbd zmbv: return meaningful error code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-27 20:21:33 +00:00
Paul B Mahol
60a7fac61b utvideoenc: use av_image_copy_plane()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-27 20:07:48 +00:00
Tim.Nicholson
84e345b38e Forward interlaced field information from mov to v210 decoder.
Reported and tested by Dave Rice.

Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-07-27 18:57:28 +02:00
Stefano Sabatini
b4bd21b7fe doc/codecs: fix dangling reference to codec-options chapter 2013-07-27 16:50:19 +02:00
Diego Biurrun
270d7e3a18 doc: cosmetics: Consistently format list and table items 2013-07-27 16:24:55 +02:00
Diego Biurrun
bf4b0ed1d5 Add missing deprecation attributes 2013-07-27 16:08:49 +02:00
Diego Biurrun
5b097399ba eval: Explicitly ignore return value of strtod() in parse_db()
The return value is not needed.  This fixes the warning:
libavutil/eval.c:353:15: warning: ignoring return value of ‘strtod’
2013-07-27 16:00:41 +02:00
Diego Biurrun
6ff15cd569 Remove unreachable returns 2013-07-27 16:00:41 +02:00
Luca Barbato
c8f0b20b4a avidec: Let the inner dv demuxer take care of discarding
CC: libav-stable@libav.org
2013-07-27 16:00:11 +02:00
Luca Barbato
10aa44aa67 avidec: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-27 16:00:11 +02:00
Diego Biurrun
37063714c0 build: Only check FATE dependencies when running FATE tests
Only check dependencies if invoking the make targets 'check'
or anything matching 'fate%' except 'fate-rsync'.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-27 16:50:21 +03:00
Michael Niedermayer
3adf054b22 avcodec/vorbisenc: change 6 asserts to av_asserts()
speed relevant ones use av_assert2()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-27 15:23:13 +02:00
Michael Niedermayer
5e763920a4 avcodec/mpegvideo: update disabled assert() to av_assert0()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-27 15:23:13 +02:00
Paul B Mahol
88b071a473 exr: set pict_type
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-27 12:02:19 +00:00
Paul B Mahol
d9954ccff0 targa: set pict_type
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-27 12:02:18 +00:00
Paul B Mahol
3ea5d01a12 escape130: make "chroma_vals" static
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-27 12:02:18 +00:00
Paul B Mahol
6dbcecd78e lclenc: allocate FF_INPUT_BUFFER_PADDING_SIZE for extradata
Also check return value.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-27 12:02:18 +00:00
Paul B Mahol
573018c61f lclenc: cosmetics: reindent
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-27 12:00:25 +00:00
Paul B Mahol
86e722ab97 sgidec: safer check for buffer overflow
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-27 12:00:25 +00:00
Paul B Mahol
997e2b59e3 sgidec: return meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-27 12:00:25 +00:00
Paul B Mahol
5efa5103b0 sgidec: simplify return path
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-27 12:00:25 +00:00
Diego Biurrun
16c22122c7 h264: K&R formatting cosmetics 2013-07-27 10:47:38 +02:00
Diego Biurrun
966689442e buffersink: K&R formatting cosmetics 2013-07-27 10:47:38 +02:00
Michael Niedermayer
e8023dbaf0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wtv: Drop some casts that now are unnecessary

Conflicts:
	libavformat/wtv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-27 09:43:29 +02:00
Michael Niedermayer
9027928522 Merge commit '86f042dcabde2a5386dbd95ab0451b274987d253'
* commit '86f042dcabde2a5386dbd95ab0451b274987d253':
  wtv: Make WTV_SECTOR_BITS a 64 bit constant

Conflicts:
	libavformat/wtv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-27 09:19:58 +02:00
Michael Niedermayer
e64dc86a13 Merge commit '80ade7985cd95156e2156f50adc7b86d0e43a07a'
* commit '80ade7985cd95156e2156f50adc7b86d0e43a07a':
  AIX: add support for shared builds

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-27 09:13:07 +02:00
Michael Niedermayer
103b8d876a Merge commit 'b512360184ade835fba621f5042d643fc9e2ee9d'
* commit 'b512360184ade835fba621f5042d643fc9e2ee9d':
  avio: Don't set the seekable flag if no seek function is provided

See: 650355089c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-27 09:06:21 +02:00
Michael Niedermayer
5cb3d35dcc Merge commit '1297f7b87f8a84930a23eca705765c7c353dfcd5'
* commit '1297f7b87f8a84930a23eca705765c7c353dfcd5':
  rtpenc: Fix some odd comments

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-27 08:58:26 +02:00
Michael Niedermayer
2fffc05f42 Merge commit '779e6c2b985f2ad461a1ae704160822f97709ba7'
* commit '779e6c2b985f2ad461a1ae704160822f97709ba7':
  lavfi: add attribute_align_arg to all public entry points

Conflicts:
	libavfilter/buffersink.c

See: af2a196e66
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-27 08:53:09 +02:00
Michael Niedermayer
8720d3ac21 avfilter/vf_scale: set in_color_matrix default to "auto" 2013-07-27 01:16:07 +02:00
Michael Niedermayer
8efe96ee6f swscale/fill_rgb2yuv_table: fix default detection
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-27 01:11:37 +02:00
Michael Niedermayer
f3f4e133d6 avfilter/vf_scale: use sws_getCoefficients()
Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-26 23:07:19 +02:00
Michael Niedermayer
205f423e28 libavcodec/mpegvideo: change some asserts to av_assert0()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-26 22:29:55 +02:00
Michael Niedermayer
c88bbc01eb avcodec/mpegvideo: replace assert about interlaced EC by debug av_log()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-26 22:29:47 +02:00
Martin Storsjö
979e9e8f36 wtv: Drop some casts that now are unnecessary
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-26 23:05:18 +03:00
Martin Storsjö
86f042dcab wtv: Make WTV_SECTOR_BITS a 64 bit constant
This makes sure that values that are left-shifted by this constant
end up casted to 64 bit before shifting, avoiding overflow if the
value ends up larger than 2 GB.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-26 23:05:14 +03:00
Michael Kostylev
80ade7985c AIX: add support for shared builds
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-07-26 21:12:36 +02:00
Hendrik Schreiber
b512360184 avio: Don't set the seekable flag if no seek function is provided
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-26 21:46:18 +03:00
Martin Storsjö
1297f7b87f rtpenc: Fix some odd comments
Some weird comments stem from the fact that the rtpdec and rtpenc
code was shared earlier.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-26 21:43:29 +03:00
Paul B Mahol
1fa0284c57 qcelpdec: change asserts to av_asserts
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-26 18:32:27 +00:00
Paul B Mahol
fdf9296df7 sgienc: remove unused SgiContext
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-26 18:21:44 +00:00
Paul B Mahol
be7d6710b4 lavfi/frei0r: use AV_OPT_TYPE_IMAGE_SIZE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-26 17:16:26 +00:00
Hendrik Leppkes
779e6c2b98 lavfi: add attribute_align_arg to all public entry points
Previously it was partly only added to central functions called
internally, however if GCC would inline these into the public fuction, the
alignment attribute would not take effect.

Instead, add it to all public entry points to avoid these problems.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-26 19:51:04 +03:00
Paul B Mahol
7ac736afbd lavfi/frei0r: use AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-26 15:24:55 +00:00
Paul B Mahol
2634af575c avdevice/fbdev: use AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-26 15:21:25 +00:00
Paul B Mahol
0addc82880 avdevice/x11grab: use AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-26 15:21:21 +00:00
Paul B Mahol
a4b899f588 lavfi/gradfun: remove nv21/nv12 as they are not supported
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-26 15:07:12 +00:00
Paul B Mahol
2868035d95 pcxenc: get rid of unused PCXContext
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-26 14:00:40 +00:00
Paul B Mahol
3838637bbb yop: check return value of av_frame_alloc()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-26 13:51:26 +00:00
Paul B Mahol
9437259276 vmnc: check return values of reallocation
Also avoid memory leaks.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-26 13:49:36 +00:00
Paul B Mahol
cf5ab8b6f7 vmnc: make code independent of sizeof(AVFrame)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-26 13:39:40 +00:00
Hendrik Leppkes
af2a196e66 lavfi: add attribute_align_arg to all public entry points
Previously it was partly only added to central functions called
internally, however if GCC would inline these into the public fuction, the
alignment attribute would not take effect.

Instead, add it to all public entry points to avoid these problems.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-26 13:59:30 +02:00
Paul B Mahol
2a1a599bcb lavfi/buffersrc: remove unused item from BufferSourceContext
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-26 11:43:43 +00:00
Michael Niedermayer
6663205338 avformat/dtsdec: Improve probe, reject things looking like analoge signals
Fixes Ticket2810

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-26 11:19:43 +02:00
Michael Niedermayer
46ad2d9e44 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  miscellaneous typo fixes

Conflicts:
	configure
	libavformat/avisynth.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-26 11:12:11 +02:00
Michael Niedermayer
5dc2c99055 Merge commit '93a51984a27f3ba84d4e6f13d0c704ee9891603e'
* commit '93a51984a27f3ba84d4e6f13d0c704ee9891603e':
  mpeg12: Ignore slice threading if hwaccel is active

Conflicts:
	libavcodec/mpeg12dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-26 10:57:51 +02:00
Michael Niedermayer
bbc7d33a0d Merge commit '582963a8156522582e55466be4a59974a8d909a5'
* commit '582963a8156522582e55466be4a59974a8d909a5':
  vdpau: Fix VC-1 interlaced mode

Conflicts:
	libavcodec/vdpau_vc1.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-26 10:51:42 +02:00
Michael Niedermayer
af7949fdea Merge commit '4a2ef39442bf7f0150db07a1fbfcf8286e4d44a3'
* commit '4a2ef39442bf7f0150db07a1fbfcf8286e4d44a3':
  cosmetics: Add '0' to float constants ending in '.'.

Conflicts:
	libavcodec/ra288.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-26 10:43:12 +02:00
Michael Niedermayer
e28fabb4cb Merge commit '6c145ecf785dc3d26ba3fed3ea9892cc80244625'
* commit '6c145ecf785dc3d26ba3fed3ea9892cc80244625':
  twinvq: K&R formatting cosmetics

Conflicts:
	libavcodec/twinvq.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-26 10:30:47 +02:00
Michael Niedermayer
1af921196f Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Show max bitrate for mpeg2 video streams in avcodec_string().
  Allow native compilation on the iPhone.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-25 22:50:51 +02:00
Paul B Mahol
fd84b6fd33 lavu/opt: show default values for AV_OPT_TYPE_PIXEL_FMT and AV_OPT_TYPE_SAMPLE_FMT too
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-25 20:41:39 +00:00
Reuben Martin
4a60df2d35 avformat/gxfenc: Added support for writing correct auxiliary data for DV streams.
Different aux data is written for DVCAM and DVPRO formats.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-25 22:01:12 +02:00
Diego Biurrun
03039f4c8c miscellaneous typo fixes 2013-07-25 19:43:32 +02:00
Rémi Denis-Courmont
93a51984a2 mpeg12: Ignore slice threading if hwaccel is active
Slice threading does not work with hardware acceleration, as decoding
is per-picture.  This fixes Bugzilla #542.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-07-25 19:43:32 +02:00
Carl Eugen Hoyos
9375879d57 Show max bitrate for mpeg2 video streams in avcodec_string().
See also 25b7aa9
2013-07-25 19:08:19 +02:00
Carl Eugen Hoyos
8ca3766f00 Allow native compilation on the iPhone. 2013-07-25 19:08:19 +02:00
Michael Niedermayer
de0a1f63df avfilter/can_merge_formats: fix memleak
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-25 16:54:04 +02:00
Michael Niedermayer
6bde1e9d14 avfilter/avfiltergraph: fix check using the wrong variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-25 16:53:39 +02:00
Rainer Hochecker
582963a815 vdpau: Fix VC-1 interlaced mode
VDPAU expects the bitstream value (0, 2 or 3).
libavcodec uses an enum (0, 1 or 2).

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-07-25 14:19:17 +02:00
Diego Biurrun
4a2ef39442 cosmetics: Add '0' to float constants ending in '.'. 2013-07-25 11:33:23 +02:00
Diego Biurrun
6c145ecf78 twinvq: K&R formatting cosmetics 2013-07-25 11:17:06 +02:00
Michael Niedermayer
0815b23062 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: Comment out unused labels in simple_idct_arm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-25 10:15:08 +02:00
Michael Niedermayer
5156d482cd avfilter/vf_scale: use the inputs color range when its set and its not overridden
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-25 02:50:46 +02:00
Michael Niedermayer
a7e45cfa11 swscale/sws_getColorspaceDetails: dont fail for non yuv
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-25 02:50:46 +02:00
Michael Niedermayer
6db57fa8bc avcodec/mjpegdec: Support RGBA lpegs
Fixes Ticket896

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-25 00:32:44 +02:00
Michael Niedermayer
436616fd42 swscale: exchange src & dst chroma pos
Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 22:43:50 +02:00
Martin Storsjö
54ba52077c arm: Comment out unused labels in simple_idct_arm
When building for iOS in thumb mode, gas-preprocessor.pl doesn't
mark unused labels as thumb functions (as it does for other
local labels, where it can figure out that they are functions
due to being referenced in branch instructions). This leads to
linker warnings for some of those local labels, such as:

ld: warning: ARM function not 4-byte aligned: __a_evaluation from
libavcodec/libavcodec.a(simple_idct_arm.o)

Therefore, comment them out since they don't have any function.
They do still have a value in documenting key points in the
assembly source though.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-24 22:43:21 +03:00
Michael Niedermayer
24a4367ae9 vf_scale: add input h/v_chr_pos parameters
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 18:33:58 +02:00
Michael Niedermayer
e31d20255d vf_scale: add output h/v_chr_pos parameterss
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 18:27:10 +02:00
Timothy Gu
11cb697501 doc/encoders: partially rewrite and reformat libx264 docs
Format is based on the thread:
"[PATCH] doc/encoders: Add libopus encoder doc" (06-28-2013)
http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/165368/

Also merge the two option sections (Mapping and Private options).

Patch partially edited by Stefano Sabatini.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-07-24 16:29:12 +02:00
Bernie Habermeier
c5f3cc40e3 matroskaenc: implement CueRelativePosition
This is a minimal change to matroskaenc that implements CueRelativePosition in the output.
Most players will probably ignore this additional information, but it is in the
matroska spec, and it'd be nice to be able to make use of it.

Signed-off-by: Bernt Habermeier <bernt@wulfram.com>
Tested-by:  wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 14:08:52 +02:00
Michael Niedermayer
101c7ea906 avcodec/mpeg12dec: remove commented out assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 13:00:04 +02:00
Anshul Maheshwari
a553cb4683 documented that av_codec_close is required to call
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 12:49:01 +02:00
Michael Niedermayer
800637709c alsdec: minor simplification in read_block()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 12:36:52 +02:00
Michael Niedermayer
7dec8512be Merge remote-tracking branch 'qatar/master'
* qatar/master:
  8bps: Make the bound-checks consistent

Conflicts:
	libavcodec/8bps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 12:01:29 +02:00
Michael Niedermayer
da0f67b177 Merge commit 'bd7b4da0f4627bb6c4a7c2575da83fe6b261a21c'
* commit 'bd7b4da0f4627bb6c4a7c2575da83fe6b261a21c':
  8bps: Bound-check the input buffer

Conflicts:
	libavcodec/8bps.c

See: 66ff90f4a3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 11:45:54 +02:00
Michael Niedermayer
82654172ce Merge commit '2f034f255c49050e894ab9b88087c09ebe249f3f'
* commit '2f034f255c49050e894ab9b88087c09ebe249f3f':
  4xm: Reject not a multiple of 16 dimension

The newly added checks are redundant and thus replaced by asserts

See: db5b487551
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 11:31:14 +02:00
Michael Niedermayer
a550926705 Merge commit 'ca488ad480360dfafcb5766f7bfbb567a0638979'
* commit 'ca488ad480360dfafcb5766f7bfbb567a0638979':
  alsdec: Clean up error paths

Conflicts:
	libavcodec/alsdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 10:31:10 +02:00
Michael Niedermayer
865f34823c Merge commit '70ecc175c7b513a153ac87d1c5d219556ca55070'
* commit '70ecc175c7b513a153ac87d1c5d219556ca55070':
  alsdec: Fix the clipping range

Conflicts:
	libavcodec/alsdec.c

See: feaff427c0

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 10:15:50 +02:00
Zhang Rui
6bab3430a7 avformat/http: support reading compressed data
Derived from VLC's http module.
Original authors:
  Antoine Cellerier <dionoea@videolan.org>
  Sébastien Escudier <sebastien-devel@celeos.eu>
  Rémi Duraffort <ivoire@videolan.org>
  Rémi Denis-Courmont <remi@remlab.net>
  Francois Cartegnie <fcvlcdev@free.fr>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 04:15:15 +02:00
Michael Niedermayer
274a50ab57 avcodec/utils: Warn the user about the lack of a lock manager if insufficient locks are detected
A lock manager is not the only possibility to avoid open/close locking
issues but its easier and more robust than maintaining a lot of lock/unlock
calls.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 01:11:09 +02:00
Luca Barbato
6fd221e5f8 8bps: Make the bound-checks consistent 2013-07-23 23:03:37 +02:00
Luca Barbato
bd7b4da0f4 8bps: Bound-check the input buffer
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-23 23:03:37 +02:00
Luca Barbato
2f034f255c 4xm: Reject not a multiple of 16 dimension
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-23 23:03:37 +02:00
Luca Barbato
ca488ad480 alsdec: Clean up error paths
Fix at least a memory leak.

CC: libav-stable@libav.org
2013-07-23 23:03:37 +02:00
Luca Barbato
70ecc175c7 alsdec: Fix the clipping range
mcc_weightings is only 32 elements.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-23 23:03:37 +02:00
Michael Niedermayer
55db06af64 avcodec/utils: use av_assert0() to check validity of input pointers for start code search
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-23 21:23:09 +02:00
Michael Niedermayer
6a0b72f94f avfilter/avfiltergraph: minor cosmetic
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-23 20:58:21 +02:00
Michael Niedermayer
fe328f0807 avfilter: Dont partially merge lists
This prevents the unneeded insertion of multiple aresample filters in some cases

The format merging is moved to avoid having to call the channel layout
merge twice. The channel layout merge code uses different structures and
is not compatible with the added dry run wrappers.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-23 19:14:04 +02:00
Hendrik Schreiber
650355089c avformat/aviobuf/ffio_init_context: set seekable automatically
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-23 17:19:32 +02:00
Michael Niedermayer
7dc77613f6 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: Mangle external symbols properly in new vfp assembly files

See: 47d57f24e3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-23 10:30:54 +02:00
Michael Niedermayer
abc8110f7e avcodec: add avcodec_chroma_pos_to_enum()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-23 03:11:28 +02:00
Michael Niedermayer
b7397857e2 avcodec: add avcodec_enum_to_chroma_pos()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-23 03:07:30 +02:00
clook
4443213d2e avcodec/libopenjpegen: XYZ 12 bit support for libopenjpeg encoder 2013-07-23 01:02:41 +02:00
clook
b9b1a2c3e4 libswscale: Adding RGB => XYZ support 2013-07-23 01:02:41 +02:00
Michael Niedermayer
419a3d8a43 avformat/hls: avoid floating point arithmetic
Should make things more reproducable across platforms

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 19:36:33 +02:00
Zhang Rui
2a5891bb9d avformat/hls: parse EXTINF duration as floating-point number
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 19:34:47 +02:00
Martin Storsjö
69e6702c01 arm: Mangle external symbols properly in new vfp assembly files
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 14:48:30 +03:00
Martin Storsjö
47d57f24e3 arm: Mangle external symbols properly in new vfp assembly files
Reviewed-by: Kostya Shishkov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 13:16:21 +02:00
Michael Niedermayer
23f250d2bc Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: Add VFP-accelerated version of qmf_32_subbands

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 12:11:23 +02:00
Michael Niedermayer
366e415836 Merge commit '800ffab48a7844dd5dc0a33b8f6b8e5ed718cf2e'
* commit '800ffab48a7844dd5dc0a33b8f6b8e5ed718cf2e':
  dcadsp: Add a new method, qmf_32_subbands

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 12:10:59 +02:00
Michael Niedermayer
c30eb74d18 Merge commit '8b9eba664edaddf9a304d3acbf0388b5c520781d'
* commit '8b9eba664edaddf9a304d3acbf0388b5c520781d':
  arm: Add VFP-accelerated version of fft16

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 12:05:39 +02:00
Michael Niedermayer
bacba8e5d1 Merge commit 'ba6836c966debc56314ce2ef133c7f0c1fdfdeac'
* commit 'ba6836c966debc56314ce2ef133c7f0c1fdfdeac':
  arm: Add VFP-accelerated version of dca_lfe_fir

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 12:04:28 +02:00
Michael Niedermayer
2305a6775d Merge commit 'b63bb251ea6d6ba23295294e37a92625c0192206'
* commit 'b63bb251ea6d6ba23295294e37a92625c0192206':
  arm: Add VFP-accelerated version of imdct_half

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 11:57:05 +02:00
Michael Niedermayer
3cab228005 Merge commit 'd6e4f5fef0d811e180fd7541941e07dca9e11dc0'
* commit 'd6e4f5fef0d811e180fd7541941e07dca9e11dc0':
  arm: Add VFP-accelerated version of int32_to_float_fmul_array8

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 11:55:40 +02:00
Michael Niedermayer
1573274b91 Merge commit '26ffcc7de1d98f77400a2ebe4e75055515c54587'
* commit '26ffcc7de1d98f77400a2ebe4e75055515c54587':
  dcadec: Use int32_to_float_fmul_array8

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 11:48:43 +02:00
Michael Niedermayer
0d3400ec53 Merge commit '31c6f6f65c0ed5a894e26ce44ab0c3e89c82b9a2'
* commit '31c6f6f65c0ed5a894e26ce44ab0c3e89c82b9a2':
  fmtconvert: Add a new method, int32_to_float_fmul_array8

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 11:48:06 +02:00
Michael Niedermayer
877bbe05ce Merge commit 'ce9ed10ac27b9cf32a6257e083ea2f052692d971'
* commit 'ce9ed10ac27b9cf32a6257e083ea2f052692d971':
  arm: Add VFP-accelerated version of int32_to_float_fmul_scalar

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 11:42:19 +02:00
Michael Niedermayer
0129026c4e Merge commit '41ef1d360bac65032aa32f6b43ae137666507ae5'
* commit '41ef1d360bac65032aa32f6b43ae137666507ae5':
  arm: Add VFP-accelerated version of synth_filter_float

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 11:41:37 +02:00
Michael Niedermayer
9d4dece6b6 Merge commit '8000206abcc82491c2a8c71e494c5477ede7264c'
* commit '8000206abcc82491c2a8c71e494c5477ede7264c':
  libspeexdec: fix detection of final terminator code

See: f3c9d66baf
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 10:56:33 +02:00
Michael Niedermayer
2ca6a13b52 Merge commit '7ef760d95c73dfee021b8fdee04f65126eb7edd1'
* commit '7ef760d95c73dfee021b8fdee04f65126eb7edd1':
  configure: generate full msvc debug symbols when linking in debug mode

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 10:34:48 +02:00
Michael Niedermayer
b909428dab Merge commit '4719040cd1b54381796b22056a9ae37bd2b4668d'
* commit '4719040cd1b54381796b22056a9ae37bd2b4668d':
  libx264: Define X264_API_IMPORTS on MSVC/ICL

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 10:23:46 +02:00
Ben Avison
ff30d12159 arm: Add VFP-accelerated version of qmf_32_subbands
Before           After
               Mean    StdDev   Mean    StdDev  Change
This function   1323.0  98.0      746.2  60.6   +77.3%
Overall        15400.0 336.4    14147.5 288.4    +8.9%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:44 +03:00
Ben Avison
800ffab48a dcadsp: Add a new method, qmf_32_subbands
This does most of the work formerly carried out by
the static function qmf_32_subbands() in dcadec.c.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:42 +03:00
Martin Storsjö
8b9eba664e arm: Add VFP-accelerated version of fft16
Before           After
               Mean    StdDev   Mean    StdDev  Change
This function   1389.3  4.2       967.8  35.1   +43.6%
Overall        15577.5 83.2     15400.0 336.4    +1.2%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:41 +03:00
Martin Storsjö
ba6836c966 arm: Add VFP-accelerated version of dca_lfe_fir
Before           After
               Mean    StdDev   Mean    StdDev  Change
This function    868.2  33.5      436.0  27.0   +99.1%
Overall        15973.0 223.2    15577.5  83.2    +2.5%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:39 +03:00
Martin Storsjö
b63bb251ea arm: Add VFP-accelerated version of imdct_half
Before           After
               Mean    StdDev   Mean    StdDev  Change
This function   2653.0  28.5     1108.8  51.4   +139.3%
Overall        17049.5 408.2    15973.0 223.2     +6.7%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:37 +03:00
Ben Avison
d6e4f5fef0 arm: Add VFP-accelerated version of int32_to_float_fmul_array8
Before           After
               Mean    StdDev   Mean    StdDev  Change
This function    366.2  18.3      277.8  13.7   +31.9%
Overall        18420.5 489.1    17049.5 408.2    +8.0%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:36 +03:00
Ben Avison
26ffcc7de1 dcadec: Use int32_to_float_fmul_array8
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:35 +03:00
Ben Avison
31c6f6f65c fmtconvert: Add a new method, int32_to_float_fmul_array8
This is similar to int32_to_float_fmul_scalar, but
loads a new scalar multiplier every 8 input samples.
This enables the use of much larger input arrays, which
is important for pipelining on some CPUs (such as
ARMv6).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:33 +03:00
Ben Avison
ce9ed10ac2 arm: Add VFP-accelerated version of int32_to_float_fmul_scalar
Before           After
               Mean    StdDev   Mean    StdDev  Change
This function   1175.0   4.4      366.2  18.3   +220.8%
Overall        19285.5 292.0    18420.5 489.1     +4.7%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:30 +03:00
Ben Avison
41ef1d360b arm: Add VFP-accelerated version of synth_filter_float
Before           After
               Mean    StdDev   Mean    StdDev  Change
This function   9295.0 114.9     4853.2 83.5    +91.5%
Overall        23699.8 397.6    19285.5 292.0   +22.9%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:17 +03:00
Michael Niedermayer
5feaa451bb doc: add "rematrix_maxval"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 03:37:55 +02:00
Michael Niedermayer
7ac12599fe swresample: fix negative rematrix volumns
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 03:24:22 +02:00
Michael Niedermayer
e2b718464e swresample: Make rematrix maxvalue user settable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 03:23:54 +02:00
Michael Niedermayer
5169111145 avfilter/REDUCE_FORMATS: fix bug that ended reducing too early
Prior to this it was possible that format reduction was ended
before it fully propagated leading to failure later in picking
formats.
No testcase with unmodified source exists, the case was reproduced
with less aggressive list merging though.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 02:48:13 +02:00
Michael Niedermayer
682e8a694f avcodec/h264_sei: Try to make code more robust by jumping to the specified SEI ends
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 02:48:13 +02:00
Justin Ruggles
8000206abc libspeexdec: fix detection of final terminator code 2013-07-21 16:36:31 -04:00
Stefano Sabatini
f9f7f4c9bb ffplay: improve error message in case of failure, mention filtergraph configuration 2013-07-21 19:20:46 +02:00
Hendrik Leppkes
7ef760d95c configure: generate full msvc debug symbols when linking in debug mode
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-21 19:59:15 +03:00
Michael Niedermayer
9042c8a4db Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: fix build with disabled avfilter

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 18:03:27 +02:00
Michael Niedermayer
118a1c2f4c avcodec/ff_h264_decode_sei: use skip_bits_long()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 17:57:15 +02:00
Michael Niedermayer
45da7a0e8f avcodec/ff_h264_decode_sei: Check SEI size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 17:57:15 +02:00
Michael Niedermayer
80c873a87e avcodec/ff_h264_decode_sei: fix integer overflow with size.
This issue is hypothetical and no testcase is available.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 17:57:15 +02:00
Michael Niedermayer
800ffa1fc0 avcodec/h264_sei/ff_h264_decode_sei: fix error codes for insufficient data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 17:57:15 +02:00
Michael Niedermayer
37ecd67b5e Revert "avformat/utils: Close codec context since it is allocated by avformat_new_stream in refrence to ticket 2716"
This causes a race condition with VLC. Its plausible that other
applications also would have races with it and its just fixing a memleak when
the user application forgets to free the codec. It causes more
problems than it solves in its current form, thus the revert.
Better solutions are welcome

This reverts commit 0f229f9b91.
2013-07-21 17:57:15 +02:00
Joakim Plate
8710a634a5 h264: add frame packing as stereo_mode frame metadata
This matches the matroska defintion of stereo_mode, with
no metadata written if no info exist in sei

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 16:04:02 +02:00
Anshul Maheshwari
0f229f9b91 avformat/utils: Close codec context since it is allocated by avformat_new_stream in refrence to ticket 2716
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 15:52:50 +02:00
Derek Buitenhuis
4719040cd1 libx264: Define X264_API_IMPORTS on MSVC/ICL
libx264 has a few data exports which require X264_API_IMPORTS
to be defined if we link to libx264 dynamically on Windows.

In a similar fashion to how we handle our compat snprintf
implementation, if we define it all the time, the compiler
will first try and link to __imp_x264_symbol_name, and failing
that, as in the case of a static libx264, will attempt to link
to the non-prefixed symbol, which has already been pulled in by
other x264 functions' object files.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-07-21 08:56:25 -04:00
Michael Niedermayer
db0384c9c9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dsicinav: Clip the source size to the expected maximum

Clipping the compressed size based on the uncompressed size is not correct
thus this commit is not merged, and the merge is for git metadata only

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 12:58:26 +02:00
Marton Balint
b198e33ad8 ffplay: fix build with disabled avfilter
Got broken in b383498e.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-07-21 12:00:22 +02:00
Michael Niedermayer
0a28a52d53 Merge commit 'dd0bfc3a6a310e3e3674ce7742672d689a9a0e93'
* commit 'dd0bfc3a6a310e3e3674ce7742672d689a9a0e93':
  dsicinav: Bound-check the source buffer when needed

Conflicts:
	libavcodec/dsicinav.c

See: 47f0beadba
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 11:59:16 +02:00
Michael Niedermayer
75fbe41fc6 Merge commit 'fcae3ff124ee97c9265e3b93f3d41238b2aee9bd'
* commit 'fcae3ff124ee97c9265e3b93f3d41238b2aee9bd':
  dsicinav: K&R formatting cosmetics

Conflicts:
	libavcodec/dsicinav.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 11:45:48 +02:00
Michael Niedermayer
1f7acf3cff vfilter/vf_scale: avoid using "{}"
Should fix compile issues with MSVC

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 04:47:09 +02:00
Michael Niedermayer
953c7550f8 avcodec/snowenc: convert speed relevant asserts to av_assert2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 04:40:12 +02:00
Michael Niedermayer
7b79c84b40 avcodec/snowdec: remove assert.h include, its unused
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 04:36:32 +02:00
Michael Niedermayer
1434df3b93 jpeg2000dec: Support non subsampled 9-16bit planar pixel formats
This applies changes similar to fc6de70c44
to the >8bit codepath

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 04:16:53 +02:00
Michael Niedermayer
0c480bcfd9 doc/filters: document vf_scales color range
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-20 23:24:13 +02:00
Michael Niedermayer
3242747df3 avfilter/vf_scale; fix indent
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-20 22:20:25 +02:00
Michael Niedermayer
835eee88ec avfilter/vf_scale: add in/out color range option
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-20 22:13:23 +02:00
Michael Niedermayer
bbf6cb754c avfilter/vf_scale: Add in/out yuv color matrix option
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-20 22:11:50 +02:00
Nicolas George
c25d1ba556 lavu/log: print prefix after \r.
Should fix trac ticket #2797 because of the progress line.
2013-07-20 11:06:19 +02:00
Michael Niedermayer
b67401797e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavfi: filtfmts: use newer avfilter APIs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-20 10:50:51 +02:00
Michael Niedermayer
4835332537 Merge commit '36fb0d02a1faa11eaee51de01fb4061ad6092af9'
* commit '36fb0d02a1faa11eaee51de01fb4061ad6092af9':
  rtsp: Support multicast source filters (RFC 4570)
  rtpproto: Check the source IP if one single source has been specified
  rtpproto: Support IGMPv3 source specific multicast inclusion

Conflicts:
	libavformat/rtpproto.c
	libavformat/rtsp.c
	libavformat/rtsp.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-20 10:39:53 +02:00
Marton Balint
73b2043d72 ffplay: use start_time as next audio pts on flush when seeking is not supported
Theoretically using start_time should also work if seeking is available and we
could determine that the next packet after a flush packet is the first packet
of a stream, but I could not think of an easy and clean way to do that, that is
why I sticked to the no seeking available condition for now.

Fixes ticket #2647.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-07-20 02:32:43 +02:00
Marton Balint
b383498ea8 ffplay: estimate audio frame pts from the previous frame pts values
Previously we estimated the audio packet pts instead of the frame pts,
therefore it only worked within a single packet (containing multiple frames).

The new method works accross seperate audio packets as well and also handles
better the case if a decoder buffers several packets before outputting a
decoded frame.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-07-20 02:32:43 +02:00
Marton Balint
782e06e292 ffplay: simplify audio decoding
Also use negative stream_index for signaling obsolete audio packets. Using the
size alone is not enough, because size is 0 for null packets as well.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-07-20 02:32:43 +02:00
Michael Niedermayer
74561680cd avfilter/vf_separatefields: fix ;;
Found-by: llogan
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-20 00:44:09 +02:00
Michael Niedermayer
07704c61dd avformat/matroskaenc: Only change chapter ids if needed.
This also fixes the case where negative chapter ids where input
And fixes the case where remuxing from mkv changed chapter ids

Found-by: Luca Barbato
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 23:32:04 +02:00
Luca Barbato
fd81899321 dsicinav: Clip the source size to the expected maximum
A packet larger than cin->bitmap_size does not make sense.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-19 22:14:07 +02:00
Luca Barbato
dd0bfc3a6a dsicinav: Bound-check the source buffer when needed
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-19 22:14:07 +02:00
Luca Barbato
fcae3ff124 dsicinav: K&R formatting cosmetics 2013-07-19 22:14:07 +02:00
wm4
122536e01a avfilter: fix preprocessor condition
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 22:10:16 +02:00
Lukasz Marek
a289f418e4 doc/filters: add sepia example for colorchannelmixer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-19 19:36:37 +00:00
Michael Niedermayer
56123fc721 avutil/softfloat: remove unneeded include assert.h
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 18:56:33 +02:00
Michael Niedermayer
ca857c86bd tests/tiny_psnr: remove unneeded include assert.h
This is the only such occurance on tests/

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 18:55:49 +02:00
Michael Niedermayer
8589d7a61c avfilter/vf_yadif:remove unneeded include assert.h
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 18:53:57 +02:00
Michael Niedermayer
6d323ff57a swscale: remove unneeded include assert.h
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 18:52:41 +02:00
Michael Niedermayer
db33010483 jpeg2000dec: silence unused variable warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 17:54:57 +02:00
Piotr Bandurski
5f39992ed9 bmp: fix decoding of flipped rle4
Fixes ticket #2794

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 17:42:34 +02:00
Michael Niedermayer
a4b55bbb6f swscale/input: fix 16bit gbrp input
Fixes Ticket2793

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 12:49:27 +02:00
wm4
72f5a6d067 examples: demuxing: print ffplay command even if sample format is planar
Adjust the code so that a working ffplay command is printed in the
planar audio case.
2013-07-19 12:14:54 +02:00
wm4
9f31c1608c examples: demuxing: simplify audio output
There is no reason why this should copy the audio data in a very
complicated way. Also, strictly write the first plane, instead of
writing the whole buffer. This is more helpful in context of the
example. This way a user can clearly confirm that it works by playing
the written data as raw audio.
2013-07-19 12:14:46 +02:00
wm4
06b269dacb examples: demuxing: do partial audio packet decoding
This assumes one audio packet is decoded one time. This is not true:
packets can be partially decoded. Then you have to "adjust" the packet
and pass the undecoded part of the packet to the decode function again.
2013-07-19 12:14:23 +02:00
Vittorio Giovara
6756d98cec lavfi: filtfmts: use newer avfilter APIs
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-19 12:22:30 +03:00
Michael Niedermayer
25ffaf5277 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  compat: Add missing license boilerplates

Conflicts:
	compat/tms470/math.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 11:08:38 +02:00
Ed Torbett
36fb0d02a1 rtsp: Support multicast source filters (RFC 4570)
This supports inclusion of one single IP address for now,
at the media level. Specifying the filter at the session level
(instead of at the media level), multiple source addresses,
exclusion, or using FQDNs instead of plain IP addresses is not
supported (yet at least).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-19 12:02:13 +03:00
Martin Storsjö
4d97ca040b rtpproto: Check the source IP if one single source has been specified
If another peer is sending unicast packets to the same port that
we are listening on, those packets can end up being received despite
using source specific multicast. For those cases, manually check the
source address of received packets against the intended source address.

This only handles the case when the source list is one single IP
address for now, which probably is the most common case.

Based on a patch by Ed Torbett.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-19 12:02:09 +03:00
Ed Torbett
336353deaa rtpproto: Support IGMPv3 source specific multicast inclusion
Blocking/exclusion is not supported yet.

The rtp protocol parameter takes the same form as the existing
sources parameter for the udp protocol.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-19 12:00:49 +03:00
Michael Niedermayer
c88503e3f6 Merge commit '439902e0d68a0f0d800c21b5e6b598d5fa0c51da'
* commit '439902e0d68a0f0d800c21b5e6b598d5fa0c51da':
  Employ consistent LIBAV_COMPAT_ multiple inclusion guards in compat/

Conflicts:
	compat/aix/math.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 10:56:10 +02:00
Michael Niedermayer
8740762c43 Merge commit 'd010e95f86089abe9a3d4d4a66ac8102312d28a4'
* commit 'd010e95f86089abe9a3d4d4a66ac8102312d28a4':
  avserver: Remove unused loadable module support

Conflicts:
	configure
	ffserver.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 10:26:07 +02:00
Ramiro Polla
454c89dde3 img2enc: add option to use strftime() for filename
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 01:45:37 +02:00
Michael Niedermayer
fc6de70c44 jpeg2000dec: Support non subsampled 8bit planar pixel formats
Fixes file2.jp2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-18 21:50:32 +02:00
Michael Niedermayer
99de97cabf jpeg2000dec: parse CDEF
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

Conflicts:

	libavcodec/jpeg2000dec.c

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-18 21:43:42 +02:00
Diego Biurrun
910042072a compat: Add missing license boilerplates 2013-07-18 18:12:38 +02:00
Diego Biurrun
439902e0d6 Employ consistent LIBAV_COMPAT_ multiple inclusion guards in compat/
Also fix a comment and an #endif comment.
2013-07-18 18:12:38 +02:00
Michael Niedermayer
ed8c34a766 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix pix_fmt detection in the native jpeg2000 decoder.
  lavf/concat: Never fail for sample aspect ratio 0:1.
  lut3d: Fix reading 3dl files with leading comments.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-18 18:10:45 +02:00
Ed Torbett
7203dbde39 avformat/rt*p: Joining a SSM multicast group using an SDP (Issue #2171)
Passes Source-Specific Multicast parameters read from an sdp file through to the UDP socket code,
allowing source-specific multicast streams to be correctly received. As an integral part of this
change, additional checking (currently only enabled in the case of SSM streams, but probably
useful in similar scenarios) has been added to the RTP protocol handler to distinguish UDP packets
arriving from multiple sources to the same port and process only the expected packets
(those transmitted from the expected UDP source address). This resolves an issue identified
when multiple instances of FFmpeg subscribe to different Source-Specific Multicast streams
but with each sharing the same destination port.

Signed-off-by: Edward Torbett <ed.torbett@simulation-systems.co.uk>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-18 18:01:31 +02:00
Martin Storsjö
d010e95f86 avserver: Remove unused loadable module support
There is no record of this ever being used at all, anywhere,
since the feature was added in 2effd27446.

This gets rid of extra linker tricks just to support a feature
that isn't used, simplifying portability to other platforms.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-18 17:25:49 +03:00
Carl Eugen Hoyos
b39a6bbe7f Fix pix_fmt detection in the native jpeg2000 decoder.
Based on b7a928b by Michael Bradshaw.
Fixes ticket #2683.

Reviewed-by: Nicolas Bertrand
2013-07-18 13:51:24 +02:00
Carl Eugen Hoyos
36b21e17a2 lavf/concat: Never fail for sample aspect ratio 0:1.
Fixes ticket #2456.

Reviewed-by: Nicolas George
2013-07-18 13:51:23 +02:00
Carl Eugen Hoyos
42272e86fe lut3d: Fix reading 3dl files with leading comments.
Fixes ticket #2787.
2013-07-18 13:51:23 +02:00
Nicolas George
ebaf20e94b lavfi/scale: allocate interlaced scalers only if needed.
Fix "Value 0.000000 for parameter 'srch' out of range"
error message when source or destination height is 1.

Note: since the av_opt_set_int() calls are not checked for
failure and the interlaced scalers are not actually used,
this error has no consequence apart from a frightening message
in the log.
2013-07-18 12:08:25 +02:00
James Almer
630fc7dcfc vorbiscomment: Add DESCRIPTION to ff_vorbiscomment_metadata_conv
It's the official (or recommended) name for comment/description entries.
See https://www.xiph.org/vorbis/doc/v-comment.html

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-18 12:03:21 +02:00
James Almer
562fb9c540 lavf/riff: Add ITRK tag
Some players, like foobar2000 or modern versions of WMP, create WAV
files using the ITRK tag for track instead of IPRT

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-18 10:55:23 +02:00
Michael Niedermayer
9d01bf7d66 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Consistently use "cpu_flags" as variable/parameter name for CPU flags

Conflicts:
	libavcodec/x86/dsputil_init.c
	libavcodec/x86/h264dsp_init.c
	libavcodec/x86/hpeldsp_init.c
	libavcodec/x86/motion_est.c
	libavcodec/x86/mpegvideo.c
	libavcodec/x86/proresdsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-18 09:53:47 +02:00
Michael Niedermayer
1816f5509e Merge https://github.com/lukaszmluki/ffmpeg
* https://github.com/lukaszmluki/ffmpeg:
  ftp: warning about pure-ftp server used as and output
  ftp: comments
  ftp: remove unused headers
  ftp: fix interrupt callback misuse

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-18 01:40:49 +02:00
Michael Niedermayer
37ded53037 vf_scale: use sws_init_context()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-18 01:21:27 +02:00
Fabian Neundorf
353f302250 lavf/matroskaenc: using valid chapter ids
Fixes ticket 2790, by starting the ChapterUIDs in mkv files with 1 instead of a 0.
 

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-18 01:02:31 +02:00
Diego Biurrun
3ac7fa81b2 Consistently use "cpu_flags" as variable/parameter name for CPU flags 2013-07-18 00:31:35 +02:00
Michael Niedermayer
a0b7e73f8b swscale/options: fix copy and paste typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-17 16:59:29 +02:00
Lukasz Marek
816c579cf3 ftp: warning about pure-ftp server used as and output 2013-07-17 14:42:20 +02:00
Lukasz Marek
2217243e12 ftp: comments 2013-07-17 14:42:20 +02:00
Lukasz Marek
db72b7742a ftp: remove unused headers 2013-07-17 14:42:20 +02:00
Lukasz Marek
247e658784 ftp: fix interrupt callback misuse
FTP protocol used interrupt callback to simulate nonblock
operation which is a misuse of this callback.

This commit make FTP protocol fully blocking and removes
invalid usage of interrutp callback

Also adds support for multiline responses delimited with dashes
2013-07-17 14:42:20 +02:00
Vignesh Venkatasubramanian
33968c201c Fixing a stride issue in VP8 Alpha encode
When encoding alpha channel in libvpx, the stride isn't set
properly for the alpha encoder. Fixing it.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-17 13:38:26 +02:00
Michael Niedermayer
066111bf19 matroskaenc: simplify mkv_check_tag()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-17 13:30:36 +02:00
James Almer
088ed53146 lavf/matroskaenc: Check for valid metadata before creating tags
Tags must have at least one SimpleTag element to be spec conformant.
Updated lavf-mkv and seek-lavf-mkv FATE references as the tests were affected by
this.

Fixes ticket #2785

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-17 12:18:27 +02:00
Michael Niedermayer
b4fe41c981 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fmtconvert: Explicitly use int32_t instead of int

Conflicts:
	libavcodec/ac3dec.c
	libavcodec/fmtconvert.c
	libavcodec/fmtconvert.h

See: f49564c607
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-17 10:48:56 +02:00
Michael Niedermayer
10336ca640 Merge commit '50612484e058e8b241f0528584d64d9d2ccebf12'
* commit '50612484e058e8b241f0528584d64d9d2ccebf12':
  pthread: Rename thread_init to avoid symbol collision

Conflicts:
	libavcodec/pthread.c
	libavfilter/pthread.c

See: 674d8a9629
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-17 10:40:15 +02:00
Christophe Gisquet
b6293e2798 fmtconvert: Explicitly use int32_t instead of int
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-17 11:02:47 +03:00
Stefano Sabatini
9836f47cf8 doc/filters: update/correct mp documentation 2013-07-17 09:34:05 +02:00
Stefano Sabatini
34322ab27a doc/bitstream_filters: document dump_extra 2013-07-17 09:31:02 +02:00
Michael Niedermayer
b405f4e916 swscale: Add support to specify chroma position
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-17 01:59:10 +02:00
Stefano Sabatini
53c853e049 lavc/h264_mp4toannexb: improve feedback in case of invalid bitstream 2013-07-17 01:17:32 +02:00
Michael Niedermayer
a80e622924 avcodec/avutil: Add AVColorSpace and AVColorRange to AVFrames
This also moves AVColorSpace and AVColorRange from avcodec to avutil

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-17 01:15:31 +02:00
Stefano Sabatini
0092bcdf06 lavc/avcodec.h: fix various typos in av_bitstream_filter_filter() docs 2013-07-17 00:51:43 +02:00
Sean McGovern
50612484e0 pthread: Rename thread_init to avoid symbol collision
The AIX threads library exposes a function with the same name.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-17 00:13:31 +03:00
Paul B Mahol
5ceffb1bf6 matroskaenc: use ffio_fill()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-16 19:25:13 +00:00
Alexis Ballier
8d9c1b325e mastroka audio muxer: Set long_name to Matroska Audio so that it differs from the long_name of matroska video.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-16 02:53:38 +02:00
Michael Niedermayer
37f4aa133d swscale: move default colorspace setup to sws_init_filter()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-16 02:44:25 +02:00
Michael Niedermayer
4f1d3e0212 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavf: Make sure avg_frame_rate can be calculated without integer overflow

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-16 00:55:07 +02:00
Michael Niedermayer
13eed267f8 Merge commit '31931520df35a6f9606fe8293c8a39e2d1fabedf'
* commit '31931520df35a6f9606fe8293c8a39e2d1fabedf':
  mov: Do not allow updating the time scale after it has been set

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-16 00:12:24 +02:00
Michael Niedermayer
38b701a349 Merge commit '5b4eb243bce10a3e8345401a353749e0414c54ca'
* commit '5b4eb243bce10a3e8345401a353749e0414c54ca':
  mov: Seek back if overreading an individual atom

Conflicts:
	libavformat/mov.c
See: 6093960ae3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-16 00:02:39 +02:00
Michael Niedermayer
0b95f01140 Merge commit '8f24c12be7a3b3ea105e67bba9a867fe210a2333'
* commit '8f24c12be7a3b3ea105e67bba9a867fe210a2333':
  ac3dec: Don't consume more data than the actual input packet size

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-15 23:42:58 +02:00
Martin Storsjö
e740929a07 lavf: Make sure avg_frame_rate can be calculated without integer overflow
If either of the deltas is too large for the multiplications to
succeed, don't use this for setting the avg frame rate.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Cc: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-15 21:39:24 +03:00
Martin Storsjö
31931520df mov: Do not allow updating the time scale after it has been set
The time scale is set in mdhd, and later validated in the
enclosing trak atom once all of its children have been parsed.

A loose mdhd atom outside of a trak atom could update the time
scale of the last stream without any validation.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Cc: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-15 21:38:58 +03:00
Martin Storsjö
5b4eb243bc mov: Seek back if overreading an individual atom
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Cc: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-15 21:37:44 +03:00
Martin Storsjö
8f24c12be7 ac3dec: Don't consume more data than the actual input packet size
This was handled properly in the normal return case at the end
of the function, but not in this special case.

Returning a value larger than the input packet size can cause
problems for certain library users.

Returning the actual input buffer size unconditionally, since
it is not guaranteed that frame_size is set to a sensible
value at this point.

Cc: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-15 21:37:21 +03:00
Paul B Mahol
95126728a5 mxfenc: use ffio_fill()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-15 17:51:12 +00:00
Alexis Ballier
69383d055e ra144enc: set supported channel layouts.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-15 18:04:33 +02:00
Paul B Mahol
5999db97cf lavfi/scale: remove av_opt_free()
Generic code calls it already.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-15 15:27:19 +00:00
Michael Niedermayer
6158a3bcdf avformat/matroskadec: Detect conflicting sample rate/default_duration
Fixes Ticket2508

Thanks-to: Moritz Bunkus
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-15 17:13:45 +02:00
Michael Niedermayer
3ea765b033 avfilter/avf_concat: fix AVOption flags typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-15 14:15:15 +02:00
Michael Niedermayer
fcbf16a76f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  indeo: Reject impossible FRAMETYPE_NULL

Conflicts:
	libavcodec/ivi_common.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-15 14:08:06 +02:00
Michael Niedermayer
c4b904caea Merge commit 'f9e5261cab067be7278f73d515bc9b601eb56202'
* commit 'f9e5261cab067be7278f73d515bc9b601eb56202':
  indeo: Do not reference mismatched tiles

Conflicts:
	libavcodec/ivi_common.c

See: dab70c62d2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-15 13:58:38 +02:00
Michael Niedermayer
8e4ecd8774 Merge commit '28dda8a691f1c723a4a9365ab85f9625f1330096'
* commit '28dda8a691f1c723a4a9365ab85f9625f1330096':
  indeo: Sanitize ff_ivi_init_planes fail paths

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-15 13:45:36 +02:00
Michael Niedermayer
e3b13c1081 Merge commit 'b0eeb9d442e4b7e82f6797d74245434ea33110a5'
* commit 'b0eeb9d442e4b7e82f6797d74245434ea33110a5':
  indeo5: return proper error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-15 13:18:29 +02:00
Michael Niedermayer
1cd74a9b4d Merge commit '25a6666f6c07c6ac8449a63d7fbce0dfd29c54cd'
* commit '25a6666f6c07c6ac8449a63d7fbce0dfd29c54cd':
  indeo: Bound-check before applying motion compensation

The added checks and one previously added check are replaced by asserts,
the conditions can only be
true when vectors are invalid or there are worse inconsistencies.
We are checking the vectors validity and there should be no
inconsistencies, thus the checks should not be needed.
Also no files are known to cause any anomalies in ffmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-15 13:13:52 +02:00
Michael Niedermayer
2fe5e3e970 Merge commit '1dd1b2332ebbac710d8e0214cec7595e118f2105'
* commit '1dd1b2332ebbac710d8e0214cec7595e118f2105':
  rtsp: Include an User-Agent header field in all requests

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-15 12:38:24 +02:00
Stefano Sabatini
4aa2874ab1 lavc/avcodec.h: extend documentation for AVPicture API 2013-07-15 12:24:47 +02:00
Luca Barbato
5b2a29552c indeo: Reject impossible FRAMETYPE_NULL
A frame marked FRAMETYPE_NULL cannot be scalable and requires a
previous frame successfully decoded.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-15 11:46:50 +02:00
Luca Barbato
f9e5261cab indeo: Do not reference mismatched tiles
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-15 11:46:30 +02:00
Luca Barbato
28dda8a691 indeo: Sanitize ff_ivi_init_planes fail paths
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-15 11:29:59 +02:00
Luca Barbato
b0eeb9d442 indeo5: return proper error codes 2013-07-15 11:29:59 +02:00
Luca Barbato
25a6666f6c indeo: Bound-check before applying motion compensation
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-15 11:29:59 +02:00
Michael Niedermayer
5fe5f020b6 MAINTAINERS: drop 1.1 from the releases that i maintain
There seems to be no need to continue maintaining it, people can easily
upgrade to 1.2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-15 02:30:36 +02:00
Paul B Mahol
85a22099a7 lavfi/stereo3d: subsampled yuv support for non-anaglyph outputs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-14 21:57:03 +00:00
James Almer
04b9836274 oggparsevorbis: Support official chapter extension
Fixes ticket #1833

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 22:15:55 +02:00
Michael Niedermayer
17b98c1abd fate: fix stereo3d
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 22:10:38 +02:00
Paul B Mahol
d5598c0963 lavfi/drawutils: set subsampling for rgb too
Otherwise it is incorrectly set to 1.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-14 17:59:25 +00:00
Martin Storsjö
1dd1b2332e rtsp: Include an User-Agent header field in all requests
Some rtsp servers like the IP Cam IcyBox IB-CAM2002 need it.

Based on a patch by Carl Eugen Hoyos.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-14 20:53:04 +03:00
Paul B Mahol
ed448efe61 lavfi/mp: remove mp=perspective
The filter was ported to a native libavfilter filter.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-14 16:27:18 +00:00
Paul B Mahol
80c6445932 lavfi: port perspective filter from libmpcodecs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-14 16:27:17 +00:00
Stefano Sabatini
ab5f581625 doc/bitstream_filters: amend name of some bitstream filters 2013-07-14 16:06:36 +02:00
Michael Niedermayer
febbddbdd5 indeo4: print an error message if ref_mb is needed but unavailable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 15:18:03 +02:00
Michael Niedermayer
76d0a6656b indeo: print errors if transform and block size mismatch
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 14:20:42 +02:00
Michael Niedermayer
a8e5fac1fb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  indeo: Bound-check before applying transform

Conflicts:
	libavcodec/indeo4.c
	libavcodec/indeo5.c
	libavcodec/ivi_common.c

See: af38823709, 0846719dd1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 13:37:40 +02:00
Michael Niedermayer
ccb422a697 Merge commit 'cd78e934c246d1b2510f8fba0abfe40bb75795f6'
* commit 'cd78e934c246d1b2510f8fba0abfe40bb75795f6':
  indeo4: Validate scantable dimension

See: 92f7f1db42
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 13:08:13 +02:00
Michael Niedermayer
8c0bb19522 Merge commit '6255ccf7d51c82ab79bf0cd47a921f572dda4489'
* commit '6255ccf7d51c82ab79bf0cd47a921f572dda4489':
  indeo4: Check the quantization matrix index

Conflicts:
	libavcodec/indeo4.c

See: 8a20774a24

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 12:43:45 +02:00
Michael Niedermayer
5462361937 Merge commit '8435bca087c0e79385763c51de009fd89390b6a5'
* commit '8435bca087c0e79385763c51de009fd89390b6a5':
  indeo4: Do not access missing reference MV

Conflicts:
	libavcodec/indeo4.c

See: 5216245a, aae44fb4

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 12:38:54 +02:00
Michael Niedermayer
ac20ba35e3 Merge commit '031be5b41b54c3b666f31d83fe3ad41c194af8c5'
* commit '031be5b41b54c3b666f31d83fe3ad41c194af8c5':
  ac3dec: Consistently use AC3_BLOCK_SIZE and sizeof

Conflicts:
	libavcodec/ac3dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 12:10:38 +02:00
Michael Niedermayer
198e10b55c Merge commit '68e57cde68f3da4c557ca15491fda74d1ea6321e'
* commit '68e57cde68f3da4c557ca15491fda74d1ea6321e':
  ac3dec: Increment channel pointers only once per channel

Conflicts:
	libavcodec/ac3dec.c

See: 7aabeea9ba

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 12:08:38 +02:00
Michael Niedermayer
b24e8f566d Merge commit '886e1b36f5044d3ceccbb01f64619acaf288fb7c'
* commit '886e1b36f5044d3ceccbb01f64619acaf288fb7c':
  jpeg2000: Remove unused passes array in Jpeg200Cblk structure

The array is left as its used by our encoder

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 11:44:23 +02:00
Michael Niedermayer
c75dde6074 swscale: call handle_format() from the functions that need it
This should fix some hypothetical issues with alloc/init_context() usage

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 03:36:19 +02:00
Michael Niedermayer
0fc11e7bad swscale: make handle_formats() safe to be called multiple times
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 03:36:19 +02:00
Michael Niedermayer
d5f5e51662 swscale: move format handling to its own function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 03:36:19 +02:00
Paul B Mahol
fc6ca37316 lavfi/aecho: fix invalid free
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-13 23:45:05 +00:00
Paul B Mahol
f486d7e924 lavfi/silencedetect: unbreak for unknown channel layouts
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-13 22:23:09 +00:00
Paul B Mahol
099dfcaa0e lavfi/ashowinfo: unbreak for >8 channels
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-13 22:04:14 +00:00
Paul B Mahol
729709b890 lavfi/asetnsamples: unbreak for >8 channels
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-13 21:59:13 +00:00
Paul B Mahol
e9678631f1 lavfi/trim: fix sample copy for >8 channels
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-13 21:54:02 +00:00
Paul B Mahol
6347824d53 lavfi/showwaves: fix floating exception with >8 channels
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-13 21:46:27 +00:00
Michael Niedermayer
aac57c765f avfilter/asrc_aevalsrc: fix cases of unknown channel layout
Fixes >8 channels

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-13 23:10:15 +02:00
Michael Niedermayer
f3d138ab22 avdevice/lavfi: fix input with unknown channel layout
Fixes handling of >8 channels

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-13 23:10:05 +02:00
Luca Barbato
dc79685195 indeo: Bound-check before applying transform
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-13 19:11:18 +02:00
Luca Barbato
cd78e934c2 indeo4: Validate scantable dimension
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-13 19:11:18 +02:00
Luca Barbato
6255ccf7d5 indeo4: Check the quantization matrix index
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-13 19:11:18 +02:00
Luca Barbato
8435bca087 indeo4: Do not access missing reference MV
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-13 19:11:18 +02:00
Martin Storsjö
031be5b41b ac3dec: Consistently use AC3_BLOCK_SIZE and sizeof
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-13 19:06:52 +03:00
Martin Storsjö
68e57cde68 ac3dec: Increment channel pointers only once per channel
If the channel mapping map multiple output channels to one
input channel, we should only increment the actual pointer once.

Cc: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-13 18:55:07 +03:00
Nicolas Bertrand
886e1b36f5 jpeg2000: Remove unused passes array in Jpeg200Cblk structure
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-13 14:28:48 +02:00
Nicolas Bertrand
f56fe04de3 jpeg2000: Initialize only once mqc arrays
Improves decoding speed.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-13 07:54:12 +02:00
Paul B Mahol
673d4e82d4 fate: add tests for stereo3d filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-13 05:41:04 +00:00
Michael Niedermayer
0a06e6e49b av_frame_get_buffer: Do not fail when the channel layout is unknown
Fixes handling of cases with unknown layouts but known channel counts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-13 21:09:20 +02:00
Carl Eugen Hoyos
289737c8be configure: Disable avresample if an old version of yasm is used.
The avresample maintainers decided not to support old versions of yasm.
Supporting old yasm in FFmpeg was no big effort in the last months,
so keep it for the time being.
2013-07-13 17:16:44 +02:00
Carl Eugen Hoyos
aecb9d39bc rmdec: Forward error messages from rm_assemble_video_frame() to the caller.
Fixes the cause of a null pointer dereference on oom
described in ticket #2724.
2013-07-13 17:16:30 +02:00
Carl Eugen Hoyos
8e3c5c70ca g726: Do not try to decode more than one channel.
Ask for a sample instead.

Reviewed-by: Derek Buitenhuis
2013-07-13 17:16:30 +02:00
Carl Eugen Hoyos
149def7781 configure: Only build ffserver if SA_RESAMPLE is available.
QNX does not define SA_RESAMPLE (because it is not implemented).
Fixes ticket #2780.

Reviewed-by: Nicolas George
2013-07-13 17:16:30 +02:00
Jean Delvare
9e4bb09140 lavfi/delogo: Document where parameter show=1 draws its rectangle
It is not completely obvious where delogo's parameter show=1 draws its
rectangle. Document it so that the user can more easily tune the
parameters.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-13 17:05:39 +02:00
Jean Delvare
b6d0bb6086 lavfi/delogo: Fix sign extension issue
Coverity complains about a possible sign extension issue in
apply_delogo(). While it is extremely unlikely to happen, it is easy
to fix so let's just do that. Using unsigned variables even makes the
binary code smaller.

Fixes Coverity CID 1046439.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-13 17:05:03 +02:00
Michael Niedermayer
4cdb42b428 avcodec/012v: improve stride selection
Fixes decoding some files
Fixes Ticket2126

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-13 16:23:31 +02:00
Michael Niedermayer
786b0968dd ffplay: remove explicit idct option
this allows named idct options to be used

Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-13 15:01:05 +02:00
Michael Niedermayer
f57119b8e5 jpeg2000: fix overflow in dequantization
Fixes decoding of file generated with:
ffmpeg -f lavfi -i smptehdbars=hd720 -pix_fmt rgb48 /tmp/o.jp2

Reviewed-by: Nicolas BERTRAND <nicoinattendu@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-13 12:44:37 +02:00
Michael Niedermayer
dc072c9867 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  jpeg2000: Initialize only once mqc arrays

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-13 12:22:22 +02:00
Nicolas Bertrand
dd1382ac95 jpeg2000: Initialize only once mqc arrays
Increases encoding and decoding speed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 23:43:09 +02:00
Paul B Mahol
7f4a1fddd3 lavf: add missing build dependency for tta demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-12 19:51:48 +00:00
Andrey Utkin
34fd21120d retry_transfer_wrapper(): check for interrupt before operation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 21:27:27 +02:00
Andrey Utkin
1e85b5e077 ff_network_wait_fd_timeout(): check for interrupt before operation
Reviewed-by: Lukasz M <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 21:27:27 +02:00
Michael Niedermayer
9219ec93b1 avfilter/trim: add compatibility layer to not break ABI used by ffmpeg
This is a hotfix to fix -t / -ss
a different solution might be choosen later, i just dont want to leave
this broken

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 21:27:26 +02:00
Carl Eugen Hoyos
6476967f21 Fix compilation with --disable-everything --enable-demuxer=aac. 2013-07-12 21:27:21 +02:00
Paul B Mahol
b3405b1bda lavfi/trim: use AV_OPT_TYPE_DURATION
Workarounds for rounding differences between platforms should not be
needed any more.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-12 15:58:22 +00:00
Michael Niedermayer
8aea97a49d avcodec/jpeglsdec: Implement the 4th (lossy) transform
Fixes remainder of Ticket893

Std deviation from the intended image is 0.11, max sample error +-1

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 17:52:03 +02:00
Paul B Mahol
937cfebd72 lavfi/aevalsrc: remove hard limit on number of channels
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-12 15:51:47 +00:00
Michael Niedermayer
86d1a5d80f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vf_interlace: better handling of odd video size

Conflicts:
	libavfilter/vf_interlace.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 14:58:41 +02:00
Michael Niedermayer
bc82405188 Merge commit '52ea29867070243385220a223d7512ea7d4ae2d2'
* commit '52ea29867070243385220a223d7512ea7d4ae2d2':
  fate: use current syntax for the scale filter

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 14:51:24 +02:00
Michael Niedermayer
cce254373c Merge commit '3802833bc1f79775a1547c5e427fed6e92b77e53'
* commit '3802833bc1f79775a1547c5e427fed6e92b77e53':
  dca: Respect the current limits in the downmixing capabilities

Conflicts:
	libavcodec/dcadec.c

See: 8e77c3846e

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 14:49:27 +02:00
Michael Niedermayer
107a56c1ed Merge commit 'f261e508459e28beca59868a878e1519a44bb678'
* commit 'f261e508459e28beca59868a878e1519a44bb678':
  dca: Error out on missing DSYNC

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 14:13:22 +02:00
Michael Niedermayer
73f940e4d9 Merge commit 'c82da343e635663605bd81c59d872bee3182da73'
* commit 'c82da343e635663605bd81c59d872bee3182da73':
  pcm: always use codec->id instead of codec_id

This is not merged as we consistently use codec_id, while libav against what
the comit message might hint at mixes both in the decoder.
Its fine to use either but it should be consistent.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 14:08:32 +02:00
Michael Niedermayer
0da0caa9a9 Merge commit 'c0d973c41b4568d5bad1295879e35cfa611bdcf2'
* commit 'c0d973c41b4568d5bad1295879e35cfa611bdcf2':
  vdpau: use the correct namespace for the union

Conflicts:
	libavcodec/vdpau.h

See: 68dfe530e0

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 13:47:37 +02:00
Michael Niedermayer
e9348e107b Merge commit 'e9d394f3fad7e8fd8fc80e3b33cb045bbaceb446'
* commit 'e9d394f3fad7e8fd8fc80e3b33cb045bbaceb446':
  mlpdec: Do not set invalid context in read_restart_header

Conflicts:
	libavcodec/mlpdec.c

See: a9cd12ee2a

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 13:28:40 +02:00
Michael Niedermayer
9d47333e3e Merge commit '2b379a925162b6783bd9a81dc03e647e8b65494c'
* commit '2b379a925162b6783bd9a81dc03e647e8b65494c':
  mlpdsp: x86: Respect cpuflags

Conflicts:
	libavcodec/x86/mlpdsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 13:10:53 +02:00
Michael Niedermayer
50617fce07 Merge commit '3abde1a3b49cf299f2aae4eaae6b6cb5270bdc22'
* commit '3abde1a3b49cf299f2aae4eaae6b6cb5270bdc22':
  pcx: Do not overread source buffer in pcx_rle_decode

Conflicts:
	libavcodec/pcx.c

See: 8cd1c0febe
Bytestream based system is left in place and not switched to buf+end, such switch would be
a step backward

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 12:58:13 +02:00
Michael Niedermayer
54bbb90568 Merge commit '170fb593c617cd797d00cf05bfb8d8c21d612893'
* commit '170fb593c617cd797d00cf05bfb8d8c21d612893':
  pcx: K&R formatting cosmetics

Conflicts:
	libavcodec/pcx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 12:36:04 +02:00
Michael Niedermayer
c6953589f9 Merge commit 'ef5b70affc6376bfeadd1ff649b79bad9a124fa8'
* commit 'ef5b70affc6376bfeadd1ff649b79bad9a124fa8':
  configure: Check for support for labels in the inline assembly

The timer code is not placed under ifdef as ours does not use labels

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 12:07:14 +02:00
Michael Niedermayer
bec509db43 vf_interlace: better handling of odd video size
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-12 11:40:56 +03:00
Sean McGovern
52ea298670 fate: use current syntax for the scale filter
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-12 11:08:25 +03:00
Luca Barbato
3802833bc1 dca: Respect the current limits in the downmixing capabilities
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-12 04:34:49 +02:00
Luca Barbato
f261e50845 dca: Error out on missing DSYNC
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-12 04:34:49 +02:00
Luca Barbato
c82da343e6 pcm: always use codec->id instead of codec_id
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-12 04:34:49 +02:00
Luca Barbato
c0d973c41b vdpau: use the correct namespace for the union
Vdp is used by libvdpau, use AVVDPAU as used for the rest.

Reported-by: Alexis Ballier <aballier@gentoo.org>
2013-07-12 04:34:49 +02:00
Luca Barbato
e9d394f3fa mlpdec: Do not set invalid context in read_restart_header
The faulty values rippled further down the codepath causing a
hard-to-track segfault in the assembly code.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-12 04:34:49 +02:00
Luca Barbato
2b379a9251 mlpdsp: x86: Respect cpuflags 2013-07-12 04:34:49 +02:00
Luca Barbato
3abde1a3b4 pcx: Do not overread source buffer in pcx_rle_decode
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-12 04:34:49 +02:00
Luca Barbato
170fb593c6 pcx: K&R formatting cosmetics 2013-07-12 04:34:49 +02:00
Piotr Bandurski
161047f010 rmdec: fix crash in case of oom
Fixes ticket #2724

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 04:24:35 +02:00
Thierry Foucu
38ce775eea libavformat/mov.c: Skipped duplicated MOOV atom
This should fix ticket 1378
 If we have parsed a moov atom, and found another one, just skip it.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 02:41:34 +02:00
Carl Eugen Hoyos
0fff7f039c Supply a User-Agent header when opening rtsp streams.
Some rtsp servers like the IP Cam IcyBox IB-CAM2002 need it.
Fixes ticket #2761.
Reported, analyzed and tested by trac user imavra.
2013-07-11 23:05:53 +02:00
Dan Flett
43d36599fe lavd/fbdev.c: Support RGB565 input colour space.
Tested on a Raspberry Pi.

Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-07-11 18:16:07 +02:00
Martin Storsjö
ef5b70affc configure: Check for support for labels in the inline assembly
Use this for enabling the ppc timer.h implementation only on
assemblers that support labels in the inline assembly.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-11 18:53:02 +03:00
Michael Niedermayer
0ef40446a8 mjpegdec: print length too in APPx debug code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-11 16:28:55 +02:00
Michael Niedermayer
8024b4880c avcodec/jpeglsdec: support xfrm 1-3
Fixes 75% of Ticket893

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-11 16:10:18 +02:00
Michael Niedermayer
96747e6cbe mjpegdec: parse app-xfrm
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-11 16:08:49 +02:00
Michael Niedermayer
7afa68d37d mjpegdec: parse app-colr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-11 16:08:36 +02:00
Michael Niedermayer
531f016944 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wmavoice: conceal clearly corrupted blocks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-11 11:50:18 +02:00
Michael Niedermayer
45cc62f0a0 Merge commit 'f5c48f5adaead5259660d4eaab2e695d1bac3a08'
* commit 'f5c48f5adaead5259660d4eaab2e695d1bac3a08':
  wmavoice: use init_static_data

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-11 11:41:34 +02:00
Michael Niedermayer
5698f6bd73 Merge commit '04e9853a210e07b1a150aa2b8e9af0aa3601ff21'
* commit '04e9853a210e07b1a150aa2b8e9af0aa3601ff21':
  wmavoice: return meaningful error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-11 11:33:19 +02:00
Michael Niedermayer
2efc2b53be Merge commit '7d65e960c72f36b73ae7fe84f8e427d758e61da9'
* commit '7d65e960c72f36b73ae7fe84f8e427d758e61da9':
  iff: Do not read over the source buffer

Conflicts:
	libavcodec/iff.c

See: 2fbb37b51b

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-11 11:32:36 +02:00
Michael Niedermayer
56090b5b80 Merge commit '3865ba7b21aef5d60183719e238361ec8797ab5a'
* commit '3865ba7b21aef5d60183719e238361ec8797ab5a':
  iff: K&R formatting cosmetics

Conflicts:
	libavcodec/iff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-11 11:12:48 +02:00
Michael Niedermayer
15cee5e562 mjpegdec: Fix used quant index for gbr
Fixes Ticket1651

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-11 02:31:58 +02:00
Michael Niedermayer
94e86ae15a mjpegdec: initialize source variables before gbr remap
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-11 02:31:58 +02:00
Stefano Sabatini
71a2e5245c lavf/segment: use AV_OPT_TIME_DURATION for time_delta
Simplify.
2013-07-11 00:36:53 +02:00
Stefano Sabatini
459dc81a64 lavf/segment: reindent after last commit 2013-07-11 00:36:41 +02:00
Stefano Sabatini
19ea08a11a lavf/segment: add initial_offset option
Should address trac ticket #2224.
2013-07-11 00:36:24 +02:00
Stefano Sabatini
b3ac8a2a60 doc/formats: add section describing stream specifiers 2013-07-11 00:35:35 +02:00
Stefano Sabatini
e7a6962e76 doc/developer: update sections about external development
Replace the sections "API" and "Integrating libavcodec or libavformat"
with updated / more accurate text.

See thread:
Subject: [FFmpeg-devel] [PATCH] doc/developer: merge and update sections about external development
Date: Fri,  5 Jul 2013 11:07:07 +0200
2013-07-11 00:01:19 +02:00
Paul B Mahol
db4e191d88 lavfi/aevalsrc: do not free AVOption variables in uninit()
The generic code frees them already.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-10 19:22:07 +00:00
Paul B Mahol
badbd2414d lavfi/aevalsrc: use AV_OPT_TYPE_DURATION
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-10 19:16:00 +00:00
Paul B Mahol
1e89f74902 lavfi/afade: use av_rescale()
Should not make a difference, but its good idea.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-10 19:13:28 +00:00
Derek Buitenhuis
2ea60971dc fate: Always enable avresample
There's no reason we shouldn't be testing it.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-07-10 15:12:05 -04:00
Paul B Mahol
4511973901 wmalosslessdec: do not set avctx->coded_frame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-10 19:11:12 +00:00
Michael Niedermayer
07206deed1 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Suggest recompilation with openssl or gnutls if the https protocol is not found.
  lavf/utils.c: Avoid a null pointer dereference on oom after duration_error allocation.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 19:58:19 +02:00
Michael Niedermayer
0a3a0edd52 avfilter/af_earwax: Fix out of array accesses on odd packets
Found-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 16:46:13 +02:00
Michael Niedermayer
8f09957194 avcodec/qdm2: initialize sign_bits
Fixes non deterministic output

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 16:21:33 +02:00
Carl Eugen Hoyos
1db88c33f2 Suggest recompilation with openssl or gnutls if the https protocol is not found.
Fixes ticket #2765.
2013-07-10 16:20:40 +02:00
Carl Eugen Hoyos
c9eb5c9751 lavf/utils.c: Avoid a null pointer dereference on oom after duration_error allocation. 2013-07-10 16:20:40 +02:00
Michael Niedermayer
fbe159e850 avcodec/qdm2: store bits in an integer instead of float variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 16:18:52 +02:00
Piotr Bandurski
b050956334 avformat/utils: avformat_find_stream_info set value for ret in case of oom
without it FFmpeg didn't display any error message when oom event occured

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 16:07:45 +02:00
Michael Niedermayer
2e6338b472 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  qdm2: Conceal broken samples

See: 5ee008e01d

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 16:00:57 +02:00
Luca Barbato
d14a26edb7 wmavoice: conceal clearly corrupted blocks
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-10 15:50:06 +02:00
Luca Barbato
f5c48f5ada wmavoice: use init_static_data 2013-07-10 15:49:58 +02:00
Luca Barbato
04e9853a21 wmavoice: return meaningful error codes 2013-07-10 15:49:51 +02:00
Luca Barbato
7d65e960c7 iff: Do not read over the source buffer
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-10 15:24:42 +02:00
Luca Barbato
3865ba7b21 iff: K&R formatting cosmetics 2013-07-10 15:23:51 +02:00
Paul B Mahol
bc95b94289 lavfi/aconvert: unbreak
Even if its deprecated, it should still work correctly.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-10 13:16:24 +00:00
Michael Niedermayer
564909093a Merge commit 'adadc3f2443d25b375e21e801516ccfd78e0b080'
* commit 'adadc3f2443d25b375e21e801516ccfd78e0b080':
  qdm2: refactor joined stereo support

Conflicts:
	libavcodec/qdm2.c

See: 2b12d1ffd8

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 15:07:20 +02:00
Michael Niedermayer
2c0ec526e2 fate/crc fix after master:410192e36958: add crc24 tables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 14:58:52 +02:00
Paul B Mahol
884c890535 lavfi: add aecho filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-10 12:10:58 +00:00
Paul B Mahol
4977e467a5 lavf/takdec: check metadata blocks checksum
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-10 12:07:53 +00:00
Paul B Mahol
8491f40500 tak: use crc table from lavu
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-10 12:07:53 +00:00
Paul B Mahol
410192e369 add crc24 tables
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-10 12:07:53 +00:00
Michael Niedermayer
067c9c3b63 Merge commit '12576afe206d35231ccd61f9033c5fdab6a11e80'
* commit '12576afe206d35231ccd61f9033c5fdab6a11e80':
  adpcm: Write the correct number of samples for ima-dk4

Conflicts:
	libavcodec/adpcm.c

See: f18c873ab5

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 12:56:55 +02:00
Michael Niedermayer
a3d9a21683 Merge commit 'bbf6a4aa20bfe3d7869b2218e66063602dfb8aa7'
* commit 'bbf6a4aa20bfe3d7869b2218e66063602dfb8aa7':
  imc: Catch a division by zero
  atrac3: Error on impossible encoding/channel combinations

See: 13451f5520

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 12:28:07 +02:00
Michael Niedermayer
40e8967ee1 Merge commit '22e76ec635bafdd1d1ec35581a7ac09e69e3c43e'
* commit '22e76ec635bafdd1d1ec35581a7ac09e69e3c43e':
  atrac3: set the getbits context the right buffer_end
  atrac3: fix error handling

Conflicts:
	libavcodec/atrac3.c

No change as these issues have been fixed previously
See: c8f25cafd2
See: 5eaed6d336

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 12:23:17 +02:00
Piotr Bandurski
ccf9211e29 avformat/utils: avformat_find_stream_info fix a crash in case of oom
fixes ticket #2767

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 03:42:06 +02:00
Michael Niedermayer
0574fe76b8 Changelog: add back the <next> placeholder for new changes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 03:14:33 +02:00
Michael Niedermayer
a37e42b3ee Update back for git master
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 03:14:23 +02:00
Luca Barbato
4ecdb5ed44 qdm2: Conceal broken samples
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-09 15:57:46 +02:00
Luca Barbato
adadc3f244 qdm2: refactor joined stereo support
qdm2 does support only two channels. Loop over the run once.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-09 15:57:32 +02:00
Luca Barbato
12576afe20 adpcm: Write the correct number of samples for ima-dk4
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-09 10:49:29 +02:00
Luca Barbato
bbf6a4aa20 imc: Catch a division by zero
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-09 10:49:29 +02:00
Luca Barbato
22e76ec635 atrac3: set the getbits context the right buffer_end
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-09 10:49:29 +02:00
Luca Barbato
50cf5a7fb7 atrac3: Error on impossible encoding/channel combinations
Joint stereo encoded mono is impossible.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-09 10:49:29 +02:00
Luca Barbato
874c8a17ac atrac3: fix error handling
decode_tonal_components returns a proper AVERROR.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-09 10:49:29 +02:00
1814 changed files with 85688 additions and 24411 deletions

1
.gitignore vendored
View File

@@ -63,6 +63,7 @@
/tools/aviocat
/tools/ffbisect
/tools/bisect.need
/tools/crypto_bench
/tools/cws2fws
/tools/fourcc2pixfmt
/tools/ffescape

View File

@@ -1,6 +1,55 @@
Entries are sorted chronologically from oldest to youngest within each release,
releases are sorted from youngest to oldest.
version <next>
version 2.1:
- aecho filter
- perspective filter ported from libmpcodecs
- ffprobe -show_programs option
- compand filter
- RTMP seek support
- when transcoding with ffmpeg (i.e. not streamcopying), -ss is now accurate
even when used as an input option. Previous behavior can be restored with
the -noaccurate_seek option.
- ffmpeg -t option can now be used for inputs, to limit the duration of
data read from an input file
- incomplete Voxware MetaSound decoder
- read EXIF metadata from JPEG
- DVB teletext decoder
- phase filter ported from libmpcodecs
- w3fdif filter
- Opus support in Matroska
- FFV1 version 1.3 is stable and no longer experimental
- FFV1: YUVA(444,422,420) 9, 10 and 16 bit support
- changed DTS stream id in lavf mpeg ps muxer from 0x8a to 0x88, to be
more consistent with other muxers.
- adelay filter
- pullup filter ported from libmpcodecs
- ffprobe -read_intervals option
- Lossless and alpha support for WebP decoder
- Error Resilient AAC syntax (ER AAC LC) decoding
- Low Delay AAC (ER AAC LD) decoding
- mux chapters in ASF files
- SFTP protocol (via libssh)
- libx264: add ability to encode in YUVJ422P and YUVJ444P
- Fraps: use BT.709 colorspace by default for yuv, as reference fraps decoder does
- make decoding alpha optional for prores, ffv1 and vp6 by setting
the skip_alpha flag.
- ladspa wrapper filter
- native VP9 decoder
- dpx parser
- max_error_rate parameter in ffmpeg
- PulseAudio output device
- ReplayGain scanner
- Enhanced Low Delay AAC (ER AAC ELD) decoding (no LD SBR support)
- Linux framebuffer output device
- HEVC decoder, raw HEVC demuxer, HEVC demuxing in TS, Matroska and MP4
- mergeplanes filter
version 2.0:
- curves filter
@@ -607,7 +656,7 @@ version 0.6:
- LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
- WMA Pro decoder
- Core Audio Format demuxer
- Atrac1 decoder
- ATRAC1 decoder
- MD STUDIO audio demuxer
- RF64 support in WAV demuxer
- MPEG-4 Audio Lossless Coding (ALS) decoder
@@ -707,7 +756,7 @@ version 0.5:
- MXF demuxer
- VC-1/WMV3/WMV9 video decoder
- MacIntel support
- AVISynth support
- AviSynth support
- VMware video decoder
- VP5 video decoder
- VP6 video decoder
@@ -735,7 +784,7 @@ version 0.5:
- Interplay C93 demuxer and video decoder
- Bethsoft VID demuxer and video decoder
- CRYO APC demuxer
- Atrac3 decoder
- ATRAC3 decoder
- V.Flash PTX decoder
- RoQ muxer, RoQ audio encoder
- Renderware TXD demuxer and decoder

View File

@@ -33,13 +33,14 @@ Specifically, the GPL parts of FFmpeg are
- vf_geq.c
- vf_histeq.c
- vf_hqdn3d.c
- vf_hue.c
- vf_kerndeint.c
- vf_mcdeint.c
- vf_mp.c
- vf_noise.c
- vf_owdenoise.c
- vf_perspective.c
- vf_phase.c
- vf_pp.c
- vf_pullup.c
- vf_sab.c
- vf_smartblur.c
- vf_spp.c

View File

@@ -43,16 +43,24 @@ QuickTime faststart:
Miscellaneous Areas
===================
documentation Mike Melanson
website Robert Swain, Lou Logan
documentation Stefano Sabatini, Mike Melanson, Timothy Gu
build system (configure,Makefiles) Diego Biurrun, Mans Rullgard
project server Árpád Gereöffy, Michael Niedermayer, Reimar Döffinger
mailinglists Michael Niedermayer, Baptiste Coudurier, Lou Logan
project server Árpád Gereöffy, Michael Niedermayer, Reimar Döffinger, Alexander Strasser
presets Robert Swain
metadata subsystem Aurelien Jacobs
release management Michael Niedermayer
Communication
=============
website Robert Swain, Lou Logan
mailinglists Michael Niedermayer, Baptiste Coudurier, Lou Logan
Google+ Paul B Mahol, Michael Niedermayer, Alexander Strasser
Twitter Lou Logan
Launchpad Timothy Gu
libavutil
=========
@@ -62,13 +70,23 @@ Internal Interfaces:
libavutil/common.h Michael Niedermayer
Other:
intfloat* Michael Niedermayer
rational.c, rational.h Michael Niedermayer
mathematics.c, mathematics.h Michael Niedermayer
integer.c, integer.h Michael Niedermayer
bprint Nicolas George
bswap.h
des Reimar Doeffinger
eval.c, eval.h Michael Niedermayer
float_dsp Loren Merritt
hash Reimar Doeffinger
intfloat* Michael Niedermayer
integer.c, integer.h Michael Niedermayer
lzo Reimar Doeffinger
mathematics.c, mathematics.h Michael Niedermayer
mem.c, mem.h Michael Niedermayer
opencl.c, opencl.h Wei Gao
opt.c, opt.h Michael Niedermayer
rational.c, rational.h Michael Niedermayer
rc4 Reimar Doeffinger
ripemd.c, ripemd.h James Almer
timecode Clément Bœsch
libavcodec
@@ -79,10 +97,6 @@ Generic Parts:
avcodec.h Michael Niedermayer
utility code:
utils.c Michael Niedermayer
mem.c Michael Niedermayer
opt.c, opt.h Michael Niedermayer
arithmetic expression evaluator:
eval.c Michael Niedermayer
audio and video frame extraction:
parser.c Michael Niedermayer
bitstream reading:
@@ -113,6 +127,8 @@ Generic Parts:
libpostproc/* Michael Niedermayer
table generation:
tableprint.c, tableprint.h Reimar Doeffinger
fixed point FFT:
fft* Zeljko Lukac
Codecs:
4xm.c Michael Niedermayer
@@ -131,8 +147,8 @@ Codecs:
binkaudio.c Peter Ross
bmp.c Mans Rullgard, Kostya Shishkov
cavs* Stefan Gehrer
celp_filters.* Vitor Sessak
cdxl.c Paul B Mahol
celp_filters.* Vitor Sessak
cinepak.c Roberto Togni
cljr Alex Beregszaszi
cllc.c Derek Buitenhuis
@@ -143,9 +159,10 @@ Codecs:
dca.c Kostya Shishkov, Benjamin Larsson
dnxhd* Baptiste Coudurier
dpcm.c Mike Melanson
dxa.c Kostya Shishkov
dv.c Roman Shaposhnik
dxa.c Kostya Shishkov
eacmv*, eaidct*, eat* Peter Ross
exif.c, exif.h Thilo Borgmann
ffv1.c Michael Niedermayer
ffwavesynth.c Nicolas George
flac* Justin Ruggles
@@ -154,9 +171,9 @@ Codecs:
g722.c Martin Storsjo
g726.c Roman Shaposhnik
gifdec.c Baptiste Coudurier
h264* Loren Merritt, Michael Niedermayer
h261* Michael Niedermayer
h263* Michael Niedermayer
h264* Loren Merritt, Michael Niedermayer
huffyuv.c Michael Niedermayer
idcinvideo.c Mike Melanson
imc* Benjamin Larsson
@@ -171,8 +188,8 @@ Codecs:
kmvc.c Kostya Shishkov
lcl*.c Roberto Togni, Reimar Doeffinger
libcelt_dec.c Nicolas George
libgsm.c Michel Bardiaux
libdirac* David Conrad
libgsm.c Michel Bardiaux
libopenjpeg.c Jaikrishnan Menon
libopenjpegenc.c Michael Bradshaw
libschroedinger* David Conrad
@@ -180,8 +197,8 @@ Codecs:
libtheoraenc.c David Conrad
libutvideo* Derek Buitenhuis
libvorbis.c David Conrad
libxavs.c Stefan Gehrer
libx264.c Mans Rullgard, Jason Garrett-Glaser
libxavs.c Stefan Gehrer
loco.c Kostya Shishkov
lzo.h, lzo.c Reimar Doeffinger
mdec.c Michael Niedermayer
@@ -243,8 +260,8 @@ Codecs:
vda_h264_dec.c Xidorn Quan
vima.c Paul B Mahol
vmnc.c Kostya Shishkov
vorbis_enc.c Oded Shimon
vorbis_dec.c Denes Balatoni, David Conrad
vorbis_enc.c Oded Shimon
vp3* Mike Melanson
vp5 Aurelien Jacobs
vp6 Aurelien Jacobs
@@ -257,6 +274,7 @@ Codecs:
wnv1.c Kostya Shishkov
xan.c Mike Melanson
xbm* Paul B Mahol
xface Stefano Sabatini
xl.c Kostya Shishkov
xvmc.c Ivan Kalvachev
xwd* Paul B Mahol
@@ -278,11 +296,15 @@ libavdevice
libavdevice/avdevice.h
dshow.c Roger Pack
fbdev_enc.c Lukasz Marek
iec61883.c Georg Lippitsch
lavfi Stefano Sabatini
libdc1394.c Roman Shaposhnik
pulse_audio_enc.c Lukasz Marek
sdl Stefano Sabatini
v4l2.c Luca Abeni
vfwcap.c Ramiro Polla
dshow.c Roger Pack
libavfilter
===========
@@ -291,12 +313,33 @@ Generic parts:
graphdump.c Nicolas George
Filters:
af_adelay.c Paul B Mahol
af_aecho.c Paul B Mahol
af_afade.c Paul B Mahol
af_amerge.c Nicolas George
af_aphaser.c Paul B Mahol
af_aresample.c Michael Niedermayer
af_astats.c Paul B Mahol
af_astreamsync.c Nicolas George
af_atempo.c Pavel Koshevoy
af_biquads.c Paul B Mahol
af_compand.c Paul B Mahol
af_ladspa.c Paul B Mahol
af_pan.c Nicolas George
avf_avectorscope.c Paul B Mahol
vf_blend.c Paul B Mahol
vf_colorbalance.c Paul B Mahol
vf_delogo.c Jean Delvare (CC <khali@linux-fr.org>)
vf_drawbox.c/drawgrid Andrey Utkin
vf_extractplanes.c Paul B Mahol
vf_histogram.c Paul B Mahol
vf_il.c Paul B Mahol
vf_mergeplanes.c Paul B Mahol
vf_psnr.c Paul B Mahol
vf_scale.c Michael Niedermayer
vf_separatefields.c Paul B Mahol
vf_stereo3d.c Paul B Mahol
vf_telecine.c Paul B Mahol
vf_yadif.c Michael Niedermayer
Sources:
@@ -316,7 +359,8 @@ Muxers/Demuxers:
4xm.c Mike Melanson
adtsenc.c Robert Swain
afc.c Paul B Mahol
aiff.c Baptiste Coudurier
aiffdec.c Baptiste Coudurier, Matthieu Bouron
aiffenc.c Baptiste Coudurier, Matthieu Bouron
ape.c Kostya Shishkov
ass* Aurelien Jacobs
astdec.c Paul B Mahol
@@ -344,8 +388,8 @@ Muxers/Demuxers:
idcin.c Mike Melanson
idroqdec.c Mike Melanson
iff.c Jaikrishnan Menon
ipmovie.c Mike Melanson
img2*.c Michael Niedermayer
ipmovie.c Mike Melanson
ircam* Paul B Mahol
iss.c Stefan Gehrer
jacosub* Clément Bœsch
@@ -359,11 +403,11 @@ Muxers/Demuxers:
matroskadec.c Aurelien Jacobs
matroskaenc.c David Conrad
metadata* Aurelien Jacobs
microdvd* Aurelien Jacobs
mgsts.c Paul B Mahol
microdvd* Aurelien Jacobs
mm.c Peter Ross
mov.c Michael Niedermayer, Baptiste Coudurier
movenc.c Michael Niedermayer, Baptiste Coudurier
movenc.c Baptiste Coudurier, Matthieu Bouron
mpc.c Kostya Shishkov
mpeg.c Michael Niedermayer
mpegenc.c Michael Niedermayer
@@ -418,6 +462,7 @@ Protocols:
bluray.c Petri Hintukainen
ftp.c Lukasz Marek
http.c Ronald S. Bultje
libssh.c Lukasz Marek
mms*.c Ronald S. Bultje
udp.c Luca Abeni
@@ -442,7 +487,7 @@ Operating systems / CPU architectures
Alpha Mans Rullgard, Falk Hueffner
ARM Mans Rullgard
AVR32 Mans Rullgard
MIPS Mans Rullgard
MIPS Mans Rullgard, Nedeljko Babic
Mac OS X / PowerPC Romain Dolbeau, Guillaume Poirier
Amiga / PowerPC Colin Ward
Linux / PowerPC Luca Barbato
@@ -456,9 +501,8 @@ x86 Michael Niedermayer
Releases
========
2.1 Michael Niedermayer
2.0 Michael Niedermayer
1.2 Michael Niedermayer
1.1 Michael Niedermayer
If you want to maintain an older release, please contact us
@@ -466,6 +510,7 @@ If you want to maintain an older release, please contact us
GnuPG Fingerprints of maintainers and contributors
==================================================
Alexander Strasser 1C96 78B7 83CB 8AA7 9AF5 D1EB A7D8 A57B A876 E58F
Anssi Hannula 1A92 FF42 2DD9 8D2E 8AF7 65A9 4278 C520 513D F3CB
Anton Khirnov 6D0C 6625 56F8 65D1 E5F5 814B B50A 1241 C067 07AB
Ash Hughes 694D 43D2 D180 C7C7 6421 ABD3 A641 D0B7 623D 6029

View File

@@ -1 +1 @@
2.0
2.1.1

View File

@@ -1 +1 @@
2.0
2.1.1

View File

@@ -47,6 +47,7 @@
#include "libavutil/eval.h"
#include "libavutil/dict.h"
#include "libavutil/opt.h"
#include "libavutil/cpu.h"
#include "cmdutils.h"
#include "version.h"
#if CONFIG_NETWORK
@@ -213,7 +214,10 @@ static const OptionDef *find_option(const OptionDef *po, const char *name)
return po;
}
#if HAVE_COMMANDLINETOARGVW
/* _WIN32 means using the windows libc - cygwin doesn't define that
* by default. HAVE_COMMANDLINETOARGVW is true on cygwin, while
* it doesn't provide the actual command line via GetCommandLineW(). */
#if HAVE_COMMANDLINETOARGVW && defined(_WIN32)
#include <windows.h>
#include <shellapi.h>
/* Will be leaked on exit */
@@ -494,6 +498,15 @@ void parse_loglevel(int argc, char **argv, const OptionDef *options)
}
}
static const AVOption *opt_find(void *obj, const char *name, const char *unit,
int opt_flags, int search_flags)
{
const AVOption *o = av_opt_find(obj, name, unit, opt_flags, search_flags);
if(o && !o->flags)
return NULL;
return o;
}
#define FLAGS (o->type == AV_OPT_TYPE_FLAGS) ? AV_DICT_APPEND : 0
int opt_default(void *optctx, const char *opt, const char *arg)
{
@@ -514,14 +527,14 @@ int opt_default(void *optctx, const char *opt, const char *arg)
p = opt + strlen(opt);
av_strlcpy(opt_stripped, opt, FFMIN(sizeof(opt_stripped), p - opt + 1));
if ((o = av_opt_find(&cc, opt_stripped, NULL, 0,
if ((o = opt_find(&cc, opt_stripped, NULL, 0,
AV_OPT_SEARCH_CHILDREN | AV_OPT_SEARCH_FAKE_OBJ)) ||
((opt[0] == 'v' || opt[0] == 'a' || opt[0] == 's') &&
(o = av_opt_find(&cc, opt + 1, NULL, 0, AV_OPT_SEARCH_FAKE_OBJ)))) {
(o = opt_find(&cc, opt + 1, NULL, 0, AV_OPT_SEARCH_FAKE_OBJ)))) {
av_dict_set(&codec_opts, opt, arg, FLAGS);
consumed = 1;
}
if ((o = av_opt_find(&fc, opt, NULL, 0,
if ((o = opt_find(&fc, opt, NULL, 0,
AV_OPT_SEARCH_CHILDREN | AV_OPT_SEARCH_FAKE_OBJ))) {
av_dict_set(&format_opts, opt, arg, FLAGS);
if (consumed)
@@ -530,7 +543,7 @@ int opt_default(void *optctx, const char *opt, const char *arg)
}
#if CONFIG_SWSCALE
sc = sws_get_class();
if (!consumed && av_opt_find(&sc, opt, NULL, 0,
if (!consumed && opt_find(&sc, opt, NULL, 0,
AV_OPT_SEARCH_CHILDREN | AV_OPT_SEARCH_FAKE_OBJ)) {
// XXX we only support sws_flags, not arbitrary sws options
int ret = av_opt_set(sws_opts, opt, arg, 0);
@@ -543,7 +556,7 @@ int opt_default(void *optctx, const char *opt, const char *arg)
#endif
#if CONFIG_SWRESAMPLE
swr_class = swr_get_class();
if (!consumed && (o=av_opt_find(&swr_class, opt, NULL, 0,
if (!consumed && (o=opt_find(&swr_class, opt, NULL, 0,
AV_OPT_SEARCH_CHILDREN | AV_OPT_SEARCH_FAKE_OBJ))) {
struct SwrContext *swr = swr_alloc();
int ret = av_opt_set(swr, opt, arg, 0);
@@ -557,7 +570,7 @@ int opt_default(void *optctx, const char *opt, const char *arg)
}
#endif
#if CONFIG_AVRESAMPLE
if ((o=av_opt_find(&rc, opt, NULL, 0,
if ((o=opt_find(&rc, opt, NULL, 0,
AV_OPT_SEARCH_CHILDREN | AV_OPT_SEARCH_FAKE_OBJ))) {
av_dict_set(&resample_opts, opt, arg, FLAGS);
consumed = 1;
@@ -796,6 +809,18 @@ do { \
return 0;
}
int opt_cpuflags(void *optctx, const char *opt, const char *arg)
{
int ret;
unsigned flags = av_get_cpu_flags();
if ((ret = av_parse_cpu_caps(&flags, arg)) < 0)
return ret;
av_force_cpu_flags(flags);
return 0;
}
int opt_loglevel(void *optctx, const char *opt, const char *arg)
{
const struct { const char *name; int level; } log_levels[] = {
@@ -948,18 +973,6 @@ int opt_max_alloc(void *optctx, const char *opt, const char *arg)
return 0;
}
int opt_cpuflags(void *optctx, const char *opt, const char *arg)
{
int ret;
unsigned flags = av_get_cpu_flags();
if ((ret = av_parse_cpu_caps(&flags, arg)) < 0)
return ret;
av_force_cpu_flags(flags);
return 0;
}
int opt_timelimit(void *optctx, const char *opt, const char *arg)
{
#if HAVE_SETRLIMIT
@@ -1469,8 +1482,9 @@ int show_filters(void *optctx, const char *opt, const char *arg)
const AVFilterPad *pad;
printf("Filters:\n"
" T. = Timeline support\n"
" .S = Slice threading\n"
" T.. = Timeline support\n"
" .S. = Slice threading\n"
" ..C = Commmand support\n"
" A = Audio input/output\n"
" V = Video input/output\n"
" N = Dynamic number and/or type of input/output\n"
@@ -1494,15 +1508,28 @@ int show_filters(void *optctx, const char *opt, const char *arg)
( i && (filter->flags & AVFILTER_FLAG_DYNAMIC_OUTPUTS))) ? 'N' : '|';
}
*descr_cur = 0;
printf(" %c%c %-16s %-10s %s\n",
printf(" %c%c%c %-16s %-10s %s\n",
filter->flags & AVFILTER_FLAG_SUPPORT_TIMELINE ? 'T' : '.',
filter->flags & AVFILTER_FLAG_SLICE_THREADS ? 'S' : '.',
filter->process_command ? 'C' : '.',
filter->name, descr, filter->description);
}
#endif
return 0;
}
void show_colors(void *optctx, const char *opt, const char *arg)
{
const char *name;
const uint8_t *rgb;
int i;
printf("%-32s #RRGGBB\n", "name");
for (i = 0; name = av_get_known_color_name(i, &rgb); i++)
printf("%-32s #%02x%02x%02x\n", name, rgb[0], rgb[1], rgb[2]);
}
int show_pix_fmts(void *optctx, const char *opt, const char *arg)
{
const AVPixFmtDescriptor *pix_desc = NULL;

View File

@@ -81,6 +81,11 @@ void uninit_opts(void);
*/
void log_callback_help(void* ptr, int level, const char* fmt, va_list vl);
/**
* Override the cpuflags.
*/
int opt_cpuflags(void *optctx, const char *opt, const char *arg);
/**
* Fallback for options that are not explicitly handled, these will be
* parsed through AVOptions.
@@ -96,8 +101,6 @@ int opt_report(const char *opt);
int opt_max_alloc(void *optctx, const char *opt, const char *arg);
int opt_cpuflags(void *optctx, const char *opt, const char *arg);
int opt_codec_debug(void *optctx, const char *opt, const char *arg);
int opt_opencl(void *optctx, const char *opt, const char *arg);
@@ -485,6 +488,12 @@ int show_layouts(void *optctx, const char *opt, const char *arg);
*/
int show_sample_fmts(void *optctx, const char *opt, const char *arg);
/**
* Print a listing containing all the color names and values recognized
* by the program.
*/
void show_colors(void *optctx, const char *opt, const char *arg);
/**
* Return a positive value if a line read from standard input
* starts with [yY], otherwise return 0.
@@ -498,7 +507,7 @@ int read_yesno(void);
* @param filename file to read from
* @param bufptr location where pointer to buffer is returned
* @param size location where size of buffer is returned
* @return 0 in case of success, a negative value corresponding to an
* @return >= 0 in case of success, a negative value corresponding to an
* AVERROR error code in case of failure.
*/
int cmdutils_read_file(const char *filename, char **bufptr, size_t *size);

View File

@@ -14,11 +14,12 @@
{ "pix_fmts" , OPT_EXIT, {.func_arg = show_pix_fmts }, "show available pixel formats" },
{ "layouts" , OPT_EXIT, {.func_arg = show_layouts }, "show standard channel layouts" },
{ "sample_fmts", OPT_EXIT, {.func_arg = show_sample_fmts }, "show available audio sample formats" },
{ "colors" , OPT_EXIT, {.func_arg = show_colors }, "show available color names" },
{ "loglevel" , HAS_ARG, {.func_arg = opt_loglevel}, "set logging level", "loglevel" },
{ "v", HAS_ARG, {.func_arg = opt_loglevel}, "set logging level", "loglevel" },
{ "report" , 0, {(void*)opt_report}, "generate a report" },
{ "max_alloc" , HAS_ARG, {.func_arg = opt_max_alloc}, "set maximum size of a single allocated block", "bytes" },
{ "cpuflags" , HAS_ARG | OPT_EXPERT, {.func_arg = opt_cpuflags}, "force specific cpu flags", "flags" },
{ "cpuflags" , HAS_ARG | OPT_EXPERT, { .func_arg = opt_cpuflags }, "force specific cpu flags", "flags" },
#if CONFIG_OPENCL
{ "opencl_options", HAS_ARG, {.func_arg = opt_opencl}, "set OpenCL environment options" },
#endif

View File

@@ -99,7 +99,8 @@ TOOLOBJS := $(TOOLS:%=tools/%.o)
TOOLS := $(TOOLS:%=tools/%$(EXESUF))
HEADERS += $(HEADERS-yes)
DEP_LIBS := $(foreach NAME,$(FFLIBS),lib$(NAME)/$($(CONFIG_SHARED:yes=S)LIBNAME))
PATH_LIBNAME = $(foreach NAME,$(1),lib$(NAME)/$($(CONFIG_SHARED:yes=S)LIBNAME))
DEP_LIBS := $(foreach lib,$(FFLIBS),$(call PATH_LIBNAME,$(lib)))
SRC_DIR := $(SRC_PATH)/lib$(NAME)
ALLHEADERS := $(subst $(SRC_DIR)/,$(SUBDIR),$(wildcard $(SRC_DIR)/*.h $(SRC_DIR)/$(ARCH)/*.h))

View File

@@ -1,9 +1,26 @@
/*
* Workaround aix-specific class() function clashing with ffmpeg class usage
* Work around the class() function in AIX math.h clashing with
* identifiers named "class".
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef COMPAT_AIX_MATH_H
#define COMPAT_AIX_MATH_H
#ifndef FFMPEG_COMPAT_AIX_MATH_H
#define FFMPEG_COMPAT_AIX_MATH_H
#define class class_in_math_h_causes_problems
@@ -11,4 +28,4 @@
#undef class
#endif /* COMPAT_AIX_MATH_H */
#endif /* FFMPEG_COMPAT_AIX_MATH_H */

View File

@@ -0,0 +1,68 @@
// Copyright (c) 2011 FFmpegSource Project
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
/* these are defines/functions that are used and were changed in the switch to 2.6
* and are needed to maintain full compatility with 2.5 */
enum {
AVS_CS_YV12_25 = 1<<3 | AVS_CS_YUV | AVS_CS_PLANAR, // y-v-u, planar
AVS_CS_I420_25 = 1<<4 | AVS_CS_YUV | AVS_CS_PLANAR, // y-u-v, planar
};
AVSC_INLINE int avs_get_height_p_25(const AVS_VideoFrame * p, int plane) {
switch (plane)
{
case AVS_PLANAR_U: case AVS_PLANAR_V:
if (p->pitchUV)
return p->height>>1;
return 0;
}
return p->height;}
AVSC_INLINE int avs_get_row_size_p_25(const AVS_VideoFrame * p, int plane) {
int r;
switch (plane)
{
case AVS_PLANAR_U: case AVS_PLANAR_V:
if (p->pitchUV)
return p->row_size>>1;
else
return 0;
case AVS_PLANAR_U_ALIGNED: case AVS_PLANAR_V_ALIGNED:
if (p->pitchUV)
{
r = ((p->row_size+AVS_FRAME_ALIGN-1)&(~(AVS_FRAME_ALIGN-1)) )>>1; // Aligned rowsize
if (r < p->pitchUV)
return r;
return p->row_size>>1;
}
else
return 0;
case AVS_PLANAR_Y_ALIGNED:
r = (p->row_size+AVS_FRAME_ALIGN-1)&(~(AVS_FRAME_ALIGN-1)); // Aligned rowsize
if (r <= p->pitch)
return r;
return p->row_size;
}
return p->row_size;
}
AVSC_INLINE int avs_is_yv12_25(const AVS_VideoInfo * p)
{ return ((p->pixel_type & AVS_CS_YV12_25) == AVS_CS_YV12_25)||((p->pixel_type & AVS_CS_I420_25) == AVS_CS_I420_25); }

View File

@@ -1,3 +1,24 @@
/*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef FFMPEG_COMPAT_TMS470_MATH_H
#define FFMPEG_COMPAT_TMS470_MATH_H
#include_next <math.h>
#undef INFINITY
@@ -5,3 +26,5 @@
#define INFINITY (*(const float*)((const unsigned []){ 0x7f800000 }))
#define NAN (*(const float*)((const unsigned []){ 0x7fc00000 }))
#endif /* FFMPEG_COMPAT_TMS470_MATH_H */

View File

@@ -26,8 +26,8 @@
* w32threads to pthreads wrapper
*/
#ifndef LIBAV_W32PTHREADS_H
#define LIBAV_W32PTHREADS_H
#ifndef FFMPEG_COMPAT_W32PTHREADS_H
#define FFMPEG_COMPAT_W32PTHREADS_H
/* Build up a pthread-like API using underlying Windows API. Have only static
* methods so as to not conflict with a potentially linked in pthread-win32
@@ -62,11 +62,18 @@ typedef struct pthread_cond_t {
} pthread_cond_t;
/* function pointers to conditional variable API on windows 6.0+ kernels */
#if _WIN32_WINNT < 0x0600
static void (WINAPI *cond_broadcast)(pthread_cond_t *cond);
static void (WINAPI *cond_init)(pthread_cond_t *cond);
static void (WINAPI *cond_signal)(pthread_cond_t *cond);
static BOOL (WINAPI *cond_wait)(pthread_cond_t *cond, pthread_mutex_t *mutex,
DWORD milliseconds);
#else
#define cond_init InitializeConditionVariable
#define cond_broadcast WakeAllConditionVariable
#define cond_signal WakeConditionVariable
#define cond_wait SleepConditionVariableCS
#endif
static unsigned __stdcall attribute_align_arg win32thread_worker(void *arg)
{
@@ -268,13 +275,8 @@ static void w32thread_init(void)
(void*)GetProcAddress(kernel_dll, "WakeConditionVariable");
cond_wait =
(void*)GetProcAddress(kernel_dll, "SleepConditionVariableCS");
#else
cond_init = InitializeConditionVariable;
cond_broadcast = WakeAllConditionVariable;
cond_signal = WakeConditionVariable;
cond_wait = SleepConditionVariableCS;
#endif
}
#endif /* LIBAV_W32PTHREADS_H */
#endif /* FFMPEG_COMPAT_W32PTHREADS_H */

211
configure vendored
View File

@@ -82,6 +82,7 @@ Standard options:
--prefix=PREFIX install in PREFIX [$prefix]
--bindir=DIR install binaries in DIR [PREFIX/bin]
--datadir=DIR install data files in DIR [PREFIX/share/ffmpeg]
--docdir=DIR install documentation in DIR [PREFIX/share/doc/ffmpeg]
--libdir=DIR install libs in DIR [PREFIX/lib]
--shlibdir=DIR install shared libs in DIR [PREFIX/lib]
--incdir=DIR install includes in DIR [PREFIX/include]
@@ -186,12 +187,13 @@ Individual component options:
--disable-filters disable all filters
External library support:
--enable-avisynth enable reading of AVISynth script files [no]
--enable-avisynth enable reading of AviSynth script files [no]
--disable-bzlib disable bzlib [autodetect]
--enable-fontconfig enable fontconfig
--enable-frei0r enable frei0r video filtering
--enable-gnutls enable gnutls [no]
--disable-iconv disable iconv [autodetect]
--enable-ladspa enable LADSPA audio filtering
--enable-libaacplus enable AAC+ encoding via libaacplus [no]
--enable-libass enable libass subtitles rendering [no]
--enable-libbluray enable BluRay reading using libbluray [no]
@@ -201,7 +203,7 @@ External library support:
--enable-libdc1394 enable IIDC-1394 grabbing using libdc1394
and libraw1394 [no]
--enable-libfaac enable AAC encoding via libfaac [no]
--enable-libfdk-aac enable AAC encoding via libfdk-aac [no]
--enable-libfdk-aac enable AAC de/encoding via libfdk-aac [no]
--enable-libflite enable flite (voice synthesis) support via libflite [no]
--enable-libfreetype enable libfreetype [no]
--enable-libgme enable Game Music Emu via libgme [no]
@@ -224,6 +226,7 @@ External library support:
--enable-libshine enable fixed-point MP3 encoding via libshine [no]
--enable-libsoxr enable Include libsoxr resampling [no]
--enable-libspeex enable Speex de/encoding via libspeex [no]
--enable-libssh enable SFTP protocol via libssh [no]
--enable-libstagefright-h264 enable H.264 decoding via libstagefright [no]
--enable-libtheora enable Theora encoding via libtheora [no]
--enable-libtwolame enable MP2 encoding via libtwolame [no]
@@ -241,6 +244,7 @@ External library support:
--enable-libxvid enable Xvid encoding via xvidcore,
native MPEG-4/Xvid encoder exists [no]
--enable-libzmq enable message passing via libzmq [no]
--enable-libzvbi enable teletext support via libzvbi [no]
--enable-openal enable OpenAL 1.1 capture support [no]
--enable-opencl enable OpenCL code
--enable-openssl enable openssl [no]
@@ -256,6 +260,7 @@ Advanced options (experts only):
--target-exec=CMD command to run executables on target
--target-path=DIR path to view of build directory on target
--target-samples=DIR path to samples directory on target
--tempprefix=PATH force fixed dir/prefix instead of mktemp for checks
--toolchain=NAME set tool defaults according to NAME
--nm=NM use nm tool NM [$nm_default]
--ar=AR use archive tool AR [$ar_default]
@@ -310,6 +315,7 @@ Optimization options (experts only):
--disable-sse42 disable SSE4.2 optimizations
--disable-avx disable AVX optimizations
--disable-fma4 disable FMA4 optimizations
--disable-avx2 disable AVX2 optimizations
--disable-armv5te disable armv5te optimizations
--disable-armv6 disable armv6 optimizations
--disable-armv6t2 disable armv6t2 optimizations
@@ -419,7 +425,7 @@ sh_quote(){
}
cleanws(){
echo "$@" | sed 's/^ *//;s/ */ /g;s/ *$//'
echo "$@" | sed 's/^ *//;s/ */ /g;s/ *$//;s/\r//g'
}
filter(){
@@ -993,7 +999,7 @@ check_pkg_config(){
headers="$2"
funcs="$3"
shift 3
$pkg_config --exists $pkg 2>/dev/null || return
check_cmd $pkg_config --exists --print-errors $pkg || return
pkg_cflags=$($pkg_config --cflags $pkg)
pkg_libs=$($pkg_config --libs $pkg)
check_func_headers "$headers" "$funcs" $pkg_cflags $pkg_libs "$@" &&
@@ -1159,6 +1165,7 @@ EXTERNAL_LIBRARY_LIST="
frei0r
gnutls
iconv
ladspa
libaacplus
libass
libbluray
@@ -1189,6 +1196,7 @@ EXTERNAL_LIBRARY_LIST="
libshine
libsoxr
libspeex
libssh
libstagefright_h264
libtheora
libtwolame
@@ -1204,6 +1212,7 @@ EXTERNAL_LIBRARY_LIST="
libxavs
libxvid
libzmq
libzvbi
openal
opencl
openssl
@@ -1336,7 +1345,9 @@ ARCH_EXT_LIST_X86='
amd3dnow
amd3dnowext
avx
avx2
fma4
i686
mmx
mmxext
sse
@@ -1461,10 +1472,10 @@ HAVE_LIST="
glob
gnu_as
gsm_h
i686
ibm_asm
inet_aton
io_h
inline_asm_labels
isatty
jack_port_get_latency_range
kbhit
@@ -1496,9 +1507,11 @@ HAVE_LIST="
pod2man
poll_h
posix_memalign
pragma_deprecated
pthread_cancel
rdtsc
rsync_contimeout
sarestart
sched_getaffinity
sdl
SetConsoleTextAttribute
@@ -1532,6 +1545,7 @@ HAVE_LIST="
sys_select_h
sys_soundcard_h
sys_time_h
sys_un_h
sys_videoio_h
termios_h
texi2html
@@ -1552,6 +1566,7 @@ CONFIG_EXTRA="
ac3dsp
audio_frame_queue
dsputil
exif
frame_thread_encoder
gcrypt
golomb
@@ -1570,6 +1585,8 @@ CONFIG_EXTRA="
mpegvideoenc
nettle
rangecoder
riffdec
riffenc
rtpdec
rtpenc_chain
sinewin
@@ -1595,6 +1612,7 @@ CMDLINE_SELECT="
PATHS_LIST='
bindir
datadir
docdir
incdir
libdir
mandir
@@ -1638,6 +1656,7 @@ CMDLINE_SET="
target_os
target_path
target_samples
tempprefix
toolchain
valgrind
yasmexe
@@ -1672,7 +1691,9 @@ ppc4xx_deps="ppc"
vis_deps="sparc"
x86_64_suggest="fast_cmov i686"
cpunop_deps="i686"
x86_64_select="i686"
x86_64_suggest="fast_cmov"
amd3dnow_deps="mmx"
amd3dnowext_deps="amd3dnow"
@@ -1686,6 +1707,7 @@ sse4_deps="ssse3"
sse42_deps="sse4"
avx_deps="sse42"
fma4_deps="avx"
avx2_deps="avx"
mmx_external_deps="yasm"
mmx_inline_deps="inline_asm"
@@ -1734,7 +1756,7 @@ alac_encoder_select="lpc"
als_decoder_select="dsputil"
amrnb_decoder_select="lsp"
amrwb_decoder_select="lsp"
amv_decoder_select="dsputil hpeldsp"
amv_decoder_select="dsputil hpeldsp exif"
amv_encoder_select="aandcttables"
ape_decoder_select="dsputil"
asv1_decoder_select="dsputil"
@@ -1743,6 +1765,7 @@ asv2_decoder_select="dsputil"
asv2_encoder_select="dsputil"
atrac1_decoder_select="mdct sinewin"
atrac3_decoder_select="mdct"
avrn_decoder_select="exif"
bink_decoder_select="dsputil hpeldsp"
binkaudio_dct_decoder_select="mdct rdft dct sinewin"
binkaudio_rdft_decoder_select="mdct rdft sinewin"
@@ -1789,22 +1812,24 @@ h263i_decoder_select="h263_decoder"
h263p_encoder_select="h263_encoder"
h264_decoder_select="golomb h264chroma h264dsp h264pred h264qpel videodsp"
h264_decoder_suggest="error_resilience"
hevc_decoder_select="dsputil golomb videodsp"
huffyuv_decoder_select="dsputil"
huffyuv_encoder_select="dsputil huffman"
iac_decoder_select="dsputil fft mdct sinewin"
imc_decoder_select="dsputil fft mdct sinewin"
indeo3_decoder_select="hpeldsp"
interplay_video_decoder_select="hpeldsp"
jpegls_decoder_select="dsputil golomb hpeldsp"
jpegls_decoder_select="dsputil golomb hpeldsp exif"
jpegls_encoder_select="golomb"
jv_decoder_select="dsputil"
lagarith_decoder_select="dsputil"
ljpeg_encoder_select="aandcttables mpegvideoenc"
loco_decoder_select="golomb"
mdec_decoder_select="dsputil error_resilience mpegvideo"
metasound_decoder_select="lsp mdct sinewin"
mimic_decoder_select="dsputil hpeldsp"
mjpeg_decoder_select="dsputil hpeldsp"
mjpegb_decoder_select="dsputil hpeldsp"
mjpeg_decoder_select="dsputil hpeldsp exif"
mjpegb_decoder_select="dsputil hpeldsp exif"
mjpeg_encoder_select="aandcttables dsputil mpegvideoenc"
mlp_decoder_select="dsputil mlp_parser"
motionpixels_decoder_select="dsputil"
@@ -1834,7 +1859,7 @@ msmpeg4v2_encoder_select="h263_encoder"
msmpeg4v3_decoder_select="h263_decoder"
msmpeg4v3_encoder_select="h263_encoder"
mss2_decoder_select="error_resilience vc1_decoder"
mxpeg_decoder_select="dsputil hpeldsp"
mxpeg_decoder_select="dsputil hpeldsp exif"
nellymoser_decoder_select="mdct sinewin"
nellymoser_encoder_select="audio_frame_queue mdct sinewin"
nuv_decoder_select="dsputil lzo"
@@ -1860,7 +1885,7 @@ snow_encoder_select="aandcttables dsputil dwt h264qpel hpeldsp mpegvideoenc rang
sonic_decoder_select="golomb"
sonic_encoder_select="golomb"
sonic_ls_encoder_select="golomb"
sp5x_decoder_select="dsputil hpeldsp"
sp5x_decoder_select="dsputil hpeldsp exif"
svq1_decoder_select="hpeldsp"
svq1_encoder_select="aandcttables dsputil hpeldsp mpegvideoenc"
svq3_decoder_select="golomb h264chroma h264dsp h264pred h264qpel hpeldsp mpegvideo videodsp"
@@ -1869,7 +1894,7 @@ tak_decoder_select="dsputil"
theora_decoder_select="vp3_decoder"
tiff_decoder_suggest="zlib"
tiff_encoder_suggest="zlib"
thp_decoder_select="dsputil hpeldsp"
thp_decoder_select="dsputil hpeldsp exif"
truehd_decoder_select="mlp_parser"
truemotion2_decoder_select="dsputil"
truespeech_decoder_select="dsputil"
@@ -1888,6 +1913,7 @@ vp6_decoder_select="h264chroma hpeldsp huffman videodsp vp3dsp"
vp6a_decoder_select="vp6_decoder"
vp6f_decoder_select="vp6_decoder"
vp8_decoder_select="h264pred videodsp"
vp9_decoder_select="videodsp"
webp_decoder_select="vp8_decoder"
wmapro_decoder_select="mdct sinewin"
wmav1_decoder_select="mdct sinewin"
@@ -1979,6 +2005,7 @@ libaacplus_encoder_deps="libaacplus"
libcelt_decoder_deps="libcelt"
libfaac_encoder_deps="libfaac"
libfaac_encoder_select="audio_frame_queue"
libfdk_aac_decoder_deps="libfdk_aac"
libfdk_aac_encoder_deps="libfdk_aac"
libfdk_aac_encoder_select="audio_frame_queue"
libgme_demuxer_deps="libgme"
@@ -2028,30 +2055,45 @@ libxavs_encoder_deps="libxavs"
libxvid_encoder_deps="libxvid"
libutvideo_decoder_deps="libutvideo"
libutvideo_encoder_deps="libutvideo"
libzvbi_teletext_decoder_deps="libzvbi"
# demuxers / muxers
ac3_demuxer_select="ac3_parser"
asf_demuxer_select="riffdec"
asf_muxer_select="riffenc"
asf_stream_muxer_select="asf_muxer"
avi_demuxer_select="riffdec"
avi_muxer_select="riffenc"
avisynth_demuxer_deps="avisynth"
avisynth_demuxer_select="riffdec"
caf_demuxer_select="riffdec"
dirac_demuxer_select="dirac_parser"
dts_demuxer_select="dca_parser"
dtshd_demuxer_select="dca_parser"
dxa_demuxer_select="riffdec"
eac3_demuxer_select="ac3_parser"
f4v_muxer_select="mov_muxer"
flac_demuxer_select="flac_parser"
hls_muxer_select="mpegts_muxer"
ipod_muxer_select="mov_muxer"
ismv_muxer_select="mov_muxer"
libnut_demuxer_deps="libnut"
libnut_muxer_deps="libnut"
matroska_audio_muxer_select="matroska_muxer"
matroska_demuxer_select="riffdec"
matroska_demuxer_suggest="bzlib lzo zlib"
matroska_muxer_select="riffenc"
mmf_muxer_select="riffenc"
mov_demuxer_select="riffdec"
mov_demuxer_suggest="zlib"
mov_muxer_select="rtpenc_chain"
mov_muxer_select="riffenc rtpenc_chain"
mp3_demuxer_select="mpegaudio_parser"
mp4_muxer_select="mov_muxer"
mpegts_muxer_select="adts_muxer latm_muxer"
mpegtsraw_demuxer_select="mpegts_demuxer"
mxf_d10_muxer_select="mxf_muxer"
nut_muxer_select="riffenc"
nuv_demuxer_select="riffdec"
ogg_demuxer_select="golomb"
psp_muxer_select="mov_muxer"
rtp_demuxer_select="sdp_demuxer"
@@ -2067,8 +2109,14 @@ tak_demuxer_select="tak_parser"
tg2_muxer_select="mov_muxer"
tgp_muxer_select="mov_muxer"
vobsub_demuxer_select="mpegps_demuxer"
w64_demuxer_deps="wav_demuxer"
w64_muxer_deps="wav_muxer"
w64_demuxer_select="wav_demuxer"
w64_muxer_select="wav_muxer"
wav_demuxer_select="riffdec"
wav_muxer_select="riffenc"
webm_muxer_select="riffenc"
wtv_demuxer_select="riffdec"
xmv_demuxer_select="riffdec"
xwma_demuxer_select="riffdec"
# indevs / outdevs
alsa_indev_deps="alsa_asoundlib_h snd_pcm_htimestamp"
@@ -2077,8 +2125,10 @@ bktr_indev_deps_any="dev_bktr_ioctl_bt848_h machine_ioctl_bt848_h dev_video_bktr
caca_outdev_deps="libcaca"
dshow_indev_deps="IBaseFilter"
dshow_indev_extralibs="-lpsapi -lole32 -lstrmiids -luuid"
dv1394_indev_deps="dv1394 dv_demuxer"
dv1394_indev_deps="dv1394"
dv1394_indev_select="dv_demuxer"
fbdev_indev_deps="linux_fb_h"
fbdev_outdev_deps="linux_fb_h"
iec61883_indev_deps="libiec61883"
jack_indev_deps="jack_jack_h sem_timedwait"
lavfi_indev_deps="avfilter"
@@ -2089,6 +2139,7 @@ openal_indev_deps="openal"
oss_indev_deps_any="soundcard_h sys_soundcard_h"
oss_outdev_deps_any="soundcard_h sys_soundcard_h"
pulse_indev_deps="libpulse"
pulse_outdev_deps="libpulse"
sdl_outdev_deps="sdl"
sndio_indev_deps="sndio_h"
sndio_outdev_deps="sndio_h"
@@ -2118,6 +2169,7 @@ librtmpe_protocol_deps="librtmp"
librtmps_protocol_deps="librtmp"
librtmpt_protocol_deps="librtmp"
librtmpte_protocol_deps="librtmp"
libssh_protocol_deps="libssh"
mmsh_protocol_select="http_protocol"
mmst_protocol_select="network"
rtmp_protocol_deps="!librtmp_protocol"
@@ -2136,6 +2188,8 @@ tcp_protocol_select="network"
tls_protocol_deps_any="openssl gnutls"
tls_protocol_select="tcp_protocol"
udp_protocol_select="network"
unix_protocol_deps="sys_un_h"
unix_protocol_select="network"
# filters
aconvert_filter_deps="swresample"
@@ -2143,13 +2197,15 @@ amovie_filter_deps="avcodec avformat"
aresample_filter_deps="swresample"
ass_filter_deps="libass"
asyncts_filter_deps="avresample"
atempo_filter_deps="avcodec rdft"
atempo_filter_deps="avcodec"
atempo_filter_select="rdft"
azmq_filter_deps="libzmq"
blackframe_filter_deps="gpl"
boxblur_filter_deps="gpl"
colormatrix_filter_deps="gpl"
cropdetect_filter_deps="gpl"
dctdnoiz_filter_deps="avcodec fft"
dctdnoiz_filter_deps="avcodec"
dctdnoiz_filter_select="fft"
delogo_filter_deps="gpl"
deshake_filter_deps="avcodec"
deshake_filter_select="dsputil"
@@ -2163,27 +2219,31 @@ frei0r_src_filter_extralibs='$ldl'
geq_filter_deps="gpl"
histeq_filter_deps="gpl"
hqdn3d_filter_deps="gpl"
hue_filter_deps="gpl"
interlace_filter_deps="gpl"
kerndeint_filter_deps="gpl"
ladspa_filter_deps="ladspa dlopen"
mcdeint_filter_deps="avcodec gpl"
movie_filter_deps="avcodec avformat"
mp_filter_deps="gpl avcodec swscale inline_asm"
mpdecimate_filter_deps="gpl avcodec"
mptestsrc_filter_deps="gpl"
negate_filter_deps="lut_filter"
noise_filter_deps="gpl"
perspective_filter_deps="gpl"
resample_filter_deps="avresample"
ocv_filter_deps="libopencv"
owdenoise_filter_deps="gpl"
pan_filter_deps="swresample"
phase_filter_deps="gpl"
pp_filter_deps="gpl postproc"
pullup_filter_deps="gpl"
removelogo_filter_deps="avcodec avformat swscale"
sab_filter_deps="gpl swscale"
scale_filter_deps="swscale"
smartblur_filter_deps="gpl swscale"
showspectrum_filter_deps="avcodec rdft"
spp_filter_deps="gpl avcodec fft"
showspectrum_filter_deps="avcodec"
showspectrum_filter_select="rdft"
spp_filter_deps="gpl avcodec"
spp_filter_select="fft"
stereo3d_filter_deps="gpl"
subtitles_filter_deps="avformat avcodec libass"
super2xsai_filter_deps="gpl"
@@ -2206,14 +2266,15 @@ postproc_deps="avutil gpl"
swscale_deps="avutil"
# programs
ffmpeg_deps="avcodec avfilter avformat swscale swresample"
ffmpeg_deps="avcodec avfilter avformat swresample"
ffmpeg_select="aformat_filter anull_filter atrim_filter format_filter
null_filter
setpts_filter trim_filter"
ffplay_deps="avcodec avformat swscale swresample sdl"
ffplay_select="rdft crop_filter"
ffprobe_deps="avcodec avformat"
ffserver_deps="avformat ffm_muxer fork rtp_protocol rtsp_demuxer"
ffserver_deps="avformat fork sarestart"
ffserver_select="ffm_muxer rtp_protocol rtsp_demuxer"
ffserver_extralibs='$ldl'
# documentation
@@ -2231,6 +2292,7 @@ logfile="config.log"
prefix_default="/usr/local"
bindir_default='${prefix}/bin'
datadir_default='${prefix}/share/ffmpeg'
docdir_default='${prefix}/share/doc/ffmpeg'
incdir_default='${prefix}/include'
libdir_default='${prefix}/lib'
mandir_default='${prefix}/share/man'
@@ -2281,7 +2343,6 @@ enable dxva2 vaapi vdpau
# build settings
SHFLAGS='-shared -Wl,-soname,$$(@F)'
FFSERVERLDFLAGS=-Wl,-E
LIBPREF="lib"
LIBSUF=".a"
FULLNAME='$(NAME)$(BUILDSUF)'
@@ -2600,7 +2661,11 @@ HOSTEXESUF=$(exesuf $host_os)
: ${TMPDIR:=$TMP}
: ${TMPDIR:=/tmp}
if ! check_cmd mktemp -u XXXXXX; then
if [ -n "$tempprefix" ] ; then
mktemp(){
echo $tempprefix.${HOSTNAME}.${UID}
}
elif ! check_cmd mktemp -u XXXXXX; then
# simple replacement for missing mktemp
# NOT SAFE FOR GENERAL USE
mktemp(){
@@ -2663,6 +2728,18 @@ ccc_flags(){
done
}
cparser_flags(){
for flag; do
case $flag in
-Wno-switch) echo -Wno-switch-enum ;;
-Wno-format-zero-length) ;;
-Wdisabled-optimization) ;;
-Wno-pointer-sign) echo -Wno-other ;;
*) echo $flag ;;
esac
done
}
msvc_common_flags(){
for flag; do
case $flag in
@@ -2697,7 +2774,7 @@ msvc_flags(){
-wd4146 -wd4057 -wd4204 -wd4706 -wd4305 \
-wd4152 -wd4324 -we4013 -wd4100 -wd4214 \
-wd4554 \
-wd4996 -wd4273 ;;
-wd4273 ;;
esac
done
}
@@ -2801,7 +2878,9 @@ probe_cc(){
unset _depflags _DEPCMD _DEPFLAGS
_flags_filter=echo
if $_cc -v 2>&1 | grep -q '^gcc.*LLVM'; then
if $_cc --version 2>&1 | grep -q '^GNU assembler'; then
true # no-op to avoid reading stdin in following checks
elif $_cc -v 2>&1 | grep -q '^gcc.*LLVM'; then
_type=llvm_gcc
gcc_extra_ver=$(expr "$($_cc --version | head -n1)" : '.*\((.*)\)')
_ident="llvm-gcc $($_cc -dumpversion) $gcc_extra_ver"
@@ -2922,7 +3001,7 @@ probe_cc(){
_ld_lib='lib%.a'
_ld_path='-libpath:'
_flags='-nologo'
_cflags='-D_USE_MATH_DEFINES -Dinline=__inline -FIstdlib.h -Dstrtoll=_strtoi64'
_cflags='-D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS -Dinline=__inline -FIstdlib.h -Dstrtoll=_strtoi64'
if [ $pfx = hostcc ]; then
append _cflags -Dsnprintf=_snprintf
fi
@@ -2955,6 +3034,13 @@ probe_cc(){
if [ $pfx = hostcc ]; then
append _cflags -Dsnprintf=_snprintf
fi
elif $_cc --version 2>/dev/null | grep -q ^cparser; then
_type=cparser
_ident=$($_cc --version | head -n1)
_depflags='-MMD'
_cflags_speed='-O4'
_cflags_size='-O2'
_flags_filter=cparser_flags
fi
eval ${pfx}_type=\$_type
@@ -3029,6 +3115,9 @@ if $ar 2>&1 | grep -q Microsoft; then
elif $ar 2>&1 | grep -q 'Texas Instruments'; then
arflags="rq"
ar_o='$@'
elif $ar 2>&1 | grep -q 'Usage: ar.*-X.*any'; then
arflags='-Xany -r -c'
ar_o='$@'
else
arflags="rc"
ar_o='$@'
@@ -3078,7 +3167,7 @@ case "$arch" in
aarch64|arm64)
arch="aarch64"
;;
arm*|iPad*)
arm*|iPad*|iPhone*)
arch="arm"
;;
mips*|IP*)
@@ -3401,7 +3490,9 @@ enabled spic && enable_weak pic
# OS specific
case $target_os in
aix)
SHFLAGS=-shared
add_cppflags '-I\$(SRC_PATH)/compat/aix'
enabled shared && add_ldflags -Wl,-brtl
;;
haiku)
prefix_default="/boot/common"
@@ -3409,7 +3500,6 @@ case $target_os in
host_libs=
;;
sunos)
FFSERVERLDFLAGS=""
SHFLAGS='-shared -Wl,-h,$$(@F)'
enabled x86 && SHFLAGS="-mimpure-text $SHFLAGS"
network_extralibs="-lsocket -lnsl"
@@ -3457,7 +3547,6 @@ case $target_os in
SLIBSUF=".dylib"
SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME).$(LIBVERSION)$(SLIBSUF)'
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME).$(LIBMAJOR)$(SLIBSUF)'
FFSERVERLDFLAGS=-Wl,-bind_at_load
objformat="macho"
enabled x86_64 && objformat="macho64"
enabled_any pic shared ||
@@ -3505,7 +3594,7 @@ case $target_os in
# Link to the import library instead of the normal static library
# for shared libs.
LD_LIB='%.lib'
# Cannot build shared and static libs at the same time with MSVC.
# Cannot build both shared and static libs with MSVC or icl.
disable static
fi
shlibdir_default="$bindir_default"
@@ -3557,7 +3646,6 @@ case $target_os in
add_cppflags -D_GNU_SOURCE
add_ldflags -Zomf -Zbin-files -Zargs-wild -Zmap
SHFLAGS='$(SUBDIR)$(NAME).def -Zdll -Zomf'
FFSERVERLDFLAGS=""
LIBSUF="_s.a"
SLIBPREF=""
SLIBSUF=".dll"
@@ -3598,7 +3686,6 @@ case $target_os in
;;
osf1)
add_cppflags -D_OSF_SOURCE -D_POSIX_PII -D_REENTRANT
FFSERVERLDFLAGS=
;;
minix)
;;
@@ -3725,6 +3812,7 @@ die_license_disabled gpl libvidstab
die_license_disabled gpl libx264
die_license_disabled gpl libxavs
die_license_disabled gpl libxvid
die_license_disabled gpl libzvbi
die_license_disabled gpl x11grab
die_license_disabled nonfree libaacplus
@@ -3774,6 +3862,10 @@ void foo(char * $restrict_keyword p);
EOF
done
check_cc <<EOF && enable pragma_deprecated
void foo(void) { _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") }
EOF
check_cc <<EOF && enable attribute_packed
struct { int x; } __attribute__((packed)) x;
EOF
@@ -3787,6 +3879,8 @@ unsigned int endian = 'B' << 24 | 'I' << 16 | 'G' << 8 | 'E';
EOF
od -t x1 $TMPO | grep -q '42 *49 *47 *45' && enable bigendian
check_inline_asm inline_asm_labels '"1:\n"'
if enabled alpha; then
check_cflags -mieee
@@ -3860,7 +3954,9 @@ elif enabled ppc; then
# AltiVec flags: The FSF version of GCC differs from the Apple version
if enabled altivec; then
nogas=warn
if ! enabled_any pic ppc64; then
nogas=warn
fi
check_cflags -maltivec -mabi=altivec &&
{ check_header altivec.h && inc_altivec_h="#include <altivec.h>" ; } ||
check_cflags -faltivec
@@ -3928,11 +4024,11 @@ EOF
elf*) enabled debug && append YASMFLAGS $yasm_debug ;;
esac
check_yasm "pextrd [eax], xmm0, 1" && enable yasm ||
die "yasm not found, use --disable-yasm for a crippled build"
check_yasm "vextractf128 xmm0, ymm0, 0" || disable avx_external
check_yasm "movbe ecx, [5]" && enable yasm ||
die "yasm/nasm not found or too old. Use --disable-yasm for a crippled build."
check_yasm "vextractf128 xmm0, ymm0, 0" || disable avx_external avresample
check_yasm "vfmaddps ymm0, ymm1, ymm2, ymm3" || disable fma4_external
check_yasm "CPU amdnop" && enabled i686 && enable cpunop
check_yasm "CPU amdnop" && enable cpunop
fi
case "$cpu" in
@@ -4028,6 +4124,7 @@ check_builtin sync_val_compare_and_swap "" "int *ptr; int oldval, newval; __sync
check_builtin machine_rw_barrier mbarrier.h "__machine_rw_barrier()"
check_builtin atomic_cas_ptr atomic.h "void **ptr; void *oldval, *newval; atomic_cas_ptr(ptr, oldval, newval)"
check_builtin MemoryBarrier windows.h "MemoryBarrier()"
check_builtin sarestart signal.h "SA_RESTART"
check_func sysconf
check_func sysctl
check_func usleep
@@ -4062,6 +4159,7 @@ check_header sys/param.h
check_header sys/resource.h
check_header sys/select.h
check_header sys/time.h
check_header sys/un.h
check_header termios.h
check_header unistd.h
check_header vdpau/vdpau.h
@@ -4131,6 +4229,7 @@ enabled avisynth && { { check_lib2 "windows.h" LoadLibrary; } ||
enabled fontconfig && require_pkg_config fontconfig "fontconfig/fontconfig.h" FcInit
enabled frei0r && { check_header frei0r.h || die "ERROR: frei0r.h header not found"; }
enabled gnutls && require_pkg_config gnutls gnutls/gnutls.h gnutls_global_init
enabled ladspa && { check_header ladspa.h || die "ERROR: ladspa.h header not found"; }
enabled libiec61883 && require libiec61883 libiec61883/iec61883.h iec61883_cmp_connect -lraw1394 -lavc1394 -lrom1394 -liec61883
enabled libaacplus && require "libaacplus >= 2.0.0" aacplus.h aacplusEncOpen -laacplus
enabled libass && require_pkg_config libass ass/ass.h ass_library_init
@@ -4144,7 +4243,7 @@ enabled libfdk_aac && require libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen
flite_libs="-lflite_cmu_time_awb -lflite_cmu_us_awb -lflite_cmu_us_kal -lflite_cmu_us_kal16 -lflite_cmu_us_rms -lflite_cmu_us_slt -lflite_usenglish -lflite_cmulex -lflite"
enabled libflite && require2 libflite "flite/flite.h" flite_init $flite_libs
enabled libfreetype && require_pkg_config freetype2 "ft2build.h freetype/freetype.h" FT_Init_FreeType
enabled libgme && require libgme gme/gme.h gme_new_emu -lgme
enabled libgme && require libgme gme/gme.h gme_new_emu -lgme -lstdc++
enabled libgsm && { for gsm_hdr in "gsm.h" "gsm/gsm.h"; do
check_lib "${gsm_hdr}" gsm_create -lgsm && break;
done || die "ERROR: libgsm not found"; }
@@ -4163,8 +4262,9 @@ enabled libpulse && require_pkg_config libpulse-simple pulse/simple.h p
enabled libquvi && require_pkg_config libquvi quvi/quvi.h quvi_init
enabled librtmp && require_pkg_config librtmp librtmp/rtmp.h RTMP_Socket
enabled libschroedinger && require_pkg_config schroedinger-1.0 schroedinger/schro.h schro_init
enabled libshine && require_pkg_config shine shine/layer3.h shine_encode_frame
enabled libshine && require_pkg_config shine shine/layer3.h shine_encode_buffer
enabled libsoxr && require libsoxr soxr.h soxr_create -lsoxr
enabled libssh && require_pkg_config libssh libssh/sftp.h sftp_init
enabled libspeex && require libspeex speex/speex.h speex_decoder_init -lspeex
enabled libstagefright_h264 && require_cpp libstagefright_h264 "binder/ProcessState.h media/stagefright/MetaData.h
media/stagefright/MediaBufferGroup.h media/stagefright/MediaDebug.h media/stagefright/MediaDefs.h
@@ -4193,6 +4293,7 @@ enabled libx264 && require libx264 x264.h x264_encoder_encode -lx264 &
enabled libxavs && require libxavs xavs.h xavs_encoder_encode -lxavs
enabled libxvid && require libxvid xvid.h xvid_global -lxvidcore
enabled libzmq && require_pkg_config libzmq zmq.h zmq_ctx_new
enabled libzvbi && require libzvbi libzvbi.h vbi_decoder_new -lzvbi
enabled openal && { { for al_libs in "${OPENAL_LIBS}" "-lopenal" "-lOpenAL32"; do
check_lib 'AL/al.h' alGetError "${al_libs}" && break; done } ||
die "ERROR: openal not found"; } &&
@@ -4201,7 +4302,7 @@ enabled openal && { { for al_libs in "${OPENAL_LIBS}" "-lopenal" "-lO
enabled opencl && { check_lib2 OpenCL/cl.h clEnqueueNDRangeKernel -Wl,-framework,OpenCL ||
check_lib2 CL/cl.h clEnqueueNDRangeKernel -lOpenCL ||
die "ERROR: opencl not found"; } &&
{ enabled_any w32threads os2threads &&
{ ! enabled_any w32threads os2threads ||
die "opencl currently needs --enable-pthreads or --disable-w32threads"; } &&
{ check_cpp_condition "OpenCL/cl.h" "defined(CL_VERSION_1_2)" ||
check_cpp_condition "CL/cl.h" "defined(CL_VERSION_1_2)" ||
@@ -4344,6 +4445,7 @@ enabled xmm_clobber_test &&
-Wl,--wrap,avcodec_decode_subtitle2 \
-Wl,--wrap,avcodec_encode_audio2 \
-Wl,--wrap,avcodec_encode_video \
-Wl,--wrap,avcodec_encode_video2 \
-Wl,--wrap,avcodec_encode_subtitle \
-Wl,--wrap,sws_scale ||
disable xmm_clobber_test
@@ -4437,6 +4539,9 @@ elif enabled clang; then
check_cflags -Werror=implicit-function-declaration
check_cflags -Werror=missing-prototypes
check_cflags -Werror=return-type
elif enabled cparser; then
add_cflags -Wno-missing-variable-declarations
add_cflags -Wno-empty-statement
elif enabled armcc; then
# 2523: use of inline assembler is deprecated
add_cflags -W${armcc_opt},--diag_suppress=2523
@@ -4452,11 +4557,16 @@ elif enabled pathscale; then
elif enabled_any msvc icl; then
enabled x86_32 && disable aligned_stack
enabled_all x86_32 debug && add_cflags -Oy-
enabled debug && add_ldflags -debug
enable pragma_deprecated
if enabled icl; then
# basically -fstrict-aliasing that does not work (correctly) on icl 13.x
check_cpp_condition "windows.h" "__ICL < 1300" && add_cflags -Qansi-alias
# -Qansi-alias is basically -fstrict-aliasing, but does not work
# (correctly) on icl 13.x.
check_cpp_condition "windows.h" "__ICL < 1300 || __ICL >= 1400" &&
add_cflags -Qansi-alias
# icl will pass the inline asm tests but inline asm is currently
# not supported (build will fail)
disabled inline_asm || warn "inline asm disabled due to issues with it in ICL"
disable inline_asm
fi
fi
@@ -4474,6 +4584,8 @@ enable frame_thread_encoder
enabled_any $THREADS_LIST && enable threads
enabled_any $ATOMICS_LIST && enable atomics_native
enabled threads && ! enabled pthreads && ! enabled atomics_native && die "non pthread threading without atomics not supported, try adding --enable-pthreads or --cpu=i486 or higher if you are on x86"
enabled asm || { arch=c; disable $ARCH_LIST $ARCH_EXT_LIST; }
check_deps $CONFIG_LIST \
@@ -4582,6 +4694,7 @@ echo "threading support ${thread_type-no}"
echo "safe bitstream reader ${safe_bitstream_reader-no}"
echo "SDL support ${sdl-no}"
echo "opencl enabled ${opencl-no}"
echo "libzvbi enabled ${libzvbi-no}"
echo "texi2html enabled ${texi2html-no}"
echo "perl enabled ${perl-no}"
echo "pod2man enabled ${pod2man-no}"
@@ -4633,6 +4746,7 @@ SHLIBDIR=\$(DESTDIR)$shlibdir
INCDIR=\$(DESTDIR)$incdir
BINDIR=\$(DESTDIR)$bindir
DATADIR=\$(DESTDIR)$datadir
DOCDIR=\$(DESTDIR)$docdir
MANDIR=\$(DESTDIR)$mandir
SRC_PATH=$source_path
ifndef MAIN_MAKEFILE
@@ -4654,9 +4768,9 @@ AR=$ar
ARFLAGS=$arflags
AR_O=$ar_o
RANLIB=$ranlib
STRIP=$strip
CP=cp -p
LN_S=$ln_s
STRIP=$strip
CPPFLAGS=$CPPFLAGS
CFLAGS=$CFLAGS
CXXFLAGS=$CXXFLAGS
@@ -4673,7 +4787,6 @@ LD_LIB=$LD_LIB
LD_PATH=$LD_PATH
DLLTOOL=$dlltool
LDFLAGS=$LDFLAGS
LDFLAGS-ffserver=$FFSERVERLDFLAGS
SHFLAGS=$(echo $($ldflags_filter $SHFLAGS))
YASMFLAGS=$YASMFLAGS
BUILDSUF=$build_suffix
@@ -4853,7 +4966,7 @@ Description: $comment
Version: $version
Requires: $requires
Conflicts:
Libs: -L\${libdir} -l${shortname} $(enabled shared || echo $libs)
Libs: -L\${libdir} -Wl,-rpath,\${libdir} -l${shortname} $(enabled shared || echo $libs)
Cflags: -I\${includedir}
EOF
}

View File

@@ -15,24 +15,96 @@ libavutil: 2012-10-22
API changes, most recent first:
2013-07-03 - xxxxxxx - lavfi 3.78.100 - avfilter.h
2013-10-27 - xxxxxxx - lavc 55.39.100 - avcodec.h
Add CODEC_CAP_DELAY support to avcodec_decode_subtitle2.
2013-10-27 - xxxxxxx - lavu 52.48.100 - parseutils.h
Add av_get_known_color_name().
2013-10-17 - xxxxxxx - lavu 52.47.100 - opt.h
Add AV_OPT_TYPE_CHANNEL_LAYOUT and channel layout option handlers
av_opt_get_channel_layout() and av_opt_set_channel_layout().
2013-10-xx - xxxxxxx -libswscale 2.5.101 - options.c
Change default scaler to bicubic
2013-10-03 - xxxxxxx - lavc 55.34.100 - avcodec.h
Add av_codec_get_max_lowres()
2013-10-02 - xxxxxxx - lavf 55.19.100 - avformat.h
Add audio/video/subtitle AVCodec fields to AVFormatContext to force specific
decoders
2013-08-xx - xxxxxxx - lavfi 3.11.0 - avfilter.h
Add AVFilterGraph.execute and AVFilterGraph.opaque for custom slice threading
implementations.
2013-09-21 - xxxxxxx - lavu 52.16.0 - pixfmt.h
Add interleaved 4:2:2 8/10-bit formats AV_PIX_FMT_NV16 and
AV_PIX_FMT_NV20.
2013-09-16 - c74c3fb / 3feb3d6 - lavu 52.44.100 / 52.15.0 - mem.h
Add av_reallocp.
2013-09-04 - 3e1f507 - lavc 55.31.101 - avcodec.h
avcodec_close() argument can be NULL.
2013-09-04 - 36cd017 - lavf 55.16.101 - avformat.h
avformat_close_input() argument can be NULL and point on NULL.
2013-08-29 - e31db62 - lavf 55.15.100 - avformat.h
Add av_format_get_probe_score().
2013-08-15 - 1e0e193 - lsws 2.5.100 -
Add a sws_dither AVOption, allowing to set the dither algorithm used
2013-08-xx - xxxxxxx - lavc 55.27.100 - vdpau.h
Add a render2 alternative to the render callback function.
2013-08-xx - xxxxxxx - lavc 55.26.100 - vdpau.h
Add allocation function for AVVDPAUContext, allowing
to extend it in the future without breaking ABI/API.
2013-08-10 - 67a580f / 5a9a9d4 - lavc 55.25.100 / 55.16.0 - avcodec.h
Extend AVPacket API with av_packet_unref, av_packet_ref,
av_packet_move_ref, av_packet_copy_props, av_packet_free_side_data.
2013-08-05 - 9547e3e / f824535 - lavc 55.22.100 / 55.13.0 - avcodec.h
Deprecate the bitstream-related members from struct AVVDPAUContext.
The bistream buffers no longer need to be explicitly freed.
2013-08-05 - 3b805dc / 549294f - lavc 55.21.100 / 55.12.0 - avcodec.h
Deprecate the CODEC_CAP_HWACCEL_VDPAU codec capability. Use CODEC_CAP_HWACCEL
and select the AV_PIX_FMT_VDPAU format with get_format() instead.
2013-08-05 - 4ee0984 / a0ad5d0 - lavu 52.41.100 / 52.14.0 - pixfmt.h
Deprecate AV_PIX_FMT_VDPAU_*. Use AV_PIX_FMT_VDPAU instead.
2013-08-02 - 82fdfe8 / a8b1927 - lavc 55.20.100 / 55.11.0 - avcodec.h
Add output_picture_number to AVCodecParserContext.
2013-07-23 - abc8110 - lavc 55.19.100 - avcodec.h
Add avcodec_chroma_pos_to_enum()
Add avcodec_enum_to_chroma_pos()
2013-07-03 - 838bd73 - lavfi 3.78.100 - avfilter.h
Deprecate avfilter_graph_parse() in favor of the equivalent
avfilter_graph_parse_ptr().
2013-06-xx - xxxxxxx - lavc 55.10.0 - avcodec.h
2013-06-24 - af5f9c0 / 95d5246 - lavc 55.17.100 / 55.10.0 - avcodec.h
Add MPEG-2 AAC profiles
2013-06-xx - xxxxxxx - lavf 55.10.100 - avformat.h
2013-06-25 - af5f9c0 / 95d5246 - lavf 55.10.100 - avformat.h
Add AV_DISPOSITION_* flags to indicate text track kind.
2013-06-xx - xxxxxxx - lavu 52.36.100
2013-06-15 - 99b8cd0 - lavu 52.36.100
Add AVRIPEMD:
av_ripemd_alloc()
av_ripemd_init()
av_ripemd_update()
av_ripemd_final()
2013-06-05 - fc962d4 - lavu 52.13.0 - mem.h
2013-06-04 - 30b491f / fc962d4 - lavu 52.35.100 / 52.13.0 - mem.h
Add av_realloc_array and av_reallocp_array
2013-05-30 - 682b227 - lavu 52.35.100
@@ -42,55 +114,55 @@ API changes, most recent first:
av_sha512_update()
av_sha512_final()
2013-05-24 - xxxxxxx - lavfi 3.70.100 - avfilter.h
2013-05-24 - 8d4e969 / 129bb23 - lavfi 3.10.0 / 3.70.100 - avfilter.h
Add support for slice multithreading to lavfi. Filters supporting threading
are marked with AVFILTER_FLAG_SLICE_THREADS.
New fields AVFilterContext.thread_type, AVFilterGraph.thread_type and
AVFilterGraph.nb_threads (accessible directly or through AVOptions) may be
used to configure multithreading.
2013-05-24 - xxxxxxx - lavu 52.34.100 - cpu.h
2013-05-24 - fe40a9f / 2a6eaea - lavu 52.12.0 / 52.34.100 - cpu.h
Add av_cpu_count() function for getting the number of logical CPUs.
2013-05-24 - xxxxxxx - lavc 55.12.100 - avcodec.h
2013-05-24 - 0c25c39 / b493847 - lavc 55.7.0 / 55.12.100 - avcodec.h
Add picture_structure to AVCodecParserContext.
2013-05-17 - xxxxxxx - lavu 52.33.100 - opt.h
2013-05-17 - 3a751ea - lavu 52.33.100 - opt.h
Add AV_OPT_TYPE_COLOR value to AVOptionType enum.
2013-05-13 - xxxxxxx - lavu 52.31.100 - mem.h
2013-05-13 - e398416 - lavu 52.31.100 - mem.h
Add av_dynarray2_add().
2013-05-12 - xxxxxxx - lavfi 3.65.100
2013-05-12 - 1776177 - lavfi 3.65.100
Add AVFILTER_FLAG_SUPPORT_TIMELINE* filter flags.
2013-04-19 - xxxxxxx - lavc 55.4.100
2013-04-19 - 380cfce - lavc 55.4.100
Add AV_CODEC_PROP_TEXT_SUB property for text based subtitles codec.
2013-04-18 - xxxxxxx - lavf 55.3.100
2013-04-18 - 7c1a002 - lavf 55.3.100
The matroska demuxer can now output proper verbatim ASS packets. It will
become the default starting lavf 56.0.100.
2013-04-10 - xxxxxxx - lavu 25.26.100 - avutil.h,opt.h
2013-04-10 - af0d270 - lavu 25.26.100 - avutil.h,opt.h
Add av_int_list_length()
and av_opt_set_int_list().
2013-03-30 - xxxxxxx - lavu 52.24.100 - samplefmt.h
2013-03-30 - 5c73645 - lavu 52.24.100 - samplefmt.h
Add av_samples_alloc_array_and_samples().
2013-03-29 - xxxxxxx - lavf 55.1.100 - avformat.h
2013-03-29 - ef7b6b4 - lavf 55.1.100 - avformat.h
Add av_guess_frame_rate()
2013-03-20 - xxxxxxx - lavu 52.22.100 - opt.h
2013-03-20 - 8d928a9 - lavu 52.22.100 - opt.h
Add AV_OPT_TYPE_DURATION value to AVOptionType enum.
2013-03-17 - xxxxxx - lavu 52.20.100 - opt.h
2013-03-17 - 7aa9af5 - lavu 52.20.100 - opt.h
Add AV_OPT_TYPE_VIDEO_RATE value to AVOptionType enum.
2013-03-07 - xxxxxx - lavu 52.18.100 - avstring.h,bprint.h
2013-03-07 - 9767ec6 - lavu 52.18.100 - avstring.h,bprint.h
Add av_escape() and av_bprint_escape() API.
2013-02-24 - xxxxxx - lavfi 3.41.100 - buffersink.h
2013-02-24 - b59cd08 - lavfi 3.41.100 - buffersink.h
Add sample_rates field to AVABufferSinkParams.
2013-01-17 - a1a707f - lavf 54.61.100
@@ -103,7 +175,7 @@ API changes, most recent first:
Add AVFilterLink.channels, avfilter_link_get_channels()
and avfilter_ref_get_channels().
2012-12-15 - 2ada584d - lavc 54.80.100 - avcodec.h
2012-12-15 - 96d815fc - lavc 54.80.100 - avcodec.h
Add pkt_size field to AVFrame.
2012-11-25 - c70ec631 - lavu 52.9.100 - opt.h
@@ -216,52 +288,52 @@ API changes, most recent first:
2012-03-26 - a67d9cf - lavfi 2.66.100
Add avfilter_fill_frame_from_{audio_,}buffer_ref() functions.
2013-05-xx - xxxxxxx - lavu 52.11.0 - pixdesc.h
2013-05-15 - ff46809 / e6c4ac7 - lavu 52.32.100 / 52.11.0 - pixdesc.h
Replace PIX_FMT_* flags with AV_PIX_FMT_FLAG_*.
2013-04-xx - xxxxxxx - lavc 55.4.0 - avcodec.h
2013-04-03 - 6fc58a8 / 507b1e4 - lavc 55.7.100 / 55.4.0 - avcodec.h
Add field_order to AVCodecParserContext.
2013-03-xx - xxxxxxx - lavc 55.2.0 - avcodec.h
2013-04-19 - f4b05cd / 5e83d9a - lavc 55.5.100 / 55.2.0 - avcodec.h
Add CODEC_FLAG_UNALIGNED to allow decoders to produce unaligned output.
2013-04-11 - lavfi 3.8.0
38f0c07 - Move all content from avfiltergraph.h to avfilter.h. Deprecate
2013-04-11 - lavfi 3.53.100 / 3.8.0
231fd44 / 38f0c07 - Move all content from avfiltergraph.h to avfilter.h. Deprecate
avfilterhraph.h, user applications should include just avfilter.h
bc1a985 - Add avfilter_graph_alloc_filter(), deprecate avfilter_open() and
86070b8 / bc1a985 - Add avfilter_graph_alloc_filter(), deprecate avfilter_open() and
avfilter_graph_add_filter().
1113672 - Add AVFilterContext.graph pointing to the AVFilterGraph that contains the
4fde705 / 1113672 - Add AVFilterContext.graph pointing to the AVFilterGraph that contains the
filter.
48a5ada - Add avfilter_init_str(), deprecate avfilter_init_filter().
1ba95a9 - Add avfilter_init_dict().
7cdd737 - Add AVFilter.flags field and AVFILTER_FLAG_DYNAMIC_{INPUTS,OUTPUTS} flags.
7e8fe4b - Add avfilter_pad_count() for counting filter inputs/outputs.
fa2a34c - Add avfilter_next(), deprecate av_filter_next().
710b0aa / 48a5ada - Add avfilter_init_str(), deprecate avfilter_init_filter().
46de9ba / 1ba95a9 - Add avfilter_init_dict().
16fc24b / 7cdd737 - Add AVFilter.flags field and AVFILTER_FLAG_DYNAMIC_{INPUTS,OUTPUTS} flags.
f4db6bf / 7e8fe4b - Add avfilter_pad_count() for counting filter inputs/outputs.
835cc0f / fa2a34c - Add avfilter_next(), deprecate av_filter_next().
Deprecate avfilter_uninit().
2013-04-09 - lavfi 3.7.0 - avfilter.h
b439c99 - Add AVFilter.priv_class for exporting filter options through the
2013-04-09 - lavfi 3.51.100 / 3.7.0 - avfilter.h
0594ef0 / b439c99 - Add AVFilter.priv_class for exporting filter options through the
AVOptions API in the similar way private options work in lavc and lavf.
8114c10 - Add avfilter_get_class().
44d4488 / 8114c10 - Add avfilter_get_class().
Switch all filters to use AVOptions.
2013-03-19 - 2c328a9 - lavu 52.9.0 - pixdesc.h
2013-03-19 - 17ebef2 / 2c328a9 - lavu 52.20.100 / 52.9.0 - pixdesc.h
Add av_pix_fmt_count_planes() function for counting planes in a pixel format.
2013-03-16 - 42c7c61 - lavfi 3.6.0
2013-03-16 - ecade98 / 42c7c61 - lavfi 3.47.100 / 3.6.0
Add AVFilterGraph.nb_filters, deprecate AVFilterGraph.filter_count.
2013-03-08 - Reference counted buffers - lavu 52.8.0, lavc 55.0.0, lavf 55.0.0,
lavd 54.0.0, lavfi 3.5.0
8e401db, 1cec062 - add a new API for reference counted buffers and buffer
2013-03-08 - Reference counted buffers - lavu 52.8.0, lavc 55.0.100 / 55.0.0, lavf 55.0.100 / 55.0.0,
lavd 54.4.100 / 54.0.0, lavfi 3.5.0
36099df / 8e401db, 532f31a / 1cec062 - add a new API for reference counted buffers and buffer
pools (new header libavutil/buffer.h).
1afddbe - add AVPacket.buf to allow reference counting for the AVPacket data.
2653e12 / 1afddbe - add AVPacket.buf to allow reference counting for the AVPacket data.
Add av_packet_from_data() function for constructing packets from
av_malloc()ed data.
7ecc2d4 - move AVFrame from lavc to lavu (new header libavutil/frame.h), add
c4e8821 / 7ecc2d4 - move AVFrame from lavc to lavu (new header libavutil/frame.h), add
AVFrame.buf/extended_buf to allow reference counting for the AVFrame
data. Add new API for working with reference-counted AVFrames.
759001c - add the refcounted_frames field to AVCodecContext to make audio and
80e9e63 / 759001c - add the refcounted_frames field to AVCodecContext to make audio and
video decoders return reference-counted frames. Add get_buffer2()
callback to AVCodecContext which allocates reference-counted frames.
Add avcodec_default_get_buffer2() as the default get_buffer2()
@@ -279,30 +351,30 @@ lavd 54.0.0, lavfi 3.5.0
* qscale_table, qstride, qscale_type, mbskip_table, motion_val,
mb_type, dct_coeff, ref_index -- mpegvideo-specific tables,
which are not exported anymore.
7e35037 - switch libavfilter to use AVFrame instead of AVFilterBufferRef. Add
a05a44e / 7e35037 - switch libavfilter to use AVFrame instead of AVFilterBufferRef. Add
av_buffersrc_add_frame(), deprecate av_buffersrc_buffer().
Add av_buffersink_get_frame() and av_buffersink_get_samples(),
deprecate av_buffersink_read() and av_buffersink_read_samples().
Deprecate AVFilterBufferRef and all functions for working with it.
2013-03-17 - 12c5c1d - lavu 52.8.0 - avstring.h
2013-03-17 - 6c17ff8 / 12c5c1d - lavu 52.19.100 / 52.8.0 - avstring.h
Add av_isdigit, av_isgraph, av_isspace, av_isxdigit.
2013-02-23 - 9f12235 - lavfi 3.4.0 - avfiltergraph.h
2013-02-23 - 71cf094 / 9f12235 - lavfi 3.40.100 / 3.4.0 - avfiltergraph.h
Add resample_lavr_opts to AVFilterGraph for setting libavresample options
for auto-inserted resample filters.
2013-01-25 - 38c1466 - lavu 52.7.0 - dict.h
2013-01-25 - e7e14bc / 38c1466 - lavu 52.17.100 / 52.7.0 - dict.h
Add av_dict_parse_string() to set multiple key/value pairs at once from a
string.
2013-01-25 - b85a5e8 - lavu 52.6.0 - avstring.h
2013-01-25 - 25be630 / b85a5e8 - lavu 52.16.100 / 52.6.0 - avstring.h
Add av_strnstr()
2013-01-15 - 8ee288d - lavu 52.5.0 - hmac.h
2013-01-15 - e7e0186 / 8ee288d - lavu 52.15.100 / 52.5.0 - hmac.h
Add AVHMAC.
2013-01-13 - 44e065d - lavc 54.87.100 / 54.36.0 - vdpau.h
2013-01-13 - 8ee7b38 / 44e065d - lavc 54.87.100 / 54.36.0 - vdpau.h
Add AVVDPAUContext struct for VDPAU hardware-accelerated decoding.
2013-01-12 - dae382b / 169fb94 - lavu 52.14.100 / 52.4.0 - pixdesc.h
@@ -390,7 +462,7 @@ lavd 54.0.0, lavfi 3.5.0
2012-07-29 - 7c26761 / 681ed00 - lavf 54.22.100 / 54.13.0 - avformat.h
Add AVFMT_FLAG_NOBUFFER for low latency use cases.
2012-07-10 - 5fade8a - lavu 51.37.0
2012-07-10 - fbe0245 / f3e5e6f - lavu 51.65.100 / 51.37.0
Add av_malloc_array() and av_mallocz_array()
2012-06-22 - e847f41 / d3d3a32 - lavu 51.61.100 / 51.34.0

View File

@@ -31,9 +31,9 @@ PROJECT_NAME = FFmpeg
# This could be handy for archiving the generated documentation or
# if some version control system is used.
PROJECT_NUMBER = 2.0
PROJECT_NUMBER = 2.1.1
# With the PROJECT_LOGO tag one can specify an logo or icon that is included
# With the PROJECT_LOGO tag one can specify a logo or icon that is included
# in the documentation. The maximum height of the logo should not exceed 55
# pixels and the maximum width should not exceed 200 pixels. Doxygen will
# copy the logo to the output directory.

View File

@@ -88,8 +88,20 @@ $(DOCS) doc/doxy/html: | doc/
doc/doxy/html: $(SRC_PATH)/doc/Doxyfile $(INSTHEADERS)
$(M)$(SRC_PATH)/doc/doxy-wrapper.sh $(SRC_PATH) $^
install-doc: install-html install-man
install-html:
install-man:
ifdef CONFIG_HTMLPAGES
install-progs-$(CONFIG_DOC): install-html
install-html: $(HTMLPAGES)
$(Q)mkdir -p "$(DOCDIR)"
$(INSTALL) -m 644 $(HTMLPAGES) "$(DOCDIR)"
endif
ifdef CONFIG_MANPAGES
install-progs-$(CONFIG_DOC): install-man
@@ -100,11 +112,16 @@ install-man: $(MANPAGES)
$(INSTALL) -m 644 $(MANPAGES3) "$(MANDIR)/man3"
endif
uninstall: uninstall-man
uninstall: uninstall-doc
uninstall-doc: uninstall-html uninstall-man
uninstall-html:
$(RM) -r "$(DOCDIR)"
uninstall-man:
$(RM) $(addprefix "$(MANDIR)/man1/",$(MANPAGES1))
$(RM) $(addprefix "$(MANDIR)/man3/",$(MANPAGES3))
$(RM) $(addprefix "$(MANDIR)/man1/",$(PROGS-yes:%=%.1) $(PROGS-yes:%=%-all.1) $(COMPONENTS-yes:%=%.1))
$(RM) $(addprefix "$(MANDIR)/man3/",$(LIBRARIES-yes:%=%.3))
clean:: docclean

View File

@@ -1,7 +1,7 @@
Release Notes
=============
* 2.0 "Nameless" July, 2013
* 2.1 "Fourier" October, 2013
General notes
@@ -14,7 +14,3 @@ accepted. If you are experiencing issues with any formally released version of
FFmpeg, please try git master to check if the issue still exists. If it does,
make your report against the development code following the usual bug reporting
guidelines.
AVI/AVXSynth
--------
If you want to use FFmpeg with AVISynth, you need AVISynth 2.6.0 at minimum.

View File

@@ -30,7 +30,33 @@ ADTS AAC container to a FLV or a MOV/MP4 file.
Remove zero padding at the end of a packet.
@section dump_extradata
@section dump_extra
Add extradata to the beginning of the filtered packets.
The additional argument specifies which packets should be filtered.
It accepts the values:
@table @samp
@item a
add extradata to all key packets, but only if @var{local_header} is
set in the @option{flags2} codec context field
@item k
add extradata to all key packets
@item e
add extradata to all packets
@end table
If not specified it is assumed @samp{k}.
For example the following @command{ffmpeg} command forces a global
header (thus disabling individual packet headers) in the H.264 packets
generated by the @code{libx264} encoder, but corrects them by adding
the header stored in extradata to the key packets:
@example
ffmpeg -i INPUT -map 0 -flags:v +global_header -c:v libx264 -bsf:v dump_extra out.ts
@end example
@section h264_mp4toannexb
@@ -97,6 +123,6 @@ ffmpeg -i frame_%d.jpg -c:v copy rotated.avi
@section noise
@section remove_extradata
@section remove_extra
@c man end BITSTREAM FILTERS

View File

@@ -1,3 +1,4 @@
@anchor{codec-options}
@chapter Codec Options
@c man begin CODEC OPTIONS
@@ -83,9 +84,6 @@ Apply interlaced motion estimation.
Use closed gop.
@end table
@item sub_id @var{integer}
Deprecated, currently unused.
@item me_method @var{integer} (@emph{encoding,video})
Set motion estimation method.
@@ -385,10 +383,6 @@ Possible values:
@item simplemmx
@item libmpeg2mmx
@item mmi
@item arm
@item altivec
@@ -405,10 +399,6 @@ Possible values:
@item simplealpha
@item h264
@item vp3
@item ipp
@item xvidmmx
@@ -771,26 +761,26 @@ Set noise reduction.
Set number of bits which should be loaded into the rc buffer before
decoding starts.
@item inter_threshold @var{integer} (@emph{encoding,video})
@item flags2 @var{flags} (@emph{decoding/encoding,audio,video})
Possible values:
@table @samp
@item fast
allow non spec compliant speedup tricks
Allow non spec compliant speedup tricks.
@item sgop
Deprecated, use mpegvideo private options instead
Deprecated, use mpegvideo private options instead.
@item noout
skip bitstream encoding
Skip bitstream encoding.
@item ignorecrop
Ignore cropping information from sps.
@item local_header
place global headers at every keyframe instead of in extradata
Place global headers at every keyframe instead of in extradata.
@item chunks
Frame data might be split into multiple chunks
Frame data might be split into multiple chunks.
@item showall
Show all frames before the first keyframe
Show all frames before the first keyframe.
@item skiprd
Deprecated, use mpegvideo private options instead
Deprecated, use mpegvideo private options instead.
@end table
@item error @var{integer} (@emph{encoding,video})
@@ -846,6 +836,10 @@ Possible values:
@item aac_eld
@item mpeg2_aac_low
@item mpeg2_aac_he
@item dts
@item dts_es
@@ -1064,6 +1058,27 @@ Set sample format audio decoders should prefer. Default value is
@item sub_charenc @var{encoding} (@emph{decoding,subtitles})
Set the input subtitles character encoding.
@item field_order @var{field_order} (@emph{video})
Set/override the field order of the video.
Possible values:
@table @samp
@item progressive
Progressive video
@item tt
Interlaced video, top field coded and displayed first
@item bb
Interlaced video, bottom field coded and displayed first
@item tb
Interlaced video, top coded first, bottom displayed first
@item bt
Interlaced video, bottom coded first, top displayed first
@end table
@item skip_alpha @var{integer} (@emph{decoding,video})
Set to 1 to disable processing alpha (transparency). This works like the
@samp{gray} flag in the @option{flags} option which skips chroma information
instead of alpha. Default is 0.
@end table
@c man end CODEC OPTIONS

View File

@@ -158,4 +158,45 @@ ee450d, 101010, eaeaea, 0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1,
7b2a0e, 0d950c, 0f007b, cf0dec, cfa80c, 7c127b}.
@end table
@section libzvbi-teletext
Libzvbi allows libavcodec to decode DVB teletext pages and DVB teletext
subtitles. Requires the presence of the libzvbi headers and library during
configuration. You need to explicitly configure the build with
@code{--enable-libzvbi}.
@subsection Options
@table @option
@item txt_page
List of teletext page numbers to decode. You may use the special * string to
match all pages. Pages that do not match the specified list are dropped.
Default value is *.
@item txt_chop_top
Discards the top teletext line. Default value is 1.
@item txt_format
Specifies the format of the decoded subtitles. The teletext decoder is capable
of decoding the teletext pages to bitmaps or to simple text, you should use
"bitmap" for teletext pages, because certain graphics and colors cannot be
expressed in simple text. You might use "text" for teletext based subtitles if
your application can handle simple text based subtitles. Default value is
bitmap.
@item txt_left
X offset of generated bitmaps, default is 0.
@item txt_top
Y offset of generated bitmaps, default is 0.
@item txt_chop_spaces
Chops leading and trailing spaces and removes empty lines from the generated
text. This option is useful for teletext based subtitles where empty spaces may
be present at the start or at the end of the lines or empty lines may be
present between the subtitle lines because of double-sized teletext charactes.
Default value is 1.
@item txt_duration
Sets the display duration of the decoded teletext pages or subtitles in
miliseconds. Default value is 30000 which is 30 seconds.
@item txt_transparent
Force transparent background of the generated teletext bitmaps. Default value
is 0 which means an opaque (black) background.
@end table
@c man end SUBTILES DECODERS

View File

@@ -1,3 +1,7 @@
a.summary-letter {
text-decoration: none;
}
a {
color: #2D6198;
}
@@ -45,11 +49,16 @@ body {
text-align: center;
}
h1, h2, h3 {
h1 a, h2 a, h3 a, h4 a {
text-decoration: inherit;
color: inherit;
}
h1, h2, h3, h4 {
padding-left: 0.4em;
border-radius: 4px;
padding-bottom: 0.2em;
padding-top: 0.2em;
padding-bottom: 0.25em;
padding-top: 0.25em;
border: 1px solid #6A996A;
}
@@ -63,15 +72,22 @@ h1 {
h2 {
color: #313131;
font-size: 0.9em;
font-size: 1.0em;
background-color: #ABE3AB;
}
h3 {
color: #313131;
font-size: 0.9em;
margin-bottom: -6px;
background-color: #BBF3BB;
}
h4 {
color: #313131;
font-size: 0.8em;
margin-bottom: -8px;
background-color: #BBF3BB;
background-color: #D1FDD1;
}
img {

View File

@@ -1,7 +1,7 @@
@chapter Demuxers
@c man begin DEMUXERS
Demuxers are configured elements in FFmpeg which allow to read the
Demuxers are configured elements in FFmpeg that can read the
multimedia streams from a particular type of file.
When you configure your FFmpeg build, all the supported demuxers
@@ -29,6 +29,17 @@ the caller can decide which variant streams to actually receive.
The total bitrate of the variant that the stream belongs to is
available in a metadata key named "variant_bitrate".
@section asf
Advanced Systems Format demuxer.
This demuxer is used to demux ASF files and MMS network streams.
@table @option
@item -no_resync_search @var{bool}
Do not try to resynchronize by looking for a certain optional start code.
@end table
@anchor{concat}
@section concat
@@ -103,6 +114,17 @@ probed and 0 otherwise.
@end table
@section flv
Adobe Flash Video Format demuxer.
This demuxer is used to demux FLV files and RTMP network streams.
@table @option
@item -flv_metadata @var{bool}
Allocate the streams according to the onMetaData array content.
@end table
@section libgme
The Game Music Emu library is a collection of video game music file emulators.
@@ -240,23 +262,36 @@ Use @command{ffmpeg} for creating a video from the images in the file
sequence @file{img-001.jpeg}, @file{img-002.jpeg}, ..., assuming an
input frame rate of 10 frames per second:
@example
ffmpeg -i 'img-%03d.jpeg' -r 10 out.mkv
ffmpeg -framerate 10 -i 'img-%03d.jpeg' out.mkv
@end example
@item
As above, but start by reading from a file with index 100 in the sequence:
@example
ffmpeg -start_number 100 -i 'img-%03d.jpeg' -r 10 out.mkv
ffmpeg -framerate 10 -start_number 100 -i 'img-%03d.jpeg' out.mkv
@end example
@item
Read images matching the "*.png" glob pattern , that is all the files
terminating with the ".png" suffix:
@example
ffmpeg -pattern_type glob -i "*.png" -r 10 out.mkv
ffmpeg -framerate 10 -pattern_type glob -i "*.png" out.mkv
@end example
@end itemize
@section mpegts
MPEG-2 transport stream demuxer.
@table @option
@item fix_teletext_pts
Overrides teletext packet PTS and DTS values with the timestamps calculated
from the PCR of the first program which the teletext stream is part of and is
not discarded. Default value is 1, set this option to 0 if you want your
teletext packet PTS and DTS values untouched.
@end table
@section rawvideo
Raw video demuxer.

View File

@@ -11,29 +11,23 @@
@chapter Developers Guide
@section API
@itemize @bullet
@item libavcodec is the library containing the codecs (both encoding and
decoding). Look at @file{doc/examples/decoding_encoding.c} to see how to use
it.
@section Notes for external developers
@item libavformat is the library containing the file format handling (mux and
demux code for several formats). Look at @file{ffplay.c} to use it in a
player. See @file{doc/examples/muxing.c} to use it to generate audio or video
streams.
This document is mostly useful for internal FFmpeg developers.
External developers who need to use the API in their application should
refer to the API doxygen documentation in the public headers, and
check the examples in @file{doc/examples} and in the source code to
see how the public API is employed.
@end itemize
You can use the FFmpeg libraries in your commercial program, but you
are encouraged to @emph{publish any patch you make}. In this case the
best way to proceed is to send your patches to the ffmpeg-devel
mailing list following the guidelines illustrated in the remainder of
this document.
@section Integrating libavcodec or libavformat in your program
You can integrate all the source code of the libraries to link them
statically to avoid any version problem. All you need is to provide a
'config.mak' and a 'config.h' in the parent directory. See the defines
generated by ./configure to understand what is needed.
You can use libavcodec or libavformat in your commercial program, but
@emph{any patch you make must be published}. The best way to proceed is
to send your patches to the FFmpeg mailing list.
For more detailed legal information about the use of FFmpeg in
external programs read the @file{LICENSE} file in the source tree and
consult @url{http://ffmpeg.org/legal.html}.
@section Contributing
@@ -57,13 +51,16 @@ and should try to fix issues their commit causes.
@subsection Code formatting conventions
There are the following guidelines regarding the indentation in files:
@itemize @bullet
@item
Indent size is 4.
@item
The TAB character is forbidden outside of Makefiles as is any
form of trailing whitespace. Commits containing either will be
rejected by the git repository.
@item
You should try to limit your code lines to 80 characters; however, do so if
and only if this improves readability.
@@ -117,13 +114,17 @@ int myfunc(int my_parameter)
FFmpeg is programmed in the ISO C90 language with a few additional
features from ISO C99, namely:
@itemize @bullet
@item
the @samp{inline} keyword;
@item
@samp{//} comments;
@item
designated struct initializers (@samp{struct s x = @{ .i = 17 @};})
@item
compound literals (@samp{x = (struct s) @{ 17, 23 @};})
@end itemize
@@ -135,13 +136,17 @@ clarity and performance.
All code must compile with recent versions of GCC and a number of other
currently supported compilers. To ensure compatibility, please do not use
additional C99 features or GCC extensions. Especially watch out for:
@itemize @bullet
@item
mixing statements and declarations;
@item
@samp{long long} (use @samp{int64_t} instead);
@item
@samp{__attribute__} not protected by @samp{#ifdef __GNUC__} or similar;
@item
GCC statement expressions (@samp{(x = (@{ int y = 4; y; @})}).
@end itemize
@@ -153,20 +158,25 @@ All names should be composed with underscores (_), not CamelCase. For example,
for example structs and enums; they should always be in the CamelCase
There are the following conventions for naming variables and functions:
@itemize @bullet
@item
For local variables no prefix is required.
@item
For file-scope variables and functions declared as @code{static}, no prefix
is required.
@item
For variables and functions visible outside of file scope, but only used
internally by a library, an @code{ff_} prefix should be used,
e.g. @samp{ff_w64_demuxer}.
@item
For variables and functions visible outside of file scope, used internally
across multiple libraries, use @code{avpriv_} as prefix, for example,
@samp{avpriv_aac_parse_header}.
@item
Each library has its own prefix for public symbols, in addition to the
commonly used @code{av_} (@code{avformat_} for libavformat,
@@ -186,10 +196,12 @@ are reserved at the file level and may not be used for externally visible
symbols. If in doubt, just avoid names starting with @code{_} altogether.
@subsection Miscellaneous conventions
@itemize @bullet
@item
fprintf and printf are forbidden in libavformat and libavcodec,
please use av_log() instead.
@item
Casts should be used only when necessary. Unneeded parentheses
should also be avoided if they don't make the code easier to understand.
@@ -232,131 +244,154 @@ For Emacs, add these roughly equivalent lines to your @file{.emacs.d/init.el}:
@enumerate
@item
Contributions should be licensed under the
@uref{http://www.gnu.org/licenses/lgpl-2.1.html, LGPL 2.1},
including an "or any later version" clause, or, if you prefer
a gift-style license, the
@uref{http://www.isc.org/software/license/, ISC} or
@uref{http://mit-license.org/, MIT} license.
@uref{http://www.gnu.org/licenses/gpl-2.0.html, GPL 2} including
an "or any later version" clause is also acceptable, but LGPL is
preferred.
@item
You must not commit code which breaks FFmpeg! (Meaning unfinished but
enabled code which breaks compilation or compiles but does not work or
breaks the regression tests)
You can commit unfinished stuff (for testing etc), but it must be disabled
(#ifdef etc) by default so it does not interfere with other developers'
work.
@item
The commit message should have a short first line in the form of
a @samp{topic: short description} as a header, separated by a newline
from the body consisting of an explanation of why the change is necessary.
If the commit fixes a known bug on the bug tracker, the commit message
should include its bug ID. Referring to the issue on the bug tracker does
not exempt you from writing an excerpt of the bug in the commit message.
@item
You do not have to over-test things. If it works for you, and you think it
should work for others, then commit. If your code has problems
(portability, triggers compiler bugs, unusual environment etc) they will be
reported and eventually fixed.
@item
Do not commit unrelated changes together, split them into self-contained
pieces. Also do not forget that if part B depends on part A, but A does not
depend on B, then A can and should be committed first and separate from B.
Keeping changes well split into self-contained parts makes reviewing and
understanding them on the commit log mailing list easier. This also helps
in case of debugging later on.
Also if you have doubts about splitting or not splitting, do not hesitate to
ask/discuss it on the developer mailing list.
@item
Do not change behavior of the programs (renaming options etc) or public
API or ABI without first discussing it on the ffmpeg-devel mailing list.
Do not remove functionality from the code. Just improve!
Contributions should be licensed under the
@uref{http://www.gnu.org/licenses/lgpl-2.1.html, LGPL 2.1},
including an "or any later version" clause, or, if you prefer
a gift-style license, the
@uref{http://www.isc.org/software/license/, ISC} or
@uref{http://mit-license.org/, MIT} license.
@uref{http://www.gnu.org/licenses/gpl-2.0.html, GPL 2} including
an "or any later version" clause is also acceptable, but LGPL is
preferred.
If you add a new file, give it a proper license header. Do not copy and
paste it from a random place, use an existing file as template.
Note: Redundant code can be removed.
@item
Do not commit changes to the build system (Makefiles, configure script)
which change behavior, defaults etc, without asking first. The same
applies to compiler warning fixes, trivial looking fixes and to code
maintained by other developers. We usually have a reason for doing things
the way we do. Send your changes as patches to the ffmpeg-devel mailing
list, and if the code maintainers say OK, you may commit. This does not
apply to files you wrote and/or maintain.
@item
We refuse source indentation and other cosmetic changes if they are mixed
with functional changes, such commits will be rejected and removed. Every
developer has his own indentation style, you should not change it. Of course
if you (re)write something, you can use your own style, even though we would
prefer if the indentation throughout FFmpeg was consistent (Many projects
force a given indentation style - we do not.). If you really need to make
indentation changes (try to avoid this), separate them strictly from real
changes.
You must not commit code which breaks FFmpeg! (Meaning unfinished but
enabled code which breaks compilation or compiles but does not work or
breaks the regression tests)
You can commit unfinished stuff (for testing etc), but it must be disabled
(#ifdef etc) by default so it does not interfere with other developers'
work.
NOTE: If you had to put if()@{ .. @} over a large (> 5 lines) chunk of code,
then either do NOT change the indentation of the inner part within (do not
move it to the right)! or do so in a separate commit
@item
Always fill out the commit log message. Describe in a few lines what you
changed and why. You can refer to mailing list postings if you fix a
particular bug. Comments such as "fixed!" or "Changed it." are unacceptable.
Recommended format:
area changed: Short 1 line description
The commit message should have a short first line in the form of
a @samp{topic: short description} as a header, separated by a newline
from the body consisting of an explanation of why the change is necessary.
If the commit fixes a known bug on the bug tracker, the commit message
should include its bug ID. Referring to the issue on the bug tracker does
not exempt you from writing an excerpt of the bug in the commit message.
details describing what and why and giving references.
@item
Make sure the author of the commit is set correctly. (see git commit --author)
If you apply a patch, send an
answer to ffmpeg-devel (or wherever you got the patch from) saying that
you applied the patch.
You do not have to over-test things. If it works for you, and you think it
should work for others, then commit. If your code has problems
(portability, triggers compiler bugs, unusual environment etc) they will be
reported and eventually fixed.
@item
When applying patches that have been discussed (at length) on the mailing
list, reference the thread in the log message.
Do not commit unrelated changes together, split them into self-contained
pieces. Also do not forget that if part B depends on part A, but A does not
depend on B, then A can and should be committed first and separate from B.
Keeping changes well split into self-contained parts makes reviewing and
understanding them on the commit log mailing list easier. This also helps
in case of debugging later on.
Also if you have doubts about splitting or not splitting, do not hesitate to
ask/discuss it on the developer mailing list.
@item
Do NOT commit to code actively maintained by others without permission.
Send a patch to ffmpeg-devel instead. If no one answers within a reasonable
timeframe (12h for build failures and security fixes, 3 days small changes,
1 week for big patches) then commit your patch if you think it is OK.
Also note, the maintainer can simply ask for more time to review!
Do not change behavior of the programs (renaming options etc) or public
API or ABI without first discussing it on the ffmpeg-devel mailing list.
Do not remove functionality from the code. Just improve!
Note: Redundant code can be removed.
@item
Subscribe to the ffmpeg-cvslog mailing list. The diffs of all commits
are sent there and reviewed by all the other developers. Bugs and possible
improvements or general questions regarding commits are discussed there. We
expect you to react if problems with your code are uncovered.
Do not commit changes to the build system (Makefiles, configure script)
which change behavior, defaults etc, without asking first. The same
applies to compiler warning fixes, trivial looking fixes and to code
maintained by other developers. We usually have a reason for doing things
the way we do. Send your changes as patches to the ffmpeg-devel mailing
list, and if the code maintainers say OK, you may commit. This does not
apply to files you wrote and/or maintain.
@item
Update the documentation if you change behavior or add features. If you are
unsure how best to do this, send a patch to ffmpeg-devel, the documentation
maintainer(s) will review and commit your stuff.
We refuse source indentation and other cosmetic changes if they are mixed
with functional changes, such commits will be rejected and removed. Every
developer has his own indentation style, you should not change it. Of course
if you (re)write something, you can use your own style, even though we would
prefer if the indentation throughout FFmpeg was consistent (Many projects
force a given indentation style - we do not.). If you really need to make
indentation changes (try to avoid this), separate them strictly from real
changes.
NOTE: If you had to put if()@{ .. @} over a large (> 5 lines) chunk of code,
then either do NOT change the indentation of the inner part within (do not
move it to the right)! or do so in a separate commit
@item
Try to keep important discussions and requests (also) on the public
developer mailing list, so that all developers can benefit from them.
Always fill out the commit log message. Describe in a few lines what you
changed and why. You can refer to mailing list postings if you fix a
particular bug. Comments such as "fixed!" or "Changed it." are unacceptable.
Recommended format:
area changed: Short 1 line description
details describing what and why and giving references.
@item
Never write to unallocated memory, never write over the end of arrays,
always check values read from some untrusted source before using them
as array index or other risky things.
Make sure the author of the commit is set correctly. (see git commit --author)
If you apply a patch, send an
answer to ffmpeg-devel (or wherever you got the patch from) saying that
you applied the patch.
@item
Remember to check if you need to bump versions for the specific libav*
parts (libavutil, libavcodec, libavformat) you are changing. You need
to change the version integer.
Incrementing the first component means no backward compatibility to
previous versions (e.g. removal of a function from the public API).
Incrementing the second component means backward compatible change
(e.g. addition of a function to the public API or extension of an
existing data structure).
Incrementing the third component means a noteworthy binary compatible
change (e.g. encoder bug fix that matters for the decoder). The third
component always starts at 100 to distinguish FFmpeg from Libav.
When applying patches that have been discussed (at length) on the mailing
list, reference the thread in the log message.
@item
Compiler warnings indicate potential bugs or code with bad style. If a type of
warning always points to correct and clean code, that warning should
be disabled, not the code changed.
Thus the remaining warnings can either be bugs or correct code.
If it is a bug, the bug has to be fixed. If it is not, the code should
be changed to not generate a warning unless that causes a slowdown
or obfuscates the code.
Do NOT commit to code actively maintained by others without permission.
Send a patch to ffmpeg-devel instead. If no one answers within a reasonable
timeframe (12h for build failures and security fixes, 3 days small changes,
1 week for big patches) then commit your patch if you think it is OK.
Also note, the maintainer can simply ask for more time to review!
@item
If you add a new file, give it a proper license header. Do not copy and
paste it from a random place, use an existing file as template.
Subscribe to the ffmpeg-cvslog mailing list. The diffs of all commits
are sent there and reviewed by all the other developers. Bugs and possible
improvements or general questions regarding commits are discussed there. We
expect you to react if problems with your code are uncovered.
@item
Update the documentation if you change behavior or add features. If you are
unsure how best to do this, send a patch to ffmpeg-devel, the documentation
maintainer(s) will review and commit your stuff.
@item
Try to keep important discussions and requests (also) on the public
developer mailing list, so that all developers can benefit from them.
@item
Never write to unallocated memory, never write over the end of arrays,
always check values read from some untrusted source before using them
as array index or other risky things.
@item
Remember to check if you need to bump versions for the specific libav*
parts (libavutil, libavcodec, libavformat) you are changing. You need
to change the version integer.
Incrementing the first component means no backward compatibility to
previous versions (e.g. removal of a function from the public API).
Incrementing the second component means backward compatible change
(e.g. addition of a function to the public API or extension of an
existing data structure).
Incrementing the third component means a noteworthy binary compatible
change (e.g. encoder bug fix that matters for the decoder). The third
component always starts at 100 to distinguish FFmpeg from Libav.
@item
Compiler warnings indicate potential bugs or code with bad style. If a type of
warning always points to correct and clean code, that warning should
be disabled, not the code changed.
Thus the remaining warnings can either be bugs or correct code.
If it is a bug, the bug has to be fixed. If it is not, the code should
be changed to not generate a warning unless that causes a slowdown
or obfuscates the code.
@item
Make sure that no parts of the codebase that you maintain are missing from the
@file{MAINTAINERS} file. If something that you want to maintain is missing add it with
your name after it.
If at some point you no longer want to maintain some code, then please help
finding a new maintainer and also don't forget updating the @file{MAINTAINERS} file.
@end enumerate
We think our rules are not too hard. If you have comments, contact us.
@@ -411,40 +446,51 @@ send a reminder by email. Your patch should eventually be dealt with.
@enumerate
@item
Did you use av_cold for codec initialization and close functions?
Did you use av_cold for codec initialization and close functions?
@item
Did you add a long_name under NULL_IF_CONFIG_SMALL to the AVCodec or
AVInputFormat/AVOutputFormat struct?
Did you add a long_name under NULL_IF_CONFIG_SMALL to the AVCodec or
AVInputFormat/AVOutputFormat struct?
@item
Did you bump the minor version number (and reset the micro version
number) in @file{libavcodec/version.h} or @file{libavformat/version.h}?
Did you bump the minor version number (and reset the micro version
number) in @file{libavcodec/version.h} or @file{libavformat/version.h}?
@item
Did you register it in @file{allcodecs.c} or @file{allformats.c}?
Did you register it in @file{allcodecs.c} or @file{allformats.c}?
@item
Did you add the AVCodecID to @file{avcodec.h}?
When adding new codec IDs, also add an entry to the codec descriptor
list in @file{libavcodec/codec_desc.c}.
Did you add the AVCodecID to @file{avcodec.h}?
When adding new codec IDs, also add an entry to the codec descriptor
list in @file{libavcodec/codec_desc.c}.
@item
If it has a FourCC, did you add it to @file{libavformat/riff.c},
even if it is only a decoder?
If it has a FourCC, did you add it to @file{libavformat/riff.c},
even if it is only a decoder?
@item
Did you add a rule to compile the appropriate files in the Makefile?
Remember to do this even if you're just adding a format to a file that is
already being compiled by some other rule, like a raw demuxer.
Did you add a rule to compile the appropriate files in the Makefile?
Remember to do this even if you're just adding a format to a file that is
already being compiled by some other rule, like a raw demuxer.
@item
Did you add an entry to the table of supported formats or codecs in
@file{doc/general.texi}?
Did you add an entry to the table of supported formats or codecs in
@file{doc/general.texi}?
@item
Did you add an entry in the Changelog?
Did you add an entry in the Changelog?
@item
If it depends on a parser or a library, did you add that dependency in
configure?
If it depends on a parser or a library, did you add that dependency in
configure?
@item
Did you @code{git add} the appropriate files before committing?
Did you @code{git add} the appropriate files before committing?
@item
Did you make sure it compiles standalone, i.e. with
@code{configure --disable-everything --enable-decoder=foo}
(or @code{--enable-demuxer} or whatever your component is)?
Did you make sure it compiles standalone, i.e. with
@code{configure --disable-everything --enable-decoder=foo}
(or @code{--enable-demuxer} or whatever your component is)?
@end enumerate
@@ -452,82 +498,109 @@ send a reminder by email. Your patch should eventually be dealt with.
@enumerate
@item
Does @code{make fate} pass with the patch applied?
Does @code{make fate} pass with the patch applied?
@item
Was the patch generated with git format-patch or send-email?
Was the patch generated with git format-patch or send-email?
@item
Did you sign off your patch? (git commit -s)
See @url{http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob_plain;f=Documentation/SubmittingPatches} for the meaning
of sign off.
Did you sign off your patch? (git commit -s)
See @url{http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob_plain;f=Documentation/SubmittingPatches} for the meaning
of sign off.
@item
Did you provide a clear git commit log message?
Did you provide a clear git commit log message?
@item
Is the patch against latest FFmpeg git master branch?
Is the patch against latest FFmpeg git master branch?
@item
Are you subscribed to ffmpeg-devel?
(the list is subscribers only due to spam)
Are you subscribed to ffmpeg-devel?
(the list is subscribers only due to spam)
@item
Have you checked that the changes are minimal, so that the same cannot be
achieved with a smaller patch and/or simpler final code?
Have you checked that the changes are minimal, so that the same cannot be
achieved with a smaller patch and/or simpler final code?
@item
If the change is to speed critical code, did you benchmark it?
If the change is to speed critical code, did you benchmark it?
@item
If you did any benchmarks, did you provide them in the mail?
If you did any benchmarks, did you provide them in the mail?
@item
Have you checked that the patch does not introduce buffer overflows or
other security issues?
Have you checked that the patch does not introduce buffer overflows or
other security issues?
@item
Did you test your decoder or demuxer against damaged data? If no, see
tools/trasher, the noise bitstream filter, and
@uref{http://caca.zoy.org/wiki/zzuf, zzuf}. Your decoder or demuxer
should not crash, end in a (near) infinite loop, or allocate ridiculous
amounts of memory when fed damaged data.
Did you test your decoder or demuxer against damaged data? If no, see
tools/trasher, the noise bitstream filter, and
@uref{http://caca.zoy.org/wiki/zzuf, zzuf}. Your decoder or demuxer
should not crash, end in a (near) infinite loop, or allocate ridiculous
amounts of memory when fed damaged data.
@item
Does the patch not mix functional and cosmetic changes?
Does the patch not mix functional and cosmetic changes?
@item
Did you add tabs or trailing whitespace to the code? Both are forbidden.
Did you add tabs or trailing whitespace to the code? Both are forbidden.
@item
Is the patch attached to the email you send?
Is the patch attached to the email you send?
@item
Is the mime type of the patch correct? It should be text/x-diff or
text/x-patch or at least text/plain and not application/octet-stream.
Is the mime type of the patch correct? It should be text/x-diff or
text/x-patch or at least text/plain and not application/octet-stream.
@item
If the patch fixes a bug, did you provide a verbose analysis of the bug?
If the patch fixes a bug, did you provide a verbose analysis of the bug?
@item
If the patch fixes a bug, did you provide enough information, including
a sample, so the bug can be reproduced and the fix can be verified?
Note please do not attach samples >100k to mails but rather provide a
URL, you can upload to ftp://upload.ffmpeg.org
If the patch fixes a bug, did you provide enough information, including
a sample, so the bug can be reproduced and the fix can be verified?
Note please do not attach samples >100k to mails but rather provide a
URL, you can upload to ftp://upload.ffmpeg.org
@item
Did you provide a verbose summary about what the patch does change?
Did you provide a verbose summary about what the patch does change?
@item
Did you provide a verbose explanation why it changes things like it does?
Did you provide a verbose explanation why it changes things like it does?
@item
Did you provide a verbose summary of the user visible advantages and
disadvantages if the patch is applied?
Did you provide a verbose summary of the user visible advantages and
disadvantages if the patch is applied?
@item
Did you provide an example so we can verify the new feature added by the
patch easily?
Did you provide an example so we can verify the new feature added by the
patch easily?
@item
If you added a new file, did you insert a license header? It should be
taken from FFmpeg, not randomly copied and pasted from somewhere else.
If you added a new file, did you insert a license header? It should be
taken from FFmpeg, not randomly copied and pasted from somewhere else.
@item
You should maintain alphabetical order in alphabetically ordered lists as
long as doing so does not break API/ABI compatibility.
You should maintain alphabetical order in alphabetically ordered lists as
long as doing so does not break API/ABI compatibility.
@item
Lines with similar content should be aligned vertically when doing so
improves readability.
Lines with similar content should be aligned vertically when doing so
improves readability.
@item
Consider to add a regression test for your code.
Consider to add a regression test for your code.
@item
If you added YASM code please check that things still work with --disable-yasm
If you added YASM code please check that things still work with --disable-yasm
@item
Make sure you check the return values of function and return appropriate
error codes. Especially memory allocation functions like @code{av_malloc()}
are notoriously left unchecked, which is a serious problem.
Make sure you check the return values of function and return appropriate
error codes. Especially memory allocation functions like @code{av_malloc()}
are notoriously left unchecked, which is a serious problem.
@item
Test your code with valgrind and or Address Sanitizer to ensure it's free
of leaks, out of array accesses, etc.
Test your code with valgrind and or Address Sanitizer to ensure it's free
of leaks, out of array accesses, etc.
@end enumerate
@section Patch review process
@@ -590,12 +663,15 @@ the following steps:
@item
Configure to compile with instrumentation enabled:
@code{configure --toolchain=gcov}.
@item
Run your test case, either manually or via FATE. This can be either
the full FATE regression suite, or any arbitrary invocation of any
front-end tool provided by FFmpeg, in any combination.
@item
Run @code{make lcov} to generate coverage data in HTML format.
@item
View @code{lcov/index.html} in your preferred HTML viewer.
@end enumerate
@@ -630,12 +706,13 @@ There are two kinds of releases:
@enumerate
@item
@strong{Major releases} always include the latest and greatest
features and functionality.
@strong{Major releases} always include the latest and greatest
features and functionality.
@item
@strong{Point releases} are cut from @strong{release} branches,
which are named @code{release/X}, with @code{X} being the release
version number.
@strong{Point releases} are cut from @strong{release} branches,
which are named @code{release/X}, with @code{X} being the release
version number.
@end enumerate
Note that we promise to our users that shared libraries from any FFmpeg
@@ -656,15 +733,18 @@ inclusion into a point release:
@enumerate
@item
Fixes a security issue, preferably identified by a @strong{CVE
number} issued by @url{http://cve.mitre.org/}.
Fixes a security issue, preferably identified by a @strong{CVE
number} issued by @url{http://cve.mitre.org/}.
@item
Fixes a documented bug in @url{https://trac.ffmpeg.org}.
Fixes a documented bug in @url{https://trac.ffmpeg.org}.
@item
Improves the included documentation.
Improves the included documentation.
@item
Retains both source code and binary compatibility with previous
point releases of the same release branch.
Retains both source code and binary compatibility with previous
point releases of the same release branch.
@end enumerate
The order for checking the rules is (1 OR 2 OR 3) AND 4.
@@ -676,33 +756,42 @@ The release process involves the following steps:
@enumerate
@item
Ensure that the @file{RELEASE} file contains the version number for
the upcoming release.
Ensure that the @file{RELEASE} file contains the version number for
the upcoming release.
@item
Add the release at @url{https://trac.ffmpeg.org/admin/ticket/versions}.
Add the release at @url{https://trac.ffmpeg.org/admin/ticket/versions}.
@item
Announce the intent to do a release to the mailing list.
Announce the intent to do a release to the mailing list.
@item
Make sure all relevant security fixes have been backported. See
@url{https://ffmpeg.org/security.html}.
Make sure all relevant security fixes have been backported. See
@url{https://ffmpeg.org/security.html}.
@item
Ensure that the FATE regression suite still passes in the release
branch on at least @strong{i386} and @strong{amd64}
(cf. @ref{Regression tests}).
Ensure that the FATE regression suite still passes in the release
branch on at least @strong{i386} and @strong{amd64}
(cf. @ref{Regression tests}).
@item
Prepare the release tarballs in @code{bz2} and @code{gz} formats, and
supplementing files that contain @code{gpg} signatures
Prepare the release tarballs in @code{bz2} and @code{gz} formats, and
supplementing files that contain @code{gpg} signatures
@item
Publish the tarballs at @url{http://ffmpeg.org/releases}. Create and
push an annotated tag in the form @code{nX}, with @code{X}
containing the version number.
Publish the tarballs at @url{http://ffmpeg.org/releases}. Create and
push an annotated tag in the form @code{nX}, with @code{X}
containing the version number.
@item
Propose and send a patch to the @strong{ffmpeg-devel} mailing list
with a news entry for the website.
Propose and send a patch to the @strong{ffmpeg-devel} mailing list
with a news entry for the website.
@item
Publish the news entry.
Publish the news entry.
@item
Send announcement to the mailing list.
Send announcement to the mailing list.
@end enumerate
@bye

File diff suppressed because it is too large Load Diff

View File

@@ -25,6 +25,7 @@ OBJS=$(addsuffix .o,$(EXAMPLES))
# the following examples make explicit use of the math library
decoding_encoding: LDLIBS += -lm
muxing: LDLIBS += -lm
resampling_audio: LDLIBS += -lm
.phony: all clean-test clean

View File

@@ -14,5 +14,5 @@ correctly configured.
2) Build the examples in-tree
Assuming you are in the source FFmpeg checkout directory, you need to build
FFmpeg (no need to make install in any prefix). Then you can go into the
FFmpeg (no need to make install in any prefix). Then you can go into
doc/examples and run a command such as PKG_CONFIG_PATH=pc-uninstalled make.

View File

@@ -47,10 +47,6 @@ static uint8_t *video_dst_data[4] = {NULL};
static int video_dst_linesize[4];
static int video_dst_bufsize;
static uint8_t **audio_dst_data = NULL;
static int audio_dst_linesize;
static int audio_dst_bufsize;
static int video_stream_idx = -1, audio_stream_idx = -1;
static AVFrame *frame = NULL;
static AVPacket pkt;
@@ -60,6 +56,7 @@ static int audio_frame_count = 0;
static int decode_packet(int *got_frame, int cached)
{
int ret = 0;
int decoded = pkt.size;
if (pkt.stream_index == video_stream_idx) {
/* decode video frame */
@@ -91,37 +88,32 @@ static int decode_packet(int *got_frame, int cached)
fprintf(stderr, "Error decoding audio frame\n");
return ret;
}
/* Some audio decoders decode only part of the packet, and have to be
* called again with the remainder of the packet data.
* Sample: fate-suite/lossless-audio/luckynight-partial.shn
* Also, some decoders might over-read the packet. */
decoded = FFMIN(ret, pkt.size);
if (*got_frame) {
size_t unpadded_linesize = frame->nb_samples * av_get_bytes_per_sample(frame->format);
printf("audio_frame%s n:%d nb_samples:%d pts:%s\n",
cached ? "(cached)" : "",
audio_frame_count++, frame->nb_samples,
av_ts2timestr(frame->pts, &audio_dec_ctx->time_base));
ret = av_samples_alloc(audio_dst_data, &audio_dst_linesize, av_frame_get_channels(frame),
frame->nb_samples, frame->format, 1);
if (ret < 0) {
fprintf(stderr, "Could not allocate audio buffer\n");
return AVERROR(ENOMEM);
}
/* TODO: extend return code of the av_samples_* functions so that this call is not needed */
audio_dst_bufsize =
av_samples_get_buffer_size(NULL, av_frame_get_channels(frame),
frame->nb_samples, frame->format, 1);
/* copy audio data to destination buffer:
* this is required since rawaudio expects non aligned data */
av_samples_copy(audio_dst_data, frame->data, 0, 0,
frame->nb_samples, av_frame_get_channels(frame), frame->format);
/* write to rawaudio file */
fwrite(audio_dst_data[0], 1, audio_dst_bufsize, audio_dst_file);
av_freep(&audio_dst_data[0]);
/* Write the raw audio data samples of the first plane. This works
* fine for packed formats (e.g. AV_SAMPLE_FMT_S16). However,
* most audio decoders output planar audio, which uses a separate
* plane of audio samples for each channel (e.g. AV_SAMPLE_FMT_S16P).
* In other words, this code will write only the first audio channel
* in these cases.
* You should use libswresample or libavfilter to convert the frame
* to packed data. */
fwrite(frame->extended_data[0], 1, unpadded_linesize, audio_dst_file);
}
}
return ret;
return decoded;
}
static int open_codec_context(int *stream_idx,
@@ -244,8 +236,6 @@ int main (int argc, char **argv)
}
if (open_codec_context(&audio_stream_idx, fmt_ctx, AVMEDIA_TYPE_AUDIO) >= 0) {
int nb_planes;
audio_stream = fmt_ctx->streams[audio_stream_idx];
audio_dec_ctx = audio_stream->codec;
audio_dst_file = fopen(audio_dst_filename, "wb");
@@ -254,15 +244,6 @@ int main (int argc, char **argv)
ret = 1;
goto end;
}
nb_planes = av_sample_fmt_is_planar(audio_dec_ctx->sample_fmt) ?
audio_dec_ctx->channels : 1;
audio_dst_data = av_mallocz(sizeof(uint8_t *) * nb_planes);
if (!audio_dst_data) {
fprintf(stderr, "Could not allocate audio data buffers\n");
ret = AVERROR(ENOMEM);
goto end;
}
}
/* dump input information to stderr */
@@ -293,8 +274,15 @@ int main (int argc, char **argv)
/* read frames from the file */
while (av_read_frame(fmt_ctx, &pkt) >= 0) {
decode_packet(&got_frame, 0);
av_free_packet(&pkt);
AVPacket orig_pkt = pkt;
do {
ret = decode_packet(&got_frame, 0);
if (ret < 0)
break;
pkt.data += ret;
pkt.size -= ret;
} while (pkt.size > 0);
av_free_packet(&orig_pkt);
}
/* flush cached frames */
@@ -314,13 +302,25 @@ int main (int argc, char **argv)
}
if (audio_stream) {
enum AVSampleFormat sfmt = audio_dec_ctx->sample_fmt;
int n_channels = audio_dec_ctx->channels;
const char *fmt;
if ((ret = get_format_from_sample_fmt(&fmt, audio_dec_ctx->sample_fmt)) < 0)
if (av_sample_fmt_is_planar(sfmt)) {
const char *packed = av_get_sample_fmt_name(sfmt);
printf("Warning: the sample format the decoder produced is planar "
"(%s). This example will output the first channel only.\n",
packed ? packed : "?");
sfmt = av_get_packed_sample_fmt(sfmt);
n_channels = 1;
}
if ((ret = get_format_from_sample_fmt(&fmt, sfmt)) < 0)
goto end;
printf("Play the output audio file with the command:\n"
"ffplay -f %s -ac %d -ar %d %s\n",
fmt, audio_dec_ctx->channels, audio_dec_ctx->sample_rate,
fmt, n_channels, audio_dec_ctx->sample_rate,
audio_dst_filename);
}
@@ -336,7 +336,6 @@ end:
fclose(audio_dst_file);
av_free(frame);
av_free(video_dst_data[0]);
av_free(audio_dst_data);
return ret < 0;
}

View File

@@ -38,8 +38,8 @@
#include <libavfilter/buffersrc.h>
#include <libavutil/opt.h>
const char *filter_descr = "aresample=8000,aformat=sample_fmts=s16:channel_layouts=mono";
const char *player = "ffplay -f s16le -ar 8000 -ac 1 -";
static const char *filter_descr = "aresample=8000,aformat=sample_fmts=s16:channel_layouts=mono";
static const char *player = "ffplay -f s16le -ar 8000 -ac 1 -";
static AVFormatContext *fmt_ctx;
static AVCodecContext *dec_ctx;
@@ -90,9 +90,9 @@ static int init_filters(const char *filters_descr)
AVFilter *abuffersink = avfilter_get_by_name("abuffersink");
AVFilterInOut *outputs = avfilter_inout_alloc();
AVFilterInOut *inputs = avfilter_inout_alloc();
const enum AVSampleFormat out_sample_fmts[] = { AV_SAMPLE_FMT_S16, -1 };
const int64_t out_channel_layouts[] = { AV_CH_LAYOUT_MONO, -1 };
const int out_sample_rates[] = { 8000, -1 };
static const enum AVSampleFormat out_sample_fmts[] = { AV_SAMPLE_FMT_S16, -1 };
static const int64_t out_channel_layouts[] = { AV_CH_LAYOUT_MONO, -1 };
static const int out_sample_rates[] = { 8000, -1 };
const AVFilterLink *outlink;
AVRational time_base = fmt_ctx->streams[audio_stream_index]->time_base;

View File

@@ -105,7 +105,7 @@ For example, img1.jpg, img2.jpg, img3.jpg,...
Then you may run:
@example
ffmpeg -f image2 -i img%d.jpg /tmp/a.mpg
ffmpeg -f image2 -i img%d.jpg /tmp/a.mpg
@end example
Notice that @samp{%d} is replaced by the image number.
@@ -118,7 +118,7 @@ the sequence. This is useful if your sequence does not start with
example will start with @file{img100.jpg}:
@example
ffmpeg -f image2 -start_number 100 -i img%d.jpg /tmp/a.mpg
ffmpeg -f image2 -start_number 100 -i img%d.jpg /tmp/a.mpg
@end example
If you have large number of pictures to rename, you can use the
@@ -128,7 +128,7 @@ that match @code{*jpg} to the @file{/tmp} directory in the sequence of
@file{img001.jpg}, @file{img002.jpg} and so on.
@example
x=1; for i in *jpg; do counter=$(printf %03d $x); ln -s "$i" /tmp/img"$counter".jpg; x=$(($x+1)); done
x=1; for i in *jpg; do counter=$(printf %03d $x); ln -s "$i" /tmp/img"$counter".jpg; x=$(($x+1)); done
@end example
If you want to sequence them by oldest modified first, substitute
@@ -137,7 +137,7 @@ If you want to sequence them by oldest modified first, substitute
Then run:
@example
ffmpeg -f image2 -i /tmp/img%03d.jpg /tmp/a.mpg
ffmpeg -f image2 -i /tmp/img%03d.jpg /tmp/a.mpg
@end example
The same logic is used for any image format that ffmpeg reads.
@@ -145,7 +145,7 @@ The same logic is used for any image format that ffmpeg reads.
You can also use @command{cat} to pipe images to ffmpeg:
@example
cat *.jpg | ffmpeg -f image2pipe -c:v mjpeg -i - output.mpg
cat *.jpg | ffmpeg -f image2pipe -c:v mjpeg -i - output.mpg
@end example
@section How do I encode movie to single pictures?
@@ -153,7 +153,7 @@ You can also use @command{cat} to pipe images to ffmpeg:
Use:
@example
ffmpeg -i movie.mpg movie%d.jpg
ffmpeg -i movie.mpg movie%d.jpg
@end example
The @file{movie.mpg} used as input will be converted to
@@ -169,7 +169,7 @@ to force the encoding.
Applying that to the previous example:
@example
ffmpeg -i movie.mpg -f image2 -c:v mjpeg menu%d.jpg
ffmpeg -i movie.mpg -f image2 -c:v mjpeg menu%d.jpg
@end example
Beware that there is no "jpeg" codec. Use "mjpeg" instead.
@@ -227,15 +227,15 @@ then you may use any file that DirectShow can read as input.
Just create an "input.avs" text file with this single line ...
@example
DirectShowSource("C:\path to your file\yourfile.asf")
DirectShowSource("C:\path to your file\yourfile.asf")
@end example
... and then feed that text file to ffmpeg:
@example
ffmpeg -i input.avs
ffmpeg -i input.avs
@end example
For ANY other help on Avisynth, please visit the
@uref{http://www.avisynth.org/, Avisynth homepage}.
For ANY other help on AviSynth, please visit the
@uref{http://www.avisynth.org/, AviSynth homepage}.
@section How can I join video files?
@@ -475,9 +475,10 @@ read @uref{http://www.tux.org/lkml/#s15, "Programming Religion"}.
@section Why are the ffmpeg programs devoid of debugging symbols?
The build process creates ffmpeg_g, ffplay_g, etc. which contain full debug
information. Those binaries are stripped to create ffmpeg, ffplay, etc. If
you need the debug information, use the *_g versions.
The build process creates @command{ffmpeg_g}, @command{ffplay_g}, etc. which
contain full debug information. Those binaries are stripped to create
@command{ffmpeg}, @command{ffplay}, etc. If you need the debug information, use
the *_g versions.
@section I do not like the LGPL, can I contribute code under the GPL instead?
@@ -497,7 +498,7 @@ An easy way to get the full list of required libraries in dependency order
is to use @code{pkg-config}.
@example
c99 -o program program.c $(pkg-config --cflags --libs libavformat libavcodec)
c99 -o program program.c $(pkg-config --cflags --libs libavformat libavcodec)
@end example
See @file{doc/example/Makefile} and @file{doc/example/pc-uninstalled} for
@@ -521,10 +522,6 @@ to use them you have to append -D__STDC_CONSTANT_MACROS to your CXXFLAGS
You have to create a custom AVIOContext using @code{avio_alloc_context},
see @file{libavformat/aviobuf.c} in FFmpeg and @file{libmpdemux/demux_lavf.c} in MPlayer or MPlayer2 sources.
@section Where can I find libav* headers for Pascal/Delphi?
see @url{http://www.iversenit.dk/dev/ffmpeg-headers/}
@section Where is the documentation about ffv1, msmpeg4, asv1, 4xm?
see @url{http://www.ffmpeg.org/~michael/}
@@ -537,11 +534,12 @@ In this specific case please look at RFC 4629 to see how it should be done.
@section AVStream.r_frame_rate is wrong, it is much larger than the frame rate.
r_frame_rate is NOT the average frame rate, it is the smallest frame rate
@code{r_frame_rate} is NOT the average frame rate, it is the smallest frame rate
that can accurately represent all timestamps. So no, it is not
wrong if it is larger than the average!
For example, if you have mixed 25 and 30 fps content, then r_frame_rate
will be 150.
For example, if you have mixed 25 and 30 fps content, then @code{r_frame_rate}
will be 150 (it is the least common multiple).
If you are looking for the average frame rate, see @code{AVStream.avg_frame_rate}.
@section Why is @code{make fate} not running all tests?

View File

@@ -153,20 +153,20 @@ the synchronisation of the samples directory.
@table @option
@item fate-rsync
Download/synchronize sample files to the configured samples directory.
Download/synchronize sample files to the configured samples directory.
@item fate-list
Will list all fate/regression test targets.
Will list all fate/regression test targets.
@item fate
Run the FATE test suite (requires the fate-suite dataset).
Run the FATE test suite (requires the fate-suite dataset).
@end table
@section Makefile variables
@table @option
@item V
Verbosity level, can be set to 0, 1 or 2.
Verbosity level, can be set to 0, 1 or 2.
@itemize
@item 0: show just the test arguments
@item 1: show just the command used in the test
@@ -174,22 +174,26 @@ the synchronisation of the samples directory.
@end itemize
@item SAMPLES
Specify or override the path to the FATE samples at make time, it has a
meaning only while running the regression tests.
Specify or override the path to the FATE samples at make time, it has a
meaning only while running the regression tests.
@item THREADS
Specify how many threads to use while running regression tests, it is
quite useful to detect thread-related regressions.
Specify how many threads to use while running regression tests, it is
quite useful to detect thread-related regressions.
@item THREAD_TYPE
Specify which threading strategy test, either @var{slice} or @var{frame},
by default @var{slice+frame}
Specify which threading strategy test, either @var{slice} or @var{frame},
by default @var{slice+frame}
@item CPUFLAGS
Specify CPU flags.
Specify CPU flags.
@item TARGET_EXEC
Specify or override the wrapper used to run the tests.
The @var{TARGET_EXEC} option provides a way to run FATE wrapped in
@command{valgrind}, @command{qemu-user} or @command{wine} or on remote targets
through @command{ssh}.
Specify or override the wrapper used to run the tests.
The @var{TARGET_EXEC} option provides a way to run FATE wrapped in
@command{valgrind}, @command{qemu-user} or @command{wine} or on remote targets
through @command{ssh}.
@item GEN
Set to @var{1} to generate the missing or mismatched references.
@end table

View File

@@ -12,7 +12,7 @@
@chapter Description
@c man begin DESCRIPTION
The FFmpeg resampler provides an high-level interface to the
The FFmpeg resampler provides a high-level interface to the
libswresample library audio resampling utilities. In particular it
allows to perform audio resampling, audio channel layout rematrixing,
and convert audio format and packing layout.

View File

@@ -12,7 +12,7 @@
@chapter Description
@c man begin DESCRIPTION
The FFmpeg rescaler provides an high-level interface to the libswscale
The FFmpeg rescaler provides a high-level interface to the libswscale
library image conversion utilities. In particular it allows to perform
image rescaling and pixel format conversion.

View File

@@ -214,7 +214,7 @@ described.
@chapter Options
@c man begin OPTIONS
@include avtools-common-opts.texi
@include fftools-common-opts.texi
@section Main options
@@ -272,9 +272,15 @@ Set the file size limit, expressed in bytes.
@item -ss @var{position} (@emph{input/output})
When used as an input option (before @code{-i}), seeks in this input file to
@var{position}. When used as an output option (before an output filename),
decodes but discards input until the timestamps reach @var{position}. This is
slower, but more accurate.
@var{position}. Note the in most formats it is not possible to seek exactly, so
@command{ffmpeg} will seek to the closest seek point before @var{position}.
When transcoding and @option{-accurate_seek} is enabled (the default), this
extra segment between the seek point and @var{position} will be decoded and
discarded. When doing stream copy or when @option{-noaccurate_seek} is used, it
will be preserved.
When used as an output option (before an output filename), decodes but discards
input until the timestamps reach @var{position}.
@var{position} may be either in seconds or in @code{hh:mm:ss[.xxx]} form.
@@ -871,13 +877,12 @@ Dump each input packet to stderr.
When dumping packets, also dump the payload.
@item -re (@emph{input})
Read input at native frame rate. Mainly used to simulate a grab device.
or live input stream (e.g. when reading from a file). Should not be used
with actual grab devices or live input streams (where it can cause packet
loss).
By default @command{ffmpeg} attempts to read the input(s) as fast as possible.
This option will slow down the reading of the input(s) to the native frame rate
of the input(s). It is useful for real-time output (e.g. live streaming). If
your input(s) is coming from some other live streaming source (through HTTP or
UDP for example) the server might already be in real-time, thus the option will
likely not be required. On the other hand, this is meaningful if your input(s)
is a file you are trying to push in real-time.
of the input(s). It is useful for real-time output (e.g. live streaming).
@item -loop_input
Loop over the input stream. Currently it works only for image
streams. This option is used for automatic FFserver testing.
@@ -1060,6 +1065,12 @@ This option is similar to @option{-filter_complex}, the only difference is that
its argument is the name of the file from which a complex filtergraph
description is to be read.
@item -accurate_seek (@emph{input})
This option enables or disables accurate seeking in input files with the
@option{-ss} option. It is enabled by default, so seeking is accurate when
transcoding. Use @option{-noaccurate_seek} to disable it, which may be useful
e.g. when copying some streams and transcoding the others.
@item -override_ffserver (@emph{global})
Overrides the input specifications from ffserver. Using this option you can
map any input stream to ffserver and control many aspects of the encoding from
@@ -1125,7 +1136,7 @@ then it will search for the file @file{libvpx-1080p.ffpreset}.
@itemize
@item
For streaming at very low bitrate application, use a low frame rate
For streaming at very low bitrates, use a low frame rate
and a small GOP size. This is especially true for RealVideo where
the Linux player does not seem to be very fast, so it can miss
frames. An example is:
@@ -1204,14 +1215,14 @@ standard mixer.
Grab the X11 display with ffmpeg via
@example
ffmpeg -f x11grab -s cif -r 25 -i :0.0 /tmp/out.mpg
ffmpeg -f x11grab -video_size cif -framerate 25 -i :0.0 /tmp/out.mpg
@end example
0.0 is display.screen number of your X11 server, same as
the DISPLAY environment variable.
@example
ffmpeg -f x11grab -s cif -r 25 -i :0.0+10,20 /tmp/out.mpg
ffmpeg -f x11grab -video_size cif -framerate 25 -i :0.0+10,20 /tmp/out.mpg
@end example
0.0 is display.screen number of your X11 server, same as the DISPLAY environment

View File

@@ -24,7 +24,7 @@ various FFmpeg APIs.
@chapter Options
@c man begin OPTIONS
@include avtools-common-opts.texi
@include fftools-common-opts.texi
@section Main options
@@ -174,13 +174,16 @@ Toggle full screen.
Pause.
@item a
Cycle audio channel.
Cycle audio channel in the curret program.
@item v
Cycle video channel.
@item t
Cycle subtitle channel.
Cycle subtitle channel in the current program.
@item c
Cycle program.
@item w
Show audio waves.

View File

@@ -44,14 +44,15 @@ name (which may be shared by other sections), and an unique
name. See the output of @option{sections}.
Metadata tags stored in the container or in the streams are recognized
and printed in the corresponding "FORMAT" or "STREAM" section.
and printed in the corresponding "FORMAT", "STREAM" or "PROGRAM_STREAM"
section.
@c man end
@chapter Options
@c man begin OPTIONS
@include avtools-common-opts.texi
@include fftools-common-opts.texi
@section Main options
@@ -112,7 +113,7 @@ ffprobe -show_packets -select_streams v:1 INPUT
@end example
@item -show_data
Show payload data, as an hexadecimal and ASCII dump. Coupled with
Show payload data, as a hexadecimal and ASCII dump. Coupled with
@option{-show_packets}, it will dump the packets' data. Coupled with
@option{-show_streams}, it will dump the codec extradata.
@@ -209,6 +210,13 @@ multimedia stream.
Each media stream information is printed within a dedicated section
with name "STREAM".
@item -show_programs
Show information about programs and their streams contained in the input
multimedia stream.
Each media stream information is printed within a dedicated section
with name "PROGRAM_STREAM".
@item -show_chapters
Show information about chapters stored in the format.
@@ -222,6 +230,70 @@ corresponding stream section.
Count the number of packets per stream and report it in the
corresponding stream section.
@item -read_intervals @var{read_intervals}
Read only the specified intervals. @var{read_intervals} must be a
sequence of interval specifications separated by ",".
@command{ffprobe} will seek to the interval starting point, and will
continue reading from that.
Each interval is specified by two optional parts, separated by "%".
The first part specifies the interval start position. It is
interpreted as an abolute position, or as a relative offset from the
current position if it is preceded by the "+" character. If this first
part is not specified, no seeking will be performed when reading this
interval.
The second part specifies the interval end position. It is interpreted
as an absolute position, or as a relative offset from the current
position if it is preceded by the "+" character. If the offset
specification starts with "#", it is interpreted as the number of
packets to read (not including the flushing packets) from the interval
start. If no second part is specified, the program will read until the
end of the input.
Note that seeking is not accurate, thus the actual interval start
point may be different from the specified position. Also, when an
interval duration is specified, the absolute end time will be computed
by adding the duration to the interval start point found by seeking
the file, rather than to the specified start value.
The formal syntax is given by:
@example
@var{INTERVAL} ::= [@var{START}|+@var{START_OFFSET}][%[@var{END}|+@var{END_OFFSET}]]
@var{INTERVALS} ::= @var{INTERVAL}[,@var{INTERVALS}]
@end example
A few examples follow.
@itemize
@item
Seek to time 10, read packets until 20 seconds after the found seek
point, then seek to position @code{01:30} (1 minute and thirty
seconds) and read packets until position @code{01:45}.
@example
10%+20,01:30%01:45
@end example
@item
Read only 42 packets after seeking to position @code{01:23}:
@example
01:23%+#42
@end example
@item
Read only the first 20 seconds from the start:
@example
%+20
@end example
@item
Read from the start until position @code{02:30}:
@example
%02:30
@end example
@end itemize
@item -show_private_data, -private
Show private data, that is data depending on the format of the
particular shown element.
@@ -279,8 +351,8 @@ keyN=valN
[/SECTION]
@end example
Metadata tags are printed as a line in the corresponding FORMAT or
STREAM section, and are prefixed by the string "TAG:".
Metadata tags are printed as a line in the corresponding FORMAT, STREAM or
PROGRAM_STREAM section, and are prefixed by the string "TAG:".
A description of the accepted options follows.

View File

@@ -11,6 +11,7 @@
<xsd:element name="packets" type="ffprobe:packetsType" minOccurs="0" maxOccurs="1" />
<xsd:element name="frames" type="ffprobe:framesType" minOccurs="0" maxOccurs="1" />
<xsd:element name="streams" type="ffprobe:streamsType" minOccurs="0" maxOccurs="1" />
<xsd:element name="programs" type="ffprobe:programsType" minOccurs="0" maxOccurs="1" />
<xsd:element name="chapters" type="ffprobe:chaptersType" minOccurs="0" maxOccurs="1" />
<xsd:element name="format" type="ffprobe:formatType" minOccurs="0" maxOccurs="1" />
<xsd:element name="error" type="ffprobe:errorType" minOccurs="0" maxOccurs="1" />
@@ -87,6 +88,12 @@
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="programsType">
<xsd:sequence>
<xsd:element name="program" type="ffprobe:programType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="streamDispositionType">
<xsd:attribute name="default" type="xsd:int" use="required" />
<xsd:attribute name="dub" type="xsd:int" use="required" />
@@ -103,8 +110,8 @@
<xsd:complexType name="streamType">
<xsd:sequence>
<xsd:element name="tag" type="ffprobe:tagType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="disposition" type="ffprobe:streamDispositionType" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tag" type="ffprobe:tagType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="index" type="xsd:int" use="required"/>
@@ -131,6 +138,7 @@
<xsd:attribute name="sample_fmt" type="xsd:string"/>
<xsd:attribute name="sample_rate" type="xsd:int"/>
<xsd:attribute name="channels" type="xsd:int"/>
<xsd:attribute name="channel_layout" type="xsd:string"/>
<xsd:attribute name="bits_per_sample" type="xsd:int"/>
<xsd:attribute name="id" type="xsd:string"/>
@@ -147,6 +155,23 @@
<xsd:attribute name="nb_read_packets" type="xsd:int"/>
</xsd:complexType>
<xsd:complexType name="programType">
<xsd:sequence>
<xsd:element name="tag" type="ffprobe:tagType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="streams" type="ffprobe:streamsType" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="program_id" type="xsd:int" use="required"/>
<xsd:attribute name="program_num" type="xsd:int" use="required"/>
<xsd:attribute name="nb_streams" type="xsd:int" use="required"/>
<xsd:attribute name="start_time" type="xsd:float"/>
<xsd:attribute name="start_pts" type="xsd:long"/>
<xsd:attribute name="end_time" type="xsd:float"/>
<xsd:attribute name="end_pts" type="xsd:long"/>
<xsd:attribute name="pmt_pid" type="xsd:int" use="required"/>
<xsd:attribute name="pcr_pid" type="xsd:int" use="required"/>
</xsd:complexType>
<xsd:complexType name="formatType">
<xsd:sequence>
<xsd:element name="tag" type="ffprobe:tagType" minOccurs="0" maxOccurs="unbounded"/>
@@ -154,12 +179,14 @@
<xsd:attribute name="filename" type="xsd:string" use="required"/>
<xsd:attribute name="nb_streams" type="xsd:int" use="required"/>
<xsd:attribute name="nb_programs" type="xsd:int" use="required"/>
<xsd:attribute name="format_name" type="xsd:string" use="required"/>
<xsd:attribute name="format_long_name" type="xsd:string"/>
<xsd:attribute name="start_time" type="xsd:float"/>
<xsd:attribute name="duration" type="xsd:float"/>
<xsd:attribute name="size" type="xsd:long"/>
<xsd:attribute name="bit_rate" type="xsd:long"/>
<xsd:attribute name="probe_score" type="xsd:int"/>
</xsd:complexType>
<xsd:complexType name="tagType">

View File

@@ -229,7 +229,7 @@ differing versions of tools. FFM2 is the default.
@chapter Options
@c man begin OPTIONS
@include avtools-common-opts.texi
@include fftools-common-opts.texi
@section Main options

View File

@@ -59,10 +59,18 @@ Show license.
@item -h, -?, -help, --help [@var{arg}]
Show help. An optional parameter may be specified to print help about a specific
item.
item. If no argument is specified, only basic (non advanced) tool
options are shown.
Possible values of @var{arg} are:
@table @option
@item long
Print advanced tool options in addition to the basic tool options.
@item full
Print complete list of options, including shared and private options
for encoders, decoders, demuxers, muxers, filters, etc.
@item decoder=@var{decoder_name}
Print detailed information about the decoder named @var{decoder_name}. Use the
@option{-decoders} option to get a list of all decoders.
@@ -82,7 +90,6 @@ Print detailed information about the muxer named @var{muxer_name}. Use the
@item filter=@var{filter_name}
Print detailed information about the filter name @var{filter_name}. Use the
@option{-filters} option to get a list of all filters.
@end table
@item -version
@@ -121,6 +128,9 @@ Show available sample formats.
@item -layouts
Show channel names and standard channel layouts.
@item -colors
Show recognized color names.
@item -loglevel [repeat+]@var{loglevel} | -v [repeat+]@var{loglevel}
Set the logging level used by the library.
Adding "repeat+" indicates that repeated log output should not be compressed
@@ -271,11 +281,12 @@ muxer:
ffmpeg -i input.flac -id3v2_version 3 out.mp3
@end example
All codec AVOptions are obviously per-stream, so the chapter on stream
specifiers applies to them
All codec AVOptions are per-stream, and thus a stream specifier
should be attached to them.
Note @option{-nooption} syntax cannot be used for boolean AVOptions,
use @option{-option 0}/@option{-option 1}.
Note: the @option{-nooption} syntax cannot be used for boolean
AVOptions, use @option{-option 0}/@option{-option 1}.
Note2 old undocumented way of specifying per-stream AVOptions by prepending
v/a/s to the options name is now obsolete and will be removed soon.
Note: the old undocumented way of specifying per-stream AVOptions by
prepending v/a/s to the options name is now obsolete and will be
removed soon.

View File

@@ -166,7 +166,7 @@ Buffer references ownership and permissions
WRITE permission.
* Filters that read their input to produce a new frame on output (like
scale) need the READ permission on input and and must request a buffer
scale) need the READ permission on input and must request a buffer
with the WRITE permission.
* Filters that intend to keep a reference after the filtering process

File diff suppressed because it is too large Load Diff

View File

@@ -57,6 +57,10 @@ Enable RTP MP4A-LATM payload.
Reduce the latency introduced by optional buffering
@end table
@item seek2any @var{integer} (@emph{input})
Allow seeking to non-keyframes on demuxer level when supported if set to 1.
Default is 0.
@item analyzeduration @var{integer} (@emph{input})
Specify how many microseconds are analyzed to probe the input. A
higher value will allow to detect more accurate information, but will
@@ -133,6 +137,13 @@ been without shifting.
Also note that this affects only leading negative timestamps, and not
non-monotonic negative timestamps.
@item skip_initial_bytes @var{integer} (@emph{input})
Set number of bytes to skip before reading header and frames if set to 1.
Default is 0.
@item correct_ts_overflow @var{integer} (@emph{input})
Correct single timestamp overflows if set to 1. Default is 1.
@item flush_packets @var{integer} (@emph{output})
Flush the underlying I/O stream after each packet. Default 1 enables it, and
has the effect of reducing the latency; 0 disables it and may slightly
@@ -141,6 +152,37 @@ increase performance in some cases.
@c man end FORMAT OPTIONS
@anchor{Format stream specifiers}
@section Format stream specifiers
Format stream specifiers allow selection of one or more streams that
match specific properties.
Possible forms of stream specifiers are:
@table @option
@item @var{stream_index}
Matches the stream with this index.
@item @var{stream_type}[:@var{stream_index}]
@var{stream_type} is one of following: 'v' for video, 'a' for audio,
's' for subtitle, 'd' for data, and 't' for attachments. If
@var{stream_index} is given, then it matches the stream number
@var{stream_index} of this type. Otherwise, it matches all streams of
this type.
@item p:@var{program_id}[:@var{stream_index}]
If @var{stream_index} is given, then it matches the stream with number
@var{stream_index} in the program with the id
@var{program_id}. Otherwise, it matches all streams in the program.
@item #@var{stream_id}
Matches the stream by a format-specific ID.
@end table
The exact semantics of stream specifiers is defined by the
@code{avformat_match_stream_specifier()} function declared in the
@file{libavformat/avformat.h} header.
@include demuxers.texi
@include muxers.texi
@include metadata.texi

View File

@@ -94,7 +94,7 @@ Then pass @code{--enable-libtwolame} to configure to enable it.
@section libvpx
FFmpeg can make use of the libvpx library for VP8 encoding.
FFmpeg can make use of the libvpx library for VP8/VP9 encoding.
Go to @url{http://www.webmproject.org/} and follow the instructions for
installing the library. Then pass @code{--enable-libvpx} to configure to
@@ -133,6 +133,20 @@ Go to @url{https://github.com/dekkers/libilbc} and follow the instructions for
installing the library. Then pass @code{--enable-libilbc} to configure to
enable it.
@section libzvbi
libzvbi is a VBI decoding library which can be used by FFmpeg to decode DVB
teletext pages and DVB teletext subtitles.
Go to @url{http://sourceforge.net/projects/zapping/} and follow the instructions for
installing the library. Then pass @code{--enable-libzvbi} to configure to
enable it.
@float NOTE
libzvbi is licensed under the GNU General Public License Version 2 or later
(see @url{http://www.gnu.org/licenses/old-licenses/gpl-2.0.html} for details),
you must upgrade FFmpeg's license to GPL in order to use it.
@end float
@chapter Supported File Formats, Codecs or Features
@@ -168,7 +182,7 @@ library:
@item AST @tab X @tab X
@tab Audio format used on the Nintendo Wii.
@item AVI @tab X @tab X
@item AVISynth @tab @tab X
@item AviSynth @tab @tab X
@item AVR @tab @tab X
@tab Audio format used on Mac.
@item AVS @tab @tab X
@@ -474,6 +488,8 @@ following image formats are supported:
@tab YUV, JPEG and some extension is not supported yet.
@item Truevision Targa @tab X @tab X
@tab Targa (.TGA) image format
@item WebP @tab @tab X
@tab WebP image format
@item XBM @tab X @tab X
@tab X BitMap image format
@item XFace @tab X @tab X
@@ -591,7 +607,6 @@ following image formats are supported:
@item H.263+ / H.263-1998 / H.263 version 2 @tab X @tab X
@item H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 @tab E @tab X
@tab encoding supported through external library libx264
@item H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (VDPAU acceleration) @tab E @tab X
@item HuffYUV @tab X @tab X
@item HuffYUV FFmpeg variant @tab X @tab X
@item IBM Ultimotion @tab @tab X
@@ -644,7 +659,6 @@ following image formats are supported:
@item Motion Pixels video @tab @tab X
@item MPEG-1 video @tab X @tab X
@item MPEG-1/2 video XvMC (X-Video Motion Compensation) @tab @tab X
@item MPEG-1/2 video (VDPAU acceleration) @tab @tab X
@item MPEG-2 video @tab X @tab X
@item MPEG-4 part 2 @tab X @tab X
@tab libxvidcore can be used alternatively for encoding.
@@ -662,6 +676,8 @@ following image formats are supported:
@tab fourcc: VP60,VP61,VP62
@item VP8 @tab E @tab X
@tab fourcc: VP80, encoding supported through external library libvpx
@item VP9 @tab E @tab X
@tab encoding supported through external library libvpx
@item Pinnacle TARGA CineWave YUV16 @tab @tab X
@tab fourcc: Y216
@item Prores @tab @tab X
@@ -811,8 +827,8 @@ following image formats are supported:
@item Amazing Studio PAF Audio @tab @tab X
@item Apple lossless audio @tab X @tab X
@tab QuickTime fourcc 'alac'
@item Atrac 1 @tab @tab X
@item Atrac 3 @tab @tab X
@item ATRAC1 @tab @tab X
@item ATRAC3 @tab @tab X
@item Bink Audio @tab @tab X
@tab Used in Bink and Smacker files in many games.
@item CELT @tab @tab E
@@ -922,8 +938,9 @@ following image formats are supported:
@tab Used in LucasArts SMUSH animations.
@item Vorbis @tab E @tab X
@tab A native but very primitive encoder exists.
@item WavPack @tab E @tab X
@tab supported through external library libwavpack
@item Voxware MetaSound @tab @tab X
@tab imperfect and incomplete support
@item WavPack @tab X @tab X
@item Westwood Audio (SND1) @tab @tab X
@item Windows Media Audio 1 @tab X @tab X
@item Windows Media Audio 2 @tab X @tab X
@@ -946,6 +963,7 @@ performance on systems without hardware floating point support).
@item 3GPP Timed Text @tab @tab @tab X @tab X
@item AQTitle @tab @tab X @tab @tab X
@item DVB @tab X @tab X @tab X @tab X
@item DVB teletext @tab @tab X @tab @tab E
@item DVD @tab X @tab X @tab X @tab X
@item JACOsub @tab X @tab X @tab @tab X
@item MicroDVD @tab X @tab X @tab @tab X
@@ -968,6 +986,8 @@ performance on systems without hardware floating point support).
@code{X} means that the feature is supported.
@code{E} means that support is provided through an external library.
@section Network Protocols
@multitable @columnfractions .4 .1

View File

@@ -485,87 +485,52 @@ For more information about OSS see:
@section pulse
pulseaudio input device.
PulseAudio input device.
To enable this input device during configuration you need libpulse-simple
installed in your system.
To enable this output device you need to configure FFmpeg with @code{--enable-libpulse}.
The filename to provide to the input device is a source device or the
string "default"
To list the pulse source devices and their properties you can invoke
To list the PulseAudio source devices and their properties you can invoke
the command @command{pactl list sources}.
More information about PulseAudio can be found on @url{http://www.pulseaudio.org}.
@subsection Options
@table @option
@item server
Connect to a specific PulseAudio server, specified by an IP address.
Default server is used when not provided.
@item name
Specify the application name PulseAudio will use when showing active clients,
by default it is the @code{LIBAVFORMAT_IDENT} string.
@item stream_name
Specify the stream name PulseAudio will use when showing active streams,
by default it is "record".
@item sample_rate
Specify the samplerate in Hz, by default 48kHz is used.
@item channels
Specify the channels in use, by default 2 (stereo) is set.
@item frame_size
Specify the number of bytes per frame, by default it is set to 1024.
@item fragment_size
Specify the minimal buffering fragment in PulseAudio, it will affect the
audio latency. By default it is unset.
@end table
@subsection Examples
Record a stream from default device:
@example
ffmpeg -f pulse -i default /tmp/pulse.wav
@end example
@subsection @var{server} AVOption
The syntax is:
@example
-server @var{server name}
@end example
Connects to a specific server.
@subsection @var{name} AVOption
The syntax is:
@example
-name @var{application name}
@end example
Specify the application name pulse will use when showing active clients,
by default it is the LIBAVFORMAT_IDENT string
@subsection @var{stream_name} AVOption
The syntax is:
@example
-stream_name @var{stream name}
@end example
Specify the stream name pulse will use when showing active streams,
by default it is "record"
@subsection @var{sample_rate} AVOption
The syntax is:
@example
-sample_rate @var{samplerate}
@end example
Specify the samplerate in Hz, by default 48kHz is used.
@subsection @var{channels} AVOption
The syntax is:
@example
-channels @var{N}
@end example
Specify the channels in use, by default 2 (stereo) is set.
@subsection @var{frame_size} AVOption
The syntax is:
@example
-frame_size @var{bytes}
@end example
Specify the number of byte per frame, by default it is set to 1024.
@subsection @var{fragment_size} AVOption
The syntax is:
@example
-fragment_size @var{bytes}
@end example
Specify the minimal buffering fragment in pulseaudio, it will affect the
audio latency. By default it is unset.
@section sndio
sndio input device.
@@ -736,12 +701,12 @@ properties of your X11 display (e.g. grep for "name" or "dimensions").
For example to grab from @file{:0.0} using @command{ffmpeg}:
@example
ffmpeg -f x11grab -r 25 -s cif -i :0.0 out.mpg
ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0 out.mpg
@end example
Grab at position @code{10,20}:
@example
ffmpeg -f x11grab -r 25 -s cif -i :0.0+10,20 out.mpg
ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0+10,20 out.mpg
@end example
@subsection Options
@@ -762,12 +727,12 @@ zero) to the edge of region.
For example:
@example
ffmpeg -f x11grab -follow_mouse centered -r 25 -s cif -i :0.0 out.mpg
ffmpeg -f x11grab -follow_mouse centered -framerate 25 -video_size cif -i :0.0 out.mpg
@end example
To follow only when the mouse pointer reaches within 100 pixels to edge:
@example
ffmpeg -f x11grab -follow_mouse 100 -r 25 -s cif -i :0.0 out.mpg
ffmpeg -f x11grab -follow_mouse 100 -framerate 25 -video_size cif -i :0.0 out.mpg
@end example
@item framerate
@@ -783,12 +748,12 @@ know what is being grabbed if only a portion of the screen is grabbed.
For example:
@example
ffmpeg -f x11grab -show_region 1 -r 25 -s cif -i :0.0+10,20 out.mpg
ffmpeg -f x11grab -show_region 1 -framerate 25 -video_size cif -i :0.0+10,20 out.mpg
@end example
With @var{follow_mouse}:
@example
ffmpeg -f x11grab -follow_mouse centered -show_region 1 -r 25 -s cif -i :0.0 out.mpg
ffmpeg -f x11grab -follow_mouse centered -show_region 1 -framerate 25 -video_size cif -i :0.0 out.mpg
@end example
@item video_size

View File

@@ -1,4 +1,4 @@
FFmpeg's bug/patch/feature request tracker manual
FFmpeg's bug/feature request tracker manual
=================================================
NOTE: This is a draft.
@@ -11,7 +11,7 @@ existing issues can be done through a web interface.
Issues can be different kinds of things we want to keep track of
but that do not belong into the source tree itself. This includes
bug reports, patches, feature requests and license violations. We
bug reports, feature requests and license violations. We
might add more items to this list in the future, so feel free to
propose a new `type of issue' on the ffmpeg-devel mailing list if
you feel it is worth tracking.
@@ -28,6 +28,9 @@ http(s)://trac.ffmpeg.org
Type:
-----
art
Artwork such as photos, music, banners, and logos.
bug / defect
An error, flaw, mistake, failure, or fault in FFmpeg or libav* that
prevents it from behaving as intended.
@@ -41,20 +44,18 @@ feature request / enhancement
license violation
ticket to keep track of (L)GPL violations of ffmpeg by others
patch
A patch as generated by diff which conforms to the patch submission and
development policy.
sponsoring request
Developer requests for hardware, software, specifications, money,
refunds, etc.
Priority:
---------
critical
Bugs and patches which deal with data loss and security issues.
Bugs about data loss and security issues.
No feature request can be critical.
important
Bugs which make FFmpeg unusable for a significant number of users, and
patches fixing them.
Bugs which make FFmpeg unusable for a significant number of users.
Examples here might be completely broken MPEG-4 decoding or a build issue
on Linux.
While broken 4xm decoding or a broken OS/2 build would not be important,
@@ -68,7 +69,7 @@ normal
minor
Bugs and patches about things like spelling errors, "mp2" instead of
Bugs about things like spelling errors, "mp2" instead of
"mp3" being shown and such.
Feature requests about things few people want or which do not make a big
difference.
@@ -103,13 +104,13 @@ This state implicates that the bug either has been reproduced or that
reproduction is not needed as the bug is already understood.
Type/Status/Substatus:
Type/Status:
----------
*/new/new
Initial state of new bugs, patches and feature requests submitted by
*/new
Initial state of new bugs and feature requests submitted by
users.
*/open/open
*/open
Issues which have been briefly looked at and which did not look outright
invalid.
This implicates that no real more detailed state applies yet. Conversely,
@@ -117,9 +118,7 @@ Type/Status/Substatus:
looked at.
*/closed/duplicate
Bugs, patches or feature requests which are duplicates.
Note that patches dealing with the same thing in a different way are not
duplicates.
Bugs or feature requests which are duplicates.
Note, if you mark something as duplicate, do not forget setting the
superseder so bug reports are properly linked.
@@ -134,7 +133,7 @@ Type/Status/Substatus:
bug/closed/fixed
Bugs which have to the best of our knowledge been fixed.
bug/closed/wont_fix
bug/closed/wontfix
Bugs which we will not fix. Possible reasons include legality, high
complexity for the sake of supporting obscure corner cases, speed loss
for similarly esoteric purposes, et cetera.
@@ -148,33 +147,15 @@ bug/closed/works_for_me
reproduction failed - that is the code seems to work correctly to the
best of our knowledge.
patch/open/approved
Patches which have been reviewed and approved by a developer.
Such patches can be applied anytime by any other developer after some
reasonable testing (compile + regression tests + does the patch do
what the author claimed).
patch/open/needs_changes
Patches which have been reviewed and need changes to be accepted.
patch/closed/applied
Patches which have been applied.
patch/closed/rejected
Patches which have been rejected.
feature_request/closed/implemented
feature_request/closed/fixed
Feature requests which have been implemented.
feature_request/closed/wont_implement
feature_request/closed/wontfix
Feature requests which will not be implemented. The reasons here could
be legal, philosophical or others.
Note, please do not use type-status-substatus combinations other than the
above without asking on ffmpeg-dev first!
Note2, if you provide the requested info do not forget to remove the
needs_more_info substatus.
needs_more_info resolution.
Component:
----------

View File

@@ -20,7 +20,7 @@ Specifically, this library performs the following conversions:
@itemize
@item
@emph{Resampling}: is the process of changing the audio rate, for
example from an high sample rate of 44100Hz to 8000Hz. Audio
example from a high sample rate of 44100Hz to 8000Hz. Audio
conversion from high to low sample rate is a lossy process. Several
resampling options and algorithms are available.

View File

@@ -47,6 +47,11 @@ Files that have MIPS copyright notice in them:
* libavutil/mips/
float_dsp_mips.c
libm_mips.h
* libavcodec/
fft_fixed_32.c
fft_init_table.c
fft_table.h
mdct_fixed_32.c
* libavcodec/mips/
aaccoder_mips.c
aacpsy_mips.h

View File

@@ -260,7 +260,7 @@ ffmpeg -i in.avi -f image2 -frames:v 1 img.jpeg
@table @option
@item start_number @var{number}
Start the sequence from @var{number}. Default value is 1. Must be a
positive number.
non-negative number.
@item -update @var{number}
If @var{number} is nonzero, the filename will always be interpreted as just a
@@ -451,8 +451,8 @@ pair for each track, making it easier to separate tracks.
This option is implicitly set when writing ismv (Smooth Streaming) files.
@item -movflags faststart
Run a second pass moving the moov atom on top of the file. This
operation can take a while, and will not work in various situations such
Run a second pass moving the index (moov atom) to the beginning of the file.
This operation can take a while, and will not work in various situations such
as fragmented output, thus it is not enabled by default.
@item -movflags rtphint
Add RTP hinting tracks to the output file.
@@ -522,6 +522,40 @@ Set the service_id (default 0x0001) also known as program in DVB.
Set the first PID for PMT (default 0x1000, max 0x1f00).
@item -mpegts_start_pid @var{number}
Set the first PID for data packets (default 0x0100, max 0x0f00).
@item -mpegts_m2ts_mode @var{number}
Enable m2ts mode if set to 1. Default value is -1 which disables m2ts mode.
@item -muxrate @var{number}
Set muxrate.
@item -pes_payload_size @var{number}
Set minimum PES packet payload in bytes.
@item -mpegts_flags @var{flags}
Set flags (see below).
@item -mpegts_copyts @var{number}
Preserve original timestamps, if value is set to 1. Default value is -1, which
results in shifting timestamps so that they start from 0.
@item -tables_version @var{number}
Set PAT, PMT and SDT version (default 0, valid values are from 0 to 31, inclusively).
This option allows updating stream structure so that standard consumer may
detect the change. To do so, reopen output AVFormatContext (in case of API
usage) or restart ffmpeg instance, cyclically changing tables_version value:
@example
ffmpeg -i source1.ts -codec copy -f mpegts -tables_version 0 udp://1.1.1.1:1111
ffmpeg -i source2.ts -codec copy -f mpegts -tables_version 1 udp://1.1.1.1:1111
...
ffmpeg -i source3.ts -codec copy -f mpegts -tables_version 31 udp://1.1.1.1:1111
ffmpeg -i source1.ts -codec copy -f mpegts -tables_version 0 udp://1.1.1.1:1111
ffmpeg -i source2.ts -codec copy -f mpegts -tables_version 1 udp://1.1.1.1:1111
...
@end example
@end table
Option mpegts_flags may take a set of such flags:
@table @option
@item resend_headers
Reemit PAT/PMT before writing the next packet.
@item latm
Use LATM packetization for AAC.
@end table
The recognized metadata settings in mpegts muxer are @code{service_provider}
@@ -741,6 +775,10 @@ Reset timestamps at the begin of each segment, so that each segment
will start with near-zero timestamps. It is meant to ease the playback
of the generated segments. May not work with some combinations of
muxers/codecs. It is set to @code{0} by default.
@item initial_offset @var{offset}
Specify timestamp offset to apply to the output packet timestamps. The
argument must be a time duration specification, and defaults to 0.
@end table
@subsection Examples
@@ -814,19 +852,55 @@ leading or trailing spaces or any special character, it must be
escaped (see the ``Quoting and escaping'' section in the ffmpeg-utils
manual).
Options can be specified for each slave by prepending them as a list of
Muxer options can be specified for each slave by prepending them as a list of
@var{key}=@var{value} pairs separated by ':', between square brackets. If
the options values contain a special character or the ':' separator, they
must be escaped; note that this is a second level escaping.
Example: encode something and both archive it in a WebM file and stream it
as MPEG-TS over UDP (the streams need to be explicitly mapped):
The following special options are also recognized:
@table @option
@item f
Specify the format name. Useful if it cannot be guessed from the
output name suffix.
@item bsfs[/@var{spec}]
Specify a list of bitstream filters to apply to the specified
output. It is possible to specify to which streams a given bitstream
filter applies, by appending a stream specifier to the option
separated by @code{/}. If the stream specifier is not specified, the
bistream filters will be applied to all streams in the output.
Several bitstream filters can be specified, separated by ",".
@item select
Select the streams that should be mapped to the slave output,
specified by a stream specifier. If not specified, this defaults to
all the input streams.
@end table
Some examples follow.
@itemize
@item
Encode something and both archive it in a WebM file and stream it
as MPEG-TS over UDP (the streams need to be explicitly mapped):
@example
ffmpeg -i ... -c:v libx264 -c:a mp2 -f tee -map 0:v -map 0:a
"archive-20121107.mkv|[f=mpegts]udp://10.0.1.255:1234/"
@end example
@item
Use @command{ffmpeg} to encode the input, and send the output
to three different destinations. The @code{dump_extra} bitstream
filter is used to add extradata information to all the output video
keyframes packets, as requested by the MPEG-TS format. The select
option is applied to @file{out.aac} in order to make it contain only
audio packets.
@example
ffmpeg -i ... -map 0 -flags +global_header -c:v libx264 -c:a aac -strict experimental
-f tee "[bsfs/v=dump_extra]out.ts|[movflags=+faststart]out.mp4|[select=a]out.aac"
@end example
@end itemize
Note: some codecs may need different options depending on the output format;
the auto-detection of this can not work with the tee muxer. The main example
is the @option{global_header} flag.

View File

@@ -1,7 +1,7 @@
@chapter Output Devices
@c man begin OUTPUT DEVICES
Output devices are configured elements in FFmpeg which allow to write
Output devices are configured elements in FFmpeg that can write
multimedia data to an output device attached to your system.
When you configure your FFmpeg build, all the supported output devices
@@ -104,10 +104,74 @@ ffmpeg -i INPUT -pix_fmt rgb24 -f caca -list_dither colors -
@end example
@end itemize
@section fbdev
Linux framebuffer output device.
The Linux framebuffer is a graphic hardware-independent abstraction
layer to show graphics on a computer monitor, typically on the
console. It is accessed through a file device node, usually
@file{/dev/fb0}.
For more detailed information read the file
@file{Documentation/fb/framebuffer.txt} included in the Linux source tree.
@subsection Options
@table @option
@item xoffset
@item yoffset
Set x/y coordinate of top left corner. Default is 0.
@end table
@subsection Examples
Play a file on framebuffer device @file{/dev/fb0}.
Required pixel format depends on current framebuffer settings.
@example
ffmpeg -re -i INPUT -vcodec rawvideo -pix_fmt bgra -f fbdev /dev/fb0
@end example
See also @url{http://linux-fbdev.sourceforge.net/}, and fbset(1).
@section oss
OSS (Open Sound System) output device.
@section pulse
PulseAudio output device.
To enable this output device you need to configure FFmpeg with @code{--enable-libpulse}.
More information about PulseAudio can be found on @url{http://www.pulseaudio.org}
@subsection Options
@table @option
@item server
Connect to a specific PulseAudio server, specified by an IP address.
Default server is used when not provided.
@item name
Specify the application name PulseAudio will use when showing active clients,
by default it is the @code{LIBAVFORMAT_IDENT} string.
@item stream_name
Specify the stream name PulseAudio will use when showing active streams,
by default it is set to the specified output name.
@item device
Specify the device to use. Default device is used when not provided.
List of output devices can be obtained with command @command{pactl list sinks}.
@end table
@subsection Examples
Play a file on default device on default server:
@example
ffmpeg -i INPUT -f pulse "stream name"
@end example
@section sdl
SDL (Simple DirectMedia Layer) output device.
@@ -139,6 +203,10 @@ Set the SDL window size, can be a string of the form
@var{width}x@var{height} or a video size abbreviation.
If not specified it defaults to the size of the input video,
downscaled according to the aspect ratio.
@item window_fullscreen
Set fullscreen mode when non-zero value is provided.
Zero is a default.
@end table
@subsection Examples

View File

@@ -1,20 +1,20 @@
/*
* Copyright (c) 2012 Anton Khirnov
*
* This file is part of Libav.
* This file is part of FFmpeg.
*
* Libav is free software; you can redistribute it and/or
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* Libav is distributed in the hope that it will be useful,
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with Libav; if not, write to the Free Software
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
@@ -27,7 +27,9 @@
#include <float.h>
#include "libavformat/avformat.h"
#include "libavformat/options_table.h"
#include "libavcodec/avcodec.h"
#include "libavcodec/options_table.h"
#include "libavutil/opt.h"
static void print_usage(void)
@@ -96,18 +98,14 @@ static void show_opts(const AVOption *opts, int per_stream)
static void show_format_opts(void)
{
#include "libavformat/options_table.h"
printf("@section Format AVOptions\n");
show_opts(options, 0);
show_opts(avformat_options, 0);
}
static void show_codec_opts(void)
{
#include "libavcodec/options_table.h"
printf("@section Codec AVOptions\n");
show_opts(options, 1);
show_opts(avcodec_options, 1);
}
int main(int argc, char **argv)

View File

@@ -1,8 +1,8 @@
@chapter Protocols
@c man begin PROTOCOLS
Protocols are configured elements in FFmpeg which allow to access
resources which require the use of a particular protocol.
Protocols are configured elements in FFmpeg that enable access to
resources that require specific protocols.
When you configure your FFmpeg build, all the supported protocols are
enabled by default. You can list all available ones using the
@@ -129,6 +129,20 @@ The ff* tools default to the file protocol, that is a resource
specified with the name "FILE.mpeg" is interpreted as the URL
"file:FILE.mpeg".
This protocol accepts the following options:
@table @option
@item truncate
Truncate existing files on write, if set to 1. A value of 0 prevents
truncating. Default value is 1.
@item blocksize
Set I/O operation maximum block size, in bytes. Default value is
@code{INT_MAX}, which results in not limiting the requested block size.
Setting this value reasonably low improves user termination request reaction
time, which is valuable for files on slow medium.
@end table
@section ftp
FTP (File Transfer Protocol).
@@ -325,6 +339,16 @@ ffmpeg -i test.wav -f avi pipe:1 | cat > test.avi
ffmpeg -i test.wav -f avi pipe: | cat > test.avi
@end example
This protocol accepts the following options:
@table @option
@item blocksize
Set I/O operation maximum block size, in bytes. Default value is
@code{INT_MAX}, which results in not limiting the requested block size.
Setting this value reasonably low improves user termination request reaction
time, which is valuable if data transmission is slow.
@end table
Note that some formats (typically MOV), require the output protocol to
be seekable, so they will fail with the pipe output protocol.
@@ -337,12 +361,18 @@ content across a TCP/IP network.
The required syntax is:
@example
rtmp://@var{server}[:@var{port}][/@var{app}][/@var{instance}][/@var{playpath}]
rtmp://[@var{username}:@var{password}@@]@var{server}[:@var{port}][/@var{app}][/@var{instance}][/@var{playpath}]
@end example
The accepted parameters are:
@table @option
@item username
An optional username (mostly for publishing).
@item password
An optional password (mostly for publishing).
@item server
The address of the RTMP server.
@@ -393,7 +423,8 @@ times to construct arbitrary AMF sequences.
@item rtmp_flashver
Version of the Flash plugin used to run the SWF player. The default
is LNX 9,0,124,2.
is LNX 9,0,124,2. (When publishing, the default is FMLE/3.0 (compatible;
<libavformat version>).)
@item rtmp_flush_interval
Number of packets flushed in the same request (RTMPT only). The default
@@ -443,6 +474,12 @@ For example to read with @command{ffplay} a multimedia resource named
ffplay rtmp://myserver/vod/sample
@end example
To publish to a password protected server, passing the playpath and
app names separately:
@example
ffmpeg -re -i <input> -f flv -rtmp_playpath some/long/path -rtmp_app long/app/name rtmp://username:password@@myserver/
@end example
@section rtmpe
Encrypted Real-Time Messaging Protocol.
@@ -483,7 +520,39 @@ The Real-Time Messaging Protocol tunneled through HTTPS (RTMPTS) is used
for streaming multimedia content within HTTPS requests to traverse
firewalls.
@section rtmp, rtmpe, rtmps, rtmpt, rtmpte
@section libssh
Secure File Transfer Protocol via libssh
Allow to read from or write to remote resources using SFTP protocol.
Following syntax is required.
@example
sftp://[user[:password]@@]server[:port]/path/to/remote/resource.mpeg
@end example
This protocol accepts the following options.
@table @option
@item timeout
Set timeout of socket I/O operations used by the underlying low level
operation. By default it is set to -1, which means that the timeout
is not specified.
@item truncate
Truncate existing files on write, if set to 1. A value of 0 prevents
truncating. Default value is 1.
@end table
Example: Play a file stored on remote server.
@example
ffplay sftp://user:password@@server_address:22/home/user/resource.mpeg
@end example
@section librtmp rtmp, rtmpe, rtmps, rtmpt, rtmpte
Real-Time Messaging Protocol and its variants supported through
librtmp.
@@ -525,7 +594,70 @@ ffplay "rtmp://myserver/live/mystream live=1"
@section rtp
Real-Time Protocol.
Real-time Transport Protocol.
The required syntax for an RTP URL is:
rtp://@var{hostname}[:@var{port}][?@var{option}=@var{val}...]
@var{port} specifies the RTP port to use.
The following URL options are supported:
@table @option
@item ttl=@var{n}
Set the TTL (Time-To-Live) value (for multicast only).
@item rtcpport=@var{n}
Set the remote RTCP port to @var{n}.
@item localrtpport=@var{n}
Set the local RTP port to @var{n}.
@item localrtcpport=@var{n}'
Set the local RTCP port to @var{n}.
@item pkt_size=@var{n}
Set max packet size (in bytes) to @var{n}.
@item connect=0|1
Do a @code{connect()} on the UDP socket (if set to 1) or not (if set
to 0).
@item sources=@var{ip}[,@var{ip}]
List allowed source IP addresses.
@item block=@var{ip}[,@var{ip}]
List disallowed (blocked) source IP addresses.
@item write_to_source=0|1
Send packets to the source address of the latest received packet (if
set to 1) or to a default remote address (if set to 0).
@item localport=@var{n}
Set the local RTP port to @var{n}.
This is a deprecated option. Instead, @option{localrtpport} should be
used.
@end table
Important notes:
@enumerate
@item
If @option{rtcpport} is not set the RTCP port will be set to the RTP
port value plus 1.
@item
If @option{localrtpport} (the local RTP port) is not set any available
port will be used for the local RTP and RTCP ports.
@item
If @option{localrtcpport} (the local RTCP port) is not set it will be
set to the the local RTP port value plus 1.
@end enumerate
@section rtsp
@@ -784,29 +916,48 @@ ffplay tcp://@var{hostname}:@var{port}
@section tls
Transport Layer Security/Secure Sockets Layer
Transport Layer Security (TLS) / Secure Sockets Layer (SSL)
The required syntax for a TLS/SSL url is:
@example
tls://@var{hostname}:@var{port}[?@var{options}]
@end example
The following parameters can be set via command line options
(or in code via @code{AVOption}s):
@table @option
@item listen
Act as a server, listening for an incoming connection.
@item ca_file, cafile=@var{filename}
A file containing certificate authority (CA) root certificates to treat
as trusted. If the linked TLS library contains a default this might not
need to be specified for verification to work, but not all libraries and
setups have defaults built in.
The file must be in OpenSSL PEM format.
@item cafile=@var{filename}
Certificate authority file. The file must be in OpenSSL PEM format.
@item tls_verify=@var{1|0}
If enabled, try to verify the peer that we are communicating with.
Note, if using OpenSSL, this currently only makes sure that the
peer certificate is signed by one of the root certificates in the CA
database, but it does not validate that the certificate actually
matches the host name we are trying to connect to. (With GnuTLS,
the host name is validated as well.)
@item cert=@var{filename}
Certificate file. The file must be in OpenSSL PEM format.
This is disabled by default since it requires a CA database to be
provided by the caller in many cases.
@item key=@var{filename}
Private key file.
@item cert_file, cert=@var{filename}
A file containing a certificate to use in the handshake with the peer.
(When operating as server, in listen mode, this is more often required
by the peer, while client certificates only are mandated in certain
setups.)
@item verify=@var{0|1}
Verify the peer's certificate.
@item key_file, key=@var{filename}
A file containing the private key for the certificate.
@item listen=@var{1|0}
If enabled, listen for connections on the provided port, and assume
the server role in the handshake instead of the client role.
@end table
@@ -913,4 +1064,24 @@ To receive over UDP from a remote endpoint:
ffmpeg -i udp://[@var{multicast-address}]:@var{port}
@end example
@section unix
Unix local socket
The required syntax for a Unix socket URL is:
@example
unix://@var{filepath}
@end example
The following parameters can be set via command line options
(or in code via @code{AVOption}s):
@table @option
@item timeout
Timeout in ms.
@item listen
Create the Unix socket in listening mode.
@end table
@c man end PROTOCOLS

View File

@@ -42,10 +42,11 @@ Set the internal sample format. Default value is @code{none}.
This will automatically be chosen when it is not explicitly set.
@item icl, in_channel_layout
Set the input channel layout.
@item ocl, out_channel_layout
Set the output channel layout.
Set the input/output channel layout.
See @ref{channel layout syntax,,the Channel Layout section in the ffmpeg-utils(1) manual,ffmpeg-utils}
for the required syntax.
@item clev, center_mix_level
Set the center mix level. It is a value expressed in deciBel, and must be
@@ -63,6 +64,11 @@ be in the interval [-32,32].
@item rmvol, rematrix_volume
Set rematrix volume. Default value is 1.0.
@item rematrix_maxval
Set maximum output value for rematrixing.
This can be used to prevent clipping vs. preventing volumn reduction
A value of 1.0 prevents cliping.
@item flags, swr_flags
Set flags used by the converter. Default value is 0.

View File

@@ -1,3 +1,4 @@
@anchor{scaler_options}
@chapter Scaler Options
@c man begin SCALER OPTIONS
@@ -9,6 +10,7 @@ FFmpeg tools. For programmatic use, they can be set explicitly in the
@table @option
@anchor{sws_flags}
@item sws_flags
Set the scaler flags. This is also used to set the scaling
algorithm. Only a single algorithm should be selected.
@@ -94,6 +96,24 @@ Set scaling algorithm parameters. The specified values are specific of
some scaling algorithms and ignored by others. The specified values
are floating point number values.
@item sws_dither
Set the dithering algorithm. Accepts one of the following
values. Default value is @samp{auto}.
@table @samp
@item auto
automatic choice
@item none
no dithering
@item bayer
bayer dither
@item ed
error diffusion dither
@end table
@end table
@c man end SCALER OPTIONS

View File

@@ -50,8 +50,10 @@ header:
temporal_decomposition_count u header_state
spatial_decomposition_count u header_state
colorspace_type u header_state
chroma_h_shift u header_state
chroma_v_shift u header_state
if (nb_planes > 2) {
chroma_h_shift u header_state
chroma_v_shift u header_state
}
spatial_scalability b header_state
max_ref_frames-1 u header_state
qlogs
@@ -59,7 +61,7 @@ header:
if(!keyframe){
update_mc b header_state
if(update_mc){
for(plane=0; plane<2; plane++){
for(plane=0; plane<nb_plane_types; plane++){
diag_mc b header_state
htaps/2-1 u header_state
for(i= p->htaps/2; i; i--)
@@ -80,7 +82,7 @@ header:
block_max_depth s header_state
qlogs:
for(plane=0; plane<2; plane++){
for(plane=0; plane<nb_plane_types; plane++){
quant_table[plane][0][0] s header_state
for(level=0; level < spatial_decomposition_count; level++){
quant_table[plane][level][1]s header_state
@@ -131,8 +133,10 @@ block(level):
residual:
residual2(luma)
residual2(chroma_cr)
residual2(chroma_cb)
if (nb_planes > 2) {
residual2(chroma_cr)
residual2(chroma_cb)
}
residual2:
for(level=0; level<spatial_decomposition_count; level++){
@@ -146,7 +150,7 @@ residual2:
subband:
FIXME
nb_plane_types = gray ? 1 : 2;
Tag description:
----------------
@@ -168,7 +172,11 @@ spatial_decomposition_count
FIXME
colorspace_type
0
0 unspecified YcbCr
1 Gray
2 Gray + Alpha
3 GBR
4 GBRA
this MUST NOT change within a bitstream
chroma_h_shift

View File

@@ -17,6 +17,7 @@ my $TEMPLATE_HEADER = $ENV{"FFMPEG_HEADER"} || <<EOT;
</head>
<body>
<div id="container">
<div id="body">
EOT
$PRE_BODY_CLOSE = '</div></div>';
@@ -32,7 +33,7 @@ sub FFmpeg_print_page_foot($$)
T2H_DEFAULT_program_string() : program_string();
print $fh '<footer class="footer pagination-right">' . "\n";
print $fh '<span class="label label-info">' . $program_string;
print $fh "</span></footer></div>\n";
print $fh "</span></footer></div></div></body>\n";
}
$float = \&FFmpeg_float;
@@ -92,8 +93,6 @@ $Texi2HTML::THISDOC{program_authors}
$description
<meta name="keywords" content="$longtitle">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="$Texi2HTML::THISDOC{program}">
$encoding
$CSS_LINES

View File

@@ -96,14 +96,42 @@ year-month-day.
@anchor{time duration syntax}
@section Time duration
The accepted syntax is:
There are two accepted syntaxes for expressing time duration.
@example
[-][HH:]MM:SS[.m...]
[-]S+[.m...]
[-][@var{HH}:]@var{MM}:@var{SS}[.@var{m}...]
@end example
@var{HH} expresses the number of hours, @var{MM} the number a of minutes
and @var{SS} the number of seconds.
@var{HH} expresses the number of hours, @var{MM} the number of minutes
for a maximum of 2 digits, and @var{SS} the number of seconds for a
maximum of 2 digits. The @var{m} at the end expresses decimal value for
@var{SS}.
@emph{or}
@example
[-]@var{S}+[.@var{m}...]
@end example
@var{S} expresses the number of seconds, with the optional decimal part
@var{m}.
In both expressions, the optional @samp{-} indicates negative duration.
@subsection Examples
The following examples are all valid time duration:
@table @samp
@item 55
55 seconds
@item 12:03:45
12 hours, 03 minutes and 45 seconds
@item 23.189
23.189 seconds
@end table
@anchor{video size syntax}
@section Video size
@@ -198,6 +226,18 @@ The following abbreviations are recognized:
3996x2160
@item 4kscope
4096x1716
@item nhd
640x360
@item hqvga
240x160
@item wqvga
400x240
@item fwqvga
432x240
@item hvga
480x320
@item qhd
960x540
@end table
@anchor{video rate syntax}
@@ -243,18 +283,450 @@ The undefined value can be expressed using the "0:0" string.
@anchor{color syntax}
@section Color
It can be the name of a color (case insensitive match) or a
[0x|#]RRGGBB[AA] sequence, possibly followed by "@@" and a string
It can be the name of a color as defined below (case insensitive match) or a
@code{[0x|#]RRGGBB[AA]} sequence, possibly followed by @@ and a string
representing the alpha component.
The alpha component may be a string composed by "0x" followed by an
hexadecimal number or a decimal number between 0.0 and 1.0, which
represents the opacity value (0x00/0.0 means completely transparent,
0xff/1.0 completely opaque).
If the alpha component is not specified then 0xff is assumed.
represents the opacity value (@samp{0x00} or @samp{0.0} means completely
transparent, @samp{0xff} or @samp{1.0} completely opaque). If the alpha
component is not specified then @samp{0xff} is assumed.
The string "random" will result in a random color.
The string @samp{random} will result in a random color.
The following names of colors are recognized:
@table @samp
@item AliceBlue
0xF0F8FF
@item AntiqueWhite
0xFAEBD7
@item Aqua
0x00FFFF
@item Aquamarine
0x7FFFD4
@item Azure
0xF0FFFF
@item Beige
0xF5F5DC
@item Bisque
0xFFE4C4
@item Black
0x000000
@item BlanchedAlmond
0xFFEBCD
@item Blue
0x0000FF
@item BlueViolet
0x8A2BE2
@item Brown
0xA52A2A
@item BurlyWood
0xDEB887
@item CadetBlue
0x5F9EA0
@item Chartreuse
0x7FFF00
@item Chocolate
0xD2691E
@item Coral
0xFF7F50
@item CornflowerBlue
0x6495ED
@item Cornsilk
0xFFF8DC
@item Crimson
0xDC143C
@item Cyan
0x00FFFF
@item DarkBlue
0x00008B
@item DarkCyan
0x008B8B
@item DarkGoldenRod
0xB8860B
@item DarkGray
0xA9A9A9
@item DarkGreen
0x006400
@item DarkKhaki
0xBDB76B
@item DarkMagenta
0x8B008B
@item DarkOliveGreen
0x556B2F
@item Darkorange
0xFF8C00
@item DarkOrchid
0x9932CC
@item DarkRed
0x8B0000
@item DarkSalmon
0xE9967A
@item DarkSeaGreen
0x8FBC8F
@item DarkSlateBlue
0x483D8B
@item DarkSlateGray
0x2F4F4F
@item DarkTurquoise
0x00CED1
@item DarkViolet
0x9400D3
@item DeepPink
0xFF1493
@item DeepSkyBlue
0x00BFFF
@item DimGray
0x696969
@item DodgerBlue
0x1E90FF
@item FireBrick
0xB22222
@item FloralWhite
0xFFFAF0
@item ForestGreen
0x228B22
@item Fuchsia
0xFF00FF
@item Gainsboro
0xDCDCDC
@item GhostWhite
0xF8F8FF
@item Gold
0xFFD700
@item GoldenRod
0xDAA520
@item Gray
0x808080
@item Green
0x008000
@item GreenYellow
0xADFF2F
@item HoneyDew
0xF0FFF0
@item HotPink
0xFF69B4
@item IndianRed
0xCD5C5C
@item Indigo
0x4B0082
@item Ivory
0xFFFFF0
@item Khaki
0xF0E68C
@item Lavender
0xE6E6FA
@item LavenderBlush
0xFFF0F5
@item LawnGreen
0x7CFC00
@item LemonChiffon
0xFFFACD
@item LightBlue
0xADD8E6
@item LightCoral
0xF08080
@item LightCyan
0xE0FFFF
@item LightGoldenRodYellow
0xFAFAD2
@item LightGreen
0x90EE90
@item LightGrey
0xD3D3D3
@item LightPink
0xFFB6C1
@item LightSalmon
0xFFA07A
@item LightSeaGreen
0x20B2AA
@item LightSkyBlue
0x87CEFA
@item LightSlateGray
0x778899
@item LightSteelBlue
0xB0C4DE
@item LightYellow
0xFFFFE0
@item Lime
0x00FF00
@item LimeGreen
0x32CD32
@item Linen
0xFAF0E6
@item Magenta
0xFF00FF
@item Maroon
0x800000
@item MediumAquaMarine
0x66CDAA
@item MediumBlue
0x0000CD
@item MediumOrchid
0xBA55D3
@item MediumPurple
0x9370D8
@item MediumSeaGreen
0x3CB371
@item MediumSlateBlue
0x7B68EE
@item MediumSpringGreen
0x00FA9A
@item MediumTurquoise
0x48D1CC
@item MediumVioletRed
0xC71585
@item MidnightBlue
0x191970
@item MintCream
0xF5FFFA
@item MistyRose
0xFFE4E1
@item Moccasin
0xFFE4B5
@item NavajoWhite
0xFFDEAD
@item Navy
0x000080
@item OldLace
0xFDF5E6
@item Olive
0x808000
@item OliveDrab
0x6B8E23
@item Orange
0xFFA500
@item OrangeRed
0xFF4500
@item Orchid
0xDA70D6
@item PaleGoldenRod
0xEEE8AA
@item PaleGreen
0x98FB98
@item PaleTurquoise
0xAFEEEE
@item PaleVioletRed
0xD87093
@item PapayaWhip
0xFFEFD5
@item PeachPuff
0xFFDAB9
@item Peru
0xCD853F
@item Pink
0xFFC0CB
@item Plum
0xDDA0DD
@item PowderBlue
0xB0E0E6
@item Purple
0x800080
@item Red
0xFF0000
@item RosyBrown
0xBC8F8F
@item RoyalBlue
0x4169E1
@item SaddleBrown
0x8B4513
@item Salmon
0xFA8072
@item SandyBrown
0xF4A460
@item SeaGreen
0x2E8B57
@item SeaShell
0xFFF5EE
@item Sienna
0xA0522D
@item Silver
0xC0C0C0
@item SkyBlue
0x87CEEB
@item SlateBlue
0x6A5ACD
@item SlateGray
0x708090
@item Snow
0xFFFAFA
@item SpringGreen
0x00FF7F
@item SteelBlue
0x4682B4
@item Tan
0xD2B48C
@item Teal
0x008080
@item Thistle
0xD8BFD8
@item Tomato
0xFF6347
@item Turquoise
0x40E0D0
@item Violet
0xEE82EE
@item Wheat
0xF5DEB3
@item White
0xFFFFFF
@item WhiteSmoke
0xF5F5F5
@item Yellow
0xFFFF00
@item YellowGreen
0x9ACD32
@end table
@anchor{channel layout syntax}
@section Channel Layout
A channel layout specifies the spatial disposition of the channels in
a multi-channel audio stream. To specify a channel layout, FFmpeg
makes use of a special syntax.
Individual channels are identified by an id, as given by the table
below:
@table @samp
@item FL
front left
@item FR
front right
@item FC
front center
@item LFE
low frequency
@item BL
back left
@item BR
back right
@item FLC
front left-of-center
@item FRC
front right-of-center
@item BC
back center
@item SL
side left
@item SR
side right
@item TC
top center
@item TFL
top front left
@item TFC
top front center
@item TFR
top front right
@item TBL
top back left
@item TBC
top back center
@item TBR
top back right
@item DL
downmix left
@item DR
downmix right
@item WL
wide left
@item WR
wide right
@item SDL
surround direct left
@item SDR
surround direct right
@item LFE2
low frequency 2
@end table
Standard channel layout compositions can be specified by using the
following identifiers:
@table @samp
@item mono
FC
@item stereo
FL+FR
@item 2.1
FL+FR+LFE
@item 3.0
FL+FR+FC
@item 3.0(back)
FL+FR+BC
@item 4.0
FL+FR+FC+BC
@item quad
FL+FR+BL+BR
@item quad(side)
FL+FR+SL+SR
@item 3.1
FL+FR+FC+LFE
@item 5.0
FL+FR+FC+BL+BR
@item 5.0(side)
FL+FR+FC+SL+SR
@item 4.1
FL+FR+FC+LFE+BC
@item 5.1
FL+FR+FC+LFE+BL+BR
@item 5.1(side)
FL+FR+FC+LFE+SL+SR
@item 6.0
FL+FR+FC+BC+SL+SR
@item 6.0(front)
FL+FR+FLC+FRC+SL+SR
@item hexagonal
FL+FR+FC+BL+BR+BC
@item 6.1
FL+FR+FC+LFE+BC+SL+SR
@item 6.1
FL+FR+FC+LFE+BL+BR+BC
@item 6.1(front)
FL+FR+LFE+FLC+FRC+SL+SR
@item 7.0
FL+FR+FC+BL+BR+SL+SR
@item 7.0(front)
FL+FR+FC+FLC+FRC+SL+SR
@item 7.1
FL+FR+FC+LFE+BL+BR+SL+SR
@item 7.1(wide)
FL+FR+FC+LFE+BL+BR+FLC+FRC
@item 7.1(wide-side)
FL+FR+FC+LFE+FLC+FRC+SL+SR
@item octagonal
FL+FR+FC+BL+BR+BC+SL+SR
@item downmix
DL+DR
@end table
A custom channel layout can be specified as a sequence of terms, separated by
'+' or '|'. Each term can be:
@itemize
@item
the name of a standard channel layout (e.g. @samp{mono},
@samp{stereo}, @samp{4.0}, @samp{quad}, @samp{5.0}, etc.)
@item
the name of a single channel (e.g. @samp{FL}, @samp{FR}, @samp{FC}, @samp{LFE}, etc.)
@item
a number of channels, in decimal, optionally followed by 'c', yielding
the default channel layout for that number of channels (see the
function @code{av_get_default_channel_layout})
@item
a channel layout mask, in hexadecimal starting with "0x" (see the
@code{AV_CH_*} macros in @file{libavutil/channel_layout.h}.
@end itemize
Starting from libavutil version 53 the trailing character "c" to
specify a number of channels will be required, while a channel layout
mask could also be specified as a decimal number (if and only if not
followed by "c").
See also the function @code{av_get_channel_layout} defined in
@file{libavutil/channel_layout.h}.
@c man end SYNTAX
@chapter Expression Evaluation

View File

@@ -751,7 +751,9 @@ static void do_subtitle_out(AVFormatContext *s,
nb = 1;
/* shift timestamp to honor -ss and make check_recording_time() work with -t */
pts = sub->pts - output_files[ost->file_index]->start_time;
pts = sub->pts;
if (output_files[ost->file_index]->start_time != AV_NOPTS_VALUE)
pts -= output_files[ost->file_index]->start_time;
for (i = 0; i < nb; i++) {
ost->sync_opts = av_rescale_q(pts, AV_TIME_BASE_Q, enc->time_base);
if (!check_recording_time(ost))
@@ -815,10 +817,23 @@ static void do_video_out(AVFormatContext *s,
nb_frames = 1;
format_video_sync = video_sync_method;
if (format_video_sync == VSYNC_AUTO)
if (format_video_sync == VSYNC_AUTO) {
format_video_sync = (s->oformat->flags & AVFMT_VARIABLE_FPS) ? ((s->oformat->flags & AVFMT_NOTIMESTAMPS) ? VSYNC_PASSTHROUGH : VSYNC_VFR) : VSYNC_CFR;
if ( ist
&& format_video_sync == VSYNC_CFR
&& input_files[ist->file_index]->ctx->nb_streams == 1
&& input_files[ist->file_index]->input_ts_offset == 0) {
format_video_sync = VSYNC_VSCFR;
}
}
switch (format_video_sync) {
case VSYNC_VSCFR:
if (ost->frame_number == 0 && delta - duration >= 0.5) {
av_log(NULL, AV_LOG_DEBUG, "Not duplicating %d initial frames\n", (int)lrintf(delta - duration));
delta = duration;
ost->sync_opts = lrint(sync_ipts);
}
case VSYNC_CFR:
// FIXME set to 0.5 after we fix some dts/pts bugs like in avidec.c
if (delta < -1.1)
@@ -1070,10 +1085,11 @@ static int reap_filters(void)
}
frame_pts = AV_NOPTS_VALUE;
if (filtered_frame->pts != AV_NOPTS_VALUE) {
int64_t start_time = (of->start_time == AV_NOPTS_VALUE) ? 0 : of->start_time;
filtered_frame->pts = frame_pts = av_rescale_q(filtered_frame->pts,
ost->filter->filter->inputs[0]->time_base,
ost->st->codec->time_base) -
av_rescale_q(of->start_time,
av_rescale_q(start_time,
AV_TIME_BASE_Q,
ost->st->codec->time_base);
}
@@ -1377,7 +1393,7 @@ static int check_output_constraints(InputStream *ist, OutputStream *ost)
if (ost->source_index != ist_index)
return 0;
if (of->start_time && ist->pts < of->start_time)
if (of->start_time != AV_NOPTS_VALUE && ist->pts < of->start_time)
return 0;
return 1;
@@ -1386,8 +1402,10 @@ static int check_output_constraints(InputStream *ist, OutputStream *ost)
static void do_streamcopy(InputStream *ist, OutputStream *ost, const AVPacket *pkt)
{
OutputFile *of = output_files[ost->file_index];
int64_t ost_tb_start_time = av_rescale_q(of->start_time, AV_TIME_BASE_Q, ost->st->time_base);
int64_t ist_tb_start_time = av_rescale_q(of->start_time, AV_TIME_BASE_Q, ist->st->time_base);
InputFile *f = input_files [ist->file_index];
int64_t start_time = (of->start_time == AV_NOPTS_VALUE) ? 0 : of->start_time;
int64_t ost_tb_start_time = av_rescale_q(start_time, AV_TIME_BASE_Q, ost->st->time_base);
int64_t ist_tb_start_time = av_rescale_q(start_time, AV_TIME_BASE_Q, ist->st->time_base);
AVPicture pict;
AVPacket opkt;
@@ -1398,7 +1416,7 @@ static void do_streamcopy(InputStream *ist, OutputStream *ost, const AVPacket *p
return;
if (pkt->pts == AV_NOPTS_VALUE) {
if (!ost->frame_number && ist->pts < of->start_time &&
if (!ost->frame_number && ist->pts < start_time &&
!ost->copy_prior_start)
return;
} else {
@@ -1408,11 +1426,21 @@ static void do_streamcopy(InputStream *ist, OutputStream *ost, const AVPacket *p
}
if (of->recording_time != INT64_MAX &&
ist->pts >= of->recording_time + of->start_time) {
ist->pts >= of->recording_time + start_time) {
close_output_stream(ost);
return;
}
if (f->recording_time != INT64_MAX) {
start_time = f->ctx->start_time;
if (f->start_time != AV_NOPTS_VALUE)
start_time += f->start_time;
if (ist->pts >= f->recording_time + start_time) {
close_output_stream(ost);
return;
}
}
/* force the input stream PTS */
if (ost->st->codec->codec_type == AVMEDIA_TYPE_AUDIO)
audio_size += pkt->size;
@@ -2089,6 +2117,21 @@ static int transcode_init(void)
char error[1024];
int want_sdp = 1;
for (i = 0; i < nb_filtergraphs; i++) {
FilterGraph *fg = filtergraphs[i];
for (j = 0; j < fg->nb_outputs; j++) {
OutputFilter *ofilter = fg->outputs[j];
if (!ofilter->ost || ofilter->ost->source_index >= 0)
continue;
if (fg->nb_inputs != 1)
continue;
for (k = nb_input_streams-1; k >= 0 ; k--)
if (fg->inputs[0]->ist == input_streams[k])
break;
ofilter->ost->source_index = k;
}
}
/* init framerate emulation */
for (i = 0; i < nb_input_files; i++) {
InputFile *ifile = input_files[i];
@@ -2130,6 +2173,15 @@ static int transcode_init(void)
ost->st->disposition = ist->st->disposition;
codec->bits_per_raw_sample = icodec->bits_per_raw_sample;
codec->chroma_sample_location = icodec->chroma_sample_location;
} else {
for (j=0; j<oc->nb_streams; j++) {
AVStream *st = oc->streams[j];
if (st != ost->st && st->codec->codec_type == codec->codec_type)
break;
}
if (j == oc->nb_streams)
if (codec->codec_type == AVMEDIA_TYPE_AUDIO || codec->codec_type == AVMEDIA_TYPE_VIDEO)
ost->st->disposition = AV_DISPOSITION_DEFAULT;
}
if (ost->stream_copy) {
@@ -2318,7 +2370,7 @@ static int transcode_init(void)
if (ost->filter && !(codec->time_base.num && codec->time_base.den))
codec->time_base = ost->filter->filter->inputs[0]->time_base;
if ( av_q2d(codec->time_base) < 0.001 && video_sync_method != VSYNC_PASSTHROUGH
&& (video_sync_method == VSYNC_CFR || (video_sync_method == VSYNC_AUTO && !(oc->oformat->flags & AVFMT_VARIABLE_FPS)))){
&& (video_sync_method == VSYNC_CFR || video_sync_method == VSYNC_VSCFR || (video_sync_method == VSYNC_AUTO && !(oc->oformat->flags & AVFMT_VARIABLE_FPS)))){
av_log(oc, AV_LOG_WARNING, "Frame rate very high for a muxer not efficiently supporting it.\n"
"Please consider specifying a lower framerate, a different muxer or -vsync 2\n");
}
@@ -2336,10 +2388,17 @@ static int transcode_init(void)
if (!strncmp(ost->enc->name, "libx264", 7) &&
codec->pix_fmt == AV_PIX_FMT_NONE &&
ost->filter->filter->inputs[0]->format != AV_PIX_FMT_YUV420P)
av_log(NULL, AV_LOG_INFO,
av_log(NULL, AV_LOG_WARNING,
"No pixel format specified, %s for H.264 encoding chosen.\n"
"Use -pix_fmt yuv420p for compatibility with outdated media players.\n",
av_get_pix_fmt_name(ost->filter->filter->inputs[0]->format));
if (!strncmp(ost->enc->name, "mpeg2video", 10) &&
codec->pix_fmt == AV_PIX_FMT_NONE &&
ost->filter->filter->inputs[0]->format != AV_PIX_FMT_YUV420P)
av_log(NULL, AV_LOG_WARNING,
"No pixel format specified, %s for MPEG-2 encoding chosen.\n"
"Use -pix_fmt yuv420p for compatibility with outdated media players.\n",
av_get_pix_fmt_name(ost->filter->filter->inputs[0]->format));
codec->pix_fmt = ost->filter->filter->inputs[0]->format;
if (!icodec ||
@@ -2659,7 +2718,7 @@ static int check_keyboard_interaction(int64_t cur_time)
char buf[4096], target[64], command[256], arg[256] = {0};
double time;
int k, n = 0;
fprintf(stderr, "\nEnter command: <target> <time> <command>[ <argument>]\n");
fprintf(stderr, "\nEnter command: <target>|all <time>|-1 <command>[ <argument>]\n");
i = 0;
while ((k = read_key()) != '\n' && k != '\r' && i < sizeof(buf)-1)
if (k > 0)
@@ -2675,7 +2734,10 @@ static int check_keyboard_interaction(int64_t cur_time)
if (time < 0) {
ret = avfilter_graph_send_command(fg->graph, target, command, arg, buf, sizeof(buf),
key == 'c' ? AVFILTER_CMD_FLAG_ONE : 0);
fprintf(stderr, "Command reply for stream %d: ret:%d res:%s\n", i, ret, buf);
fprintf(stderr, "Command reply for stream %d: ret:%d res:\n%s", i, ret, buf);
} else if (key == 'c') {
fprintf(stderr, "Queing commands only on filters supporting the specific command is unsupported\n");
ret = AVERROR_PATCHWELCOME;
} else {
ret = avfilter_graph_queue_command(fg->graph, target, command, arg, 0, time);
}
@@ -2712,7 +2774,8 @@ static int check_keyboard_interaction(int64_t cur_time)
"? show this help\n"
"+ increase verbosity\n"
"- decrease verbosity\n"
"c Send command to filtergraph\n"
"c Send command to first matching filter supporting it\n"
"C Send/Que command to all matching filters\n"
"D cycle through available debug modes\n"
"h dump packets/hex press to cycle through the 3 states\n"
"q quit\n"
@@ -3017,7 +3080,7 @@ static int process_input(int file_index)
if(delta < -1LL*dts_delta_threshold*AV_TIME_BASE ||
(delta > 1LL*dts_delta_threshold*AV_TIME_BASE &&
ist->st->codec->codec_type != AVMEDIA_TYPE_SUBTITLE) ||
pkt_dts+1<ist->pts){
pkt_dts + AV_TIME_BASE/10 < ist->pts){
ifile->ts_offset -= delta;
av_log(NULL, AV_LOG_DEBUG,
"timestamp discontinuity %"PRId64", new offset= %"PRId64"\n",
@@ -3394,8 +3457,8 @@ int main(int argc, char **argv)
}
av_log(NULL, AV_LOG_DEBUG, "%"PRIu64" frames successfully decoded, %"PRIu64" decoding errors\n",
decode_error_stat[0], decode_error_stat[1]);
if (2*decode_error_stat[0] < decode_error_stat[1])
exit_program(254);
if ((decode_error_stat[0] + decode_error_stat[1]) * max_error_rate < decode_error_stat[1])
exit_program(69);
exit_program(received_nb_signals ? 255 : 0);
return 0;

View File

@@ -51,6 +51,7 @@
#define VSYNC_PASSTHROUGH 0
#define VSYNC_CFR 1
#define VSYNC_VFR 2
#define VSYNC_VSCFR 0xfe
#define VSYNC_DROP 0xff
#define MAX_STREAMS 1024 /* arbitrary sanity check value */
@@ -93,6 +94,7 @@ typedef struct OptionsContext {
/* input options */
int64_t input_ts_offset;
int rate_emu;
int accurate_seek;
SpecifierOpt *ts_scale;
int nb_ts_scale;
@@ -280,12 +282,16 @@ typedef struct InputFile {
int eof_reached; /* true if eof reached */
int eagain; /* true if last read attempt returned EAGAIN */
int ist_index; /* index of first stream in input_streams */
int64_t input_ts_offset;
int64_t ts_offset;
int64_t last_ts;
int64_t start_time; /* user-specified start time in AV_TIME_BASE or AV_NOPTS_VALUE */
int64_t recording_time;
int nb_streams; /* number of stream that ffmpeg is aware of; may be different
from ctx.nb_streams if new streams appear during av_read_frame() */
int nb_streams_warn; /* number of streams that the user was warned of */
int rate_emu;
int accurate_seek;
#if HAVE_PTHREADS
pthread_t thread; /* thread reading from this file */
@@ -416,6 +422,7 @@ extern int qp_hist;
extern int stdin_interaction;
extern int frame_bits_per_raw_sample;
extern AVIOContext *progress_avio;
extern float max_error_rate;
extern const AVIOInterruptCB int_cb;

View File

@@ -92,6 +92,11 @@ void choose_sample_fmt(AVStream *st, AVCodec *codec)
static char *choose_pix_fmts(OutputStream *ost)
{
AVDictionaryEntry *strict_dict = av_dict_get(ost->opts, "strict", NULL, 0);
if (strict_dict)
// used by choose_pixel_fmt() and below
av_opt_set(ost->st->codec, "strict", strict_dict->value, 0);
if (ost->keep_pix_fmt) {
if (ost->filter)
avfilter_graph_set_auto_convert(ost->filter->graph->graph,
@@ -276,21 +281,18 @@ static void init_input_filter(FilterGraph *fg, AVFilterInOut *in)
ist->filters[ist->nb_filters - 1] = fg->inputs[fg->nb_inputs - 1];
}
static int insert_trim(OutputStream *ost, AVFilterContext **last_filter, int *pad_idx)
static int insert_trim(int64_t start_time, int64_t duration,
AVFilterContext **last_filter, int *pad_idx,
const char *filter_name)
{
OutputFile *of = output_files[ost->file_index];
AVFilterGraph *graph = (*last_filter)->graph;
AVFilterContext *ctx;
const AVFilter *trim;
const char *name = ost->st->codec->codec_type == AVMEDIA_TYPE_VIDEO ? "trim" : "atrim";
char filter_name[128];
enum AVMediaType type = avfilter_pad_get_type((*last_filter)->output_pads, *pad_idx);
const char *name = (type == AVMEDIA_TYPE_VIDEO) ? "trim" : "atrim";
int ret = 0;
if (of->recording_time == INT64_MAX && !of->start_time)
return 0;
// Use with duration and without output starttime is buggy with trim filters
if (!of->start_time)
if (duration == INT64_MAX && start_time == AV_NOPTS_VALUE)
return 0;
trim = avfilter_get_by_name(name);
@@ -300,18 +302,16 @@ static int insert_trim(OutputStream *ost, AVFilterContext **last_filter, int *pa
return AVERROR_FILTER_NOT_FOUND;
}
snprintf(filter_name, sizeof(filter_name), "%s for output stream %d:%d",
name, ost->file_index, ost->index);
ctx = avfilter_graph_alloc_filter(graph, trim, filter_name);
if (!ctx)
return AVERROR(ENOMEM);
if (of->recording_time != INT64_MAX) {
ret = av_opt_set_double(ctx, "duration", (double)of->recording_time / 1e6,
if (duration != INT64_MAX) {
ret = av_opt_set_int(ctx, "durationi", duration,
AV_OPT_SEARCH_CHILDREN);
}
if (ret >= 0 && of->start_time) {
ret = av_opt_set_double(ctx, "start", (double)of->start_time / 1e6,
if (ret >= 0 && start_time != AV_NOPTS_VALUE) {
ret = av_opt_set_int(ctx, "starti", start_time,
AV_OPT_SEARCH_CHILDREN);
}
if (ret < 0) {
@@ -336,6 +336,7 @@ static int configure_output_video_filter(FilterGraph *fg, OutputFilter *ofilter,
{
char *pix_fmts;
OutputStream *ost = ofilter->ost;
OutputFile *of = output_files[ost->file_index];
AVCodecContext *codec = ost->st->codec;
AVFilterContext *last_filter = out->filter_ctx;
int pad_idx = out->pad_idx;
@@ -408,7 +409,10 @@ static int configure_output_video_filter(FilterGraph *fg, OutputFilter *ofilter,
pad_idx = 0;
}
ret = insert_trim(ost, &last_filter, &pad_idx);
snprintf(name, sizeof(name), "trim for output stream %d:%d",
ost->file_index, ost->index);
ret = insert_trim(of->start_time, of->recording_time,
&last_filter, &pad_idx, name);
if (ret < 0)
return ret;
@@ -422,9 +426,9 @@ static int configure_output_video_filter(FilterGraph *fg, OutputFilter *ofilter,
static int configure_output_audio_filter(FilterGraph *fg, OutputFilter *ofilter, AVFilterInOut *out)
{
OutputStream *ost = ofilter->ost;
OutputFile *of = output_files[ost->file_index];
AVCodecContext *codec = ost->st->codec;
AVFilterContext *last_filter = out->filter_ctx;
OutputFile *of = output_files[ost->file_index];
int pad_idx = out->pad_idx;
char *sample_fmts, *sample_rates, *channel_layouts;
char name[255];
@@ -534,7 +538,10 @@ static int configure_output_audio_filter(FilterGraph *fg, OutputFilter *ofilter,
}
}
ret = insert_trim(ost, &last_filter, &pad_idx);
snprintf(name, sizeof(name), "trim for output stream %d:%d",
ost->file_index, ost->index);
ret = insert_trim(of->start_time, of->recording_time,
&last_filter, &pad_idx, name);
if (ret < 0)
return ret;
@@ -548,7 +555,7 @@ static int configure_output_audio_filter(FilterGraph *fg, OutputFilter *ofilter,
{ \
AVFilterContext *ctx = inout->filter_ctx; \
AVFilterPad *pads = in ? ctx->input_pads : ctx->output_pads; \
int nb_pads = in ? ctx->input_count : ctx->output_count; \
int nb_pads = in ? ctx->nb_inputs : ctx->nb_outputs; \
AVIOContext *pb; \
\
if (avio_open_dyn_buf(&pb) < 0) \
@@ -612,17 +619,22 @@ static int sub2video_prepare(InputStream *ist)
static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter,
AVFilterInOut *in)
{
AVFilterContext *first_filter = in->filter_ctx;
AVFilter *filter = avfilter_get_by_name("buffer");
AVFilterContext *last_filter;
const AVFilter *buffer_filt = avfilter_get_by_name("buffer");
InputStream *ist = ifilter->ist;
InputFile *f = input_files[ist->file_index];
AVRational tb = ist->framerate.num ? av_inv_q(ist->framerate) :
ist->st->time_base;
AVRational fr = ist->framerate;
AVRational sar;
AVBPrint args;
char name[255];
int pad_idx = in->pad_idx;
int ret;
int ret, pad_idx = 0;
if (ist->st->codec->codec_type == AVMEDIA_TYPE_AUDIO) {
av_log(NULL, AV_LOG_ERROR, "Cannot connect video filter to audio input\n");
return AVERROR(EINVAL);
}
if (!fr.num)
fr = av_guess_frame_rate(input_files[ist->file_index]->ctx, ist->st, NULL);
@@ -650,9 +662,10 @@ static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter,
snprintf(name, sizeof(name), "graph %d input from stream %d:%d", fg->index,
ist->file_index, ist->st->index);
if ((ret = avfilter_graph_create_filter(&ifilter->filter, filter, name,
if ((ret = avfilter_graph_create_filter(&ifilter->filter, buffer_filt, name,
args.str, NULL, fg->graph)) < 0)
return ret;
last_filter = ifilter->filter;
if (ist->framerate.num) {
AVFilterContext *setpts;
@@ -665,11 +678,10 @@ static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter,
fg->graph)) < 0)
return ret;
if ((ret = avfilter_link(setpts, 0, first_filter, pad_idx)) < 0)
if ((ret = avfilter_link(last_filter, 0, setpts, 0)) < 0)
return ret;
first_filter = setpts;
pad_idx = 0;
last_filter = setpts;
}
if (do_deinterlace) {
@@ -683,14 +695,20 @@ static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter,
fg->graph)) < 0)
return ret;
if ((ret = avfilter_link(yadif, 0, first_filter, pad_idx)) < 0)
if ((ret = avfilter_link(last_filter, 0, yadif, 0)) < 0)
return ret;
first_filter = yadif;
pad_idx = 0;
last_filter = yadif;
}
if ((ret = avfilter_link(ifilter->filter, 0, first_filter, pad_idx)) < 0)
snprintf(name, sizeof(name), "trim for input stream %d:%d",
ist->file_index, ist->st->index);
ret = insert_trim(((f->start_time == AV_NOPTS_VALUE) || !f->accurate_seek) ?
AV_NOPTS_VALUE : 0, f->recording_time, &last_filter, &pad_idx, name);
if (ret < 0)
return ret;
if ((ret = avfilter_link(last_filter, 0, in->filter_ctx, in->pad_idx)) < 0)
return ret;
return 0;
}
@@ -698,13 +716,18 @@ static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter,
static int configure_input_audio_filter(FilterGraph *fg, InputFilter *ifilter,
AVFilterInOut *in)
{
AVFilterContext *first_filter = in->filter_ctx;
AVFilter *filter = avfilter_get_by_name("abuffer");
AVFilterContext *last_filter;
const AVFilter *abuffer_filt = avfilter_get_by_name("abuffer");
InputStream *ist = ifilter->ist;
int pad_idx = in->pad_idx;
InputFile *f = input_files[ist->file_index];
AVBPrint args;
char name[255];
int ret;
int ret, pad_idx = 0;
if (ist->st->codec->codec_type != AVMEDIA_TYPE_AUDIO) {
av_log(NULL, AV_LOG_ERROR, "Cannot connect audio filter to non audio input\n");
return AVERROR(EINVAL);
}
av_bprint_init(&args, 0, AV_BPRINT_SIZE_AUTOMATIC);
av_bprintf(&args, "time_base=%d/%d:sample_rate=%d:sample_fmt=%s",
@@ -719,10 +742,11 @@ static int configure_input_audio_filter(FilterGraph *fg, InputFilter *ifilter,
snprintf(name, sizeof(name), "graph %d input from stream %d:%d", fg->index,
ist->file_index, ist->st->index);
if ((ret = avfilter_graph_create_filter(&ifilter->filter, filter,
if ((ret = avfilter_graph_create_filter(&ifilter->filter, abuffer_filt,
name, args.str, NULL,
fg->graph)) < 0)
return ret;
last_filter = ifilter->filter;
#define AUTO_INSERT_FILTER_INPUT(opt_name, filter_name, arg) do { \
AVFilterContext *filt_ctx; \
@@ -738,11 +762,11 @@ static int configure_input_audio_filter(FilterGraph *fg, InputFilter *ifilter,
if (ret < 0) \
return ret; \
\
ret = avfilter_link(filt_ctx, 0, first_filter, pad_idx); \
ret = avfilter_link(last_filter, 0, filt_ctx, 0); \
if (ret < 0) \
return ret; \
\
first_filter = filt_ctx; \
last_filter = filt_ctx; \
} while (0)
if (audio_sync_method > 0) {
@@ -778,7 +802,15 @@ static int configure_input_audio_filter(FilterGraph *fg, InputFilter *ifilter,
snprintf(args, sizeof(args), "%f", audio_volume / 256.);
AUTO_INSERT_FILTER_INPUT("-vol", "volume", args);
}
if ((ret = avfilter_link(ifilter->filter, 0, first_filter, pad_idx)) < 0)
snprintf(name, sizeof(name), "trim for input stream %d:%d",
ist->file_index, ist->st->index);
ret = insert_trim(((f->start_time == AV_NOPTS_VALUE) || !f->accurate_seek) ?
AV_NOPTS_VALUE : 0, f->recording_time, &last_filter, &pad_idx, name);
if (ret < 0)
return ret;
if ((ret = avfilter_link(last_filter, 0, in->filter_ctx, in->pad_idx)) < 0)
return ret;
return 0;
@@ -833,6 +865,10 @@ int configure_filtergraph(FilterGraph *fg)
if (strlen(args))
args[strlen(args) - 1] = '\0';
fg->graph->resample_lavr_opts = av_strdup(args);
e = av_dict_get(ost->opts, "threads", NULL, 0);
if (e)
av_opt_set(fg->graph, "threads", e->value, 0);
}
if ((ret = avfilter_graph_parse2(fg->graph, graph_desc, &inputs, &outputs)) < 0)

View File

@@ -84,6 +84,7 @@ int print_stats = -1;
int qp_hist = 0;
int stdin_interaction = 1;
int frame_bits_per_raw_sample = 0;
float max_error_rate = 2.0/3;
static int intra_only = 0;
@@ -95,9 +96,7 @@ static int do_psnr = 0;
static int input_sync;
static int override_ffserver = 0;
static int64_t recording_time = INT64_MAX;
static void uninit_options(OptionsContext *o, int is_input)
static void uninit_options(OptionsContext *o)
{
const OptionDef *po = options;
int i;
@@ -127,28 +126,19 @@ static void uninit_options(OptionsContext *o, int is_input)
av_freep(&o->audio_channel_maps);
av_freep(&o->streamid_map);
av_freep(&o->attachments);
if (is_input)
recording_time = o->recording_time;
else
recording_time = INT64_MAX;
}
static void init_options(OptionsContext *o, int is_input)
static void init_options(OptionsContext *o)
{
memset(o, 0, sizeof(*o));
if (!is_input && recording_time != INT64_MAX) {
o->recording_time = recording_time;
av_log(NULL, AV_LOG_WARNING,
"-t is not an input option, keeping it for the next output;"
" consider fixing your command line.\n");
} else
o->recording_time = INT64_MAX;
o->stop_time = INT64_MAX;
o->mux_max_delay = 0.7;
o->start_time = AV_NOPTS_VALUE;
o->recording_time = INT64_MAX;
o->limit_filesize = UINT64_MAX;
o->chapters_input_file = INT_MAX;
o->accurate_seek = 1;
}
/* return a copy of the input with the stream specifiers removed from the keys */
@@ -603,7 +593,7 @@ static void add_input_streams(OptionsContext *o, AVFormatContext *ic)
case AVMEDIA_TYPE_VIDEO:
if(!ist->dec)
ist->dec = avcodec_find_decoder(dec->codec_id);
if (dec->lowres) {
if (av_codec_get_lowres(dec)) {
dec->flags |= CODEC_FLAG_EMU_EDGE;
}
@@ -659,11 +649,16 @@ static void add_input_streams(OptionsContext *o, AVFormatContext *ic)
static void assert_file_overwrite(const char *filename)
{
if ((!file_overwrite || no_file_overwrite) &&
if (file_overwrite && no_file_overwrite) {
fprintf(stderr, "Error, both -y and -n supplied. Exiting.\n");
exit_program(1);
}
if (!file_overwrite &&
(strchr(filename, ':') == NULL || filename[1] == ':' ||
av_strstart(filename, "file:", NULL))) {
if (avio_check(filename, 0) == 0) {
if (stdin_interaction && (!no_file_overwrite || file_overwrite)) {
if (stdin_interaction && !no_file_overwrite) {
fprintf(stderr,"File '%s' already exists. Overwrite ? [y/N] ", filename);
fflush(stderr);
term_exit();
@@ -791,6 +786,14 @@ static int open_input_file(OptionsContext *o, const char *filename)
find_codec_or_die(audio_codec_name , AVMEDIA_TYPE_AUDIO , 0)->id : AV_CODEC_ID_NONE;
ic->subtitle_codec_id= subtitle_codec_name ?
find_codec_or_die(subtitle_codec_name, AVMEDIA_TYPE_SUBTITLE, 0)->id : AV_CODEC_ID_NONE;
if (video_codec_name)
av_format_set_video_codec (ic, find_codec_or_die(video_codec_name , AVMEDIA_TYPE_VIDEO , 0));
if (audio_codec_name)
av_format_set_audio_codec (ic, find_codec_or_die(audio_codec_name , AVMEDIA_TYPE_AUDIO , 0));
if (subtitle_codec_name)
av_format_set_subtitle_codec(ic, find_codec_or_die(subtitle_codec_name, AVMEDIA_TYPE_SUBTITLE, 0));
ic->flags |= AVFMT_FLAG_NONBLOCK;
ic->interrupt_callback = int_cb;
@@ -819,13 +822,13 @@ static int open_input_file(OptionsContext *o, const char *filename)
exit_program(1);
}
timestamp = o->start_time;
timestamp = (o->start_time == AV_NOPTS_VALUE) ? 0 : o->start_time;
/* add the stream start time */
if (ic->start_time != AV_NOPTS_VALUE)
timestamp += ic->start_time;
/* if seeking requested, we execute it */
if (o->start_time != 0) {
if (o->start_time != AV_NOPTS_VALUE) {
ret = avformat_seek_file(ic, -1, INT64_MIN, timestamp, timestamp, 0);
if (ret < 0) {
av_log(NULL, AV_LOG_WARNING, "%s: could not seek to position %0.3f\n",
@@ -847,9 +850,13 @@ static int open_input_file(OptionsContext *o, const char *filename)
f->ctx = ic;
f->ist_index = nb_input_streams - ic->nb_streams;
f->start_time = o->start_time;
f->recording_time = o->recording_time;
f->input_ts_offset = o->input_ts_offset;
f->ts_offset = o->input_ts_offset - (copy_ts ? 0 : timestamp);
f->nb_streams = ic->nb_streams;
f->rate_emu = o->rate_emu;
f->accurate_seek = o->accurate_seek;
/* check if all codec options have been used */
unused_opts = strip_specifiers(o->g->codec_opts);
@@ -1446,7 +1453,8 @@ static int copy_chapters(InputFile *ifile, OutputFile *ofile, int copy_metadata)
for (i = 0; i < is->nb_chapters; i++) {
AVChapter *in_ch = is->chapters[i], *out_ch;
int64_t ts_off = av_rescale_q(ofile->start_time - ifile->ts_offset,
int64_t start_time = (ofile->start_time == AV_NOPTS_VALUE) ? 0 : ofile->start_time;
int64_t ts_off = av_rescale_q(start_time - ifile->ts_offset,
AV_TIME_BASE_Q, in_ch->time_base);
int64_t rt = (ofile->recording_time == INT64_MAX) ? INT64_MAX :
av_rescale_q(ofile->recording_time, AV_TIME_BASE_Q, in_ch->time_base);
@@ -1581,11 +1589,12 @@ static int open_output_file(OptionsContext *o, const char *filename)
}
if (o->stop_time != INT64_MAX && o->recording_time == INT64_MAX) {
if (o->stop_time <= o->start_time) {
int64_t start_time = o->start_time == AV_NOPTS_VALUE ? 0 : o->start_time;
if (o->stop_time <= start_time) {
av_log(NULL, AV_LOG_WARNING, "-to value smaller than -ss; ignoring -to.\n");
o->stop_time = INT64_MAX;
} else {
o->recording_time = o->stop_time - o->start_time;
o->recording_time = o->stop_time - start_time;
}
}
@@ -2449,7 +2458,9 @@ void show_help_default(const char *opt, const char *arg)
int flags = AV_OPT_FLAG_DECODING_PARAM | AV_OPT_FLAG_ENCODING_PARAM;
show_help_children(avcodec_get_class(), flags);
show_help_children(avformat_get_class(), flags);
#if CONFIG_SWSCALE
show_help_children(sws_get_class(), flags);
#endif
show_help_children(swr_get_class(), AV_OPT_FLAG_AUDIO_PARAM);
show_help_children(avfilter_get_class(), AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_FILTERING_PARAM);
}
@@ -2481,7 +2492,7 @@ static int open_files(OptionGroupList *l, const char *inout,
OptionGroup *g = &l->groups[i];
OptionsContext o;
init_options(&o, !strcmp(inout, "input"));
init_options(&o);
o.g = g;
ret = parse_optgroup(&o, g);
@@ -2493,7 +2504,7 @@ static int open_files(OptionGroupList *l, const char *inout,
av_log(NULL, AV_LOG_DEBUG, "Opening an %s file: %s.\n", inout, g->arg);
ret = open_file(&o, g->arg);
uninit_options(&o, !strcmp(inout, "input"));
uninit_options(&o);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Error opening %s file %s.\n",
inout, g->arg);
@@ -2578,7 +2589,7 @@ const OptionDef options[] = {
{ "y", OPT_BOOL, { &file_overwrite },
"overwrite output files" },
{ "n", OPT_BOOL, { &no_file_overwrite },
"do not overwrite output files" },
"never overwrite output files" },
{ "c", HAS_ARG | OPT_STRING | OPT_SPEC |
OPT_INPUT | OPT_OUTPUT, { .off = OFFSET(codec_names) },
"codec name", "codec" },
@@ -2601,7 +2612,8 @@ const OptionDef options[] = {
{ "map_chapters", HAS_ARG | OPT_INT | OPT_EXPERT | OPT_OFFSET |
OPT_OUTPUT, { .off = OFFSET(chapters_input_file) },
"set chapters mapping", "input_file_index" },
{ "t", HAS_ARG | OPT_TIME | OPT_OFFSET | OPT_INPUT | OPT_OUTPUT, { .off = OFFSET(recording_time) },
{ "t", HAS_ARG | OPT_TIME | OPT_OFFSET |
OPT_INPUT | OPT_OUTPUT, { .off = OFFSET(recording_time) },
"record or transcode \"duration\" seconds of audio/video",
"duration" },
{ "to", HAS_ARG | OPT_TIME | OPT_OFFSET | OPT_OUTPUT, { .off = OFFSET(stop_time) },
@@ -2611,6 +2623,9 @@ const OptionDef options[] = {
{ "ss", HAS_ARG | OPT_TIME | OPT_OFFSET |
OPT_INPUT | OPT_OUTPUT, { .off = OFFSET(start_time) },
"set the start time offset", "time_off" },
{ "accurate_seek", OPT_BOOL | OPT_OFFSET | OPT_EXPERT |
OPT_INPUT, { .off = OFFSET(accurate_seek) },
"enable/disable accurate seeking with -ss" },
{ "itsoffset", HAS_ARG | OPT_TIME | OPT_OFFSET |
OPT_EXPERT | OPT_INPUT, { .off = OFFSET(input_ts_offset) },
"set the input ts offset", "time_off" },
@@ -2706,6 +2721,8 @@ const OptionDef options[] = {
"extract an attachment into a file", "filename" },
{ "debug_ts", OPT_BOOL | OPT_EXPERT, { &debug_ts },
"print timestamp debugging info" },
{ "max_error_rate", HAS_ARG | OPT_FLOAT, { &max_error_rate },
"maximum error rate", "ratio of errors (0.0: no errors, 1.0: 100% errors) above which ffmpeg returns an error instead of success." },
/* video options */
{ "vframes", OPT_VIDEO | HAS_ARG | OPT_PERFILE | OPT_OUTPUT, { .func_arg = opt_video_frames },

190
ffplay.c
View File

@@ -177,6 +177,8 @@ typedef struct VideoState {
int read_pause_return;
AVFormatContext *ic;
int realtime;
int audio_finished;
int video_finished;
Clock audclk;
Clock vidclk;
@@ -216,6 +218,7 @@ typedef struct VideoState {
int frame_drops_early;
int frame_drops_late;
AVFrame *frame;
int64_t audio_frame_next_pts;
enum ShowMode {
SHOW_MODE_NONE = -1, SHOW_MODE_VIDEO = 0, SHOW_MODE_WAVES, SHOW_MODE_RDFT, SHOW_MODE_NB
@@ -305,7 +308,6 @@ static int workaround_bugs = 1;
static int fast = 0;
static int genpts = 0;
static int lowres = 0;
static int idct = FF_IDCT_AUTO;
static int error_concealment = 3;
static int decoder_reorder_pts = -1;
static int autoexit;
@@ -405,6 +407,16 @@ static int packet_queue_put(PacketQueue *q, AVPacket *pkt)
return ret;
}
static int packet_queue_put_nullpacket(PacketQueue *q, int stream_index)
{
AVPacket pkt1, *pkt = &pkt1;
av_init_packet(pkt);
pkt->data = NULL;
pkt->size = 0;
pkt->stream_index = stream_index;
return packet_queue_put(q, pkt);
}
/* packet queue handling */
static void packet_queue_init(PacketQueue *q)
{
@@ -773,6 +785,14 @@ static void blend_subrect(AVPicture *dst, const AVSubtitleRect *rect, int imgw,
}
}
static void free_picture(VideoPicture *vp)
{
if (vp->bmp) {
SDL_FreeYUVOverlay(vp->bmp);
vp->bmp = NULL;
}
}
static void free_subpicture(SubPicture *sp)
{
avsubtitle_free(&sp->sub);
@@ -975,7 +995,8 @@ static void video_audio_display(VideoState *s)
}
av_rdft_calc(s->rdft, data[ch]);
}
// least efficient way to do this, we should of course directly access it but its more than fast enough
/* Least efficient way to do this, we should of course
* directly access it but it is more than fast enough. */
for (y = 0; y < s->height; y++) {
double w = 1 / sqrt(nb_freq);
int a = sqrt(w * sqrt(data[0][2 * y + 0] * data[0][2 * y + 0] + data[0][2 * y + 1] * data[0][2 * y + 1]));
@@ -1000,7 +1021,6 @@ static void video_audio_display(VideoState *s)
static void stream_close(VideoState *is)
{
VideoPicture *vp;
int i;
/* XXX: use a special url_shutdown call to abort parse cleanly */
is->abort_request = 1;
@@ -1010,13 +1030,10 @@ static void stream_close(VideoState *is)
packet_queue_destroy(&is->subtitleq);
/* free all pictures */
for (i = 0; i < VIDEO_PICTURE_QUEUE_SIZE; i++) {
vp = &is->pictq[i];
if (vp->bmp) {
SDL_FreeYUVOverlay(vp->bmp);
vp->bmp = NULL;
}
}
for (i = 0; i < VIDEO_PICTURE_QUEUE_SIZE; i++)
free_picture(&is->pictq[i]);
for (i = 0; i < SUBPICTURE_QUEUE_SIZE; i++)
free_subpicture(&is->subpq[i]);
SDL_DestroyMutex(is->pictq_mutex);
SDL_DestroyCond(is->pictq_cond);
SDL_DestroyMutex(is->subpq_mutex);
@@ -1490,8 +1507,7 @@ static void alloc_picture(VideoState *is)
vp = &is->pictq[is->pictq_windex];
if (vp->bmp)
SDL_FreeYUVOverlay(vp->bmp);
free_picture(vp);
video_open(is, 0, vp);
@@ -1670,6 +1686,9 @@ static int get_video_frame(VideoState *is, AVFrame *frame, AVPacket *pkt, int *s
if(avcodec_decode_video2(is->video_st->codec, frame, &got_picture, pkt) < 0)
return 0;
if (!got_picture && !pkt->data)
is->video_finished = *serial;
if (got_picture) {
int ret = 1;
double dpts = NAN;
@@ -1696,7 +1715,7 @@ static int get_video_frame(VideoState *is, AVFrame *frame, AVPacket *pkt, int *s
!isnan(ptsdiff) && ptsdiff > 0 && ptsdiff < AV_NOSYNC_THRESHOLD &&
clockdiff + ptsdiff - is->frame_last_filter_delay < 0 &&
is->videoq.nb_packets) {
is->frame_last_dropped_pos = pkt->pos;
is->frame_last_dropped_pos = av_frame_get_pkt_pos(frame);
is->frame_last_dropped_pts = dpts;
is->frame_last_dropped_serial = *serial;
is->frame_drops_early++;
@@ -1814,6 +1833,8 @@ static int configure_audio_filters(VideoState *is, const char *afilters, int for
int64_t channel_layouts[2] = { 0, -1 };
int channels[2] = { 0, -1 };
AVFilterContext *filt_asrc = NULL, *filt_asink = NULL;
char aresample_swr_opts[512] = "";
AVDictionaryEntry *e = NULL;
char asrc_args[256];
int ret;
@@ -1821,6 +1842,12 @@ static int configure_audio_filters(VideoState *is, const char *afilters, int for
if (!(is->agraph = avfilter_graph_alloc()))
return AVERROR(ENOMEM);
while ((e = av_dict_get(swr_opts, "", e, AV_DICT_IGNORE_SUFFIX)))
av_strlcatf(aresample_swr_opts, sizeof(aresample_swr_opts), "%s=%s:", e->key, e->value);
if (strlen(aresample_swr_opts))
aresample_swr_opts[strlen(aresample_swr_opts)-1] = '\0';
av_opt_set(is->agraph, "aresample_swr_opts", aresample_swr_opts, 0);
ret = snprintf(asrc_args, sizeof(asrc_args),
"sample_rate=%d:sample_fmt=%s:channels=%d:time_base=%d/%d",
is->audio_filter_src.freq, av_get_sample_fmt_name(is->audio_filter_src.fmt),
@@ -1948,6 +1975,8 @@ static int video_thread(void *arg)
ret = av_buffersink_get_frame_flags(filt_out, frame, 0);
if (ret < 0) {
if (ret == AVERROR_EOF)
is->video_finished = serial;
ret = 0;
break;
}
@@ -1962,7 +1991,7 @@ static int video_thread(void *arg)
}
#else
pts = (frame->pts == AV_NOPTS_VALUE) ? NAN : frame->pts * av_q2d(is->video_st->time_base);
ret = queue_picture(is, frame, pts, pkt.pos, serial);
ret = queue_picture(is, frame, pts, av_frame_get_pkt_pos(frame), serial);
av_frame_unref(frame);
#endif
@@ -2045,6 +2074,8 @@ static int subtitle_thread(void *arg)
SDL_LockMutex(is->subpq_mutex);
is->subpq_size++;
SDL_UnlockMutex(is->subpq_mutex);
} else if (got_subtitle) {
avsubtitle_free(&sp->sub);
}
av_free_packet(pkt);
}
@@ -2129,8 +2160,6 @@ static int audio_decode_frame(VideoState *is)
int64_t dec_channel_layout;
int got_frame;
av_unused double audio_clock0;
int new_packet = 0;
int flush_complete = 0;
int wanted_nb_samples;
AVRational tb;
int ret;
@@ -2138,7 +2167,7 @@ static int audio_decode_frame(VideoState *is)
for (;;) {
/* NOTE: the audio packet can contain several frames */
while (pkt_temp->size > 0 || (!pkt_temp->data && new_packet) || is->audio_buf_frames_pending) {
while (pkt_temp->stream_index != -1 || is->audio_buf_frames_pending) {
if (!is->frame) {
if (!(is->frame = avcodec_alloc_frame()))
return AVERROR(ENOMEM);
@@ -2154,9 +2183,6 @@ static int audio_decode_frame(VideoState *is)
return -1;
if (!is->audio_buf_frames_pending) {
if (flush_complete)
break;
new_packet = 0;
len1 = avcodec_decode_audio4(dec, is->frame, &got_frame, pkt_temp);
if (len1 < 0) {
/* if error, we skip the frame */
@@ -2164,23 +2190,32 @@ static int audio_decode_frame(VideoState *is)
break;
}
pkt_temp->dts =
pkt_temp->pts = AV_NOPTS_VALUE;
pkt_temp->data += len1;
pkt_temp->size -= len1;
if (pkt_temp->data && pkt_temp->size <= 0 || !pkt_temp->data && !got_frame)
pkt_temp->stream_index = -1;
if (!pkt_temp->data && !got_frame)
is->audio_finished = is->audio_pkt_temp_serial;
if (!got_frame) {
/* stop sending empty packets if the decoder is finished */
if (!pkt_temp->data && dec->codec->capabilities & CODEC_CAP_DELAY)
flush_complete = 1;
if (!got_frame)
continue;
}
tb = (AVRational){1, is->frame->sample_rate};
if (is->frame->pts != AV_NOPTS_VALUE)
is->frame->pts = av_rescale_q(is->frame->pts, dec->time_base, tb);
else if (is->frame->pkt_pts != AV_NOPTS_VALUE)
is->frame->pts = av_rescale_q(is->frame->pkt_pts, is->audio_st->time_base, tb);
if (pkt_temp->pts != AV_NOPTS_VALUE)
pkt_temp->pts += (double) is->frame->nb_samples / is->frame->sample_rate / av_q2d(is->audio_st->time_base);
else if (is->audio_frame_next_pts != AV_NOPTS_VALUE)
#if CONFIG_AVFILTER
is->frame->pts = av_rescale_q(is->audio_frame_next_pts, (AVRational){1, is->audio_filter_src.freq}, tb);
#else
is->frame->pts = av_rescale_q(is->audio_frame_next_pts, (AVRational){1, is->audio_src.freq}, tb);
#endif
if (is->frame->pts != AV_NOPTS_VALUE)
is->audio_frame_next_pts = is->frame->pts + is->frame->nb_samples;
#if CONFIG_AVFILTER
dec_channel_layout = get_valid_channel_layout(is->frame->channel_layout, av_frame_get_channels(is->frame));
@@ -2222,6 +2257,8 @@ static int audio_decode_frame(VideoState *is)
is->audio_buf_frames_pending = 0;
continue;
}
if (ret == AVERROR_EOF)
is->audio_finished = is->audio_pkt_temp_serial;
return ret;
}
is->audio_buf_frames_pending = 1;
@@ -2318,6 +2355,7 @@ static int audio_decode_frame(VideoState *is)
if (pkt->data)
av_free_packet(pkt);
memset(pkt_temp, 0, sizeof(*pkt_temp));
pkt_temp->stream_index = -1;
if (is->audioq.abort_request) {
return -1;
@@ -2327,13 +2365,15 @@ static int audio_decode_frame(VideoState *is)
SDL_CondSignal(is->continue_read_thread);
/* read next packet */
if ((new_packet = packet_queue_get(&is->audioq, pkt, 1, &is->audio_pkt_temp_serial)) < 0)
if ((packet_queue_get(&is->audioq, pkt, 1, &is->audio_pkt_temp_serial)) < 0)
return -1;
if (pkt->data == flush_pkt.data) {
avcodec_flush_buffers(dec);
flush_complete = 0;
is->audio_buf_frames_pending = 0;
is->audio_frame_next_pts = AV_NOPTS_VALUE;
if ((is->ic->iformat->flags & (AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH | AVFMT_NO_BYTE_SEEK)) && !is->ic->iformat->read_seek)
is->audio_frame_next_pts = is->audio_st->start_time;
}
*pkt_temp = *pkt;
@@ -2385,7 +2425,7 @@ static int audio_open(void *opaque, int64_t wanted_channel_layout, int wanted_nb
{
SDL_AudioSpec wanted_spec, spec;
const char *env;
const int next_nb_channels[] = {0, 0, 1, 6, 2, 6, 4, 6};
static const int next_nb_channels[] = {0, 0, 1, 6, 2, 6, 4, 6};
env = SDL_getenv("SDL_AUDIO_CHANNELS");
if (env) {
@@ -2450,6 +2490,7 @@ static int stream_component_open(VideoState *is, int stream_index)
int sample_rate, nb_channels;
int64_t channel_layout;
int ret;
int stream_lowres = lowres;
if (stream_index < 0 || stream_index >= ic->nb_streams)
return -1;
@@ -2474,16 +2515,15 @@ static int stream_component_open(VideoState *is, int stream_index)
avctx->codec_id = codec->id;
avctx->workaround_bugs = workaround_bugs;
avctx->lowres = lowres;
if(avctx->lowres > codec->max_lowres){
if(stream_lowres > av_codec_get_max_lowres(codec)){
av_log(avctx, AV_LOG_WARNING, "The maximum value for lowres supported by the decoder is %d\n",
codec->max_lowres);
avctx->lowres= codec->max_lowres;
av_codec_get_max_lowres(codec));
stream_lowres = av_codec_get_max_lowres(codec);
}
avctx->idct_algo = idct;
av_codec_set_lowres(avctx, stream_lowres);
avctx->error_concealment = error_concealment;
if(avctx->lowres) avctx->flags |= CODEC_FLAG_EMU_EDGE;
if(stream_lowres) avctx->flags |= CODEC_FLAG_EMU_EDGE;
if (fast) avctx->flags2 |= CODEC_FLAG2_FAST;
if(codec->capabilities & CODEC_CAP_DR1)
avctx->flags |= CODEC_FLAG_EMU_EDGE;
@@ -2491,8 +2531,8 @@ static int stream_component_open(VideoState *is, int stream_index)
opts = filter_codec_opts(codec_opts, avctx->codec_id, ic, ic->streams[stream_index], codec);
if (!av_dict_get(opts, "threads", NULL, 0))
av_dict_set(&opts, "threads", "auto", 0);
if (avctx->lowres)
av_dict_set(&opts, "lowres", av_asprintf("%d", avctx->lowres), AV_DICT_DONT_STRDUP_VAL);
if (stream_lowres)
av_dict_set(&opts, "lowres", av_asprintf("%d", stream_lowres), AV_DICT_DONT_STRDUP_VAL);
if (avctx->codec_type == AVMEDIA_TYPE_VIDEO || avctx->codec_type == AVMEDIA_TYPE_AUDIO)
av_dict_set(&opts, "refcounted_frames", "1", 0);
if (avcodec_open2(avctx, codec, &opts) < 0)
@@ -2543,6 +2583,7 @@ static int stream_component_open(VideoState *is, int stream_index)
memset(&is->audio_pkt, 0, sizeof(is->audio_pkt));
memset(&is->audio_pkt_temp, 0, sizeof(is->audio_pkt_temp));
is->audio_pkt_temp.stream_index = -1;
is->audio_stream = stream_index;
is->audio_st = ic->streams[stream_index];
@@ -2801,7 +2842,8 @@ static int read_thread(void *arg)
}
if (is->video_stream < 0 && is->audio_stream < 0) {
av_log(NULL, AV_LOG_FATAL, "%s: could not open codecs\n", is->filename);
av_log(NULL, AV_LOG_FATAL, "Failed to open file '%s' or configure filtergraph\n",
is->filename);
ret = -1;
goto fail;
}
@@ -2871,6 +2913,7 @@ static int read_thread(void *arg)
if ((ret = av_copy_packet(&copy, &is->video_st->attached_pic)) < 0)
goto fail;
packet_queue_put(&is->videoq, &copy);
packet_queue_put_nullpacket(&is->videoq, is->video_stream);
}
is->queue_attachments_req = 0;
}
@@ -2888,30 +2931,22 @@ static int read_thread(void *arg)
SDL_UnlockMutex(wait_mutex);
continue;
}
if (!is->paused &&
(!is->audio_st || is->audio_finished == is->audioq.serial) &&
(!is->video_st || (is->video_finished == is->videoq.serial && is->pictq_size == 0))) {
if (loop != 1 && (!loop || --loop)) {
stream_seek(is, start_time != AV_NOPTS_VALUE ? start_time : 0, 0, 0);
} else if (autoexit) {
ret = AVERROR_EOF;
goto fail;
}
}
if (eof) {
if (is->video_stream >= 0) {
av_init_packet(pkt);
pkt->data = NULL;
pkt->size = 0;
pkt->stream_index = is->video_stream;
packet_queue_put(&is->videoq, pkt);
}
if (is->audio_stream >= 0) {
av_init_packet(pkt);
pkt->data = NULL;
pkt->size = 0;
pkt->stream_index = is->audio_stream;
packet_queue_put(&is->audioq, pkt);
}
if (is->video_stream >= 0)
packet_queue_put_nullpacket(&is->videoq, is->video_stream);
if (is->audio_stream >= 0)
packet_queue_put_nullpacket(&is->audioq, is->audio_stream);
SDL_Delay(10);
if (is->audioq.size + is->videoq.size + is->subtitleq.size == 0) {
if (loop != 1 && (!loop || --loop)) {
stream_seek(is, start_time != AV_NOPTS_VALUE ? start_time : 0, 0, 0);
} else if (autoexit) {
ret = AVERROR_EOF;
goto fail;
}
}
eof=0;
continue;
}
@@ -3018,6 +3053,8 @@ static void stream_cycle_channel(VideoState *is, int codec_type)
int start_index, stream_index;
int old_index;
AVStream *st;
AVProgram *p = NULL;
int nb_streams = is->ic->nb_streams;
if (codec_type == AVMEDIA_TYPE_VIDEO) {
start_index = is->last_video_stream;
@@ -3030,8 +3067,22 @@ static void stream_cycle_channel(VideoState *is, int codec_type)
old_index = is->subtitle_stream;
}
stream_index = start_index;
if (codec_type != AVMEDIA_TYPE_VIDEO && is->video_stream != -1) {
p = av_find_program_from_stream(ic, NULL, is->video_stream);
if (p) {
nb_streams = p->nb_stream_indexes;
for (start_index = 0; start_index < nb_streams; start_index++)
if (p->stream_index[start_index] == stream_index)
break;
if (start_index == nb_streams)
start_index = -1;
stream_index = start_index;
}
}
for (;;) {
if (++stream_index >= is->ic->nb_streams)
if (++stream_index >= nb_streams)
{
if (codec_type == AVMEDIA_TYPE_SUBTITLE)
{
@@ -3045,7 +3096,7 @@ static void stream_cycle_channel(VideoState *is, int codec_type)
}
if (stream_index == start_index)
return;
st = ic->streams[stream_index];
st = is->ic->streams[p ? p->stream_index[stream_index] : stream_index];
if (st->codec->codec_type == codec_type) {
/* check that parameters are OK */
switch (codec_type) {
@@ -3063,6 +3114,8 @@ static void stream_cycle_channel(VideoState *is, int codec_type)
}
}
the_end:
if (p && stream_index != -1)
stream_index = p->stream_index[stream_index];
stream_component_close(is, old_index);
stream_component_open(is, stream_index);
}
@@ -3150,6 +3203,11 @@ static void event_loop(VideoState *cur_stream)
case SDLK_v:
stream_cycle_channel(cur_stream, AVMEDIA_TYPE_VIDEO);
break;
case SDLK_c:
stream_cycle_channel(cur_stream, AVMEDIA_TYPE_VIDEO);
stream_cycle_channel(cur_stream, AVMEDIA_TYPE_AUDIO);
stream_cycle_channel(cur_stream, AVMEDIA_TYPE_SUBTITLE);
break;
case SDLK_t:
stream_cycle_channel(cur_stream, AVMEDIA_TYPE_SUBTITLE);
break;
@@ -3402,7 +3460,6 @@ static const OptionDef options[] = {
{ "genpts", OPT_BOOL | OPT_EXPERT, { &genpts }, "generate pts", "" },
{ "drp", OPT_INT | HAS_ARG | OPT_EXPERT, { &decoder_reorder_pts }, "let decoder reorder pts 0=off 1=on -1=auto", ""},
{ "lowres", OPT_INT | HAS_ARG | OPT_EXPERT, { &lowres }, "", "" },
{ "idct", OPT_INT | HAS_ARG | OPT_EXPERT, { &idct }, "set idct algo", "algo" },
{ "ec", OPT_INT | HAS_ARG | OPT_EXPERT, { &error_concealment }, "set error concealment options", "bit_mask" },
{ "sync", HAS_ARG | OPT_EXPERT, { .func_arg = opt_sync }, "set audio-video sync. type (type=audio/video/ext)", "type" },
{ "autoexit", OPT_BOOL | OPT_EXPERT, { &autoexit }, "exit at the end", "" },
@@ -3452,9 +3509,10 @@ void show_help_default(const char *opt, const char *arg)
"q, ESC quit\n"
"f toggle full screen\n"
"p, SPC pause\n"
"a cycle audio channel\n"
"a cycle audio channel in the current program\n"
"v cycle video channel\n"
"t cycle subtitle channel\n"
"t cycle subtitle channel in the current program\n"
"c cycle program\n"
"w show audio waves\n"
"s activate frame-step mode\n"
"left/right seek backward/forward 10 seconds\n"

385
ffprobe.c
View File

@@ -37,7 +37,9 @@
#include "libavutil/pixdesc.h"
#include "libavutil/dict.h"
#include "libavutil/libm.h"
#include "libavutil/parseutils.h"
#include "libavutil/timecode.h"
#include "libavutil/timestamp.h"
#include "libavdevice/avdevice.h"
#include "libswscale/swscale.h"
#include "libswresample/swresample.h"
@@ -57,6 +59,7 @@ static int do_show_error = 0;
static int do_show_format = 0;
static int do_show_frames = 0;
static int do_show_packets = 0;
static int do_show_programs = 0;
static int do_show_streams = 0;
static int do_show_stream_disposition = 0;
static int do_show_data = 0;
@@ -72,6 +75,17 @@ static int show_private_data = 1;
static char *print_format;
static char *stream_specifier;
typedef struct {
int id; ///< identifier
int64_t start, end; ///< start, end in second/AV_TIME_BASE units
int has_start, has_end;
int start_is_offset, end_is_offset;
int duration_frames;
} ReadInterval;
static ReadInterval *read_intervals;
static int read_intervals_nb = 0;
/* section structure definition */
#define SECTION_MAX_NB_CHILDREN 10
@@ -108,7 +122,14 @@ typedef enum {
SECTION_ID_PACKET,
SECTION_ID_PACKETS,
SECTION_ID_PACKETS_AND_FRAMES,
SECTION_ID_PROGRAM_STREAM_DISPOSITION,
SECTION_ID_PROGRAM_STREAM_TAGS,
SECTION_ID_PROGRAM,
SECTION_ID_PROGRAM_STREAMS,
SECTION_ID_PROGRAM_STREAM,
SECTION_ID_PROGRAM_TAGS,
SECTION_ID_PROGRAM_VERSION,
SECTION_ID_PROGRAMS,
SECTION_ID_ROOT,
SECTION_ID_STREAM,
SECTION_ID_STREAM_DISPOSITION,
@@ -131,10 +152,17 @@ static struct section sections[] = {
[SECTION_ID_PACKETS] = { SECTION_ID_PACKETS, "packets", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PACKET, -1} },
[SECTION_ID_PACKETS_AND_FRAMES] = { SECTION_ID_PACKETS_AND_FRAMES, "packets_and_frames", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PACKET, -1} },
[SECTION_ID_PACKET] = { SECTION_ID_PACKET, "packet", 0, { -1 } },
[SECTION_ID_PROGRAM_STREAM_DISPOSITION] = { SECTION_ID_PROGRAM_STREAM_DISPOSITION, "disposition", 0, { -1 }, .unique_name = "program_stream_disposition" },
[SECTION_ID_PROGRAM_STREAM_TAGS] = { SECTION_ID_PROGRAM_STREAM_TAGS, "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name = "program_stream_tags" },
[SECTION_ID_PROGRAM] = { SECTION_ID_PROGRAM, "program", 0, { SECTION_ID_PROGRAM_TAGS, SECTION_ID_PROGRAM_STREAMS, -1 } },
[SECTION_ID_PROGRAM_STREAMS] = { SECTION_ID_PROGRAM_STREAMS, "streams", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PROGRAM_STREAM, -1 }, .unique_name = "program_streams" },
[SECTION_ID_PROGRAM_STREAM] = { SECTION_ID_PROGRAM_STREAM, "stream", 0, { SECTION_ID_PROGRAM_STREAM_DISPOSITION, SECTION_ID_PROGRAM_STREAM_TAGS, -1 }, .unique_name = "program_stream" },
[SECTION_ID_PROGRAM_TAGS] = { SECTION_ID_PROGRAM_TAGS, "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name = "program_tags" },
[SECTION_ID_PROGRAM_VERSION] = { SECTION_ID_PROGRAM_VERSION, "program_version", 0, { -1 } },
[SECTION_ID_PROGRAMS] = { SECTION_ID_PROGRAMS, "programs", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PROGRAM, -1 } },
[SECTION_ID_ROOT] = { SECTION_ID_ROOT, "root", SECTION_FLAG_IS_WRAPPER,
{ SECTION_ID_CHAPTERS, SECTION_ID_FORMAT, SECTION_ID_FRAMES, SECTION_ID_STREAMS, SECTION_ID_PACKETS,
SECTION_ID_ERROR, SECTION_ID_PROGRAM_VERSION, SECTION_ID_LIBRARY_VERSIONS, -1} },
{ SECTION_ID_CHAPTERS, SECTION_ID_FORMAT, SECTION_ID_FRAMES, SECTION_ID_PROGRAMS, SECTION_ID_STREAMS,
SECTION_ID_PACKETS, SECTION_ID_ERROR, SECTION_ID_PROGRAM_VERSION, SECTION_ID_LIBRARY_VERSIONS, -1} },
[SECTION_ID_STREAMS] = { SECTION_ID_STREAMS, "streams", SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM, -1 } },
[SECTION_ID_STREAM] = { SECTION_ID_STREAM, "stream", 0, { SECTION_ID_STREAM_DISPOSITION, SECTION_ID_STREAM_TAGS, -1 } },
[SECTION_ID_STREAM_DISPOSITION] = { SECTION_ID_STREAM_DISPOSITION, "disposition", 0, { -1 }, .unique_name = "stream_disposition" },
@@ -675,6 +703,8 @@ typedef struct CompactContext {
char *escape_mode_str;
const char * (*escape_str)(AVBPrint *dst, const char *src, const char sep, void *log_ctx);
int nested_section[SECTION_MAX_NB_LEVELS];
int has_nested_elems[SECTION_MAX_NB_LEVELS];
int terminate_line[SECTION_MAX_NB_LEVELS];
} CompactContext;
#undef OFFSET
@@ -722,18 +752,28 @@ static void compact_print_section_header(WriterContext *wctx)
const struct section *section = wctx->section[wctx->level];
const struct section *parent_section = wctx->level ?
wctx->section[wctx->level-1] : NULL;
compact->terminate_line[wctx->level] = 1;
compact->has_nested_elems[wctx->level] = 0;
av_bprint_clear(&wctx->section_pbuf[wctx->level]);
if (parent_section &&
if (!(section->flags & SECTION_FLAG_IS_ARRAY) && parent_section &&
!(parent_section->flags & (SECTION_FLAG_IS_WRAPPER|SECTION_FLAG_IS_ARRAY))) {
compact->nested_section[wctx->level] = 1;
compact->has_nested_elems[wctx->level-1] = 1;
av_bprintf(&wctx->section_pbuf[wctx->level], "%s%s:",
wctx->section_pbuf[wctx->level-1].str,
(char *)av_x_if_null(section->element_name, section->name));
wctx->nb_item[wctx->level] = wctx->nb_item[wctx->level-1];
} else if (compact->print_section &&
!(section->flags & (SECTION_FLAG_IS_WRAPPER|SECTION_FLAG_IS_ARRAY)))
printf("%s%c", section->name, compact->item_sep);
} else {
if (parent_section && compact->has_nested_elems[wctx->level-1] &&
(section->flags & SECTION_FLAG_IS_ARRAY)) {
compact->terminate_line[wctx->level-1] = 0;
printf("\n");
}
if (compact->print_section &&
!(section->flags & (SECTION_FLAG_IS_WRAPPER|SECTION_FLAG_IS_ARRAY)))
printf("%s%c", section->name, compact->item_sep);
}
}
static void compact_print_section_footer(WriterContext *wctx)
@@ -741,6 +781,7 @@ static void compact_print_section_footer(WriterContext *wctx)
CompactContext *compact = wctx->priv;
if (!compact->nested_section[wctx->level] &&
compact->terminate_line[wctx->level] &&
!(wctx->section[wctx->level]->flags & (SECTION_FLAG_IS_WRAPPER|SECTION_FLAG_IS_ARRAY)))
printf("\n");
}
@@ -1565,16 +1606,93 @@ static av_always_inline int process_frame(WriterContext *w,
return got_frame;
}
static void read_packets(WriterContext *w, AVFormatContext *fmt_ctx)
static void log_read_interval(const ReadInterval *interval, void *log_ctx, int log_level)
{
av_log(log_ctx, log_level, "id:%d", interval->id);
if (interval->has_start) {
av_log(log_ctx, log_level, " start:%s%s", interval->start_is_offset ? "+" : "",
av_ts2timestr(interval->start, &AV_TIME_BASE_Q));
} else {
av_log(log_ctx, log_level, " start:N/A");
}
if (interval->has_end) {
av_log(log_ctx, log_level, " end:%s", interval->end_is_offset ? "+" : "");
if (interval->duration_frames)
av_log(log_ctx, log_level, "#%"PRId64, interval->end);
else
av_log(log_ctx, log_level, "%s", av_ts2timestr(interval->end, &AV_TIME_BASE_Q));
} else {
av_log(log_ctx, log_level, " end:N/A");
}
av_log(log_ctx, log_level, "\n");
}
static int read_interval_packets(WriterContext *w, AVFormatContext *fmt_ctx,
const ReadInterval *interval, int64_t *cur_ts)
{
AVPacket pkt, pkt1;
AVFrame frame;
int i = 0;
int ret = 0, i = 0, frame_count = 0;
int64_t start = -INT64_MAX, end = interval->end;
int has_start = 0, has_end = interval->has_end && !interval->end_is_offset;
av_init_packet(&pkt);
av_log(NULL, AV_LOG_VERBOSE, "Processing read interval ");
log_read_interval(interval, NULL, AV_LOG_VERBOSE);
if (interval->has_start) {
int64_t target;
if (interval->start_is_offset) {
if (*cur_ts == AV_NOPTS_VALUE) {
av_log(NULL, AV_LOG_ERROR,
"Could not seek to relative position since current "
"timestamp is not defined\n");
ret = AVERROR(EINVAL);
goto end;
}
target = *cur_ts + interval->start;
} else {
target = interval->start;
}
av_log(NULL, AV_LOG_VERBOSE, "Seeking to read interval start point %s\n",
av_ts2timestr(target, &AV_TIME_BASE_Q));
if ((ret = avformat_seek_file(fmt_ctx, -1, -INT64_MAX, target, INT64_MAX, 0)) < 0) {
av_log(NULL, AV_LOG_ERROR, "Could not seek to position %"PRId64": %s\n",
interval->start, av_err2str(ret));
goto end;
}
}
while (!av_read_frame(fmt_ctx, &pkt)) {
if (selected_streams[pkt.stream_index]) {
AVRational tb = fmt_ctx->streams[pkt.stream_index]->time_base;
if (pkt.pts != AV_NOPTS_VALUE)
*cur_ts = av_rescale_q(pkt.pts, tb, AV_TIME_BASE_Q);
if (!has_start && *cur_ts != AV_NOPTS_VALUE) {
start = *cur_ts;
has_start = 1;
}
if (has_start && !has_end && interval->end_is_offset) {
end = start + interval->end;
has_end = 1;
}
if (interval->end_is_offset && interval->duration_frames) {
if (frame_count >= interval->end)
break;
} else if (has_end && *cur_ts != AV_NOPTS_VALUE && *cur_ts >= end) {
break;
}
frame_count++;
if (do_read_packets) {
if (do_show_packets)
show_packet(w, fmt_ctx, &pkt, i++);
@@ -1596,9 +1714,33 @@ static void read_packets(WriterContext *w, AVFormatContext *fmt_ctx)
if (do_read_frames)
while (process_frame(w, fmt_ctx, &frame, &pkt) > 0);
}
end:
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Could not read packets in interval ");
log_read_interval(interval, NULL, AV_LOG_ERROR);
}
return ret;
}
static void show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_idx)
static void read_packets(WriterContext *w, AVFormatContext *fmt_ctx)
{
int i, ret = 0;
int64_t cur_ts = fmt_ctx->start_time;
if (read_intervals_nb == 0) {
ReadInterval interval = (ReadInterval) { .has_start = 0, .has_end = 0 };
ret = read_interval_packets(w, fmt_ctx, &interval, &cur_ts);
} else {
for (i = 0; i < read_intervals_nb; i++) {
ret = read_interval_packets(w, fmt_ctx, &read_intervals[i], &cur_ts);
if (ret < 0)
break;
}
}
}
static void show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_idx, int in_program)
{
AVStream *stream = fmt_ctx->streams[stream_idx];
AVCodecContext *dec_ctx;
@@ -1610,7 +1752,7 @@ static void show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_i
av_bprint_init(&pbuf, 1, AV_BPRINT_SIZE_UNLIMITED);
writer_print_section_header(w, SECTION_ID_STREAM);
writer_print_section_header(w, in_program ? SECTION_ID_PROGRAM_STREAM : SECTION_ID_STREAM);
print_int("index", stream->index);
@@ -1681,8 +1823,28 @@ static void show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_i
else print_str_opt("sample_fmt", "unknown");
print_val("sample_rate", dec_ctx->sample_rate, unit_hertz_str);
print_int("channels", dec_ctx->channels);
if (dec_ctx->channel_layout) {
av_bprint_clear(&pbuf);
av_bprint_channel_layout(&pbuf, dec_ctx->channels, dec_ctx->channel_layout);
print_str ("channel_layout", pbuf.str);
} else {
print_str_opt("channel_layout", "unknown");
}
print_int("bits_per_sample", av_get_bits_per_sample(dec_ctx->codec_id));
break;
case AVMEDIA_TYPE_SUBTITLE:
if (dec_ctx->width)
print_int("width", dec_ctx->width);
else
print_str_opt("width", "N/A");
if (dec_ctx->height)
print_int("height", dec_ctx->height);
else
print_str_opt("height", "N/A");
break;
}
} else {
print_str_opt("codec_type", "unknown");
@@ -1726,7 +1888,7 @@ static void show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_i
} while (0)
if (do_show_stream_disposition) {
writer_print_section_header(w, SECTION_ID_STREAM_DISPOSITION);
writer_print_section_header(w, in_program ? SECTION_ID_PROGRAM_STREAM_DISPOSITION : SECTION_ID_STREAM_DISPOSITION);
PRINT_DISPOSITION(DEFAULT, "default");
PRINT_DISPOSITION(DUB, "dub");
PRINT_DISPOSITION(ORIGINAL, "original");
@@ -1741,7 +1903,7 @@ static void show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_i
writer_print_section_footer(w);
}
show_tags(w, stream->metadata, SECTION_ID_STREAM_TAGS);
show_tags(w, stream->metadata, in_program ? SECTION_ID_PROGRAM_STREAM_TAGS : SECTION_ID_STREAM_TAGS);
writer_print_section_footer(w);
av_bprint_finalize(&pbuf, NULL);
@@ -1754,7 +1916,47 @@ static void show_streams(WriterContext *w, AVFormatContext *fmt_ctx)
writer_print_section_header(w, SECTION_ID_STREAMS);
for (i = 0; i < fmt_ctx->nb_streams; i++)
if (selected_streams[i])
show_stream(w, fmt_ctx, i);
show_stream(w, fmt_ctx, i, 0);
writer_print_section_footer(w);
}
static void show_program(WriterContext *w, AVFormatContext *fmt_ctx, AVProgram *program)
{
int i;
writer_print_section_header(w, SECTION_ID_PROGRAM);
print_int("program_id", program->id);
print_int("program_num", program->program_num);
print_int("nb_streams", program->nb_stream_indexes);
print_int("pmt_pid", program->pmt_pid);
print_int("pcr_pid", program->pcr_pid);
print_ts("start_pts", program->start_time);
print_time("start_time", program->start_time, &AV_TIME_BASE_Q);
print_ts("end_pts", program->end_time);
print_time("end_time", program->end_time, &AV_TIME_BASE_Q);
show_tags(w, program->metadata, SECTION_ID_PROGRAM_TAGS);
writer_print_section_header(w, SECTION_ID_PROGRAM_STREAMS);
for (i = 0; i < program->nb_stream_indexes; i++) {
if (selected_streams[program->stream_index[i]])
show_stream(w, fmt_ctx, program->stream_index[i], 1);
}
writer_print_section_footer(w);
writer_print_section_footer(w);
}
static void show_programs(WriterContext *w, AVFormatContext *fmt_ctx)
{
int i;
writer_print_section_header(w, SECTION_ID_PROGRAMS);
for (i = 0; i < fmt_ctx->nb_programs; i++) {
AVProgram *program = fmt_ctx->programs[i];
if (!program)
continue;
show_program(w, fmt_ctx, program);
}
writer_print_section_footer(w);
}
@@ -1787,6 +1989,7 @@ static void show_format(WriterContext *w, AVFormatContext *fmt_ctx)
writer_print_section_header(w, SECTION_ID_FORMAT);
print_str("filename", fmt_ctx->filename);
print_int("nb_streams", fmt_ctx->nb_streams);
print_int("nb_programs", fmt_ctx->nb_programs);
print_str("format_name", fmt_ctx->iformat->name);
if (!do_bitexact) {
if (fmt_ctx->iformat->long_name) print_str ("format_long_name", fmt_ctx->iformat->long_name);
@@ -1798,6 +2001,7 @@ static void show_format(WriterContext *w, AVFormatContext *fmt_ctx)
else print_str_opt("size", "N/A");
if (fmt_ctx->bit_rate > 0) print_val ("bit_rate", fmt_ctx->bit_rate, unit_bit_per_second_str);
else print_str_opt("bit_rate", "N/A");
print_int("probe_score", av_format_get_probe_score(fmt_ctx));
show_tags(w, fmt_ctx->metadata, SECTION_ID_FORMAT_TAGS);
writer_print_section_footer(w);
@@ -1855,18 +2059,18 @@ static int open_input_file(AVFormatContext **fmt_ctx_ptr, const char *filename)
AVCodec *codec;
if (stream->codec->codec_id == AV_CODEC_ID_PROBE) {
av_log(NULL, AV_LOG_ERROR,
av_log(NULL, AV_LOG_WARNING,
"Failed to probe codec for input stream %d\n",
stream->index);
} else if (!(codec = avcodec_find_decoder(stream->codec->codec_id))) {
av_log(NULL, AV_LOG_ERROR,
av_log(NULL, AV_LOG_WARNING,
"Unsupported codec with id %d for input stream %d\n",
stream->codec->codec_id, stream->index);
} else {
AVDictionary *opts = filter_codec_opts(codec_opts, stream->codec->codec_id,
fmt_ctx, stream, codec);
if (avcodec_open2(stream->codec, codec, &opts) < 0) {
av_log(NULL, AV_LOG_ERROR, "Error while opening codec for input stream %d\n",
av_log(NULL, AV_LOG_WARNING, "Could not open codec for input stream %d\n",
stream->index);
}
if ((t = av_dict_get(opts, "", NULL, AV_DICT_IGNORE_SUFFIX))) {
@@ -1940,6 +2144,8 @@ static int probe_file(WriterContext *wctx, const char *filename)
if (do_show_frames || do_show_packets)
writer_print_section_footer(wctx);
}
if (do_show_programs)
show_programs(wctx, fmt_ctx);
if (do_show_streams)
show_streams(wctx, fmt_ctx);
if (do_show_chapters)
@@ -2146,6 +2352,145 @@ void show_help_default(const char *opt, const char *arg)
show_help_children(avformat_get_class(), AV_OPT_FLAG_DECODING_PARAM);
}
/**
* Parse interval specification, according to the format:
* INTERVAL ::= [START|+START_OFFSET][%[END|+END_OFFSET]]
* INTERVALS ::= INTERVAL[,INTERVALS]
*/
static int parse_read_interval(const char *interval_spec,
ReadInterval *interval)
{
int ret = 0;
char *next, *p, *spec = av_strdup(interval_spec);
if (!spec)
return AVERROR(ENOMEM);
if (!*spec) {
av_log(NULL, AV_LOG_ERROR, "Invalid empty interval specification\n");
ret = AVERROR(EINVAL);
goto end;
}
p = spec;
next = strchr(spec, '%');
if (next)
*next++ = 0;
/* parse first part */
if (*p) {
interval->has_start = 1;
if (*p == '+') {
interval->start_is_offset = 1;
p++;
} else {
interval->start_is_offset = 0;
}
ret = av_parse_time(&interval->start, p, 1);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Invalid interval start specification '%s'\n", p);
goto end;
}
} else {
interval->has_start = 0;
}
/* parse second part */
p = next;
if (p && *p) {
int64_t us;
interval->has_end = 1;
if (*p == '+') {
interval->end_is_offset = 1;
p++;
} else {
interval->end_is_offset = 0;
}
if (interval->end_is_offset && *p == '#') {
long long int lli;
char *tail;
interval->duration_frames = 1;
p++;
lli = strtoll(p, &tail, 10);
if (*tail || lli < 0) {
av_log(NULL, AV_LOG_ERROR,
"Invalid or negative value '%s' for duration number of frames\n", p);
goto end;
}
interval->end = lli;
} else {
ret = av_parse_time(&us, p, 1);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Invalid interval end/duration specification '%s'\n", p);
goto end;
}
interval->end = us;
}
} else {
interval->has_end = 0;
}
end:
av_free(spec);
return ret;
}
static int parse_read_intervals(const char *intervals_spec)
{
int ret, n, i;
char *p, *spec = av_strdup(intervals_spec);
if (!spec)
return AVERROR(ENOMEM);
/* preparse specification, get number of intervals */
for (n = 0, p = spec; *p; p++)
if (*p == ',')
n++;
n++;
read_intervals = av_malloc(n * sizeof(*read_intervals));
if (!read_intervals) {
ret = AVERROR(ENOMEM);
goto end;
}
read_intervals_nb = n;
/* parse intervals */
p = spec;
for (i = 0; p; i++) {
char *next;
av_assert0(i < read_intervals_nb);
next = strchr(p, ',');
if (next)
*next++ = 0;
read_intervals[i].id = i;
ret = parse_read_interval(p, &read_intervals[i]);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Error parsing read interval #%d '%s'\n",
i, p);
goto end;
}
av_log(NULL, AV_LOG_VERBOSE, "Parsed log interval ");
log_read_interval(&read_intervals[i], NULL, AV_LOG_VERBOSE);
p = next;
}
av_assert0(i == read_intervals_nb);
end:
av_free(spec);
return ret;
}
static int opt_read_intervals(void *optctx, const char *opt, const char *arg)
{
return parse_read_intervals(arg);
}
static int opt_pretty(void *optctx, const char *opt, const char *arg)
{
show_value_unit = 1;
@@ -2206,6 +2551,7 @@ DEFINE_OPT_SHOW_SECTION(library_versions, LIBRARY_VERSIONS);
DEFINE_OPT_SHOW_SECTION(packets, PACKETS);
DEFINE_OPT_SHOW_SECTION(program_version, PROGRAM_VERSION);
DEFINE_OPT_SHOW_SECTION(streams, STREAMS);
DEFINE_OPT_SHOW_SECTION(programs, PROGRAMS);
static const OptionDef real_options[] = {
#include "cmdutils_common_opts.h"
@@ -2232,6 +2578,7 @@ static const OptionDef real_options[] = {
{ "show_entries", HAS_ARG, {.func_arg = opt_show_entries},
"show a set of specified entries", "entry_list" },
{ "show_packets", 0, {(void*)&opt_show_packets}, "show packets info" },
{ "show_programs", 0, {(void*)&opt_show_programs}, "show programs info" },
{ "show_streams", 0, {(void*)&opt_show_streams}, "show streams info" },
{ "show_chapters", 0, {(void*)&opt_show_chapters}, "show chapters info" },
{ "count_frames", OPT_BOOL, {(void*)&do_count_frames}, "count the number of frames per stream" },
@@ -2242,6 +2589,7 @@ static const OptionDef real_options[] = {
{ "show_private_data", OPT_BOOL, {(void*)&show_private_data}, "show private data" },
{ "private", OPT_BOOL, {(void*)&show_private_data}, "same as show_private_data" },
{ "bitexact", OPT_BOOL, {&do_bitexact}, "force bitexact output" },
{ "read_intervals", HAS_ARG, {.func_arg = opt_read_intervals}, "set read intervals", "read_intervals" },
{ "default", HAS_ARG | OPT_AUDIO | OPT_VIDEO | OPT_EXPERT, {.func_arg = opt_default}, "generic catch all option", "" },
{ "i", HAS_ARG, {.func_arg = opt_input_file_i}, "read specified file", "input_file"},
{ NULL, },
@@ -2295,8 +2643,10 @@ int main(int argc, char **argv)
SET_DO_SHOW(LIBRARY_VERSIONS, library_versions);
SET_DO_SHOW(PACKETS, packets);
SET_DO_SHOW(PROGRAM_VERSION, program_version);
SET_DO_SHOW(PROGRAMS, programs);
SET_DO_SHOW(STREAMS, streams);
SET_DO_SHOW(STREAM_DISPOSITION, stream_disposition);
SET_DO_SHOW(PROGRAM_STREAM_DISPOSITION, stream_disposition);
if (do_bitexact && (do_show_program_version || do_show_library_versions)) {
av_log(NULL, AV_LOG_ERROR,
@@ -2334,7 +2684,7 @@ int main(int argc, char **argv)
ffprobe_show_library_versions(wctx);
if (!input_filename &&
((do_show_format || do_show_streams || do_show_chapters || do_show_packets || do_show_error) ||
((do_show_format || do_show_programs || do_show_streams || do_show_chapters || do_show_packets || do_show_error) ||
(!do_show_program_version && !do_show_library_versions))) {
show_usage();
av_log(NULL, AV_LOG_ERROR, "You have to specify one input file.\n");
@@ -2352,6 +2702,7 @@ int main(int argc, char **argv)
end:
av_freep(&print_format);
av_freep(&read_intervals);
uninit_opts();
for (i = 0; i < FF_ARRAY_ELEMS(sections); i++)

View File

@@ -36,6 +36,7 @@
#include "libavformat/network.h"
#include "libavformat/os_support.h"
#include "libavformat/rtpdec.h"
#include "libavformat/rtpproto.h"
#include "libavformat/rtsp.h"
#include "libavformat/avio_internal.h"
#include "libavformat/internal.h"
@@ -47,6 +48,7 @@
#include "libavutil/dict.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/mathematics.h"
#include "libavutil/pixdesc.h"
#include "libavutil/random_seed.h"
#include "libavutil/parseutils.h"
#include "libavutil/opt.h"
@@ -63,9 +65,6 @@
#include <time.h>
#include <sys/wait.h>
#include <signal.h>
#if HAVE_DLFCN_H
#include <dlfcn.h>
#endif
#include "cmdutils.h"
@@ -328,6 +327,14 @@ static AVLFG random_state;
static FILE *logfile = NULL;
static void htmlstrip(char *s) {
while (s && *s) {
s += strspn(s, "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ,. ");
if (*s)
*s++ = '?';
}
}
static int64_t ffm_read_write_index(int fd)
{
uint8_t buf[8];
@@ -1887,6 +1894,7 @@ static int http_parse_request(HTTPContext *c)
send_error:
c->http_error = 404;
q = c->buffer;
htmlstrip(msg);
snprintf(q, c->buffer_size,
"HTTP/1.0 404 Not Found\r\n"
"Content-type: text/html\r\n"
@@ -3906,7 +3914,7 @@ static void add_codec(FFStream *stream, AVCodecContext *av)
av->rc_buffer_aggressivity = 1.0;
if (!av->rc_eq)
av->rc_eq = "tex^qComp";
av->rc_eq = av_strdup("tex^qComp");
if (!av->i_quant_factor)
av->i_quant_factor = -0.8;
if (!av->b_quant_factor)
@@ -3954,33 +3962,6 @@ static enum AVCodecID opt_video_codec(const char *arg)
return p->id;
}
/* simplistic plugin support */
#if HAVE_DLOPEN
static void load_module(const char *filename)
{
void *dll;
void (*init_func)(void);
dll = dlopen(filename, RTLD_NOW);
if (!dll) {
fprintf(stderr, "Could not load module '%s' - %s\n",
filename, dlerror());
return;
}
init_func = dlsym(dll, "ffserver_module_init");
if (!init_func) {
fprintf(stderr,
"%s: init function 'ffserver_module_init()' not found\n",
filename);
dlclose(dll);
return;
}
init_func();
}
#endif
static int ffserver_opt_default(const char *opt, const char *arg,
AVCodecContext *avctx, int type)
{
@@ -4454,6 +4435,14 @@ static int parse_ffconfig(const char *filename)
video_enc.time_base.den = frame_rate.num;
}
}
} else if (!av_strcasecmp(cmd, "PixelFormat")) {
get_arg(arg, sizeof(arg), &p);
if (stream) {
video_enc.pix_fmt = av_get_pix_fmt(arg);
if (video_enc.pix_fmt == AV_PIX_FMT_NONE) {
ERROR("Unknown pixel format: %s\n", arg);
}
}
} else if (!av_strcasecmp(cmd, "VideoGopSize")) {
get_arg(arg, sizeof(arg), &p);
if (stream)
@@ -4637,12 +4626,7 @@ static int parse_ffconfig(const char *filename)
redirect = NULL;
}
} else if (!av_strcasecmp(cmd, "LoadModule")) {
get_arg(arg, sizeof(arg), &p);
#if HAVE_DLOPEN
load_module(arg);
#else
ERROR("Module support not compiled into this version: '%s'\n", arg);
#endif
ERROR("Loadable modules no longer supported\n");
} else {
ERROR("Incorrect keyword: '%s'\n", cmd);
}
@@ -4707,6 +4691,8 @@ int main(int argc, char **argv)
{
struct sigaction sigact = { { 0 } };
config_filename = av_strdup("/etc/ffserver.conf");
parse_loglevel(argc, argv, options);
av_register_all();
avformat_network_init();
@@ -4717,9 +4703,6 @@ int main(int argc, char **argv)
parse_options(NULL, argc, argv, options, NULL);
if (!config_filename)
config_filename = av_strdup("/etc/ffserver.conf");
unsetenv("http_proxy"); /* Kill the http_proxy */
av_lfg_init(&random_state, av_get_random_seed());

View File

@@ -49,6 +49,12 @@ static int zero12v_decode_frame(AVCodecContext *avctx, void *data,
av_log(avctx, AV_LOG_ERROR, "Width 1 not supported.\n");
return AVERROR_INVALIDDATA;
}
if ( avctx->codec_tag == MKTAG('0', '1', '2', 'v')
&& avpkt->size % avctx->height == 0
&& avpkt->size / avctx->height * 3 >= width * 8)
stride = avpkt->size / avctx->height;
if (avpkt->size < avctx->height * stride) {
av_log(avctx, AV_LOG_ERROR, "Packet too small: %d instead of %d\n",
avpkt->size, avctx->height * stride);
@@ -144,10 +150,10 @@ static int zero12v_decode_frame(AVCodecContext *avctx, void *data,
AVCodec ff_zero12v_decoder = {
.name = "012v",
.long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
.type = AVMEDIA_TYPE_VIDEO,
.id = AV_CODEC_ID_012V,
.init = zero12v_decode_init,
.decode = zero12v_decode_frame,
.capabilities = CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
};

View File

@@ -842,6 +842,8 @@ static int decode_frame(AVCodecContext *avctx, void *data,
if (buf_size < 20)
return AVERROR_INVALIDDATA;
av_assert0(avctx->width % 16 == 0 && avctx->height % 16 == 0);
if (buf_size < AV_RL32(buf + 4) + 8) {
av_log(f->avctx, AV_LOG_ERROR, "size mismatch %d %d\n",
buf_size, AV_RL32(buf + 4));
@@ -1018,6 +1020,7 @@ static av_cold int decode_end(AVCodecContext *avctx)
AVCodec ff_fourxm_decoder = {
.name = "4xm",
.long_name = NULL_IF_CONFIG_SMALL("4X Movie"),
.type = AVMEDIA_TYPE_VIDEO,
.id = AV_CODEC_ID_4XM,
.priv_data_size = sizeof(FourXContext),
@@ -1025,5 +1028,4 @@ AVCodec ff_fourxm_decoder = {
.close = decode_end,
.decode = decode_frame,
.capabilities = CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("4X Movie"),
};

View File

@@ -64,7 +64,7 @@ static int decode_frame(AVCodecContext *avctx, void *data,
unsigned char *pixptr, *pixptr_end;
unsigned int height = avctx->height; // Real image height
unsigned int dlen, p, row;
const unsigned char *lp, *dp;
const unsigned char *lp, *dp, *ep;
unsigned char count;
unsigned int planes = c->planes;
unsigned char *planemap = c->planemap;
@@ -73,6 +73,8 @@ static int decode_frame(AVCodecContext *avctx, void *data,
if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
return ret;
ep = encoded + buf_size;
/* Set data pointer after line lengths */
dp = encoded + planes * (height << 1);
@@ -84,19 +86,19 @@ static int decode_frame(AVCodecContext *avctx, void *data,
for (row = 0; row < height; row++) {
pixptr = frame->data[0] + row * frame->linesize[0] + planemap[p];
pixptr_end = pixptr + frame->linesize[0];
if(lp - encoded + row*2 + 1 >= buf_size)
return -1;
if (ep - lp < row * 2 + 2)
return AVERROR_INVALIDDATA;
dlen = av_be2ne16(*(const unsigned short *)(lp + row * 2));
/* Decode a row of this plane */
while (dlen > 0) {
if (dp + 1 >= buf + buf_size)
if (ep - dp <= 1)
return AVERROR_INVALIDDATA;
if ((count = *dp++) <= 127) {
count++;
dlen -= count + 1;
if (pixptr + count * planes > pixptr_end)
if (pixptr_end - pixptr < count * planes)
break;
if (dp + count > buf + buf_size)
if (ep - dp < count)
return AVERROR_INVALIDDATA;
while (count--) {
*pixptr = *dp++;
@@ -104,7 +106,7 @@ static int decode_frame(AVCodecContext *avctx, void *data,
}
} else {
count = 257 - count;
if (pixptr + count * planes > pixptr_end)
if (pixptr_end - pixptr < count * planes)
break;
while (count--) {
*pixptr = *dp;
@@ -157,17 +159,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
case 32:
avctx->pix_fmt = AV_PIX_FMT_RGB32;
c->planes = 4;
#if HAVE_BIGENDIAN
c->planemap[0] = 1; // 1st plane is red
c->planemap[1] = 2; // 2nd plane is green
c->planemap[2] = 3; // 3rd plane is blue
c->planemap[3] = 0; // 4th plane is alpha
#else
c->planemap[0] = 2; // 1st plane is red
c->planemap[1] = 1; // 2nd plane is green
c->planemap[2] = 0; // 3rd plane is blue
c->planemap[3] = 3; // 4th plane is alpha
#endif
/* handle planemap setup later for decoding rgb24 data as rbg32 */
break;
default:
av_log(avctx, AV_LOG_ERROR, "Error: Unsupported color depth: %u.\n",
@@ -175,16 +167,22 @@ static av_cold int decode_init(AVCodecContext *avctx)
return AVERROR_INVALIDDATA;
}
if (avctx->pix_fmt == AV_PIX_FMT_RGB32) {
c->planemap[0] = HAVE_BIGENDIAN ? 1 : 2; // 1st plane is red
c->planemap[1] = HAVE_BIGENDIAN ? 2 : 1; // 2nd plane is green
c->planemap[2] = HAVE_BIGENDIAN ? 3 : 0; // 3rd plane is blue
c->planemap[3] = HAVE_BIGENDIAN ? 0 : 3; // 4th plane is alpha
}
return 0;
}
AVCodec ff_eightbps_decoder = {
.name = "8bps",
.long_name = NULL_IF_CONFIG_SMALL("QuickTime 8BPS video"),
.type = AVMEDIA_TYPE_VIDEO,
.id = AV_CODEC_ID_8BPS,
.priv_data_size = sizeof(EightBpsContext),
.init = decode_init,
.decode = decode_frame,
.capabilities = CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("QuickTime 8BPS video"),
};

View File

@@ -187,6 +187,7 @@ static av_cold int eightsvx_decode_close(AVCodecContext *avctx)
#if CONFIG_EIGHTSVX_FIB_DECODER
AVCodec ff_eightsvx_fib_decoder = {
.name = "8svx_fib",
.long_name = NULL_IF_CONFIG_SMALL("8SVX fibonacci"),
.type = AVMEDIA_TYPE_AUDIO,
.id = AV_CODEC_ID_8SVX_FIB,
.priv_data_size = sizeof (EightSvxContext),
@@ -194,7 +195,6 @@ AVCodec ff_eightsvx_fib_decoder = {
.decode = eightsvx_decode_frame,
.close = eightsvx_decode_close,
.capabilities = CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("8SVX fibonacci"),
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P,
AV_SAMPLE_FMT_NONE },
};
@@ -202,6 +202,7 @@ AVCodec ff_eightsvx_fib_decoder = {
#if CONFIG_EIGHTSVX_EXP_DECODER
AVCodec ff_eightsvx_exp_decoder = {
.name = "8svx_exp",
.long_name = NULL_IF_CONFIG_SMALL("8SVX exponential"),
.type = AVMEDIA_TYPE_AUDIO,
.id = AV_CODEC_ID_8SVX_EXP,
.priv_data_size = sizeof (EightSvxContext),
@@ -209,7 +210,6 @@ AVCodec ff_eightsvx_exp_decoder = {
.decode = eightsvx_decode_frame,
.close = eightsvx_decode_close,
.capabilities = CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("8SVX exponential"),
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P,
AV_SAMPLE_FMT_NONE },
};

View File

@@ -31,6 +31,8 @@ OBJS = allcodecs.o \
resample2.o \
utils.o \
OBJS-$(HAVE_MSVCRT) += file_open.o
# parts needed for many different codecs
OBJS-$(CONFIG_AANDCTTABLES) += aandcttab.o
OBJS-$(CONFIG_AC3DSP) += ac3dsp.o
@@ -42,8 +44,10 @@ OBJS-$(CONFIG_DSPUTIL) += dsputil.o faanidct.o \
simple_idct.o jrevdct.o
OBJS-$(CONFIG_ENCODERS) += faandct.o jfdctfst.o jfdctint.o
OBJS-$(CONFIG_ERROR_RESILIENCE) += error_resilience.o
OBJS-$(CONFIG_EXIF) += exif.o tiff_common.o
FFT-OBJS-$(CONFIG_HARDCODED_TABLES) += cos_tables.o cos_fixed_tables.o
OBJS-$(CONFIG_FFT) += avfft.o fft_fixed.o fft_float.o \
fft_fixed_32.o fft_init_table.o \
$(FFT-OBJS-yes)
OBJS-$(CONFIG_GOLOMB) += golomb.o
OBJS-$(CONFIG_H264CHROMA) += h264chroma.o
@@ -55,7 +59,7 @@ OBJS-$(CONFIG_HUFFMAN) += huffman.o
OBJS-$(CONFIG_LIBXVID) += libxvid_rc.o
OBJS-$(CONFIG_LPC) += lpc.o
OBJS-$(CONFIG_LSP) += lsp.o
OBJS-$(CONFIG_MDCT) += mdct_fixed.o mdct_float.o
OBJS-$(CONFIG_MDCT) += mdct_fixed.o mdct_float.o mdct_fixed_32.o
OBJS-$(CONFIG_MPEGAUDIO) += mpegaudio.o mpegaudiodata.o \
mpegaudiodecheader.o
OBJS-$(CONFIG_MPEGAUDIODSP) += mpegaudiodsp.o \
@@ -229,6 +233,10 @@ OBJS-$(CONFIG_H264_DECODER) += h264.o \
cabac.o h264_sei.o h264_ps.o \
h264_refs.o h264_cavlc.o h264_cabac.o
OBJS-$(CONFIG_H264_VDA_DECODER) += vda_h264_dec.o
OBJS-$(CONFIG_HEVC_DECODER) += hevc.o hevc_mvs.o hevc_ps.o hevc_sei.o \
hevc_cabac.o hevc_refs.o hevcpred.o \
hevcdsp.o hevc_filter.o cabac.o
OBJS-$(CONFIG_HUFFYUV_DECODER) += huffyuv.o huffyuvdec.o
OBJS-$(CONFIG_HUFFYUV_ENCODER) += huffyuv.o huffyuvenc.o
OBJS-$(CONFIG_IAC_DECODER) += imc.o
@@ -260,6 +268,8 @@ OBJS-$(CONFIG_LOCO_DECODER) += loco.o
OBJS-$(CONFIG_MACE3_DECODER) += mace.o
OBJS-$(CONFIG_MACE6_DECODER) += mace.o
OBJS-$(CONFIG_MDEC_DECODER) += mdec.o mpeg12.o mpeg12data.o
OBJS-$(CONFIG_METASOUND_DECODER) += metasound.o metasound_data.o \
twinvq.o
OBJS-$(CONFIG_MICRODVD_DECODER) += microdvddec.o ass.o
OBJS-$(CONFIG_MIMIC_DECODER) += mimic.o
OBJS-$(CONFIG_MJPEG_DECODER) += mjpegdec.o mjpeg.o
@@ -337,7 +347,7 @@ OBJS-$(CONFIG_PNG_DECODER) += png.o pngdec.o pngdsp.o
OBJS-$(CONFIG_PNG_ENCODER) += png.o pngenc.o
OBJS-$(CONFIG_PPM_DECODER) += pnmdec.o pnm.o
OBJS-$(CONFIG_PPM_ENCODER) += pnmenc.o pnm.o
OBJS-$(CONFIG_PRORES_DECODER) += proresdec2.o proresdsp.o
OBJS-$(CONFIG_PRORES_DECODER) += proresdec2.o proresdsp.o proresdata.o
OBJS-$(CONFIG_PRORES_LGPL_DECODER) += proresdec_lgpl.o proresdsp.o proresdata.o
OBJS-$(CONFIG_PRORES_ENCODER) += proresenc_anatoliy.o
OBJS-$(CONFIG_PRORES_AW_ENCODER) += proresenc_anatoliy.o
@@ -421,7 +431,7 @@ OBJS-$(CONFIG_TARGA_Y216_DECODER) += targa_y216dec.o
OBJS-$(CONFIG_THEORA_DECODER) += xiph.o
OBJS-$(CONFIG_THP_DECODER) += mjpegdec.o mjpeg.o
OBJS-$(CONFIG_TIERTEXSEQVIDEO_DECODER) += tiertexseqv.o
OBJS-$(CONFIG_TIFF_DECODER) += tiff.o lzw.o faxcompr.o tiff_data.o
OBJS-$(CONFIG_TIFF_DECODER) += tiff.o lzw.o faxcompr.o tiff_data.o tiff_common.o
OBJS-$(CONFIG_TIFF_ENCODER) += tiffenc.o rle.o lzwenc.o tiff_data.o
OBJS-$(CONFIG_TMV_DECODER) += tmv.o cga_data.o
OBJS-$(CONFIG_TRUEHD_DECODER) += mlpdec.o mlpdsp.o
@@ -432,7 +442,7 @@ OBJS-$(CONFIG_TSCC_DECODER) += tscc.o msrledec.o
OBJS-$(CONFIG_TSCC2_DECODER) += tscc2.o
OBJS-$(CONFIG_TTA_DECODER) += tta.o ttadata.o
OBJS-$(CONFIG_TTA_ENCODER) += ttaenc.o ttadata.o
OBJS-$(CONFIG_TWINVQ_DECODER) += twinvq.o
OBJS-$(CONFIG_TWINVQ_DECODER) += twinvqdec.o twinvq.o
OBJS-$(CONFIG_TXD_DECODER) += txd.o s3tc.o
OBJS-$(CONFIG_ULTI_DECODER) += ulti.o
OBJS-$(CONFIG_UTVIDEO_DECODER) += utvideodec.o utvideo.o
@@ -465,10 +475,13 @@ OBJS-$(CONFIG_VP5_DECODER) += vp5.o vp56.o vp56data.o vp56dsp.o \
OBJS-$(CONFIG_VP6_DECODER) += vp6.o vp56.o vp56data.o vp56dsp.o \
vp6dsp.o vp56rac.o
OBJS-$(CONFIG_VP8_DECODER) += vp8.o vp8dsp.o vp56rac.o
OBJS-$(CONFIG_VP9_DECODER) += vp9.o vp9dsp.o vp56rac.o
OBJS-$(CONFIG_VPLAYER_DECODER) += textdec.o ass.o
OBJS-$(CONFIG_VQA_DECODER) += vqavideo.o
OBJS-$(CONFIG_WAVPACK_DECODER) += wavpack.o
OBJS-$(CONFIG_WAVPACK_ENCODER) += wavpackenc.o
OBJS-$(CONFIG_WEBP_DECODER) += vp8.o vp8dsp.o vp56rac.o
OBJS-$(CONFIG_WEBP_DECODER) += webp.o
OBJS-$(CONFIG_WEBVTT_DECODER) += webvttdec.o
OBJS-$(CONFIG_WMALOSSLESS_DECODER) += wmalosslessdec.o wma_common.o
OBJS-$(CONFIG_WMAPRO_DECODER) += wmaprodec.o wma.o wma_common.o
@@ -514,8 +527,8 @@ OBJS-$(CONFIG_ZMBV_ENCODER) += zmbvenc.o
# (AD)PCM decoders/encoders
OBJS-$(CONFIG_PCM_ALAW_DECODER) += pcm.o
OBJS-$(CONFIG_PCM_ALAW_ENCODER) += pcm.o
OBJS-$(CONFIG_PCM_BLURAY_DECODER) += pcm-mpeg.o
OBJS-$(CONFIG_PCM_DVD_DECODER) += pcm.o
OBJS-$(CONFIG_PCM_BLURAY_DECODER) += pcm-bluray.o
OBJS-$(CONFIG_PCM_DVD_DECODER) += pcm-dvd.o
OBJS-$(CONFIG_PCM_F32BE_DECODER) += pcm.o
OBJS-$(CONFIG_PCM_F32BE_ENCODER) += pcm.o
OBJS-$(CONFIG_PCM_F32LE_DECODER) += pcm.o
@@ -614,7 +627,7 @@ OBJS-$(CONFIG_ADPCM_YAMAHA_ENCODER) += adpcmenc.o adpcm_data.o
OBJS-$(CONFIG_VIMA_DECODER) += vima.o adpcm_data.o
# hardware accelerators
OBJS-$(CONFIG_H263_VAAPI_HWACCEL) += vaapi_mpeg4.o
OBJS-$(CONFIG_H263_VAAPI_HWACCEL) += vaapi_mpeg4.o vaapi_mpeg.o
OBJS-$(CONFIG_H263_VDPAU_HWACCEL) += vdpau_mpeg4.o
OBJS-$(CONFIG_H264_DXVA2_HWACCEL) += dxva2_h264.o
OBJS-$(CONFIG_H264_VAAPI_HWACCEL) += vaapi_h264.o
@@ -622,12 +635,12 @@ OBJS-$(CONFIG_H264_VDA_HWACCEL) += vda_h264.o
OBJS-$(CONFIG_H264_VDPAU_HWACCEL) += vdpau_h264.o
OBJS-$(CONFIG_MPEG1_VDPAU_HWACCEL) += vdpau_mpeg12.o
OBJS-$(CONFIG_MPEG2_DXVA2_HWACCEL) += dxva2_mpeg2.o
OBJS-$(CONFIG_MPEG2_VAAPI_HWACCEL) += vaapi_mpeg2.o
OBJS-$(CONFIG_MPEG2_VAAPI_HWACCEL) += vaapi_mpeg2.o vaapi_mpeg.o
OBJS-$(CONFIG_MPEG2_VDPAU_HWACCEL) += vdpau_mpeg12.o
OBJS-$(CONFIG_MPEG4_VAAPI_HWACCEL) += vaapi_mpeg4.o
OBJS-$(CONFIG_MPEG4_VAAPI_HWACCEL) += vaapi_mpeg4.o vaapi_mpeg.o
OBJS-$(CONFIG_MPEG4_VDPAU_HWACCEL) += vdpau_mpeg4.o
OBJS-$(CONFIG_VC1_DXVA2_HWACCEL) += dxva2_vc1.o
OBJS-$(CONFIG_VC1_VAAPI_HWACCEL) += vaapi_vc1.o
OBJS-$(CONFIG_VC1_VAAPI_HWACCEL) += vaapi_vc1.o vaapi_mpeg.o
OBJS-$(CONFIG_VC1_VDPAU_HWACCEL) += vdpau_vc1.o
# libavformat dependencies
@@ -677,6 +690,7 @@ OBJS-$(CONFIG_WTV_DEMUXER) += mpeg4audio.o mpegaudiodata.o
OBJS-$(CONFIG_LIBAACPLUS_ENCODER) += libaacplus.o
OBJS-$(CONFIG_LIBCELT_DECODER) += libcelt_dec.o
OBJS-$(CONFIG_LIBFAAC_ENCODER) += libfaac.o
OBJS-$(CONFIG_LIBFDK_AAC_DECODER) += libfdk-aacdec.o
OBJS-$(CONFIG_LIBFDK_AAC_ENCODER) += libfdk-aacenc.o
OBJS-$(CONFIG_LIBGSM_DECODER) += libgsm.o
OBJS-$(CONFIG_LIBGSM_ENCODER) += libgsm.o
@@ -719,6 +733,7 @@ OBJS-$(CONFIG_LIBWAVPACK_ENCODER) += libwavpackenc.o
OBJS-$(CONFIG_LIBX264_ENCODER) += libx264.o
OBJS-$(CONFIG_LIBXAVS_ENCODER) += libxavs.o
OBJS-$(CONFIG_LIBXVID_ENCODER) += libxvid.o
OBJS-$(CONFIG_LIBZVBI_TELETEXT_DECODER) += libzvbi-teletextdec.o
# parsers
OBJS-$(CONFIG_AAC_PARSER) += aac_parser.o aac_ac3_parser.o \
@@ -733,6 +748,7 @@ OBJS-$(CONFIG_COOK_PARSER) += cook_parser.o
OBJS-$(CONFIG_DCA_PARSER) += dca_parser.o dca.o
OBJS-$(CONFIG_DIRAC_PARSER) += dirac_parser.o
OBJS-$(CONFIG_DNXHD_PARSER) += dnxhd_parser.o
OBJS-$(CONFIG_DPX_PARSER) += dpx_parser.o
OBJS-$(CONFIG_DVBSUB_PARSER) += dvbsub_parser.o
OBJS-$(CONFIG_DVD_NAV_PARSER) += dvd_nav_parser.o
OBJS-$(CONFIG_DVDSUB_PARSER) += dvdsub_parser.o
@@ -746,6 +762,7 @@ OBJS-$(CONFIG_H264_PARSER) += h264_parser.o h264.o \
h264_refs.o h264_sei.o h264_direct.o \
h264_loopfilter.o h264_cabac.o \
h264_cavlc.o h264_ps.o
OBJS-$(CONFIG_HEVC_PARSER) += hevc_parser.o
OBJS-$(CONFIG_MJPEG_PARSER) += mjpeg_parser.o
OBJS-$(CONFIG_MLP_PARSER) += mlp_parser.o mlp.o
OBJS-$(CONFIG_MPEG4VIDEO_PARSER) += mpeg4video_parser.o h263.o \
@@ -805,18 +822,19 @@ SKIPHEADERS-$(CONFIG_LIBUTVIDEO) += libutvideo.h
SKIPHEADERS-$(CONFIG_MPEG_XVMC_DECODER) += xvmc.h
SKIPHEADERS-$(CONFIG_VAAPI) += vaapi_internal.h
SKIPHEADERS-$(CONFIG_VDA) += vda.h
SKIPHEADERS-$(CONFIG_VDPAU) += vdpau.h
SKIPHEADERS-$(CONFIG_VDPAU) += vdpau.h vdpau_internal.h
TESTPROGS = cabac \
dct \
fft \
fft-fixed \
fft-fixed32 \
golomb \
iirfilter \
imgconvert \
rangecoder \
snowenc \
TESTPROGS-$(CONFIG_DCT) += dct
TESTPROGS-$(HAVE_MMX) += motion
TESTOBJS = dctref.o

View File

@@ -396,6 +396,7 @@ static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
#if CONFIG_A64MULTI_ENCODER
AVCodec ff_a64multi_encoder = {
.name = "a64multi",
.long_name = NULL_IF_CONFIG_SMALL("Multicolor charset for Commodore 64"),
.type = AVMEDIA_TYPE_VIDEO,
.id = AV_CODEC_ID_A64_MULTI,
.priv_data_size = sizeof(A64Context),
@@ -403,13 +404,13 @@ AVCodec ff_a64multi_encoder = {
.encode2 = a64multi_encode_frame,
.close = a64multi_close_encoder,
.pix_fmts = (const enum AVPixelFormat[]) {AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE},
.long_name = NULL_IF_CONFIG_SMALL("Multicolor charset for Commodore 64"),
.capabilities = CODEC_CAP_DELAY,
};
#endif
#if CONFIG_A64MULTI5_ENCODER
AVCodec ff_a64multi5_encoder = {
.name = "a64multi5",
.long_name = NULL_IF_CONFIG_SMALL("Multicolor charset for Commodore 64, extended with 5th color (colram)"),
.type = AVMEDIA_TYPE_VIDEO,
.id = AV_CODEC_ID_A64_MULTI5,
.priv_data_size = sizeof(A64Context),
@@ -417,7 +418,6 @@ AVCodec ff_a64multi5_encoder = {
.encode2 = a64multi_encode_frame,
.close = a64multi_close_encoder,
.pix_fmts = (const enum AVPixelFormat[]) {AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE},
.long_name = NULL_IF_CONFIG_SMALL("Multicolor charset for Commodore 64, extended with 5th color (colram)"),
.capabilities = CODEC_CAP_DELAY,
};
#endif

View File

@@ -157,7 +157,7 @@ typedef struct LongTermPrediction {
typedef struct IndividualChannelStream {
uint8_t max_sfb; ///< number of scalefactor bands per group
enum WindowSequence window_sequence[2];
uint8_t use_kb_window[2]; ///< If set, use Kaiser-Bessel window, otherwise use a sinus window.
uint8_t use_kb_window[2]; ///< If set, use Kaiser-Bessel window, otherwise use a sine window.
int num_window_groups;
uint8_t group_len[8];
LongTermPrediction ltp;
@@ -234,7 +234,7 @@ typedef struct SingleChannelElement {
int sf_idx[128]; ///< scalefactor indices (used by encoder)
uint8_t zeroes[128]; ///< band is not coded (used by encoder)
DECLARE_ALIGNED(32, float, coeffs)[1024]; ///< coefficients for IMDCT
DECLARE_ALIGNED(32, float, saved)[1024]; ///< overlap
DECLARE_ALIGNED(32, float, saved)[1536]; ///< overlap
DECLARE_ALIGNED(32, float, ret_buf)[2048]; ///< PCM output buffer
DECLARE_ALIGNED(16, float, ltp_state)[3072]; ///< time signal for LTP
PredictorState predictor_state[MAX_PREDICTORS];
@@ -290,6 +290,7 @@ struct AACContext {
*/
FFTContext mdct;
FFTContext mdct_small;
FFTContext mdct_ld;
FFTContext mdct_ltp;
FmtConvertContext fmt_conv;
AVFloatDSPContext fdsp;

View File

@@ -28,13 +28,13 @@
#include "parser.h"
typedef enum {
AAC_AC3_PARSE_ERROR_SYNC = -1,
AAC_AC3_PARSE_ERROR_BSID = -2,
AAC_AC3_PARSE_ERROR_SAMPLE_RATE = -3,
AAC_AC3_PARSE_ERROR_FRAME_SIZE = -4,
AAC_AC3_PARSE_ERROR_FRAME_TYPE = -5,
AAC_AC3_PARSE_ERROR_CRC = -6,
AAC_AC3_PARSE_ERROR_CHANNEL_CFG = -7,
AAC_AC3_PARSE_ERROR_SYNC = -0x1030c0a,
AAC_AC3_PARSE_ERROR_BSID = -0x2030c0a,
AAC_AC3_PARSE_ERROR_SAMPLE_RATE = -0x3030c0a,
AAC_AC3_PARSE_ERROR_FRAME_SIZE = -0x4030c0a,
AAC_AC3_PARSE_ERROR_FRAME_TYPE = -0x5030c0a,
AAC_AC3_PARSE_ERROR_CRC = -0x6030c0a,
AAC_AC3_PARSE_ERROR_CHANNEL_CFG = -0x7030c0a,
} AACAC3ParseError;
typedef struct AACAC3ParseContext {

View File

@@ -112,7 +112,7 @@ static int aac_adtstoasc_filter(AVBitStreamFilterContext *bsfc,
}
AVBitStreamFilter ff_aac_adtstoasc_bsf = {
"aac_adtstoasc",
sizeof(AACBSFContext),
aac_adtstoasc_filter,
.name = "aac_adtstoasc",
.priv_data_size = sizeof(AACBSFContext),
.filter = aac_adtstoasc_filter,
};

View File

@@ -35,7 +35,7 @@ void ff_aac_tableinit(void)
{
int i;
for (i = 0; i < 428; i++)
ff_aac_pow2sf_tab[i] = pow(2, (i - POW_SF2_ZERO) / 4.);
ff_aac_pow2sf_tab[i] = pow(2, (i - POW_SF2_ZERO) / 4.0);
}
#endif /* CONFIG_HARDCODED_TABLES */

View File

@@ -1113,25 +1113,25 @@ static void search_for_ms(AACEncContext *s, ChannelElement *cpe,
}
AACCoefficientsEncoder ff_aac_coders[AAC_CODER_NB] = {
{
[AAC_CODER_FAAC] = {
search_for_quantizers_faac,
encode_window_bands_info,
quantize_and_encode_band,
search_for_ms,
},
{
[AAC_CODER_ANMR] = {
search_for_quantizers_anmr,
encode_window_bands_info,
quantize_and_encode_band,
search_for_ms,
},
{
[AAC_CODER_TWOLOOP] = {
search_for_quantizers_twoloop,
codebook_trellis_rate,
quantize_and_encode_band,
search_for_ms,
},
{
[AAC_CODER_FAST] = {
search_for_quantizers_fast,
encode_window_bands_info,
quantize_and_encode_band,

View File

@@ -2,6 +2,7 @@
* AAC decoder
* Copyright (c) 2005-2006 Oded Shimon ( ods15 ods15 dyndns org )
* Copyright (c) 2006-2007 Maxim Gavrilov ( maxim.gavrilov gmail com )
* Copyright (c) 2008-2013 Alex Converse <alex.converse@gmail.com>
*
* AAC LATM decoder
* Copyright (c) 2008-2010 Paul Kendall <paul@kcbbs.gen.nz>
@@ -745,7 +746,7 @@ static int decode_ga_specific_config(AACContext *ac, AVCodecContext *avctx,
MPEG4AudioConfig *m4ac,
int channel_config)
{
int extension_flag, ret;
int extension_flag, ret, ep_config, res_flags;
uint8_t layout_map[MAX_ELEM_ID*4][3];
int tags = 0;
@@ -791,14 +792,90 @@ static int decode_ga_specific_config(AACContext *ac, AVCodecContext *avctx,
case AOT_ER_AAC_LTP:
case AOT_ER_AAC_SCALABLE:
case AOT_ER_AAC_LD:
skip_bits(gb, 3); /* aacSectionDataResilienceFlag
* aacScalefactorDataResilienceFlag
* aacSpectralDataResilienceFlag
*/
res_flags = get_bits(gb, 3);
if (res_flags) {
avpriv_report_missing_feature(avctx,
"AAC data resilience (flags %x)",
res_flags);
return AVERROR_PATCHWELCOME;
}
break;
}
skip_bits1(gb); // extensionFlag3 (TBD in version 3)
}
switch (m4ac->object_type) {
case AOT_ER_AAC_LC:
case AOT_ER_AAC_LTP:
case AOT_ER_AAC_SCALABLE:
case AOT_ER_AAC_LD:
ep_config = get_bits(gb, 2);
if (ep_config) {
avpriv_report_missing_feature(avctx,
"epConfig %d", ep_config);
return AVERROR_PATCHWELCOME;
}
}
return 0;
}
static int decode_eld_specific_config(AACContext *ac, AVCodecContext *avctx,
GetBitContext *gb,
MPEG4AudioConfig *m4ac,
int channel_config)
{
int ret, ep_config, res_flags;
uint8_t layout_map[MAX_ELEM_ID*4][3];
int tags = 0;
const int ELDEXT_TERM = 0;
m4ac->ps = 0;
m4ac->sbr = 0;
if (get_bits1(gb)) { // frameLengthFlag
avpriv_request_sample(avctx, "960/120 MDCT window");
return AVERROR_PATCHWELCOME;
}
res_flags = get_bits(gb, 3);
if (res_flags) {
avpriv_report_missing_feature(avctx,
"AAC data resilience (flags %x)",
res_flags);
return AVERROR_PATCHWELCOME;
}
if (get_bits1(gb)) { // ldSbrPresentFlag
avpriv_report_missing_feature(avctx,
"Low Delay SBR");
return AVERROR_PATCHWELCOME;
}
while (get_bits(gb, 4) != ELDEXT_TERM) {
int len = get_bits(gb, 4);
if (len == 15)
len += get_bits(gb, 8);
if (len == 15 + 255)
len += get_bits(gb, 16);
if (get_bits_left(gb) < len * 8 + 4) {
av_log(ac->avctx, AV_LOG_ERROR, overread_err);
return AVERROR_INVALIDDATA;
}
skip_bits_long(gb, 8 * len);
}
if ((ret = set_default_channel_config(avctx, layout_map,
&tags, channel_config)))
return ret;
if (ac && (ret = output_configure(ac, layout_map, tags, OC_GLOBAL_HDR, 0)))
return ret;
ep_config = get_bits(gb, 2);
if (ep_config) {
avpriv_report_missing_feature(avctx,
"epConfig %d", ep_config);
return AVERROR_PATCHWELCOME;
}
return 0;
}
@@ -840,6 +917,13 @@ static int decode_audio_specific_config(AACContext *ac,
m4ac->sampling_index);
return AVERROR_INVALIDDATA;
}
if (m4ac->object_type == AOT_ER_AAC_LD &&
(m4ac->sampling_index < 3 || m4ac->sampling_index > 7)) {
av_log(avctx, AV_LOG_ERROR,
"invalid low delay sampling rate index %d\n",
m4ac->sampling_index);
return AVERROR_INVALIDDATA;
}
skip_bits_long(&gb, i);
@@ -847,15 +931,22 @@ static int decode_audio_specific_config(AACContext *ac,
case AOT_AAC_MAIN:
case AOT_AAC_LC:
case AOT_AAC_LTP:
case AOT_ER_AAC_LC:
case AOT_ER_AAC_LD:
if ((ret = decode_ga_specific_config(ac, avctx, &gb,
m4ac, m4ac->chan_config)) < 0)
return ret;
break;
case AOT_ER_AAC_ELD:
if ((ret = decode_eld_specific_config(ac, avctx, &gb,
m4ac, m4ac->chan_config)) < 0)
return ret;
break;
default:
av_log(avctx, AV_LOG_ERROR,
"Audio object type %s%d is not supported.\n",
m4ac->sbr == 1 ? "SBR+" : "",
m4ac->object_type);
avpriv_report_missing_feature(avctx,
"Audio object type %s%d",
m4ac->sbr == 1 ? "SBR+" : "",
m4ac->object_type);
return AVERROR(ENOSYS);
}
@@ -1016,12 +1107,15 @@ static av_cold int aac_decode_init(AVCodecContext *avctx)
352);
ff_mdct_init(&ac->mdct, 11, 1, 1.0 / (32768.0 * 1024.0));
ff_mdct_init(&ac->mdct_ld, 10, 1, 1.0 / (32768.0 * 512.0));
ff_mdct_init(&ac->mdct_small, 8, 1, 1.0 / (32768.0 * 128.0));
ff_mdct_init(&ac->mdct_ltp, 11, 0, -2.0 * 32768.0);
// window initialization
ff_kbd_window_init(ff_aac_kbd_long_1024, 4.0, 1024);
ff_kbd_window_init(ff_aac_kbd_long_512, 4.0, 512);
ff_kbd_window_init(ff_aac_kbd_short_128, 6.0, 128);
ff_init_ff_sine_windows(10);
ff_init_ff_sine_windows( 9);
ff_init_ff_sine_windows( 7);
cbrt_tableinit();
@@ -1088,14 +1182,25 @@ static void decode_ltp(LongTermPrediction *ltp,
static int decode_ics_info(AACContext *ac, IndividualChannelStream *ics,
GetBitContext *gb)
{
if (get_bits1(gb)) {
av_log(ac->avctx, AV_LOG_ERROR, "Reserved bit set.\n");
return AVERROR_INVALIDDATA;
int aot = ac->oc[1].m4ac.object_type;
if (aot != AOT_ER_AAC_ELD) {
if (get_bits1(gb)) {
av_log(ac->avctx, AV_LOG_ERROR, "Reserved bit set.\n");
return AVERROR_INVALIDDATA;
}
ics->window_sequence[1] = ics->window_sequence[0];
ics->window_sequence[0] = get_bits(gb, 2);
if (aot == AOT_ER_AAC_LD &&
ics->window_sequence[0] != ONLY_LONG_SEQUENCE) {
av_log(ac->avctx, AV_LOG_ERROR,
"AAC LD is only defined for ONLY_LONG_SEQUENCE but "
"window sequence %d found.\n", ics->window_sequence[0]);
ics->window_sequence[0] = ONLY_LONG_SEQUENCE;
return AVERROR_INVALIDDATA;
}
ics->use_kb_window[1] = ics->use_kb_window[0];
ics->use_kb_window[0] = get_bits1(gb);
}
ics->window_sequence[1] = ics->window_sequence[0];
ics->window_sequence[0] = get_bits(gb, 2);
ics->use_kb_window[1] = ics->use_kb_window[0];
ics->use_kb_window[0] = get_bits1(gb);
ics->num_window_groups = 1;
ics->group_len[0] = 1;
if (ics->window_sequence[0] == EIGHT_SHORT_SEQUENCE) {
@@ -1117,21 +1222,36 @@ static int decode_ics_info(AACContext *ac, IndividualChannelStream *ics,
} else {
ics->max_sfb = get_bits(gb, 6);
ics->num_windows = 1;
ics->swb_offset = ff_swb_offset_1024[ac->oc[1].m4ac.sampling_index];
ics->num_swb = ff_aac_num_swb_1024[ac->oc[1].m4ac.sampling_index];
if (aot == AOT_ER_AAC_LD || aot == AOT_ER_AAC_ELD) {
ics->swb_offset = ff_swb_offset_512[ac->oc[1].m4ac.sampling_index];
ics->num_swb = ff_aac_num_swb_512[ac->oc[1].m4ac.sampling_index];
if (!ics->num_swb || !ics->swb_offset)
return AVERROR_BUG;
} else {
ics->swb_offset = ff_swb_offset_1024[ac->oc[1].m4ac.sampling_index];
ics->num_swb = ff_aac_num_swb_1024[ac->oc[1].m4ac.sampling_index];
}
ics->tns_max_bands = ff_tns_max_bands_1024[ac->oc[1].m4ac.sampling_index];
ics->predictor_present = get_bits1(gb);
ics->predictor_reset_group = 0;
if (aot != AOT_ER_AAC_ELD) {
ics->predictor_present = get_bits1(gb);
ics->predictor_reset_group = 0;
}
if (ics->predictor_present) {
if (ac->oc[1].m4ac.object_type == AOT_AAC_MAIN) {
if (aot == AOT_AAC_MAIN) {
if (decode_prediction(ac, ics, gb)) {
goto fail;
}
} else if (ac->oc[1].m4ac.object_type == AOT_AAC_LC) {
} else if (aot == AOT_AAC_LC ||
aot == AOT_ER_AAC_LC) {
av_log(ac->avctx, AV_LOG_ERROR,
"Prediction is not allowed in AAC-LC.\n");
goto fail;
} else {
if (aot == AOT_ER_AAC_LD) {
av_log(ac->avctx, AV_LOG_ERROR,
"LTP in ER AAC LD not yet implemented.\n");
return AVERROR_PATCHWELCOME;
}
if ((ics->ltp.present = get_bits(gb, 1)))
decode_ltp(&ics->ltp, gb, ics->max_sfb);
}
@@ -1224,7 +1344,7 @@ static int decode_scalefactors(AACContext *ac, float sf[120], GetBitContext *gb,
int run_end = band_type_run_end[idx];
if (band_type[idx] == ZERO_BT) {
for (; i < run_end; i++, idx++)
sf[idx] = 0.;
sf[idx] = 0.0;
} else if ((band_type[idx] == INTENSITY_BT) ||
(band_type[idx] == INTENSITY_BT2)) {
for (; i < run_end; i++, idx++) {
@@ -1752,9 +1872,15 @@ static int decode_ics(AACContext *ac, SingleChannelElement *sce,
TemporalNoiseShaping *tns = &sce->tns;
IndividualChannelStream *ics = &sce->ics;
float *out = sce->coeffs;
int global_gain, pulse_present = 0;
int global_gain, eld_syntax, er_syntax, pulse_present = 0;
int ret;
eld_syntax = ac->oc[1].m4ac.object_type == AOT_ER_AAC_ELD;
er_syntax = ac->oc[1].m4ac.object_type == AOT_ER_AAC_LC ||
ac->oc[1].m4ac.object_type == AOT_ER_AAC_LTP ||
ac->oc[1].m4ac.object_type == AOT_ER_AAC_LD ||
ac->oc[1].m4ac.object_type == AOT_ER_AAC_ELD;
/* This assignment is to silence a GCC warning about the variable being used
* uninitialized when in fact it always is.
*/
@@ -1776,7 +1902,7 @@ static int decode_ics(AACContext *ac, SingleChannelElement *sce,
pulse_present = 0;
if (!scale_flag) {
if ((pulse_present = get_bits1(gb))) {
if (!eld_syntax && (pulse_present = get_bits1(gb))) {
if (ics->window_sequence[0] == EIGHT_SHORT_SEQUENCE) {
av_log(ac->avctx, AV_LOG_ERROR,
"Pulse tool not allowed in eight short sequence.\n");
@@ -1788,12 +1914,19 @@ static int decode_ics(AACContext *ac, SingleChannelElement *sce,
return AVERROR_INVALIDDATA;
}
}
if ((tns->present = get_bits1(gb)) && decode_tns(ac, tns, gb, ics))
return AVERROR_INVALIDDATA;
if (get_bits1(gb)) {
tns->present = get_bits1(gb);
if (tns->present && !er_syntax)
if (decode_tns(ac, tns, gb, ics) < 0)
return AVERROR_INVALIDDATA;
if (!eld_syntax && get_bits1(gb)) {
avpriv_request_sample(ac->avctx, "SSR");
return AVERROR_PATCHWELCOME;
}
// I see no textual basis in the spec for this occuring after SSR gain
// control, but this is what both reference and real implmentations do
if (tns->present && er_syntax)
if (decode_tns(ac, tns, gb, ics) < 0)
return AVERROR_INVALIDDATA;
}
if (decode_spectrum_and_dequant(ac, out, gb, sce->sf, pulse_present,
@@ -1885,8 +2018,9 @@ static void apply_intensity_stereo(AACContext *ac,
static int decode_cpe(AACContext *ac, GetBitContext *gb, ChannelElement *cpe)
{
int i, ret, common_window, ms_present = 0;
int eld_syntax = ac->oc[1].m4ac.object_type == AOT_ER_AAC_ELD;
common_window = get_bits1(gb);
common_window = eld_syntax || get_bits1(gb);
if (common_window) {
if (decode_ics_info(ac, &cpe->ch[0].ics, gb))
return AVERROR_INVALIDDATA;
@@ -1968,7 +2102,7 @@ static int decode_cce(AACContext *ac, GetBitContext *gb, ChannelElement *che)
int idx = 0;
int cge = 1;
int gain = 0;
float gain_cache = 1.;
float gain_cache = 1.0;
if (c) {
cge = coup->coupling_point == AFTER_IMDCT ? 1 : get_bits1(gb);
gain = cge ? get_vlc2(gb, vlc_scalefactors.table, 7, 3) - 60: 0;
@@ -2365,6 +2499,81 @@ static void imdct_and_windowing(AACContext *ac, SingleChannelElement *sce)
}
}
static void imdct_and_windowing_ld(AACContext *ac, SingleChannelElement *sce)
{
IndividualChannelStream *ics = &sce->ics;
float *in = sce->coeffs;
float *out = sce->ret;
float *saved = sce->saved;
const float *lwindow_prev = ics->use_kb_window[1] ? ff_aac_kbd_long_512 : ff_sine_512;
float *buf = ac->buf_mdct;
// imdct
ac->mdct.imdct_half(&ac->mdct_ld, buf, in);
// window overlapping
ac->fdsp.vector_fmul_window(out, saved, buf, lwindow_prev, 256);
// buffer update
memcpy(saved, buf + 256, 256 * sizeof(float));
}
static void imdct_and_windowing_eld(AACContext *ac, SingleChannelElement *sce)
{
float *in = sce->coeffs;
float *out = sce->ret;
float *saved = sce->saved;
const float *const window = ff_aac_eld_window;
float *buf = ac->buf_mdct;
int i;
const int n = 512;
const int n2 = n >> 1;
const int n4 = n >> 2;
// Inverse transform, mapped to the conventional IMDCT by
// Chivukula, R.K.; Reznik, Y.A.; Devarajan, V.,
// "Efficient algorithms for MPEG-4 AAC-ELD, AAC-LD and AAC-LC filterbanks,"
// Audio, Language and Image Processing, 2008. ICALIP 2008. International Conference on
// URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4590245&isnumber=4589950
for (i = 0; i < n2; i+=2) {
float temp;
temp = in[i ]; in[i ] = -in[n - 1 - i]; in[n - 1 - i] = temp;
temp = -in[i + 1]; in[i + 1] = in[n - 2 - i]; in[n - 2 - i] = temp;
}
ac->mdct.imdct_half(&ac->mdct_ld, buf, in);
for (i = 0; i < n; i+=2) {
buf[i] = -buf[i];
}
// Like with the regular IMDCT at this point we still have the middle half
// of a transform but with even symmetry on the left and odd symmetry on
// the right
// window overlapping
// The spec says to use samples [0..511] but the reference decoder uses
// samples [128..639].
for (i = n4; i < n2; i ++) {
out[i - n4] = buf[n2 - 1 - i] * window[i - n4] +
saved[ i + n2] * window[i + n - n4] +
-saved[ n + n2 - 1 - i] * window[i + 2*n - n4] +
-saved[2*n + n2 + i] * window[i + 3*n - n4];
}
for (i = 0; i < n2; i ++) {
out[n4 + i] = buf[i] * window[i + n2 - n4] +
-saved[ n - 1 - i] * window[i + n2 + n - n4] +
-saved[ n + i] * window[i + n2 + 2*n - n4] +
saved[2*n + n - 1 - i] * window[i + n2 + 3*n - n4];
}
for (i = 0; i < n4; i ++) {
out[n2 + n4 + i] = buf[ i + n2] * window[i + n - n4] +
-saved[ n2 - 1 - i] * window[i + 2*n - n4] +
-saved[ n + n2 + i] * window[i + 3*n - n4];
}
// buffer update
memmove(saved + n, saved, 2 * n * sizeof(float));
memcpy( saved, buf, n * sizeof(float));
}
/**
* Apply dependent channel coupling (applied before IMDCT).
*
@@ -2461,6 +2670,17 @@ static void apply_channel_coupling(AACContext *ac, ChannelElement *cc,
static void spectral_to_sample(AACContext *ac)
{
int i, type;
void (*imdct_and_window)(AACContext *ac, SingleChannelElement *sce);
switch (ac->oc[1].m4ac.object_type) {
case AOT_ER_AAC_LD:
imdct_and_window = imdct_and_windowing_ld;
break;
case AOT_ER_AAC_ELD:
imdct_and_window = imdct_and_windowing_eld;
break;
default:
imdct_and_window = ac->imdct_and_windowing;
}
for (type = 3; type >= 0; type--) {
for (i = 0; i < MAX_ELEM_ID; i++) {
ChannelElement *che = ac->che[type][i];
@@ -2482,11 +2702,11 @@ static void spectral_to_sample(AACContext *ac)
if (type <= TYPE_CPE)
apply_channel_coupling(ac, che, type, i, BETWEEN_TNS_AND_IMDCT, apply_dependent_coupling);
if (type != TYPE_CCE || che->coup.coupling_point == AFTER_IMDCT) {
ac->imdct_and_windowing(ac, &che->ch[0]);
imdct_and_window(ac, &che->ch[0]);
if (ac->oc[1].m4ac.object_type == AOT_AAC_LTP)
ac->update_ltp(ac, &che->ch[0]);
if (type == TYPE_CPE) {
ac->imdct_and_windowing(ac, &che->ch[1]);
imdct_and_window(ac, &che->ch[1]);
if (ac->oc[1].m4ac.object_type == AOT_AAC_LTP)
ac->update_ltp(ac, &che->ch[1]);
}
@@ -2506,7 +2726,7 @@ static int parse_adts_frame_header(AACContext *ac, GetBitContext *gb)
int size;
AACADTSHeaderInfo hdr_info;
uint8_t layout_map[MAX_ELEM_ID*4][3];
int layout_map_tags;
int layout_map_tags, ret;
size = avpriv_aac_parse_header(gb, &hdr_info);
if (size > 0) {
@@ -2520,12 +2740,15 @@ static int parse_adts_frame_header(AACContext *ac, GetBitContext *gb)
push_output_configuration(ac);
if (hdr_info.chan_config) {
ac->oc[1].m4ac.chan_config = hdr_info.chan_config;
if (set_default_channel_config(ac->avctx, layout_map,
&layout_map_tags, hdr_info.chan_config))
return -7;
if (output_configure(ac, layout_map, layout_map_tags,
FFMAX(ac->oc[1].status, OC_TRIAL_FRAME), 0))
return -7;
if ((ret = set_default_channel_config(ac->avctx,
layout_map,
&layout_map_tags,
hdr_info.chan_config)) < 0)
return ret;
if ((ret = output_configure(ac, layout_map, layout_map_tags,
FFMAX(ac->oc[1].status,
OC_TRIAL_FRAME), 0)) < 0)
return ret;
} else {
ac->oc[1].m4ac.chan_config = 0;
/**
@@ -2559,6 +2782,66 @@ static int parse_adts_frame_header(AACContext *ac, GetBitContext *gb)
return size;
}
static int aac_decode_er_frame(AVCodecContext *avctx, void *data,
int *got_frame_ptr, GetBitContext *gb)
{
AACContext *ac = avctx->priv_data;
ChannelElement *che;
int err, i;
int samples = 1024;
int chan_config = ac->oc[1].m4ac.chan_config;
int aot = ac->oc[1].m4ac.object_type;
if (aot == AOT_ER_AAC_LD || aot == AOT_ER_AAC_ELD)
samples >>= 1;
ac->frame = data;
if ((err = frame_configure_elements(avctx)) < 0)
return err;
ac->tags_mapped = 0;
if (chan_config < 0 || chan_config >= 8) {
avpriv_request_sample(avctx, "Unknown ER channel configuration %d",
ac->oc[1].m4ac.chan_config);
return AVERROR_INVALIDDATA;
}
for (i = 0; i < tags_per_config[chan_config]; i++) {
const int elem_type = aac_channel_layout_map[chan_config-1][i][0];
const int elem_id = aac_channel_layout_map[chan_config-1][i][1];
if (!(che=get_che(ac, elem_type, elem_id))) {
av_log(ac->avctx, AV_LOG_ERROR,
"channel element %d.%d is not allocated\n",
elem_type, elem_id);
return AVERROR_INVALIDDATA;
}
if (aot != AOT_ER_AAC_ELD)
skip_bits(gb, 4);
switch (elem_type) {
case TYPE_SCE:
err = decode_ics(ac, &che->ch[0], gb, 0, 0);
break;
case TYPE_CPE:
err = decode_cpe(ac, gb, che);
break;
case TYPE_LFE:
err = decode_ics(ac, &che->ch[0], gb, 0, 0);
break;
}
if (err < 0)
return err;
}
spectral_to_sample(ac);
ac->frame->nb_samples = samples;
*got_frame_ptr = 1;
skip_bits_long(gb, get_bits_left(gb));
return 0;
}
static int aac_decode_frame_int(AVCodecContext *avctx, void *data,
int *got_frame_ptr, GetBitContext *gb, AVPacket *avpkt)
{
@@ -2572,22 +2855,19 @@ static int aac_decode_frame_int(AVCodecContext *avctx, void *data,
ac->frame = data;
if (show_bits(gb, 12) == 0xfff) {
if (parse_adts_frame_header(ac, gb) < 0) {
if ((err = parse_adts_frame_header(ac, gb)) < 0) {
av_log(avctx, AV_LOG_ERROR, "Error decoding AAC frame header.\n");
err = -1;
goto fail;
}
if (ac->oc[1].m4ac.sampling_index > 12) {
av_log(ac->avctx, AV_LOG_ERROR, "invalid sampling rate index %d\n", ac->oc[1].m4ac.sampling_index);
err = -1;
err = AVERROR_INVALIDDATA;
goto fail;
}
}
if (frame_configure_elements(avctx) < 0) {
err = -1;
if ((err = frame_configure_elements(avctx)) < 0)
goto fail;
}
ac->tags_mapped = 0;
// parse
@@ -2598,7 +2878,7 @@ static int aac_decode_frame_int(AVCodecContext *avctx, void *data,
if (!(che=get_che(ac, elem_type, elem_id))) {
av_log(ac->avctx, AV_LOG_ERROR, "channel element %d.%d is not allocated\n",
elem_type, elem_id);
err = -1;
err = AVERROR_INVALIDDATA;
goto fail;
}
samples = 1024;
@@ -2656,7 +2936,7 @@ static int aac_decode_frame_int(AVCodecContext *avctx, void *data,
elem_id += get_bits(gb, 8) - 1;
if (get_bits_left(gb) < 8 * elem_id) {
av_log(avctx, AV_LOG_ERROR, "TYPE_FIL: "overread_err);
err = -1;
err = AVERROR_INVALIDDATA;
goto fail;
}
while (elem_id > 0)
@@ -2665,7 +2945,7 @@ static int aac_decode_frame_int(AVCodecContext *avctx, void *data,
break;
default:
err = -1; /* should not happen, but keeps compiler happy */
err = AVERROR_BUG; /* should not happen, but keeps compiler happy */
break;
}
@@ -2677,7 +2957,7 @@ static int aac_decode_frame_int(AVCodecContext *avctx, void *data,
if (get_bits_left(gb) < 3) {
av_log(avctx, AV_LOG_ERROR, overread_err);
err = -1;
err = AVERROR_INVALIDDATA;
goto fail;
}
}
@@ -2766,9 +3046,20 @@ static int aac_decode_frame(AVCodecContext *avctx, void *data,
if (INT_MAX / 8 <= buf_size)
return AVERROR_INVALIDDATA;
init_get_bits(&gb, buf, buf_size * 8);
if ((err = init_get_bits(&gb, buf, buf_size * 8)) < 0)
return err;
if ((err = aac_decode_frame_int(avctx, data, got_frame_ptr, &gb, avpkt)) < 0)
switch (ac->oc[1].m4ac.object_type) {
case AOT_ER_AAC_LC:
case AOT_ER_AAC_LTP:
case AOT_ER_AAC_LD:
case AOT_ER_AAC_ELD:
err = aac_decode_er_frame(avctx, data, got_frame_ptr, &gb);
break;
default:
err = aac_decode_frame_int(avctx, data, got_frame_ptr, &gb, avpkt);
}
if (err < 0)
return err;
buf_consumed = (get_bits_count(&gb) + 7) >> 3;
@@ -2794,6 +3085,7 @@ static av_cold int aac_decode_close(AVCodecContext *avctx)
ff_mdct_end(&ac->mdct);
ff_mdct_end(&ac->mdct_small);
ff_mdct_end(&ac->mdct_ld);
ff_mdct_end(&ac->mdct_ltp);
return 0;
}
@@ -3106,13 +3398,13 @@ static const AVClass aac_decoder_class = {
AVCodec ff_aac_decoder = {
.name = "aac",
.long_name = NULL_IF_CONFIG_SMALL("AAC (Advanced Audio Coding)"),
.type = AVMEDIA_TYPE_AUDIO,
.id = AV_CODEC_ID_AAC,
.priv_data_size = sizeof(AACContext),
.init = aac_decode_init,
.close = aac_decode_close,
.decode = aac_decode_frame,
.long_name = NULL_IF_CONFIG_SMALL("AAC (Advanced Audio Coding)"),
.sample_fmts = (const enum AVSampleFormat[]) {
AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE
},
@@ -3129,13 +3421,13 @@ AVCodec ff_aac_decoder = {
*/
AVCodec ff_aac_latm_decoder = {
.name = "aac_latm",
.long_name = NULL_IF_CONFIG_SMALL("AAC LATM (Advanced Audio Coding LATM syntax)"),
.type = AVMEDIA_TYPE_AUDIO,
.id = AV_CODEC_ID_AAC_LATM,
.priv_data_size = sizeof(struct LATMContext),
.init = latm_decode_init,
.close = aac_decode_close,
.decode = latm_decode_frame,
.long_name = NULL_IF_CONFIG_SMALL("AAC LATM (Advanced Audio Coding LATM syntax)"),
.sample_fmts = (const enum AVSampleFormat[]) {
AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE
},

View File

@@ -791,7 +791,11 @@ static const AVOption aacenc_options[] = {
{"auto", "Selected by the Encoder", 0, AV_OPT_TYPE_CONST, {.i64 = -1 }, INT_MIN, INT_MAX, AACENC_FLAGS, "stereo_mode"},
{"ms_off", "Disable Mid/Side coding", 0, AV_OPT_TYPE_CONST, {.i64 = 0 }, INT_MIN, INT_MAX, AACENC_FLAGS, "stereo_mode"},
{"ms_force", "Force Mid/Side for the whole frame if possible", 0, AV_OPT_TYPE_CONST, {.i64 = 1 }, INT_MIN, INT_MAX, AACENC_FLAGS, "stereo_mode"},
{"aac_coder", "", offsetof(AACEncContext, options.aac_coder), AV_OPT_TYPE_INT, {.i64 = 2}, 0, AAC_CODER_NB-1, AACENC_FLAGS},
{"aac_coder", "", offsetof(AACEncContext, options.aac_coder), AV_OPT_TYPE_INT, {.i64 = AAC_CODER_TWOLOOP}, 0, AAC_CODER_NB-1, AACENC_FLAGS, "aac_coder"},
{"faac", "FAAC-inspired method", 0, AV_OPT_TYPE_CONST, {.i64 = AAC_CODER_FAAC}, INT_MIN, INT_MAX, AACENC_FLAGS, "aac_coder"},
{"anmr", "ANMR method", 0, AV_OPT_TYPE_CONST, {.i64 = AAC_CODER_ANMR}, INT_MIN, INT_MAX, AACENC_FLAGS, "aac_coder"},
{"twoloop", "Two loop searching method", 0, AV_OPT_TYPE_CONST, {.i64 = AAC_CODER_TWOLOOP}, INT_MIN, INT_MAX, AACENC_FLAGS, "aac_coder"},
{"fast", "Constant quantizer", 0, AV_OPT_TYPE_CONST, {.i64 = AAC_CODER_FAST}, INT_MIN, INT_MAX, AACENC_FLAGS, "aac_coder"},
{NULL}
};
@@ -811,6 +815,7 @@ static const int mpeg4audio_sample_rates[16] = {
AVCodec ff_aac_encoder = {
.name = "aac",
.long_name = NULL_IF_CONFIG_SMALL("AAC (Advanced Audio Coding)"),
.type = AVMEDIA_TYPE_AUDIO,
.id = AV_CODEC_ID_AAC,
.priv_data_size = sizeof(AACEncContext),
@@ -822,6 +827,5 @@ AVCodec ff_aac_encoder = {
CODEC_CAP_EXPERIMENTAL,
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP,
AV_SAMPLE_FMT_NONE },
.long_name = NULL_IF_CONFIG_SMALL("AAC (Advanced Audio Coding)"),
.priv_class = &aacenc_class,
};

View File

@@ -30,7 +30,14 @@
#include "audio_frame_queue.h"
#include "psymodel.h"
#define AAC_CODER_NB 4
typedef enum AACCoder {
AAC_CODER_FAAC = 0,
AAC_CODER_ANMR,
AAC_CODER_TWOLOOP,
AAC_CODER_FAST,
AAC_CODER_NB,
}AACCoder;
typedef struct AACEncOptions {
int stereo_mode;

View File

@@ -192,7 +192,7 @@ static void ps_tableinit(void)
for (k = 0; k < NR_ALLPASS_BANDS34; k++) {
double f_center, theta;
if (k < FF_ARRAY_ELEMS(f_center_34))
f_center = f_center_34[k] / 24.;
f_center = f_center_34[k] / 24.0;
else
f_center = k - 26.5f;
for (m = 0; m < PS_AP_LINKS; m++) {

View File

@@ -1,20 +1,20 @@
/*
* Copyright (c) 2010 Alex Converse <alex.converse@gmail.com>
*
* This file is part of Libav.
* This file is part of FFmpeg.
*
* Libav is free software; you can redistribute it and/or
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* Libav is distributed in the hope that it will be useful,
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with Libav; if not, write to the Free Software
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/

View File

@@ -1,20 +1,20 @@
/*
* Copyright (c) 2012 Mans Rullgard
*
* This file is part of Libav.
* This file is part of FFmpeg.
*
* Libav is free software; you can redistribute it and/or
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* Libav is distributed in the hope that it will be useful,
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with Libav; if not, write to the Free Software
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/

View File

@@ -34,12 +34,17 @@
#include <stdint.h>
DECLARE_ALIGNED(32, float, ff_aac_kbd_long_1024)[1024];
DECLARE_ALIGNED(32, float, ff_aac_kbd_long_512 )[512];
DECLARE_ALIGNED(32, float, ff_aac_kbd_short_128)[128];
const uint8_t ff_aac_num_swb_1024[] = {
41, 41, 47, 49, 49, 51, 47, 47, 43, 43, 43, 40, 40
};
const uint8_t ff_aac_num_swb_512[] = {
0, 0, 0, 36, 36, 37, 31, 31, 0, 0, 0, 0, 0
};
const uint8_t ff_aac_num_swb_128[] = {
12, 12, 12, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15
};
@@ -1114,6 +1119,14 @@ static const uint16_t swb_offset_1024_48[] = {
928, 1024
};
static const uint16_t swb_offset_512_48[] = {
0, 4, 8, 12, 16, 20, 24, 28,
32, 36, 40, 44, 48, 52, 56, 60,
68, 76, 84, 92, 100, 112, 124, 136,
148, 164, 184, 208, 236, 268, 300, 332,
364, 396, 428, 460, 512
};
static const uint16_t swb_offset_128_48[] = {
0, 4, 8, 12, 16, 20, 28, 36,
44, 56, 68, 80, 96, 112, 128
@@ -1129,6 +1142,14 @@ static const uint16_t swb_offset_1024_32[] = {
928, 960, 992, 1024
};
static const uint16_t swb_offset_512_32[] = {
0, 4, 8, 12, 16, 20, 24, 28,
32, 36, 40, 44, 48, 52, 56, 64,
72, 80, 88, 96, 108, 120, 132, 144,
160, 176, 192, 212, 236, 260, 288, 320,
352, 384, 416, 448, 480, 512
};
static const uint16_t swb_offset_1024_24[] = {
0, 4, 8, 12, 16, 20, 24, 28,
32, 36, 40, 44, 52, 60, 68, 76,
@@ -1138,6 +1159,13 @@ static const uint16_t swb_offset_1024_24[] = {
600, 652, 704, 768, 832, 896, 960, 1024
};
static const uint16_t swb_offset_512_24[] = {
0, 4, 8, 12, 16, 20, 24, 28,
32, 36, 40, 44, 52, 60, 68, 80,
92, 104, 120, 140, 164, 192, 224, 256,
288, 320, 352, 384, 416, 448, 480, 512,
};
static const uint16_t swb_offset_128_24[] = {
0, 4, 8, 12, 16, 20, 24, 28,
36, 44, 52, 64, 76, 92, 108, 128
@@ -1179,6 +1207,14 @@ const uint16_t * const ff_swb_offset_1024[] = {
swb_offset_1024_8
};
const uint16_t * const ff_swb_offset_512[] = {
NULL, NULL, NULL,
swb_offset_512_48, swb_offset_512_48, swb_offset_512_32,
swb_offset_512_24, swb_offset_512_24, NULL,
NULL, NULL, NULL,
NULL
};
const uint16_t * const ff_swb_offset_128[] = {
/* The last entry on the following row is swb_offset_128_64 but is a
duplicate of swb_offset_128_96. */
@@ -1205,3 +1241,486 @@ const uint8_t ff_tns_max_bands_128[] = {
9, 9, 10, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14
};
// @}
const DECLARE_ALIGNED(32, float, ff_aac_eld_window)[1920] = {
0.00338834, 0.00567745, 0.00847677, 0.01172641,
0.01532555, 0.01917664, 0.02318809, 0.02729259,
0.03144503, 0.03560261, 0.03972499, 0.04379783,
0.04783094, 0.05183357, 0.05581342, 0.05977723,
0.06373173, 0.06768364, 0.07163937, 0.07559976,
0.07956096, 0.08352024, 0.08747623, 0.09143035,
0.09538618, 0.09934771, 0.10331917, 0.10730456,
0.11130697, 0.11532867, 0.11937133, 0.12343922,
0.12753911, 0.13167705, 0.13585812, 0.14008529,
0.14435986, 0.14868291, 0.15305531, 0.15747594,
0.16194193, 0.16645070, 0.17099991, 0.17558633,
0.18020600, 0.18485548, 0.18953191, 0.19423322,
0.19895800, 0.20370512, 0.20847374, 0.21326312,
0.21807244, 0.22290083, 0.22774742, 0.23261210,
0.23749542, 0.24239767, 0.24731889, 0.25225887,
0.25721719, 0.26219330, 0.26718648, 0.27219630,
0.27722262, 0.28226514, 0.28732336, 0.29239628,
0.29748247, 0.30258055, 0.30768914, 0.31280508,
0.31792385, 0.32304172, 0.32815579, 0.33326397,
0.33836470, 0.34345661, 0.34853868, 0.35361188,
0.35867865, 0.36374072, 0.36879900, 0.37385347,
0.37890349, 0.38394836, 0.38898730, 0.39401912,
0.39904236, 0.40405575, 0.40905820, 0.41404819,
0.41902398, 0.42398423, 0.42892805, 0.43385441,
0.43876210, 0.44365014, 0.44851786, 0.45336632,
0.45819759, 0.46301302, 0.46781309, 0.47259722,
0.47736435, 0.48211365, 0.48684450, 0.49155594,
0.49624679, 0.50091636, 0.50556440, 0.51019132,
0.51479771, 0.51938391, 0.52394998, 0.52849587,
0.53302151, 0.53752680, 0.54201160, 0.54647575,
0.55091916, 0.55534181, 0.55974376, 0.56412513,
0.56848615, 0.57282710, 0.57714834, 0.58145030,
0.58492489, 0.58918511, 0.59342326, 0.59763936,
0.60183347, 0.60600561, 0.61015581, 0.61428412,
0.61839056, 0.62247517, 0.62653799, 0.63057912,
0.63459872, 0.63859697, 0.64257403, 0.64653001,
0.65046495, 0.65437887, 0.65827181, 0.66214383,
0.66599499, 0.66982535, 0.67363499, 0.67742394,
0.68119219, 0.68493972, 0.68866653, 0.69237258,
0.69605778, 0.69972207, 0.70336537, 0.70698758,
0.71058862, 0.71416837, 0.71772674, 0.72126361,
0.72477889, 0.72827246, 0.73174419, 0.73519392,
0.73862141, 0.74202643, 0.74540874, 0.74876817,
0.75210458, 0.75541785, 0.75870785, 0.76197437,
0.76521709, 0.76843570, 0.77162988, 0.77479939,
0.77794403, 0.78106359, 0.78415789, 0.78722670,
0.79026979, 0.79328694, 0.79627791, 0.79924244,
0.80218027, 0.80509112, 0.80797472, 0.81083081,
0.81365915, 0.81645949, 0.81923160, 0.82197528,
0.82469037, 0.82737673, 0.83003419, 0.83266262,
0.83526186, 0.83783176, 0.84037217, 0.84288297,
0.84536401, 0.84781517, 0.85023632, 0.85262739,
0.85498836, 0.85731921, 0.85961993, 0.86189052,
0.86413101, 0.86634140, 0.86852173, 0.87067211,
0.87279275, 0.87488384, 0.87694559, 0.87897824,
0.88098206, 0.88295729, 0.88490423, 0.88682332,
0.88871519, 0.89058048, 0.89241983, 0.89423391,
0.89602338, 0.89778893, 0.89953126, 0.90125142,
0.90295086, 0.90463104, 0.90629341, 0.90793946,
0.90957067, 0.91118856, 0.91279464, 0.91439073,
0.91597898, 0.91756153, 0.91914049, 0.92071690,
0.92229070, 0.92386182, 0.92542993, 0.92698946,
0.92852960, 0.93003929, 0.93150727, 0.93291739,
0.93424863, 0.93547974, 0.93658982, 0.93756587,
0.93894072, 0.93922780, 0.93955477, 0.93991290,
0.94029104, 0.94067794, 0.94106258, 0.94144084,
0.94181549, 0.94218963, 0.94256628, 0.94294662,
0.94332998, 0.94371562, 0.94410280, 0.94449122,
0.94488106, 0.94527249, 0.94566568, 0.94606074,
0.94645772, 0.94685665, 0.94725759, 0.94766054,
0.94806547, 0.94847234, 0.94888115, 0.94929190,
0.94970469, 0.95011960, 0.95053672, 0.95095604,
0.95137751, 0.95180105, 0.95222658, 0.95265413,
0.95308380, 0.95351571, 0.95394994, 0.95438653,
0.95482538, 0.95526643, 0.95570958, 0.95615486,
0.95660234, 0.95705214, 0.95750433, 0.95795892,
0.95841582, 0.95887493, 0.95933616, 0.95979949,
0.96026500, 0.96073277, 0.96120286, 0.96167526,
0.96214986, 0.96262655, 0.96310522, 0.96358586,
0.96406853, 0.96455330, 0.96504026, 0.96552936,
0.96602051, 0.96651360, 0.96700850, 0.96750520,
0.96800376, 0.96850424, 0.96900670, 0.96951112,
0.97001738, 0.97052533, 0.97103488, 0.97154597,
0.97205867, 0.97257304, 0.97308915, 0.97360694,
0.97412631, 0.97464711, 0.97516923, 0.97569262,
0.97621735, 0.97674350, 0.97727111, 0.97780016,
0.97833051, 0.97886205, 0.97939463, 0.97992823,
0.98046291, 0.98099875, 0.98153580, 0.98207405,
0.98261337, 0.98315364, 0.98369474, 0.98423664,
0.98477941, 0.98532311, 0.98586780, 0.98641348,
0.98696003, 0.98750734, 0.98805530, 0.98860389,
0.98915320, 0.98970328, 0.99025423, 0.99080602,
0.99135855, 0.99191171, 0.99246541, 0.99301962,
0.99357443, 0.99412992, 0.99468617, 0.99524320,
0.99580092, 0.99635926, 0.99691814, 0.99747748,
0.99803721, 0.99859725, 0.99915752, 0.99971793,
1.00028215, 1.00084319, 1.00140472, 1.00196665,
1.00252889, 1.00309139, 1.00365404, 1.00421679,
1.00477954, 1.00534221, 1.00590474, 1.00646713,
1.00702945, 1.00759179, 1.00815424, 1.00871678,
1.00927930, 1.00984169, 1.01040384, 1.01096575,
1.01152747, 1.01208910, 1.01265070, 1.01321226,
1.01377365, 1.01433478, 1.01489551, 1.01545584,
1.01601582, 1.01657553, 1.01713502, 1.01769427,
1.01825316, 1.01881154, 1.01936929, 1.01992639,
1.02048289, 1.02103888, 1.02159441, 1.02214945,
1.02270387, 1.02325751, 1.02381025, 1.02436204,
1.02491295, 1.02546304, 1.02601238, 1.02656092,
1.02710853, 1.02765508, 1.02820041, 1.02874449,
1.02928737, 1.02982913, 1.03036981, 1.03090937,
1.03144768, 1.03198460, 1.03252000, 1.03305384,
1.03358617, 1.03411707, 1.03464659, 1.03517470,
1.03570128, 1.03622620, 1.03674934, 1.03727066,
1.03779024, 1.03830815, 1.03882446, 1.03933914,
1.03985206, 1.04036312, 1.04087217, 1.04137920,
1.04188428, 1.04238748, 1.04288888, 1.04338845,
1.04388610, 1.04438170, 1.04487515, 1.04536645,
1.04585569, 1.04634297, 1.04682838, 1.04731192,
1.04779350, 1.04827303, 1.04875042, 1.04922568,
1.04969891, 1.05017022, 1.05063974, 1.05110746,
1.05157332, 1.05203721, 1.05249907, 1.05295889,
1.05341676, 1.05387277, 1.05432700, 1.05477948,
1.05523018, 1.05567906, 1.05612608, 1.05657124,
1.05701459, 1.05745616, 1.05789601, 1.05833426,
1.05877109, 1.05920669, 1.05964125, 1.06007444,
1.06050542, 1.06093335, 1.06135746, 1.06177909,
1.06220164, 1.06262858, 1.06306309, 1.06350050,
1.06392837, 1.06433391, 1.06470443, 1.06502996,
1.06481076, 1.06469765, 1.06445004, 1.06408002,
1.06361382, 1.06307719, 1.06249453, 1.06188365,
1.06125612, 1.06062291, 1.05999418, 1.05937132,
1.05874726, 1.05811486, 1.05746728, 1.05680000,
1.05611070, 1.05539715, 1.05465735, 1.05389329,
1.05311083, 1.05231578, 1.05151372, 1.05070811,
1.04990044, 1.04909210, 1.04828434, 1.04747647,
1.04666590, 1.04585003, 1.04502628, 1.04419009,
1.04333499, 1.04245452, 1.04154244, 1.04059452,
1.03960846, 1.03858207, 1.03751326, 1.03640189,
1.03524976, 1.03405868, 1.03283047, 1.03156812,
1.03027574, 1.02895743, 1.02761717, 1.02625804,
1.02488222, 1.02349184, 1.02208892, 1.02067450,
1.01924861, 1.01781123, 1.01636229, 1.01490045,
1.01342315, 1.01192778, 1.01041175, 1.00887284,
1.00730915, 1.00571882, 1.00409996, 1.00245032,
1.00076734, 0.99904842, 0.99729101, 0.99549380,
0.99365664, 0.99177946, 0.98986234, 0.98791024,
0.98593294, 0.98394037, 0.98194226, 0.97994532,
0.97795324, 0.97596955, 0.97399748, 0.97203326,
0.97006624, 0.96808546, 0.96608018, 0.96404416,
0.96197556, 0.95987276, 0.95773420, 0.95556018,
0.95335291, 0.95111462, 0.94884764, 0.94655663,
0.94424858, 0.94193055, 0.93960953, 0.93729154,
0.93498157, 0.93268456, 0.93040503, 0.92813771,
0.92586755, 0.92357910, 0.92125731, 0.91889642,
0.91649998, 0.91407191, 0.91161623, 0.90913975,
0.90665202, 0.90416271, 0.90168115, 0.89920934,
0.89674189, 0.89427312, 0.89179743, 0.88931147,
0.88681415, 0.88430445, 0.88178141, 0.87924528,
0.87669753, 0.87413966, 0.87157318, 0.86899958,
0.86642037, 0.86383703, 0.86125106, 0.85866393,
0.85604236, 0.85344385, 0.85083093, 0.84820550,
0.84556943, 0.84292458, 0.84027278, 0.83761586,
0.83495565, 0.83229393, 0.82963243, 0.82697135,
0.82430933, 0.82164496, 0.81897669, 0.81630017,
0.81360822, 0.81089355, 0.80814924, 0.80537741,
0.80258920, 0.79979611, 0.79700954, 0.79423813,
0.79148780, 0.78876432, 0.78607290, 0.78340590,
0.78074288, 0.77806279, 0.77534514, 0.77258187,
0.76977737, 0.76693654, 0.76406441, 0.76116851,
0.75825892, 0.75534582, 0.75243924, 0.74954634,
0.74667135, 0.74381840, 0.74099145, 0.73819147,
0.73541641, 0.73266408, 0.72993193, 0.72720913,
0.72447661, 0.72171494, 0.71890515, 0.71603932,
0.71312056, 0.71015250, 0.70713900, 0.70409084,
0.70102565, 0.69796137, 0.69491556, 0.69189772,
0.68890931, 0.68595141, 0.68302498, 0.68012852,
0.67725801, 0.67440936, 0.67157841, 0.66876081,
0.66595195, 0.66314722, 0.66034194, 0.65753027,
0.65470525, 0.65185984, 0.64898709, 0.64608214,
0.64314221, 0.64016460, 0.63714680, 0.63409034,
0.63100082, 0.62788400, 0.62474577, 0.62159473,
0.61844225, 0.61529977, 0.61217866, 0.60908811,
0.60603510, 0.60302654, 0.60006916, 0.59716588,
0.59431580, 0.59151787, 0.58877068, 0.58606495,
0.58338353, 0.58070891, 0.57802356, 0.57530864,
0.57254404, 0.56970958, 0.56678577, 0.56376860,
0.56066951, 0.55750064, 0.55427451, 0.55101301,
0.54774732, 0.54450907, 0.54132936, 0.53822744,
0.53521072, 0.53228613, 0.52945979, 0.52671997,
0.52403708, 0.52138072, 0.51872085, 0.51603570,
0.51331170, 0.51053560, 0.50769466, 0.50478931,
0.50183308, 0.49884001, 0.49582406, 0.49279905,
0.48985748, 0.48679641, 0.48379429, 0.48085363,
0.47796576, 0.47512151, 0.47231151, 0.46952402,
0.46674486, 0.46395978, 0.46115496, 0.45832607,
0.45547830, 0.45261727, 0.44974866, 0.44688011,
0.44402125, 0.44118178, 0.43837094, 0.43558772,
0.43282082, 0.43005847, 0.42728913, 0.42450572,
0.42170567, 0.41888658, 0.41604633, 0.41318897,
0.41032472, 0.40746405, 0.40461724, 0.40178943,
0.39898066, 0.39619073, 0.39341940, 0.39066519,
0.38792536, 0.38519713, 0.38247773, 0.37976476,
0.37705620, 0.37435006, 0.37164438, 0.36893869,
0.36623396, 0.36353124, 0.36083153, 0.35813533,
0.35544262, 0.35275338, 0.35006755, 0.34738530,
0.34470699, 0.34203296, 0.33936359, 0.33669922,
0.33404027, 0.33138711, 0.32874013, 0.32609944,
0.32346493, 0.32083645, 0.31821388, 0.31559703,
0.31298573, 0.31037987, 0.30777941, 0.30518446,
0.30259525, 0.30001202, 0.29743499, 0.29486428,
0.29229989, 0.28974179, 0.28718997, 0.28464452,
0.28210562, 0.27957346, 0.27704820, 0.27452992,
0.27201854, 0.26951399, 0.26701622, 0.26452533,
0.26204158, 0.25956526, 0.25709662, 0.25463583,
0.25218294, 0.24973798, 0.24730100, 0.24487207,
0.24245133, 0.24003893, 0.23763500, 0.23523959,
0.23285262, 0.23047401, 0.22810369, 0.22574170,
0.22338818, 0.22104329, 0.21870719, 0.21637986,
0.21406117, 0.21175095, 0.20944904, 0.20715535,
0.20486987, 0.20259261, 0.20032356, 0.19806259,
0.19580944, 0.19356385, 0.19132556, 0.18909442,
0.18687040, 0.18465350, 0.18244372, 0.18024164,
0.17804841, 0.17586521, 0.17369322, 0.17153360,
0.16938755, 0.16725622, 0.16514081, 0.16304247,
0.16098974, 0.15896561, 0.15696026, 0.15497259,
0.15300151, 0.15104590, 0.14910466, 0.14717666,
0.14526081, 0.14335599, 0.14146111, 0.13957570,
0.13769993, 0.13583399, 0.13397806, 0.13213229,
0.13029682, 0.12847178, 0.12665729, 0.12485353,
0.12306074, 0.12127916, 0.11950900, 0.11775043,
0.11600347, 0.11426820, 0.11254464, 0.11083292,
0.10913318, 0.10744559, 0.10577028, 0.10410733,
0.10245672, 0.10081842, 0.09919240, 0.09757872,
0.09597750, 0.09438884, 0.09281288, 0.09124964,
0.08969907, 0.08816111, 0.08663570, 0.08512288,
0.08362274, 0.08213540, 0.08066096, 0.07919944,
0.07775076, 0.07631484, 0.07489161, 0.07348108,
0.07208335, 0.07069851, 0.06932666, 0.06796781,
0.06662187, 0.06528874, 0.06396833, 0.06266065,
0.06136578, 0.06008380, 0.05881480, 0.05755876,
0.05631557, 0.05508511, 0.05386728, 0.05266206,
0.05146951, 0.05028971, 0.04912272, 0.04796855,
0.04682709, 0.04569825, 0.04458194, 0.04347817,
0.04238704, 0.04130868, 0.04024318, 0.03919056,
0.03815071, 0.03712352, 0.03610890, 0.03510679,
0.03411720, 0.03314013, 0.03217560, 0.03122343,
0.03028332, 0.02935494, 0.02843799, 0.02753230,
0.02663788, 0.02575472, 0.02488283, 0.02402232,
0.02317341, 0.02233631, 0.02151124, 0.02069866,
0.01989922, 0.01911359, 0.01834241, 0.01758563,
0.01684248, 0.01611219, 0.01539397, 0.01468726,
0.01399167, 0.01330687, 0.01263250, 0.01196871,
0.01131609, 0.01067527, 0.01004684, 0.00943077,
0.00882641, 0.00823307, 0.00765011, 0.00707735,
0.00651513, 0.00596377, 0.00542364, 0.00489514,
0.00437884, 0.00387530, 0.00338509, 0.00290795,
0.00244282, 0.00198860, 0.00154417, 0.00110825,
0.00067934, 0.00025589, -0.00016357, -0.00057897,
-0.00098865, -0.00139089, -0.00178397, -0.00216547,
-0.00253230, -0.00288133, -0.00320955, -0.00351626,
-0.00380315, -0.00407198, -0.00432457, -0.00456373,
-0.00479326, -0.00501699, -0.00523871, -0.00546066,
-0.00568360, -0.00590821, -0.00613508, -0.00636311,
-0.00658944, -0.00681117, -0.00702540, -0.00722982,
-0.00742268, -0.00760226, -0.00776687, -0.00791580,
-0.00804933, -0.00816774, -0.00827139, -0.00836122,
-0.00843882, -0.00850583, -0.00856383, -0.00861430,
-0.00865853, -0.00869781, -0.00873344, -0.00876633,
-0.00879707, -0.00882622, -0.00885433, -0.00888132,
-0.00890652, -0.00892925, -0.00894881, -0.00896446,
-0.00897541, -0.00898088, -0.00898010, -0.00897234,
-0.00895696, -0.00893330, -0.00890076, -0.00885914,
-0.00880875, -0.00874987, -0.00868282, -0.00860825,
-0.00852716, -0.00844055, -0.00834941, -0.00825485,
-0.00815807, -0.00806025, -0.00796253, -0.00786519,
-0.00776767, -0.00766937, -0.00756971, -0.00746790,
-0.00736305, -0.00725422, -0.00714055, -0.00702161,
-0.00689746, -0.00676816, -0.00663381, -0.00649489,
-0.00635230, -0.00620694, -0.00605969, -0.00591116,
-0.00576167, -0.00561155, -0.00546110, -0.00531037,
-0.00515917, -0.00500732, -0.00485462, -0.00470075,
-0.00454530, -0.00438786, -0.00422805, -0.00406594,
-0.00390204, -0.00373686, -0.00357091, -0.00340448,
-0.00323770, -0.00307066, -0.00290344, -0.00273610,
-0.00256867, -0.00240117, -0.00223365, -0.00206614,
-0.00189866, -0.00173123, -0.00156390, -0.00139674,
-0.00122989, -0.00106351, -0.00089772, -0.00073267,
-0.00056849, -0.00040530, -0.00024324, -0.00008241,
0.00008214, 0.00024102, 0.00039922, 0.00055660,
0.00071299, 0.00086826, 0.00102224, 0.00117480,
0.00132579, 0.00147507, 0.00162252, 0.00176804,
0.00191161, 0.00205319, 0.00219277, 0.00233029,
0.00246567, 0.00259886, 0.00272975, 0.00285832,
0.00298453, 0.00310839, 0.00322990, 0.00334886,
0.00346494, 0.00357778, 0.00368706, 0.00379273,
0.00389501, 0.00399411, 0.00409020, 0.00418350,
0.00427419, 0.00436249, 0.00444858, 0.00453250,
0.00461411, 0.00469328, 0.00476988, 0.00484356,
0.00491375, 0.00497987, 0.00504139, 0.00509806,
0.00514990, 0.00519693, 0.00523920, 0.00527700,
0.00531083, 0.00534122, 0.00536864, 0.00539357,
0.00541649, 0.00543785, 0.00545809, 0.00547713,
0.00549441, 0.00550936, 0.00552146, 0.00553017,
0.00553494, 0.00553524, 0.00553058, 0.00552065,
0.00550536, 0.00548459, 0.00545828, 0.00542662,
0.00539007, 0.00534910, 0.00530415, 0.00525568,
0.00520417, 0.00515009, 0.00509387, 0.00503595,
0.00497674, 0.00491665, 0.00485605, 0.00479503,
0.00473336, 0.00467082, 0.00460721, 0.00454216,
0.00447517, 0.00440575, 0.00433344, 0.00425768,
0.00417786, 0.00409336, 0.00400363, 0.00390837,
0.00380759, 0.00370130, 0.00358952, 0.00347268,
0.00335157, 0.00322699, 0.00309975, 0.00297088,
0.00284164, 0.00271328, 0.00258700, 0.00246328,
0.00234195, 0.00222281, 0.00210562, 0.00198958,
0.00187331, 0.00175546, 0.00163474, 0.00151020,
0.00138130, 0.00124750, 0.00110831, 0.00096411,
0.00081611, 0.00066554, 0.00051363, 0.00036134,
0.00020940, 0.00005853, -0.00009058, -0.00023783,
-0.00038368, -0.00052861, -0.00067310, -0.00081757,
-0.00096237, -0.00110786, -0.00125442, -0.00140210,
-0.00155065, -0.00169984, -0.00184940, -0.00199910,
-0.00214872, -0.00229798, -0.00244664, -0.00259462,
-0.00274205, -0.00288912, -0.00303596, -0.00318259,
-0.00332890, -0.00347480, -0.00362024, -0.00376519,
-0.00390962, -0.00405345, -0.00419658, -0.00433902,
-0.00448085, -0.00462219, -0.00476309, -0.00490357,
-0.00504361, -0.00518321, -0.00532243, -0.00546132,
-0.00559988, -0.00573811, -0.00587602, -0.00601363,
-0.00615094, -0.00628795, -0.00642466, -0.00656111,
-0.00669737, -0.00683352, -0.00696963, -0.00710578,
-0.00724208, -0.00737862, -0.00751554, -0.00765295,
-0.00779098, -0.00792976, -0.00806941, -0.00821006,
-0.00835183, -0.00849485, -0.00863926, -0.00878522,
-0.00893293, -0.00908260, -0.00923444, -0.00938864,
-0.00954537, -0.00970482, -0.00986715, -0.01003173,
-0.01019711, -0.01036164, -0.01052357, -0.01068184,
-0.01083622, -0.01098652, -0.01113252, -0.01127409,
-0.01141114, -0.01154358, -0.01167135, -0.01179439,
-0.01191268, -0.01202619, -0.01213493, -0.01223891,
-0.01233817, -0.01243275, -0.01252272, -0.01260815,
-0.01268915, -0.01276583, -0.01283832, -0.01290685,
-0.01297171, -0.01303320, -0.01309168, -0.01314722,
-0.01319969, -0.01324889, -0.01329466, -0.01333693,
-0.01337577, -0.01341125, -0.01344345, -0.01347243,
-0.01349823, -0.01352089, -0.01354045, -0.01355700,
-0.01357068, -0.01358164, -0.01359003, -0.01359587,
-0.01359901, -0.01359931, -0.01359661, -0.01359087,
-0.01358219, -0.01357065, -0.01355637, -0.01353935,
-0.01351949, -0.01349670, -0.01347088, -0.01344214,
-0.01341078, -0.01337715, -0.01334158, -0.01330442,
-0.01326601, -0.01322671, -0.01318689, -0.01314692,
-0.01310123, -0.01306470, -0.01302556, -0.01298381,
-0.01293948, -0.01289255, -0.01284305, -0.01279095,
-0.01273625, -0.01267893, -0.01261897, -0.01255632,
-0.01249096, -0.01242283, -0.01235190, -0.01227827,
-0.01220213, -0.01212366, -0.01204304, -0.01196032,
-0.01187543, -0.01178829, -0.01169884, -0.01160718,
-0.01151352, -0.01141809, -0.01132111, -0.01122272,
-0.01112304, -0.01102217, -0.01092022, -0.01081730,
-0.01071355, -0.01060912, -0.01050411, -0.01039854,
-0.01029227, -0.01018521, -0.01007727, -0.00996859,
-0.00985959, -0.00975063, -0.00964208, -0.00953420,
-0.00942723, -0.00932135, -0.00921677, -0.00911364,
-0.00901208, -0.00891220, -0.00881412, -0.00871792,
-0.00862369, -0.00853153, -0.00844149, -0.00835360,
-0.00826785, -0.00818422, -0.00810267, -0.00802312,
-0.00794547, -0.00786959, -0.00779533, -0.00772165,
-0.00764673, -0.00756886, -0.00748649, -0.00739905,
-0.00730681, -0.00721006, -0.00710910, -0.00700419,
-0.00689559, -0.00678354, -0.00666829, -0.00655007,
-0.00642916, -0.00630579, -0.00618022, -0.00605267,
-0.00592333, -0.00579240, -0.00566006, -0.00552651,
-0.00539194, -0.00525653, -0.00512047, -0.00498390,
-0.00484693, -0.00470969, -0.00457228, -0.00443482,
-0.00429746, -0.00416034, -0.00402359, -0.00388738,
-0.00375185, -0.00361718, -0.00348350, -0.00335100,
-0.00321991, -0.00309043, -0.00296276, -0.00283698,
-0.00271307, -0.00259098, -0.00247066, -0.00235210,
-0.00223531, -0.00212030, -0.00200709, -0.00189576,
-0.00178647, -0.00167936, -0.00157457, -0.00147216,
-0.00137205, -0.00127418, -0.00117849, -0.00108498,
-0.00099375, -0.00090486, -0.00081840, -0.00073444,
-0.00065309, -0.00057445, -0.00049860, -0.00042551,
-0.00035503, -0.00028700, -0.00022125, -0.00015761,
-0.00009588, -0.00003583, 0.00002272, 0.00007975,
0.00013501, 0.00018828, 0.00023933, 0.00028784,
0.00033342, 0.00037572, 0.00041438, 0.00044939,
0.00048103, 0.00050958, 0.00053533, 0.00055869,
0.00058015, 0.00060022, 0.00061935, 0.00063781,
0.00065568, 0.00067303, 0.00068991, 0.00070619,
0.00072155, 0.00073567, 0.00074826, 0.00075912,
0.00076811, 0.00077509, 0.00077997, 0.00078275,
0.00078351, 0.00078237, 0.00077943, 0.00077484,
0.00076884, 0.00076160, 0.00075335, 0.00074423,
0.00073442, 0.00072404, 0.00071323, 0.00070209,
0.00069068, 0.00067906, 0.00066728, 0.00065534,
0.00064321, 0.00063086, 0.00061824, 0.00060534,
0.00059211, 0.00057855, 0.00056462, 0.00055033,
0.00053566, 0.00052063, 0.00050522, 0.00048949,
0.00047349, 0.00045728, 0.00044092, 0.00042447,
0.00040803, 0.00039166, 0.00037544, 0.00035943,
0.00034371, 0.00032833, 0.00031333, 0.00029874,
0.00028452, 0.00027067, 0.00025715, 0.00024395,
0.00023104, 0.00021842, 0.00020606, 0.00019398,
0.00018218, 0.00017069, 0.00015953, 0.00014871,
0.00013827, 0.00012823, 0.00011861, 0.00010942,
0.00010067, 0.00009236, 0.00008448, 0.00007703,
0.00006999, 0.00006337, 0.00005714, 0.00005129,
0.00004583, 0.00004072, 0.00003597, 0.00003157,
0.00002752, 0.00002380, 0.00002042, 0.00001736,
0.00001461, 0.00001215, 0.00000998, 0.00000807,
0.00000641, 0.00000499, 0.00000378, 0.00000278,
0.00000196, 0.00000132, 0.00000082, 0.00000046,
0.00000020, 0.00000005, -0.00000003, -0.00000006,
-0.00000004, -0.00000001, 0.00000001, 0.00000001,
0.00000001, 0.00000001, -0.00000001, -0.00000004,
-0.00000005, -0.00000003, 0.00000005, 0.00000020,
0.00000043, 0.00000077, 0.00000123, 0.00000183,
0.00000257, 0.00000348, 0.00000455, 0.00000581,
0.00000727, 0.00000893, 0.00001080, 0.00001290,
0.00001522, 0.00001778, 0.00002057, 0.00002362,
0.00002691, 0.00003044, 0.00003422, 0.00003824,
0.00004250, 0.00004701, 0.00005176, 0.00005676,
0.00006200, 0.00006749, 0.00007322, 0.00007920,
0.00008541, 0.00009186, 0.00009854, 0.00010543,
0.00011251, 0.00011975, 0.00012714, 0.00013465,
0.00014227, 0.00014997, 0.00015775, 0.00016558,
0.00017348, 0.00018144, 0.00018947, 0.00019756,
0.00020573, 0.00021399, 0.00022233, 0.00023076,
0.00023924, 0.00024773, 0.00025621, 0.00026462,
0.00027293, 0.00028108, 0.00028904, 0.00029675,
0.00030419, 0.00031132, 0.00031810, 0.00032453,
0.00033061, 0.00033632, 0.00034169, 0.00034672,
0.00035142, 0.00035580, 0.00035988, 0.00036369,
0.00036723, 0.00037053, 0.00037361, 0.00037647,
0.00037909, 0.00038145, 0.00038352, 0.00038527,
0.00038663, 0.00038757, 0.00038801, 0.00038790,
0.00038717, 0.00038572, 0.00038350, 0.00038044,
0.00037651, 0.00037170, 0.00036597, 0.00035936,
0.00035191, 0.00034370, 0.00033480, 0.00032531,
0.00031537, 0.00030512, 0.00029470, 0.00028417,
0.00027354, 0.00026279, 0.00025191, 0.00024081,
0.00022933, 0.00021731, 0.00020458, 0.00019101,
0.00017654, 0.00016106, 0.00014452, 0.00012694,
0.00010848, 0.00008929, 0.00006953, 0.00004935,
0.00002884, 0.00000813, -0.00001268, -0.00003357,
-0.00005457, -0.00007574, -0.00009714, -0.00011882,
-0.00014082, -0.00016318, -0.00018595, -0.00020912,
-0.00023265, -0.00025650, -0.00028060, -0.00030492,
-0.00032941, -0.00035400, -0.00037865, -0.00040333,
-0.00042804, -0.00045279, -0.00047759, -0.00050243,
-0.00052728, -0.00055209, -0.00057685, -0.00060153,
-0.00062611, -0.00065056, -0.00067485, -0.00069895,
-0.00072287, -0.00074660, -0.00077013, -0.00079345,
-0.00081653, -0.00083936, -0.00086192, -0.00088421,
-0.00090619, -0.00092786, -0.00094919, -0.00097017,
-0.00099077, -0.00101098, -0.00103077, -0.00105012,
-0.00106904, -0.00108750, -0.00110549, -0.00112301,
-0.00114005, -0.00115660, -0.00117265, -0.00118821,
-0.00120325, -0.00121779, -0.00123180, -0.00124528,
-0.00125822, -0.00127061, -0.00128243, -0.00129368,
-0.00130435, -0.00131445, -0.00132395, -0.00133285,
-0.00134113, -0.00134878, -0.00135577, -0.00136215,
-0.00136797, -0.00137333, -0.00137834, -0.00138305,
-0.00138748, -0.00139163, -0.00139551, -0.00139913,
-0.00140249, -0.00140559, -0.00140844, -0.00141102,
-0.00141334, -0.00141538, -0.00141714, -0.00141861,
-0.00141978, -0.00142064, -0.00142117, -0.00142138,
-0.00142125, -0.00142077, -0.00141992, -0.00141870,
-0.00141710, -0.00141510, -0.00141268, -0.00140986,
-0.00140663, -0.00140301, -0.00139900, -0.00139460,
-0.00138981, -0.00138464, -0.00137908, -0.00137313,
-0.00136680, -0.00136010, -0.00135301, -0.00134555,
-0.00133772, -0.00132952, -0.00132095, -0.00131201,
-0.00130272, -0.00129307, -0.00128309, -0.00127277,
-0.00126211, -0.00125113, -0.00123981, -0.00122817,
-0.00121622, -0.00120397, -0.00119141, -0.00117859,
-0.00116552, -0.00115223, -0.00113877, -0.00112517,
-0.00111144, -0.00109764, -0.00108377, -0.00106989,
};

View File

@@ -45,13 +45,16 @@
* @{
*/
DECLARE_ALIGNED(32, extern float, ff_aac_kbd_long_1024)[1024];
DECLARE_ALIGNED(32, extern float, ff_aac_kbd_long_512 )[512];
DECLARE_ALIGNED(32, extern float, ff_aac_kbd_short_128)[128];
const DECLARE_ALIGNED(32, extern float, ff_aac_eld_window)[1920];
// @}
/* @name number of scalefactor window bands for long and short transform windows respectively
* @{
*/
extern const uint8_t ff_aac_num_swb_1024[];
extern const uint8_t ff_aac_num_swb_512 [];
extern const uint8_t ff_aac_num_swb_128 [];
// @}
@@ -69,6 +72,7 @@ extern const float *ff_aac_codebook_vector_vals[];
extern const uint16_t *ff_aac_codebook_vector_idx[];
extern const uint16_t * const ff_swb_offset_1024[13];
extern const uint16_t * const ff_swb_offset_512 [13];
extern const uint16_t * const ff_swb_offset_128 [13];
extern const uint8_t ff_tns_max_bands_1024[13];

View File

@@ -107,11 +107,9 @@ static int aasc_decode_frame(AVCodecContext *avctx,
switch (compr) {
case 0:
stride = (avctx->width * psize + psize) & ~psize;
if (buf_size < stride * avctx->height)
return AVERROR_INVALIDDATA;
for (i = avctx->height - 1; i >= 0; i--) {
if (avctx->width * psize > buf_size) {
av_log(avctx, AV_LOG_ERROR, "Next line is beyond buffer bounds\n");
break;
}
memcpy(s->frame->data[0] + i * s->frame->linesize[0], buf, avctx->width * psize);
buf += stride;
buf_size -= stride;
@@ -153,6 +151,7 @@ static av_cold int aasc_decode_end(AVCodecContext *avctx)
AVCodec ff_aasc_decoder = {
.name = "aasc",
.long_name = NULL_IF_CONFIG_SMALL("Autodesk RLE"),
.type = AVMEDIA_TYPE_VIDEO,
.id = AV_CODEC_ID_AASC,
.priv_data_size = sizeof(AascContext),
@@ -160,5 +159,4 @@ AVCodec ff_aasc_decoder = {
.close = aasc_decode_end,
.decode = aasc_decode_frame,
.capabilities = CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("Autodesk RLE"),
};

View File

@@ -290,7 +290,7 @@ static int parse_frame_header(AC3DecodeContext *s)
return ff_eac3_parse_header(s);
} else {
av_log(s->avctx, AV_LOG_ERROR, "E-AC-3 support not compiled in\n");
return -1;
return AVERROR(ENOSYS);
}
}
@@ -429,7 +429,7 @@ static void ac3_decode_transform_coeffs_ch(AC3DecodeContext *s, int ch_index, ma
int end_freq = s->end_freq[ch_index];
uint8_t *baps = s->bap[ch_index];
int8_t *exps = s->dexps[ch_index];
int32_t *coeffs = s->fixed_coeffs[ch_index];
int32_t *coeffs = s->fixed_coeffs[ch_index];
int dither = (ch_index == CPL_CH) || s->dither_flag[ch_index];
GetBitContext *gbc = &s->gbc;
int freq;
@@ -786,12 +786,12 @@ static int decode_audio_block(AC3DecodeContext *s, int blk)
if (start_subband >= end_subband) {
av_log(s->avctx, AV_LOG_ERROR, "invalid spectral extension "
"range (%d >= %d)\n", start_subband, end_subband);
return -1;
return AVERROR_INVALIDDATA;
}
if (dst_start_freq >= src_start_freq) {
av_log(s->avctx, AV_LOG_ERROR, "invalid spectral extension "
"copy start bin (%d >= %d)\n", dst_start_freq, src_start_freq);
return -1;
return AVERROR_INVALIDDATA;
}
s->spx_dst_start_freq = dst_start_freq;
@@ -868,7 +868,7 @@ static int decode_audio_block(AC3DecodeContext *s, int blk)
if (channel_mode < AC3_CHMODE_STEREO) {
av_log(s->avctx, AV_LOG_ERROR, "coupling not allowed in mono or dual-mono\n");
return -1;
return AVERROR_INVALIDDATA;
}
/* check for enhanced coupling */
@@ -898,7 +898,7 @@ static int decode_audio_block(AC3DecodeContext *s, int blk)
if (cpl_start_subband >= cpl_end_subband) {
av_log(s->avctx, AV_LOG_ERROR, "invalid coupling range (%d >= %d)\n",
cpl_start_subband, cpl_end_subband);
return -1;
return AVERROR_INVALIDDATA;
}
s->start_freq[CPL_CH] = cpl_start_subband * 12 + 37;
s->end_freq[CPL_CH] = cpl_end_subband * 12 + 37;
@@ -920,7 +920,7 @@ static int decode_audio_block(AC3DecodeContext *s, int blk)
if (!blk) {
av_log(s->avctx, AV_LOG_ERROR, "new coupling strategy must "
"be present in block 0\n");
return -1;
return AVERROR_INVALIDDATA;
} else {
s->cpl_in_use[blk] = s->cpl_in_use[blk-1];
}
@@ -950,7 +950,7 @@ static int decode_audio_block(AC3DecodeContext *s, int blk)
} else if (!blk) {
av_log(s->avctx, AV_LOG_ERROR, "new coupling coordinates must "
"be present in block 0\n");
return -1;
return AVERROR_INVALIDDATA;
}
} else {
/* channel not in coupling */
@@ -1005,7 +1005,7 @@ static int decode_audio_block(AC3DecodeContext *s, int blk)
int bandwidth_code = get_bits(gbc, 6);
if (bandwidth_code > 60) {
av_log(s->avctx, AV_LOG_ERROR, "bandwidth code = %d > 60\n", bandwidth_code);
return -1;
return AVERROR_INVALIDDATA;
}
s->end_freq[ch] = bandwidth_code * 3 + 73;
}
@@ -1028,7 +1028,7 @@ static int decode_audio_block(AC3DecodeContext *s, int blk)
s->num_exp_groups[ch], s->dexps[ch][0],
&s->dexps[ch][s->start_freq[ch]+!!ch])) {
av_log(s->avctx, AV_LOG_ERROR, "exponent out-of-range\n");
return -1;
return AVERROR_INVALIDDATA;
}
if (ch != CPL_CH && ch != s->lfe_ch)
skip_bits(gbc, 2); /* skip gainrng */
@@ -1048,7 +1048,7 @@ static int decode_audio_block(AC3DecodeContext *s, int blk)
} else if (!blk) {
av_log(s->avctx, AV_LOG_ERROR, "new bit allocation info must "
"be present in block 0\n");
return -1;
return AVERROR_INVALIDDATA;
}
}
@@ -1079,7 +1079,7 @@ static int decode_audio_block(AC3DecodeContext *s, int blk)
}
} else if (!s->eac3 && !blk) {
av_log(s->avctx, AV_LOG_ERROR, "new snr offsets must be present in block 0\n");
return -1;
return AVERROR_INVALIDDATA;
}
}
@@ -1118,7 +1118,7 @@ static int decode_audio_block(AC3DecodeContext *s, int blk)
} else if (!s->eac3 && !blk) {
av_log(s->avctx, AV_LOG_ERROR, "new coupling leak info must "
"be present in block 0\n");
return -1;
return AVERROR_INVALIDDATA;
}
s->first_cpl_leak = 0;
}
@@ -1130,7 +1130,7 @@ static int decode_audio_block(AC3DecodeContext *s, int blk)
s->dba_mode[ch] = get_bits(gbc, 2);
if (s->dba_mode[ch] == DBA_RESERVED) {
av_log(s->avctx, AV_LOG_ERROR, "delta bit allocation strategy reserved\n");
return -1;
return AVERROR_INVALIDDATA;
}
bit_alloc_stages[ch] = FFMAX(bit_alloc_stages[ch], 2);
}
@@ -1171,7 +1171,7 @@ static int decode_audio_block(AC3DecodeContext *s, int blk)
s->dba_offsets[ch], s->dba_lengths[ch],
s->dba_values[ch], s->mask[ch])) {
av_log(s->avctx, AV_LOG_ERROR, "error in bit allocation\n");
return -1;
return AVERROR_INVALIDDATA;
}
}
if (bit_alloc_stages[ch] > 0) {
@@ -1291,7 +1291,7 @@ static int ac3_decode_frame(AVCodecContext * avctx, void *data,
switch (err) {
case AAC_AC3_PARSE_ERROR_SYNC:
av_log(avctx, AV_LOG_ERROR, "frame sync error\n");
return -1;
return AVERROR_INVALIDDATA;
case AAC_AC3_PARSE_ERROR_BSID:
av_log(avctx, AV_LOG_ERROR, "invalid bitstream id\n");
break;
@@ -1305,17 +1305,20 @@ static int ac3_decode_frame(AVCodecContext * avctx, void *data,
/* skip frame if CRC is ok. otherwise use error concealment. */
/* TODO: add support for substreams and dependent frames */
if (s->frame_type == EAC3_FRAME_TYPE_DEPENDENT || s->substreamid) {
av_log(avctx, AV_LOG_ERROR, "unsupported frame type : "
av_log(avctx, AV_LOG_WARNING, "unsupported frame type : "
"skipping frame\n");
*got_frame_ptr = 0;
return s->frame_size;
return buf_size;
} else {
av_log(avctx, AV_LOG_ERROR, "invalid frame type\n");
}
break;
default:
av_log(avctx, AV_LOG_ERROR, "invalid header\n");
case AAC_AC3_PARSE_ERROR_CRC:
case AAC_AC3_PARSE_ERROR_CHANNEL_CFG:
break;
default: // Normal AVERROR do not try to recover.
*got_frame_ptr = 0;
return err;
}
} else {
/* check that reported frame size fits in input buffer */
@@ -1374,7 +1377,7 @@ static int ac3_decode_frame(AVCodecContext * avctx, void *data,
avctx->audio_service_type = AV_AUDIO_SERVICE_TYPE_KARAOKE;
/* get output buffer */
frame->nb_samples = s->num_blocks * 256;
frame->nb_samples = s->num_blocks * AC3_BLOCK_SIZE;
if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
return ret;
@@ -1395,7 +1398,7 @@ static int ac3_decode_frame(AVCodecContext * avctx, void *data,
}
if (err)
for (ch = 0; ch < s->out_channels; ch++)
memcpy(((float*)frame->data[ch]) + AC3_BLOCK_SIZE*blk, output[ch], 1024);
memcpy(((float*)frame->data[ch]) + AC3_BLOCK_SIZE*blk, output[ch], sizeof(**output) * AC3_BLOCK_SIZE);
for (ch = 0; ch < s->out_channels; ch++)
output[ch] = s->outptr[channel_map[ch]];
for (ch = 0; ch < s->out_channels; ch++) {
@@ -1408,7 +1411,7 @@ static int ac3_decode_frame(AVCodecContext * avctx, void *data,
/* keep last block for error concealment in next frame */
for (ch = 0; ch < s->out_channels; ch++)
memcpy(s->output[ch], output[ch], 1024);
memcpy(s->output[ch], output[ch], sizeof(**output) * AC3_BLOCK_SIZE);
*got_frame_ptr = 1;
@@ -1450,6 +1453,7 @@ static const AVClass ac3_decoder_class = {
AVCodec ff_ac3_decoder = {
.name = "ac3",
.long_name = NULL_IF_CONFIG_SMALL("ATSC A/52A (AC-3)"),
.type = AVMEDIA_TYPE_AUDIO,
.id = AV_CODEC_ID_AC3,
.priv_data_size = sizeof (AC3DecodeContext),
@@ -1457,7 +1461,6 @@ AVCodec ff_ac3_decoder = {
.close = ac3_decode_end,
.decode = ac3_decode_frame,
.capabilities = CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("ATSC A/52A (AC-3)"),
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
AV_SAMPLE_FMT_NONE },
.priv_class = &ac3_decoder_class,
@@ -1473,6 +1476,7 @@ static const AVClass eac3_decoder_class = {
AVCodec ff_eac3_decoder = {
.name = "eac3",
.long_name = NULL_IF_CONFIG_SMALL("ATSC A/52B (AC-3, E-AC-3)"),
.type = AVMEDIA_TYPE_AUDIO,
.id = AV_CODEC_ID_EAC3,
.priv_data_size = sizeof (AC3DecodeContext),
@@ -1480,7 +1484,6 @@ AVCodec ff_eac3_decoder = {
.close = ac3_decode_end,
.decode = ac3_decode_frame,
.capabilities = CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("ATSC A/52B (AC-3, E-AC-3)"),
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
AV_SAMPLE_FMT_NONE },
.priv_class = &eac3_decoder_class,

View File

@@ -3,20 +3,20 @@
* Copyright (c) 2000 Fabrice Bellard
* Copyright (c) 2006-2010 Justin Ruggles <justin.ruggles@gmail.com>
*
* This file is part of Libav.
* This file is part of FFmpeg.
*
* Libav is free software; you can redistribute it and/or
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* Libav is distributed in the hope that it will be useful,
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with Libav; if not, write to the Free Software
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/

View File

@@ -154,6 +154,7 @@ static av_cold int ac3_fixed_encode_init(AVCodecContext *avctx)
AVCodec ff_ac3_fixed_encoder = {
.name = "ac3_fixed",
.long_name = NULL_IF_CONFIG_SMALL("ATSC A/52A (AC-3)"),
.type = AVMEDIA_TYPE_AUDIO,
.id = AV_CODEC_ID_AC3,
.priv_data_size = sizeof(AC3EncodeContext),
@@ -162,7 +163,6 @@ AVCodec ff_ac3_fixed_encoder = {
.close = ff_ac3_encode_close,
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16P,
AV_SAMPLE_FMT_NONE },
.long_name = NULL_IF_CONFIG_SMALL("ATSC A/52A (AC-3)"),
.priv_class = &ac3enc_class,
.channel_layouts = ff_ac3_channel_layouts,
.defaults = ac3_defaults,

View File

@@ -152,6 +152,7 @@ static CoefType calc_cpl_coord(CoefSumType energy_ch, CoefSumType energy_cpl)
#if CONFIG_AC3_ENCODER
AVCodec ff_ac3_encoder = {
.name = "ac3",
.long_name = NULL_IF_CONFIG_SMALL("ATSC A/52A (AC-3)"),
.type = AVMEDIA_TYPE_AUDIO,
.id = AV_CODEC_ID_AC3,
.priv_data_size = sizeof(AC3EncodeContext),
@@ -160,7 +161,6 @@ AVCodec ff_ac3_encoder = {
.close = ff_ac3_encode_close,
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP,
AV_SAMPLE_FMT_NONE },
.long_name = NULL_IF_CONFIG_SMALL("ATSC A/52A (AC-3)"),
.priv_class = &ac3enc_class,
.channel_layouts = ff_ac3_channel_layouts,
.defaults = ac3_defaults,

View File

@@ -2,20 +2,20 @@
* AC-3 encoder options
* Copyright (c) 2011 Justin Ruggles <justin.ruggles@gmail.com>
*
* This file is part of Libav.
* This file is part of FFmpeg.
*
* Libav is free software; you can redistribute it and/or
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* Libav is distributed in the hope that it will be useful,
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with Libav; if not, write to the Free Software
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/

View File

@@ -361,7 +361,7 @@ static void compute_rematrixing_strategy(AC3EncodeContext *s)
}
for (bnd = 0; bnd < block->num_rematrixing_bands; bnd++) {
/* calculate calculate sum of squared coeffs for one band in one block */
/* calculate sum of squared coeffs for one band in one block */
int start = ff_ac3_rematrix_band_tab[bnd];
int end = FFMIN(nb_coefs, ff_ac3_rematrix_band_tab[bnd+1]);
CoefSumType sum[4];

View File

@@ -114,7 +114,7 @@ const uint8_t ff_ac3_enc_channel_map[8][2][6] = {
};
/**
* Table to remap channels from from AC-3 order to SMPTE order.
* Table to remap channels from AC-3 order to SMPTE order.
* [channel_mode][lfe][ch]
*/
const uint8_t ff_ac3_dec_channel_map[8][2][6] = {

View File

@@ -114,10 +114,10 @@ const float ff_b60_sinc[61] = {
0.898529 , 0.865051 , 0.769257 , 0.624054 , 0.448639 , 0.265289 ,
0.0959167 , -0.0412598 , -0.134338 , -0.178986 , -0.178528 , -0.142609 ,
-0.0849304 , -0.0205078 , 0.0369568 , 0.0773926 , 0.0955200 , 0.0912781 ,
0.0689392 , 0.0357056 , 0. , -0.0305481 , -0.0504150 , -0.0570068 ,
0.0689392 , 0.0357056 , 0.0 , -0.0305481 , -0.0504150 , -0.0570068 ,
-0.0508423 , -0.0350037 , -0.0141602 , 0.00665283, 0.0230713 , 0.0323486 ,
0.0335388 , 0.0275879 , 0.0167847 , 0.00411987, -0.00747681, -0.0156860 ,
-0.0193481 , -0.0183716 , -0.0137634 , -0.00704956, 0. , 0.00582886 ,
-0.0193481 , -0.0183716 , -0.0137634 , -0.00704956, 0.0 , 0.00582886 ,
0.00939941, 0.0103760 , 0.00903320, 0.00604248, 0.00238037, -0.00109863 ,
-0.00366211, -0.00497437, -0.00503540, -0.00402832, -0.00241089, -0.000579834,
0.00103760, 0.00222778, 0.00277710, 0.00271606, 0.00213623, 0.00115967 ,

View File

@@ -1532,13 +1532,13 @@ static const enum AVSampleFormat sample_fmts_both[] = { AV_SAMPLE_FMT_S16,
#define ADPCM_DECODER(id_, sample_fmts_, name_, long_name_) \
AVCodec ff_ ## name_ ## _decoder = { \
.name = #name_, \
.long_name = NULL_IF_CONFIG_SMALL(long_name_), \
.type = AVMEDIA_TYPE_AUDIO, \
.id = id_, \
.priv_data_size = sizeof(ADPCMDecodeContext), \
.init = adpcm_decode_init, \
.decode = adpcm_decode_frame, \
.capabilities = CODEC_CAP_DR1, \
.long_name = NULL_IF_CONFIG_SMALL(long_name_), \
.sample_fmts = sample_fmts_, \
}

View File

@@ -708,6 +708,7 @@ static const enum AVSampleFormat sample_fmts_p[] = {
#define ADPCM_ENCODER(id_, name_, sample_fmts_, long_name_) \
AVCodec ff_ ## name_ ## _encoder = { \
.name = #name_, \
.long_name = NULL_IF_CONFIG_SMALL(long_name_), \
.type = AVMEDIA_TYPE_AUDIO, \
.id = id_, \
.priv_data_size = sizeof(ADPCMEncodeContext), \
@@ -715,7 +716,6 @@ AVCodec ff_ ## name_ ## _encoder = { \
.encode2 = adpcm_encode_frame, \
.close = adpcm_encode_close, \
.sample_fmts = sample_fmts_, \
.long_name = NULL_IF_CONFIG_SMALL(long_name_), \
}
ADPCM_ENCODER(AV_CODEC_ID_ADPCM_IMA_QT, adpcm_ima_qt, sample_fmts_p, "ADPCM IMA QuickTime");

View File

@@ -1,20 +1,20 @@
/*
* Copyright (c) 2011 Justin Ruggles
*
* This file is part of Libav.
* This file is part of FFmpeg.
*
* Libav is free software; you can redistribute it and/or
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* Libav is distributed in the hope that it will be useful,
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with Libav; if not, write to the Free Software
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/

View File

@@ -1,20 +1,20 @@
/*
* Copyright (c) 2011 Justin Ruggles
*
* This file is part of Libav.
* This file is part of FFmpeg.
*
* Libav is free software; you can redistribute it and/or
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* Libav is distributed in the hope that it will be useful,
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with Libav; if not, write to the Free Software
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/

View File

@@ -174,6 +174,7 @@ static void adx_decode_flush(AVCodecContext *avctx)
AVCodec ff_adpcm_adx_decoder = {
.name = "adpcm_adx",
.long_name = NULL_IF_CONFIG_SMALL("SEGA CRI ADX ADPCM"),
.type = AVMEDIA_TYPE_AUDIO,
.id = AV_CODEC_ID_ADPCM_ADX,
.priv_data_size = sizeof(ADXContext),
@@ -181,7 +182,6 @@ AVCodec ff_adpcm_adx_decoder = {
.decode = adx_decode_frame,
.flush = adx_decode_flush,
.capabilities = CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("SEGA CRI ADX ADPCM"),
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
AV_SAMPLE_FMT_NONE },
};

View File

@@ -158,6 +158,7 @@ static int adx_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
AVCodec ff_adpcm_adx_encoder = {
.name = "adpcm_adx",
.long_name = NULL_IF_CONFIG_SMALL("SEGA CRI ADX ADPCM"),
.type = AVMEDIA_TYPE_AUDIO,
.id = AV_CODEC_ID_ADPCM_ADX,
.priv_data_size = sizeof(ADXContext),
@@ -165,5 +166,4 @@ AVCodec ff_adpcm_adx_encoder = {
.encode2 = adx_encode_frame,
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16,
AV_SAMPLE_FMT_NONE },
.long_name = NULL_IF_CONFIG_SMALL("SEGA CRI ADX ADPCM"),
};

View File

@@ -470,6 +470,7 @@ static av_cold int aic_decode_close(AVCodecContext *avctx)
AVCodec ff_aic_decoder = {
.name = "aic",
.long_name = NULL_IF_CONFIG_SMALL("Apple Intermediate Codec"),
.type = AVMEDIA_TYPE_VIDEO,
.id = AV_CODEC_ID_AIC,
.priv_data_size = sizeof(AICContext),
@@ -477,5 +478,4 @@ AVCodec ff_aic_decoder = {
.close = aic_decode_close,
.decode = aic_decode_frame,
.capabilities = CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("Apple Intermediate Codec")
};

View File

@@ -320,6 +320,9 @@ static int decode_element(AVCodecContext *avctx, AVFrame *frame, int ch_index,
rice_history_mult[ch] = get_bits(&alac->gb, 3);
lpc_order[ch] = get_bits(&alac->gb, 5);
if (lpc_order[ch] >= alac->max_samples_per_frame)
return AVERROR_INVALIDDATA;
/* read the predictor table */
for (i = lpc_order[ch] - 1; i >= 0; i--)
lpc_coefs[ch][i] = get_sbits(&alac->gb, 16);
@@ -463,9 +466,8 @@ static int alac_decode_frame(AVCodecContext *avctx, void *data,
}
channels = (element == TYPE_CPE) ? 2 : 1;
if ( ch + channels > alac->channels
|| ff_alac_channel_layout_offsets[alac->channels - 1][ch] + channels > alac->channels
) {
if (ch + channels > alac->channels ||
ff_alac_channel_layout_offsets[alac->channels - 1][ch] + channels > alac->channels) {
av_log(avctx, AV_LOG_ERROR, "invalid element channel count\n");
return AVERROR_INVALIDDATA;
}
@@ -511,11 +513,7 @@ static av_cold int alac_decode_close(AVCodecContext *avctx)
static int allocate_buffers(ALACContext *alac)
{
int ch;
int buf_size;
if (alac->max_samples_per_frame > INT_MAX / sizeof(int32_t))
goto buf_alloc_fail;
buf_size = alac->max_samples_per_frame * sizeof(int32_t);
int buf_size = alac->max_samples_per_frame * sizeof(int32_t);
for (ch = 0; ch < FFMIN(alac->channels, 2); ch++) {
FF_ALLOC_OR_GOTO(alac->avctx, alac->predict_error_buffer[ch],
@@ -546,7 +544,8 @@ static int alac_set_info(ALACContext *alac)
bytestream2_skipu(&gb, 12); // size:4, alac:4, version:4
alac->max_samples_per_frame = bytestream2_get_be32u(&gb);
if (!alac->max_samples_per_frame || alac->max_samples_per_frame > INT_MAX) {
if (!alac->max_samples_per_frame ||
alac->max_samples_per_frame > INT_MAX / sizeof(int32_t)) {
av_log(alac->avctx, AV_LOG_ERROR, "max samples per frame invalid: %u\n",
alac->max_samples_per_frame);
return AVERROR_INVALIDDATA;
@@ -627,6 +626,7 @@ static int init_thread_copy(AVCodecContext *avctx)
AVCodec ff_alac_decoder = {
.name = "alac",
.long_name = NULL_IF_CONFIG_SMALL("ALAC (Apple Lossless Audio Codec)"),
.type = AVMEDIA_TYPE_AUDIO,
.id = AV_CODEC_ID_ALAC,
.priv_data_size = sizeof(ALACContext),
@@ -635,5 +635,4 @@ AVCodec ff_alac_decoder = {
.decode = alac_decode_frame,
.init_thread_copy = ONLY_IF_THREADS_ENABLED(init_thread_copy),
.capabilities = CODEC_CAP_DR1 | CODEC_CAP_FRAME_THREADS,
.long_name = NULL_IF_CONFIG_SMALL("ALAC (Apple Lossless Audio Codec)"),
};

Some files were not shown because too many files have changed in this diff Show More