Compare commits

...

8988 Commits

Author SHA1 Message Date
Stefano Sabatini 6baf9c4406 cmdutils: fix expected signature for show_colors() function
Fix warning:
In file included from ffprobe.c:2557:0:
cmdutils_common_opts.h:17:5: warning: initialization from incompatible pointer type [enabled by default]
cmdutils_common_opts.h:17:5: warning: (near initialization for ‘real_options[16].u.func_arg’) [enabled by default]

Spotted-by: Paul B Mahol
2013-10-28 09:41:25 +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
Michael Niedermayer 2b8b2ba19f Changelog: replace next by 2.0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 02:47:10 +02:00
Michael Niedermayer 1ebb95d5f1 Update for 2.0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 02:15:43 +02:00
Luca Barbato 5eaed6d336 atrac3: fix error handling
decode_tonal_components returns a proper AVERROR.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 02:15:43 +02:00
Eugene Dzhurinsky 09f59d6adf avformat/gif: Do not write GIF89a header if loop is set to -1.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 01:18:59 +02:00
Michael Niedermayer 9e214900ad Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: assume 0 stream start time if start time is unset in duration check
  ffplay: do not update audio clock with old audio pts if current frame is AV_NOPTS_VALUE

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 00:57:04 +02:00
Michael Niedermayer 49f441ea89 MAINTAINERS: Update which releases are supported
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 00:47:01 +02:00
Alexis Ballier c3ca70204b codec_desc: fix typo in rv20 long_name.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 00:27:34 +02:00
Michael Niedermayer 3aa2257d24 doc/RELEASE_NOTES: add a note about AVISynth
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 00:24:04 +02:00
Michael Niedermayer 233177a4ec jpegdec: clear EOBRUN on restarts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 23:49:06 +02:00
Michael Niedermayer 1c032e94d0 jpegdec: give handle_rstn() a return code that indicates if restart did happen
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 23:45:31 +02:00
Michael Niedermayer 776155ca29 mjpeg_decode_scan: reset restart state
Fixes Ticket2082
Fixes progressive/refinement + restart jpegs

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 23:43:36 +02:00
Michael Niedermayer e9be4675b8 doc/ffmpeg: document -override_ffserver
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 22:19:10 +02:00
Michael Niedermayer 325411a687 snowenc: check minimum resolution
Fixes Ticket1855

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 21:10:45 +02:00
Marton Balint f07cb53ab9 ffplay: assume 0 stream start time if start time is unset in duration check
Fixes ticket #2103 and #2743.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-07-09 20:19:54 +02:00
Marton Balint 3886572a83 ffplay: do not update audio clock with old audio pts if current frame is AV_NOPTS_VALUE
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-07-09 20:19:54 +02:00
Piotr Bandurski aa74810fc6 bitstream: fix a crash in case of oom
fixes ticket #2766

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 19:41:22 +02:00
James Almer 193782216f vorbiscomment: Add support for embedded cover art
Fixes ticket #2655

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 19:21:23 +02:00
James Almer 1e5bbbfcf3 lavf/flacdec: Share the function to parse cover art blocks
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 19:19:42 +02:00
Michael Niedermayer f9d7431272 avformat/AVFormatContext: Move fields down to match the fork
avconv uses private and internal fields from libavformat, we thus must
match the layout even of the fields marked non public.
Otherwise ffmpegs libavformat could not be used as a dropin replacement
on debian/ubuntu

The current soname of libavformat was not part of any release nor are any
fields marked public moved thus in theory
no installed shared lib ABI breakage should occur. Still the need for this
change is unfortunate and chilling.
If you installed shared libs from a recent development version of libavformat
that is more recent than the last release. You probably want to check or rebuild
applications that linked to it.

minor versions of avformat & avdevice are bumped to allow detecting this
as both use the updated struct

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 19:06:32 +02:00
Michael Niedermayer d5de123195 avfilter/graphparse: Fix build with --enable-incompatible-fork-abi
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 19:06:32 +02:00
Paul B Mahol c5a1b18f18 lavfi/drawtext: add support for printing frame metadata
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-09 15:21:01 +00:00
Luca Barbato 87fb18c3e4 imc: Catch a division by zero
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Reviewed-by: Kostya Shishkov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 16:20:50 +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
Michael Niedermayer 7d9cb12689 avcodec/wmaprodec: Check block_align
Fixes undefined behavior
Its not known if this condition can be triggered through crafted input.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 15:32:21 +02:00
Michael Niedermayer 694550f18e Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Force correct extradata for AVID AVCI50 in mov.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 13:04:51 +02:00
Michael Niedermayer 0dd99628ea ff_lpc_calc_coefs: assert that the type is levinson or cholesky
Otherwise the code could misbehave (and there are no other types anyway)
Fixes CID700759

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 11:57:45 +02:00
Carl Eugen Hoyos 9a1ec1f2f2 Force correct extradata for AVID AVCI50 in mov.
Fixes ticket #2106.

Reviewed-by: Kieran Kunhya
2013-07-09 11:43:33 +02:00
Paul B Mahol 3c5071db88 lavfi/psnr: rename 's' parameter to match documentation
Also removes some irrelevant lines in documentation.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-09 09:40:53 +00:00
Michael Niedermayer d0a7933991 ffmpeg_opt: do not warn about unused gop_timecode
The option is injected by generic code and being sometimes unused is normal.

Fixes Ticket2762

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 10:54:40 +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
Michael Niedermayer e914a21ada Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: Rename the timestamp parameter to dts in write_hint_packets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 10:07:23 +02:00
Michael Niedermayer 848295c2ee Merge commit 'a87a0acf9b5d27aad032e61eef4973e62a4a6830'
* commit 'a87a0acf9b5d27aad032e61eef4973e62a4a6830':
  movenc: Make sure the RTP hint tracks have nondecreasing DTS

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 10:01:17 +02:00
Michael Niedermayer 00b1401df6 avcodec/h264_ps: try to support Ambarella AVC
Fixes Ticket2763

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 05:21:26 +02:00
Matthew Heaney 509642b4bd WebM muxer writes WebVTT subtitle track
The Matroska muxer now allows WebVTT subtitle tracks to be written
while in WebM muxing mode.

WebVTT subtitle tracks have four kinds: "subtitles", "captions",
"descriptions", and "metadata". Each text track kind has a distinct
Mastroska CodecID and track type, as described in the temporal
metadata guidelines here:

http://wiki.webmproject.org/webm-metadata/temporal-metadata/webvtt-in-webm

When the stream has codec id AV_CODEC_ID_WEBVTT, the stream packet is
serialized per the temporal metadata guidelines cited above. The
WebVTT cue is written as a Matroska block group. The block frame
comprises the WebVTT cue id, followed by the cue settings, followed by
the cue text.  (The block timestamp is synthesized from the cue
timestamp.)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 03:09:12 +02:00
Michael Niedermayer a20f049c2a avcodec/libvpxenc: make class names unique
This should fix an infinite loop with -h full

Found-by: <Foofie>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 03:04:31 +02:00
Michael Niedermayer d1e8d4b055 ffmpeg: Allow overriding ffservers input
Fixes Ticket1970

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 01:50:32 +02:00
Michael Niedermayer d7fbe926d3 ffmpeg: move creation_time for ffserver setting up
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 01:50:32 +02:00
Paul B Mahol a03e79ed5a lavfi: fix broken logic in metadata handling
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-08 20:13:56 +00:00
Michael Niedermayer 970c8df735 mpeg12dec: avoid reinitializtation on PS changes when possible.
Fixes Ticket2574

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 21:55:04 +02:00
Michael Niedermayer 7dee9c2268 tests/fate/filter-audio: update asyncts reference
The new reference matches the one used by qatar

Fixes: fate-filter-asyncts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 19:44:27 +02:00
Paul B Mahol 19c8f22714 lavfi/rotate: switch to new drawutils
Get rid of ugly hacks, also add support for more pixel formats.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-08 16:40:49 +00:00
Paul B Mahol 55c94f48ce lavfi/drawutils: fix planar rgb
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-08 16:40:49 +00:00
Paul B Mahol d2dd1e075c lavfi/pad: use FFSIGN
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-08 16:40:48 +00:00
Alexandre Sicard 70b922f371 avformat/mov: read stream bitrates from isml manifest
This allows to read a live isml movie and segment it using the
smoothstreaming muxer, which requires the bitrates to be known for each stream.

Signed-off-by: Alexandre Sicard <alexandre.sicard@smartjog.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 17:36:45 +02:00
Michael Niedermayer e096283ea5 mp3dec: detect CBR and use CBR axiom to seek
This should also work reasonable with truncated and growing mp3s.
Fixes Ticket2590

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 17:12:51 +02:00
Paul B Mahol 6150bec3f8 lavfi: add psnr filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-08 14:58:04 +00:00
Michael Niedermayer 1ba01d3d46 swscale: treat gray as a fullrage (0-255) format
Fixes Ticket2684

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 15:21:48 +02:00
Carl Eugen Hoyos b86651a208 Check the return value of ff_rv34_decode_init() in rv30.c and rv40.c
Avoids possible null pointer dereferences on oom.

Fixes ticket #2727.
2013-07-08 11:56:16 +02:00
Martin Storsjö 0677ddebc6 movenc: Rename the timestamp parameter to dts in write_hint_packets
This matches its actual intended use better.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-08 12:44:25 +03:00
Martin Storsjö a87a0acf9b movenc: Make sure the RTP hint tracks have nondecreasing DTS
The RTP timestamps can be decreasing for codecs with B-frames. For
these cases, make sure the timestamps in the MP4 file track itself
are nondecreasing, and add an offset to the RTP packet hint instead
to produce the intended RTP timestamp.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-08 12:43:42 +03:00
Michael Niedermayer 5d3c3035b7 cmdutils: replace exit() by exit_program()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 11:12:32 +02:00
Michael Niedermayer eeddeb6579 ffmpeg_opt: replace exit() by exit_program()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 11:12:32 +02:00
Michael Niedermayer efce76a80d ffmpeg_filter: replace exit() by exit_program()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 11:09:22 +02:00
Michael Niedermayer 44d0e520f8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  qdm2: check and reset dithering index per channel

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 05:26:17 +02:00
Michael Niedermayer e1f98f2231 Merge commit '76efedeadb1f6bf79020c44a71dd0cee13d932ad'
* commit '76efedeadb1f6bf79020c44a71dd0cee13d932ad':
  qdm2: formatting cosmetics

Conflicts:
	libavcodec/qdm2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 05:10:06 +02:00
Michael Niedermayer d28a8ad8f3 Merge commit 'f054e309c58894450a5d18cce9799ef58aab9f14'
* commit 'f054e309c58894450a5d18cce9799ef58aab9f14':
  qdm2: use init_static_data
  westwood_vqa: do not free extradata on error in read_header

Conflicts:
	libavformat/westwood_vqa.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 05:02:52 +02:00
Michael Niedermayer b5a87dc193 Merge commit 'c4abc9098cacb227dba39bac6aea16b2bceba0d0'
* commit 'c4abc9098cacb227dba39bac6aea16b2bceba0d0':
  vqavideo: check the version

Conflicts:
	libavcodec/vqavideo.c

See: b226af3910

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 04:53:52 +02:00
Michael Niedermayer f982d006bb Merge commit '636ced8e1dc8248a1353b416240b93d70ad03edb'
* commit '636ced8e1dc8248a1353b416240b93d70ad03edb':
  cmdutils: wrap exit explicitly

Conflicts:
	avprobe.c
	cmdutils.c
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 04:34:11 +02:00
Michael Niedermayer 4cd066b69c Merge commit '21732063a346475eb22c332b27e8216b79f9ad4a'
* commit '21732063a346475eb22c332b27e8216b79f9ad4a':
  movenc: K&R formatting cosmetics

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 04:08:07 +02:00
Michael Niedermayer 7023715e88 Merge commit '38e9585de993c32899588ab037180f2c930ce74c'
* commit '38e9585de993c32899588ab037180f2c930ce74c':
  Makefile: Remove stray tabs
  vp8: Wait for prev_frame to parse segment_map before reading it
  yuv4mpeg: Correctly round chroma up for odd luma sizes
  rmdec: Use the AVIOContext given as parameter in rm_read_metadata()
  avio: Handle AVERROR_EOF in the same way as the return value 0

Conflicts:
	libavformat/rmdec.c
	libavformat/yuv4mpeg.c

No change as all the commits where already in before

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 03:42:03 +02:00
Michael Niedermayer 5312c319be avformat_find_stream_info: fallback to timestamps in analyzeduration check in more cases
This fixes speex in rtmp
Fixes Ticket2409

the nellymoser in flv case actually needs larger analyzeduration. The code
previously just failed to calculate the duration

If this causes any problems, like premature analyze/probe end, please report!

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 02:37:24 +02:00
Paul B Mahol 099e57bc38 zmbvenc: remove unused AVFrame from encoder private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-07 23:50:54 +00:00
Paul B Mahol 3bec6a44ea zmbvenc: do not set avctx->coded_frame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-07 23:45:17 +00:00
Paul B Mahol ec4e042f33 gif: remove unused AVFrame from encoder private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-07 23:06:06 +00:00
Paul B Mahol bd03f99d05 gif: do not set avctx->coded_frame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-07 22:57:17 +00:00
Luca Barbato 744a11c996 qdm2: check and reset dithering index per channel
Checking per subband would have the index exceed the
dithering noise table size.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-07 22:06:35 +02:00
Luca Barbato 76efedeadb qdm2: formatting cosmetics
Apply the usual style plus drop few unnecessary return at the end
of void functions.
2013-07-07 22:06:28 +02:00
Luca Barbato f054e309c5 qdm2: use init_static_data 2013-07-07 22:06:20 +02:00
Luca Barbato 76f5dfbfd9 westwood_vqa: do not free extradata on error in read_header
The extradata is already freed by avformat_open_input on
failure.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-07 22:04:43 +02:00
Luca Barbato c4abc9098c vqavideo: check the version
Prevent out of buffer write.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-07 22:04:05 +02:00
Luca Barbato 636ced8e1d cmdutils: wrap exit explicitly
Some C runtime implementations deadlock when calling threading functions
on the atexit() handler.

Use a simpler wrapper similar to av_log to call the cleanup function
before exit.

Bug-Id: 523
2013-07-07 21:43:23 +02:00
Martin Storsjö 21732063a3 movenc: K&R formatting cosmetics
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-07 21:34:31 +03:00
Michael Niedermayer 38e9585de9 Makefile: Remove stray tabs
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-07 19:29:19 +03:00
Ronald S. Bultje 46d208e1e0 vp8: Wait for prev_frame to parse segment_map before reading it
This fixes occasional failures of vp8-test-vector-010 with frame-level
multithreading enabled.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-07 13:30:29 +03:00
Ronald S. Bultje 6c86a63bad yuv4mpeg: Correctly round chroma up for odd luma sizes
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-07 13:30:22 +03:00
Michael Niedermayer d35b6cd377 rmdec: Use the AVIOContext given as parameter in rm_read_metadata()
This fixes crashes when playing back certain RealRTSP streams.

When invoked from the RTP depacketizer, the full realmedia
demuxer isn't invoked, but only certain functions from it, where
a separate AVIOContext is passed in as parameter (for the buffer
containing the data to parse). The functions called from within
those entry points should only be using that parameter, not
s->pb. In the depacketizer case, s is the RTSP context, where ->pb
is null.

Cc: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-07 13:30:12 +03:00
Michael Niedermayer 5d876be87a avio: Handle AVERROR_EOF in the same way as the return value 0
This makes sure the ffurl_read_complete function actually
returns the number of bytes read, as the documentation of the
function says, even if the underlying protocol uses AVERROR_EOF
instead of 0.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-07 13:30:01 +03:00
Luca Barbato f5e646a00a wtv: Mark attachment with a negative stream id
A sid 0 would be mismatched to the attachment.

Prevent NULL pointer dereference.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-07 04:28:51 +02:00
Luca Barbato a4baf96abd avprobe: rename the prettyprint structures 2013-07-07 04:28:51 +02:00
Paul B Mahol 19436308b4 dxa: make code independent of sizeof(AVFrame)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-06 16:33:59 +00:00
Michael Niedermayer be25614177 mmsh: reimplement seeking
Fixes Ticket2682

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 18:50:03 +02:00
Michael Niedermayer c7cfd4cce9 avformat_find_stream_info: use fps_dts as last resort to determine duration
Fixes long delay with some hardware generated h264 in ts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 15:25:34 +02:00
Michael Niedermayer 19d4163331 avformat/mp3dec: read TOC even if not all needed information is available
This fixes hyothetical bugs with parsing of elements after the TOC

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 12:50:41 +02:00
Michael Niedermayer 4cc32e5cad avformat/mp3dec: read xing toc independant of usetoc, only skip filling index if requested
Fixes hypothetical parsing bug with -usetoc 0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 12:49:37 +02:00
Michael Niedermayer a71832f826 avformat/Makefile: remove stray tab
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 11:56:02 +02:00
Michael Niedermayer b9d55a07f3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wtv: Mark attachment with a negative stream id

Conflicts:
	libavformat/wtv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 11:48:05 +02:00
Michael Niedermayer b7ce510003 Merge commit 'a4baf96abd64cda68e3e4692b182bdf60745a14d'
* commit 'a4baf96abd64cda68e3e4692b182bdf60745a14d':
  avprobe: rename the prettyprint structures
  tools: Wording and formatting cosmetics

Conflicts:
	avprobe.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 11:35:59 +02:00
Michael Niedermayer 7bd417c22a Merge commit '6516632967da5e6bd7d6136e8678f826669ed26e'
* commit '6516632967da5e6bd7d6136e8678f826669ed26e':
  tests: Only run noproxy test if networking is enabled
  fifo: K&R formatting cosmetics

Conflicts:
	libavformat/Makefile
	libavutil/fifo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 11:26:28 +02:00
Michael Niedermayer 2adf8a9c09 Merge commit '4e7f0b082d8c4b360312216b9241bec65ff63b35'
* commit '4e7f0b082d8c4b360312216b9241bec65ff63b35':
  kmvc: Clip pixel position to valid range

The added clip should make no difference, there are already checks for
the index.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 11:17:53 +02:00
Michael Niedermayer 1aeddc3cbf Merge commit '8f689770548c86151071ef976cf9b6998ba21c2a'
* commit '8f689770548c86151071ef976cf9b6998ba21c2a':
  kmvc: use fixed sized arrays in the context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 10:54:39 +02:00
Michael Niedermayer dc2a13aa80 avformat/mov: Fix duration of fragmented mov
Fixes Ticket2757

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 04:11:14 +02:00
Michael Niedermayer 104dfaadaa dct_unquantize_h263_intra_c: fix assert condition
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 01:50:59 +02:00
Michael Niedermayer 707b2135fd libavcodec/x86/mpegvideo: Move mmx functions under HAVE_MMX_INLINE
should fix ticket2755

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 01:50:59 +02:00
Michael Niedermayer abce6dfd9e avcodec/x86/vp3dsp_init: move mmx functions under HAVE_MMX_INLINE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 01:50:59 +02:00
Michael Niedermayer 9a6e814be7 oggparseskeleton: avoid header parsing failure
Based on description by James Almer and the xiph wiki

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-06 23:53:19 +02:00
Michael Niedermayer 7f25050289 nutdec: use ff_find_last_ts()
Fixes finding the duration for nut files that are truncated

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-06 22:27:35 +02:00
Michael Niedermayer 8ca5d277d8 avformat/utils: factor ff_find_last_ts() out of ff_gen_search()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-06 22:27:35 +02:00
Diego Biurrun cd7b6deeaa tools: Wording and formatting cosmetics 2013-07-06 15:36:57 +02:00
Diego Biurrun 6516632967 tests: Only run noproxy test if networking is enabled 2013-07-06 15:36:57 +02:00
Luca Barbato 73142e7533 fifo: K&R formatting cosmetics 2013-07-06 14:28:06 +02:00
Luca Barbato 4e7f0b082d kmvc: Clip pixel position to valid range
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-06 14:12:45 +02:00
Luca Barbato 8f68977054 kmvc: use fixed sized arrays in the context
Avoid some boilerplate code to dynamically allocate and then free the
buffers.
2013-07-06 14:12:42 +02:00
Paul B Mahol d64f3b72e0 replace some deprecated defines
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-06 05:43:24 +00:00
Paul B Mahol 9635806265 lavfi/blend: use dual input helpers
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-06 04:58:34 +00:00
Michael Niedermayer 66537c7efd avcodec/x86/cabac: Disable get_cabac_bypass_x86() on broken llvm/clang
This should fix fate on these platforms

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-06 16:24:27 +02:00
Michael Niedermayer 32de28053d avcodec/x86/cabac: factorize broken llvm/clang check out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-06 16:24:27 +02:00
James Almer 63d7684fef oggparseskeleton: Replace avpriv_report_missing_feature() with a normal av_log() call
since there should not be more than one fisbone for a given stream.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-06 13:30:51 +02:00
James Almer 3960992f0a oggparseskeleton: Fix fisbone header parsing
start_granule should be applied to the stream referenced in the fisbone packet, not to the
Skeleton stream.
This was broken in d1f05dd183 and produced bogus warnings about
multiple fisbone in the same stream on files with more than one stream.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-06 13:30:51 +02:00
Stefano Sabatini 2aa2b4ac65 examples/muxing: add support to audio resampling
Allows to encode to output in case the destination sample format is
different from AV_SAMPLE_FMT_S16.
2013-07-06 12:31:16 +02:00
Timothy Gu 561e05136f doc/encoders: add libopus encoder doc
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-07-06 12:27:45 +02:00
Michael Niedermayer 98277fd1a0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  bitstream_filter: K&R formatting cosmetics

Conflicts:
	libavcodec/bitstream_filter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-06 12:08:43 +02:00
Michael Niedermayer 0844630e6b avformat/mp3dec: Add usetoc option to allow dlsabling the use of the xing TOC
The toc is inexact and not using it can thus make sense.
Using it is faster though, thus the opposite can similarly makes sense

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-06 05:43:48 +02:00
Michael Niedermayer 68b7b534be tcp: Use a default timeout of 5 sec for opening a connection but not for receiving packets
This should be closer to how tcp behaved longer ago and should
fix the issue with idle connections timing out.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-06 01:33:19 +02:00
Michael Niedermayer efa9e6b423 ff_network_wait_fd_timeout: do not break with timeout < 0
Most code treats timeout < 0 like 0 already

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-06 01:31:37 +02:00
Michael Niedermayer 390aabb2a1 tcp: Fix the default timeout
Fixes Ticket2694

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-06 00:17:31 +02:00
Nigel Touati-Evans ef8cc06d6e avformat/avidec: Fix incorrect detection of badly interleaved avi
The method guess_ni_flag needs to divide timestamps in the index
by sample_size if it is set in order to compare different streams correctly.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 22:07:48 +02:00
Paul B Mahol 6516a25f04 ADPCM IMA WAV 2, 3 and 5 bits decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-05 18:10:27 +00:00
Luca Barbato 4972e5a186 bitstream_filter: K&R formatting cosmetics 2013-07-05 19:38:24 +02:00
Paul B Mahol 48f2750de8 get_bits: add get_bits_le()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-05 16:51:08 +00:00
Jean Delvare 4e10d87f38 lavfi/delogo: band width must be at least 1
We need at least one pixel around the logo to use as known points to
interpolate from. So properly declare the band/t attribute has having
a minimum value of 1.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 18:02:11 +02:00
Jean Delvare 72abce3c46 lavfi/delogo: option show shouldn't affect band
Options "show" and "band" are unrelated and should thus be
independent. However, setting "show" to 1 currently resets "band" to
its default value of 4. While this is documented, this still
surprising and confusing IMHO.

Change this behavior and make "show" and "band" independent from each
other. Update the documentation accordingly.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 18:02:11 +02:00
Paul B Mahol 413f865a9a lavfi/blackdetect: support 2 more pixels formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-05 15:30:37 +00:00
Paul B Mahol 9dd1447788 lavfi/cropdetect: export cropdetect info to frame metadata
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-05 15:07:33 +00:00
Jean Delvare 4e8d6b315c lavfi/delogo: remember left and right samples when interpolating
The left and right samples are the same for the whole line, so store
their values and don't recompute them for every iteration of "y".

This simple optimization results in a speed improvement between 15%
and 20% in my tests (depending on the logo geometry.)

Result is obviously the same.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 13:53:37 +02:00
Jean Delvare 6fc8c4cc0e lavfi/delogo: don't recompute the same difference again and again
The top left hand corner pixel coordinates are already stored in
logo_x1 and logo_y1 so don't recompute each of them 6 times for every
iteration.

This is a simple code optimization, result is obviously the same. The
performance gain is small (about 2% in my tests) but still good to
have, and the new code is clearer.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Reviewed-by; Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 13:52:59 +02:00
Peter Große c6c2231227 libavcodec: use 64bit counter in deprecated audio encoder API to prevent problems regarding negative dts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 13:40:13 +02:00
Michael Niedermayer 47ca9f041c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  compat: wrap math.h to avoid AIX-specific clashes

Conflicts:
	configure

See: bf18abb2eb, 0915b531bc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 13:11:06 +02:00
Michael Niedermayer 8fdec02fd1 Merge commit '0420c810ceb430003f9f2793c5cfa1fe84657f3d'
* commit '0420c810ceb430003f9f2793c5cfa1fe84657f3d':
  log: pass the correct parameters to missing_feature_sample

Conflicts:
	libavutil/log.c

See: 572e38a513

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 12:43:57 +02:00
Stefano Sabatini d880b2bdff doc/filters: clarify documentation for overlay repeatlast option
Suggested-By: Oliver Fromme <oliver@fromme.com>
2013-07-05 12:35:12 +02:00
Michael Niedermayer 9f89bebb7b Merge commit '6a10142faa1cca8ba2bfe51b970754f62d60f320'
* commit '6a10142faa1cca8ba2bfe51b970754f62d60f320':
  indeo: reject negative array indexes

Conflicts:
	libavcodec/ivi_common.c

See: 93927eb334, a93c7ca6ef

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 12:26:25 +02:00
Michael Niedermayer 7d3b55c6a4 Merge commit '6dfacd7ab126aea1392949d1aa10fdc3d3eeb911'
* commit '6dfacd7ab126aea1392949d1aa10fdc3d3eeb911':
  indeo: Cosmetic formatting

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 12:08:22 +02:00
Michael Niedermayer 9b10440dcd Merge commit '62256010e9bc8879e2bf7f3b94af8ff85e239082'
* commit '62256010e9bc8879e2bf7f3b94af8ff85e239082':
  indeo: Refactor ff_ivi_init_tiles and ivi_decode_blocks

Conflicts:
	libavcodec/ivi_common.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 12:02:53 +02:00
Michael Niedermayer 0e2056056f Merge commit 'f6f36ca8ca1b2526d3abff7d7c627322d3bce912'
* commit 'f6f36ca8ca1b2526d3abff7d7c627322d3bce912':
  indeo: Refactor ff_ivi_dec_huff_desc

Conflicts:
	libavcodec/ivi_common.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 11:50:46 +02:00
Michael Niedermayer cced6f4d58 Merge commit 'e6d8acf6a8fba4743eb56eabe72a741d1bbee3cb'
* commit 'e6d8acf6a8fba4743eb56eabe72a741d1bbee3cb':
  indeo: use a typedef for the mc function pointer
  cabac: x86 version of get_cabac_bypass
  aic: use chroma scan tables while decoding luma component in progressive mode

Conflicts:
	libavcodec/aic.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 11:41:30 +02:00
Stefano Sabatini 0f85c96091 lavc/avcodec.h: document bitstream filter API 2013-07-05 11:03:56 +02:00
Michael Niedermayer b009267910 mpegts: only reopen pmt_cb filter if its different from the previous.
Fixes Ticket2632

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 04:02:02 +02:00
Stefano Sabatini d06ae0d791 lavf: fix documentation for avoid_negative_ts
Prefer "non-negative" over "positive", the former is more accurate.
2013-07-05 00:58:03 +02:00
Stefano Sabatini 41fe750f4b lavc/bitstream_filter: do not crash in case the argument of av_bitstream_filter_close() is NULL 2013-07-05 00:58:03 +02:00
Michael Niedermayer 46ad287a2a avutil/rational: avoid llrint() and rint()
This should workaround issues with these functions on ia64 and sparc64

Fixes Ticket2713

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-04 23:50:58 +02:00
Michael Niedermayer 65abce67b5 avformat/movenc: allow negative TS for the ipod muxer
Fixes Ticket2708

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-04 23:14:31 +02:00
Paul B Mahol 35b02732b9 configure: fix webp decoder dependency
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-04 20:41:54 +00:00
Michael Niedermayer cb678cc2cf avcodec/svq1enc: fix frame rotation code
Fixes Ticket2747

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-04 22:22:04 +02:00
Paul B Mahol d1c96b28d7 libstagefright: port to refcounted frames
Untested.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-04 20:17:38 +00:00
Paul B Mahol dda8afc391 libstagefright: unbreak compilation
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-04 20:07:12 +00:00
Luca Barbato d3635f3ab0 compat: wrap math.h to avoid AIX-specific clashes
AIX defines a class() function in its math.h header without any
guard.
2013-07-04 21:54:32 +02:00
Luca Barbato 0420c810ce log: pass the correct parameters to missing_feature_sample
CC:libav-stable@libav.org
2013-07-04 21:25:11 +02:00
Matthieu Bouron 621ab4e4ef lavf/movenc: check ff_mov_init_hinting() return
Fixes a crash when the codec stream is not supported by the rtp muxer.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-04 19:51:40 +02:00
Michael Niedermayer 8a8d9a7385 mpegts: use ffio_ensure_seekback()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-04 19:13:39 +02:00
Michael Niedermayer 186ec17843 avformat/aviobuf: Add ffio_ensure_seekback()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-04 19:13:38 +02:00
Michael Niedermayer 2ca48e4666 avformat: Append data in fill_buffer() when possible
Data is appended in fill_buffer() when there is sufficient space left
and the data pointer only reset when needed.
Previously the data pointer was more often reset, loosing more seekback
space than otherwise needed.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-04 19:13:38 +02:00
Sean McGovern bf18abb2eb Rename "AVClass class" as "AVClass component_class" for external codecs.
The aix header math.h defines "extern int class()" for C.
This fixes compilation on aix with external libraries enabled.

Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-07-04 18:02:17 +02:00
Carl Eugen Hoyos f32b8130f4 Fix opacity and increase colour dynamics of initial vmd palette. 2013-07-04 18:01:08 +02:00
Zhang Rui 4a4c93cb3f avformat/http: support relative url redirection
see also http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-17#section-9.5

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-04 16:16:03 +02:00
Luca Barbato 6a10142faa indeo: reject negative array indexes
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-04 16:06:11 +02:00
Luca Barbato 6dfacd7ab1 indeo: Cosmetic formatting
Trim some overly long lines.
2013-07-04 16:06:10 +02:00
Luca Barbato 62256010e9 indeo: Refactor ff_ivi_init_tiles and ivi_decode_blocks
Spin large and mostly self contained blocks into stand alone
functions.
2013-07-04 16:06:10 +02:00
Luca Barbato f6f36ca8ca indeo: Refactor ff_ivi_dec_huff_desc
Spare an indentation level.
2013-07-04 16:06:10 +02:00
Luca Barbato e6d8acf6a8 indeo: use a typedef for the mc function pointer 2013-07-04 16:06:10 +02:00
Jason Garrett-Glaser d222f6e39e cabac: x86 version of get_cabac_bypass
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-04 16:06:10 +02:00
Paul B Mahol 253e155251 lavfi/crop: support more pixel formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-04 11:46:06 +00:00
Michael Niedermayer 6d05039c7e avcodec/sonic: Fix usage of init_get_bits() and use init_get_bits8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-04 13:40:08 +02:00
Michael Niedermayer b237e6282e avformat/h261dec: use init_get_bits8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-04 13:40:08 +02:00
Michael Niedermayer 8c707a129a avcodec/svq1dec: use init_get_bits8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-04 13:40:08 +02:00
Michael Niedermayer df6acc81a8 avcodec/ra288: use init_get_bits8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-04 13:40:08 +02:00
Paul B Mahol d2ce3b3857 riff: remove invalid fourcc 'exr '
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-04 11:39:58 +00:00
Kostya Shishkov 410066986f aic: use chroma scan tables while decoding luma component in progressive mode
For some unclear reason Apple decided to use the same scan tables for luma and
chroma in the progressive mode while using different ones for luma in the
interlaced mode.
2013-07-04 12:09:45 +02:00
Carl Eugen Hoyos 565140da17 avcodec/rawdec: Fix 2bpp and 4bpp rawvideo in mov
Restores carefully the old behaviour
(and does not break decoding avi samples).
Fixes Ticket2536

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-04 02:54:27 +02:00
Jean Delvare f0bcb13aed lavfi/delogo: avoid propagation of rounding errors in chroma planes
When operating on subsampled chroma planes, some rounding is taking
place. The left and top borders are rounded down while the width and
height are rounded up, so all rounding is done outward to guarantee the
logo area is fully covered.

The problem is that the width and height are counted from the
unrounded left and top borders, respectively. So if the left or top
border position has indeed been rounded down, and the width or height
needs no rounding (up), the position of the the right or bottom border
will be effectively rounded down, i.e. inward.

The issue can easily be seen with a yuv240p input and
  -vf delogo=45:45:60:40:show=1 -vframes 1 delogo-bug.png
(or virtually any logo area with odd x and y and even width and
height.) The right and bottom chroma borders (in green) are clearly
off.

In order to fix this, the width and height must be adjusted to include
the bits lost in the rounding of the left and top border positions,
respectively, prior to being themselves rounded up.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 23:10:57 +02:00
Jean Delvare 99f1d74933 lavfi/delogo: take SAR into account
When interpolating, weights are based on relative distances, which
assume square pixels. If a non-1:1 sample aspect ratio is used, it
should be taken into account when comparing distances, because the
human eye and brain care about the picture as it is displayed, not
stored.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 23:10:46 +02:00
Paul B Mahol a64248d1ec lavu/opt: show default values
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-03 20:32:30 +00:00
Matthieu Bouron 4943eff2cd lavf/movenc: fix writing of some iTunes metadata tag
Fix metadata display under iTunes for files using pgap, hdvd, stick,
tvsn and tves tags.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 17:18:49 +02:00
Michael Niedermayer 13f86baa1d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  jpeg2000: Use the matching coding style struct for transform selection
  jpeg2000: Merge rescaling with interleaving in 9/7 IDWT

No change, all commits & hunks where already in.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 16:42:33 +02:00
Michael Niedermayer 5eb23e6b0a Merge commit '22e18ea39e371030cc78973d1b46aae45a7ea215'
* commit '22e18ea39e371030cc78973d1b46aae45a7ea215':
  jpeg2000: Optimize output sample conversion
  jpeg2000: Reset s->numX/Ytiles on tile deallocation
  jpeg2000: Optimize dequantization
  jpeg2000: Do not assume a single tile
  jpeg2000: Speed up jpeg2000_decode_tile()
  jpeg2000: Use EBCOT's CAUSAL and BYPASS mode in decode_cblk()

Conflicts:
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 16:36:05 +02:00
Michael Niedermayer 19ff6f55e8 Merge commit 'd57c737ac30cf079a342fa649fd4888c2d059dd9'
* commit 'd57c737ac30cf079a342fa649fd4888c2d059dd9':
  jpeg2000: Simplify jpeg2000_decode_packets()
  jpeg2000: Do not crash on NULL node in tag_tree_decode
  jpeg2000: Refactor SOT marker parsing

Conflicts:
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 16:26:01 +02:00
Michael Niedermayer 1abb875c98 Merge commit 'daeb4e3042f2ecae2d41aaa4cae0bed932539788'
* commit 'daeb4e3042f2ecae2d41aaa4cae0bed932539788':
  jpeg2000: Proper cleanup on failure in decode_frame()

Conflicts:
	libavcodec/jpeg2000.c

See: 9d56ccf5

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 16:11:01 +02:00
Michael Niedermayer ee7da5bacc Merge commit '589e5b52f634f6b2d307a167a19eef7e7328cb08'
* commit '589e5b52f634f6b2d307a167a19eef7e7328cb08':
  jpeg2000: Use the correct sizeof in memset for T1 data
  jpeg2000: Simplify init_tile()
  jpeg2000: Update pixel format support

Conflicts:
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 15:45:03 +02:00
Michael Niedermayer 4474111325 Merge commit 'db13e02c6f0355fabd540e77b61ade127d6411ff'
* commit 'db13e02c6f0355fabd540e77b61ade127d6411ff':
  jpeg2000: Compute corrections of sub-band coordinates
  jpeg2000: Remove unneeded variable initialization

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 15:38:55 +02:00
Michael Niedermayer 2328e7e865 Merge commit '5bf208f659703895df7926238dcfa8a8175de36b'
* commit '5bf208f659703895df7926238dcfa8a8175de36b':
  jpeg2000: Use separate fields for int and float codepaths
  jpeg2000: Split int/float codepaths depending on the DWT

Conflicts:
	libavcodec/jpeg2000.c
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 15:30:05 +02:00
Michael Niedermayer 11cf4b7247 Merge commit 'f9581f1414ec8e3e7d0868793cda4f2e4fa113ea'
* commit 'f9581f1414ec8e3e7d0868793cda4f2e4fa113ea':
  jpeg2000: Improve reduced resolution decoding
  jpeg2000: Compute quantization for 'scalar derived' in the correct case.
  jpeg2000: Calculate code-block coord in ff_jpeg2000_init_component()

Conflicts:
	libavcodec/jpeg2000.c
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 15:20:37 +02:00
Michael Niedermayer c7a092cb2d Merge commit '4cbd5ed11b0161a6a192174934b241e0cc0599a9'
* commit '4cbd5ed11b0161a6a192174934b241e0cc0599a9':
  jpeg2000: Fix compute precedence error in lut_gain index
  jpeg2000: Initialize code blocks structures in precincts to 0
  jpeg2000: Check that we have enough components for MCT

Conflicts:
	libavcodec/jpeg2000.c
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 15:03:08 +02:00
Michael Niedermayer 273f600b03 Merge commit 'b564784a207b1395d2b5a41e580539df04651096'
* commit 'b564784a207b1395d2b5a41e580539df04651096':
  jpeg2000: Check that there is a SOT before SOD
  jpeg2000: Remove unneeded returns

Conflicts:
	libavcodec/jpeg2000.c
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 14:59:35 +02:00
Michael Niedermayer ac3ca3d311 Merge commit 'ef35d6dbc6c3b7ba6b13ac13fc8e797cc1268c8f'
* commit 'ef35d6dbc6c3b7ba6b13ac13fc8e797cc1268c8f':
  jpeg2000: Propagate error code from get_cox()
  jpeg2000: Check that nreslevels2decode has been initialized before use

Conflicts:
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 14:50:51 +02:00
Michael Niedermayer 9dfa5ea5dc Merge commit '86a2602e16171ddc10c3ec655c23b16ffa595059'
* commit '86a2602e16171ddc10c3ec655c23b16ffa595059':
  jpeg2000: Drop unused and writeonly fields
  jpeg2000: Correctly calculate sgnd

Conflicts:
	libavcodec/jpeg2000.h
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 14:46:10 +02:00
Michael Niedermayer a4a16821d7 Merge commit 'fd54dd028bc9f7bfb80ebf823a533dc84b73f936'
* commit 'fd54dd028bc9f7bfb80ebf823a533dc84b73f936':
  jpeg2000: check len before parsing header
  jpeg2000: Check component number in get_coc() and get_qcc()

Conflicts:
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 14:38:37 +02:00
Michael Niedermayer 2cad1ea29e Merge commit '17e5d614a8647d51b9795cb8bccf97ee33ca2d58'
* commit '17e5d614a8647d51b9795cb8bccf97ee33ca2d58':
  jpeg2000: Check zero bit-plane validity

Conflicts:
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 14:30:17 +02:00
Michael Niedermayer db5c93a1a9 Merge commit '7e201d575dc4385eb67314b0419d4d77185e65f4'
* commit '7e201d575dc4385eb67314b0419d4d77185e65f4':
  jpeg2000: Validate block lengthinc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 14:28:51 +02:00
Michael Niedermayer f0358dc1d3 Merge commit '278a923c51187d37445d88a6b21082036ec9568d'
* commit '278a923c51187d37445d88a6b21082036ec9568d':
  jpeg2000: Validate SIZ parsing

Conflicts:
	libavcodec/jpeg2000dec.c

This commit is not exactly merged due to bugs in it

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 14:19:35 +02:00
Michael Niedermayer 2e85737b0e Merge commit 'd3cb302b88503c3111e25add196622110c056188'
* commit 'd3cb302b88503c3111e25add196622110c056188':
  jpeg2000: Validate SOT parsing

Conflicts:
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 13:28:35 +02:00
Stefano Sabatini 838bd73139 lavfi: create Libav-API compatibility layer for avfilter_graph_parse() at the next bump
Add function avfilter_graph_parse_ptr() and favor it in place of
avfilter_graph_parse(), which will be restored with the old/Libav
signature at the next bump.

If HAVE_INCOMPATIBLE_LIBAV_API is enabled it will use the
Libav-compatible signature for avfilter_graph_parse().

At the next major bump the current implementation of
avfilter_graph_parse() should be dropped in favor of the Libav/old
implementation.

Should address trac ticket #2672.
2013-07-03 13:21:42 +02:00
Stefano Sabatini 5efbeae38c configure: rename have_incompatible_fork_abi -> have_incompatible_libav_abi
"Fork" is an ambiguous term, since there may be more than one fork, also
"fork" could be confused with the corresponding function. Also it seems
important to point the name of the referenced fork in the symbol.

Note: the old --enable-incompatible-fork-abi command is retained for
compatibility, although it should be considered deprecated.
2013-07-03 13:16:33 +02:00
Michael Niedermayer 7c71ef4f17 Merge commit '57bc64e'
* commit '57bc64e':
  jpeg2000: Use bytestream2
  jpeg2000: Clean up return paths and error messages
  jpeg2000: Define the maximum decomposition levels
  jpeg2000: Check code-block size

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 13:07:45 +02:00
Michael Niedermayer ffed7227c3 Revert "doc: add script to compute texi files dependencies"
This reverts commit 628ceac652.

The commit broke out of tree builds
2013-07-03 12:59:59 +02:00
Michael Niedermayer 57bc64e235 Merge commit '1a3598aae768465a8efc8475b6df5a8261bc62fc'
* commit '1a3598aae768465a8efc8475b6df5a8261bc62fc':
  jpeg2000: Use bytestream2

Conflicts:
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 12:54:01 +02:00
Michael Niedermayer 26f6acc66b Merge commit '5efadcb8cdef6fc5ca5f1f72e45ef3b23016b1c4'
* commit '5efadcb8cdef6fc5ca5f1f72e45ef3b23016b1c4':
  jpeg2000: Clean up return paths and error messages

Conflicts:
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 12:16:24 +02:00
Michael Niedermayer b0448e5123 Merge commit 'be3271009ef893fbed9640e8edbd771685fd957b'
* commit 'be3271009ef893fbed9640e8edbd771685fd957b':
  jpeg2000: Define the maximum decomposition levels

Conflicts:
	libavcodec/jpeg2000.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 12:02:11 +02:00
Michael Niedermayer 3f0364327c Merge commit 'fbcc03db8f3919e2ea46d6ad11a00906b1c0ef0e'
* commit 'fbcc03db8f3919e2ea46d6ad11a00906b1c0ef0e':
  jpeg2000: Check code-block size

Conflicts:
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 11:55:45 +02:00
Stefano Sabatini 759dfd5684 examples/muxing: make more compact audio/video_time computation 2013-07-03 11:31:34 +02:00
Timothy Gu 4ec46b1160 doc/muxers: Add AIFF doc
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-07-03 11:25:45 +02:00
Stefano Sabatini 628ceac652 doc: add script to compute texi files dependencies
Replace the inline awk script with a Perl script which tracks the
dependencies recursively.

This allows to correctly track dependencies for files including files
with a second level include (for example: ffmpeg-devices.texi ->
devices.texi -> outdevs.texi).

This also adds a dependency on perl for computing the dependencies, which
should not be a problem since perl is already required all the way for
building documentation.
2013-07-03 11:25:45 +02:00
Michael Niedermayer 37a970bbb6 Merge commit '5650e331a733711b809bc27f968500f0f5530126'
* commit '5650e331a733711b809bc27f968500f0f5530126':
  jpeg2000: Validate resolution levels

Conflicts:
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 11:20:39 +02:00
Stefano Sabatini b2498dcf5c lavc/avcodec.h: fix prolems -> problems typo 2013-07-03 10:15:30 +02:00
Michael Niedermayer e0be3cbd2b MAINTAINERS: add address to contact "AvxSynth Team"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 02:26:13 +02:00
Tudor Suciu 820ffaed0f avformat/matroskaenc: Allow VP9 and Opus in webm
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 00:10:50 +02:00
Michael Niedermayer 95a57d26d8 jpeg2000: Use the matching coding style struct for transform selection
Fixes a null pointer dereference.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:48 +02:00
Michael Niedermayer 22e18ea39e jpeg2000: Optimize output sample conversion
67935 -> 29984 kcycles

Reviewed-by: Nicolas BERTRAND <nicoinattendu@gmail.com>

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:48 +02:00
Michael Niedermayer c4604b8792 jpeg2000: Merge rescaling with interleaving in 9/7 IDWT
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:48 +02:00
Michael Niedermayer f0552e63a6 jpeg2000: Reset s->numX/Ytiles on tile deallocation
Keep the structure fields more consistent after cleanup.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:48 +02:00
Michael Niedermayer d57c737ac3 jpeg2000: Simplify jpeg2000_decode_packets()
Raise PATCHWELCOME error in case of non-implemented progression order.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Nicolas Bertrand <nicoinattendu@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:47 +02:00
Luca Barbato daeb4e3042 jpeg2000: Proper cleanup on failure in decode_frame()
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:47 +02:00
Michael Niedermayer e11099db20 jpeg2000: Optimize dequantization
Float:   4700 -> 2700 cycles
Integer: 4400 -> 2800 cycles

(sandybridge  i7)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:47 +02:00
Michael Niedermayer 09d5929f37 jpeg2000: Do not crash on NULL node in tag_tree_decode
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:47 +02:00
Michael Niedermayer c1dcbc590d jpeg2000: Do not assume a single tile
In preparation of supporting multiple tiles.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:47 +02:00
Michael Niedermayer aa16bbaf9b jpeg2000: Refactor SOT marker parsing
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:47 +02:00
Michael Niedermayer 53d5d89c1b jpeg2000: Speed up jpeg2000_decode_tile()
Skip processing bands with dimension set to 0.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:47 +02:00
Michael Niedermayer 64f6570c6e jpeg2000: Use EBCOT's CAUSAL and BYPASS mode in decode_cblk()
Speed it up a bit.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:47 +02:00
Michael Niedermayer 589e5b52f6 jpeg2000: Use the correct sizeof in memset for T1 data
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:46 +02:00
Michael Niedermayer db13e02c6f jpeg2000: Compute corrections of sub-band coordinates
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:46 +02:00
Michael Niedermayer 5bf208f659 jpeg2000: Use separate fields for int and float codepaths
Split stepsize and data into int and float variants.
Eliminates a number of casts and simplifies spotting errors.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:46 +02:00
Michael Niedermayer f9581f1414 jpeg2000: Improve reduced resolution decoding
Correctly scale down the component coordinates and
clean up some redundant code.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:46 +02:00
Michael Niedermayer 5b73916d34 jpeg2000: Simplify init_tile()
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:46 +02:00
Michael Niedermayer 690c8af97b jpeg2000: Remove unneeded variable initialization
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:46 +02:00
Michael Niedermayer a458b91cf4 jpeg2000: Split int/float codepaths depending on the DWT
DWT53 is always int, DWT97 is always float.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:46 +02:00
Michael Niedermayer 33e665a6ab jpeg2000: Update pixel format support
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:46 +02:00
Michael Niedermayer 4cbd5ed11b jpeg2000: Fix compute precedence error in lut_gain index
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:45 +02:00
Michael Niedermayer b564784a20 jpeg2000: Check that there is a SOT before SOD
Avoid overreads.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:45 +02:00
Michael Niedermayer ef35d6dbc6 jpeg2000: Propagate error code from get_cox()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:45 +02:00
Michael Niedermayer 952f7ed3c0 jpeg2000: Compute quantization for 'scalar derived' in the correct case.
Scalar derived case is represented by the JPEG2K_QSTY_SI define.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:45 +02:00
Michael Niedermayer b44925ae6b jpeg2000: Initialize code blocks structures in precincts to 0
Prevent use of uninitialized memory / valgrind failure.

Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:45 +02:00
Michael Niedermayer 2c3901b2c3 jpeg2000: Remove unneeded returns
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:45 +02:00
Michael Niedermayer 78962d3df4 jpeg2000: Check that nreslevels2decode has been initialized before use
Avoid buffer overread.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:45 +02:00
Michael Niedermayer 4e11b15534 jpeg2000: Calculate code-block coord in ff_jpeg2000_init_component()
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Nicolas Bertrand <nicoinattendu@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:45 +02:00
Michael Niedermayer cf04af2086 jpeg2000: Check that we have enough components for MCT
Avoid overread.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:45 +02:00
Michael Niedermayer 86a2602e16 jpeg2000: Drop unused and writeonly fields
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:44 +02:00
Michael Niedermayer fd54dd028b jpeg2000: check len before parsing header
Avoid overread.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:44 +02:00
Michael Niedermayer 17e5d614a8 jpeg2000: Check zero bit-plane validity
Prevent integer overflows.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:44 +02:00
Luca Barbato 7e201d575d jpeg2000: Validate block lengthinc
Currently we are using an array with a static data size.

Similar to a patch with the same purpose by Michael Niedermayer.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:44 +02:00
Michael Niedermayer 278a923c51 jpeg2000: Validate SIZ parsing
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:44 +02:00
Michael Niedermayer d3cb302b88 jpeg2000: Validate SOT parsing
Avoid some overreads.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:44 +02:00
Michael Niedermayer ac921338a4 jpeg2000: Correctly calculate sgnd
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:44 +02:00
Michael Niedermayer eae63e3c15 jpeg2000: Check component number in get_coc() and get_qcc()
Avoid overreads.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Nicolas Bertrand <nicoinattendu@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:44 +02:00
Michael Niedermayer 1a3598aae7 jpeg2000: Use bytestream2
Prevent a number of overreads.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:43 +02:00
Luca Barbato 5efadcb8cd jpeg2000: Clean up return paths and error messages
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:43 +02:00
Luca Barbato be3271009e jpeg2000: Define the maximum decomposition levels
And define the resolution levels according.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:43 +02:00
Michael Niedermayer fbcc03db8f jpeg2000: Check code-block size
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Nicolas Bertrand <nicoinattendu@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:43 +02:00
Luca Barbato 5650e331a7 jpeg2000: Validate resolution levels
There are 32 maximum decomposition levels, thus 33 resolution levels.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:43 +02:00
wm4 c3316ddb83 lavf: add support for libgme
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 18:52:45 +02:00
Jean Delvare 0472f64c55 Add a maintainer for the delogo filter
I volunteer to maintain the delogo filter for at least the year to
come.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
patch/commit split by commiter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 16:39:27 +02:00
Jean Delvare de8d56c6e3 MAINTAINERS: clarify the expected format in the document header
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Patch/commit split by commiter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 16:38:23 +02:00
Michael Niedermayer d59ec0adbb avformat_find_stream_info: move ret init down from flush codecs.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 15:07:51 +02:00
Michael Niedermayer c5ddd75354 avformat_find_stream_info: Do not consider no streams an error in flush codecs
This should have no functional effect, but allows a cleaner diff when moving it
down

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 15:07:51 +02:00
Michael Niedermayer c826c5698b avformat_find_stream_info: try to preserve the error code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 15:07:51 +02:00
Michael Niedermayer ccba9535dc av_find_stream_info: initialize ret
This should fix hypothetical corner cases where it might have never been initialized before use

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 15:07:44 +02:00
Carl Eugen Hoyos 2492f7774f avformat: Print "Consider increasing the value for analzeduration and probesize" even more often
The sample from ticket #2691 currently does not trigger "Consider increasing
the value for analzeduration and probesize" because the audio streams are
only added after calling estimate_timings(). Attached patch moves the message
below this function call.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 14:08:36 +02:00
Michael Niedermayer a478e99a60 avutil/x86: reenable ff_update_lls_avx()
The bug has been fixed in c8b920a9b7 by Loren Merritt

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 12:02:08 +02:00
Michael Niedermayer 951a365504 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  oggdec: do not fall back on binary search in the generic code.

Conflicts:
	libavformat/oggdec.c
	tests/ref/seek/lavf-ogg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 11:50:30 +02:00
Michael Niedermayer d1fa671895 Merge commit 'c8b920a9b7fa534a6141695ace4e8c2dfcd56cee'
* commit 'c8b920a9b7fa534a6141695ace4e8c2dfcd56cee':
  lls/x86: use 3-operator vaddpd in ADDPD_MEM

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 11:40:44 +02:00
Michael Niedermayer bc62b24d11 Merge commit '8bd9039900e67a633cc838d691c449e71c060553'
* commit '8bd9039900e67a633cc838d691c449e71c060553':
  Revert "indeo5: reject negative motion vectors"

See: cc53c28fdc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 11:27:26 +02:00
Anton Khirnov 8ad3267ce3 oggdec: do not fall back on binary search in the generic code.
Binary search is already attempted in the format-specific seek function,
so the fallback is only reached if binary search failed already.
2013-07-02 10:37:22 +02:00
Loren Merritt c8b920a9b7 lls/x86: use 3-operator vaddpd in ADDPD_MEM
Fixes build with yasm-1.1

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-07-02 10:15:09 +02:00
Michael Niedermayer a35494c566 h264: fix indention of xchg_mb_border()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 03:27:14 +02:00
Michael Niedermayer f27b22b497 h264: move 444 border xchg under if (deblock_top)
Fixes out of array access
Fixes Ticket2668

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 03:27:04 +02:00
wm4 a92fbe16f2 lavf/http: add support for reading streamcast metadata
Allow applications to request reading streamcast metadata. This uses
AVOptions as API, and requires the application to explicitly request
and read metadata. Metadata can be updated mid-stream; if an
application is interested in that, it has to poll for the data by
reading the "icy_metadata_packet" option in regular intervals.

There doesn't seem to be a nice way to transfer the metadata in a nicer
way. Converting the metadata to ID3v2 tags might be a nice idea, but
the libavformat mp3 demuxer doesn't seem to read these tags mid-stream,
and even then we couldn't guarantee that tags are not inserted in the
middle of mp3 packet data.

This commit provides the minimum to enable applications to retrieve
this information at all.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-07-02 02:00:56 +02:00
Michael Niedermayer bf87908cd8 rmdec: Pass AVIOContext to rm_read_metadata()
Fix null pointer dereference
Fixes Ticket2588

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 00:45:15 +02:00
Paul B Mahol e1b0d3a389 westwood_vqa: check return value of av_malloc()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-01 22:15:25 +00:00
Paul B Mahol 16e0416fa4 idcin: check return value of av_malloc()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-01 22:04:48 +00:00
Paul B Mahol 51f1bf3309 bfi: check return value of av_malloc()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-01 21:37:16 +00:00
Michael Niedermayer b791a0831b avcodec/x86/dsputil_init: only use xvid idct for lowres=0
Fixes crash
Fixes Ticket2714

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-01 20:56:37 +02:00
Stefano Sabatini 7ebab4159a doc/encoders: apply various fixes to libmp3lame documentation 2013-07-01 16:00:37 +02:00
Michael Niedermayer 38f1d56769 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  indeo: check for reference when inheriting mvs

See: 4b35ee0b7c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-01 12:11:29 +02:00
Michael Niedermayer cc53c28fdc Merge commit '1194a410807bac3eafbeb632578b937656d273e7'
* commit '1194a410807bac3eafbeb632578b937656d273e7':
  indeo5: reject negative motion vectors

The added check is wrong and thus not merged.
A correct check already exists in avcodec.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-01 11:58:14 +02:00
Michael Niedermayer 280afa40bc Merge commit 'dd3754a48854cd570d38db72394491aab0f36570'
* commit 'dd3754a48854cd570d38db72394491aab0f36570':
  indeo: use proper error code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-01 11:37:37 +02:00
Michael Niedermayer 43229d609a Merge commit '7388c0c58601477db076e2e74e8b11f8a644384a'
* commit '7388c0c58601477db076e2e74e8b11f8a644384a':
  indeo: Properly forward the error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-01 11:31:25 +02:00
Jean Delvare 16fd75ceec lavfi/delogo: use weighted interpolation
The original delogo algorithm interpolates both horizontally and
vertically and uses the average to compute the resulting sample. This
works reasonably well when the logo area is almost square. However
when the logo area is significantly larger than high or higher than
large, the result is largely suboptimal.

The issue can be clearly seen by testing the delogo filter with a fake
logo area that is 200 pixels large and 2 pixels high. Vertical
interpolation gives a very good result in that case, horizontal
interpolation gives a very bad result, and the overall result is poor,
because both are given the same weight.

Even when the logo is roughly square, the current algorithm gives poor
results on the borders of the logo area, because it always gives
horizontal and vertical interpolations an equal weight, and this is
suboptimal on borders. For example, in the middle of the left hand
side border of the logo, you want to trust the left known point much
more than the right known point (which the current algorithm already
does) but also much more than the top and bottom known points (which
the current algorithm doesn't do.)

By properly weighting each known point when computing the value of
each interpolated pixel, the visual result is much better, especially
on borders and/or for high or large logo areas.

The algorithm I implemented guarantees that the weight of each of the
4 known points directly depends on its distance to the interpolated
point. It is largely inspired from the original algorithm, the key
difference being that it computes the relative weights globally
instead of separating the vertical and horizontal interpolations and
combining them afterward.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-07-01 09:33:33 +02:00
Luca Barbato 8bd9039900 Revert "indeo5: reject negative motion vectors"
Negative motion vectors are possible.

This reverts commit 1194a41080.
2013-07-01 06:49:46 +02:00
Luca Barbato b36e1893ef indeo: check for reference when inheriting mvs
The same is done already for qdelta.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-01 04:20:58 +02:00
Luca Barbato 1194a41080 indeo5: reject negative motion vectors
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-01 04:20:51 +02:00
Luca Barbato dd3754a488 indeo: use proper error code 2013-07-01 04:17:46 +02:00
Luca Barbato 7388c0c586 indeo: Properly forward the error codes
If the tile data size does not match the buffer size it did not
return an AVERROR_INVALIDDATA causing futher corruption later.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-01 04:17:46 +02:00
Carl Eugen Hoyos b42bcaef29 Avoid a null pointer dereference in avcodec_decode_audio4().
This could happen if oom occured while probing a file.
Fixes ticket #2722.
2013-07-01 03:07:44 +02:00
Michael Niedermayer ec837a0899 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: always send zero packets to flush audio decoders
  ffplay: use frame->pkt_pts instead of pkt->pts in audio pts calculation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-01 02:41:26 +02:00
Michael Niedermayer a6e46ed51a Revert "avutil/x86: disable ff_evaluate_lls_sse2() for 32bit"
This reverts commit 247425241c.
2013-07-01 02:27:47 +02:00
Michael Niedermayer 4e488ac5f5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: lpc: fix a segfault in av_evaluate_lls_sse2()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-01 02:26:22 +02:00
Michael Niedermayer 709cae2bcb vorbisdec: Check VLC tables during use instead of setup
Fixes regression and Ticket2720

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-01 02:09:29 +02:00
Michael Niedermayer ae038c0914 vorbisdec: propagate errors from setup_classifs()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-01 02:08:50 +02:00
Loren Merritt 1221bb6239 x86: lpc: fix a segfault in av_evaluate_lls_sse2() 2013-06-30 23:11:19 +00:00
Marton Balint 02fc61a5a6 ffplay: always send zero packets to flush audio decoders
Zero packets are needed not for codecs with CODEC_CAP_DELAY but for
multithreaded decoders as well.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-07-01 00:24:03 +02:00
Marton Balint 447d2e31d1 ffplay: use frame->pkt_pts instead of pkt->pts in audio pts calculation
Fixes ticket #2717.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-07-01 00:24:03 +02:00
Carl Eugen Hoyos 712ef25116 Avoid a null pointer dereference after oom on frame size change in mpegvideo.c.
Fixes ticket #2735.
2013-06-30 23:45:37 +02:00
Carl Eugen Hoyos f4aa8085f2 Avoid a null pointer dereference on oom in the aac encoder.
Fixes ticket #2732.
2013-06-30 23:25:18 +02:00
Paul B Mahol 84343dd9d3 indeo3: check return values of av_malloc()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-30 19:43:55 +00:00
Michael Niedermayer b00e56bec5 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Support compilation on aix with gcc.
  Rename "AVClass class" as "AVClass component_class".
  Rename constant FRAMESIZE in ra144 codec as FRAME_SIZE.
  Rename thread_init() in libavcodec and libavfilter as library_thread_init().
  Rename constant HZ in af_biquads.c as HERTZ.
  Drop local lable from ppc asm timer.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 21:18:17 +02:00
Michael Niedermayer 247425241c avutil/x86: disable ff_evaluate_lls_sse2() for 32bit
It just segfaults on 32bit, thus its disabled until someone fixes it.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 19:03:57 +02:00
Paul B Mahol 7e112df470 flac_parser: check return value of av_fifo_alloc()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-30 16:49:45 +00:00
Matthieu Bouron 9e6d063dbc lavf/movenc: use ffio_fill()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 16:28:51 +02:00
Michael Niedermayer 4e99660493 mpegts: use seek_back() for all seek backs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 16:23:50 +02:00
Michael Niedermayer a5f23d8da0 mpegts: factor seek_back() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 16:23:46 +02:00
Michael Niedermayer b7c6685268 mpegts_read_header: goto fail instead of return directly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 16:23:42 +02:00
Michael Niedermayer afddf0d910 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mjpeg: Check the unescaped size for overflows

Conflicts:
	libavcodec/mjpegdec.c

See: a9456c7c5c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 14:11:38 +02:00
Michael Niedermayer e3fb8ac956 Merge commit '7520d9779c6d30b385df5a0a42da508238076192'
* commit '7520d9779c6d30b385df5a0a42da508238076192':
  mjpeg: Move code out of else branch

Conflicts:
	libavcodec/mjpegdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 13:50:55 +02:00
Carl Eugen Hoyos f803e0dc0e Support compilation on aix with gcc.
Shared libraries and the IBM compiler are currently not supported.
"--arch=ppc" has to be passed to configure, uname is not compatible.
2013-06-30 13:47:45 +02:00
Carl Eugen Hoyos 0915b531bc Rename "AVClass class" as "AVClass component_class".
The aix header math.h defines "extern int class()" for C.
2013-06-30 13:47:45 +02:00
Carl Eugen Hoyos 742b961769 Rename constant FRAMESIZE in ra144 codec as FRAME_SIZE.
The aix header sys/mstsave.h defines FRAMESIZE as _FRAMESIZE.
2013-06-30 13:47:45 +02:00
Carl Eugen Hoyos 674d8a9629 Rename thread_init() in libavcodec and libavfilter as library_thread_init().
The aix header sys/thread.h contains a definition for thread_init().
2013-06-30 13:47:45 +02:00
Carl Eugen Hoyos 33f5d70df5 Rename constant HZ in af_biquads.c as HERTZ.
The aix header sys/m_param.h defines HZ as _HZ.
2013-06-30 13:47:45 +02:00
Carl Eugen Hoyos 6258e86d4b Drop local lable from ppc asm timer.
The aix assembler does not support local lables.
2013-06-30 13:47:44 +02:00
Michael Niedermayer 06549cee42 Merge commit '7798a59dc14ae27efe64e639a42646002608a908'
* commit '7798a59dc14ae27efe64e639a42646002608a908':
  avconv: Don't include colorspace.h

No change as the commit is already part of ffmpeg.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 13:43:05 +02:00
Michael Niedermayer c1fc4ff937 Merge commit '02ec656af72030eea4f3d63e30b25625cce6a3df'
* commit '02ec656af72030eea4f3d63e30b25625cce6a3df':
  wmapro: error out on impossible scale factor offsets

The check is replaced by an assert(), as the condition cannot be
true except through bugs elsewhere (which should have been fixed
already)

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 13:35:36 +02:00
Michael Niedermayer 490ed7f0ec Merge commit 'd4a217a408da4bd63acc02cd8f9ebe378a2ad65a'
* commit 'd4a217a408da4bd63acc02cd8f9ebe378a2ad65a':
  wmapro: check the min_samples_per_subframe

Conflicts:
	libavcodec/wmaprodec.c

See: 9166f483c5

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 13:21:49 +02:00
Michael Niedermayer 97947d9bba Merge commit '183880cfc4aae53ce504e13337791cad5841c80c'
* commit '183880cfc4aae53ce504e13337791cad5841c80c':
  pictor: use the correct logging context

No change, as this has already been fixed

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 13:04:40 +02:00
Michael Niedermayer e27be795f0 avcodec/lpc: Use a function pointer from an initialized context
Fixes null pointer dereference

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 12:40:16 +02:00
Michael Niedermayer 32a3955259 Merge commit 'c93ccf5a4cca722b39f05e9f5660b4cb75bc1740'
* commit 'c93ccf5a4cca722b39f05e9f5660b4cb75bc1740':
  lpc: use levinson for the first pass of multipass cholesky

Conflicts:
	libavcodec/lpc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 12:26:58 +02:00
Michael Niedermayer 6e76e6a05a Merge commit 'b545179fdff1ccfbbb9d422e4e9720cb6c6d9191'
* commit 'b545179fdff1ccfbbb9d422e4e9720cb6c6d9191':
  x86: lpc: simd av_evaluate_lls

Conflicts:
	libavutil/x86/lls.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 12:15:12 +02:00
Michael Niedermayer a285079bc7 lls.asm: disable ff_update_lls_avx
The code doesnt build with yasm from ubuntu 12.04

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 12:12:11 +02:00
Michael Niedermayer 0b40c50508 lls.asm: put avx code under if HAVE_AVX_EXTERNAL
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 12:12:01 +02:00
Michael Niedermayer 78b5479633 Merge commit '502ab21af0ca68f76d6112722c46d2f35c004053'
* commit '502ab21af0ca68f76d6112722c46d2f35c004053':
  x86: lpc: simd av_update_lls

The versions are bumped due to changes in lls.h which is used across
libraries affecting intra library ABI
(This version bump also covers changes to lls.h in the immedeatly previous
 commits)

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 11:35:52 +02:00
Michael Niedermayer c93a424718 Merge commit '41578f70cf8aec8e7565fba1ca7e07f3dc46c3d2'
* commit '41578f70cf8aec8e7565fba1ca7e07f3dc46c3d2':
  lpc: use function pointers, in preparation for asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 11:23:43 +02:00
Michael Niedermayer d3bd320e63 Merge commit 'cc6714bb16b1f0716ba43701d47273dbe9657b8b'
* commit 'cc6714bb16b1f0716ba43701d47273dbe9657b8b':
  lpc: remove "decay" argument

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 10:54:20 +02:00
Luca Barbato 6765ee7b9c mjpeg: Check the unescaped size for overflows
And contextually check init_get_bits success and fix the reporting
message.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-30 08:48:51 +02:00
Luca Barbato 7520d9779c mjpeg: Move code out of else branch
Simplify the control flow and spare some vertical space.
2013-06-30 08:46:55 +02:00
Michael Niedermayer ff130d7363 get_xbits: assert validity of the number of bits
similar is already done in the other get_bits() functions

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 01:40:18 +02:00
Michael Niedermayer 68efb1d60a 4xm: Dont ignore dc run errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 01:35:22 +02:00
Michael Niedermayer 13c56e9a9c 4xm: check for invalid zero ac coeffs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 01:35:22 +02:00
Michael Niedermayer 6d6eabd399 mjpeg_decode_dc: check code before using it in get_xbits()
Fixes undefined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 01:35:22 +02:00
Derek Buitenhuis 58950ca0df ffmpeg: Don't include colorspace.h
The header is private, and ffmpeg.c doesn't use it
for anything.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-29 16:44:12 -04:00
Michael Niedermayer a2802d3cd4 get_pix_fmt_score: favor equal formats if all else equal
Fixes Ticket2578

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 22:20:20 +02:00
Derek Buitenhuis 7798a59dc1 avconv: Don't include colorspace.h
The header is private, and avconv.c doesn't use it
for anything.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-29 14:24:02 -04:00
Michael Niedermayer 7f866c14ba update all trac links to use the trac subdomain
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 19:27:49 +02:00
Michael Niedermayer a2e50fa068 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Avoid a null pointer dereference on clean-up after oom in ac3 encoder.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 19:16:49 +02:00
Luca Barbato 02ec656af7 wmapro: error out on impossible scale factor offsets
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-29 18:11:59 +02:00
Luca Barbato d4a217a408 wmapro: check the min_samples_per_subframe
Must be at least WMAPRO_BLOCK_MIN_SIZE.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-29 18:11:40 +02:00
Luca Barbato 183880cfc4 pictor: use the correct logging context
Broken in 6d97484d72
2013-06-29 18:11:12 +02:00
Reuben Martin 2fa89b2736 Added codec ID to playback DNxHD
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 18:02:37 +02:00
Carl Eugen Hoyos 225f78b7ef Avoid a null pointer dereference on clean-up after oom in ac3 encoder. 2013-06-29 17:50:07 +02:00
Carl Eugen Hoyos 90bd75e6eb Avoid a null pointer dereference on oom when decoding smacker.
Fixes ticket #2728.
2013-06-29 16:04:07 +02:00
Carl Eugen Hoyos a1dbe49d02 Propagate error return values from the smacker decoder. 2013-06-29 16:02:43 +02:00
Carl Eugen Hoyos ac83d62136 Avoid a null pointer dereference on oom when decoding vc1.
Fixes ticket #2723.
2013-06-29 14:49:47 +02:00
Stefano Sabatini d47168e729 doc/muxers: apply various minor fixes to segment documentation 2013-06-29 14:12:11 +02:00
Stefano Sabatini f150db096d doc/muxers: sort muxers by name 2013-06-29 14:12:11 +02:00
Loren Merritt c93ccf5a4c lpc: use levinson for the first pass of multipass cholesky
Levinson is faster, and cholesky is only needed if we want to apply different
weights to different samples, which doesn't happen on the first pass.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-29 13:26:52 +02:00
Loren Merritt b545179fdf x86: lpc: simd av_evaluate_lls
1.5x-1.8x faster on sandybridge

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-29 13:23:57 +02:00
Loren Merritt 502ab21af0 x86: lpc: simd av_update_lls
4x-6x faster on sandybridge

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-29 13:23:57 +02:00
Loren Merritt 41578f70cf lpc: use function pointers, in preparation for asm
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-29 13:23:57 +02:00
Loren Merritt cc6714bb16 lpc: remove "decay" argument
We never used the rolling-average mode, and this makes av_update_lls 15% faster.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-29 13:23:57 +02:00
Michael Niedermayer a3e9f4c32a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wmapro: check num_vec_coeffs against the actual available buffer

Conflicts:
	libavcodec/wmaprodec.c

The check is replaced by an assert.

See: b21ba20cc8

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 12:23:56 +02:00
Michael Niedermayer 562e8d019b Merge commit '6652338f43ef623045912d7f28b61adea05d27ae'
* commit '6652338f43ef623045912d7f28b61adea05d27ae':
  wmapro: return early on unsupported condition

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 11:47:26 +02:00
Michael Niedermayer 3e33db3f65 Merge commit 'e30b068ef79f604ff439418da07f7e2efd01d4ea'
* commit 'e30b068ef79f604ff439418da07f7e2efd01d4ea':
  wmapro: make sure there is room to store the current packet

The check is replaced by an assert as it is impossible to occur
See: 780d45473c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 11:37:09 +02:00
Michael Niedermayer c1343897c3 Merge commit 'afe03092dd693d025d43e1620283d8d285c92772'
* commit 'afe03092dd693d025d43e1620283d8d285c92772':
  lavc: move put_bits_left in put_bits.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 10:59:04 +02:00
Michael Niedermayer 53fd1ab26b avformat: make av_register_*put_format() thread safe
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 03:46:10 +02:00
Michael Niedermayer b36b5edb8f avcodec/bitstream_filter: make av_register_bitstream_filter() thread safe
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 03:39:03 +02:00
Michael Niedermayer 08f6fdc3e4 avcodec/parser: Make av_register_codec_parser() thread safe
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 03:32:57 +02:00
Michael Niedermayer 8738d94274 avcodec: Make av_register_hwaccel() and avcodec_register() thread safe
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 03:28:58 +02:00
Timothy Gu a9bbf59be7 cosmetics: Fix "dont" "wont" "doesnt" typos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 02:31:16 +02:00
Michael Chinen fc736a99ea flac_parser.c: fix case when final frame is a false positive
Should fix https://ffmpeg.org/trac/ffmpeg/ticket/2552
Only did minimal testing on a few files and fate.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 00:31:14 +02:00
Michael Niedermayer 804c7b2c62 udp: Fix receiving large udp packets
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 00:10:15 +02:00
Paul B Mahol 36748d4b6c tak_parser: properly mark packets as key frames
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-28 21:31:14 +00:00
Carl Eugen Hoyos 2bccd82c29 Do not list libshine like a main option in configure's output.
It is listed as an enabled external library if applicable.
2013-06-28 16:23:39 +02:00
Luca Barbato 3822936252 wmapro: check num_vec_coeffs against the actual available buffer
Prevent yet another buffer overwrite.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-28 13:16:35 +02:00
Luca Barbato 6652338f43 wmapro: return early on unsupported condition
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-28 13:16:00 +02:00
Luca Barbato e30b068ef7 wmapro: make sure there is room to store the current packet
Prevent horrid and hard to trace struct overwrite.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-28 13:15:40 +02:00
Luca Barbato afe03092dd lavc: move put_bits_left in put_bits.h 2013-06-28 13:14:12 +02:00
Timothy Gu 7eb5288f17 doc/decoders: document libopus decoder
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-06-28 13:09:10 +02:00
Timothy Gu 934df3b037 doc/encoders: alphabetically list the encoders
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-06-28 13:07:15 +02:00
Michael Niedermayer 2236456715 avfilter/avfilter: Make avfilter_register() thread safe
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-28 12:44:03 +02:00
Michael Niedermayer 16310e36d9 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Avoid a null pointer dereference in avcodec_decode_video2().
  Set block_align when reading QDM2 in mov.
  Fix muxing QDM2 mono into caf.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-28 10:14:16 +02:00
Michael Niedermayer 831e749bc9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aac: return meaningful errors

Conflicts:
	libavcodec/aacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-28 10:08:43 +02:00
Michael Niedermayer 1bcfb1eea8 Merge commit '6d8629aac13692447b54eac795bf74007ebf8987'
* commit '6d8629aac13692447b54eac795bf74007ebf8987':
  aac: K&R formatting cosmetics

Conflicts:
	libavcodec/aacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-28 10:00:51 +02:00
Carl Eugen Hoyos 41f3c60fbb Avoid a null pointer dereference in avcodec_decode_video2().
This could happen if oom occured while probing a file.
Reported in ticket #1900.
2013-06-28 09:04:43 +02:00
Carl Eugen Hoyos f91833210e Set block_align when reading QDM2 in mov.
Fixes ticket #2718.
2013-06-28 09:04:16 +02:00
Carl Eugen Hoyos 7f1b3c2ca6 Fix muxing QDM2 mono into caf. 2013-06-28 09:04:16 +02:00
Michael Niedermayer ef90639004 avfilter/vf_mp: preserve pixel format when possible
Fixes Ticket2577

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-28 03:32:00 +02:00
Reuben Martin 86190afbda gxf: Added codec ID to playback AVCHD
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-27 18:13:45 +02:00
Stefano Sabatini 7eb6eb03d8 lavc/mpegvideo_enc: simplify timestamp checks in load_input_picture()
Also improve error feedback while at it.
2013-06-27 17:46:52 +02:00
Reuben Martin c4db4b1756 Added GXF format code to identify AVC Intra video streams. This was an extension to the origional GXF spec implemented by Grass Valley.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-27 17:40:01 +02:00
Reuben Martin 7ebf3ab959 gxf: Factorize code in get_sindex()
Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-27 17:18:59 +02:00
Reuben Martin 0de9d3dd1c gxf: Added GXF format code 25 which is used for DV codec in HD resolutions
Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-27 17:18:41 +02:00
Nigel Touati-Evans 42bd0cd21a Fix copying extradata to codec in mxfdec.c
The code that copies any extradata from the MXFDescriptor to the codec does
not set the size, which it should otherwise the copied data is useless.
Attached it a patch to correct this.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-27 13:32:48 +02:00
Michael Niedermayer e4198d2fc3 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: simplify and fix flushing out old subtitles on seeking

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-27 02:01:44 +02:00
Luca Barbato 07c52e2c7c aac: return meaningful errors 2013-06-27 01:22:36 +02:00
Luca Barbato 6d8629aac1 aac: K&R formatting cosmetics 2013-06-27 01:22:06 +02:00
Stefano Sabatini 5c616fe48b ffprobe: always exit 1 in case of errors
This is consistent with the other ff* tools, and also avoids spurious
success reports when ret%256 = 0.
2013-06-27 00:20:36 +02:00
Stefano Sabatini 1fc626f8d0 ffprobe: reindent after previous commit 2013-06-27 00:20:28 +02:00
Nicolas George a334b00cf6 ffprobe: fix exit code with stream specifiers
Without this fix, ffprobe would exit with a failure exit code if a stream
specifier is given that selects the last stream.

Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
2013-06-27 00:20:20 +02:00
Stefano Sabatini 205092bf47 ffprobe: simplify branching logic in probe_file() 2013-06-27 00:20:11 +02:00
Stefano Sabatini 80b56a7bdd examples/muxing: rename audio/video_pts to audio/video_time
The new name is less confusing, since the variables represent times
rather than timestamps.
2013-06-26 23:38:42 +02:00
Stefano Sabatini db7ebab5c3 doc/bitstream_filters: document the chomp filter
TODO: add some meaningful examples.
2013-06-26 23:22:48 +02:00
Stefano Sabatini 7b38c4c95f doc/bitstream-filters.texi: add documentation for the aac_adtstoasc filter
Based on the notes in libavcodec/aac_adtstoasc_bsf.c.
2013-06-26 23:22:39 +02:00
Stefano Sabatini 418b9454ff lavf/movenc: improve error feedback in case malformed AAC bitstream is detected
Consistent with the FLV muxer.
2013-06-26 23:22:31 +02:00
Stefano Sabatini 08b99be7c4 lavf/mux: rename variable cortag -> tagbuf2 in init_muxer()
Possibly enhance readibility.
2013-06-26 23:22:22 +02:00
Stefano Sabatini 47c9887eca lavc/utils: improve feedback in case of invalid packet size 2013-06-26 23:22:13 +02:00
Stefano Sabatini c58d535b2f examples/Makefile: disable -O2 optimizations
There is no much point in optimizing example code, and the -O2 flag is
annoying when debugging.
2013-06-26 23:21:39 +02:00
Stefano Sabatini 3aa57e1582 examples/muxing: remove useless instruction
Simpler and less confusing.
2013-06-26 23:21:06 +02:00
Marton Balint 9fac752afa ffplay: simplify and fix flushing out old subtitles on seeking
Fixes the additional issue reported in ticket #2666.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-06-26 22:30:16 +02:00
Jean Delvare ff995e2b6f doc/filters: Fix texi syntax
Commit f1efaf8371 used parentheses
instead of curly braces in texi syntax, resulting in warnings when
the documentation is generated. Fix that.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-26 21:23:20 +02:00
Michael Niedermayer 034b31df2c swscale: Fix PAL8 input with alpha
Fixes Ticket2158

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-26 15:14:00 +02:00
Michael Niedermayer ee97982408 avfilter/src_movie: Fix handling of packet size for video
See Ticket2556

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-26 13:46:19 +02:00
Michael Niedermayer 87bc648930 libavfilter/src_movie: fix which packet is reset
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-26 13:06:11 +02:00
Carl Eugen Hoyos 1235e91b30 Require pthreads for compilation with OpenCL support.
Fixes a part of ticket #2422.

Reviewed-by: James Almer
2013-06-26 09:46:09 +02:00
Carl Eugen Hoyos 35aed74fdc Use AV_RN32 for an unaligned read in the mxg demuxer.
Fixes ticket #2707.
2013-06-26 09:33:44 +02:00
wm4 e59fb3f8b1 lavf: silence max_analyze_duration warning
This is part of normal operation with some formats. A warning should
indicate that something is wrong, and the documentation for AV_LOG_WARNING
says: "Something somehow does not look correct."

Since this message is most likely useful for debugging only, raise the
log level accordingly.

Plus-one-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-26 01:36:27 +02:00
Michael Niedermayer d3788558b0 avcodec/cllc: Fix clobbered ff_get_buffer() change
Issue-since: 9328ae4843

Found-by: Daemon404
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-26 01:21:43 +02:00
Michael Niedermayer 73215fe30a vf_drawbox: give all v_log() a context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-26 00:54:08 +02:00
Michael Niedermayer 47da9b2c51 vf_drawbox: avoid declaration in for() arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-26 00:52:16 +02:00
Michael Niedermayer f1efaf8371 Merge branch 'drawbox_exprs' of https://github.com/mjmvisser/FFmpeg
* 'drawbox_exprs' of https://github.com/mjmvisser/FFmpeg:
  enabled expressions on x, y, w, h and t parameters for drawgrid and drawbox, added examples

Reviewed-by: Andrey Utkin
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-26 00:33:41 +02:00
Paul B Mahol ad194b0487 xa: abort if number of channels or sample rate is 0
Fixes #2711.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-25 22:24:55 +00:00
Luca Barbato da8c9b324c lxfdec: remove wrong and unneeded check
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-25 19:38:00 +00:00
Stefano Sabatini 4b6cf1ce0e examples/muxing: vertically align 2013-06-25 21:36:53 +02:00
Stefano Sabatini 0a3589bf2f lavc/pngdec: return meaningful error codes 2013-06-25 21:28:56 +02:00
Mark Visser 84f571e37f enabled expressions on x, y, w, h and t parameters for drawgrid and drawbox, added examples 2013-06-25 11:38:59 -04:00
Michael Niedermayer 015cc3239a lavfi/movie: free packet on decoder error
Prevents infinite loop, see Ticket2556

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-25 13:37:40 +02:00
Michael Niedermayer 876e960d90 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Do not omit frame pointers for msvc/icl debug builds

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-25 11:34:48 +02:00
Michael Niedermayer 767e171c9a Merge commit '9f4a16c52ea8f2383244587ea4cb534fe7f6da49'
* commit '9f4a16c52ea8f2383244587ea4cb534fe7f6da49':
  configure: Do not explicitly set Oy for msvc/icl

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-25 11:34:14 +02:00
Michael Niedermayer 7efcd531cf Merge commit 'b6507930ac1898aed62ab0b56afc7d6734ad830b'
* commit 'b6507930ac1898aed62ab0b56afc7d6734ad830b':
  fate: Add Canopus Lossless YUY2 test

Conflicts:
	tests/fate/lossless-video.mak
	tests/ref/fate/cllc-yuy2-noblock

No change as the change is already in master

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-25 11:27:16 +02:00
Derek Buitenhuis 11081ab6be fate: Add Canopus Lossless YUY2 test
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-25 11:26:23 +02:00
Michael Niedermayer 9328ae4843 Merge commit 'd9c89ef86b9400e50c2486f9406fad15c85bab22'
* commit 'd9c89ef86b9400e50c2486f9406fad15c85bab22':
  cllc: Use outbuf in RGB and ARGB functions
  cllc: Implement YUV support

Conflicts:
	libavcodec/cllc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-25 10:51:19 +02:00
Michael Niedermayer bad8f04b04 Merge commit 'b0ce601c160c87349d093d7e542b5c752754f598'
* commit 'b0ce601c160c87349d093d7e542b5c752754f598':
  doc/platform: Add info about ICL

Conflicts:
	doc/platform.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-25 10:46:52 +02:00
Ronald S. Bultje cea8a0077f yuv4mpeg: correctly handle chroma for odd luma sizes.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-24 19:13:58 -04:00
Alex Smith 4f6b192e2e configure: Do not omit frame pointers for msvc/icl debug builds
Because O1 or O2 are required to build libav with msvc/icl, this must be
explicitly set instead of just omitting Oy.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-24 18:51:30 -04:00
Alex Smith 9f4a16c52e configure: Do not explicitly set Oy for msvc/icl
It is implied by O1 or O2, both of which are required to build libav
with msvc/icl.  Silences warnings when targeting x64 with icl.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-24 18:51:20 -04:00
Derek Buitenhuis b6507930ac fate: Add Canopus Lossless YUY2 test
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-24 18:26:08 -04:00
Matthew Heaney 1029822a91 lavf/webvttdec: use private option to specify WebVTT kind
WebVTT subtitle tracks have four kinds. Certain downstream muxers
(such as for WebM) need to know which WebVTT kind this is, in order to
specify the codec id of the output track.

A new private input option, "-kind", has been added to the WebVTT
demuxer.  It accepts as a value any of "subtitles" (the default),
"captions", "descriptions", and "metadata".  The kind option value is
used to assign a value to the stream disposition flag, to which four
new values have been added, corresponding the four WebVTT kinds.

Signed-off-by: Matthew Heaney <matthewjheaney@google.com>
Signed-off-by: Clément Bœsch <ubitux@gmail.com>
2013-06-25 00:13:47 +02:00
Matthew Heaney bc35df29c1 lavf: add AV_DISPOSITION flags for WebVTT text track kinds
There are 4 separate WebVTT text track kinds: subtitles (the default
if not otherwise specified), captions, descriptions, and metadata.
The WebM muxer needs to know which WebVTT text track kind this is, in
order to synthesize the correct track type and codec id.

To allow a demuxer to indicate the text track kind of the input, a new
set of AV_DISPOSITION flag values has been added, corresponding to
each of the non-default text track kind values.
2013-06-25 00:13:47 +02:00
Derek Buitenhuis 61c82214af cllc: Use outbuf in RGB and ARGB functions
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-24 17:59:58 -04:00
Derek Buitenhuis d48f221952 cllc: Implement YUV support
Fixes ticket #1910.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-24 17:59:58 -04:00
Michael Niedermayer 8a7aabe80b avfilter/vsrc_testsrc: fix artifacts with odd height
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-24 23:21:17 +02:00
Derek Buitenhuis d9c89ef86b cllc: Use outbuf in RGB and ARGB functions
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-24 14:55:01 -04:00
Derek Buitenhuis 1ef6ac1071 cllc: Implement YUV support
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-24 14:54:46 -04:00
Derek Buitenhuis b0ce601c16 doc/platform: Add info about ICL
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-24 13:06:01 -04:00
Michael Niedermayer bbe26eff22 h264: Fix null pointer dereference with disabled error concealment
Fixes Ticket2551

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-24 16:05:19 +02:00
Michael Niedermayer a46e578dda avformat/avio: Fix EOF handiling of ffurl_read_complete()
Fixes Ticket2537

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-24 14:23:44 +02:00
Michael Niedermayer f48366c704 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavf: don't abort if both encoder and muxer aspect ratios are not set

Conflicts:
	libavformat/mux.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-24 11:42:42 +02:00
Michael Niedermayer a620c8321e Merge commit 'c3e58f8fb75d8467161a65b85eb88281547ebab1'
* commit 'c3e58f8fb75d8467161a65b85eb88281547ebab1':
  matroskaenc: restore compatibility with non referenced AVPacket

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-24 11:11:31 +02:00
Michael Niedermayer af5f9c0876 Merge commit '95d52464542f532061290192518d5fe1c1930e8d'
* commit '95d52464542f532061290192518d5fe1c1930e8d':
  lavc: Add option to encode MPEG-2 AAC with libfdk-aac

Conflicts:
	doc/APIchanges
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-24 10:57:04 +02:00
Michael Niedermayer 14a61bc3f9 Merge commit 'ace87c19ed4c4882d7b9b3ce512c4c195e39a203'
* commit 'ace87c19ed4c4882d7b9b3ce512c4c195e39a203':
  configure: whitespace cosmetics

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-24 10:41:37 +02:00
Michael Niedermayer 1152863a3f Merge commit '6dc6598692da3b0ebda2d768681786343f26a4f4'
* commit '6dc6598692da3b0ebda2d768681786343f26a4f4':
  configure: Simplify an expression with enabled_all.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-24 10:16:12 +02:00
Rafaël Carré e21307a2b0 lavf: don't abort if both encoder and muxer aspect ratios are not set
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-06-24 08:03:26 +02:00
Rafaël Carré c3e58f8fb7 matroskaenc: restore compatibility with non referenced AVPacket
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-06-24 08:03:26 +02:00
Kieran Kunhya 95d5246454 lavc: Add option to encode MPEG-2 AAC with libfdk-aac
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-06-24 08:03:26 +02:00
Michael Niedermayer 5dba888dd5 msmpeg4: Fix ff_msmpeg4_pred_dc() so it works with lowres>0
Fixes Ticket2532

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-24 03:44:30 +02:00
Michael Niedermayer 46312fc2a9 cmdutils: dont change the log level for -report
Fixes Ticket2476

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-24 02:59:05 +02:00
Michael Niedermayer 9375f5003d sonic: use av_freep() as its safer than av_free()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-23 19:45:39 +02:00
Michael Niedermayer 69d0a2922f sonic: cleanup/simplify num_taps check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-23 19:44:24 +02:00
Michael Niedermayer db27dadcb0 sonic: replace divide() by ROUNDED_DIV()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-23 19:42:24 +02:00
Ronald S. Bultje c329713de7 vp8: wait for prev_frame to parse segment_map before reading it.
This fixes occasional failures of vp8-test-vector-010 with frame-level
multithreading enabled.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-23 17:13:58 +02:00
Michael Niedermayer fb0df5c113 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: More msvc/icl combining

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-23 13:45:46 +02:00
Michael Niedermayer 780b1aa1ef Merge commit 'f963f701d90bd7bb03e39aab4e59bd137084e082'
* commit 'f963f701d90bd7bb03e39aab4e59bd137084e082':
  ogg: relax demuxer conformance checks

Conflicts:
	libavformat/oggdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-23 13:21:21 +02:00
Michael Niedermayer cc61ef0479 Merge commit '42cc6cefd315c1556e2a52f7ebe2f766ec82b790'
* commit '42cc6cefd315c1556e2a52f7ebe2f766ec82b790':
  avconv: report the error for codec open failure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-23 12:56:55 +02:00
Michael Niedermayer d894e64acc Merge commit '1e340af8d6a97cc013a2ad8ba77c77129625a34f'
* commit '1e340af8d6a97cc013a2ad8ba77c77129625a34f':
  avconv: drop additional strerror fallback

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-23 12:56:05 +02:00
Diego Biurrun ace87c19ed configure: whitespace cosmetics 2013-06-23 12:24:31 +02:00
Diego Biurrun 6dc6598692 configure: Simplify an expression with enabled_all. 2013-06-23 12:00:08 +02:00
Michael Niedermayer 730e07f10b sonic: avoid float sqrt() for integer input & output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-23 01:35:34 +02:00
Michael Niedermayer 4ec7ef56bd sonic: simplify quant cliping
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-23 01:35:34 +02:00
Michael Niedermayer bcb42fb6db sonic: use av_calloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-23 01:26:18 +02:00
Alex Smith f11e4045b9 configure: More msvc/icl combining
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-22 17:00:57 -04:00
Oka Motofumi 81c5ceeda2 avisynth: Make sure the filename passed to Avisynth is in the right code page
Avisynth is a non-unicode application and cannot accept UTF-8
characters. Therefore, the input filename should be converted to
the code page that it expects.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-22 16:41:43 -04:00
Derek Buitenhuis 8bdbabfaa4 configure: Enable MinGW-w64's implementation of vsnprintf and pals
As of r5799 in MinGW-w64's trunk, which is he upcoming major version 3,
the POSIX-compliant vsnprintf implementation is disabled by default.
Enable it for this version. Keep using out own implementation for
prior versions, because it is broken in them.

Relevant Reference Thread: http://article.gmane.org/gmane.comp.gnu.mingw.w64.general/7133

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-22 16:37:40 -04:00
Michael Niedermayer 37c7a8be19 sonic: replace literal numbers by sizeof()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-22 22:25:18 +02:00
Michael Niedermayer 081a7f3ed0 sonic: replace some float by integers to improve platform independance
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-22 21:58:13 +02:00
Michael Niedermayer 12de2933da sonic: Improve error codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-22 21:42:04 +02:00
Michael Niedermayer 8689ee0eef sonic: simplify shift_down()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-22 21:34:11 +02:00
Luca Barbato f963f701d9 ogg: relax demuxer conformance checks
Some samples in the wild are missing headers that are expected by the
specification but in practice do not affect decoding.
2013-06-22 20:54:59 +02:00
Luca Barbato 42cc6cefd3 avconv: report the error for codec open failure
External codec may have corner case reason to fail at init, better
report them instead having the user wonder.
2013-06-22 20:54:59 +02:00
Luca Barbato 1e340af8d6 avconv: drop additional strerror fallback
strerror_r is called by av_strerror already.
2013-06-22 20:54:59 +02:00
Michael Niedermayer b6ce50a2d4 avutil/ripemd: adjust loop condition to silence CID1035716
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-22 14:52:29 +02:00
Hendrik Leppkes d76fff7df7 smvjpeg: use refcounted frames to avoid mem leaks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-22 11:58:46 +02:00
Hendrik Leppkes 1a405c683e smvjpeg: remove redundant frame init code
avctx->coded_frame is not used for decoders anymore,
and av_frame_alloc does all the frame initialization required.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 21:53:34 +02:00
Hendrik Leppkes 7cdf574c22 swscale: fix filter alignment reduction without inline asm
Fixes scaling in MSVC/ICL, where inline asm is not present, but the
YASM scaling code is.

Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 21:01:11 +02:00
Michael Niedermayer d6a33f5d20 h264: fix size of arrays in ff_h264_check_intra_pred_mode()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 20:48:07 +02:00
Michael Niedermayer 2005fddcbb h264/ff_h264_check_intra_pred_mode: fix input value check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 20:48:07 +02:00
Stefano Sabatini 7cc4115dd6 doc/decoders,decoders: add various missing final dots
Enhance consistency.
2013-06-21 18:25:49 +02:00
Timothy Gu 83647ace73 doc/decoders: Add libopencore-amrwb decoder doc
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-06-21 18:19:37 +02:00
Stefano Sabatini 3f8750776f doc/protocols: apply very minor consistency fixes 2013-06-21 17:47:34 +02:00
Andrey Utkin 3857aea6d9 doc/protocols: document "srtp" protocol
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-06-21 17:47:19 +02:00
Hendrik Leppkes 659df32a9d 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>
2013-06-21 12:47:03 +02:00
Timothy Gu b43860ee0c doc/decoders: Document libopencore-amrnb decoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 12:26:34 +02:00
Michael Niedermayer 1ee8fadb81 avdevice/x11grab: allocate just one Cursor
Fixes resource leak and Ticket2450

Reviewed-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 12:00:11 +02:00
Michael Niedermayer 98abe16522 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: free the padded last frame during audio encoding properly

See: 7fff3df6b2

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 10:51:23 +02:00
Michael Niedermayer 5d509fbdcf Merge commit 'eeeb5c291d3f78eaade5b99c2614c7cab0e9be79'
* commit 'eeeb5c291d3f78eaade5b99c2614c7cab0e9be79':
  vsrc_movie: do not free avoption variables in uninit()

Conflicts:
	libavfilter/src_movie.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 10:41:41 +02:00
Timothy Gu 8cdea50f6e doc/decoders: Document libilbc decoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 03:46:22 +02:00
Michael Niedermayer 79cd5d39ba avcodec/utvideodec: Fix vlc len
Fixes regression / Ticket2661

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 03:22:02 +02:00
Michael Niedermayer c17dd513e7 bytestream2_init: assert that buf_size is valid
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 00:58:41 +02:00
Michael Niedermayer 32fc8d6db6 avcodec/jpeg2000dec: check that tp_end is after the start
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 00:58:41 +02:00
Michael Niedermayer 03cd3bec6e avformat/iff: Byte seek is unsupported
Fixes Ticket2194

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-20 21:49:02 +02:00
Anton Khirnov 720a1de52f lavc: free the padded last frame during audio encoding properly 2013-06-20 16:49:11 +02:00
Michael Niedermayer c605adbf56 avformat/libmodplug: Reduce the probe score for small input
This ensures that theres enough data for mpeg_probe() to recognize mpeg-ps
Fixes Ticket2583

Based on code by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-20 14:58:50 +02:00
Andrey Utkin 2d70f11ef5 Document "sctp" protocol
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-20 14:56:40 +02:00
Anton Khirnov eeeb5c291d vsrc_movie: do not free avoption variables in uninit()
The generic code frees them as well. Since av_free was used to free them
instead of av_freep, this would result in a double free.
2013-06-20 13:27:14 +02:00
Michael Niedermayer 99dc90ea59 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Remove unneeded icl inline compatibility definition

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-20 10:29:10 +02:00
Andrey Utkin f9739a34ad Document "crypto" protocol
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-20 03:01:22 +02:00
Timothy Gu c16496c377 doc/decoders: Document libgsm decoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-20 02:45:18 +02:00
Michael Niedermayer 37baeccef4 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Autodetect idcin only if audio properties allow decoding.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-19 22:13:35 +02:00
Jean Delvare b08cd2fb94 delogo: Fix function description
The algorithm works on src and writes to dst, not the other way
around.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-19 22:13:12 +02:00
Carl Eugen Hoyos 06bede95fc Autodetect idcin only if audio properties allow decoding.
Fixes ticket #2688.
2013-06-19 17:07:44 +02:00
Compn 4110828e15 isom: add xd51 hdcam , someone needs to binary search FCP for new isom... 2013-06-19 10:43:48 -04:00
Michael Niedermayer ddefb80c95 sonicenc: fix off by 1 error
Fixes out of array accesses

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-19 10:06:38 +02:00
Michael Niedermayer 694c2d1ab3 sonicenc: dont put multiple assignments per line
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-19 10:06:10 +02:00
Alex Smith e0d6e2fc67 configure: Remove unneeded icl inline compatibility definition
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-19 10:53:27 +03:00
Michael Niedermayer 6df61c3ae0 sonicenc: set supported samples formats array
This ensures that only supported formats are input

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-19 09:50:01 +02:00
Michael Niedermayer 209cb8afe0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavfi: switch ff_default_get_audio_buffer() to av_frame_get_buffer()

Conflicts:
	libavfilter/audio.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-19 08:27:35 +02:00
Timothy Gu 9ead06057a doc/encoders: Add libopencore-amrnb doc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-19 01:42:55 +02:00
Michael Niedermayer 602d0bfe67 Merge branch 'frame_num_offset' of https://github.com/mjmvisser/FFmpeg
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-19 01:25:50 +02:00
Mark Visser 2090abcc43 add the start_number offset to var_values[VAR_N] directly, instead of adding it in func_frame_num 2013-06-18 17:38:17 -04:00
Michael Niedermayer f8ca8138f0 ff_gen_search: fix infinite loop
Fixes Ticket2639

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-18 22:53:00 +02:00
Michael Niedermayer b3dd50cd0d ff_gen_search: fix limit
The limit value could become slightly wrong in the last iteration

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-18 20:49:37 +02:00
Michael Niedermayer 9d73e30253 ff_gen_search: make step 64it to prevent hypothetical integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-18 20:47:07 +02:00
Timothy Gu e358044922 doc/decoders: Document libcelt
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-18 18:03:22 +02:00
Matthew Heaney 59b13750d2 Add maintainer for WebVTT demuxer and muxer
Matthew J Heaney is added to the list of ffmpeg maintainers, for the
WebVTT demuxer and muxer.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-18 18:02:30 +02:00
Michael Niedermayer 9626d0e906 avutil/frame: Try to align width to achive linesize[0] alignment
This results in more alignment for pixel formats that have "odd" pixel
sizes like RGB24. It makes access through SIMD easier

Works around Issue described in Ticket1031

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-18 16:50:07 +02:00
Anton Khirnov c9c7bc4493 lavfi: switch ff_default_get_audio_buffer() to av_frame_get_buffer()
This simplifies the code and avoids using libavcodec-specific
avcodec_fill_audio_frame().
2013-06-18 11:21:16 +02:00
Michael Niedermayer e41bf19d2c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavfi: math typo in interlace filter

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-18 09:31:05 +02:00
Michael Niedermayer ca2818b881 swresample/x86/audio_convert: add emms to CONV
Might fix Ticket1874

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-18 02:26:36 +02:00
Janne Grunau 2ee380aefb vaapi: return early from ff_vaapi_render_picture() without picture
Fixes an assertion when called on uninitialized frame. Spotted after
seeking in vlc.
Fixes ticket #2461.

Tested-by: Timo
Reviewed-by: Joakim Plate
Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-06-18 01:56:06 +02:00
Carl Eugen Hoyos 28bf0d94aa Revert "vaapi: return early from ff_vaapi_render_picture() without picture"
This reverts commit 4cbf245f2a2cd2170ca30b0788c2af5b506fe6d6.

I messed up the author information.
2013-06-18 01:54:30 +02:00
Carl Eugen Hoyos 3cbf245f2a vaapi: return early from ff_vaapi_render_picture() without picture
Fixes an assertion when called on uninitialized frame. Spotted after
seeking in vlc.
Fixes ticket #2461.

Tested-by: Timo
Reviewed-by: Joakim Plate
2013-06-18 00:21:09 +02:00
Alexander Strasser ac604e446b lavfi/src_movie: Use movie_common_init instead individual wrappers
Makes it easier to understand that there is no difference in init
callback for movie and amovie. Also saves a few lines of code.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2013-06-18 00:02:30 +02:00
Alexander Strasser c679a1c358 lavfi/src_movie: Check pointer is not NULL before deref
Also do not check against empty string, the lower levels should
be able to deal with it.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2013-06-18 00:02:30 +02:00
Matthew Heaney b24f15c45e lavf: add WebVTT muxer.
This revision creates a WebVTT muxer, that outputs files having the
format described in the following specification:

http://dev.w3.org/html5/webvtt/
2013-06-17 22:28:19 +02:00
Michael Niedermayer b4579a29c7 mmsh: dont close context on seeking failure
Fixes Ticket2581

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-17 22:03:36 +02:00
Michael Niedermayer c7755c348b mmsh/mmsh_close: use ffurl_closep()
avoid using freed pointers

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-17 21:34:52 +02:00
Michael Niedermayer 0329345da2 mmsh/mmsh_close: use av_freep()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-17 21:33:12 +02:00
Michael Niedermayer 582f53349e jpeg2000dec: make cblk->length(inc)/data use consistent
Fixes Ticket2612

Reviewed-by: Nicolas BERTRAND <nicoinattendu@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-17 20:08:51 +02:00
Clément Bœsch de12b454f2 lavf/http: remove Mozilla/5.0 from user agent.
It is notably known to break playback on http streaming servers who use
the user agent to guess if it's a browser (to display a summary) or a
player (to stream the audio data).

This reverts 1fabd95.

Fixes Ticket #2663.
2013-06-17 17:06:11 +02:00
Vittorio Giovara cd0faeee62 lavfi: math typo in interlace filter
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-17 12:25:43 +02:00
Marton Balint 96b33ddbd0 ffplay: remove remains of the old audio and video clock VideoState variables
The unified clock state holds this information now.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-06-17 01:18:07 +02:00
Marton Balint 05f0d53170 ffplay: fix missed conversion of video_current_pts to vidclk.pts in subtitles
Fixes regression with subtitles introduced in f2175a6.
Fixes ticket #2666.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-06-17 01:18:07 +02:00
Marton Balint f73d6d2af7 ffplay: cast vp->height to int64 in buffer size check
Fixes Coverity CID 1026769 and 1026756.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-06-17 01:18:07 +02:00
Michael Niedermayer 95275551ef Merge remote-tracking branch 'qatar/master'
* qatar/master:
  smacker: check frame size validity

Conflicts:
	libavformat/smacker.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-17 01:04:33 +02:00
Michael Niedermayer e99f324c14 Merge commit '58c95448e42d34910b939363949ba1a92c06b0b0'
* commit '58c95448e42d34910b939363949ba1a92c06b0b0':
  smacker: pad the extradata allocation

Conflicts:
	libavformat/smacker.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-17 00:44:32 +02:00
Michael Niedermayer 6c655b40ea Merge commit 'bbb2945f2dfbc2306c1655bf7eb6e220912a9a7c'
* commit 'bbb2945f2dfbc2306c1655bf7eb6e220912a9a7c':
  smacker: check the return value of smacker_decode_tree

Conflicts:
	libavcodec/smacker.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-17 00:36:25 +02:00
Michael Niedermayer 85a3d20da5 Merge commit 'f52edef30197735bfb937e9e723ab1e7b31165c6'
* commit 'f52edef30197735bfb937e9e723ab1e7b31165c6':
  smacker: fix an off by one in huff.length computation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-17 00:34:07 +02:00
Michael Niedermayer a4a2e894fc Merge commit '985f34b75653d02eda8eb8def3412f8577f19b01'
* commit '985f34b75653d02eda8eb8def3412f8577f19b01':
  utils: fix avcodec_flush_buffers pre-reference counting compatibility

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-17 00:21:22 +02:00
Michael Niedermayer 1f87cbe834 Merge commit 'df9f22d42b0905385629a9d368bb5a1eef2b45ef'
* commit 'df9f22d42b0905385629a9d368bb5a1eef2b45ef':
  avf: move url utility functions in a separate file

Conflicts:
	libavformat/internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-17 00:09:31 +02:00
Michael Niedermayer 8097307bfb Merge commit '12db891dcd57b305d6e3c1e22ea8204dc26edda1'
* commit '12db891dcd57b305d6e3c1e22ea8204dc26edda1':
  avf: move ff_write_chained to mux.c

Conflicts:
	libavformat/mux.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 23:58:59 +02:00
Michael Niedermayer bbdef61850 Merge commit '508998f7d5cc61c7ac7b049813b47adc24c6e282'
* commit '508998f7d5cc61c7ac7b049813b47adc24c6e282':
  avf: move riff tags accessors where they belong

Conflicts:
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 23:52:08 +02:00
Michael Niedermayer 84f77f8423 Merge commit 'ec7c51c7868d3ccc66b5cc38bf126258b94f086c'
* commit 'ec7c51c7868d3ccc66b5cc38bf126258b94f086c':
  avf: move ff_http_match_no_proxy to network

Conflicts:
	libavformat/internal.h
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 23:45:42 +02:00
Michael Niedermayer 4a522eff00 Merge commit 'afc8685395e775fe0f2a1698b683aea4afd124af'
* commit 'afc8685395e775fe0f2a1698b683aea4afd124af':
  avf: split off format register and lookup function

Conflicts:
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 23:38:27 +02:00
Michael Niedermayer 301522f521 Merge commit 'f80b60ad59945dae32bb26a4e239ed94b0e92fa3'
* commit 'f80b60ad59945dae32bb26a4e239ed94b0e92fa3':
  bitstream: forward error values and drop few abort()

Conflicts:
	libavcodec/bitstream.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 23:29:37 +02:00
Michael Niedermayer 9265bae356 Merge commit 'f776899a17dce32ad7fb9231d98f15558f37cc3f'
* commit 'f776899a17dce32ad7fb9231d98f15558f37cc3f':
  bitstream: K&R formatting cosmetics

Conflicts:
	libavcodec/bitstream.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 23:18:57 +02:00
Michael Niedermayer 9f91e7deec Merge commit '9e80eda26d06c7c48dbec5dfe643c857c62c0ee7'
* commit '9e80eda26d06c7c48dbec5dfe643c857c62c0ee7':
  h264_mp4toannexb_bsf: return a padded buffer

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 23:01:41 +02:00
Michael Niedermayer 0a5d22a195 Merge commit '8d929afd256069aa881f2bf58ef9f0ffce2d6b7e'
* commit '8d929afd256069aa881f2bf58ef9f0ffce2d6b7e':
  h264_mp4toannexb_bsf: factor out extradata parsing

Conflicts:
	libavcodec/h264_mp4toannexb_bsf.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 22:51:56 +02:00
Michael Niedermayer 46a5003a4a Merge commit '5d21ca45591bb1c1d2265f8ed972d18c563f145e'
* commit '5d21ca45591bb1c1d2265f8ed972d18c563f145e':
  h264_mp4toannexb_bsf: K&R formatting cosmetics

Conflicts:
	libavcodec/h264_mp4toannexb_bsf.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 22:40:43 +02:00
Paul B Mahol e997afdfc6 lavf: show APIC for tta files too
Fixes #2676.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-16 18:56:56 +00:00
Paul B Mahol 9ea7ff7955 tta: read ape tags last
Otherwise, cover art will create video stream with index 0.
Fixes #2677.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-16 18:56:56 +00:00
Michael Niedermayer 78d2d1e027 postprocess_template: put rsp on the clobber list to prevent gcc from using it in "q"
Fixes Ticket2675

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 18:21:39 +02:00
Kostya Shishkov ee16a0ced0 smacker: check frame size validity
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-16 15:57:31 +02:00
Kostya Shishkov 58c95448e4 smacker: pad the extradata allocation
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-16 15:57:31 +02:00
Kostya Shishkov bbb2945f2d smacker: check the return value of smacker_decode_tree
Also prevent a memory leak.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-16 15:56:50 +02:00
Kostya Shishkov f52edef301 smacker: fix an off by one in huff.length computation
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-16 15:55:53 +02:00
Michael Niedermayer 3b86174290 avcodec/jpeg2000dec: move bpno check to a earlier place
This prevents additional integer overflows

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 15:27:39 +02:00
Janne Grunau 985f34b756 utils: fix avcodec_flush_buffers pre-reference counting compatibility
The to_free AVframe must be freed just like the other ones.
Indeed, the calling application may expect all frames to be
released.

(This regression caused use-after-free in VLC with hwaccel.)

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-16 15:10:58 +02:00
Luca Barbato df9f22d42b avf: move url utility functions in a separate file 2013-06-16 15:01:39 +02:00
Luca Barbato 12db891dcd avf: move ff_write_chained to mux.c 2013-06-16 14:41:07 +02:00
Luca Barbato 508998f7d5 avf: move riff tags accessors where they belong 2013-06-16 14:41:07 +02:00
Luca Barbato ec7c51c786 avf: move ff_http_match_no_proxy to network
It is only used by network protocols.
2013-06-16 14:41:00 +02:00
Luca Barbato afc8685395 avf: split off format register and lookup function 2013-06-16 14:00:40 +02:00
James Almer 3e17eec607 lavu/adler32: Fix doxy group definition, take two
The description if for the function, not the group.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 12:50:00 +02:00
James Almer 4a0d603072 lavu/hash: Add support for RIPEMD
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 12:49:39 +02:00
Hendrik Leppkes 8962da9ec3 rawdec: allocate a buffer in the appropriate size in the copy case.
Otherwise the created buffer can be smaller than buf_size, which results
in buffer overreads if the original image has extra padding on every line.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 09:50:16 +02:00
Luca Barbato f80b60ad59 bitstream: forward error values and drop few abort() 2013-06-16 09:30:26 +02:00
Luca Barbato f776899a17 bitstream: K&R formatting cosmetics 2013-06-16 09:30:25 +02:00
Michael Niedermayer 359af6a7c7 Merge branch 'crypto' of https://github.com/jamrial/FFmpeg
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 01:07:24 +02:00
James Almer 99b8cd0c81 lavu: Add RIPEMD hashing
Includes RIPEMD-128, RIPEMD-160, RIPEMD-256 and RIPEMD-320

Signed-off-by: James Almer <jamrial@gmail.com>
2013-06-15 18:54:01 -03:00
James Almer 1bb005ce54 lavf/md5enc: Use AV_HASH_MAX_SIZE
Also increase the buffer size in write_trailer(), since 128
is not enough anymore

Signed-off-by: James Almer <jamrial@gmail.com>
2013-06-15 18:50:11 -03:00
James Almer b6249acae6 lavu/hash: Add support for SHA-2 512
Signed-off-by: James Almer <jamrial@gmail.com>
2013-06-15 18:49:12 -03:00
Paul B Mahol 8a79a009f9 lavu/utils: silence warnings about incompatible pointer types
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-15 21:47:45 +00:00
Andrey Utkin 194fde3834 Document "cache" protocol
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-15 23:26:18 +02:00
Luca Barbato 9e80eda26d h264_mp4toannexb_bsf: return a padded buffer
The code using the returned buffer might expect it to be
FF_INPUT_BUFFER_PADDING_SIZE padded as any other avpacket.
2013-06-15 16:14:45 +02:00
Luca Barbato 8d929afd25 h264_mp4toannexb_bsf: factor out extradata parsing 2013-06-15 16:14:33 +02:00
Michael Niedermayer 6c4516d041 avcodec/vc1dec: Check source picture availability in vc1_mc_4mv_chroma4()
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-15 13:11:35 +02:00
Michael Niedermayer 1ba196a10d avutil/utils: check and warn about llrint() brokenness
Such broken llrint() exist for example on netbsd

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-15 11:22:22 +02:00
Luca Barbato 5d21ca4559 h264_mp4toannexb_bsf: K&R formatting cosmetics 2013-06-15 09:11:13 +02:00
James Almer c4f932f4d7 lavu/md5: Add doxy
Mostly a copy&paste from other hash functions, with changes
where required.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-15 02:22:39 +02:00
James Almer 321906d341 lavu/crc: Fix doxy group definition
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-15 02:22:16 +02:00
James Almer 79d9ed4a43 lavu/adler32: Fix doxy group definition
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-15 02:22:00 +02:00
Mark Visser 0defc77e9d added start_number parameter to drawtext to permit an offset to n/frame_num var 2013-06-14 17:05:19 -04:00
Michael Niedermayer 3c4c5ca1c1 avcodec/g2meet: Check monochrome cursor width
Fixes out of array write

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-14 21:14:31 +02:00
Michael Niedermayer 69e4d8e6a4 avcodec/jpeg2000dec: check len before parsing header
Fixes out of array read

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-14 19:34:00 +02:00
Michael Niedermayer 5deb96c564 avcodec/jpeg2000dec: Check Psot
Fixes out of array read

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-14 19:34:00 +02:00
Paul B Mahol a75d2a6505 apetag: do not require seekable output
Also don't write empty tags.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-14 17:07:36 +00:00
Michael Niedermayer 7fff3df6b2 avcodec_encode_audio2: fix memleak on last padded frame
Regression introduced by 799f57ac96

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-14 15:21:23 +02:00
Peter Ross d891d354c5 mpegts: Enable muxing of SMPTE KLV metadata
Muxer code rebased/split out by: Jeff Blackburne <jblackburne@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-14 13:41:40 +02:00
Hendrik Leppkes 59d3c24e28 vc1_parser: fix parsing of the frame headers in interlaced streams
first_pic_header_flag needs to be set to allow the parsing code to change
some stream parameters, and not error out.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-14 12:03:44 +02:00
Clément Bœsch 147adf2c4f lavfi/spp: fix description. 2013-06-14 06:53:52 +02:00
Timothy Gu 6fe419bf73 doc/general: Make the license status of the Android libraries clearer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-14 03:58:39 +02:00
Jean Delvare cef42ded8d drawbox: Respect thickness parameter
The drawbox video filter is drawing lines one pixel thinner than
requested. The default thickness is 4 pixel but in fact the lines
drawn by default are only 3 pixel wide.

Change the comparisons in the code to fix this off-by-one bug. Also
change the default thickness from 4 to 3 to minimize the unexpected
changes from the user's perspective.

As I was already touching these lines, I also removed the "maximum" in
the thickness parameter description, as I don't think it was adding
any value and I even found it confusing.

Reviewed-by: Andrey Utkin <andrey.krieger.utkin@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-14 03:52:32 +02:00
Michael Niedermayer e850a064ce jpeg2000dec: Check compno in get_coc()
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-14 01:55:43 +02:00
Clément Bœsch 852f74bd85 lavfi/mp: remove mp=spp.
The filter was ported to a native libavfilter filter.
2013-06-14 01:27:22 +02:00
Clément Bœsch a2c547ffec lavfi: add spp filter. 2013-06-14 01:27:22 +02:00
Michael Niedermayer 129edcb50f jpeg2000dec: dont set ncomponents to an invalid value
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-14 00:36:45 +02:00
Paul B Mahol ff0bdf9375 lavc: copy AVCodecContext for threads
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-13 21:49:18 +00:00
Michael Niedermayer c112e36d41 flacdec: Fix used AVCodecContext
Fixes out of array writes with multiple threads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 22:31:54 +02:00
Michael Niedermayer fa125c5e82 avutil/timestamp: remove ""
This may fix an error with C++

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 14:57:00 +02:00
Michael Niedermayer a9821bdafb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  4xm: check bitstream_size boundary before using it

Conflicts:
	libavcodec/4xm.c

See: 9c661e95

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 14:51:59 +02:00
Michael Niedermayer e9f2e9715b Merge commit 'fbd0dacc8d61ab418b3fa8e7be22017558323e56'
* commit 'fbd0dacc8d61ab418b3fa8e7be22017558323e56':
  4xm: refactor decode_p_block

Conflicts:
	libavcodec/4xm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 14:39:21 +02:00
Michael Niedermayer 27e8298c03 Merge commit '94aefb1932be882fd93f66cf790ceb19ff575c19'
* commit '94aefb1932be882fd93f66cf790ceb19ff575c19':
  4xm: do not overread the source buffer in decode_p_block

Conflicts:
	libavcodec/4xm.c

The checks are replaced by av_assert0() as the conditions should
be impossible. If these asserts fail, there is a bug elsewhere

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 14:10:06 +02:00
Michael Niedermayer 67d5d97cdc Merge commit 'be373cb50d3c411366fec7eef2eb3681abe48f96'
* commit 'be373cb50d3c411366fec7eef2eb3681abe48f96':
  4xm: do not overread the prestream buffer

Conflicts:
	libavcodec/4xm.c

See: 9c661e95
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 13:57:07 +02:00
Michael Niedermayer dbddd587e1 Merge commit 'de2e5777e225e75813daf2373c95e223651fd89a'
* commit 'de2e5777e225e75813daf2373c95e223651fd89a':
  4xm: validate the buffer size before parsing it

Conflicts:
	libavcodec/4xm.c

See: 9c661e95

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 13:41:27 +02:00
Michael Niedermayer f13f4d2b08 Merge commit '145023f57262d21474e35b4a6069cf95136339d4'
* commit '145023f57262d21474e35b4a6069cf95136339d4':
  4xm: reject frames not compatible with the declared version

See: c433823750

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 13:14:42 +02:00
Michael Niedermayer 18cb3d355f Merge commit '1f0c6075604c271d5627480f1243d22795f9a315'
* commit '1f0c6075604c271d5627480f1243d22795f9a315':
  4xm: drop pointless assert

Conflicts:
	libavcodec/4xm.c

The added condition is impossible to occur and thus is added to the assert.
The assert is not removed from the default case, as the default case cannot
occur. Thus either it should stay as is or the case as a whole be removed.
For extra safety, to ensure this doesnt change the assert is changed to
av_assert0()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 13:06:22 +02:00
Michael Niedermayer e5558391b5 Merge commit 'b8b809908ec547b2609dbac24194f4fd2df61aea'
* commit 'b8b809908ec547b2609dbac24194f4fd2df61aea':
  4xm: forward errors from decode_p_block

Conflicts:
	libavcodec/4xm.c

Impossible to be false check has been replaced by av_assert0()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 12:24:00 +02:00
Michael Niedermayer 294af51401 Merge commit '50ec1db62d977b6e864f315a53c1c580a6d7efa4'
* commit '50ec1db62d977b6e864f315a53c1c580a6d7efa4':
  4xm: fold last_picture lazy allocation in decode_p_frame

Conflicts:
	libavcodec/4xm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 12:12:33 +02:00
Michael Niedermayer 4027e13663 Merge commit '42d73f7f6bea0ee0f64a3ad4882860ce5b923a11'
* commit '42d73f7f6bea0ee0f64a3ad4882860ce5b923a11':
  4xm: do not overread while parsing header

Conflicts:
	libavformat/4xm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 11:56:31 +02:00
Michael Niedermayer 60657ee37a Merge commit 'e7a44f87d07655ec0cd31c315936931674434340'
* commit 'e7a44f87d07655ec0cd31c315936931674434340':
  4xm: refactor fourxm_read_header

Conflicts:
	libavformat/4xm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 10:08:50 +02:00
Michael Niedermayer 90c8863a74 Merge commit 'e6496ea7e7ea7355167a1ccbe67a7199d446a654'
* commit 'e6496ea7e7ea7355167a1ccbe67a7199d446a654':
  4xm: K&R formatting cosmetics

Conflicts:
	libavformat/4xm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 09:50:42 +02:00
Michael Niedermayer 5c3e5651dd Merge commit '08859d19b429c522d6494c186656f4a2d3ff8e21'
* commit '08859d19b429c522d6494c186656f4a2d3ff8e21':
  4xm: use the correct logging context
  g2meet: Fix a typo in the height comparison

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 09:41:45 +02:00
Michael Niedermayer 443b29e475 h264: Try parsing SPS as complete NAL in more cases
Fixes Ticket2580

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 01:43:09 +02:00
Stefano Sabatini 28aed88b73 require --enable-gpl for using the frei0r filter
frei0r license is GPL.

Based on a patch by Timothy Gu <timothygu99@gmail.com>.

See thread:
Subject: [FFmpeg-devel] [PATCH 1/2] LICENSE: Complete GPL'd external libraries list
Date: Thu,  6 Jun 2013 18:55:30 -0700
2013-06-13 01:40:24 +02:00
Stefano Sabatini e0135a4bcd lavfi/rotate: add angle command 2013-06-13 01:21:47 +02:00
Stefano Sabatini 6397264e84 tests: add filter-pixfmts-rotate test 2013-06-13 01:21:47 +02:00
Stefano Sabatini dc5e26d67f lavfi: add rotate filter
Based on the libavfilter SOC filter by Vitor Sessak, with the following additions:
* integer arithmetic
* bilinear interpolation
* RGB path
* configurable parametric angle, output width and height

Address trac issue #1500.

See thread:
Subject: [FFmpeg-devel] [WIP] rotate filter(s)
Date: 2010-10-03 17:35:49 GMT
2013-06-13 01:21:47 +02:00
Timothy Gu 0ec65aa104 doc/encoders: Add libvo-amrwbenc doc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-12 23:37:35 +02:00
Michael Niedermayer 8aea2f05dc alacenc: Fix missing sign_extend()
Possibly fixes Ticket2497

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-12 16:23:49 +02:00
Luca Barbato 59d7bb99b6 4xm: check bitstream_size boundary before using it
Prevent buffer overread.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-12 14:45:46 +02:00
Luca Barbato fbd0dacc8d 4xm: refactor decode_p_block
Directly return from code 1, 2 and 6 codepaths and simplify the
remaining one to have a single overflow check and a single call to
mcdc.
2013-06-12 14:45:46 +02:00
Luca Barbato 94aefb1932 4xm: do not overread the source buffer in decode_p_block
Check for out of picture macroblocks before calling mcdc.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-12 14:45:46 +02:00
Luca Barbato be373cb50d 4xm: do not overread the prestream buffer
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-12 14:45:46 +02:00
Luca Barbato de2e5777e2 4xm: validate the buffer size before parsing it
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-12 14:45:46 +02:00
Luca Barbato 145023f572 4xm: reject frames not compatible with the declared version
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-12 14:45:46 +02:00
Luca Barbato 1f0c607560 4xm: drop pointless assert
Make sure the value of wlog2 is always between 0 and 3.
2013-06-12 14:45:46 +02:00
Luca Barbato b8b809908e 4xm: forward errors from decode_p_block
Partially mitigate out of memory writes.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-12 14:45:46 +02:00
Luca Barbato 50ec1db62d 4xm: fold last_picture lazy allocation in decode_p_frame 2013-06-12 14:45:46 +02:00
Luca Barbato 42d73f7f6b 4xm: do not overread while parsing header
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-12 14:45:46 +02:00
Luca Barbato e7a44f87d0 4xm: refactor fourxm_read_header
Split sound and video tag parsing in separate functions.
2013-06-12 14:45:46 +02:00
Luca Barbato e6496ea7e7 4xm: K&R formatting cosmetics 2013-06-12 14:45:46 +02:00
Luca Barbato 08859d19b4 4xm: use the correct logging context 2013-06-12 14:45:46 +02:00
Michael Niedermayer 7ad5708691 g2meet: Fix a typo in the height comparison
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-12 13:45:53 +02:00
Michael Niedermayer d3c4ea8b35 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  g2meet: do not leak buffers
  g2meet: more graceful cursor loading
  g2meet: reset dimensions on header parsing errors

Conflicts:
	libavcodec/g2meet.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-12 11:53:27 +02:00
Kostya Shishkov 7dfc3381dd g2meet: do not leak buffers 2013-06-12 09:54:45 +02:00
Kostya Shishkov 4d960d7f60 g2meet: more graceful cursor loading 2013-06-12 09:54:45 +02:00
Kostya Shishkov 767ae86cee g2meet: reset dimensions on header parsing errors 2013-06-12 09:54:45 +02:00
James Almer 1163910a00 fate: Add test vectors for HMAC SHA and SHA-2
Also replace custom tests for MD5 with those published in RFC 2202

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-12 01:48:23 +02:00
James Almer 82ef67016e lavu/hmac: Add support for SHA-2
Includes HMAC-SHA-224, HMAC-SHA-256, HMAC-SHA-384, and HMAC-SHA-512.
Tested using test vectors from https://tools.ietf.org/html/rfc4231

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-12 01:47:42 +02:00
Alexandre Sicard b1d61eb7aa avformat/mov: ignore samples overflowing next_root_atom
This fixes #2657.
ISML movies produced by Microsoft Expression Encoder 4 seem to have invalid
sample entries in their trun/tfhd for data tracks. As a result, too much bytes
are read for these tracks to the point that next_root_atom can go out of
buffer, which makes the encoding fail if the input is not seekable.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-12 00:51:38 +02:00
Paul B Mahol df084adbf7 doc/general: s/Libav/FFmpeg
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-11 20:53:21 +00:00
Paul B Mahol 0354bc39eb fate: wavpack: add more dependencies
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-11 20:50:42 +00:00
Michael Niedermayer 73d5cf8f43 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: add a libwavpack encoder wrapper

Conflicts:
	Changelog
	doc/encoders.texi
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-11 09:36:34 +02:00
Michael Niedermayer 5d199c3ad9 Merge commit '799f57ac96f9891d1a0f7d6c4b218ed536e8aca5'
* commit '799f57ac96f9891d1a0f7d6c4b218ed536e8aca5':
  lavc: use AVFrame API properly in pad_last_frame().

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-11 09:27:04 +02:00
Michael Niedermayer 045e371cf1 Merge commit '8835c554ff506992c47f6e347c74216ae073f0fa'
* commit '8835c554ff506992c47f6e347c74216ae073f0fa':
  matroskadec: introduce resync function.

Conflicts:
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-11 09:16:13 +02:00
Michael Niedermayer 529ebc90f2 Merge commit '3965d404ccd9b6cac95c4aee6cb668845031b685'
* commit '3965d404ccd9b6cac95c4aee6cb668845031b685':
  configure: Don't add -fPIC on windows targets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-11 08:53:37 +02:00
Michael Niedermayer f556f27d29 Merge commit '3fd0d166aa240ef547482d1af397c4a653031c2d'
* commit '3fd0d166aa240ef547482d1af397c4a653031c2d':
  configure: Don't explicitly disable PIC for windows targets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-11 08:38:16 +02:00
Michael Niedermayer 1603c9bd9c Merge commit '2aa3325454545b63cd63e3d5884f8558790d51df'
* commit '2aa3325454545b63cd63e3d5884f8558790d51df':
  configure: arm: Don't try to enable pic for shared libraries on win32

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-11 08:28:00 +02:00
Michael Niedermayer 0f88a98b43 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Check more completely for invalid pix_fmts in planarRgb16ToRgb16Wrapper()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-11 02:07:08 +02:00
Michael Niedermayer 175e916fa2 avcodec/utils: Fix encoder allocation size
Fixes Ticket2645
Found-by: Darrell Walisser
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-11 01:15:39 +02:00
Carl Eugen Hoyos 7800b09ece Check more completely for invalid pix_fmts in planarRgb16ToRgb16Wrapper()
This makes the conversion function more robust.
2013-06-11 01:14:38 +02:00
Stefano Sabatini 57655c6080 doc/metadata: add notes and examples regarding metadata usage with ffmpeg 2013-06-11 01:07:16 +02:00
Michael Niedermayer d3e89f2641 vf_sab: Fix memleak
Fixes CID1030353
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-10 22:00:43 +02:00
Anton Khirnov 84d3ff50cd lavc: add a libwavpack encoder wrapper 2013-06-10 21:33:48 +02:00
Anton Khirnov 799f57ac96 lavc: use AVFrame API properly in pad_last_frame().
This also simplifies the code.
2013-06-10 21:19:51 +02:00
Sean McGovern 8835c554ff matroskadec: introduce resync function.
This allows handling matroska files with errors.
Fixes test4.mkv and test7.mkv from the official Matroska test suite,
and by extension Bugzilla #62.

Based on a patch by Reimar Doffinger <Reimar.Doeffinger@gmx.de>

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-06-10 20:51:35 +02:00
Michael Niedermayer 8e887ca1fe jpeg2000dec: Check bpno in decode_cblk()
Fixes integer overflow in fate-redcode-demux

Reviewed-by: Nicolas BERTRAND <nicoinattendu@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-10 17:13:46 +02:00
Michael Niedermayer d5caf10c4f Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Accept incomplete http cookies without domain.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-10 16:12:37 +02:00
Michael Niedermayer e473f7e659 (lib)utvideodec: remove setting of color_primaries
Thanks-to: Paranoialmaniac
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-10 16:00:59 +02:00
Martin Storsjö 3965d404cc configure: Don't add -fPIC on windows targets
This avoids warnings about this option not having any effect on
this platform.

We still want to enable the pic configure item for these platforms
(if detected via the compiler builtin define __PIC__) to get proper
inline assembly workarounds.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-10 14:32:13 +03:00
Martin Storsjö 3fd0d166aa configure: Don't explicitly disable PIC for windows targets
This reverts e08c946c6 and 05165c2f7a. The actual intention of
e08c946c6 was to fix shared library builds for arm/win32, which
can also be accomplished in other ways.

Disabling pic on those platforms broke inline assembly on cygwin/64
(since some inline assembly requires knowing whether we are building
as PIC or not), and might also break inline assembly on other
compilers on windows.

As a side-effect, this unfortunately brings back all the warnings
about PIC not having any effect on that platform.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-10 14:32:10 +03:00
Martin Storsjö 2aa3325454 configure: arm: Don't try to enable pic for shared libraries on win32
The object file format doesn't support PIC loads in ARM assembly,
there are no relocation types in PE/COFF that correspond to
BFD_RELOC_32_PCREL (R_ARM_REL32 in ELF).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-10 14:32:06 +03:00
Carl Eugen Hoyos e9df8f7725 Accept incomplete http cookies without domain.
Works around a bug in some servers that apparently send incomplete cookies.
Fixes a part of ticket #2619.

Reviewed-by: Micah Galizia
2013-06-10 10:52:40 +02:00
Michael Niedermayer 9908607363 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  utvideodec: Set colorspace by codec_tag.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-10 10:43:43 +02:00
Michael Niedermayer 42b8296f36 Merge commit '2578f1efd64f4efc30114c328d1eff9030429e59'
* commit '2578f1efd64f4efc30114c328d1eff9030429e59':
  riff: Support ULH0 and ULH2 fourccs.
  utvideodec: Support ULH0 and ULH2 formats.

Conflicts:
	libavcodec/utvideodec.c
	libavformat/riff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-10 10:39:14 +02:00
Stephen Hutchinson 3f54547709 utvideo: Add ULH0 and ULH2 decoding to the native decoder.
Also prevents an error since the native decoder (if enabled) is
always used to probe Ut Video-encoded files, even if the user
forces libutvideo to be the decoder. Without this patch, the probe
would fail, and the video wouldn't get properly handed over,
resulting in failure to set codec parameters. When the native
decoder is disabled, libutvideo can probe and initialize decoding
without issues.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-10 10:15:13 +02:00
Stephen Hutchinson 8ed6c13fe3 libutvideo: Add ULH0 and ULH2 decoding when using version 13.0.1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-10 10:12:15 +02:00
Yusuke Nakamura 252ee3d39b utvideodec: Set colorspace by codec_tag.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2013-06-10 09:38:22 +02:00
Yusuke Nakamura 2578f1efd6 riff: Support ULH0 and ULH2 fourccs.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2013-06-10 09:37:53 +02:00
Yusuke Nakamura b441fdeb15 utvideodec: Support ULH0 and ULH2 formats.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2013-06-10 09:37:53 +02:00
Michael Niedermayer 0047da071e swscale/swscale_unscaled: add ()
Fixes order of operations
Fixes CID1030350

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-10 03:34:33 +02:00
Michael Niedermayer d62030ffca swresample/rematrix_template: Fix integer overflow in mix8to2
Fixes: CID1030352
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-10 03:03:17 +02:00
Michael Niedermayer b04bbe6b86 swresample/rematrix_template: Fix integer overflow in mix6to2
Fixes: CID1030351
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-10 03:03:12 +02:00
Carl Eugen Hoyos 052838f765 Insert a newline before showing embedded svq1 messages.
Messages may start with a carriage return.
2013-06-09 19:25:43 +02:00
Michael Niedermayer 6241e8a382 id2v2: check the return value of decode_str()
Fixes CID1030348
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-09 17:25:39 +02:00
Michael Niedermayer 2d8f880a9b g2meet: fix typo in height comparission
Fixes CID1030349
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-09 16:55:10 +02:00
Michael Niedermayer ada497e616 g2meet: Check cursor parameters before writing them in the context
Fixes out of array access

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-09 12:00:57 +02:00
Michael Niedermayer 6d3bcbb211 avcodec/g2meet: check framebuf has been allocated before use
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-09 03:09:26 +02:00
Carl Eugen Hoyos c153ea4756 Support decoding G.722 in aiff. 2013-06-09 01:10:36 +02:00
Clément Bœsch b77e58aad3 lavfi/pp: set out frame size.
w/h from input frame are not copied in av_frame_copy_props(). This
commit avoids a mismatch between aligned_[wh] and outbuf->{width,height}
(and thus avoids triggering an assert in avfilter because of this).
2013-06-08 23:23:30 +02:00
Michael Niedermayer 2a91038e13 avformat/wavdec: Dont rescale timestamps but use exact comparission
Fixes integer overflow

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-08 20:02:22 +02:00
Michael Niedermayer 9e9ec5ad2a smvjpegdec: No frame at all is an error
This fixes a infinite loop

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-08 20:02:22 +02:00
Paul B Mahol b94f045b18 wavpack: add missing .\n to entropy error message
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-08 17:39:54 +00:00
Paul B Mahol 9644fc95be matroskadec: move ALAC extradata creation bellow AAC one
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-08 17:39:51 +00:00
Michael Niedermayer 33fb22f800 Merge remote-tracking branch 'lukaszmluki/master'
* lukaszmluki/master:
  ftp: add invalid code for RETR operation
  ftp: probe seek capability
  ftp: fix seeking beyond file size
  ftp: abort function optimalization
  ftp: explicit return code checks
  ftp: fix flush control connection input
  ftp: reconnect on tcp read error

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-08 15:59:12 +02:00
Michael Niedermayer f320b00541 doc/codecs: Mention relation of the experimental setting and codecs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-08 14:14:27 +02:00
Timothy Gu ba7cb4807f doc/encoders: Add libvo-aacenc doc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-08 13:52:34 +02:00
Michael Niedermayer f973f17416 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  faxcompr: return meaningful errors

Conflicts:
	libavcodec/faxcompr.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-08 12:38:18 +02:00
Michael Niedermayer a5a9bcc876 Merge commit 'f32aefcf349f2f1367f0143782397643416d18f3'
* commit 'f32aefcf349f2f1367f0143782397643416d18f3':
  faxcompr: K&R formatting cosmetics

Conflicts:
	libavcodec/faxcompr.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-08 12:30:15 +02:00
Michael Niedermayer d0b27eab92 Merge commit '9c2216976907336dfae0e8e38a4d70ca2465a92c'
* commit '9c2216976907336dfae0e8e38a4d70ca2465a92c':
  tiff: do not overread the source buffer

Conflicts:
	libavcodec/tiff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-08 12:21:14 +02:00
Michael Niedermayer dc318505d0 Merge commit '999ccd2d0a43640921088578f138c874f6cc0f8a'
* commit '999ccd2d0a43640921088578f138c874f6cc0f8a':
  tiff: cleanup the error paths

Conflicts:
	libavcodec/tiff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-08 11:41:58 +02:00
Michael Niedermayer 1fec361f35 Merge commit '016c5b066de08a93a5f6b5beb0ef377356b35cde'
* commit '016c5b066de08a93a5f6b5beb0ef377356b35cde':
  tiff: refactor fax support in a separate function

Conflicts:
	libavcodec/tiff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-08 11:32:34 +02:00
Michael Niedermayer a804632b15 Merge commit '103937681d7e6afd3e8caf8937272575e450fb55'
* commit '103937681d7e6afd3e8caf8937272575e450fb55':
  tiff: refactor deflate support in a separate function

Conflicts:
	libavcodec/tiff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-08 11:23:49 +02:00
Michael Niedermayer e2d4bcd7b8 Merge commit 'f8a4d5e970f32f8cc747f9fa7bd975ee4a060ea1'
* commit 'f8a4d5e970f32f8cc747f9fa7bd975ee4a060ea1':
  h264_parser: K&R formatting cosmetics
  vorbis: return meaningful errors

Conflicts:
	libavcodec/h264_parser.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-08 10:50:24 +02:00
Lukasz Marek ff35c7cdfa ftp: add invalid code for RETR operation
554 is possible invalid code:
- Restart not valid
- Command terminated due to server shutdown in progress
- etc...

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-06-08 04:17:34 +02:00
Lukasz Marek 89b4800eef ftp: probe seek capability
Make FTP streamed when server doesn't accept REST command

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-06-08 04:17:34 +02:00
Lukasz Marek eeedca4b7f ftp: fix seeking beyond file size
adjust to ff* tools seek nature

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-06-08 04:17:33 +02:00
Lukasz Marek 4d617715c9 ftp: abort function optimalization
It seems some ftp servers doesn't respect ABOR command,
but closing both connection is slow.

This commit keeps control connection open when possible.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-06-08 04:17:26 +02:00
Lukasz Marek bc29acdc76 ftp: explicit return code checks
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-06-08 03:54:55 +02:00
Lukasz Marek 43eda88200 ftp: fix flush control connection input
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-06-08 03:54:55 +02:00
Lukasz Marek 23a76b71de ftp: reconnect on tcp read error
This commit reconnect both connections and retries before ftp_read returns an error.
Practical use case: resume after lock screen on iOS devices.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-06-08 03:54:55 +02:00
Michael Niedermayer 56abad0ee4 avcodec/smvjpegdec: copy palette too
Fixes out of array access

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-08 01:20:55 +02:00
Michael Niedermayer 5b9917ec2b Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Do not offer smvjpeg lowres capabilities, the decoder does not support it.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-07 21:38:54 +02:00
Michael Niedermayer 467e7a8f26 avcodec/smvjpegdec: check that frames_per_jpeg cleanly divides height
Fixes out of array access

If some valid files fail this check then please open a ticket and ping me and the smvjpegdec maintainer.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-07 20:39:05 +02:00
Carl Eugen Hoyos 7ce011e054 Do not offer smvjpeg lowres capabilities, the decoder does not support it.
Reviewed-by: Ash Hughes
2013-06-07 19:40:03 +02:00
Luca Barbato a3b2b83f01 faxcompr: return meaningful errors
And optionally forward them to the caller instead of concealing them.

Unify err and ret in a single variable.
2013-06-07 17:23:53 +02:00
Luca Barbato f32aefcf34 faxcompr: K&R formatting cosmetics 2013-06-07 17:23:53 +02:00
Luca Barbato 9c22169769 tiff: do not overread the source buffer
At least 2 bytes from the source are read every loop.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-07 17:23:53 +02:00
Luca Barbato 999ccd2d0a tiff: cleanup the error paths
Return the proper error values and optionally report them.
2013-06-07 17:23:53 +02:00
Luca Barbato 016c5b066d tiff: refactor fax support in a separate function 2013-06-07 17:23:53 +02:00
Luca Barbato 103937681d tiff: refactor deflate support in a separate function
Report when zlib support is missing.
2013-06-07 17:23:53 +02:00
Luca Barbato f8a4d5e970 h264_parser: K&R formatting cosmetics 2013-06-07 16:54:55 +02:00
Luca Barbato 92b3caa108 vorbis: return meaningful errors 2013-06-07 16:54:16 +02:00
Tim.Nicholson 0ea1356137 doc/filters: fix alias option name for chroma_mode in 'il' filter. 2013-06-07 16:34:00 +02:00
Alexandre Sicard 8912029031 avformat/mov: compute dts_shift with trun cts
Some movies have negative composition time offsets in their trun, causing pts <
dts errors. This patch makes use of dts_shift to handle them.

Signed-off-by: Alexandre Sicard <alexandre.sicard@smartjog.com>
2013-06-07 16:30:27 +02:00
Paul B Mahol c59c0488ec cmdutils: print threading capabilities for audio codecs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-07 14:24:52 +00:00
Michael Niedermayer bce2ed5559 smvjpegdec: only extract picture when a picture has been decoded.
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-07 14:36:45 +02:00
Paul B Mahol 369684f109 tta: unbreak demuxing of files with id3 tags at start of file
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-07 10:39:21 +00:00
Paul B Mahol 5bafe0ce44 tta: replace datalen with nb_samples
This is less confusing.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-07 09:49:04 +00:00
Paul B Mahol dc5c029f02 sonicenc: don't allocate unused avctx->coded_frame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-07 09:29:34 +00:00
Paul B Mahol 5285a7549f pcmenc: don't allocate unused avctx->coded_frame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-07 09:29:34 +00:00
Paul B Mahol 739d6a78b7 alacenc: don't allocate unused avctx->coded_frame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-07 09:29:33 +00:00
Paul B Mahol 379fcc4955 id3v2: read all textual chapter subframes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-07 09:28:07 +00:00
Atli Thorbjornsson f3c51215ce flvdec: Fix mistakenly discarding metadata at dts==0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-07 11:11:59 +02:00
Michael Niedermayer 9c9d2e9c77 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtpdec: Fix the alphabetical ordering in registering depacketizers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-07 10:17:20 +02:00
Michael Niedermayer a18bf95a8e Merge commit '2681924b0f3f35840dd9d9825df9f9239c448b22'
* commit '2681924b0f3f35840dd9d9825df9f9239c448b22':
  libavformat: Fix standalone compilation of the webm muxer

Conflicts:
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-07 10:12:46 +02:00
Clément Bœsch f97e28ebe5 lavfi/lut3d: add sanity checks.
Should fix CID1026775 and CID1026774.
2013-06-07 01:48:41 +02:00
Carl Eugen Hoyos d5978c8678 Add unscaled converter from GBRP > 8bit to RGBx48/64.
Fixes ticket #2633.

Tested-by: Michael Cinquin
2013-06-06 23:57:50 +02:00
Paul B Mahol 86005184e3 tiff: simplify picking right pixel format
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-06 21:42:02 +00:00
Paul B Mahol 61d900fd0d lavc: add ONLY_IF_THREADS_ENABLED where it is missing
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-06 20:17:36 +00:00
Michael Niedermayer ffb1051b9b jpeg2000: Zero prec->cblk
Prevent use of uninitialized memory / valgrind failure

Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-06 22:02:54 +02:00
Michael Niedermayer 7c3a296b4f jpeg2000dec: fix av_log()
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-06 21:52:49 +02:00
Paul B Mahol 8cc8adaa88 tiff: correctly decode saparate planes with horizontal differencing predictor
Closes #2648.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-06 19:47:46 +00:00
Clément Bœsch 00f4998997 lavf/tee: pesudo → pseudo. 2013-06-06 20:29:38 +02:00
Paul B Mahol 3554238863 lavfi/il: add timeline support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-06 17:44:54 +00:00
Paul B Mahol 7d01533371 lavfi/framestep: cosmetics: reindent AVFilter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-06 17:19:16 +00:00
Paul B Mahol 27d3d61343 lavfi/framestep: add timeline support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-06 17:17:14 +00:00
Martin Storsjö aa2c918f7d rtpdec: Fix the alphabetical ordering in registering depacketizers
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-06 19:56:05 +03:00
Martin Storsjö 2681924b0f libavformat: Fix standalone compilation of the webm muxer
The missing object file was added to the matroska muxer already, but
not to the webm muxer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-06 19:55:53 +03:00
James Almer b06717ef40 APIchanges: Add missing entry for SHA-2 512
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-06 18:13:06 +02:00
Stefano Sabatini 4da5402256 ffprobe: show chapter and chapter metadata information
Address trac ticket #2636.
2013-06-06 16:49:53 +02:00
Michael Niedermayer 21d0f75f29 jpeg2000dec: check that we have enough components for MCT
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-06 16:06:48 +02:00
Michael Niedermayer c49d94487c jpeg2000dec: Use the matching coding style struct for transform selection
Fixes a null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-06 15:38:05 +02:00
Carl Eugen Hoyos 75b9fb27f5 lavf/hlsenc: fix bogus hls segment index rewrapping logic
The counter should not be reset since it detects the
hls segment increasing timeframe.

Fixes ticket #2643.

Reviewed-by: Stefano Sabatini
2013-06-06 12:09:38 +02:00
Michael Niedermayer b26bcd08e6 jpeg2000dec: Check that theres a SOT before SOD
Fixes out of array access

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-06 10:51:07 +02:00
Michael Niedermayer c51654fbc0 jpeg2000dec: Support 4 tile parts
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-06 03:10:42 +02:00
Paul B Mahol a28f4fd1ea flacdec: don't call allocate_buffers() in init_thread_copy() when s->max_blocksize is 0
This is normal, and happens when no extradata was available at decoder
initialization.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-06 01:06:45 +00:00
Michael Niedermayer c59ce1c98e get_qcc: Check compno
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-06 02:26:22 +02:00
Paul B Mahol b28851a1d6 alac: frame multi-threading support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-05 22:35:32 +00:00
Paul B Mahol 9684d7f1a2 wavpack: frame multi-threading support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-05 22:35:32 +00:00
Paul B Mahol 495db0e3b0 ttadec: frame multi-threading support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-05 22:35:32 +00:00
Paul B Mahol 9300de0409 flacdec: frame multi-threading support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-05 22:35:31 +00:00
Paul B Mahol d97044640c takdec: frame multi-threading support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-05 22:35:31 +00:00
Paul B Mahol d5f7f1fef1 audio frame multi-threaded decoding
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-05 22:35:31 +00:00
Michael Niedermayer 258a05b216 MAINTAINERS: add fingerprint of the FFmpeg release signing key
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 23:31:19 +02:00
Michael Niedermayer bbc19010ed jpeg2000dec: return error for invalid cdxy values
Fixes division by 0

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 23:31:19 +02:00
Stefano Sabatini 702c1bf240 Changelog: add missing entries about new mcdeint and sab filters 2013-06-05 19:35:37 +02:00
Michael Niedermayer 2c2a8f70f5 jpeg2000: Make nreslevel fields int
This prevents potential integer overflows

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 18:34:07 +02:00
Michael Niedermayer 66c4d54413 jpeg2000dec: Propagate error code from get_cox() correctly
Without this the context state could become inconsistent

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 18:34:07 +02:00
Michael Niedermayer 6e9bfc19bd jpeg2000: check that nreslevels2decode has been initialized before use
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 18:34:07 +02:00
Michael Niedermayer 16f3102f41 avformat/img2dec: timestamps are 64bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 14:41:16 +02:00
Michael Niedermayer fbc472da29 avutil/mem: simplify av_reallocp_array() by using av_realloc_f()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 14:40:31 +02:00
Michael Niedermayer 21bf0d6f80 avformat/network: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 14:29:04 +02:00
Michael Niedermayer 856e7dbb72 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  apetag: use int64_t for filesize

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 12:25:16 +02:00
Michael Niedermayer 4abd5a4318 Merge commit '274e134e49b1c92db0f0b8cb2ae7554fb7b9184c'
* commit '274e134e49b1c92db0f0b8cb2ae7554fb7b9184c':
  avconv: check that the output format context exists before accessing it

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 12:20:26 +02:00
Michael Niedermayer 2280b539c5 Merge commit '8b7dffc2d6c6c19f8e0a1fedcd0e95dce7a273ff'
* commit '8b7dffc2d6c6c19f8e0a1fedcd0e95dce7a273ff':
  lavfi doxy: improve/extend AVFilter doxy.

Conflicts:
	libavfilter/avfilter.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 12:05:41 +02:00
Michael Niedermayer 82070b01b8 Merge commit '9835abb6d63fb07613994ae90e72fef758149408'
* commit '9835abb6d63fb07613994ae90e72fef758149408':
  network: uniform ff_listen_bind and ff_listen_connect

Conflicts:
	libavformat/network.c
	libavformat/tcp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 11:56:56 +02:00
Michael Niedermayer 606e8baf0f Merge commit '7c020e1ad37d27c9d5db4d714401f09c80e3cc44'
* commit '7c020e1ad37d27c9d5db4d714401f09c80e3cc44':
  movenc: Grow the frag_info array in chunks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 11:33:25 +02:00
Michael Niedermayer 28ce9c0b73 Merge commit 'ab1189766a82a95f108005463cde75f73fcc0ae5'
* commit 'ab1189766a82a95f108005463cde75f73fcc0ae5':
  movenc: Increase the cluster array allocation by doubling

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 11:26:32 +02:00
Michael Niedermayer 30b491f1c9 Merge commit '3b4feac1ec14f861bdd7f494f288f4d8dd7f449e'
* commit '3b4feac1ec14f861bdd7f494f288f4d8dd7f449e':
  movenc: Keep track of the allocated size for the cluster array
  mem: Add av_realloc_array and av_reallocp_array

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 11:19:16 +02:00
Timothy Gu ea038b996d doc/encoders: add documentation for libtwolame 2013-06-05 08:33:13 +00:00
Michael Niedermayer 3289670142 swr: dont treat 32 and 24 as equal in simple copy check
Fixes dithering from 32 to 24 bit

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 03:06:34 +02:00
Michael Niedermayer 6bc4e36ba7 swr: set scale for 32->32/24 dither
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 03:06:34 +02:00
Stefano Sabatini 449558d34a lavfi/mp: remove mp=sab
The filter was ported to a native libavfilter filter.
2013-06-05 00:06:51 +02:00
Stefano Sabatini 841df7bf86 lavfi: port sab filter from libmpcodecs 2013-06-05 00:06:51 +02:00
Paul B Mahol 0804171104 swresample: set flags & description and add documentation for output_sample_bits
Allows users to actually use such option.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-04 21:57:25 +00:00
Michael Niedermayer 495bf1b685 swr: Fix dithering of s16 with SIMD
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-04 23:50:45 +02:00
Michael Niedermayer 4cfc92081d swr: add native_simd_one
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-04 23:50:45 +02:00
Paul B Mahol e3e398b80b doc/general: update after e4e4add0e3
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-04 21:43:59 +00:00
Michael Niedermayer 3b58ab4c5f pngdec: dont treat mpng like png with key and non keyframes
Fixes Ticket2618

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-04 20:40:07 +02:00
Carl Eugen Hoyos 3b491c5a50 Use av_log() instead of fprintf() in ffplay.
Fixes ticket #2630.

Reviewed-by: Marton Balint
2013-06-04 19:47:56 +02:00
Paul B Mahol f5d5bc3493 tak: simplify ff_tak_check_crc()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-04 17:25:32 +00:00
Anton Khirnov e816aaacd6 apetag: use int64_t for filesize
CC: libav-stable@libav.org
2013-06-04 17:20:19 +02:00
Anton Khirnov 274e134e49 avconv: check that the output format context exists before accessing it
Fixes a segfault in exit_program() if opening an output file fails.
2013-06-04 17:20:04 +02:00
Anton Khirnov 8b7dffc2d6 lavfi doxy: improve/extend AVFilter doxy. 2013-06-04 17:18:33 +02:00
Michael Niedermayer b84de51f54 swresample/rematrix: add S32 mixing code
Needed for dithering S32

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-04 15:12:11 +02:00
Michael Niedermayer f3c638eac1 wresample/rematrix_template: fix internal types
Should make no difference, but future commits will need it

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-04 15:12:11 +02:00
Luca Barbato 9835abb6d6 network: uniform ff_listen_bind and ff_listen_connect
Document the functions and have both use a millisecond timeout and
check for interrupt.
2013-06-04 14:56:52 +02:00
Andrey Semashev 7c020e1ad3 movenc: Grow the frag_info array in chunks
Previously it was grown one element at a time, which leads to
excessive reallocations.

Bug-Id: 525
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-04 15:05:42 +03:00
Andrey Semashev ab1189766a movenc: Increase the cluster array allocation by doubling
The previous allocation increment of 16384 meant that the cluster
array was allocated for 0.6 MB initially, which is a bit excessive
for cases with fragmentation where only a fraction of that ever
actually is used.

Therefore, start off at a much smaller value, and increase by
doubling (to avoid reallocating too often when writing long
non-fragmented mp4 files).

Bug-Id: 525
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-04 15:05:31 +03:00
Andrey Semashev 3b4feac1ec movenc: Keep track of the allocated size for the cluster array
When writing fragmented mp4, the cluster array is reset when a
fragment is written. Instead of starting off reallocating the
array only based on the number of current elements in it, keep
track of how many elements there were allocated earlier.

This avoids reallocating this array needlessly when writing
fragmented mp4 files.

Bug-Id: 525
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-04 15:05:12 +03:00
Martin Storsjö fc962d4e7a mem: Add av_realloc_array and av_reallocp_array
These help avoiding overflows and simplify error handling.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-04 15:04:08 +03:00
Michael Niedermayer 372e00793f Merge remote-tracking branch 'lukaszmluki/master'
* lukaszmluki/master:
  ftp: fix using uninitialized value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-04 13:56:07 +02:00
Michael Niedermayer 2192f89368 ffserver: fix null pointer dereference
Fixes CID732208
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-04 13:19:27 +02:00
Lukasz Marek 7faafe606f ftp: fix using uninitialized value
Fix coverity issue CID 1026777

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-06-04 13:08:23 +02:00
Michael Niedermayer fca435fee1 vc1dec: Disable dead code
Fixes CID732197/6

A assert is added to check that the disabled code wont
be needed in the future.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-04 02:43:20 +02:00
Paul B Mahol d19d679e4b lavf/aacdec: add support for reading ape tags
Closes #2634.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-03 23:10:57 +00:00
Paul B Mahol 55121f3fa9 tta: add support for reading ape tags
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-03 23:04:43 +00:00
Paul B Mahol 0e84ba747e tta: return meaningful error codrs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-03 22:26:16 +00:00
Paul B Mahol b4d4ef5529 flacdec: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-03 19:24:15 +00:00
Michael Niedermayer e4bf3a97de Merge branch 'master' of https://github.com/upsuper/ffmpeg-vdadec
* 'master' of https://github.com/upsuper/ffmpeg-vdadec:
  vda_h264_dec: remove check_format

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 20:21:01 +02:00
Michael Niedermayer c8faa47484 avformat/network: check the return value from setsockopt()
Fixes: CID1026742
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 16:12:00 +02:00
Michael Niedermayer 2fe4b6210c matroskadec: fix memleak of pkt_data
Fixes: CID1026767
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 16:08:38 +02:00
Michael Niedermayer 0722b4d08c matroskadec: favor av_freep()
av_freep() is safer as it zeros the pointer

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 16:05:09 +02:00
Michael Niedermayer 43487bc5c1 avfilter/vf_mcdeint: free frame on error
Fixes CID1026766
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 15:41:29 +02:00
Michael Niedermayer 3ed56b3b39 avfilter/process_options: fix memleak
Fixes CID1026765
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 15:26:50 +02:00
Michael Niedermayer 7e7d090907 avfilter/af_astats: rename stat()
See CID1026741
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 14:59:52 +02:00
Michael Niedermayer bbae652113 tiff: fix memleak
Fixes CID1026764
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 14:59:52 +02:00
Michael Niedermayer bbf43c70dd jpeg2000dec: assert that curtileno is valid when used
Fixes CID1026755
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 14:59:52 +02:00
Michael Niedermayer 234f76ae7d jpeg2000: Fix unintended sign extension in malloc arguments of prec
Fixes: CID1026772/3
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 14:59:40 +02:00
Michael Niedermayer d8c10324ed jpeg2000: Fix Unintended sign extension in malloc arguments of cblk.
Fixes CID1026770
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 14:16:19 +02:00
Michael Niedermayer 6952e2f82a h264_ps: fix memleak in ff_h264_decode_picture_parameter_set()
Fixes: CID1026763
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 14:09:12 +02:00
Michael Niedermayer 7e99d528f9 ffv1enc: Check return value of av_frame_ref()
Fixes CID1026740
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 14:06:25 +02:00
Michael Niedermayer 8a266aaaac avcodec/jpeg2000dwt: merge rescaling with interleave in 9/7 int IDWT
Tha fate tests change because the edge mirroring was wrong before this commit

Reviewed-by: Nicolas BERTRAND <nicoinattendu@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 13:24:20 +02:00
Michael Niedermayer 96b71a6ec5 avcodec/jpeg2000dwt: merge rescaling with interleave in 9/7 float IDWT
10% faster

Reviewed-by: Nicolas BERTRAND <nicoinattendu@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 13:18:40 +02:00
Michael Niedermayer 6507d86f07 jpeg2000dec; optimize output sample convert a bit
67935 -> 29984 kcycles

Reviewed-by: Nicolas BERTRAND <nicoinattendu@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 13:00:50 +02:00
Michael Niedermayer 3da7111193 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: Change the track struct name to match the typedef

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 12:54:43 +02:00
Michael Niedermayer e5cdf9c03b Merge commit '2d66a58ccde05e764594bd7e5f0f9244634d0b2c'
* commit '2d66a58ccde05e764594bd7e5f0f9244634d0b2c':
  Go2Webinar decoder

Conflicts:
	Changelog
	configure
	libavcodec/avcodec.h
	libavcodec/codec_desc.c
	libavcodec/version.h
	libavformat/riff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 12:47:26 +02:00
Michael Niedermayer 5c43f3ddea Merge commit '31980b6abdd8ffb6953472a7a6b59f3aa5762c31'
* commit '31980b6abdd8ffb6953472a7a6b59f3aa5762c31':
  vmd: decode videos with no LZ buffer size provided - they might not need it

Conflicts:
	libavcodec/vmdav.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 12:33:00 +02:00
Michael Niedermayer c3660c3618 Merge commit '0aed0bfc62b273a780a2bfba3be56039fccd7423'
* commit '0aed0bfc62b273a780a2bfba3be56039fccd7423':
  vmd: fix mode 3 decoding

Conflicts:
	libavcodec/vmdav.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 12:21:25 +02:00
Michael Niedermayer 45a73d2b47 Merge commit 'c011ceef78eae66039efc66d9551a7146e08838a'
* commit 'c011ceef78eae66039efc66d9551a7146e08838a':
  swscale: ppc: Remove commented-out define cruft
  nsvdec: Remove commented-out debug cruft
  cpu: Restructure code to avoid pointless ret variable indirection

Conflicts:
	libavutil/cpu.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 11:53:05 +02:00
Michael Niedermayer 7cb5467a52 Merge commit '46ce9ded96ffcb798b03da894cdb5fdac376a6ee'
* commit '46ce9ded96ffcb798b03da894cdb5fdac376a6ee':
  tiff: K&R formatting cosmetics

Conflicts:
	libavcodec/tiff.c
	libavcodec/tiff.h
	libavcodec/tiffenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 11:44:11 +02:00
Martin Storsjö 9683e37cd5 movenc: Change the track struct name to match the typedef
This makes the struct name (which isn't used anywhere) match the
name of the typedef, as for all the other structs declared in this
header.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-03 11:08:18 +03:00
Kostya Shishkov 2d66a58ccd Go2Webinar decoder 2013-06-03 09:24:55 +02:00
Michael Niedermayer 2976e2a102 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavfi/trim: mark link closed on EOF.
  ffmpeg: ignore EOF when pushing frames to filters.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 02:59:14 +02:00
Paul B Mahol d2021f74ed jpeg2000dec: remove redundant error log message
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-03 00:20:08 +00:00
Paul B Mahol a44d39ae42 wavpack: remove redundant error log message
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-03 00:20:04 +00:00
Paul B Mahol 0f740fea85 tta: use interger instead of pointer to iterate output samples for 24-bit case
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-02 22:43:31 +00:00
Paul B Mahol e2f89f7804 tta: move GetBitContext out of private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-02 22:38:16 +00:00
Nicolas George 50a4d076ce lavfi/trim: mark link closed on EOF.
Fix trac ticket #2620.
2013-06-02 23:19:42 +02:00
Nicolas George fc82f4a1f8 ffmpeg: ignore EOF when pushing frames to filters.
EOF is not a fatal condition, it is normally produced
by a few filters.

TODO: take it into account to avoid useless decoding.
2013-06-02 23:19:42 +02:00
Michael Niedermayer 582f36ca3f tools/qt-faststart: Fix unintended sign extension of current_offset
Fixes: CID733809

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-02 23:10:44 +02:00
Michael Niedermayer 69ce34c796 tools/qt-faststart: Fix unintended sign extension of atom_size
Fixes CID733810

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-02 23:10:31 +02:00
Michael Niedermayer c1075d6af7 tools/ffhash: close file handle on error
Fixes CID1026768

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-02 22:52:23 +02:00
Michael Niedermayer de488525e5 tools/ffeval: Check return value of av_expr_parse_and_eval()
Fixes CID1026745

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-02 22:48:03 +02:00
Kostya Shishkov 31980b6abd vmd: decode videos with no LZ buffer size provided - they might not need it
The buffer is used for an additional pass of frame compression, so videos
can be coded without ever using it (and some are coded so indeed, e.g. in
Woodruff and the Schnibble of Azimuth game).
2013-06-02 19:08:09 +02:00
Kostya Shishkov 0aed0bfc62 vmd: fix mode 3 decoding 2013-06-02 19:07:31 +02:00
Michael Niedermayer 636c2dd438 avutil/sha: reorder Maj arguments
about 1% speedup

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-02 18:51:09 +02:00
Diego Biurrun c011ceef78 swscale: ppc: Remove commented-out define cruft 2013-06-02 18:11:59 +02:00
Diego Biurrun 9f84ed8cc3 nsvdec: Remove commented-out debug cruft 2013-06-02 18:11:58 +02:00
Diego Biurrun f0ce1d9909 cpu: Restructure code to avoid pointless ret variable indirection
libavutil/cpu.c:133:9: warning: unused variable ‘ret’ [-Wunused-variable]
2013-06-02 18:05:08 +02:00
Diego Biurrun 46ce9ded96 tiff: K&R formatting cosmetics 2013-06-02 17:59:34 +02:00
Paul B Mahol 514cb9bb92 tta encoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-02 15:16:52 +00:00
Paul B Mahol 2e67dde954 tta: move code that will be shared with encoder to separate file
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-02 14:53:14 +00:00
Carl Eugen Hoyos a4b5863eea Fix compilation of libavcodec/tiff.c 2013-06-02 16:50:39 +02:00
Paul B Mahol 379ad9788b tiff: planar rgb
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-02 14:22:40 +00:00
Michael Niedermayer 09d6beee24 avutil/sha512: Reshuffle Maj() operands
This reduces dependancy chains and improves speed by about 2%

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-02 13:18:16 +02:00
James Almer 682b2273e8 lavu: Add SHA-2 512 hashing
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-02 11:27:19 +02:00
Michael Niedermayer a40370661d use Kostyas full name in copyrights
This fixes 2 files that where not part of the original change
See: de421b2085

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-02 11:25:56 +02:00
Michael Niedermayer 54ddbb477b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  network: factor out connect-listening code

Conflicts:
	libavformat/network.h
	libavformat/tcp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-02 11:02:02 +02:00
Michael Niedermayer 4d4f5911d3 Merge commit '28306e6d620c109ddd672f7243adfbc2bbb3b18f'
* commit '28306e6d620c109ddd672f7243adfbc2bbb3b18f':
  network: factor out bind-listening code
  use my full first name instead of short one in copyrights

Conflicts:
	libavformat/tcp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-02 10:30:35 +02:00
Michael Niedermayer 5711e4fd11 fate: use TARGET_SAMPLES in mcdeint tests
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-02 02:03:39 +02:00
Paul B Mahol 58b36959dd tta: use get_unary()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-01 23:06:04 +00:00
Michael Niedermayer c28aafe6c0 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: detect when the created overlay buffers are not valid for the wanted overlay height
  ffplay: do not allow wider window than 16383
  ffplay: use 0 frame delay if redisplaying an already displayed frame
  ffplay: use more sane frame timer resetting logic
  ffplay: only update pts if not redisplaying a frame
  ffplay: fix compute_target_delay to better handle frames with long durations
  ffplay: if playing only audio or video only, show the master clock diff in status line
  ffplay: factorize clock functions
  ffplay: decrease video picture queue size to 3

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-01 23:47:01 +02:00
Stefano Sabatini ec34963276 lavfi/mp: drop mcdeint wrapper
It was ported to a native libavfilter filter.
2013-06-01 22:35:20 +02:00
Stefano Sabatini 5fa252b212 tests: add mcdeint tests 2013-06-01 22:35:04 +02:00
Stefano Sabatini e89182fc94 lavfi: port mcdeint filter from libmpcodecs 2013-06-01 22:34:57 +02:00
Stefano Sabatini 3a2b9911bf lavfi/mp/mcdeint: avoid uninited data read
Do not read padding or out-of-buffer values when computing the output
value for a pixel close to the image buffer edge.

This avoids non visible artifacts which affected the output checksum.

See thread:
Subject: [FFmpeg-devel] [PATCH] lavfi/mp/mcdeint: avoid uninited data read
Date: Thu, 30 May 2013 18:57:14 +0200
2013-06-01 22:34:50 +02:00
Clément Bœsch 534f1a2821 lavc/avcodec: decodimg → decoding. 2013-06-01 19:16:45 +02:00
Carl Eugen Hoyos f514b5dff7 Fix libcdio-paranoia detection.
Fixes ticket #2614.
2013-06-01 18:34:51 +02:00
Luca Barbato f849a77e67 network: factor out connect-listening code
Introduce ff_listen_connect, to be shared with the other
non-tcp network protocols.
2013-06-01 15:29:53 +02:00
Luca Barbato 28306e6d62 network: factor out bind-listening code
Introduce ff_listen_bind, to be shared with the other non-tcp
network protocols.
2013-06-01 15:29:53 +02:00
Clément Bœsch 07f6a66bf5 lavf/webvttdec: factorize identifier and settings side data code. 2013-06-01 15:12:49 +02:00
Matthew Heaney 8f75ba9926 lavf/webvttdec: save cue id and settings as side data
Currently the WebVTT demuxer parses the cues but throws away
the cue id (the optional first line of the cue) and cue
settings (the optional rendering instructions that follow
the timestamp).

However, in order to write inband text tracks (to WebM
files), the entire cue payload from the WebVTT source must
be preserved.

This commit makes no change to the data part of the output
buffer packet (where the actual cue text is stored), but
does add the cue id and settings as a side data items, if
they're present in the cue. Existing code that cares only
about the data part of the packet can continue to ignore the
side data.

There are two new packet data type flags,
AV_PKT_DATA_WEBVTT_IDENTIFIER and
AV_PKT_DATA_WEBVTT_SETTINGS.
2013-06-01 15:12:49 +02:00
Clément Bœsch 151b4947e5 lavc/avpacket: fill padding area on side data split.
The padding data is assumed to be 0 in several places, notably in
subtitles. This problem was not detected with fate-sub-srt test because
the first element of the side data (x1) is 0 in the test, so the
trailing side data present in the packet wasn't read by the decoder. The
issue can be observed with a large enough x1.

It is also noted in FF_INPUT_BUFFER_PADDING_SIZE doxy that MPEG
bitstreams require that padding with 0, so it might fix other issues.
2013-06-01 15:12:49 +02:00
Michael Niedermayer 9054e72529 jpeg2000: make sure s->numXtiles / s->numYtiles are reset when tile is deallocated
This keeps the structure fields more consistent after cleanup

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-01 14:41:46 +02:00
Xidorn Quan 4a023d5b53 vda_h264_dec: remove check_format
Since this function cannot work anymore, this patch simply removes it.
2013-06-01 12:02:11 +00:00
Kostya Shishkov de421b2085 use my full first name instead of short one in copyrights 2013-06-01 13:38:50 +02:00
Marton Balint 30d724bdfd ffplay: detect when the created overlay buffers are not valid for the wanted overlay height
Fixes cases when the picture height was bigger than the maximum supported
overlay height...

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-06-01 12:50:46 +02:00
Marton Balint 87917a3283 ffplay: do not allow wider window than 16383
SDL surface pitch is 16bit, to avoid possible overflows, we limit the window
width to 16383. Fixes ticket #2428.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-06-01 12:50:46 +02:00
Marton Balint 3b6f1526c6 ffplay: use 0 frame delay if redisplaying an already displayed frame
With the previous patches this finally fixes ticket #1707.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-06-01 12:50:46 +02:00
Marton Balint 97e42551e4 ffplay: use more sane frame timer resetting logic
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-06-01 12:50:46 +02:00
Marton Balint 35b2f30fd1 ffplay: only update pts if not redisplaying a frame
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-06-01 12:50:46 +02:00
Marton Balint e341cb1102 ffplay: fix compute_target_delay to better handle frames with long durations
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-06-01 12:50:45 +02:00
Marton Balint 5b492720ad ffplay: if playing only audio or video only, show the master clock diff in status line
Showing A-V diff has no use if there is no audio and video stream, but showing
the audio or video clock difference to the master clock can be useful.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-06-01 12:50:45 +02:00
Marton Balint f2175a628b ffplay: factorize clock functions
There should be no change in functionality.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-06-01 12:50:45 +02:00
Marton Balint b764b53aae ffplay: decrease video picture queue size to 3
It was raised to 4 because of a theoretical issue, if we ensure that we do not
return from the display function without popping one picture from the queue,
then its OK to use the old size.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-06-01 12:50:45 +02:00
Clément Bœsch 1fb52bf920 lavfi/mptestsrc: fix chroma subsampling with odd sizes.
This makes no difference in practice since w & h are hardcoded to 512.
2013-06-01 12:05:55 +02:00
Clément Bœsch 7ba04b3c48 lavfi/pixdesctest: fix chroma subsampling with odd sizes. 2013-06-01 12:05:55 +02:00
Michael Niedermayer 35cf069aea Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix compilation with --disable-everything --enable-encoder=jpeg2000

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-01 11:49:48 +02:00
Michael Niedermayer dc60061bb6 jpeg2000dec: optimize dequantization_int()
4400->2800 cycles

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-01 11:48:13 +02:00
Michael Niedermayer 6cbd0241f2 jpeg2000dec: optimize dequantization_float()
4700 -> 2700 cycles (sandybridge  i7)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-01 11:48:09 +02:00
Carl Eugen Hoyos f1c8413dc7 Fix compilation with --disable-everything --enable-encoder=jpeg2000
The JPEG2000 encoder depends on the discrete wavelet transform.
2013-06-01 11:15:31 +02:00
James Almer c485c835fe avutil/crc: Dont limit CRC32 standard tables
Currently, standard tables like AV_CRC_32_IEEE and such are being generated (or
provided in case the user compiles with hardcoded tables) with only 257 elements.
We're missing a considerable boost in performance by not making them with a size
of 1024 elements instead.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-01 10:53:39 +02:00
Michael Niedermayer 0c2f673ed2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  indeo4: expand allowed quantiser range
  configure: icl: Merge -Qdiag-error parameters

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-01 10:27:47 +02:00
Michael Niedermayer b919a8d3a3 Merge commit '14fb9d3d8ccf5f50180aabdb1afe8b570fea3d28'
* commit '14fb9d3d8ccf5f50180aabdb1afe8b570fea3d28':
  configure: Separate commonalities in msvc and icl flags

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-01 10:16:42 +02:00
Kostya Shishkov 33f64fd5d5 indeo4: expand allowed quantiser range
Indeo 4 has quantiser range 0-31 instead of 0-23 for Indeo 5, and clipping
quantiser leads to incorrect quantisation and DC prediction on low-quality
videos.

This fixes bug 259.
2013-06-01 06:36:47 +02:00
Clément Bœsch 716dbc7e13 lavf/allformats: align nit for tee muxer. 2013-06-01 02:36:07 +02:00
Paul B Mahol 710940bec1 tta: stop checking header checksum in extradata
It's redundant now as check in done in demuxer instead.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-31 21:11:55 +00:00
James Almer 6510686c16 lavf/tta: check header and seek table checksum
Since we don't check for seek table integrity in the decoder anymore,
check it in the demuxer instead (Only tta files are guaranteed to have
one, and it should be valid there).

Check also for header integrity, since the check done in the decoder
is ignored because matroska doesn't store the header at all.

Signed-off-by: James Almer <jamrial@gmail.com>
2013-05-31 21:10:57 +00:00
Alex Smith 60f09c04d8 configure: icl: Merge -Qdiag-error parameters
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-05-31 14:39:30 -04:00
Alex Smith 14fb9d3d8c configure: Separate commonalities in msvc and icl flags
Allows for easier handling of flags that may be specific to icl or msvc.
Furthermore, simplify the handling of warnings and remarks thanks to
icl's support of -Wall on Windows.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-05-31 14:39:14 -04:00
Michael Niedermayer f70d0212ce Merge remote-tracking branch 'lukaszmluki/master'
* lukaszmluki/master:
  ftp: enhanced error handling
  ftp: reconnect on seek
  ftp: move common commands code to function
  ftp: enhanced status code handling
  ftp: reconnect on read
  ftp: move create control connection to function
  ftp: credentials moved into FTPContext
  ftp: rename function name
  ftp: formatting and typos fixes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 19:26:19 +02:00
Michael Niedermayer 6e073dd127 configure: check for nanosecond precission stat
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 17:28:44 +02:00
Michael Niedermayer 887d74c47e av_d2q: Add a special case for |value| > MAX and |value| < 1/MAX
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 17:10:36 +02:00
Lukasz Marek ddbcc48b64 ftp: enhanced error handling
Add error codes to expected codes to make responses faster.
Success of a command is validated by comparing code to a success code.
2013-05-31 16:54:03 +02:00
Lukasz Marek 34c423894c ftp: reconnect on seek
ABOR command usually takes long (FTP server implementation dependent).
It also produces different response codes from different servers.

It is save for ffmpeg to reconnect both connection during seek for two reasons:
1. Alreay mentioned heavy manner of ABOR command.
2. Server may disconnected due to no transfer (seek after a long pause in ffmpeg client)
2013-05-31 16:52:39 +02:00
Lukasz Marek d99beeb70e ftp: move common commands code to function
Each send command routine requires the same steps.
This commit moves repeated code into one function.
2013-05-31 16:42:26 +02:00
Lukasz Marek 3f00521809 ftp: enhanced status code handling
Reimplementation of ftp_status function.
New version requires explicit list of expected codes.
It flush data connection input before sending a command
and blocks until expected result appears.
2013-05-31 16:42:25 +02:00
Lukasz Marek 1931c2d265 ftp: reconnect on read
FTP server may disconnect after some period of time when no transfer is done.

FTP protocol should reconnect and seek to last position.
2013-05-31 16:40:03 +02:00
Lukasz Marek c84d6aa2f6 ftp: move create control connection to function
Move common code that opens control connection to function.
This code can be reused when reconnecting to FTP server
after inactivity.
2013-05-31 15:57:58 +02:00
Lukasz Marek e46e49e31d ftp: credentials moved into FTPContext
FTP server may disconnect client.

This commit stores credentials for future reconnect.
2013-05-31 15:57:58 +02:00
Lukasz Marek 80cce899f6 ftp: rename function name
ftp_send_command was used only once.

This commit makes this function specific, not generic
2013-05-31 15:57:58 +02:00
Lukasz Marek afa30e51d1 ftp: formatting and typos fixes 2013-05-31 15:57:57 +02:00
Michael Niedermayer f77467a11d jpeg2000dec: fix indention
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 13:33:13 +02:00
Michael Niedermayer c1415cfefb jpeg2000dec: print more detailed cdx/y debug info
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 13:32:33 +02:00
Michael Niedermayer f0b9bd807b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  proresenc: alpha coding support

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 11:32:58 +02:00
Clément Bœsch 7de8a38160 lavfi/vignette: remove extra semi-colon. 2013-05-31 10:22:03 +02:00
Michael Niedermayer 9d56ccf5af j2k/jpeg2000dec: merge
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 03:10:08 +02:00
Michael Niedermayer fd7e119037 jpeg2000dec: merge simplification of jpeg2000_decode_packets() from j2k
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 03:10:08 +02:00
Michael Niedermayer 192050d7a7 jpeg2000dec: merge sgnd fix from j2k
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 03:10:07 +02:00
Michael Niedermayer 5dbbb762e5 jpeg2000dec: merge struct field types from j2k
Fixes AVOption type mismatch

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 03:10:07 +02:00
Michael Niedermayer 89f472b3ee j2kdec: merge JPEG2000_PGOD_CPRL code from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 03:10:07 +02:00
Michael Niedermayer 45c0e338fc j2kdec: merge picture handling from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 03:10:07 +02:00
Michael Niedermayer f471b5fa30 j2k: restructure bitstream decoding
This is based on jpeg2000 but differs because of
problems with the design from jpeg2000 with currently
supported files

More files can be decoded after this commit, though they
show heavy artifacts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 03:09:32 +02:00
Michael Niedermayer cdb86136f7 j2k/jpeg2000: merge some of the tilepart related code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 02:22:11 +02:00
Michael Niedermayer a5203d86b3 j2kdec: merge length==0 check from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 02:22:11 +02:00
Michael Niedermayer f67f2681da jpeg2000deci/j2kdec: fix sizeof types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 02:22:10 +02:00
Michael Niedermayer 20a2d5ec11 jpeg2000dec: fix ff_mqc_initdec() and data setup order
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 02:22:10 +02:00
Michael Niedermayer 7a2b634220 jpeg2000dec: simplify init_tile() / merge from j2k
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 02:22:10 +02:00
Matthieu Bouron f468325d34 lavf/id3v2enc: fix cover art display on some software
Adding an arbitrary amount of padding bytes at the end of the
ID3 metadata fixes cover art display for some software (iTunes,
Traktor, Serato, Torq).

For reference (ID3 metadata):

[ Apic frames ]                      -> cover doesn't show up
[ Apic frames, Padding ]             -> ok
[ Apic frames, ID3 frames ]          -> ok
[ ID3 frames, Apic frames ]          -> cover doesn't show up
[ ID3 frames, Apic frames, Padding ] -> ok
2013-05-30 21:16:57 +00:00
Paul B Mahol c4e0e31424 tta: remove pointless code
Checking seek table crc in decoder is pointless, as seek table is not used in
decoder anyway, so also stop storing seek table into extradata.
2013-05-30 20:17:27 +00:00
Clément Bœsch 2886e8065e lavfi/vignette: add aspect option. 2013-05-30 20:51:12 +02:00
Clément Bœsch 33620e243f lavfi/vignette: add some scaling debug. 2013-05-30 20:41:56 +02:00
Clément Bœsch bfafcc4ebe lavfi/vignette: simplify dmax definition. 2013-05-30 20:41:37 +02:00
Clément Bœsch cf6f179044 lavfi/vignette: fix scale with aspects smaller than one. 2013-05-30 20:40:39 +02:00
Michael Niedermayer 826b3a75cd h264_cavlc: fix reading skip run
Fixes Ticket2606

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 18:38:04 +02:00
Michael Niedermayer 3f714d1ffd jpeg2000/j2k: merge non functional changes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 18:38:04 +02:00
Michael Niedermayer 941a8efae2 j2k:decode_tile() pass picture as argument
Reduce diff to jpeg2000dec

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 18:38:04 +02:00
Michael Niedermayer 9ccc9f30f7 jpeg2000: drop red-blue swap
This should no longer be needed as the pix fmt was updated

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 18:37:56 +02:00
Michael Niedermayer 7836583934 j2kdec: s/j2k_/jpeg2000_/
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 18:31:25 +02:00
Clément Bœsch 4a85390d29 lavfi/vignette: make sure a sane sar is set. 2013-05-30 18:13:04 +02:00
Clément Bœsch 0ab9362fcb lavfi: add vignette filter. 2013-05-30 17:52:52 +02:00
Michael Niedermayer 310f9dd698 j2k/jpeg2000: merge pix_fmt setting code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 16:45:30 +02:00
Michael Niedermayer 6f7de3d5c8 mpegvideo_enc: allow mpeg_quant to be set in mpeg2video
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 16:07:07 +02:00
Michael Niedermayer 62d00aa22f jpeg2000/j2k: merge j2k/jpeg2000.c/h
Now only j2kdec / jpeg2000dec.c remain

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 14:57:58 +02:00
Michael Niedermayer c2ac389bba jpeg2000: remove unneeded casts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 14:43:09 +02:00
Michael Niedermayer 09e03a8467 jpeg2000: merges quantization fixes from j2k
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 14:43:09 +02:00
Michael Niedermayer efc2df2e27 jpeg2000: remove unneeded variable initialization
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 14:43:09 +02:00
Michael Niedermayer 84a6bc2357 jpeg2000: tag_tree_size: replace check by assert
This function is never called with values large enough for the
error condition to occur

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 14:43:09 +02:00
Michael Niedermayer 8bedbb82ce j2k/jpeg2000: split data pointer in int & float.
This fixes a TODO item and unifies both decoders structures
It also fixes undefined behavior due to aliasing violations

I choose 2 fields instead of a union because mistakely using the
wrong type with a union will lead to hard to debug "wrong output"
while with 2 fields mistakely using the wrong type will crash
with a null pointer derefernce which is much easier to debug

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 14:18:53 +02:00
Carl Eugen Hoyos b3af9242d0 Use -lX11 -lXext when linking Xv output device.
Reviewed-by: Stefano Sabatini
2013-05-30 13:13:57 +02:00
Michael Niedermayer 1a7ae6be2a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: Include hpeldsp_neon.o if h264qpel is enabled

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 11:21:45 +02:00
Michael Niedermayer e119d1b345 Merge commit 'efb7968cfe8b285ab4f27b363719b7c92d19ec74'
* commit 'efb7968cfe8b285ab4f27b363719b7c92d19ec74':
  arm: Don't unconditionally build dsputil files

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 11:02:21 +02:00
Michael Niedermayer 0b539da4c7 Merge commit '36a7df8cf1115aa37a1b0d42324ecde5ab6c2304'
* commit '36a7df8cf1115aa37a1b0d42324ecde5ab6c2304':
  arm: Only build the FFT init files if FFT is enabled

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 10:57:14 +02:00
Michael Niedermayer 3a0e21f037 Merge commit '186599ffe0a94d587434e5e46e190e038357ed99'
* commit '186599ffe0a94d587434e5e46e190e038357ed99':
  build: cosmetics: Place unconditional before conditional OBJS lines

Conflicts:
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 10:49:43 +02:00
Stefano Sabatini f7a267affe doc/encoders: remove duplicated "the" 2013-05-30 10:44:54 +02:00
Stefano Sabatini 9f8937b5ef lavd: add xv output device
Based on the work of Jeff Moguillansky <Jeff.Moguillansky@am.sony.com>.

See thread:
Subject: [FFmpeg-devel] x11 output device for libavdevice
Date: Wed, 10 Apr 2013 23:10:47 +0000
2013-05-30 10:44:54 +02:00
Michael Niedermayer 1bbbbb0a32 Merge commit '9b9b2e9f3036abfd42916bcf734af14b4cb686aa'
* commit '9b9b2e9f3036abfd42916bcf734af14b4cb686aa':
  build: arm: cosmetics: Place all OBJS declarations in alphabetical order

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 10:37:52 +02:00
Michael Niedermayer 103ffde5a3 Merge commit '701966730ce10290fd49c5ccedd73f505680f764'
* commit '701966730ce10290fd49c5ccedd73f505680f764':
  vmd: drop incomplete chunks and spurious samples

Conflicts:
	libavcodec/vmdav.c

2 of the changes are replaced by assert0s, as they should
be impossible.
The actual bug is likely caused by a invalid block_align
which is checked for and thus impossible in ffmpeg.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 10:36:52 +02:00
Michael Niedermayer ab78e21ea2 Merge commit '676da248cad49debc40720baa13214f0b94dcc71'
* commit '676da248cad49debc40720baa13214f0b94dcc71':
  vmd: refactor the inner decode loop

Conflicts:
	libavcodec/vmdav.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 09:44:57 +02:00
Michael Niedermayer 8ef89833d0 Merge commit 'c8f3cb9119c2183680d44a509a1b5a9817a3bee9'
* commit 'c8f3cb9119c2183680d44a509a1b5a9817a3bee9':
  vmd: return meaningful errors

Conflicts:
	libavcodec/vmdav.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 09:37:14 +02:00
Michael Niedermayer 6635b13411 Merge commit '91a6944e56236234f0a7ba162404665753cbcb51'
* commit '91a6944e56236234f0a7ba162404665753cbcb51':
  vmd: use the PALETTE_COUNT constant uniformly

Conflicts:
	libavcodec/vmdav.c

No change as the changed line does not exist in ffmpegs vmdav.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 09:28:23 +02:00
Kostya Shishkov 0b0953baec proresenc: alpha coding support 2013-05-30 09:23:26 +02:00
Michael Niedermayer 63e5e9f7c5 fate: fix smvjpeg test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 03:31:04 +02:00
Michael Niedermayer 455ae871a8 libavcodec/smvjpegdec: pass flags / idct algo into jpeg avctx
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 03:30:01 +02:00
Ash Hughes fa30f4c24d fate: add smv test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 03:00:05 +02:00
Martin Storsjö 86113667c0 arm: Include hpeldsp_neon.o if h264qpel is enabled
A few of the h264qpel neon functions are shared with other
hpeldsp functions in this file.

This fixes standalone compilation of the h264 decoder on arm.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-30 02:17:37 +03:00
Martin Storsjö efb7968cfe arm: Don't unconditionally build dsputil files
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-30 02:17:35 +03:00
Martin Storsjö 36a7df8cf1 arm: Only build the FFT init files if FFT is enabled
This fixes build errors in cases where FFT is disabled.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-30 02:17:33 +03:00
Diego Biurrun 186599ffe0 build: cosmetics: Place unconditional before conditional OBJS lines
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-30 02:17:31 +03:00
Diego Biurrun 9b9b2e9f30 build: arm: cosmetics: Place all OBJS declarations in alphabetical order
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-30 02:17:27 +03:00
Michael Niedermayer 29e97cd6c3 avformat/mov: Try to detect and support files with invalid sample sizes
Fixes Ticket2605

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 00:32:36 +02:00
Reimar Döffinger 4c2b3f4738 Add AV_HASH_MAX_SIZE.
Makes it easier to use static allocation for the result buffer.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-05-29 22:31:16 +02:00
Reimar Döffinger dccaad3bcd wamenc: handle failure to encode.
This is necessary since the switch to floating point
input means there is no longer sufficient input data
validation.
There is a good chance that other encoders are affected
by similar issues.
This problem can be triggered by trying to encode
extremely large values and probably also with Inf and
possibly also NaNs.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-05-29 22:31:16 +02:00
Luca Barbato 701966730c vmd: drop incomplete chunks and spurious samples
Odd chunk size makes no sense for stereo and incomplete chunks are
not supported.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-29 21:30:21 +02:00
Paul B Mahol 38fefbc474 wtvenc: use ffio_fill()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-29 18:14:43 +00:00
Michael Niedermayer ac025d6eca j2kdec: remove unused variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 19:57:03 +02:00
Michael Niedermayer 0abe923d20 mpegvideo: fix forgotten lowres op_index limits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 19:55:27 +02:00
Michael Niedermayer c2625c26c5 mpegvideo: implement ff_put_h264_chroma_mc1 & ff_avg_h264_chroma_mc2
These are needed for lowres 3

This may fix Ticket2538

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 19:48:03 +02:00
Paul B Mahol f8f42f4821 lavfi/noise: fix out of array access
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-29 16:54:28 +00:00
Paul B Mahol 83f9735592 lavfi/noise: support slice threading
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-29 16:13:11 +00:00
Paul B Mahol f46732fe4d wvenc: remove flush call, not needed since 4f112a8e3
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-29 14:25:34 +00:00
Paul B Mahol 6d3b913479 remove APEv1 tag writer
Not used anymore.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-29 14:06:26 +00:00
Paul B Mahol be5a55535e apetag: do not create invalid APE tags
APEv2 specifications forbids non-ascii keys.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-29 14:01:15 +00:00
Paul B Mahol 7984ed87c1 tiff: support inverted fill_order for packbits compression
Fixes #1995.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-29 13:43:03 +00:00
Paul B Mahol 30d7dcce4c tiff: add helper function for fill_order case
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-29 13:42:55 +00:00
Paul B Mahol b257d9a01f alac: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-29 12:37:33 +00:00
Paul B Mahol 7469be099e lavc/tta: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-29 12:30:07 +00:00
Paul B Mahol 96db307b3d lavf/flacenc: use ffio_fill()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-29 10:40:13 +00:00
Luca Barbato 676da248ca vmd: refactor the inner decode loop
Simplify a little, assume empty frames are acceptable and
do not pointlessly reinit the bytestream2 contexts using
possibly wrong size values.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-29 12:11:47 +02:00
Luca Barbato c8f3cb9119 vmd: return meaningful errors
CC: libav-stable@libav.org
2013-05-29 12:11:47 +02:00
Luca Barbato 91a6944e56 vmd: use the PALETTE_COUNT constant uniformly
While at it drop useless parentheses.
2013-05-29 12:11:47 +02:00
Michael Niedermayer 4ea5aea869 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doc: Mention the target_samples and ld variables for fate configs
  fate.sh: Allow specifying --as via a specific variable

Conflicts:
	doc/fate.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 11:19:25 +02:00
Michael Niedermayer 200ef1e3c3 Merge commit '9f30fb5a773d59298d8d45c741b3fd971d84c97b'
* commit '9f30fb5a773d59298d8d45c741b3fd971d84c97b':
  configure: Don't pass -mthumb or -march= to MSVC
  mpeg12: skip frames consistently

Conflicts:
	libavcodec/mpeg12dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 11:06:26 +02:00
Michael Niedermayer d9cde3976c Merge commit '2d2d6a4883479403798f4ed46941d5b365823570'
* commit '2d2d6a4883479403798f4ed46941d5b365823570':
  lavf: add a raw WavPack muxer.
  apetag: add support for writing APE tags
  matroskaenc: support muxing WavPack

Conflicts:
	libavformat/Makefile
	libavformat/allformats.c
	libavformat/apetag.h
	libavformat/version.h
	libavformat/wvenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 10:40:42 +02:00
Michael Niedermayer 53015bb3b3 Merge commit '794ca87d2bff2513118de8b97595b3e23070e67d'
* commit '794ca87d2bff2513118de8b97595b3e23070e67d':
  wvdec: split block header parsing into a separate file

Conflicts:
	libavformat/Makefile
	libavformat/wvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 10:07:30 +02:00
Michael Niedermayer ad649e829d Merge commit '0a1a94450a28eef854162f859e79ecfb9f97915b'
* commit '0a1a94450a28eef854162f859e79ecfb9f97915b':
  lavf: rename wv.c to wvdec.c

Conflicts:
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 09:54:13 +02:00
Martin Storsjö a51161ed98 doc: Mention the target_samples and ld variables for fate configs
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-29 10:37:18 +03:00
Martin Storsjö d7b9b66abb fate.sh: Allow specifying --as via a specific variable
This simplifies specifying a value containing spaces for this
parameter.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-29 10:37:05 +03:00
Michael Niedermayer 7a2edcf1c8 Merge commit '89806691b1c39181c63d95e0fddc30f11e2a7b04'
* commit '89806691b1c39181c63d95e0fddc30f11e2a7b04':
  wavpack: check that all the channels were coded.
  wavpack: check that there aren't too many blocks per packet

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 05:01:35 +02:00
Michael Niedermayer 4d2825a317 Merge commit '7d039e70a5ff23a7deaa866684d2e8872acc5169'
* commit '7d039e70a5ff23a7deaa866684d2e8872acc5169':
  wavpack: extract channel information from the bitstream

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 04:37:58 +02:00
Michael Niedermayer 8543575cc4 Merge commit '78f75b6fa421dd39a715588e9487579f1ce5bada'
* commit '78f75b6fa421dd39a715588e9487579f1ce5bada':
  wavpack: extract sample rate from the bitstream
  configure: support gcc-4.8 instrumentation

Conflicts:
	libavcodec/wavpack.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 04:33:27 +02:00
Michael Niedermayer 1f5e5d2205 Merge commit 'ba13606ca6adbc74b4db4a72b0769397d6408791'
* commit 'ba13606ca6adbc74b4db4a72b0769397d6408791':
  fate: Add a --target-samples path parameter

Conflicts:
	configure
	tests/fate/audio.mak
	tests/fate/cover-art.mak
	tests/fate/demux.mak
	tests/fate/ea.mak
	tests/fate/filter-video.mak
	tests/fate/h264.mak
	tests/fate/image.mak
	tests/fate/lossless-audio.mak
	tests/fate/lossless-video.mak
	tests/fate/microsoft.mak
	tests/fate/pcm.mak
	tests/fate/prores.mak
	tests/fate/qt.mak
	tests/fate/real.mak
	tests/fate/screen.mak
	tests/fate/video.mak
	tests/fate/voice.mak
	tests/fate/vpx.mak
	tests/fate/vqf.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 04:25:37 +02:00
Michael Niedermayer e755c8ac46 Merge commit '4a27a52a1f74016095b7aee1b4a422cf62217ade'
* commit '4a27a52a1f74016095b7aee1b4a422cf62217ade':
  fate: Don't use files from SRC_PATH in the actual tests
  indeo4: reuse context block VLC for band instead of defaulting

Conflicts:
	tests/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 04:02:23 +02:00
Michael Niedermayer ca90ca8ce3 Merge commit '6647aa0426e73839b9b1d1c9d86188f469167531'
* commit '6647aa0426e73839b9b1d1c9d86188f469167531':
  indeo4: add missing Haar and slanted transforms
  dxtory v2 support

Conflicts:
	libavcodec/indeo4.c
	libavcodec/ivi_dsp.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 03:52:16 +02:00
Michael Niedermayer a58e10e5d1 Merge commit '728214992e3698305550c1762f973d2ac567f016'
* commit '728214992e3698305550c1762f973d2ac567f016':
  vc1dec: Remove interlaced warning
  vc1dec: Fix mixed field/frame intensity compensation
  vc1dec: Match addressing between compensation and MC in vc1_mc_4mv_chroma4
  vc1dec: Handle top and bottom blocks in vc1_mc_4mv_chroma4() differently if needed
  vc1dec: Fix doxy for vc1_mc_4mv_chroma4()
  vc1dec: Drop old use_ic code from vc1_b_mc
  vc1: Use shuffled use_ic instead of equally shuffled mv_mode
  vc1dec: Implement intensity compensation for vc1_interp_mc()

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 03:28:18 +02:00
Michael Niedermayer 28923f1923 Merge commit '28243b0d35b47bbf9abbd454fc444a6e0a9e7b71'
* commit '28243b0d35b47bbf9abbd454fc444a6e0a9e7b71':
  vc1dec: Redesign the intensity compensation

Conflicts:
	libavcodec/vc1.c
	libavcodec/vc1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 03:00:04 +02:00
Michael Niedermayer 4f4c91d474 Merge commit '93b1281264b87961f53c3e9c134cc2727ecd91ed'
* commit '93b1281264b87961f53c3e9c134cc2727ecd91ed':
  vc1dec: Shuffle field MVs after decoding, not before

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 02:40:22 +02:00
Michael Niedermayer 83fd377c94 j2k/jpeg2000: merge float DWT and related code
the float conditions are largely changed to check the DWT
instead of the bitexact flag, which previously was wrong
(DWT53 is always int)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 00:29:25 +02:00
Martin Storsjö 9f30fb5a77 configure: Don't pass -mthumb or -march= to MSVC
The modern MSVC for ARM always builds for thumb, and it can't be
disabled.

Also just use the default arch instead of trying to map the -march
parameter to MSVC's -arch parameter (which only takes the values
ARMv7VE and VFPv4).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-29 00:53:11 +03:00
Michael Niedermayer a510abd5d1 j2kdec:merge mct_decode from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 23:49:11 +02:00
Michael Niedermayer c37d735c1c jpeg2000dec: mct_decode: remove unused return
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 23:49:11 +02:00
Justin Ruggles e816a8bc26 ffmpeg: use actual packet pts when discarding for the copypriorss option
The ist->pts value at this point does not necessarily match the actual packet
pts, which is what should be used to decide whether to discard the packet.
Without this change, some video packets that have pts on or after the start
time are getting discarded when they should not be.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-05-28 17:03:23 -04:00
Michael Niedermayer fe7136ef82 j2k/jpeg2000: split stepsize in float & int variables
This is more clear and less prone to mistakes.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 22:16:14 +02:00
Michael Niedermayer aa0d11ed0b jpeg2000dec: remove unneeded returns
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 22:16:14 +02:00
Michael Niedermayer f7129ab928 j2k/jpeg2000: fix typo in lut_gain index
no testcase

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 22:16:14 +02:00
Clément Bœsch 1f1df07ce5 lavfi/drawutils: attempt to fix subsampling. 2013-05-28 19:20:27 +02:00
Janne Grunau bf20cdbd86 mpeg12: skip frames consistently
The decoder did not start predicted frames with missing references but
called the end of frame handling on them anyway. This caused an
assertion in the VA API HW accelorator since it tried to render a
picture with uninitialized buffers.
2013-05-28 19:18:10 +02:00
Michael Niedermayer 32475f56f3 j2kdec/jpeg2000dec: partially merge quantization code
The quantization code needs more work, not so much work
merging but more work investigating what is correct.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 19:02:00 +02:00
Michael Niedermayer f0a2c8285a j2kdec: Try to fix 8bps output case
Ive no test samples for which this makes a difference but it
matches the 16bit implementation.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 18:58:46 +02:00
Anton Khirnov 2d2d6a4883 lavf: add a raw WavPack muxer. 2013-05-28 18:19:19 +02:00
Anton Khirnov 88de0c7901 apetag: add support for writing APE tags
This will be useful in the WavPack muxer.
2013-05-28 18:19:03 +02:00
Anton Khirnov 01656fd476 matroskaenc: support muxing WavPack 2013-05-28 18:18:57 +02:00
Anton Khirnov 794ca87d2b wvdec: split block header parsing into a separate file
It will be reused by other muxers and demuxers.
2013-05-28 17:47:59 +02:00
Anton Khirnov 0a1a94450a lavf: rename wv.c to wvdec.c
wv.c will be used for shared wavpack functions.
2013-05-28 17:47:30 +02:00
Anton Khirnov 89806691b1 wavpack: check that all the channels were coded. 2013-05-28 17:47:24 +02:00
Anton Khirnov eae1b8451a wavpack: check that there aren't too many blocks per packet 2013-05-28 17:47:17 +02:00
Anton Khirnov 7d039e70a5 wavpack: extract channel information from the bitstream
This way we don't require the caller to parse the block header. It also
allows the channel configuration to change mid-stream.
2013-05-28 17:47:04 +02:00
Anton Khirnov 78f75b6fa4 wavpack: extract sample rate from the bitstream
This way we don't require the caller to parse the block header. It also
allows the sample rate to change mid-stream.
2013-05-28 17:46:03 +02:00
Luca Barbato 0ba49d28a1 configure: support gcc-4.8 instrumentation
Since version 4.8 gcc sports asan and tsan integration that can
be leveraged when hunting bugs.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-05-28 17:22:16 +02:00
Martin Storsjö ba13606ca6 fate: Add a --target-samples path parameter
This allows having the samples accessible via different paths
on the target and on the host.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 17:16:54 +03:00
Martin Storsjö 4a27a52a1f fate: Don't use files from SRC_PATH in the actual tests
If building out of tree, make sure the filter scripts are copied
into the build tree before running tests. This makes sure that
SRC_PATH doesn't need to exist on the remote system (or doesn't
need to exist at the same path).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 17:14:18 +03:00
Kostya Shishkov 2cf5d29110 indeo4: reuse context block VLC for band instead of defaulting
Currently if no custom block VLC is specified for band, a default block VLC
will be used, while the global block VLC stored in the context should be used
instead.

This fixes decoding of one sample I have.
2013-05-28 14:10:58 +02:00
Kostya Shishkov 6647aa0426 indeo4: add missing Haar and slanted transforms
That involves fixing INV_HAAR4() macro and changing it to work with different
input and output like INV_HAAR8() instead of in-place transform.
2013-05-28 14:08:09 +02:00
Paul B Mahol ced0307ea9 tta: make probing more robust
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-28 11:46:10 +00:00
Kostya Shishkov 3b03d7e251 dxtory v2 support 2013-05-28 13:35:09 +02:00
Michael Niedermayer 728214992e vc1dec: Remove interlaced warning
Also add a note about the feature in the changelog.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:56:29 +03:00
Michael Niedermayer d8b9dbe776 vc1dec: Fix mixed field/frame intensity compensation
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:56:24 +03:00
Michael Niedermayer 17410faa22 vc1dec: Match addressing between compensation and MC in vc1_mc_4mv_chroma4
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:56:20 +03:00
Michael Niedermayer 1be175f929 vc1dec: Handle top and bottom blocks in vc1_mc_4mv_chroma4() differently if needed
Now it can use different references for those blocks and even use
averaging.

This fixes several chroma artifacts in several videos.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:56:15 +03:00
Michael Niedermayer c69765a2cc vc1dec: Fix doxy for vc1_mc_4mv_chroma4()
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:56:12 +03:00
Michael Niedermayer b412f705b5 vc1dec: Drop old use_ic code from vc1_b_mc
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:56:08 +03:00
Michael Niedermayer 5053a9a1ff vc1: Use shuffled use_ic instead of equally shuffled mv_mode
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:56:04 +03:00
Michael Niedermayer 3ced06f283 vc1dec: Implement intensity compensation for vc1_interp_mc()
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:55:59 +03:00
Michael Niedermayer 28243b0d35 vc1dec: Redesign the intensity compensation
Use the intensity-compensated reference frame for subsequent
fields/B-frames.

Since we currently don't change the reference frame we have to
maintain lookup tables for intensity compensation in the following
dependent frames.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:55:55 +03:00
Michael Niedermayer 93b1281264 vc1dec: Shuffle field MVs after decoding, not before
This simplifies the code since copying MVs to the reference is not needed
anymore (and maybe something about fixing artifacts).

Also remove the unused mv_f_last.

Fixes a small number of artifacts in black_screen_VC-1.mkv
and several more artifacts in other videos.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:55:46 +03:00
Dave Yeo 35e683e457 avcodec/vp8: Cosmetics, maintain alphabetical order in threading headers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 12:49:21 +02:00
Dave Yeo e615a77799 os2threads: move from lavc to compat/
For useage in other places besides lavc. Needed after commit
90f9a5830b

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 12:49:20 +02:00
Paul B Mahol 269fc8e049 lavf/wvenc: remove hacks since wavpack demuxer & decoder hacks have been fixed 2013-05-28 10:46:57 +00:00
Michael Niedermayer 3ed3aaab32 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  smacker: assign video frame PTS
  matroskadec: export full wavpack blocks.

Conflicts:
	libavcodec/wavpack.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 11:58:46 +02:00
Michael Niedermayer 8012f93ed8 Merge commit '5074f4545c439420daebe4c2f28ed216440b6ec7'
* commit '5074f4545c439420daebe4c2f28ed216440b6ec7':
  wavpack demuxer: export full wavpack blocks.

Conflicts:
	libavformat/wv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 11:49:30 +02:00
Michael Niedermayer aa6cf4c1b0 Merge commit '72dee5f40b236c5eb9e68df39df80c68392269e3'
* commit '72dee5f40b236c5eb9e68df39df80c68392269e3':
  wavpack: don't set sample format in init.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 11:41:38 +02:00
Michael Niedermayer 288e3fdfd3 Merge commit '35596bd4f4d3c39eed838cf3a2613817d62dda99'
* commit '35596bd4f4d3c39eed838cf3a2613817d62dda99':
  wavpack: remove a useless parameter from wavpack_decode_block().

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 11:36:26 +02:00
Michael Niedermayer f5dfc35157 Merge commit 'd1bec4be2207738669874e02605e879ea9620974'
* commit 'd1bec4be2207738669874e02605e879ea9620974':
  wavpack: return an error on 0-sized blocks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 11:28:22 +02:00
Michael Niedermayer 2ba0953ee4 Merge commit '1d177200ce1ffd8902729e3a4d647b04fc4b35f8'
* commit '1d177200ce1ffd8902729e3a4d647b04fc4b35f8':
  wavpack: remove a useless check.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 11:13:14 +02:00
Michael Niedermayer 8d4e934df9 Merge commit '0f3a0b24dd6f595feaa4526e52ffa7d05c3d7840'
* commit '0f3a0b24dd6f595feaa4526e52ffa7d05c3d7840':
  wavpack: add an error message to a failure.
  wavpack: return 0 instead of samples count from decoding functions

Conflicts:
	libavcodec/wavpack.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 11:08:24 +02:00
Michael Niedermayer 107e9e4432 wavpack: Properly check channel index, dont write out of arrays
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 11:02:37 +02:00
Michael Niedermayer a803ca54e5 Merge commit '528daa399018af74d52192eb1861d2b59d256111'
* commit '528daa399018af74d52192eb1861d2b59d256111':
  wavpack: switch to planar output

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 11:02:27 +02:00
Carl Eugen Hoyos c0957f49c7 configure: Fix jack auto-detection, broken since 3fc8500 2013-05-28 10:28:16 +02:00
Michael Niedermayer 84051d57f5 Merge commit 'a7ec3a9a4eea4e374afcd6e05828b103e6fcb601'
* commit 'a7ec3a9a4eea4e374afcd6e05828b103e6fcb601':
  wavpack: drop redundant if/else blocks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 10:03:04 +02:00
Michael Niedermayer be72853f8a Merge commit '7b44c9918086c6aeacf7ef9f902af38b97f43170'
* commit '7b44c9918086c6aeacf7ef9f902af38b97f43170':
  wavpack: remove the subframes codec cap

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 09:57:44 +02:00
Michael Niedermayer f6beb36115 Merge commit 'c330eba84cf2370ad72423aa9e410e20afdc52e2'
* commit 'c330eba84cf2370ad72423aa9e410e20afdc52e2':
  lavf: preserve side data when parsing packets.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 09:51:19 +02:00
Michael Niedermayer 197e219c92 jpeg2000dwt: add float based 9/7 dwt
Untested as theres no code yet using it in the encoder.
Code based on mixed float/int dwt

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 09:42:19 +02:00
Michael Niedermayer cf05fe8a7e jpeg2000dwt: remove floats from mixed float/int 9/7 dwt
This should fix some fate failures

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 09:35:49 +02:00
Kostya Shishkov 851bc1d6be smacker: assign video frame PTS 2013-05-28 09:03:41 +02:00
Michael Niedermayer 3fc8500483 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  smacker: add a clarification notice about audio decoding
  configure: make jack depend on pthreads

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 08:59:07 +02:00
Michael Niedermayer 2ad28840b3 Merge commit '538bf767373f176b6487e30181155e74b37cced6'
* commit '538bf767373f176b6487e30181155e74b37cced6':
  avconv: make -aspect work with streamcopy

Conflicts:
	ffmpeg.c
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 08:52:03 +02:00
Anton Khirnov 9b6f47c448 matroskadec: export full wavpack blocks.
This allows us to get rid of demuxer-specific hacks in the decoder and
will allow streamcopy from matroska once we have a wavpack muxer.
2013-05-28 08:14:35 +02:00
Anton Khirnov 5074f4545c wavpack demuxer: export full wavpack blocks.
Currently the demuxer shaves the blocks and exports only the
information that is useful to the decoder.

Exporting the blocks just as they are stored is simpler to understand
and will make remuxing wavpack easier.
2013-05-28 08:14:05 +02:00
Anton Khirnov 72dee5f40b wavpack: don't set sample format in init.
We don't know whether it will be float until we look at the data.
2013-05-28 08:04:07 +02:00
Michael Niedermayer 91db8ff203 Merge commit '564b7e0c0095768cd20001b28154d69462be54e7'
* commit '564b7e0c0095768cd20001b28154d69462be54e7':
  matroskadec: silently skip CodecState element.
  smacker: fix off-by-one error in palette expanding code

Conflicts:
	libavformat/smacker.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 08:04:02 +02:00
Anton Khirnov 35596bd4f4 wavpack: remove a useless parameter from wavpack_decode_block().
The decoder always returns output if an error does not occur.
2013-05-28 08:03:57 +02:00
Anton Khirnov d1bec4be22 wavpack: return an error on 0-sized blocks
Such blocks are not valid.
2013-05-28 08:03:37 +02:00
Anton Khirnov 1d177200ce wavpack: remove a useless check.
Number of samples in the first block is checked to be strictly positive
earlier in wavpack_decode_frame() and number of samples in all the other
blocks is checked to be equal to the first one.
2013-05-28 08:03:24 +02:00
Anton Khirnov 0f3a0b24dd wavpack: add an error message to a failure. 2013-05-28 08:03:13 +02:00
Anton Khirnov 474fb0c9d9 wavpack: return 0 instead of samples count from decoding functions
The caller never cares about the number of decoded samples, so this only
confuses the reader.
2013-05-28 08:03:02 +02:00
Anton Khirnov 528daa3990 wavpack: switch to planar output
This simplifies the code and makes it faster.
2013-05-28 08:01:30 +02:00
Anton Khirnov a7ec3a9a4e wavpack: drop redundant if/else blocks 2013-05-28 08:01:16 +02:00
Anton Khirnov 7b44c99180 wavpack: remove the subframes codec cap
The decoder always consumes full packets.
2013-05-28 08:01:08 +02:00
Anton Khirnov c330eba84c lavf: preserve side data when parsing packets. 2013-05-28 08:00:07 +02:00
Michael Niedermayer 97f7586cd6 Merge commit '5f30c6c8ed1f006c1b3a547dfe388f3a4a080e4d'
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 07:49:38 +02:00
Kostya Shishkov 268bb88544 smacker: add a clarification notice about audio decoding 2013-05-28 06:17:08 +02:00
Michael Niedermayer 9c66da517f j2kenc: Zero DWT struct on allocation
Should fix fate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 02:47:25 +02:00
Michael Niedermayer 05fa3f6802 j2kdec: random non functional changed from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 01:46:59 +02:00
Michael Niedermayer d66de3801e j2kdec: merge get_tlm() from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 01:11:30 +02:00
Michael Niedermayer 8cf57efdd7 j2k/jpeg2000: merge lowres code
This also fixes lowres use with ffplay

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 00:30:06 +02:00
Michael Niedermayer 840ee5e1a1 ffplay: dont forget passing lowres to private options
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 00:09:34 +02:00
Michael Niedermayer f82e7330af jpeg2000: merge mant type from j2k
mant fits in 16bit

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 22:25:03 +02:00
Anton Khirnov a3fc62e89e configure: make jack depend on pthreads 2013-05-27 21:56:14 +02:00
Michael Niedermayer d4a4661342 j2k/jpeg2000: merge j2k & jpeg2000 dwts, drop j2k dwt
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 21:54:07 +02:00
Anton Khirnov 538bf76737 avconv: make -aspect work with streamcopy 2013-05-27 21:26:06 +02:00
Anton Khirnov 564b7e0c00 matroskadec: silently skip CodecState element.
mkvmerge apparrently uses it for mpeg1/2 video, but it contains the same
information as CodecPrivate, so it can be ignored.
2013-05-27 21:25:53 +02:00
Clément Bœsch 160ea26560 lavfi/haldclutsrc: 10l remove size options. 2013-05-27 20:53:25 +02:00
Clément Bœsch 92a2d12a71 lavfi/overlay: remove do_blend forward declaration. 2013-05-27 20:42:46 +02:00
Clément Bœsch ae5738248a lavfi/lut3d: move lut3d init to its definition scope. 2013-05-27 20:42:46 +02:00
Clément Bœsch 158d96e3f0 lavfi: add haldclut filter.
Fixes Ticket #2517.
2013-05-27 20:42:28 +02:00
Clément Bœsch 4328602890 lavfi: add dual input helpers. 2013-05-27 20:32:28 +02:00
Clément Bœsch 3cec29cf59 lavfi: add haldclutsrc filter. 2013-05-27 20:32:28 +02:00
Michael Niedermayer 1bbb46ff71 j2k_dwt: fix scaling of 9/7 dwt
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 19:57:42 +02:00
Michael Niedermayer ee189701a6 j2kenc: Allow encoding with the 9/7 wavelet
Also add a fate test that tests 9/7

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 18:50:18 +02:00
Kostya Shishkov c3c08baefb smacker: fix off-by-one error in palette expanding code 2013-05-27 18:19:08 +02:00
Kostya Shishkov 5f30c6c8ed Revert "smackaud: clip output samples"
Smacker audio uses overflows instead of clipping.

This reverts commit 375ca0aca8.
2013-05-27 18:19:01 +02:00
Michael Niedermayer 243cc38d94 j2k: change fixed point of stepsize to 16.16
This seems more natural and matches jpeg2000

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 17:58:06 +02:00
Michael Niedermayer 1b5cb6c00a j2k/jpeg2000: Partially merge quantization code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 17:50:54 +02:00
Michael Niedermayer 9a18395b92 j2k/jpeg2000: merge a few whitespaces
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 16:10:36 +02:00
Michael Niedermayer c2e942099a j2k: drop cblknx/y from Jpeg2000Band
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 15:55:29 +02:00
Michael Niedermayer 8c2e201c4f j2k/jpeg2000: drop xi/yi0/1 from Jpeg2000Prec
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 15:53:42 +02:00
Michael Niedermayer a05db52c12 j2k: remove cblk from band
cblk is now in the same place as in jpeg2000, which will simplify
merging the 2 decoders

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 15:13:51 +02:00
Michael Niedermayer 81ccc31f75 j2kdec: merge decode_tile cblk handling from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 15:13:18 +02:00
Michael Niedermayer 2c5a5c5a62 j2kdec: cdxy != 1 does not work, print an error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 15:13:18 +02:00
Michael Niedermayer 14652c080d j2k/jpeg2000: restructure cblk coord
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 15:13:18 +02:00
Michael Niedermayer 5161c62595 j2k: fix band coord
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 15:13:18 +02:00
Michael Niedermayer 369422db0c j2kdec: merge cblk restructuring from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 15:13:18 +02:00
Michael Niedermayer cbaa0871c2 j2kenc: switch to cblk in prec
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 15:13:18 +02:00
Michael Niedermayer 9fd23baa74 j2k: merge precinct init code from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 15:13:18 +02:00
Michael Niedermayer 3300b5f6ce j2k/jpeg2000 headers: Cblk/Prec cleanup & merge
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 15:13:18 +02:00
Paul B Mahol a1873f35f8 lavfi/ocv: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 11:31:52 +00:00
Paul B Mahol 229d5bfdc8 lavfi/frei0r: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 11:31:52 +00:00
Paul B Mahol beda41886e lavfi/channelmap: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 11:31:52 +00:00
Paul B Mahol 6008b5abbb lavfi/format: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 11:17:34 +00:00
Paul B Mahol e457f2cf1f lavfi/setpts: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 11:14:43 +00:00
Paul B Mahol 5fe5bde60a lavfi/join: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 11:10:39 +00:00
Paul B Mahol 622c977437 lavfi/hqdn3d: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 10:58:45 +00:00
Paul B Mahol d349704eef lavfi/interlace: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 10:00:37 +00:00
Paul B Mahol 11cdf9671f lavfi/trim: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 09:55:40 +00:00
Paul B Mahol 68def27124 lavfi/interlace: remove request frame hack
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 09:55:40 +00:00
Paul B Mahol ed1c83508e lavfi/trim: remove request frame hack
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 09:55:40 +00:00
Paul B Mahol 4f8e4b8a54 lavfi/tinterlace: remove request frame hack
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 09:55:40 +00:00
Paul B Mahol c63e4e6569 lavfi/idet: remove request_frame hack
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 09:55:39 +00:00
Michael Niedermayer 1c711b6ecd Merge remote-tracking branch 'dilaroga/master'
* dilaroga/master:
  avcodec/vda_h264_dec: fix a memory leak
  avcodec/vda_h264: use av_buffer to manage buffers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 09:32:22 +02:00
Xidorn Quan 499b82f604 avcodec/vda_h264_dec: fix a memory leak
Signed-off-by: Sebastien Zwickert <dilaroga@gmail.com>
2013-05-27 09:07:48 +02:00
Xidorn Quan ffd7fd7944 avcodec/vda_h264: use av_buffer to manage buffers
This patch fixes a leak of buffer when seeking occurs.
It adds a flag in struct vda_context for compatibility with apps which
currently use it. If the flag is not set, the hwaccel will behave like
before.

Signed-off-by: Sebastien Zwickert <dilaroga@gmail.com>
2013-05-27 09:05:55 +02:00
Michael Niedermayer b7c6d1ed90 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: Only output eabi attributes if building for ELF
  fix scalarproduct_and_madd_int16_altivec() for orders > 16

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 08:55:24 +02:00
Michael Niedermayer 53ec1c811e j2k: merge cosmetics and non functional changes from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 02:27:56 +02:00
Paul B Mahol e5c7bafb44 libtwolame: add forgotten calls
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-26 21:57:28 +00:00
Martin Storsjö be7952b5c3 arm: Only output eabi attributes if building for ELF
This matches the other eabi attribute in the same file. This is
required in order to build for arm/hardfloat with other object
file formats than ELF.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-27 00:55:33 +03:00
Clément Bœsch b439ece51c lavfi/dctdnoiz: move DC normalization out of loops.
Make code slightly faster, simpler, clearer.

The filter is still slow as hell, and that change won't cause any
visible performance improvement (it still takes more than one minute to
process a single 1080p frame on a Core 2 here).
2013-05-26 22:41:02 +02:00
Michael Niedermayer bd89b2b22a j2k/jpeg2000: log2_prec size cleanup
This also changes the cblk size storage method to what jpeg2000 uses

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 22:29:11 +02:00
Michael Niedermayer cb39dfb870 j2k/jpeg2000: check cblk size
This is based on j2k FCD which is ambigous thus the limit
might be tighter.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer 9ea242962c j2k: ff_j2k_tag_tree_init: check for integer overflow in alloc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer b01e61a47d jpeg2000: cosmetics & restructuring from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer 228ce33606 j2k: add #includes from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer 874a06bd1f j2k: cosmetics from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer 6e16321d66 j2kdec: add AVClass
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer df3e6e5e22 j2kdec: cosmetics from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer 277691a130 j2kdec: merge copyright header with jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer a2daf929ed j2kdec: profile code from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer 726eac1df9 j2kdec: cosmetics from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer 88d2dd00fe avcodec/j2kdec: drop disabled debug code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer de90bd6c3f j2k/jpeg2000: merge cosmetics and whitespace
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer bcf59b5d8f j2kdec: merge jpeg2000_init_static_data() from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer 5d67dfd71c j2kdec: move avctx init to decode_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Clément Bœsch 56cea3294a lavfi/lut3d: faster tetrahedral interpolation.
Increase performance by fetching only the necessary points.

1097 → 917 decicyles.
2013-05-26 18:48:51 +02:00
Clément Bœsch b6ee25e300 lavfi/lut3d: restore original interpolation speed.
Call NEXT() only once since it got slower due to the overflow condition
introduced in 91b46145.

interp_trilinear:   1462 → 1280 decicycles
interp_tetrahedral: 1188 → 1097 decicycles

Tested on a Core2, GCC 4.8.
2013-05-26 18:48:10 +02:00
Michael Niedermayer b4013899e2 j2k: s/ff_j2k_getsigctxno/ff_jpeg2000_getsigctxno/g
Also add a related comment

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 18:22:16 +02:00
Michael Niedermayer ac325f0613 j2k.h: whitespace cosmetics
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 18:22:16 +02:00
Michael Niedermayer 5b4cad4a64 j2k.h: remove disabled debug code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 18:07:49 +02:00
Michael Niedermayer ad194874ee j2k.h: Merges various cosmetics & unused defines
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 18:07:48 +02:00
Michael Niedermayer da90661718 j2k/jpeg2000: merge copyright
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 18:07:48 +02:00
Michael Niedermayer e708c7fa21 j2k: drop disabled debug code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 18:07:48 +02:00
Michael Niedermayer e66faf71eb j2k: merge ff_j2k_init_tier1_luts()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 18:07:48 +02:00
Michael Niedermayer b67fe48f34 jpeg2000/j2k: merge getsigctxno()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 18:07:48 +02:00
Michael Niedermayer 69b9773980 j2k: s/getnbctxno/getsigctxno/g
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 18:07:48 +02:00
Michael Niedermayer 5157ec89ef j2k: redesign vert_causal_ctx_csty implementation
The old implementation was incomplete and could not have worked
This also fixes some warnings
New code is untested as i dont seem to have a sample file that uses this.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 18:07:48 +02:00
Kostya Shishkov 0418cbf081 fix scalarproduct_and_madd_int16_altivec() for orders > 16
the second and third sources were incremented only by half of the needed size
2013-05-26 16:10:47 +02:00
Paul B Mahol c8e9c9275f lavfi/bbox: export bbox info to frame metadata
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-26 14:00:10 +00:00
Paul B Mahol add8c63ce4 lavfi/bbox: timeline support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-26 14:00:09 +00:00
Paul B Mahol 7aa99a69c7 lavfi/bbox: make min_val user configurable
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-26 14:00:09 +00:00
Paul B Mahol e9c3851d60 lavfi/bbox: use inlink->frame_count
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-26 14:00:09 +00:00
Clément Bœsch 477f4efd0f lavf/swf: remove unused assert include. 2013-05-26 15:48:50 +02:00
Michael Niedermayer 438c45c08a j2kdec: fix used bytestream function
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 15:00:23 +02:00
Michael Niedermayer d42106c3ac j2k: rename a few inline functions and data tables to match jpeg2000
also inlcudes some other cosmetics

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 14:02:44 +02:00
Michael Niedermayer c78f3e5571 j2kdec: prog_order reading from jpeg2000dec
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 13:57:56 +02:00
Michael Niedermayer 81be0965e3 j2k: merge Jpeg2000CodingStyle from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 13:57:56 +02:00
Michael Niedermayer 4758e32a6c matroska_read_seek: Fix used streams for subtitle index compensation
Might fix Ticket1907 (I have no testcase so i cant test)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 13:14:01 +02:00
Paul B Mahol 40a87a6a69 lavfi/noise: use av_image_copy_plane()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-26 10:52:57 +00:00
Michael Niedermayer 4cf7b87551 av_cpu_count: factorize "detected %d logical cores" message
Also print the message just once

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 03:19:55 +02:00
Michael Niedermayer d480b36db4 av_d2q: Avoid llrint(), its not correctly implemented in old netbsd
This should fix some fate failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 03:19:55 +02:00
Timothy Gu 4703a345fb doc/encoders: Add documentation for libmp3lame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-25 23:56:49 +02:00
Michael Niedermayer ee5964cc9c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  msvc/icl: Intel Compiler support on Windows

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-25 21:43:13 +02:00
Michael Niedermayer efcc334c9d Merge commit '9495cd170b5786c3518419e873d94eb5e7ada11a'
* commit '9495cd170b5786c3518419e873d94eb5e7ada11a':
  configure: Fix check_exec_crash for ICL support

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-25 21:38:17 +02:00
Michael Niedermayer 5f44f47b72 mpegvideo_enc: do not unreference frames before the code is done with them
Fixes Ticket2592

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-25 20:30:50 +02:00
Michael Niedermayer 5292dac34c avformat/mov: Rename alt_sample_size so its name matches what it is
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-25 18:47:36 +02:00
Alex Smith 322e4194dd msvc/icl: Intel Compiler support on Windows
Initial support for the ICL compiler on windows. Requires a new
c99wrap with ICL support (1.0.2+).

Currently not much different speed wise compared to msvc. In the
future with a few changes it can be made to support the inline asm.
This would be the primary reason for using it.

Passed all fate tests, versions tested:
    13.1.1.171 (2013 Update 3) x86 and x64
    12.1.5.344 (2011 Update 11) x86 and x64

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-05-25 17:52:44 +02:00
Giorgio Vazzana 7e03886bbb avutil/md5: reindent after previous commits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-25 16:11:08 +02:00
Michael Niedermayer 64eacb839e av_d2q: fix rounding for negative values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-25 16:04:08 +02:00
Michael Niedermayer de7d290631 av_d2q: Fix infinity check
The old check would fail on huge but not infinite values
and the later code could then fail to handle them correctly in
some cases.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-25 16:03:50 +02:00
Paul B Mahol 8caf2da320 lavfi/afade: add timeline support
For correct precision one may need to use asetnsamples.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-25 13:20:27 +00:00
Laurent 9495cd170b configure: Fix check_exec_crash for ICL support
Change the check_exec_crash test to use a function pointer instead of
simply calling the function. The EBP availability test will crash when
compiled with ICL likely due to compiler optimization shenanigans.

Originally the check_exec_crash code was moved out of main to fix a
problem with gcc's treatment of non-leaf main on x86_32. Libav already
moved the code out of main but the addition of the function pointer will
prevent any inlining which fixes the remaining problem.

A function pointer is used since it is compiler agnostic (as opposed to
say __attribute__ ((noinline)) which would only work with gcc compatible
compilers).

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-05-25 12:07:56 +02:00
Michael Niedermayer 760a9754ca img2dec: support seeking with ts_from_file
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-25 12:06:14 +02:00
Michael Niedermayer a753776ff5 img2dec: dont set start_time/duration to invalid values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-25 12:05:32 +02:00
Andrey Utkin 70fbfd75c3 img2dec: Add ts_from_file option
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-25 11:42:28 +02:00
Paul B Mahol 2c2e69b3a2 lavfi/blend: support slice threading
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-24 21:41:28 +00:00
Michael Niedermayer e0f2e0fcf0 vf_fade: remove unused function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 20:50:15 +02:00
Michael Niedermayer 42bb3e4db6 avcodec: remove ff_get_logical_cpus()
This simplifies the code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 20:25:53 +02:00
Michael Niedermayer 0cbfbdef4a vf_fade: Support slice threaded alpha
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 20:21:40 +02:00
Michael Niedermayer a3d62f3377 vf_fade: Fix alpha flag integration
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 20:21:40 +02:00
Paul B Mahol af12573938 lavfi/blend: fix SW/SH calculation
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-24 17:34:22 +00:00
Michael Niedermayer bca59d7745 fade: fix slice sizes
This more evenly distributes the load between threads

This also fixes the chroma filtering where the filter was applied twice

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 17:47:02 +02:00
Michael Niedermayer 1d08e4b584 yadif: fix slice sizes
This more evenly distributes the load between threads

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 17:46:57 +02:00
Michael Niedermayer 221f902f1d avfilter/vf_yadif: fix race condition
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 17:26:20 +02:00
Michael Niedermayer fe99b1d50e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  cpu: Include common.h for av_popcount64

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 17:19:21 +02:00
Reimar Döffinger 4059c7836a framemd5_class and md5enc_class may not be identical.
Due the crappy issue of classes having to be unique,
we cannot even have classes with identical content,
otherwise the compiler or linker is free to merge them,
giving the same result and bugs as if we had only one class.
Besides redesigning the option code to handle this correctly
I see only the option of requiring any two classes to have
different names, but the list of requirements for
AVClasses is getting kind of unmanageable.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-05-24 16:28:25 +02:00
Carl Eugen Hoyos 82d105543c Fix compilation with --disable-everything --enable-filter=dctdnoiz 2013-05-24 14:19:20 +00:00
Thilo Borgmann 4a2c2a09a2 Fix compilation with --disable-everything --enable-muxer=vc1
Suggested-by: Reimar
2013-05-24 14:19:19 +00:00
Paul B Mahol 036e9a0417 lavfi/blend: add yuv(j)411p
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-24 14:02:37 +00:00
Michael Niedermayer 6d02bdc338 vformat/wtvenc: fix doxygen comments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 15:36:54 +02:00
Michael Niedermayer 68ff528969 avformat/wtvdec: fix doxygen comments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 15:36:54 +02:00
Michael Niedermayer 682f0035fb avformat/jvdec: fix doxygen comments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 15:36:54 +02:00
Michael Niedermayer 8870cf7c0e avformat/gif: remove unneeded doxygen comment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 15:36:54 +02:00
Michael Niedermayer b5be1a7e23 avfilter/vf_drawtext: Fix doxygen comment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 15:36:54 +02:00
Michael Niedermayer 87a2bf2459 avutil/bprint: Fix doxygen comments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 15:36:54 +02:00
Clément Bœsch 9c50e52005 cmdutils: print slice threading flag in -filters. 2013-05-24 15:34:37 +02:00
Michael Niedermayer a2abd58a09 avfilter: remove av_opt_set_defaults() from process_options()
This is already called from ff_filter_alloc()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 15:25:52 +02:00
Michael Niedermayer 558ce3e5b7 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vf_fade: support slice threading
  vf_yadif: support slice threading

Conflicts:
	libavfilter/vf_fade.c
	libavfilter/vf_yadif.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 15:24:22 +02:00
Paul B Mahol 2516b393d4 lavfi/field, il, noise: use av_pix_fmt_count_planes()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-24 12:53:23 +00:00
Michael Niedermayer 8d4e969afe Merge commit '129bb238430ec45a3b5f8f1d384df590ddf7b62f'
* commit '129bb238430ec45a3b5f8f1d384df590ddf7b62f':
  lavfi: add a slice threading infrastructure

Conflicts:
	Changelog
	cmdutils.c
	doc/APIchanges
	libavfilter/Makefile
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/avfiltergraph.c
	libavfilter/internal.h
	libavfilter/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 14:07:00 +02:00
Michael Niedermayer fe40a9f98f Merge commit '2a6eaeaa85d17b27ee0dd449183ec197c35c9675'
* commit '2a6eaeaa85d17b27ee0dd449183ec197c35c9675':
  Move get_logical_cpus() from lavc/pthread to lavu/cpu.

Conflicts:
	doc/APIchanges
	libavcodec/pthread.c
	libavutil/cpu.c
	libavutil/cpu.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 13:24:28 +02:00
Michael Niedermayer a4d3757b29 Merge commit '90f9a5830b5d332de7ebb1ab45589f1870cbd65d'
* commit '90f9a5830b5d332de7ebb1ab45589f1870cbd65d':
  w32pthreads: move from lavc to compat/

Conflicts:
	libavcodec/Makefile
	libavcodec/pthread.c
	libavcodec/vp8.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 13:01:41 +02:00
Martin Storsjö 597208fde1 cpu: Include common.h for av_popcount64
This fixes build failures on windows since 2a6eaeaa8.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-24 13:34:19 +03:00
Michael Niedermayer ecbd96ed23 Merge commit 'e69222c50755030eef921e899e38b71a111093d9'
* commit 'e69222c50755030eef921e899e38b71a111093d9':
  doxy: enable TYPEDEF_HIDES_STRUCT

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 12:25:21 +02:00
Michael Niedermayer 029353e427 Merge commit 'e9e5a1bdc769a7225ab0d4f8b33bcacc6496bd68'
* commit 'e9e5a1bdc769a7225ab0d4f8b33bcacc6496bd68':
  Monkey's Audio old versions FATE tests
  h264_parser: Set field_order and picture_structure.

Conflicts:
	libavcodec/h264_parser.c
	tests/fate/lossless-audio.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 12:15:56 +02:00
Clément Bœsch cf6ed1f129 lavu/opencl: remove semi-colon from macro.
Fixes compilation when the macros are empty and the label above ends up
containing no statement. Also makes usage of these macro consistent
(some already have a semi colon, some others don't).

Fixes Ticket #2603
2013-05-24 12:01:02 +02:00
Michael Niedermayer 0c25c398da Merge commit 'b493847df4ff8ce46f258749e4a3f304696b34c1'
* commit 'b493847df4ff8ce46f258749e4a3f304696b34c1':
  avcodec: Add picture structure information to AVCodecParserContext.

Conflicts:
	doc/APIchanges
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 11:51:58 +02:00
Anton Khirnov 8a994b7406 vf_fade: support slice threading 2013-05-24 09:33:05 +02:00
Anton Khirnov cb79881b49 vf_yadif: support slice threading 2013-05-24 09:32:07 +02:00
Anton Khirnov 129bb23843 lavfi: add a slice threading infrastructure
Mostly based on libavcodec's
2013-05-24 09:28:18 +02:00
Anton Khirnov 2a6eaeaa85 Move get_logical_cpus() from lavc/pthread to lavu/cpu.
It will be useful in lavfi, and could conceivably be useful to the user
applications as well.
2013-05-24 09:28:00 +02:00
Anton Khirnov 90f9a5830b w32pthreads: move from lavc to compat/
It will be used in other places than lavc.
2013-05-24 09:26:54 +02:00
Anton Khirnov e69222c507 doxy: enable TYPEDEF_HIDES_STRUCT
This means that typedef struct SomeStruct {...} SomeStruct will only be
documented as SomeStruct in the doxy, without a pointless entry in the
typedefs list.
2013-05-24 09:12:00 +02:00
Kostya Shishkov e9e5a1bdc7 Monkey's Audio old versions FATE tests 2013-05-24 09:04:18 +02:00
Yusuke Nakamura 3f1a7ceb2c h264_parser: Set field_order and picture_structure.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-24 08:45:05 +02:00
Yusuke Nakamura b493847df4 avcodec: Add picture structure information to AVCodecParserContext.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-24 08:43:14 +02:00
Michael Niedermayer ac0ade2645 Changelog: add entry for the S302m encoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 04:42:32 +02:00
Paul B Mahol 102848e3b6 s302menc: unbreak compilation
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-23 20:38:53 +00:00
Paul B Mahol e75ddb7df5 s302menc: fix bits_per_raw_sample for 21, 22 & 23 case
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-23 20:36:17 +00:00
Paul B Mahol d683271753 lavc/codec_desc: SMPTE 302M is not lossy
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-23 20:26:19 +00:00
Paul B Mahol 15b9c0b49f escape124: switch to init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-23 19:58:03 +00:00
Paul B Mahol cdc3f8f307 escape124: pass context to av_log()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-23 19:53:08 +00:00
Paul B Mahol abf1e59ef2 libaacplus: return meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-23 19:41:43 +00:00
Paul B Mahol 6d53034483 libaacplus: cosmetics: fix indentation
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-23 19:41:43 +00:00
Paul B Mahol 963c58006f libaacplus: move profile check above, simplifies code a little
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-23 19:41:38 +00:00
Michael Niedermayer 0fb7fef879 tools/patcheck: fix misdetection with stuff like const_names
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-23 19:11:28 +02:00
Clément Bœsch d51dfc7ec4 doc/filters: fix wording of color option in testsrc filters. 2013-05-23 17:22:05 +02:00
Clément Bœsch a0a41db339 lavfi/testsrc: make nb_decimals available only in testsrc. 2013-05-23 17:22:05 +02:00
Clément Bœsch 288f916643 lavfi/testsrc: move color options to the color scope filter definition. 2013-05-23 17:22:05 +02:00
Michael Niedermayer eee19198ef avcodec/libfaac: fallback to a supported bitrate if the requested is not supported
Fixes: Ticket2587

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-23 15:37:48 +02:00
Michael Niedermayer e8c26557a4 avformat/mtv: remove empty comments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-23 14:46:01 +02:00
Michael Niedermayer ef43b9496b avcodec/mpegvideo: remove empty comments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-23 14:43:42 +02:00
Michael Niedermayer 1d3476f258 postproc/postprocess_template: remove empty comments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-23 14:39:58 +02:00
Darryl Wallace 3e16047507 s302m encoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-23 12:03:06 +00:00
Paul B Mahol fbd0f91a3a escape130: switch to init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-23 10:21:12 +00:00
Michael Niedermayer ac2c52174f avcodec/wavpack: remove ;;
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-23 12:07:31 +02:00
Paul B Mahol 79f452f4e6 fraps: set avctx->color_range
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-23 10:05:28 +00:00
Paul B Mahol 591fa05278 doc/general: remove obsolete info about APE decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-23 09:32:12 +00:00
Michael Niedermayer b7d16dc4bd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wavpack: check packet size early

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-23 10:55:46 +02:00
Michael Niedermayer 402bec52d4 Merge commit '3f0b6d7a6248a33df37b98cfcb37a1acce263f62'
* commit '3f0b6d7a6248a33df37b98cfcb37a1acce263f62':
  wavpack: use bytestream2 in wavpack_decode_block

Conflicts:
	libavcodec/wavpack.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-23 10:46:05 +02:00
Michael Niedermayer 1fded9b69c Merge commit 'f36d7831d96aeb072db5a2b78892a534d96e288e'
* commit 'f36d7831d96aeb072db5a2b78892a534d96e288e':
  pixdesc: mark gray8 as pseudopal

Conflicts:
	libavutil/pixdesc.c

No change as gray8 was already marked as pseudopal in FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-23 10:33:45 +02:00
Michael Niedermayer 1724123c65 Merge commit '3eae9b030cbbdc263f69834b791624613032d548'
* commit '3eae9b030cbbdc263f69834b791624613032d548':
  mpegvideo: unref buffers in ff_mpeg_unref_picture on frame size changes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-23 10:25:25 +02:00
Dale Curtis c54a1565f5 avformat/utils: Keep internal and external av_read_frame() packets in sync.
Otherwise, during error conditions, the caller will be left with
dangling pointers to a destructed packet => boom.

BUG=242786
TEST=ffmpeg_regression_tests

Commit slightly simplified by commiter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-23 03:29:47 +02:00
Paul B Mahol 1f02927d28 lavfi/mp: try to pass interlaced & tff flags
This makes mp=softpulldown actually useful.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-22 20:30:09 +00:00
Clément Bœsch 91b461459a lavfi/lut3d: avoid overread. 2013-05-22 22:12:14 +02:00
Luca Barbato fd06291239 wavpack: check packet size early
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-22 22:02:57 +02:00
Luca Barbato 3f0b6d7a62 wavpack: use bytestream2 in wavpack_decode_block
Prevent most out of buffer reads.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-22 22:02:55 +02:00
Michael Niedermayer 657875b145 avcodec/aic: Fix vlc value checks
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 21:30:28 +02:00
Anton Khirnov f36d7831d9 pixdesc: mark gray8 as pseudopal
Many functions treat it as such already.
Fixes Bug 499.

CC:libav-stable@libav.org
2013-05-22 21:18:08 +02:00
Michael Niedermayer 30df9789a9 proresdec: Fix end condition
Fixes out of array writes
No FFmpeg release is affected by this

This also fixes some artifacts

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 20:24:50 +02:00
Michael Niedermayer df3ee7b9a9 smvjpegdec: use av_pix_fmt_desc_get() avoid direct table access
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 20:24:50 +02:00
Clément Bœsch 165bc9caa2 v4l2: make possible to disable libv4l2 at runtime.
Also disable it by default since it looks currently buggy. The
usefulness of such library is mostly limited to backward compatibility
with very old devices.
2013-05-22 19:49:29 +02:00
Clément Bœsch 12f51c1f9e lavfi: add lut3d filter.
Fixes part of Ticket #2517.
2013-05-22 18:23:43 +02:00
Michael Niedermayer ad22767cb6 shorten: fix "off by padding" bug
Fixes array overread

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 17:40:12 +02:00
Janne Grunau 3eae9b030c mpegvideo: unref buffers in ff_mpeg_unref_picture on frame size changes
ff_mpeg_unref_picture clears the flag indicating that the frame needs to
be reallocated after a frame size change. Since we have now reference
counted buffers we can unref the buffers immediately.
2013-05-22 15:40:12 +02:00
Ash Hughes 14ec9d2590 Support playing SMV files.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 15:20:22 +02:00
Michael Niedermayer cc0db8cf30 avienc: Disallow the first frame to be skiped
Fixes Ticket2386

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 14:11:42 +02:00
Michael Niedermayer c88e52e797 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Enable the strtod workaround when building for bionic

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 10:57:46 +02:00
Michael Niedermayer 32f550ee01 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Add a fate test for ProRes Transparency.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 04:40:12 +02:00
Michael Niedermayer 914ab4cd1c j2kdec & jpeg2000dec: check lengthinc against array size
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 04:18:38 +02:00
Michael Niedermayer 17e66c9ff4 j2k & jpeg2000dec: reset numX/Ytiles if tiles failed allocation
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 03:18:55 +02:00
Michael Niedermayer 53f0442464 avcodec/jpeg2000dec: Port tile size check from j2kdec
Fixes potential integer overflow

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 03:16:52 +02:00
Michael Niedermayer 73ffab4195 jpeg2000dec: check TPsot
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 02:53:21 +02:00
Michael Niedermayer fec8783883 jpeg2000dec: read and check curtileno
Fixes out of array accesses
Code ported from j2kdec

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 02:29:49 +02:00
Michael Niedermayer f399b33c2b jpeg2000dec & j2kdec: Fix return type of get_sot()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 02:14:04 +02:00
Michael Niedermayer 4a9a6a1f35 vcodec/jpeg2000dec: fix av_log() type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 02:05:50 +02:00
Michael Niedermayer 8d9fa738f5 j2kdec: cosmetics from jpeg2000dec
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 01:25:52 +02:00
Michael Niedermayer 0b42631641 avcodec/jpeg2000dec: merge bytestream2 reading from j2kdec
This fixes at least one out of array access

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 01:24:47 +02:00
Michael Niedermayer c649ecb3b2 avcodec/jpeg2000dec: get_qcx, fix stack and heap overwrites
This is likely remotely exploitable
Fix ported from j2kdec
No uptodate FFmpeg release should be affected by this

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 00:07:45 +02:00
Carl Eugen Hoyos 898268a23b Add a fate test for ProRes Transparency. 2013-05-21 23:09:19 +02:00
Paul B Mahol f98dbc7311 lavu/opt: check if class is NULL too
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-21 20:50:49 +00:00
Clément Bœsch 39dc1bc90f lavfi/(a)showinfo: use link frame counter instead of local counter. 2013-05-21 22:29:16 +02:00
Michael Niedermayer 81bec0ace4 avutil/pixfmt: add forgotten deprecated to YUVJ411
Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 21:49:28 +02:00
Michael Niedermayer 069ede2981 jpeg2000dec: Check ncomponents and tile dimensions
Fixes various problems

Code ported from j2kdec

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 21:44:34 +02:00
Michael Niedermayer 78c7bff04a avcodec/j2k: rename J2K_ constants to JPEG2000_
This should simplify merging the 2 decoders

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 21:44:34 +02:00
Michael Niedermayer 0ab0ed2b86 j2k: Rename structs to be more similar to jpeg2000dec
This should simplify merging

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 21:44:34 +02:00
Michael Niedermayer 376e89e280 j2kdec: s/decode_packets/jpeg2000_decode_packets/
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 21:44:34 +02:00
Stefano Sabatini a8d98377b1 lavfi/geq: prefer symbolic constants
Hopefully enhance readability.
2013-05-21 21:15:08 +02:00
Stefano Sabatini 2210003b7f lavfi/geq: add aliases for RGB options 2013-05-21 21:15:00 +02:00
Paul B Mahol dbb49a6539 vp3: zero allocated tables
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-21 17:49:29 +00:00
Martin Storsjö 5b2b0b912d configure: Enable the strtod workaround when building for bionic
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-21 19:37:07 +03:00
Michael Niedermayer 66f5790d7b seek-test: make duration user configurable
Previously this was hardcoded to 4 seconds

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 18:13:25 +02:00
Clément Bœsch b8a9876a8b lavfi/yadif: add timeline support. 2013-05-21 16:09:42 +02:00
Michael Niedermayer b1bbd715d8 avcodec/huffman: increase bits constant
Fixes Ticket2593

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 13:51:04 +02:00
Michael Niedermayer b9ea6a8414 avcodec/huffman: use named identifer for the bits constant
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 13:51:04 +02:00
Michael Niedermayer 1d7e6a6bde avcodec/bitstream: print vlc length in error case.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 13:51:04 +02:00
Michael Niedermayer b60a65ee2d mjpegdec: fix AV_PIX_FMT_YUVJ411P handling
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 12:56:12 +02:00
Michael Niedermayer a90baa63c3 add YUVJ411P
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 12:56:11 +02:00
Michael Niedermayer 1d8b1f0e51 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  proresdec: simplify slice component offsets handling

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 12:01:58 +02:00
Michael Niedermayer 6ef7b6af6b Merge commit 'cfbd98abe82cfcb9984a18d08697251b72b110c8'
* commit 'cfbd98abe82cfcb9984a18d08697251b72b110c8':
  mjpegdec: validate parameters in mjpeg_decode_scan_progressive_ac

Conflicts:
	libavcodec/mjpegdec.c

See: 1f41cffe1e

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 12:01:37 +02:00
Michael Niedermayer 877cae6eff Merge commit 'c209d0df657f172f42d9bafbcdfa02dfb14f6965'
* commit 'c209d0df657f172f42d9bafbcdfa02dfb14f6965':
  fate.sh: add support for build-only FATE instances

Conflicts:
	doc/fate.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 11:36:49 +02:00
Michael Niedermayer 3b071a4390 Merge commit 'a030279a67ef883df8cf3707774656fa1be81078'
* commit 'a030279a67ef883df8cf3707774656fa1be81078':
  ljpeg: use the correct number of components in yuv

Conflicts:
	libavcodec/mjpegdec.c

See: b2e57eb5a3

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 11:25:46 +02:00
Michael Niedermayer f57a7ac9b8 Merge commit '8aa3500905fec6c4e657bb291b861d43c34d3de9'
* commit '8aa3500905fec6c4e657bb291b861d43c34d3de9':
  mjpeg: Validate sampling factors

Conflicts:
	libavcodec/mjpegdec.c

See: 08c37a10e9

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 10:50:03 +02:00
Kostya Shishkov 03ece7b040 proresdec: simplify slice component offsets handling 2013-05-21 09:58:59 +02:00
Luca Barbato cfbd98abe8 mjpegdec: validate parameters in mjpeg_decode_scan_progressive_ac
Prevent out of buffer write when decoding broken samples.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-21 09:46:02 +02:00
Diego Biurrun c209d0df65 fate.sh: add support for build-only FATE instances
If the "build_only" variable is set in the configuration file, the
FATE client will skip running tests and just compile all targets.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-21 10:07:19 +03:00
Xidorn Quan 5a65fea655 avutil/frame: continue to process bufs even if some are empty
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 23:34:15 +02:00
Giorgio Vazzana a67304d05f avutil/md5: move loop inside inner function
AMD Athlon(tm) II X3 450 Processor

size: 1048576  runs: 1024  time:    5.660 +- 0.023
size: 1048576  runs: 1024  time:    5.661 +- 0.030
size: 1048576  runs: 1024  time:    5.656 +- 0.022
size: 1048576  runs: 1024  time:    5.647 +- 0.026

size: 1048576  runs: 1024  time:    5.428 +- 0.037
size: 1048576  runs: 1024  time:    5.426 +- 0.034
size: 1048576  runs: 1024  time:    5.426 +- 0.034
size: 1048576  runs: 1024  time:    5.428 +- 0.038

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 22:07:48 +02:00
Luca Barbato a030279a67 ljpeg: use the correct number of components in yuv
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-20 22:02:05 +02:00
Luca Barbato 8aa3500905 mjpeg: Validate sampling factors
They must be non-zero.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-20 22:02:05 +02:00
Michael Niedermayer 2211c76287 smacker: remove av_clip_int16()
Fixes Ticket2425

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 21:45:40 +02:00
Michael Niedermayer 2187600f47 libx264: silence: warning: the address of val will always evaluate as true
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 16:39:00 +02:00
Clément Bœsch 9a7f1519aa lavd/v4l2enc: check write return value. 2013-05-20 16:33:21 +02:00
Michael Niedermayer f099cdaba3 avcodec/ratecontrol: silence "warning: expected_bits may be used uninitialized in this function"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 15:49:49 +02:00
Michael Niedermayer 9c49d5908d avutil/hmac: silence pointer type warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 14:48:55 +02:00
Michael Niedermayer d61681f9e9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo: unref old current_picture before allocating a new one

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 12:07:17 +02:00
Michael Niedermayer c5e11e897a Merge commit 'db347280eb3746d7b70888db97f1efe5f06f5624'
* commit 'db347280eb3746d7b70888db97f1efe5f06f5624':
  vorbis: fallback to normal division instead of crashing

Conflicts:
	libavcodec/vorbisdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 12:02:18 +02:00
Michael Niedermayer ed113d7a6b Merge commit 'ddf1b4a2f8a680126eb611428e4f47e6e5b8c6c0'
* commit 'ddf1b4a2f8a680126eb611428e4f47e6e5b8c6c0':
  vorbis: simplify the inner loop in setup_classifs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 11:42:03 +02:00
Michael Niedermayer aef044d215 Merge commit '36f10380043c8b8c5cbf8c1add8695089cdaa341'
* commit '36f10380043c8b8c5cbf8c1add8695089cdaa341':
  vorbis: use normal integer values for iterators

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 11:28:21 +02:00
Stefano Sabatini 6e7c534955 doc/filters: add RGB geq example 2013-05-20 11:12:09 +02:00
Stefano Sabatini 281fc4e958 doc/filters: extend/fix documentation for the geq filter 2013-05-20 11:12:04 +02:00
Michael Niedermayer fbba76e89d Merge commit '98186578a2a21af5bfe6dd71d222dc270f763c7d'
* commit '98186578a2a21af5bfe6dd71d222dc270f763c7d':
  vorbis: refactor vorbis_residue_decode_internal

Conflicts:
	libavcodec/vorbisdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 10:58:43 +02:00
Michael Niedermayer faac955d9b Merge commit 'c360fb174b01170ab3fd3048d4d0acb44aa4e834'
* commit 'c360fb174b01170ab3fd3048d4d0acb44aa4e834':
  win32: Do not use GetProcAddress when compiled for Vista+

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 10:52:19 +02:00
Michael Niedermayer 2afcd16711 Merge commit '0b6899f154347cdd0aa66c5ec16ed9c65871766f'
* commit '0b6899f154347cdd0aa66c5ec16ed9c65871766f':
  configure: msvc: Set the target windows version to XP if no target is set

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 10:46:21 +02:00
Giorgio Vazzana d0a34aeedf md5: optimize second round by using 4-operation form of G()
4-operation form is preferred over 3-operation because it breaks a long
dependency chain, thus allowing a superscalar processor to execute more
operations in parallel.
The idea was taken from: http://www.zorinaq.com/papers/md5-amd64.html

AMD Athlon(tm) II X3 450 Processor, x86_64

$ for i in $(seq 1 4); do ./avutil_md5_test2; done
size: 1048576  runs: 1024  time:    5.821 +- 0.019
size: 1048576  runs: 1024  time:    5.822 +- 0.019
size: 1048576  runs: 1024  time:    5.841 +- 0.018
size: 1048576  runs: 1024  time:    5.821 +- 0.018

$ for i in $(seq 1 4); do ./avutil_md5_test2; done
size: 1048576  runs: 1024  time:    5.646 +- 0.019
size: 1048576  runs: 1024  time:    5.646 +- 0.018
size: 1048576  runs: 1024  time:    5.642 +- 0.019
size: 1048576  runs: 1024  time:    5.641 +- 0.019

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 04:27:34 +02:00
Stefano Sabatini b7be8ea92a lavfi/geq: mark timeline support 2013-05-20 01:40:07 +02:00
Clément Bœsch 16a75eaa20 lavd: add v4l2 outdev. 2013-05-20 01:11:33 +02:00
Clément Bœsch 8eec655320 lavd/v4l2: move pixel format conversion code to a separate place.
This will be shared with the output device.
2013-05-20 01:11:28 +02:00
Michael Niedermayer 729fa55b8f avformat/matroskadec: fix integer overflow
Fixes fate-mkv with ekopath 4

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 23:38:01 +02:00
Janne Grunau 4b79668154 mpegvideo: unref old current_picture before allocating a new one
Allows decoding with only three frame buffers with frame reference
counting. Fixes VAAPI based decoding in vlc which uses only three
frame buffers for the mpegvideo-based codecs.
2013-05-19 23:02:35 +02:00
Luca Barbato db347280eb vorbis: fallback to normal division instead of crashing
The use of ff_inverse speeds up slightly arches + compilers that
do not provide a division faster than the whole machinery, such
as ppc32 + gcc4.7, but has operational limits.

Drop the always-enable assert and provide a fallback.
2013-05-19 22:56:37 +02:00
Luca Barbato ddf1b4a2f8 vorbis: simplify the inner loop in setup_classifs 2013-05-19 22:56:37 +02:00
Luca Barbato 36f1038004 vorbis: use normal integer values for iterators
No need to use fixed-size integers.
2013-05-19 22:56:37 +02:00
Luca Barbato 98186578a2 vorbis: refactor vorbis_residue_decode_internal 2013-05-19 22:56:37 +02:00
Michael Niedermayer 1a5f1bcff0 configure: add more allocation functions to valgrind-massif
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 20:30:51 +02:00
Stefano Sabatini 427b51269e cmdutils: show timeline support in -filters listing 2013-05-19 19:55:15 +02:00
Stefano Sabatini 66f32a8a7f lavfi/drawgrid: fix drawgrid options after 4c205f42c8 2013-05-19 19:26:31 +02:00
Stefano Sabatini be3f4c13b6 doc/Makefile: install .3 man pages to man3 subdir
Fix trac ticket #2585.
2013-05-19 19:26:25 +02:00
Stefano Sabatini 90cb081f88 build: drop unused ALLMANPAGES variable 2013-05-19 19:26:21 +02:00
Michael Niedermayer 73b9f31c74 mjpeg_decode_com: remove redundant len checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 18:09:57 +02:00
Piotr Bandurski 2f75dcdc1c mjpegdec: Fix field orderforinterlacedAVDJand AVRN in ntsc mode
Fixes ticket1656

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 18:09:57 +02:00
Clément Bœsch 56f7e29dba tools: add zmqshell.py. 2013-05-19 17:59:21 +02:00
Jean-Baptiste Kempf c360fb174b win32: Do not use GetProcAddress when compiled for Vista+
Instead link directly to the condition variable functions.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-19 18:22:39 +03:00
Martin Storsjö 0b6899f154 configure: msvc: Set the target windows version to XP if no target is set
MSVC 2010 (or more precisely, Windows SDK 7.0 which comes with MSVC
2010) sets _WIN32_WINNT to the constant for Windows 7 if nothing is
set. This could lead to the libav configure script detecting and
using functions only present in Windows 7 or newer, which in most
cases isn't desired. If the caller explicitly wants this, the caller
can add the _WIN32_WINNT define via --extra-cflags, setting the desired
version.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-19 18:22:32 +03:00
Paul B Mahol 68c4633fa8 lavfi/histogram: cache log2 of max_hval
Instead of calculating same value over and over again.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-19 14:30:42 +00:00
Paul B Mahol b154d203b1 swscale/output: silence warning about undefined 'ASSERT_LEVEL'
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-19 14:06:16 +00:00
Paul B Mahol f4b2d3598b swscale/output: remove unused header
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-19 14:04:14 +00:00
Michael Niedermayer a3264b4ba1 ffv1dec: defuse membomb
Fixes Ticket2589

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 13:56:13 +02:00
Michael Niedermayer 1de28cb7e4 configure: use the user specified valgrind excutable for massif
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 11:24:15 +02:00
Michael Niedermayer f51263e6fe configure: fix valgrind-massif to actually work
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 11:23:28 +02:00
Michael Niedermayer 73920ac573 ffserver: replace atoll() by strtoll()
this should make it easier to support ffserver with msvc

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 11:13:07 +02:00
Michael Niedermayer 0a8e86faf2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Escape 130 FATE test

Conflicts:
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 11:06:39 +02:00
Michael Niedermayer fa6001e728 Merge commit '8e673efc6f5b7a095557664660305148f2788d30'
* commit '8e673efc6f5b7a095557664660305148f2788d30':
  prores: update FATE test to account for alpha plane present in the test sample
  configure: Add basic valgrind-massif support

Conflicts:
	tests/fate/prores.mak
	tests/ref/fate/prores-alpha

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 10:53:39 +02:00
Michael Niedermayer 3e3514bce2 Merge commit 'ed50673066956d6f2201a57c3254569f2ab08d9d'
* commit 'ed50673066956d6f2201a57c3254569f2ab08d9d':
  wavpack: validate samples size parsed in wavpack_decode_block

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 10:38:08 +02:00
Michael Niedermayer 2ad415cfa4 Merge commit '8c34558131d846d2b10389564caadaa206372fd4'
* commit '8c34558131d846d2b10389564caadaa206372fd4':
  wavpack: return meaningful errors

Conflicts:
	libavcodec/wavpack.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 10:22:05 +02:00
Michael Niedermayer 02788d2ac5 Merge commit '0f689a3d97a1d3053ca0e9516b296909a72ff31e'
* commit '0f689a3d97a1d3053ca0e9516b296909a72ff31e':
  wavpack: K&R formatting cosmetics

Conflicts:
	libavcodec/wavpack.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 10:10:00 +02:00
Hendrik Leppkes df07a833f1 ftp: favor strtoll over atoll
Both strtoll and atoll have different names on MSVC, and strtoll has a
compatibility layer in place for this case.

Fixes compilation on MSVC.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 10:02:44 +02:00
Kostya Shishkov e45d6222cc Escape 130 FATE test 2013-05-19 07:09:36 +02:00
Kostya Shishkov 8e673efc6f prores: update FATE test to account for alpha plane present in the test sample 2013-05-19 07:09:23 +02:00
Carl Eugen Hoyos e32bbd4112 proresdec2: Only try to decode alpha plane if four output planes were allocated.
Fixes a crash with MPlayer.
2013-05-19 01:48:39 +02:00
Lukasz Marek c86d3a54de FTP protocol support
Implementation of ftp protocol.

Fixes #1672

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 22:16:02 +02:00
Luca Barbato edfe609fc9 configure: Add basic valgrind-massif support
With the parameter --toolchain valgrind-massif, the configure
script sets reasonable defaults that can be overridden as explained
in the documentation.
2013-05-18 21:29:17 +02:00
Luca Barbato ed50673066 wavpack: validate samples size parsed in wavpack_decode_block
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-18 20:39:32 +02:00
Luca Barbato 8c34558131 wavpack: return meaningful errors
And forward those that were already meaningful.
2013-05-18 20:37:18 +02:00
Michael Niedermayer 9f88db5df1 avfilter/vf_deshake: check rx
Fixes crash on SSE2
Fixes Ticket2443

Note, its possible to restructure the code to avoid the 16pixel limitation,
and such change is welcome!

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 18:28:59 +02:00
Christophe Gisquet f49564c607 fmtconvert: int32_t input to int32_to_float_fmul_scalar
It was previously declared as int.
Does not change fate results for x86.

Conflicts:

	libavcodec/ppc/fmtconvert_altivec.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 18:01:16 +02:00
Luca Barbato 0f689a3d97 wavpack: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-18 17:19:43 +02:00
Kostya Shishkov d13fa0e995 proresdec2: Support decoding transparency information.
Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-05-18 16:48:34 +02:00
Jean First 7e570f027b movenc: add video_track_timescale option
Signed-off-by: Jean First <jeanfirst@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 16:42:36 +02:00
Piotr Bandurski 7baef22fca mov: set block_align for MACE 3:1 and MACE 6:1
fixes remuxing of audio track from mov to aifc

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 16:26:50 +02:00
Michael Niedermayer 5e29e91232 avcodec_align_dimensions2: add missing yuva formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 16:21:09 +02:00
Michael Niedermayer e1efacf60b sws/output: yuv2rgb_write() assert that alpha has the correct value in the tables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 15:14:19 +02:00
Stefano Sabatini d91e44301c doc/filters: apply minor fixes to owdenoise documentation 2013-05-18 14:52:37 +02:00
Michael Niedermayer ed0aed09e8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Escape 130 (RPL) decoder

Conflicts:
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/codec_desc.c
	libavcodec/escape130.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 14:31:01 +02:00
Michael Niedermayer 849bb62c2c Merge commit 'cebdedca57d95834a8f8098c7b6a322a1163e26b'
* commit 'cebdedca57d95834a8f8098c7b6a322a1163e26b':
  prores: decode alpha plane when it's present
  avfilter: check a malloc in avfilter_link().

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 13:41:47 +02:00
Michael Niedermayer d56ced5fbf Merge commit 'bf5b5d2b1561535cc013c12ab8033228bb0d0081'
* commit 'bf5b5d2b1561535cc013c12ab8033228bb0d0081':
  avfilter.c: cosmetics, reformat

Conflicts:
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 13:36:49 +02:00
Michael Niedermayer fb8dde37e4 Merge commit 'd79bd6040599ef017dc45d5997fcc959ab1f71f6'
* commit 'd79bd6040599ef017dc45d5997fcc959ab1f71f6':
  lavfi: factorize freeing a link

Conflicts:
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 13:10:57 +02:00
Michael Niedermayer dd2eaf57b7 Merge commit '1dd35611433c224e2231ed7ae26b5b560863a3cb'
* commit '1dd35611433c224e2231ed7ae26b5b560863a3cb':
  vf_format: do not use the AVFilterFormats internals.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 12:47:22 +02:00
Michael Niedermayer 71b7427e9b doc/fate: update server host key fingerprints
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 12:40:10 +02:00
Michael Niedermayer 4742edd50e Merge commit 'c5ab6088ad7b0dac461fb6757b038f5260e638e5'
* commit 'c5ab6088ad7b0dac461fb6757b038f5260e638e5':
  af_aformat: cosmetics, fix indentation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 12:22:25 +02:00
Michael Niedermayer 74cb7ef851 Merge commit 'b01f6041f4260fba053c2f96ce1611ea77e833a0'
* commit 'b01f6041f4260fba053c2f96ce1611ea77e833a0':
  lavfi: rename AVFilterFormats.format_count to nb_formats

Conflicts:
	libavfilter/avfiltergraph.c
	libavfilter/filtfmts.c
	libavfilter/formats.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 11:46:09 +02:00
Michael Niedermayer 937af7f6d3 Merge commit 'e27f4b7cbf8a3fde313cfe4b3a1880bf5031e9ae'
* commit 'e27f4b7cbf8a3fde313cfe4b3a1880bf5031e9ae':
  doxy: don't sort struct members alphabetically

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 11:35:51 +02:00
Michael Niedermayer 20f75a810c Merge commit '006ec64877fb638de4b15ae5fd969e22bd0f60ca'
* commit '006ec64877fb638de4b15ae5fd969e22bd0f60ca':
  lavr doxy: add version.h to the lavr group
  lavc doxy: add avcodec.h to the libavcodec group.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 11:25:58 +02:00
Michael Niedermayer 97200d89b9 Merge commit '40020e171a3549a2c0b65ce6f2649aec868872f2'
* commit '40020e171a3549a2c0b65ce6f2649aec868872f2':
  doxy: add a section about versioning.

Conflicts:
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 11:17:52 +02:00
Michael Niedermayer 0718f0cc24 Merge commit 'bc8c1cdc7bfe7b1fe56df812aabdac3de2555cec'
* commit 'bc8c1cdc7bfe7b1fe56df812aabdac3de2555cec':
  lavfi doxy: add a page for lavfi.
  jpegls: check the scan offset

Conflicts:
	libavcodec/jpeglsdec.c
	libavfilter/avfilter.h
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 11:04:11 +02:00
Michael Niedermayer 7d84bb2bcc Merge commit '4a4107b48944397c914aa39ee16a82fe44db8c4c'
* commit '4a4107b48944397c914aa39ee16a82fe44db8c4c':
  jpegls: factorize return paths

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 10:22:39 +02:00
Michael Niedermayer b53d6a47c5 Merge commit 'a5a0ef5e13a59ff53318a45d77c5624b23229c6f'
* commit 'a5a0ef5e13a59ff53318a45d77c5624b23229c6f':
  jpegls: return meaningful errors
  sparc: VIS mnemonics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 10:05:00 +02:00
Eli Friedman 350914fc80 Escape 130 (RPL) decoder
Some fixes provided by Paul B Mahol <onemda@gmail.com>
and Michael Niedermayer <michaelni@gmx.at> and me.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2013-05-18 07:12:56 +02:00
Kostya Shishkov cebdedca57 prores: decode alpha plane when it's present 2013-05-18 07:11:34 +02:00
Michael Niedermayer 5918b7ac41 sws/output: init A1/A2 so that rgba64 ends with 0xffff in the absence of alpha input
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 01:20:30 +02:00
Michael Niedermayer 6c593f1b67 avidec: dont randomly skip packets for offseting the index
Fixes Ticket2490

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 22:16:10 +02:00
Reimar Döffinger 24c65eb29f md5: avoid unnecessary copying.
Where necessary use memcpy instead.
Thanks to Giorgio Vazzana [mywing81 gmail] for
spotting this loop as the cause for the bad
performance.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-05-17 21:16:02 +02:00
Anton Khirnov 7e2b15c094 avfilter: check a malloc in avfilter_link().
Additionally change sizeof(type) into sizeof(var)
2013-05-17 20:32:27 +02:00
Anton Khirnov bf5b5d2b15 avfilter.c: cosmetics, reformat 2013-05-17 20:32:18 +02:00
Anton Khirnov d79bd60405 lavfi: factorize freeing a link 2013-05-17 20:30:25 +02:00
Anton Khirnov 1dd3561143 vf_format: do not use the AVFilterFormats internals.
Use the formats.h API instead.
2013-05-17 20:30:17 +02:00
Anton Khirnov c5ab6088ad af_aformat: cosmetics, fix indentation 2013-05-17 20:30:02 +02:00
Anton Khirnov b01f6041f4 lavfi: rename AVFilterFormats.format_count to nb_formats
This is more consistent with naming in the rest of Libav.
2013-05-17 20:29:50 +02:00
Anton Khirnov e27f4b7cbf doxy: don't sort struct members alphabetically
The declaration order is more meanigful in most cases.
2013-05-17 20:27:52 +02:00
Anton Khirnov 006ec64877 lavr doxy: add version.h to the lavr group 2013-05-17 20:27:48 +02:00
Anton Khirnov f0cebf51dd lavc doxy: add avcodec.h to the libavcodec group. 2013-05-17 20:27:38 +02:00
Anton Khirnov 40020e171a doxy: add a section about versioning. 2013-05-17 20:26:18 +02:00
Anton Khirnov bc8c1cdc7b lavfi doxy: add a page for lavfi. 2013-05-17 20:26:11 +02:00
Paul B Mahol 47ac344970 id3v2enc: chapter support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-17 16:52:55 +00:00
Luca Barbato 4a4107b489 jpegls: factorize return paths 2013-05-17 16:44:13 +02:00
Luca Barbato a5a0ef5e13 jpegls: return meaningful errors 2013-05-17 16:44:13 +02:00
Luca Barbato abad374909 jpegls: check the scan offset
Prevent an out of array bound write.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-17 16:44:13 +02:00
Paul B Mahol d26f637b02 libmodplug: fix sz type
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-17 14:19:18 +00:00
Michael Kostylev 2768f7e4fe sparc: VIS mnemonics
Currently, if VIS is enabled by configure, it will also be enabled at
run-time regardless of its support in the hardware. Thus, masking VIS
usage as it is done in vis.h by constructing binary instructions is
pointless. Using normal VIS mnemonics in inline assembly allows to take
advantage of automatic register allocation, gets rid of register
variables, which are unsupported by suncc for SPARC, and improves code
readability.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-17 15:37:03 +02:00
Michael Niedermayer ebe8c7fe52 vc1dec: restructure interpmvp code
This fixes a valgrind warning about use of uninitialized stuff
(no actual such use occurs though)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 15:11:47 +02:00
Vignesh Venkatasubramanian 98c292a7a8 Adding support for encoding VP8 Alpha
This patch adds support for encoding VP8 files with alpha. The alpha channel
is encoded separately and the output is placed in AVPacket's side_data. The
muxer then muxes it into the BlockAdditional element of the matroska container.
More details on spec here: http://goo.gl/wCP1y

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 15:11:23 +02:00
Michael Niedermayer 2fb193b1e7 vformat/matroskaenc: factorize alpha code in mkv_write_block()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 15:11:23 +02:00
Vignesh Venkatasubramanian 8ffcc826b3 Adding support for muxing VP8 Alpha files
This patch adds support for muxing VP8 Alpha Files. The Alpha channel data is
placed in BlockAdditional element of the matroska container. More information
& exact spec on how this is implemented can be found here: http://goo.gl/wCP1y

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 15:11:23 +02:00
Paul B Mahol 85e8a1169c lavfi/pad: switch to AV_OPT_TYPE_COLOR
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-17 11:32:54 +00:00
Paul B Mahol 1d2ecf9609 lavfi/drawtext: switch to AV_OPT_TYPE_COLOR
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-17 11:32:54 +00:00
Paul B Mahol 83e892233c lavfi/life: switch to AV_OPT_TYPE_COLOR
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-17 11:32:54 +00:00
Paul B Mahol 05b7560d39 lavfi/color: switch to AV_OPT_TYPE_COLOR
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-17 11:32:54 +00:00
Paul B Mahol 3a751eab78 lavu/opt: add AV_OPT_TYPE_COLOR
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-17 11:32:53 +00:00
Michael Niedermayer 1ec578c010 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo: allocate sufficiently large scratch buffer for interlaced vid

Conflicts:
	libavcodec/mpegvideo.c

See: 73db0bf1b0

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 12:10:57 +02:00
Michael Niedermayer 1a0057dc88 Merge commit 'db8e336e5fc18c41cb4e9bab1960349e9800d546'
* commit 'db8e336e5fc18c41cb4e9bab1960349e9800d546':
  pthread: reindent

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 11:55:40 +02:00
Michael Niedermayer 36d349034e Merge commit '30e256430eb88c6d4c382581b89bca171d79fbc0'
* commit '30e256430eb88c6d4c382581b89bca171d79fbc0':
  lavc/pthread: remove obsolete checks

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 11:49:00 +02:00
Michael Niedermayer 1e9a050bc0 Merge commit '16a645adeb758207346a4bbf66766f02734c461e'
* commit '16a645adeb758207346a4bbf66766f02734c461e':
  vf_pixdesctest: make config_props work properly when called multiple times.
  vf_hqdn3d: make config_props work properly when called multiple times.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 11:41:14 +02:00
Michael Niedermayer 71fcb6072e Merge commit '3fb29588a27a711132106b924e27b53789a58dcb'
* commit '3fb29588a27a711132106b924e27b53789a58dcb':
  vf_drawtext: don't leak the expressions.
  vf_crop: make config_props work properly when called multiple times.
  vf_setdar: make config_props work properly when called multiple times.

Conflicts:
	libavfilter/vf_aspect.c
	libavfilter/vf_drawtext.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 11:29:22 +02:00
Michael Niedermayer c7078f4907 Merge commit '4c205f42c86ccefa093c59434669af34ad14a52b'
* commit '4c205f42c86ccefa093c59434669af34ad14a52b':
  vf_drawbox: make config_props work properly when called multiple times.
  vf_drawtext: do not reset the frame number in config_input.
  vf_fps: move initializing pts from config_props to init.

Conflicts:
	libavfilter/vf_drawbox.c
	libavfilter/vf_drawtext.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 11:05:18 +02:00
Michael Niedermayer d5e5e73c52 Merge commit 'd371c3c2e2830d9783465ecfe1ab7d93351083b7'
* commit 'd371c3c2e2830d9783465ecfe1ab7d93351083b7':
  vf_frei0r: make config_props work properly when called multiple times.
  vf_gradfun: make config_props work properly when called multiple times.
  vf_lut: make config_props work properly when called multiple times.

Conflicts:
	libavfilter/vf_lut.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 10:51:59 +02:00
Michael Niedermayer 5bc892cb17 Merge commit '1232a1647ab27e024a3baf4d01d40c8d08d6ced9'
* commit '1232a1647ab27e024a3baf4d01d40c8d08d6ced9':
  Apple Intermediate Codec decoder
  movenc: Don't add base_data_offset in tfhd for PIFF files

Conflicts:
	Changelog
	libavcodec/allcodecs.c
	libavcodec/avcodec.h
	libavcodec/codec_desc.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 10:38:08 +02:00
Michael Niedermayer c453da33a3 Merge commit '1fb013a57c6d98d3f425506eb25f32b2cf7ddc6f'
* commit '1fb013a57c6d98d3f425506eb25f32b2cf7ddc6f':
  vc1dec: Add support for interlaced B-frames

Conflicts:
	libavcodec/vc1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 10:23:40 +02:00
Jeremy Hinegardner 28e6b7b9b4 Turn off usage of base_data_offset in tfhd for PIFF files
According to the PIFF specification[1] the base_data_offset field MUST be
omitteed. See section 5.2.17. Since the ISMV files created by ffmpeg state
that they are 'piff' compatible via 'ftyp' box, this needs to be corrected.

[1] http://www.iis.net/learn/media/smooth-streaming/protected-interoperable-file-format

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 10:04:45 +02:00
Jindrich Makovicka 259af1b923 mpegvideo: allocate sufficiently large scratch buffer for interlaced vid
MPV_decode_mb_internal needs 3 * 16 * linesize bytes of scratch buffer

For interlaced content, linesize is multiplied by two after the allocation
of the scratch buffer, and the dest_cr pointer ends past the buffer.

This patch makes ff_mpv_frame_size_alloc allocate a total of
(aligned line_size) * 2 * 16 * 3 bytes, which suffices even for the
interlaced case.

CC:libav-stable@libav.org

Signed-off-by: Jindrich Makovicka <makovick@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-17 07:49:05 +02:00
Anton Khirnov db8e336e5f pthread: reindent 2013-05-17 07:44:50 +02:00
Anton Khirnov 30e256430e lavc/pthread: remove obsolete checks
Those were useful when avcodec_thread_init() was a public functions. It
was deprecated and removed some time ago, so those checks are not needed
anymore.
2013-05-17 07:44:40 +02:00
Anton Khirnov 16a645adeb vf_pixdesctest: make config_props work properly when called multiple times. 2013-05-17 07:44:23 +02:00
Anton Khirnov 3ba35a346c vf_hqdn3d: make config_props work properly when called multiple times.
Do not leak all the temp buffers.
2013-05-17 07:44:12 +02:00
Anton Khirnov 3fb29588a2 vf_drawtext: don't leak the expressions. 2013-05-17 07:44:04 +02:00
Anton Khirnov 6592cd22a2 vf_crop: make config_props work properly when called multiple times.
Do not leak the x/y expressions.
2013-05-17 07:43:57 +02:00
Anton Khirnov d5c66d9c56 vf_setdar: make config_props work properly when called multiple times.
Do not overwrite the variable set through AVOptions.
2013-05-17 07:43:44 +02:00
Anton Khirnov 4c205f42c8 vf_drawbox: make config_props work properly when called multiple times.
Do not overwrite the variables set through AVOptions.
2013-05-17 07:43:17 +02:00
Anton Khirnov 90d9a2a04c vf_drawtext: do not reset the frame number in config_input.
Frame number should be incremented normally even if the link properties
change.
2013-05-17 07:43:07 +02:00
Anton Khirnov 7727be79d1 vf_fps: move initializing pts from config_props to init.
It should not be reinitialized if the link properties change.
2013-05-17 07:42:55 +02:00
Anton Khirnov d371c3c2e2 vf_frei0r: make config_props work properly when called multiple times.
Do not leak the initialized filter instance.
2013-05-17 07:42:46 +02:00
Anton Khirnov 87c31cfd7a vf_gradfun: make config_props work properly when called multiple times. 2013-05-17 07:42:39 +02:00
Anton Khirnov b06848f4de vf_lut: make config_props work properly when called multiple times.
Do not leak the expressions.
2013-05-17 07:42:28 +02:00
Kostya Shishkov 1232a1647a Apple Intermediate Codec decoder 2013-05-17 06:31:05 +02:00
Carl Eugen Hoyos 17989dcf54 configure: Autodetect VA-API
This fixes a regression (reproducible since 1.2) and restores the
behaviour of 0.6, 0.7, 0.8, 0.9, 0.10, 0.11, 1.0 and 1.1.
2013-05-17 02:32:21 +02:00
Stefano Sabatini cb0b0266e5 lavfi/drawbox: restore verbal form for drawbox options descriptions 2013-05-17 00:46:32 +02:00
Stefano Sabatini 0aa013fa8a lavfi: factorize drawgrid and drawbox code 2013-05-17 00:46:32 +02:00
James Almer 54372848f3 tools/ffhash: Use O_BINARY when available
This fixes reading files in Windows

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 00:38:07 +02:00
Michael Niedermayer ab074ab9fe avcodec/pthread: fix ffv1 with 2 threads
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 00:28:51 +02:00
Jeremy Hinegardner 40bbbce7e8 movenc: Don't add base_data_offset in tfhd for PIFF files
According to the PIFF specification[1] the base_data_offset field MUST be
omitteed. See section 5.2.17. Since the ISMV files created by libavformat
state that they are 'piff' compatible via 'ftyp' box, this needs to be
corrected.

[1] http://www.iis.net/learn/media/smooth-streaming/protected-interoperable-file-format

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-17 00:28:50 +03:00
Sebastian Sandberg 1fb013a57c vc1dec: Add support for interlaced B-frames
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-17 00:28:37 +03:00
Clément Bœsch 3da726f188 lavf/img2enc: use FF_CEIL_RSHIFT(). 2013-05-16 23:20:07 +02:00
Clément Bœsch f3962c6264 lavfi/yadif: fix chroma subsampling with odd sizes. 2013-05-16 23:20:02 +02:00
Clément Bœsch 61b268eeda lavfi/idet: fix chroma subsampling with odd sizes. 2013-05-16 23:20:00 +02:00
Clément Bœsch 6c5bd7d785 lavc/vc1dec: fix a few "may be used uninitialized" warnings. 2013-05-16 23:08:01 +02:00
Michael Niedermayer 09b3bbe605 libvpxenc: Fix "passing argument 3 of av_image_copy from incompatible pointer type" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 22:54:16 +02:00
Michael Niedermayer f4cc38e339 vc1dec: silence "may be used uninitialized in this function" warning from gcc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 22:32:01 +02:00
Clément Bœsch d94c907008 lavfi: silence a discarded const qualifier warning. 2013-05-16 18:38:10 +02:00
James Almer b22f96b736 Rename ffadler to ffhash and expand it using the generic hash API
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 17:58:56 +02:00
Michael Niedermayer c607a2cc97 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  sparc: Eliminate dead code in VIS acceleration macros
  flacdec: drop unnecessary assert
  mjpegdec: properly report unsupported disabled features

Conflicts:
	libavcodec/flacdec.c
	libavcodec/mjpegdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 17:10:51 +02:00
Michael Niedermayer af00d68af0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vf_pad: use the name 's' for the pointer to the private context
  vf_overlay: use the name 's' for the pointer to the private context
  vf_lut: use the name 's' for the pointer to the private context

Conflicts:
	libavfilter/vf_lut.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 17:03:52 +02:00
Michael Niedermayer df003cbb56 Merge commit '4753f802c00853859b7b4b8fdb79c35e082cb7f8'
* commit '4753f802c00853859b7b4b8fdb79c35e082cb7f8':
  vf_libopencv: use the name 's' for the pointer to the private context
  vf_hqdn3d: use the name 's' for the pointer to the private context
  vf_hflip: use the name 's' for the pointer to the private context
  vf_gradfun: use the name 's' for the pointer to the private context

Conflicts:
	libavfilter/vf_gradfun.c
	libavfilter/vf_hflip.c
	libavfilter/vf_hqdn3d.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 16:45:43 +02:00
Michael Niedermayer e55092b12b Merge commit 'f6b6d6ac42c0ee427fcd3fae4c398b2103b491b8'
* commit 'f6b6d6ac42c0ee427fcd3fae4c398b2103b491b8':
  vf_frei0r: use the name 's' for the pointer to the private context
  vf_format: use the name 's' for the pointer to the private context
  vf_fieldorder: use the name 's' for the pointer to the private context
  vf_fieldorder: cosmetics, remove an extra linebreak

Conflicts:
	libavfilter/vf_frei0r.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 15:21:31 +02:00
Michael Kostylev 4dbceaa3a8 sparc: Eliminate dead code in VIS acceleration macros
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-16 14:30:49 +02:00
Luca Barbato 39cc4c61de flacdec: drop unnecessary assert
The condition cannot happen anymore.
2013-05-16 14:05:46 +02:00
Luca Barbato b25e49b187 mjpegdec: properly report unsupported disabled features
When JPEG-LS support is disabled the decoder would feed the
data to the JPEG Lossless decode_*_scan function resulting in
faulty decoding.

CC: libav-stable@libav.org
2013-05-16 14:05:46 +02:00
Clément Bœsch afec02afe7 lavfi/unsharp: remove unused float.h include. 2013-05-16 13:38:26 +02:00
Clément Bœsch faceb0af0a lavfi/unsharp: use av_image_copy_plane(). 2013-05-16 13:38:03 +02:00
Clément Bœsch 5c7a33a716 fate/colorchannelmixer: make sure direct path is tested. 2013-05-16 13:18:08 +02:00
Michael Niedermayer 04dd5ddeda Merge commit 'c0279956b3ca3e5fd0a6a25253893d6f07000e68'
* commit 'c0279956b3ca3e5fd0a6a25253893d6f07000e68':
  vf_fade: use the name 's' for the pointer to the private context
  vf_drawtext: use the name 's' for the pointer to the private context
  vf_drawbox: use the name 's' for the pointer to the private context

Conflicts:
	libavfilter/vf_drawbox.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 10:33:31 +02:00
Michael Niedermayer a134f9676e Merge commit 'ba09675f44612fad9f7169f71b8276beb50a0dcd'
* commit 'ba09675f44612fad9f7169f71b8276beb50a0dcd':
  vf_delogo: use the name 's' for the pointer to the private context
  vf_cropdetect: use the name 's' for the pointer to the private context
  vf_crop: cosmetics, break lines

Conflicts:
	libavfilter/vf_delogo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 10:14:00 +02:00
Michael Niedermayer e77647c528 Merge commit '7f83959598b6565baa0091e5739dd9091ab7a990'
* commit '7f83959598b6565baa0091e5739dd9091ab7a990':
  vf_crop: use the name 's' for the pointer to the private context
  vf_boxblur: use the name 's' for the pointer to the private context
  vf_blackframe: use the name 's' for the pointer to the private context

Conflicts:
	libavfilter/vf_blackframe.c
	libavfilter/vf_boxblur.c
	libavfilter/vf_crop.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 10:08:17 +02:00
Michael Niedermayer efc08e00cc Merge commit 'b3ea76624ad1baab0b6bcc13f3f856be2f958110'
* commit 'b3ea76624ad1baab0b6bcc13f3f856be2f958110':
  vf_aspect: use the name 's' for the pointer to the private context
  Remove commented-out debug #define cruft

Conflicts:
	libavcodec/4xm.c
	libavcodec/dvdsubdec.c
	libavcodec/ituh263dec.c
	libavcodec/mpeg12.c
	libavfilter/avfilter.c
	libavfilter/vf_aspect.c
	libavfilter/vf_fieldorder.c
	libavformat/rtmpproto.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 09:56:43 +02:00
Michael Niedermayer 39354d6089 Merge commit 'ff4fc5ef12a37716c5c5d8928a2db92428e916ec'
* commit 'ff4fc5ef12a37716c5c5d8928a2db92428e916ec':
  jpegls: K&R formatting cosmetics

Conflicts:
	libavcodec/jpegls.c
	libavcodec/jpegls.h
	libavcodec/jpeglsdec.c
	libavcodec/jpeglsenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 09:46:19 +02:00
Michael Niedermayer 0d83b5722e Merge commit '9cacdabd1c8cd257a942d8289349c37d992989b7'
* commit '9cacdabd1c8cd257a942d8289349c37d992989b7':
  jpegls: cosmetics: Drop some unnecessary parentheses
  mpegvideo: Remove commented-out PARANOID debug cruft

Conflicts:
	libavcodec/jpegls.c
	libavcodec/mpegvideo.c
	libavcodec/x86/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 09:19:11 +02:00
Michael Niedermayer 4390fa6273 Merge commit 'd46c588f3cb1963a00e990ceaf4ba9ffa05a716d'
* commit 'd46c588f3cb1963a00e990ceaf4ba9ffa05a716d':
  Remove commented-out #includes
  h263dec: Remove broken and disabled debug cruft
  vc1: Reindent INIT_LUT(), align backslashes

Conflicts:
	libavcodec/vc1.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 09:11:04 +02:00
Anton Khirnov 3062ac4c47 vf_pad: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:36:10 +02:00
Anton Khirnov a70519aad1 vf_overlay: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:36:04 +02:00
Anton Khirnov 8d2565c28b vf_lut: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:35:59 +02:00
Anton Khirnov 4753f802c0 vf_libopencv: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:35:53 +02:00
Anton Khirnov 56e4ce0d13 vf_hqdn3d: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:35:48 +02:00
Anton Khirnov 7af5ae2d07 vf_hflip: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:33:38 +02:00
Anton Khirnov 05fab5530b vf_gradfun: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:33:29 +02:00
Anton Khirnov f6b6d6ac42 vf_frei0r: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:33:23 +02:00
Anton Khirnov cbec213a90 vf_format: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:33:17 +02:00
Anton Khirnov d64cf54b34 vf_fieldorder: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:33:07 +02:00
Anton Khirnov 9bbf6c681a vf_fieldorder: cosmetics, remove an extra linebreak 2013-05-16 07:32:49 +02:00
Anton Khirnov c0279956b3 vf_fade: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:32:43 +02:00
Anton Khirnov d3735f7ad6 vf_drawtext: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:32:34 +02:00
Anton Khirnov 20e2794eea vf_drawbox: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:32:27 +02:00
Anton Khirnov ba09675f44 vf_delogo: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:31:57 +02:00
Anton Khirnov e16e23d70e vf_cropdetect: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:31:50 +02:00
Anton Khirnov 671563d9fd vf_crop: cosmetics, break lines 2013-05-16 07:31:31 +02:00
Anton Khirnov 7f83959598 vf_crop: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:31:11 +02:00
Anton Khirnov 762df56ef9 vf_boxblur: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:30:56 +02:00
Anton Khirnov a2a696990c vf_blackframe: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:30:41 +02:00
Anton Khirnov b3ea76624a vf_aspect: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:30:28 +02:00
Clément Bœsch d686517ad1 lavfi/mp: remove mp=ow wrapper.
Filter ported natively as owdenoise.
2013-05-16 00:45:45 +02:00
Clément Bœsch b1e84efa3d lavfi: port wavelet denoiser filter from libmpcodecs. 2013-05-16 00:45:45 +02:00
Diego Biurrun 2832ea26f3 Remove commented-out debug #define cruft 2013-05-16 00:23:30 +02:00
Luca Barbato ff4fc5ef12 jpegls: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-16 00:00:41 +02:00
Diego Biurrun 9cacdabd1c jpegls: cosmetics: Drop some unnecessary parentheses 2013-05-15 23:58:04 +02:00
Diego Biurrun 004b81c465 mpegvideo: Remove commented-out PARANOID debug cruft 2013-05-15 23:53:42 +02:00
James Almer 35188e91ef lavu/hash: Fix CRC32 calculation
Initialize it with UINT32_MAX and xor the result with UINT32_MAX
as well.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 23:53:40 +02:00
James Almer c55c715c81 lavu/hash: Fix adler32 calculation
Adler must be initialized with a non zero value.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 23:53:40 +02:00
Diego Biurrun d46c588f3c Remove commented-out #includes 2013-05-15 23:01:21 +02:00
Diego Biurrun bfd00cc4c2 h263dec: Remove broken and disabled debug cruft 2013-05-15 23:01:21 +02:00
Michael Niedermayer 42af97dbc0 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavf/concat: reject empty scripts.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 20:22:31 +02:00
Michael Niedermayer e3c24f663e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Use linker hardening flags on mingw
  vc1: Make INIT_LUT() self contained
  vc1: Simplify code by using INIT_LUT()
  vc1: Move INIT_LUT() further up to allow using it in more places
  vc1dec: Remove some now unused variables
  vc1dec: Do not allow field_mode to change after the first header
  vc1, mss2: Check for any negative return value from ff_vc1_parse_frame_header
  vc1dec: Fix current ptr selection in vc1_mc_4mv_chroma()
  vc1dec: Factorize picture pointer selection in vc1_mc_4mv_chroma()
  vc1dec: Factorize picture pointer selection code
  vc1dec: Factorize srcU/V offseting
  vc1dec: Fix tff == 0 handling in init_block_index()
  vc1dec: Update destination pointers in context for fields

Conflicts:
	libavcodec/vc1.c
	libavcodec/vc1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 20:09:20 +02:00
Martin Storsjö b0696e947f vc1: Reindent INIT_LUT(), align backslashes
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 20:59:24 +03:00
Nicolas George ca2f6b6932 lavf/concat: reject empty scripts.
Fix trac ticket #2566.
2013-05-15 16:53:35 +02:00
Paul B Mahol c45b823bf8 lavfi/histogram: logarithmic mode for levels
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-15 12:38:39 +00:00
Alex Smith 225a5f91cc configure: Use linker hardening flags on mingw
This makes it consistent with the msvc builds which automatically set
the DEP and ASLR flags by default.  There really is no good reason why
they shouldn't be set.

The fact that binutils does not set them on by default boggles the mind.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 14:42:08 +03:00
Paul B Mahol fa23f94eac wv: make probing more robust
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-15 10:51:30 +00:00
Michael Niedermayer a9cadacdd9 dpxenc: dont shift into the sign bit.
Fixes IOC warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 12:15:21 +02:00
Michael Niedermayer e003413fe9 murmur3: fix memleak
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 12:10:09 +02:00
Michael Niedermayer 6ce2c3106d vc1: Make INIT_LUT() self contained
Move the local variables it uses into the macro, enclosing them
in a do {} while (0) scope.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 12:42:53 +03:00
Michael Niedermayer 3ac3edf63b Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Reduce probing score for flic animation files.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 11:37:58 +02:00
Michael Niedermayer c7c71f95f8 replace remaining PIX_FMT_* flags with AV_PIX_FMT_FLAG_*
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 11:23:14 +02:00
Carl Eugen Hoyos 86ea021b3a Reduce probing score for flic animation files.
Fixes ticket #2567.
2013-05-15 11:20:39 +02:00
Michael Niedermayer 37f2ac36a9 vc1: Simplify code by using INIT_LUT()
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 12:13:53 +03:00
Michael Niedermayer 0379fc1487 vc1: Move INIT_LUT() further up to allow using it in more places
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 12:13:53 +03:00
Martin Storsjö 3ca3709ad4 vc1dec: Remove some now unused variables
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 12:13:53 +03:00
Michael Niedermayer 4162fc62b3 vc1dec: Do not allow field_mode to change after the first header
This fixes out of array accesses.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 12:13:53 +03:00
Martin Storsjö ec7d002e55 vc1, mss2: Check for any negative return value from ff_vc1_parse_frame_header
This is required if we return other error codes than explicitly
-1, which so far has been the only other possible return value
besides 0.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 12:13:53 +03:00
Michael Niedermayer ff4680922f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  pixdesc: rename PIX_FMT_* flags to AV_PIX_FMT_FLAG_*

Conflicts:
	doc/APIchanges
	libavcodec/avpicture.c
	libavcodec/ffv1dec.c
	libavcodec/ffv1enc.c
	libavcodec/imgconvert.c
	libavcodec/tiffenc.c
	libavfilter/vf_pixdesctest.c
	libavfilter/vf_scale.c
	libavutil/imgutils.c
	libavutil/pixdesc.c
	libavutil/version.h
	libswscale/swscale_internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 11:10:09 +02:00
Michael Niedermayer ccb148e478 vc1dec: Fix current ptr selection in vc1_mc_4mv_chroma()
No sample tried shows a difference.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 11:40:38 +03:00
Michael Niedermayer 201412ffec vc1dec: Factorize picture pointer selection in vc1_mc_4mv_chroma()
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 11:40:17 +03:00
Michael Niedermayer 2412ad1717 vc1dec: Factorize picture pointer selection code
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 11:39:57 +03:00
Michael Niedermayer 19673db34a vc1dec: Factorize srcU/V offseting
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 11:39:36 +03:00
Michael Niedermayer 012b319d91 vc1dec: Fix tff == 0 handling in init_block_index()
This fixes several files from VLC ticket 5887.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 11:39:17 +03:00
Michael Niedermayer 75835abe91 Merge commit '7c57a582a03fb473091a88737ab92b9f2a5bb87a'
* commit '7c57a582a03fb473091a88737ab92b9f2a5bb87a':
  jpeg2000dec: don't use deprecated PIX_FMT values

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 10:39:00 +02:00
Michael Niedermayer 0313653928 vc1dec: Update destination pointers in context for fields
This replaces a large number of checks for the second field by
fixing the pointers when they are setup.

This should also fix I/BI field pictures.

Changes checksums for vc1_sa10143, the file becomes slightly closer
to what the reference decoder outputs.

Based on "vc1dec: the second field is written wrong to the picture"
by Sebastian Sandberg <sebastiand.sandberg@gmail.com>.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 11:38:49 +03:00
Michael Niedermayer 5692ad00f4 Merge commit 'ffba2053edfc177d217bf4a95edf51cd0fc40753'
* commit 'ffba2053edfc177d217bf4a95edf51cd0fc40753':
  lavfi: fix compatibility code for old vf_scale options syntax

Conflicts:
	libavfilter/avfilter.c

No change as the buggy code does not exist in FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 10:38:11 +02:00
Michael Niedermayer aa6454e6ca Merge commit '096696ef0dd391d9430376d1444c1a3cde9171fd'
* commit '096696ef0dd391d9430376d1444c1a3cde9171fd':
  avfiltergraph: simplify inserting conversion filters.
  Clarify output of av_get_bits_per_pixel

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 10:21:16 +02:00
Michael Niedermayer 85de84c3e0 Merge commit '7cbc4cb4424430586ce2d5c0dba81174c6d1db01'
* commit '7cbc4cb4424430586ce2d5c0dba81174c6d1db01':
  fate: update the mmf reference
  mmf: Write metadata into an Optional Data chunk
  jpeg2000dec: Use correct printf length modifier for pointer differences

Conflicts:
	libavformat/mmf.c
	tests/ref/lavf/mmf

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 10:15:15 +02:00
Michael Niedermayer 23439cf99b Merge commit '5d9d8461fbb87046a7ca220d3676a045bd7ab46e'
* commit '5d9d8461fbb87046a7ca220d3676a045bd7ab46e':
  vc1dec: Don't apply the loop filter on fields

Conflicts:
	tests/ref/fate/vc1_sa10143

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 10:07:15 +02:00
Michael Niedermayer cb22692f05 Merge commit 'fe06795d783785a76c6cbcaa2cd3012e6deb5fa5'
* commit 'fe06795d783785a76c6cbcaa2cd3012e6deb5fa5':
  vc1: implement frame interlaced b-frame header parsing

Conflicts:
	libavcodec/vc1.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 09:57:28 +02:00
Michael Niedermayer b602e47f12 Merge commit '46430fd47c6239ef8742d0a34f9412d5060fa798'
* commit '46430fd47c6239ef8742d0a34f9412d5060fa798':
  vc1dec: Don't attempt error concealment on field pictures
  vc1dec: fieldtx is only valid for interlaced frame pictures
  aacenc: Fix erasure of surround channels
  aacenc: Fix target bitrate for twoloop quantiser search

Conflicts:
	libavcodec/vc1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 09:49:17 +02:00
Michael Niedermayer 772c801c7d Merge commit '7c71ada4cad3c6aab5fa24155c379465c41cfd76'
* commit '7c71ada4cad3c6aab5fa24155c379465c41cfd76':
  aacenc: Fix a rounding bug in aacpsy channel bitrate computation
  yadif: correct strides in filter_edges_16bit
  yadif: restore speed of the C filtering code

Conflicts:
	libavfilter/x86/vf_yadif_init.c

No change as these commits where already in FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 09:45:43 +02:00
Michael Niedermayer 6bf6b9c279 Merge commit '252c0bfdc014c1fb6ad4fe06242c7beca58a6b41'
* commit '252c0bfdc014c1fb6ad4fe06242c7beca58a6b41':
  lavc: Fix msvc compilation of utils.c with -WX (warnings treated as errors)

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 09:39:07 +02:00
Anton Khirnov e6c4ac7b5f pixdesc: rename PIX_FMT_* flags to AV_PIX_FMT_FLAG_* 2013-05-15 07:46:51 +02:00
Anton Khirnov 7c57a582a0 jpeg2000dec: don't use deprecated PIX_FMT values 2013-05-15 07:46:39 +02:00
Anton Khirnov ffba2053ed lavfi: fix compatibility code for old vf_scale options syntax
Currently it would incorrectly trigger on a string that contains a '='
but does not contain a ':', e.g. flags=<flags>.
2013-05-15 07:46:04 +02:00
Anton Khirnov 096696ef0d avfiltergraph: simplify inserting conversion filters.
There is now no need to explicitly pass 0:0 as width/height to scale,
those are the defaults.
2013-05-15 07:45:51 +02:00
Kieran Kunhya ede75ebc9b Clarify output of av_get_bits_per_pixel
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-15 07:45:09 +02:00
Clément Bœsch bc1c90eabf lavfi/dctdnoiz: fix 10l typo in pr_height computation. 2013-05-15 03:19:49 +02:00
Michael Niedermayer 1a36c756d8 ffmpeg: free threads on error conditions.
Fixes Ticket2562

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 01:28:59 +02:00
Clément Bœsch 7b43120c7c lavfi: add dctdnoiz filter. 2013-05-15 00:54:00 +02:00
Vignesh Venkatasubramanian 48de04f4ec avcodec/avpacket: Refactoring copy_side_data into a separate function
Refactoring copy_side_data into a separate function so that it can be called
in cases where side data needs to be duplicated.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 22:51:12 +02:00
Michael Niedermayer 5d22ac488b libx264: zero x264_picture before use.
This prevents use of uninitialized memory by ffmpeg later
(i_qpplus1)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 22:44:08 +02:00
Michael Niedermayer 640e524ff6 libavfilter/Makefile: unbreak make alltools
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 21:58:56 +02:00
Stefano Sabatini 2a1b7dee6d tools: add zmqsend tool, useful to test the zmq filters 2013-05-14 20:10:55 +02:00
Stefano Sabatini 7ddb0ef9af lavfi: add zmq filters 2013-05-14 20:10:44 +02:00
James Almer dc7656279a lavu/hash: Fix name of SHA224
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 19:43:51 +02:00
Paul B Mahol b24530019f lavfi/blend: timeline support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-14 17:41:50 +00:00
Michael Niedermayer e751481cd8 swscale/output: silence compiler warnings about uninitialized variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 18:58:02 +02:00
Luca Barbato 7cbc4cb442 fate: update the mmf reference
Using Optional Data chunk introduced changes the hash.
2013-05-14 18:50:27 +02:00
Stefano Sabatini e65c4a2330 doc/outdevs: fix typos (devices -> device) 2013-05-14 18:46:14 +02:00
Paul B Mahol 811b17fbad lavfi: cosmetics: fix vertical alignment for pads in some filters
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-14 15:31:56 +00:00
Yoshihisa Uchida 3dff1bf99c mmf: Write metadata into an Optional Data chunk
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-05-14 17:14:38 +02:00
Diego Biurrun a349458e67 jpeg2000dec: Use correct printf length modifier for pointer differences
Also eliminate an unnecessary cast. Fixes the following warning:
jpeg2000dec.c:1200:20: warning: format ‘%lX’ expects argument of type ‘long unsigned int’, but argument 5 has type ‘long long unsigned int’
2013-05-14 16:46:56 +02:00
Michael Niedermayer dc6f1a8dda avformat/srtdec: Fix pointer corruption
This fixes use of uninitialized memory and possible out of array access

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 16:38:33 +02:00
Martin Storsjö 5d9d8461fb vc1dec: Don't apply the loop filter on fields
Fixes read of uninitialized memory.

Based on a patch by Michael Niedermayer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-14 14:36:00 +03:00
Michael Niedermayer 6b13f54262 vf_colorchannelmixer: round lut entries to nearest
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 12:51:22 +02:00
Michael Niedermayer f268727a8f fate: change colorchannelmixers coefficients to be less unstable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 12:49:11 +02:00
Hendrik Leppkes fe06795d78 vc1: implement frame interlaced b-frame header parsing
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-14 13:24:55 +03:00
Michael Niedermayer 46430fd47c vc1dec: Don't attempt error concealment on field pictures
This is not implemented and doesn't work.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-14 13:24:52 +03:00
Michael Niedermayer 509cc1e883 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Disable PIC for cygwin just as for win32/mingw

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 12:21:48 +02:00
Michael Niedermayer a887372109 Merge commit '1399931d07f0f37ef4526eb8d39d33c64e09618a'
* commit '1399931d07f0f37ef4526eb8d39d33c64e09618a':
  x86: dsputil: Rename dsputil_mmx.h --> dsputil_x86.h

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 12:12:20 +02:00
Sebastian Sandberg 1bd57a850a vc1dec: fieldtx is only valid for interlaced frame pictures
The fieldtx_plane is not cleared for interlaced fields.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-14 12:44:09 +03:00
Claudio Freire 8bbdd20a29 aacenc: Fix erasure of surround channels
This was due to a miscomputation of s->cur_channel, which led to
psy-based encoders using the psy coefficients for the wrong channel.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-14 12:42:05 +03:00
Claudio Freire f4d0a63b5b aacenc: Fix target bitrate for twoloop quantiser search
This fixes a case where multichannel bitrate isn't accurately
targetted by psy model alone, never achieving the target bitrate.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-14 12:42:04 +03:00
Claudio Freire 7c71ada4ca aacenc: Fix a rounding bug in aacpsy channel bitrate computation
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-14 12:42:03 +03:00
Michael Niedermayer b2da63db50 Merge commit '245b76a108585b6fb52eebc2626c472d6fa530dc'
* commit '245b76a108585b6fb52eebc2626c472d6fa530dc':
  x86: dsputil: Split inline assembly from init code

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Note, the author attribution is left in place and not removed
as it is in the merged commit.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 11:19:20 +02:00
Michael Niedermayer eda9d97b7a Merge commit '46bb456853b197f4562de7acf5d42abf11ded9be'
* commit '46bb456853b197f4562de7acf5d42abf11ded9be':
  x86: dsputil: Refactor pixels16 wrapper functions with a macro

Conflicts:
	libavcodec/x86/hpeldsp_avg_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 10:18:46 +02:00
James Darnley d10499a32a yadif: correct strides in filter_edges_16bit
The C code treats the data as arrays of uint16_t so strides must not
be in bytes but in pixels.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-14 09:24:13 +02:00
James Darnley b0ef0ae776 yadif: restore speed of the C filtering code
Always use the special filter for the first and last 3 columns (only).

Changes made in 64ed397 slowed the filter to just under 3/4 of what it
was.  This commit restores the speed while maintaining identical output.

For reference, on my Athlon64:
1733222 decicycles in old
2358563 decicycles in new
1727558 decicycles in this

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-14 09:23:55 +02:00
Matt Wolenetz 252c0bfdc0 lavc: Fix msvc compilation of utils.c with -WX (warnings treated as errors)
This fixes https://bugzilla.libav.org/show_bug.cgi?id=514.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-14 10:04:43 +03:00
burek 56ba331257 doc/filters: add some examples for the fps filter
Signed-off-by: burek <burek021@gmail.com>
2013-05-14 00:33:52 +00:00
Hendrik Leppkes 37d9784083 md5enc: don't reuse priv_class in two formats
Apparently, this is not allowed and can trip up all sorts of things.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 23:39:29 +02:00
Reimar Döffinger 7d1d596817 Add a generic hash API.
Also use this API in framemd5.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-05-13 21:42:37 +02:00
Reimar Döffinger 86215c326e Add 128 bit murmur3 hash function.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-05-13 21:42:37 +02:00
Andrey Utkin 47a628bfb3 avfilter: Add 'drawgrid' video filter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 21:34:15 +02:00
Martin Storsjö 05165c2f7a configure: Disable PIC for cygwin just as for win32/mingw
If this is explicitly disabled for win32/mingw, it should also
be disabled for cygwin, for consistency and for the same reasons
as for win32/mingw.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-13 20:20:55 +03:00
Joseph Artsimovich 3967f68053 Better handling for MXF essence reading reaching EOF.
If no metadata follows MXF essence, that is essence ends with EOF,
"Operation not permitted" error was produced and a non-zero code
was returned from ffmpeg executable.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 19:03:04 +02:00
Michael Niedermayer 1e00bbb10c avcodec/lcldec: Check that dimensions are a multiple of the subsample factors
Other dimensions would not work correctly currently,
also ask for a sample for files that fail this check.

This fixes an integer overflow leading to out of array
accesses.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 18:52:00 +02:00
Clément Bœsch b3c263e209 lavu/common: make FF_CEIL_RSHIFT faster when shift is constant.
See "[PATCH] lavfi/lut: use FF_CEIL_RSHIFT for chroma w/h rounding."
thread for more information.
2013-05-13 17:53:16 +02:00
Michael Niedermayer 45150f90e7 fate: fix filter-colorchannelmixer by adding bitexact & accurate flags
Idea by durandal11707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 17:15:58 +02:00
Paul B Mahol 8671e995c8 imgconvert: silence "incompatible pointer type" warning
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-13 14:42:41 +00:00
Michael Niedermayer f9db2fc84d cdgraphics: initialize buffer
Prevent use of uninitialized memory

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 14:39:32 +02:00
Michael Niedermayer e6b6ae4695 vorbisdec: check codebook entry count
Fixes assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 14:27:35 +02:00
Stefano Sabatini 3a4c8788e3 tools/ffeval: use av_dynarray2_add()
Simplify, increment robustness.
2013-05-13 13:52:37 +02:00
Stefano Sabatini e3984166a4 lavu/mem: add av_dynarray2_add()
Based on a patch by Clément Bœsch.

See thread:
From: Clément Bœsch <ubitux@gmail.com>
Subject: [FFmpeg-devel] [PATCH 1/5] lavu: add av_dynarray_alloc_elem().
Date: Sun, 14 Apr 2013 03:07:54 +0200
2013-05-13 13:52:31 +02:00
Stefano Sabatini 84be806982 lavu: define FF_MEMORY_POISON and use it
Allow single-place definition of constant used to fill poisoned memory.
2013-05-13 13:52:26 +02:00
Michael Niedermayer e70e2583d0 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Do not read strd chunk in avi files as H264 extradata.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 13:25:12 +02:00
Paul B Mahol 2dedd8988a fate: add colorchannelmixer test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-13 10:57:48 +00:00
Carl Eugen Hoyos 231b331718 Do not read strd chunk in avi files as H264 extradata.
Fixes ticket #2561.
2013-05-13 12:39:44 +02:00
Paul B Mahol 4383e1b239 tests/lavf-regression: fix gbrp10 dpx test on big endian
For some reason only for that pix format decoder picks native format.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-13 10:09:03 +00:00
Michael Niedermayer df4f4fc8a5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: x86: Only enable cpunop on i686

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 11:36:46 +02:00
Michael Niedermayer 69d52ef8ff Merge commit 'f54b55058a429c4eea5bae7e5bcb49bd29b34199'
* commit 'f54b55058a429c4eea5bae7e5bcb49bd29b34199':
  configure: Rename cmov processor capability to i686

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 11:29:40 +02:00
Michael Niedermayer 6585275e79 Merge commit 'e08c946c6860a78b0c479551d5f6735361160cbd'
* commit 'e08c946c6860a78b0c479551d5f6735361160cbd':
  configure: Explicitly disable PIC when targeting win32/mingw

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 11:23:16 +02:00
Michael Niedermayer 352eb1f02f Merge commit 'b1803c79dcd6d0a345fa1cbe18dd8e2149717121'
* commit 'b1803c79dcd6d0a345fa1cbe18dd8e2149717121':
  configure: Use enable_weak when enabling pic

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 10:53:18 +02:00
Andrey Utkin bc63a76083 pngenc: Add 'dpi', 'dpm' options
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 00:12:45 +02:00
Paul B Mahol c0a30dd2e4 fate: increase coverage for dpx encoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-12 22:04:40 +00:00
Paul B Mahol ae9ef151ad dpxenc: simplifiy code using AVPixFmtDescriptor
Update rgb24 fate test as it no longer writes image in big endian
format.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-12 21:56:29 +00:00
Paul B Mahol 22a038606c dpxenc: do not set coded_frame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-12 21:15:59 +00:00
Diego Biurrun 1399931d07 x86: dsputil: Rename dsputil_mmx.h --> dsputil_x86.h
The header is not (anymore) MMX-specific.
2013-05-12 22:28:07 +02:00
Diego Biurrun 245b76a108 x86: dsputil: Split inline assembly from init code
Also remove some pointless comments.
2013-05-12 22:28:07 +02:00
Diego Biurrun 46bb456853 x86: dsputil: Refactor pixels16 wrapper functions with a macro 2013-05-12 22:28:07 +02:00
Michael Niedermayer 145e644aee sws/output: remove offset/coef for alpha in rgba64
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-12 22:01:18 +02:00
Paul B Mahol e1746d057b swscale: RGBA64 output
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-12 21:47:19 +02:00
Diego Biurrun 2c2c48a9bd configure: x86: Only enable cpunop on i686
The assembler may insert nopl instructions for cpunop, which are not
(universally) supported on i586 CPUs.
2013-05-12 21:23:38 +02:00
Diego Biurrun f54b55058a configure: Rename cmov processor capability to i686
The goal is to make the capapility slightly more general and have it
cover the availability of the nopl instruction in addition to cmov.
2013-05-12 21:23:38 +02:00
Claudio Freire e41cd3cdeb aacenc: Fix ticket #1784: erasure of surround channels
This was due to a miscomputation of s->cur_channel, which led to
psy-based encoders using the psy coefficients for the wrong channel.
Test sample attached on the bug tracker had the peculiar case of all
other channels being silent, so the error was far more noticeable.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-12 19:14:17 +02:00
Martin Storsjö e08c946c68 configure: Explicitly disable PIC when targeting win32/mingw
These platforms do not have any notion of PIC. On some compilers,
enabling pic produces a number of warnings.

This avoids trying to produce PIC loads in the ARM assembly - there
are no relocation types in PE/COFF that correspond to
BFD_RELOC_32_PCREL (R_ARM_REL32 in ELF).

As a side-effect, this avoids enabling PIC on mingw64, getting rid
of the warnings about PIC not having any effect on that platform.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-12 19:45:33 +03:00
Martin Storsjö b1803c79dc configure: Use enable_weak when enabling pic
This allows it to be overridden, either by the user on the command
line, or by other sections of the configure script.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-12 19:45:26 +03:00
Michael Niedermayer 91f4a44ff4 sws/packed_16bpc_bswap: fix handling of negative stride 2013-05-12 17:26:39 +02:00
Michael Niedermayer 63725d158d Revert "sws: support endianness conversion for AV_PIX_FMT_RGBA64"
This reverts commit 23f7b14f28.

This commit broke fate
2013-05-12 15:05:25 +02:00
Paul B Mahol d93bc4ef5c redspark: fix memleak in redspark_read_header
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-12 12:14:33 +00:00
Paul B Mahol 87888c043d fate: add exr tests
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-12 11:47:30 +00:00
Paul B Mahol 23f7b14f28 sws: support endianness conversion for AV_PIX_FMT_RGBA64
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-12 11:44:20 +00:00
Clément Bœsch cd43a7e945 doc/filters: split item options which are not aliases. 2013-05-12 13:23:45 +02:00
Clément Bœsch 09d3449a8f fate/filter: test gradfun timeline. 2013-05-12 13:07:47 +02:00
Clément Bœsch 9b11c2ef36 fate/filter: test hqdn3d timeline. 2013-05-12 13:07:47 +02:00
Clément Bœsch 0122300c86 lavfi/hqdn3d: restore timeline feature. 2013-05-12 13:07:47 +02:00
Clément Bœsch 0652111833 lavfi/hqdn3d: use macros instead of hardcoded indexes. 2013-05-12 13:07:47 +02:00
Clément Bœsch 1776177b7f lavfi: replace passthrough_filter_frame with a flag.
With the introduction of AVFilterContext->is_disabled, we can simplify
the custom passthrough mode in filters.

This commit is technically a small compat break, but the timeline was
introduced very recently.

Doxy by Stefano Sabatini.
2013-05-12 13:07:47 +02:00
Clément Bœsch 60f0e30431 lavfi/vflip: use FF_CEIL_RSHIFT for chroma w/h rounding. 2013-05-12 12:59:00 +02:00
Clément Bœsch 59d33eafd1 lavfi/lut: use FF_CEIL_RSHIFT for chroma w/h rounding. 2013-05-12 12:59:00 +02:00
Paul B Mahol 91cae60ecb lavfi/select: unbreak compatibility with older PICT_TYPE syntax
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-12 10:52:26 +00:00
Michael Niedermayer cbcc5cbbd8 Merge remote-tracking branch 'jamrial/adpcm'
* jamrial/adpcm:
  ADPCM IMA Radical decoder
  RedSpark demuxer
  RSD demuxer
  adpcm_thp: Allow the use of extradata for the adpcm table
  ADP demuxer
  ADPCM DTK decoder

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-12 00:38:39 +02:00
Michael Niedermayer 9a2153894f ffv1enc: fix 1000l typo
Thanks to ubitux for spotting that
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-11 21:33:03 +02:00
Michael Niedermayer b8a2331a70 ffv1: check for malloc failure.
Somehow i managed to loose this fix before pushing

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-11 21:23:46 +02:00
Michael Niedermayer bd63f8f657 ffv1enc: Fix memleak
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-11 21:03:54 +02:00
Michael Niedermayer 19411d32d4 ffv1enc: dont set coded_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-11 20:37:20 +02:00
Michael Niedermayer a0c0900e47 ffv1dec: Support frame threading with gop > 1
This is about 20-30% faster than slice threading

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-11 20:17:45 +02:00
Michael Niedermayer 54602590d9 ffv1enc: Check the return value of ffv1_common_init()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-11 20:17:09 +02:00
Michael Niedermayer 69cfe63a43 ffv1: Switch to ThreadFrame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-11 20:16:49 +02:00
Michael Niedermayer 44f69c0df8 avfilter/af_astats: fix 64bit printf type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-11 19:10:39 +02:00
Michael Niedermayer bb0d3a4393 avfilter/vf_mp: remove unused function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-11 19:08:42 +02:00
Michael Niedermayer efaa2e01e6 vf_copy: silence "incompatible pointer type" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-11 15:51:27 +02:00
Stefano Sabatini 90d35e527b doc/filters: remove duplicated abuffer docs 2013-05-11 10:32:30 +02:00
Stefano Sabatini edc05698aa doc/filters: sort audio filters by name 2013-05-11 10:32:22 +02:00
Clément Bœsch a9705e4de9 lavfi/curves: avoid ctx pointer indirection. 2013-05-10 23:47:28 +02:00
Michael Niedermayer 496f2df908 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  indeo3: avoid writes without necessary alignment in copy_cell()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-10 23:26:32 +02:00
Michael Niedermayer 5e1278c640 Merge commit '2c299d4165cd9653153e12270971c2368551b79e'
* commit '2c299d4165cd9653153e12270971c2368551b79e':
  x86: sbrdsp: implement SSE2 qmf_pre_shuffle

Conflicts:
	libavcodec/x86/sbrdsp.asm
	libavcodec/x86/sbrdsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-10 23:16:09 +02:00
Michael Niedermayer 2a7d719848 Merge commit '16a4a18db089af8c432f1cdec62155000585b72c'
* commit '16a4a18db089af8c432f1cdec62155000585b72c':
  af_asyncts: fix offset calculation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-10 23:03:50 +02:00
Michael Niedermayer fc94b68eb5 Merge commit '72fbc9685c08baae7ab9996642707eaab873b6f1'
* commit '72fbc9685c08baae7ab9996642707eaab873b6f1':
  avconv: use current syntax for the scale filter

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-10 22:51:04 +02:00
James Almer 67fad0d221 ADPCM IMA Radical decoder
Signed-off-by: James Almer <jamrial@gmail.com>
2013-05-10 16:53:50 -03:00
James Almer e5e86db178 RedSpark demuxer
Signed-off-by: James Almer <jamrial@gmail.com>
2013-05-10 16:53:02 -03:00
James Almer d3710c51d9 RSD demuxer
Signed-off-by: James Almer <jamrial@gmail.com>
2013-05-10 16:52:10 -03:00
James Almer 22c7784f60 adpcm_thp: Allow the use of extradata for the adpcm table
There are several containers that support adpcm_thp (Also known as Gamecube DSP)
streams, but only thp files contain the coeff table and previous sample inside
each frame.
Some don't even contain previous sample information at all.

This change will make it easier to implement demuxers for said containers
without having to create a new decoder.

Signed-off-by: James Almer <jamrial@gmail.com>
2013-05-10 16:10:53 -03:00
James Almer b4866f717c ADP demuxer
Signed-off-by: James Almer <jamrial@gmail.com>
2013-05-10 16:10:52 -03:00
James Almer e7814ed839 ADPCM DTK decoder
Signed-off-by: James Almer <jamrial@gmail.com>
2013-05-10 16:10:51 -03:00
Michael Niedermayer b2cf655d6e sws: add casts to silence pointer type mismatch warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-10 20:36:12 +02:00
Michael Niedermayer 7ded017983 sws/output/yuv2gbrp_full_X_c(): silence warning about uninitialized variable
clang did not show this one, so i missed it in the last batch

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-10 20:36:12 +02:00
Paul B Mahol 4868855b13 lavfi/select: set forgotten VAR_PICT_TYPE_BI
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-10 17:39:09 +00:00
Paul B Mahol 005ee7a586 lavfi: avectorscope filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-10 17:11:54 +00:00
Clément Bœsch 50e66726a2 lavfi: use ceil right shift for chroma width/height.
This should fix several issues with odd dimensions inputs.

lut, vflip, pad and crop video filters also need to be checked for such
issues. It's possible sws is also affected.
2013-05-10 17:20:06 +02:00
Paul B Mahol d751a2526f lavfi/anull: remove redundant lines
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-10 15:08:12 +00:00
Michael Niedermayer a079ed63d3 avidec: Enable full parsing for potencoder mpeg1/2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-10 16:55:06 +02:00
highgod0401 63e8fc4d8f lavfi: modify names of deshake_kernel.h and unsharp_kernel.h
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-10 12:44:04 +02:00
Janne Grunau 94235f2ba2 indeo3: avoid writes without necessary alignment in copy_cell()
Cells starting at a position aligned to 8 pixels but wider than
4 blocks are copied with 3 blocks per loop. This creates problems on the
next loop iterations since the routine copying 2 blocks requires the
same alignment on some architectures like ARM NEON.
2013-05-10 12:02:09 +02:00
Carl Eugen Hoyos 0f05b72f19 Fix configure --help output for some autodetected features. 2013-05-10 10:41:28 +02:00
Stefano Sabatini 5c4c929878 lavfi/avfiltergraph: fix style 2013-05-10 10:33:00 +02:00
Stefano Sabatini e1332ff324 lavfi/avfilter.h: fix typo 2013-05-10 10:33:00 +02:00
Stefano Sabatini eeb9a4928d lavu/mem.h: fix typo 2013-05-10 10:32:59 +02:00
Michael Niedermayer c475a58dd6 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mmf: K&R formatting cosmetics

Conflicts:
	libavformat/mmf.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-10 09:35:33 +02:00
Christophe Gisquet 2c299d4165 x86: sbrdsp: implement SSE2 qmf_pre_shuffle
From 253 to 51 cycles on Arrandale and Win64.
44 cycles on SandyBridge.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-10 09:31:27 +02:00
Anton Khirnov 16a4a18db0 af_asyncts: fix offset calculation
delta is in samples, not bytes. Also the sample format is not guaranteed
to be planar.

CC:libav-stable@libav.org
2013-05-10 09:31:27 +02:00
Luca Barbato 72fbc9685c avconv: use current syntax for the scale filter 2013-05-10 08:26:04 +02:00
Michael Niedermayer 500220a8e8 mimic: Fix race condition
Fixes access after free.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-10 01:40:24 +02:00
Michael Niedermayer 8ef453ff83 sws/output: silence warnings about uninitialized use of variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-10 01:33:57 +02:00
Paul B Mahol 13cb6ed3c4 takdec: simplify use of scalarproduct_int16 in decode_subframe()
Makes decoding little faster.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-09 20:36:58 +00:00
Carl Eugen Hoyos 43b6482d0a Add fate test for solid colour lagarith frames. 2013-05-09 17:18:12 +02:00
Clément Bœsch 4db84bac13 lavfi/opencl: replace SHIFTUP with FF_CEIL_RSHIFT. 2013-05-09 16:59:43 +02:00
Clément Bœsch f0250cc463 lavfi/overlay: simpler up-rounded w/h computations. 2013-05-09 16:59:43 +02:00
Clément Bœsch 570d63eef3 lavu: add FF_CEIL_RSHIFT and use it in various places. 2013-05-09 16:59:42 +02:00
Michael Niedermayer d9cb1e0e15 ffadler: fix duplicate \n on errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-09 16:54:04 +02:00
Paul B Mahol 88e0e2054d lavfi: remove alphaextract special code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-09 14:53:21 +00:00
Michael Niedermayer a11593189b ffadler: add multifile support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-09 16:21:25 +02:00
Michael Niedermayer 3d66ce17b7 tools: Add adler32 checksum tool
This is about 6 times faster than md5sum on linux

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-09 16:21:17 +02:00
Luca Barbato ee9a4dff4a mmf: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-09 16:12:58 +02:00
Paul B Mahol d1cb559a6a fate: add test for lut filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-09 10:37:58 +00:00
Michael Niedermayer 769efe56b1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: dsputil: Remove unused argument from QPEL_OP macro

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-09 11:55:46 +02:00
Michael Niedermayer 696f5f98e2 Merge commit '6e9f8d6a7d7392a236df19fef6f4eba41f18167e'
* commit '6e9f8d6a7d7392a236df19fef6f4eba41f18167e':
  x86: vf_yadif: Remove stray dsputil_mmx #include

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-09 11:51:40 +02:00
Michael Niedermayer bda5487d92 Merge commit '3d40c1ee742db5f13ebcf53c2d1fa4bf4f39bcd2'
* commit '3d40c1ee742db5f13ebcf53c2d1fa4bf4f39bcd2':
  x86: dsputil: Move TRANSPOSE4 macro to the only place it is used

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-09 11:43:00 +02:00
Michael Niedermayer 164899c6e8 Merge commit '71469f3b636fbe06b6aca5933f9fdebddd8d5f57'
* commit '71469f3b636fbe06b6aca5933f9fdebddd8d5f57':
  x86: dsputil: Move constant declarations into separate header

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-09 11:36:29 +02:00
Michael Niedermayer 5747d835c7 Merge commit 'ed880050edf061b38d3e39e25657c59ad9108b27'
* commit 'ed880050edf061b38d3e39e25657c59ad9108b27':
  x86: dsputil: Group all assembly constants together in constants.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-09 11:23:40 +02:00
Michael Niedermayer 3469c24a10 Merge commit '87614667606b42476f9017d79faf12b45a0bd77c'
* commit '87614667606b42476f9017d79faf12b45a0bd77c':
  x86: dsputil: Move ff_pd assembly constants to the only place they are used

Conflicts:
	libavcodec/x86/lpc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-09 11:01:14 +02:00
Michael Niedermayer e4723a82f7 avfilter: fix 2 warnings about discarding const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 23:55:06 +02:00
Michael Niedermayer 33ff943f70 ffmpeg: add -apad option which injects a apad filter only in the presence of video streams
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 23:55:06 +02:00
Michael Niedermayer 410905f7fd ffmpeg: use av_freep() for forced_kf_pts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 23:55:06 +02:00
Michael Niedermayer 1e1015f330 avfilter/af_apad: Support AVFILTER_FLAG_SUPPORT_TIMELINE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 23:55:06 +02:00
Michael Niedermayer df9f9caba5 avfilter: Make enabled/disabled state available as a field of the AVFilterContext
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 23:55:06 +02:00
Paul B Mahol c4a5499d25 lavfi/extractplanes: packed rgb support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-08 19:28:30 +00:00
Paul B Mahol 8245520b88 lavfi/colorchannelmixer: remove now redudant code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-08 19:24:23 +00:00
Paul B Mahol deef4b1ac9 lavfi/drawutils: add 16 bit rgb and planar rgb to ff_fill_rgba_map()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-08 19:24:23 +00:00
Diego Biurrun f243bf7aa2 x86: dsputil: Remove unused argument from QPEL_OP macro 2013-05-08 18:18:58 +02:00
Diego Biurrun 6e9f8d6a7d x86: vf_yadif: Remove stray dsputil_mmx #include 2013-05-08 18:18:23 +02:00
Diego Biurrun 3d40c1ee74 x86: dsputil: Move TRANSPOSE4 macro to the only place it is used 2013-05-08 18:18:23 +02:00
Diego Biurrun 71469f3b63 x86: dsputil: Move constant declarations into separate header 2013-05-08 18:18:23 +02:00
Paul B Mahol 8e2972274e lavfi/null: remove redudant lines
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-08 12:48:05 +00:00
Paul B Mahol 443181c0a9 libswscale: simplify isAnyRGB macro
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-08 12:48:05 +00:00
Paul B Mahol 94ff68ccb3 lavfi/lut: add support for YUVA422P and YUVA444P
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-08 12:48:05 +00:00
Paul B Mahol 1f2baec7bd lavfi: add gbrap support to some filters
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-08 12:48:05 +00:00
Paul B Mahol 5c057433cc libswscale: GBRAP input & output and GBRAP16 input support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-08 12:48:05 +00:00
Michael Niedermayer 8d9537228f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  msvc: Move linker pragma from config.h to libavutil/internal.h

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 14:32:43 +02:00
Michael Niedermayer 63208c034b Merge commit 'bd392785a75d7d51414a9788d50396a8d9f29d77'
* commit 'bd392785a75d7d51414a9788d50396a8d9f29d77':
  fate-run: Drop unnecessary regtest() indirection

Conflicts:
	tests/fate-run.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 14:21:39 +02:00
Michael Niedermayer e3869dd17e Merge commit '1b343cedd7cd68e7865aa5280d1568c7e5d79917'
* commit '1b343cedd7cd68e7865aa5280d1568c7e5d79917':
  x86: dsputil: Remove unused ff_pb_3F constant
  x86: dsputil: Remove unused MOVQ_BONE macro

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 14:13:48 +02:00
Michael Niedermayer 69d2eff5af Merge commit '63bac48f734fc69cca2ef2cfada92cd9a222734d'
* commit '63bac48f734fc69cca2ef2cfada92cd9a222734d':
  x86: dsputil: Move rv40-specific functions where they belong

Conflicts:
	libavcodec/x86/dsputil_mmx.c
	libavcodec/x86/dsputil_mmx.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 14:08:00 +02:00
Michael Niedermayer 2f9ef60c97 Merge commit '92f8e06ecb431a427ea13d794e5a6bc927a034d2'
* commit '92f8e06ecb431a427ea13d794e5a6bc927a034d2':
  x86: dsputil hpeldsp: Move shared template functions into separate object

Conflicts:
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 14:01:58 +02:00
Michael Niedermayer bf18810a21 Merge commit '7edaf4edb5c3c04f34ad1242680cbc32d11f4087'
* commit '7edaf4edb5c3c04f34ad1242680cbc32d11f4087':
  x86: rnd_template: Eliminate pointless OP_AVG macro indirection

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 13:55:31 +02:00
Michael Niedermayer f302ba4dda Merge commit 'db9aee6ccf183508835acc325f5ad87d595eacc4'
* commit 'db9aee6ccf183508835acc325f5ad87d595eacc4':
  oma: properly forward errors in oma_read_packet

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 13:41:45 +02:00
Michael Niedermayer d13bc208da Merge commit '6f98508e2b86dcb79614d8c9b8e97c5e83a21cb0'
* commit '6f98508e2b86dcb79614d8c9b8e97c5e83a21cb0':
  oma: return meaningful errors

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 13:37:26 +02:00
Michael Niedermayer fe6a36e768 Merge commit 'e55e8b2c362a60bad66929d83d8c83b0d7f5ffc9'
* commit 'e55e8b2c362a60bad66929d83d8c83b0d7f5ffc9':
  lavc: do not leak frames in avcodec_decode_audio4

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 13:25:19 +02:00
Michael Niedermayer 9818bbde53 Merge commit 'e0c53c3408181d2e7d544eb65fc7355a79438dfe'
* commit 'e0c53c3408181d2e7d544eb65fc7355a79438dfe':
  nut: use meaningful error values
  FATE: use a less ambiguous end time for filter-trim-time test

Conflicts:
	libavformat/nutdec.c
	tests/fate/filter-video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 12:47:54 +02:00
Michael Niedermayer 1aed0513a1 configure: use shorter variable name for "libavdevice_pc_deps"
This is in line with the new name for the libavfilter variable.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 12:38:01 +02:00
Michael Niedermayer 28397de4df Merge commit '9779f93066ee5ea6fba6b76f001d358cc2857891'
* commit '9779f93066ee5ea6fba6b76f001d358cc2857891':
  configure: add dependencies to lavfi .pc file

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 12:37:15 +02:00
Michael Niedermayer bf0547504b Merge commit 'bce70f8170592599a4f2f5f02606c1246e88df57'
* commit 'bce70f8170592599a4f2f5f02606c1246e88df57':
  configure: make avconv select (a)trim filters

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 12:17:46 +02:00
Michael Niedermayer 42f5fc716e Merge commit '481575d255195c6c2f32e04686b94de984ae78d4'
* commit '481575d255195c6c2f32e04686b94de984ae78d4':
  avconv: remove -deinterlace

Conflicts:
	Changelog
	doc/ffmpeg.texi
	ffmpeg.c
	ffmpeg_opt.c

The merge removes the documentation for the deprecated -deinterlace
the code itself has already been replaced a while ago by code
that inserts yadif, that insertion code is left in place.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 12:07:56 +02:00
Michael Niedermayer e077ba8016 Merge commit 'a97d8cc16e0da30c9ffefa1ede2a0adf3db5f3f8'
* commit 'a97d8cc16e0da30c9ffefa1ede2a0adf3db5f3f8':
  indeo3: use unaligned reads on reference blocks.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 11:54:29 +02:00
Michael Niedermayer 1bad40ef27 Merge commit '70f9661542a581dfe93b636b1c55b5558e4a4e3c'
* commit '70f9661542a581dfe93b636b1c55b5558e4a4e3c':
  jpeg2000dec: initialize static data just once

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 11:46:41 +02:00
Michael Niedermayer aecb3421f6 Merge commit '45a1694fde251ee56e23aec073d73172c00aa470'
* commit '45a1694fde251ee56e23aec073d73172c00aa470':
  jpeg2000dec: cleanup properly after decoding errors

Conflicts:
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 11:41:54 +02:00
Christophe Gisquet fc37cd4333 x86: sbrdsp: force PIC addressing for Win64
MSVC complains about the 32bits addressing, while mingw/gcc does not.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 03:07:03 +02:00
Stefano Sabatini ae0ce99ca4 lavfi/unsharp: use verbal form in help message options 2013-05-08 01:39:12 +02:00
Stefano Sabatini ee9794ed20 lavu/mem: fix potential int overflow and crash in av_dynarray_add()
Also extend documentation accordingly.
2013-05-08 01:39:12 +02:00
Stefano Sabatini c773adee3f lavu/mem: extend documentation for av_dynarray_add()
In particular, mention the fact that the amortized element addition cost
is constant.
2013-05-08 01:39:12 +02:00
Michael Niedermayer c67bca2b5a avcodec/mpegvideo: Fix edge emu with lowres
Fixes a few green artifacts at the top
Fixes rest of Ticket 2535

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 01:18:56 +02:00
Michael Niedermayer bca50e5cd5 avcodec/mpegvideo: Fix block height for lowres 3 interlaced blocks
Fixes green trash
Fixes part of Ticket2535

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 01:17:45 +02:00
Diego Biurrun ed880050ed x86: dsputil: Group all assembly constants together in constants.c 2013-05-08 01:04:04 +02:00
Diego Biurrun 8761466760 x86: dsputil: Move ff_pd assembly constants to the only place they are used 2013-05-08 01:04:04 +02:00
Martin Storsjö 06122c2533 msvc: Move linker pragma from config.h to libavutil/internal.h
This makes linking succeed for tools that include config.h but
don't link to libavutil.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-08 01:28:25 +03:00
Michael Niedermayer bc0cbaca62 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavfi: add comments to explain the negotiation loop.
  lavfi: fix filter format negotiation loop.
  ffmpeg: move a local variable definition later.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 23:52:39 +02:00
Michael Niedermayer a527e69259 avformat/vqf: check number of channels before use.
Fixes division by zero

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 22:26:56 +02:00
Michael Niedermayer 9dd04f6d8c sanm: Check dimensions before use
Fixes integer overflow and out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 21:59:05 +02:00
Michael Niedermayer ad002e1a13 avcodec/cdgraphics: check buffer size before use
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 21:06:48 +02:00
Michael Niedermayer ead590c256 dxa: check vectors of 2x2 motion blocks
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 20:33:46 +02:00
Michael Niedermayer f96e0eb238 dxa: check vectors of 4x4 motion blocks
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 20:20:14 +02:00
Michael Niedermayer 89d998f1c1 shorten: allocate space for padding
Fixes array overread

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 20:05:53 +02:00
Diego Biurrun bd392785a7 fate-run: Drop unnecessary regtest() indirection
The indirection was used to abstract from the different -regression.sh
scripts. Now that only one remains, this indirection is pointless.
2013-05-07 19:27:47 +02:00
Nicolas George 4582e4c086 lavfi: add comments to explain the negotiation loop. 2013-05-07 18:40:51 +02:00
Nicolas George 78d16b6a51 lavfi: fix filter format negotiation loop.
query_formats() returning EAGAIN is not considered a progress
in the format negotiation.

If the filter returns EAGAIN but did set some of its formats
lists, it could be considered a partial success and counted
as progress in the negotiation. Not counting it is not a
problem because it currently only happens in the first round,
where there will always be some progress on the other filters.
2013-05-07 18:40:51 +02:00
Nicolas George 449704b475 ffmpeg: move a local variable definition later.
Fix a segfault when using the -map option without input files.
2013-05-07 18:39:45 +02:00
Diego Biurrun 1b343cedd7 x86: dsputil: Remove unused ff_pb_3F constant 2013-05-07 18:03:35 +02:00
Diego Biurrun 63bac48f73 x86: dsputil: Move rv40-specific functions where they belong 2013-05-07 18:03:35 +02:00
Diego Biurrun 3334cbec0a x86: dsputil: Remove unused MOVQ_BONE macro 2013-05-07 18:03:35 +02:00
Diego Biurrun 92f8e06ecb x86: dsputil hpeldsp: Move shared template functions into separate object 2013-05-07 18:03:34 +02:00
Diego Biurrun 7edaf4edb5 x86: rnd_template: Eliminate pointless OP_AVG macro indirection 2013-05-07 18:03:34 +02:00
Michael Niedermayer d23b8462b5 gifdec: reset previous Graphic Control Extension disposal type
This fixes out of array accesses.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 17:03:34 +02:00
Clément Bœsch d3f7b98f87 lavfi/overlay: reindent fix. 2013-05-07 15:43:28 +02:00
Clément Bœsch 5043d8d213 lavfi/alphaextract: copy width and not linesize.
Padding data is not supposed to be copied.
2013-05-07 15:33:49 +02:00
Clément Bœsch c3dcd3a255 sws: factorize rgb 9+ planar funcs declarations. 2013-05-07 15:23:27 +02:00
Luca Barbato db9aee6ccf oma: properly forward errors in oma_read_packet
Prevent spurios EIO on EOF.

CC:libav-stable@libav.org
2013-05-07 14:37:32 +02:00
Luca Barbato 6f98508e2b oma: return meaningful errors 2013-05-07 14:37:32 +02:00
Luca Barbato e55e8b2c36 lavc: do not leak frames in avcodec_decode_audio4
Notwithstanding the return value the frame should be freed if
is not going to be used.

Reported-by: Matthew Wolenetz <wolenetz@chromium.org>
2013-05-07 14:37:32 +02:00
Luca Barbato e0c53c3408 nut: use meaningful error values
Fix the mispresented EINVAL for EOF on partial files, among the other.
2013-05-07 14:37:32 +02:00
Michael Niedermayer 144baf427a Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Support decoding of Lagarith frame type FRAME_SOLID_COLOR.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 14:21:49 +02:00
Gunther Piez acc4a7e5b3 Ticket #2540 Enable threading when using -c:v libx264rgb
Signed-off-by: Gunther Piez <gupiez@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 13:38:15 +02:00
Michael Niedermayer 2efbbc4644 avutil/av_pix_fmt_swap_endianness: simplify and fix code
This makes the code also more robust, not having a hard-coded
table that can become (and was) incomplete.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 13:13:09 +02:00
Anton Khirnov cd4bfe3a50 FATE: use a less ambiguous end time for filter-trim-time test
0.1 seconds at 25 fps is exactly 2.5 frames, which may be rounded either
to 2 or 3 on different platforms.
2013-05-07 12:33:13 +02:00
Anton Khirnov 9779f93066 configure: add dependencies to lavfi .pc file
The scale filter depends on sws, resample on lavr, and movie on lavf and
lavc.

Fixes Bug 502.
2013-05-07 12:32:14 +02:00
Anton Khirnov bce70f8170 configure: make avconv select (a)trim filters
They are now used for -ss/-t
2013-05-07 12:32:03 +02:00
Anton Khirnov 481575d255 avconv: remove -deinterlace
It is incompatible with refcounted frames and since it's been deprecated
for a long time now, fixing it is not worth the effort.
2013-05-07 12:31:55 +02:00
Anton Khirnov a97d8cc16e indeo3: use unaligned reads on reference blocks.
They are not guaranteed to be aligned.
Fixes Bug 503.

CC:libav-stable@libav.org
2013-05-07 12:29:56 +02:00
Carl Eugen Hoyos f381dc1d61 Support decoding of Lagarith frame type FRAME_SOLID_COLOR.
Fixes bug 459.
2013-05-07 11:46:35 +02:00
Michael Niedermayer 9276467bce Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate-jpeg2000-dcinema: force output to xyz12le

Conflicts:
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 11:35:07 +02:00
Michael Niedermayer fe5b089596 Merge commit '5f87c277bd5caa09cc4f9061d4ccdd58dc121110'
* commit '5f87c277bd5caa09cc4f9061d4ccdd58dc121110':
  vf_scale: add endianness conversion pixel format in query_formats

Conflicts:
	libavfilter/vf_scale.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 11:27:44 +02:00
Michael Niedermayer dce12f6948 Merge commit '9cfa21c8c2b81146aab574f55c93f27e5c2d435c'
* commit '9cfa21c8c2b81146aab574f55c93f27e5c2d435c':
  swscale: support endianness conversion for AV_PIX_FMT_XYZ12

Conflicts:
	libswscale/swscale_unscaled.c
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 11:13:46 +02:00
Michael Niedermayer 2060d94409 Merge commit 'c1eb3e7fecdc270e03a700d61ef941600a6af491'
* commit 'c1eb3e7fecdc270e03a700d61ef941600a6af491':
  swscale: add support for endianness only conversion

Conflicts:
	libswscale/utils.c
	libswscale/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 11:04:07 +02:00
Michael Niedermayer 60fd88059a Merge commit '74652af821d7e526a6541876a637fbf81261fa8e'
* commit '74652af821d7e526a6541876a637fbf81261fa8e':
  pixdesc: add function to return pixel format with swapped endiannes

Conflicts:
	libavutil/pixdesc.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 10:49:40 +02:00
Reimar Döffinger 399f6ef971 Add FATE test for matroska error recovery.
This is the first 2 MB of the official test7.mkv.
That length seems to be enough to detect the bugs
we had in our code so far.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-05-07 05:30:19 +02:00
Reimar Döffinger 762d4335ae matroska: set "done" only during resync fail.
Fixes playback of test7.mkv validation test file.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-05-07 05:30:19 +02:00
Matt Wolenetz 004779cc59 avcodec/utils: Fix leak by dereferencing audio frame when side data causes whole frame skip
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 01:33:08 +02:00
Michael Niedermayer 974420a701 jpeg2000dec: fix memleaks in error cases in jpeg2000_decode_frame()
Reviewed-by: Nicolas BERTRAND <nicoinattendu@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 22:56:22 +02:00
Clément Bœsch a82cc54fb5 lavf/mpsub: remove sscanf from probing.
This should make probing faster.
2013-05-06 22:50:59 +02:00
Janne Grunau 70f9661542 jpeg2000dec: initialize static data just once 2013-05-06 22:45:47 +02:00
Janne Grunau 45a1694fde jpeg2000dec: cleanup properly after decoding errors
Fixes memory leak in fate-redcode-demux.
2013-05-06 22:27:33 +02:00
Carl Eugen Hoyos 905e1e4b52 Cosmetics: Fix indentation and add braces after last commit. 2013-05-06 21:55:14 +02:00
Carl Eugen Hoyos 8b8fa09b65 vc1dec: Call ff_vdpau_vc1_decode_picture() once for each field.
Fixes mplayer -vc ffvc1vdpau for interlaced streams.
2013-05-06 21:55:14 +02:00
Rainer Hochecker 06d8fdb660 Fix vdpau vc1 interlace modes also when using decoder vc1_vdpau.
Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-05-06 21:55:14 +02:00
Janne Grunau 851465f9d9 fate-jpeg2000-dcinema: force output to xyz12le
Fixes Fate tests on big-endian configs.
2013-05-06 21:48:15 +02:00
Janne Grunau 5f87c277bd vf_scale: add endianness conversion pixel format in query_formats 2013-05-06 21:48:15 +02:00
Janne Grunau 9cfa21c8c2 swscale: support endianness conversion for AV_PIX_FMT_XYZ12 2013-05-06 21:48:14 +02:00
Michael Niedermayer b3e9fd1fe5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  swscale: Use alpha from the right row in yuva2rgba_c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 21:48:03 +02:00
Michael Niedermayer 050b48f397 Merge commit '6c5eac9a603a91a707d030d96ba97e2ef6b3ce50'
* commit '6c5eac9a603a91a707d030d96ba97e2ef6b3ce50':
  swscale: Remove unnecessary backslashes
  jpeg2000: Fix uninitialized data errors pointed out by valgrind/memcheck

Conflicts:
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 21:23:29 +02:00
Nicolas Bertrand a06f0cef5b jpeg2000: fix for uninitialized data errors in valgrind/memcheck
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 21:14:19 +02:00
Michael Niedermayer 108e2ae829 Merge commit '110796739ab32854dc0b6b0a1c95e6ae98889062'
* commit '110796739ab32854dc0b6b0a1c95e6ae98889062':
  x86: hpeldsp: Move avg_pixels8_x2_mmx() out of hpeldsp_rnd_template.c

Conflicts:
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 21:00:40 +02:00
Michael Niedermayer a6e782434a Merge commit 'dc1b328d0df6e5ad5ff0ca4ae031e08466624f9c'
* commit 'dc1b328d0df6e5ad5ff0ca4ae031e08466624f9c':
  x86: hpeldsp: Only compile MMX hpeldsp code if MMX is enabled

Conflicts:
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 20:53:37 +02:00
Michael Niedermayer 32cc7dacde Merge commit '9e5e76ef9ea803432ef2782a3f528c3f5bab621e'
* commit '9e5e76ef9ea803432ef2782a3f528c3f5bab621e':
  x86: More specific ifdefs for dsputil/hpeldsp init functions

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 20:46:27 +02:00
Janne Grunau c1eb3e7fec swscale: add support for endianness only conversion
Use bitfields in FormatEntry array to avoid wasting an int for each flag.
2013-05-06 18:55:58 +02:00
Janne Grunau 74652af821 pixdesc: add function to return pixel format with swapped endiannes 2013-05-06 18:51:47 +02:00
Michael Niedermayer 8cdf95d9b8 snow: add av_cold where appropriate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 16:58:17 +02:00
Michael Niedermayer f4341c64be avfilter: add av_cold to uninit()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 16:55:06 +02:00
Martin Storsjö 6e293d111f swscale: Use alpha from the right row in yuva2rgba_c
Every other pixel had the alpha channel taken from the wrong
row.

This fixes bug 504.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-06 17:40:25 +03:00
Martin Storsjö 6c5eac9a60 swscale: Remove unnecessary backslashes
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-06 17:40:19 +03:00
Michael Niedermayer d2bf8aecd3 j2kdec: frame multithreading support
This allows comparing the 2 decoders with threads

Based on:commit 2e2d24667a
By: Nicolas Bertrand <nicoinattendu@gmail.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 16:38:03 +02:00
highgod0401 b02f073ad4 lavfi/deshake_opencl: use ff_opencl_set_parameter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 16:30:22 +02:00
Nicolas Bertrand 28816f9db8 jpeg2000: Fix uninitialized data errors pointed out by valgrind/memcheck
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-06 13:07:00 +02:00
Michael Niedermayer 0b5f4fdc38 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Remove a superfluous include from libavcodec/options_table.h.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 12:43:08 +02:00
Carl Eugen Hoyos 76f43cbe26 Remove a superfluous include from libavcodec/options_table.h. 2013-05-06 12:16:50 +02:00
highgod0401 e215cb5e96 lavfi/unsharp_opencl: use av_opencl_errstr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 12:08:22 +02:00
highgod0401 41aa199998 lavu/opencl_internal: use av_opencl_errstr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 12:08:04 +02:00
highgod0401 9a09a9fc43 lavfi/unsharp: fix opencl crash on 64bit linux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 11:45:40 +02:00
Diego Biurrun 110796739a x86: hpeldsp: Move avg_pixels8_x2_mmx() out of hpeldsp_rnd_template.c
The function is only instantiated once, so there is no point
in keeping it in a template file.
2013-05-06 11:02:08 +02:00
Diego Biurrun dc1b328d0d x86: hpeldsp: Only compile MMX hpeldsp code if MMX is enabled 2013-05-06 11:02:08 +02:00
Diego Biurrun 9e5e76ef9e x86: More specific ifdefs for dsputil/hpeldsp init functions 2013-05-06 11:02:07 +02:00
Michael Niedermayer 09602dbe7a wav_seek_tag: fix integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 10:58:31 +02:00
Michael Niedermayer 5cb9093aa8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wav: Always seek to an even offset

Conflicts:
	libavformat/wavdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 10:47:49 +02:00
Michael Niedermayer 77c85cbd9d Merge commit '46c1917350f58dfab84e41919e6c02d43950db8c'
* commit '46c1917350f58dfab84e41919e6c02d43950db8c':
  nut: use a define for the nut version
  bgmc: Do not mark ff_bgmc_decode_init() as av_cold

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 10:41:43 +02:00
Michael Niedermayer b50ab3a4c7 Merge commit 'bd8ac882140a38868c33c000a430a1292a352533'
* commit 'bd8ac882140a38868c33c000a430a1292a352533':
  avcodec: Add av_cold attributes to end functions missing them

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 10:28:27 +02:00
Michael Niedermayer 5c2ccf83df Merge commit '7abd35a1ffaecfd79fa07b801621ee11ab595c43'
* commit '7abd35a1ffaecfd79fa07b801621ee11ab595c43':
  avformat: Add av_cold attributes to init functions missing them

Conflicts:
	libavformat/rtpdec_xiph.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 10:19:56 +02:00
Luca Barbato ac87eaf856 wav: Always seek to an even offset
RIFF chunks are aligned to 16bit according to the specification.

Bug-Id:500
CC:libav-stable@libav.org
2013-05-06 09:14:43 +02:00
Luca Barbato 46c1917350 nut: use a define for the nut version
Ease switching version in the future and make evident why that value.
2013-05-06 09:14:43 +02:00
Paul B Mahol f5846dc98c id3v2: stop ignoring text encoding for chapter titles
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-06 00:54:13 +00:00
Michael Niedermayer 5a9e376049 h264: check mb_width/height
Fixes inconsistency that leads to out of array accesses with threads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 01:58:10 +02:00
Michael Niedermayer edabbfbaf2 ff_h264_decode_seq_parameter_set: dont set h->sps
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 00:37:47 +02:00
Michael Niedermayer 26482ae716 h264_sei/decode_picture_timing: do not depend on h->sps being set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 00:35:25 +02:00
Michael Niedermayer ccdaa31d86 ff_h264_decode_picture_parameter_set: fix return code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 00:01:47 +02:00
Michael Niedermayer dc35b77b28 ff_h264_decode_picture_parameter_set: use the correct sps
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 00:01:05 +02:00
Diego Biurrun 2d5fd7886a bgmc: Do not mark ff_bgmc_decode_init() as av_cold
The function is possibly called once per block.
2013-05-05 20:51:52 +02:00
Diego Biurrun bd8ac88214 avcodec: Add av_cold attributes to end functions missing them 2013-05-05 20:51:28 +02:00
Carl Eugen Hoyos 7c23922c2b Cosmetics: Reindent Sierra vmd demuxer after last commit. 2013-05-05 19:56:46 +02:00
Carl Eugen Hoyos 4ec509ce3d Support demuxing of audio-only vmd files.
Reviewed-by: Paul B Mahol
2013-05-05 19:52:30 +02:00
Carl Eugen Hoyos a07ac1f788 Fix type of shared flac table ff_flac_blocksize_table[].
Fixes ticket #2533.
2013-05-05 19:29:00 +02:00
Diego Biurrun 7abd35a1ff avformat: Add av_cold attributes to init functions missing them 2013-05-05 18:33:04 +02:00
Michael Niedermayer 2d8dddd926 Merge branch 'vdpau' of https://github.com/FernetMenta/FFmpeg
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 16:28:18 +02:00
Michael Niedermayer fb90e7b86d configure: Use the tool specified with --valgrind instead of a hardcoded "valgrind"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 16:22:44 +02:00
Michael Niedermayer 54021aea57 configure: set valgrind-memcheck toolchain when --valgrind is specified
This avoids duplicating the default command line arguments

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 16:21:57 +02:00
Rainer Hochecker fe1f36547d register AV_PIX_FMT_VDPAU for hwaccel 2013-05-05 16:15:41 +02:00
Rainer Hochecker b37cc5995b fix vdpau vc1 interlace modes 2013-05-05 15:12:59 +02:00
Michael Niedermayer cdfa1c89b7 avcodec: Set frame.width/height on all exit pathes of ff_get_buffer()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 14:23:16 +02:00
highgod0401 548101b553 lavu/opencl: add opencl public error API
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 13:44:29 +02:00
Michael Niedermayer 097f668047 avformat: replace "AVPROBE_SCORE_MAX / X" by AVPROBE_SCORE_EXTENSION / Y
Demuxers where the changed code looked less readable where skiped

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 13:34:56 +02:00
Michael Niedermayer a1f234be11 make the ordering of the return type and av_cold consistent
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 13:13:00 +02:00
Michael Niedermayer 35623d833e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Check for getenv

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 13:05:45 +02:00
Michael Niedermayer d5dbd84c9a Merge commit '2b677ffca54a5fbef9c8860841c32f28ecd68f70'
* commit '2b677ffca54a5fbef9c8860841c32f28ecd68f70':
  swscale: Add av_cold attributes to init functions missing them

Conflicts:
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 13:00:21 +02:00
Michael Niedermayer 3c200aa693 Merge commit '1fda184a85178cfd7b98d9e308d18e1ded76a511'
* commit '1fda184a85178cfd7b98d9e308d18e1ded76a511':
  avutil: Add av_cold attributes to init functions missing them

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 12:53:50 +02:00
Michael Niedermayer e7f8493fd8 Merge commit '20c86571ccc71412781d4a4813e4693e0c42aec6'
* commit '20c86571ccc71412781d4a4813e4693e0c42aec6':
  lavfi: let gcc realign the stack on public graph driving functions

Conflicts:
	libavfilter/buffersink.c
	libavfilter/buffersrc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 12:48:25 +02:00
Michael Niedermayer fdccb84e3b Merge commit 'c0c2b96c136ec2cbfd808eefc26de399f447d62f'
* commit 'c0c2b96c136ec2cbfd808eefc26de399f447d62f':
  sctp: Add a note on why sctp_recvmsg and sctp_sendmsg have ff_-prefixes
  avs: Increase magic value score above file extension score

Conflicts:
	libavformat/avs.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 12:41:36 +02:00
Michael Niedermayer f083b4c338 Merge commit 'e0f8be6413b6a8d334d6052e610af32935c310af'
* commit 'e0f8be6413b6a8d334d6052e610af32935c310af':
  avformat: Add AVPROBE_SCORE_EXTENSION define and use where appropriate

Conflicts:
	libavformat/ac3dec.c
	libavformat/avformat.h
	libavformat/avs.c
	libavformat/m4vdec.c
	libavformat/mov.c
	libavformat/mp3dec.c
	libavformat/mpeg.c
	libavformat/mpegvideodec.c
	libavformat/psxstr.c
	libavformat/pva.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 12:31:03 +02:00
Michael Niedermayer 77570facdb Merge commit '4d7ed3e73541983459a7913c2034eba69ebc113d'
* commit '4d7ed3e73541983459a7913c2034eba69ebc113d':
  build: output-example: Add avutil to ELIBS in link command

Conflicts:
	libavformat/Makefile

No change as our example build code doesnt have this bug

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 12:00:24 +02:00
Michael Niedermayer b507c00dc0 Merge commit 'e445647b4fdf481b13b2743b303d84de4f43bedd'
* commit 'e445647b4fdf481b13b2743b303d84de4f43bedd':
  avresample: Add av_cold attributes to init functions missing them

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 11:50:37 +02:00
Michael Niedermayer a8ff830b79 Merge commit '093804a93cc5da3f95f98265a5df116912443cec'
* commit '093804a93cc5da3f95f98265a5df116912443cec':
  avfilter: Add av_cold attributes to init/uninit functions

Conflicts:
	libavfilter/af_ashowinfo.c
	libavfilter/af_volume.c
	libavfilter/src_movie.c
	libavfilter/vf_lut.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 11:42:18 +02:00
Michael Niedermayer 0aa095483d Merge commit '6fee1b90ce3bf4fbdfde7016e0890057c9000487'
* commit '6fee1b90ce3bf4fbdfde7016e0890057c9000487':
  avcodec: Add av_cold attributes to init functions missing them

Conflicts:
	libavcodec/aacpsy.c
	libavcodec/atrac3.c
	libavcodec/dvdsubdec.c
	libavcodec/ffv1.c
	libavcodec/ffv1enc.c
	libavcodec/h261enc.c
	libavcodec/h264_parser.c
	libavcodec/h264dsp.c
	libavcodec/h264pred.c
	libavcodec/libschroedingerenc.c
	libavcodec/libxvid_rc.c
	libavcodec/mpeg12.c
	libavcodec/mpeg12enc.c
	libavcodec/proresdsp.c
	libavcodec/rangecoder.c
	libavcodec/videodsp.c
	libavcodec/x86/proresdsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 11:34:29 +02:00
Michael Niedermayer 057c5d2e16 Merge commit '72e228b274a98af1aba9588415d0cd87fde44663'
* commit '72e228b274a98af1aba9588415d0cd87fde44663':
  nut: K&R formatting cosmetics

Conflicts:
	libavformat/nut.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 11:19:12 +02:00
Michael Niedermayer 86c9cf643b configure: fix valgrind-memcheck arguments
They now match the --valgrind arguments

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 10:52:39 +02:00
Michael Niedermayer 4451be5ce1 Merge commit 'b1ee8eec849f17fce2f411a297de9cbf2edaeb3a'
* commit 'b1ee8eec849f17fce2f411a297de9cbf2edaeb3a':
  configure: Add basic valgrind-memcheck support

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 10:47:19 +02:00
Michael Niedermayer 336ffb8377 Merge commit '95e8ac60f8b7317ce23c648250fdc8fb68d65a07'
* commit '95e8ac60f8b7317ce23c648250fdc8fb68d65a07':
  build: normalize coverage.info

Conflicts:
	tests/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 10:36:23 +02:00
Michael Niedermayer fbede75a25 Merge commit '768e44d044bc32de1e58c198a3708d186af7e966'
* commit '768e44d044bc32de1e58c198a3708d186af7e966':
  build: tune down the output of lcov/gcov

Conflicts:
	tests/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 10:18:41 +02:00
Reimar Döffinger d82729e5d9 Detect and skip mj2-style jp2c header.
This this fixes one of the issues with
http://blogs.bu.edu/mhirsch/files/2012/08/Rotate180CCW-checkerboard.mj2_.zip
and at least allows to demux the file properly instead
of failing during probing.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-05-05 10:01:22 +02:00
Reimar Döffinger 3bb1c58e95 Avoid incorrect deprecated pixel format warning.
Should only be printed if a "JPEG" format was used,
not for e.g. XYZ.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-05-05 10:01:22 +02:00
Claudio Freire 1ef82cc60d AAC encoder: Fix rate control on twoloop.
Fixes a case where multichannel bitrate isn't accurately
targetted by psy model alone, never achieving the target bitrate.
Now fixed.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 04:19:34 +02:00
Claudio Freire c545876d1b AAC encoder: Fixed a rounding bug in psy's channel bitrate computation.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 01:24:57 +02:00
Michael Niedermayer adaa7743f5 src_movie: fix scanf string
Fixes out of array accesses

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 00:56:39 +02:00
Michael Niedermayer 369a120826 xbmdec: fix off by one error in scanf()
Fixes out of array access

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 00:27:18 +02:00
Martin Storsjö 2cca96e670 configure: Check for getenv
When targeting the "windows store application" (metro) API subset
(or the windows phone API subset), the getenv function isn't
available. If it is unavailable, just define getenv to NULL.

The check uses check_func_headers, since the function actually
might exist in the libraries, but is hidden in the headers.

The fallback is in config.h since msvc can't do -D defines with
parameters on the command line, and it's used both within the
libraries and the frontend applications (so a libavutil internal
header wouldn't be enough).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-04 23:58:59 +03:00
Diego Biurrun 2b677ffca5 swscale: Add av_cold attributes to init functions missing them 2013-05-04 22:48:05 +02:00
Diego Biurrun 1fda184a85 avutil: Add av_cold attributes to init functions missing them 2013-05-04 22:48:05 +02:00
Hendrik Leppkes 20c86571cc lavfi: let gcc realign the stack on public graph driving functions
The functions which actually drive the filter graph by pushing
frames through it need to ensure an aligned stack for SIMD functions.

This fixes a crash in YADIF filter when using a mingw build in a MSVC
application.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-04 23:40:13 +03:00
Diego Biurrun c0c2b96c13 sctp: Add a note on why sctp_recvmsg and sctp_sendmsg have ff_-prefixes 2013-05-04 22:22:17 +02:00
Diego Biurrun a8a45dfe25 avs: Increase magic value score above file extension score
This should fix misdetection of AVS files as AviSynth scripts
when AviSynth support is enabled (Bugzilla #357).
2013-05-04 21:51:00 +02:00
Diego Biurrun e0f8be6413 avformat: Add AVPROBE_SCORE_EXTENSION define and use where appropriate 2013-05-04 21:43:06 +02:00
Diego Biurrun 4d7ed3e735 build: output-example: Add avutil to ELIBS in link command
output-example links against swscale, which depends on avutil.  In standard
configurations, by pure good luck, the libs before swscale pull in all of
swscale's dependencies and linking succeeds.  However, in some configurations
like --disable-asm this is not the case and linking fails.

Hardcode the dependency to avoid a more general Makefile refactoring.
2013-05-04 21:19:49 +02:00
Diego Biurrun e445647b4f avresample: Add av_cold attributes to init functions missing them 2013-05-04 21:10:05 +02:00
Diego Biurrun 093804a93c avfilter: Add av_cold attributes to init/uninit functions 2013-05-04 21:10:05 +02:00
Diego Biurrun 6fee1b90ce avcodec: Add av_cold attributes to init functions missing them 2013-05-04 21:09:45 +02:00
Michael Niedermayer c40f51e15b h264: Always decode MMCOs into temprary array
When decoding succeeded the array is copied into the permanent one.
This prevents inconsistencies
Fixes assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 20:23:05 +02:00
Luca Barbato 72e228b274 nut: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-04 20:01:08 +02:00
Michael Niedermayer 30db867cb7 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavf/matroskaenc: return an error for unsupported types.
  lavf/concatdec: remove invalid check for AVSEEK_FLAG_BACKWARD.
  lavf: filter out AVSEEK_FLAG_BACKWARD in new API.
  lavf: call the new seek API from the old.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 17:10:48 +02:00
Michael Niedermayer c7a7605656 wmaprodec: Fix null pointer dereference in decode_frame()
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 16:51:01 +02:00
Michael Niedermayer e9e207ece7 dfa: Put our pointer check back.
The reimplementation by Libav does not prevent out of array
writes, even though it looks like it does at a quick glance.

No FFmpeg releases are affected by this

See: d1c95d2ce3
     3623589edc
     740ebe468c

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 14:42:19 +02:00
Nicolas George fa245e432b lavf/matroskaenc: return an error for unsupported types. 2013-05-04 14:12:57 +02:00
Nicolas George d608a27d9e lavf/concatdec: remove invalid check for AVSEEK_FLAG_BACKWARD. 2013-05-04 14:11:53 +02:00
Nicolas George 3fc66dfef2 lavf: filter out AVSEEK_FLAG_BACKWARD in new API.
Also document that it has no effect.
2013-05-04 14:11:53 +02:00
Nicolas George cc24afb45c lavf: call the new seek API from the old.
If the demuxer implements read_seek2() and not read_seek(),
call avformat_seek_file() from av_seek_frame().
Allow to properly seek in formats that only implement the
new API from applications that use the old one.
Tested with mplayer and a concat script.
2013-05-04 14:11:53 +02:00
Hendrik Leppkes d18341fb11 aacdec: free frame buffer if no audio was decoded
If no decoding error was detected, but still no audio was decoded, the
frame needs to be free'ed, or it will leak.

Fixes part of ticket #2095

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 13:20:19 +02:00
Reinhard Tartler b1ee8eec84 configure: Add basic valgrind-memcheck support
With the parameter --valgrind-memcheck, the configure script sets
reasonable defaults that can be overridden as explained in the
documentation.

The idea of using set_defaults is from Luca Barbato.
2013-05-04 12:17:51 +02:00
Michael Niedermayer 23a7c32a7a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wav: return meaningful errors

Conflicts:
	libavformat/wavdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 10:33:50 +02:00
Michael Niedermayer 0104570fb6 Merge commit 'a5f8873620ce502d37d0cc3ef93ada2ea8fb8de7'
* commit 'a5f8873620ce502d37d0cc3ef93ada2ea8fb8de7':
  silly typo fixes

Conflicts:
	doc/protocols.texi
	libavcodec/aacpsy.c
	libavformat/utils.c
	tools/patcheck

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 10:17:52 +02:00
Michael Niedermayer 711c8ee71d Merge commit '4a7af92cc80ced8498626401ed21f25ffe6740c8'
* commit '4a7af92cc80ced8498626401ed21f25ffe6740c8':
  sbrdsp: Unroll and use integer operations
  sbrdsp: Unroll sbr_autocorrelate_c
  x86: sbrdsp: Implement SSE2 qmf_deint_bfly

Conflicts:
	libavcodec/sbrdsp.c
	libavcodec/x86/sbrdsp.asm
	libavcodec/x86/sbrdsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 10:07:43 +02:00
Reinhard Tartler 95e8ac60f8 build: normalize coverage.info
Without this, lcov sometimes misses to normalize paths that contain "/./".
Also, ignore uninteresting hits in system headers.
2013-05-04 09:34:58 +02:00
Reinhard Tartler 768e44d044 build: tune down the output of lcov/gcov
In the default settings, both tools produce a lot of unhelpful noise.
2013-05-04 09:34:58 +02:00
Michael Niedermayer f18d2dff11 evrcdec: fix sign error
The specification wants round(abs(x))) * sign(x) which is
equivakent to round(x)

Fixes out of array access

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 02:50:30 +02:00
Michael Niedermayer 64819bfc7a snow: Fix off by 1 error in reference picture management
Fixes out of array accesses
No release is affected by this bug

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 01:19:48 +02:00
Michael Niedermayer e756635964 eamad: Check against minimum supported dimensions
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 23:17:37 +02:00
Paul B Mahol b937d3694e doc/filters: document asetpts in single place
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-03 18:22:29 +00:00
Luca Barbato 69467fb64b wav: return meaningful errors 2013-05-03 19:56:06 +02:00
Paul B Mahol e6d4e68755 lavu: add planar 16 bit and 8 bit rgb with alpha
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-03 16:58:22 +00:00
Stefano Sabatini f51aa92b0f lavfi/testsrc: add support for color interactive command 2013-05-03 18:37:54 +02:00
Paul B Mahol ce322f4c19 extractplanes filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-03 16:30:39 +00:00
Diego Biurrun a5f8873620 silly typo fixes 2013-05-03 18:26:12 +02:00
Christophe Gisquet 4a7af92cc8 sbrdsp: Unroll and use integer operations
This patch can be controversial, by assuming floats are IEEE-754 and
particular behaviour of the FPU will get in the way.
Timing on Arrandale and Win32 (thus, x87 FPU is used in the reference).

sbr_qmf_pre_shuffle_c: 115 to 76
sbr_neg_odd_64_c: 84 to 55
sbr_qmf_post_shuffle_c: 112 to 83

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-03 18:23:30 +02:00
Christophe Gisquet 8394d9a676 sbrdsp: Unroll sbr_autocorrelate_c
1410 cycles to 1148 on Arrandale/Win64

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-03 18:23:30 +02:00
Christophe Gisquet 5a97469a4f x86: sbrdsp: Implement SSE2 qmf_deint_bfly
Sandybridge: 47 cycles

Having a loop counter is a 7 cycle gain.
Unrolling is another 7 cycle gain.
Working in reverse scan is another 6 cycles.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-03 18:23:14 +02:00
Michael Niedermayer d29f9f4a0e vc1dec: fix lutuv use in vc1_mc_4mv_chroma4()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 18:09:15 +02:00
Michael Niedermayer 7e30bfcb91 vc1dec: Fix mixed field/frame intensity compensation
Fixes Ticket2523

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 18:04:48 +02:00
Michael Niedermayer 90c2e40ebb vc1dec: vc1_mc_4mv_chroma4: match addressing between compensation and MC
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 18:04:48 +02:00
Clément Bœsch e85ea7d387 lavfi/frei0r: fix crash when parameters are not set. 2013-05-03 17:08:33 +02:00
Michael Niedermayer 760f7d3a90 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  compat: msvc: Make sure the object files are included when linking statically
  id3v2: check for end of file while unescaping tags

Conflicts:
	configure
	libavformat/id3v2.c

Note, ffmpeg is not affected by the out of buffer write bug

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 15:50:01 +02:00
Michael Niedermayer 0966623604 ffmpeg: drop old non monotone dts workaround.
All bugs should now be fixed in the new so the old can be droped.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 15:04:47 +02:00
Michael Niedermayer af2d964336 ffmpeg: set correct log context for non monotone dts workaround warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 15:03:35 +02:00
Michael Niedermayer b2a1d92b7b ffmpeg: port loglevel selection code to new dts workaround code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 15:02:43 +02:00
Michael Niedermayer 30c05f6b02 ffmpeg: fix pts handling in the non monotone dts workaround
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 15:00:21 +02:00
Michael Niedermayer 007ee09d7c ffmpeg: fix the used maximum dts in the monotone dts workaround
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 14:58:28 +02:00
Michael Niedermayer 26b89f6274 ffmpeg: use a max variable to hold the maximum dts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 14:57:05 +02:00
Michael Niedermayer 6b2fbdb047 ffmpeg: Check dts before use in non monotone dts workaround
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 14:55:20 +02:00
Michael Niedermayer ee3824f6f6 ffmpeg: limit non monotone workaround to audio & video streams
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 14:55:12 +02:00
Michael Niedermayer 9fe2a62cc4 ffmpeg: move non monotone prevention code down
This moves the code to after the bitstream filters

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 14:52:37 +02:00
Michael Niedermayer 2b7f595aca Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: do not send non-monotonous DTS to the muxers.

Conflicts:
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 14:52:03 +02:00
Michael Niedermayer 22dc25cb29 Merge commit 'b4a5a292274f904f404f40f826c51e6fc9cfb8fe'
* commit 'b4a5a292274f904f404f40f826c51e6fc9cfb8fe':
  avconv: improve -re implementation

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 13:53:08 +02:00
Michael Niedermayer 6537827189 Merge commit 'e3b225a4fe0ff1e64a220b757c6f0a5cf9258521'
* commit 'e3b225a4fe0ff1e64a220b757c6f0a5cf9258521':
  matroskaenc: add an option to put the index at the start of the file

Conflicts:
	doc/muxers.texi
	libavformat/matroskaenc.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 13:16:34 +02:00
Michael Niedermayer 2e0cc34292 Merge commit '0574bc06d23a6690a16c5926dddc9be359a3d7bb'
* commit '0574bc06d23a6690a16c5926dddc9be359a3d7bb':
  matroskaenc: cosmetics, reorder the #includes

Conflicts:
	libavformat/matroskaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 13:09:23 +02:00
Michael Niedermayer 9fd5e75bdf Merge commit 'accde1bd8756936e1757b42fc9bad2eb5d192f8a'
* commit 'accde1bd8756936e1757b42fc9bad2eb5d192f8a':
  vc1_parser: Set field_order.
  mpegvideo_parser: Set field_order.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 13:03:00 +02:00
Martin Storsjö 769d921f3e compat: msvc: Make sure the object files are included when linking statically
If building libav with -MD in the cflags (for making the MSVC compiler
generate code for using a dynamically linked libc), the system headers
that declare strtod, snprintf and vsnprintf declare the functions as
imported from a DLL. To hook up wrappers of our own for these functions,
the function names are defined to avpriv_*, so that the calling code
within libav calls the wrappers instead. Since these functions
are declared to be imported from DLLs, the calling code expects to
load them from DLL import function pointers (creating references to
_imp__avpriv_strtod instead of directly to avpriv_strtod). If the
libav libraries are not built as DLLs, no such function pointers (as
the calling code expects) are created.

The linker can fix this up automatically in some cases (producing
warnings LNK4217 and LNK4049), if the object files are already
included. By telling the linker to try to include those symbols
(without the _imp prefix as the calling code ends up using),
we get the object files included, so that the linker can do the
automatic fixup. This is done via config.h, so that all (or at least
most) of the object files in our libraries force including the compat
files, to make sure they are included regardless of what files from our
static libraries actually are included.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-03 13:34:34 +03:00
Michael Niedermayer 6fc58a8cb6 Merge commit '507b1e454cf9953da3e18f33c9bd1fca78c97cb5'
* commit '507b1e454cf9953da3e18f33c9bd1fca78c97cb5':
  avcodec: Add field order information to AVCodecParserContext.

Conflicts:
	doc/APIchanges
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 12:15:01 +02:00
Michael Niedermayer e91339cde2 Merge commit '566b7a20fd0cab44d344329538d314454a0bcc2f'
* commit '566b7a20fd0cab44d344329538d314454a0bcc2f':
  x86: float dsp: butterflies_float SSE

Conflicts:
	libavutil/x86/float_dsp.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 11:57:59 +02:00
Michael Niedermayer 550defe16e Merge commit 'b333f3a22a4db4cf65d6a0457ac82ecbe7c7ac44'
* commit 'b333f3a22a4db4cf65d6a0457ac82ecbe7c7ac44':
  lavf-regression: use -frames instead of -t for image tests

Conflicts:
	tests/lavf-regression.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 11:41:48 +02:00
Michael Niedermayer 2ee29b5fb9 avcodec: move lowres down with the next ABI bump and add accessors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 11:32:04 +02:00
Michael Niedermayer 88ef7f6d2b Merge commit '803d21f38bdafe7c4e2571a9ae7052013a12923b'
* commit '803d21f38bdafe7c4e2571a9ae7052013a12923b':
  lavc: schedule AVCodecContext.lowres for removal on next bump.

Conflicts:
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 11:30:00 +02:00
Michael Niedermayer 6190aae90d Merge commit 'ffb068ce8e99df121d18a5b9b1d820f3ea8697fb'
* commit 'ffb068ce8e99df121d18a5b9b1d820f3ea8697fb':
  configure: Don't do enable_deep_weak on disabled variables

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 11:17:02 +02:00
Michael Niedermayer 085a4e6b16 Merge commit '4d810ad2e943a59658ddf00a397121c2b62f7157'
* commit '4d810ad2e943a59658ddf00a397121c2b62f7157':
  configure: Use a different variable name in push/popvar

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 11:11:44 +02:00
Michael Niedermayer 482c1ac849 Merge commit '13f57a4d881ec669b87bf82f424bfff502433060'
* commit '13f57a4d881ec669b87bf82f424bfff502433060':
  wav: K&R formatting cosmetics

Conflicts:
	libavformat/wavdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 11:06:27 +02:00
Michael Niedermayer 1ba4cbf734 Merge commit '6b753015ca6f93d16a05e1a97da1fa42e4da60ec'
* commit '6b753015ca6f93d16a05e1a97da1fa42e4da60ec':
  aac: Remove aacpsy.h header, unused since 78e65cd772
  cavs: Remove cavsdata.h header, unused since 88386feefd

Conflicts:
	libavcodec/aacpsy.h
	libavcodec/cavsdata.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 10:55:43 +02:00
Michael Niedermayer 05599308e9 Merge commit 'bf7c3c6b157f7938578f964b62cffd5e504940be'
* commit 'bf7c3c6b157f7938578f964b62cffd5e504940be':
  x86: dsputil: Move cavs and vc1-specific functions where they belong

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 10:50:27 +02:00
Michael Niedermayer 35ef98013d Merge commit '932806232108872655556100011fe369125805d3'
* commit '932806232108872655556100011fe369125805d3':
  x86: dsputil: Move avg_pixels16_mmx() out of rnd_template.c
  x86: dsputil: Move avg_pixels8_mmx() out of rnd_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 10:44:09 +02:00
Michael Niedermayer ed1697ffcb Merge commit '9b3a04d30691e85b77e63f75f5f26a93c3a000cd'
* commit '9b3a04d30691e85b77e63f75f5f26a93c3a000cd':
  x86: Move duplicated put_pixels{8|16}_mmx functions into their own file

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 10:36:52 +02:00
Luca Barbato af4cc2605c id3v2: check for end of file while unescaping tags
Prevent a serious out of buffer bound write.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-05-03 10:21:27 +02:00
Anton Khirnov 76d23f4031 avconv: do not send non-monotonous DTS to the muxers.
Hack partially based on a commit by Michael Niedermayer <michaelni@gmx.at>
Should fix (or work around) bug 458.
2013-05-03 09:59:48 +02:00
Anton Khirnov b4a5a29227 avconv: improve -re implementation
Integrate the code in the packet reading function, instead of inserting
sleeps in many places.
This is simpler to follow and should work better.
2013-05-03 09:57:13 +02:00
Anton Khirnov e3b225a4fe matroskaenc: add an option to put the index at the start of the file 2013-05-03 08:32:35 +02:00
Anton Khirnov 0574bc06d2 matroskaenc: cosmetics, reorder the #includes 2013-05-03 08:26:55 +02:00
Masaki Tanaka accde1bd87 vc1_parser: Set field_order.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-03 08:20:19 +02:00
Masaki Tanaka f43c14d046 mpegvideo_parser: Set field_order.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-03 08:20:11 +02:00
Masaki Tanaka 507b1e454c avcodec: Add field order information to AVCodecParserContext.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-03 08:16:10 +02:00
Christophe Gisquet 566b7a20fd x86: float dsp: butterflies_float SSE
97c -> 49c
Some codecs could benefit from more unrolling, but AAC doesn't.
2013-05-03 08:08:02 +02:00
Anton Khirnov b333f3a22a lavf-regression: use -frames instead of -t for image tests
-t 0.5 is 12.5 frames at 25 fps, which may round to either 12 or 13 on
different platforms.
2013-05-03 08:07:45 +02:00
Anton Khirnov 803d21f38b lavc: schedule AVCodecContext.lowres for removal on next bump.
It has been deprecated some time ago, but was forgotten during the last
bump.
2013-05-03 08:07:35 +02:00
highgod0401 f685aee18f lavu/opencl: fix the compile bug on linux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 04:15:29 +02:00
Michael Niedermayer 2e2b6d7ab3 fate: Adjust filter-trim-time parameters
This should workaround rounding differences between platforms

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 00:26:35 +02:00
Michael Niedermayer ae2132ac90 mmvideo/mm_decode_intra: check horizontal coordinate too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 22:12:19 +02:00
Michael Niedermayer 8d3c99e825 mmvideo/mm_decode_inter: check horizontal coordinate too
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 22:05:19 +02:00
Martin Storsjö ffb068ce8e configure: Don't do enable_deep_weak on disabled variables
This avoids cases where configure tries to weakly enable an item
which actually is disabled, ending up still enabling dependencies
of the item which itself is only enabled weakly.

More concretely, the h264 decoder suggests error resilience, which
is then enabled weakly (unless manually disabled). Previously,
dsputil, which is a dependency of error resilience, was enabled
even if error resilience wasn't enabled in the end.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-02 22:31:57 +03:00
Martin Storsjö 4d810ad2e9 configure: Use a different variable name in push/popvar
The variable name 'var' is commonly used to iterate through arguments
in other functions. When the pushvar function internally uses the
variable 'var', it makes pushing/popping the variable 'var' not
work as intended.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-02 22:31:55 +03:00
Luca Barbato 13f57a4d88 wav: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-02 19:04:22 +02:00
Michael Niedermayer fd68371b07 nutdec: Implement duration parsing for indexed nuts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 18:57:29 +02:00
Diego Biurrun 6b753015ca aac: Remove aacpsy.h header, unused since 78e65cd772 2013-05-02 18:16:06 +02:00
Diego Biurrun 153f31b1af cavs: Remove cavsdata.h header, unused since 88386feefd 2013-05-02 18:15:37 +02:00
Michael Niedermayer 60ab448042 ape_decode_value_3860: check k before using it in get_bits()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 17:24:02 +02:00
Michael Niedermayer 8937230719 ape_decode_value_3900: check tmpk
Fixes division by 0

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 16:45:32 +02:00
Michael Niedermayer 49ec4c7e49 ffmpeg: fix segfault with random output
Found-by: <durandal_1707>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 16:01:28 +02:00
highgod0401 6354a6ce52 lavu/opencl: fix bug of opencl options
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 14:42:02 +02:00
Paul B Mahol a64c9afe3d lavfi/blend: merge config_input_top into config_output
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-02 12:22:18 +00:00
Paul B Mahol 990b13806d lavfi/blend: use correct way to check number of planes
This fix crash with gray, as its marked as pseudopal,
and thus have extra plane.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-02 12:22:18 +00:00
Michael Niedermayer 89b5039ff2 avutil/mem: add av_memdup()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 13:44:05 +02:00
Paul B Mahol 663794f63d vmdav: unbreak decoding of samples from game The Last Dynasty
This fixes video output with samples HG060808.VMD and
HG060810.VMD. Regression since c0cbe36b18.

While here show warning if decoding is aborted for some reason.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-02 11:37:59 +00:00
Paul B Mahol cdada4f639 vmdav: return meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-02 11:34:14 +00:00
Michael Niedermayer 4d4ec18b21 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Add wmv2 dependency to vc1 compilation.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 13:02:09 +02:00
Michael Niedermayer 0beff42823 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  id3v2: K&R formatting cosmetics
  ppc: Only compile AltiVec FFT assembly when AltiVec is enabled

Conflicts:
	libavformat/id3v2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 12:49:23 +02:00
Diego Biurrun bf7c3c6b15 x86: dsputil: Move cavs and vc1-specific functions where they belong 2013-05-02 11:45:37 +02:00
Diego Biurrun 9328062321 x86: dsputil: Move avg_pixels16_mmx() out of rnd_template.c
The function does not do any rounding, so there is no point in
keeping it in a round template file.
2013-05-02 11:45:37 +02:00
Diego Biurrun 9c112a6158 x86: dsputil: Move avg_pixels8_mmx() out of rnd_template.c
The function is only instantiated once, so there is no point
in keeping it in a template file.
2013-05-02 11:45:37 +02:00
Diego Biurrun 9b3a04d306 x86: Move duplicated put_pixels{8|16}_mmx functions into their own file 2013-05-02 11:16:45 +02:00
Carl Eugen Hoyos d0a661d48a Add wmv2 dependency to vc1 compilation.
Fixes compilation with --disable-everything --enable-decoder=vc1.
2013-05-02 11:04:57 +02:00
Luca Barbato 0671adbb18 id3v2: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-02 11:02:45 +02:00
Diego Biurrun a650c906cb ppc: Only compile AltiVec FFT assembly when AltiVec is enabled 2013-05-02 10:25:30 +02:00
Michael Niedermayer 6021615bbe avcodec/ansi: Fix right/bottom end checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 02:16:41 +02:00
Michael Niedermayer e91fd754c6 avcodec/ansi: Check x/y
This prevents out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 02:15:40 +02:00
Michael Niedermayer c1f2c4c3b4 vmdav: Try to fix unpack_rle()
This fixes out of array accesses
The code prior to this commit could not have worked, thus obviously
was untested. I was also not able to find a valid sample that uses this
code.
This fix is thus only based on the description of the format

If someone has a sample that uses unpack_rle(), please mail me.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 23:51:05 +02:00
Michael Niedermayer d602f16a37 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavc: copy subtitle_header when copying context.
  lavf: data muxer and demuxer.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 20:16:26 +02:00
Michael Niedermayer 67731ef40f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avutil: doxy: Small clarification for av_buffer_create()
  avcodec: doxy: Clarify how to use buf[] when implementing get_buffer2()
  avcodec: doxy: Clarify what get_buffer2 must fill in buf[]

Conflicts:
	libavutil/buffer.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 18:33:30 +02:00
Michael Niedermayer a5ba4e186b Merge commit 'e926b5ceb1962833f0c884a328382bc2eca67aff'
* commit 'e926b5ceb1962833f0c884a328382bc2eca67aff':
  avformat: Drop unnecessary ff_ name prefixes from static functions

Conflicts:
	libavformat/audiointerleave.c
	libavformat/mux.c
	libavformat/mxfenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 18:28:48 +02:00
Michael Niedermayer dbcf7e9ef7 Merge commit '7f75f2f2bd692857c1c1ca7f414eb30ece3de93d'
* commit '7f75f2f2bd692857c1c1ca7f414eb30ece3de93d':
  ppc: Drop unnecessary ff_ name prefixes from static functions
  x86: Drop unnecessary ff_ name prefixes from static functions
  arm: Drop unnecessary ff_ name prefixes from static functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 18:21:35 +02:00
Michael Niedermayer 04fa818779 Merge commit '088f38a4f9f54bb923405c67c9e72d96d90aa284'
* commit '088f38a4f9f54bb923405c67c9e72d96d90aa284':
  avcodec: Drop unnecessary ff_ name prefixes from static functions

Conflicts:
	libavcodec/ass.c
	libavcodec/h264_parser.c
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 18:16:32 +02:00
Michael Niedermayer cae8f469fe Merge commit '38282149b6ce8f4b8361e3b84542ba9aa8a1f32f'
* commit '38282149b6ce8f4b8361e3b84542ba9aa8a1f32f':
  ppc: More consistent arch initialization

Conflicts:
	libavcodec/fft.h
	libavcodec/mpegaudiodsp.c
	libavcodec/mpegaudiodsp.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 18:08:13 +02:00
Michael Niedermayer ebd99ff112 Merge commit '42b9150b0d4f0a130c1d93dc991fd5412743a8cf'
* commit '42b9150b0d4f0a130c1d93dc991fd5412743a8cf':
  fft: Remove pointless #ifdefs around function declarations
  ppc: Move AltiVec utility headers out of AltiVec ifdefs

Conflicts:
	libavcodec/fft.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 18:02:36 +02:00
Michael Niedermayer 148f69eb4e Merge commit 'f5eecee865a731d2412fde2f73c29f8f8115c499'
* commit 'f5eecee865a731d2412fde2f73c29f8f8115c499':
  ppc: util_altivec: Surround AltiVec-related code by appropriate ifdefs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 17:57:55 +02:00
Michael Niedermayer 3ad5d8694c Merge commit '6b110d3a739c31602b59887ad65c67025df3f49d'
* commit '6b110d3a739c31602b59887ad65c67025df3f49d':
  ppc: More consistent names for H.264 optimizations files
  mpegaudiosp: More consistent names for ppc/x86 optimization files

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 17:53:33 +02:00
Michael Niedermayer 2514b80045 sws: share xyzgamma tables.
They are currently always constant and thus theres no point to
store them in the context.
This makes the context 16kb smaller

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 17:52:18 +02:00
Michael Niedermayer 4818388e6c Merge commit '8cd472d3f947a6233e7dc628f0dc71c74e62413a'
* commit '8cd472d3f947a6233e7dc628f0dc71c74e62413a':
  avconv: make output -ss insert trim/atrim filters.

Conflicts:
	Changelog
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 17:24:43 +02:00
Michael Niedermayer 76c1f9200f Merge commit 'a83c0da539fb07260310bc3b34056239d2b138b2'
* commit 'a83c0da539fb07260310bc3b34056239d2b138b2':
  avconv: make -t insert trim/atrim filters.

The filter insertion code is merged but disabled as it is buggy.
For example it fails in various ways when used with -s with some files.
Also the trimming is arguably less accurate than the default without
filters in some cases.
These issues should be fixed before auto inserting the filters,
until then the user can explicitly add a trim/atrim filter when one is
wanted.

Conflicts:
	Changelog
	ffmpeg.c
	ffmpeg_filter.c
	tests/ref/fate/bethsoft-vid
	tests/ref/lavf/aiff
	tests/ref/lavf/asf
	tests/ref/lavf/au
	tests/ref/lavf/avi
	tests/ref/lavf/dpx
	tests/ref/lavf/ffm
	tests/ref/lavf/gxf
	tests/ref/lavf/jpg
	tests/ref/lavf/mkv
	tests/ref/lavf/mmf
	tests/ref/lavf/mov
	tests/ref/lavf/mpg
	tests/ref/lavf/nut
	tests/ref/lavf/ogg
	tests/ref/lavf/pcx
	tests/ref/lavf/png
	tests/ref/lavf/rm
	tests/ref/lavf/ts
	tests/ref/lavf/voc
	tests/ref/lavf/voc_s16
	tests/ref/lavf/wav

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 14:23:52 +02:00
Michael Niedermayer 1a94d7c7c8 avfilter/trim: improve rounding precission
Note, the design is still flawed, dont expect this to be frame
accurate. float/double first needs to be removed and frames
itself trimmed instead of drop vs nodrop

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 13:55:30 +02:00
Clément Bœsch 24939d567b fate/pixfmts: use the appropriate variable names for temporary files.
${1} is now the filter args and is inappropriate as a unique name for
the test (and causes some FATE issues because of the ':' in them).
${filter} is not used either to replace the ${1} because ${outfile}
already contains a unique name for the test.
2013-05-01 13:25:42 +02:00
Michael Niedermayer 1924a61a0a Merge commit '3d624420086ed3cd0c74f4510f0285968e21c117'
* commit '3d624420086ed3cd0c74f4510f0285968e21c117':
  avconv_opt: allocate an OutputFile before the streams.

Conflicts:
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 12:09:07 +02:00
Nicolas George ceb33f3aee lavc: copy subtitle_header when copying context.
Fix trac ticket #2489.
2013-05-01 11:56:34 +02:00
Nicolas George 276fcbde6c lavf: data muxer and demuxer.
Allow to use tools designed to work with demuxers, muxers
and packets (for example ffmpeg itself) to process raw byte
streams (like aviocat).
2013-05-01 11:56:34 +02:00
Michael Niedermayer 3319679d0a Merge commit 'a1e05b0487a1939334c2920fc7f9936bc9efe876'
* commit 'a1e05b0487a1939334c2920fc7f9936bc9efe876':
  lavfi: add trim and atrim filters.

Conflicts:
	Changelog
	doc/filters.texi
	libavfilter/Makefile
	libavfilter/allfilters.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 11:34:34 +02:00
Michael Niedermayer 1cba7fa364 Merge commit 'b472938233b98178ed6c1353c37e0dc7ab585902'
* commit 'b472938233b98178ed6c1353c37e0dc7ab585902':
  lavfi: add an asetpts filter

Conflicts:
	Changelog
	doc/filters.texi
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavfilter/f_setpts.c
	libavfilter/setpts.c
	libavfilter/version.h
	libavfilter/vf_setpts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 10:59:21 +02:00
Michael Niedermayer 0061ba044a Merge commit '2548834b2248ad4d7da9bd0afed09d7d0cddeeb0'
* commit '2548834b2248ad4d7da9bd0afed09d7d0cddeeb0':
  vf_setpts: cosmetics, reformat

Conflicts:
	libavfilter/f_setpts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 10:24:45 +02:00
Michael Niedermayer e41d3aba01 Merge commit 'c22263d3e813d442df8fa5f5ba8993573fe775d8'
* commit 'c22263d3e813d442df8fa5f5ba8993573fe775d8':
  graphparser: only print filter arguments if they are non-NULL
  af_channelmap: ensure the output channel layout is valid.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 10:16:31 +02:00
Michael Niedermayer a1b8879714 Merge commit '949c603ed9210df0e1b8e1aa82c71b93543d8071'
* commit '949c603ed9210df0e1b8e1aa82c71b93543d8071':
  af_channelmap: remove now unnecessary goto
  vf_split: fix description

Conflicts:
	libavfilter/split.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 10:11:01 +02:00
Michael Niedermayer 52fa2945b5 Merge commit 'e036bb7899d0faca9159206be9bf5552e76e7633'
* commit 'e036bb7899d0faca9159206be9bf5552e76e7633':
  lavc: clear AVBuffers on decoded frames if refcounted_frames is not set
  FATE: add an additional indeo3 test

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 10:00:08 +02:00
Michael Niedermayer d8b6557c86 Merge commit 'bda9e6d923df6d46cc5cafb30a59a01d2514fa61'
* commit 'bda9e6d923df6d46cc5cafb30a59a01d2514fa61':
  indeo3: use put_pixels instead of put_no_rnd_pixels in copy_cell()

Conflicts:
	libavcodec/indeo3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 09:51:37 +02:00
Michael Niedermayer 71091698a2 Merge commit '95220be1faac628d849a004644c0d102df0aa98b'
* commit '95220be1faac628d849a004644c0d102df0aa98b':
  indeo3: fix off by one in MV validity check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 09:45:09 +02:00
Clément Bœsch 14f45bcbe7 doc/filters: fix scale example equivalence.
scale=w=200:h=100 and scale=w=200:h=100 are of course equivalent...
2013-05-01 04:46:14 +02:00
Clément Bœsch e3e66568cc doc/filters: replace hqdn3d with smartblur in timeline section.
hqdn3d needs some adjustements before timeline support can be restored
(patch welcome).
2013-05-01 04:44:27 +02:00
Michael Niedermayer fbaf75b166 h264: Use the correct croping values.
This fixes returning pictures with corrupted data pointers.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 00:06:26 +02:00
Michael Niedermayer 5299ee54a7 h264: assert that croping values at slice level are consistent
These values where checked before already.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-30 23:49:56 +02:00
Michael Niedermayer c3bd306e78 h264_ps: check croping values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-30 23:48:53 +02:00
Michael Niedermayer 7edb984dd0 avutil/log: Fix context pointer used for get_category()
Fixes calling a random pointer

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-30 20:06:24 +02:00
Derek Buitenhuis af8a47905a avutil: doxy: Small clarification for av_buffer_create()
Explicitly saying it can't hurt.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-04-30 13:33:43 -04:00
Derek Buitenhuis 00b8e650e8 avcodec: doxy: Clarify how to use buf[] when implementing get_buffer2()
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-04-30 13:33:43 -04:00
Derek Buitenhuis 4cdb3c50b5 avcodec: doxy: Clarify what get_buffer2 must fill in buf[]
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-04-30 13:32:58 -04:00
Diego Biurrun e926b5ceb1 avformat: Drop unnecessary ff_ name prefixes from static functions 2013-04-30 16:16:23 +02:00
Diego Biurrun 7f75f2f2bd ppc: Drop unnecessary ff_ name prefixes from static functions 2013-04-30 16:10:06 +02:00
Diego Biurrun f2e9d44a57 x86: Drop unnecessary ff_ name prefixes from static functions 2013-04-30 16:02:03 +02:00
Diego Biurrun 383fd4d478 arm: Drop unnecessary ff_ name prefixes from static functions 2013-04-30 16:02:03 +02:00
Diego Biurrun 088f38a4f9 avcodec: Drop unnecessary ff_ name prefixes from static functions 2013-04-30 16:02:02 +02:00
Michael Niedermayer 53efb2fa09 gif: Fix little endian specific code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-30 13:35:14 +02:00
Michael Niedermayer 147a45fca4 framecrcenc: workaround design flaw in sidedata palette
This should be reverted once palettes are dealt with in a endian independant way
in packets

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-30 13:35:14 +02:00
Paul B Mahol a0adeb1f9f fate: add test for separatefields filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-30 10:22:16 +00:00
Diego Biurrun 38282149b6 ppc: More consistent arch initialization 2013-04-30 12:19:45 +02:00
Diego Biurrun 42b9150b0d fft: Remove pointless #ifdefs around function declarations 2013-04-30 12:19:44 +02:00
Diego Biurrun f5eecee865 ppc: util_altivec: Surround AltiVec-related code by appropriate ifdefs
This prevents non-AltiVec-enabled compilers from choking.
2013-04-30 12:19:44 +02:00
Diego Biurrun a053dbfcfb ppc: Move AltiVec utility headers out of AltiVec ifdefs
Now that the headers themselves have ifdef protection this is no
longer necessary and more consistent with normal include handling.
2013-04-30 12:19:44 +02:00
Diego Biurrun 6b110d3a73 ppc: More consistent names for H.264 optimizations files 2013-04-30 12:19:43 +02:00
Diego Biurrun 643e433bf7 mpegaudiosp: More consistent names for ppc/x86 optimization files 2013-04-30 12:19:43 +02:00
Paul B Mahol 468ec1714c fate: add test for swapuv filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-30 10:18:45 +00:00
Paul B Mahol e85f02e3f5 fate: add test for telecine filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-30 10:10:23 +00:00
Anton Khirnov 8cd472d3f9 avconv: make output -ss insert trim/atrim filters.
This makes output -ss sample-accurate for audio and will allow further
simplication in the future.
2013-04-30 12:00:55 +02:00
Anton Khirnov a83c0da539 avconv: make -t insert trim/atrim filters.
This makes -t sample-accurate for audio and will allow further
simplication in the future.

Most of the FATE changes are due to audio now being sample accurate. In
some cases a video frame was incorrectly passed with the old code, while
its was over the limit.
2013-04-30 11:53:12 +02:00
Anton Khirnov 3d62442008 avconv_opt: allocate an OutputFile before the streams.
This way OutputFile variables like recording time can be used when
creating the streams.
2013-04-30 11:48:23 +02:00
Anton Khirnov a1e05b0487 lavfi: add trim and atrim filters. 2013-04-30 11:24:57 +02:00
Anton Khirnov b472938233 lavfi: add an asetpts filter 2013-04-30 11:17:57 +02:00
Anton Khirnov 2548834b22 vf_setpts: cosmetics, reformat 2013-04-30 11:17:23 +02:00
Anton Khirnov c22263d3e8 graphparser: only print filter arguments if they are non-NULL 2013-04-30 11:16:57 +02:00
Anton Khirnov 8aaab1113c af_channelmap: ensure the output channel layout is valid. 2013-04-30 11:16:37 +02:00
Anton Khirnov 949c603ed9 af_channelmap: remove now unnecessary goto
Options are freed from the generic code now, there is no need to call
av_opt_free() from the filter.
2013-04-30 11:16:22 +02:00
Anton Khirnov 1012155722 vf_split: fix description
It now allows an arbitrary number of inputs, not just two.
2013-04-30 11:16:16 +02:00
Anton Khirnov e036bb7899 lavc: clear AVBuffers on decoded frames if refcounted_frames is not set
Otherwise some code might mistakenly think it is allowed to unref those
buffers, which would lead to double unref.
2013-04-30 11:15:32 +02:00
Paul B Mahol 2bdd434931 lavfi/stereo3d: add support for alternating frames input & output format
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-30 09:13:36 +00:00
Anton Khirnov bda9e6d923 indeo3: use put_pixels instead of put_no_rnd_pixels in copy_cell()
They are the same in this case, except put_pixels also has blocksizes
smaller than 8.
2013-04-30 11:06:03 +02:00
Anton Khirnov 95220be1fa indeo3: fix off by one in MV validity check
CC:libav-stable@libav.org
2013-04-30 11:06:03 +02:00
Anton Khirnov 3d10614529 FATE: add an additional indeo3 test
It is a part of the sample that got broken by recent indeo3 changes.
2013-04-30 11:06:03 +02:00
Michael Niedermayer 01a5a3a2e8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: dsputil: Remove a set of pointless #ifs around function declarations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-30 08:42:10 +02:00
Michael Niedermayer a3030d47e7 Merge commit '85f2f82af66fade2f5af2a03c5011d7de1b6e295'
* commit '85f2f82af66fade2f5af2a03c5011d7de1b6e295':
  x86: dsputil: cosmetics: Group ff_{avg|put}_pixels16_mmxext() declarations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-30 08:25:24 +02:00
Clément Bœsch 2609434b45 fate: remove forgotten transpose filter results from old system. 2013-04-30 02:12:47 +02:00
Clément Bœsch 45734dea9e fate: port remaining filters to new system.
Merge of b963f021b6 is now complete.
2013-04-30 02:12:45 +02:00
Clément Bœsch 93aede41ce fate: move kerndeint test to the new system. 2013-04-30 01:47:53 +02:00
Clément Bœsch 1e0a0aafba fate: port our pixfmts change to fate-run.sh.
This patch is the same as 52b23cbf1c.
2013-04-30 01:47:53 +02:00
Clément Bœsch e881057c98 fate: add a rule for pixfmts tests. 2013-04-30 01:47:53 +02:00
Diego Biurrun 97c56ad796 x86: dsputil: Remove a set of pointless #ifs around function declarations 2013-04-30 01:42:32 +02:00
Diego Biurrun 85f2f82af6 x86: dsputil: cosmetics: Group ff_{avg|put}_pixels16_mmxext() declarations 2013-04-30 01:41:05 +02:00
Clément Bœsch a466c2c470 fate: fix filtfmts-test dependency after 9a5924f. 2013-04-30 01:19:24 +02:00
Clément Bœsch d558e46469 lavfi: add two opencl headers to SKIPHEADERS.
Fix make checkheaders.
2013-04-30 00:34:58 +02:00
Clément Bœsch 6b222ea963 fate: add bitexact flags to alphaextract/alphamerge tests.
Should fix a FATE failure.
2013-04-29 22:28:37 +02:00
Clément Bœsch 9a5924f862 fate: add filters dependencies to pixfmts tests. 2013-04-29 22:25:04 +02:00
Clément Bœsch 15d6436a2a fate: move a few simple pixfmts tests to the new system. 2013-04-29 22:25:04 +02:00
Michael Niedermayer 16b2472d20 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: hpeldsp: Remove unused macro definitions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-29 22:01:53 +02:00
Clément Bœsch 3ae44df18f fate: move lavd filters tests to the new system.
Also make life test a bit more useful.
2013-04-29 21:48:49 +02:00
Clément Bœsch 6ea013fb62 fate: remove '#' in filter parameters.
It was considered a comment.
2013-04-29 21:48:48 +02:00
Paul B Mahol c645659988 lavfi/showwaves: fix crash in case of negative linesize
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-29 19:28:12 +00:00
Paul B Mahol 32d4641219 lavfi/showspectrum: fix crash in case of negative linesize
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-29 19:27:15 +00:00
Clément Bœsch 22a86492ec fate: move alphaextract and alphamerge tests to the new system.
The standalone alphaextract tests are removed since already the filters
are already tested by the alphamerge tests.
2013-04-29 21:10:13 +02:00
Michael Niedermayer affd5018ac Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Recognize j2k as file suffix for the image2 muxer.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-29 20:25:23 +02:00
Clément Bœsch 9a0e40ec8c fate: move colormatrix tests to the new system. 2013-04-29 20:20:13 +02:00
Clément Bœsch 80bcbed157 fate: restore our settings for drawtext/fade/unsharp. 2013-04-29 20:00:49 +02:00
Clément Bœsch c703f7bdbd fate: move more tests from lavfi-regression.sh to filter-video.mak. 2013-04-29 20:00:49 +02:00
Diego Biurrun 20784aa678 x86: hpeldsp: Remove unused macro definitions 2013-04-29 15:57:00 +02:00
Carl Eugen Hoyos 00a61ac755 Recognize j2k as file suffix for the image2 muxer. 2013-04-29 13:11:32 +02:00
Michael Niedermayer e92862e75f avfilter/vf_tinterlace: fix handling of not so even sizes
Fixes green bottom line

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-29 12:26:15 +02:00
Michael Niedermayer b691bc424f copy_packet_data: fix memleak
This should fix gif fate memleaks

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-29 03:08:50 +02:00
highgod0401 df9117921a lavu/opencl: add check version and platform
Reviewed-by: Hanspeter Niederstrasser <niederstrasser@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 23:42:58 +02:00
Michael Niedermayer cb23b06e5e sws: fix typo in xyz2rgb matrix use.
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 19:57:45 +02:00
Michael Niedermayer 54429142c5 fate: re-enable jpeg2000 test with rgb48le
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 19:31:52 +02:00
Michael Niedermayer 24ec7a5e04 sws: Check for malloc failure of rgb0_tmp
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 19:31:16 +02:00
Michael Niedermayer 0c47c9028b sws: support xyz input
The implementation is heavily based on Matthias Buerchers and Nicolas Bertrands vf_xyz2rgb.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 19:30:01 +02:00
Michael Niedermayer 45f1cf88a8 sws: remove hack to support partial convert / xyz bswaping
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 19:20:06 +02:00
Michael Niedermayer 42a7938cca fate: temporary disable jpeg2000 test to avoid fate breakage from next commits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 19:19:03 +02:00
Michael Niedermayer b4fc2a10df fate: fix jpeg2000 on big endian
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 15:54:02 +02:00
Michael Niedermayer 2fa08abdb6 sws: enable xyz12, this for now is just for swaping between le and be
Needed for fixing fate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 15:53:20 +02:00
Michael Niedermayer 7f17e0ff6a sws: add 16bit gbrp formats to packed_16bpc_bswap()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 15:35:04 +02:00
Michael Niedermayer f5cca47fde sws: extend packed_16bpc_bswap code to handle planar formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 15:28:00 +02:00
Michael Niedermayer 5149407731 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aac: check the maximum number of channels

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 13:54:56 +02:00
Michael Niedermayer 65af5e815a Merge commit '1b6f84a98665a15130e969fd6b460a05d50090c1'
* commit '1b6f84a98665a15130e969fd6b460a05d50090c1':
  h264_refs: Do not print check_opcodes() return value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 13:40:47 +02:00
Michael Niedermayer 124244ec48 Merge commit 'b963f021b603509b5159873de4919dec441d0782'
* commit 'b963f021b603509b5159873de4919dec441d0782':
  fate: Invoke pixfmts lavfi tests through fate-run.sh

Conflicts:
	tests/fate/avfilter.mak
	tests/lavfi-regression.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 13:34:23 +02:00
Stefano Sabatini 0400176772 lavfi/mp: remove mp=tinterlace wrapper
From various tests, there is no evidence that the filter is faster than
the native tinterlace, and it has several more limitations and a few
bugs.

See thread:
Subject: [FFmpeg-devel] [NOPATCH] lavfi/mp: drop tinterlace wrapper
Date: Wed, 5 Sep 2012 00:26:01 +0200
2013-04-28 13:16:40 +02:00
Stefano Sabatini 75070d9fa0 lavfi/transpose: apply grammar consistency fixes to transpose dir option 2013-04-28 13:16:40 +02:00
Stefano Sabatini dfb3de21d8 doc/filters: apply various general fixes to vidstabdetect docs
Adopt generally used conventions, extend and clarify explanations.
2013-04-28 13:16:40 +02:00
Michael Niedermayer 191430a28f Merge commit '28663511c99b3cdaf9387a15032259879474f5f4'
* commit '28663511c99b3cdaf9387a15032259879474f5f4':
  fate: Invoke pixdesc lavfi tests through fate-run.sh

Conflicts:
	tests/fate/avfilter.mak
	tests/lavfi-regression.sh
	tests/ref/fate/filter-pixdesc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 13:00:04 +02:00
Michael Niedermayer 506ebdac2a Merge commit '03b052c023e1f58d879cb7eeb6421ed39262d39d'
* commit '03b052c023e1f58d879cb7eeb6421ed39262d39d':
  fate: Invoke standard lavfi tests through fate-run.sh

Conflicts:
	tests/fate/avfilter.mak
	tests/lavfi-regression.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 12:34:55 +02:00
Michael Niedermayer 2ac6d6b7cd Merge commit 'c14010541035454b4d3ad08399d70423be4e0c87'
* commit 'c14010541035454b4d3ad08399d70423be4e0c87':
  oma: K&R formatting cosmetics

Conflicts:
	libavformat/omadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 12:18:18 +02:00
Michael Niedermayer 5fd254c4f6 Merge commit '26a44143efb513a602542fb59aee87b1fc62af51'
* commit '26a44143efb513a602542fb59aee87b1fc62af51':
  avplay: remove a warning

Conflicts:
	ffplay.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 12:03:41 +02:00
Michael Niedermayer 54056c1493 Merge commit 'cf679b9476727a237c8006c685ace18acba149ab'
* commit 'cf679b9476727a237c8006c685ace18acba149ab':
  hls, segment: fix splitting for audio-only streams.

Conflicts:
	libavformat/hlsenc.c
	libavformat/segment.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 11:48:40 +02:00
Michael Niedermayer 0fb64da63f avformat: Add black ops audio demuxer
Fixes Ticket2064

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 04:21:29 +02:00
Luca Barbato a943a132f3 aac: check the maximum number of channels
Broken bitstreams could report a larger than specified number of
channels and cause outbound writes.

CC:libav-stable@libav.org
2013-04-28 00:40:33 +02:00
Michael Niedermayer 7f138310fb ffv1enc: favor version 3 over 2 unless -strict -2 is set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-27 22:48:13 +02:00
Stefano Sabatini 1c1a2d1319 lavu/mem: remove redundant comment from av_dynarray_add()
The function is documented in mem.h.
2013-04-27 20:34:10 +02:00
Stefano Sabatini 9f3d873f5f doc/filters: update/extend transpose filter documentation
In particular, deprecate numerical values for the dir option.
2013-04-27 20:34:02 +02:00
Stefano Sabatini 028c73358a lavfi/transpose: reindent constants 2013-04-27 20:33:54 +02:00
Stefano Sabatini d33c77b14a lavfi/transpose: restore validity of values in range 4-7
They were lost in commit a4e0defa75.
2013-04-27 20:33:48 +02:00
Diego Biurrun 1b6f84a986 h264_refs: Do not print check_opcodes() return value
The return value provides no useful information and removing the printing
avoids the following warning:
libavcodec/h264_refs.c:788:15: warning: 'i' may be used uninitialized in this function [-Wuninitialized]
2013-04-27 19:13:45 +02:00
Stefano Sabatini 1e4f75debd doc/filters: readjust w/h option descriptions 2013-04-27 18:47:51 +02:00
Stefano Sabatini efff09418d doc/filters: fix grammar for removelogo filter doc sentence 2013-04-27 18:47:45 +02:00
Diego Biurrun b963f021b6 fate: Invoke pixfmts lavfi tests through fate-run.sh 2013-04-27 16:53:42 +02:00
Diego Biurrun 28663511c9 fate: Invoke pixdesc lavfi tests through fate-run.sh 2013-04-27 16:53:42 +02:00
Diego Biurrun 03b052c023 fate: Invoke standard lavfi tests through fate-run.sh 2013-04-27 16:53:42 +02:00
Michael Niedermayer d4868a960b ffv1dec: remove redundant error message.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-27 16:36:05 +02:00
Michael Niedermayer ff0b4c08ca ffv1dec: add code to support frame threading with gop=1 ffv1
CODEC_CAP_FRAME_THREADS is not added yet because that would
unconditionally enable it, breaking gop>1 files.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-27 16:20:42 +02:00
Michael Niedermayer 1a392fc550 ffv1: Store a flag in the global header that indicates if all frames are keyframes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-27 16:17:29 +02:00
Paul B Mahol cc5c155959 astats filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-27 12:40:34 +00:00
Michael Niedermayer 3fa6c992d9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: ac3dsp: Remove 3dnow version of ff_ac3_extract_exponents

Conflicts:
	tests/fate/ac3.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-27 11:35:03 +02:00
Luca Barbato c140105410 oma: K&R formatting cosmetics 2013-04-27 10:53:24 +02:00
Luca Barbato 26a44143ef avplay: remove a warning
Set the data field in the flush_pkt to the pointer to the actual packet.
The field needs to contain a valid unique pointer, no read nor writes
are ever made to it.
2013-04-27 10:51:28 +02:00
Anton Khirnov cf679b9476 hls, segment: fix splitting for audio-only streams.
CC:libav-stable@libav.org
2013-04-27 10:19:04 +02:00
Paul B Mahol 785eb5fc57 lavfi/negate: unbreak negate alpha
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-26 23:45:24 +00:00
Paul B Mahol 7becddd5f3 doc/filters: remove non-existent ft_load_flags entry
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-26 23:37:37 +00:00
Michael Niedermayer 24bb01f038 avcodec_string: Print the used codec if it differs from the codec_id name.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-27 00:49:14 +02:00
Michael Niedermayer 59a3b6b751 avcodec_string: remove the "(hq)" listing
printing "hq" depending on a single video encoding parameter makes
little sense

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-27 00:49:12 +02:00
Michael Niedermayer a057552212 avutil/log: dont count&print repeats for empty strings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 23:41:29 +02:00
Michael Niedermayer 9a0aa8d02a avcodec/intrax8: fix regression with wmv3
This also decreases dependancies between intrax8 and the outside

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 23:04:15 +02:00
Clément Bœsch 039c2b7828 lavfi/hqdn3d: remove timeline flag.
The filter stores some temporal data, which needs to be done with the
passthrough callback system when timeline is enabled. Until then,
timeline support is disabled.
2013-04-26 21:27:02 +02:00
Diego Biurrun 7c00e9d8ae x86: ac3dsp: Remove 3dnow version of ff_ac3_extract_exponents
The function requires increasing the fuzz factor for the ac3/eac3 encode
tests and even so makes fate fail. It only provides a slight encoding
speedup for legacy CPUs that do not support SS2. Thus its benefit is not
worth the trouble it creates and fixing it would be a waste of time.
2013-04-26 21:06:52 +02:00
Michael Niedermayer 74b1c32a80 avutil/log: leave prefix printing state on empty input.
Fixes printing the prefix after an empty string was printed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 20:31:25 +02:00
Michael Niedermayer d78329700d vc1dec: make sure next_use_ic is set correctly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 15:50:32 +02:00
Michael Niedermayer ee4c01bef6 vc1dec: factor lut clean code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 15:39:32 +02:00
Michael Niedermayer ba323d67fa avformat/write_packet: drop disabled code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 14:57:56 +02:00
Michael Niedermayer eba33396f0 avformat/mux: set avoid_negative_ts based on flags if not overridden by user or muxer
This changes the default to avoid negative timestamps.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 14:51:47 +02:00
Michael Niedermayer e5891a2337 avformat/movenc: mov/mp4 should support negative timestamps through edit lists
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 14:51:47 +02:00
Michael Niedermayer 647f306b46 avformat/mux: assert that timestamps are positive after offsetting them
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 14:51:47 +02:00
Michael Niedermayer c329195a27 avformat/mux: use a local variable for offset
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 14:51:47 +02:00
Michael Niedermayer 060f14f493 avformat/mux: change avoid_negative_ts code to support later addition of AVStreams
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 14:51:47 +02:00
Paul B Mahol 30579b7ef0 dcaenc: silence address sanitizer warning
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-26 11:41:00 +00:00
Paul B Mahol 6a8d05061f lavfi/stereo3d: avoid division when changing aspect ratio
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-26 10:13:50 +00:00
Paul B Mahol 42d61fd968 lavfi/afade: fix AVOptions descriptions
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-26 10:04:16 +00:00
Paul B Mahol e0a636fadf doc/filters: fix afade 2nd example
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-26 09:39:10 +00:00
Paul B Mahol 09250e3445 lavfi/curves: add support for more rgb formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-26 09:37:28 +00:00
Paul B Mahol 1a530f9ed8 lavfi: support timeline for colorbalance and colorchannelmixer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-26 09:37:28 +00:00
Michael Niedermayer 721ffc691a Merge remote-tracking branch 'qatar/master'
* commit '74685f6783e77f2545d48bd2124945ad5be39982':
  x86: Rename dsputil_rnd_template.c to rnd_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 11:10:57 +02:00
Michael Niedermayer c4bf740225 Merge commit 'c2cb01d418dd18e1cf997c038d37378d773121be'
* commit 'c2cb01d418dd18e1cf997c038d37378d773121be':
  lavf: introduce AVFMT_TS_NEGATIVE

Conflicts:
	libavformat/avformat.h
	libavformat/mux.c
	tests/ref/lavf/asf
	tests/ref/lavf/mkv
	tests/ref/lavf/mpg
	tests/ref/lavf/ts
	tests/ref/seek/lavf-asf
	tests/ref/seek/lavf-mkv
	tests/ref/seek/lavf-mpg
	tests/ref/seek/lavf-ts

This commit does not change the default ts behaviour, such
change will, if its done, be done separately.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 10:59:45 +02:00
Michael Niedermayer 05f4c05061 vc1dec: remove interlaced warning
While not yet bugfree, the warning is IMHO no longer appropriate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 03:44:05 +02:00
highgod0401 cd134963e8 lavfi/unsharp: add opencl unsharp filter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 03:05:26 +02:00
highgod0401 f31247cf47 lavu/opencl:add opencl set param function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 03:04:42 +02:00
Michael Niedermayer 667159e718 fate: re-enable fate-acodec-dca2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-25 23:23:12 +02:00
Michael Niedermayer 688fc4ac56 vc1dec: Try to fix vc1_mc_4mv_chroma4() parameters
This fixes several chroma artifacts in several videos

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-25 22:39:19 +02:00
Michael Niedermayer 9b49d3974e vc1dec: add avg & variable direction support to vc1_mc_4mv_chroma4()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-25 22:39:19 +02:00
Michael Niedermayer dd6e291e40 vc1dsp: add avg_no_rnd_vc1_chroma_mc4_c()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-25 22:39:19 +02:00
Michael Niedermayer 5183365aeb vc1dec: fix doxy for vc1_mc_4mv_chroma4()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-25 22:39:19 +02:00
Paul B Mahol 2c5700c5e2 vima: add @file doxy
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-25 20:17:05 +00:00
Paul B Mahol da22760364 vima: generate predict_table once, and share it with all decoders
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-25 20:15:33 +00:00
Paul B Mahol 77570a390d lavc/cdxl: add @file doxy
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-25 20:06:13 +00:00
Martin Storsjö 74685f6783 x86: Rename dsputil_rnd_template.c to rnd_template.c
This makes it less confusing when this template is shared both by
dsputil and by hpeldsp.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-25 23:03:09 +03:00
Paul B Mahol 084709f6a5 fate: update dca test and disable dca2 test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-25 18:39:30 +00:00
Paul B Mahol 89b5ed5f15 lavfi/noise: remove get_video_buffer, its redundant now
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-25 17:05:42 +00:00
Paul B Mahol e86ed98f43 lavfi/noise: add missing emms_c()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-25 17:01:40 +00:00
Paul B Mahol 00acfdd926 lavfi/telecine: show time base change too
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-25 16:52:29 +00:00
Paul B Mahol e1ba5fc968 dcaenc: update
Long story short: previous code was useless and was port of older
dcaenc, this commit just "sync" with current dcaenc, hopefuly
making this encoder more useful.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-25 14:21:00 +00:00
Michael Niedermayer 8f0db04b08 avcodec/pthread: use THREAD_SAFE_CALLBACKS() to simplifx more code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-25 16:01:42 +02:00
Michael Niedermayer 94b3a666fa avcodec/pthread: Make sure ff_thread_finish_setup() conditions match
Prevents warning from being shown due to multiple calls.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-25 15:55:01 +02:00
Michael Niedermayer 32a6dfeb12 vc1dec: drop mv_f_last, simplify code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-25 13:51:44 +02:00
Stefano Sabatini 16cecf9c3d doc/filters: put vidstab filters documentation in a sensible order 2013-04-25 11:26:33 +02:00
Stefano Sabatini cb23de1904 doc/filters: remove "q" constant docs for noise mode
It was removed in 62447248f3.
2013-04-25 11:19:53 +02:00
Stefano Sabatini f40cf96ec0 doc: remove all-components.texi, include its content verbatim
Force re-generation of the manuals when an included file is modified.
The current dependency generation system is enable to track nested
inclusions.

The drawback is that the files will be generated even when there is no
strict need (for example if filters.texi is modified, ffmpeg.1 is
rebuilt), thus it trades a false negative with a false positive.
2013-04-25 11:19:53 +02:00
Luca Barbato c2cb01d418 lavf: introduce AVFMT_TS_NEGATIVE
Most formats do not support negative timestamps, shift them to avoid
unexpected behaviour and a number of bad crashes.

CC:libav-stable@libav.org

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-04-25 10:13:27 +02:00
Michael Niedermayer 575399c7e1 Merge commit 'fc18cc44ebfae07da153dc782572e7ce2f6fe47d'
* commit 'fc18cc44ebfae07da153dc782572e7ce2f6fe47d':
  fate: add CVFC1_Sony_C to h264 conformance tests
  doc/APIchanges: add missing hashes and dates

Conflicts:
	doc/APIchanges
	tests/fate/h264.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-25 09:54:11 +02:00
Paul B Mahol aa96439fae lavc: remove unused put_bits.h headers
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-24 23:17:09 +00:00
Clément Bœsch 035a3792c2 lavfi/subtitles: zero-init AVSubtitle.
This avoids invalid free when the stream id doesn't match the packet
stream index.

Ticket #2501
2013-04-25 00:56:38 +02:00
Michael Niedermayer d382170c5d Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavc: check decoded subtitles encoding.
  lavu: fix GET_UTF8 macro.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 23:56:48 +02:00
Michael Niedermayer 12e3c1bee4 vc1dec: drop old use_ic code from vc1_b_mc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 21:56:34 +02:00
Michael Niedermayer 100184ccff vc1: use use_ic instead of shuffling mv_mode around
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 21:08:17 +02:00
Michael Niedermayer 84c0ec92ae vc1dec: Implement intensity compensation for vc1_interp_mc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 21:08:17 +02:00
Michael Niedermayer 782ebd6118 vc1dec: redesign the intensity compensation
The existing implementation had little to do with VC1.
This could be implemented by adjusting the reference frames
ithemselfs but that would make frame multi-threading difficult.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 21:07:26 +02:00
Clément Bœsch 73050df240 lavfi: add timeline support in {de,remove}logo.
Both don't change anything in the context between frames.
2013-04-24 20:13:01 +02:00
Nicolas George 70feca926b lavc: check decoded subtitles encoding.
Address trac ticket #2431.
2013-04-24 19:41:27 +02:00
Nicolas George 29ebb7ba8d lavu: fix GET_UTF8 macro.
Prevent 0xFE and 0xFF from being considered the start of
non-standard 7-bytes sequences. No noticeable effect on speed.
2013-04-24 19:41:27 +02:00
Clément Bœsch 1f6aa7de3e lavfi: add vidstabutils.h to SKIPHEADERS.
Fix checkheaders when vid.stab is not available.
2013-04-24 19:38:06 +02:00
Clément Bœsch c7d2a3abf0 lavfi/vidstabdetect: fix direct path.
The frame must be writable if the show option is set, otherwise pass the
frame unchanged.
2013-04-24 18:30:43 +02:00
Clément Bœsch c82f6e58da lavfi/vidstab: remove mention of defaults for consistency with other filters. 2013-04-24 18:30:43 +02:00
Clément Bœsch 111ac10b60 lavfi/vidstab: make use of direct variable. 2013-04-24 18:30:42 +02:00
Clément Bœsch 9273cc8eb5 lavfi/vidstab: add missing flags for 2 options. 2013-04-24 18:30:42 +02:00
Clément Bœsch c857c21a8c doc/filters: reword vidstab options intro. 2013-04-24 18:30:42 +02:00
Clément Bœsch cdc48775aa lavfi/vidstab: consistent descriptions. 2013-04-24 18:30:42 +02:00
Clément Bœsch 017051266b lavfi/vidstab: miscelenaous cosmetics and typo fixes. 2013-04-24 18:30:42 +02:00
Georg Martius 4364e1f150 lavfi: add video stabilization plugins using vid.stab library
vidstabdetect and vidstabtransform common functions for interfacing
vid.stab are in libavfilter/vidstabutils.c

Signed-off-by: Georg Martius <martius@mis.mpg.de>
2013-04-24 18:30:42 +02:00
Stefano Sabatini 6f1716c4b6 doc/filters: amend documentation for the hue filter
Make clear that the options accept an expression.
2013-04-24 17:47:10 +02:00
Stefano Sabatini 18144950d4 doc/filters: introduce example in vflip filter 2013-04-24 17:47:03 +02:00
Stefano Sabatini 892af3eb47 doc/filters: split luma/chroma descriptions for unsharp option
Honour declaration order in filter implementation, for shorthand
consistency.
2013-04-24 17:46:56 +02:00
Vittorio Giovara fc18cc44eb fate: add CVFC1_Sony_C to h264 conformance tests
The sample is already included in the FATE suite, but is not tested
because cropping wasn't fully supported before.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-04-24 17:44:11 +02:00
Nicolas Bertrand 69c02b520b MAINTAINERS: add jpeg2000 maintainer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 16:42:47 +02:00
Michael Niedermayer c560437e95 vc1: make INIT_LUT() self contained
factorize variable declarations

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 15:33:11 +02:00
Michael Niedermayer c5669f3c59 vc1dec: fix current ptr selection in vc1_mc_4mv_chroma()
No sample tried shows a difference

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 15:05:25 +02:00
Michael Niedermayer 236b0c4084 vc1dec: factorize picture pointer selection in vc1_mc_4mv_chroma()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 14:59:49 +02:00
Michael Niedermayer 72e5d91908 vc1dec: factorize picture pointer selection code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 14:50:41 +02:00
Michael Niedermayer 3fdd0979ac vc1dec: Fix mv_f shuffling
Avoid a (confusing) memcpy()
Simpler code
Fixes a small number of artifacts in black_screen_VC-1.mkv
and several more artifacts in other videos

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 14:06:07 +02:00
Michael Niedermayer 1d0f817b17 vc1dec: Fix mv_f shuffling
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 13:16:27 +02:00
Michael Niedermayer 62d9445396 vc1: simplify code use INIT_LUT()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 12:52:52 +02:00
Michael Niedermayer 2e789d165b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: Get rid of duplication between *_rnd_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 10:17:28 +02:00
Michael Niedermayer 8d86cf4cfa Merge commit 'feec9349d35b3a46d0c6a05e3b23626050b76a77'
* commit 'feec9349d35b3a46d0c6a05e3b23626050b76a77':
  mpegvideo: unref cur/next/prev frames when flushing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 10:11:34 +02:00
Michael Niedermayer c2a0833c09 Merge commit '6a8561dbd7c078eb75985f7011ad1ad3fda9e223'
* commit '6a8561dbd7c078eb75985f7011ad1ad3fda9e223':
  x86: Factorize duplicated inline assembly snippets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 10:01:15 +02:00
Michael Niedermayer 03b81df9e6 Merge commit '2e2d24667a2c5cc7af94cfa7b63bb9ec1c04224b'
* commit '2e2d24667a2c5cc7af94cfa7b63bb9ec1c04224b':
  jpeg2000: Add mutlti-threading support to decoder

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 09:55:59 +02:00
Anton Khirnov 35386fbf41 doc/APIchanges: add missing hashes and dates 2013-04-24 09:48:57 +02:00
Michael Niedermayer fc69033371 avcodec/x86/sbrdsp_init: disable using the noise code in x86_64 MSVC, Try #2
This should fix building with MSVC until someone can change the
    code so it works with MSVC

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 02:02:25 +02:00
Stefano Sabatini dfdee6cab3 doc/filters: sort multimedia filters by name
Also favor the video filter name for indexing, in case there is an a*
audio filter variant.
2013-04-23 22:48:47 +02:00
Stefano Sabatini 638ffb2413 lavfi/hue: rework logic for setting commands
In particular, fix h/H commands in case h and H are not specified as
initial parameters.
2013-04-23 22:33:53 +02:00
Martin Storsjö 486f76f029 x86: Get rid of duplication between *_rnd_template.c
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-23 23:30:17 +03:00
Hendrik Leppkes feec9349d3 mpegvideo: unref cur/next/prev frames when flushing
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-04-23 19:11:59 +02:00
Michael Niedermayer b21b2ca95b Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Read block_align from extradata when decoding qclp in aiff.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-23 16:58:31 +02:00
Carl Eugen Hoyos 9526c9ccc3 Read block_align from extradata when decoding qclp in aiff.
Fixes ticket #1287.
2013-04-23 16:19:26 +02:00
Michael Niedermayer 488c760091 doc/filters: document geq rgb mode
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-23 16:13:53 +02:00
Michael Niedermayer 8f04220df8 avfilter/geq: rgb support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-23 16:06:37 +02:00
Paul B Mahol ad56535dd1 avformat: fix orig_pos type to match pkt->pos
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-23 13:56:34 +00:00
Martin Storsjö 6a8561dbd7 x86: Factorize duplicated inline assembly snippets
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-23 15:07:31 +02:00
Michael Niedermayer 7a617d6c17 avcodec/x86/sbrdsp_init: disable using the noise code in x86_64 MSVC
This should fix building with MSVC until someone can change the
code so it works with MSVC

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-23 12:46:28 +02:00
Nicolas Bertrand 2e2d24667a jpeg2000: Add mutlti-threading support to decoder
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-23 11:53:04 +02:00
Michael Niedermayer 0a73803c86 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: Move some conditional code around to avoid unused variable warnings

Conflicts:
	libavcodec/x86/dsputil_mmx.c
	libavfilter/x86/vf_yadif_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-23 11:01:46 +02:00
Michael Niedermayer 5056cff125 Merge commit '10f1a4d9bd8239ac64f364e0d3b6423c28230d6d'
* commit '10f1a4d9bd8239ac64f364e0d3b6423c28230d6d':
  jpeg2kdec: output is native endian AV_PIX_FMT_XYZ12

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-23 10:24:49 +02:00
Michael Niedermayer 7c49c8b0ac Merge commit '94660c35249e11c53b9a9f0c2f85c4335b21eda7'
* commit '94660c35249e11c53b9a9f0c2f85c4335b21eda7':
  threads: always call thread_finish_setup for intra codecs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-23 10:12:58 +02:00
Michael Niedermayer a9a537b154 avfilter/drawtext: add pict_type support
Fixes Ticket2470

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-23 03:35:28 +02:00
Clément Bœsch 15d2f26998 lavfi/overlay: support timeline through the new system. 2013-04-23 01:02:28 +02:00
Clément Bœsch 38853169ce lavfi: add 'enable' command injection to filters supporting timeline. 2013-04-23 01:02:28 +02:00
Clément Bœsch fdd93eabfb lavfi: add timeline support.
Flag added in a few simple filters. A bunch of other filters can likely
use the feature as well.
2013-04-23 01:02:27 +02:00
Clément Bœsch b8a5c76131 lavfi: add frame counter into AVFilterLink and use it in filters. 2013-04-23 01:02:27 +02:00
Piotr Bandurski f4596e8bb6 mjpegdec: Add support for 4:1:1 YUV
Fixes part of ticket 2004
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 22:03:09 +02:00
Michael Niedermayer 2ae91c86f3 avcodec_get_context_defaults3: set codec_id
Fixes Ticket1996

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 21:44:05 +02:00
Michael Niedermayer e2e9bee2da Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avcodec: Bump minor for JPEG 2000 decoder
  JPEG 2000 decoder for DCinema

The mqc code is merged, the rest is added independent of
the existing jpeg2000 decoder and encoder.

Conflicts:
	Changelog
	doc/general.texi
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/mqc.c
	libavcodec/mqc.h
	libavcodec/mqcdec.c
	libavcodec/version.h
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 20:00:54 +02:00
Michael Niedermayer c1c2b0b339 avcodec: rename jpeg2000 decoder to j2k
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 19:28:33 +02:00
Michael Niedermayer 7a556ebccf Merge commit '0c15a9aa7e1654a19144eb594f9639a57fd47482'
* commit '0c15a9aa7e1654a19144eb594f9639a57fd47482':
  sh4: Remove dubious aligned dsputil code

Conflicts:
	libavcodec/sh4/dsputil_align.c
	libavcodec/sh4/h264chroma_init.c
	libavcodec/sh4/hpeldsp.c
	libavcodec/sh4/qpel.c

If someone wants to maintain the sh4 code in ffmpeg, wants to
add more optimizations, or volunteers to maintain any of
what is removed here and can confirm that they are faster.
Then please contact us!

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 18:59:23 +02:00
Michael Niedermayer 430d69c942 Merge commit 'b4ad7c54c878dead7dfa4838b912a530c1debe85'
* commit 'b4ad7c54c878dead7dfa4838b912a530c1debe85':
  x86: cavs: Refactor duplicate dspfunc macro

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 18:37:44 +02:00
Michael Niedermayer 74e1aa17df Merge commit 'a0d5ca4f0a8e2c34d784d503a12af6303424ac6a'
* commit 'a0d5ca4f0a8e2c34d784d503a12af6303424ac6a':
  mxfenc: Use correct printf format specifier for int64_t
  h264: Drop unused variable

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 18:33:37 +02:00
Michael Niedermayer f84e373797 Merge commit '78fa0bd0f7067868943c0899907e313414492426'
* commit '78fa0bd0f7067868943c0899907e313414492426':
  x86: cavs: Put mmx-specific code into its own init function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 18:29:05 +02:00
Diego Biurrun c1ad70c3cb x86: Move some conditional code around to avoid unused variable warnings 2013-04-22 17:50:02 +02:00
Janne Grunau 10f1a4d9bd jpeg2kdec: output is native endian AV_PIX_FMT_XYZ12 2013-04-22 17:11:21 +02:00
Janne Grunau 94660c3524 threads: always call thread_finish_setup for intra codecs
Intra codecs do not need an update_thread_context() function and never
call ff_thread_finish_setup(). They rely on ff_thread_get_buffer()
calling it. So call it even if the get_buffer2 function pointer is
avcodec_default_get_buffer2 and it has not been called before.
2013-04-22 17:11:20 +02:00
Diego Biurrun f13888afcc avcodec: Bump minor for JPEG 2000 decoder 2013-04-22 15:52:43 +02:00
Nicolas Bertrand c81a706381 JPEG 2000 decoder for DCinema
Based on the 2007 GSoC project from Kamil Nowosad <k.nowosad@students.mimuw.edu.pl>
Updated to current programming standards, style and many more small
fixes by Diego Biurrun <diego@biurrun.de>.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-22 15:38:29 +02:00
highgod0401 6d7ec4fc2e lavu/opencl:optimize compile kernel operation
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 15:07:54 +02:00
Michael Niedermayer 80d4d3a41d fate: re-enable af_join test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 14:54:38 +02:00
Paul B Mahol 2f11aa141a lavfi: remove mp=down3dright
Same funcionality is provided by stereo3d=ab[2]{l,r}:sbs[2]{l,r}.
Additional "features" are barely useful and cause crash or artifacts.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-22 11:49:13 +00:00
Paul B Mahol 0327400ee3 doc/filters: add examples for stereo3d
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-22 11:49:13 +00:00
Michael Niedermayer 2288c77689 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: Remove some duplicate function declarations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 13:07:20 +02:00
Michael Niedermayer e4c0f258d3 Merge commit '9bfc6e02bae9de354fb9ba09a8a140e83eeadf7d'
* commit '9bfc6e02bae9de354fb9ba09a8a140e83eeadf7d':
  afifo: fix request_samples on the last frame in certain cases

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 13:02:29 +02:00
Michael Niedermayer 645d0384e8 Merge commit 'b845f5e97b655de0a191f736594777fec9754cf5'
* commit 'b845f5e97b655de0a191f736594777fec9754cf5':
  riff: Factor out WAVEFORMATEX parsing

Conflicts:
	libavformat/riff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 12:53:58 +02:00
Michael Niedermayer 51286aaffc Merge commit '516089d5d86b6809a9458f9cf171f2bc9a8e2a25'
* commit '516089d5d86b6809a9458f9cf171f2bc9a8e2a25':
  riff: Add ACTRAC3+ guid

No change, this commit was in ffmpeg already with this formating

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 12:41:08 +02:00
Michael Niedermayer 05deb05fe9 Merge commit 'a3bf80a5aea577663354bd538e345b283bcb73de'
* commit 'a3bf80a5aea577663354bd538e345b283bcb73de':
  riff: Perform full lookup on WAVEFORMATEXTENSIBLE subformat guid

Conflicts:
	libavformat/riff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 12:36:29 +02:00
Michael Niedermayer 52e40155a8 Merge commit 'e544782623caf1eb4b2429e9c4f35d6b627accba'
* commit 'e544782623caf1eb4b2429e9c4f35d6b627accba':
  riff: Move guid structs and helper functions into riff

Conflicts:
	libavformat/asf.h
	libavformat/riff.c
	libavformat/wtv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 12:20:04 +02:00
Diego Biurrun 0c15a9aa7e sh4: Remove dubious aligned dsputil code
The code represents a considerable maintenance burden and it is not
clear that it gives a noticeable benefit to outweigh this after 10
years of improvements in compiler technology since its creation.
2013-04-22 12:12:24 +02:00
Diego Biurrun b4ad7c54c8 x86: cavs: Refactor duplicate dspfunc macro 2013-04-22 12:05:09 +02:00
Diego Biurrun a0d5ca4f0a mxfenc: Use correct printf format specifier for int64_t
libavformat/mxfenc.c:1861:9: warning: format '%lld' expects argument of type 'long long int', but argument 5 has type 'int64_t' [-Wformat]
2013-04-22 12:05:09 +02:00
Diego Biurrun fce99322b0 h264: Drop unused variable 2013-04-22 12:05:09 +02:00
Michael Niedermayer 369e5dcfc5 Merge commit '8e329dba378cef0ff6400c7df9c51da167d5a1f0'
* commit '8e329dba378cef0ff6400c7df9c51da167d5a1f0':
  riff: check for eof if chunk size and code are 0

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 11:46:22 +02:00
Michael Niedermayer e381cc3e4e Merge commit '1c88617b9421c9af8ae961c05d2381b19c585026'
* commit '1c88617b9421c9af8ae961c05d2381b19c585026':
  riff: K&R formatting cosmetics

Conflicts:
	libavformat/riff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 10:50:05 +02:00
Diego Biurrun 78fa0bd0f7 x86: cavs: Put mmx-specific code into its own init function
Before, this code was labeled as mmxext and enabled both for the
3dnow and the mmxext case.
2013-04-22 10:42:50 +02:00
Diego Biurrun 311a592dfc x86: Remove some duplicate function declarations 2013-04-22 02:29:57 +02:00
Anton Khirnov 9bfc6e02ba afifo: fix request_samples on the last frame in certain cases
The current code can fail to return the last frame if it contains
exactly the requested number of samples.

Fixes the join filter test, which previously did not include the last
408 samples in most cases.

CC:libav-stable@libav.org

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-22 02:29:56 +02:00
Michael Niedermayer de9fbf3dc4 indeo4: implement haar 8x1 and 1x8 transforms
Fixes Ticket1984
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 02:29:12 +02:00
Andy Martin 4ac2da3793 lavfi/fade: Added ability to do video fade based on timestamp 2013-04-21 20:57:02 +02:00
Michael Niedermayer ebea370dc3 ismindex: check mkdir()s return code
Fixes CID733724
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-21 19:53:18 +02:00
Michael Niedermayer bc7330a840 tools/ismindex: dont ignore return code of write_fragments()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-21 19:49:22 +02:00
Michael Niedermayer 047716bbd8 ffplay: check av_samples_get_buffer_size() return
Fixes CID1005310
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-21 18:56:18 +02:00
Stefano Sabatini 3e40b85683 lavfi: add interleave filters 2013-04-21 18:24:04 +02:00
Luca Barbato b845f5e97b riff: Factor out WAVEFORMATEX parsing
Makes the code simpler to follow.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-21 18:20:30 +02:00
Peter Ross 516089d5d8 riff: Add ACTRAC3+ guid
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-21 18:20:30 +02:00
Peter Ross a3bf80a5ae riff: Perform full lookup on WAVEFORMATEXTENSIBLE subformat guid
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-21 18:20:30 +02:00
Peter Ross e544782623 riff: Move guid structs and helper functions into riff
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-21 18:20:30 +02:00
Luca Barbato 8e329dba37 riff: check for eof if chunk size and code are 0
Prevent an infinite loop.

Inspired by a patch from Michael Niedermayer

CC: libav-stable@libav.org

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-21 18:20:30 +02:00
Luca Barbato 1c88617b94 riff: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-21 18:20:12 +02:00
Stefano Sabatini df766673e5 lavfi/sendcmd: drop now pointless sendcmd/asendcmd_init() wrappers 2013-04-21 17:27:32 +02:00
Stefano Sabatini 5e893df7ae lavfi/sendcmd: fix various "in in" rerepepetitions in messages 2013-04-21 17:27:25 +02:00
Nicolas George fd7a7e11b9 lavfi/buffersink: fix possible leaks after allocation failures.
Should fix Coverity CID 1005313, 1005314, 1005315.
2013-04-21 16:11:36 +02:00
Nicolas George b57c23f8c8 lavfi: add asetrate filter. 2013-04-21 15:20:50 +02:00
Michael Niedermayer 14369f59c5 ffmpeg_filter: fix leak on error
Fixes: CID1005311
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-21 11:59:34 +02:00
Michael Niedermayer 83330cf5fa init_vlc_sparse: fix leak on error
Fixes CID1005312

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-21 11:55:19 +02:00
Pavel Koshevoy 0c77cdb491 libavfilter/af_atempo: Avoid round-off error build-up, ticket #2484
Current method for constraining fragment position drift suffers from
round-off error build up.

Instead of calculating cumulative drift as a sum of input fragment
position corrections, it is more accurate to calculate drift as the
difference between current fragment position and the ideal position
specified by the tempo scale factor.

Signed-off-by: Pavel Koshevoy <pkoshevoy@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-21 10:46:52 +02:00
Pavel Koshevoy 5a2a060378 libavfilter/af_atempo: Fix uninitialized memory access
valgrind reported uninitialized memory access which was caused by
incorrect number of samples being passed to push_samples(..)

Signed-off-by: Pavel Koshevoy <pkoshevoy@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-21 10:45:57 +02:00
Michael Niedermayer 2d23493020 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ppc: hpeldsp: Include attributes.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-21 09:54:02 +02:00
Roberto Togni 8017683647 qdm2: initialize coeff_per_sb_select from bit_rate
The value of coeff_per_sb_select depends on the bit rate, not on
sub_sampling.
Also remove the calculation of tmp, no longer needed.

Fixes tickets #1868 and #742 (only audio part)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-21 02:00:06 +02:00
Michael Niedermayer 578d9cf7cc mxf_timestamp_to_str: dont leave uninitilaized fields in time.
Fixes CID1005318
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-21 00:26:20 +02:00
Michael Niedermayer 63090842df av_samples_alloc_array_and_samples: Fix sizeof type.
Fixes CID1005317
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-21 00:26:17 +02:00
Michael Niedermayer eda61abc84 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: only do early frame drop if video queue is not empty
  ffplay: use AV_NOPTS_VALUE video frame pts instead of using 0
  ffplay: simplify aspect ratio calculation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 22:01:05 +02:00
Michael Niedermayer 4824aea7af avcodec/mpegvideo: change asserts to av_asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 21:31:19 +02:00
highgod0401 fdad04e756 avfilter/deshake_kernel: fix reset value bug of deshake kernel
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 19:55:58 +02:00
Paul B Mahol a56fd051ee lavfi/stereo3d: support more formats for non-anaglyph outputs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-20 17:45:54 +00:00
Marton Balint b8facbeecb ffplay: only do early frame drop if video queue is not empty
Fixes ticket #2446.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-04-20 18:32:09 +02:00
Marton Balint d148339d19 ffplay: use AV_NOPTS_VALUE video frame pts instead of using 0
Assuming 0 pts may lead to bad framedrop decisions...

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-04-20 18:32:09 +02:00
Marton Balint 40693ba3ac ffplay: simplify aspect ratio calculation
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-04-20 18:32:09 +02:00
Michael Niedermayer 0dd25e4699 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: Remove unused inline asm instruction defines
  vc1: Remove now unused variables

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 16:24:15 +02:00
Michael Niedermayer 0e3d2b2c8d Merge commit '287c8db39e71af7047e551bbfd1264d771cccbc9'
* commit '287c8db39e71af7047e551bbfd1264d771cccbc9':
  cosmetics: bfin: Fix indentation in the dsputil init function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 16:19:59 +02:00
Michael Niedermayer 9ae56b85b6 Merge commit 'd4d186d185df98492d8935a87c5b5cf369db9748'
* commit 'd4d186d185df98492d8935a87c5b5cf369db9748':
  dsputil: Remove non-8bpp draw_edge

Conflicts:
	libavcodec/dsputil.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 16:07:20 +02:00
Michael Niedermayer bf66016e4c Merge commit 'c9f5fcd08c3a33bfb1b473705c792ab051e7428d'
* commit 'c9f5fcd08c3a33bfb1b473705c792ab051e7428d':
  dsputil: Merge 9-10 bpp functions for get_pixels and draw_edge

Conflicts:
	libavcodec/dsputil.c

No difference as this has been part of ffmpeg since a while and
the rebased commit does also not introduce new changes.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 16:03:32 +02:00
Michael Niedermayer f6dcd844ee Merge commit '619e0da19119bcd683f135fe9a164f37c0ca70d1'
* commit '619e0da19119bcd683f135fe9a164f37c0ca70d1':
  dsputil: Remove unused 32-bit functions

Conflicts:
	libavcodec/dsputil.c
	libavcodec/dsputil_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 15:55:29 +02:00
Michael Niedermayer c3624cfe76 Merge commit 'c443117f25e034c1e3ef35334b61b937e1e208ff'
* commit 'c443117f25e034c1e3ef35334b61b937e1e208ff':
  dsputil: Remove dct_bits

Conflicts:
	libavcodec/dsputil.c
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 15:43:33 +02:00
Martin Storsjö 6d0fbebf94 ppc: hpeldsp: Include attributes.h
This fixes building in configurations where altivec is disabled.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-20 16:43:01 +03:00
Michael Niedermayer d2d2c309e8 Merge commit '54cd5e4f92de6bd0fb8e24069153b0156c8136bc'
* commit '54cd5e4f92de6bd0fb8e24069153b0156c8136bc':
  dsputil: Remove hpel functions (moved to hpeldsp)

Conflicts:
	libavcodec/hpeldsp.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 15:36:23 +02:00
Michael Niedermayer 6ec26157b9 Merge commit '2957d29f0531ccd8a6f4378293424dfd92db3044'
* commit '2957d29f0531ccd8a6f4378293424dfd92db3044':
  alpha: hpeldsp: Move half-pel assembly from dsputil to hpeldsp

Conflicts:
	libavcodec/alpha/dsputil_alpha.c
	libavcodec/alpha/hpeldsp_alpha.c
	libavcodec/alpha/hpeldsp_alpha.h
	libavcodec/alpha/hpeldsp_alpha_asm.S
	libavcodec/hpeldsp.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 15:24:25 +02:00
Michael Niedermayer fdb1f7eb7a Merge commit '78ce568e43a7f3993c33100aa8f5d56c4c4bd493'
* commit '78ce568e43a7f3993c33100aa8f5d56c4c4bd493':
  sparc: hpeldsp: Move vis half-pel assembly from dsputil to hpeldsp

Conflicts:
	libavcodec/hpeldsp.h
	libavcodec/sparc/dsputil_vis.c
	libavcodec/sparc/hpeldsp_vis.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 15:11:06 +02:00
Michael Niedermayer 4bdec0e71e Merge commit '278bd2054ca61ab70dfe38f1774409cda2da5359'
* commit '278bd2054ca61ab70dfe38f1774409cda2da5359':
  sh4: hpeldsp: Move half-pel assembly from dsputil to hpeldsp

Conflicts:
	libavcodec/hpeldsp.c
	libavcodec/hpeldsp.h
	libavcodec/sh4/dsputil_align.c
	libavcodec/sh4/dsputil_sh4.h
	libavcodec/sh4/hpeldsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 15:04:06 +02:00
Michael Niedermayer c5a11ab6d1 Merge commit 'bfb41b5039e36b7f873d6ea7d24b31bf3e1a8075'
* commit 'bfb41b5039e36b7f873d6ea7d24b31bf3e1a8075':
  bfin: hpeldsp: Move half-pel assembly from dsputil to hpeldsp

Conflicts:
	libavcodec/bfin/Makefile
	libavcodec/bfin/hpel_pixels_bfin.S
	libavcodec/bfin/hpeldsp_bfin.c
	libavcodec/bfin/hpeldsp_bfin.h
	libavcodec/hpeldsp.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 14:31:11 +02:00
Michael Niedermayer c4010972c4 Merge commit '7384b7a71338d960e421d6dc3d77da09b0a442cb'
* commit '7384b7a71338d960e421d6dc3d77da09b0a442cb':
  arm: hpeldsp: Move half-pel assembly from dsputil to hpeldsp

Conflicts:
	libavcodec/arm/Makefile
	libavcodec/arm/hpeldsp_arm.S
	libavcodec/arm/hpeldsp_arm.h
	libavcodec/arm/hpeldsp_armv6.S
	libavcodec/arm/hpeldsp_init_arm.c
	libavcodec/arm/hpeldsp_init_armv6.c
	libavcodec/arm/hpeldsp_init_neon.c
	libavcodec/arm/hpeldsp_neon.S
	libavcodec/hpeldsp.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 14:19:08 +02:00
Michael Niedermayer 055e5c8e01 Merge commit '47e5a98174eb9c07ad17be71df129719d60ec8b7'
* commit '47e5a98174eb9c07ad17be71df129719d60ec8b7':
  ppc: hpeldsp: Move half-pel assembly from dsputil to hpeldsp

Conflicts:
	libavcodec/hpeldsp.h
	libavcodec/ppc/hpeldsp_altivec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 13:52:58 +02:00
Michael Niedermayer d0aa60da10 Merge commit '8db00081a37d5b7e23918ee500bb16bc59b57197'
* commit '8db00081a37d5b7e23918ee500bb16bc59b57197':
  x86: hpeldsp: Move half-pel assembly from dsputil to hpeldsp

Conflicts:
	libavcodec/hpeldsp.c
	libavcodec/hpeldsp.h
	libavcodec/x86/Makefile
	libavcodec/x86/dsputil_mmx.c
	libavcodec/x86/hpeldsp_init.c
	libavcodec/x86/hpeldsp_rnd_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 13:42:51 +02:00
Michael Niedermayer 3fee9fa022 Merge commit '28bc406c84b04a5f1458b90ff52ddbec73e46202'
* commit '28bc406c84b04a5f1458b90ff52ddbec73e46202':
  mjpeg: Use hpeldsp instead of dsputil for half-pel functions
  svq1enc: Use hpeldsp instead of dsputil for half-pel functions

Conflicts:
	configure
	libavcodec/mjpegdec.c
	libavcodec/svq1enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 13:21:18 +02:00
Michael Niedermayer ab4ba6b74d Merge commit '2f6bc5f7c193477c2ebc0acce8f2d5551445e129'
* commit '2f6bc5f7c193477c2ebc0acce8f2d5551445e129':
  svq3: Use hpeldsp instead of dsputil for half-pel functions
  mpegvideo: Use hpeldsp instead of dsputil for half-pel functions
  svq1: Use hpeldsp instead of dsputil for half-pel functions
  mimic: Use hpeldsp instead of dsputil for half-pel functions

Conflicts:
	configure
	libavcodec/motion_est.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 10:12:07 +02:00
Michael Niedermayer 3c6621708b Merge commit '8071264f2196d71ff49c3944c33f8d3d83f548f1'
* commit '8071264f2196d71ff49c3944c33f8d3d83f548f1':
  interplayvideo: Use hpeldsp instead of dsputil for half-pel functions
  bink: Use hpeldsp instead of dsputil for half-pel functions
  indeo3: Use hpeldsp instead of dsputil for half-pel functions
  vp56: Use hpeldsp instead of dsputil for half-pel functions
  vp3: Use hpeldsp instead of dsputil for half-pel functions

Conflicts:
	libavcodec/bink.c
	libavcodec/indeo3.c
	libavcodec/vp56.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 10:01:54 +02:00
Michael Niedermayer 23de9e91df Merge commit '68d8238cca52e50e8cc81bf2edcaf8088c52d4c0'
* commit '68d8238cca52e50e8cc81bf2edcaf8088c52d4c0':
  hpeldsp: Add half-pel functions (currently copies of dsputil)

Conflicts:
	libavcodec/hpeldsp.c
	libavcodec/hpeldsp.h
	libavcodec/hpeldsp_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 09:42:07 +02:00
Michael Niedermayer 6c9d28a229 vc1dec: Fix tff == 0 handling in init_block_index()
This fixes several files from VLC ticket5887

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 02:22:32 +02:00
Michael Niedermayer a0fbc28c38 vc1dec: Fix non pullup tff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 02:22:32 +02:00
Michael Niedermayer 8ebfd7c49e h264: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 02:22:32 +02:00
Clément Bœsch 67cc31d6c7 lavf/gif: add final_delay option. 2013-04-20 00:11:04 +02:00
Clément Bœsch a16c20569d lavf/gifdec: add loop support.
Loop is ignored by default.
2013-04-20 00:05:35 +02:00
Clément Bœsch f5ede48fbb lavc/gif: miscellaneous cosmetics. 2013-04-19 23:59:22 +02:00
Clément Bœsch 7004cad36d Changelog: notify GIF improvements. 2013-04-19 23:59:22 +02:00
Clément Bœsch 5927ebab51 doc/general: animated GIF are now compressed. 2013-04-19 23:59:21 +02:00
Clément Bœsch e1b35bdde2 lavc/gif: add flag to enable transparency detection between frames.
While this is not always optimal, in practice most of the common cases are.

  ffmpeg -i big_buck_bunny_1080p_h264.mov -ss 45 -vf scale=320:160 -gifflags -transdiff -frames:v 50 -y bbb-notrans.gif
  ffmpeg -i big_buck_bunny_1080p_h264.mov -ss 45 -vf scale=320:160 -gifflags +transdiff -frames:v 50 -y bbb-trans.gif

  -rw-r--r-- 1 ubitux ubitux 1.1M Apr 19 19:00 bbb-notrans.gif
  -rw-r--r-- 1 ubitux ubitux 378K Apr 19 19:00 bbb-trans.gif
2013-04-19 23:59:21 +02:00
Clément Bœsch 0f1250b7e5 lavc/gif: make possible to disable offsetting. 2013-04-19 23:59:21 +02:00
Martin Storsjö b71a0507b0 x86: Remove unused inline asm instruction defines
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-20 00:44:54 +03:00
Martin Storsjö a60136ee57 vc1: Remove now unused variables
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-20 00:44:49 +03:00
Michael Niedermayer 8f116bf71b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: cosmetics: More sensible order for entries in video filter file

Conflicts:
	tests/fate/filter-video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 23:34:58 +02:00
Michael Niedermayer e07e8882ae Merge commit 'a77aed142cade3beb0cd43f879d4f47daae23b8a'
* commit 'a77aed142cade3beb0cd43f879d4f47daae23b8a':
  fate: Rename video filters file and add separate video filters target

Conflicts:
	tests/fate/filter-video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 23:26:55 +02:00
Michael Niedermayer 6c5989cce9 Merge commit 'b357f1d1d3dd1d6672df6a397a31be425d31b6d1'
* commit 'b357f1d1d3dd1d6672df6a397a31be425d31b6d1':
  fate: Split audio filters into their own separate file

Conflicts:
	tests/Makefile
	tests/fate/filter.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 23:13:20 +02:00
Michael Niedermayer 4cb59ad84b Merge commit '3eec1d41b4a947ba497f528e68da14a8befb85b9'
* commit '3eec1d41b4a947ba497f528e68da14a8befb85b9':
  fate: Reuse VREF and AREF variables where appropriate

Conflicts:
	tests/fate/filter.mak
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 22:55:21 +02:00
Michael Niedermayer f4b05cd841 Merge commit '5e83d9aced2fc2b2e1360452794c58aba55d497c'
* commit '5e83d9aced2fc2b2e1360452794c58aba55d497c':
  h264: fully support cropping.

Conflicts:
	doc/APIchanges
	libavcodec/h264.c
	libavcodec/h264_ps.c
	libavcodec/options_table.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 22:46:51 +02:00
Martin Storsjö 287c8db39e cosmetics: bfin: Fix indentation in the dsputil init function
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:22 +03:00
Ronald S. Bultje d4d186d185 dsputil: Remove non-8bpp draw_edge
It is never used.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:22 +03:00
Ronald S. Bultje c9f5fcd08c dsputil: Merge 9-10 bpp functions for get_pixels and draw_edge
These only care about pixel storage unit size, not actual bits
used (i.e. they don't clip).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:22 +03:00
Ronald S. Bultje 619e0da191 dsputil: Remove unused 32-bit functions
Previously, if dct_bits was set to 32, we used separate 32-bit
versions of these functions. Since dct_bits now is removed,
remove the unused 32-bit versions of the functions.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:22 +03:00
Ronald S. Bultje c443117f25 dsputil: Remove dct_bits
dct_bits is never set except in h264, where it is never used,
thus remove it.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:22 +03:00
Ronald S. Bultje 54cd5e4f92 dsputil: Remove hpel functions (moved to hpeldsp)
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:22 +03:00
Ronald S. Bultje 2957d29f05 alpha: hpeldsp: Move half-pel assembly from dsputil to hpeldsp
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:22 +03:00
Ronald S. Bultje 78ce568e43 sparc: hpeldsp: Move vis half-pel assembly from dsputil to hpeldsp
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:22 +03:00
Michael Niedermayer 278bd2054c sh4: hpeldsp: Move half-pel assembly from dsputil to hpeldsp
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:21 +03:00
Ronald S. Bultje bfb41b5039 bfin: hpeldsp: Move half-pel assembly from dsputil to hpeldsp
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:19:13 +03:00
Ronald S. Bultje 7384b7a713 arm: hpeldsp: Move half-pel assembly from dsputil to hpeldsp
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:19:08 +03:00
Ronald S. Bultje 47e5a98174 ppc: hpeldsp: Move half-pel assembly from dsputil to hpeldsp
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:59 +03:00
Ronald S. Bultje 8db00081a3 x86: hpeldsp: Move half-pel assembly from dsputil to hpeldsp
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:53 +03:00
Ronald S. Bultje 28bc406c84 mjpeg: Use hpeldsp instead of dsputil for half-pel functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:38 +03:00
Ronald S. Bultje 1277dc07fb svq1enc: Use hpeldsp instead of dsputil for half-pel functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:32 +03:00
Ronald S. Bultje 2f6bc5f7c1 svq3: Use hpeldsp instead of dsputil for half-pel functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:27 +03:00
Ronald S. Bultje f4fed5a2f9 mpegvideo: Use hpeldsp instead of dsputil for half-pel functions
This also converts vc1, since that is mpegvideo-based.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:21 +03:00
Ronald S. Bultje 6caa44aa7d svq1: Use hpeldsp instead of dsputil for half-pel functions
This makes svq1 independent of dsputil.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:14 +03:00
Ronald S. Bultje c10470035e mimic: Use hpeldsp instead of dsputil for half-pel functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:08 +03:00
Ronald S. Bultje 8071264f21 interplayvideo: Use hpeldsp instead of dsputil for half-pel functions
This makes interplayvideo independent of dsputil.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:02 +03:00
Ronald S. Bultje 0f0a11d576 bink: Use hpeldsp instead of dsputil for half-pel functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:17:56 +03:00
Ronald S. Bultje 8f992dc8c7 indeo3: Use hpeldsp instead of dsputil for half-pel functions
This makes the Indeo 3 decoder independent of dsputil.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:17:50 +03:00
Ronald S. Bultje cb7ecb7563 vp56: Use hpeldsp instead of dsputil for half-pel functions
This makes vp5 and vp6 independent of dsputil.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:17:33 +03:00
Ronald S. Bultje 3bd062bf7f vp3: Use hpeldsp instead of dsputil for half-pel functions
This makes vp3 independent of dsputil.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:17:26 +03:00
Ronald S. Bultje 68d8238cca hpeldsp: Add half-pel functions (currently copies of dsputil)
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:17:17 +03:00
Michael Niedermayer 05b2c998c7 avcodec: Fix lowres handling in buffer allocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 21:49:36 +02:00
Michael Niedermayer a8b05dde0d Merge commit 'a7f46586bf47174b5fa00a905b767b1781ec8b72'
* commit 'a7f46586bf47174b5fa00a905b767b1781ec8b72':
  ff_get_buffer(): allocate the frame for max(coded,display) dimensions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 21:49:29 +02:00
Michael Niedermayer 194d0399a2 Merge commit '505642f18276aed03278ac91b1f334ea888eac6a'
* commit '505642f18276aed03278ac91b1f334ea888eac6a':
  mp3dec: fallback to generic seeking when a TOC is not present

Conflicts:
	libavformat/mp3dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 21:36:23 +02:00
Diego Biurrun bc7fbd36ea fate: cosmetics: More sensible order for entries in video filter file 2013-04-19 18:07:48 +02:00
Diego Biurrun a77aed142c fate: Rename video filters file and add separate video filters target 2013-04-19 18:07:48 +02:00
Diego Biurrun b357f1d1d3 fate: Split audio filters into their own separate file 2013-04-19 18:07:48 +02:00
Diego Biurrun 3eec1d41b4 fate: Reuse VREF and AREF variables where appropriate 2013-04-19 18:07:48 +02:00
Michael Niedermayer 833bc6678f avformat: change seeking index consistency asserts to av_asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 17:44:07 +02:00
Michael Niedermayer 42bcc4082d avcodec/mpegvideo_motion: Use a field from the current frame if the last is unavailable in DMV & 16x8
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 14:48:01 +02:00
Clément Bœsch 30e6a02c23 lavf/http: remove duplicated dec flag. 2013-04-19 14:44:58 +02:00
Christophe Gisquet 76c7277385 x86: sbrdsp: implement SSE2 hf_apply_noise
233 to 105 cycles on Arrandale and Win64.
Replacing the multiplication by s_m[m] by a pand and a pxor with
appropriate vectors is slower. Unrolling is a 15 cycles win.
A SSE version was 4 cycles slower.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 13:19:45 +02:00
Clément Bœsch 380cfce2b2 lavc: add AV_CODEC_PROP_TEXT_SUB.
CC are not marked. Also allow potential mixed types later.
2013-04-19 13:15:54 +02:00
Clément Bœsch 6189ff3679 lavf/gif: avoid forward declaration. 2013-04-19 12:11:10 +02:00
Clément Bœsch a7c5b7a676 lavf/gif: correct the delay after the first frame.
To define accurately the delay between two frames, it is necessary to
have both available. Before this commit, the first frame had a delay of
0; while in practice the problem is not visible in most situation, it is
problematic with low frame rate and large scene change.

This commit notably fixes output generated with commands such as:

  ffmpeg -i big_buck_bunny_1080p_h264.mov
     -vf "select='gt(scene,0.4)',scale=320:-1,setpts=N/TB"
     -frames:v 5 -y out.gif

Also, to avoid odd loop delays, the N-1 delay is duplicated for the last
frame.
2013-04-19 12:02:19 +02:00
Anton Khirnov 5e83d9aced h264: fully support cropping.
Based on a patch by Vittorio Giovara <vittorio.giovara@gmail.com>

Fixes Bug 378.
2013-04-19 09:28:08 +02:00
Anton Khirnov a7f46586bf ff_get_buffer(): allocate the frame for max(coded,display) dimensions
Needed e.g. for h264 cropping to work properly.
2013-04-19 09:26:53 +02:00
Michael Niedermayer 505642f182 mp3dec: fallback to generic seeking when a TOC is not present
Fixes seeking without a Xing/Info header.

CC: libav-stable@libav.org
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-04-19 09:26:34 +02:00
Paul B Mahol b63f7b3ac7 lavfi/afade: use AV_OPT_TYPE_DURATION
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-19 00:56:55 +00:00
Clément Bœsch 7e57adb464 lavf/gif: fix timing.
pkt->duration can not be used since the values are only based on frame
rate.
2013-04-19 02:15:57 +02:00
Clément Bœsch 13478b270a gif: use only one graphic control extension block per image.
The encoder now doesn't produce any extra graphic control extension
block anymore. Only the image is encoded, and the muxer writing
its own GCE containing notably the timing information now includes the
optional palette transmitted through packet side data.

This commit avoid setting clashes between the two GCE, and reduce the
size of the generated file with pal8 output.
2013-04-19 02:10:59 +02:00
Clément Bœsch 7b80b3cef0 lavc/utils: merge side data after video encode.
This allows encoders to communicate side data to the muxers.
2013-04-19 02:10:12 +02:00
Clément Bœsch 3d786591b8 fate/gif: create meaningful gif encoding tests. 2013-04-19 02:05:01 +02:00
Marton Balint 007989c7a2 mxfdec: fix return variable type for avio_seek
Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 01:29:35 +02:00
Reimar Döffinger a39cd8766f Fix multithreaded MPEG-4 decoding.
Regression since c10d498bfd.
Unfortunately ff_thread_get_format can only be called from
a separate decode thread, running it during init will fail.
Fixes for that are welcome, for now just revert back to
calling avctx->get_format directly, which is correct
but having to decide on a case-by-case basis which approach
to use is a bit messy.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-04-19 01:26:54 +02:00
Michael Niedermayer 7254afdf1c Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  ffmpeg: make -aspect work with -vcodec copy.
  lavfi/vf_aspect: improve compatibility of parsing.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 01:02:21 +02:00
Michael Niedermayer 020c287f5e avformat: Dont stop probing before the whole id3 tag is read
When a file appears to start with a id3 tag and appears to
also be something else, then try to increase the probe buffer
size if its below its limit.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-18 23:48:32 +02:00
Stefano Sabatini c6a43a7244 lavfi/mptestsrc: fix invalid access in case of negative linesize
In particular, fix crash with:
ffplay -f lavfi mptestsrc,vflip
2013-04-18 23:47:44 +02:00
Clément Bœsch 7c1a002c78 subtitles: introduce ASS codec id and use it.
Currently, we have a AV_CODEC_ID_SSA, which matches the way the ASS/SSA
markup is muxed in a standalone .ass/.ssa file. This means the AVPacket
data starts with a "Dialogue:" string, followed by a timing information
(start and end of the event as string) and a trailing CRLF after each
line. One packet can contain several lines. We'll refer to this layout
as "SSA" or "SSA lines".

In matroska, this markup is not stored as such: it has no "Dialogue:"
prefix, it contains a ReadOrder field, the timing information is not in
the payload, and it doesn't contain the trailing CRLF. See [1] for more
info. We'll refer to this layout as "ASS".

Since we have only one common codec for both formats, the matroska
demuxer is constructing an AVPacket following the "SSA lines" format.
This causes several problems, so it was decided to change this into
clean ASS packets.

Some insight about what is changed or unchanged in this commit:

  CODECS
  ------

  - the decoding process still writes "SSA lines" markup inside the ass
    fields of the subtitles rectangles (sub->rects[n]->ass), which is
    still the current common way of representing decoded subtitles
    markup. It is meant to change later.

  - new ASS codec id: AV_CODEC_ID_ASS (which is different from the
    legacy AV_CODEC_ID_SSA)

  - lavc/assdec: the "ass" decoder is renamed into "ssa" (instead of
    "ass") for consistency with the codec id and allows to add a real
    ass decoder. This ass decoder receives clean ASS lines (so it starts
    with a ReadOrder, is followed by the Layer, etc). We make sure this
    is decoded properly in a new ass-line rectangle of the decoded
    subtitles (the ssa decoder OTOH is doing a simple straightforward
    copy). Using the packet timing instead of data string makes sure the
    ass-line now contains the appropriate timing.

  - lavc/assenc: just like the ass decoder, the "ssa" encoder is renamed
    into "ssa" (instead of "ass") for consistency with the codec id, and
    allows to add a real "ass" encoder.

    One important thing about this encoder is that it only supports one
    ass rectangle: we could have put several dialogue events in the
    AVPacket (separated by a \0 for instance) but this would have cause
    trouble for the muxer which needs not only the start time, but also
    the duration: typically, you have merged events with the same start
    time (stored in the AVPacket->pts) but a different duration. At the
    moment, only the matroska do the merge with the SSA-line codec.

    We will need to make sure all the decoders in the future can't add
    more than one rectangle (and only one Dialogue line in it
    obviously).

  FORMATS
  -------

  - lavf/assenc: the .ass/.ssa muxer can take both SSA and ASS packets.
    In the case of ASS packets as input, it adds the timing based on the
    AVPacket pts and duration, and mux it with "Dialogue:", trailing
    CRLF, etc.

  - lavf/assdec: unchanged; it currently still only outputs SSA-lines
    packets.

  - lavf/mkv: the demuxer can now output ASS packets without the need of
    any "SSA-lines" reconstruction hack. It will become the default at
    next libavformat bump, and the SSA support will be dropped from the
    demuxer. The muxer can take ASS packets since it's muxed normally,
    and still supports the old SSA packets. All the SSA support and
    hacks in Matroska code will be dropped at next lavf bump.

[1]: http://www.matroska.org/technical/specs/subtitles/ssa.html
2013-04-18 23:23:59 +02:00
Nicolas George b1cc12d0e3 ffmpeg: make -aspect work with -vcodec copy. 2013-04-18 22:59:54 +02:00
Nicolas George b42827ffd9 lavfi/vf_aspect: improve compatibility of parsing.
Try to accept both the old "num:den" and the new "num/den"
syntax. Fix "aspect=2" being ignored due to a missing den.

Also remove a duplicated #include.
2013-04-18 20:51:55 +02:00
Michael Niedermayer 5b9675b5ac Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  examples/filtering_audio: fix frame leak.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-18 20:15:47 +02:00
Michael Niedermayer 23daee0dcc avcodec/mpegvideo_motion: Check P field references
If a reference is unavailable use a field from the current
picture
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-18 20:13:22 +02:00
Michael Niedermayer 4c8ce750ab svq3: use memmove to avoid overlap in memcpy.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-18 17:56:45 +02:00
Paul B Mahol 212960eea4 colorchannelmixer filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-18 15:31:35 +00:00
Paul B Mahol 449cdd547b colorbalance filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-18 15:30:10 +00:00
Nicolas George 300ca0763b examples/filtering_audio: fix frame leak.
The frame is not used after being added to the filter
graph, there is no need to keep the reference.
2013-04-18 17:03:01 +02:00
Paul B Mahol 3e9c0217fd lavu: add av_clipd_c
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-18 14:38:21 +00:00
Michael Niedermayer 5ae484e350 evrcdec: use memmove() instead of memcpy() when regions can overlap.
This occurs also with valid files.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-18 16:20:49 +02:00
Clément Bœsch 90a56ebbe5 lavc/gif: avoid encoding 0x0 images.
It seems browsers don't like it very much.
2013-04-18 15:30:02 +02:00
Clément Bœsch 9db1c6455e lavf/gif: support only GIF codec. 2013-04-18 13:53:47 +02:00
Clément Bœsch 01367b0fca lavf/gif: merge gif_write_{packet,video}.
Avoid a pointless split.
2013-04-18 13:42:26 +02:00
Clément Bœsch b7a3f14360 lavf/gif: trim unnecessarily long netscape ext code.
Extension description comments are now placed along the avio calls, the
always defined macro removed, and the always true loop_count check as
well (loop option is bound to 0-65535).
2013-04-18 13:42:14 +02:00
Clément Bœsch 0a0e6877ff lavf/gif: remove unused fields. 2013-04-18 13:40:45 +02:00
Clément Bœsch 28f9858c91 lavf/gif: simplify streams type checking. 2013-04-18 13:40:45 +02:00
Michael Niedermayer 978e373499 cmdutils: make the "-help filter=" output less confusing
Example:
Filter overlay
  Overlay a video source on top of the input.
    Inputs:
       #0: main (video)
       #1: overlay (video)
    Outputs:
       #0: default (video)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-18 13:03:00 +02:00
Carl Eugen Hoyos 99818ac4d3 Fix libswscale compilation with --disable-optimizations on x86-32.
Fixes ticket #2477.
2013-04-18 12:47:16 +02:00
Michael Niedermayer ee94362c8a Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix pgc compilation with --disable-optimizations.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-18 03:00:31 +02:00
Michael Niedermayer 6998af4a40 avcodec/bitstream: check codes in ff_init_vlc_sparse()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-18 02:57:03 +02:00
Michael Niedermayer fb3e3808ae avcodec/bitstream: Check bits in ff_init_vlc_sparse()
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-18 02:47:50 +02:00
Carl Eugen Hoyos 2ade23a7ad Fix pgc compilation with --disable-optimizations.
-O1 disables dead code elimination on pgc, use -O instead.
2013-04-18 02:20:04 +02:00
Michael Niedermayer bdfe60c769 xan: Check for overlapping copies
No valid samples i found use such copies

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-18 01:55:42 +02:00
Clément Bœsch 32cc7ba8a7 fate: hot fix for gif failure. 2013-04-18 01:41:23 +02:00
Clément Bœsch b6408ffc45 lavf/gif: fix assert in avio API after dfb3231. 2013-04-18 01:13:17 +02:00
Clément Bœsch 91a5b4d480 gif: remove outdated comments. 2013-04-18 00:43:38 +02:00
Clément Bœsch 8694e87127 lavc/gif: return more meaningful error code. 2013-04-18 00:24:25 +02:00
Clément Bœsch 71411b69a2 lavc/gif: merge two allocation checks. 2013-04-18 00:24:25 +02:00
Clément Bœsch dfb323109c lavf/gif: simplify palette writing. 2013-04-18 00:24:25 +02:00
Clément Bœsch 7b972d82b6 gif: reindent after previous commits. 2013-04-18 00:24:25 +02:00
Clément Bœsch e065e8a4ea lavc/gif: crop image when possible.
Increase compression when pictures are similar.

-f lavfi testsrc=300: 61M -> 21M
2013-04-18 00:24:25 +02:00
Clément Bœsch 635389ccfa Cleanse GIF muxer and encoder.
This commit removes the badly duplicated code between the encoder and
the muxer. That may sound surprising, but the encoder is now responsible
from the encoding of the picture when muxing to a .gif file. It also
does not require anymore a manual user intervention such as a -pix_fmt
rgb24 to work properly. To summarize, output gif are now easier to
generate, code is saner and simpler, and files are smaller (thanks to
the lzw encoding which was unused so far with the default .gif output).
We can certainly make things even better, but this is the first step.

FATE is updated because of the output being produced by the encoder and
not the muxer (no lzw in the muxer), and in the seek test only the size
mismatches.

Fixes Ticket #2262
2013-04-18 00:24:25 +02:00
Stefano Sabatini 1efcab02b6 lavfi/aspect: apply hot fix for NUM:DEN syntax 2013-04-17 23:37:22 +02:00
Stefano Sabatini f04ec05f0e lavfi/setdar: fix num/den swapping in log message 2013-04-17 23:37:22 +02:00
Stefano Sabatini f212c2380a lavfi/setsar: remove spurious #if FF_API_OLD_FILTER_OPTS around init field 2013-04-17 23:37:05 +02:00
Michael Niedermayer c25224737c avutil/intfloat_readwrite: include common.h for isinf()
Solution based on rational.c, which uses isinf() too

This should fix compilation with msvc

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 23:22:22 +02:00
Stefano Sabatini e252460c9b lavfi/mptestsrc: remove unused size field 2013-04-17 22:40:08 +02:00
Stefano Sabatini db84088e99 lavfi/mptestsrc: use AV_OPT_TYPE_DURATION
Simplify.
2013-04-17 22:40:02 +02:00
Stefano Sabatini bbf003e949 lavfi/mptestsrc: reindent option constants 2013-04-17 22:39:51 +02:00
Stefano Sabatini 3933963d7b lavfi/testsrc: fix style 2013-04-17 22:39:44 +02:00
Stefano Sabatini 7ab6312610 lavfi/testsrc: use int in place of unsigned
Avoid implicit int->unsigned conversion, causing invalid access in case
of negative linesize.

Fix crash with:
ffplay -f lavfi testsrc,vflip
2013-04-17 22:39:34 +02:00
Stefano Sabatini 5229b78371 lavfi/aspect: extend verbose feedback, show old SAR and DAR values 2013-04-17 22:39:26 +02:00
Stefano Sabatini fe5ca6b913 lavfi/aspect: restore ratio parsing
Allow to set a ratio as "a:b" (with proper escaping), and correctly
honour the max parameter.
2013-04-17 22:39:20 +02:00
Stefano Sabatini 8bfd878151 lavfi/select: factorize options definition between select and aselect 2013-04-17 22:39:04 +02:00
Stefano Sabatini dcc1b32361 lavfi/select: add support for dynamic number of outputs 2013-04-17 22:34:05 +02:00
Stefano Sabatini 565c50ac7b lavfi/select: make select_frame() return void
Set select->select internally to the function, avoid lossy double->int
conversion causing spurious frame drop (e.g. in case the evaluation
result is positive and less than 1).
2013-04-17 22:28:56 +02:00
Michael Niedermayer 0b3bd78714 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavfi/buffersrc: fix failed requests count.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 21:32:13 +02:00
Michael Niedermayer 3220083c11 ra144: Try to fix int16/uint16 warnings from pgc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 21:31:11 +02:00
Michael Niedermayer cc6f848dba avutil/intfloat_readwrite: avoid comparission with INFINITY, use isinf()
Should fix pgc warning

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 21:25:41 +02:00
Michael Niedermayer 45741dd81f vf_lut: fix simplification / off by 1 error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 21:25:41 +02:00
Paul B Mahol 1de7dcb457 lavfi/stereo3d: fix interleave row output modes
Linesizes that did not match output width produced several artifacts.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-17 17:34:17 +00:00
Clément Bœsch 7ee2daed9b lavfi/interlace: remove exec permissions. 2013-04-17 19:27:33 +02:00
Clément Bœsch 4c6fa4ef45 lavfi/lut: simplify nested component stepping. 2013-04-17 19:18:08 +02:00
Clément Bœsch 45f5bf917b lavfi/lut: reindent after previous commit. 2013-04-17 19:18:08 +02:00
Clément Bœsch 3db3b278f2 lavfi/lut: add direct path. 2013-04-17 19:18:08 +02:00
Michael Niedermayer 7f2253078d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  indeo3: check motion vectors.

Conflicts:
	libavcodec/indeo3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 17:30:07 +02:00
Paul B Mahol 716588188d lavfi/stereo3d: check input width & height
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-17 15:16:48 +00:00
Michael Niedermayer 2787f7b188 Merge commit '34e6af9e204ca6bb18d8cf8ec68fe19b0e083e95'
* commit '34e6af9e204ca6bb18d8cf8ec68fe19b0e083e95':
  indeo3: fix data size check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 16:57:45 +02:00
Michael Niedermayer 4029a5ebc2 Merge commit '66531d634e75b834e89e4a6a0f7470ca018712a1'
* commit '66531d634e75b834e89e4a6a0f7470ca018712a1':
  indeo3: switch parsing the header to bytestream2

Conflicts:
	libavcodec/indeo3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 16:50:34 +02:00
Michael Niedermayer e5dc5095f9 Merge commit '01d376f598fe95478036f5d1e3e5e14ffe32d4bf'
* commit '01d376f598fe95478036f5d1e3e5e14ffe32d4bf':
  rv10: check that extradata is large enough

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 16:20:49 +02:00
Michael Niedermayer 4916e220a6 Merge commit 'bac8d38c0a716c8bdfdecf0ae545015c68f5df36'
* commit 'bac8d38c0a716c8bdfdecf0ae545015c68f5df36':
  rv10: return meaningful error codes.

Conflicts:
	libavcodec/rv10.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 16:10:23 +02:00
Michael Niedermayer 8cff853b23 Merge commit '69f6f03cd16a09e4e848b4e82bae4993bc361cd0'
* commit '69f6f03cd16a09e4e848b4e82bae4993bc361cd0':
  rv10: cosmetics, reformat
  qdm2: check that the FFT size is a power of 2

Conflicts:
	libavcodec/rv10.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 16:04:38 +02:00
Michael Niedermayer 0a946599f8 Merge commit 'ecff5acb5a738fcb4f9e206a12070dac4bf259b3'
* commit 'ecff5acb5a738fcb4f9e206a12070dac4bf259b3':
  svq1dec: clip motion vectors to the frame size.

Conflicts:
	libavcodec/svq1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 15:52:10 +02:00
Michael Niedermayer 251f283b9d Merge commit 'b1bb8fb860b47e90dd67f0c5740698128fc82dcc'
* commit 'b1bb8fb860b47e90dd67f0c5740698128fc82dcc':
  svq1dec: check that the reference frame has the same dimensions as the current one

Conflicts:
	libavcodec/svq1dec.c

See: 3b57bb478f

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 15:40:47 +02:00
Michael Niedermayer f60ba6c524 Merge commit 'c0771a1ac6da697f86e3b10c8fe5dbc2ee92e347'
* commit 'c0771a1ac6da697f86e3b10c8fe5dbc2ee92e347':
  af_channelmap: cosmetics, use an extra local variable to shorten the code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 15:13:14 +02:00
Michael Niedermayer 74e86d3147 Merge commit 'aafed1175df76603e94c99a7748968780d6548d2'
* commit 'aafed1175df76603e94c99a7748968780d6548d2':
  af_channelmap: sanity check input channel indices in all cases.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 15:04:22 +02:00
Paul B Mahol b725202546 lavfi/stereo3d: fix output width for sbsl/sbs2l
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-17 12:21:47 +00:00
Paul B Mahol f0a149e538 lavfi: remove bad inverse telecine filters
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-17 11:51:16 +00:00
Anton Khirnov a0a872d073 indeo3: check motion vectors.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 12:10:42 +02:00
Anton Khirnov 34e6af9e20 indeo3: fix data size check
The data offsets are relative to the bistream header, which is 16 bytes
after the start of the data.
Fixes invalid reads with corrupted files.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 12:09:36 +02:00
Anton Khirnov 66531d634e indeo3: switch parsing the header to bytestream2
Also add an additional sanity check to the alt_quant table.
Fixes invalid reads with corrupted files.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 12:08:49 +02:00
Clément Bœsch a5ebd2d987 cmdutils: slightly better -filters output. 2013-04-17 11:57:37 +02:00
Nicolas George e3e6aa7afb lavfi/buffersrc: fix failed requests count.
The line was lost during the AVFrame transition.
It causes programs relying on the failed requests count,
especially ffmpeg, to add frames to the wrong input.

Fix trac ticket #2467.
2013-04-17 11:32:03 +02:00
Pavel Koshevoy e5644313c5 examples/filtering_audio: get rid of AVABufferSinkParams
AVABufferSinkParams are ignored by avfilter_graph_create_filter,
therefore the example is misleading.  Use av_opt_set_int_list to
configure abuffersink directly.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 11:11:57 +02:00
Michael Niedermayer f2619cbd61 examples/filtering_audio: enable ref counted frames
Fixes accessing freed memory

Signe-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 11:11:57 +02:00
Clément Bœsch 9db6aaeb2c ffplay: use format title metadata to set window caption. 2013-04-17 11:08:49 +02:00
Anton Khirnov 01d376f598 rv10: check that extradata is large enough
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 11:01:52 +02:00
Anton Khirnov bac8d38c0a rv10: return meaningful error codes.
Also improve some error messages.
2013-04-17 11:01:17 +02:00
Anton Khirnov 69f6f03cd1 rv10: cosmetics, reformat 2013-04-17 10:58:29 +02:00
Anton Khirnov 34f87a5853 qdm2: check that the FFT size is a power of 2
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 10:56:11 +02:00
Anton Khirnov ecff5acb5a svq1dec: clip motion vectors to the frame size.
Fixes invalid reads for corrupted files.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 10:55:51 +02:00
Anton Khirnov b1bb8fb860 svq1dec: check that the reference frame has the same dimensions as the current one
They can be different if the last keyframe failed to decode correctly.
Fixes possible invalid reads in such a case.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 10:55:30 +02:00
Anton Khirnov c0771a1ac6 af_channelmap: cosmetics, use an extra local variable to shorten the code 2013-04-17 08:37:59 +02:00
Anton Khirnov aafed1175d af_channelmap: sanity check input channel indices in all cases.
Fixes invalid reads from non-existing channels.

CC:libav-stable@libav.org
2013-04-17 08:37:59 +02:00
Paul B Mahol b8edf91657 lavfi/histeq: fix out of array write
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-17 00:24:16 +00:00
Michael Niedermayer 161dee4321 rmdec: dont return uninitialized data
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 02:16:58 +02:00
Carl Eugen Hoyos fe1de12faf Remove two anonymous arrays.
Fixes compilation of pngenc.c and flvdec.c with PGC 13.4-0.
2013-04-17 00:37:05 +02:00
Carl Eugen Hoyos 9802f56684 ass_split: Do not use the function name as a parameter name in a declaration.
Fixes compilation of srtenc.o with PGC 13.4-0.
2013-04-17 00:35:00 +02:00
Michael Niedermayer 92218aad00 butterflies_float: replace 2 lea by 2 add
adds are simpler instructions and should be faster or equally fast
on all cpus

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 00:10:06 +02:00
Christophe Gisquet 1a4007964c x86: float dsp: butterflies_float SSE
97c -> 49c
Some codecs could benefit from more unrolling, but AAC doesn't.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 00:03:25 +02:00
Paul B Mahol 295ce83e2f lavfi/il: remove pointless store
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 21:45:34 +00:00
Paul B Mahol 9bd1b1c1e7 lavfi/earwax: remove pointless store
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 21:32:26 +00:00
Michael Niedermayer 0ea97a1c5b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  cmdutils: Fix build with lavfi disabled
  flvenc: do not mux more than one stream per type

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 23:23:16 +02:00
Paul B Mahol c1fe41ed47 libaacpluc: remove unused code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 21:13:51 +00:00
Paul B Mahol 83253431b7 lavfi/stereo3d: remove pointless store
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 21:07:21 +00:00
Paul B Mahol 9429408cc1 sgirledec: remove unused headers
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 20:46:45 +00:00
Paul B Mahol b05d8d4cf4 lavc: avcodec_open2(): pass context to av_log()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 20:46:34 +00:00
Stefano Sabatini dc11acdf2d doc/filters: fix sentence in setsar/setdar docs 2013-04-16 22:15:40 +02:00
Stefano Sabatini 30926a1f1f lavfi/aspect: fix weird copyright notice 2013-04-16 22:15:34 +02:00
Stefano Sabatini ba32afd70e lavfi/split: use AVFILTER_DEFINE_CLASS to define class 2013-04-16 22:15:24 +02:00
Anton Khirnov 7f1fd97636 cmdutils: Fix build with lavfi disabled
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-16 21:44:26 +02:00
Michael Niedermayer bec402b502 mjpegdec: fix overlapping memcpy with upscale_v
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 20:15:24 +02:00
Paul B Mahol 6575539176 libaacplus: support for float sample format
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 16:14:05 +00:00
Michael Niedermayer 13bbfb8fda sws: Skip ff_yuv2rgb_c_init_tables() when the output is YUV
Fixes "20bpp not supported by yuv2rgb" warning

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 17:50:43 +02:00
Michael Niedermayer 6b657ac788 avcodec/c93: Check for block overlap.
Fixes overlapping memcpy()

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 17:04:16 +02:00
Michael Niedermayer e701cd96c2 avutil/avutil_version: Run checks just once
This ensures that applications that call avutil_version() often
would not run the checls every time

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 17:04:16 +02:00
Paul B Mahol 65efa1dbd9 lavfi/interlace: remove now unused av_opt_free() call
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 14:32:49 +00:00
Michael Niedermayer 2d8a3cf4c1 avutil/pixdesc: check for component overlap
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 15:10:13 +02:00
Michael Niedermayer f807d6d200 avutil/pixdesc: check step/depth against each other
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 14:36:49 +02:00
Michael Niedermayer 20e99a9c10 avutil/pixdesc: support for self-checking the descriptors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 14:27:14 +02:00
Michael Niedermayer 1314f534e5 avutil/pixdesc: fix rgb0 descriptors
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 14:27:14 +02:00
Paul B Mahol 0b06bd1c7a libaacplus: set supported profiles
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 10:20:17 +00:00
Paul B Mahol 82082695de libaacplus: set supported channel_layouts
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 10:20:17 +00:00
Michael Niedermayer f05cfb654f sws/fill_rgb2yuv_table: use ROUNDED_DIV
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 11:33:40 +02:00
Michael Niedermayer bcf643486f sws/fill_rgb2yuv_table: increase precission to 32bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 11:33:40 +02:00
Michael Niedermayer 2fa11a94a3 sws/fill_rgb2yuv_table: avoid 2 divisions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 11:13:20 +02:00
Paul B Mahol 97b2865aa2 libaacplus: remove FF_API_OLD_ENCODE_AUDIO cruft
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 08:44:56 +00:00
Rafaël Carré 5b27c307e7 flvenc: do not mux more than one stream per type
FLV does not support multiple audio or video streams.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-04-16 10:31:38 +02:00
Michael Niedermayer 003bf33747 sws: fix alignment of rgb2yuv
This should fix mingw32 fate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 05:59:47 +02:00
Michael Niedermayer 7e20f80d2c fate: fix histogram test, try #2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 03:52:51 +02:00
Michael Niedermayer 7ed691e2db Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: Set the bitexact flag for vp3/vp5/vp6 tests

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 01:02:14 +02:00
Michael Niedermayer d98c3adef2 Merge commit '015821229f96bf7e677f2a711a58dbea3009f574'
* commit '015821229f96bf7e677f2a711a58dbea3009f574':
  vp3: Use full transpose for all IDCTs

Conflicts:
	libavcodec/vp3.c
	libavcodec/vp3dsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 00:56:15 +02:00
Michael Niedermayer 05bea44393 Merge commit '5941978e71d2c3a8e2a7e87951e081e0b2e77da9'
* commit '5941978e71d2c3a8e2a7e87951e081e0b2e77da9':
  vp3: bfin: Transpose the IDCTs

Conflicts:
	libavcodec/bfin/vp3_bfin.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 00:50:33 +02:00
Michael Niedermayer d5c31403aa Merge commit 'c46819f2299c73cd1bfa8ef04d08b0153a5699d3'
* commit 'c46819f2299c73cd1bfa8ef04d08b0153a5699d3':
  x86: Move constants to the only place where they are used

Conflicts:
	libavcodec/x86/vp3dsp.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 00:44:20 +02:00
Michael Niedermayer 398b9ed28f Merge commit 'c0dcf89887f7fbdd7a8502bc7c715f50157562cb'
* commit 'c0dcf89887f7fbdd7a8502bc7c715f50157562cb':
  bfin: Match DEFUN_END macros to the right functions

Conflicts:
	libavcodec/bfin/pixels_bfin.S

This bug seems not to have existed in our bfin code, thus
no change in this merge

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 00:40:57 +02:00
Stefano Sabatini 41985cb0ab doc/filters: merge asplit and split documentation
Also move them to multimedia filters section.
2013-04-15 23:40:05 +02:00
Stefano Sabatini 3453b0196f lavfi/split: fix minor documentation issues
Use verbal form to describe "outputs" options, and mention it in the
manual.
2013-04-15 23:35:49 +02:00
Clément Bœsch de656ea91e lavfi/drawtext: make options array more readable. 2013-04-15 21:49:18 +02:00
Michael Niedermayer 3950236332 sws/x86: update RENAME(rgb24toyv12)() to using the user provided rgb2yuv table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 21:44:50 +02:00
Michael Niedermayer 7a2a421d73 vf_histogram: avoid floats, unbreak fate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 21:44:50 +02:00
Clément Bœsch 34186832de doc/filters: add a curves example with psfile. 2013-04-15 21:18:17 +02:00
Michael Niedermayer 6e29f39252 swr/rematrix: use av_calloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 20:31:06 +02:00
Michael Niedermayer 8a11114a79 pca: use av_calloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 20:31:06 +02:00
Michael Niedermayer 003d497d31 pca: use sizeof(variable) instead of sizeos(TYPE)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 20:31:06 +02:00
Paul B Mahol a4f03f082b FATE: add a test for the histogram filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-15 16:40:26 +00:00
Paul B Mahol 9e6dd24fa1 doc/filters: move aphaser to right(audio) chapter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-15 16:23:08 +00:00
Paul B Mahol 8281791d07 lavfi/histogram: remove pointless store
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-15 16:07:51 +00:00
Paul B Mahol 7770975979 lavfi/noise: remove pointless store
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-15 15:57:31 +00:00
Clément Bœsch 9ecdd76679 lavfi/curves: fix memleak after master component dition. 2013-04-15 18:04:35 +02:00
Michael Niedermayer aba678ab9d deshake: fix off by 2 error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 16:23:28 +02:00
Michael Niedermayer 3d8afb23bc vf_deshake: Fix crash with r*=64
Replace literal numbers by named R_MAX and correct their value

Fixes half of Ticket2443

Based on patch by: João Bernardo <jbvsmo@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 14:28:19 +02:00
Martin Storsjö 6add6272da fate: Set the bitexact flag for vp3/vp5/vp6 tests
This is required since there are bit-inexact implementations
of the vp3 idct (for bfin).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-15 14:19:16 +03:00
Michael Niedermayer 1557f34b10 dfa: support decoding version=1.0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 12:13:41 +02:00
Clément Bœsch 1cb02d4fbc lavfi/curves: add support for Photoshop curves files (.acv). 2013-04-15 11:35:46 +02:00
Clément Bœsch 99dac39339 lavfi/curves: add support for master component. 2013-04-15 11:35:06 +02:00
Ronald S. Bultje 015821229f vp3: Use full transpose for all IDCTs
This way, the special IDCT permutations are no longer needed. This
is similar to how H264 does it, and removes the dsputil dependency
imposed by the scantable code.

Also remove the unused type == 0 cases from the plain C version
of the idct.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-15 12:32:05 +03:00
Martin Storsjö 5941978e71 vp3: bfin: Transpose the IDCTs
While this change isn't bitexact, the IDCTs weren't bitexact to
start with either.

This simplifies decoupling vp3 from dsputil.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-15 12:31:52 +03:00
Ronald S. Bultje c46819f229 x86: Move constants to the only place where they are used
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-15 12:17:39 +03:00
Martin Storsjö c0dcf89887 bfin: Match DEFUN_END macros to the right functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-15 12:13:26 +03:00
Michael Niedermayer 357da7ed42 sws: remove forgotten FAST_BGR2YV12 define
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 11:04:52 +02:00
Reimar Döffinger c10d498bfd Add thread-safe wrapper for get_format().
Just like get_buffer, get_format should not be called from a different
thread if thread_safe_callbacks is not set.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-04-15 09:04:07 +02:00
Reimar Döffinger 8067f55edf Fix compilation on ARM with android gcc 4.7
With the current code it fails due to running out
of registers.
So code the store offsets manually into the assembler
instead.
Passes "make fate-dts".

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-04-15 09:04:07 +02:00
Michael Niedermayer 920dd84bf1 sws/x86: remove 8bit rgb2yuv coefficient case for rgb24toyv12 special converter
This simplifies the code and improves quality at the expense of a slight
slowdown of a rarely used function (no fate test uses it).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 03:19:52 +02:00
Michael Niedermayer a37fd7f957 sws: Update rgb24toyv12_c() to user supplied rgb2yuv tables
As the function arguments change, we also change the function name
to ensure that anyone using this (non public) function doesnt end
with hard to debug crashes. The new name also has a proper prefix.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 03:08:37 +02:00
Michael Niedermayer 8e27c6ebbb sws/"rgb2rgb": drop RGB2YUV_SHIFT
Fixes a warning and increases the precission the coefficients

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 02:27:14 +02:00
Michael Niedermayer 2a5d1cb2d9 sws/x86: update rgba->yuv to use user supplied table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 01:31:01 +02:00
Michael Niedermayer 17ad06c753 sws/x86: update rgb/bgr->yuv code to use provided coefficient table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 01:31:01 +02:00
Michael Niedermayer 9aafb95ae2 sws: init input_rgb2yuv_table depending on yuv colorspace
For the default table we keep using the exact previous
coefficients, this way individual functions can be updated seperately
without breaking fate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 01:30:15 +02:00
Michael Niedermayer 3662e49dde sws: move RGB2YUV_SHIFT to swscale_internal.h
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 01:23:29 +02:00
Clément Bœsch e66a10689b lavf/libquvi: fix error reporting. 2013-04-15 01:18:11 +02:00
Clément Bœsch da1bb21c13 lavfi/aphaser: silence uninitialized variable warnings. 2013-04-15 01:12:26 +02:00
Paul B Mahol 977ee8afd6 lavfi/negate: stop calling lut_init() as that function does nothing now
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-14 22:22:16 +00:00
Paul B Mahol 6ffe911302 lavfi/testsrc: unbreak smptebars only build
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-14 21:13:39 +00:00
Clément Bœsch 8de9bb6e5e lavf: remove some flushing in write_packet muxers callbacks.
Since 4f112a8e3, this is not necessary anymore. Also, it allows to
actually disable the flushing.
2013-04-14 21:16:53 +02:00
Stefano Sabatini bc1847addf doc/filters: remove mention to telecine mp filter
It was removed in 32a7b858c9.
2013-04-14 21:11:31 +02:00
Clément Bœsch dfac37afd2 lavfi: add missing periods in filter descriptions. 2013-04-14 20:58:31 +02:00
Stefano Sabatini f6c9a325b7 ffmpeg: show error message in case of av_buffersrc_add_frame_flags() failure 2013-04-14 20:30:37 +02:00
Stefano Sabatini fba3a3bbfb doc: document -opencl_options option in ff* tools manuals 2013-04-14 20:30:34 +02:00
Clément Bœsch 1e3104cd3c Add avpriv_dsputil_init() and use it in lavfi where relevant.
dsputil_init() is deprecated and not meant to be exported.
ff_dsputil_init() is internal to libavcodec and thus can not be used.
avpriv_dsputil_init() is the version shared between libraries.

This commit fixes 3 unjustified libavfilter deprecated warnings.
2013-04-14 20:15:54 +02:00
Michael Niedermayer d4956b0bfb sws/input: replace hardcoded rgb2yuv coefficients by table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-14 20:04:55 +02:00
Michael Niedermayer 41ebb64511 swscale/output: fix alpha scale in the new functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-14 16:57:09 +02:00
Michael Niedermayer a4b5e45e2b sws/output: add yuv2rgb_full_1_c_template()
7500->4500 cycles on sandybridge

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-14 16:57:09 +02:00
Clément Bœsch 458d956b09 doc/filters: move mpdecimate doc to a more appropriate position. 2013-04-14 15:59:37 +02:00
Clément Bœsch 7a92ec93c6 lavfi: port IVTC filters from vapoursynth. 2013-04-14 15:59:37 +02:00
Clément Bœsch ab0ad6eccf lavfi: rename decimate to mpdecimate.
The next commit will introduce a proper decimation filter to be used
along with the field matching filter. To avoid confusion with this
filter which has currently a very limited usage (and will not work
properly with the fieldmatching filter), the new decimation filter will
take the decimate name, and this filter is renamed to mpdecimate.
2013-04-14 15:59:37 +02:00
Michael Niedermayer 9204a7dc8e sws/output: add +yuv2rgb_full_2_c_template()
8100 cycles -> 5800 cycles on sandybridge

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-14 15:32:11 +02:00
Michael Niedermayer 662664551c sws/output: factor yuv2rgb_write_full() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-14 13:29:58 +02:00
Clément Bœsch f359be96ca lavfi/smptehdbars: fix priv_class pointer.
Fix Ticket2468.
2013-04-14 10:32:35 +02:00
Clément Bœsch d9be6e69cf lavfi/testsrc: grammar fix in comment after 03e2ec32. 2013-04-14 03:27:48 +02:00
Paul B Mahol 03e2ec32b8 lavfi: add smptehdbars source
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-14 00:25:09 +00:00
Paul B Mahol 2952ed2b60 doc/filters: move telecine from audio to video filters
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-13 23:17:38 +00:00
Clément Bœsch 28ac8426e6 lavu/dict: cosmetic realign. 2013-04-13 23:48:26 +02:00
James Almer 572e38a513 log: Remove redundant va_list creation from missing_feature_sample()
avpriv_request_sample() and avpriv_report_missing_feature() were printing bogus values for the extra arguments.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-13 21:14:34 +02:00
Michael Niedermayer 38e66af43b Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavu/opt: check int lists length for overflow.
  lavu: add parens to macro argument.
  lavu: add av_pure to av_int_list_length_for_size.
  lavfi/buffersink: factor checks for lists sizes.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-13 20:38:31 +02:00
Michael Niedermayer 536baf6cc5 oggenc: Fix pref_duration AVOption type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-13 20:30:03 +02:00
Nicolas George 9e8e03de38 lavu/opt: check int lists length for overflow.
Also add parens on macro arguments.
2013-04-13 20:19:24 +02:00
Nicolas George 2a1d7ea5f8 lavu: add parens to macro argument. 2013-04-13 20:19:24 +02:00
Nicolas George 76c8060654 lavu: add av_pure to av_int_list_length_for_size. 2013-04-13 20:19:24 +02:00
Nicolas George 6fbb21d685 lavfi/buffersink: factor checks for lists sizes. 2013-04-13 20:19:24 +02:00
Michael Niedermayer ded2f187a2 avcodec: fix ignorecrop AVOption offset
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-13 20:17:37 +02:00
Clément Bœsch 8137ea358c doc/filters: use common options introduction string. 2013-04-13 20:09:22 +02:00
Clément Bœsch 2b44195fc9 cmdutils: print if filters are sources or sinks. 2013-04-13 19:48:10 +02:00
Clément Bœsch 73180f5b0e lavfi: flag more dynamic i/o filters. 2013-04-13 19:43:17 +02:00
Hendrik Leppkes 423089e964 lavf/mxfdec: validate month/day before date formatting
Some implementations of strftime do not like invalid values for
month/day, so ensure it doesn't happen.

Reviewed-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-13 18:07:08 +02:00
Matthieu Bouron c8b3644494 lavf/mxf: fix parsing of timestamps
Correct bit mask for month/day/hour/min/sec values.

For reference the timestamp format specified in S377M is as follow:
  year (int16), month (uint8), day (uint8), hour (uint8), sec (uint8),
  msec (uint8).
A value of 0 for every fields means timestamp "unknown".

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-13 17:26:16 +02:00
Hendrik Leppkes 8da2a3aba3 lavf/mxfdec: use more widely supported time format string
MSVC lacks support for %T and %F, but the standard specifies them
only as shorthands to the long variants.

Reviewed-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-13 16:45:56 +02:00
Hendrik Leppkes cac309611c lavf/mxf: fix parsing of the month from mxf timestamps
Reviewed-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-13 16:02:52 +02:00
Michael Niedermayer 9b672d4017 vf_mp: mp buffers are not compatible with the reference count system
We thus must copy each frame on the vf_mp output.

This fixes artifacts with "ffplay -threads 1 dnxhdconv.mov -vf mp=eq2=1:1"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-13 15:02:51 +02:00
Stefano Sabatini 87dd62e141 lavfi/testsrc: make use of AV_OPT_TYPE_DURATION
Simplify.
2013-04-13 14:09:16 +02:00
Clément Bœsch dcea58502c lavfi: drop now unused shorthand field from AVFilter. 2013-04-13 00:45:30 +02:00
highgod0401 8f99494c1c avutil/opencl: merge opencl env to opencl context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 23:54:40 +02:00
Michael Niedermayer 34b78ad04f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: dsputil: Move some ifdefs to avoid unused variable warnings

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 23:38:41 +02:00
Michael Niedermayer ed3680bc9b Merge commit '2004c7c8f763280ff3ba675ea21cf25396528fd3'
* commit '2004c7c8f763280ff3ba675ea21cf25396528fd3':
  x86: dsputil: cosmetics: Remove two pointless variable indirections

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 23:28:23 +02:00
Clément Bœsch 0bc34ef02e doc/utils: use @code markup for opencl function names. 2013-04-12 23:10:59 +02:00
Michael Niedermayer 694fa0035a Merge commit 'c51a3a5bd9a5b404176ff343ecadb80b2553b256'
* commit 'c51a3a5bd9a5b404176ff343ecadb80b2553b256':
  x86: dsputil: Refactor some ff_{avg|put}_pixels function declarations

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 22:36:31 +02:00
Michael Niedermayer 43bf4ee9a9 Merge commit 'e027032fc6a49db5a4ce12fc3e09ffb86ff20522'
* commit 'e027032fc6a49db5a4ce12fc3e09ffb86ff20522':
  x86: dsputil: ff_h263_*_loop_filter declarations to a more suitable place

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 22:29:30 +02:00
Michael Niedermayer 52bda1d903 Merge commit 'a89c05500f68d94a0269e68bc522abfd420c5497'
* commit 'a89c05500f68d94a0269e68bc522abfd420c5497':
  x86: h264qpel: int --> ptrdiff_t for some line_size parameters

Conflicts:
	libavcodec/x86/qpelbase.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 22:22:27 +02:00
Paul B Mahol a47288f6dc lavfi/hue: add support for more alpha formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-12 19:46:19 +00:00
Michael Niedermayer 9b595e86e3 avdevice/lavfi: add error checking for av_opt_set_int_list()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 20:39:07 +02:00
Michael Niedermayer e87c1cdbb5 ffplay: replace opaque/params for buffersinks
This fixes a regression caused by droping opaque.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 20:39:07 +02:00
Paul B Mahol 047a027d0b lavfi/hue: copy alpha plane too
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-12 18:32:46 +00:00
Clément Bœsch 72ad0d56a1 lavfi/hue: make do while (0) form meaningful. 2013-04-12 20:10:58 +02:00
Stefano Sabatini 9fa3b5b8a8 lavfi/crop: log pos in debug message 2013-04-12 19:16:28 +02:00
Stefano Sabatini 1d86fe6970 lavfi/crop: restore pos constant, and fix "t" variable misplacement in variable array
Fix evaluation of expressions containing the t variable.
2013-04-12 19:15:06 +02:00
Stefano Sabatini 9ae9ae10f9 doc/utils: apply misc fixes to OpenCL docs 2013-04-12 18:21:57 +02:00
Stefano Sabatini 949c8627b6 doc: merge syntax.texi, eval.texi and opencl.texi into utils.texi 2013-04-12 18:21:57 +02:00
Stefano Sabatini b59aa00707 doc/libavutil: remove include of opencl.texi
This is inconsistent with the rest of the docs.
2013-04-12 18:21:57 +02:00
Michael Niedermayer 227b4458fb vf_interlace: fix frame rate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 16:40:35 +02:00
Michael Niedermayer ebbd4fd5f0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  FATE: add a test for the interlace filter
  lavfi: new interlace filter

Conflicts:
	Changelog
	configure
	doc/filters.texi
	libavfilter/Makefile
	libavfilter/allfilters.c
	tests/fate/filter.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 16:32:33 +02:00
Michael Niedermayer 7e68491367 Merge commit '921046008f5335601f9d76dc3a768eb5cd91e1b9'
* commit '921046008f5335601f9d76dc3a768eb5cd91e1b9':
  cmdutils: allow -h filter=<name> to print information about a filter.

Conflicts:
	cmdutils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 16:16:21 +02:00
Michael Niedermayer 608d86013a Merge commit 'e19e8aeeaaff3d4bc8f6065764c93f0298782ac6'
* commit 'e19e8aeeaaff3d4bc8f6065764c93f0298782ac6':
  avtools: move media_type_string() from avprobe to cmdutils.

Conflicts:
	avprobe.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 15:56:20 +02:00
Michael Niedermayer 3dedcef8b8 avfilter: add missing AV_OPT_FLAG_FILTERING_PARAM
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 15:47:16 +02:00
Michael Niedermayer 1007de7033 asetpts: add AVOptions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 15:46:52 +02:00
Michael Niedermayer 292f68154b avfilter: Filter options that are used for both video and audio should have both flags
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 15:45:28 +02:00
Michael Niedermayer f81a8e89a1 Merge commit 'dc574658d15ad8f171dbdecbdce7197acf9424a0'
* commit 'dc574658d15ad8f171dbdecbdce7197acf9424a0':
  avconv: print filter options in -h full output.

Conflicts:
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 15:33:37 +02:00
Michael Niedermayer 7b6c0bda9e Merge commit 'bee2d75b66e2f02e0877796c01202299a4b56cfb'
* commit 'bee2d75b66e2f02e0877796c01202299a4b56cfb':
  avconv: update to the new options syntax.

Conflicts:
	ffmpeg_filter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 15:19:32 +02:00
Michael Niedermayer 9a91c67478 Merge commit 'f160c6a18a574b4c7d063e0a748037cbbd9912ee'
* commit 'f160c6a18a574b4c7d063e0a748037cbbd9912ee':
  lavfi: do not segfault on NULL passed to avfilter_get_by_name()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 15:14:08 +02:00
Michael Niedermayer 835cc0f2e7 Merge commit 'fa2a34cd40d124161c748bb0f430dc63c94dd0da'
* commit 'fa2a34cd40d124161c748bb0f430dc63c94dd0da':
  lavfi: change the filter registering system to match the other libraries

Conflicts:
	cmdutils.c
	ffplay.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h

This removes the ability to put AVFilters in read only memory and having
them shareable.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 15:08:40 +02:00
Michael Niedermayer f4db6bfeb8 Merge commit '7e8fe4be5fb4c98aa3c6a4ed3cec999f4e3cc3aa'
* commit '7e8fe4be5fb4c98aa3c6a4ed3cec999f4e3cc3aa':
  lavfi: add a function for counting elements in AVFilterPad arrays.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 14:49:30 +02:00
Michael Niedermayer 16fc24b240 Merge commit '7cdd737ba81b5c2c9521c4509edf0ac315fabc65'
* commit '7cdd737ba81b5c2c9521c4509edf0ac315fabc65':
  lavfi: mark filters with dynamic number of inputs or outputs with special flags

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 14:30:34 +02:00
Michael Niedermayer 46de9ba598 Merge commit '1ba95a9cca57b023b9b9de071a5671fc05b05e58'
* commit '1ba95a9cca57b023b9b9de071a5671fc05b05e58':
  lavfi: add avfilter_init_dict() for initializing a filter with a dict.

Conflicts:
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 14:25:27 +02:00
Clément Bœsch 6b5ec76283 lavfi: fix forgotten chunk in eb0f774d. 2013-04-12 14:08:04 +02:00
Michael Niedermayer 0acf7e268b avfilter: remove opaque passing hacks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 13:56:03 +02:00
Michael Niedermayer 3fc7b47145 buffersink: switch from opaque to AVOptions for params
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 13:47:40 +02:00
Michael Niedermayer a1e7e02eaf abuffersink: switch from opaque to AVOptions for params
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 13:38:00 +02:00
Clément Bœsch f16a6f667c lavfi/ocv: fix crash with no dilate arguments. 2013-04-12 13:01:17 +02:00
Clément Bœsch 490786c02e lavfi/ocv: fix crash with no filter name specified. 2013-04-12 12:44:23 +02:00
Clément Bœsch 51e71d6e11 lavfi/ocv: fix build after fd6228e65. 2013-04-12 12:37:33 +02:00
Michael Niedermayer 4a88989254 buffersink: remove shorthand
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 12:25:03 +02:00
Michael Niedermayer f1e62af0e0 avfilter: remove mixed args hack for scale.
Our option handling code does not need this hack.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 12:19:48 +02:00
Nicolas George 62d888ef0e ffmpeg: use options for abuffersink.
Also remove unused buffersink_params.

Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 12:11:10 +02:00
Nicolas George e48ded8551 lavfi/buffersink: accept parameters as options.
Move validation from init to query_formats().
Accept the formats lists as binary options.

Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 12:12:51 +02:00
Nicolas George af0d270aac lavu: add helper functions for integer lists.
Add av_int_list_length() to compute a list length.
Add av_opt_set_int_list() to set a binary option.

Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 12:09:51 +02:00
Michael Niedermayer 3d7d819aad avfilter/asrc_aevalsrc: fix return code, 2nd try
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 12:02:06 +02:00
Michael Niedermayer fd6228e657 lavfi: remove now unused args parameter from AVFilter.init and init_opaque
This is mostly automated global search and replace

The deprecated aconvert filter is disabled, if it still has users
it should be updated

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 11:54:39 +02:00
Anton Khirnov d69a4177b9 lavfi: remove now unused args parameter from AVFilter.init
Conflicts:

	libavfilter/avfilter.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_lut.c
	libavfilter/vf_select.c
	libavfilter/vf_setpts.c
	libavfilter/vsrc_color.c
	libavfilter/vsrc_movie.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 11:54:39 +02:00
Michael Niedermayer 491d261ade avfilter/asrc_aevalsrc: check correct variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 11:54:39 +02:00
Clément Bœsch dee2db523d doc/filters: update volume options description. 2013-04-12 11:51:54 +02:00
Paul B Mahol ae8d435ba8 doc/filters: add quick emboss example
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-12 09:47:41 +00:00
Michael Niedermayer 04924bc923 avfilter: remove old shorthand system
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 10:59:12 +02:00
Clément Bœsch 9c5f392cbc doc/cropdetect: update boxblur options description. 2013-04-12 10:59:05 +02:00
Clément Bœsch 9811b7942d doc/crop: update boxblur options description. 2013-04-12 10:59:05 +02:00
Clément Bœsch fc15ad408c doc/filters: update boxblur options description. 2013-04-12 10:59:05 +02:00
Clément Bœsch 8876b0816d doc/filters: update blackframe options description. 2013-04-12 10:59:05 +02:00
Michael Niedermayer 80116b6e67 af_pan: avoid spaces before % to avoid possible issues with MSVC
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 10:52:55 +02:00
Michael Niedermayer 3c821e7550 af_pan: switch to an AVOptions-based shorthand system.
TODO: The first argument can be seperated into its own AVOption

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 10:35:45 +02:00
Серж Нискородов 9470b541e5 af_pan: fix parsing arguments from the example in the documentation
pan=stereo: FL < FL + 0.5*FC + 0.6*BL + 0.6*SL : FR < FR + 0.5*FC +
0.6*BR + 0.6*SR

didn't actually work ('Expected out channel name, got " FL < FL"')
2013-04-12 10:02:01 +02:00
Michael Niedermayer c378ba19b5 abuffer: switch to an AVOptions-based shorthand system.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 09:55:01 +02:00
Michael Niedermayer 16e5e13c7e buffersrc: switch to an AVOptions-based shorthand system.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 09:53:09 +02:00
Diego Biurrun a3cb865310 x86: dsputil: Move some ifdefs to avoid unused variable warnings 2013-04-12 09:36:47 +02:00
Diego Biurrun 2004c7c8f7 x86: dsputil: cosmetics: Remove two pointless variable indirections 2013-04-12 09:36:47 +02:00
Diego Biurrun c51a3a5bd9 x86: dsputil: Refactor some ff_{avg|put}_pixels function declarations 2013-04-12 09:36:46 +02:00
Diego Biurrun e027032fc6 x86: dsputil: ff_h263_*_loop_filter declarations to a more suitable place 2013-04-12 09:36:46 +02:00
Pavel Koshevoy 8f3c440a39 lavfi/atempo: switch to an AVOptions-based system.
Signed-off-by: Pavel Koshevoy <pkoshevoy@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 09:31:33 +02:00
Diego Biurrun a89c05500f x86: h264qpel: int --> ptrdiff_t for some line_size parameters 2013-04-12 09:30:12 +02:00
Michael Niedermayer 9ab796127a avfilter: Update scale to dictionary based options
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 02:34:40 +02:00
Michael Niedermayer 710b0aa801 Merge commit '48a5adab62bd2a553f5069d41fa632a0701835e5'
* commit '48a5adab62bd2a553f5069d41fa632a0701835e5':
  lavfi: add avfilter_init_str() to replace avfilter_init_filter().

avfilter_graph_create_filter() opaque is still passed to avfilter_init_filter()
which continues to pass it to init_opaque as its still used in the buffer sinks
the sinks should be changed and the opaque passing removed

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 01:31:55 +02:00
Michael Niedermayer eb0f774d4b Merge commit '1565cbc65cbb9f95c11367314a080068895e0cf0'
* commit '1565cbc65cbb9f95c11367314a080068895e0cf0':
  lavfi: make avfilter_free() remove the filter from its graph.

Conflicts:
	libavfilter/avfilter.c
	libavfilter/avfiltergraph.c
	libavfilter/graphparser.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 00:54:05 +02:00
Michael Niedermayer 4fde705396 Merge commit '111367263af41c88a44bd763ceefc11d53a7f655'
* commit '111367263af41c88a44bd763ceefc11d53a7f655':
  lavfi: add AVFilterContext.graph.

Conflicts:
	libavfilter/avfilter.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 00:44:18 +02:00
Michael Niedermayer 5c68e14e42 Merge commit 'c2c9801bc9bce688d51d1a96f5f3ea93933e2dee'
* commit 'c2c9801bc9bce688d51d1a96f5f3ea93933e2dee':
  lavfi: deprecate avfilter_graph_add_filter().

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 00:39:09 +02:00
Michael Niedermayer 86070b8e5a Merge commit 'bc1a985ba030e9861d24965d42792850b43a43ea'
* commit 'bc1a985ba030e9861d24965d42792850b43a43ea':
  lavfi: replace avfilter_open() with avfilter_graph_alloc_filter().

Conflicts:
	libavfilter/avfiltergraph.c
	libavfilter/internal.h
	libavfilter/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 00:31:44 +02:00
Stefano Sabatini 9da369604e lavfi/overlay: improve feedback in case of invalid expression
Based on vf_hue.c code.
2013-04-12 00:18:39 +02:00
Stefano Sabatini fdedfc029b doc/filters: rework Commands section for overlay filter 2013-04-12 00:18:39 +02:00
Stefano Sabatini b2e22731e4 doc/filters: apply minor fixes to hue Commands section 2013-04-12 00:18:32 +02:00
Stefano Sabatini aff6cebb41 lavfi/overlay: fix crash in case of invalid expression 2013-04-12 00:09:41 +02:00
Stefano Sabatini ed2c827575 lavfi/overlay: add repeatlast option 2013-04-12 00:09:19 +02:00
Stefano Sabatini a77454ec14 lavfi/overlay: reindent constants in option list
Wanted-By: ubitux
2013-04-12 00:07:46 +02:00
Michael Niedermayer 231fd4411f Merge commit '38f0c0781a6e099f11c0acec07f9b8be742190c4'
* commit '38f0c0781a6e099f11c0acec07f9b8be742190c4':
  lavfi: merge avfiltergraph.h into avfilter.h

Conflicts:
	doc/APIchanges
	ffmpeg_filter.c
	libavfilter/avfilter.h
	libavfilter/avfiltergraph.h
	libavfilter/version.h
	tools/graph2dot.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 23:50:39 +02:00
Clément Bœsch 9110f95985 doc/filters: use -af and -filter_complex instead of amovie for two examples. 2013-04-11 23:47:12 +02:00
Michael Niedermayer 9f3ae7aafd Merge commit '4a37d4b3f8137a4c2bbbca043de076af966b9446'
* commit '4a37d4b3f8137a4c2bbbca043de076af966b9446':
  lavfi: add const to the pads parameter of avfilter_pad_get_name/type
  lavfi: add const to AVFilterContext.filter.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 23:31:01 +02:00
Clément Bœsch 838d803155 lavfi/mp: switch to an AVOptions-based system. 2013-04-11 23:27:12 +02:00
Michael Niedermayer 70b72ca6f3 doc/encoders: Clarify that there are 2 prores encoders
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 23:13:34 +02:00
Michael Niedermayer b3c3996212 avcodec: rename prores encoders
Using the first names of authors sounds somewhat unprofessional
and might be considered offensive which is not intended.
The new names use the initials of the authors due to simplicity
and the possibility to apply it consistently without the need
to find political correct names for each future case where
alternative codecs might exist. Also its shorter ...

If someone has a better idea, like maybe 2 random letters
and people prefer it then iam happy to switch to that ...

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 23:13:34 +02:00
Stefano Sabatini d980641ec4 doc/filters: fix fade-out hue saturation expression in sendcmd example 2013-04-11 23:03:18 +02:00
Stefano Sabatini 9ad27cd447 doc/filters: update hue command syntax after recent update 2013-04-11 23:03:18 +02:00
Clément Bœsch 7bd014eaec lavfi/aspect: fix d2q convert in init.
Regression since git 71ef1ec7b.
2013-04-11 22:46:47 +02:00
Michael Niedermayer 97104aa011 Merge commit 'f223ad1e000d56ef5231a3b1fc00495b538a9ed6'
* commit 'f223ad1e000d56ef5231a3b1fc00495b538a9ed6':
  doc: document the prores encoder options

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 22:36:12 +02:00
Michael Niedermayer b2175b0f2a Merge commit '93e65e9a6c0895f869752a66731d9b2ec3916467'
* commit '93e65e9a6c0895f869752a66731d9b2ec3916467':
  Cosmetics, restore alphabetic order in atomics lists.

Conflicts:
	libavutil/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 22:22:06 +02:00
Clément Bœsch 9ab221f8d8 lavfi: deprecate aconvert.
This filter is not required anymore with aformat. Drop it at next bump.
2013-04-11 22:13:45 +02:00
Clément Bœsch 71ef1ec7b4 lavfi/aspect: switch to an AVOptions-based system.
This is heavily based on 2831b307 by Anton Khirnov <anton@khirnov.net>
2013-04-11 22:05:03 +02:00
Michael Niedermayer 647fe2e777 Merge commit '9e6b5e61a0c91e25e298d0a21b189c4c95443795'
* commit '9e6b5e61a0c91e25e298d0a21b189c4c95443795':
  img2enc: add an option for overwriting one file with subsequent images

Conflicts:
	doc/muxers.texi
	libavformat/img2enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 21:50:53 +02:00
Stefano Sabatini 976e3439ed lavfi/flite: switch to AVOption-based system 2013-04-11 21:37:48 +02:00
Stefano Sabatini 160ed967f4 lavfi/hue: extend debugging message
In particular, show h value in degrees.
2013-04-11 21:37:43 +02:00
Stefano Sabatini 3411aba82c lavfi/hue: reindent after last commit 2013-04-11 21:37:35 +02:00
Stefano Sabatini e4fd58f472 lavfi/hue: apply major simplifications, and switch to AVOption-based system
This also drops support for "flat syntax" and "reinit" command.

"reinit" command is not very robust and complicates the logic more than
necessary, since requires to reset all the options in the command.

*This is a syntax break*.
2013-04-11 21:37:19 +02:00
Vittorio Giovara 25882a7ff6 FATE: add a test for the interlace filter
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-04-11 21:33:58 +02:00
Vittorio Giovara 3fce136798 lavfi: new interlace filter
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-04-11 21:33:07 +02:00
Clément Bœsch c36ab01cd2 lavfi/ebur128: remove now unused av_opt_free call. 2013-04-11 20:52:41 +02:00
Anton Khirnov 921046008f cmdutils: allow -h filter=<name> to print information about a filter. 2013-04-11 20:46:11 +02:00
Anton Khirnov e19e8aeeaa avtools: move media_type_string() from avprobe to cmdutils.
It will be useful outside of avprobe.
2013-04-11 20:46:04 +02:00
Anton Khirnov dc574658d1 avconv: print filter options in -h full output. 2013-04-11 20:45:55 +02:00
Anton Khirnov bee2d75b66 avconv: update to the new options syntax.
The separators were changed from ',' to '|' in all the filters.
2013-04-11 20:44:45 +02:00
Anton Khirnov f160c6a18a lavfi: do not segfault on NULL passed to avfilter_get_by_name() 2013-04-11 20:44:35 +02:00
Anton Khirnov fa2a34cd40 lavfi: change the filter registering system to match the other libraries
Removes an arbitrary hardcoded limit on the number of filters.
2013-04-11 20:44:03 +02:00
Anton Khirnov 7e8fe4be5f lavfi: add a function for counting elements in AVFilterPad arrays.
The caller needs to know what valid indices can be passed to
avfilter_pad_get_name/type.
2013-04-11 20:43:47 +02:00
Anton Khirnov 7cdd737ba8 lavfi: mark filters with dynamic number of inputs or outputs with special flags
This will be useful in avtools in the following commits.
Any other caller might also want to know this information.
2013-04-11 20:42:41 +02:00
Michael Niedermayer 4f43e9b4af avfilter/aresample: use init_dict system and set child AVOption context correctly
Parts of this commit are based on: 4fa1f52e

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 20:40:59 +02:00
Michael Niedermayer f6bfeef7fa avfilter: fix handing of child context options
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 20:40:30 +02:00
Anton Khirnov 1ba95a9cca lavfi: add avfilter_init_dict() for initializing a filter with a dict. 2013-04-11 20:40:20 +02:00
Anton Khirnov 48a5adab62 lavfi: add avfilter_init_str() to replace avfilter_init_filter().
Drop the unused opaque parameter from its signature.
2013-04-11 20:39:13 +02:00
Anton Khirnov 1565cbc65c lavfi: make avfilter_free() remove the filter from its graph. 2013-04-11 20:38:48 +02:00
Anton Khirnov 111367263a lavfi: add AVFilterContext.graph.
It will be useful in the following commits.
2013-04-11 20:38:23 +02:00
Anton Khirnov c2c9801bc9 lavfi: deprecate avfilter_graph_add_filter().
Since this function adds a standalone filter to a filter graph and we do
not support creating such filters, there is no reason for this function
to exist.
2013-04-11 20:36:42 +02:00
Anton Khirnov bc1a985ba0 lavfi: replace avfilter_open() with avfilter_graph_alloc_filter().
Since we do not support "standalone" filters not attached to an
AVFilterGraph, we should not have a public function to create such
filters. In addition that function is horribly named, the action it does
cannot be possibly described as "opening" a filter.
2013-04-11 20:34:14 +02:00
Anton Khirnov 38f0c0781a lavfi: merge avfiltergraph.h into avfilter.h
We do not support using filters without AVFilterGraph in practice
anyway, so there is no point in pretending we do.
2013-04-11 20:33:33 +02:00
Anton Khirnov 4a37d4b3f8 lavfi: add const to the pads parameter of avfilter_pad_get_name/type 2013-04-11 20:33:23 +02:00
Anton Khirnov 91d2efa7d6 lavfi: add const to AVFilterContext.filter.
lavfi should never modify the filter through that pointer.
2013-04-11 20:32:39 +02:00
Clément Bœsch c1907bd732 lavfi/removelogo: switch to an AVOptions-based system. 2013-04-11 18:49:46 +02:00
Tobias Rapp 7f09b888e8 avienc: fix overflow of audio sample count
Fixes an overflow of the sample count field within the audio stream header
chunk if audio stream data exceeds 2GB.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 18:33:24 +02:00
Michael Niedermayer 865e20daf3 avfilter/f_select: use AVFrame metadata accessor function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 18:33:24 +02:00
Clément Bœsch c74b0eda34 lavfi/amerge: switch to an AVOptions-based system. 2013-04-11 18:31:01 +02:00
Clément Bœsch eabc0c733d ffmpeg: insert format filter with the appropriate separator.
Similar to 937325f3.
2013-04-11 18:05:46 +02:00
Clément Bœsch 23a750c994 lavfi: do not warn inappropriately with aevalsrc. 2013-04-11 18:01:12 +02:00
Clément Bœsch 937325f3db ffmpeg: insert aformat filter with the appropriate separator.
The ',' separator is deprecated with aformat, and thus causes various
arnings when transcoding audio.
2013-04-11 17:51:22 +02:00
Clément Bœsch 64ce15b9f4 lavfi/aevalsrc: switch to an AVOptions-based system. 2013-04-11 17:28:02 +02:00
James Almer 94d13df34c Fix compilation with --disable-everything --enable-filter=deshake
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 16:33:02 +02:00
Stephen Hutchinson ff99b42e04 avformat/avisynth: Don't insert null frames or samples at the start of a stream.
This is the last remaining issue from ticket #2412

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 16:32:14 +02:00
Paul B Mahol d185343687 libshine fixed point MP3 encoding support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-11 14:27:59 +00:00
Michael Niedermayer fb78b94c3a cmdutils_common_opts: fix indention of #if
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 16:07:46 +02:00
Michael Niedermayer 0a95449d2f cmdutils: remove unneeded #if
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 16:07:11 +02:00
highgod0401 d757f7510b cmdutils: add opencl command line options to ffmpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 16:05:19 +02:00
Paul B Mahol 567feaafa8 lavfi/bbox: remove unused variables and functions
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-11 14:02:59 +00:00
Michael Niedermayer 580a0600ef Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Move misplaced file author information where it belongs

Conflicts:
	libavcodec/adpcm.c
	libavcodec/adpcmenc.c
	libavcodec/gif.c
	libavcodec/x86/dsputilenc_mmx.c
	libavcodec/x86/fmtconvert_init.c
	libavformat/au.c
	libavformat/gif.c
	libavformat/mov.c
	libavformat/nsvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 15:56:18 +02:00
Clément Bœsch ad9e66a565 lavfi: add pp to the ':'-to-'|' compat layer. 2013-04-11 15:52:46 +02:00
Michael Niedermayer cf7d3846fc Merge commit '9de9b828ef005dec37052548c195a6b4f18fc701'
* commit '9de9b828ef005dec37052548c195a6b4f18fc701':
  lavc: don't overwrite display dimensions with coded dimensions.
  lavc: extend / update the [coded_]{width,height} doxy

Conflicts:
	libavcodec/avcodec.h
	libavcodec/utils.c

The change to the w/h handling is not merged as it breaks lowres

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 15:42:32 +02:00
Clément Bœsch e2e992c077 lavfi/asetnsamples: switch to an AVOptions-based system. 2013-04-11 15:40:15 +02:00
Clément Bœsch 1c0feee059 lavfi/anullsrc: switch to an AVOptions-based system. 2013-04-11 15:21:40 +02:00
Clément Bœsch 7464b9e319 lavfi: remove bbox from the filters left to update.
The filter doesn't take any option and thus works with the new system.
2013-04-11 15:14:07 +02:00
Paul B Mahol 11f6174a91 lavfi/blend: support more yuv pixel formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-11 13:10:11 +00:00
Clément Bœsch 7fdebb116c lavfi/astreamsync: switch to an AVOptions-based system. 2013-04-11 15:09:25 +02:00
Clément Bœsch 2fb8ca7d2c lavfi/astreamsync: fix eval memleak. 2013-04-11 15:09:25 +02:00
Michael Niedermayer 5ec016ad0b Merge commit '20429ba96e55db17ac57f6c0e330914287f1f614'
* commit '20429ba96e55db17ac57f6c0e330914287f1f614':
  h261: Move encoder/decoder shared table init to common code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 14:48:27 +02:00
Clément Bœsch ab4afcb85b lavfi/blackdetect: switch to an AVOptions-based system. 2013-04-11 14:48:19 +02:00
Clément Bœsch 7eb1ea2ae6 lavfi/sendcmd: switch to an AVOptions-based system. 2013-04-11 14:40:02 +02:00
Clément Bœsch 389eb0a919 lavfi/testsrc: remove useless args/NULL passing. 2013-04-11 14:36:50 +02:00
Michael Niedermayer dd97736d4f avfilter: add missing ,
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 14:31:10 +02:00
Michael Niedermayer 567616c1b3 Merge commit '8a776ad90e00ab2b98e8683ac6182d641a383c3a'
* commit '8a776ad90e00ab2b98e8683ac6182d641a383c3a':
  h261: Move shared data tables from a header to a proper C file

Conflicts:
	libavcodec/Makefile
	libavcodec/h261data.c
	libavcodec/h261dec.c
	libavcodec/h261enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 14:25:38 +02:00
Paul B Mahol 38d1a5a270 lavfi/smptebars: switch to AVOptions-based system
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-11 12:22:42 +00:00
Clément Bœsch 3c2e4c2a9b lavfi/showwaves: switch to an AVOptions-based system. 2013-04-11 14:18:44 +02:00
Clément Bœsch 38788f2de5 lavfi: replace new filter list with filters left to update. 2013-04-11 14:06:39 +02:00
highgod0401 d83c481dc0 MAINTAINERS: add opencl maintainer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 13:42:07 +02:00
Marton Balint f1e606c762 mxfdec: update current edit unit when seeking in mxf files without index tables
Fixes audio packet pts values in some files generated by AVID TRMG 3.01.

Signed-off-by: Marton Balint <cus@passwd.hu>
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 13:35:58 +02:00
Michael Niedermayer eeb6efcd58 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  fate: add tests for unknown channel layouts.
  lavfi/buffersrc: update for compatibility with the fork.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 13:28:24 +02:00
Paul B Mahol 32a7b858c9 lavfi: remove telecine libmpcodecs wrapper
Native, with more features, filter is available.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-11 11:22:11 +00:00
Paul B Mahol 10b1cc63c2 lavfi: remove double .priv_class initializers
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-11 11:13:42 +00:00
Paul B Mahol 661e284b4a telecine filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-11 11:12:39 +00:00
Nicolas George 08dd2c9df1 fate: add tests for unknown channel layouts. 2013-04-11 13:09:33 +02:00
Nicolas George 0d58bbb28d lavfi/buffersrc: update for compatibility with the fork.
Merge and adapt commit d28cb84 by Anton Khirnov.
2013-04-11 13:09:10 +02:00
Clément Bœsch 2844ea86c8 lavfi/curves: introduce "all" field in presets and use it. 2013-04-11 13:05:06 +02:00
Clément Bœsch 7e7dc1489f lavfi/curves: make possible to customize presets. 2013-04-11 13:05:06 +02:00
Clément Bœsch a1e798ef0a lavfi/curves: fix a spacing weirdness. 2013-04-11 13:05:06 +02:00
Michael Niedermayer c66c92add6 doc/opencl: speling and gramer fixes
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 13:00:04 +02:00
highgod0401 9d442b9cc0 opencl: add spec opencl device APIs 20130411
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 12:46:34 +02:00
Anton Khirnov f223ad1e00 doc: document the prores encoder options
Adapted from the author's blag.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-04-11 12:42:09 +02:00
Clément Bœsch 4c9b031559 lavfi/smartblur: cleanup unused shorthand and doc. 2013-04-11 12:41:13 +02:00
Clément Bœsch fcaea2170f lavfi/overlay: cleanup unused shorthand. 2013-04-11 12:41:13 +02:00
Clément Bœsch 3417280b57 lavfi/field: cleanup unused shorthand and doc. 2013-04-11 12:41:13 +02:00
Paul B Mahol 310bf28354 mss4: make code independent of sizeof(AVFrame)
Also fixes #2455.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-11 10:40:15 +00:00
Paul B Mahol b6d5a948f9 mss4: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-11 10:40:15 +00:00
Michael Niedermayer 742c392885 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dsputil: Make dsputil selectable

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/x86/Makefile
	libavcodec/x86/constants.c
	libavcodec/x86/dsputil_mmx.c
	libavcodec/x86/dsputil_mmx.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 12:32:29 +02:00
Anton Khirnov 93e65e9a6c Cosmetics, restore alphabetic order in atomics lists. 2013-04-11 12:31:14 +02:00
Anton Khirnov 9e6b5e61a0 img2enc: add an option for overwriting one file with subsequent images
Based on a patch by Michael Niedermayer <michaelni@gmx.at>.
2013-04-11 12:30:44 +02:00
Michael Niedermayer 65120f628c Merge commit '85deb51a01f1ecc5ac5faa52ad8ea141c384e23a'
* commit '85deb51a01f1ecc5ac5faa52ad8ea141c384e23a':
  h264: Only initialize dsputil if error resilience is enabled

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 12:00:05 +02:00
Michael Niedermayer a87e85fa72 Merge remote-tracking branch 'ubitux/shorthand-cleanup'
* ubitux/shorthand-cleanup:
  lavfi/setfield: switch to an AVOptions-based system.
  lavfi/asettb: switch to an AVOptions-based system.
  lavfi/aselect: switch to an AVOptions-based system.
  lavfi/sine: switch to an AVOptions-based system.
  lavfi/deshake: switch to an AVOptions-based system.
  lavfi/tinterlace: switch to an AVOptions-based system.
  lavfi/tile: switch to an AVOptions-based system.
  lavfi/concat: switch to an AVOptions-based system.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 11:54:10 +02:00
Clément Bœsch 77add967a5 lavfi/setfield: switch to an AVOptions-based system. 2013-04-11 11:53:53 +02:00
Clément Bœsch 73c1a00e73 lavfi/asettb: switch to an AVOptions-based system. 2013-04-11 11:53:53 +02:00
Michael Niedermayer 0724b4a16d Merge commit '62844c3fd66940c7747e9b2bb7804e265319f43f'
* commit '62844c3fd66940c7747e9b2bb7804e265319f43f':
  h264: Integrate clear_blocks calls with IDCT

Conflicts:
	libavcodec/arm/h264idct_neon.S
	libavcodec/h264idct_template.c
	libavcodec/x86/h264_idct.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 11:53:19 +02:00
Clément Bœsch cb2327e88d lavfi/aselect: switch to an AVOptions-based system. 2013-04-11 11:51:48 +02:00
Clément Bœsch bca4cafaf2 lavfi/sine: switch to an AVOptions-based system. 2013-04-11 11:51:48 +02:00
Clément Bœsch 9ceb7bdf6f lavfi/deshake: switch to an AVOptions-based system. 2013-04-11 11:51:48 +02:00
Clément Bœsch c85f56bb4f lavfi/tinterlace: switch to an AVOptions-based system. 2013-04-11 11:51:48 +02:00
Clément Bœsch 64a103138c lavfi/tile: switch to an AVOptions-based system. 2013-04-11 11:51:47 +02:00
Clément Bœsch 35a27402ad lavfi/concat: switch to an AVOptions-based system. 2013-04-11 11:51:47 +02:00
Michael Niedermayer 944ad46182 Merge commit 'e8cafd2773bc56455c8816593cbd9368f2d69a80'
* commit 'e8cafd2773bc56455c8816593cbd9368f2d69a80':
  h264: Clear the mb members via memset instead of using dsputil

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 11:40:05 +02:00
Michael Niedermayer 3bc3c78a59 Merge commit '6d25c9db11e87ec58652de6588448225137b0c57'
* commit '6d25c9db11e87ec58652de6588448225137b0c57':
  dsputil: Make square put/avg_pixels functions local to h264qpel

Conflicts:
	libavcodec/dsputil.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 11:26:43 +02:00
Michael Niedermayer cb20ca14a3 Merge commit '2e81acc687e64d15dd93c74793060bb5a233f44d'
* commit '2e81acc687e64d15dd93c74793060bb5a233f44d':
  x86inc: Fix number of operands for cmp* instructions
  af_channelmap: fix uninitialized variable use introduced in ba8efac977
  lavfi: add a bump and docs entries for the AVOptions switch

Conflicts:
	Changelog
	doc/APIchanges
	libavfilter/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 11:20:55 +02:00
Michael Niedermayer d7e8b3d831 Merge remote-tracking branch 'ubitux/lavfi-mixed-short-long'
* ubitux/lavfi-mixed-short-long:
  lavfi: restore mixed short/long option support with the new system.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 11:09:51 +02:00
Michael Niedermayer 44d4488301 Merge commit '8114c101607843a86960bd3e0e9c40487dc2a961'
* commit '8114c101607843a86960bd3e0e9c40487dc2a961':
  lavfi: add avfilter_get_class().

Conflicts:
	libavfilter/avfilter.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 10:59:06 +02:00
Clément Bœsch b89ce54e74 lavfi: restore mixed short/long option support with the new system.
process_unnamed_options() is renamed to process_options() and its code
is heavily based on av_opt_set_from_string().
2013-04-11 10:48:58 +02:00
Michael Niedermayer 0965be00fe Merge commit '4d1f31ea44f82adfb2b712534d71e27233a4f785'
* commit '4d1f31ea44f82adfb2b712534d71e27233a4f785':
  lavfi: make AVFilterContext export filter options.

Conflicts:
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 10:42:49 +02:00
Michael Niedermayer c7b0a84e1f Merge commit '62549f9655c48f0ec061087fa33a96040ce01145'
* commit '62549f9655c48f0ec061087fa33a96040ce01145':
  lavfi: error out when options are provided to a filter that does not take any

Conflicts:
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 10:34:05 +02:00
Michael Niedermayer 31428240ec Merge commit 'c43a7ecad997fc527af34b952334f3d030709a1b'
* commit 'c43a7ecad997fc527af34b952334f3d030709a1b':
  lavfi: remove now unused args parameter from AVFilter.init

Conflicts:
	libavfilter/avfilter.c
	libavfilter/buffersrc.c
	libavfilter/f_select.c
	libavfilter/src_movie.c
	libavfilter/vf_alphamerge.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_lut.c

Not merged (yet) because there are still many filters that use the args
parameter.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 10:25:42 +02:00
Michael Niedermayer ef29a95a4d Merge commit '7b3eb745b98b04dd8a4970b9fd6c98998e858fc1'
* commit '7b3eb745b98b04dd8a4970b9fd6c98998e858fc1':
  vsrc_testsrc: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vsrc_testsrc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 10:02:07 +02:00
highgod0401 db2de94e95 avutil/opencl: add opencl device list APIs 20130411
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 03:48:57 +02:00
Michael Niedermayer 3a3d984445 Merge commit 'a42d6e6c4c19912b73cae8ca9133b4202667c303'
* commit 'a42d6e6c4c19912b73cae8ca9133b4202667c303':
  vsrc_movie: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/src_movie.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 03:41:08 +02:00
Michael Niedermayer 670e0f7f66 Merge commit 'b7b3302f8f2c7d9f6e08e0a976890eefe3edcc9e'
* commit 'b7b3302f8f2c7d9f6e08e0a976890eefe3edcc9e':
  vsrc_nullsrc: switch to an AVOptions-based system.

Conflicts:
	libavfilter/vsrc_nullsrc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 03:20:43 +02:00
Michael Niedermayer 8bafd83aaa Merge commit '7bc1a883c9158bb6e383d86fc76bdf2541e9a9fe'
* commit '7bc1a883c9158bb6e383d86fc76bdf2541e9a9fe':
  vsrc_color: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vsrc_color.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 03:10:43 +02:00
Michael Niedermayer 7f2198a2f1 Merge commit '73d5d405d424c06f3f354337cfdb24794932094d'
* commit '73d5d405d424c06f3f354337cfdb24794932094d':
  split: switch to an AVOptions-based system.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 02:50:21 +02:00
Michael Niedermayer ae6634da8b Merge commit 'b13623e184759f37348b8fdb1276b1bb408f3e59'
* commit 'b13623e184759f37348b8fdb1276b1bb408f3e59':
  af_volume: switch to an AVOptions-based system.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 02:44:13 +02:00
Diego Biurrun ac9362c5d9 Move misplaced file author information where it belongs 2013-04-11 02:42:11 +02:00
Michael Niedermayer 8905a811b7 Merge remote-tracking branch 'richardpl/biquads'
* richardpl/biquads:
  lavfi/biquads: switch to an AVOptions-based system

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 02:38:05 +02:00
Michael Niedermayer 42c70b3584 Merge commit 'dd7fc37c71955b78a2687f29e871f714d18de386'
* commit 'dd7fc37c71955b78a2687f29e871f714d18de386':
  af_join: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/af_join.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 02:37:43 +02:00
Paul B Mahol e6067acc8d lavfi/biquads: switch to an AVOptions-based system
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-11 00:34:19 +00:00
Michael Niedermayer 5e5ef6e8ae Merge remote-tracking branch 'richardpl/framestep'
* richardpl/framestep:
  lavfi/framestep: remove request_frame hack
  lavfi/framestep: switch to an AVOptions-based system

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 02:31:14 +02:00
Paul B Mahol 7c79ec66b6 lavfi/framestep: remove request_frame hack
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-11 00:18:28 +00:00
Paul B Mahol f77db72965 lavfi/framestep: switch to an AVOptions-based system
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-11 00:18:28 +00:00
Michael Niedermayer f17651bd16 Merge commit '3f14febbdf7c93bbd186399da27991180e5916b6'
* commit '3f14febbdf7c93bbd186399da27991180e5916b6':
  af_channelsplit: switch to an AVOptions-based system.

Conflicts:
	libavfilter/af_channelsplit.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 02:17:28 +02:00
Michael Niedermayer d9d7c54960 Merge commit 'ba8efac977f4276f05274947b2b67d144cbc965a'
* commit 'ba8efac977f4276f05274947b2b67d144cbc965a':
  af_channelmap: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/af_channelmap.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 02:10:12 +02:00
Michael Niedermayer 5714812237 Merge remote-tracking branch 'mbouron/shorthand-cleanup'
* mbouron/shorthand-cleanup:
  lavfi/aphaser: switch to AVOption-based system
  lavfi/apad: switch to AVOption-based system
  lavfi/afade: switch to AVOption-base system
  lavfi/blend: switch to AVOption-based system

Conflicts:
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 01:53:08 +02:00
Michael Niedermayer ac217bda30 Merge commit 'b2b25b0659fa047da6266d2ce165d43011136b30'
* commit 'b2b25b0659fa047da6266d2ce165d43011136b30':
  af_asyncts: switch to an AVOptions-based system.

Conflicts:
	libavfilter/af_asyncts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 01:42:28 +02:00
Matthieu Bouron f43da3def7 lavfi/aphaser: switch to AVOption-based system 2013-04-11 01:37:57 +02:00
Michael Niedermayer 314be1933e Merge commit 'ac20e3ab8ed497549ee2a62754f01eee5e7a5066'
* commit 'ac20e3ab8ed497549ee2a62754f01eee5e7a5066':
  af_amix: switch to an AVOptions-based system.

Conflicts:
	libavfilter/af_amix.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 01:32:08 +02:00
Matthieu Bouron a5ce5ac9fb lavfi/apad: switch to AVOption-based system 2013-04-11 01:31:08 +02:00
Matthieu Bouron 2b17e58163 lavfi/afade: switch to AVOption-base system 2013-04-11 01:25:02 +02:00
Matthieu Bouron 6afed2aec1 lavfi/blend: switch to AVOption-based system 2013-04-11 01:25:02 +02:00
Michael Niedermayer ab6091f8e2 Merge commit '7536c671040f1f3ebc9f0d3b7831dac71436b775'
* commit '7536c671040f1f3ebc9f0d3b7831dac71436b775':
  vf_yadif: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_yadif.c
	libavfilter/yadif.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 01:18:18 +02:00
Michael Niedermayer 8ac7090c23 Merge remote-tracking branch 'ubitux/shorthand-cleanup'
* ubitux/shorthand-cleanup:
  lavfi/idet: switch to an AVOptions-based system.
  lavfi/histogram: switch to an AVOptions-based system.
  lavfi/stereo3d: switch to an AVOptions-based system.
  lavfi/noise: switch to an AVOptions-based system.
  lavfi/histeq: switch to an AVOptions-based system.

Conflicts:
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 01:05:14 +02:00
Clément Bœsch 7668b6832d lavfi/idet: switch to an AVOptions-based system. 2013-04-11 01:04:45 +02:00
Clément Bœsch b2d589188f lavfi/histogram: switch to an AVOptions-based system. 2013-04-11 01:04:45 +02:00
Clément Bœsch d5226fc575 lavfi/stereo3d: switch to an AVOptions-based system. 2013-04-11 01:04:45 +02:00
Clément Bœsch a689a6b698 lavfi/noise: switch to an AVOptions-based system. 2013-04-11 01:04:45 +02:00
Clément Bœsch e4bd1db88e lavfi/histeq: switch to an AVOptions-based system. 2013-04-11 01:04:44 +02:00
Michael Niedermayer 72ce979f10 Merge remote-tracking branch 'mbouron/shorthand-cleanup'
* mbouron/shorthand-cleanup:
  lavfi/kerndeint: switch to AVOption-based system
  lavfi/il: switch to AVOption-based system

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 01:03:08 +02:00
Michael Niedermayer c2696dabbb Merge commit 'b83e9efc53e5491716625aa31c69006b1119b280'
* commit 'b83e9efc53e5491716625aa31c69006b1119b280':
  vf_unsharp: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_unsharp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 01:02:07 +02:00
Matthieu Bouron 531158e6be lavfi/kerndeint: switch to AVOption-based system 2013-04-11 00:55:45 +02:00
Michael Niedermayer b4ffc35e76 Merge remote-tracking branch 'ubitux/shorthand-cleanup'
* ubitux/shorthand-cleanup:
  lavfi/mptestsrc: switch to an AVOptions-based system.
  lavfi/mandelbrot: switch to an AVOptions-based system.
  lavfi/life: switch to an AVOptions-based system.
  lavfi/cellauto: switch to an AVOptions-based system.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 00:37:32 +02:00
Michael Niedermayer a4e0defa75 Merge commit '0c2466dec719b933d161f5d680a57fde38aa5daa'
* commit '0c2466dec719b933d161f5d680a57fde38aa5daa':
  vf_transpose: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_transpose.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 00:33:31 +02:00
Matthieu Bouron 6f46403cb0 lavfi/il: switch to AVOption-based system 2013-04-11 00:31:25 +02:00
Clément Bœsch 4ecee69b20 lavfi/mptestsrc: switch to an AVOptions-based system. 2013-04-11 00:21:47 +02:00
Clément Bœsch 791da4706c lavfi/mandelbrot: switch to an AVOptions-based system. 2013-04-11 00:21:47 +02:00
Clément Bœsch bd85fee914 lavfi/life: switch to an AVOptions-based system. 2013-04-11 00:21:47 +02:00
Clément Bœsch 169880e31d lavfi/cellauto: switch to an AVOptions-based system. 2013-04-11 00:21:47 +02:00
Stefano Sabatini cff8f91ddf lavfi/decimate: switch to an AVOption-based system 2013-04-11 00:20:01 +02:00
Stefano Sabatini 2040b428b4 lavfi/field: switch to AVOption-based system
Also remove mention to syntax explanation which is or will be redundant
and possibly confusing.
2013-04-11 00:16:25 +02:00
Michael Niedermayer 6a2fb5b90c Merge commit 'ffea3b00c39caa8ad78456ae08c8353929974dfd'
* commit 'ffea3b00c39caa8ad78456ae08c8353929974dfd':
  vf_settb: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/f_settb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 00:10:59 +02:00
Stefano Sabatini 8695d9de47 lavfi/smarblur: add missing newline at end of verbose message 2013-04-11 00:04:27 +02:00
Stefano Sabatini 2ffee3ec14 lavfi/smartblur: switch to AVOption-based system 2013-04-11 00:04:27 +02:00
Michael Niedermayer f42635a50b Merge commit '33b97faaba2744f0a2fd65c0ef9ecc2de3fad7ff'
* commit '33b97faaba2744f0a2fd65c0ef9ecc2de3fad7ff':
  vf_setpts: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/f_setpts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 23:49:58 +02:00
Michael Niedermayer 270d3c96ec Merge remote-tracking branch 'ubitux/shorthand-cleanup'
* ubitux/shorthand-cleanup:
  lavfi/subtitles: switch to an AVOptions-based system.
  lavfi/pp: switch to an AVOptions-based system.
  lavfi/geq: switch to an AVOptions-based system.
  lavfi/edgedetect: switch to an AVOptions-based system.
  lavfi/curves: switch to an AVOptions-based system.
  lavfi/colormatrix: switch to an AVOptions-based system.
  lavfi/perms: switch to an AVOptions-based system.
  lavfi/ebur128: switch to an AVOptions-based system.
  lavfi/showspectrum: switch to an AVOptions-based system.
  lavfi/silencedetect: switch to an AVOptions-based system.
  lavfi/thumbnail: switch to an AVOptions-based system.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 23:29:05 +02:00
Michael Niedermayer b3fb2d8cec Merge commit '95f1f56a21bc2f824af6fb97ca7ab35cdd0c401e'
* commit '95f1f56a21bc2f824af6fb97ca7ab35cdd0c401e':
  vf_select: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/f_select.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 23:24:48 +02:00
Clément Bœsch e2b0edb6ac lavfi/subtitles: switch to an AVOptions-based system. 2013-04-10 23:16:03 +02:00
Clément Bœsch 8da1fff85a lavfi/pp: switch to an AVOptions-based system.
Also add and use the '|' separator instead of ':' since it's
incompatible with the new option system...
2013-04-10 23:16:03 +02:00
Clément Bœsch f8eabab04d lavfi/geq: switch to an AVOptions-based system. 2013-04-10 23:16:03 +02:00
Clément Bœsch 1cdb9f48db lavfi/edgedetect: switch to an AVOptions-based system. 2013-04-10 23:16:03 +02:00
Clément Bœsch 34610e11e7 lavfi/curves: switch to an AVOptions-based system. 2013-04-10 23:16:03 +02:00
Clément Bœsch 8da1f1f208 lavfi/colormatrix: switch to an AVOptions-based system. 2013-04-10 23:16:02 +02:00
Clément Bœsch 8388e1e2b3 lavfi/perms: switch to an AVOptions-based system. 2013-04-10 23:16:02 +02:00
Clément Bœsch 5afd58fbb4 lavfi/ebur128: switch to an AVOptions-based system. 2013-04-10 23:16:02 +02:00
Clément Bœsch 4964ec2cd4 lavfi/showspectrum: switch to an AVOptions-based system. 2013-04-10 23:16:02 +02:00
Clément Bœsch 1b1688bfc6 lavfi/silencedetect: switch to an AVOptions-based system. 2013-04-10 23:16:02 +02:00
Clément Bœsch 7c11c21669 lavfi/thumbnail: switch to an AVOptions-based system. 2013-04-10 23:16:02 +02:00
Michael Niedermayer 7e99ccf5d8 Merge commit '40c885c589808455a1c4b473509f1e6cd4908f55'
* commit '40c885c589808455a1c4b473509f1e6cd4908f55':
  vf_pad: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_pad.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 22:50:32 +02:00
Paul B Mahol 16f1e832ba lavfi/overlay: remove dupe initializer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-10 20:44:11 +00:00
Michael Niedermayer e434ddd4c6 Merge commit '9087eaf193b8ce99c41352064a81916fa66adb49'
* commit '9087eaf193b8ce99c41352064a81916fa66adb49':
  vf_overlay: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_overlay.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 22:27:20 +02:00
Michael Niedermayer 8bdb119197 Merge commit '20b46f8f4fff6aeeab9ea418dc359eda8887ced6'
* commit '20b46f8f4fff6aeeab9ea418dc359eda8887ced6':
  vf_lut: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_lut.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 22:13:34 +02:00
Michael Niedermayer 94ec709e3b Merge commit 'ee0e8d4b15a87932ab6066cd6eae3cab08726319'
* commit 'ee0e8d4b15a87932ab6066cd6eae3cab08726319':
  vf_libopencv: switch to an AVOptions-based system.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 21:25:01 +02:00
Michael Niedermayer f780a90355 Merge commit '8c747d46f721cffa8ea51990805ad1d3a3a4fd0a'
* commit '8c747d46f721cffa8ea51990805ad1d3a3a4fd0a':
  vf_hqdn3d: switch to an AVOptions-based system.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 21:14:30 +02:00
Michael Niedermayer 1ee9eacaa4 Merge commit '7ed833d78ea661d619124fd898547a900f6480bc'
* commit '7ed833d78ea661d619124fd898547a900f6480bc':
  vf_gradfun: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/gradfun.h
	libavfilter/vf_gradfun.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 21:09:06 +02:00
Anton Khirnov 9de9b828ef lavc: don't overwrite display dimensions with coded dimensions. 2013-04-10 20:54:27 +02:00
Anton Khirnov 2d6edb2b7e lavc: extend / update the [coded_]{width,height} doxy 2013-04-10 20:54:22 +02:00
Michael Niedermayer 85f115b5d8 Merge commit 'c334c113d4d9e9a41bc38a3e4458d7ab21010401'
* commit 'c334c113d4d9e9a41bc38a3e4458d7ab21010401':
  vf_scale: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/avfilter.c
	libavfilter/vf_scale.c

scale keeps using our shorthand system due to the alternative not
supporting the more complex syntactical things like 1 parameter
dimensions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 20:40:37 +02:00
Michael Niedermayer da3f89988f Merge commit '5aa1a668cfae7f617e1a06efad20f87283badd8a'
* commit '5aa1a668cfae7f617e1a06efad20f87283badd8a':
  vf_frei0r: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_frei0r.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 19:51:02 +02:00
Michael Niedermayer 9280fc7da1 vf_curves: add option to set all curves at once
Reviewed-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 19:29:11 +02:00
Michael Niedermayer 81c1ed748b Merge commit 'f13ab29925883b4245da4129694af3af378d67be'
* commit 'f13ab29925883b4245da4129694af3af378d67be':
  vf_fps: switch to an AVOptions-based system.

Conflicts:
	libavfilter/vf_fps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 19:21:59 +02:00
Michael Niedermayer b8a1f8b4e2 Merge commit 'a39c154049a2d0c4fb02a5c74f58d6986ec21cec'
* commit 'a39c154049a2d0c4fb02a5c74f58d6986ec21cec':
  vf_fieldorder: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_fieldorder.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 19:03:30 +02:00
Michael Niedermayer 0c3d706bdb Merge commit 'b9dfee9fa259dfc885508179a359dccc9e7840bd'
* commit 'b9dfee9fa259dfc885508179a359dccc9e7840bd':
  vf_fade: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_fade.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 18:48:07 +02:00
Michael Niedermayer d70b494422 Merge commit '8ec464c61c46a5d088b43d24e384d6c37b7ef14a'
* commit '8ec464c61c46a5d088b43d24e384d6c37b7ef14a':
  vf_drawtext: switch to an AVOptions-based system.

Conflicts:
	libavfilter/vf_drawtext.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 18:31:14 +02:00
Michael Niedermayer 0726d516dc Merge commit '335c31293baec6e6cf5907bd29840af3de8ff735'
* commit '335c31293baec6e6cf5907bd29840af3de8ff735':
  vf_drawbox: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_drawbox.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 18:11:15 +02:00
Stefano Sabatini 215ca86475 doc/filters: review introductory example and explanation
In particular, fix wrong vertical mirroring command, and clarify
and extend explanation.

Based on a patch by littlebat <dashing.meng@gmail.com>.

Should fix trac ticket #2413.
2013-04-10 18:02:00 +02:00
Stefano Sabatini e62fca11a8 lavfi/amerge: drop duplicated "Buffer queue overflow" message
The same message is shown already by the called function
ff_bufqueue_is_full().
2013-04-10 18:02:00 +02:00
Stefano Sabatini 270217908b ffmpeg: update error message, and make use of av_err2str() to simplify 2013-04-10 18:02:00 +02:00
Michael Niedermayer eebe0b0224 Merge commit '63e58c55c17d7f8b5eec9c082fe0f8edc305a24e'
* commit '63e58c55c17d7f8b5eec9c082fe0f8edc305a24e':
  vf_delogo: switch to an AVOptions-based system.

Conflicts:
	libavfilter/vf_delogo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 17:54:20 +02:00
Michael Niedermayer 1c3cdf533b Merge commit '460e7b4f6d473d9f03ed45501221f9cb209b28fd'
* commit '460e7b4f6d473d9f03ed45501221f9cb209b28fd':
  vf_cropdetect: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_cropdetect.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 17:36:29 +02:00
Michael Niedermayer 200e04c70f Merge commit 'fba0156af77b11ec99edf4ee8f511b7aaa6b1891'
* commit 'fba0156af77b11ec99edf4ee8f511b7aaa6b1891':
  vf_crop: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_crop.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 16:56:33 +02:00
Michael Niedermayer eb6d58d23c Merge commit '51def31dbe5b6e857536de8fa428f263d64f3ae5'
* commit '51def31dbe5b6e857536de8fa428f263d64f3ae5':
  vf_boxblur: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_boxblur.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 16:34:44 +02:00
Michael Niedermayer a3cb303a4c avfilter/blackframe: add "thres" back as alternative
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 15:48:41 +02:00
Michael Niedermayer 90efdf98b1 avfilter: support alternative keys in the alternative shorthand system
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 15:47:18 +02:00
Michael Niedermayer 43bac121d3 Merge commit '62dcdb028cc84845fd263bb09304c4c6500bda7a'
* commit '62dcdb028cc84845fd263bb09304c4c6500bda7a':
  vf_blackframe: switch to an AVOptions-based system.
  vf_aspect: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_aspect.c
	libavfilter/vf_blackframe.c

In the aspect filter most changes are merged but not the final
switch to the libav API because that is too restrictive and has
difficulty handling the syntax.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 15:37:21 +02:00
Michael Niedermayer 2a2a643c90 Merge commit 'e67a87eac814c7805d18c983c43033a8a1bd62af'
* commit 'e67a87eac814c7805d18c983c43033a8a1bd62af':
  vf_(no)format: switch to an AVOptions-based system.
  af_aformat: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/af_aformat.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 13:59:45 +02:00
Michael Niedermayer 451315830a Merge commit 'd28cb849899abd98bf2dd72f5a3dd56d441aeb27'
* commit 'd28cb849899abd98bf2dd72f5a3dd56d441aeb27':
  buffersrc: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/buffersrc.c

Commit not merged, merge left to maintainer.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 13:43:19 +02:00
Diego Biurrun 20429ba96e h261: Move encoder/decoder shared table init to common code 2013-04-10 13:32:04 +02:00
Diego Biurrun 8a776ad90e h261: Move shared data tables from a header to a proper C file 2013-04-10 13:32:04 +02:00
Michael Niedermayer 828044aca2 Merge commit '4fa1f52e33b70029e2b621852f3af7c1ef9aecff'
* commit '4fa1f52e33b70029e2b621852f3af7c1ef9aecff':
  af_resample: switch to an AVOptions-based system.

Conflicts:
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 13:30:17 +02:00
Stefano Sabatini d2752ef061 lavfi/overlay: add process_command callback 2013-04-10 13:11:27 +02:00
Stefano Sabatini 006e20bd36 lavfi/overlay: add enable expression
This expression is useful to enable/disable overlaying on the fly.

Note that this can't be easily done relying on the filtergraph structure,
since this implies caching issues or a null frame overlaying in the best
case, which is better avoided for performance and convenience reasons.
2013-04-10 13:11:27 +02:00
Stefano Sabatini cc3edd99a6 lavfi/overlay: add dynamic expression evaluation support
Add support for dynamic x, y expressions evaluation.

Also add support for an evaluation mode which allows to disable per-frame
evaluation, so that there is no speedloss in case the expression does not
depend on frame variables.
2013-04-10 13:11:27 +02:00
Stefano Sabatini 8afcaaeb75 lavu/eval: rename "new_eval_expr()" to "make_eval_expr()"
The new name is more semantically and stilistically consistent.
2013-04-10 13:11:27 +02:00
Michael Niedermayer 0594ef0dea Merge commit 'b439c992c23f3e0f3832fffd2a34a664b236c525'
* commit 'b439c992c23f3e0f3832fffd2a34a664b236c525':
  lavfi: switch to an AVOptions-based system.
  dfa: implement missing TDLT coding method

Conflicts:
	libavcodec/dfa.c
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 12:41:06 +02:00
Clément Bœsch 2a7f885fe1 lavf: add libquvi demuxer. 2013-04-10 12:09:20 +02:00
Ronald S. Bultje b93b27edb0 dsputil: Make dsputil selectable
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-10 11:04:05 +03:00
Ronald S. Bultje 85deb51a01 h264: Only initialize dsputil if error resilience is enabled
It is only used for error resilience. This allows building the
h264 decoder without dsputil, if error resilience is disabled.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-10 11:03:53 +03:00
Ronald S. Bultje 62844c3fd6 h264: Integrate clear_blocks calls with IDCT
The non-intra-pcm branch in hl_decode_mb (simple, 8bpp) goes from 700
to 672 cycles, and the complete loop of decode_mb_cabac and hl_decode_mb
(in the decode_slice loop) goes from 1759 to 1733 cycles on the clip
tested (cathedral), i.e. almost 30 cycles per mb faster.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-10 11:03:06 +03:00
Martin Storsjö e8cafd2773 h264: Clear the mb members via memset instead of using dsputil
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-10 11:01:21 +03:00
Ronald S. Bultje 6d25c9db11 dsputil: Make square put/avg_pixels functions local to h264qpel
Put a copy of the 8bit functions only in dsputil, where they are
used for some other things (e.g. mpeg4qpel, mspel, cavsqpel).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-10 10:59:14 +03:00
James Almer 89388a953a Replace all occurrences of PRI in sscanf() calls with SCN
Signed-off-by: James Almer <jamrial@gmail.com>
2013-04-10 09:56:48 +02:00
Christophe Gisquet 2383068cbf x86: sbrdsp: implement SSE2 qmf_pre_shuffle
From 253 to 51 cycles on Arrandale and Win64.
44 cycles on SandyBridge.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 02:42:22 +02:00
Clément Bœsch d2e051e30c lavfi/separatefields: adjust tb to avoid rounding errors.
Since the PTS need double accuracy, the timebase denominator is doubled
as well, and this new time base is used for the timestamp unit.
2013-04-10 02:38:54 +02:00
d s 685617ac29 avformat/avisynth: Cosmetics
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 02:25:34 +02:00
d s ca3cef719e avformat/avisynth: Fix off-by-one error in avisynth demuxer.
Fixes ticket #2412.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 02:25:34 +02:00
Paul B Mahol d0073c7a0b separatefields filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-10 00:08:57 +00:00
Michael Niedermayer f1c0c6b7de Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  ffmpeg: use a rational for -aspect option.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 01:49:39 +02:00
Michael Niedermayer 6a78ec180e ffmpeg: print frame decoding error statistic
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 01:47:03 +02:00
Michael Niedermayer eedcac68f3 ffmpeg: dont exit 0 if fewer than 1/3 of the input could be decoded.
Fixes Ticket2405

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 01:40:06 +02:00
Christophe Gisquet 2e81acc687 x86inc: Fix number of operands for cmp* instructions
cmp{p,s}{s,d} instructions do take an imm8 operand.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-09 23:55:30 +02:00
Michael Niedermayer 62a1181015 h264: wait for missing slices only on frames
The EC code does not support fields currently thus it makes no
sense to wait for these cases (which also the check doesnt handle
correctly)

Fixes Ticket 2454

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-09 23:12:24 +02:00
Anton Khirnov 837112c0c8 af_channelmap: fix uninitialized variable use introduced in ba8efac977 2013-04-09 22:01:34 +02:00
Clément Bœsch 1043cb8e80 lavc/ass: use bprint API in ff_ass_add_rect(). 2013-04-09 21:43:44 +02:00
Nicolas George de38e7c8c3 ffmpeg: use a rational for -aspect option. 2013-04-09 20:16:20 +02:00
Anton Khirnov cdac3acb11 lavfi: add a bump and docs entries for the AVOptions switch 2013-04-09 19:13:27 +02:00
Anton Khirnov 8114c10160 lavfi: add avfilter_get_class().
Useful for examining options, the same as the corresponding functions
for the other libs.
2013-04-09 19:13:19 +02:00
Anton Khirnov 4d1f31ea44 lavfi: make AVFilterContext export filter options. 2013-04-09 19:13:10 +02:00
Anton Khirnov 62549f9655 lavfi: error out when options are provided to a filter that does not take any 2013-04-09 19:12:59 +02:00
Anton Khirnov c43a7ecad9 lavfi: remove now unused args parameter from AVFilter.init 2013-04-09 19:12:38 +02:00
Anton Khirnov 7b3eb745b9 vsrc_testsrc: switch to an AVOptions-based system. 2013-04-09 19:12:06 +02:00
Anton Khirnov a42d6e6c4c vsrc_movie: switch to an AVOptions-based system. 2013-04-09 19:11:27 +02:00
Anton Khirnov b7b3302f8f vsrc_nullsrc: switch to an AVOptions-based system. 2013-04-09 19:11:12 +02:00
Anton Khirnov 7bc1a883c9 vsrc_color: switch to an AVOptions-based system. 2013-04-09 19:11:03 +02:00
Anton Khirnov 73d5d405d4 split: switch to an AVOptions-based system. 2013-04-09 19:10:41 +02:00
Anton Khirnov b13623e184 af_volume: switch to an AVOptions-based system. 2013-04-09 19:10:27 +02:00
Anton Khirnov dd7fc37c71 af_join: switch to an AVOptions-based system.
Change the mappings separator from comma to '|' to avoid excessive
escaping, since comma is already used for separating filters in the
filtergraph description.
2013-04-09 19:10:12 +02:00
Anton Khirnov 3f14febbdf af_channelsplit: switch to an AVOptions-based system. 2013-04-09 19:10:00 +02:00
Anton Khirnov ba8efac977 af_channelmap: switch to an AVOptions-based system. 2013-04-09 19:09:40 +02:00
Anton Khirnov b2b25b0659 af_asyncts: switch to an AVOptions-based system. 2013-04-09 19:09:33 +02:00
Anton Khirnov ac20e3ab8e af_amix: switch to an AVOptions-based system. 2013-04-09 19:09:26 +02:00
Anton Khirnov 7536c67104 vf_yadif: switch to an AVOptions-based system. 2013-04-09 19:09:03 +02:00
Anton Khirnov b83e9efc53 vf_unsharp: switch to an AVOptions-based system. 2013-04-09 19:08:42 +02:00
Anton Khirnov 0c2466dec7 vf_transpose: switch to an AVOptions-based system. 2013-04-09 19:08:04 +02:00
Anton Khirnov ffea3b00c3 vf_settb: switch to an AVOptions-based system. 2013-04-09 19:07:44 +02:00
Anton Khirnov 33b97faaba vf_setpts: switch to an AVOptions-based system. 2013-04-09 19:07:28 +02:00
Anton Khirnov 95f1f56a21 vf_select: switch to an AVOptions-based system. 2013-04-09 19:06:51 +02:00
Anton Khirnov 40c885c589 vf_pad: switch to an AVOptions-based system. 2013-04-09 19:06:29 +02:00
Anton Khirnov 9087eaf193 vf_overlay: switch to an AVOptions-based system. 2013-04-09 19:06:13 +02:00
Anton Khirnov 20b46f8f4f vf_lut: switch to an AVOptions-based system. 2013-04-09 19:05:32 +02:00
Anton Khirnov ee0e8d4b15 vf_libopencv: switch to an AVOptions-based system. 2013-04-09 19:05:22 +02:00
Anton Khirnov 8c747d46f7 vf_hqdn3d: switch to an AVOptions-based system. 2013-04-09 19:05:12 +02:00
Anton Khirnov 7ed833d78e vf_gradfun: switch to an AVOptions-based system. 2013-04-09 19:04:57 +02:00
Anton Khirnov c334c113d4 vf_scale: switch to an AVOptions-based system. 2013-04-09 19:04:45 +02:00
Anton Khirnov 5aa1a668cf vf_frei0r: switch to an AVOptions-based system. 2013-04-09 19:04:28 +02:00
Anton Khirnov f13ab29925 vf_fps: switch to an AVOptions-based system. 2013-04-09 19:04:15 +02:00
Anton Khirnov a39c154049 vf_fieldorder: switch to an AVOptions-based system. 2013-04-09 19:03:56 +02:00
Anton Khirnov b9dfee9fa2 vf_fade: switch to an AVOptions-based system. 2013-04-09 19:03:43 +02:00
Anton Khirnov 8ec464c61c vf_drawtext: switch to an AVOptions-based system. 2013-04-09 19:03:23 +02:00
Anton Khirnov 335c31293b vf_drawbox: switch to an AVOptions-based system. 2013-04-09 19:03:08 +02:00
Anton Khirnov 63e58c55c1 vf_delogo: switch to an AVOptions-based system. 2013-04-09 19:02:43 +02:00
Anton Khirnov 460e7b4f6d vf_cropdetect: switch to an AVOptions-based system. 2013-04-09 19:02:32 +02:00
Anton Khirnov fba0156af7 vf_crop: switch to an AVOptions-based system. 2013-04-09 19:00:54 +02:00
Anton Khirnov 51def31dbe vf_boxblur: switch to an AVOptions-based system. 2013-04-09 19:00:39 +02:00
Anton Khirnov 62dcdb028c vf_blackframe: switch to an AVOptions-based system. 2013-04-09 19:00:26 +02:00
Anton Khirnov 2831b307e6 vf_aspect: switch to an AVOptions-based system. 2013-04-09 18:58:30 +02:00
Anton Khirnov e67a87eac8 vf_(no)format: switch to an AVOptions-based system. 2013-04-09 18:56:39 +02:00
Anton Khirnov 0af7fe1f95 af_aformat: switch to an AVOptions-based system. 2013-04-09 18:55:45 +02:00
Anton Khirnov d28cb84989 buffersrc: switch to an AVOptions-based system. 2013-04-09 18:48:16 +02:00
Anton Khirnov 4fa1f52e33 af_resample: switch to an AVOptions-based system. 2013-04-09 18:45:50 +02:00
Anton Khirnov b439c992c2 lavfi: switch to an AVOptions-based system. 2013-04-09 18:45:37 +02:00
Kostya Shishkov 56c1b92576 dfa: implement missing TDLT coding method 2013-04-09 18:32:00 +02:00
Michael Niedermayer b4eb06d325 msmpeg4: ignore negative DC overflow
Fixes second half of Ticket2414

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-09 16:27:49 +02:00
Michael Niedermayer c03dc44070 msmpeg4: fix asm code in ff_msmpeg4_pred_dc()
Fixes first half of Ticket2414

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-09 16:26:52 +02:00
Michael Niedermayer 4e0130faed Merge remote-tracking branch 'qatar/master'
* qatar/master:
  srtp: Include rtpdec.h for RTP_MAX_PACKET_LENGTH
  rtpdec: Increase max rtp packet size to 8192
  lavf: Use RTP_MAX_PACKET_LENGTH instead of 1500
  h264pred: Add a few missing const declarations for ff_cropTbl derived pointers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-09 11:36:39 +02:00
Martin Storsjö fc792308c5 srtp: Include rtpdec.h for RTP_MAX_PACKET_LENGTH
This was missed from 350ad50b - this fixes building the fate-srtp
test.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-09 12:04:39 +03:00
Andrew Van Til 0e729b2290 rtpdec: Increase max rtp packet size to 8192
This fixes connecting to "Ceton InfiniTV4 PCIe & USB".

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-09 10:36:56 +03:00
Andrew Van Til 350ad50bf4 lavf: Use RTP_MAX_PACKET_LENGTH instead of 1500
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-09 10:36:43 +03:00
Michael Niedermayer 93e8fcb94b Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: simplify video pts calculation
  ffplay: fix indentation
  ffplay: handle audio buffersink output properly with buffering filters
  ffplay: set time_base of audio filter buffer src

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-09 04:50:00 +02:00
Michael Niedermayer 5fbf9c12aa avfilter/vf_noise: fix build without mmx*inline
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-09 04:44:32 +02:00
Paul B Mahol 9dc88ac367 lavfi: remove noise libmpcodecs wrapper
Native filter have reached similar performance.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-08 20:57:59 +00:00
Paul B Mahol 6934244414 lavfi/noise: copy inline asm from mp=noise
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-08 20:28:57 +00:00
Marton Balint 85b9bf5693 ffplay: simplify video pts calculation
Also use frame->pts instead of a standalone variable

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-04-08 22:21:45 +02:00
Marton Balint 5dacf7b1ab ffplay: fix indentation
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-04-08 22:21:45 +02:00
Marton Balint 0b24e341ed ffplay: handle audio buffersink output properly with buffering filters
Fixes cases when the audio filter generates less or more frames than the input.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-04-08 22:21:45 +02:00
Marton Balint 325846aac0 ffplay: set time_base of audio filter buffer src
Fixes ticket #2408.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-04-08 22:21:45 +02:00
Paul B Mahol ed8373e7db lavfi: always check return value of ff_get_{audio,video}_buffer()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-08 19:24:09 +00:00
Clément Bœsch e82f562fa5 lavfi/mandelbrot: reindent after 51bcd5cd. 2013-04-08 20:40:54 +02:00
Martin Storsjö bc0522dffa h264pred: Add a few missing const declarations for ff_cropTbl derived pointers
The pointers that get assigned ff_cropTbl were made const in
9e0f14f1, but other variables that transitively are assigned
based on these variables were missed.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-08 21:39:15 +03:00
Clément Bœsch 51bcd5cd65 lavfi/mandelbrot: fix speedloss with default config after morphing introduction.
Morphing was introduced in 0d6e5a171 and forced cos/sin computations
with some mult all the time. This commit makes sure these are computed
only when morphing is enabled.
2013-04-08 20:35:18 +02:00
Matthieu Bouron 1f2ce32825 lavf/wavdec: skip padding byte
WAV chunks must be even aligned. This patch skip the extra padding byte
if chunk size is odd.

Fixes ticket #2417.

Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-08 20:13:40 +02:00
Michael Niedermayer 0678c388ba rtsp: add option to set the socket timeout of the lower protocol.
Fixes Ticket2294

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-08 17:45:13 +02:00
Michael Niedermayer c6ae7f64a0 avio.h: fix indention
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-08 14:15:10 +02:00
Paul B Mahol 9fce2b8854 lavfi/il: use standard option parsing
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-08 12:10:37 +00:00
Michael Niedermayer 8a97f6acc8 Merge remote-tracking branch 'mbouron/master'
* mbouron/master:
  lavf/mxfdec: handle identification metadata

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-08 13:57:36 +02:00
Michael Niedermayer 7cfaf727a1 flvenc: dont call avio_flush() unconditional
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-08 13:31:53 +02:00
Michael Niedermayer a286940da1 mux: also call avio_flush() when flushing the muxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-08 13:31:12 +02:00
Michael Niedermayer ad6a50c0ed avformat: add writeout_count statistic
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-08 13:30:40 +02:00
Michael Niedermayer 0138fe5656 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: Move ff_cropTbl and ff_zigzag_direct from dsputil to mathtables

Conflicts:
	libavcodec/mathtables.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-08 12:54:18 +02:00
Michael Niedermayer 024a5f72ee Merge commit '9e0f14f16cfc9456a691655fda7d01090bffe47e'
* commit '9e0f14f16cfc9456a691655fda7d01090bffe47e':
  lavc: Make pointers to ff_cropTbl const
  vp3: Embed idct_permutation array directly in VP3DecoderContext

Conflicts:
	libavcodec/bit_depth_template.c
	libavcodec/vp3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-08 12:47:49 +02:00
Michael Niedermayer 5f49e92eb9 Merge commit '610b18e2e3d8ef5eca3e78f33a0625689b8d2bb9'
* commit '610b18e2e3d8ef5eca3e78f33a0625689b8d2bb9':
  x86: qpel: Move fullpel and l2 functions to a separate file
  bfin: Make vp3 functions static

Conflicts:
	libavcodec/bfin/vp3_bfin.c
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-08 12:40:26 +02:00
Michael Niedermayer 1090f69386 Merge commit 'aa8d89536d35af0a0c8d8bac2b452ffe7b82cae5'
* commit 'aa8d89536d35af0a0c8d8bac2b452ffe7b82cae5':
  bfin: Don't use the vp3 idct functions if bitexact behaviour is expected

Conflicts:
	libavcodec/bfin/vp3_bfin.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-08 12:18:29 +02:00
Ronald S. Bultje d2ec6ea6c6 lavc: Move ff_cropTbl and ff_zigzag_direct from dsputil to mathtables
These are widely used throughout libavcodec, nothing dsputil-specific.

Change ff_cropTbl to a statically initialized table, to avoid
initializing it with a function call.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-08 12:38:33 +03:00
Martin Storsjö 9e0f14f16c lavc: Make pointers to ff_cropTbl const
There's no point in these pointers not being const.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-08 12:38:33 +03:00
Ronald S. Bultje 610b18e2e3 x86: qpel: Move fullpel and l2 functions to a separate file
This way, they can be shared between mpeg4qpel and h264qpel without
requiring either one to be compiled unconditionally.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-08 12:38:33 +03:00
Ronald S. Bultje 18df366a18 vp3: Embed idct_permutation array directly in VP3DecoderContext
This makes the vp3 decoder less dependent on dsputil, and will aid
in making it (eventually) dsputil-independent.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-08 12:38:33 +03:00
Martin Storsjö 0f59845708 bfin: Make vp3 functions static
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-08 12:29:40 +03:00
Martin Storsjö aa8d89536d bfin: Don't use the vp3 idct functions if bitexact behaviour is expected
In the non-bitexact mode, vp3 currently decodes to the same
frame crcs as before 28f9ab702 (and the output visually looks
correct).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-08 12:28:52 +03:00
Matthieu Bouron 25b143aa7b lavf/mxfdec: handle identification metadata 2013-04-08 11:16:56 +02:00
Paul B Mahol 018cc6f026 lavfi/histogram: use standard options parsing
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-08 09:04:02 +00:00
Paul B Mahol 1f97dfb77f lavfi/blend,noise: remove unedeed av_opt_free() call
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-08 09:02:03 +00:00
Christophe Gisquet e2946e5c34 x86: sbrdsp: implement SSE qmf_deint_bfly
From 312 to 89/68 (sse/sse2) cycles on Arrandale and Win64.
Sandybridge: 68/47 cycles.

Having a loop counter is a 7 cycle gain.
Unrolling is another 7 cycle gain.
Working in reverse scan is another 6 cycles.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-08 02:26:34 +02:00
Paul B Mahol 1adf54de56 dfa: implement tdlt chunk decoding
Sample & pseudo code provided by Vladimir "VAG" Gneushev.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-07 21:48:22 +00:00
Michael Niedermayer 4bcb75cc48 ffmpeg: Print a warning when -frames is affecting non video frames
Fixes Ticket2395

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-07 22:13:58 +02:00
Michael Niedermayer 2f284c0170 dpxdec: Fix decoding of RGBA10
Fixes Ticket2392

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-07 21:39:51 +02:00
Nicolas George 0884d04dc3 lavc: fix recoded subtitles end.
Text subtitles packets are not 0-terminated (and if they are,
it is handled by the recoding process since 0 is a valid
Unicode code point). The terminating 0 would overwrite the
last payload octet.

OTOH, packets must be 0-padded.

Fix a problem reported in trac ticket #2431.
2013-04-07 13:25:24 +02:00
Michael Niedermayer 38665efcc7 asfenc: convert asserts to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-07 03:59:44 +02:00
Clément Bœsch 1fabd95035 lavf/http: use a more compatible default user agent.
Fixes Ticket 2265.
2013-04-06 21:08:32 +02:00
Michael Niedermayer 28943c4d31 vf_noise: Fix av_lfg_get() maximum value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-06 19:58:30 +02:00
Michael Niedermayer 62447248f3 vf_noise: remove low quality mode
It produces vissible correlation between lines

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-06 19:54:36 +02:00
Michael Niedermayer 21f4fc2e40 avfilter/vf_mp: fix x86 cpu caps
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-06 18:23:59 +02:00
Christophe Gisquet 11774169ae sbrdsp: unroll and use integer operations
This patch can be controversial, by assuming floats are IEEE-754 and
particular behaviour of the FPU will get in the way.
Timing on Arrandale and Win32 (thus, x87 FPU is used in the reference).

sbr_qmf_pre_shuffle_c: 115 to 76
sbr_neg_odd_64_c: 84 to 55
sbr_qmf_post_shuffle_c: 112 to 83

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-06 15:52:42 +02:00
Christophe Gisquet f4ac80227b sbrdsp: unroll sbr_autocorrelate_c
1410 cycles to 1148 on Arrandale/Win64.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-06 15:52:42 +02:00
Michael Niedermayer ff50b08304 coverage: filter /usr/include out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-06 13:47:17 +02:00
Michael Niedermayer 32bac65ba0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: sbrdsp: Implement SSE neg_odd_64

Conflicts:
	libavcodec/x86/sbrdsp.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-06 13:30:19 +02:00
Michael Niedermayer 84bfa8beb7 Merge commit 'a862c7d3368241e72a465ab944afa38ea62a6640'
* commit 'a862c7d3368241e72a465ab944afa38ea62a6640':
  Integrate lcov/gcov into Libav

Conflicts:
	Makefile
	common.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-06 13:23:38 +02:00
Paul B Mahol 11d7bbb47a fate: add coverage for background disposal in gif decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-06 11:20:27 +00:00
Stefano Sabatini 7775992c65 doc/filters: fix main/over mismatch in movie examples
Found-By: littlebat <dashing.meng@gmail.com>
2013-04-06 00:54:46 +02:00
Christophe Gisquet f4b0d12f5b x86: sbrdsp: Implement SSE neg_odd_64
Timing on Arrandale:
        C   SSE
Win32:  57   44
Win64:  47   38
Unrolling and not storing mask both save some cycles.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-05 22:47:04 +02:00
Michael Niedermayer 37f080f6f6 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h261: Move mvmap table to the only place it is used

Conflicts:
	libavcodec/h261data.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 22:09:10 +02:00
Michael Niedermayer 473d129742 Merge commit '0404ec619d43f27b87c424aa1a572a6699fe6a31'
* commit '0404ec619d43f27b87c424aa1a572a6699fe6a31':
  h261: cosmetics: Move functions to avoid forward declarations

Conflicts:
	libavcodec/h261dec.c
	libavcodec/h261enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 22:00:38 +02:00
Michael Niedermayer 04b0fd7e91 Merge commit 'b78f81c8033904e2e75add0c9a603df6df514a30'
* commit 'b78f81c8033904e2e75add0c9a603df6df514a30':
  h261: K&R formatting and prettyprinting cosmetics

Conflicts:
	libavcodec/h261_parser.c
	libavcodec/h261data.h
	libavcodec/h261dec.c
	libavcodec/h261enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 21:53:57 +02:00
Michael Niedermayer e7c801d9d3 Merge commit '66ac3dbf1e60c27d0f1d779a424c0b33b7ca3780'
* commit '66ac3dbf1e60c27d0f1d779a424c0b33b7ca3780':
  h261: Move function declarations to h261.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 21:31:14 +02:00
Michael Niedermayer 3d73be071d Merge commit 'ed16c2dbf47cdd7c48825b4da6e7036698e5dde1'
* commit 'ed16c2dbf47cdd7c48825b4da6e7036698e5dde1':
  h261: Remove H.261 loop filter from dsputil

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 21:25:49 +02:00
Michael Niedermayer fa871b1bde Merge commit 'ae35d91d44c5e676af3d146bf8d05b241c467675'
* commit 'ae35d91d44c5e676af3d146bf8d05b241c467675':
  h261: Move ff_h261_rl_table_store declaration to header file

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 21:09:04 +02:00
highgod0401 99186f1fd2 fix bug of finding CPU device
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 20:47:21 +02:00
Reinhard Tartler a862c7d336 Integrate lcov/gcov into Libav
The gcov/lcov are a common toolchain for visualizing code coverage with
the GNU/Toolchain. The documentation and implementation of this
integration was heavily inspired from the blog entry by Mike Melanson:
http://multimedia.cx/eggs/using-lcov-with-ffmpeg/
2013-04-05 18:55:11 +02:00
Paul B Mahol 9a8f1e7295 img2dec: make use of AV_OPT_TYPE_IMAGE_SIZE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-05 15:42:25 +00:00
Paul B Mahol 1d5b4f9fe9 img2dec: make use of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-05 15:42:25 +00:00
Paul B Mahol d343848de2 rawvideodec: make use of AV_OPT_TYPE_IMAGE_SIZE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-05 15:42:24 +00:00
Paul B Mahol 9f5bb44021 rawvideodec: make use of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-05 15:42:24 +00:00
Paul B Mahol 4c76600a8c rawdec: make use of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-05 15:42:24 +00:00
Paul B Mahol 3d9a789b0d bintext: make use of AV_OPT_TYPE_IMAGE_SIZE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-05 15:42:24 +00:00
Paul B Mahol 33b6d215fa bintext: make use of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-05 15:42:24 +00:00
Christophe Gisquet 37a9708391 x86: sbrdsp: implement SSE neg_odd_64
Timing on Arrandale:
        C   SSE
Win32:  57   44
Win64:  47   38
Unrolling and not storing mask both save some cycles.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 16:42:12 +02:00
Christophe Gisquet 0b467a6e83 x264asm: fix cmp* number of arguments
cmp{p,s}{s,d} instructions do take an imm8 operand.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 16:42:12 +02:00
Paul B Mahol 8c43fd8654 tty: make use of AV_OPT_TYPE_IMAGE_SIZE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-05 14:30:56 +00:00
Paul B Mahol 20343219d2 tty: make use of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-05 14:24:40 +00:00
Michael Niedermayer 29a4221ad3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libopenjpeg: Add support for XYZ colorspace, found in DCINEMA frames

Conflicts:
	libavcodec/libopenjpegdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 12:52:23 +02:00
Stefano Sabatini 029cca6fb3 doc/filters: clarify example explanation 2013-04-05 12:47:10 +02:00
Stefano Sabatini 89d581f15e doc/filters: fix old broken syntax of color source in overlay example
Found-By: littlebat <dashing.meng@gmail.com>
2013-04-05 12:47:10 +02:00
Michael Niedermayer 8e85b69d71 Merge commit '8c65264595d5a82c56ae5043320e4b875a414229'
* commit '8c65264595d5a82c56ae5043320e4b875a414229':
  pixdesc/pixfmt: Add XYZ colorspace for XYZ 12-bit values
  img2: Add j2k file extension for JPEG 2000

Conflicts:
	libavutil/pixfmt.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 12:39:06 +02:00
Diego Biurrun 52cd84d4d4 h261: Move mvmap table to the only place it is used 2013-04-05 12:25:12 +02:00
Diego Biurrun 0404ec619d h261: cosmetics: Move functions to avoid forward declarations 2013-04-05 12:25:12 +02:00
Diego Biurrun b78f81c803 h261: K&R formatting and prettyprinting cosmetics 2013-04-05 12:25:12 +02:00
Diego Biurrun 66ac3dbf1e h261: Move function declarations to h261.h 2013-04-05 12:25:12 +02:00
Diego Biurrun ed16c2dbf4 h261: Remove H.261 loop filter from dsputil
There is no arch-optimized version of the H.261 loop filter and there
likely will never be, so the dsputil overhead does not give any benefit.
2013-04-05 12:24:28 +02:00
Diego Biurrun ae35d91d44 h261: Move ff_h261_rl_table_store declaration to header file 2013-04-05 12:24:28 +02:00
Stefano Sabatini 495ed19b5b cmdutils: remove error message from opt_default() in case of missing option
A similar error message is generated by the calling function, avoid
duplication and spurious error message occurring with negated boolean
options introduced in 8bb5680, which can be reproduced for example with
the command:
ffmpeg -f lavfi -i testsrc=d=0.1 -nostdin -f null -
2013-04-05 10:48:32 +02:00
Stefano Sabatini 9b4d9d8795 doc: enable compilation of -all tool pages
In particular, add documentation configuration system, through the
doc/config.texi file.

Fix trac issue #2374.
2013-04-05 10:11:57 +02:00
Stefano Sabatini 702e743827 doc: move ffmpeg-scaler.texi content to separated file
This should simplify inclusion in monolithic tool manuals.
2013-04-05 10:11:57 +02:00
Stefano Sabatini a6cd26fc93 doc: move ffmpeg-resampler.texi content to separated file
This should simplify inclusion in monolithic tool manuals.
2013-04-05 10:11:57 +02:00
Stefano Sabatini a7990287aa doc: move ffmpeg-devices.texi content to separated file
This should simplify inclusion in monolithic tool manuals.
2013-04-05 10:11:57 +02:00
Stefano Sabatini 2086c7e173 doc: move ffmpeg-formats.texi content to separated file
This should simplify inclusion in monolithic tool manuals.
2013-04-05 10:11:57 +02:00
Stefano Sabatini d5f3a0c221 doc: move ffmpeg-codecs.texi content to separated file
This should simplify inclusion in monolithic tool manuals.
2013-04-05 10:11:57 +02:00
Paul B Mahol 2b26077c95 lavfi/blend: use standard options parsing
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-05 00:14:55 +00:00
Paul B Mahol a95e683867 lavfi/noise: use standard options parsing
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-05 00:14:55 +00:00
Paul B Mahol 659672f3ee lavfi/afade: use standard options parsing
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-05 00:14:55 +00:00
Andrew Van Til 8df46c65cf rtpdec: Increase max rtp packet size to 8192
Fixes Ticket2314
Fixes connecting to "Ceton InfiniTV4 PCIe & USB"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 01:48:55 +02:00
Andrew Van Til 5ed9eebc24 rtsp/rtp_read_header: Use RTP_MAX_PACKET_LENGTH instead of 1500
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 01:48:55 +02:00
Stefano Sabatini c430eb2d58 doc/filters: fix erroneously truncated comment on a scale example 2013-04-05 01:18:06 +02:00
Stefano Sabatini e80bc76e9e doc/filters: put separated geq variables in separate lines
Make clear that they are not aliases for the same variable.
2013-04-05 01:18:06 +02:00
Paul B Mahol faf689c7eb xbmenc: remove unused code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-04 22:43:26 +00:00
Paul B Mahol 08b31a72db xwdenc: remove unused code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-04 22:43:25 +00:00
Paul B Mahol 77535bb3c3 bmpenc: get rid of BMPContext as it is unused
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-04 22:43:25 +00:00
Paul B Mahol bd252ff6fa lavfi/smptebars: fix invalid writes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-04 22:10:42 +00:00
Michael Niedermayer 0f8435c089 doc: document -v repeat
Thanks-to: Derek Buitenhuis
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 23:36:57 +02:00
Michael Niedermayer 0a512e347f Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavc: use packet duration for subtitles if necessary.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 21:19:45 +02:00
Nicolas Bertrand 28a807e28b libopenjpeg: Add support for XYZ colorspace, found in DCINEMA frames
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-04 19:53:07 +02:00
Nicolas Bertrand 8c65264595 pixdesc/pixfmt: Add XYZ colorspace for XYZ 12-bit values
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-04 19:50:59 +02:00
Nicolas Bertrand 5e46f6b5b7 img2: Add j2k file extension for JPEG 2000
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-04 19:47:05 +02:00
highgod0401 cfaffb1ab7 avutil/opencl: replace assert by check and error message in av_opencl_init()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 19:27:45 +02:00
highgod0401 322428c851 avutil/opencl: check strtol for failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 19:26:16 +02:00
highgod0401 39406ea321 avutil/opencl: add check for the program number to create kernel
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 19:25:22 +02:00
Paul B Mahol b1dea2c0d8 lavfi/blend: add N variable
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-04 15:30:06 +00:00
Paul B Mahol 6a08ccd61d lavfi/smptebars: fix output for subsampled yuv
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-04 14:32:49 +00:00
Michael Niedermayer 3b93bea9e3 matroskadec: Check EBML lace sizes.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 15:51:04 +02:00
Michael Niedermayer 115c3bc41f matroskadec: Check for overflows in xiph lace decoding
This also detects errors earlier

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 15:17:57 +02:00
Michael Niedermayer 14de77d677 matroskadec: fix return code for too long xiph laces
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 15:13:53 +02:00
Michael Niedermayer 740ebe468c dfa: remove redundant check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 14:49:00 +02:00
Michael Niedermayer 7ad359b394 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  xmv: do not leak memory in the error paths in xmv_read_header()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 14:35:40 +02:00
Michael Niedermayer 208be6b54a Merge commit 'd1016dccdcb10486245e5d7c186cc31af54b2a9c'
* commit 'd1016dccdcb10486245e5d7c186cc31af54b2a9c':
  xmv: check audio track parameters validity.
  bmv: check for len being valid in bmv_decode_frame().

Conflicts:
	libavformat/xmv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 14:20:51 +02:00
Nicolas George 83affcde51 lavc: use packet duration for subtitles if necessary.
Fix trac ticket #2397.
2013-04-04 14:04:51 +02:00
Michael Niedermayer cdafcf838c Merge commit '8d617b11cfc87b2c6056fee029ac5bc760af874a'
* commit '8d617b11cfc87b2c6056fee029ac5bc760af874a':
  id3v2: pad the APIC packets as required by lavc.
  dfa: check for invalid access in decode_wdlt().

Conflicts:
	libavformat/id3v2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 13:41:01 +02:00
Michael Niedermayer ab2989378f Merge commit 'dbb1425811a672eddf4acf0513237cdf20f83756'
* commit 'dbb1425811a672eddf4acf0513237cdf20f83756':
  lavf: make sure stream probe data gets freed.
  avfiltergraph: set deprecated filter_count.

Conflicts:
	libavformat/utils.c

See: 44a7a6300d

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 13:24:33 +02:00
Michael Niedermayer e7389ed5d0 Merge commit 'bcc94328980e6c56546792ab08b0756abdce310b'
* commit 'bcc94328980e6c56546792ab08b0756abdce310b':
  opt: check the return values of av_get_token for ENOMEM.
  doc: Fix best_nb_channells typo
  matroska: pass the lace size to the matroska_parse_rm_audio

Conflicts:
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 13:00:59 +02:00
Michael Niedermayer 534b292102 Merge commit '8a96df7b70be509dae9ceec82d2c10a20361356d'
* commit '8a96df7b70be509dae9ceec82d2c10a20361356d':
  matroska: fix a corner case in ebml-lace parsing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 12:46:47 +02:00
Michael Niedermayer 57b191b82a Merge commit 'fc43c19a567aa945398dccb491d972c11ec2a065'
* commit 'fc43c19a567aa945398dccb491d972c11ec2a065':
  matroska: Update the available size after lace parsing
  clang: use -fsantize=address and -fsanitize=thread

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 12:39:18 +02:00
Stefano Sabatini d344b99954 doc/ffprobe: fix references in See Also section 2013-04-04 10:13:30 +02:00
Anton Khirnov f8080bd13b xmv: do not leak memory in the error paths in xmv_read_header()
CC: libav-stable@libav.org
2013-04-04 07:54:45 +02:00
Anton Khirnov d1016dccdc xmv: check audio track parameters validity.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-04-04 07:54:35 +02:00
Anton Khirnov b88f902125 bmv: check for len being valid in bmv_decode_frame().
It can be 0 or -1 for invalid files, which may result in invalid memory
access.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-04-04 07:54:27 +02:00
Anton Khirnov 8d617b11cf id3v2: pad the APIC packets as required by lavc.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-04-04 07:54:15 +02:00
Anton Khirnov 3623589edc dfa: check for invalid access in decode_wdlt().
This can happen when the number of skipped lines is not consistent with
the number of coded lines.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-04-04 07:54:07 +02:00
Anton Khirnov dbb1425811 lavf: make sure stream probe data gets freed.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-04-04 07:54:00 +02:00
Anton Khirnov 6d0546bbaf avfiltergraph: set deprecated filter_count. 2013-04-04 07:52:32 +02:00
Anton Khirnov bcc9432898 opt: check the return values of av_get_token for ENOMEM. 2013-04-04 07:51:53 +02:00
Peter Meerwald dfcbe8cbd7 doc: Fix best_nb_channells typo
Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-04-04 07:51:28 +02:00
Michael Niedermayer e278500181 oggdec: Support byte based seeking
Fixed Ticket2317

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 04:04:24 +02:00
Michael Niedermayer e10f5bd05c avformat: Add a mechanism to allow demuxers to detect byte based seeking.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 04:04:24 +02:00
Carl Eugen Hoyos 1c0d8f2563 Add a work-around for msvc compilation until c99-to-c89 issue 7 is fixed.
Tested-by: Nevcairiel
2013-04-04 00:01:34 +02:00
Michael Niedermayer f51ce34e5e matroskadec: fix display_width/height = 0 handling
Fixes Ticket2424

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-03 23:45:32 +02:00
Stefano Sabatini 36babfdc39 doc/fate.texi: fix typo 2013-04-03 21:07:15 +02:00
Paul B Mahol 9cb25440b3 doc/filters: fix error in blend description
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-03 17:06:25 +00:00
Michael Niedermayer 5c6f7ed667 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavc: do not init frame with guessed layout.
  lavfi/af_atempo: simplify request_frame loop.
  lavfi/af_asetnsamples: simplify request_frame loop.
  lavfi/f_ebur128: remove request_frame hack.
  lavfi/vf_tile: simplify request_frame loop.
  lavfi: reindent after last commit.
  lavfi: loop on request_frame if necessary.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-03 18:29:23 +02:00
Nicolas George 464f94b206 lavc: do not init frame with guessed layout.
It is breaking support from files with unknown layout.
2013-04-03 17:44:10 +02:00
Nicolas George d38c173dfb lavfi/af_atempo: simplify request_frame loop. 2013-04-03 17:44:10 +02:00
Nicolas George b570f24d76 lavfi/af_asetnsamples: simplify request_frame loop. 2013-04-03 17:44:10 +02:00
Nicolas George 9566ba91ab lavfi/f_ebur128: remove request_frame hack. 2013-04-03 17:44:10 +02:00
Nicolas George 77fa554b6e lavfi/vf_tile: simplify request_frame loop. 2013-04-03 17:44:10 +02:00
Nicolas George 69d67fb622 lavfi: reindent after last commit. 2013-04-03 17:44:10 +02:00
Nicolas George 79d8cfacf0 lavfi: loop on request_frame if necessary.
Some filters need several input frames before producing output.
For these filter, it becomes simpler to return 0 in
request_frame() and let the framework call it again until
output has been produced.
2013-04-03 17:33:27 +02:00
Carl Eugen Hoyos db2d3a9082 Skip padding in an id3 tag in aiff files.
Fixes ticket #2430.

Reviewed-by: Matthieu Bouron
2013-04-03 15:45:46 +02:00
Michael Niedermayer c208576cef Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix make checkheaders without opencl headers.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-03 15:35:23 +02:00
Carl Eugen Hoyos c484b3af15 Fix make checkheaders without opencl headers. 2013-04-03 15:28:29 +02:00
Michael Niedermayer d3fc2db47e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avfiltergraph: check for sws opts being non-NULL before using them.

Conflicts:
	libavfilter/avfiltergraph.c
	libavfilter/graphparser.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-03 15:20:05 +02:00
Michael Niedermayer 4d636947b4 Merge commit '817dff578f13ce97576c609ab141508b9dc782e9'
* commit '817dff578f13ce97576c609ab141508b9dc782e9':
  configure: Check for the atomic.h functions used in the suncc atomics header

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-03 15:08:21 +02:00
Paul B Mahol e3cc92a623 smacker: fix off by one error
Regression since a93b572ae4.

Fixes #2426.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-03 13:01:38 +00:00
Michael Niedermayer 6ce1d87355 Merge commit 'f9f6402e9c9ce3642df981b48507df3a2d956f65'
* commit 'f9f6402e9c9ce3642df981b48507df3a2d956f65':
  configure: prettify atomics handling.

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-03 14:46:48 +02:00
Paul B Mahol 6fcb4ae1d8 lavfi/afade * biquads: call av_frame_copy_props()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-03 11:10:00 +00:00
Paul B Mahol 0ab10f69ef lavfi/earwax: clip sample, this is what sox does
Fixes #1884.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-03 10:55:13 +00:00
Carl Eugen Hoyos 6e90d9e206 vf_deshake: Reorder constant arguments in an if() statement.
Fixes compilation with clang on netbsd with --disable-optimizations.

Tested-by: Paul B Mahol
2013-04-03 12:52:38 +02:00
Luca Barbato 25a80a931a matroska: pass the lace size to the matroska_parse_rm_audio
Each lace must be independent according to the specification.

Fix heap-buffer-overflow in matroska_parse_block for
corrupted real media in mkv files.

Stricter check than fc43c19a56

CC: libav-stable@libav.org
2013-04-03 12:34:38 +02:00
Luca Barbato 8a96df7b70 matroska: fix a corner case in ebml-lace parsing
Make sure we notice when the lace_size[n] is a negative value.

CC: libav-stable@libav.org
2013-04-03 12:33:15 +02:00
Dale Curtis fc43c19a56 matroska: Update the available size after lace parsing
Fix heap-buffer-overflow in matroska_parse_block for
corrupted real media in mkv files.

CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-04-03 12:33:01 +02:00
Luca Barbato 19f251a288 clang: use -fsantize=address and -fsanitize=thread
The previous syntax is deprecated.
2013-04-03 12:23:43 +02:00
Paul B Mahol bf65752848 aphaser filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-03 08:33:59 +00:00
Anton Khirnov 6e3c13a559 avfiltergraph: check for sws opts being non-NULL before using them.
Avoid snprintfing a NULL pointer.

CC: libav-stable@libav.org
2013-04-03 09:29:55 +02:00
Martin Storsjö 817dff578f configure: Check for the atomic.h functions used in the suncc atomics header
The "suncc" atomics implementation uses a suncc specific memory
barrier, but also relies on a few atomic functions from atomic.h,
that are not suncc specific but specific to solaris. This made
the current implementation fail on suncc on linux.
2013-04-03 09:23:04 +02:00
Anton Khirnov f9f6402e9c configure: prettify atomics handling.
Add simpler names and a shorthand for native atomics (as opposed to
pthreads fallback).
2013-04-03 09:22:31 +02:00
Michael Niedermayer 83e2217221 flvdec: fix seeking in audio only files
Fixes Seeking with the file in Ticket2283

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-03 03:57:37 +02:00
Michael Niedermayer aa7d9809c1 h264pred: fix "warning: initialization discards const qualifier from pointer target type"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-03 03:14:09 +02:00
Clément Bœsch e7692a9bac lavfi/edgedetect: reindent after previous commit. 2013-04-03 00:31:19 +02:00
Clément Bœsch e366aec030 lavfi/edgedetect: add direct path. 2013-04-03 00:30:48 +02:00
Michael Niedermayer ccc25378bd avformat: fix atomatic format selection for (s)segment
Fixes Ticket2236

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-02 21:52:40 +02:00
Michael Niedermayer 356363c898 ffmpeg: Fix forcing of the framerate for stream copy on input
Fixes Ticket2211

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-02 18:19:23 +02:00
highgod0401 9079359141 deshake opencl based on comments on 20130402 3rd
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-02 15:57:44 +02:00
Michael Niedermayer c09da45ffb dsputil: Fix "warning: initialization discards const qualifier from pointer target type"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-02 14:52:18 +02:00
Paul B Mahol 1de11a7cab libmp3lame: allow joint stereo to be disabled
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-02 12:14:14 +00:00
Michael Niedermayer 4dd31f88f5 cavs: fix "warning: initialization discards const qualifier from pointer target type"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-02 05:12:10 +02:00
Michael Niedermayer 7f4b588fdf ffplay: use seek per time for ogg by default
Fixes Ticket2383

Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-02 01:36:45 +02:00
Stefano Sabatini 064acc9743 lavu/opencl: use consistent inclusion header guard name 2013-04-01 23:54:29 +02:00
Stefano Sabatini 57d77b3963 lavu/opencl: apply misc cosmetics fixes
Split long lines, reindent code, add missing spaces between operators,
remove possibly confusing comment from av_opencl_buffer_read_image()
doxy, and use designated initializers for openclutils_class.
2013-04-01 23:54:21 +02:00
Michael Niedermayer 4394528d2d cavsdsp: fix "warning: initialization discards const qualifier from pointer target type"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-01 20:47:48 +02:00
Michael Niedermayer f7a02d5d69 ffmpeg: initialize got_output, this silences a compiler warning from icc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-01 20:47:48 +02:00
Clément Bœsch 6278bc8a6c lavfi/curves: make use of options to store the preset names. 2013-04-01 20:37:45 +02:00
Clément Bœsch 2208a46f8f cmdutils: fix build with --disable-avfilter. 2013-04-01 19:56:59 +02:00
Michael Niedermayer 599866f5d5 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavfi/af_asetnsamples: fix EOF handling.
  lavu/opt: make sure av_opt_set_bin() handles NULL/0.
  lavd/v4l2: fully init an ioctl argument.
  lavfi: detect merge failure for unknown layouts.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-01 15:13:07 +02:00
Michael Niedermayer ce841bc032 Changelog: add entry for OpenCL
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-01 13:32:34 +02:00
Michael Niedermayer 76071322a3 opencl: fix double ;
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-01 13:01:17 +02:00
highgod0401 189cbc1a03 opencl wrapper based on comments on 20130401
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-01 12:52:13 +02:00
Michael Niedermayer 24f822c3ab Merge remote-tracking branch 'qatar/master'
* qatar/master:
  oma: Validate sample rates

Conflicts:
	libavformat/oma.c

See: a30165c4a8

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-01 12:48:04 +02:00
Nicolas George 52853077ee lavfi/af_asetnsamples: fix EOF handling.
Only filter one buffered frame.
Correctly return EOF if there is none.
2013-04-01 10:38:52 +02:00
Nicolas George 983d04dd40 lavu/opt: make sure av_opt_set_bin() handles NULL/0. 2013-04-01 10:38:38 +02:00
Nicolas George 9dd54d7422 lavd/v4l2: fully init an ioctl argument.
Silence a valgrind warning about uninitialized memory.
2013-04-01 10:38:14 +02:00
Nicolas George f810ca63f8 lavfi: detect merge failure for unknown layouts.
Detect when filtering known layouts from an explicit list
results in an empty list.

Fix erratic behavior.
2013-04-01 10:37:48 +02:00
Derek Buitenhuis 7d05751581 doc: Grammar fixes for strem specifiers section
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-31 18:22:09 -04:00
Derek Buitenhuis 0cb2d32453 doc: Fix broken English in the common options description
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-31 18:22:09 -04:00
Derek Buitenhuis a034cdf49d doc: Grammar fixes for stream selection
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-31 18:22:09 -04:00
Derek Buitenhuis 9db706206d doc: Consistently use 'filtergraph'
We used to use 'filtergraph' or 'filter graph' randomly.

'filtergraph' was chosen due to having 57 occurrences in
the documentation, whereas 'filter graph' had only 19.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-31 18:22:08 -04:00
Derek Buitenhuis 9249b28e79 doc: Grammar fixes for FFmpeg's detailed description
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-31 18:22:08 -04:00
Derek Buitenhuis fe64b88950 doc: Consistently use 'frame rate' everywhere
We used to use 'framerate' or 'frame rate' randomly.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-31 18:22:08 -04:00
Derek Buitenhuis 91b5ee6699 doc: Grammar fixes for FFmpeg description
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-31 18:22:08 -04:00
Derek Buitenhuis 9f597052d4 doc: Fix grammar in -n description
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-31 18:22:08 -04:00
Derek Buitenhuis 876fe11e32 doc: Small grammar fix in -f description
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-31 18:22:08 -04:00
Derek Buitenhuis e54a15b681 doc: Document which cpuflags exist
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-31 18:22:08 -04:00
Derek Buitenhuis 4c79367e9b doc: Explain the various logevel settings
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-31 18:22:02 -04:00
Derek Buitenhuis 1fb8ecb498 doc: Remove list of format fields
These are available in the output of -formats.

Similarily, we do not list the fields for e.g. -codecs.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-31 18:02:18 -04:00
Michael Niedermayer a9f8182a9d doxygen: dont strip code comments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-31 22:34:13 +02:00
Michael Niedermayer ac126a98e5 dvdec: fix lowres=3 with yuv 4:1:1
Fixes Ticket2390

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-31 20:37:49 +02:00
Clément Bœsch d00dcb8c9f opt: attempt to improve options dump output.
Add some indent and remove the '-' prefix for filters.
2013-03-31 18:22:23 +02:00
Clément Bœsch 999a46b12c cmdutils: support filters in the help topic system. 2013-03-31 18:22:23 +02:00
Clément Bœsch 7d8ad6c1fa cmdutils: avtool -> fftool 2013-03-31 18:22:23 +02:00
Michael Niedermayer 5c13ae280f cmdutils: allow forcing log line repeation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-31 18:06:18 +02:00
Michael Niedermayer cb16d433a9 cmdutils_common_opts: fix loglevel help text as its inaccurate
ffmpeg and ffplay use the loglevel as well as libpostproc, libswscale
and libswresample.

Also this makes the text shorter

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-31 18:06:18 +02:00
Stefano Sabatini 66c92a1575 examples/resampling_audio: make use of av_samples_alloc_array_and_samples()
Simplify.
2013-03-31 18:00:45 +02:00
Stefano Sabatini 5c73645d91 lavu/samplefmt: add av_samples_alloc_array_and_pointers() 2013-03-31 18:00:44 +02:00
Stefano Sabatini 39aad43465 lavfi/overlay: fix debug PTS output in try_filter_frame()
The PTS of the input frames must be interpreted according to the input
timebase, which is not the same as the output timebase.
2013-03-31 18:00:44 +02:00
Luca Barbato 0933fd1533 oma: Validate sample rates
The sample rate index is 3 bits even if currently index 5, 6 and 7 are
not supported.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-03-31 16:10:52 +02:00
Timothy Gu 874173002e doc/filters: fix width/height typo in crop filter.
Signed-off-by: Clément Bœsch <ubitux@gmail.com>
2013-03-31 12:20:17 +02:00
Clément Bœsch 01b2d1288a lavfi/volume: use designated initializers for the sample_fmts declaration. 2013-03-31 11:58:20 +02:00
Clément Bœsch 4dae804d3c lavfi/volume: use copy props helper instead of incomplete manual code. 2013-03-31 11:58:20 +02:00
Clément Bœsch eb054a9693 fate/filter: use aperms to test volume filter. 2013-03-31 11:58:20 +02:00
Michael Niedermayer f8201cc18b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doc/platform: Remove part about dllimport
  vp8: Fix pthread_cond and pthread_mutex leaks

Conflicts:
	doc/platform.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-31 11:31:19 +02:00
Clément Bœsch 29667a2c20 decimate: check for avctx ptr before closing.
Fixes a crash init failed before setting avctx.
2013-03-31 10:00:32 +02:00
Stephen Hutchinson 8cd7aab1bb Use PIX_FMT_BGR24 for the AviSynth demuxer, instead of RGB24.
Partial fix for ticket #2412 in that using PIX_FMT_BGR24 fixes the
swapped channels issue when using scripts serving RGB24.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-31 01:09:33 +01:00
Michael Niedermayer 34ea5f418e h264_refs: check for multiple mismatching long term ref assignments
Fixes failure of the assert added a few hours ago.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-31 00:18:23 +01:00
Michael Niedermayer 8b9059cfdd Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: always queue attachment pictures after flushing the video packet queue
  ffplay: fix early frame dropped pts serial

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 22:25:00 +01:00
Michael Niedermayer 3d68f5e032 h264_direct: assert the validity of the spatial ref
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 21:13:19 +01:00
Michael Niedermayer 285c5f6838 h264: move last_slice_type reset into decode_slice_header
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 20:57:31 +01:00
Michael Niedermayer 11c3381ce3 h264: move the default_ref_list_done check down after its inputs have been written
Fixes out of array read

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 20:28:00 +01:00
Michael Niedermayer 3f2ce24f59 h264_refs: assert that the references are not deallocated
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 20:28:00 +01:00
Michael Niedermayer fbb6741a84 h264_refs: assert that long ref fields have not been inserted multiple times
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 20:28:00 +01:00
Michael Niedermayer dc92464aee avutil: add av_buffer_get_ref_count()
This function is quite usefull for debuging

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 20:28:00 +01:00
Michael Niedermayer 746016598d h264: Move slice_table clean out of frame_start
Fixes inconsistency ultimately leading to an out of array read

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 20:28:00 +01:00
Derek Buitenhuis f2f57d1679 doc/platform: Remove part about dllimport
Only deprecated things need this at all anymore, as we have functions
to access them or they are no longer needed.

The document should not encourage use of deprecated APIs.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-30 13:52:02 -04:00
Marton Balint 1c2ac44947 ffplay: always queue attachment pictures after flushing the video packet queue
Requeue them after seeking and also after opening a video stream. Also don't
fill the video queue in case of an attached picture video stream since there
will be no more than one packet from that stream.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-03-30 16:44:19 +01:00
Marton Balint de81d8da47 ffplay: fix early frame dropped pts serial
Fixes early frame drop which was kind of broken since
26c208cf0f.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-03-30 16:44:19 +01:00
Matt Wolenetz 1d6e618939 vp8: Fix pthread_cond and pthread_mutex leaks
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-30 16:08:50 +01:00
Carl Eugen Hoyos b448c0a68d Write broken aac frames to mov files instead of skipping them.
Fixes decoding with picky media players.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 14:29:15 +01:00
Michael Niedermayer 89ec4f4d5e Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix compilation with --enable-decoder=webp --disable-decoder=vp8
  Do not show "Estimating duration from bitrate" warning if no duration was estimated.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 13:41:43 +01:00
Michael Niedermayer 612d9cdbe9 ffplay: use av_guess_frame_rate()
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 13:30:37 +01:00
Michael Niedermayer ee53777e70 fate: Print correct error message for reference generation too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 11:41:58 +01:00
Michael Niedermayer 6c8aa2035d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: add an option to generate the references

Conflicts:
	doc/fate.texi
	tests/fate-run.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 11:21:15 +01:00
Carl Eugen Hoyos 670bb1c979 Fix compilation with --enable-decoder=webp --disable-decoder=vp8 2013-03-30 08:25:44 +01:00
Carl Eugen Hoyos 4d3c5d3b65 Do not show "Estimating duration from bitrate" warning if no duration was estimated. 2013-03-30 08:24:51 +01:00
Paul B Mahol 95c7cad70c lavc: remove empty function
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-30 03:23:02 +00:00
Stefano Sabatini c838701ce4 doc/texi2pod.pl: skip printing chapter names if they are disabled 2013-03-30 16:58:45 +01:00
Stefano Sabatini 37fce84e27 lavc/libtheoraenc: clarify comment about global_quality to quality conversion 2013-03-30 16:58:40 +01:00
Matt Wolenetz 65340c976c Fix pthread_cond and pthread_mutex leaks in vp8
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-29 21:36:04 +01:00
Paul B Mahol 1c11ab82d6 paf_video: make code independent of sizeof(AVFrame)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-29 20:19:10 +00:00
Michael Niedermayer 66e9716a36 aacps: correct opdipd code to match spec
This fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-29 21:03:59 +01:00
Paul B Mahol a345b7f906 vmdav: use more unchecked bytestream2 variants where it makes sense
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-29 19:48:45 +00:00
Paul B Mahol 67f9bbbb3f noise_bsf: check if allocation failed
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-29 19:00:16 +00:00
Paul B Mahol 8263726c69 lavc: fix typo
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-29 18:59:56 +00:00
Xidorn Quan c7269e3a26 vda_h264_dec: fit the new API
It fixes a memory leak in this decoder caused by the API change.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-29 17:55:48 +01:00
Michael Niedermayer ef7b6b489a ffmpeg/avformat: factor av_guess_frame_rate() out
This will be used in ffplay

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-29 17:40:28 +01:00
Xidorn Quan c81d2fa96d avutil/buffer: add get_opaque
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-29 17:31:16 +01:00
Luca Barbato b01b60a29d fate: add an option to generate the references
Useful to add or update fate tests.
2013-03-29 15:41:26 +01:00
Michael Niedermayer 774a268497 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  flvdec: read audio sample size and channels metadata

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-29 11:02:25 +01:00
Michael Niedermayer 8ed9d34aa7 Merge commit 'c3d015775388882b8a122afc337ea35108f652be'
* commit 'c3d015775388882b8a122afc337ea35108f652be':
  flvdec: use the correct audio codec id when parsing metadata

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-29 10:56:36 +01:00
Michael Niedermayer 24cfe91a22 id3v2: allocate large enough buffer
Fixes array overread

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-29 05:01:38 +01:00
Michael Niedermayer aa28c42534 mjpegdec: check buffer before using it
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-29 05:00:15 +01:00
Michael Niedermayer 551f683861 yop: Do not keep a copy of parts of the returned packet
Fixes double free
Regression since the new buffer references, thus no FFmpeg
releases should be affected

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-29 02:11:34 +01:00
Michael Niedermayer 6ae03353de mpegvideo: Make the table reallocation more robust.
This fixes out of array writes after resolution changes
No FFmpeg releases are known to be affected by this

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-29 02:11:34 +01:00
Clément Bœsch 0fb9f77a39 LICENSE: add libutvideo in the GPL libraries list. 2013-03-29 02:08:20 +01:00
Michael Niedermayer 3969b4b861 gmc: Always use edge emu
The gmc functions access more pixels than there is allocated memory.
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 22:24:33 +01:00
Michael Niedermayer 8fc52a5ef9 wmv2: drop non emu edge mode
slightly (~ 0.5%) faster, tested with time ./ffmpeg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 21:59:23 +01:00
Michael Niedermayer 76e6b1eba1 wmv2: Use emu edge mode when the edge is too small
Fixes out of array read

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 21:50:53 +01:00
Michael Niedermayer 92002db3eb h264_refs: Check for attempts to assign pictures to short & long.
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 21:09:47 +01:00
Clément Bœsch dd17843b8a fate/filter: make overlay test bitexact. 2013-03-28 17:55:02 +01:00
Clément Bœsch ef4020ca7d fate/filter: move gradfun filtergraph to a dedicated script. 2013-03-28 17:44:22 +01:00
Clément Bœsch 0adc93ba2b fate/filter: move concat filtergraph to a dedicated script. 2013-03-28 17:44:22 +01:00
Clément Bœsch b1213c911c fate/filter: move some CMD below deps for consistency. 2013-03-28 17:44:22 +01:00
Clément Bœsch 7f19fc99e0 fate/filter: remove pointless indirections for gradfun and hqdn3d. 2013-03-28 17:44:22 +01:00
Clément Bœsch 4694af1088 fate/filter: rename 'ubitux' rules to 'sample'. 2013-03-28 17:44:18 +01:00
Clément Bœsch ac00755e0a fate/filter: stick delogo test with its deps (cosmetics). 2013-03-28 17:37:53 +01:00
Michael Niedermayer 27b7bfc7b5 avidec: Fix demuxing of non seekable avis with multiple RIFFs
This solution uses the size of the first RIFF if its valid
to check frame size validity when the filesize could not be determined.
Feedback is welcome, other ideas and improvments as well!

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 17:30:42 +01:00
Giorgio Vazzana 5009863ab5 lavd/v4l2: fix printing of list_formats table
In particular we needed a '\n' at the end of the line when the format is emulated.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 16:17:42 +01:00
Giorgio Vazzana b97f7d9d24 lavd/v4l2: replace ioctl() with v4l2_ioctl()
This is consistent with the rest of the file and makes listing of
emulated formats possible when ffmpeg is compiled with libv4l2.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 16:17:04 +01:00
Michael Niedermayer e14f8bd07e fate: Disable af_join test, as its output is not deterministic currently
The reason for the failure is unknown, this needs to be debuged and fixed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 15:29:21 +01:00
Michael Niedermayer e0dd8cadcc af_join: fix channel count and format
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 15:29:14 +01:00
Michael Niedermayer 37bdf33cff Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vmdav: convert to bytestream2
  FATE: add a test for the join filter
  FATE: add a test for the volume filter

Conflicts:
	libavcodec/vmdav.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 15:02:49 +01:00
Michael Niedermayer acaee26008 af_channelsplit: set output channels, fix assertion failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 14:29:11 +01:00
Michael Niedermayer 7a14564b2d Merge commit '43a8333a16c796b3d855fb3aaa742103cb62731f'
* commit '43a8333a16c796b3d855fb3aaa742103cb62731f':
  FATE: add a test for the channelsplit filter
  FATE: add a test for the channelmap filter
  FATE: add a test for the negate filter
  FATE: add a test for the overlay filter

Conflicts:
	tests/fate/filter.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 14:29:01 +01:00
Michael Niedermayer 8823ec4f9e Merge commit 'ea290d919a52f0f8c7e30d69328bb011ed13f61a'
* commit 'ea290d919a52f0f8c7e30d69328bb011ed13f61a':
  FATE: add a test for the setpts filter
  FATE: add a test for the hqdn3d filter
  FATE: add a test for the transpose filter
  FATE: add a test for the unsharp filter

Conflicts:
	tests/ref/fate/filter-hqdn3d

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 14:05:22 +01:00
Michael Niedermayer 6f1a6a9f6b Merge commit '1a6d4bd7b60761bd7d955011ce7df4dd6b87b497'
* commit '1a6d4bd7b60761bd7d955011ce7df4dd6b87b497':
  FATE: add a test for the fade filter
  FATE: add a test for the drawbox filter
  FATE: add a test for the boxblur filter
  FATE: add a test for the gradfun filter

Conflicts:
	tests/fate/filter.mak
	tests/ref/fate/filter-gradfun

our gradfun test is renamed to gradfun-ubitux as its name conflicts and
it was requested to be kept. Feel free to rename, change, finetune ...

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 13:48:05 +01:00
Michael Niedermayer ac1a1fd708 Merge commit '1ae44c87c924b69a0657256fbaa8ad140df2f27c'
* commit '1ae44c87c924b69a0657256fbaa8ad140df2f27c':
  lavfi/gradfun: remove rounding to match C and SSE code.
  lavfi/gradfun: fix dithering in MMX code.
  lavfi/gradfun: fix rounding in MMX code.
  lavfi/gradfun: do not increment DC pointer for odd values.
  fate: filter: Add dependencies
  avconv: add options for reading filtergraphs from a file.

Conflicts:
	Changelog
	doc/ffmpeg.texi
	doc/filters.texi
	ffmpeg.h
	ffmpeg_opt.c
	libavfilter/vf_gradfun.c
	tests/fate/filter.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 13:00:39 +01:00
Paul B Mahol 705b607db8 lavfi/biquads: fix min allowed option value
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-28 11:52:11 +00:00
Michael Niedermayer fd37a7dc3c Merge commit 'cf53704c55378cc0dcfc16637cdac7d58f0b3107'
* commit 'cf53704c55378cc0dcfc16637cdac7d58f0b3107':
  AVOptions: make av_set_options_string() forward options to child objects
  win32: Use 64-bit fstat/lseek variants for MSVC as well
  win32: Make ff_win32_open more robust

Conflicts:
	libavformat/os_support.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 12:26:36 +01:00
Michael Niedermayer e63ebaca16 Merge commit 'e9cc98839574c7e8d546e890ebbf57d1766e5d8a'
* commit 'e9cc98839574c7e8d546e890ebbf57d1766e5d8a':
  win32: Allow other programs to open the same files
  configure: Add error_resilience as dependency to the eatqi decoder

Conflicts:
	configure
	libavformat/os_support.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 12:20:41 +01:00
Michael Niedermayer dac1d92cb7 Merge commit '472391b9a7e15e3bff33b016e7b6dbfa6a555975'
* commit '472391b9a7e15e3bff33b016e7b6dbfa6a555975':
  ape: use correct context for the bit table printed in debug
  build: Move setting of SRC_DIR to the only place it is used

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 12:12:38 +01:00
Michael Niedermayer 2b6185cac9 Merge commit 'b4d24b471bc52f1f78a43ee330199e70483e51c3'
* commit 'b4d24b471bc52f1f78a43ee330199e70483e51c3':
  build: Remove configure-generated .config file on distclean
  msmpeg4: Split decoding related functions to a separate file

Conflicts:
	Makefile
	libavcodec/Makefile
	libavcodec/msmpeg4.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 12:07:38 +01:00
Michael Niedermayer 2bfcd74ad3 Merge commit 'e557584aa7df6ac9f52af7ee7e5c963437da2e2f'
* commit 'e557584aa7df6ac9f52af7ee7e5c963437da2e2f':
  mpeg12: Move Mpeg1Context declaration to the only place it is used

Conflicts:
	libavcodec/mpeg12.h
	libavcodec/mpeg12dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 11:56:05 +01:00
Michael Niedermayer 016c00cf68 Merge commit '1b6d66745ac1768adb387c2227cdcf4452271149'
* commit '1b6d66745ac1768adb387c2227cdcf4452271149':
  Split MPEG-1/2 decoder code off from MPEG-1/2 common code

Conflicts:
	libavcodec/Makefile
	libavcodec/mpeg12.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 11:45:50 +01:00
Michael Niedermayer 385ffc7650 Merge commit 'eee2000b41234ae9465c314e18bfec1700181f32'
* commit 'eee2000b41234ae9465c314e18bfec1700181f32':
  mpeg12: Move some ff_mpeg1_* function declarations to a more suitable place

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 11:30:29 +01:00
Justin Ruggles e46a2a7309 flvdec: read audio sample size and channels metadata
This is needed in order for the FLV demuxer not to detect a codec change when
using the "flv_metadata" option.
2013-03-28 06:27:28 -04:00
Justin Ruggles c3d0157753 flvdec: use the correct audio codec id when parsing metadata 2013-03-28 06:27:28 -04:00
Michael Niedermayer 63a97d5674 Merge commit 'b6649ab5037fb55f78c2606f3d23cea0867cdeaa'
* commit 'b6649ab5037fb55f78c2606f3d23cea0867cdeaa':
  cosmetics: Remove unnecessary extern keywords from function declarations

Conflicts:
	libswscale/x86/swscale.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 11:20:41 +01:00
Michael Niedermayer b1064dd783 Merge commit '1db6a080bddd14fed6b29140ecd2e21e42b1c022'
* commit '1db6a080bddd14fed6b29140ecd2e21e42b1c022':
  dca: Move ff_dca_convert_bitstream() to the DCA common code
  vdpau: wrap codec specific functions in appropiate #ifs

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 11:18:23 +01:00
Michael Niedermayer 7609d42d0f Merge commit '757d85868b77c4fdec7b77a3b7de1faf16c031e8'
* commit '757d85868b77c4fdec7b77a3b7de1faf16c031e8':
  vdpau: fix obsolete mpeg1 vdpau decoder when mpeg2 is disabled

Conflicts:
	libavcodec/mpeg12.c

Nothing changes as the buggy code is not in ffmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 11:07:48 +01:00
Michael Niedermayer 021547bfcc Merge commit 'd767e2f969933b4e450ed4e69ea2bf8ca864838c'
* commit 'd767e2f969933b4e450ed4e69ea2bf8ca864838c':
  configure: fix dependencies of XvMC and old vdpau mpeg2 decoders

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 10:54:17 +01:00
Alexandra Khirnova 0afcf97e1e vmdav: convert to bytestream2
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-28 08:30:38 +01:00
Anton Khirnov 8a2f5f0c63 FATE: add a test for the join filter 2013-03-28 08:03:43 +01:00
Anton Khirnov 9e9cd98aed FATE: add a test for the volume filter 2013-03-28 08:03:31 +01:00
Anton Khirnov 43a8333a16 FATE: add a test for the channelsplit filter 2013-03-28 08:03:12 +01:00
Anton Khirnov 33942b7bde FATE: add a test for the channelmap filter 2013-03-28 08:02:55 +01:00
Anton Khirnov f917420378 FATE: add a test for the negate filter 2013-03-28 08:02:47 +01:00
Anton Khirnov 3d8c80b611 FATE: add a test for the overlay filter 2013-03-28 08:01:58 +01:00
Anton Khirnov ea290d919a FATE: add a test for the setpts filter 2013-03-28 08:01:46 +01:00
Anton Khirnov 71f3ede24e FATE: add a test for the hqdn3d filter 2013-03-28 08:01:41 +01:00
Anton Khirnov 0bdbd85e47 FATE: add a test for the transpose filter 2013-03-28 08:01:34 +01:00
Anton Khirnov ad85e8d9a5 FATE: add a test for the unsharp filter 2013-03-28 08:01:26 +01:00
Anton Khirnov 1a6d4bd7b6 FATE: add a test for the fade filter 2013-03-28 08:01:13 +01:00
Anton Khirnov feb4922b25 FATE: add a test for the drawbox filter 2013-03-28 08:01:07 +01:00
Anton Khirnov a222997650 FATE: add a test for the boxblur filter 2013-03-28 08:00:58 +01:00
Anton Khirnov 7cec12748a FATE: add a test for the gradfun filter 2013-03-28 08:00:24 +01:00
Clément Bœsch 1ae44c87c9 lavfi/gradfun: remove rounding to match C and SSE code.
There is no noticable benefit for such precision.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-28 07:59:29 +01:00
Clément Bœsch 38a2f88d39 lavfi/gradfun: fix dithering in MMX code.
Current dithering only uses the first 4 instead of the whole 8 random values.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-28 07:59:18 +01:00
Clément Bœsch 2d66fc543b lavfi/gradfun: fix rounding in MMX code.
Current code divides before increasing precision.

Also reduce upper bound for strength from 255 to 64.  This will prevent
an overflow in the SSSE3 and MMX filter_line code: delta is expressed as
an u16 being shifted by 2 to the left. If it overflows, having a
strength not above 64 will make sure that m is set to 0 (making the
m*m*delta >> 14 expression void).

A value above 64 should not make any sense unless gradfun is used as
a blur filter.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-28 07:59:04 +01:00
Clément Bœsch 8b9a153ef3 lavfi/gradfun: do not increment DC pointer for odd values.
First DC is only used once otherwise. This also makes the code
consistent with ASM versions.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-28 07:58:55 +01:00
Diego Biurrun f2a59722d1 fate: filter: Add dependencies
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-28 07:58:44 +01:00
Anton Khirnov a4208b9b7d avconv: add options for reading filtergraphs from a file. 2013-03-28 07:55:48 +01:00
Anton Khirnov cf53704c55 AVOptions: make av_set_options_string() forward options to child objects 2013-03-28 07:55:38 +01:00
Michael Niedermayer e234daa518 mlpdec: Fix reading state with 0 bit elements.
This fixes an assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 04:01:34 +01:00
Michael Niedermayer 10ece44d09 h264_cavlc: fix assertion failure due to reading too long vlc
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 04:01:34 +01:00
Michael Niedermayer ea9a6709a9 estimate_timings_from_bit_rate: Check timebase and bitrate
Fixes integer overflow and assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 01:45:01 +01:00
Michael Niedermayer 1831274ff1 electronicarts: check timebase, fix assertion failure
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 01:08:46 +01:00
Michael Niedermayer a56d963f11 vp3: Check fps validity more completely
Fix assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 00:56:12 +01:00
Michael Niedermayer c6831e2a70 wavpack: check K, fix assertion failure
Instead of this it would be possible to change the code to support
larger K but that would make the code slower and probably still need
checks on K.
This variant is choosen as there are no known valid files that need
larger K

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 00:54:45 +01:00
Dale Curtis 81e85bc95c Fix heap-buffer-overflow in matroska_parse_block
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 23:51:44 +01:00
Michael Niedermayer e9d3b40052 snow: drop commented out asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 23:06:29 +01:00
Michael Niedermayer 460d30406b avformat: change some seeking related assert to av_asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 22:53:57 +01:00
Michael Niedermayer 0d6e5a1712 vsrc_mandelbrot: Mandel morphing support
Example: ffplay -f lavfi "mandelbrot=outer=outz:morphamp=1:end_scale=2:maxiter=100"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 19:27:37 +01:00
Hendrik Leppkes 85a46ad685 win32: Use 64-bit fstat/lseek variants for MSVC as well
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-27 19:05:58 +02:00
Reimar Döffinger ad04025987 win32: Make ff_win32_open more robust
- Make MultiByteToWideChar fail when it encounters invalid encoding.
  Without this, invalid characters might just be skipped
- When MultiByteToWideChar fails, assume the file name is in CP_ACP
  and open it via normal open function, even when the file will be
  written
- When malloc fails return error instead of crashing

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-27 18:54:46 +02:00
Reimar Döffinger e9cc988395 win32: Allow other programs to open the same files
In order to match Linux behaviour better our Windows-specific
open() replacement should disable Windows default file locking.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-27 18:51:51 +02:00
Martin Storsjö cfe5908a72 configure: Add error_resilience as dependency to the eatqi decoder
This makes standalone compilation of the eatqi decoder
succeed. The dependency comes from the shared mpeg12dec.o file.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-27 17:37:15 +02:00
Michael Niedermayer 79938a4e97 mandelbrot: add outer coloring method showing bailouted z
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 16:21:44 +01:00
Kostya Shishkov 472391b9a7 ape: use correct context for the bit table printed in debug 2013-03-27 16:20:08 +01:00
Michael Niedermayer a2b5825649 vsrc_mandelbrot: support coloring the outside white
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 16:00:18 +01:00
Diego Biurrun b4d24b471b build: Remove configure-generated .config file on distclean 2013-03-27 14:49:13 +01:00
Diego Biurrun 7c22d0489f build: Move setting of SRC_DIR to the only place it is used 2013-03-27 14:49:13 +01:00
Martin Storsjö 3891a270f5 msmpeg4: Split decoding related functions to a separate file
This fixes standalone compilation of the msmpeg4v2, msmpeg4v3
and wmv2 encoders, that previously failed to link due to the
decoder codepaths requiring error_resilience.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-27 15:45:56 +02:00
Diego Biurrun e557584aa7 mpeg12: Move Mpeg1Context declaration to the only place it is used 2013-03-27 14:26:11 +01:00
Diego Biurrun 1b6d66745a Split MPEG-1/2 decoder code off from MPEG-1/2 common code 2013-03-27 14:26:11 +01:00
Diego Biurrun eee2000b41 mpeg12: Move some ff_mpeg1_* function declarations to a more suitable place 2013-03-27 14:21:45 +01:00
Diego Biurrun b6649ab503 cosmetics: Remove unnecessary extern keywords from function declarations 2013-03-27 14:21:45 +01:00
Diego Biurrun 1db6a080bd dca: Move ff_dca_convert_bitstream() to the DCA common code
This makes the DCA parser and decoder independent.
2013-03-27 14:21:45 +01:00
Janne Grunau b247253929 vdpau: wrap codec specific functions in appropiate #ifs
Fixes linking when only a subset of the deprecated vdpau decoders is
enabled.
2013-03-27 13:20:13 +01:00
Michael Niedermayer ace0cfea60 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  hwaccel: fix use with frame based multithreading

Conflicts:
	libavcodec/h263dec.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 11:51:33 +01:00
Michael Niedermayer 12f203a098 Merge commit 'c24469e812501903a46a06eff9722a82e136e841'
* commit 'c24469e812501903a46a06eff9722a82e136e841':
  utils: add workaround for AVHWAccel in ff_get_buffer compat code
  configure: Remove a stray msmpeg4v1 encoder declaration

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 11:42:15 +01:00
Michael Niedermayer ef8ab2f953 Merge commit '3b2d0ec473b036bdd0a5bc0d896fd5292915f44d'
* commit '3b2d0ec473b036bdd0a5bc0d896fd5292915f44d':
  configure: Remove the mpegvideo dependency from svq1
  x86: vc1dsp: Fix indentation

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 11:32:45 +01:00
d s 914f48ddf0 Update MAINTAINERS with information about avisynth demuxer.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 03:47:56 +01:00
d s 444001bda6 Fix avisynth_context_create constructor error handling.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 03:47:49 +01:00
Carl Eugen Hoyos 92a9a3020d Support pcm_mulaw in Hikvision CCTV mpeg program streams.
Fixes decoding the sample from videolan trac ticket #8344.
2013-03-27 02:32:26 +01:00
Carl Eugen Hoyos 7857ddceec Fix a typo in the Monkey's Audio demuxer. 2013-03-27 01:55:11 +01:00
Clément Bœsch 1a3f7ded14 doc: "av* tools" -> "ff* tools".
Spotted-by: Timothy Gu <timothygu99@gmail.com>
2013-03-27 01:44:20 +01:00
Michael Niedermayer e370b65897 tests/tiny_ssim: include the 2 macros instead of a header
Should fix compilation on open solaris

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 01:38:18 +01:00
Janne Grunau 757d85868b vdpau: fix obsolete mpeg1 vdpau decoder when mpeg2 is disabled 2013-03-26 22:53:29 +01:00
Janne Grunau d767e2f969 configure: fix dependencies of XvMC and old vdpau mpeg2 decoders 2013-03-26 22:53:18 +01:00
Michael Niedermayer 46c48d546d mpegvideo: fix null pointer dereference on switching streams
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 21:54:36 +01:00
Janne Grunau 05fa79b844 hwaccel: fix use with frame based multithreading
Allows use of AVHWAccel based decoders with frame based multithreading.
The decoders will be forced into an non-concurrent mode by delaying
ff_thread_finish_setup() calls after decoding of the current frame
is finished.

This wastes memory by unnecessarily using multiple threads and thus
copies of the decoder context but allows seamless switching between
hardware accelerated and frame threaded software decoding when the
hardware decoder does not support the stream.
2013-03-26 19:44:50 +01:00
Janne Grunau c24469e812 utils: add workaround for AVHWAccel in ff_get_buffer compat code
Since c977039e58 plane count for
PIX_FMT_HWACCEL pixel formats is 0 instead of 1. The created dummy
AVBuffers are still bogus since AVFrame does not hold frame data when
AVHWAccels are used.
2013-03-26 19:44:50 +01:00
Michael Niedermayer 7b3ca7ae8b mpegvideo/h264: drop period_since_free
This should not be needed anymore

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 19:27:32 +01:00
Michael Niedermayer 4c587b4f30 tiny_ssim: Avoid "for(int ..."
This should avoid issues with old compilers

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 19:26:44 +01:00
Loren Merritt 064146480b tools: add tiny_ssim
Taken from:
http://lists.mplayerhq.hu/pipermail/mencoder-users/2006-August/003801.html
and
x264
See: [FFmpeg-devel] [PATCH] tools: add tiny_ssim

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 17:31:41 +01:00
Martin Storsjö 2ece5bf3ec configure: Remove a stray msmpeg4v1 encoder declaration
No such encoder exists currently.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-26 16:17:00 +02:00
Carl Eugen Hoyos 1741fece70 Only test the first frame for missing aac_adtstoasc bistream filter.
Many players ignore broken aac frames, so don't abort mov or flv
muxing when encountering one, just print a warning instead.

Fixes ticket #2380.
2013-03-26 15:16:07 +01:00
Carl Eugen Hoyos 8af593dd80 mpegtsenc: Only test the first frame for missing h264_mp4toannexb filter.
Many video players accept broken frames in a transport stream, so there
is no reason to abort remuxing when encountering one, just print a
warning instead.

Fixes ticket #1758.
2013-03-26 15:15:46 +01:00
Martin Storsjö 3b2d0ec473 configure: Remove the mpegvideo dependency from svq1
The svq1 decoder can be built standalone without mpegvideo.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-26 15:50:00 +02:00
Martin Storsjö a2acadd058 x86: vc1dsp: Fix indentation
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-26 15:49:42 +02:00
Michael Niedermayer 07d405cc9e configure: mpegvideo should not depend on error resilience
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 14:43:12 +01:00
Michael Niedermayer 79c845659a configure: the snow encoder is not supposed to depend on error resilience
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 14:41:55 +01:00
Michael Niedermayer 365ad0042a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: Make it possible to compile without error_resilience

Conflicts:
	configure
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 14:36:00 +01:00
Paul B Mahol 62d36abef4 lavfi/mptestsrc: make use of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-26 13:23:42 +00:00
Paul B Mahol 401f9c95e9 lavfi/cellauto: make use of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-26 13:23:42 +00:00
Paul B Mahol 8c5b37b402 lavfi/life: make use of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-26 13:23:42 +00:00
Paul B Mahol 975efc8864 lavfi/mandelbrot: make use of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-26 13:23:42 +00:00
Paul B Mahol 54056c6655 lavfi/testsrc: make use of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-26 13:23:41 +00:00
Paul B Mahol 7606f4a1af lavfi/fps: make use of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-26 13:23:41 +00:00
Michael Niedermayer b19604cc4b Merge commit 'f1e9398621af0bc9d166014e4ce6996bb4f141d0'
* commit 'f1e9398621af0bc9d166014e4ce6996bb4f141d0':
  lavc: Rename avpriv_mpv_find_start_code after moving out from mpegvideo

Conflicts:
	libavcodec/h264_parser.c
	libavcodec/internal.h
	libavcodec/mpeg12.c
	libavcodec/utils.c
	libavformat/mpegtsenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 13:44:09 +01:00
Michael Niedermayer 7834bb092a Revert "Fix compilation with --disable-everything --enable-parser=h264."
This reverts commit e0e8c20559.

The mpegvideo dependancy should not be needed anymore
2013-03-26 13:23:01 +01:00
Michael Niedermayer 2cdedcbcea Merge commit '75644335b907919057960716508477239c26fed4'
* commit '75644335b907919057960716508477239c26fed4':
  lavc: Move start code finding to utils.c

Conflicts:
	configure
	libavcodec/mpegvideo.c
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 13:22:48 +01:00
Michael Niedermayer 795b911bd8 Merge commit '613a37eca4c7b8eefceaa3e0231c23ad090ca94f'
* commit '613a37eca4c7b8eefceaa3e0231c23ad090ca94f':
  ape: 3.80-3.92 decoding support
  h264: Remove an unused variable

Conflicts:
	libavcodec/apedec.c
	libavformat/ape.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 13:14:16 +01:00
Michael Niedermayer 9b9205e760 x86/dsputil.asm: make unaligned bswap actually work
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 13:07:46 +01:00
Michael Niedermayer cb69a9dbf4 Merge commit 'e5c2794a7162e485eefd3133af5b98fd31386aeb'
* commit 'e5c2794a7162e485eefd3133af5b98fd31386aeb':
  x86: consistently use unaligned movs in the unaligned bswap

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 13:07:37 +01:00
Ronald S. Bultje 0b499c9b06 h264: Make it possible to compile without error_resilience
Error resilience is enabled by the h264 decoder, unless explicitly
disabled. --disable-everything --enable-decoder=h264 will produce
a h264 decoder with error resilience enabled, while
--disable-everything --enable-decoder=h264 --disable-error-resilience
will produce a h264 decoder with error resilience disabled.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-26 09:55:05 +02:00
Martin Storsjö f1e9398621 lavc: Rename avpriv_mpv_find_start_code after moving out from mpegvideo
Also move the declaration to internal.h, and add restrict qualifiers
to the declaration (as in the implementation).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-26 09:50:02 +02:00
Martin Storsjö 75644335b9 lavc: Move start code finding to utils.c
This allows dropping the mpegvideo dependency from a number of
components.

This also fixes standalone building of the h264 parser, which
was broken in 64e438697.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-26 09:48:12 +02:00
Michael Niedermayer ea7b96af96 avcodec/x86/dsputil_qns_template: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 04:08:28 +01:00
Clément Bœsch e32cbd0f54 lavfi/perms: add myself to the copyright header. 2013-03-26 02:41:05 +01:00
Clément Bœsch 9371467d9d lavfi/perms: add seed option. 2013-03-26 02:39:55 +01:00
Clément Bœsch e600d0628e lavfi/perms: remove unecessary indirection after f7324c06. 2013-03-26 02:24:03 +01:00
Michael Niedermayer bd03afb5bb ffmpeg_opt: avoid strcpy()
This fixes a warning on openbsd and is more robust

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 01:51:19 +01:00
Clément Bœsch ec1ef0838c tools: add audio normalize script example. 2013-03-26 01:50:13 +01:00
Clément Bœsch 133035c40d lavfi/curves: add forgotten strong_contrast preset. 2013-03-26 01:05:26 +01:00
Clément Bœsch 183f3450fd lavfi/curves: support preset shorthand. 2013-03-26 00:04:06 +01:00
Clément Bœsch dc65d784df lavfi/curves: add presets support.
Except for the vintage preset, the values are defined by Lou Logan based
on the ones found in Adobe Photoshop CS6.

Signed-off-by: Clément Bœsch <ubitux@gmail.com>
Signed-off-by: Lou Logan <lou@lrcd.com>
2013-03-25 23:48:51 +01:00
Michael Niedermayer 4a595cff79 ffserver/ctime1: avoid using strcpy()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-25 23:31:34 +01:00
Michael Niedermayer ea4c99de4c dshow_pin: dont return a value from a void function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-25 22:12:07 +01:00
Michael Niedermayer a2f7314ba2 libpostproc: silence valgrind/fate warning about using uninitialized data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-25 21:48:45 +01:00
Kostya Shishkov 613a37eca4 ape: 3.80-3.92 decoding support 2013-03-25 18:40:56 +01:00
Michael Niedermayer 67607e20e8 xxan: make code independent of sizeof(AVFrame)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-25 17:35:58 +01:00
Michael Niedermayer 8097e5b212 yop: Fix return type
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-25 15:14:20 +01:00
Martin Storsjö ccd349e555 h264: Remove an unused variable
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-25 15:00:05 +02:00
Michael Niedermayer afdfff485b avcodec/gifdec: Add av_log() to workaround gcc 4.2 miscompiling the code
It appears gcc forgets to increment the byte stream pointer at -O3
I was not able to spot a reason/excuse for it to do that. It
also disappears if the function isnt inlined.

This should fix the gif fate failures on open & free bsd

See: [FFmpeg-devel] [PATCH] gifdec: workaround old gcc 4.2 mis-compiling code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-25 13:32:45 +01:00
Michael Niedermayer ad438f450b xan: make decoder independent of sizeof(AVFrame)
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-25 13:30:30 +01:00
James Almer 45013b365e lavc/flacdec: Propagate and return meaningful error codes
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-25 13:16:33 +01:00
Björn S f248b8a902 blend: Adding yuvj pixelformats to the blend effect
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-25 13:14:38 +01:00
Michael Niedermayer 4ce9e4e9c9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  sndio_dec: Add missing includes for av_gettime()

no change, as this has already been fixed in FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-25 12:20:44 +01:00
Janne Grunau e5c2794a71 x86: consistently use unaligned movs in the unaligned bswap
Fixes fate errors in asv1, ffvhuff and huffyuv on x86_32.
2013-03-25 12:11:11 +01:00
Michael Niedermayer ae65327e5e vsrc_testsrc: avoid floats and non bit exactness
The round to zero behavior is maintained, possibly this should
be changed to round to nearest.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-25 03:11:43 +01:00
Michael Niedermayer 01df2a13c3 avcodec/utils: initialize pixel buffer pool
This should silence many valgrind warnings about use of uninitialized
data, all the warnings i looked at where false positives having their
uninitialized data not actually used.

The same effect could be achieved by listing all code that touches
the pixel buffer in the valgrind suppression file.
Note, valgrind also fails to trace the origins correctly.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-25 00:43:14 +01:00
Nicolas George 4f112a8e34 lavf/mux: add the flush_packets option.
Note: a lot of muxers already do the flushing explicitly.
2013-03-24 23:19:07 +01:00
Nicolas George 125acd2152 lavfi: support multiple rounds of format negotiation.
Remove the temporary hack for amerge and replace it with a
generic solution.
2013-03-24 23:17:47 +01:00
Nicolas George 00da527b44 lavfi/af_amerge: return EAGAIN if the input layouts are not known.
Also downgrade the error to a warning.
2013-03-24 23:17:47 +01:00
Nicolas George 57cb4fb075 lavfi: add test for concat. 2013-03-24 23:16:40 +01:00
Michael Niedermayer e2b30194bb h264/field_end move progress report code after error concealment.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-24 22:34:17 +01:00
Clément Bœsch 386dc9a3a8 lavfi/thumbnail: add support for named options. 2013-03-24 20:38:12 +01:00
Stefano Sabatini 3b811bcf67 lavfi/colormatrix: reword error message in init
Change:
"source and destination color space are identical"

which is a true fact, but doesn't tell nothing about what's wrong, to:
"Source and destination color space must not be identical"

which tells more explicitly what the problem is.
2013-03-24 20:21:35 +01:00
Stefano Sabatini 1b140835b6 lavfi/colormatrix: add support for named options 2013-03-24 20:21:20 +01:00
Clément Bœsch cbf224b631 lavfi/tinterlace: use standard options parsing. 2013-03-24 12:26:25 +01:00
Clément Bœsch 9e21c89841 lavfi/subtitles: use standard options parsing. 2013-03-24 12:26:25 +01:00
Clément Bœsch 06784b737a lavfi/smartblur: use standard options parsing. 2013-03-24 12:26:25 +01:00
Clément Bœsch 15878b2b5b lavfi/setfield: use standard options parsing. 2013-03-24 12:26:25 +01:00
Clément Bœsch e62587bc5e lavfi/overlay: use standard options parsing. 2013-03-24 12:26:25 +01:00
Clément Bœsch 5dc074d321 lavfi/kerndeint: use standard options parsing. 2013-03-24 12:26:25 +01:00
Clément Bœsch ab228f9163 lavfi/idet: use standard options parsing. 2013-03-24 12:26:25 +01:00
Clément Bœsch 552c02f20f lavfi/histeq: use standard options parsing. 2013-03-24 12:26:25 +01:00
Clément Bœsch b27a8ba13c lavfi/gradfun: use standard options parsing. 2013-03-24 12:26:25 +01:00
Clément Bœsch b595819cde lavfi/geq: use standard options parsing. 2013-03-24 12:26:24 +01:00
Clément Bœsch cb0fb4d04d lavfi/fieldorder: use standard options parsing. 2013-03-24 12:26:24 +01:00
Clément Bœsch a733481d0a lavfi/field: use standard options parsing. 2013-03-24 12:26:24 +01:00
Clément Bœsch 7edda1a935 lavfi/deshake: use standard options parsing. 2013-03-24 12:26:24 +01:00
Clément Bœsch 1341dd2dd0 lavfi/cropdetect: use standard options parsing. 2013-03-24 12:26:24 +01:00
Clément Bœsch a36d903601 lavfi/boxblur: use standard options parsing. 2013-03-24 12:26:24 +01:00
Clément Bœsch 3f8072886b lavfi/blackframe: use standard options parsing. 2013-03-24 12:26:24 +01:00
Clément Bœsch 67ad9fd098 lavfi/settb: use standard options parsing. 2013-03-24 12:26:24 +01:00
Clément Bœsch 8b994c8c1c lavfi/select: use standard options parsing. 2013-03-24 12:26:24 +01:00
Clément Bœsch f7324c068f lavfi/perms: use standard options parsing. 2013-03-24 12:26:24 +01:00
Clément Bœsch 07b7c2a217 lavfi/sine: use standard options parsing. 2013-03-24 12:26:24 +01:00
Clément Bœsch 3ac77f67af lavfi/apad: use standard options parsing. 2013-03-24 12:26:24 +01:00
Martin Storsjö fdaacc5932 sndio_dec: Add missing includes for av_gettime()
This is necessary after the old av_gettime in libavformat was
dropped.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-24 13:20:53 +02:00
Michael Niedermayer 4c6f08bd8f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: Change a missed occurrance of int to ptrdiff_t for strides
  x86: Remove win64 xmm clobbering wrappers for the now removed avcodec_encode_video function
  bktr: Add missing includes for av_gettime()
  fate: use little endian yuv444p10 in h264-reinit tests

Nothing changes through this merge as the 3 bugfixes already exist
in ffmpeg and the clobbering wraper is still in use as we did not
yet remove avcodec_encode_video

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-24 11:53:47 +01:00
Martin Storsjö 285ff14413 x86: Change a missed occurrance of int to ptrdiff_t for strides
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-24 12:06:53 +02:00
Michael Niedermayer 01a334e885 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: avoid frame data leak on early frame drop

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-24 04:35:44 +01:00
Michael Niedermayer 8e062fd169 rawdec: fix memleak
Fixes fate-lavf-flm under valgrind

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-24 04:09:04 +01:00
Michael Niedermayer 8e944891ce avutil/buffer: remove redundant memory poisoning
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-24 02:21:42 +01:00
Michael Niedermayer 058c002932 avutil/buffer: support memory poisoning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-24 01:44:48 +01:00
Michael Niedermayer d6f9610853 yop: use reget_buffer() as the previous contents are used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-24 01:41:49 +01:00
Michael Niedermayer 7239b36059 fate: dont try to filter partial frames with yadif.
The partial frames leak a few uninitialized pixels through
due to incomplete interlaced error concealment support.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-24 01:30:11 +01:00
Michael Niedermayer 62f56fd7ea buffersink/uninit: use av_frame_free() not unref
Fixes memleak

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 23:49:33 +01:00
Martin Storsjö 352dbdb96c x86: Remove win64 xmm clobbering wrappers for the now removed avcodec_encode_video function
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-23 23:37:27 +02:00
Martin Storsjö fe2661121e bktr: Add missing includes for av_gettime()
This is necessary after the old av_gettime in libavformat was
dropped.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-23 23:36:58 +02:00
Janne Grunau 70db0c9156 fate: use little endian yuv444p10 in h264-reinit tests
Fixes fate big endian configs.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 22:33:11 +01:00
Michael Niedermayer 644092c8e8 h264: dont report rows as finished after a missing slice
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 21:07:57 +01:00
Stefano Sabatini a42d15a3a0 lavfi/anullsrc: add missing checks 2013-03-23 16:53:25 +01:00
Stefano Sabatini 4e8062c2d7 lavfi/anullsrc: remove extra parentheses 2013-03-23 16:53:19 +01:00
Stefano Sabatini fe2cfd50f0 lavfi/anullsrc: simplify logging code in config_props 2013-03-23 16:53:13 +01:00
Stefano Sabatini 5373a2a221 lavfi/anullsrc: fix format negotiation
Samplerate and channel layouts must be set in query_formats.
2013-03-23 16:53:08 +01:00
Bojan Zivkovic e54eb8db9c mips: Optimization of AAC psychoacoustic model functions
Signed-off-by: Bojan Zivkovic <bojan@mips.com>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 16:19:38 +01:00
Piotr Bandurski e26b066cd8 libspeex: support ZygoAudio (quality 10 mode)
Fixes "quality 10" mode from Ticket1873

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 15:45:58 +01:00
Giorgio Vazzana 785b849f1c lavd/v4l2: honor previously selected input channel
An input channel could have been previously set with another application, like
v4l2-ctl, so if no input channel is specified use the previosly selected one.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 13:43:56 +01:00
Michael Bradshaw 2a97c5915b Make audio FIFO read/write contracts more strict
Signed-off-by: Michael Bradshaw <mjbshaw@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 13:33:45 +01:00
Janne Grunau 535c247b57 fate: use little endian yuv444p10 in h264-reinit tests
Fixes fate big endian configs.
2013-03-23 13:12:36 +01:00
Thierry Foucu fcf73f9c01 Call do_video_stats when duplicating frame
When multiple frame are encoded during vsync, current code only
do_video_stats once. This need to do it every frame.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 12:29:12 +01:00
Michael Niedermayer 8b63eeb6b1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: add test for cropping h264 to container dimensions
  FATE: add a tscc2 test.
  tscc2: allocate AVFrame properly.

Conflicts:
	libavcodec/tscc2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 12:26:08 +01:00
Michael Niedermayer 9bb6504e3b Merge commit '20a8ee3061e6d777600c13db731bee3c25878991'
* commit '20a8ee3061e6d777600c13db731bee3c25878991':
  af_asyncts: fix compensation and PTS monotonicity

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 12:16:32 +01:00
Michael Niedermayer 6efe61486d Merge commit '1e8b9738fa70e20967ddb542d2f9d5552fc51ec6'
* commit '1e8b9738fa70e20967ddb542d2f9d5552fc51ec6':
  avutil/frame: add all remaining frame properties to av_frame_copy_props

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 12:08:01 +01:00
Michael Niedermayer 4c1f61b1e8 ffmpeg: Correct inter stream timestamp discontinuities
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 04:53:44 +01:00
Marton Balint c46a8c613e ffplay: avoid frame data leak on early frame drop
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-03-23 02:25:33 +01:00
Michael Niedermayer dda04a5899 Changelog: add WebP
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-22 23:19:07 +01:00
Clément Bœsch 89b4e758d3 lavfi/blend: always peek the first frame of each queue.
Before the change, filter_frame() always waited for 2 samples in the
bottom frames queue. This notably fixes commands such as
./ffplay tests/lena.pnm -vf split,blend=c0_mode=addition
2013-03-22 23:09:08 +01:00
Clément Bœsch 859f7da543 lavc/prores: restore pict_type and key_frame setting. 2013-03-22 23:05:50 +01:00
Michael Niedermayer b3e9f266e8 x86/mpegvideo: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-22 22:57:23 +01:00
Michael Niedermayer cdbf8409ef x86/h264_qpel: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-22 22:57:08 +01:00
Janne Grunau 3f15b301fa fate: add test for cropping h264 to container dimensions
Tests the workaround added for 1080 videos created with Canon cameras
in 30f515091c.
2013-03-22 21:58:01 +01:00
Carl Eugen Hoyos 1ed10bd89c Fix typo in dvvideo decoder dependencies.
Fixes compilation with --disable-everything --enable-decoder=dvvideo
2013-03-22 21:37:17 +01:00
Anton Khirnov 93eaeb0244 FATE: add a tscc2 test. 2013-03-22 20:10:56 +01:00
Anton Khirnov 4e33582a0b tscc2: allocate AVFrame properly. 2013-03-22 20:10:48 +01:00
Jindřich Makovička 20a8ee3061 af_asyncts: fix compensation and PTS monotonicity
This patch improves af_asyncts behavior on streams with bogus PTS, which
are either non-monotonic, or contain PTS jitter, and trigger the
non-monotonicity error. With this patch, af_asyncts is able to correct
these streams and avoid the error.

Firstly, it fixes resample compensation calculation by supplying proper
units to avresample_set_compensation (sample count per second instead
of sample count per some arbitrary frame size). Also, the calculation of
the compensation itself is fixed - delta is proportional to an adjustment
of the compensation, not the compensation itself. Ideally, the compensation
should converge to a value that keeps delta at zero.

To be able to deal with sources with PTS jitter even without resampling,
small PTS errors are adjusted, so the output frames do not overlap.

Finally, one more monotonicity check is added.

The FATE reference changes because now there is 8 less samples of
silence because of the pts jitter.

Signed-off-by: Jindřich Makovička <makovick@gmail.com>
2013-03-22 20:09:34 +01:00
Hendrik Leppkes 1e8b9738fa avutil/frame: add all remaining frame properties to av_frame_copy_props
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-22 20:05:37 +01:00
Michael Niedermayer 428e9dafab h263dec: switch to av_assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-22 18:07:26 +01:00
Michael Niedermayer ac75e0c755 matroskadec: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-22 18:04:17 +01:00
Michael Niedermayer 076c1c956c vp8: WebP decoding support
VP8L, padding and bounds checks by Pascal Massimino

Reviewed-by: Pascal Massimino <pascal.massimino@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-22 14:57:56 +01:00
Michael Niedermayer c0ff2aaa49 img2: WebP support
Reviewed-by: Pascal Massimino <pascal.massimino@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-22 14:57:27 +01:00
Carl Eugen Hoyos e0e8c20559 Fix compilation with --disable-everything --enable-parser=h264. 2013-03-22 13:32:35 +01:00
Carl Eugen Hoyos d98a5318fd Fix compilation with --disable-mmx. 2013-03-22 13:00:50 +01:00
Michael Niedermayer abbc34c372 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Enable hwaccels without external dependencies by default.
  doc/developer: Clarify symbol naming prefixes section.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-22 12:58:22 +01:00
Clément Bœsch 77f60f0011 lavu/eval: add between() function. 2013-03-22 09:20:45 +01:00
Carl Eugen Hoyos ac9b056ddb Do not fail in get_buffer_internal() if pix_fmt planes == 0.
Fixes VDPAU decoding, reported by Ilja Sekler
2013-03-22 01:03:07 +01:00
Michael Niedermayer 21a5f5ea5d error_resilience: fix const correctness, silence warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 23:32:37 +01:00
Michael Niedermayer 732b2fde1c vdpau.h: change vdpau_render_state layout to match fork if AV_HAVE_INCOMPATIBLE_FORK_ABI
This might fix a compatibility issue.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 23:22:33 +01:00
Andrew Euell f8217daa8e vda_h264: fix for VDA compile
the VDA code needs to be updated to use the CHROMA(h) macros

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 19:56:19 +01:00
Michael Niedermayer 4aa8503399 sonicdec: update to new buffer API
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 16:01:53 +01:00
Michael Niedermayer 85d7f54662 sonicenc: fix mono decorrelation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 15:49:22 +01:00
Michael Niedermayer 6ec037c5a9 sonicdec: fix frame size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 15:46:16 +01:00
Michael Niedermayer 1426291eb8 sonicdec: check decorrelation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 15:45:59 +01:00
Michael Niedermayer 8251c05320 g729dec: switch to buffer refs style
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 14:48:56 +01:00
Michael Niedermayer a728a28dac v308dec: remove unneeded self assignment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 14:43:09 +01:00
Diego Biurrun 2e2ec66741 configure: Enable hwaccels without external dependencies by default. 2013-03-21 14:19:03 +01:00
Diego Biurrun 72ad96c854 doc/developer: Clarify symbol naming prefixes section. 2013-03-21 14:17:37 +01:00
Michael Niedermayer 4257b804e2 ffmpeg: Replace -deinterlace (which was broken by the buffer ref stuff) with yadif injection
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 13:54:04 +01:00
Michael Niedermayer f3980b75f8 h264: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 13:17:55 +01:00
Michael Niedermayer de8049d27c h264: add an argument to CHROMA for consistency
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 13:17:19 +01:00
Michael Niedermayer 881050d229 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: remove redundant freeing of DPB in h264_decode_end

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 13:10:57 +01:00
Michael Niedermayer 86d9d349cc Merge commit '23e85be58fc64b2e804e68b0034a08a6d257e523'
* commit '23e85be58fc64b2e804e68b0034a08a6d257e523':
  h264: add a parameter to the CHROMA444 macro.
  h264: add a parameter to the CHROMA422 macro.

Conflicts:
	libavcodec/h264.c
	libavcodec/h264.h
	libavcodec/h264_cavlc.c
	libavcodec/h264_loopfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 13:06:14 +01:00
Michael Niedermayer 92656787cf Merge commit '6d2b6f21eb45ffbda1103c772060303648714832'
* commit '6d2b6f21eb45ffbda1103c772060303648714832':
  h264: add a parameter to the CABAC macro.
  h264: add a parameter to the FIELD_OR_MBAFF_PICTURE macro.

Conflicts:
	libavcodec/h264.c
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 12:58:00 +01:00
Michael Niedermayer bf4d0f8328 Merge commit '7fa00653a550c0d24b3951c0f9fed6350ecf5ce4'
* commit '7fa00653a550c0d24b3951c0f9fed6350ecf5ce4':
  h264: add a parameter to the FIELD_PICTURE macro.
  h264: add a parameter to the FRAME_MBAFF macro.

Conflicts:
	libavcodec/h264.c
	libavcodec/h264_loopfilter.c
	libavcodec/h264_refs.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 12:50:18 +01:00
Michael Niedermayer e168b50816 Merge commit 'da6be8fcec16a94d8084bda8bb8a0a411a96bcf7'
* commit 'da6be8fcec16a94d8084bda8bb8a0a411a96bcf7':
  h264: add a parameter to the MB_FIELD macro.
  h264: add a parameter to the MB_MBAFF macro.

Conflicts:
	libavcodec/h264.c
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 12:43:32 +01:00
Michael Niedermayer 137df692fc Merge commit '48d0fd2d62a476e1db9298163f1fc0abae26cc67'
* commit '48d0fd2d62a476e1db9298163f1fc0abae26cc67':
  h264: merge common_init() into ff_h264_decode_init.

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 12:34:59 +01:00
Michael Niedermayer bbc0f6f978 Merge commit '25408b2a0660c1e6c8555559c4ed71dff2ede31e'
* commit '25408b2a0660c1e6c8555559c4ed71dff2ede31e':
  h264: make ff_h264_frame_start static.

Conflicts:
	libavcodec/h264.c
	libavcodec/h264.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 12:05:13 +01:00
Michael Niedermayer 6c8ac2d782 Merge commit '1c4073efd24164ac6eaa52c544f5cdb0e5f6aee5'
* commit '1c4073efd24164ac6eaa52c544f5cdb0e5f6aee5':
  fate: add tests for h264 decoder reinit
  h264: fix bit depth changes with frame threading

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 11:56:29 +01:00
Michael Niedermayer 82f95d7fd7 h264: drop special case for 9bit chroma422
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 11:51:26 +01:00
Anton Khirnov fcf75022d7 h264: remove redundant freeing of DPB in h264_decode_end
free_tables() frees it already.
2013-03-21 10:21:11 +01:00
Anton Khirnov 23e85be58f h264: add a parameter to the CHROMA444 macro.
This way it does not look like a constant.
2013-03-21 10:21:02 +01:00
Anton Khirnov e962bd08ee h264: add a parameter to the CHROMA422 macro.
This way it does not look like a constant.
2013-03-21 10:20:58 +01:00
Anton Khirnov 6d2b6f21eb h264: add a parameter to the CABAC macro.
This way it does not look like a constant.
2013-03-21 10:20:52 +01:00
Anton Khirnov a6931d8ece h264: add a parameter to the FIELD_OR_MBAFF_PICTURE macro.
This way it does not look like a constant.
2013-03-21 10:20:48 +01:00
Anton Khirnov 7fa00653a5 h264: add a parameter to the FIELD_PICTURE macro.
This way it does not look like a constant.
2013-03-21 10:20:44 +01:00
Anton Khirnov 7bece9b22f h264: add a parameter to the FRAME_MBAFF macro.
This way it does not look like a constant.
2013-03-21 10:20:39 +01:00
Anton Khirnov da6be8fcec h264: add a parameter to the MB_FIELD macro.
This way it does not look like a constant.
2013-03-21 10:20:35 +01:00
Anton Khirnov 82313eaa34 h264: add a parameter to the MB_MBAFF macro.
This way it does not look like a constant.
2013-03-21 10:20:30 +01:00
Anton Khirnov 48d0fd2d62 h264: merge common_init() into ff_h264_decode_init.
There is no point in keeping those separate.
2013-03-21 10:20:10 +01:00
Anton Khirnov 25408b2a06 h264: make ff_h264_frame_start static.
It is not called from outside h264.c
2013-03-21 10:19:54 +01:00
Paul B Mahol c5b484e616 lavfi/vf_stereo3d: use standard options parsing
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-21 09:17:32 +00:00
Stephen Hutchinson cedf27651d Provide local copies of AviSynth's and AvxSynth's requisite headers in compat/avisynth/.
The versions of the headers are the same as those provided with x264
for consistency's sake.
2013-03-21 04:23:24 +01:00
d s b9ad009475 AviSynth demuxer rewrite.
Dynamically loads the library itself, rather than through VfW.
Supports AvxSynth on Linux and OS X.

Supports the new colorspaces added in AviSynth 2.6 when used
with AviSynth 2.6.
2013-03-21 04:11:22 +01:00
Michael Niedermayer 47540c8a68 avformat/avs: increase probe score to preempt conflict with avxsynth
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 04:05:51 +01:00
Clément Bœsch 4331484b8d lavc/utils: fix metadata audio frame memleak in case of non refcounted frames.
The metadata must be set before saving the frame to avci->to_free,
otherwise it will leak.

Signed-off-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Clément Bœsch <ubitux@gmail.com>
2013-03-21 01:07:51 +01:00
Michael Niedermayer 76fdced109 asrc_sine: avoid use of INFINITY as it might be a non constant
This should fix compilation on openbsd

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 00:53:57 +01:00
Michael Niedermayer 426ebdf923 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavfi/vf_yadif: use standard options parsing.
  lavfi/vf_unsharp: use standard options parsing.
  lavfi/vf_transpose: use standard options parsing.
  lavfi/vf_pad: use standard options parsing.
  lavfi/vf_fps: use standard options parsing.
  lavfi/vf_fade: use standard options parsing.
  lavi/vf_drawbox: use standard options parsing.
  lavfi/vf_delogo: use standard options parsing.
  lavfi/vf_decimate: use standard options parsing.
  lavfi/vf_crop: use standard options parsing.
  lavfi/af_volume: use standard options parsing.
  lavfi/vf_tile: use standard options parsing.
  lavfi/avf_concat: use standard options parsing.
  lavfi: add common code to handle options parsing.
  lavf/vobsub: free index pseudo-packet.
  ffmpeg: fix freeing of sub2video frame.
  lavfi: add sine audio source.
  lavu/opt: add AV_OPT_TYPE_DURATION.
  lavfi/concat: fix silence duration computation.
  lavf/concatdec: support seeking.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 21:41:26 +01:00
Frank Galligan b853103fe0 matroskadec: Add support for parsing Matroska ContentEncKeyID
This patch adds the enums for the ContentEncryption elements.
This patch also adds support for parsing the ContentEncKeyID. The
ContentEncKeyID is then base64 encoded and stored in the stream's
metadata.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 21:29:55 +01:00
Nicolas George 2753d4ebf0 lavfi/vf_yadif: use standard options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George 8d4d11cd89 lavfi/vf_unsharp: use standard options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George 769cc30072 lavfi/vf_transpose: use standard options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George 392ec7ec1c lavfi/vf_pad: use standard options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George b201c167d0 lavfi/vf_fps: use standard options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George 4e2bcec95f lavfi/vf_fade: use standard options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George 80580b405a lavi/vf_drawbox: use standard options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George 37438d0a72 lavfi/vf_delogo: use standard options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George 40ecd44f00 lavfi/vf_decimate: use standard options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George 6202cf5dd8 lavfi/vf_crop: use standard options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George e9ca55aedd lavfi/af_volume: use standard options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George e9f45a833d lavfi/vf_tile: use standard options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George 8c6c811b21 lavfi/avf_concat: use standard options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George befbcc374d lavfi: add common code to handle options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George cdd78a65f4 lavf/vobsub: free index pseudo-packet. 2013-03-20 21:13:55 +01:00
Nicolas George 6a90f6d789 ffmpeg: fix freeing of sub2video frame. 2013-03-20 21:13:55 +01:00
Nicolas George 21b092de7c lavfi: add sine audio source. 2013-03-20 21:04:28 +01:00
Nicolas George 8d928a9d99 lavu/opt: add AV_OPT_TYPE_DURATION. 2013-03-20 21:04:28 +01:00
Nicolas George 68fb7e260b lavfi/concat: fix silence duration computation.
Inside send_silence(), delta_ts was used inconsistently:
sometimes as the new value, sometimes as the old value.

Consistently use it as the new value, and add an argument
to know the last segment duration.
2013-03-20 20:59:45 +01:00
Nicolas George de1a71595d lavf/concatdec: support seeking. 2013-03-20 20:59:24 +01:00
Michael Niedermayer 710cd0fddf avformat: Fix infinite probing that reads the whole file
Fixes: otonajoshi_avformat_tries_to_load_whole.ts
Reported-by: JEEB (on IRC)
Thanks-to: nevcairiel
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 17:57:00 +01:00
Michael Niedermayer 06a43baecd av_find_stream_info: change read_size to 64bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 17:23:23 +01:00
Janne Grunau 1c4073efd2 fate: add tests for h264 decoder reinit 2013-03-20 16:04:27 +01:00
Michael Niedermayer 9ea6c14820 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavu/frame: use channels rather than channel_layout.
  lavf: avformat_seek_file(): validate stream_index.
  lavf/concatdec: fix possible leak in case of malloc failure.
  lavfi/buffersink: check av_frame_ref() failure.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 13:58:04 +01:00
Nedeljko Babic 271f95940b libavcodec/mips: fix for mips optimized fp fft with hard coded tables disabled
Floating point FFT (nips optimized) breaks when hard coded tables are
not enabled because MIPS optimization of floating point FFT uses only
ff_init_ff_cos_tabs(16) which is not enabled by default in that case.

This patch is fixing it.

Signed-off-by: Nedeljko Babic <nbabic@mips.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 13:48:05 +01:00
Michael Niedermayer b274703493 avutil/atomic: use av_assert0()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 13:45:30 +01:00
Michael Niedermayer eaa5882e71 avutil: fix compilation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 13:45:30 +01:00
Nicolas George a964d6a8a2 lavu/frame: use channels rather than channel_layout. 2013-03-20 13:35:24 +01:00
Nicolas George 0d09aa9d8e lavf: avformat_seek_file(): validate stream_index. 2013-03-20 13:35:24 +01:00
Nicolas George de1568a452 lavf/concatdec: fix possible leak in case of malloc failure.
Fix CID 747737.
2013-03-20 13:35:24 +01:00
Nicolas George 5eb273b2e7 lavfi/buffersink: check av_frame_ref() failure. 2013-03-20 13:35:24 +01:00
Paul B Mahol ac44e52f50 lavfi/showwaves: make use of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-20 12:29:54 +00:00
Paul B Mahol 7aa9af51db lavu/opt: add AV_OPT_VIDEO_RATE option
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-20 12:29:54 +00:00
Janne Grunau a157c7f2b8 h264: fix bit depth changes with frame threading
AVCodecContext.bits_per_raw_sample is updated from the previous thread
in the generic update function before the codec specific update_thread
function is called. The check for reinitialization of dsp functions uses
bits_per_raw_sample. When called from update_thread_context it will be
already at the current value and the dsp functions aren't updated if
only the bit depth changes.
2013-03-20 13:12:10 +01:00
Bojan Zivkovic 7d29c6eebc mips: Optimization of IIR filter function
Signed-off-by: Bojan Zivkovic <bojan@mips.com>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 12:44:32 +01:00
Bojan Zivkovic 26f3924d78 mips: Optimization of AAC coefficients encoder functions
Signed-off-by: Bojan Zivkovic <bojan@mips.com>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 12:34:37 +01:00
Michael Niedermayer e7dd0365f2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmp: Pass the parameters to do_adobe_auth in the right order

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 12:03:53 +01:00
Michael Niedermayer f7fee8f700 Merge commit 'c3ebfcd6e1327ca7bbcaee822e593c2da6cfd352'
* commit 'c3ebfcd6e1327ca7bbcaee822e593c2da6cfd352':
  mpegvideo: allocate hwaccel privdata after the frame buffer
  h264: allocate hwaccel privdata after the frame buffer

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 11:57:28 +01:00
Michael Niedermayer 084510d12a Merge commit 'c71c80f53b6a63fd6360d9de5a262f9e7c85681f'
* commit 'c71c80f53b6a63fd6360d9de5a262f9e7c85681f':
  pthread: unref already decoded frames when flushing the decoder

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 11:50:33 +01:00
Michael Niedermayer 54b0bef390 Merge commit '4e70d66ded537cadd32dbd02a38c3d86a203c812'
* commit '4e70d66ded537cadd32dbd02a38c3d86a203c812':
  mpegvideo: fix allocation of the hwaccel_picture_private data
  lavc: update the doxy for avcodec_decode_{video,audio} wtih refcounting.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 11:43:29 +01:00
Michael Niedermayer df804041bd Merge commit '6599b087de62a5f9f2a8d61a1952d777d1bff804'
* commit '6599b087de62a5f9f2a8d61a1952d777d1bff804':
  buffersrc: fix a typo.
  lavc, lavfi: fix counting number of planes in AVBufferRef wrappers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 11:30:56 +01:00
Michael Niedermayer 17ebef2fc8 Merge commit '2c328a907978b61949fd20f7c991803174337855'
* commit '2c328a907978b61949fd20f7c991803174337855':
  pixdesc: add a function for counting planes in a pixel format.
  avplay: remove the -debug option.
  Revert "asfenc: return error on negative timestamp"

Conflicts:
	doc/APIchanges
	doc/ffplay.texi
	ffplay.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 11:24:11 +01:00
Martin Storsjö a5e6080a8d rtmp: Pass the parameters to do_adobe_auth in the right order
do_adobe_auth takes the parameters in the order "opaque, challenge".

Due to the way they are treated, this didn't matter in the tested
setups though - if both are set, we only use one. In the tested
setups (Wowza and Akamai) either one of them were null or they
were both set to the same value, which is why this worked before.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-20 12:00:28 +02:00
Sebastian Sandberg db8403d04a vc1dec: interlaced B-frames
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 03:37:48 +01:00
Michael Niedermayer d244a615f6 er: set error_occured on missing slices
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 00:52:46 +01:00
Clément Bœsch 17e1b3cd14 fate: make metadata fate tests only output ts and metadata.
The other information are just cluttering the output. The command line
is also simplified in the process.
2013-03-20 00:09:44 +01:00
Stefano Sabatini 33b0549867 lavc/utils: add VP6F hack for setting correct video size in stream
For some obscure reasons avcodec_set_dimensions() resets the width/height
so that the resulting value set in the stream is equal to the
corresponding coded_width/height, which is not the same as the correct
width/height in case of the H.264 and VP6F codecs.

This adds a codec-specific hack for VP6F which disables the call to
avcodec_set_dimensions() in avcodec_open2(), like it is done with H264. A
proper fix needs to be found yet.

Fix trac ticket #1386.

Based on a patch by Michael Niedermayer.

Trolled-By: Daemon404

See thread:
Subject: [FFmpeg-devel] [PATCH] ffprobe: Stash and use width and height before opening the codec
Date: Fri,  1 Mar 2013 10:41:34 -0500
2013-03-19 23:28:08 +01:00
Clément Bœsch d4982b115d lavd/dshow: fix style and typo recently introduced. 2013-03-19 21:26:24 +01:00
Paul B Mahol 17c1881d58 lavfi: remove harddup libmpcodecs wrapper
It is supposed to be used with mencoder only and does
nothing when used with ffmpeg.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-19 17:15:53 +00:00
Compn b964b0fc5c changelog: 10% faster aac encoding on x86 and MIPS 2013-03-19 13:23:05 -04:00
Stefano Sabatini e292d75113 ffprobe: set writer context to 0 after allocation
Avoid access to uninitialized values, which may result in a crash.

This happens for example in case of option parsing failure, since in that
case the internal AVBprint buffers are not initialized.
2013-03-19 18:00:34 +01:00
Clément Bœsch 1c3b428114 doc/developer: fix typo in regression tests ref. 2013-03-19 17:45:53 +01:00
Clément Bœsch 879ca313c0 fate: add missing filter dep in metadata tests. 2013-03-19 17:39:08 +01:00
Stefano Sabatini 18f43de964 doc/ffmpeg,ffmpeg-formats: avoid to mention ffmpeg options from formats.texi
Also extends documentation for timestamp related ffmpeg options, in order
to make more apparent the fact that muxer processing may change the
timestamps values.
2013-03-19 17:31:16 +01:00
Stefano Sabatini 2bac6b6f5e doc/ffmpeg-formats: reword and extend documentation for avoid_negative_ts option
Hopefully increase readability.
2013-03-19 17:31:16 +01:00
Stefano Sabatini 608bccf470 lavf/avformat.h: fix a few typos in AVFormatContext:avoid_negative_ts doxy 2013-03-19 17:31:16 +01:00
Nedeljko Babic d23aefa498 mips: inline assembly clobber list polishing
List of clobbered registers fixed and added where it is lacking.

Signed-off-by: Nedeljko Babic <nbabic@mips.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 16:51:35 +01:00
Michael Niedermayer 4ce03a95e2 lmlm4: check packet_size against lower limit too
Fixes CID732224

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 16:30:44 +01:00
Michael Niedermayer d275f6eda8 doc: update release_notes by taking the ones from release/1.2 2013-03-19 16:21:26 +01:00
Clément Bœsch bf0e44fa67 fate: add curves filter test. 2013-03-19 16:20:22 +01:00
Michael Niedermayer feeb8ca56d vp56: Check av_frame_ref() return code
Fixes CID991837

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 15:26:23 +01:00
Michael Niedermayer 5f476cfe6e avformat/tee: add forgotten ret assignment
Fixes CID991840
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 15:09:10 +01:00
Michael Niedermayer 1e41b8cd07 hpeldsp: Increase put_no_rnd_pixels_tab[][] size
Fixes CID991852

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 14:47:04 +01:00
Clément Bœsch 21aa4fafcd fate: add ebur128 metadata test. 2013-03-19 14:37:59 +01:00
Michael Niedermayer 2c993fece2 audio_get_buffer: add assert to ensure nb_extended_buf has a safe value
May silence CID991853

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 14:33:47 +01:00
Michael Niedermayer fdda9b440c matroska_parse_frame: fix memleak
Fixes CID991856
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 14:33:47 +01:00
Clément Bœsch dec9800c9d lavf: do not make a hard dep on internal subtitles helpers. 2013-03-19 14:10:24 +01:00
Michael Niedermayer ad98567198 mpegvideo_enc: remove stray semicolon
Fixes CID991857
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 13:47:04 +01:00
Michael Niedermayer f1c3d8b344 avutil/add_to_pool: remove unused assgnment
Fixed CID991859
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 13:35:10 +01:00
chinshou b619a54853 alac: Fix order of values in comment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 13:28:29 +01:00
Michael Niedermayer 8d0da20ca6 avidec: fix duration and bitrate of truncated files
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 13:09:52 +01:00
Hendrik Leppkes c3ebfcd6e1 mpegvideo: allocate hwaccel privdata after the frame buffer
This ensures the hwaccel privdata does not leak when a frame buffer could
not be allocated (and toggle the assert when the frame is re-used).
Having no frame buffer available is quite common when using the DXVA2
hwaccel in situations where the DXVA2 renderer is being re-allocated, for
example when moving between displays.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-19 11:20:22 +01:00
Hendrik Leppkes 9c9ede44f3 h264: allocate hwaccel privdata after the frame buffer
This ensures the hwaccel privdata does not leak when a frame buffer could
not be allocated (and toggle the assert when the frame is re-used).
Having no frame buffer available is quite common when using the DXVA2
hwaccel in situations where the DXVA2 renderer is being re-allocated, for
example when moving between displays.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-19 11:20:00 +01:00
Hendrik Leppkes c71c80f53b pthread: unref already decoded frames when flushing the decoder
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-19 11:19:08 +01:00
Hendrik Leppkes 4e70d66ded mpegvideo: fix allocation of the hwaccel_picture_private data
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-19 11:18:42 +01:00
Anton Khirnov 6599b087de buffersrc: fix a typo.
Vertical shift is log2_chroma_h, not log2_chroma_w.
2013-03-19 11:12:17 +01:00
Anton Khirnov 2c328a9079 pixdesc: add a function for counting planes in a pixel format. 2013-03-19 11:12:17 +01:00
Anton Khirnov 1516bf7af1 lavc: update the doxy for avcodec_decode_{video,audio} wtih refcounting. 2013-03-19 11:12:17 +01:00
Anton Khirnov c977039e58 lavc, lavfi: fix counting number of planes in AVBufferRef wrappers
Number of planes is not always equal to the number of components even
for formats marked with PIX_FMT_PLANAR -- e.g. NV12 has three components
in two planes.
2013-03-19 11:12:17 +01:00
Anton Khirnov e5c32d6da7 avplay: remove the -debug option.
It just shadows the corresponding AVOption and prevents using named
constants.
2013-03-19 11:12:13 +01:00
Anton Khirnov 3cd93cc7b8 Revert "asfenc: return error on negative timestamp"
This reverts commit d1bec33b46, it breaks
FATE.
2013-03-19 11:04:55 +01:00
Paul B Mahol 4d16ba2dd8 ffplay: silence warning of mixed enumeration types
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-19 09:39:28 +00:00
Matthieu Bouron 69e93792d6 lavf/mxfdec: read field dominance flag
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 03:01:51 +01:00
Hendrik Leppkes 97f8c6e147 pthread: update all get_buffer checks for get_buffer2
This restores the performance of simple frame-threaded codecs back to
their pre-merge levels.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 02:25:46 +01:00
Carl Eugen Hoyos 55bb8f4589 Fix Makefile dependency for the dvd_nav parser.
Fixes compilation for --disable-everything --enable-parser=dvd_nav
2013-03-19 02:11:39 +01:00
Carl Eugen Hoyos e4f5aa5e8d Inform the user if a pix_fmt != yuv420p was chosen for x264 encoding. 2013-03-19 01:16:37 +01:00
Michael Niedermayer 6128d33946 AVFrame.pkt_dts: improve docs
Related to Ticket2375

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 00:47:00 +01:00
Michael Niedermayer 0e02a5193f segment: copy metadata
Fixes Ticket2230

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 23:57:44 +01:00
Thierry Foucu 823efd9286 Fix termination of mov_ch_layouts_wav array lookup
Problem found using ASAN.
In some case, the ff_mov_get_channel_layout_tag function will not find 0
as termination for lookup in the array mov_ch_layouts_wav.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 23:50:35 +01:00
Michael Niedermayer 9c22039c15 doc: Document the order in which avoid_negative_ts is applied compared to other timestamp options
Also try to document the rational behind it.

This might fix Ticket2376

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 23:19:54 +01:00
Michael Niedermayer aafbfb1c2e doc: try to improve avoid_negative_ts documentation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 23:09:26 +01:00
Clément Bœsch 4b35be3251 lavc: fix avpacket memleak with subtitles recoding. 2013-03-18 22:04:29 +01:00
dronus fdca977a22 libavdevice sdl: added window_fullscreen option to switch SDL output into fullscreen mode 2013-03-18 20:44:21 +01:00
Elvis Presley 58bc65952b libavcodec/proresdec.h: fix license header
This was somehow missed when relicensing the decoder to LGPL

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 19:34:41 +01:00
Michael Niedermayer cea3a63ba3 avutil/buffer: Fix race in pool.
This race will always happen sooner or later in a multi-threaded
environment and it will over time lead to OOM.
This fix works by spinning, there are other ways by which this
can be fixed, like simply detecting the issue after it happened
and freeing the over-allocated memory or simply using a mutex.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 19:19:22 +01:00
Michael Niedermayer 73ef12757b append_packet_chunked: remove outcommented code
our variant works fine and should be better
also remove related unused variable

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 17:54:01 +01:00
Michael Niedermayer 0163ad66e1 mpeg2: 12LSB w/h of 0 is not allowed in compliant videos thus this also needs AV_EF_COMPLIANT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 17:48:52 +01:00
Michael Niedermayer 330e440706 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  print_options: do not generate docs for options without enc or dec flags
  mpeg12: do not fail on zero dimensions in the sequence header.

Conflicts:
	libavcodec/mpeg12.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 17:43:43 +01:00
Michael Niedermayer 523c8e0503 Merge commit '50c449ac24fbb4c03c15d2e2026cef2204b80385'
* commit '50c449ac24fbb4c03c15d2e2026cef2204b80385':
  iff: validate CMAP palette size
  asfenc: return error on negative timestamp

Conflicts:
	libavformat/iff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 17:30:53 +01:00
Anton Khirnov 358628074c print_options: do not generate docs for options without enc or dec flags
Those are not usable from the avtools, so mentioning them in the
manpages just confuses the reader.
2013-03-18 15:36:25 +01:00
Anton Khirnov ce0124acac mpeg12: do not fail on zero dimensions in the sequence header.
The total frame size is a combination of the 12 bits in the sequence
header and 2 more bits in the the sequence extension. While the
specification explicitly forbids the dimensions from the sequence header
from being 0 (thus ruling out multiples of 4096), such videos
apparrently exist in the wild so we should attempt to decode them.

Based on a patch by Michael Niedermayer <michaelni@gmx.at>

Fixes Bug 416.
2013-03-18 15:36:10 +01:00
Kostya Shishkov 50c449ac24 iff: validate CMAP palette size
Fixes CVE-2013-2495

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>

CC: libav-stable@libav.org
2013-03-18 10:48:29 +01:00
Luca Barbato d1bec33b46 asfenc: return error on negative timestamp
According to the specification the timestamp is represented by a 32bit
unsigned.

CC: libav-stable@libav.org
2013-03-18 10:48:23 +01:00
Clément Bœsch 6abb554fd6 lavc,lavu: fix two doxy mixup between h/v chroma shift. 2013-03-18 09:04:11 +01:00
Clément Bœsch c10b57973d lavfi/pad: fix horizontal/vertical shift confusion. 2013-03-18 08:51:55 +01:00
Michael Niedermayer fbd3ee91a5 avutil/frame: typo
found by ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 04:47:27 +01:00
Michael Niedermayer 3dc25c3ab2 avutil/frame: document alignment and padding requirements
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 04:13:21 +01:00
Clément Bœsch 76d1c07c89 lavfi/ebur128: add metadata injection. 2013-03-18 03:21:08 +01:00
Michael Niedermayer 29e0357a11 aasc: fix pointer vs value error
Fixes Ticket2365

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 02:10:10 +01:00
Michael Niedermayer 8152451b56 buffersrc: fix w/h error
Found-by: nevcairiel
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 02:00:57 +01:00
Michael Niedermayer 519ebb5ee5 rmdec: flush audio packet on seeking
Fixes Ticket1605

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 00:08:59 +01:00
Michael Niedermayer ef3c88838e doc/developer: Add "security fixes" to the release process steps
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-17 22:53:28 +01:00
Michael Niedermayer 36258f9829 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  fate: add a test for -filter_complex / -lavfi without input.
  ffmpeg: make -lavfi an alias for -filter_complex.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-17 21:55:27 +01:00
Michael Niedermayer c603f22683 avutil/get_pool: remove dead operations whichs result is never used.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-17 18:40:15 +01:00
Michael Niedermayer e3be7b1159 avutil/get_pool: Remove redundant initial atomic operation
602->442 dezicycles

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-17 18:40:15 +01:00
Nicolas George ec7fc7b7d1 fate: add a test for -filter_complex / -lavfi without input. 2013-03-17 16:24:43 +01:00
Nicolas George 40ea006b76 ffmpeg: make -lavfi an alias for -filter_complex. 2013-03-17 16:24:43 +01:00
Richard 9cde9f70ab mpeg: Add passing DVD navigation packets (startcode 0x1bf) to caller to allow better playback handling of DVDs.
The two types of packets (PCI and DSI) are passed untouched but combined by the new codec ID AV_CODEC_ID_DVD_NAV.
 The first 980 bytes in the packet contain the PCI data. The next 1018 are the DSI data.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-17 16:24:34 +01:00
Michael Niedermayer 975fbd43ad Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavfi/buffersink: fix header.
  lavfi/buffersrc: disable deprecated warnings.
  lavfi/buffersrc: check channel count changes.
  lavfi/buffersrc: set channel layout if it is known.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-17 14:30:33 +01:00
Michael Niedermayer fa7031ad37 h264_refs: fix typo in refs fallback check
Fixes regression since 01a0283
Fixes Ticket2371

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-17 14:21:46 +01:00
Stefano Sabatini 5787a71637 lavfi/swapuv: remove deprecated base field use 2013-03-17 13:06:01 +01:00
Stefano Sabatini 5fe542d7e1 ffplay: remove options skiploop, skipidct, skipframe
The corresponding codec options (skip_loop, skip_idct, skip_frame) can be
set in a more flexible way.

This technically causes a user interface break, but since the options
were not even documented and we just released a major version that should
not be a serious issue.
2013-03-17 13:05:44 +01:00
Stefano Sabatini f7d1a18c90 ffplay: remove unused variable "codec"
Fix warning:
ffplay.c: In function ‘video_thread’:
ffplay.c:1890:21: warning: unused variable ‘codec’ [-Wunused-variable]
2013-03-17 13:05:44 +01:00
Michael Niedermayer 171bd38eda Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc,lavfi: fix calculating the plane size in the AVBufferRef wrappers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-17 12:59:04 +01:00
Michael Niedermayer ac1cea55ad Merge commit '23f4c5acc438366d84cacf49e33b0bcd72f04937'
* commit '23f4c5acc438366d84cacf49e33b0bcd72f04937':
  document the release process

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-17 12:58:44 +01:00
Nicolas George 7e6c67dd24 lavfi/buffersink: fix header.
Move non-obsolete functions, structures and constants outside
the scope of "#if FF_API_AVFILTERBUFFER".

Add attribute_deprecated to av_buffersink_get_buffer_ref()
and av_buffersink_poll_frame().

Add doxygen for av_buffersink_get_frame_flags().
2013-03-17 12:31:25 +01:00
Nicolas George a5149607df lavfi/buffersrc: disable deprecated warnings. 2013-03-17 12:31:24 +01:00
Nicolas George f29c28a884 lavfi/buffersrc: check channel count changes. 2013-03-17 12:31:24 +01:00
Paul B Mahol 79b1835726 sndio_dec: add missing #include for av_gettime()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-17 11:10:26 +00:00
Nicolas George 3cd342636f lavfi/buffersrc: set channel layout if it is known.
Introduced in 01649c7, lost in the API change.
2013-03-17 11:59:51 +01:00
Anton Khirnov 6552808014 lavc,lavfi: fix calculating the plane size in the AVBufferRef wrappers
It is supposed to be height * linesize, not width * linesize.
Thanks to Hendrik Leppkes for pointing out the bug.
2013-03-17 09:10:04 +01:00
Michael Niedermayer 9f95e355be Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: add -af option
  ffplay: use refcounted frames for audio
  ffplay: use frame->pts if available for setting the audio clock
  ffplay: restructure audio stream opening code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-17 05:24:41 +01:00
Michael Niedermayer 0f95534669 h264_qpel: fix another forgotten int stride
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-17 05:20:35 +01:00
Clément Bœsch 3313b9cc2d lavc: remove unecessary a64enc include. 2013-03-17 04:38:28 +01:00
Marton Balint e96175ad7b ffplay: add -af option
Based on a patch by Stefano Sabatini <stefasab@gmail.com>:
http://ffmpeg.org/pipermail/ffmpeg-devel/2013-February/138452.html

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-03-17 03:43:36 +01:00
Marton Balint 738487f8db ffplay: use refcounted frames for audio
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-03-17 03:31:37 +01:00
Marton Balint 9eafdd518c ffplay: use frame->pts if available for setting the audio clock
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-03-17 03:31:37 +01:00
Marton Balint 1822519d2a ffplay: restructure audio stream opening code
Preparation for -af support.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-03-17 03:31:37 +01:00
Clément Bœsch 286153ea48 lavfi/alphaextract: fix frame memleak. 2013-03-17 03:12:44 +01:00
Michael Niedermayer f566ac48ce avutil/frame: fix video buffer allocation
The padding was lost during porting from avcodec
Should fix out of array accesses

Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-17 02:19:25 +01:00
Stefano Sabatini be5c5c399b tests/filter-metadata-scenedetect: update reference
Fix reference after f7ab23b0d0.
+10l to me, this time aliens are not involved.
2013-03-17 02:04:45 +01:00
Stefano Sabatini 72a1257b5b tests/eval: fix reference after b2098d2417
+10l to me, I blame the aliens.
2013-03-17 02:04:45 +01:00
Clément Bœsch 2b27f7fb04 lavfi/thumbnail: replace frame unref with free.
Fixes memleak spotted by FATE.
2013-03-17 01:46:22 +01:00
Stefano Sabatini f7ab23b0d0 ffprobe: remove deprecated frame "reference" field 2013-03-17 00:27:48 +01:00
Stefano Sabatini db36ea5b5e lavfi/settb: add support for named options 2013-03-17 00:27:33 +01:00
Stefano Sabatini 0407a79e41 lavfi/blackframe: add support for named options 2013-03-17 00:27:08 +01:00
Stefano Sabatini 356922e237 doc/filters: add bit-slicing example in lutyuv docs 2013-03-17 00:26:31 +01:00
Stefano Sabatini b2098d2417 lavu/eval: add bitor and bitand functions
Warning note suggested by Reimar.
2013-03-17 00:22:47 +01:00
Hendrik Leppkes d8dccf69ff lavfi: let gcc realign the stack on public graph driving functions
The functions which actually drive the filter graph by pushing
frames through it need to ensure an aligned stack for SIMD functions.

This fixes a crash in YADIF filter when using a mingw build in a MSVC application.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 23:52:35 +01:00
Clément Bœsch 8d84e90c9b lavfi/delogo: 10l forgotten trailing NULL in shorthand.
Regression since de3e0ab3.
2013-03-16 23:37:58 +01:00
James Darnley c9a51c29fc yadif: remove an 'm' from the LOAD macro definition
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 22:33:49 +01:00
James Darnley 1d3b14cac2 yadif: remove repeated check on width
The filter already checks that width (and height) are greater than 3.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 22:33:30 +01:00
James Darnley 7976d92dac yadif: cosmetic indentation from previous commits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 22:33:06 +01:00
James Darnley 0a5814c9ba yadif: x86 assembly for 9 to 14-bit samples
These smaller samples do not need to be unpacked to double words
allowing the code to process more pixels every iteration (still 2 in MMX
but 6 in SSE2).  It also avoids emulating the missing double word
instructions on older instruction sets.

Like with the previous code for 16-bit samples this has been tested on
an Athlon64 and a Core2Quad.

Athlon64:
1809275 decicycles in C,    32718 runs, 50 skips
 911675 decicycles in mmx,  32727 runs, 41 skips, 2.0x faster
 495284 decicycles in sse2, 32747 runs, 21 skips, 3.7x faster

Core2Quad:
 921363 decicycles in C,     32756 runs, 12 skips
 486537 decicycles in mmx,   32764 runs,  4 skips, 1.9x faster
 293296 decicycles in sse2,  32759 runs,  9 skips, 3.1x faster
 284910 decicycles in ssse3, 32759 runs,  9 skips, 3.2x faster

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 22:32:54 +01:00
James Darnley 17e7b49501 yadif: x86 assembly for 16-bit samples
This is a fairly dumb copy of the assembly for 8-bit samples but it
works and produces identical output to the C version.  The options have
been tested on an Athlon64 and a Core2Quad.

Athlon64:
1810385 decicycles in C,    32726 runs, 42 skips
1080744 decicycles in mmx,  32744 runs, 24 skips, 1.7x faster
 818315 decicycles in sse2, 32735 runs, 33 skips, 2.2x faster

Core2Quad:
 924025 decicycles in C,     32750 runs, 18 skips
 623995 decicycles in mmx,   32767 runs,  1 skips, 1.5x faster
 406223 decicycles in sse2,  32764 runs,  4 skips, 2.3x faster
 387842 decicycles in ssse3, 32767 runs,  1 skips, 2.4x faster
 307726 decicycles in sse4,  32763 runs,  5 skips, 3.0x faster

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 22:32:34 +01:00
Carl Eugen Hoyos 75c7e4583f Do not (re-)set libx264 parameter b_tff if interlaced encoding was not requested.
Reconfiguring can break x264 lossless encoding.

Fixes ticket #2165.
2013-03-16 20:13:44 +01:00
Reinhard Tartler 23f4c5acc4 document the release process 2013-03-16 18:00:54 +01:00
Nicolas George 639a9e21a6 ffmpeg_opt: add OPT_INPUT to -fix_sub_duration and -canvas_size. 2013-03-16 17:20:19 +01:00
Hendrik Leppkes a77f453703 lavfi/avcodec: deprecate remainders of the avcodec glue code
Since lavfi works natively with AVFrame now, these functions are no longer
necessary and can be removed in a future bump.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 17:04:36 +01:00
Michael Niedermayer 07d4f557e5 append_packet_chunked: Remove unused initialization.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 17:03:41 +01:00
Michael Niedermayer 946cbf04ee Merge remote-tracking branch 'qatar/master'
* qatar/master:
  af_join: do not leak input frames.
  asrc_anullsrc: return EOF, not -1

Conflicts:
	libavfilter/asrc_anullsrc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 16:58:41 +01:00
Michael Niedermayer afb3fb3352 Merge commit 'f4281f457194a6a4489fbd7423e2ab2e13c6d4d9'
* commit 'f4281f457194a6a4489fbd7423e2ab2e13c6d4d9':
  asrc_anullsrc: do not set samplerate and channel layout explicitly

Conflicts:
	libavfilter/asrc_anullsrc.c

No change to FFmpeg due to semantic difference between the filter sources

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 16:56:30 +01:00
Michael Niedermayer 7fff5781b6 Merge commit 'e4a7b2177d14678ae240edcabaacfe2b14619b7b'
* commit 'e4a7b2177d14678ae240edcabaacfe2b14619b7b':
  vf_showinfo: remove its useless init function
  AVOptions: fix using named constants with child contexts.

Conflicts:
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 16:38:11 +01:00
Michael Niedermayer b64077bebe Merge commit '9676b9a2cdc4a90611188fc48d8d388e427997c5'
* commit '9676b9a2cdc4a90611188fc48d8d388e427997c5':
  AVOption: remove an unused function parameter.
  filters.texi: restore mistakenly removed section name for noformat
  avfiltergraph: use sizeof(var) instead of sizeof(type)

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 16:28:27 +01:00
Clément Bœsch e1b1092755 fate: test both direct and indirect paths in delogo filter. 2013-03-16 16:22:56 +01:00
Clément Bœsch 9f1667ab64 fate: test both direct and indirect paths in hue filter. 2013-03-16 16:17:44 +01:00
Michael Niedermayer ecade984ac Merge commit '42c7c61ab25809620b8c8809b3da73e25f5bbaaf'
* commit '42c7c61ab25809620b8c8809b3da73e25f5bbaaf':
  avfiltergraph: replace AVFilterGraph.filter_count with nb_filters

Conflicts:
	doc/APIchanges
	libavfilter/avfiltergraph.c
	libavfilter/avfiltergraph.h
	libavfilter/graphparser.c
	libavfilter/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 16:09:37 +01:00
Clément Bœsch 8a0187e43d fate: test both direct and indirect paths in hqdn3d and gradfun. 2013-03-16 16:04:59 +01:00
Clément Bœsch 3b2b636a2a lavfi: add perms and aperms filters. 2013-03-16 16:04:59 +01:00
Michael Niedermayer 18369967a5 Merge commit '556aab8f11b045a21182eee32413aa78d5c8539b'
* commit '556aab8f11b045a21182eee32413aa78d5c8539b':
  lavfi: use designated initializers in avfilter_class

Conflicts:
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 15:50:43 +01:00
Michael Niedermayer e066fb54cb Merge commit 'aa3c77998404cc32233cb76e961ca27db8565459'
* commit 'aa3c77998404cc32233cb76e961ca27db8565459':
  lavf: sanity check size in av_get/append_packet().

Conflicts:
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 15:38:13 +01:00
Michael Niedermayer aef816f957 Merge commit 'ca6c3f2c53be70aa3c38e8f1292809db89ea1ba6'
* commit 'ca6c3f2c53be70aa3c38e8f1292809db89ea1ba6':
  lzo: fix overflow checking in copy_backptr()
  flacdec: simplify bounds checking in flac_probe()
  atrac3: avoid oversized shifting in decode_bytes()

Conflicts:
	libavformat/flacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 14:10:09 +01:00
Reimar Döffinger e4e4add0e3 Add raw VC-1 muxer to match demuxer.
This is admittedly kind of pointless since usually -f image2pipe
can be used for the purpose, but this is more user-friendly.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-03-16 13:42:53 +01:00
Reimar Döffinger 5301aed9ae vc1testenc: give muxer same name as demuxer
Otherwise ffmpeg -formats claims that we only support demuxing
of that format.
To keep compatibility the struct could be duplicated instead,
but this seems almost like overkill for such a rare format.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-03-16 13:42:16 +01:00
Reimar Döffinger c3c3bc7ff6 Make ff_win32_open more robust.
- Make MultiByteToWideChar fail when it encounters invalid encoding.
  Without this, invalid characters might just be skipped
- When MultiByteToWideChar fails, assume the file name is in CP_ACP
  and open it via normal open function, even when the file will be
  written
- When malloc fails return error instead of crashing

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-03-16 13:40:36 +01:00
Reimar Döffinger 23426987fa mpeg12: reduce hwaccel-related code duplication.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-03-16 13:40:36 +01:00
Anton Khirnov 4750b05d67 af_join: do not leak input frames. 2013-03-16 05:37:01 +01:00
Anton Khirnov c2b9bd97f5 asrc_anullsrc: return EOF, not -1 2013-03-16 05:36:46 +01:00
Anton Khirnov f4281f4571 asrc_anullsrc: do not set samplerate and channel layout explicitly
They are auto-negotiated.
2013-03-16 05:36:35 +01:00
Anton Khirnov e4a7b2177d vf_showinfo: remove its useless init function
Filter private data is memset to 0 so there is no point in explicitly
initing anything to 0.
2013-03-16 05:36:14 +01:00
Anton Khirnov 4d67ff8e8e AVOptions: fix using named constants with child contexts.
The named constant needs to be searched for in the same object on which
the option is set, i.e. target_obj.
2013-03-16 05:35:33 +01:00
Anton Khirnov 9676b9a2cd AVOption: remove an unused function parameter. 2013-03-16 05:35:20 +01:00
Anton Khirnov ef4d34aa7e filters.texi: restore mistakenly removed section name for noformat 2013-03-16 05:35:02 +01:00
Anton Khirnov dd74e3ef33 avfiltergraph: use sizeof(var) instead of sizeof(type) 2013-03-16 05:34:20 +01:00
Anton Khirnov 42c7c61ab2 avfiltergraph: replace AVFilterGraph.filter_count with nb_filters
This is more consistent with the naming in the rest of Libav.
2013-03-16 05:33:23 +01:00
Anton Khirnov 556aab8f11 lavfi: use designated initializers in avfilter_class 2013-03-16 05:33:06 +01:00
Compn 7d15cd4f4a changelog: add support for Monkey's Audio versions from 3.93 2013-03-15 23:41:03 -04:00
Giorgio Vazzana bcd3eb3e7a lavd/v4l2: silence libv4l2 logging
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 02:44:36 +01:00
ArnoB 361319d0f4 dpxenc: fix data offset
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 21:09:36 +01:00
Nicolas George b90912be68 lavd/lavfi: upgrade to AVFrame.
Fix a memory leak because the compat implementation of
AV_BUFFERSINK_FLAG_PEEK is not identical to the previous one.
2013-03-15 20:46:27 +01:00
Anton Khirnov aa3c779984 lavf: sanity check size in av_get/append_packet().
To avoid allocating ridiculous amounts of memory for corrupted files,
read the input in chunks limited to filesize or an arbitrary large
amount when that is not known (chosen to be 50M).
2013-03-15 20:05:04 +01:00
Paul B Mahol a9b424879f lavc & lavf: replace deprecated av_log* functions
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-15 18:10:28 +00:00
James Darnley 3d751b1ef6 yadif: correct strides in filter_edges_16bit
The C code treats the data as arrays of uint16_t so strides must not
be in bytes but in pixels.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 19:10:55 +01:00
Michael Niedermayer cd5f50a255 avfilter: avoid direct access to AVFrame.channels
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 16:13:53 +01:00
Michael Niedermayer 64308941d4 mpegvideo: Fix exported qp table offest
Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 14:38:09 +01:00
Michael Niedermayer 70c0ae915d matroskadec: avoid integer overflow
Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 13:48:04 +01:00
Michael Niedermayer 2265bb93ff Merge remote-tracking branch 'qatar/master'
* qatar/master:
  add support for Monkey's Audio versions from 3.93

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 13:43:01 +01:00
Michael Niedermayer 5be70f5826 Merge commit '9652d4fcfc9c07a726b35efc4ac644d9751b36d7'
* commit '9652d4fcfc9c07a726b35efc4ac644d9751b36d7':
  ape: provide two additional bytes in buffer for old MAC versions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 13:34:20 +01:00
Michael Niedermayer 231795270b Merge commit 'b164d66e35d349de414e2f0d7365a147aba8a620'
* commit 'b164d66e35d349de414e2f0d7365a147aba8a620':
  ape: make version-dependent decoding functions called via pointers
  mpegts: add support for stream_type 0x42, which is CAVS

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 13:28:38 +01:00
Michael Niedermayer 9df00574fc Merge commit '3e175a2a550f5c2f788e8cd969052e10a5025a27'
* commit '3e175a2a550f5c2f788e8cd969052e10a5025a27':
  avconv: mark attachment streams as immediately finished
  vaapi: fix argument for ff_vaapi_common_end_frame call

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 12:54:05 +01:00
Xi Wang ca6c3f2c53 lzo: fix overflow checking in copy_backptr()
The check `src > dst' in the form `&c->out[-back] > c->out' invokes
pointer overflow, which is undefined behavior in C.

Remove the check.  Also replace `&c->out[-back] < c->out_start' with
a safe form `c->out - c->out_start < back' to avoid overflow.

CC: libav-stable@libav.org

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-15 12:52:31 +01:00
Xi Wang 8425d693ee flacdec: simplify bounds checking in flac_probe()
Simplify `p->buf > p->buf + p->buf_size - 4' as `p->buf_size < 4'.
Avoid a possible out-of-bounds pointer, which is undefined behavior
in C.

CC: libav-stable@libav.org

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-15 12:51:57 +01:00
Xi Wang eba1ff3130 atrac3: avoid oversized shifting in decode_bytes()
When `off' is 0, `0x537F6103 << 32' in the following expression invokes
undefined behavior, the result of which is not necessarily 0.

    (0x537F6103 >> (off * 8)) | (0x537F6103 << (32 - (off * 8)))

Avoid oversized shifting.

CC: libav-stable@libav.org

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-15 12:51:10 +01:00
Kostya Shishkov c42e262513 add support for Monkey's Audio versions from 3.93 2013-03-15 09:50:42 +01:00
Kostya Shishkov 9652d4fcfc ape: provide two additional bytes in buffer for old MAC versions
Range coder in 3.90-3.95 overread two bytes in the final normalize.
2013-03-15 09:50:42 +01:00
Kostya Shishkov b164d66e35 ape: make version-dependent decoding functions called via pointers
This will help in supporting old versions, e.g. version 3.93 uses the same
range coder but different predictor and version 3.82 uses different range
coder and predictor. Also this should not make decoding newer versions slower
by introducing additional checks on versions.
2013-03-15 09:50:42 +01:00
Can Wu 81cf53e133 mpegts: add support for stream_type 0x42, which is CAVS
This allows demuxing and muxing of CAVS TS streams.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-15 09:33:24 +01:00
Anton Khirnov 3e175a2a55 avconv: mark attachment streams as immediately finished
There are never any packets for those streams.
Fixes an infinite loop with -attach.
2013-03-15 08:59:27 +01:00
Ronald S. Bultje 8a523cfa8b dsputil: remove non-8bpp draw_edge.
It is never used.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 04:39:41 +01:00
Michael Niedermayer 46728338b0 rv34: export qp table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 03:19:54 +01:00
Michael Niedermayer feac79ce53 rv10: export qp table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 03:16:23 +01:00
Michael Niedermayer 0bcea7b575 vf_pp: use new API to access qp table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 03:02:27 +01:00
Michael Niedermayer fa80967a73 mpeg1/2: export qp table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 03:02:27 +01:00
Michael Niedermayer ff9adf5725 mjpegdec: export qp table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 03:02:27 +01:00
Michael Niedermayer a0813e7f00 h263dec: export qp_table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 03:02:27 +01:00
Michael Niedermayer caff888183 avutil/frame: add AVBufferRef for qp table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 03:02:27 +01:00
Clément Bœsch 1edbeb3532 lavfi/ebur128: check histogram allocations. 2013-03-15 02:58:29 +01:00
Clément Bœsch db670e5366 lavfi/ebur128: add framelog option. 2013-03-15 02:35:26 +01:00
Clément Bœsch 1f68bac50b lavf/avio: fix two extreemly unreasonble typos. 2013-03-14 23:36:30 +01:00
Stefano Sabatini 9bb25dbd13 examples/filtering_*: constify AVFrame * for print_frame() and display_frame() functions 2013-03-14 21:39:15 +01:00
Stefano Sabatini 9076a6a943 examples/filtering_audio: update to new API
In particular, fix crash.
2013-03-14 21:39:09 +01:00
Stefano Sabatini f0da370a52 examples/filtering_video: update to new API
In particular, fix crash.
2013-03-14 21:39:01 +01:00
Nicolas George 7a71544f9d lavfi/graphdump: fix output for unknown layouts. 2013-03-14 20:52:50 +01:00
Nicolas George 0eb56a085d ffmpeg: add OPT_INPUT to -guess_layout_max. 2013-03-14 19:32:22 +01:00
Nicolas George da397173df ffmpeg: add OPT_OUTPUT to -to option.
Fix trac ticket #2355.
2013-03-14 19:32:22 +01:00
Clément Bœsch 9ace0dbe41 lavfi/ebur128: use same ref for inputs and outputs.
Fixes Ticket2342.
2013-03-14 18:43:53 +01:00
Michael Niedermayer 870e625108 mjpegdec: fix indention
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 17:31:14 +01:00
Michael Niedermayer 3c24fbbf65 jpegdec: be less picky on padding
Fixes Ticket2353

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 17:20:44 +01:00
Janne Grunau b066d90211 vaapi: fix argument for ff_vaapi_common_end_frame call 2013-03-14 15:16:08 +01:00
Ronald S. Bultje b76d853697 lavc: make compilation of frame_thread_encoder.o optional.
Only compile if CONFIG_ENCODERS is enabled, i.e. if at least one
encoder is to be compiled. This prevents it from being includes in
a decoder-only build.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 15:04:17 +01:00
Ronald S. Bultje 4a88d81c9e dsputil: remove duplicate or unused functions.
dct_bits is never set except in h264, where it is never used, thus
remove it. Then, remove all functions that were set based on non-zero
(32) values for dct_bits. Lastly, merge 9-14 bpp functions for get_pixels
and draw_edge, which only care about pixel storage unit size, not actual
bits used (i.e. they don't clip).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 14:56:48 +01:00
Hendrik Leppkes 49a514c13e dsputil: unbreak compilation on sparc after 6802c70
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 14:53:39 +01:00
Michael Niedermayer 7e1efeb570 MAINTAINERS: mention that people are welcome to pick up and maintain older releases
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 14:50:42 +01:00
Michael Niedermayer 2ffa9e611e avdevice: bump major
Our previous release (1.1) contained a version 54 libavdevice
and this version here is not ABI compatible thus a bump is
needed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 13:53:41 +01:00
Michael Niedermayer cacbf64a76 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avcodec: av_log_missing_feature(1) ---> avpriv_request_sample()

Conflicts:
	libavcodec/aacsbr.c
	libavcodec/amrnbdec.c
	libavcodec/takdec.c
	libavcodec/tta.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 13:07:25 +01:00
Michael Niedermayer 13795dbb64 Merge commit '6d97484d72e33f7dde9493a9ead1a72e2f029605'
* commit '6d97484d72e33f7dde9493a9ead1a72e2f029605':
  avcodec: av_log_ask_for_sample() ---> avpriv_request_sample()
  rsodec: Use avpriv_report_missing_feature() where appropriate

Conflicts:
	libavcodec/anm.c
	libavcodec/mlpdec.c
	libavcodec/pictordec.c
	libavcodec/sunrast.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 12:52:12 +01:00
Michael Niedermayer a9ddb62489 Merge commit '1ecdf8912b9ced51b3267cdcdce5e394d0a3bf8e'
* commit '1ecdf8912b9ced51b3267cdcdce5e394d0a3bf8e':
  avformat: av_log_ask_for_sample() ---> avpriv_request_sample()

Conflicts:
	libavformat/mxfdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 12:41:34 +01:00
Michael Niedermayer fa92ee821b Merge commit '63d744e2be39466e3a734c2987cd713e0bac101e'
* commit '63d744e2be39466e3a734c2987cd713e0bac101e':
  av_log_missing_feature() ---> avpriv_report_missing_feature()

Conflicts:
	libavcodec/aacdec.c
	libavcodec/tta.c
	libavformat/mpegts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 12:30:19 +01:00
Michael Niedermayer 905e7eb413 Merge commit 'f099d3d1d5466bd63f4ab36270d169ff9ea613b8'
* commit 'f099d3d1d5466bd63f4ab36270d169ff9ea613b8':
  Add av_log_{ask_for_sample|missing_feature} replacements to libavutil
  ismindex: Check the return value of allocations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 12:15:02 +01:00
Michael Niedermayer 360d71707f Merge commit '7c147900b86c0f1cf030b7b844c670649c80c191'
* commit '7c147900b86c0f1cf030b7b844c670649c80c191':
  ismindex: Factorize code for printing chunk duration lists

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 11:58:17 +01:00
Michael Niedermayer 33ecf7ab59 Merge commit 'f05e9beb4ab5fb8b9d5ba81405e9fca901832591'
* commit 'f05e9beb4ab5fb8b9d5ba81405e9fca901832591':
  ismindex: Rename structs and fields from "file" to "track"
  avpacket: copy side data type and size in av_dup_packet

Conflicts:
	libavcodec/avpacket.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 11:48:42 +01:00
Paul B Mahol 4853b5538f lavc: do not set coded_frame->reference
That field is deprecated.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-14 09:47:47 +00:00
Clément Bœsch fe898a037d Revert "lavfi/ebur128: fix format negociation for output."
This reverts commit 9efcfbed9d.

All the shame on me; this commit is actually causing more problems
(broken outputs but also crashes) than it was solving.
2013-03-14 06:25:20 +01:00
Clément Bœsch 9efcfbed9d lavfi/ebur128: fix format negociation for output.
Before this change, the audio input and output formats are set
independently, so the lavfi negociation could pick different settings
for the input and output. This is particularly true for the channel
layout settings, where multiple choices were available.

Fixes Ticket2342.
2013-03-14 01:24:42 +01:00
Clément Bœsch a95a38793c lavfi/thumbnail: support flushing.
This makes possible the raise of one picture if the input has less than
the number of frames to analyze.

Fixes Ticket1992.
2013-03-14 00:14:19 +01:00
Hendrik Leppkes ed69c69a01 lavfi/avcodec: fix API version checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 22:18:02 +01:00
Hendrik Leppkes 3c7f669972 lavfi/avcodec: cleanup includes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 22:14:58 +01:00
Hendrik Leppkes edcc51fb8e tiff: fix handling of metadata with refcounted frames
Since the conversion to refcounted frames, the tiff decoder
only wrote the metadata into its internal "picture" in its own context,
never exposing the metadata to the user, and eventually leaking the
metadata.

Instead, properly store the metadata directly into the frame being decoded into.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 22:13:59 +01:00
James Darnley 0735b50880 yadif: restore speed of the C filtering code
Always use the special filter for the first and last 3 columns (only).

Changes made in 64ed397 slowed the filter to just under 3/4 of what it
was.  This commit restores the speed while maintaining identical output.

For reference, on my Athlon64:
1733222 decicycles in old
2358563 decicycles in new
1727558 decicycles in this

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 22:07:25 +01:00
Diego Biurrun 12e25ed284 avcodec: av_log_missing_feature(1) ---> avpriv_request_sample() 2013-03-13 21:20:12 +01:00
Diego Biurrun 6d97484d72 avcodec: av_log_ask_for_sample() ---> avpriv_request_sample() 2013-03-13 21:20:12 +01:00
Diego Biurrun 1ae07959ab rsodec: Use avpriv_report_missing_feature() where appropriate 2013-03-13 21:20:12 +01:00
Diego Biurrun 1ecdf8912b avformat: av_log_ask_for_sample() ---> avpriv_request_sample() 2013-03-13 20:42:21 +01:00
Diego Biurrun 63d744e2be av_log_missing_feature() ---> avpriv_report_missing_feature() 2013-03-13 20:42:21 +01:00
Diego Biurrun f099d3d1d5 Add av_log_{ask_for_sample|missing_feature} replacements to libavutil
This allows reporting missing features and requesting samples from
all libraries in a standard way; with a simplified API.
2013-03-13 20:42:06 +01:00
Stefano Sabatini ae732640ab lavfi/cropdetect: add support for named options 2013-03-13 20:38:54 +01:00
Hendrik Leppkes febd78e904 lavu/frame: free frame metadata when unrefing a frame.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 20:16:49 +01:00
Hendrik Leppkes 84bf1cbef9 avcodec: remove AVCodecContext->metadata
This field was only ever set and freed from avcodec, and not otherwise
used. However, because frames are refcounted now, avcodec cannot make any
assumptions about the lifetime of the frame metadata, which can result in
double-frees or leaked memory.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 20:16:48 +01:00
Martin Storsjö 4abf6fa095 ismindex: Check the return value of allocations
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-13 20:41:25 +02:00
Martin Storsjö 7c147900b8 ismindex: Factorize code for printing chunk duration lists
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-13 20:41:19 +02:00
Martin Storsjö f05e9beb4a ismindex: Rename structs and fields from "file" to "track"
The tool nowadays supports more than one track per file,
this makes reading the code slightly less confusing.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-13 20:41:11 +02:00
Clément Bœsch de3e0ab35f lavfi/delogo: remove sscanf and rely on av_opt_set_from_string() only. 2013-03-13 19:00:10 +01:00
Clément Bœsch 20dab078e6 lavc/crystalhd: remove now unecessary buffer_hints. 2013-03-13 19:00:10 +01:00
Clément Bœsch 1ec94b0f06 lavc: factorize ff_{thread_,re,}get_buffer error messages.
Coccinelle profile used:

  @@
  expression r, ctx, f, loglevel, str, flags;
  @@

  -if ((r = ff_get_buffer(ctx, f, flags)) < 0) {
  -    av_log(ctx, loglevel, str);
  -    return r;
  -}
  +if ((r = ff_get_buffer(ctx, f, flags)) < 0)
  +    return r;

  @@
  expression r, ctx, f, loglevel, str;
  @@

  -if ((r = ff_reget_buffer(ctx, f)) < 0) {
  -    av_log(ctx, loglevel, str);
  -    return r;
  -}
  +if ((r = ff_reget_buffer(ctx, f)) < 0)
  +    return r;

  @@
  expression r, ctx, f, loglevel, str, flags;
  @@

  -if ((r = ff_thread_get_buffer(ctx, f, flags)) < 0) {
  -    av_log(ctx, loglevel, str);
  -    return r;
  -}
  +if ((r = ff_thread_get_buffer(ctx, f, flags)) < 0)
  +    return r;

...along with some manual patches for the remaining ones.
2013-03-13 19:00:10 +01:00
Clément Bœsch e7279638e8 lavfi/thumbnail: remove unecessary poll_frame() callback. 2013-03-13 19:00:10 +01:00
Clément Bœsch bce2e97a16 lavfi/mptestsrc: raise filter_frame() error. 2013-03-13 19:00:10 +01:00
Clément Bœsch afa0b90803 lavfi/mandelbrot: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch 227a4b63f5 lavfi/life: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch fe6077d902 lavfi/cellauto: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch f32fee570a lavfi/alphamerge: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch 05854f5505 lavfi/movie: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch bdbdadbaff lavfi/buffersrc: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch 27ce858c98 lavfi/showspectrum: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch df5be5e275 lavfi/avfilter: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch 60bd8c11b6 lavfi/concat: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch 00a13a9cdb lavfi/anullsrc: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch 44f3d21799 lavfi/aevalsrc: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch 1b0d0e6b72 lavfi/atempo: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch dda59d9adc lavfi/asetnsamples: raise filter_frame() error. 2013-03-13 19:00:08 +01:00
Clément Bœsch c82bb2815b lavfi/aresample: raise filter_frame() error. 2013-03-13 19:00:08 +01:00
Hendrik Leppkes e4c5e08f60 lavu/frame: av_frame_make_writable: set the channels on the new frame.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 16:00:43 +01:00
Hendrik Leppkes 2035cc3595 lavu/frame: copy all frame properties in av_frame_copy_props
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 16:00:28 +01:00
Hendrik Leppkes 9ae6ba2883 dsputil: remove deprecated dsp_mask usage
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 15:59:35 +01:00
Michael Niedermayer c3bb2f7296 dsputil_mmx: remove unused variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 15:07:46 +01:00
Michael Niedermayer 7ff3bfd584 exr: silence warning "libavcodec/exr.c:351:9: warning: variable ret set but not used"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 15:05:40 +01:00
Michael Niedermayer c31f07574d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  hqdn3d: Fix out of array read in LOWPASS
  cabac: remove unused argument of ff_init_cabac_states()
  rawdec: fix a typo -- || instead of |

Conflicts:
	libavcodec/cabac.c
	libavcodec/h264.c
	libavfilter/vf_hqdn3d.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 14:49:00 +01:00
Michael Niedermayer 11d62fc9be Merge commit '37cb3b180a1dc3d6f123f68e0806585ebc2578b6'
* commit '37cb3b180a1dc3d6f123f68e0806585ebc2578b6':
  matroskadec: request a read buffer for the wav header

See: d0b450457b

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 14:44:14 +01:00
Michael Niedermayer 019b378d90 vc1: fix int/ptrdiff_t mismatches
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 14:35:48 +01:00
Michael Niedermayer db4e4f766c Merge commit 'a8b6015823e628047a45916404c00044c5e80415'
* commit 'a8b6015823e628047a45916404c00044c5e80415':
  dsputil: convert remaining functions to use ptrdiff_t strides

Conflicts:
	libavcodec/dsputil.h
	libavcodec/dsputil_template.c
	libavcodec/h264qpel_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 14:18:53 +01:00
Michael Niedermayer 849f015406 Merge commit 'a4472ac01e86f9fae5adb9034f2777b86a9c5480'
* commit 'a4472ac01e86f9fae5adb9034f2777b86a9c5480':
  Add informative messages to av_log_ask_for_sample calls lacking them
  anm: Get rid of some very silly goto statements

Conflicts:
	libavformat/anm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 14:03:22 +01:00
Michael Niedermayer a62fced394 Merge commit '202c2acc40a6de8758b44ab3f5c85ab250079734'
* commit '202c2acc40a6de8758b44ab3f5c85ab250079734':
  vda: remove async decoder leftovers

Conflicts:
	libavcodec/vda_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 13:53:02 +01:00
Michael Niedermayer bb3823d457 Merge commit 'a2816230c5c0a8fc72bc0163b7d21a96b194d87a'
* commit 'a2816230c5c0a8fc72bc0163b7d21a96b194d87a':
  avframe: call release_buffer only if it is set

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 13:45:50 +01:00
Michael Niedermayer 8ded1718bd Merge commit 'fce68c93554803801c32c1b20509bfa8d496b02a'
* commit 'fce68c93554803801c32c1b20509bfa8d496b02a':
  pthread: unref the decoded but not returned frames on close.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 13:39:44 +01:00
Michael Niedermayer 8bcebf9e4a Merge commit '555000c7d5c1e13043a948ebc48d2939b0ba6536'
* commit '555000c7d5c1e13043a948ebc48d2939b0ba6536':
  h264: check that DPB is allocated before accessing it in flush_dpb()
  vf_hqdn3d: fix uninitialized variable use
  vf_gradfun: fix uninitialized variable use

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 13:34:06 +01:00
Michael Niedermayer 87d263a122 Merge commit 'c2597c5a0a08526493abb9bc9544b61a290fe20f'
* commit 'c2597c5a0a08526493abb9bc9544b61a290fe20f':
  h264_refs: cosmetics, reformat

Conflicts:
	libavcodec/h264_refs.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 13:28:29 +01:00
Michael Niedermayer 6c3e4e391d Merge commit 'f08fefc4d099f2a1f2e3a6db3d340537e601f762'
* commit 'f08fefc4d099f2a1f2e3a6db3d340537e601f762':
  h264: remove a useless svq3 condition
  mpegvideo: remove FMT_H264

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 13:17:49 +01:00
Michael Niedermayer 72ad824a86 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  avframe: Copy buffer type in copy_props.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 13:12:11 +01:00
Michael Niedermayer df4517106a Merge commit 'ee8704916de79158da8a48a9ea5be819e83d23ba'
* commit 'ee8704916de79158da8a48a9ea5be819e83d23ba':
  mpegvideo: reindent

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 13:08:04 +01:00
Carl Eugen Hoyos f1b716c79b avframe: Copy buffer type in copy_props.
Fixes VDPAU decoding with MPlayer.
2013-03-13 13:05:42 +01:00
Michael Niedermayer f45fdb123f Merge commit '19cac8e301419dcde31526d15196a952ddf2c4c7'
* commit '19cac8e301419dcde31526d15196a952ddf2c4c7':
  mpegvideo: remove useless references to h264 and svq3

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 12:56:43 +01:00
Michael Niedermayer b2e0c9dd34 Merge commit '85a5bc054c1290699ccbf5799ba6c4e2fbcc3530'
* commit '85a5bc054c1290699ccbf5799ba6c4e2fbcc3530':
  lavf: remove disabled FF_API_R_FRAME_RATE cruft

Conflicts:
	libavformat/avformat.h
	libavformat/electronicarts.c
	libavformat/rawdec.c
	libavformat/utils.c
	libavformat/version.h

The field is in use and no semantically equivalent field is available,
thus not removed

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 12:55:00 +01:00
Michael Niedermayer acbd14bc7e avformat: postpone API removials where the functions are trivial wrapers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 12:43:02 +01:00
Michael Niedermayer 06a8350599 Merge commit '7b486ab13bfcfa88a7cd92586de50e49966ec292'
* commit '7b486ab13bfcfa88a7cd92586de50e49966ec292':
  lavf: remove disabled FF_API_AV_GETTIME cruft
  lavf: remove disabled FF_API_INTERLEAVE_PACKET cruft

Conflicts:
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 12:37:03 +01:00
Michael Niedermayer 256e1f7bdf Merge commit '435c2a31ad5eead20eda1152097f60c3bfa22847'
* commit '435c2a31ad5eead20eda1152097f60c3bfa22847':
  lavf: remove disabled FF_API_READ_PACKET cruft

Conflicts:
	libavformat/version.h

Removial postponed as wraper is trivial

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 12:34:06 +01:00
Michael Niedermayer 1c60956c80 Merge commit 'c7e044c61bb08b3a6e1e8063e8f4449c88b01201'
* commit 'c7e044c61bb08b3a6e1e8063e8f4449c88b01201':
  lavf: remove disabled FF_API_APPLEHTTP_PROTO cruft

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 12:21:43 +01:00
Paul B Mahol ac45921a6b lavc: remove disabled 8SVX_RAW cruft
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-13 11:17:09 +00:00
Michael Niedermayer ed80427e0e Merge commit '0a7c4daf469d4ac447fb822fe78337f62f4c04e6'
* commit '0a7c4daf469d4ac447fb822fe78337f62f4c04e6':
  lavf: remove disabled FF_API_CLOSE_INPUT_FILE cruft

Conflicts:
	libavformat/version.h

removial postponed as the wraper code is trivial

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 12:18:06 +01:00
Michael Niedermayer b13cd2d867 Merge commit 'd6ed604cf4ca86ed345125b26eb5bdeea6d6bf68'
* commit 'd6ed604cf4ca86ed345125b26eb5bdeea6d6bf68':
  lavc: remove disabled FF_API_IDCT cruft

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 12:03:22 +01:00
Michael Niedermayer feccf2f6b7 Merge commit '3bcdf8dcb9891ffe49b6398d0e2c02f1712d8f00'
* commit '3bcdf8dcb9891ffe49b6398d0e2c02f1712d8f00':
  lavc: remove disabled FF_API_SNOW cruft

Conflicts:
	libavcodec/avcodec.h
	libavcodec/options_table.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 11:53:57 +01:00
Paul B Mahol b3b46cd74e bktr: add missing #include for av_gettime()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-13 10:48:09 +00:00
Janne Grunau 91d4823f70 avpacket: copy side data type and size in av_dup_packet 2013-03-13 11:34:47 +01:00
Michael Niedermayer 5753e34906 Merge commit 'fcb07e8b332bbd6f9558bff98ff5102c5f2d8252'
* commit 'fcb07e8b332bbd6f9558bff98ff5102c5f2d8252':
  lavc: remove disabled FF_API_MMI cruft

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 11:29:04 +01:00
Michael Niedermayer a8c0777325 Revert "Merge commit '0517c9e098092709397cc522c59fa63c83cc81be'" bring the old audio resampling API back
This reverts commit d3edc65dd1, reversing
changes made to 150de78d7c.

Conflicts:

	libavcodec/version.h

It seems there are several applications still using it

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 10:57:00 +01:00
Michael Niedermayer bbaa4432e2 vc1dec: remove unused variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 10:51:53 +01:00
Philip Langdale 21dc9b194f CrystalHD: Port to ref-counted frame API.
Signed-off-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 10:42:34 +01:00
Loren Merritt 5b3c1aecb2 hqdn3d: Fix out of array read in LOWPASS
CC:libav-stable@libav.org
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-13 09:14:59 +01:00
Michael Niedermayer 0fe4b48540 cabac: remove unused argument of ff_init_cabac_states()
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-13 09:14:05 +01:00
Nicolas George be40d6cc2b rawdec: fix a typo -- || instead of |
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-13 09:13:54 +01:00
Clément Bœsch 19c41c6d8e opt: re-enable memleak fix for duplicated options.
The memleak fix in a1bcc76e was causing problems when the original
string wasn't NULL or av_malloc'ed, thus was disabled. It seems the only
OPT_STRING occurence where it needed to be fixed is in ffserver. This
commit fixes that specific problem and so re-enable the original code.
2013-03-13 07:25:16 +01:00
Michael Niedermayer 12fe78a77b vp56: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 04:12:14 +01:00
Ronald S. Bultje f536df99fe dsputil: remove hpel functions (moved to hpeldsp). 2013-03-13 04:11:41 +01:00
Ronald S. Bultje 94b77678dc Move alpha half-pel assembly from dsputil to hpeldsp. 2013-03-13 04:11:27 +01:00
Ronald S. Bultje 6802c70106 Move sparc/vis half-pel assembly from dsputil to hpeldsp. 2013-03-13 04:09:43 +01:00
Michael Niedermayer a0565a2b65 Move sh4 half-pel assembly from dsputil to hpeldsp.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 04:07:41 +01:00
Ronald S. Bultje e9e608ad58 Move bfin half-pel assembly from dsputil to hpeldsp. 2013-03-13 04:06:10 +01:00
Ronald S. Bultje de99545f46 Move arm half-pel assembly from dsputil to hpeldsp. 2013-03-13 04:04:13 +01:00
Ronald S. Bultje 89f16ded9b Move ppc half-pel assembly from dsputil to hpeldsp. 2013-03-13 04:02:30 +01:00
Ronald S. Bultje 3ced55d51c Move x86 half-pel assembly from dsputil to hpeldsp. 2013-03-13 03:59:23 +01:00
Ronald S. Bultje e0a8f31591 mjpeg: use hpeldsp instead of dsputil for half-pel functions. 2013-03-13 03:59:10 +01:00
Ronald S. Bultje b42d594c85 svq1enc: use hpeldsp instead of dsputil for half-pel functions. 2013-03-13 03:59:00 +01:00
Ronald S. Bultje 771ba8f206 snow: use hpeldsp instead of dsputil for half-pel functions. 2013-03-13 03:58:49 +01:00
Ronald S. Bultje 05dd583426 svq3: use hpeldsp instead of dsputil for half-pel functions. 2013-03-13 03:58:31 +01:00
Ronald S. Bultje 4ba5dbc0e4 mpegvideo: use hpeldsp instead of dsputil for half-pel functions.
This also converts vc1, since that is mpegvideo-based.
2013-03-13 03:58:00 +01:00
Ronald S. Bultje 4652389777 svq1: use hpeldsp instead of dsputil for half-pel functions.
This makes svq1 independent of dsputil.
2013-03-13 03:57:45 +01:00
Ronald S. Bultje cc5d17e026 mimic: use hpeldsp instead of dsputil for half-pel functions. 2013-03-13 03:57:33 +01:00
Ronald S. Bultje 04a75bb74f interplayvideo: use hpeldsp instead of dsputil for half-pel functions.
This makes interplayvideo independent of dsputil.
2013-03-13 03:57:21 +01:00
Ronald S. Bultje af1e3dfb9e bink: use hpeldsp instead of dsputil for half-pel functions. 2013-03-13 03:56:09 +01:00
Ronald S. Bultje 4b642ab19b indeo3: use hpeldsp instead of dsputil for half-pel functions.
This makes indeo3 independent of dsputil.
2013-03-13 03:56:09 +01:00
Ronald S. Bultje 704c9874a3 vp56: use hpeldsp instead of dsputil for half-pel functions.
This makes vp5 and vp6 independent of dsputil.
2013-03-13 03:56:07 +01:00
Ronald S. Bultje d1293512cf vp3: use hpeldsp instead of dsputil for half-pel functions.
This makes vp3 independent of dsputil.
2013-03-13 03:55:33 +01:00
Ronald S. Bultje 9628e5a4ac hpeldsp: add half-pel functions (currently copies of dsputil). 2013-03-13 03:54:47 +01:00
Michael Niedermayer 1f27053b91 Merge commit 'de27d2b92fa97deb2856d18e9f5f19586ce45a0f'
* commit 'de27d2b92fa97deb2856d18e9f5f19586ce45a0f':
  lavc: remove disabled FF_API_LIBMPEG2 cruft

Conflicts:
	libavcodec/avcodec.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 02:56:33 +01:00
Michael Niedermayer d3edc65dd1 Merge commit '0517c9e098092709397cc522c59fa63c83cc81be'
* commit '0517c9e098092709397cc522c59fa63c83cc81be':
  lavc: remove disabled FF_API_AVCODEC_RESAMPLE cruft

Conflicts:
	libavcodec/Makefile
	libavcodec/avcodec.h
	libavcodec/resample.c
	libavcodec/resample2.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 02:41:18 +01:00
Michael Niedermayer 150de78d7c Merge commit 'd6d369bf1370999896500ae7eb5b9447ab635a3d'
* commit 'd6d369bf1370999896500ae7eb5b9447ab635a3d':
  atomic: prefer gcc builtins over win32 atomics, if available.
  avframe: copy reordered_opaque in copy_props

Conflicts:
	libavutil/frame.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 02:08:41 +01:00
Michael Niedermayer e5949cc12a Merge commit '684e3d2e1ce96625eeef63f2564aab66f6715d05'
* commit '684e3d2e1ce96625eeef63f2564aab66f6715d05':
  ra144: check buffer size before requesting a buffer
  wmapro: unref skipped frames

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 02:02:06 +01:00
Michael Niedermayer ff3e8564c4 Merge commit 'e3232f34312f8187094c875445683277ed0c209d'
* commit 'e3232f34312f8187094c875445683277ed0c209d':
  svq1: use av_frame_free to free refcounted frame
  lavc: fix get_buffer() compatibility layer for audio.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 01:56:41 +01:00
Michael Niedermayer 047c5e177a Merge commit '98cec5c84feff34e04428de4a86836a83657ae5e'
* commit '98cec5c84feff34e04428de4a86836a83657ae5e':
  ratecontrol: remove an unused variable
  vorbisdec: do not leak the first frame.
  vf_pad: fix a & instead of && typo

Conflicts:
	libavfilter/vf_pad.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 01:47:39 +01:00
Clément Bœsch 02a6b06d9e avpacket: do not copy data when buf ref is available.
This at least fixes issues with lavf/subtitles. The behaviour of
av_dup_packet() is unchanged, only av_copy_packet() is affected.
2013-03-13 01:30:20 +01:00
Michael Niedermayer b94df21a51 Merge commit '2eaa3663fda750dac66d41fe8541a8744d5563a4'
* commit '2eaa3663fda750dac66d41fe8541a8744d5563a4':
  avplay: enable only when SDL 1.2 is found

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 01:31:46 +01:00
Michael Niedermayer d469fa1923 Merge commit 'adfa53d67c7a3318157ea9d95e8bdcfb77139452'
* commit 'adfa53d67c7a3318157ea9d95e8bdcfb77139452':
  lavc: remove disabled FF_API_VDA_ASYNC cruft

Conflicts:
	libavcodec/vda.h
	libavcodec/vda_h264.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 01:14:09 +01:00
Michael Niedermayer cfc1efc77c avcodec: assert that old codec ids match new
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 00:50:48 +01:00
Michael Niedermayer e664f48b97 Merge commit 'bdd1567c355a8092e7746ef99e831d579e34fa6a'
* commit 'bdd1567c355a8092e7746ef99e831d579e34fa6a':
  lavc: remove disabled FF_API_CODEC_ID cruft

Conflicts:
	libavcodec/old_codec_ids.h
	libavcodec/version.h

Only the #define is removed
The CODEC_IDs itself are left until theres some reason to remove
them.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 00:49:25 +01:00
Stefano Sabatini aeac1dae29 lavfi/fieldorder: add support to named options 2013-03-13 00:37:13 +01:00
Stefano Sabatini a3233e9d7a lavfi/fieldorder: remove unused headers and commented define 2013-03-13 00:34:51 +01:00
Stefano Sabatini 92ca292766 lavc: extend documentation for skip_idct, skip_loop_filter, skip_frame options 2013-03-13 00:34:42 +01:00
Stefano Sabatini 1019cef329 ffprobe: support codec options
Make ffprobe honour codec options, and support stream specifiers like it
is done in ffplay.

In particular, address Trac ticket #1859.
2013-03-13 00:34:36 +01:00
Stefano Sabatini 8bb5680d90 cmdutils: improve feedback in case of not found option 2013-03-13 00:34:29 +01:00
Nicolas George 684a264638 configure: remove selection of ff(a)buffersink.
buffersink is enabled unconditionally.
2013-03-12 23:31:07 +01:00
Nicolas George c14a8c834c lavfi/buffersink: schedule removing the "ff" variants.
They are no longer needed since there is no incompatible
ABI version.
2013-03-12 23:31:07 +01:00
Nicolas George ceac5c54dd Remove references to the "ff" variant of buffersink. 2013-03-12 23:31:07 +01:00
Nicolas George 9a2688826d lavfi/buffersink: rename filter structures.
Reduce the diff with the fork.
2013-03-12 23:31:07 +01:00
Michael Niedermayer f7b041b11b Merge commit '7d42fd6bb9df99a20cf2d0d0e3b166a83a649d08'
* commit '7d42fd6bb9df99a20cf2d0d0e3b166a83a649d08':
  lavc: remove disabled FF_API_FIND_BEST_PIX_FMT cruft

Conflicts:
	libavcodec/avcodec.h
	libavcodec/imgconvert.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 23:08:08 +01:00
Ronald S. Bultje d85c9b036e vp3/x86: use full transpose for all IDCTs.
This way, the special IDCT permutations are no longer needed. Bfin code
is disabled until someone updates it. This is similar to how H264 does
it, and removes the dsputil dependency imposed by the scantable code.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 22:54:10 +01:00
Michael Niedermayer db594f65ec Merge commit '845017105f240ac5348aad1f8a5256b86d49db76'
* commit '845017105f240ac5348aad1f8a5256b86d49db76':
  lavc: remove disabled FF_API_DSP_MASK cruft
  lavc: remove disabled FF_API_SUB_ID cruft

Conflicts:
	libavcodec/options_table.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 22:38:55 +01:00
Michael Niedermayer 5beddbc4cf Merge commit '2a113695238e7675ab75c5fb9a5f59fc92f2ddd9'
* commit '2a113695238e7675ab75c5fb9a5f59fc92f2ddd9':
  lavc: remove disabled FF_API_INTER_THRESHOLD cruft
  lavc: remove disabled FF_API_COLOR_TABLE_ID cruft
  lavc: remove disabled FF_API_MPV_GLOBAL_OPTS cruft

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 22:18:08 +01:00
Michael Niedermayer e052f06531 Merge commit '0f24a3ca999a702f83af9307f9f47b6fdeb546a5'
* commit '0f24a3ca999a702f83af9307f9f47b6fdeb546a5':
  lavc: remove disabled FF_API_OLD_ENCODE_VIDEO cruft
  lavc: remove disabled FF_API_OLD_ENCODE_AUDIO cruft
  lavc: remove disabled FF_API_OLD_DECODE_AUDIO cruft

Conflicts:
	libavcodec/flacenc.c
	libavcodec/libgsm.c
	libavcodec/utils.c
	libavcodec/version.h

The compatibility wrapers are left as they likely sre still
in wide use. They will be removed when they break or otherwise
cause work without an volunteer being available.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 22:04:16 +01:00
Michael Niedermayer eba6a04e1c vp6: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 21:46:38 +01:00
Michael Niedermayer 2ec30267fe Changelog: fix project name
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 21:45:51 +01:00
Michael Niedermayer 0d0f76ea56 Merge commit '6327c10702922eabcb1c6170abd3f03d23ce4c51'
* commit '6327c10702922eabcb1c6170abd3f03d23ce4c51':
  atomic: fix CAS with armcc.
  png: use av_mallocz_array() for the zlib zalloc function
  libmp3lame: use the correct remaining buffer size when flushing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 21:39:38 +01:00
Michael Niedermayer d64b854075 Merge commit '666fe5da47d127074be7f0e2bac93db6af8b4a30'
* commit '666fe5da47d127074be7f0e2bac93db6af8b4a30':
  atomic: Exclude the unsupported implementation headers from checkheaders
  avconv: do not silently ignore unused codec AVOptions.

Conflicts:
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 21:34:24 +01:00
Michael Niedermayer 212b89f8b4 avfilter: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 21:23:54 +01:00
Michael Niedermayer c51fcdf0f6 Merge commit 'db2d65ce1ed13ea9a530b1934963a16c3e8fa460'
* commit 'db2d65ce1ed13ea9a530b1934963a16c3e8fa460':
  avconv: fix a typo
  FATE: replace -vb with -b:v

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 21:15:21 +01:00
Michael Niedermayer 771919e11f Merge commit '6deae8e0530a885b76f149841ed4899cb438ec23'
* commit '6deae8e0530a885b76f149841ed4899cb438ec23':
  FATE: remove the -dct option from some decoding tests.
  avconv: use a local variable for InputFile in open_input_file().

Conflicts:
	tests/fate/microsoft.mak
	tests/fate/real.mak
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 21:06:30 +01:00
Michael Niedermayer 49e87819d0 Merge commit '1da54e908eba73eb86f5d614c51f06811c85c3ea'
* commit '1da54e908eba73eb86f5d614c51f06811c85c3ea':
  avconv: use a local variable for OutputFile in open_output_file().

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 20:58:56 +01:00
Hendrik Leppkes cde1e7db3e vorbis: unref the skipped first frame.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 20:46:55 +01:00
Hendrik Leppkes 713ac21097 avutil/os_support: use 64-bit fstat/lseek variants for MSVC as well
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 20:06:31 +01:00
Ronald S. Bultje 6a701306db dsputil: make selectable.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 19:56:58 +01:00
Michael Niedermayer b1a9a2c4ff ffmpeg: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 18:58:10 +01:00
Luca Barbato 37cb3b180a matroskadec: request a read buffer for the wav header
Solve an infiniloop.

CC: libav-stable@libav.org
2013-03-12 18:58:06 +01:00
Michael Niedermayer 19688e87e5 h264: show recovery SEIs in debug output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 18:43:17 +01:00
Michael Niedermayer dc7ba0c1f4 j2kdec: remove unused variable and empty function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 18:30:59 +01:00
Luca Barbato a8b6015823 dsputil: convert remaining functions to use ptrdiff_t strides
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-12 18:26:42 +01:00
Hendrik Leppkes f91730a16b jv: initialize AVFrame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 18:24:49 +01:00
Michael Niedermayer bd93f3c5bd ffmpeg: fix reinit_filter type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 18:24:48 +01:00
Michael Niedermayer 5743095ca9 Merge commit '9d3009c6c4b9b6734f07df7c88f6a42ded6cdf38'
* commit '9d3009c6c4b9b6734f07df7c88f6a42ded6cdf38':
  avconv: print an error on applying options of the wrong type.
  atomic: Check for __sync_val_compare_and_swap instead of __sync_synchronize
  output-example: Update to use encode_video2 instead of the now dropped encode_video

Conflicts:
	doc/examples/muxing.c
	ffmpeg_opt.c
	libavutil/atomic.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 18:10:35 +01:00
Michael Niedermayer 6b6b0e9dae pthread: fix unused variable warning 2013-03-12 18:10:09 +01:00
Giorgio Vazzana ee4a658695 lavd/v4l2: fix bug in init_convert_timestamp()
The current code returned a period=0, resulting in identical pts for all frames
after time-filtering. This is because AV_TIME_BASE_Q={1, AV_TIME_BASE} and
not {AV_TIME_BASE, 1}. With this patch the correct period in microseconds is computed.
2013-03-12 17:14:47 +01:00
Michael Niedermayer 7093b7534f Merge commit '2240e92f052960693de55cf4924e80426dfaa965'
* commit '2240e92f052960693de55cf4924e80426dfaa965':
  atomic: Add include guards to the implementation headers
  lavc: update the fallback versions of ff_thread_*

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 16:36:21 +01:00
Michael Niedermayer bf780b7ea8 Merge commit '19dd4017ab6dac11c77d797acebee4f60ad63a6f'
* commit '19dd4017ab6dac11c77d797acebee4f60ad63a6f':
  libopencore-amr: Add the missing 3rd argument of ff_get_buffer()
  vmdaudio: fix invalid reads when packet size is not a multiple of chunk size
  wmaprodec: return an error, not 0, when the input is too small.

Conflicts:
	libavcodec/vmdav.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 16:31:21 +01:00
Nicolas George b52421940f lavf: add AV_ to two remaining CODEC_ID_*. 2013-03-12 16:21:22 +01:00
Michael Niedermayer 7787a6c7ca Merge commit 'cacad1c058f66558ec727faac3b277d2dee264d4'
* commit 'cacad1c058f66558ec727faac3b277d2dee264d4':
  wmaprodec: require block_align to be set.
  wmadec: require block_align to be set.
  ivi_common: do not call MC for intra frames when dc_transform is unset

Conflicts:
	libavcodec/ivi_common.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 16:15:08 +01:00
Michael Niedermayer 6ec0447d3d xface: remove unused stuff, fix related warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 16:04:46 +01:00
Michael Niedermayer b36095ea0f Merge commit '3e2f200237af977b9253b0aff121eee27bcedb44'
* commit '3e2f200237af977b9253b0aff121eee27bcedb44':
  roqvideodec: fix a potential infinite loop in roqvideo_decode_frame().
  xxan: fix invalid memory access in xan_decode_frame_type0()
  tty: set avg_frame_rate.
  FATE: enable multiple slices in the ffv1 vsynth test

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 15:57:28 +01:00
Michael Niedermayer f506ae19ff Merge commit 'd243896987b8b2062d1faba4d8d6f0c62d2dbee9'
* commit 'd243896987b8b2062d1faba4d8d6f0c62d2dbee9':
  ffv1: fix calculating slice dimensions for version 2

Conflicts:
	libavcodec/ffv1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 15:56:43 +01:00
Michael Niedermayer 0cfbfaaa12 Merge commit '7b89cd20d844cbe763ca34e63e99d110043cf241'
* commit '7b89cd20d844cbe763ca34e63e99d110043cf241':
  eamad: allocate a dummy reference frame when the real one is missing
  Replace remaining includes of audioconvert.h with channel_layout.h
  Replace some forgotten instances of PIX_FMT_* with AV_PIX_FMT_*.

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 15:44:15 +01:00
Michael Niedermayer a75f01d7e0 Merge commit 'd8b31be6caebd8d1321ecb754b6e7daaf81dc111'
* commit 'd8b31be6caebd8d1321ecb754b6e7daaf81dc111':
  Add the bumps and APIchanges entries for reference counted buffers changes.

Conflicts:
	Changelog
	doc/APIchanges
	libavcodec/version.h
	libavdevice/version.h
	libavfilter/version.h
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 15:35:39 +01:00
Michael Niedermayer c292e340ed avformat: keep r_frame_rate
This field is used and nothing equivalent exists

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 15:28:23 +01:00
Michael Niedermayer 9cf788eca8 avformat/avdevice: add missing time.h includes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 15:28:22 +01:00
Michael Niedermayer ad78b9ed70 avcodec: postpone removial of parts still used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 15:28:21 +01:00
Michael Niedermayer b2cd0d709a Merge commit '8df23e938b4022d6e6e9e1180ea6418abae74fda'
* commit '8df23e938b4022d6e6e9e1180ea6418abae74fda':
  lavc: postpone the removal of request_channels API.
  AVFrame: deprecate all now unused fields

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 14:46:41 +01:00
Michael Niedermayer dac8799529 Merge commit 'ddcca4ba074aa537c3059c76d69eb4ad6316bfe9'
* commit 'ddcca4ba074aa537c3059c76d69eb4ad6316bfe9':
  lavc: stop setting AVFrame.motion_subsample_log2
  avserver: don't set deprecated options.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 14:27:54 +01:00
Michael Niedermayer 32fdfdfbda Merge commit '354468fc12dcf93e7fb4af552e18906771913273'
* commit '354468fc12dcf93e7fb4af552e18906771913273':
  avplay: switch to new refcounted frames API
  avconv: convert to new refcounted AVFrame API

Conflicts:
	cmdutils.c
	ffmpeg.c
	ffmpeg.h
	ffplay.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 14:16:02 +01:00
Michael Niedermayer 3c1326411d Merge commit '37045e422903695e610cca6ecb753df643ab9380'
* commit '37045e422903695e610cca6ecb753df643ab9380':
  mpegvideo: drop vismv code

Conflicts:
	libavcodec/mpegvideo.c

vismv code works fine, and thus only the unused fields are droped

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 12:57:54 +01:00
Michael Niedermayer a303dce28c utils: Dont sent fake channel layouts, 0 layout is better when its not known
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 12:50:07 +01:00
Michael Niedermayer f9fd6f983b Merge commit '2eba9087f3031c6050f8dcd996225490be6c2410'
* commit '2eba9087f3031c6050f8dcd996225490be6c2410':
  lavc: make up a fake frame channel layout when there is no real one.

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 12:49:59 +01:00
Michael Niedermayer a7f9d92a6d Merge commit '192f1984b1a93aa08af053b8f9ab4950f307bd5d'
* commit '192f1984b1a93aa08af053b8f9ab4950f307bd5d':
  lavc: limit maximum number of channels to 63

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 12:23:12 +01:00
Michael Niedermayer 36685c3c4b Merge commit '15ec0450b4ae891f3e6ababa03c777a4443b94ca'
* commit '15ec0450b4ae891f3e6ababa03c777a4443b94ca':
  lavc: allow decoders to override frame parameters.

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 12:18:31 +01:00
Michael Niedermayer 64d11cb615 mss1: set frame defaults
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 12:17:58 +01:00
Clément Bœsch 80661e0f55 buffer: use the atomic get instead of the add and fetch variant. 2013-03-12 12:12:49 +01:00
Michael Niedermayer 1ad542f11f get_video_buffer: add vertical padding
Fix memory corruption

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 11:33:43 +01:00
Michael Niedermayer 53fd4f5594 avcodec: fix motion vector vissualization
was broken by the buffer ref stuff

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 11:23:07 +01:00
Diego Biurrun a4472ac01e Add informative messages to av_log_ask_for_sample calls lacking them 2013-03-12 11:09:45 +01:00
Michael Niedermayer 6ae4372532 h264/mpegvideo: fix ff_print_debug_info2 arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 11:06:35 +01:00
Diego Biurrun 8f10f1a6dc anm: Get rid of some very silly goto statements 2013-03-12 11:05:28 +01:00
Michael Niedermayer a76ef998eb mpegvideo: move ff_print_debug_info2 to where ff_print_debug_info is
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 10:51:03 +01:00
Hendrik Leppkes b91459e565 atomic: prefer gcc builtins over win32 atomics, if available.
The mingw win32 atomics appear to be faulty, so they should not be used
if the gcc ones are available.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-12 10:41:09 +01:00
Martin Storsjö c48828f763 atomic: Check for __sync_val_compare_and_swap instead of __sync_synchronize
Not all gcc configurations have an implementation of all the atomic
operations, and some gcc configurations have some atomic builtins
implemented but not all.

Thus check for the most essential function, whose presence should
indicate that all others are present as well, since it can be used
to implement all the other ones.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-12 10:41:02 +01:00
Michael Niedermayer c536253854 snow: set frame defaults
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 10:35:51 +01:00
Michael Niedermayer b5e5ed8ea7 Merge commit '3b199d29cd597a3518136d78860e172060b9e83d'
* commit '3b199d29cd597a3518136d78860e172060b9e83d':
  lavc decoders: properly initialize AVFrame.

Conflicts:
	libavcodec/avs.c
	libavcodec/c93.c
	libavcodec/cinepak.c
	libavcodec/flashsv.c
	libavcodec/flicvideo.c
	libavcodec/iff.c
	libavcodec/mmvideo.c
	libavcodec/msrle.c
	libavcodec/msvideo1.c
	libavcodec/qtrle.c
	libavcodec/rpza.c
	libavcodec/smacker.c
	libavcodec/smc.c
	libavcodec/tiertexseqv.c
	libavcodec/truemotion1.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 03:54:40 +01:00
Michael Niedermayer 01a0283c92 h264: disallow single unpaired fields as references of frames
Fixes deadlock
2013-03-12 03:23:58 +01:00
Hendrik Leppkes c69acbf881 lavfi/moviesrc: use refcounted frames 2013-03-12 03:23:57 +01:00
Michael Niedermayer 0fc01ae33c h264: fix null pointer dereference and assertion failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 03:23:56 +01:00
Michael Niedermayer ee3c3dd523 ff_alloc_picture: free tables in case of dimension mismatches
Fixes memory corruption
In theory this should not be needed but its better to check at
one place than to hope 50 other places set the flags correctly
2013-03-12 03:23:55 +01:00
Michael Niedermayer 9e73f6d1f9 mpegvideo: dont allow last == current
this fixes deadlocks

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 03:23:53 +01:00
Michael Niedermayer 9dd0b7ad82 update_frame_pool: use channel field
Fix memory corruption

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 03:23:51 +01:00
Michael Niedermayer 80e9e63c94 Merge commit '759001c534287a96dc96d1e274665feb7059145d'
* commit '759001c534287a96dc96d1e274665feb7059145d':
  lavc decoders: work with refcounted frames.

Anton Khirnov (1):
      lavc decoders: work with refcounted frames.

Clément Bœsch (47):
      lavc/ansi: reset file
      lavc/ansi: re-do refcounted frame changes from Anton
      fraps: reset file
      lavc/fraps: switch to refcounted frames
      gifdec: reset file
      lavc/gifdec: switch to refcounted frames
      dsicinav: resolve conflicts
      smc: resolve conflicts
      zmbv: resolve conflicts
      rpza: resolve conflicts
      vble: resolve conflicts
      xxan: resolve conflicts
      targa: resolve conflicts
      vmnc: resolve conflicts
      utvideodec: resolve conflicts
      tscc: resolve conflicts
      ulti: resolve conflicts
      ffv1dec: resolve conflicts
      dnxhddec: resolve conflicts
      v210dec: resolve conflicts
      vp3: resolve conflicts
      vcr1: resolve conflicts
      v210x: resolve conflicts
      wavpack: resolve conflicts
      pngdec: fix compilation
      roqvideodec: resolve conflicts
      pictordec: resolve conflicts
      mdec: resolve conflicts
      tiertexseqv: resolve conflicts
      smacker: resolve conflicts
      vb: resolve conflicts
      vqavideo: resolve conflicts
      xl: resolve conflicts
      tmv: resolve conflicts
      vmdav: resolve conflicts
      truemotion1: resolve conflicts
      truemotion2: resolve conflicts
      lcldec: fix compilation
      libcelt_dec: fix compilation
      qdrw: fix compilation
      r210dec: fix compilation
      rl2: fix compilation
      wnv1: fix compilation
      yop: fix compilation
      tiff: resolve conflicts
      interplayvideo: fix compilation
      qpeg: resolve conflicts (FIXME/TESTME).

Hendrik Leppkes (33):
      012v: convert to refcounted frames
      8bps: fix compilation
      8svx: resolve conflicts
      4xm: resolve conflicts
      aasc: resolve conflicts
      bfi: fix compilation
      aura: fix compilation
      alsdec: resolve conflicts
      avrndec: convert to refcounted frames
      avuidec: convert to refcounted frames
      bintext: convert to refcounted frames
      cavsdec: resolve conflicts
      brender_pix: convert to refcounted frames
      cinepak: resolve conflicts
      cinepak: avoid using AVFrame struct directly in private context
      cljr: fix compilation
      cpia: convert to refcounted frames
      cscd: resolve conflicts
      iff: resolve conflicts and do proper conversion to refcounted frames
      4xm: fix reference frame handling
      cyuv: fix compilation
      dxa: fix compilation
      eacmv: fix compilation
      eamad: fix compilation
      eatgv: fix compilation
      escape124: remove unused variable.
      escape130: convert to refcounted frames
      evrcdec: convert to refcounted frames
      exr: convert to refcounted frames
      mvcdec: convert to refcounted frames
      paf: properly free the frame data on decode close
      sgirle: convert to refcounted frames
      lavfi/moviesrc: use refcounted frames

Michael Niedermayer (56):
      Merge commit '759001c534287a96dc96d1e274665feb7059145d'
      resolve conflicts in headers
      motion_est: resolve conflict
      mpeg4videodec: fix conflicts
      dpcm conflict fix
      dpx: fix conflicts
      indeo3: resolve confilcts
      kmvc: resolve conflicts
      kmvc: resolve conflicts
      h264: resolve conflicts
      utils: resolve conflicts
      rawdec: resolve conflcits
      mpegvideo: resolve conflicts
      svq1enc: resolve conflicts
      mpegvideo: dont clear data, fix assertion failure on fate vsynth1 with threads
      pthreads: resolve conflicts
      frame_thread_encoder: simple compilefix not yet tested
      snow: update to buffer refs
      crytsalhd: fix compile
      dirac: switch to new API
      sonic: update to new API
      svq1: resolve conflict, update to new API
      ffwavesynth: update to new buffer API
      g729: update to new API
      indeo5: fix compile
      j2kdec: update to new buffer API
      linopencore-amr: fix compile
      libvorbisdec: update to new API
      loco: fix compile
      paf: update to new API
      proresdec: update to new API
      vp56: update to new api / resolve conflicts
      xface: convert to refcounted frames
      xan: fix compile&fate
      v408: update to ref counted buffers
      v308: update to ref counted buffers
      yuv4dec: update to ref counted buffers
      y41p: update to ref counted frames
      xbm: update to refcounted frames
      targa_y216: update to refcounted buffers
      qpeg: fix fate/crash
      cdxl: fix fate
      tscc: fix reget buffer useage
      targa_y216dec: fix style
      msmpeg4: fix fate
      h264: ref_picture() copy fields that have been lost too
      update_frame_pool: use channel field
      h264: Put code that prevents deadlocks back
      mpegvideo: dont allow last == current
      wmalossless: fix buffer ref messup
      ff_alloc_picture: free tables in case of dimension mismatches
      h264: fix null pointer dereference and assertion failure
      frame_thread_encoder: update to bufrefs
      ec: fix used arrays
      snowdec: fix off by 1 error in dimensions check
      h264: disallow single unpaired fields as references of frames

Paul B Mahol (2):
      lavc/vima: convert to refcounted frames
      sanm: convert to refcounted frames

Conflicts:
	libavcodec/4xm.c
	libavcodec/8bps.c
	libavcodec/8svx.c
	libavcodec/aasc.c
	libavcodec/alsdec.c
	libavcodec/anm.c
	libavcodec/ansi.c
	libavcodec/avs.c
	libavcodec/bethsoftvideo.c
	libavcodec/bfi.c
	libavcodec/c93.c
	libavcodec/cavsdec.c
	libavcodec/cdgraphics.c
	libavcodec/cinepak.c
	libavcodec/cljr.c
	libavcodec/cscd.c
	libavcodec/dnxhddec.c
	libavcodec/dpcm.c
	libavcodec/dpx.c
	libavcodec/dsicinav.c
	libavcodec/dvdec.c
	libavcodec/dxa.c
	libavcodec/eacmv.c
	libavcodec/eamad.c
	libavcodec/eatgq.c
	libavcodec/eatgv.c
	libavcodec/eatqi.c
	libavcodec/error_resilience.c
	libavcodec/escape124.c
	libavcodec/ffv1.h
	libavcodec/ffv1dec.c
	libavcodec/flicvideo.c
	libavcodec/fraps.c
	libavcodec/frwu.c
	libavcodec/g723_1.c
	libavcodec/gifdec.c
	libavcodec/h264.c
	libavcodec/h264.h
	libavcodec/h264_direct.c
	libavcodec/h264_loopfilter.c
	libavcodec/h264_refs.c
	libavcodec/huffyuvdec.c
	libavcodec/idcinvideo.c
	libavcodec/iff.c
	libavcodec/indeo2.c
	libavcodec/indeo3.c
	libavcodec/internal.h
	libavcodec/interplayvideo.c
	libavcodec/ivi_common.c
	libavcodec/jvdec.c
	libavcodec/kgv1dec.c
	libavcodec/kmvc.c
	libavcodec/lagarith.c
	libavcodec/libopenjpegdec.c
	libavcodec/mdec.c
	libavcodec/mimic.c
	libavcodec/mjpegbdec.c
	libavcodec/mjpegdec.c
	libavcodec/mmvideo.c
	libavcodec/motion_est.c
	libavcodec/motionpixels.c
	libavcodec/mpc7.c
	libavcodec/mpeg12.c
	libavcodec/mpeg4videodec.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo.h
	libavcodec/msrle.c
	libavcodec/msvideo1.c
	libavcodec/nuv.c
	libavcodec/options_table.h
	libavcodec/pcx.c
	libavcodec/pictordec.c
	libavcodec/pngdec.c
	libavcodec/pnmdec.c
	libavcodec/pthread.c
	libavcodec/qpeg.c
	libavcodec/qtrle.c
	libavcodec/r210dec.c
	libavcodec/rawdec.c
	libavcodec/roqvideodec.c
	libavcodec/rpza.c
	libavcodec/smacker.c
	libavcodec/smc.c
	libavcodec/svq1dec.c
	libavcodec/svq1enc.c
	libavcodec/targa.c
	libavcodec/tiertexseqv.c
	libavcodec/tiff.c
	libavcodec/tmv.c
	libavcodec/truemotion1.c
	libavcodec/truemotion2.c
	libavcodec/tscc.c
	libavcodec/ulti.c
	libavcodec/utils.c
	libavcodec/utvideodec.c
	libavcodec/v210dec.c
	libavcodec/v210x.c
	libavcodec/vb.c
	libavcodec/vble.c
	libavcodec/vcr1.c
	libavcodec/vmdav.c
	libavcodec/vmnc.c
	libavcodec/vp3.c
	libavcodec/vp56.c
	libavcodec/vp56.h
	libavcodec/vp6.c
	libavcodec/vqavideo.c
	libavcodec/wavpack.c
	libavcodec/xl.c
	libavcodec/xxan.c
	libavcodec/zmbv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 03:23:28 +01:00
Michael Niedermayer 2e7bc9c2a1 snowdec: fix off by 1 error in dimensions check
fixes infinite loop

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 02:42:50 +01:00
Luca Barbato 202c2acc40 vda: remove async decoder leftovers
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-12 01:05:48 +01:00
Nicolas George 73b40e2eb6 lavfi/buffersink: move the filter structures at the end.
Also apply a few cosmetic fixes (spaces, trailing comma) to
help match them with the fork's implementation.
2013-03-11 19:00:49 +01:00
Janne Grunau a2816230c5 avframe: call release_buffer only if it is set
AVCodecContext release_buffer() shall be NULL for audio codecs using
get_buffer. The backward compatibility code hence have to check before
calling it.
2013-03-11 18:58:47 +01:00
Anton Khirnov fce68c9355 pthread: unref the decoded but not returned frames on close.
Fixes memleaks when frame mt is used and the decoder is not flushed at
the end.
2013-03-11 18:30:35 +01:00
Anton Khirnov 555000c7d5 h264: check that DPB is allocated before accessing it in flush_dpb() 2013-03-11 18:30:31 +01:00
Anton Khirnov d0a863ac89 vf_hqdn3d: fix uninitialized variable use
CC:libav-stable@libav.org
2013-03-11 18:28:35 +01:00
Anton Khirnov 887d31d455 vf_gradfun: fix uninitialized variable use
CC:libav-stable@libav.org
2013-03-11 18:28:34 +01:00
Anton Khirnov c2597c5a0a h264_refs: cosmetics, reformat 2013-03-11 18:24:56 +01:00
Anton Khirnov f08fefc4d0 h264: remove a useless svq3 condition
The svq3 decoder does not call ff_h264_frame_start() anymore.
2013-03-11 18:24:36 +01:00
Anton Khirnov 07054015cf mpegvideo: remove FMT_H264 2013-03-11 18:24:25 +01:00
Anton Khirnov ee8704916d mpegvideo: reindent 2013-03-11 18:24:16 +01:00
Anton Khirnov 19cac8e301 mpegvideo: remove useless references to h264 and svq3
The h264 decoder does not use mpegvideo anymore. The svq3 decoder only
uses ff_draw_horiz_band().
2013-03-11 18:24:06 +01:00
Anton Khirnov 85a5bc054c lavf: remove disabled FF_API_R_FRAME_RATE cruft 2013-03-11 18:23:50 +01:00
Anton Khirnov 7b486ab13b lavf: remove disabled FF_API_AV_GETTIME cruft 2013-03-11 18:23:18 +01:00
Anton Khirnov 32e5194969 lavf: remove disabled FF_API_INTERLEAVE_PACKET cruft 2013-03-11 18:23:10 +01:00
Anton Khirnov 435c2a31ad lavf: remove disabled FF_API_READ_PACKET cruft 2013-03-11 18:23:02 +01:00
Anton Khirnov c7e044c61b lavf: remove disabled FF_API_APPLEHTTP_PROTO cruft 2013-03-11 18:22:54 +01:00
Anton Khirnov 0a7c4daf46 lavf: remove disabled FF_API_CLOSE_INPUT_FILE cruft 2013-03-11 18:22:45 +01:00
Anton Khirnov d6ed604cf4 lavc: remove disabled FF_API_IDCT cruft 2013-03-11 18:22:37 +01:00
Anton Khirnov 3bcdf8dcb9 lavc: remove disabled FF_API_SNOW cruft 2013-03-11 18:22:26 +01:00
Anton Khirnov fcb07e8b33 lavc: remove disabled FF_API_MMI cruft 2013-03-11 18:22:18 +01:00
Anton Khirnov de27d2b92f lavc: remove disabled FF_API_LIBMPEG2 cruft 2013-03-11 18:21:54 +01:00
Anton Khirnov 0517c9e098 lavc: remove disabled FF_API_AVCODEC_RESAMPLE cruft 2013-03-11 18:21:32 +01:00
Hendrik Leppkes d6d369bf13 atomic: prefer gcc builtins over win32 atomics, if available.
The mingw win32 atomics appear to be faulty, so they should not be used
if the gcc ones are available.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-11 16:57:25 +02:00
Janne Grunau fc8406d01e avframe: copy reordered_opaque in copy_props
Fixes video playback in applications still using reordered_opaque.
2013-03-11 13:29:39 +01:00
Clément Bœsch 1123080d2e cmdutils: remove conditionnal pp include.
The definition of the include are needed for builds even without pp.
This should fix FATE with --disable-gpl after 63edd2f9.
2013-03-11 03:55:23 +01:00
Janne Grunau 684e3d2e1c ra144: check buffer size before requesting a buffer
Return an error on incomplete frames.
2013-03-10 22:34:43 +01:00
Janne Grunau 08149b2b39 wmapro: unref skipped frames 2013-03-10 22:34:43 +01:00
Janne Grunau e3232f3431 svq1: use av_frame_free to free refcounted frame
Fixes a memleak due to avcodec_free_frame not freeing the frame data.
2013-03-10 22:28:18 +01:00
Anton Khirnov 98cec5c84f ratecontrol: remove an unused variable 2013-03-10 22:19:52 +01:00
Anton Khirnov 669cc0f364 lavc: fix get_buffer() compatibility layer for audio.
planes - FF_ARRAY_ELEMS would be evaluated as unsigned and underflow
instead of being negative as was intended.
2013-03-10 22:19:52 +01:00
Anton Khirnov e2c2974120 vorbisdec: do not leak the first frame. 2013-03-10 22:16:26 +01:00
Nicolas George de54a96aa8 lavfi/buffersink: implement av_buffersink_get_samples().
Note: the implementation could be more efficient, but at
the cost of more diff.

Most of the code from the following commit:

commit a2cd9be212
Author: Anton Khirnov <anton@khirnov.net>
Date:   Fri May 4 19:22:38 2012 +0200

    lavfi: add an audio buffer sink.

Adapted to call av_buffersink_get_frame_flags() instead of
accessing the frame directly.
2013-03-10 19:39:25 +01:00
Nicolas George b71db3f38e lavfi/buffersrc: do not dereference NULL frame.
frame = NULL is used to indicate EOF.
2013-03-10 17:05:55 +01:00
Nicolas George 03b87fe5e3 lavfi: rename sink_buffer.c into buffersink.c. 2013-03-10 17:05:55 +01:00
Nicolas George 3add5dc88e lavfi: remove buffersink.c.
It only contains merge conflicts leftovers.
The real code is in sink_buffer.c.
2013-03-10 17:05:55 +01:00
Nicolas George fa41f7ecd6 lavfi/sink_buffer: move stuff to reduce the diff.
Note: av_buffersink_get_samples() is not yet implemented,
abuffersink is not yet a drop-in replacement of the fork's
abuffersink.
2013-03-10 17:05:46 +01:00
Stefano Sabatini 35135a3989 lavfi/smartblur: add support to named options 2013-03-10 16:38:45 +01:00
Nicolas George fb14e37dd0 ffmpeg: re-enable use of buffersrc flags.
AV_BUFFERSRC_FLAG_PUSH is necessary to detect closed streams.
2013-03-10 14:07:29 +01:00
Nicolas George b0012de420 lavfi/buffersrc: implement flags.
The PUSH flags is necessary for efficient scheduling;
otherwise there is no feedback when adding frames to
closed paths.

The NO_CHECK_FORMAT is a small optimization that does
not cost much to implement.

The KEEP_REF flag maps to the add/write distinction in
the fork's API.
2013-03-10 13:56:17 +01:00
Nicolas George cb2bd91413 ffmpeg: add the -canvas_size option.
Allows, amongst other things, to override the size guessed
by the sub2video hack.

Note: the -s option could have more or less the same semantic,
but it receives a special treatment by the options system.
2013-03-10 13:48:49 +01:00
Nicolas George f9b34b8bf9 ffmpeg: port sub2video to AVFrame.
And re-enable the FATE test.
2013-03-10 13:45:15 +01:00
Stefano Sabatini f185a040b0 doc/ffplay,ffmpeg: mention the corresponding negated option for -stats
This helps lazy users who didn't read the part about boolean options, in
case they grep for "-nostats".

-stdin and -stats are the only booleans option enabled by default. This
is a partial fix for Trac ticket #2332, a complete overhaul of boolean
options documentation is probably overkill.
2013-03-10 13:22:59 +01:00
Stefano Sabatini a2a848406f cmdutils: clarify log message, in case of option routed to both codec and mux/demux layer 2013-03-10 13:22:59 +01:00
Stefano Sabatini 63edd2f989 cmdutils: remove duplicated check on CONFIG_POSTPROC
The check is already performed by the PRINT_LIB_INFO macro.
2013-03-10 13:22:59 +01:00
Stefano Sabatini 475c090af2 cmdutils: make print_all_libs_info() show libavresample version
Even if not directly supported by FFmpeg, it is still useful to see the
linked version of libavresample.
2013-03-10 13:22:59 +01:00
Stefano Sabatini daf6ea5d4e cmdutils: fix stylenits 2013-03-10 13:22:59 +01:00
Stefano Sabatini 606efe18be lavfi/unsharp: add missing option flags 2013-03-10 13:22:58 +01:00
Stefano Sabatini dae76e8c47 lavc/utils: fix typo and reword message in case of too low bitrate 2013-03-10 13:22:58 +01:00
Michael Niedermayer f963c77856 avfilter: avoid direct access to "frame"->channels
This avoids ABI issues

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-10 11:25:54 +01:00
Xi Wang 5d639b2b4a vf_pad: fix a & instead of && typo
Avoid buffer overflow in buffer_needs_copy()

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-10 11:16:10 +01:00
Fabrizio Gennari 91b747ac78 mem: Fix usage of memalign() on DJGPP.
Credits to Khusraw of bttr-software.de forum.
Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-03-10 11:12:56 +01:00
Xi Wang 969e8d35b5 lavfi/pad: avoid buffer overflow in buffer_needs_copy()
Replace & with short-circuit &&.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-03-10 10:38:42 +01:00
Clément Bœsch 65fc80f012 lavfi: add curves filter. 2013-03-10 03:00:10 +01:00
Clément Bœsch 3d813e7ec3 lavfi: bump minor version after the first round of evil changes. 2013-03-10 02:59:43 +01:00
Michael Niedermayer 108434a30c sink_buffer: remove unused variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-10 02:52:15 +01:00
Ronald S. Bultje d5efa84f13 vp3: embed idct_permutation array directly in VP3DecoderContext.
This makes the vp3 decoder less dependent on dsputil, and will aid
in making it (eventually) dsputil-independent.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-10 02:51:05 +01:00
Clément Bœsch 96e4b00d62 lavfi: remove remaining forgotten min/rej perms. 2013-03-10 02:38:21 +01:00
Michael Niedermayer 806a66fd08 mpegts: clear avprograms only for removed programs
Fixes Ticket2186

Requested-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-10 02:28:05 +01:00
Michael Niedermayer 07ab8d3369 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Revert "build: disable iconv by default."

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-10 02:21:04 +01:00
Clément Bœsch f0a5f71074 lavfi/hue: reindent. 2013-03-10 02:13:02 +01:00
Clément Bœsch 3da54858d3 lavfi/hue: add an optimized direct path. 2013-03-10 02:13:02 +01:00
Michael Niedermayer 4a62f477ea Merge commit '6e7b50b4270116ded8b874d76cb7c5b1a0341827'
* commit '6e7b50b4270116ded8b874d76cb7c5b1a0341827':
  mpegvideo_enc: drop support for reusing the input motion vectors.

Conflicts:
	libavcodec/motion_est.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-10 02:10:43 +01:00
Clément Bœsch e53061154f lavu/frame: fix not/note typo in doxy. 2013-03-10 02:07:34 +01:00
Clément Bœsch 5e4bc96415 doc: fix examples. 2013-03-10 01:41:53 +01:00
Michael Niedermayer b1b506bc56 fate: disable sub2video
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-10 01:41:52 +01:00
Nicolas George 4e7c61b7a7 ffmpeg: do not give away our reference to the frame.
Note: the logic here is temporary until the updates to
ffmpeg.c are merged.
2013-03-10 01:41:50 +01:00
Nicolas George 9cc02101ff lavc/rawdec: set field order on decoded frame. 2013-03-10 01:41:49 +01:00
Nicolas George 6184fa2067 rawdec: work with refcounted frames.
Adapted from commit 759001c534
by Anton Khirnov.

Also, fix the use of || instead of | in a flags check.
2013-03-10 01:41:48 +01:00
Michael Niedermayer a05a44e205 Merge commit '7e350379f87e7f74420b4813170fe808e2313911'
* commit '7e350379f87e7f74420b4813170fe808e2313911':
  lavfi: switch to AVFrame.

Conflicts:
	doc/filters.texi
	libavfilter/af_ashowinfo.c
	libavfilter/audio.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/buffersink.c
	libavfilter/buffersrc.c
	libavfilter/buffersrc.h
	libavfilter/f_select.c
	libavfilter/f_setpts.c
	libavfilter/fifo.c
	libavfilter/split.c
	libavfilter/src_movie.c
	libavfilter/version.h
	libavfilter/vf_aspect.c
	libavfilter/vf_bbox.c
	libavfilter/vf_blackframe.c
	libavfilter/vf_delogo.c
	libavfilter/vf_drawbox.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_fieldorder.c
	libavfilter/vf_fps.c
	libavfilter/vf_frei0r.c
	libavfilter/vf_gradfun.c
	libavfilter/vf_hqdn3d.c
	libavfilter/vf_lut.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/vf_showinfo.c
	libavfilter/vf_transpose.c
	libavfilter/vf_vflip.c
	libavfilter/vf_yadif.c
	libavfilter/video.c
	libavfilter/vsrc_testsrc.c
	libavfilter/yadif.h

Following are notes about the merge authorship and various technical details.

Michael Niedermayer:
  * Main merge operation, notably avfilter.c and video.c
  * Switch to AVFrame:
    - afade
    - anullsrc
    - apad
    - aresample
    - blackframe
    - deshake
    - idet
    - il
    - mandelbrot
    - mptestsrc
    - noise
    - setfield
    - smartblur
    - tinterlace
  * various merge changes and fixes in:
    - ashowinfo
    - blackdetect
    - field
    - fps
    - select
    - testsrc
    - yadif

Nicolas George:
  * Switch to AVFrame:
    - make rawdec work with refcounted frames. Adapted from commit
      759001c534 by Anton Khirnov.
      Also, fix the use of || instead of | in a flags check.
    - make buffer sink and src, audio and video work all together

Clément Bœsch:
  * Switch to AVFrame:
    - aevalsrc
    - alphaextract
    - blend
    - cellauto
    - colormatrix
    - concat
    - earwax
    - ebur128
    - edgedetect
    - geq
    - histeq
    - histogram
    - hue
    - kerndeint
    - life
    - movie
    - mp (with the help of Michael)
    - overlay
    - pad
    - pan
    - pp
    - pp
    - removelogo
    - sendcmd
    - showspectrum
    - showwaves
    - silencedetect
    - stereo3d
    - subtitles
    - super2xsai
    - swapuv
    - thumbnail
    - tile

Hendrik Leppkes:
  * Switch to AVFrame:
    - aconvert
    - amerge
    - asetnsamples
    - atempo
    - biquads

Matthieu Bouron:
  * Switch to AVFrame
    - alphamerge
    - decimate
    - volumedetect

Stefano Sabatini:
  * Switch to AVFrame:
    - astreamsync
    - flite
    - framestep

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Clément Bœsch <ubitux@gmail.com>
Signed-off-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-10 01:40:35 +01:00
Carl Eugen Hoyos 3f78f0904b Revert "build: disable iconv by default."
This reverts commit 9ad3cd5b5f.

The misdetection on OS X should be fixed, we will only get
problem reports if auto-detection is enabled.
2013-03-10 01:28:16 +01:00
Clément Bœsch 586ae70ba7 port FFmpeg lavc frame specificities to lavu functions. 2013-03-10 01:25:02 +01:00
Nicolas George d1b456b0a8 lavu/frame: copy the channels field. 2013-03-10 01:25:02 +01:00
Clément Bœsch ee0a8bcba1 lavfi/showspectrum: fix outpicref initialization.
In 81f2549, output pixel format was changed from rgb24 to planar yuv,
but the initialization was left unchanged. As a result, the chroma
planes were left uninitalized. This was not noticed since the current
ff_get_video_buffer() seems to be initializing the buffer. This won't be
the case anymore after the Evil Plan.
2013-03-09 23:52:33 +01:00
Ronald S. Bultje 22cc8a103c x86/qpel: move fullpel and l2 functions to separate file.
This way, they can be shared between mpeg4qpel and h264qpel without
requiring either one to be compiled unconditionally.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-09 17:25:30 +01:00
Ronald S. Bultje 9d40f7106d dsputil: make square put/avg_pixels functions local to h264qpel.
Put a copy of the 8bit functions only in dsputil, where they are used
for some other things (e.g. mpeg4qpel, mspel, cavsqpel). We could perhaps
also try to share specifically the 8bit functions from h264qpel between
it and the others, but that will be slightly more complicated. H264qpel
already had these functions, so we can simply remove the duplicates.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-09 17:16:55 +01:00
Giorgio Vazzana 9222978aed lavd/v4l2: simplify code
struct buff_data contains a pointer to struct video_data, so passing the
file descriptor again is redundant.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-09 16:59:13 +01:00
Giorgio Vazzana 0286b42540 lavd/v4l2: correctly handle error conditions in mmap_read_frame()
In particular:

1) save errno before it (possibly) gets overwritten by other calls
2) do not forget to enqueue the buffer again in case of error

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-09 16:58:53 +01:00
Carl Eugen Hoyos 982070c113 Add some fate dependencies to fix make fate with --disable-everything. 2013-03-09 15:46:46 +01:00
Carl Eugen Hoyos 881684e27c Add some fate dependencies to fix make fate with --disable-avdevice. 2013-03-09 14:39:13 +01:00
Vittorio Giovara 2eaa3663fd avplay: enable only when SDL 1.2 is found
SDL 2 is API incompatible.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-09 14:33:54 +01:00
Anton Khirnov adfa53d67c lavc: remove disabled FF_API_VDA_ASYNC cruft 2013-03-09 08:37:11 +01:00
Anton Khirnov bdd1567c35 lavc: remove disabled FF_API_CODEC_ID cruft 2013-03-09 08:37:08 +01:00
Anton Khirnov 7d42fd6bb9 lavc: remove disabled FF_API_FIND_BEST_PIX_FMT cruft 2013-03-09 08:36:40 +01:00
Anton Khirnov 845017105f lavc: remove disabled FF_API_DSP_MASK cruft 2013-03-09 08:36:40 +01:00
Anton Khirnov 2a11369523 lavc: remove disabled FF_API_INTER_THRESHOLD cruft 2013-03-09 08:36:40 +01:00
Anton Khirnov 0f24a3ca99 lavc: remove disabled FF_API_OLD_ENCODE_VIDEO cruft 2013-03-09 08:36:40 +01:00
Anton Khirnov 6327c10702 atomic: fix CAS with armcc.
On the current code, armcc will fail with:
"libavutil/atomic_gcc.h", line 52: Error:  #2771: first argument must be
a pointer to integer or enumeration type
2013-03-09 08:36:40 +01:00
Anton Khirnov d03a94e2b7 lavc: remove disabled FF_API_SUB_ID cruft 2013-03-09 08:36:40 +01:00
Anton Khirnov 9d6cf81f02 lavc: remove disabled FF_API_COLOR_TABLE_ID cruft 2013-03-09 08:36:40 +01:00
Anton Khirnov f073b1500e lavc: remove disabled FF_API_OLD_ENCODE_AUDIO cruft 2013-03-09 08:36:40 +01:00
Anton Khirnov 3b0f586f07 lavc: remove disabled FF_API_MPV_GLOBAL_OPTS cruft 2013-03-09 08:36:40 +01:00
Anton Khirnov 5d606863c3 lavc: remove disabled FF_API_OLD_DECODE_AUDIO cruft 2013-03-09 08:36:40 +01:00
Stephen Hutchinson 98c4268eca libutvideo: Prioritize compatibility with new versions
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-08 20:45:49 -05:00
Martin Storsjö 309d6f5077 atomic: Add include guards to the implementation headers
This makes them pass standalone compilation tests. Previously,
they included atomic.h which included themselves again, leading to
double definitions.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-08 20:54:40 +01:00
Justin Ruggles 486f0b0cfc png: use av_mallocz_array() for the zlib zalloc function
Fixes valgrind uninitialized memory errors when decoding png.

CC:libav-stable@libav.org
2013-03-08 14:52:21 -05:00
Justin Ruggles e984f47873 libmp3lame: use the correct remaining buffer size when flushing
CC:libav-stable@libav.org
2013-03-08 14:52:05 -05:00
Clément Bœsch 160979f4b4 lavc/utils: make sure the iconv descriptor can be opened only once.
This prevents trying to do some subtitles conversion for each event when
the character encoding is not found. It now aborts early instead of
flooding stderr.
2013-03-08 20:51:57 +01:00
Michael Niedermayer 307dc32a1a Merge commit '77b2cd7b41d7ec8008b6fac753c04f77824c514c'
* commit '77b2cd7b41d7ec8008b6fac753c04f77824c514c':
  AVFrame: add side data.

Conflicts:
	libavutil/frame.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 20:41:41 +01:00
Michael Niedermayer c4e8821732 Merge commit '7ecc2d403ce5c7b6ea3b1f368dccefd105209c7e'
* commit '7ecc2d403ce5c7b6ea3b1f368dccefd105209c7e':
  Move AVFrame from lavc to lavu.

Conflicts:
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 20:33:26 +01:00
Michael Niedermayer fee484edaf Merge commit 'ad0c9f2d5d81e22207c6ccecc426bf7306acc327'
* commit 'ad0c9f2d5d81e22207c6ccecc426bf7306acc327':
  lavc: move AVFrame.hwaccel_picture_private to Picture.

Conflicts:
	libavcodec/avcodec.h
	libavcodec/mpegvideo.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 19:35:37 +01:00
Martin Storsjö 666fe5da47 atomic: Exclude the unsupported implementation headers from checkheaders
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-08 20:34:27 +02:00
Michael Niedermayer d9d97f9b33 Merge commit '1a5e9130162b8adc898e5f6aea82b6372d1e4e6c'
* commit '1a5e9130162b8adc898e5f6aea82b6372d1e4e6c':
  pthread: avoid copying input packets when possible.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 19:17:38 +01:00
Michael Niedermayer 2653e12520 Merge commit '1afddbe59e96af75f1c07605afc95615569f388f'
* commit '1afddbe59e96af75f1c07605afc95615569f388f':
  avpacket: use AVBuffer to allow refcounting the packets.

Conflicts:
	libavcodec/avpacket.c
	libavcodec/utils.c
	libavdevice/v4l2.c
	libavformat/avidec.c
	libavformat/flacdec.c
	libavformat/id3v2.c
	libavformat/matroskaenc.c
	libavformat/mux.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 19:12:03 +01:00
Michael Niedermayer 532f31a695 Merge commit '1cec0624d0e6f48590283a57169b58b9fe8449d3'
* commit '1cec0624d0e6f48590283a57169b58b9fe8449d3':
  AVBuffer: add a new API for buffer pools

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 16:06:20 +01:00
Michael Niedermayer 36099df521 Merge commit '8e401dbe90cc77b1f3067a917d9fa48cefa3fcdb'
* commit '8e401dbe90cc77b1f3067a917d9fa48cefa3fcdb':
  lavu: add a new API for reference-counted data buffers.

Conflicts:
	libavutil/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 16:01:00 +01:00
Michael Niedermayer e92ba51fd7 Merge commit '65f1d45dcc71186ede72fff950996099d23359bd'
* commit '65f1d45dcc71186ede72fff950996099d23359bd':
  lavu: add support for atomic operations.

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 15:48:27 +01:00
Michael Niedermayer 23eed00925 Merge commit 'eae0879d961b78717dd2a0899809ad22819ae9e3'
* commit 'eae0879d961b78717dd2a0899809ad22819ae9e3':
  mp3dec: Fix VBR bit rate parsing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 15:42:37 +01:00
Michael Niedermayer 1f3a577353 Merge commit '4be368b504c6f4a03051448728fc62cd0ed506b2'
* commit '4be368b504c6f4a03051448728fc62cd0ed506b2':
  avstring: Fix isxdigit to not accept non-hex characters
  configure: Add missing videodsp dependencies to some decoders

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 15:37:21 +01:00
Michael Niedermayer e9fbb9783c Merge commit 'dbd2a34ba5e5e46b6835e4425c360723c643b7a8'
* commit 'dbd2a34ba5e5e46b6835e4425c360723c643b7a8':
  build: cosmetics: Group hw accelerator Makefile entries together

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 15:32:39 +01:00
Michael Niedermayer c32cc7e3a4 Merge commit 'bcd0a7137e4aca0f6f598593b90ca8f338444c51'
* commit 'bcd0a7137e4aca0f6f598593b90ca8f338444c51':
  configure: Add missing h264chroma dependencies to vp5, vp6
  Add missing error_resilience includes to files that use ER

Conflicts:
	configure
	libavcodec/mpeg12.c
	libavcodec/mpeg4videodec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 15:23:56 +01:00
Michael Niedermayer 43c6c18690 Merge commit 'd88738e4038b162708dc2f5342e10c1694edfd89'
* commit 'd88738e4038b162708dc2f5342e10c1694edfd89':
  mpegvideo: Conditionally build error_resilience bits

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 15:17:25 +01:00
Michael Niedermayer b094931ab9 Merge commit '06b54e84254e4834b4978ff5b27cc2b7ee8d7a98'
* commit '06b54e84254e4834b4978ff5b27cc2b7ee8d7a98':
  build: Fix error_resilience code dependencies

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 15:05:18 +01:00
Michael Niedermayer 6c17ff84ad Merge commit 'efa7f4202088c70caba11d7834641bc6eaf41830'
* commit 'efa7f4202088c70caba11d7834641bc6eaf41830':
  Use the avstring.h locale-independent character type functions
  avstring: Add locale independent versions of some ctype.h functions

Conflicts:
	avprobe.c
	doc/APIchanges
	libavcodec/dvdsubdec.c
	libavcodec/utils.c
	libavutil/avstring.c
	libavutil/avstring.h
	libavutil/eval.c
	libavutil/parseutils.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 14:57:41 +01:00
Michael Niedermayer 80f91a70be MAINTAINERS: update for 1.2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 14:45:26 +01:00
Michael Niedermayer eab49f4fb5 Revert "aacdec: Reconfigure output as needed, disable pop_output_configuration()"
This reverts commit 60dbf2eff9.

This is not needed anymore, Ticket 1694 has been fixed differently
2013-03-08 14:21:40 +01:00
Michael Niedermayer 8978c743fb aacsbr: Check for envelope scalefactors overflowing
This prevents various values from becoming stuck at NAN and
output to become silent
If someone knows a cleaner solution, thats welcome!

Fixes Ticket2335

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 14:21:40 +01:00
Anton Khirnov e7553f4c78 avconv: do not silently ignore unused codec AVOptions.
Print an error and abort when the option is of the wrong type (decoding
for output file or vice versa), since this could never be correct for
any input or output configuration.

Print a warning and continue when the option is of the correct type,
just unused, so same commandlines can be reused for different kinds of
input or output files.
2013-03-08 14:15:51 +01:00
Anton Khirnov db2d65ce1e avconv: fix a typo 2013-03-08 14:14:25 +01:00
Anton Khirnov 64bfc3e205 FATE: replace -vb with -b:v
The -{vas}<option> syntax is now obsolete and deprecated, and has never
been documented or encouraged.
2013-03-08 14:14:17 +01:00
Anton Khirnov 6deae8e053 FATE: remove the -dct option from some decoding tests.
It is an encoding option, it has no effect when applied to decoding.
2013-03-08 14:14:05 +01:00
Anton Khirnov 41d2008b15 avconv: use a local variable for InputFile in open_input_file().
This is shorter and more readable.
2013-03-08 14:13:46 +01:00
Anton Khirnov 1da54e908e avconv: use a local variable for OutputFile in open_output_file().
This is shorter and more readable.
2013-03-08 14:13:39 +01:00
Anton Khirnov 9d3009c6c4 avconv: print an error on applying options of the wrong type.
I.e. input options to output files or vice versa.
2013-03-08 14:12:43 +01:00
Martin Storsjö e460aa3282 atomic: Check for __sync_val_compare_and_swap instead of __sync_synchronize
Not all gcc configurations have an implementation of all the atomic
operations, and some gcc configurations have some atomic builtins
implemented but not all.

Thus check for the most essential function, whose presence should
indicate that all others are present as well, since it can be used
to implement all the other ones.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-08 14:55:08 +02:00
Martin Storsjö f1af3d19a7 output-example: Update to use encode_video2 instead of the now dropped encode_video
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-08 13:42:45 +01:00
Martin Storsjö 2240e92f05 atomic: Add include guards to the implementation headers
This makes them pass standalone compilation tests. Previously,
they included atomic.h which included themselves again, leading to
double definitions.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-08 12:00:06 +02:00
Anton Khirnov 7c45087b84 lavc: update the fallback versions of ff_thread_*
Fixes build without threads after
759001c534.
2013-03-08 10:22:10 +01:00
Yusuke Nakamura 19dd4017ab libopencore-amr: Add the missing 3rd argument of ff_get_buffer()
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-08 11:09:31 +02:00
Anton Khirnov f86d66bcfa vmdaudio: fix invalid reads when packet size is not a multiple of chunk size
CC:libav-stable@libav.org
2013-03-08 08:12:41 +01:00
Anton Khirnov 4c0080b7e7 wmaprodec: return an error, not 0, when the input is too small.
Returning 0 may result in an infinite loop in valid calling programs. A
decoder should never return 0 without producing any output.

CC:libav-stable@libav.org
2013-03-08 08:12:26 +01:00
Anton Khirnov cacad1c058 wmaprodec: require block_align to be set.
Avoids an infinite loop in the calling programs with decoder not
consuming any input and not returning output.

CC:libav-stable@libav.org
2013-03-08 08:12:16 +01:00
Anton Khirnov ea1136baaf wmadec: require block_align to be set.
Avoids an infinite loop in the calling programs with decoder not
consuming any input and not returning output.

CC:libav-stable@libav.org
2013-03-08 08:12:03 +01:00
Anton Khirnov 3ba40ebb6c ivi_common: do not call MC for intra frames when dc_transform is unset
CC:libav-stable@libav.org
2013-03-08 08:11:46 +01:00
Anton Khirnov 3e2f200237 roqvideodec: fix a potential infinite loop in roqvideo_decode_frame().
When there is just 1 byte remanining in the buffer, nothing will be read
and the loop will continue forever. Check that there are at least 8
bytes, which are always read at the beginning.

CC:libav-stable@libav.org
2013-03-08 08:11:35 +01:00
Anton Khirnov 8a49d2bcbe xxan: fix invalid memory access in xan_decode_frame_type0()
The loop a few lines below the xan_unpack() call accesses up to
dec_size * 2 bytes into y_buffer, so dec_size must be limited to
buffer_size / 2.

CC:libav-stable@libav.org
2013-03-08 08:11:22 +01:00
Anton Khirnov 6c7d339afc tty: set avg_frame_rate.
The container does not store any timestamps and is CFR-only.
2013-03-08 08:11:05 +01:00
Anton Khirnov bde48aa92d FATE: enable multiple slices in the ffv1 vsynth test
This allows us to test the slice threading code.
2013-03-08 08:10:52 +01:00
Anton Khirnov d243896987 ffv1: fix calculating slice dimensions for version 2
It got broken in 0f13cd3187.

CC:libav-stable@libav.org
2013-03-08 08:10:02 +01:00
Anton Khirnov 7b89cd20d8 eamad: allocate a dummy reference frame when the real one is missing
CC:libav-stable@libav.org
2013-03-08 08:09:51 +01:00
Anton Khirnov 0651e892e1 Replace remaining includes of audioconvert.h with channel_layout.h 2013-03-08 07:42:13 +01:00
Anton Khirnov 542b83fc90 Replace some forgotten instances of PIX_FMT_* with AV_PIX_FMT_*. 2013-03-08 07:42:09 +01:00
Anton Khirnov d8b31be6ca Add the bumps and APIchanges entries for reference counted buffers changes. 2013-03-08 07:41:49 +01:00
Anton Khirnov 8df23e938b lavc: postpone the removal of request_channels API.
Its replacement is still not ready.
2013-03-08 07:41:42 +01:00
Anton Khirnov 1296b1f6c0 AVFrame: deprecate all now unused fields 2013-03-08 07:41:21 +01:00
Anton Khirnov ddcca4ba07 lavc: stop setting AVFrame.motion_subsample_log2
It is not used inside lavc anywhere and now it makes no sense to export
it.
2013-03-08 07:41:14 +01:00
Anton Khirnov e7bbfc4242 avserver: don't set deprecated options. 2013-03-08 07:41:07 +01:00
Anton Khirnov 354468fc12 avplay: switch to new refcounted frames API
Remove now unused cmdutils get_buffer() implementation.
2013-03-08 07:40:59 +01:00
Anton Khirnov 9b2dc29534 avconv: convert to new refcounted AVFrame API 2013-03-08 07:40:50 +01:00
Anton Khirnov 37045e4229 mpegvideo: drop vismv code
It has been broken for over a year without anyone complaining or
noticing, thus proving that nobody ever uses it.
2013-03-08 07:40:41 +01:00
Anton Khirnov 2eba9087f3 lavc: make up a fake frame channel layout when there is no real one.
This should ensure that a valid channel layout is always set on a frame,
until a better solution is implemented.
2013-03-08 07:40:06 +01:00
Anton Khirnov 192f1984b1 lavc: limit maximum number of channels to 63
This is the most that can be represented with the current channel layout
system. This limit should be raised/removed when a better system is
implemented.
2013-03-08 07:39:53 +01:00
Anton Khirnov 15ec0450b4 lavc: allow decoders to override frame parameters. 2013-03-08 07:39:44 +01:00
Anton Khirnov 3b199d29cd lavc decoders: properly initialize AVFrame. 2013-03-08 07:39:37 +01:00
Anton Khirnov 759001c534 lavc decoders: work with refcounted frames. 2013-03-08 07:38:30 +01:00
Anton Khirnov 6e7b50b427 mpegvideo_enc: drop support for reusing the input motion vectors.
This misfeature is most likely completely useless and conflicts with
removing the mpegvideo-specific fields from AVFrame. In the improbable
case it is actually useful, it should be reimplemented in a better way.
2013-03-08 07:37:45 +01:00
Anton Khirnov 7e350379f8 lavfi: switch to AVFrame.
Deprecate AVFilterBuffer/AVFilterBufferRef and everything related to it
and use AVFrame instead.
2013-03-08 07:37:18 +01:00
Anton Khirnov 77b2cd7b41 AVFrame: add side data. 2013-03-08 07:37:01 +01:00
Anton Khirnov 7ecc2d403c Move AVFrame from lavc to lavu.
Add AVBuffer-based reference counting API to it.
2013-03-08 07:36:15 +01:00
Anton Khirnov ad0c9f2d5d lavc: move AVFrame.hwaccel_picture_private to Picture.
This field is private and should not be present in a public struct. It
is only used in DXVA with mpegvideo-based decoders currently.
2013-03-08 07:36:01 +01:00
Anton Khirnov 1a5e913016 pthread: avoid copying input packets when possible. 2013-03-08 07:35:14 +01:00
Anton Khirnov 1afddbe59e avpacket: use AVBuffer to allow refcounting the packets.
This will allow us to avoid copying the packets in many cases.

This breaks ABI.
2013-03-08 07:33:45 +01:00
Anton Khirnov 1cec0624d0 AVBuffer: add a new API for buffer pools 2013-03-08 07:33:28 +01:00
Anton Khirnov 8e401dbe90 lavu: add a new API for reference-counted data buffers. 2013-03-08 07:33:03 +01:00
Ronald S. Bultje 65f1d45dcc lavu: add support for atomic operations.
These could be used for reference counting, or for keeping track of
decoding progress in references in multithreaded decoders.

Support is provided by gcc/msvc/suncc intrinsics, with a fallback using
pthread mutexes.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-08 07:32:36 +01:00
Alexander Kojevnikov eae0879d96 mp3dec: Fix VBR bit rate parsing
When parsing the Xing/Info tag, don't set the bit rate if it's an Info tag.

When parsing the stream, don't override the bit rate if it's already set,
otherwise calculate the mean bit rate from parsed frames. This way, the bit
rate will be set correctly both for CBR and VBR streams.

CC:libav-stable@libav.org

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-08 07:32:11 +01:00
Carl Eugen Hoyos 199db97fbd Close output codecs if input codec initialisation fails.
Fixes ticket #1546 and the remaining part of ticket #1244.
2013-03-08 02:46:46 +01:00
Carl Eugen Hoyos a21fd66027 Add dependencies for the voice fate tests. 2013-03-08 02:45:27 +01:00
Carl Eugen Hoyos 0edfda7977 Add dependencies for the flac encoding fate tests. 2013-03-08 02:44:46 +01:00
Carl Eugen Hoyos 53e3bc3024 Add dependencies for the aac encoding fate tests. 2013-03-08 02:44:07 +01:00
Carl Eugen Hoyos de4811e910 Force using a 64bit intermediate when calculating calendar time with av_timegm().
Fixes a fate failure with icc 13.1
2013-03-08 02:42:33 +01:00
Alexander Kojevnikov d30ee5ef59 mpegaudio_parser: Don't ignore information from the first frame
Signed-off-by: Alexander Kojevnikov <alexander@kojevnikov.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-07 23:07:04 +01:00
Michael Niedermayer 60dbf2eff9 aacdec: Reconfigure output as needed, disable pop_output_configuration()
Fixes Ticket1694

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-07 19:50:31 +01:00
Michael Niedermayer fee5da6b0a psymodel: dont apply lowpass filters with a cutoff close to the nyquist
The IIR filter numerically diverges in such cases, this could easily be
fixed but would make the filter slower on some platforms

Fixes Ticket2246

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-07 19:28:30 +01:00
Martin Storsjö 4be368b504 avstring: Fix isxdigit to not accept non-hex characters
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-07 16:46:46 +02:00
Diego Biurrun 870add0de9 configure: Add missing videodsp dependencies to some decoders 2013-03-07 15:36:56 +01:00
Diego Biurrun dbd2a34ba5 build: cosmetics: Group hw accelerator Makefile entries together 2013-03-07 15:36:21 +01:00
Diego Biurrun bcd0a7137e configure: Add missing h264chroma dependencies to vp5, vp6 2013-03-07 15:33:41 +01:00
Martin Storsjö d88738e403 mpegvideo: Conditionally build error_resilience bits
This breaks the dependency of mpegvideo on error_resilience allowing
compilation of components that depend on the former w/o the latter.
2013-03-07 15:04:49 +01:00
Diego Biurrun 06b54e8425 build: Fix error_resilience code dependencies 2013-03-07 15:04:49 +01:00
Diego Biurrun 5f401b7b71 Add missing error_resilience includes to files that use ER 2013-03-07 15:04:49 +01:00
Reimar Döffinger efa7f42020 Use the avstring.h locale-independent character type functions
Make sure the behavior does not change with the locale.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-07 15:16:36 +02:00
Reimar Döffinger 12c5c1d3e3 avstring: Add locale independent versions of some ctype.h functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-07 15:16:26 +02:00
Michael Niedermayer cada996528 avformat: Fix apics with aac
Fixes Ticket2318

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-07 13:55:43 +01:00
Michael Niedermayer a12a618aa9 hls: fix timebase
Fixes Ticket1733

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-07 13:42:12 +01:00
Michael Niedermayer 8cc5481d51 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: Deprecate the deinterlace functions in libavcodec
  h264: Integrate draw_horiz_band into ff_h264_draw_horiz_band

Conflicts:
	configure
	ffmpeg_opt.c
	libavcodec/avcodec.h
	libavcodec/h264.c
	libavcodec/imgconvert.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-07 11:50:17 +01:00
Michael Niedermayer 47f1af47b6 Merge commit '70762508ec5919474edb92a5b1f266fd06640f9c'
* commit '70762508ec5919474edb92a5b1f266fd06640f9c':
  lavc: Prettify printing of codec tags containing non alphanumeric characters
  h264: Rename the jpeg_420 pixfmt list to match the common naming structure

Conflicts:
	libavcodec/h264.c
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-07 11:29:11 +01:00
Ronald S. Bultje 54b298fe56 lavc: Deprecate the deinterlace functions in libavcodec
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-07 09:35:24 +02:00
Ronald S. Bultje 64e4386974 h264: Integrate draw_horiz_band into ff_h264_draw_horiz_band
This makes the decoder independent of mpegvideo.

This copy of the draw_horiz_band code is simplified compared to
the "generic" mpegvideo one which still has a number of special
cases for different codecs.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-07 09:31:44 +02:00
Stefano Sabatini 70762508ec lavc: Prettify printing of codec tags containing non alphanumeric characters
Make av_get_codec_tag_string() show codec tag string characters in a more
intelligible ways. For example the ascii char "@" is used as a number, so
should be displayed like "[64]" rather than as a printable character.

Apart alphanumeric chars, only the characters ' ' and '.' are used
literally in codec tags, all the other characters represent numbers.

This also avoids relying on locale-dependent character class functions.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-07 08:50:29 +02:00
Martin Storsjö d65522e826 h264: Rename the jpeg_420 pixfmt list to match the common naming structure
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-07 08:40:04 +02:00
Bojan Zivkovic 1f5b5b8062 libavcodec: changed mathematical functions in aacpsy.c
This patch changes existing mathematical functions with faster
ones. Speeds up encoding more than 10%. Tested on x86 and
MIPS platforms.

Signed-off-by: Bojan Zivkovic <bojan@mips.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-07 03:23:33 +01:00
Stefano Sabatini d95143ec82 lavf/segment: add support to ffconcat segment list 2013-03-07 01:44:59 +01:00
Stefano Sabatini 9167db3829 doc/texi2pod: fix @ref substitution rule, disallow "}" within the fields
Fix potential spurious substitution.
2013-03-07 01:44:59 +01:00
Stefano Sabatini 9767ec6b86 lavu: add escape API
The escape API will be useful to perform escaping programmatically, which
is required when crafting argument strings, and will be used for context
printing as well.

This is based on the ffescape tool code, with a few extensions and fixes.
2013-03-07 01:12:04 +01:00
Michael Niedermayer 38d40ac18a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: Make sure the encoder exists before inspecting supported_list

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-07 00:28:15 +01:00
Michael Niedermayer fa3a7b55ec Merge commit '5da51284937649a8ebb84fa951c235438fcbf8ae'
* commit '5da51284937649a8ebb84fa951c235438fcbf8ae':
  cavs: Add a dependency on h264chroma
  lavc: Split out ff_hwaccel_pixfmt_list_420[] over individual codecs

Conflicts:
	libavcodec/h263dec.c
	libavcodec/h264.c
	libavcodec/mpeg12.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-07 00:18:22 +01:00
Michael Niedermayer ff9b607489 Merge commit '5a4e9fe855282a99586050a507d0a486ad39df5b'
* commit '5a4e9fe855282a99586050a507d0a486ad39df5b':
  avcodec/internal: Fix #if DECODE_AUDIO / ENCODE_AUDIO name mismatch
  shorten: use the unsigned type where needed

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-07 00:01:32 +01:00
Michael Niedermayer 90f8b2ce48 Merge commit '4c364eb2b856fc33cf7b42f7c7b979e69fde5f3a'
* commit '4c364eb2b856fc33cf7b42f7c7b979e69fde5f3a':
  shorten: report meaningful errors

Conflicts:
	libavcodec/shorten.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-06 23:47:10 +01:00
Michael Niedermayer 09131ebb56 Merge commit 'a2ad554def214d2d03b7c16f68dc081a8622f9ca'
* commit 'a2ad554def214d2d03b7c16f68dc081a8622f9ca':
  shorten: K&R formatting cosmetics

Conflicts:
	libavcodec/shorten.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-06 23:39:52 +01:00
Michael Niedermayer be493ca2a8 Merge commit 'c10da30d8426a1f681d99a780b6e311f7fb4e5c5'
* commit 'c10da30d8426a1f681d99a780b6e311f7fb4e5c5':
  shorten: set invalid channels count to 0
  vorbisdec: check memory allocations
  h264: check for luma and chroma bit dept being equal

Conflicts:
	libavcodec/shorten.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-06 23:27:09 +01:00
James Zern bcaf64b605 normalize calls to ff_alloc_packet2
- check ret < 0
- remove excessive error log

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-06 22:11:46 +01:00
Martin Storsjö e760e1d408 avconv: Make sure the encoder exists before inspecting supported_list
This fixes crashes when there is no encoder for the default codec of
selected format.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-06 21:56:10 +02:00
Carl Eugen Hoyos 5da5128493 cavs: Add a dependency on h264chroma
This fixes standalone building of this decoder.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-06 21:55:51 +02:00
Ronald S. Bultje 8d061989dd lavc: Split out ff_hwaccel_pixfmt_list_420[] over individual codecs
Not all hwaccels implement all codecs, so using one single list for
multiple such codecs means some codecs will be represented in the list,
even though they don't actually handle that codec. Copying specific
lists in each codec fixes that.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-06 21:18:50 +02:00
Ronald S. Bultje c257fe1fde Move ff_cropTbl and ff_zigzag_direct from dsputil to mathtables.
These are widely used throughout libavcodec, nothing dsputil-specific.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-06 19:28:11 +01:00
Michael Niedermayer a3e0fc9803 snowenc: fix indention
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-06 19:28:11 +01:00
Michael Niedermayer 70a2a4934a snowenc: add forgotten emms_c()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-06 19:28:11 +01:00
Nicolas George 87a954d6f4 lavf/concat: document the use of the files durations.
Address trac ticket #2319.
2013-03-06 16:58:38 +01:00
Diego Biurrun 5a4e9fe855 avcodec/internal: Fix #if DECODE_AUDIO / ENCODE_AUDIO name mismatch 2013-03-06 16:48:03 +01:00
Michael Niedermayer 188c082477 snowenc: initialize edges
This fixes a regression caused by changes to the buffer initialization code.
Fixes valgrind warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-06 16:35:47 +01:00
Michael Niedermayer 2dd2ee96eb vc1dec: use av_log_ask_for_sample for odd sprites
Suggested-by: Reimar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-06 13:51:18 +01:00
Paul B Mahol 037adf589a libilbc: use ff_alloc_packet2
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-06 10:52:28 +00:00
James Zern 1811f1d840 libopusenc: use ff_alloc_packet2
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-06 10:31:56 +00:00
Michael Niedermayer baf10ad186 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  hwaccel: consistent name prefixes for start_frame/end_frame/decode_slice

Conflicts:
	libavcodec/vda_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-06 10:34:14 +01:00
Michael Niedermayer 28adecf0fa Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Move the iconv test to the bottom of configure.
  Make 32bit zmbv colour-space opaque.
  Use uint8_t instead of uint16_t pointer in kega decoder.
  kgv1dec: Simplify kega decoding by using memcpy instead of loops

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-06 05:37:14 +01:00
Michael Niedermayer a3541896c6 qdm2: check "AC" codewords
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-06 05:04:39 +01:00
Michael Niedermayer 5c8ffbaa7f qdm2: simplify arithmetic coder tables generation
Someone should rename the variables, theres nothing random in there

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-06 04:56:33 +01:00
Michael Niedermayer bb01be8046 rv20: Fix handling of frame skip.
Fixes division by zero

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-06 04:06:45 +01:00
Michael Niedermayer 7bab631f7d mss2dsp/upsample_plane: fix 0x0 handling
Fixes invalid memcpy and out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-06 01:38:26 +01:00
Luca Barbato 4c364eb2b8 shorten: report meaningful errors 2013-03-06 01:04:02 +01:00
Luca Barbato a2ad554def shorten: K&R formatting cosmetics 2013-03-06 01:04:02 +01:00
Luca Barbato 5cf7c72757 shorten: use the unsigned type where needed
get_uint returns an unsigned value, use an unsigned to store
blocksize to make sure the comparison logic is correct and report
correctly the error for the channel count not supported.
2013-03-06 01:04:02 +01:00
Michael Niedermayer c10da30d84 shorten: set invalid channels count to 0
Prevent the loop shorten_decode_close from writing and freeing out of
the array boundary.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-06 01:04:01 +01:00
Luca Barbato 02055b6d40 vorbisdec: check memory allocations 2013-03-06 01:04:01 +01:00
Carl Eugen Hoyos 34e7a3d74c Move the iconv test to the bottom of configure.
This fixes a possible mis-detection of iconv on OS X.
OS X with macports often has two version of libiconv.2.dylib
installed, one with symbols like "_iconv_open" and one with
"_libiconv_open", so test for iconv with all flags to make
sure the detection uses the same library as the actual
compilation / linking.

Tested-by: Paul Sturbaum
2013-03-06 00:57:51 +01:00
Carl Eugen Hoyos b45e85ab7e Make 32bit zmbv colour-space opaque. 2013-03-06 00:38:12 +01:00
Carl Eugen Hoyos 96d2e4d61a Use uint8_t instead of uint16_t pointer in kega decoder.
This change allows to remove a few casts and avoids
a potential pointer aliasing violation.
2013-03-06 00:35:08 +01:00
Reimar Döffinger 940b06aeb8 kgv1dec: Simplify kega decoding by using memcpy instead of loops
Fixes decoding errors with icc 13.1

Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-03-06 00:25:18 +01:00
Michael Niedermayer 058e1f8dd7 vc1dec: odd sized sprites are unsupported
It should be easy to add support but without a sample we would
not know if they work.

Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-06 00:09:54 +01:00
Michael Niedermayer d929364814 asfdec: dont truncate type 2-5 values
Fixes use of uninitialized variables and possible out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-05 22:29:57 +01:00
Michael Niedermayer 4c56b79a16 vf_stereo3d: Add AVOption table terminator
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-05 22:29:57 +01:00
Luca Barbato 4987faee78 h264: check for luma and chroma bit dept being equal
The decoder assumes a single bit depth for all the planes
while the specification allows different bit depths for luma
and chroma.

Avoid the possible problems described in CVE-2013-2277

CC: libav-stable@libav.org
2013-03-05 22:18:02 +01:00
Clément Bœsch 34d0ea5247 lavfi/deshake: support named options. 2013-03-05 21:16:54 +01:00
Clément Bœsch c0bfc2b90d doc/filters: make examples a bit more consistent.
Create dedicated subsection and itemize. Not done for every filters, but
a large part is done.
2013-03-05 21:08:19 +01:00
Clément Bœsch 72d2e9437d doc/showspectrum: add some examples. 2013-03-05 20:37:58 +01:00
Stefano Sabatini 8d9509377e lavfi/overlay: improve log message warning in case of clipped overlay 2013-03-05 20:09:50 +01:00
Stefano Sabatini f164228fd7 lavfi/overlay: add support for partial overlaying
Partially rework the iteration logic, in order to limit iteration only
for the clipped overlay region.
2013-03-05 20:09:21 +01:00
Paul B Mahol 1c808943b8 lavfi/mp: drop mp=stereo3d filter
The filter has been natively integrated into libavfilter.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-05 18:45:35 +00:00
Paul B Mahol 3f35f36a2e lavfi: port MP stereo3d filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-05 18:36:40 +00:00
Nicolas George c31458c334 lavf/concat: compute duration if possible. 2013-03-05 16:44:51 +01:00
Nicolas George 9b211c43dc examples/muxing: fix memory leak.
Do not re-call avcodec_get_context_defaults3(), it is already
called by avformat_new_stream() and it leaks the codec
priv_data that was already allocated.

Use avformat_free_context() instead of freeing (not)
everything manually.

Fix trac ticket #2322.
2013-03-05 15:43:32 +01:00
Stefano Sabatini ad48556135 lavu/eval: add native support to lte and lt functions 2013-03-05 15:15:45 +01:00
Nicolas George 622a6f6f3b doc/muxers: specify that tee needs -map.
Address trac ticket #2311.
2013-03-05 14:20:18 +01:00
Nicolas George 3ab25e4574 Revert "lavf/concatdec: define "ffcat" and "ffconcat" extensions"
This reverts commit 6cc12353a8.

Conflicts:
	libavformat/version.h

Allowing to automatically select the concat demuxer raises
security concerns, as it allows a possibly hostile file to
access any file on the system. Guessing the format based on
the file name extension does not allow to enable the safe
mode designed to avoid it.
2013-03-05 14:10:10 +01:00
Stefano Sabatini b1a2684936 lavu/opt: fix weird align 2013-03-05 13:20:14 +01:00
Stefano Sabatini 7b9a3df5d7 lavu/opt-test: do not explicitly set default value in test_ctx
Let av_opt_set_defaults() set the value, which is simpler and more
idiomatic.
2013-03-05 13:20:14 +01:00
Stefano Sabatini aba18c5af9 tests: add overlay rgb and yuv444 tests
Also rename overlay test to overlay_yuv420 accordingly.
2013-03-05 13:20:13 +01:00
Alexander Kojevnikov 29d8cd265a mp3dec: Fix VBR bit rate parsing
When parsing the Xing/Info tag, don't set the bit rate if it's an Info tag.

When parsing the stream, don't override the bit rate if it's already set,
otherwise calculate the mean bit rate from parsed frames. This way, the bit
rate will be set correctly both for CBR and VBR streams.

Signed-off-by: Alexander Kojevnikov <alexander@kojevnikov.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-05 13:06:01 +01:00
Paul B Mahol d2b0b839b9 fate: add dependency for xface
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-05 11:44:58 +00:00
Michael Niedermayer 1567095acf Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Use check_builtin() where appropriate

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-05 12:37:15 +01:00
Michael Niedermayer 1cb3ca2a67 Merge commit '9c7d85b3b45a77742b1e69c48ab33f9c8a2e6f35'
* commit '9c7d85b3b45a77742b1e69c48ab33f9c8a2e6f35':
  configure: Add check_builtin convenience function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-05 12:23:48 +01:00
Michael Niedermayer 890b9c5c46 Merge commit 'f868b24d0f280bb966e5c352028a343e45d20a02'
* commit 'f868b24d0f280bb966e5c352028a343e45d20a02':
  configure: Add sanitize_var_name convenience function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-05 12:17:15 +01:00
Michael Niedermayer 06ad309ab4 Merge commit '813b82b927b19532e3bc3397b972c8a27b9f6326'
* commit '813b82b927b19532e3bc3397b972c8a27b9f6326':
  configure: Fix silly typo in logging command of check_struct()
  fate: remove last incomplete frame from mpeg2-field-enc test

Conflicts:
	tests/fate/video.mak
	tests/ref/fate/mpeg2-field-enc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-05 12:11:48 +01:00
Paul B Mahol d7f9f34dc6 zmbv: stop doing colorspace conversion
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-05 10:27:09 +00:00
Diego Biurrun c57a593670 hwaccel: consistent name prefixes for start_frame/end_frame/decode_slice
Some hwaccels use name prefixes, some do not, others only use them for
some codecs.  Add prefixes everywhere for consistency.
2013-03-05 11:22:45 +01:00
Paul B Mahol f5ce359ce4 doc/filters: fix short options for noise filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-05 10:18:21 +00:00
Diego Biurrun 2a7ab2dfaa configure: Use check_builtin() where appropriate 2013-03-05 11:04:37 +01:00
Diego Biurrun 9c7d85b3b4 configure: Add check_builtin convenience function 2013-03-05 11:04:37 +01:00
Diego Biurrun f868b24d0f configure: Add sanitize_var_name convenience function
This is useful in all the places where special characters in
variable names are manually translated to underscores.
2013-03-05 11:04:37 +01:00
Diego Biurrun 813b82b927 configure: Fix silly typo in logging command of check_struct() 2013-03-05 11:04:37 +01:00
Michael Niedermayer 715c230811 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Add h264chroma dependency for mpegvideo / lowres to configure.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-05 04:25:01 +01:00
Michael Niedermayer e398990eb8 msrledec: fix output_end checks
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-05 03:29:04 +01:00
Michael Niedermayer 3dbc0ff9c3 iff: fix integer overflow
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-05 01:39:50 +01:00
Carl Eugen Hoyos d043461344 Add h264chroma dependency for mpegvideo / lowres to configure.
Fix building for some unusual configurations.
2013-03-05 01:07:12 +01:00
Michael Niedermayer 7992bdbeb4 update_stream_timings: check bitrate for being in range.
Fixes numerical overflow
Fixes Ticket2089

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-04 18:54:00 +01:00
Michael Niedermayer dae38a66eb dnxhddec: return the correct number of bytes from decode_frame
Fixes Ticket2022

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-04 18:17:47 +01:00
Michael Niedermayer faa0068a87 avformat: Make duration estimation from pts more robust
Ignore durations which differ significantly from the previous
Fixes Ticket2018

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-04 18:01:32 +01:00
Michael Niedermayer 9bb54bb685 nutdec: more specific return codes for decode_syncpoint()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-04 16:51:21 +01:00
Michael Niedermayer 7ccc0ed6a0 nutdec: print error on invalid/unsupported fourcc style
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-04 16:49:17 +01:00
Michael Niedermayer 144da7eeca Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  buildsys: only include log2_tab per library for shared builds
  Add h264chroma dependency for cavs decoder to configure.
  Add h264qpel dependency for snow codec to configure.
  Add h264chroma dependency for vp5 and vp6 decoder to configure.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-04 14:45:52 +01:00
Clément Bœsch 53ca0cb8d4 build: [autodetect] -> [no] in iconv help. 2013-03-04 13:12:45 +01:00
Michael Niedermayer 03148fd174 buildsys: only include log2_tab per library for shared builds
Fix linking failures with -all_load due to multiple log2_tabs

Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-03-04 12:25:02 +01:00
Carl Eugen Hoyos 523b12affc Add h264chroma dependency for cavs decoder to configure.
Fix building for some unusual configurations.
2013-03-04 11:43:55 +01:00
Carl Eugen Hoyos 9051e297d2 Add h264qpel dependency for snow codec to configure.
Fix building for some unusual configurations.
2013-03-04 11:43:09 +01:00
Carl Eugen Hoyos 2b09078a61 Add h264chroma dependency for vp5 and vp6 decoder to configure.
Fix building for some unusual configurations.
2013-03-04 11:39:44 +01:00
Janne Grunau 15ea1ac695 fate: remove last incomplete frame from mpeg2-field-enc test 2013-03-04 11:22:21 +01:00
Clément Bœsch 393dcbf079 compat/strtod: isspace -> av_isspace.
This should fix build after 88d55b8.
2013-03-04 03:37:36 +01:00
Clément Bœsch 9ad3cd5b5f build: disable iconv by default.
It seems to break a lot on MacOS because of a mixup between multiple
iconv libraries. The issue is that the configure check link with no
particular library path (so it uses /usr/lib/libiconv.dylib where all
the symbols are defined). OTOH, the final build might link with extra
library paths, such as the ports lib directory (typically you get
-L/opt/local/lib because of an extra library such as SDL). Whatever this
option position (before or after -liconv), it will try to link with
/opt/local/lib/libiconv.dylib, and the issue is that this version has
the same symbols as the ones in /usr/lib/libiconv.dylib except that they
all start with 'lib' (libiconv_open, libiconv_close, ...). I don't plan
to try to workaround this mess, so any better solution is welcome.
2013-03-03 23:50:31 +01:00
Clément Bœsch 16ed6a6bf7 doc/filters: fix degrees/radians copy/paste fail. 2013-03-03 23:49:46 +01:00
Michael Niedermayer e2427f04b7 ffmpeg_opt: Ask for overwrite in single image2 files too
Fixes Ticket1637

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-03 22:09:01 +01:00
Clément Bœsch 14e240cb4a lavfi/opencv: isgraph -> av_isgraph.
Fix build after 88d55b8.
2013-03-03 22:06:48 +01:00
Reimar Döffinger 88d55b827d Remove incorrect use of ctype.h functions.
As far as I can tell the code should not change behaviour
depending on locale in any of these places.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-03-03 21:44:10 +01:00
Ronald S. Bultje 2cffe38df3 Deprecate deinterlaced in libavcodec.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-03 21:11:48 +01:00
Michael Niedermayer 9af8179cdb ffmpeg: fix -stats -v 0
Fixes Ticket1687

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-03 19:38:13 +01:00
Michael Niedermayer f2cb993139 avformat: gather aspect ratio from rv30/40 in find_stream_info
Fixes Ticket1550

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-03 18:41:16 +01:00
Michael Niedermayer d210e9741e rv34: fix aspect ratio
Fixes part of Ticket1550

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-03 18:40:57 +01:00
Michael Niedermayer 6c6dc8ccea wmadec: check nb_frames
Improves error message for Ticket968

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-03 16:50:47 +01:00
Michael Niedermayer 3fac99cd9d Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  movenc: Do not flag secondary audio and subtitle tracks as enabled.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-03 14:05:09 +01:00
Ronald S. Bultje d98aa7cdc1 h264: put call to ff_print_debug_info2 under CONFIG_MPEGVIDEO.
The code is located in mpegvideo, and it's likely that in a minimal
config, we don't want to include debug info anyway.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-03 12:19:29 +01:00
Ronald S. Bultje d4e649cca6 h264: make it possible to compile without error_resilience.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-03 12:19:15 +01:00
Michael Niedermayer 981cf0c300 movenc: Do not flag secondary audio and subtitle tracks as enabled.
Fixes ticket #468 and ticket #1174.

Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-03-03 12:09:38 +01:00
Michael Niedermayer fd464d4d01 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtpdec: Initialize some variables to silence compiler warnings

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-03 11:40:37 +01:00
Ronald S. Bultje 454c5d10b2 h264: add a copy of draw_horiz_band.
This makes the decoder independent of mpegvideo.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-03 00:45:45 +01:00
Michael Niedermayer 4f0d4acc70 libxvid: cleanup on error pathes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-02 20:39:38 +01:00
Michael Niedermayer 667bf15652 libxvid: check & clear encoder_handle
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-02 20:32:21 +01:00
Michael Niedermayer 8fe59240a1 libxvid: use av_freep() for saftey
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-02 20:31:07 +01:00
Michael Niedermayer 6a8f6c773d libxvid: remove temporary files at the end
Fixes Ticket924

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-02 20:30:28 +01:00
Martin Storsjö 8fbab7a6c8 rtpdec: Initialize some variables to silence compiler warnings
The warnings are false positives, older gcc versions (such as 4.5)
think the variables can be used uninitialized while they in
practice can't, while newer (4.6) gets it right.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-02 21:23:52 +02:00
Michael Niedermayer 03bc7a004e mjpegdec: fix endiansoup
Fixes Ticket2175

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-02 19:12:06 +01:00
Carl Eugen Hoyos 6091a8d92d Avoid huge memory allocations from asf demuxer.
Fixes ticket #1888.
2013-03-02 18:37:55 +01:00
James Almer 1d5b35cc07 lavc/flacdec: Add frame CRC calculation
Fixes ticket #2266

Signed-off-by: James Almer <jamrial@gmail.com>
2013-03-02 17:22:18 +00:00
Michael Niedermayer 4ae74c6312 ffmpeg: print maxrss "-benchmark" data even on errors
Fixes Ticket2297

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-02 16:04:49 +01:00
Michael Niedermayer 5167bb2e8e er: Fix slice threading check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-02 14:28:20 +01:00
Michael Niedermayer 547042a8cd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: set ref_count to 0 for intra slices.

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-02 12:10:52 +01:00
Michael Niedermayer 2d2e6db7cf Merge commit '668e16a0dd1ff56d4beeff5c658d8a2a08dbfac8'
* commit '668e16a0dd1ff56d4beeff5c658d8a2a08dbfac8':
  h264: on reference overflow, reset the reference count to 0, not 1.

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-02 11:53:19 +01:00
Michael Niedermayer ec203cd69b Merge commit 'e671d3ad6cd7fe1d02e9b35b889a25d8c059fce9'
* commit 'e671d3ad6cd7fe1d02e9b35b889a25d8c059fce9':
  h264: do not copy ref count/ref2frm when updating per-frame context
  flvdec: Check the return value of a malloc

Conflicts:
	libavformat/flvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-02 11:41:31 +01:00
Michael Niedermayer 973dc110ba Merge commit 'c91c63b5380bf79655c09320774a022f84d76fd5'
* commit 'c91c63b5380bf79655c09320774a022f84d76fd5':
  flvdec: Don't read the VP6 header byte when setting codec type based on metadata

Conflicts:
	libavformat/flvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-02 11:27:58 +01:00
Anton Khirnov 437211ae73 h264: set ref_count to 0 for intra slices.
CC:libav-stable@libav.org
2013-03-02 10:27:13 +01:00
Anton Khirnov 668e16a0dd h264: on reference overflow, reset the reference count to 0, not 1.
Since decode_slice_header() returns before the reference lists are
constructed, there are zero valid references.

CC:libav-stable@libav.org
2013-03-02 10:27:03 +01:00
Anton Khirnov e671d3ad6c h264: do not copy ref count/ref2frm when updating per-frame context
They are filled in decode_slice_header() anyway.
2013-03-02 10:26:50 +01:00
Michael Niedermayer 3827734591 v4l2: fix regression that caused ffmpeg to occasionally get stuck
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-02 01:55:08 +01:00
Giorgio Vazzana 0d66268e15 lavd/v4l2: copy frames into normally allocated packets whenever there is just one buffer left available
This will avoid the possibility that we dequeue more buffers than we
have obtained from the v4l2 driver.

Fixes ticket #1570

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-02 00:50:17 +01:00
Martin Storsjö c5a738ca4e flvdec: Check the return value of a malloc
The callers of this function can't report errors sanely. If this
one malloc fails, don't write the extradata byte, make sure we
try to malloc it the next time we're called instead, and make sure
we still consume the input data byte.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-02 00:39:37 +02:00
Martin Storsjö c91c63b538 flvdec: Don't read the VP6 header byte when setting codec type based on metadata
This header byte is only present when actually reading a VP6 frame,
not when reading the codec type field in the metadata. This
potential bug has been present since 5b54a90c.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-02 00:39:36 +02:00
Michael Niedermayer ec1d2e2fb0 ffplay: use AVFrame accessor functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 23:22:08 +01:00
Michael Niedermayer cc38ca6748 avcodec/utils: use AVFrame accessor functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 23:18:23 +01:00
Michael Niedermayer 30806ddcbc avcodec/rawdec: use AVFrame accessor functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 23:18:22 +01:00
Michael Niedermayer f59ff8faa2 pngdec: use AVFrame accessor functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 23:18:22 +01:00
Michael Niedermayer ff080346c6 gifdec: use AVFrame accessor functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 23:18:22 +01:00
Michael Niedermayer 7d7fb70129 cpia: use AVFrame accessor functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 23:18:22 +01:00
Michael Niedermayer f232659130 tiff: use AVFrame accessor functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 23:18:22 +01:00
Michael Niedermayer e0f716a9d9 ac3dec: use AVFrame accessor functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 23:18:22 +01:00
Michael Niedermayer 3ded235f59 ffprobe: use AVFrame accessor functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 23:18:22 +01:00
Michael Niedermayer 5ade6bfb03 doc/examples/demuxing: use AVFrame accessor functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 22:40:50 +01:00
Michael Niedermayer bf90ef0314 avcodec: add ff_frame_get_metadatap()
This is needed for av_dict_*

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 22:40:50 +01:00
Paul B Mahol 5b802cf567 lavc/codec_desc: add/fix .props for SGI/DPX/X-face/BRender PIX image
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-01 15:22:02 +00:00
Joseph Artsimovich 4a6bd34637 Handle an invalid extra mpeg2 picture header following a frame-encoded picture.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 16:04:31 +01:00
Paul B Mahol 6c7d1608dd sgidec: use unchecked bytestream2 functions where it makes sense
Overreads can not happen as header size of 512 bytes is required.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-01 14:59:33 +00:00
Rob Sykes dc666d360b soxr: libsoxr 0.1.1 support
Libsoxr 0.1.1 will be out very soon; no changes planned beyond what's currently in git.
It includes a couple of fixes (not affecting FFmpeg's current usage) and a minor API change (but remains ABI compatible).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 14:38:02 +01:00
Paul B Mahol 5a232e5078 exr: use bytestream functions in pxr24_uncompress()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-01 13:16:29 +00:00
Michael Niedermayer 4b335e73da Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lls: Do not return from void functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 13:50:19 +01:00
Michael Niedermayer 7da1b235e8 Merge commit '4da950c0ae224b9b8ef952dadf614be2c050023e'
* commit '4da950c0ae224b9b8ef952dadf614be2c050023e':
  lls: #ifndef --> #if in FF_API_ version guard

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 13:44:46 +01:00
Michael Niedermayer 1a7166a58d Merge commit 'e8c52271c45ec27d783e74238dcfad0c2008731c'
* commit 'e8c52271c45ec27d783e74238dcfad0c2008731c':
  Revert "Move H264/QPEL specific asm from dsputil.asm to h264_qpel_*.asm."

Conflicts:
	libavcodec/x86/dsputil.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 13:39:47 +01:00
Michael Niedermayer 28bb17ca36 Merge commit '399663be9d4a839b894c48a21b62926eb8497d72'
* commit '399663be9d4a839b894c48a21b62926eb8497d72':
  lls: mark max_order as unsigned short

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 13:32:16 +01:00
Michael Niedermayer 76f8d3c8d9 Merge commit '9d4da474f5f40b019cb4cb931c8499deee586174'
* commit '9d4da474f5f40b019cb4cb931c8499deee586174':
  lls: move to the private namespace

Conflicts:
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 13:19:00 +01:00
Michael Niedermayer fb4b160756 Merge commit '7ac6d2423e9bf0f40c67be9a0ca7600b516b0282'
* commit '7ac6d2423e9bf0f40c67be9a0ca7600b516b0282':
  lls: K&R formatting cosmetics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 13:03:03 +01:00
Michael Niedermayer 41401773d3 Merge commit 'df0229a7caa124dcfb84c34b48d316744c467311'
* commit 'df0229a7caa124dcfb84c34b48d316744c467311':
  avconv: Apply codec options to streams that are copied as well

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 12:57:17 +01:00
Michael Niedermayer 46f4b468e2 Merge commit 'cb6f8245aed2c26fe95c30cd68c45983277a945a'
* commit 'cb6f8245aed2c26fe95c30cd68c45983277a945a':
  cmdutils: Allow calling filter_codec_opts without a set encoder
  pnm: Use av_pix_fmt_desc_get instead of accessing the array directly

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 12:48:55 +01:00
Diego Biurrun 0b31129389 lls: Do not return from void functions 2013-03-01 01:44:35 +01:00
Diego Biurrun 4da950c0ae lls: #ifndef --> #if in FF_API_ version guard 2013-03-01 01:44:35 +01:00
Michael Niedermayer e20f2dc048 ffmpeg: fix variable name in psnr printing code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 00:25:03 +01:00
Michael Niedermayer 1d178710b4 libvpxenc: dont redundantly zero fields, the whole context is zeroed on init
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 00:11:53 +01:00
Pascal Massimino 3c3a8c1489 libvpxenc: add psnr support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-28 23:29:53 +01:00
Diego Biurrun e8c52271c4 Revert "Move H264/QPEL specific asm from dsputil.asm to h264_qpel_*.asm."
This reverts commit f90ff772e7.

The code should be put back in h264_qpel_8bit.asm, but unfortunately
it is unconditionally used from dsputil_mmx.c since 71155d7.
2013-02-28 21:50:02 +01:00
Michael Niedermayer b56e029bdc avformat/lavfi: force probesize to cover at least 30 frames
This ensures that fps and other values are estimated correctly,
the probesize also is intended to limit disk/protocol reads which
does not apply to lavfi inputs at all.

Fixes Ticket1051

Something similar could be usefull to other input devices

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-28 20:28:59 +01:00
Paul B Mahol 33240dfa9a exr: pxr24 decompression
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-28 18:38:15 +00:00
Paul B Mahol 9f3c90a366 exr: fix error message when pixel type is not set
This only happens with missing chlist attribute from header.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-28 18:38:15 +00:00
Paul B Mahol 4751c6c270 exr: s/bits_per_color_id/pixel_type
Previous naming was misleading.

Also fix wrong message about missing
support for 32-bit unsigned int pixel type.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-28 18:38:15 +00:00
Paul B Mahol a71926a548 exr: track channels properties
Needed for proper decoding of channels with subsampling
and also for remaining compression methods.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-28 18:38:14 +00:00
Nicolas George d9fad53f4b lavf/avio: check for : in filenames for protocols.
If the first "special" character in a filename is a comma,
it can introduce protocol options, but only if there is a
colon at the end. Otherwise, it is just a filename with a
comma.

Fix trac ticket #2303.
2013-02-28 19:30:56 +01:00
Nicolas George 3d2adeb6f8 lavfi/af_aresample: fix info log for unknown layouts. 2013-02-28 19:23:12 +01:00
Nicolas George 2bd104c72a lavfi/af_aresample: fix layout consistency check.
If the channel layout is unknown, lswr will internally use
the default one for the corresponding number of channels.
2013-02-28 19:23:12 +01:00
Nicolas George 89f9f69e3f lavf: rescale duration for chained muxers.
Fix trac ticket #2300 because the duration of the segments
was computed using the timestamp of the last packet plus its
duration using the 1/90000 default time base instead of using
the chained muxer time base.
2013-02-28 19:20:25 +01:00
Nicolas George bf63a474ca lavc/exr: use size_t instead of int for sizes.
Fix a segfault on 64-bits archs.
2013-02-28 19:13:58 +01:00
Michael Niedermayer c4735eef03 loco: silence warning: decoded may be used uninitialized in this function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-28 18:10:49 +01:00
Luca Barbato 399663be9d lls: mark max_order as unsigned short
The value is within 0 and 32.

Remove an `array subscript is below array bounds` warning.
2013-02-28 17:39:24 +01:00
Luca Barbato 9d4da474f5 lls: move to the private namespace
The functions are private.
2013-02-28 17:39:24 +01:00
Luca Barbato 7ac6d2423e lls: K&R formatting cosmetics 2013-02-28 17:39:24 +01:00
Martin Storsjö df0229a7ca avconv: Apply codec options to streams that are copied as well
This allows setting/overriding e.g. the bitrate parameter, which
is required for the smoothstreaming muxer. Normally, the bitrate
is set by the demuxer in these cases, but not all demuxers can
provide it. This allows stream copy of data to the smoothstreaming
muxer from such inputs.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-28 18:30:42 +02:00
Martin Storsjö cb6f8245ae cmdutils: Allow calling filter_codec_opts without a set encoder
In this case, no encoder specific options are filtered, only
options specific to that codec type in general.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-28 18:30:40 +02:00
Martin Storsjö 86611ff123 pnm: Use av_pix_fmt_desc_get instead of accessing the array directly
This fixes boken fate tests with MSVC with DLLs, broken since
b5f536d24.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-28 18:29:03 +02:00
Michael Niedermayer 03678a32bc Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavf: Add a fate test for the noproxy pattern matching
  lavf: Handle the environment variable no_proxy more properly

Conflicts:
	libavformat/Makefile
	libavformat/internal.h
	libavformat/tls.c
	libavformat/utils.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-28 13:13:04 +01:00
Michael Niedermayer 085bd039bb Merge commit 'e2c272eb3660d7f4f1d7720980e30f6a617e7eb3'
* commit 'e2c272eb3660d7f4f1d7720980e30f6a617e7eb3':
  LICENSE: Move (L)GPLv3 explanation block to a more suitable place
  swscale: Add support for unscaled 8-bit Packed RGB -> Planar RGB

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-28 12:49:25 +01:00
Carl Eugen Hoyos a791b62f5f Improve dump_attachment documentation.
Fixes ticket #2299
2013-02-28 08:57:10 +01:00
Michael Niedermayer e54a1bdc21 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: do not cycle through unavailable show modes
  ffplay: add option to disable subtitling
  ffplay: use NAN to signal invalid external clock
  ffplay: if audio or video clock is invalid return NAN
  ffplay: allow frame dropping if we redisplay an already displayed frame
  ffplay: return true for pictq_prev_picture if it was successful
  ffplay: only quit from audio_decode_frame before decoding when paused
  ffplay: drop remaining frames in current audio avpacket when seeking
  ffplay: signal seek event to read thread

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-28 01:47:34 +01:00
Michael Niedermayer 1c6477f30f Revert "lavf/utils: add support for special characters encoding in URL"
This reverts commit 4a8fc1d83b.

The commit caused null pointer derefernces when using udp://
after i fixed that it caused ffmpeg to get stuck and remapped
arguments like ?ttl=255 -> ?ttl%3d255

I dont want to leave this broken thus temporary revert so we all
have some time to look at this without half the network protocols
being broken in the meantime
2013-02-28 01:29:12 +01:00
Clément Bœsch 7b2d50f81e build: make iconv build configurable. 2013-02-28 01:23:24 +01:00
Senthilnathan M 4a8fc1d83b lavf/utils: add support for special characters encoding in URL
In particular, fix trac ticket #2031.

Signed-off-by: Senthilnathan M <senthilnathan.maadasamy@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-02-28 00:39:17 +01:00
Stefano Sabatini 6cc12353a8 lavf/concatdec: define "ffcat" and "ffconcat" extensions 2013-02-28 00:16:33 +01:00
Marton Balint ac37d21f49 ffplay: do not cycle through unavailable show modes
Fixes ticket #2200.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:13 +01:00
Marton Balint d0c6ed7da0 ffplay: add option to disable subtitling
Fixes ticket #2201.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:13 +01:00
Marton Balint daece4c674 ffplay: use NAN to signal invalid external clock
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:12 +01:00
Marton Balint 26c208cf0f ffplay: if audio or video clock is invalid return NAN
This helps us not to make bad decision (frame dropping, audio compensation)
right after seeking when we do not know yet the recent audio or video clock.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:12 +01:00
Marton Balint 38f649662c ffplay: allow frame dropping if we redisplay an already displayed frame
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:12 +01:00
Marton Balint 36dc476f83 ffplay: return true for pictq_prev_picture if it was successful
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:12 +01:00
Marton Balint 3070600d9b ffplay: only quit from audio_decode_frame before decoding when paused
This way the audio clock is updated to a proper value even when the video is
paused.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:12 +01:00
Marton Balint 48e43a1999 ffplay: drop remaining frames in current audio avpacket when seeking
Fixes ticket #1928.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:12 +01:00
Marton Balint 4be7d578a3 ffplay: signal seek event to read thread
Improves seek delay.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-27 21:34:12 +01:00
Clément Bœsch 2ecf564f94 build: fix iconv detection on some systems.
This at least fix the build on CentOS.
2013-02-27 21:00:38 +01:00
Martin Storsjö 5c8696555a lavf: Add a fate test for the noproxy pattern matching
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-27 21:32:14 +02:00
Martin Storsjö de9cd1b173 lavf: Handle the environment variable no_proxy more properly
The handling of the environment variable no_proxy, present since
one of the initial commits (de6d9b6404), is inconsistent with
how many other applications and libraries interpret this
variable. Its bare presence does not indicate that the use of
proxies should be skipped, but it is some sort of pattern for
hosts that does not need using a proxy (e.g. for a local network).

As investigated by Rudolf Polzer, different libraries handle this
in different ways, some supporting IP address masks, some supporting
arbitrary globbing using *, some just checking that the pattern matches
the end of the hostname without regard for whether it actually is
the right domain or a domain that ends in the same string.

This simple logic should be pretty similar to the logic used by
lynx and curl.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-27 21:32:13 +02:00
Diego Biurrun e2c272eb36 LICENSE: Move (L)GPLv3 explanation block to a more suitable place 2013-02-27 19:51:10 +01:00
Nicolas George 13811b19d6 lavc/libopusenc: report an error if global_quality is set. 2013-02-27 19:01:34 +01:00
Nicolas George f102c24d90 ffmpeg: free last sub when using -fix_sub_duration.
Fix trac ticket #2242.

Note: under valid circumstances, when using -fix_sub_duration,
the last subtitle is a dummy termination packet, with no
allocated memory.
2013-02-27 18:57:33 +01:00
Michael Niedermayer 1fd04cac00 Merge remote-tracking branch 'fredjean/master'
* fredjean/master:
  Include fix for building ismindex under MinGW

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-27 18:26:16 +01:00
Frederic Jean c53e8d9029 Include fix for building ismindex under MinGW
Include cmdutils.h so we can build under windows. 

Based on fix for https://ffmpeg.org/trac/ffmpeg/ticket/256
2013-02-27 10:13:09 -07:00
Paul B Mahol 9774145fe5 exr: simplify decompression path
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-27 16:28:32 +00:00
Michael Niedermayer 5c924c9b7d dv: Correctly identify CDVC profile
Fixes Ticket2177

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-27 17:19:51 +01:00
Michael Niedermayer 21c2e201f6 vf_lut: correct color/comp permutation
Fixes Ticket2225

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-27 17:09:21 +01:00
Derek Buitenhuis c87c2d0d02 swscale: Add support for unscaled 8-bit Packed RGB -> Planar RGB
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-02-27 09:51:43 -05:00
Derek Buitenhuis 57c4c25596 swscale: Add support for unscaled 8-bit Packed RGB -> Planar RGB
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-02-27 09:46:39 -05:00
Michael Niedermayer 50c2738883 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: dsputil: Drop some unused function #defines

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-27 12:35:18 +01:00
Michael Niedermayer cdb9752a0f Merge commit '845cfc92f908791714b8c4c8a49c91b8c64b685e'
* commit '845cfc92f908791714b8c4c8a49c91b8c64b685e':
  x86: dsputil: Drop aliasing of ff_put_pixels8_mmx to ff_put_pixels8_mmxext

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Note, the commit message is wrong, there are no mmxext instructions as
claimed in the function. The change should do no harm though

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-27 12:22:10 +01:00
Michael Niedermayer 04ec796bda Merge commit '096cc11ec102701a18951b4f0437d609081ca1dd'
* commit '096cc11ec102701a18951b4f0437d609081ca1dd':
  x86: vc1dsp: Move ff_avg_vc1_mspel_mc00_mmxext out of dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-27 11:59:31 +01:00
Michael Niedermayer f2bbc2ffc3 Merge commit '31a23a0dc663bd42bf593275971b4277a479b73d'
* commit '31a23a0dc663bd42bf593275971b4277a479b73d':
  x86: dsputil_mmx: Remove leftover inline assembly fragments

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-27 11:50:51 +01:00
Michael Niedermayer 5d2f2c7643 oggdec: chained oggs have timestamp discontinuities
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-27 03:46:12 +01:00
Michael Niedermayer 0dcecf45d8 avcodec: mbd has a range of 0..2
Fixes Ticket2219

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-27 03:04:04 +01:00
Michael Niedermayer 1672624ddc mpegvideo_enc: fix gray flag with 444 jpeg
Fixes Ticket2155

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-27 02:56:06 +01:00
Jean First 2d7044683f ffmpeg_opt: add -to option to specify stop time
Signed-off-by: Jean First <jeanfirst@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-27 02:17:42 +01:00
Diego Biurrun ebc701993f x86: dsputil: Drop some unused function #defines 2013-02-26 23:36:24 +01:00
Diego Biurrun 845cfc92f9 x86: dsputil: Drop aliasing of ff_put_pixels8_mmx to ff_put_pixels8_mmxext
The external assembly function uses mmxext instructions and should not be
masqueraded as an mmx-only function. Instead, use the mmx-only inline
assembly function.
2013-02-26 23:36:24 +01:00
Diego Biurrun 096cc11ec1 x86: vc1dsp: Move ff_avg_vc1_mspel_mc00_mmxext out of dsputil_mmx.c 2013-02-26 23:36:24 +01:00
Martin Storsjö 31a23a0dc6 x86: dsputil_mmx: Remove leftover inline assembly fragments
These became unused in 71155d7b.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-27 00:17:05 +02:00
Michael Niedermayer 997a36238f mpeg12: Detect MXF essence stuff at the end of frames
Fixes some of the issues with segment.mov

See: 0226 15:16 Joseph Artsimov (2.1K) [FFmpeg-devel] Two problems with MPEG2 decoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-26 18:56:32 +01:00
Michael Niedermayer e4eedb983d swscale-test: fix 3 pointer type warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-26 16:50:32 +01:00
Michael Niedermayer c6d3b3be15 aacsbr: Silence warning: max_qmf_subbands may be used uninitialized in this function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-26 16:36:29 +01:00
Michael Niedermayer e907aa98cd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: icc: Drop nonsense adding of cpuflags to LDFLAGS

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-26 13:13:10 +01:00
Michael Niedermayer a984efd104 Merge commit 'c242bbd8b6939507a1a6fb64101b0553d92d303f'
* commit 'c242bbd8b6939507a1a6fb64101b0553d92d303f':
  Remove unnecessary dsputil.h #includes

Conflicts:
	libavcodec/ffv1.c
	libavcodec/h261dec.c
	libavcodec/h261enc.c
	libavcodec/h264pred.c
	libavcodec/lpc.h
	libavcodec/mjpegdec.c
	libavcodec/rectangle.h
	libavcodec/x86/idct_sse2_xvid.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-26 13:05:10 +01:00
Michael Niedermayer 9b1a0c2ee8 Merge commit '76b19a3984359b3be44d4f7e4e69b7b86729a622'
* commit '76b19a3984359b3be44d4f7e4e69b7b86729a622':
  Fix a number of incorrect intmath.h #includes.
  avconv: remove an unused variable

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-26 12:56:55 +01:00
Michael Niedermayer 6fbddc80d6 Merge commit 'e8da807537e314d74cb6d93598f1dcfb891fa655'
* commit 'e8da807537e314d74cb6d93598f1dcfb891fa655':
  cmdutils: only use libavresample when it is enabled
  libschroedinger: cosmetics: rename variable avccontext to avctx
  vorbisenc: cosmetics: rename variable avccontext to avctx

Conflicts:
	cmdutils.c
	libavcodec/libschroedinger.c
	libavcodec/libschroedingerenc.c
	libavcodec/vorbisenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-26 12:50:34 +01:00
Michael Niedermayer 13fa074173 Merge commit 'e951b6d94c441d46b396ef12da1428297d77251d'
* commit 'e951b6d94c441d46b396ef12da1428297d77251d':
  vorbisdec: cosmetics: rename variable avccontext to avctx
  configure: Identify icc compiler with a less ambiguous pattern

Conflicts:
	libavcodec/vorbisdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-26 12:39:26 +01:00
Michael Niedermayer 2b277f2992 Merge commit 'b58b00aeca21de00ab6da2944684f784d9d6bc47'
* commit 'b58b00aeca21de00ab6da2944684f784d9d6bc47':
  configure: Separate "ln" command line arguments

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-26 12:32:17 +01:00
Michael Niedermayer f6fff8e546 ac3enc_template: silence may be used uninitialized in this function warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-26 02:49:14 +01:00
Michael Niedermayer 5bcb379ffe motion-test: fix warning: dsp_mask is deprecated
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-26 02:49:05 +01:00
Michael Niedermayer bfcc21a472 libavcodec/motion-test: set the bitexact flag
this is needed for testing mmx2 functions

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-26 02:48:18 +01:00
Diego Biurrun 3a02b6884c configure: icc: Drop nonsense adding of cpuflags to LDFLAGS
This fixes many icc warnings when not setting the CPU type.
2013-02-26 00:51:34 +01:00
Diego Biurrun c242bbd8b6 Remove unnecessary dsputil.h #includes 2013-02-26 00:51:34 +01:00
Diego Biurrun 76b19a3984 Fix a number of incorrect intmath.h #includes. 2013-02-26 00:51:34 +01:00
Justin Ruggles d925cca95f avconv: remove an unused variable 2013-02-25 15:15:22 -05:00
Justin Ruggles e8da807537 cmdutils: only use libavresample when it is enabled
avprobe and avserver use cmdutils and do not strictly require libavresample.
2013-02-25 15:15:21 -05:00
Justin Ruggles e951b6d94c vorbisdec: cosmetics: rename variable avccontext to avctx
This is consistent with the rest of libavcodec.
2013-02-25 15:15:21 -05:00
Justin Ruggles 699d02b839 libschroedinger: cosmetics: rename variable avccontext to avctx
This is consistent with the rest of libavcodec.
2013-02-25 15:15:21 -05:00
Justin Ruggles 09031b4639 vorbisenc: cosmetics: rename variable avccontext to avctx
This is consistent with the rest of libavcodec.
2013-02-25 15:15:21 -05:00
slhck bfcc38ef48 libvpx: check if CQ level is in correct bounds
Check whether CQ level is within qmin..qmax and abort on error. If this isn't properly
set, encoding will fail at the first frame.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-25 20:13:10 +01:00
slhck 188947c32a libvpx: allow 0 as min quantizer value
Allow setting the min quantizer to 0 instead of 1 (libvpx allows 0); fixes #2136

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-25 20:10:14 +01:00
Jean First af0e8144cd ffmpeg_opt: cosmetics
Signed-off-by: Jean First <jeanfirst@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-25 18:36:21 +01:00
Michael Niedermayer e6f27346b7 pmpdec: make i unsigned, avoid undefined behavior of i++
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-25 18:36:21 +01:00
Michael Niedermayer a960f3b918 pmpdec: fix integer overflow
Its unlikely this affects any valid files.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-25 18:36:21 +01:00
Diego Biurrun b2d688ea9f configure: Identify icc compiler with a less ambiguous pattern 2013-02-25 18:15:41 +01:00
Diego Biurrun b58b00aeca configure: Separate "ln" command line arguments
This is more compatible and not more complicated.
2013-02-25 18:15:17 +01:00
Paul B Mahol b8f6912816 fate: update pixfmts_hflip
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-25 13:16:44 +00:00
Paul B Mahol e0ccb5fa38 lavfi/hflip: support more formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-25 13:07:29 +00:00
Paul B Mahol eac93932b0 lavfi/geq: improve support for formats with alpha plane
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-25 12:54:40 +00:00
Michael Niedermayer 875f883185 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vorbisdec: Accept 0 amplitude_bits

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-25 12:58:31 +01:00
Michael Niedermayer f7dc6aa5fe Merge commit '5b47c19bfda92273ae49e83db26a565afcaed80a'
* commit '5b47c19bfda92273ae49e83db26a565afcaed80a':
  vorbisdec: Add missing checks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-25 12:52:45 +01:00
Michael Niedermayer a0312a2e85 Merge commit 'fc386f2eea8d93ecd4f81e1646c835d1645c56a0'
* commit 'fc386f2eea8d93ecd4f81e1646c835d1645c56a0':
  vorbisdec: cosmetics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-25 12:30:41 +01:00
Michael Niedermayer cb72f698fe Merge commit '11dcecfcca0eca1a571792c4fa3c21fb2cfddddc'
* commit '11dcecfcca0eca1a571792c4fa3c21fb2cfddddc':
  vorbisdec: Error on bark_map_size equal to 0.
  dsputil_alpha.h: Add missing stddef.h header to fix standalone compilation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-25 12:22:18 +01:00
Luca Barbato 23bd9ef4b2 vorbisdec: Accept 0 amplitude_bits
The specification does not prevent an encoder to write the amplitude 0
as 0 amplitude_bits.

Our get_bits() implementation might not support a zero sized read
properly, thus the additional branch.
2013-02-25 07:34:00 +01:00
Luca Barbato 5b47c19bfd vorbisdec: Add missing checks
Rate and order must not be 0 even if the specification does not say that
explicitly.
2013-02-25 07:34:00 +01:00
Luca Barbato fc386f2eea vorbisdec: cosmetics
Use the commonly used "if (!var)" instead of "if (var == 0)".
2013-02-25 07:34:00 +01:00
Michael Niedermayer 11dcecfcca vorbisdec: Error on bark_map_size equal to 0.
The value is used to calculate output LSP curve and a division by zero
and out of array accesses would occur.

CVE-2013-0894

CC: libav-stable@libav.org

Reported-by: Dale Curtis <dalecurtis@chromium.org>
Found-by: inferno@chromium.org
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-02-25 07:33:59 +01:00
Michael Niedermayer bb7bc3443d af_biquads: memset(0) cache
Fixes valgrind warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-25 04:39:26 +01:00
Michael Niedermayer 35aaa306ac swr: make the default of nopts for first_pts actually work
Fixes Ticket2210

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-25 04:39:26 +01:00
Michael Niedermayer 7f2ab129b1 fate: force a first_pts=0 for the aresample test
This is needed to prevent the next commit from breaking fate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-25 04:39:26 +01:00
Michael Niedermayer e42028925b ffmpeg: Force a first_pts of 0 for the first configuration of -async use
This is very close to what the default does currently

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-25 04:39:26 +01:00
Stefano Sabatini 394130efe3 ffplay: reindent and remove pointless cast in audio_decode_frame() code 2013-02-24 23:29:42 +01:00
Stefano Sabatini a3fa27e366 ffplay: set type for channel_layout AudioParams field to int64_t
Reflect the type of the corresponding field in lavc/lavfi.
2013-02-24 23:26:43 +01:00
Stefano Sabatini 566560b85c lavfi/abuffersink: fix weird indent and spacing 2013-02-24 23:22:23 +01:00
Stefano Sabatini b59cd089ff lavfi/abuffersink: add sample_rates field to AVABufferSinkParams
Allow to select sample rates.
2013-02-24 23:21:28 +01:00
Stefano Sabatini 5085b46496 lavc: change type of AVFrame.channels field from int64_t to int
"channels" is an int in all the other places in the libraries, and the
av_frame_*_channels() accessors return and set an int, so this should not
implicate ABI breaks.
2013-02-24 23:14:46 +01:00
Michael Niedermayer ad899522ff ffmpeg: use a AVDictionary instead of the context to move swr parameters around
This avoids per parameter changes in ffmpeg at the cost of making access
somewhat more annoying.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 20:31:56 +01:00
Michael Niedermayer f3abdf4392 cmdutils: fix null pointer dereference
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 20:31:56 +01:00
Michael Niedermayer 8b3affda87 swr: support a seperate output sample bits.
This avoids user apps having to mangle dither scale. for pcm24

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 20:31:56 +01:00
Michael Niedermayer c4c702b6d3 avfilter/avfiltergraph.h: Move public field out of the private fields
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 20:31:56 +01:00
Michael Niedermayer 2abbe6d07a swr: add duplicate cutoff for compatibility
Based on
	commit 50f4337a2f
	Author: Justin Ruggles <justin.ruggles@gmail.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 20:31:56 +01:00
Paul B Mahol 8a7d177cf6 fate: add animated gif decoder tests
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-24 19:27:26 +00:00
Paul B Mahol bc980d57ca fate: add animated gif demuxer test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-24 19:27:26 +00:00
Reimar Döffinger c65eb7907c mpeg12: Fix non-hwaccel VDPAU decode.
Previously avctx->hwaccel would have been set to a dummy value,
now an explicit check is necessary instead.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-02-24 19:49:06 +01:00
Reimar Döffinger db6e2e848b hls: do not access pb->opaque for custom IO.
As the name indicates we can't just assume what the
"opaque" field contains.
This fixes a crash in third-party applications see e.g.:
http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2126

This fixes also FFmpeg trac #2293, which is a different
third-party application.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-02-24 19:49:06 +01:00
Diego Biurrun 3d035d5a6a dsputil_alpha.h: Add missing stddef.h header to fix standalone compilation 2013-02-24 18:51:40 +01:00
Michael Niedermayer 036df234fb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: List external libs used using print_enabled()

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 18:02:37 +01:00
Michael Niedermayer 214cb30b72 Merge commit '3fc09b0081184f26edbb62d2d72ae89bf9e21768'
* commit '3fc09b0081184f26edbb62d2d72ae89bf9e21768':
  configure: Move list of external libs to a separate variable

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 17:55:31 +01:00
Michael Niedermayer 5f8f9dc436 Merge commit '45235ac488363e3360bf2f2275102d1ec66eba0f'
* commit '45235ac488363e3360bf2f2275102d1ec66eba0f':
  configure: Move x11grab option to a more suitable place in the help output
  lavr: allow setting internal_sample_fmt option by string
  lavr: Add "resample_cutoff" option as a duplicate of "cutoff"

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 17:45:06 +01:00
Michael Niedermayer 6db37c9468 Merge commit '5c7db097ebe1fb5c233cedd8846615074e7d6044'
* commit '5c7db097ebe1fb5c233cedd8846615074e7d6044':
  avconv: pass libavresample options to AVFilterGraph

Conflicts:
	cmdutils.c
	cmdutils.h
	ffmpeg_filter.c
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 17:41:31 +01:00
Michael Niedermayer 71cf094e1b Merge commit '9f1223562e134bac6345a465870b9d56ff7d60cf'
* commit '9f1223562e134bac6345a465870b9d56ff7d60cf':
  lavfi: connect libavresample options to af_resample via AVFilterGraph

Conflicts:
	doc/APIchanges
	libavfilter/avfiltergraph.c
	libavfilter/avfiltergraph.h
	libavfilter/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 17:10:55 +01:00
Michael Niedermayer f7c4b76c48 Merge commit 'd7c450436fcb9d3ecf59884a574e7684183e753d'
* commit 'd7c450436fcb9d3ecf59884a574e7684183e753d':
  ac3dec: validate channel output mode against channel count

Conflicts:
	libavcodec/ac3dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 16:53:09 +01:00
Michael Niedermayer dbabea2f23 configure: hwaccel autodetection has been removed in 82ca17ac7a
If you want it back (yeah i want it back too)
then you just need to volunteer to maintain the code in configure
thats related to hwaccel autodetection.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 16:40:46 +01:00
Diego Biurrun fdd392ed27 configure: Simplify VDPAU header check
Conflicts:

	configure
2013-02-24 16:33:55 +01:00
Michael Niedermayer 8cf9253aef Merge commit '82ca17ac7a0a08784cb6808384ee237ac28e8334'
* commit '82ca17ac7a0a08784cb6808384ee237ac28e8334':
  configure: Fix vaapi/vda/vdpau dependency declarations

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 16:18:21 +01:00
Michael Niedermayer 60cc4a32b5 Merge commit '215cdd35efd625ec28ef5846f1692b18f7c2c230'
* commit '215cdd35efd625ec28ef5846f1692b18f7c2c230':
  configure: Refactor dxva2api.h dependency declarations

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 15:37:11 +01:00
Paul B Mahol 7b12554c5a exr: make sure that data_size is not bigger than expected
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-24 14:27:39 +00:00
Paul B Mahol 74a78bfe6c exr: simplify filling channel_buffer[]
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-24 14:27:39 +00:00
Paul B Mahol 645f96f129 exr: check color channel subsampling too
If there is unsupported subsampling encountered abort
early instead of failing decoding later.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-24 14:27:39 +00:00
Paul B Mahol 1a08758e7c exr: slice threading
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-24 14:27:39 +00:00
Michael Niedermayer 845bf99312 Merge commit '4cc4b33f71d3982df404fceb4405d656c538bc74'
* commit '4cc4b33f71d3982df404fceb4405d656c538bc74':
  build: Add proper infrastructure for adding and checking host CPPFLAGS

Conflicts:
	Makefile
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 15:24:38 +01:00
Michael Niedermayer 42b411995c Merge commit '2aac411fd4c74e22b978525206f3b8257de1842b'
* commit '2aac411fd4c74e22b978525206f3b8257de1842b':
  configure: Simplify VDPAU header check

Conflicts:
	configure

Not merged as the code seems not to work

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 15:21:13 +01:00
Michael Niedermayer 56c245f921 Merge commit '9840130edf3a969ec06dd0faa61dcf8d90c5f67a'
* commit '9840130edf3a969ec06dd0faa61dcf8d90c5f67a':
  configure: Simplify VDA header and extralibs check

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 14:58:06 +01:00
Michael Niedermayer 74c9245254 Merge commit '0a8da1a3e5f0b9329dfb89d17356ff5444c02351'
* commit '0a8da1a3e5f0b9329dfb89d17356ff5444c02351':
  configure: Do not redundantly list enabled hwaccel libs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 14:50:19 +01:00
Michael Niedermayer 409890ca2f Merge commit '7432e872066d6960a9fbd31c51a94ebe6183389e'
* commit '7432e872066d6960a9fbd31c51a94ebe6183389e':
  configure: Add print_3_columns helper function and use where appropriate

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 14:37:54 +01:00
Michael Niedermayer 2fc662ae63 Merge commit '040c565e51985477a8fa5e42d2ddfb26ebde6608'
* commit '040c565e51985477a8fa5e42d2ddfb26ebde6608':
  doc: developer: Allow tabs in the vim configuration for Automake files
  Remove pointless av_cold attributes in header files

Conflicts:
	libavcodec/h264.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 14:32:55 +01:00
Michael Niedermayer 5ecf8189c6 pnm: use av_pix_fmt_desc_get()
Using the table directly may cause problems on some platforms like msvc

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 14:27:39 +01:00
Michael Niedermayer 198ea7a96f Merge commit 'b5f536d24b5ae360503935c34d5d59fa5181b94d'
* commit 'b5f536d24b5ae360503935c34d5d59fa5181b94d':
  pnm: add high-bitdepth PGMYUV support for both encoder and decoder

Conflicts:
	libavcodec/pnm.c
	libavcodec/pnmdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 14:14:28 +01:00
Michael Niedermayer a77a27a24b Merge commit '2f325a6fd4421c4dd4e26d7065e5d4bf26ed52f2'
* commit '2f325a6fd4421c4dd4e26d7065e5d4bf26ed52f2':
  libx264: change i_qfactor to use x264cli's default
  qtrle: use AV_LOG_ERROR in an error message.

Conflicts:
	libavcodec/libx264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 14:05:16 +01:00
Michael Niedermayer 6f5f0671f3 Merge commit '7b4f91155bd4ef5a8d4e9af65c48b42bfa5b52c6'
* commit '7b4f91155bd4ef5a8d4e9af65c48b42bfa5b52c6':
  qtrle: cosmetics, reformat CHECK_PIXEL_PTR() macro

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 13:55:44 +01:00
Michael Niedermayer 9ba38e6273 Merge commit 'e10659244782b26061e7d52c06437de32a43a7af'
* commit 'e10659244782b26061e7d52c06437de32a43a7af':
  qtrle: add more checks against pixel_ptr being negative.

Conflicts:
	libavcodec/qtrle.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 13:49:37 +01:00
Michael Niedermayer 9748cac565 Merge commit '4f3b058c84f570e261d743c7c22f865617fd28ac'
* commit '4f3b058c84f570e261d743c7c22f865617fd28ac':
  cavs: initialize various context tables to 0
  mlpdec: do not try to allocate a zero-sized output buffer.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 13:24:43 +01:00
Michael Niedermayer 663ebae79a Merge commit '56daf10e0313c5e36f43e773f457d2a99ff0df10'
* commit '56daf10e0313c5e36f43e773f457d2a99ff0df10':
  mov: use the format context for logging.
  flicvideo: avoid an infinite loop in byte run compression

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 13:15:59 +01:00
Nicolas George ea2de3d096 lavf/concatdec: add the "duration" directive. 2013-02-24 13:12:46 +01:00
Nicolas George b92c7a8f4b tools: add seek_print.
Useful for testing seek implementations.
2013-02-24 13:12:46 +01:00
Michael Niedermayer 33796645dc loco: check the last plane too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 13:08:52 +01:00
Michael Niedermayer 714ff44858 Merge commit '067432c1c95882c7221e694f33d9f3bdbe46de7f'
* commit '067432c1c95882c7221e694f33d9f3bdbe46de7f':
  loco: check that there is data left after decoding a plane.
  lagarith: avoid infinite loop in lag_rac_refill()

Conflicts:
	libavcodec/loco.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 13:08:42 +01:00
Michael Niedermayer 4ba35194a9 Merge commit 'f935aca44c674d30e3ed940ef73bbad1228a5855'
* commit 'f935aca44c674d30e3ed940ef73bbad1228a5855':
  av_memcpy_backptr: avoid an infinite loop for back = 0
  4xm: check the return value of read_huffman_tables().

Conflicts:
	libavcodec/4xm.c
	libavutil/mem.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 12:22:51 +01:00
Nicolas George ccc7bcc4fc lavc: check return values consistency when decoding subtitles. 2013-02-24 12:18:57 +01:00
Nicolas George e568d432b1 lavfi/formats: reindent after last commit. 2013-02-24 12:05:06 +01:00
Nicolas George 2d98dd3d14 lavfi: fix merging of formats and clarify exception.
The following commit:
b97d61f avfilter/ff_merge_formats: only merge if doing so does not loose chroma or alpha
introduced an exception to avoid lossy conversions.
Add a comment to explain the logic.
Fix the call to avoid applying it on audio formats.
2013-02-24 11:58:52 +01:00
Nicolas George 3d7f4f8726 lavf/avio: check that the protocol supports the open mode.
Fix trac ticket #2139.
2013-02-24 11:51:16 +01:00
Nicolas George bf0712c2f8 libavfilter/af_amerge: fix segfault if init fails. 2013-02-24 11:23:51 +01:00
Mans Rullgard 04cccb5fc1 configure: List external libs used using print_enabled()
This cuts some lines from the script as well as the output and
simplifies maintenance.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2013-02-24 00:19:36 +01:00
Mans Rullgard 3fc09b0081 configure: Move list of external libs to a separate variable
Signed-off-by: Mans Rullgard <mans@mansr.com>
2013-02-24 00:19:36 +01:00
Diego Biurrun 45235ac488 configure: Move x11grab option to a more suitable place in the help output 2013-02-24 00:19:36 +01:00
Michael Niedermayer 066739f6bc pmpdec: check packet sizes
Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 00:13:54 +01:00
Michael Niedermayer 7276e9ea95 pmpdec: fix signedness
Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 00:13:54 +01:00
Michael Niedermayer b0bc0eb978 pmpdec: read index before creating audio streams
This allows more complete checks

Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 00:13:54 +01:00
Reimar Döffinger 50a37f9202 pmpdec: check for EOF while reading index.
Otherwise even a tiny file can trigger a huge memory allocation.

Related to ticket #2298.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-02-24 00:01:56 +01:00
Michael Niedermayer 82d79289db avformat: Allocate duration_error separately
This significantly reduces the memory needed per AVStream when the
array is not needed.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-23 23:15:09 +01:00
Justin Ruggles 5c7db097eb avconv: pass libavresample options to AVFilterGraph 2013-02-23 17:07:54 -05:00
Justin Ruggles 9f1223562e lavfi: connect libavresample options to af_resample via AVFilterGraph 2013-02-23 17:07:54 -05:00
Justin Ruggles b2eea615c0 lavr: allow setting internal_sample_fmt option by string 2013-02-23 17:07:54 -05:00
Justin Ruggles 50f4337a2f lavr: Add "resample_cutoff" option as a duplicate of "cutoff"
Avoids an option name conflict with libavcodec, which is needed in order
to work properly with avconv.
2013-02-23 17:07:54 -05:00
Michael Niedermayer 285485ac5f matroskaenc: fix cue tracknum off by 1 error
Fixes out of array accesses

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-23 23:06:27 +01:00
Justin Ruggles d7c450436f ac3dec: validate channel output mode against channel count
Damaged frames can lead to a mismatch, which can cause a segfault
due to using an incorrect channel mapping.

CC:libav-stable@libav.org
2013-02-23 16:59:39 -05:00
Diego Biurrun 82ca17ac7a configure: Fix vaapi/vda/vdpau dependency declarations 2013-02-23 21:08:40 +01:00
Diego Biurrun 215cdd35ef configure: Refactor dxva2api.h dependency declarations 2013-02-23 21:08:40 +01:00
Diego Biurrun 4cc4b33f71 build: Add proper infrastructure for adding and checking host CPPFLAGS 2013-02-23 20:23:45 +01:00
Diego Biurrun 2aac411fd4 configure: Simplify VDPAU header check 2013-02-23 20:13:48 +01:00
Diego Biurrun 9840130edf configure: Simplify VDA header and extralibs check 2013-02-23 20:13:48 +01:00
Mans Rullgard 0a8da1a3e5 configure: Do not redundantly list enabled hwaccel libs
The enabled hwaccels are listed later anyway.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2013-02-23 20:13:47 +01:00
Diego Biurrun 7432e87206 configure: Add print_3_columns helper function and use where appropriate 2013-02-23 20:13:47 +01:00
Diego Biurrun 040c565e51 doc: developer: Allow tabs in the vim configuration for Automake files
While we do not use Automake in libav, this allows our config to be
used more globally without introducing unwanted breakage.
2013-02-23 20:13:47 +01:00
Diego Biurrun 94ee7da08d Remove pointless av_cold attributes in header files
The init functions marked as av_cold have to be executed in any case,
so there is no gain from trying to mark paths leading to such functions
as unlikely.
2013-02-23 20:13:47 +01:00
Michael Niedermayer 73fce258b7 vf_mp: Set pseudo pal
Fixes ticket2140
Fixes null pointer dereference

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-23 19:32:24 +01:00
Michael Niedermayer da8ef5ac2f rtmpproto: increase APP_MAX_LENGTH
Fixes second part of Ticket2292

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-23 17:24:15 +01:00
Michael Niedermayer 02ac3398eb rtmpproto: Check APP_MAX_LENGTH
Fixes Ticket2292

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-23 17:18:22 +01:00
Kostya Shishkov b5f536d24b pnm: add high-bitdepth PGMYUV support for both encoder and decoder 2013-02-23 16:49:22 +01:00
Paul B Mahol df63e0c8bb doc/filters: add forgotten sentence for blend filter examples
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-23 14:26:21 +00:00
Michael Niedermayer c10c2aed47 h264: Silence warning: comparison of distinct pointer types lacks a cast
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-23 14:09:04 +01:00
Michael Niedermayer 5270cb39ba bmp: Fix warning X may be used uninitialized in this function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-23 14:03:18 +01:00
John Van Sickle 2f325a6fd4 libx264: change i_qfactor to use x264cli's default
This also allows libx264 to modify its i_qfactor value
when using the "-tune" setting. Previously it had a static
value of 1.25

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-02-23 13:34:52 +01:00
Anton Khirnov d8a74d1d95 qtrle: use AV_LOG_ERROR in an error message. 2013-02-23 13:06:12 +01:00
Anton Khirnov 7b4f91155b qtrle: cosmetics, reformat CHECK_PIXEL_PTR() macro 2013-02-23 13:06:08 +01:00
Anton Khirnov e106592447 qtrle: add more checks against pixel_ptr being negative.
CC:libav-stable@libav.org
2013-02-23 13:05:54 +01:00
Anton Khirnov 4f3b058c84 cavs: initialize various context tables to 0
Avoids crashes with corrupted files.

CC:libav-stable@libav.org
2013-02-23 13:05:43 +01:00
Anton Khirnov 0dff40bfb9 mlpdec: do not try to allocate a zero-sized output buffer.
CC:libav-stable@libav.org
2013-02-23 13:05:31 +01:00
Anton Khirnov 56daf10e03 mov: use the format context for logging.
CC:libav-stable@libav.org
2013-02-23 13:05:16 +01:00
Michael Niedermayer 23c9180c00 aacdec: Fix warning: initialization from incompatible pointer type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-23 12:16:28 +01:00
Michael Niedermayer cfcab4c507 vf_overlay: silence warning: X may be used uninitialized in this function
Also ensure that format is valid in query_formats

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-23 12:10:35 +01:00
Michael Niedermayer 3c14c82b7e avfilter: Silence warning: passing argument 3 of av_image_copy from incompatible pointer type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-23 12:08:05 +01:00
Anton Khirnov ddfe1246d9 flicvideo: avoid an infinite loop in byte run compression
When byte_run is 0, pixel_countdown is not touched and the loop will run
forever.

CC:libav-stable@libav.org
2013-02-23 09:22:30 +01:00
Anton Khirnov 067432c1c9 loco: check that there is data left after decoding a plane.
CC:libav-stable@libav.org
2013-02-23 09:20:42 +01:00
Anton Khirnov de6dfa2bb8 lagarith: avoid infinite loop in lag_rac_refill()
range == 0 happens with corrupted files

CC:libav-stable@libav.org
2013-02-23 09:16:32 +01:00
Anton Khirnov f935aca44c av_memcpy_backptr: avoid an infinite loop for back = 0
CC:libav-stable@libav.org
2013-02-23 09:16:15 +01:00
Anton Khirnov 8097fc9a2d 4xm: check the return value of read_huffman_tables().
CC:libav-stable@libav.org
2013-02-23 09:13:08 +01:00
Clément Bœsch 0ac71f9a32 fate/subtitles: add character encoding conversion test. 2013-02-23 00:24:02 +01:00
Stefano Sabatini e95637841c tests: fix parseutils test after 12a269a522
"12:34" is now valid syntax.
2013-02-23 00:18:34 +01:00
Stefano Sabatini 160def32da doc/muxers: fix reference to @anchor defined in another manual
In particular, fix warnings:
*** Undefined node `quoting_and_escaping' in @ref (in doc/muxers.texi l. 767)
*** Undefined node `quoting_and_escaping' in @ref (in doc/muxers.texi l. 772)
2013-02-22 23:48:55 +01:00
Stefano Sabatini ce84c14ab1 lavu/parseutils: remove spurious "]]" in date format specification 2013-02-22 23:45:31 +01:00
Senthilnathan M 12a269a522 lavu/parseutils: allow MM:SS format for duration in av_parse_time()
Fix trac ticket #2258.

Signed-off-by: Senthilnathan M <senthilnathan.maadasamy@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-02-22 23:43:46 +01:00
Malcolm Bechard 239b88c284 Improve QTRLE encoding performance, no change to output file size/content.
Avoid searching for the lowest bulk cost for each pixel that isn't a repeat/skip. Instead store the lowest cost as we go along each pixel, and use it as needed.

Signed-off-by: Malcolm Bechard <malcolm.bechard@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-22 21:41:54 +01:00
Michael Niedermayer 2c21d34ea4 avutil/mem: do a small set of checks for memalign hack before freeing.
These can detect some kinds of memory and or pointer corruptions

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-22 20:42:33 +01:00
Paul B Mahol 89c77b6b15 exr: shorter channel buffer names
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-22 19:31:00 +00:00
Paul B Mahol 7a930f310a exr: remove superfluous check
get_header_variable_length() already check for
out of array read and returns 0 in such case.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-22 18:59:55 +00:00
Paul B Mahol fefd4b0924 exr: cosmetics: reindent
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-22 18:59:55 +00:00
Paul B Mahol 9c75c24de4 exr: check if line offset table is complete only once per frame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-22 18:59:54 +00:00
Paul B Mahol cc0bd78413 exr: support more line orders
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-22 18:59:54 +00:00
Paul B Mahol 1178868683 exr: fix overflow check in lineoffset processing
Also read data size for raw compressions too and
make sure its value is sane.

Remove code that fills missing blocks with zeroes.
It is marginally useful and make implementation
of actually useful features harder.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-22 18:59:54 +00:00
Paul B Mahol 88d7259fd2 exr: merge multiple if () blocks
Remove useless comments.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-22 18:59:54 +00:00
Paul B Mahol 3456891291 exr: check version too
Separate version from flags.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-22 18:59:54 +00:00
Stefano Sabatini 8902f5b89c doc/filters: apply minor spacing fixes to boxblur docs 2013-02-22 19:57:54 +01:00
Stefano Sabatini f30979e095 lavfi/boxblur: add support to named options 2013-02-22 19:57:20 +01:00
Michael Niedermayer 6f77122bf5 aac: reconfigure output on pop
Fixes Ticket1918

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-22 18:19:42 +01:00
Paul B Mahol c46400ddec cafenc: do not leak caf->pkt_sizes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-22 13:52:43 +00:00
Michael Niedermayer 21f68528e3 aacdec: dont pop random configurations
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-22 14:46:17 +01:00
Paul B Mahol a72b41035c mxg: do not leak mxg->buffer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-22 13:37:35 +00:00
Michael Niedermayer db05f7ab16 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: h264: Don't use redzone in AVX h264_deblock on Win64

No code change, as the commit has been already integrated
merge just for metadata

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-22 10:59:05 +01:00
Michael Niedermayer b16bf913d8 dxva2: move _WIN32_WINNT handling to public header
This removes duplicate code

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-22 01:37:14 +01:00
Michael Niedermayer 29436c1ab2 libavcodec/mips/aacsbr_mips: fix ;;
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-21 23:06:30 +01:00
Mirjana Vulin 46d52a0b09 mips: optimization for float aac decoder (ps module)
Signed-off-by: Mirjana Vulin <mvulin@mips.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-21 22:43:26 +01:00
Mirjana Vulin 8d2eb5fe58 mips: optimization for float aac decoder (sbr module)
Signed-off-by: Mirjana Vulin <mvulin@mips.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-21 22:43:08 +01:00
James Almer 67b3fcf655 configure: Use libiconv on systems that lack built-in iconv
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-21 22:41:19 +01:00
Matt Wolenetz 82a4a4e7ca Fix Win64 AVX h264_deblock by not using redzone on Win64
Thanks-to: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-21 22:38:56 +01:00
Michael Niedermayer 04220b473e h264: ensure that get_format() is called when changing format but not otherwise.
Fixes Ticket2288

Tested-by: Stefano Pigozzi <stefano.pigozzi@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-21 22:36:33 +01:00
Andrea3000 8d8c59480e matroska: fix missing ,
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-21 22:24:26 +01:00
Michael Niedermayer 8a6449167a avcodec_decode_audio4: check got_frame_ptr before handling initial skip
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-21 22:01:14 +01:00
Paul B Mahol 47619e41c4 blend filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-21 20:16:23 +00:00
Michael Niedermayer 8036ba299d h264: move next/last picture init to decode_slice_header
This is a regression introduced from the h264/mpegvideo split
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-21 20:24:31 +01:00
Michael Niedermayer 669d50b445 ec: check that reference pictures have matching parameters before using them.
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-21 16:38:24 +01:00
Michael Niedermayer bdeb61ccc6 h264: check that luma and chroma depth match
Fixes out of array access

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-21 15:02:09 +01:00
Matt Wolenetz 311443f6c7 x86: h264: Don't use redzone in AVX h264_deblock on Win64
This fixes crashes in chromium on win64 on machines with AVX
(crashes that apparently aren't triggered by fate).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-21 15:02:16 +02:00
Paul B Mahol 59015c1118 exr: constify s in rle_uncompress()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-21 12:02:18 +00:00
Paul B Mahol a3d890527e exr: reset compression in decode_frame()
This fixes decoding of images if compression changes.
Regression since b040ffc84c.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-21 12:02:18 +00:00
Michael Niedermayer 6b8f21190d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dxva2: Add missing #define to make header compile standalone
  arm: vp8: Add missing #includes for header to compile standalone
  doc: filters: Correct BNF FILTER description

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-21 12:59:38 +01:00
Nicolas George 9fa5a47197 ffmpeg: set resample_pix_fmt for sub2video.
Forgotten when the resample_* fields were added.
Fix assert failures.
2013-02-21 12:41:30 +01:00
Nicolas George 01649c79c8 lavfi/buffersrc: set channel layout if it is known.
If buffersrc was configured for frames with an unknown layout,
the incoming frames will have channel_layout = 0.
If the format negotiation has selected a known (and compatible)
channel layout for the link, the frame is assumed to have
that layout, the field must be set before injecting the frame
in the filters.
2013-02-21 12:36:35 +01:00
Carl Eugen Hoyos d714576037 Use SMPTE standard notation when showing mxf Universal Labels. 2013-02-21 09:11:22 +01:00
Michael Niedermayer cdb7a1ac63 vf_idet: adapt default scores due to bugfix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-21 01:58:07 +01:00
Michael Niedermayer dc9edb06b0 vf_idet: Fix macro arguments sideeffect
Fixes valgrind errors
should improve detection scores

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-21 01:58:07 +01:00
Clément Bœsch 9ed6af4be2 fate/subtitles: add MicroDVD remux test. 2013-02-21 00:59:32 +01:00
Clément Bœsch 7346354b55 lavf/microdvd: fix muxing.
This was broken since 1f265f52.
2013-02-21 00:59:32 +01:00
Clément Bœsch 580e228557 lavf/swfdec: remove 8-bit audio FIXME.
Implemented since 624fb5f9.
2013-02-21 00:59:31 +01:00
Michael Niedermayer 551d8b58eb brender_pix: use a grayscale palette as fallback instead of a uninitialized one.
Improves: 3-0-CORPSE.PIX

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-21 00:26:50 +01:00
Michael Niedermayer 47e92153b6 mjpegdec: check for packed rgb mjpeg.
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-21 00:03:36 +01:00
Carl Eugen Hoyos c4dc6c4c86 Fix bits_per_coded_sample when encoding png with frame-level multithreading.
Fixes ticket #2290.
2013-02-20 22:54:21 +01:00
Clément Bœsch 624fb5f965 lavf/swfdec: support 8-bits PCM audio. 2013-02-20 21:49:23 +01:00
Clément Bœsch 9a0076f50c lavf/swfdec: factorize the creation of a new stream.
This also makes the changes of a3949fe11 applicable in both cases.
2013-02-20 21:49:23 +01:00
Michael Niedermayer da7672b20a h264: Fix handling of changing reference counts between slices
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-20 19:53:54 +01:00
Michael Niedermayer 039f55c803 h264: call alloc_scratch_buffers() only once linesize is known
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-20 19:53:54 +01:00
Clément Bœsch 9b9d996b34 lavfi/subtitles: fix recently introduced warning about discarded const qualifier. 2013-02-20 19:47:32 +01:00
Stefano Sabatini 22b06103f0 lavfi/overlay: add format option
In particular, fix misbehavior in case main and overlay input formats
mismatch (e.g. YUV420 and YUV444).
2013-02-20 19:39:40 +01:00
Stefano Sabatini 2db0056f96 lavfi/overlay: apply minor consistency fixes 2013-02-20 19:18:17 +01:00
Stefano Sabatini 3d77a27548 lavfi/overlay: implement shortest option
Force termination when the overlay stream ends. Simplify scripting logic,
for example when an infinite source is used to generate a background for
a composite video.
2013-02-20 19:17:11 +01:00
Stefano Sabatini 7f07c61c2f doc/filters: rework introductory description for decimate
In particular, dedicate first paragraph to deliver a short description of
the filter.
2013-02-20 19:11:19 +01:00
Stefano Sabatini a2a1e20fa2 lavfi/decimate: use named options 2013-02-20 19:07:48 +01:00
Stefano Sabatini 49c8fe304f doc/filters: apply misc fixes to drawbox documentation 2013-02-20 19:01:48 +01:00
Michael Niedermayer 2ccaab9709 mov: fix self referencing timecode tracks
Fixes read after free.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-20 15:46:33 +01:00
Diego Biurrun a0a1ac0f09 dxva2: Add missing #define to make header compile standalone 2013-02-20 14:24:07 +01:00
Diego Biurrun 3e85b46ecf arm: vp8: Add missing #includes for header to compile standalone 2013-02-20 14:24:07 +01:00
Michael Niedermayer 951d39fecd avfilter: fix segfault with setsar/dar
Reported-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-20 12:34:05 +01:00
Michael Niedermayer f7b46d86de Merge remote-tracking branch 'qatar/master'
* qatar/master:
  intreadwrite: tomi: Add missing attributes.h #include for av_always_inline

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-20 12:04:50 +01:00
Stefano Sabatini 271f411267 lavf/matroskaenc: avoid assert failure in case of cuepoints with duplicated PTS
Avoid to write more than one cuepoint per track and PTS in
mkv_write_cues(). This avoids a later assertion failure on "(bytes >=
needed_bytes)" in put_ebml_num() called from end_ebml_master(), in case
there are several cuepoints per track with the same PTS.

This may happen with files containing packets with duplicated PTS in the
same track.
2013-02-20 12:01:21 +01:00
Michael Niedermayer 39b03932c2 Merge commit '8a11ce43d08352f7a290355ebb5b29c495ad9609'
* commit '8a11ce43d08352f7a290355ebb5b29c495ad9609':
  build: Ensure that output directories for header objects are created
  h264: Get rid of unnecessary casts

Conflicts:
	common.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-20 11:54:06 +01:00
Michael Niedermayer 8c6d9ca638 Merge commit 'fae6fd5b873911cfcd7f7b3d72de6598af5e003a'
* commit 'fae6fd5b873911cfcd7f7b3d72de6598af5e003a':
  h264/svq3: Stop using draw_edges

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-20 11:50:12 +01:00
Michael Niedermayer 98f63e1f34 Merge commit '7ebfb466aec2c4628fcd42a72b29034efcaba4bc'
* commit '7ebfb466aec2c4628fcd42a72b29034efcaba4bc':
  h264: Don't store intra pcm samples in h->mb
  get_bits: Return pointer to buffer that is the result of the alignment

Conflicts:
	libavcodec/h264_mb_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-20 11:47:32 +01:00
Vicente Jimenez Aguilar b5ad422bf4 doc: filters: Correct BNF FILTER description
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-02-20 11:34:05 +01:00
Stefano Sabatini dd37326345 lavfi/hue: reindent after previous commit 2013-02-20 11:29:12 +01:00
Stefano Sabatini d709a18ac2 lavfi/hue: simplify parsing by making use of option shorthands 2013-02-20 11:28:59 +01:00
Michael Niedermayer 088f20a332 Merge commit '2ed008204d5467be03a0a3af1e293b2f7038d0a0'
* commit '2ed008204d5467be03a0a3af1e293b2f7038d0a0':
  h264: Add add_pixels4/8() to h264dsp, and remove add_pixels4 from dsputil

Conflicts:
	libavcodec/dsputil.c
	libavcodec/h264.c
	libavcodec/h264_mb_template.c
	libavcodec/h264addpx_template.c
	libavcodec/h264dsp.c
	libavcodec/h264dsp.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-20 11:17:32 +01:00
Michael Niedermayer 536d1ed793 Merge commit 'e5ffffe48d20642acc079166f0fa7d93a6a9f594'
* commit 'e5ffffe48d20642acc079166f0fa7d93a6a9f594':
  h264chroma: Remove duplicate 9/10 bit functions
  x86: Use simple nop codes for <= sse (rather than <= mmx)
  vp56: Remove clear_blocks call, and clear alpha plane U/V DC only

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-20 10:57:47 +01:00
u-bo1b@0w.se 8d1dd5bd50 cinepak: More correct Cinepak decoder.
change the treatment of the strip y coordinates which previously did
not follow the description (nor did it behave like the binary decoder
on files with absolute strip offsets).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-20 04:14:04 +01:00
Michael Niedermayer a3adbedf9b cinepak: simplify
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-20 04:14:04 +01:00
u-bo1b@0w.se 4e635e10e2 cinepak: Use correct colorspace.
The new code is also faster and more robust.

As for the performance:

old decoder + conversion to rgb:         fps = 2618
old decoder, without converting to rgb:  fps = 4012

new decoder, producing rgb:              fps = 4502

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-20 04:13:33 +01:00
Michael Niedermayer f5c00b347d avcodec_align_dimensions2: Ensure cinepak has large enough buffers.
This is partly redundant with the following patches, but its safer

Found-by: u-bo1b@0w.se
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-20 03:54:36 +01:00
Ronald S. Bultje 2b10d41464 h264: add videodsp dependency.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-20 02:12:26 +01:00
Diego Biurrun c9ad5f59aa intreadwrite: tomi: Add missing attributes.h #include for av_always_inline 2013-02-20 00:45:30 +01:00
Diego Biurrun 8a11ce43d0 build: Ensure that output directories for header objects are created 2013-02-20 00:45:30 +01:00
Michael Niedermayer c69315a5de cook: check js_subband_start for validity
Fixes out of array read

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-20 00:20:03 +01:00
Martin Storsjö 26ee5ca03d h264: Get rid of unnecessary casts
This gets rid of a number of warnings about casts discarding
qualifiers from the pointer target, present since 7ebfb466a.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-20 00:25:29 +02:00
Michael Niedermayer a5153b1d16 shorten: Fix signedness of comparission
Fixes out of array accessed

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 23:08:19 +01:00
Michael Niedermayer ce153eef8f vc1dec: dont decode slices when the slice header failed to decode.
Fixes assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 21:40:44 +01:00
Ronald S. Bultje fae6fd5b87 h264/svq3: Stop using draw_edges
Instead, only extend edges on-demand when the motion vector actually
crosses the visible decoded area using ff_emulated_edge_mc(). This
changes decoding time for cathedral from 8.722sec to 8.706sec, i.e.
0.2% faster overall. More generally (VP8 uses this also), low-motion
content gets significant speed improvements, whereas high-motion content
tends to decode in approximately the same time.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-19 22:34:33 +02:00
Ronald S. Bultje 7ebfb466ae h264: Don't store intra pcm samples in h->mb
Instead, keep them in the bitstream buffer until we read them verbatim,
this saves a memcpy() and a subsequent clearing of the target buffer.
decode_cabac+decode_mb for a sample file (CAPM3_Sony_D.jsv) goes from
6121.4 to 6095.5 cycles, i.e. 26 cycles faster.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-19 22:34:14 +02:00
Ronald S. Bultje 9918f57dcf get_bits: Return pointer to buffer that is the result of the alignment
This allows more transparent mixing of get_bits and whole-byte access
without having to touch get_bits internals.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-19 22:33:52 +02:00
Ronald S. Bultje 2ed008204d h264: Add add_pixels4/8() to h264dsp, and remove add_pixels4 from dsputil
These functions are mostly H264-specific (the only other user I can
spot is bink), and this allows us to special-case some functionality
for H264. Also remove the 16-bit-coeff with >8bpp versions (unused)
and merge the duplicate 32-bit-coeff for >8bpp (identical).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-19 22:33:29 +02:00
Ronald S. Bultje e5ffffe48d h264chroma: Remove duplicate 9/10 bit functions
These functions do the same thing in 16 bit space and don't need
any depth specific clipping.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-19 22:33:19 +02:00
Ronald S. Bultje 0c0828ecc5 x86: Use simple nop codes for <= sse (rather than <= mmx)
The "CentaurHauls family 6 model 9 stepping 8" family of CPUs
(flags: fpu vme de pse tsc msr cx8 sep mtrr pge mov pat mmx fxsr sse
up rng rng_en ace ace_en) SIGILLs on long nop codes.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-19 22:33:19 +02:00
Ronald S. Bultje f859678f3f vp56: Remove clear_blocks call, and clear alpha plane U/V DC only
The non-alpha and alpha-Y planes are cleared in the idct_put/add()
calls. For the alpha U/V planes, we only care about the DC for entropy
context prediction purposes, the rest of the data is unused.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-19 22:33:11 +02:00
Paul B Mahol 76415a9420 configure: fix libavfilter pkgconfig description
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-19 18:17:27 +00:00
Michael Niedermayer a34418c28e tiff: check bppcount
Fixes division by 0

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 17:57:36 +01:00
Michael Niedermayer 633f997479 bmp: check available space when reading palette
Fixes out of array read

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 17:00:04 +01:00
Ronald S. Bultje 1acd7d594c h264: integrate clear_blocks calls with IDCT.
The non-intra-pcm branch in hl_decode_mb (simple, 8bpp) goes from 700
to 672 cycles, and the complete loop of decode_mb_cabac and hl_decode_mb
(in the decode_slice loop) goes from 1759 to 1733 cycles on the clip
tested (cathedral), i.e. almost 30 cycles per mb faster.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 16:25:50 +01:00
Ronald S. Bultje a1f1ca96b4 svq3: fix decoding residual blocks of b-frames.
The residual block data of 16x16 blocks was ignored for b-frames, which
leads to easy-to-identify artifacts. After this patch, the artifacts are
gone. Sample video: svq3_watermark.mov. (Fate results unaffected.)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 15:59:53 +01:00
Michael Niedermayer b97d61f924 avfilter/ff_merge_formats: only merge if doing so does not loose chroma or alpha
Fixes Ticket1280

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 15:00:01 +01:00
Michael Niedermayer b9237aa7b0 x86/h263_loopfilter: Fix author attribution after code has been moved/splited around
Reference:
    commit 3615e2be84
    Author: Michael Niedermayer <michaelni@gmx.at>
    Date:   Tue Dec 2 22:02:57 2003 +0000

        h263_h_loop_filter_mmx

        Originally committed as revision 2553 to svn://svn.ffmpeg.org/ffmpeg/trunk

    commit 359f98ded9
    Author: Michael Niedermayer <michaelni@gmx.at>
    Date:   Tue Dec 2 20:28:10 2003 +0000

        h263_v_loop_filter_mmx

        Originally committed as revision 2552 to svn://svn.ffmpeg.org/ffmpeg/trunk
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 12:51:00 +01:00
Michael Niedermayer fa09ad5c9e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: dsputil: Fix h263 loop filter link error in some configurations

Conflicts:
	libavcodec/x86/dsputil.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 12:41:27 +01:00
Michael Niedermayer cf10616cc0 Merge commit '7a03145ed7cb4f1ce794b5126559dd6f38029243'
* commit '7a03145ed7cb4f1ce794b5126559dd6f38029243':
  x86: dsputil: int --> ptrdiff_t for ff_put_pixels16_mmxext line_size param

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 12:32:12 +01:00
Michael Niedermayer 4e469842b5 Merge commit '202b5f6deb65e405b07b9b5c20f97c8cb925cf49'
* commit '202b5f6deb65e405b07b9b5c20f97c8cb925cf49':
  doc: Fix some obsolete references to av* tools as ff* tools

Conflicts:
	doc/demuxers.texi

No code changes, merge for metadata only

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 12:23:45 +01:00
Paul B Mahol 03b711d95e tmv: initialize unused pallete entries with 0
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-19 11:11:42 +00:00
Paul B Mahol f2d200d460 lavfi/overlay: yuv444p & yuva444p support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-19 11:11:42 +00:00
Michael Niedermayer d41efc1f26 h264: put visualization and debug support back
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 02:56:31 +01:00
Michael Niedermayer a3a97129e7 mpegvideo: make ff_print_debug_info independant of mpegvideo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 02:46:05 +01:00
Ronald S. Bultje e2789d3e33 split out ff_hwaccel_pixfmt_list_420[] over individual codecs.
Not all hwaccels implement all codecs, so using one single list for
multiple such codecs means some codecs will be represented in the list,
even though they don't actually handle that codec. Copying specific
lists in each codec fixes that.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-18 21:44:22 +01:00
Paul B Mahol 480ddf2bc9 lavfi/histogram: overlay display mode for levels histogram mode
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-18 20:13:07 +00:00
Michael Niedermayer e39821a65e nutenc: only write an index if there are syncpoints
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-18 20:51:54 +01:00
Michael Niedermayer 6cd650dbd2 ff_gen_search: Fix finding the maximum timestamp in a really small file
Fixes Assertion failure

Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-18 20:37:17 +01:00
Michael Niedermayer 695a766bff ff_read_timestamp: check stream_index before using it as array index
Fixes out of array read

Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-18 20:37:17 +01:00
Paul B Mahol 85921499c7 cdgraphics: set palette to zero too
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-18 16:38:06 +00:00
Paul B Mahol 1f4ab61b74 lavc/cdxl: clear palette before reading it
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-18 16:19:27 +00:00
Daniel Kang 9acd23d655 x86: dsputil: Fix h263 loop filter link error in some configurations
This was caused by unconditionally referencing a conditionally compiled
table. Now the code is also compiled conditionally.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-02-18 17:09:00 +01:00
Daniel Kang 7a03145ed7 x86: dsputil: int --> ptrdiff_t for ff_put_pixels16_mmxext line_size param
This avoids SIMD-optimized functions having to sign-extend their
line size argument manually to be able to do pointer arithmetic.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-02-18 15:23:03 +01:00
Ronald S. Bultje 71ae8d50b2 x86/dsputil: fix compilation when h263 decoder/encoder are disabled.
The symbol "ff_h263_loop_filter_strength" is defined in h263.c, but
the h263 loopfilter functions (in the .asm file) are not optimized
out (even though their function pointers are never assigned).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-18 15:18:56 +01:00
Ronald S. Bultje 51513b98d6 h264/svq3: stop using draw_edges.
Instead, only extend edges on-demand when the motion vector actually
crosses the visible decoded area using ff_emulated_edge_mc(). This
changes decoding time for cathedral from 8.722sec to 8.706sec, i.e.
0.2% faster overall. More generally (VP8 uses this also), low-motion
content gets significant speed improvements, whereas high-motion content
tends to decode in approximately the same time.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-18 15:18:56 +01:00
Clément Bœsch f894246304 lavf/showspectrum: add divVerent in the (c) for his recent work on the filter. 2013-02-18 13:34:37 +01:00
Vicente Jimenez Aguilar 202b5f6deb doc: Fix some obsolete references to av* tools as ff* tools
Signed-off-by: Diego Biurrun <diego@biurrun.de>

CC: libav-stable@libav.org
2013-02-18 13:04:29 +01:00
Michael Niedermayer 0789374ed3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  svq3: unbreak decoding

No change to the code as this fix was already part of FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-18 13:03:38 +01:00
Michael Niedermayer 82e82fa2e5 Merge commit 'aa11cb79318baa3415d553424ba378f6c62e1f9b'
* commit 'aa11cb79318baa3415d553424ba378f6c62e1f9b':
  build: make audio_frame_queue a stand-alone component

Conflicts:
	configure
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-18 12:55:31 +01:00
Michael Niedermayer 4b7c81c3e0 Merge commit '870a0c669e536d56c6325d84f65e34c53792398e'
* commit '870a0c669e536d56c6325d84f65e34c53792398e':
  build: The libopencore-amrnb encoder depends on audio_frame_queue

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-18 12:29:31 +01:00
Michael Niedermayer 2220f13d82 Merge commit '8837f4396a1a458a0efb07fe7daba7b847755a7a'
* commit '8837f4396a1a458a0efb07fe7daba7b847755a7a':
  libopencore-amrwb: Make AMR-WB ifdeffery more precise

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-18 12:20:16 +01:00
Michael Niedermayer ab213b5360 Merge commit 'e6bda9a9fd86505927a2e095e495eae104860701'
* commit 'e6bda9a9fd86505927a2e095e495eae104860701':
  libopencore-amr: Conditionally compile decoder and encoder bits

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-18 12:15:12 +01:00
Michael Niedermayer 4ff0e63a01 Merge commit '56632fef65c0cb6946ed3648ded3d7b82e5c5c17'
* commit '56632fef65c0cb6946ed3648ded3d7b82e5c5c17':
  libopencore-amrnb: cosmetics: Group all encoder-related code together

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-18 12:10:57 +01:00
Michael Niedermayer f88f7b86a9 Merge commit '0b70fb1d518cbd796545fd6eef02772cd0d892c7'
* commit '0b70fb1d518cbd796545fd6eef02772cd0d892c7':
  dsputil: convert remaining op_pixels_func

No changes to the code as all these fixes already existed in FFmpeg.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-18 12:03:55 +01:00
Michael Niedermayer 96008082db Merge commit '488f87be873506abb01d67708a67c10a4dd29283'
* commit '488f87be873506abb01d67708a67c10a4dd29283':
  roqvideodec: check dimensions validity
  vqavideo: check chunk sizes before reading chunks
  qdm2: check array index before use, fix out of array accesses

Conflicts:
	libavcodec/qdm2.c
	libavcodec/roqvideodec.c
	libavcodec/vqavideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-18 11:26:53 +01:00
Matti Hamalainen 7f3624dc81 svq3: unbreak decoding
a7d2861d36 removed necessary braces.
2013-02-18 02:55:07 +01:00
Ronald S. Bultje c63f9fb37a h264: don't store intra pcm samples in h->mb.
Instead, keep them in the bitstream buffer until we read them verbatim,
this saves a memcpy() and a subsequent clearing of the target buffer.
decode_cabac+decode_mb for a sample file (CAPM3_Sony_D.jsv) goes from
6121.4 to 6095.5 cycles, i.e. 26 cycles faster.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-18 01:21:23 +01:00
Michael Niedermayer 54b2bddd22 v4l2: try to fix build on BSD
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-18 00:53:17 +01:00
Paul B Mahol f4e29c408c lavfi/noise: switch to AVLFG noise generator
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-17 21:45:21 +00:00
Carl Eugen Hoyos 259603b917 h264: don't initialize missing pictures when using VDPAU.
This fixes an assertion failure when running mplayer -vc ffh264vdpau.

Reported by irc user ioni.
2013-02-17 22:33:40 +01:00
Michael Niedermayer dece584a63 h264: avoid calling get_format() multiple times
Some applications do not like that.
Fixes VDA
Reduces noise for VDPAU

Tested-by: Guillaume POIRIER <poirierg@gmail.com>
Tested-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-17 22:26:33 +01:00
Luca Barbato aa11cb7931 build: make audio_frame_queue a stand-alone component
Encoders requiring it have the dependency expressed in the
configure.
2013-02-17 22:05:18 +01:00
Carl Eugen Hoyos 8d0757e107 Revert "swfenc: use av_get_audio_frame_duration() instead of AVCodecContext.frame_size"
This reverts commit 620b88a302.

Fixes ticket #2272.

Conflicts:
	libavformat/swfenc.c
2013-02-17 19:56:09 +01:00
Carl Eugen Hoyos fdbe7628a9 Add yvu410 as a supported v4l2 input format. 2013-02-17 19:45:58 +01:00
Carl Eugen Hoyos fdec49cbe8 Add gray16 as a supported v4l2 input format. 2013-02-17 19:44:13 +01:00
Michael Niedermayer 29c8619a49 fate: add print() to the tests of eval
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-17 17:36:27 +01:00
Michael Niedermayer 09ece9fa6c eval: print() support
This allows printing values via av_log from expressions.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-17 17:36:27 +01:00
Carl Eugen Hoyos cf36180143 Only set accelerated arm fft functions if fft is enabled.
Fixes lavc compilation (linking) for configurations without fft.

Reported-by: tyler wear
Tested-by: Gavin Kinsey
2013-02-17 17:29:55 +01:00
Clément Bœsch 1e860f1668 doc/codecs: simple sub_charenc option documentation. 2013-02-17 16:58:19 +01:00
Nicolas George dcc73aaaa9 doc/examples: do not allocate AVFrame directly.
The size of the AVFrame structure is not part of the ABI;
it can grow with later versions. Therefore, applications
are not supposed to allocate AVFrame directly, they are
supposed to use avcodec_alloc_frame() instead.
2013-02-17 15:51:50 +01:00
Michael Niedermayer 59e46ef63a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  error_resilience: add required headers.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-17 14:24:09 +01:00
Clément Bœsch f3147917bf lavf/subtitles: error out in case of bitmap subtitles. 2013-02-17 13:35:35 +01:00
Clément Bœsch fe150a48a7 lavc: fix codec_descriptor and pkt_timebase doxy. 2013-02-17 13:35:32 +01:00
Stefano Sabatini 894ed8fbb7 tests: fix values for the unsharp test
Set odd size for unsharp matrices, even values are not accepted.
2013-02-17 13:29:46 +01:00
Clément Bœsch b1e6b144ed lavc/utils: reindent in avcodec_decode_subtitle2() after f7963993. 2013-02-17 13:08:30 +01:00
Clément Bœsch 90fb3e9bee lavfi/subtitles: set a different description between ass and subtitles. 2013-02-17 12:58:20 +01:00
Clément Bœsch 2a14b23484 lavfi: rename vf_ass.c to vf_subtitles.c 2013-02-17 12:58:20 +01:00
Clément Bœsch 08d149d688 lavfi/subtitles: support charenc option. 2013-02-17 12:58:20 +01:00
Clément Bœsch 3a0a959dcb lavfi/subtitles: split options between ass and subtitles. 2013-02-17 12:58:20 +01:00
Clément Bœsch f796399344 lavc: support subtitles character encoding conversion. 2013-02-17 12:57:56 +01:00
Diego Biurrun 870a0c669e build: The libopencore-amrnb encoder depends on audio_frame_queue
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-02-17 12:03:25 +01:00
Diego Biurrun 8837f4396a libopencore-amrwb: Make AMR-WB ifdeffery more precise
The library might provide an encoder in the future, so it's better to
check for the presence of the decoder rather than just the library.

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-02-17 12:03:25 +01:00
Diego Biurrun e6bda9a9fd libopencore-amr: Conditionally compile decoder and encoder bits
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-02-17 12:03:25 +01:00
Diego Biurrun 56632fef65 libopencore-amrnb: cosmetics: Group all encoder-related code together
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-02-17 12:03:24 +01:00
Luca Barbato 0b70fb1d51 dsputil: convert remaining op_pixels_func
Convert to diffptr_t the line_size parameters still int.

Remove all the warnings in dsputil.c
2013-02-17 12:03:24 +01:00
Clément Bœsch 8732271e40 lavc: mark bitmap based subtitles codecs as such. 2013-02-17 11:59:24 +01:00
Stefano Sabatini 7ca2f8b113 lavfi/mp: drop mp=kerndeint filter
The filter has been natively integrated into libavfilter.
2013-02-17 11:48:45 +01:00
Stefano Sabatini 8c85a9f046 lavfi/mp: drop mp=unsharp filter
The native filter is equivalent from the point of view of the features
and of performances.
2013-02-17 11:48:37 +01:00
Stefano Sabatini 89505f2c3f lavfi/unsharp: add missing NULL check 2013-02-17 11:48:31 +01:00
Stefano Sabatini 64e592eef2 lavfi/unsharp: merge definition and declaration in init_filter_param() 2013-02-17 11:48:24 +01:00
Stefano Sabatini d2cadea3f0 lavfi/unsharp: directly access in-loop variables in apply_unsharp()
Increase performance, to match mp=unsharp.
2013-02-17 11:48:12 +01:00
Stefano Sabatini ef4c71e8f8 lavfi/unsharp: add check on matrix x/y size values oddity 2013-02-17 11:47:39 +01:00
Michael Niedermayer 488f87be87 roqvideodec: check dimensions validity
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3ae6104511)

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

CC: libav-stable@libav.org

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-17 11:31:20 +01:00
Michael Niedermayer f7d18deb73 vqavideo: check chunk sizes before reading chunks
Fixes out of array writes

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ab6c9332bf)

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

CC: libav-stable@libav.org

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-17 11:31:20 +01:00
Michael Niedermayer 39bec05ed4 qdm2: check array index before use, fix out of array accesses
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

(cherry picked from commit a7ee6281f7)

CC: libav-stable@libav.org

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-17 11:31:20 +01:00
Anton Khirnov 1f8f43a5b5 error_resilience: add required headers. 2013-02-17 06:46:43 +01:00
James Almer b8bb661dab Changelog: Add entry for encrypted TTA stream decoding
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-17 00:37:12 +01:00
James Almer 2e988fd689 lavc/tta: Use a safer check for encrypted streams
The user can provide a password even when the stream
is not encrypted, so check the value of s->format
instead of s->pass in ttafilter_init().

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-17 00:34:38 +01:00
Hendrik Leppkes 1d6f6ff4d9 h264: don't initialize missing pictures when using a hwaccel
Writing into uninitialized hw surfaces is not supported and triggers an assert inside avpriv_color_frame

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-17 00:28:42 +01:00
James Almer a56fd9edab lavu: Fix checkheaders for x86/emms.h
internal.h doesn't need to include cpu.h anymore since
the relevant code was moved to x86/emms.h

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-17 00:18:16 +01:00
Michael Niedermayer b7fe35c9e5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: deMpegEncContextize

Conflicts:
	libavcodec/dxva2_h264.c
	libavcodec/h264.c
	libavcodec/h264.h
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_loopfilter.c
	libavcodec/h264_mb_template.c
	libavcodec/h264_parser.c
	libavcodec/h264_ps.c
	libavcodec/h264_refs.c
	libavcodec/h264_sei.c
	libavcodec/svq3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 23:30:09 +01:00
Michael Niedermayer ddbbfd95be Merge commit '1d0feb5d1ac04d187b335f0e8d411c9f40b3a885'
* commit '1d0feb5d1ac04d187b335f0e8d411c9f40b3a885':
  mpegvideo: split ff_draw_horiz_band().

Conflicts:
	libavcodec/vc1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 19:00:39 +01:00
Michael Niedermayer 1fad547cef Merge commit '54974c62982ae827becdbdb9b620b7ba75d079a0'
* commit '54974c62982ae827becdbdb9b620b7ba75d079a0':
  error_resilience: decouple ER from MpegEncContext

Conflicts:
	libavcodec/error_resilience.c
	libavcodec/h263dec.c
	libavcodec/h264.c
	libavcodec/mpegvideo.c
	libavcodec/vc1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 18:54:56 +01:00
Stefano Sabatini 2bac1535db Changelog: add missing empty line after the version line 2013-02-16 16:08:06 +01:00
Michael Niedermayer 8b7568cc34 Merge commit 'd9ebb00dcbaac3812b8b1fbc3d6e027506c11cbc'
* commit 'd9ebb00dcbaac3812b8b1fbc3d6e027506c11cbc':
  svq3: remove a pointless if()
  h264: remove a pointless if()

Conflicts:
	libavcodec/h264.c
	libavcodec/svq3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 14:30:21 +01:00
Michael Niedermayer 131b9c924d Merge commit '68f930d2188aba5b32624887dcbf688c23482834'
* commit '68f930d2188aba5b32624887dcbf688c23482834':
  h264: simplify calls to ff_er_add_slice().

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 14:13:20 +01:00
Michael Niedermayer 0a707da37b cinepack: print an error if cinepak_decode() failed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 13:49:04 +01:00
Michael Niedermayer b4bb996d6f yadif: remove unused variable
Found by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 13:24:43 +01:00
Michael Niedermayer bb29ee62e9 Merge commit 'd2a25c4032ce6ceabb0f51b5c1e6ca865395a793'
* commit 'd2a25c4032ce6ceabb0f51b5c1e6ca865395a793':
  get_buffer(): do not initialize the data.

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 13:13:42 +01:00
Michael Niedermayer 1c5b8b916d h264: color frames gray
This prevents a regression from the removial of the buffer
initialization

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 13:13:18 +01:00
Michael Niedermayer a53b144ec0 avcodec: add avpriv_color_frame()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 13:13:18 +01:00
Paul B Mahol af882e1819 lavfi: port MP noise filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-16 11:42:41 +00:00
Michael Niedermayer 1e78679768 mpegvideo_enc: draw edges on input
Improves Motion estimation, avoids using out of picture areas for %16 != 0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 11:08:21 +01:00
Michael Niedermayer 446f7c62a2 Merge commit '64ed397635ef2666b0ca0c8d8c60a8bc44581d82'
* commit '64ed397635ef2666b0ca0c8d8c60a8bc44581d82':
  vf_yadif: fix out-of line reads

Conflicts:
	libavfilter/vf_yadif.c
	tests/ref/fate/filter-yadif-mode0
	tests/ref/fate/filter-yadif-mode1

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 09:09:38 +01:00
Michael Niedermayer fab8a89abe Merge commit 'ccd70d9c1689990e5aef2de383199bbc7cf60d13'
* commit 'ccd70d9c1689990e5aef2de383199bbc7cf60d13':
  vf_yadif: factorize initializing the filtering callbacks

Conflicts:
	libavfilter/vf_yadif.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 08:48:45 +01:00
Michael Niedermayer b9c544891b Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: only display frames if there are no pending events
  ffplay: remove remains of video_clock
  ffplay: remove refresh thread to achieve more precise frame delay

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 03:03:34 +01:00
James Darnley 87d359ff8f lavfi/yadif: support 9, 12, and 14 bits per pixel
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 00:32:02 +01:00
James Darnley 724061888b lavfi/yadif: remove unnecessary cast
Finish what 99162f8 started

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 00:32:02 +01:00
Stefano Sabatini f84ef19f3f lavfi/kerndeint: move is_rgb_packed definition to the internal context
No need to recompute it for each new frame.
2013-02-16 00:08:31 +01:00
Clément Bœsch 51ba843f19 lavfi/kerndeint: use aligned linesizes for the temporary buffer.
This improves the performances just enough to match mp=kerndeint.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-02-16 00:08:31 +01:00
Stefano Sabatini 2042cd3769 lavfi/unsharp: extend range for amount values, to reflect the behavior of mp=unsharp
Also update the documentation accordingly, and suggest a meaningful range.
2013-02-16 00:08:31 +01:00
Stefano Sabatini 37b42bcb7d doc/filters: itemize unsharp examples
Also drop pointless example.
2013-02-16 00:08:31 +01:00
Stefano Sabatini fbcc584d3a lavfi/unsharp: use named options, and add missing checks on matrix size values
In particular, avoid out-of-buffer access and crashes with too big
values, and rework documentation accordingly.
2013-02-16 00:08:31 +01:00
Michael Niedermayer 5e947aeb59 sws/x86: improve rounding for yuv2yuvX
This tries to compensate for the errors introduced by
the rounding of pmulhw

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-15 23:33:04 +01:00
Hendrik Leppkes 5ad43af9a6 lavfi/kerndeint: use av_pix_fmt_desc_get instead of directly accessing the table
Fixes FATE in MSVC DLL builds.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-15 19:07:37 +01:00
Stefano Sabatini 0018221c03 doc: fix reference to ffmpeg-bitstream-filters.html page 2013-02-15 18:56:27 +01:00
sedacca@comcast.net b64de24fd7 lavfi/ebur128: advance pointer to samples
Correct the advancement of a pointer to skip over LFE samples as
intended in the loudness computation.

This suggested patch is 3 of 3 for Ticket #2144 "libavfilter ebur128
loudness inaccuracy, irregular time interval, LFE interference".
This suggested patch supersedes the contribution of January 15, 2013
in the thread “[PATCH] lavfi: EBU R.128 irreg time, ch weights, skip
LFE” which combined multiple fixes in one batch.
2013-02-15 16:39:25 +01:00
David A. Sedacca de21e6736e lavfi/ebur128: fix channel weights
Correct the recognition of channel layouts for good channel weight
in the loudness computation.
This suggested patch is 2 of 3 for Ticket #2144 "libavfilter ebur128
loudness inaccuracy, irregular time interval, LFE interference".

Signed-off-by: David A. Sedacca <sedacca at comcast.net>
2013-02-15 16:38:58 +01:00
Anton Khirnov 2c54155407 h264: deMpegEncContextize
Most of the changes are just trivial are just trivial replacements of
fields from MpegEncContext with equivalent fields in H264Context.
Everything in h264* other than h264.c are those trivial changes.

The nontrivial parts are:
1) extracting a simplified version of the frame management code from
   mpegvideo.c. We don't need last/next_picture anymore, since h264 uses
   its own more complex system already and those were set only to appease
   the mpegvideo parts.
2) some tables that need to be allocated/freed in appropriate places.
3) hwaccels -- mostly trivial replacements.
   for dxva, the draw_horiz_band() call is moved from
   ff_dxva2_common_end_frame() to per-codec end_frame() callbacks,
   because it's now different for h264 and MpegEncContext-based
   decoders.
4) svq3 -- it does not use h264 complex reference system, so I just
   added some very simplistic frame management instead and dropped the
   use of ff_h264_frame_start(). Because of this I also had to move some
   initialization code to svq3.

Additional fixes for chroma format and bit depth changes by
Janne Grunau <janne-libav@jannau.net>

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-02-15 16:35:16 +01:00
Anton Khirnov 1d0feb5d1a mpegvideo: split ff_draw_horiz_band().
Split out dependency on MpegEncContext.
2013-02-15 16:10:19 +01:00
Anton Khirnov 54974c6298 error_resilience: decouple ER from MpegEncContext 2013-02-15 16:10:11 +01:00
Anton Khirnov d9ebb00dcb svq3: remove a pointless if()
The H264 context is always uninitialized at this point.
2013-02-15 16:09:52 +01:00
Anton Khirnov 2491f9ee29 h264: remove a pointless if()
!encoding is always true, we do not have a H.264 encoder
2013-02-15 16:09:45 +01:00
Anton Khirnov 68f930d218 h264: simplify calls to ff_er_add_slice().
partitioned_frame is never set for h264 (as easily seen from git grep).
2013-02-15 16:09:37 +01:00
Anton Khirnov d2a25c4032 get_buffer(): do not initialize the data.
There may be more decoders that rely on this. Those should be found and
fixed.
2013-02-15 16:08:44 +01:00
Anton Khirnov 64ed397635 vf_yadif: fix out-of line reads
Some changes in the border pixels, visually indistinguishable.
2013-02-15 16:08:33 +01:00
Anton Khirnov ccd70d9c16 vf_yadif: factorize initializing the filtering callbacks
Do it all in config_props().
2013-02-15 16:08:00 +01:00
Marton Balint 77ab702a84 ffplay: only display frames if there are no pending events
Otherwise events could just pile up if displaying a frame takes more time than
the duration of the frame.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-15 13:12:10 +01:00
Michael Niedermayer f98598942f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  sparc: dsputil: Simplify high_bit_depth checks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-15 12:30:21 +01:00
Michael Niedermayer 048ecbd3f8 Merge commit '49fe280753e0f167ac3d9f227f0c0f7744501fc1'
* commit '49fe280753e0f167ac3d9f227f0c0f7744501fc1':
  h264idct: Replace duplicate scan8 table by appropriate #include

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-15 12:18:42 +01:00
Michael Niedermayer 61fbb4cd57 Merge commit '4db96649ca700db563d9da4ebe70bf9fc4c7a6ba'
* commit '4db96649ca700db563d9da4ebe70bf9fc4c7a6ba':
  avutil: Ensure that emms_c is always defined, even on non-x86
  configure: Move MinGW CPPFLAGS setting to libc section, where it belongs
  avutil: Move emms code to x86-specific header

Conflicts:
	configure
	libavutil/internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-15 12:10:08 +01:00
Cyrille Faucheux 75758f84de build: fixes a "can't cd to..." issue when installing shared libraries.
The problem is reproducible with a relative prefix path.
2013-02-15 08:39:35 +01:00
Michael Niedermayer 4a6fa7963b lavf: dont try to find fps for attached pictures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-15 03:19:18 +01:00
Diego Biurrun 3594554a06 sparc: dsputil: Simplify high_bit_depth checks 2013-02-15 02:13:42 +01:00
Stefano Sabatini 7ac3ccc5f2 lavfi/unsharp: use the same macros used in the original MP filter
Remove possibly pointless inconsistency with the ported code.

Also specify parameter value ranges consistent with those of the ported
filter.
2013-02-15 01:06:56 +01:00
Stefano Sabatini 772b949d8e examples/scaling_video: fix typo 2013-02-15 00:28:53 +01:00
Michael Niedermayer 8102a097a5 doc/APIchanges: List merge commit hashes and version numbers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-15 00:25:16 +01:00
Diego Biurrun 49fe280753 h264idct: Replace duplicate scan8 table by appropriate #include 2013-02-15 00:14:15 +01:00
Marton Balint 5534d8f75e ffplay: remove remains of video_clock
We are now using a pts based approach, libavutil/libavcodec should provide the
correct pts-es anyway. This also fixes an issue when seeking to a frame with a
pts set to zero.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-15 00:10:46 +01:00
Marton Balint b853cfe7ea ffplay: remove refresh thread to achieve more precise frame delay
We use a refresh loop which displays the frames and also does the polling for
pending events in a non-blocking way. If we know the required delay until the
next frame, then exactly that amount of sleeping will be done. After each
handled event we check if we have to display a frame which kind of makes
displaying the frame a high priority event.

This improves greatly the smoothness of the video output especially with 50fps
content.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-15 00:10:46 +01:00
rogerdpack 12c71f648c dshow: Fix MSVC support, remove av_export, which was apparently unneeded anyway.
Also cleanup exported symbols

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-15 00:08:12 +01:00
Vignesh Venkatasubramanian 003be0a9c3 Removing network.h from matroskadec.c
Removing accidentally added include file.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 23:59:41 +01:00
Michael Niedermayer c3fb20bab4 ffmpeg: Check for parameter changes at the output of the audio filter graph
It is currently possible that such changes leak through from the decoder as
well as a filter could generate such changes itself.
This commit blocks such changed packets unless the encoder declares support.

Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 23:56:51 +01:00
Clément Bœsch d5ce725cb3 Fix a few "its" vs "it's" typo. 2013-02-14 23:45:48 +01:00
Clément Bœsch 35a995f451 doc/resampler: fix two typo. 2013-02-14 23:43:08 +01:00
Clément Bœsch 0224375180 lavfi/showspectrum: simplify intensity_color_table declaration. 2013-02-14 23:10:01 +01:00
Clément Bœsch cf8dec7d64 lavfi/showspectrum: pretty-align constants.
Binary object unchanged.
2013-02-14 23:04:20 +01:00
Vignesh Venkatasubramanian ce6a8e5947 Adding AlphaMode element to Matroska Parser
Adding support for parsing AlphaMode element in the Track header
and export that information as a metadata tag. This flag indicates
presence of alpha channel data in BlockAdditional element.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 21:34:47 +01:00
Michael Niedermayer 2f3bc51228 apichanges: fix 2 wrong hashes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 21:13:32 +01:00
Michael Niedermayer 33d6330652 apichanges: Use , instead of / to seperate multiple hashes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 20:34:10 +01:00
Michael Niedermayer ad6802f975 apichanges: fix date
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 20:32:24 +01:00
Diego Biurrun 4db96649ca avutil: Ensure that emms_c is always defined, even on non-x86 2013-02-14 19:29:04 +01:00
James Almer 8c95d177df fate: Add encrypted tta stream test
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 17:48:08 +01:00
Michael Niedermayer 405cc0d905 movenc: hotfix, dont store fiel for h264 / mpeg4-asp / dnxhd
Other software does not store it in this case, and the information
is provided by the codec stream

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 17:48:08 +01:00
Diego Biurrun 759a3a2177 configure: Move MinGW CPPFLAGS setting to libc section, where it belongs 2013-02-14 17:37:42 +01:00
Diego Biurrun ab441e20ff avutil: Move emms code to x86-specific header 2013-02-14 17:37:34 +01:00
Nicolas George c557a5b08e lavfi/vf_ass: reindent after last commit. 2013-02-14 16:36:03 +01:00
Nicolas George bb3303b94c lavfi/vf_ass: ignore subtitles decoding errors.
A broken packet with invalid data in the middle of the stream
should not prevent from decoding the rest of the file.

Work around trac ticket #2264.
2013-02-14 16:33:53 +01:00
Carl Eugen Hoyos 7d0e3b197c Write the fiel atom to mov files independently of the used video coded.
The QuickTime specification does not contain any hint that the atom
must not be written in some cases and both the QuickTime and the
AVID decoders do not fail if the atom is present.

This change allows to signal (visually) interlaced streams with
a codec different from uncompressed video.

As a side-effect, this fixes ticket #2202
2013-02-14 15:08:37 +01:00
Paul B Mahol 41ae43cade lavfi: remove softskip libmpcodecs wrapper
It is supposed to be used with mencoder only and does
nothing when used with ffmpeg.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-14 12:51:56 +00:00
Paul B Mahol 968f8acec8 lavfi: remove dsize libmpcodecs wrapper
Filter does nothing, and supposed funcionality
is already available with native filter(s).

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-14 12:51:56 +00:00
Michael Niedermayer 8bbb487e44 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doc/platform: Fix 10l typo
  dsputil: Move STRIDE_ALIGN macro to the only place it is used

Conflicts:
	libavcodec/dsputil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 11:00:22 +01:00
Michael Niedermayer 9f16cb9e50 doc/APIchanges: fix odd .01 versions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 03:33:59 +01:00
Michael Niedermayer a08ebf04b1 matroskadec: simplify additional_id writing code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 00:55:25 +01:00
Vignesh Venkatasubramanian 30c5c45b12 Adding support for parsing BlockAdditional
Matroska specification lists support for BlockAdditional element
which is not supported by ffmpeg's matroska parser. This patch
adds grammar definitions for parsing that element (and few other
related elements) and then puts the data in AVPacket.side_data
with new AVPacketSideDataType AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 00:46:28 +01:00
Michael Niedermayer 701e9b8254 h264: Use mb itself as memcpy anchor and assert the other anchors position
This makes the code more robust against reordering or fields.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 00:42:20 +01:00
Derek Buitenhuis 130cefc9dc doc/platform: Fix 10l typo
This error was somehow missed for months.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-02-13 18:41:37 -05:00
Ronald S. Bultje faf8eca08d h264: remove clear_blocks call in threading init.
Init code in that if statement goes down from 26716 cycles to 26047
cycles, i.e. the removal of the clear_blocks and smaller memcpy()
together save around 670 cycles.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 00:15:02 +01:00
Michael Niedermayer c230af9bcc h264: Reset last_pocs in case of reference or frame number inconsistencies
This prevents faulty increasing of has_b_frames
Should fix Ticket 2062

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 23:19:51 +01:00
Diego Biurrun c6507946d4 dsputil: Move STRIDE_ALIGN macro to the only place it is used 2013-02-13 20:23:39 +01:00
Clément Bœsch 15e7533ca1 doc/dev: clarify public symbols prefixes. 2013-02-13 20:19:32 +01:00
Daniel Verkamp 5dd78ef34e WAV muxer: reindent 2013-02-13 17:36:55 +00:00
Michael Niedermayer 21cd905cd4 swr: check channel layouts before using them.
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 17:50:24 +01:00
Paul B Mahol 34126cd090 lavfi/transpose: support more pix fmts
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-13 16:29:47 +00:00
Paul B Mahol cf73e0bff3 lavu/intreadwrite: add AV_[RW][BLN]48
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-13 15:35:54 +00:00
Michael Niedermayer 324d96644b libvorbisdec: Remove AVFrame from context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 16:07:07 +01:00
Michael Niedermayer fe84577273 libvorbisdec: set sample type
Fixes regression

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 15:42:36 +01:00
Nicolas George a17ececcc7 libcelt: decode directly to the user-provided AVFrame. 2013-02-13 15:05:16 +01:00
Nicolas George b68dd8a161 lavf/concatdec: allow probing. 2013-02-13 14:58:50 +01:00
Nicolas George db9dc5154d lavf/concatdec: add signature directive. 2013-02-13 14:58:50 +01:00
Nicolas George 6d680d20ad lavf/concatdec: add safe option. 2013-02-13 14:58:50 +01:00
Michael Niedermayer b2e57eb5a3 mjpegdec: pass nb_components into ljpeg_decode_yuv_scan
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 14:20:46 +01:00
Paul B Mahol 8f7c7ff2d6 evrcdec: decode directly to the user-provided AVFrame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-13 12:33:48 +00:00
Paul B Mahol 2cced2a854 paf: decode directly to the user-provided AVFrame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-13 12:33:48 +00:00
Paul B Mahol 9145818ecd vima: decode directly to the user-provided AVFrame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-13 12:33:48 +00:00
Michael Niedermayer 845fa2f5c9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavr: fix mixing matrix reduction when normalization is disabled
  lavr: fix matrix reduction for upmixing in certain cases
  lavr: cosmetics: reindent

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 12:58:29 +01:00
Michael Niedermayer 91043de825 Merge commit '1647da89dd8ac09a55c111589f7a30d7e6b87d90'
* commit '1647da89dd8ac09a55c111589f7a30d7e6b87d90':
  lavr: make sure that the mix function is reset even if no mixing will be done
  lavr: print out the mix matrix in ff_audio_mix_set_matrix()
  ws-snd1: decode directly to the user-provided AVFrame
  wmavoice: decode directly to the user-provided AVFrame

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 12:54:08 +01:00
Michael Niedermayer 0dff771f31 Merge commit '205a95f7b5178362874bc1e65eae9866723491c1'
* commit '205a95f7b5178362874bc1e65eae9866723491c1':
  wmaenc: alloc/free coded_frame instead of keeping it in the WMACodecContext
  wma: decode directly to the user-provided AVFrame
  wmapro: decode directly to the user-provided AVFrame
  wavpack: decode directly to the user-provided AVFrame

Conflicts:
	libavcodec/wavpack.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 12:49:48 +01:00
Michael Niedermayer dca6fb08a7 Merge commit 'ee6ca11b657515ad736ec0d2b8635e098d0a2680'
* commit 'ee6ca11b657515ad736ec0d2b8635e098d0a2680':
  vorbis: decode directly to the user-provided AVFrame
  vmdaudio: decode directly to the user-provided AVFrame
  twinvq: decode directly to the user-provided AVFrame
  tta: decode directly to the user-provided AVFrame
  truespeech: decode directly to the user-provided AVFrame

Conflicts:
	libavcodec/tta.c
	libavcodec/twinvq.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 12:42:14 +01:00
Michael Niedermayer 2becf21d9f Merge commit '4a2b26fc1b1ad123eba473a20e270f2b0ba92bca'
* commit '4a2b26fc1b1ad123eba473a20e270f2b0ba92bca':
  tak: decode directly to the user-provided AVFrame
  smackaud: decode directly to the user-provided AVFrame
  sipr: decode directly to the user-provided AVFrame
  shorten: decode directly to the user-provided AVFrame

Conflicts:
	libavcodec/shorten.c
	libavcodec/takdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 12:35:37 +01:00
Michael Niedermayer 08059f6150 Merge commit '5d5c248c3df30fa91a8dde639618c985b9a11c53'
* commit '5d5c248c3df30fa91a8dde639618c985b9a11c53':
  s302m: decode directly to the user-provided AVFrame
  ra288: decode directly to the user-provided AVFrame
  ra144: decode directly to the user-provided AVFrame
  ralf: decode directly to the user-provided AVFrame
  qdm2: decode directly to the user-provided AVFrame

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 12:28:27 +01:00
Michael Niedermayer 65da700704 Merge commit '1b9b6d6e5ea556b6d307f9d473f54f6406fdc3c8'
* commit '1b9b6d6e5ea556b6d307f9d473f54f6406fdc3c8':
  qcelp: decode directly to the user-provided AVFrame
  pcm-bluray: decode directly to the user-provided AVFrame
  nellymoser: decode directly to the user-provided AVFrame
  mpc7/8: decode directly to the user-provided AVFrame
  mpegaudio: decode directly to the user-provided AVFrame
  mlp/truehd: decode directly to the user-provided AVFrame

Conflicts:
	libavcodec/mpc7.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 12:22:35 +01:00
Michael Niedermayer afe30fe060 Merge commit '86bfcfcf2364bc837b7bb582c66a8a15a332414f'
* commit '86bfcfcf2364bc837b7bb582c66a8a15a332414f':
  mace: decode directly to the user-provided AVFrame
  libspeex: decode directly to the user-provided AVFrame
  libopus: decode directly to the user-provided AVFrame
  libopencore-amr: decode directly to the user-provided AVFrame
  libgsm: decode directly to the user-provided AVFrame

Conflicts:
	libavcodec/libopusdec.c
	libavcodec/mace.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 12:14:46 +01:00
Michael Niedermayer 5459cf4114 Merge commit 'a8ea936a0a00570f61a16a588821b52f6a3115c2'
* commit 'a8ea936a0a00570f61a16a588821b52f6a3115c2':
  libilbc: decode directly to the user-provided AVFrame
  dpcm: decode directly to the user-provided AVFrame
  imc/iac: decode directly to the user-provided AVFrame
  gsm: decode directly to the user-provided AVFrame

Conflicts:
	libavcodec/dpcm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 12:05:00 +01:00
Michael Niedermayer d88e674a15 Merge commit 'cb7b47a61dba0b9329ecede5dd3211dc0662dc05'
* commit 'cb7b47a61dba0b9329ecede5dd3211dc0662dc05':
  g726: decode directly to the user-provided AVFrame
  g723.1: decode directly to the user-provided AVFrame
  g722: decode directly to the user-provided AVFrame
  flac: decode directly to the user-provided AVFrame
  cinaudio: decode directly to the user-provided AVFrame

Conflicts:
	libavcodec/g723_1.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 11:59:51 +01:00
Michael Niedermayer 0a5138695a Merge commit '182821cff43f5f977004d105b86c47ceb20d00d6'
* commit '182821cff43f5f977004d105b86c47ceb20d00d6':
  dca: decode directly to the user-provided AVFrame
  cook: decode directly to the user-provided AVFrame
  comfortnoise: decode directly to the user-provided AVFrame
  bmvaudio: decode directly to the user-provided AVFrame
  pcm: decode directly to the user-provided AVFrame

Conflicts:
	libavcodec/pcm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 11:53:23 +01:00
Michael Niedermayer f03cdbd045 Merge commit '5cc0bd2cb47cbb1040f2bb0ded8d72a442c79b20'
* commit '5cc0bd2cb47cbb1040f2bb0ded8d72a442c79b20':
  binkaudio: decode directly to the user-provided AVFrame
  atrac3: decode directly to the user-provided AVFrame
  atrac1: decode directly to the user-provided AVFrame
  ape: decode directly to the user-provided AVFrame
  amrwb: decode directly to the user-provided AVFrame

Conflicts:
	libavcodec/amrwbdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 11:45:25 +01:00
Michael Niedermayer d13f434dbb Merge commit 'e3db34291f4401a16f6ac92721617a9f33cd4c31'
* commit 'e3db34291f4401a16f6ac92721617a9f33cd4c31':
  amrnb: decode directly to the user-provided AVFrame
  als: decode directly to the user-provided AVFrame
  alac: decode directly to the user-provided AVFrame
  adxenc: alloc/free coded_frame instead of keeping it in the ADXContext
  adx: decode directly to the user-provided AVFrame

Conflicts:
	libavcodec/alsdec.c
	libavcodec/amrnbdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 11:39:05 +01:00
Michael Niedermayer 4789955ec4 Merge commit 'e57daa876bf0cf50782550e366e589441cd8c2bd'
* commit 'e57daa876bf0cf50782550e366e589441cd8c2bd':
  adpcm: decode directly to the user-provided AVFrame
  ac3: decode directly to the user-provided AVFrame
  aac: decode directly to the user-provided AVFrame
  8svx: decode directly to the user-provided AVFrame

Conflicts:
	libavcodec/8svx.c
	libavcodec/ac3dec.c
	libavcodec/adpcm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 11:27:54 +01:00
Daniel Verkamp 2acd5fb553 doc/demuxers: quote command line arguments with @code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 04:13:55 +01:00
Michael Niedermayer 4f1279154e shorten: dont leave invalid channel counts in the context.
Fixes freeing invalid addresses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 01:04:20 +01:00
Michael Niedermayer e1219cdaf9 tiff: Check buffer allocation and pointer increment more carefully in shorts2str() and double2str()
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-12 23:49:41 +01:00
Michael Niedermayer 6f9ae391de faxcompr: Dont read ref when the end has been reached in pass mode
Fixes reading over the end

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-12 22:55:44 +01:00
Michael Niedermayer 1ac0fa50ef pngdec/filter: dont access out of array elements at the end
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-12 20:10:35 +01:00
Justin Ruggles 157542ebc1 lavr: fix mixing matrix reduction when normalization is disabled
In some cases when an input contributes fully to the corresponding
output, other inputs may also contribute to the same output. This is the
case, for example, for the default 5.1 to stereo downmix matrix without
normalization.
2013-02-12 13:41:13 -05:00
Justin Ruggles 600b4c973f lavr: fix matrix reduction for upmixing in certain cases
Do not skip an output if the corresponding input contributes to other output
channels.
2013-02-12 13:41:13 -05:00
Justin Ruggles a3735bb92a lavr: cosmetics: reindent 2013-02-12 13:41:13 -05:00
Justin Ruggles 1647da89dd lavr: make sure that the mix function is reset even if no mixing will be done
If the matrix reduction ends up with no mixing matrix needed, we need to still
reset the mix function accordingly and log the info to the user.
2013-02-12 13:41:09 -05:00
Justin Ruggles 646831e697 lavr: print out the mix matrix in ff_audio_mix_set_matrix()
This will print the new matrix if it is set after initialization.
2013-02-12 13:35:04 -05:00
Justin Ruggles 205a95f7b5 wmaenc: alloc/free coded_frame instead of keeping it in the WMACodecContext 2013-02-12 12:22:40 -05:00
Justin Ruggles 8ae50d87e7 ws-snd1: decode directly to the user-provided AVFrame 2013-02-12 12:22:40 -05:00
Justin Ruggles c815ca3641 wma: decode directly to the user-provided AVFrame 2013-02-12 12:22:40 -05:00
Justin Ruggles 5a7288822f wmavoice: decode directly to the user-provided AVFrame 2013-02-12 12:22:40 -05:00
Justin Ruggles ee6ca11b65 vorbis: decode directly to the user-provided AVFrame 2013-02-12 12:22:39 -05:00
Justin Ruggles 4a2b26fc1b tak: decode directly to the user-provided AVFrame 2013-02-12 12:22:39 -05:00
Justin Ruggles f4a283eec4 wmapro: decode directly to the user-provided AVFrame 2013-02-12 12:22:39 -05:00
Justin Ruggles f80f8dd4c2 vmdaudio: decode directly to the user-provided AVFrame 2013-02-12 12:22:39 -05:00
Justin Ruggles 903b62cc0b smackaud: decode directly to the user-provided AVFrame 2013-02-12 12:22:39 -05:00
Justin Ruggles 9873d71f31 wavpack: decode directly to the user-provided AVFrame 2013-02-12 12:22:39 -05:00
Justin Ruggles 3b7d43383f twinvq: decode directly to the user-provided AVFrame 2013-02-12 12:22:39 -05:00
Justin Ruggles 09d6831f49 sipr: decode directly to the user-provided AVFrame 2013-02-12 12:22:39 -05:00
Justin Ruggles ad2104ba44 tta: decode directly to the user-provided AVFrame 2013-02-12 12:22:39 -05:00
Justin Ruggles 3997fef952 truespeech: decode directly to the user-provided AVFrame 2013-02-12 12:22:39 -05:00
Justin Ruggles 5d5c248c3d s302m: decode directly to the user-provided AVFrame 2013-02-12 12:22:38 -05:00
Justin Ruggles fed74c0ae4 shorten: decode directly to the user-provided AVFrame 2013-02-12 12:22:38 -05:00
Justin Ruggles 79fb2a1f17 ra288: decode directly to the user-provided AVFrame 2013-02-12 12:22:38 -05:00
Justin Ruggles 1b9b6d6e5e qcelp: decode directly to the user-provided AVFrame 2013-02-12 12:21:23 -05:00
Justin Ruggles 86bfcfcf23 mace: decode directly to the user-provided AVFrame 2013-02-12 12:21:23 -05:00
Justin Ruggles f7e8c87c02 ra144: decode directly to the user-provided AVFrame 2013-02-12 12:21:23 -05:00
Justin Ruggles 0905c96390 pcm-bluray: decode directly to the user-provided AVFrame 2013-02-12 12:21:23 -05:00
Justin Ruggles cbeb3ed38d ralf: decode directly to the user-provided AVFrame 2013-02-12 12:21:23 -05:00
Justin Ruggles 0fe4056f95 nellymoser: decode directly to the user-provided AVFrame 2013-02-12 12:21:23 -05:00
Justin Ruggles e01e1a4673 qdm2: decode directly to the user-provided AVFrame 2013-02-12 12:21:23 -05:00
Justin Ruggles 3a23752c5a mpc7/8: decode directly to the user-provided AVFrame 2013-02-12 12:21:23 -05:00
Justin Ruggles 2c785e250a mpegaudio: decode directly to the user-provided AVFrame 2013-02-12 12:21:23 -05:00
Justin Ruggles dc33fbbfd0 mlp/truehd: decode directly to the user-provided AVFrame 2013-02-12 12:21:23 -05:00
Justin Ruggles a8ea936a0a libilbc: decode directly to the user-provided AVFrame 2013-02-12 12:21:22 -05:00
Justin Ruggles cb7b47a61d g726: decode directly to the user-provided AVFrame 2013-02-12 12:21:22 -05:00
Justin Ruggles 182821cff4 dca: decode directly to the user-provided AVFrame 2013-02-12 12:21:22 -05:00
Justin Ruggles bed957bb11 libspeex: decode directly to the user-provided AVFrame 2013-02-12 12:21:22 -05:00
Justin Ruggles b878867128 dpcm: decode directly to the user-provided AVFrame 2013-02-12 12:21:22 -05:00
Justin Ruggles 7e52fd6bca g723.1: decode directly to the user-provided AVFrame 2013-02-12 12:21:22 -05:00
Justin Ruggles 7b78321597 cook: decode directly to the user-provided AVFrame 2013-02-12 12:21:22 -05:00
Justin Ruggles 19b2cb268f libopus: decode directly to the user-provided AVFrame 2013-02-12 12:21:22 -05:00
Justin Ruggles 9b28e58357 imc/iac: decode directly to the user-provided AVFrame 2013-02-12 12:21:22 -05:00
Justin Ruggles 036e9b045f g722: decode directly to the user-provided AVFrame 2013-02-12 12:21:22 -05:00
Justin Ruggles 0cd08367dd libopencore-amr: decode directly to the user-provided AVFrame 2013-02-12 12:21:22 -05:00
Justin Ruggles 6fdfdb23d3 gsm: decode directly to the user-provided AVFrame 2013-02-12 12:21:22 -05:00
Justin Ruggles b8e9c99ef1 flac: decode directly to the user-provided AVFrame 2013-02-12 12:21:22 -05:00
Justin Ruggles 4f69612d3e libgsm: decode directly to the user-provided AVFrame 2013-02-12 12:21:22 -05:00
Justin Ruggles 97c7bdc6d4 cinaudio: decode directly to the user-provided AVFrame 2013-02-12 12:21:22 -05:00
Justin Ruggles 5cc0bd2cb4 binkaudio: decode directly to the user-provided AVFrame 2013-02-12 12:21:21 -05:00
Justin Ruggles e3db34291f amrnb: decode directly to the user-provided AVFrame 2013-02-12 12:21:21 -05:00
Justin Ruggles e57daa876b adpcm: decode directly to the user-provided AVFrame 2013-02-12 12:21:21 -05:00
Justin Ruggles cddf8998f1 comfortnoise: decode directly to the user-provided AVFrame 2013-02-12 12:21:21 -05:00
Justin Ruggles 9a75ace2b2 atrac3: decode directly to the user-provided AVFrame 2013-02-12 12:21:21 -05:00
Justin Ruggles 9b0b355e97 als: decode directly to the user-provided AVFrame 2013-02-12 12:21:21 -05:00
Justin Ruggles 55d2e12aef ac3: decode directly to the user-provided AVFrame 2013-02-12 12:21:21 -05:00
Justin Ruggles e42e5a89d6 bmvaudio: decode directly to the user-provided AVFrame 2013-02-12 12:21:21 -05:00
Justin Ruggles 0ded61b57a atrac1: decode directly to the user-provided AVFrame 2013-02-12 12:21:21 -05:00
Justin Ruggles 5cd597f22f alac: decode directly to the user-provided AVFrame 2013-02-12 12:21:21 -05:00
Justin Ruggles ffd2123095 aac: decode directly to the user-provided AVFrame 2013-02-12 12:21:21 -05:00
Justin Ruggles a6bb39add2 pcm: decode directly to the user-provided AVFrame 2013-02-12 12:21:21 -05:00
Justin Ruggles 5932e2d7d2 ape: decode directly to the user-provided AVFrame 2013-02-12 12:21:21 -05:00
Justin Ruggles bae4f47938 adxenc: alloc/free coded_frame instead of keeping it in the ADXContext 2013-02-12 12:21:21 -05:00
Justin Ruggles a3de4010c2 8svx: decode directly to the user-provided AVFrame 2013-02-12 12:21:21 -05:00
Justin Ruggles da28bb3f4a amrwb: decode directly to the user-provided AVFrame 2013-02-12 12:21:21 -05:00
Justin Ruggles 0588935e64 adx: decode directly to the user-provided AVFrame 2013-02-12 12:21:21 -05:00
Daniel Verkamp 1ecce266fa WAV muxer: add RF64 support 2013-02-12 14:50:27 +00:00
James Almer 0957041221 lavc/tta: Add support for encrypted streams
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-12 15:36:12 +01:00
Michael Niedermayer a63dc846b5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavu: avoid clashing definition of E
  doc: developer: Add a note about reserved system name space

Conflicts:
	libavutil/internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-12 14:10:36 +01:00
Michael Niedermayer 08db519e12 Merge commit '56dea32f09e71460add14a1b6d0fbe6eb16f02a4'
* commit '56dea32f09e71460add14a1b6d0fbe6eb16f02a4':
  doc: developer: Fix wording in "naming conventions" section
  openbsd: Add minor number to shared library install name

Conflicts:
	doc/developer.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-12 13:41:24 +01:00
Michael Niedermayer 7491356111 Merge commit '304b806cb524fb040f8e09a241040f1af2cb820b'
* commit '304b806cb524fb040f8e09a241040f1af2cb820b':
  build: Make library minor version visible in the Makefile
  x86: mpeg4qpel: Make movsxifnidn do the right thing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-12 13:26:22 +01:00
Michael Niedermayer fe54f6cb45 Merge commit '4c51fe48ba6dde059360b7451db7f6bbf2f11db3'
* commit '4c51fe48ba6dde059360b7451db7f6bbf2f11db3':
  h264: Copy h264chroma dsp context to slice thread copies
  swscale: Disallow conversion to GBRP16

Conflicts:
	libswscale/utils.c
	tests/ref/lavfi/pixdesc
	tests/ref/lavfi/pixfmts_copy
	tests/ref/lavfi/pixfmts_null
	tests/ref/lavfi/pixfmts_scale
	tests/ref/lavfi/pixfmts_vflip

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-12 13:18:28 +01:00
Michael Niedermayer e2b703f536 Merge commit '62a43d30cc3b9b2460f2c926beb522df32493625'
* commit '62a43d30cc3b9b2460f2c926beb522df32493625':
  crc: Move static data table from header to .c file
  avcodec/rectangle: Remove nonsense assert

Conflicts:
	libavcodec/rectangle.h
	libavutil/crc_data.h

The assert is not removed as the assert ensures clear and easy
to debug failures instead of undefined behavior in case of
misalignment.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-12 13:11:14 +01:00
Michael Niedermayer 3ccda2b02b Merge commit '375ef6528c9dd2db7f9881e232cb0ec3aa16970d'
* commit '375ef6528c9dd2db7f9881e232cb0ec3aa16970d':
  libfdk-aacenc: Actually check for upper bounds of cutoff
  arm: Fall back to runtime cpu feature detection via /proc/cpuinfo

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-12 12:41:09 +01:00
Luca Barbato fd1abf4269 lavu: avoid clashing definition of E
E is usually defined as a shorthand for AV_OPT_FLAG_ENCODING_PARAM.
Rename the single expansion E(x) now used in libavutil to E1.
2013-02-12 11:47:43 +01:00
Ronald S. Bultje 7ff1a4b10f Add add_pixels4/8() to h264dsp, and remove add_pixels4 from dsputil.
These functions are mostly H264-specific (the only other user I can
spot is bink), and this allows us to special-case some functionality
for H264. Also remove the 16-bit-coeff with >8bpp versions (unused)
and merge the duplicate 32-bit-coeff for >8bpp (identical).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-12 02:14:16 +01:00
Michael Niedermayer 5260edee7e sanm: Use the correct height variable in the decoded_size checks
Fixes integer overflow and out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-12 02:04:24 +01:00
Michael Niedermayer 4ee88db840 sanm: init sizes with the full frame size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-12 02:00:33 +01:00
Michael Niedermayer f0d9ccac89 sanm: reset frame sizes on buffer destruction
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-12 01:59:07 +01:00
Michael Niedermayer 365270aec5 sanm: add forgotten check for decoded_size in old_codec37()
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-12 01:15:57 +01:00
Michael Niedermayer 3b1f037df5 ffmpeg: fix streamcopy of lsf mp3.
Fixes streamcopy of bear_mpeg4_mp3.avi
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-12 00:38:22 +01:00
Stefano Sabatini 64353be811 doc/filters: rework idet filter description 2013-02-11 23:43:37 +01:00
Stefano Sabatini af60e45150 doc/filters: apply minor fixes to il filter docs 2013-02-11 23:43:37 +01:00
Stefano Sabatini 4c69cafcee doc/filters: fix position of il filter docs 2013-02-11 23:43:37 +01:00
Ronald S. Bultje b582af1ed7 Use simple nop codes for <= sse (rather than <= mmx).
The "CPU: CentaurHauls family 6 model 9 stepping 8" family of CPUs
(flags: fpu vme de pse tsc msr cx8 sep mtrr pge mov pat mmx fxsr sse
up rng rng_en ace ace_en) SIGILLs on long nop codes.

Change-Id: I7e7c52a2191006df30a9aadbc40d481a1db89106
2013-02-11 23:38:57 +01:00
Ronald S. Bultje 972771dcf2 h264chroma: remove duplicate 9/10 bit functions.
Also use the resulting 16bpp functions for anything >8 and <=16, not just
9 and 10. This fixes 12 and 14bpp H264 support.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-11 22:54:52 +01:00
Diego Biurrun 56dea32f09 doc: developer: Fix wording in "naming conventions" section 2013-02-11 20:17:15 +01:00
Diego Biurrun 304b806cb5 build: Make library minor version visible in the Makefile
This allows employing that number in library install commands.
2013-02-11 20:17:15 +01:00
Diego Biurrun 3658d2dfd4 doc: developer: Add a note about reserved system name space 2013-02-11 20:17:15 +01:00
Diego Biurrun 69dca3a4f4 openbsd: Add minor number to shared library install name
This is what the OpenBSD porter's manual describes as correct, cf.
http://www.openbsd.org/faq/ports/specialtopics.html#SharedLibs
2013-02-11 20:17:15 +01:00
Daniel Kang b3f2a3fe3f x86: mpeg4qpel: Make movsxifnidn do the right thing
Fixes an instruction that does nothing by changing the
source to dword.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-02-11 20:17:15 +01:00
Martin Storsjö 4c51fe48ba h264: Copy h264chroma dsp context to slice thread copies
This fixes slice threading which seems to have been broken since
79dad2a93.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-11 21:12:21 +02:00
Michael Niedermayer 0aa1d848ec ffv1enc: better heuristic to calculate initial states
Slightly improves compression of 2pass files

Tested-by: "Peter B." <pb@das-werkstatt.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-11 19:25:41 +01:00
Martin Storsjö d192ac3e03 swscale: Disallow conversion to GBRP16
This reverts parts of d6d5ef5534, that didn't work right. (The
tests that were added failed on big endian, and the output looked
garbled on little endian as well.)

This is due to the fact that the intermediate scaling values (from
e.g. hScale8To19_c or hScale16To19_c) are stored as int32_t and
thus requires a separate output function, while yuv2gbrp_full_X_c
only interprets it as int16_t.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-11 20:03:16 +02:00
Diego Biurrun 62a43d30cc crc: Move static data table from header to .c file
Having static data tables in header files is a potential source of trouble.
2013-02-11 16:48:44 +01:00
Diego Biurrun 6fb296e97e avcodec/rectangle: Remove nonsense assert 2013-02-11 16:23:09 +01:00
Derek Buitenhuis c177f2ec4a libfdk-aacenc: Actually check for upper bounds of cutoff
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-02-11 10:20:33 -05:00
Derek Buitenhuis 375ef6528c libfdk-aacenc: Actually check for upper bounds of cutoff
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-02-11 10:15:42 -05:00
Martin Storsjö ab8f1a6989 arm: Fall back to runtime cpu feature detection via /proc/cpuinfo
On recent android versions, /proc/self/auxw is unreadable
(unless the process is running running under the shell uid or
in debuggable mode, which makes it hard to notice). See
http://b.android.com/43055 and
https://android-review.googlesource.com/51271 for more information
about the issue.

This makes sure e.g. neon optimizations are enabled at runtime in
android apps even when built in release mode, if configured to
use the runtime detection.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-11 17:15:15 +02:00
Paul B Mahol 8160864b00 lavfi/amerge: make description consistent with documentation
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-11 14:43:23 +00:00
Carl Eugen Hoyos 182e342fdb Print mxf Universal Label if the user requested verbose logging.
Fixes ticket #2198
2013-02-11 13:11:16 +01:00
Michael Niedermayer c3a62d3507 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  sparc: dsputil_vis: Fix silly variable name search and replace typo

Conflicts:
	libavcodec/sparc/dsputil_vis.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-11 12:15:54 +01:00
Paul B Mahol 5d7009dac2 evrcdec: fix wrong condition
Fixes CID980005 and CID980004.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-11 11:04:52 +00:00
Ronald S. Bultje fd6a021d8e get_bits: return pointer to buffer that is the result of the alignment.
This allows more transparent mixing of get_bits and whole-byte access
without having to touch get_bits internals.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-11 02:29:43 +01:00
Ronald S. Bultje 5e74a2b685 bit_depth_template: don't depend on dsputil.h.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-11 01:03:45 +01:00
Ronald S. Bultje c7e3e55429 Move ff_emulated_edge_mc prototypes to videodsp.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-11 01:03:33 +01:00
Ronald S. Bultje 55e35c98d5 h264 intra pred: add missing includes.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-11 01:03:12 +01:00
Michael Niedermayer 8491ac3ad2 mlpdec: check ch_assign more completely
Fixes CID970924

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-11 00:50:29 +01:00
Diego Biurrun d46d87d1d3 sparc: dsputil_vis: Fix silly variable name search and replace typo 2013-02-10 22:23:43 +01:00
Stefano Sabatini 3acaea26e5 lavfi/il: filter out hwaccels formats from the list of supported formats 2013-02-10 21:00:56 +01:00
Stefano Sabatini 6b171f046c lavf/matroskaenc: provide more feedback in case of unsupported codec
Also return meaningful error code.
2013-02-10 21:00:56 +01:00
Stefano Sabatini f0703b6cba lavd/v4l2: fix error logic when enumerating standards
Set ret to 0 before enumerating standards in v4l2_set_parameters(), avoid
use of uninitialized variable.

Regression introduced in 60950adc18.
2013-02-10 20:59:06 +01:00
Michael Niedermayer 0e3dacb11e tiff: dont leave geotag_count in an invalid state on errors.
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-10 20:24:53 +01:00
Michael Niedermayer f28043d0a3 tiff: check for failure in search_keyval()
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-10 20:18:16 +01:00
Michael Niedermayer 478fc7f57b pictordec: fix cga palette index limit
Fixes out of array read

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-10 18:31:05 +01:00
Michael Niedermayer ea1d8465e6 Fix division by 0 due to audio frame size
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-10 18:15:33 +01:00
Michael Niedermayer cb85779d45 dpx: include offset in the total_size calculation
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-10 17:54:00 +01:00
Michael Niedermayer 151067bbc2 dpx: Fix rounding in 10bit total_size calculation
This could have caused out of array reads

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-10 17:52:24 +01:00
Michael Niedermayer d24de4596c pcx: Add missing padding to scanline buffer
Fixes out of array read

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-10 17:32:05 +01:00
Michael Niedermayer f41329c8ae pcx: use init_get_bits8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-10 17:32:05 +01:00
Stefano Sabatini 60950adc18 lavd/v4l2: implement consistent error handling
In particular, avoid use of non-thread-safe strerror(), and store errno
before calling av_log().
2013-02-10 17:09:57 +01:00
Stefano Sabatini e005697af6 tests: add fate-lavfi-il test 2013-02-10 17:09:57 +01:00
Michael Niedermayer 6462268e74 pcx: fix rounding in bytes_per_scanline check
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-10 16:52:38 +01:00
Carl Eugen Hoyos 034a125c8c Support more atrac3-in-mkv samples.
The mkv demuxer sometimes finds 12 bytes of realmedia
extradata after the matroska real audio properties.
2013-02-10 14:44:00 +01:00
Michael Niedermayer 2c5e4ae291 Revert "Merge commit 'db0a943266be29ff0596872ebb418dfed75d00de'"
This reverts commit d808206553, reversing
changes made to 30085bd43e.

This is not needed

Requested-by: Marton Balint
2013-02-10 14:27:57 +01:00
Michael Niedermayer 02b3ac87f8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  sws: disable yuv2rgb warning for planar rgb.

Conflicts:
	libswscale/yuv2rgb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-10 14:17:06 +01:00
Michael Niedermayer f2b89f21cc Merge commit '7b41c24c5fa221b55a9302efaf1a9eeb38b12551'
* commit '7b41c24c5fa221b55a9302efaf1a9eeb38b12551':
  sws: dont enable chrSrcHSubSample for planar RGB

Conflicts:
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-10 14:07:27 +01:00
Stefano Sabatini 0b18965434 lavfi/il: move query_formats() definition up
Respect order of call during the filter lifecycle, improve readability.
2013-02-10 14:00:19 +01:00
Stefano Sabatini 63a9962287 lavfi/il: simplify/generalize linesize computation
Rely on generic utilities for computing each plane linesize.

In particular, add support to NV12/21 formats and avoid use of
PIX_FMT_PLANAR pixdesc flag, whose semantics is questionable.

It also fixes various crashes.
2013-02-10 14:00:19 +01:00
Michael Niedermayer d1d9b93e9a Merge commit 'e58013dd8f00e17dd98ba64e41c72f1d152f6608'
* commit 'e58013dd8f00e17dd98ba64e41c72f1d152f6608':
  sws: use planarRgbToRgbWrapper only for 8bit per component

Conflicts:
	libswscale/swscale_unscaled.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-10 13:55:51 +01:00
Michael Niedermayer 42431a557e Merge commit 'd6d5ef5534d582f9dbaf18ac2605cf5bb72cd821'
* commit 'd6d5ef5534d582f9dbaf18ac2605cf5bb72cd821':
  sws: GBRP9, GBRP10, and GBRP16 output support

Conflicts:
	libswscale/output.c
	libswscale/utils.c
	tests/ref/lavfi/pixdesc
	tests/ref/lavfi/pixfmts_copy
	tests/ref/lavfi/pixfmts_null
	tests/ref/lavfi/pixfmts_scale
	tests/ref/lavfi/pixfmts_vflip

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-10 13:49:53 +01:00
Michael Niedermayer e88f392733 Merge commit '81726a4f0b8a43e19898e2a36fdde80583bafff0'
* commit '81726a4f0b8a43e19898e2a36fdde80583bafff0':
  FATE: add tests for additional flavors of asf cover art
  asfdec: do not assume every AVStream has a corresponding ASFStream

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-10 13:18:04 +01:00
Michael Niedermayer 9a714d871a Merge commit 'f5fac6f77752931347ab302563802dcaa49c2419'
* commit 'f5fac6f77752931347ab302563802dcaa49c2419':
  asfdec: support reading ID3v2 tags in ASF files

Conflicts:
	Changelog
	libavformat/asfdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-10 13:06:16 +01:00
Michael Niedermayer d808206553 Merge commit 'db0a943266be29ff0596872ebb418dfed75d00de'
* commit 'db0a943266be29ff0596872ebb418dfed75d00de':
  avplay: apply the stream sample_aspect_ratio to decoded video frames

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-10 12:47:37 +01:00
Michael Niedermayer 30085bd43e Merge commit '84b721db366c0734fdfd23c8daaa7da7da21f761'
* commit '84b721db366c0734fdfd23c8daaa7da7da21f761':
  asfdec: also read Metadata Library Object

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-10 12:39:17 +01:00
Michael Niedermayer 3600049dae Merge commit '61f9ad2dfcb3f98b7ac5777d19d0e7b61d0be01e'
* commit '61f9ad2dfcb3f98b7ac5777d19d0e7b61d0be01e':
  asfdec: read the full Metadata Object, not just aspect ratio information

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-10 12:25:40 +01:00
Michael Niedermayer 0af4506e15 Merge commit '36fab50e90d15352e403e4cc210890810f2fb4e2'
* commit '36fab50e90d15352e403e4cc210890810f2fb4e2':
  asfdec: silence a warning
  mss4, ra288: Remove unused DSPContext local codec context members

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-10 12:14:14 +01:00
Carl Eugen Hoyos f02f231e05 Do not write invalid matroska files.
Some real codecs are supported by the matroska specification
(and FFmpeg's matroska demuxer) but not the FFmpeg muxer.
2013-02-10 10:51:12 +01:00
Michael Niedermayer cf8d9b74f3 imgconvert: use get_pix_fmt_score in avcodec_find_best_pix_fmt_of_2()
This fixes various poorly choosen pixel format cases.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-10 02:15:13 +01:00
Michael Niedermayer 13ae02d03f imgconvert: add get_pix_fmt_score()
get_pix_fmt_score() returns a score representing the amount
of loss when converting a pixel format

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-10 02:14:52 +01:00
Paul B Mahol 969039eb6e lavfi/il: fix typo in Copyright
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-09 21:56:04 +00:00
Paul B Mahol c0a8918f2a lavfi: remove mp=il filter
Native il video filter is now available.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-09 21:43:39 +00:00
Paul B Mahol 6e9abce5e2 lavfi: port MP il filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-09 21:41:53 +00:00
Michael Niedermayer 796012af6c targa: Fix y check in advance_line
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-09 21:21:26 +01:00
Nicolas George f43d09cd60 lavf: add tee pseudo-muxer. 2013-02-09 20:50:11 +01:00
Michael Niedermayer 813784a8bf sws: disable yuv2rgb warning for planar rgb.
planar rgb formats do not use the table

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-02-09 14:32:50 -05:00
Paul B Mahol 350128b28f rv10: remove check that is always true
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-09 19:32:43 +00:00
Michael Niedermayer 7b41c24c5f sws: dont enable chrSrcHSubSample for planar RGB
This code path is not implemented and makes not much sense to implement
either.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-02-09 14:31:53 -05:00
Michael Niedermayer e58013dd8f sws: use planarRgbToRgbWrapper only for 8bit per component
The function doesnt support >8bit currently

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-02-09 14:31:53 -05:00
Michael Niedermayer d6d5ef5534 sws: GBRP9, GBRP10, and GBRP16 output support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-02-09 14:31:11 -05:00
Anton Khirnov 81726a4f0b FATE: add tests for additional flavors of asf cover art 2013-02-09 18:57:21 +01:00
Vladimir Pantelic f5fac6f777 asfdec: support reading ID3v2 tags in ASF files
Yes, these files do exist

Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-02-09 18:57:21 +01:00
Vladimir Pantelic db0a943266 avplay: apply the stream sample_aspect_ratio to decoded video frames
If there is a sample_aspect_ratio in the stream, then apply it to every
decoded frame in the same way as avconv does. This also makes sure that
the avfilter chain has access to the aspect ratio.

Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-02-09 18:57:21 +01:00
Vladimir Pantelic 84b721db36 asfdec: also read Metadata Library Object
In some ASF files this objects holds cover art and other tags. Compared to
Metadata Object it can also hold GUIDs, but we ignore these for now.

Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-02-09 18:57:21 +01:00
Vladimir Pantelic 61f9ad2dfc asfdec: read the full Metadata Object, not just aspect ratio information
Use the same get_tag()/get_value() as for the Extended Content Description
but handle the 16 bit vs 32 bit difference for type 2 (BOOL)

Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-02-09 18:57:21 +01:00
Vladimir Pantelic 36fab50e90 asfdec: silence a warning
Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-02-09 18:57:21 +01:00
Anton Khirnov 1ef0e8a6bf asfdec: do not assume every AVStream has a corresponding ASFStream
This won't be true for ID3 attached picture.

Also stop allocating now useless dummy ASFStreams for ASF native
attached pictures.
2013-02-09 18:57:21 +01:00
Michael Niedermayer b5fc95e77f motionpixels: Check that the vlc table has been fully inited
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-09 18:44:01 +01:00
Michael Niedermayer 4401958fdc motionpixels: Propagate errors in vlc table init
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2013-02-09 18:44:01 +01:00
Carl Eugen Hoyos e149127bb2 Call the common 7.1 wide channel layout "7.1(wide)".
Rename the uncommon variant with side speakers to "7.1(wide-side)".
2013-02-09 18:14:46 +01:00
Paul B Mahol faac85005c lavu/internal: rename macro E(x) to EXPAND(x)
Fixes bunch of warnings of E redefinition under clang.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-09 16:26:30 +00:00
Paul B Mahol 4fa9defc7f lavfi/histogram: make waveform mode more useful
Now it displays all color components (not just luma)
either in parade or overlay and also works with RGB colorspace.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-09 16:05:28 +00:00
Paul B Mahol da726a8763 paf, sanm: remove unused header after b05830169d
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-09 14:16:53 +00:00
Carl Eugen Hoyos 7a259a5fcd Fix libpostproc compilation on x86_32 with disable-optimizations. 2013-02-09 15:03:04 +01:00
Stefano Sabatini b46a8f055e doc/filters: end table in histogram docs 2013-02-09 14:57:10 +01:00
Stefano Sabatini bad82243cd doc/demuxers: add docs for rawvideo demuxer 2013-02-09 14:57:10 +01:00
Stefano Sabatini 765dbea9fe lavf/rawvideodec: fix/extend option descriptions 2013-02-09 14:57:10 +01:00
Stefano Sabatini 9b9b5a475b doc/demuxers: fix copy&paste error in "@c man end" line
Use proper name for ending chapter.
2013-02-09 14:57:10 +01:00
Stefano Sabatini 111697170e doc/demuxers: sort demuxers by name 2013-02-09 14:57:09 +01:00
Michael Niedermayer 5cfc0ae825 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dsputil: Move fdct function declarations to dct.h

Conflicts:
	libavcodec/dsputil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-09 14:45:45 +01:00
Michael Niedermayer 6b2e65078c Merge commit '218aefce4472dc02ee3f12830a9a894bf7916da9'
* commit '218aefce4472dc02ee3f12830a9a894bf7916da9':
  dsputil: Move LOCAL_ALIGNED macros to libavutil

Conflicts:
	libavcodec/dvdec.c
	libavcodec/imc.c
	libavcodec/mpegvideo_motion.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-09 14:33:57 +01:00
Diego Biurrun 8658e1c682 mss4, ra288: Remove unused DSPContext local codec context members 2013-02-09 14:32:06 +01:00
Michael Niedermayer 276c9c0577 Merge commit '059866eb17cd3c66422a61d3e9c3305f55830a50'
* commit '059866eb17cd3c66422a61d3e9c3305f55830a50':
  dsputil: Move WRAPPER8_16_SQ macro to the only place it is used

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-09 14:27:44 +01:00
Michael Niedermayer 5fd6d85d17 rnd_avg: fix author attribution
Reference:
commit 41fda91d09
Author: BERO <bero@geocities.co.jp>
Date:   Wed May 14 17:46:55 2003 +0000

    aligned dsputil (for sh4) patch by (BERO <bero at geocities dot co dot jp>)

    Originally committed as revision 1880 to svn://svn.ffmpeg.org/ffmpeg/trunk

commit 8dbe585641
Author: Oskar Arvidsson <oskar@irock.se>
Date:   Tue Mar 29 17:48:59 2011 +0200

    Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 decoder.

    This patch lets e.g. dsputil_init chose dsp functions with respect to
    the bit depth to decode. The naming scheme of bit depth dependent
    functions is <base name>_<bit depth>[_<prefix>] (i.e. the old
    clear_blocks_c is now named clear_blocks_8_c).

    Note: Some of the functions for high bit depth is not dependent on the
    bit depth, but only on the pixel size. This leaves some room for
    optimizing binary size.

    Preparatory patch for high bit depth h264 decoding support.

    Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-09 14:22:29 +01:00
Michael Niedermayer 81a11452f8 Merge commit 'bf6b3ec924b4fb64d14df33077f4d4541d525dbf'
* commit 'bf6b3ec924b4fb64d14df33077f4d4541d525dbf':
  dsputil: Move rnd_avg inline functions to a separate header

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-09 14:22:05 +01:00
Michael Niedermayer a8864615e6 Merge commit 'b9c2408b19dc9408e9dc0ce4a099af529bbfba3b'
* commit 'b9c2408b19dc9408e9dc0ce4a099af529bbfba3b':
  dsputil: Remove commented-out, unused function declarations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-09 13:51:47 +01:00
Michael Niedermayer ffbe19fc84 Merge commit '35685a3c2a1ec09f3c62dcfc4368fe9e92bcddf6'
* commit '35685a3c2a1ec09f3c62dcfc4368fe9e92bcddf6':
  dsputil: Move ff_shrink* function declarations to separate header
  dsputil: Move ff_svq3 function declarations to a separate header

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-09 13:46:03 +01:00
Michael Niedermayer 0af07495ec Merge commit '6a4430407404bfe55581e66a86a496c9adf6fb44'
* commit '6a4430407404bfe55581e66a86a496c9adf6fb44':
  dsputil: Move ff_h264_idct function declarations to a separate header

Conflicts:
	libavcodec/dsputil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-09 13:40:03 +01:00
Paul B Mahol e5670cb8a1 lavfi/histogram: make it C90 compliant
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-09 12:27:49 +00:00
Michael Niedermayer b05830169d Merge commit 'b9ba5253dd1232be4b48cfe61c31ff4b3de3d10a'
* commit 'b9ba5253dd1232be4b48cfe61c31ff4b3de3d10a':
  dsputil: Move copy_block functions to a separate header
  dsputil: Drop unused functions copy_block{2|4|16}

No functions are droped because they are used in several places.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-09 13:23:59 +01:00
Paul B Mahol 29a92c0114 histogram filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-09 11:45:56 +00:00
Michael Niedermayer e5212354ea Merge commit 'b9ee5f2cab3ffe1c962e542346b1ed61394864ec'
* commit 'b9ee5f2cab3ffe1c962e542346b1ed61394864ec':
  indeo3: replace use of copy_block4 with put_pixels
  mjpegdec: use put_pixels instead of copy_block8

Conflicts:
	libavcodec/mjpegdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-09 12:37:03 +01:00
Michael Niedermayer bcb15e66f7 Merge commit 'b5b7b75e91e291c810ebd01868a42b53f267a87c'
* commit 'b5b7b75e91e291c810ebd01868a42b53f267a87c':
  dsputil: Move get_penalty_factor() to the only place it is used.

Conflicts:
	libavcodec/dsputil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-09 12:05:53 +01:00
Michael Niedermayer 55151aa101 Merge commit '0b016eb99d38738e2c53e36549a4732a0f863b2e'
* commit '0b016eb99d38738e2c53e36549a4732a0f863b2e':
  dsputil: Move ff_block_permute to mpegvideo_enc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-09 11:44:46 +01:00
Michael Niedermayer a35f5c2233 Merge remote-tracking branch 'rdp/dshow_shared'
* rdp/dshow_shared:
  dshow: attempt to build shared as well as static

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-09 04:06:56 +01:00
James Almer 53b2083f44 sparc: Revert some parameter name changes in dsputil_vis.c
They were renamed by mistake in 25841df.
This should fix compilation failures on sparc.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-09 02:59:15 +01:00
Michael Niedermayer a92816c4eb get_se_golomb: fix decoding of very large values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-09 01:17:41 +01:00
Diego Biurrun 5d3d39c72e dsputil: Move fdct function declarations to dct.h 2013-02-09 00:08:28 +01:00
Diego Biurrun 218aefce44 dsputil: Move LOCAL_ALIGNED macros to libavutil 2013-02-08 23:13:37 +01:00
Diego Biurrun 059866eb17 dsputil: Move WRAPPER8_16_SQ macro to the only place it is used 2013-02-08 23:10:17 +01:00
Diego Biurrun bf6b3ec924 dsputil: Move rnd_avg inline functions to a separate header 2013-02-08 23:10:17 +01:00
Diego Biurrun b9c2408b19 dsputil: Remove commented-out, unused function declarations 2013-02-08 23:10:16 +01:00
Michael Niedermayer b8820e7aa3 dsp: make put_no_rnd_pixels_tab 4x4 big
This makes it match the other tables and fixes out of array acceses.

Fixes CID980012

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-08 22:55:55 +01:00
James Almer 89946c8403 dxva2: Prevent redefinition of _WIN32_WINNT
Don't redefine _WIN32_WINNT when targeting Win7/8

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-08 14:10:19 +01:00
Michael Niedermayer 47335126c0 ff_end_tag: assert that the start is aligned.
If its start is not aligned then aligning its end will
likely break many demuxers as they check the size and not
the position.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-08 12:51:52 +01:00
Paul B Mahol 810cd0dd9c riff: chunks must be at 2 byte boundary
Fixes #2244.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-08 10:40:41 +00:00
Michael Niedermayer 0d194ee51e vc1dec: Fix destination pointers in context for fields
This replaces a large number of checks for the second field by
fixing the pointers when they are setup

This should also fix I/BI field pictures

Changes checksums for vc1_sa10143, the file becomes slightly closer
to what the reference decoder outputs

Based on "vc1dec: the second field is written wrong to the picture"
         by Sebastian Sandberg <sebastiand.sandberg@gmail.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-08 00:10:29 +01:00
Diego Biurrun 35685a3c2a dsputil: Move ff_shrink* function declarations to separate header 2013-02-07 22:08:19 +01:00
Diego Biurrun 6a44304074 dsputil: Move ff_h264_idct function declarations to a separate header 2013-02-07 22:08:19 +01:00
Diego Biurrun b9ba5253dd dsputil: Move copy_block functions to a separate header 2013-02-07 22:08:19 +01:00
Mans Rullgard b9ee5f2cab indeo3: replace use of copy_block4 with put_pixels
The destination is sufficiently aligned for put_pixels here.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2013-02-07 22:08:19 +01:00
Diego Biurrun 75d5156ac1 dsputil: Move ff_svq3 function declarations to a separate header 2013-02-07 22:08:19 +01:00
Diego Biurrun 9e31729d69 dsputil: Drop unused functions copy_block{2|4|16} 2013-02-07 22:08:19 +01:00
Mans Rullgard ed62e6e3c3 mjpegdec: use put_pixels instead of copy_block8
Signed-off-by: Mans Rullgard <mans@mansr.com>
2013-02-07 22:08:19 +01:00
Diego Biurrun b5b7b75e91 dsputil: Move get_penalty_factor() to the only place it is used. 2013-02-07 22:05:25 +01:00
Diego Biurrun 0b016eb99d dsputil: Move ff_block_permute to mpegvideo_enc 2013-02-07 22:05:25 +01:00
Michael Niedermayer a8e748eee5 lavf: add seek2any to allow forcing seeking to non keyframes via AVOptions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-07 21:54:41 +01:00
Michael Niedermayer 7c00d853a6 matroskadec: support seek to non keyframes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-07 21:48:48 +01:00
Stefano Sabatini c0a4871c16 lavfi/select: correctly set prev_t and prev_pts
In particular, fix trac ticket #2248.
2013-02-07 21:28:46 +01:00
Stefano Sabatini 872855e2a5 lavfi/select: avoid double -> int lossy conversion in debug log 2013-02-07 21:00:54 +01:00
Stefano Sabatini 1afbb4c226 doc/filters: remove another instance of '×'
Fix trac ticket #2247.
2013-02-07 20:28:30 +01:00
Michael Niedermayer a00c4b4db0 af_biquad: avoid subtraction in loop
17% faster
Note the speedup is smaller if its done before
storing in the context (gcc 4.6.3 core i7)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-07 19:46:02 +01:00
Michael Niedermayer 9f956611e3 af_biquad: unroll loop, remove variable copies
This makes the code about 7% faster

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-07 19:03:22 +01:00
Michael Niedermayer 4e2c63685e sws: dont write out of array on bigendian
Fixes Ticket2229

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-07 16:22:51 +01:00
Michael Niedermayer 48870853b2 x86/dsputil: Fix author attribution after code has been moved/splited around
Reference:
commit 3615e2be84
Author: Michael Niedermayer <michaelni@gmx.at>
Date:   Tue Dec 2 22:02:57 2003 +0000

    h263_h_loop_filter_mmx

    Originally committed as revision 2553 to svn://svn.ffmpeg.org/ffmpeg/trunk

commit 359f98ded9
Author: Michael Niedermayer <michaelni@gmx.at>
Date:   Tue Dec 2 20:28:10 2003 +0000

    h263_v_loop_filter_mmx

    Originally committed as revision 2552 to svn://svn.ffmpeg.org/ffmpeg/trunk

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-07 16:22:51 +01:00
Michael Niedermayer 54d8322355 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dsputil: x86: Fix compile error
  dsputil: x86: Convert h263 loop filter to yasm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-07 14:35:49 +01:00
Michael Niedermayer c7002e3d3d Merge commit '12b54a1f39fee22fa0399825ae47a43e60bad4c5'
* commit '12b54a1f39fee22fa0399825ae47a43e60bad4c5':
  mpegvideo: remove an unused function parameter

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-07 14:28:30 +01:00
Michael Niedermayer 1c65393906 Merge commit '605b047bcc48482dc8a356f56629da259fbddbf1'
* commit '605b047bcc48482dc8a356f56629da259fbddbf1':
  rv10: improve buffer size check.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-07 14:02:23 +01:00
Michael Niedermayer b8d6108cfc error_resilience: assert that unsupported B frame interpolation isnt used with h264
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-07 13:59:45 +01:00
Michael Niedermayer 7f23b2a9d0 Merge commit 'c5fcdb440237f06f6c954185ab60970cabf786a2'
* commit 'c5fcdb440237f06f6c954185ab60970cabf786a2':
  error_resilience: remove a useless if() and FIXME
  h264: remove silly macros

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-07 13:49:04 +01:00
Michael Niedermayer d5518545d1 Merge commit 'ca1fe6c0e60808da45d4dfd8728f45e843b9f9b0'
* commit 'ca1fe6c0e60808da45d4dfd8728f45e843b9f9b0':
  h263: remove an unused parameter from ff_h263_decode_init_vlc
  flac: add channel layout masks for streams with 7 or 8 channels.
  flac: don't check the number of channels before setting the channel layout.

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-07 13:42:56 +01:00
Michael Niedermayer 60a0bc46cd Merge commit 'a846dccb29d2bb0798af1d47d06100eda9ca87cc'
* commit 'a846dccb29d2bb0798af1d47d06100eda9ca87cc':
  h264chroma: x86: Fix building with yasm disabled
  rv34: Drop now unnecessary dsputil dependencies

Conflicts:
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-07 13:35:49 +01:00
Michael Niedermayer c4e394e460 Merge commit '79dad2a932534d1155079f937649e099f9e5cc27'
* commit '79dad2a932534d1155079f937649e099f9e5cc27':
  dsputil: Separate h264chroma

Conflicts:
	libavcodec/dsputil_template.c
	libavcodec/ppc/dsputil_ppc.c
	libavcodec/vc1dec.c
	libavcodec/vc1dsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-07 13:09:35 +01:00
Nicolas George b5884db437 lavfi: fix missing space in error message. 2013-02-07 12:22:09 +01:00
Nicolas George 3dea8b375e lavfi: remove disabled code. 2013-02-07 12:22:09 +01:00
Michael Niedermayer 199683c898 mov: remove unused function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-07 11:54:46 +01:00
Tim Walker 08797c599d flac: don't check the number of channels before setting the channel layout
This is unnecessary, as ff_flac_set_channel_layout can handle any number of channels.
2013-02-07 09:36:21 +00:00
Daniel Kang a1d3673034 dsputil: x86: Fix compile error
Accidentally prefixed ff_ with cextern.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-07 11:06:16 +02:00
rogerdpack aa715cdcf5 dshow: attempt to build shared as well as static
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2013-02-06 23:37:46 -07:00
Daniel Kang 659d4ba5af dsputil: x86: Convert h263 loop filter to yasm
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-02-06 15:38:27 -08:00
Stefano Sabatini d11ac64ecf doc: replace '×' symbol with 'x'
Non-ascii chars are not correctly rendered in both MAN and HTML output or
may even cause compilation failure. Thus avoid to use them until we find
a satisfying way to deal with them.

Fix trac ticket #2243.
2013-02-06 22:55:36 +01:00
Stefano Sabatini b3d2c6f8b9 lavf/segment: fix DTS inconsistencies with -reset_timestamps
The DTS needs to be resynched against the segment start PTS, or the
resulting DTS may result < PTS.

Reported-by: Owen Jones <riots6@gmail.com>

See thread:
Subject: [FFmpeg-user] pts/dts error using reset_timestamps while splitting a DVD
Date: Sat, 19 Jan 2013 08:58:27 +0000
2013-02-06 22:55:18 +01:00
Matthieu Bouron 59d40fc7e6 lavf/mov: skip version and flags attributes in mov_read_chan function
Fixes ticket #1764.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 22:39:40 +01:00
Anton Khirnov 12b54a1f39 mpegvideo: remove an unused function parameter 2013-02-06 21:48:48 +01:00
Anton Khirnov 605b047bcc rv10: improve buffer size check.
Check slice count and input buffer size before constructing a possibly
invalid pointer, not after.
2013-02-06 21:47:57 +01:00
Anton Khirnov c5fcdb4402 error_resilience: remove a useless if() and FIXME
pp_time is never set for h264
2013-02-06 21:46:55 +01:00
Anton Khirnov 9782c778a2 h264: remove silly macros
They serve no useful purpose and wreak all kind of havoc when h264.h is
included elsewhere.
2013-02-06 21:45:02 +01:00
Anton Khirnov ca1fe6c0e6 h263: remove an unused parameter from ff_h263_decode_init_vlc 2013-02-06 21:44:38 +01:00
Tim Walker 9d083d6417 flac: add channel layout masks for streams with 7 or 8 channels.
They were added to the latest FLAC specification:
https://git.xiph.org/?p=flac-website.git;a=commit;h=65c199a2

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-02-06 21:44:06 +01:00
Tim Walker 41244e13d5 flac: don't check the number of channels before setting the channel layout.
This is unnecessary, as ff_flac_set_channel_layout can handle any number of channels.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-02-06 21:43:05 +01:00
Michael Niedermayer 4745194336 Merge remote-tracking branch 'rdp/combined2'
* rdp/combined2:
  dshow: allow for more codec ID's
  dshow: better error reporting
  dshow: fix log message

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 20:14:15 +01:00
Michael Niedermayer 864fdfa062 framecrcenc: print all side data elements, not just the first
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 18:17:27 +01:00
Michael Niedermayer b2c4431944 framecrcenc: Also print the size of side data elements
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 18:17:03 +01:00
Vignesh Venkatasubramanian 579c4add63 Fate test to print side_data crc if present
Modified the fate test crc generator to print the side_data's
crc if side_data is present.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 17:53:47 +01:00
Michael Niedermayer 78dc4cb26d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo: initialize dummy reference frames.

Conflicts:
	libavcodec/mpegvideo.c
	tests/ref/fate/filter-yadif-mode1

The luma init is left at 0x80 as it was previously, and tested and
working since a long time. Its also mandated to be 0x80 by at least
one specification. Cases that need different values already had
code in place to handle them.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 16:59:32 +01:00
Michael Niedermayer d71f8d74db qtrle: fix 1bit row_ptr comment
Found-by: aballier
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 16:46:23 +01:00
Michael Niedermayer 0b74fd1134 Merge commit 'dff6197dfb9b2d145729885c63f865c5fdd184aa'
* commit 'dff6197dfb9b2d145729885c63f865c5fdd184aa':
  nuv: do not rely on get_buffer() initializing the frame.
  yop: initialize palette to 0

Conflicts:
	libavcodec/nuv.c
	tests/ref/fate/nuv-rtjpeg-fh
	tests/ref/fate/yop

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 16:40:59 +01:00
Michael Niedermayer 73562f1f83 Merge commit '8136f234445862c94d1c081606b2d1e3d44fccf3'
* commit '8136f234445862c94d1c081606b2d1e3d44fccf3':
  yop: check for input overreads.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 16:25:16 +01:00
Martin Storsjö a846dccb29 h264chroma: x86: Fix building with yasm disabled
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-06 17:05:33 +02:00
Michael Niedermayer 3138b158dd Merge commit '06cf597c352519d2b70f293518c61b8c312f5d4f'
* commit '06cf597c352519d2b70f293518c61b8c312f5d4f':
  yop: check that extradata is large enough.

Conflicts:
	libavcodec/yop.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 16:05:06 +01:00
Michael Niedermayer 769eba75ee Merge commit '89f11f498b9c15bc71494a11a7ec560f4adf630d'
* commit '89f11f498b9c15bc71494a11a7ec560f4adf630d':
  qtrle: fix the topmost line for 1bit

Conflicts:
	tests/ref/fate/qtrle-1bit

See: 1af91978db

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 15:57:45 +01:00
Michael Niedermayer 68c0144d02 Merge commit '685e6f2e3939f124b41c7801cc541dad8252af3d'
* commit '685e6f2e3939f124b41c7801cc541dad8252af3d':
  xxan: properly handle odd heights.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 15:26:32 +01:00
Michael Niedermayer a845ac78c9 Merge commit '2cd4068071b9a8908823a3107f97e938211045ce'
* commit '2cd4068071b9a8908823a3107f97e938211045ce':
  fraps: fix off-by one bug for version 1.

Conflicts:
	libavcodec/fraps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 15:21:39 +01:00
Michael Niedermayer ddc3ca2caa Merge commit 'da7baaaae79b4d7d715d35ea6bcfbdd149edc177'
* commit 'da7baaaae79b4d7d715d35ea6bcfbdd149edc177':
  aasc: fix output for msrle compression.
  msrledec: check bounds before constructing a possibly invalid pointer,
  cmdutils: remove ansi from the list of broken codecs.

Conflicts:
	tests/ref/fate/aasc

Also See: e7117f1c10

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 15:16:51 +01:00
Michael Niedermayer 6e9f3f3b65 Merge commit '238614de679a71970c20d7c3fee08a322967ec40'
* commit '238614de679a71970c20d7c3fee08a322967ec40':
  cdgraphics: do not rely on get_buffer() initializing the frame.
  svq1: replace struct svq1_frame_size with an array.
  vf_yadif: silence a warning.

Conflicts:
	libavcodec/svq1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 14:53:49 +01:00
Michael Niedermayer fadf845973 Merge commit '48a4ffa722c0874b251de9d201babed52cef0bcb'
* commit '48a4ffa722c0874b251de9d201babed52cef0bcb':
  asf: K&R formatting cosmetics
  vc1dec: use codec_id instead of codec_tag for VC1IMAGE
  sh4: drop unused functions

Conflicts:
	libavformat/asf.c
	libavformat/asfdec.c
	libavformat/asfenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 14:25:28 +01:00
Tim Walker 7af876a93f flac: add channel layout masks for streams with 7 or 8 channels
They were added to the latest FLAC specification:
https://git.xiph.org/?p=flac-website.git;a=commit;h=65c199a2
2013-02-06 12:53:15 +00:00
James Almer 8ab2173ed1 lavc/bink: Chech for malloc failure
Signed-off-by: James Almer <jamrial@gmail.com>
2013-02-06 12:35:33 +00:00
Michael Niedermayer 6c38884876 Merge commit '620289a20e022b9c16c10d546ef86cc0bb77cc84'
* commit '620289a20e022b9c16c10d546ef86cc0bb77cc84':
  sh4: Fix silly type vs. variable name search and replace typo
  configure: Group all hwaccels together in a separate variable
  Add av_cold attributes to arch-specific init functions

Conflicts:
	configure
	libavcodec/arm/mpegvideo_armv5te.c
	libavcodec/x86/mlpdsp.c
	libavcodec/x86/motion_est.c
	libavcodec/x86/mpegvideoenc.c
	libavcodec/x86/videodsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 13:27:24 +01:00
Michael Niedermayer 0ddca7d416 dsputil: fixup half a dozen bugs with ptrdiff vs int linesize
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 13:22:19 +01:00
Michael Niedermayer ede45c4e1d Merge commit '25841dfe806a13de526ae09c11149ab1f83555a8'
* commit '25841dfe806a13de526ae09c11149ab1f83555a8':
  Use ptrdiff_t instead of int for {avg, put}_pixels line_size parameter.

Conflicts:
	libavcodec/alpha/dsputil_alpha.c
	libavcodec/dsputil_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 12:18:25 +01:00
Diego Biurrun 82bd04b170 rv34: Drop now unnecessary dsputil dependencies 2013-02-06 11:30:54 +01:00
Diego Biurrun 79dad2a932 dsputil: Separate h264chroma 2013-02-06 11:30:53 +01:00
Anton Khirnov 293065bdb5 mpegvideo: initialize dummy reference frames.
Do not rely on get_buffer initializing them.

Changes yadif tests (off by one in one border pixel), because yadif
reads from those uninitialized lines.
2013-02-06 10:21:52 +01:00
Anton Khirnov dff6197dfb nuv: do not rely on get_buffer() initializing the frame. 2013-02-06 10:21:52 +01:00
Anton Khirnov 8136f23444 yop: check for input overreads.
CC:libav-stable@libav.org
2013-02-06 10:21:52 +01:00
Anton Khirnov 06cf597c35 yop: check that extradata is large enough.
CC:libav-stable@libav.org
2013-02-06 10:21:52 +01:00
Kostya Shishkov 89f11f498b qtrle: fix the topmost line for 1bit
Signed-off-by: Anton Khirnov <anton@khirnov.net>
CC:libav-stable@libav.org
2013-02-06 10:21:52 +01:00
Kostya Shishkov 685e6f2e39 xxan: properly handle odd heights.
Duplicate the last one or two chroma lines.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
CC:libav-stable@libav.org
2013-02-06 10:21:52 +01:00
Anton Khirnov 2cd4068071 fraps: fix off-by one bug for version 1.
CC:libav-stable@libav.org
2013-02-06 10:21:52 +01:00
Anton Khirnov da7baaaae7 aasc: fix output for msrle compression.
The bottom line was invalid before.

CC:libav-stable@libav.org
2013-02-06 10:21:52 +01:00
Anton Khirnov 238614de67 cdgraphics: do not rely on get_buffer() initializing the frame.
Setting it to zero (instead of 128, as the default get_buffer() does)
also produces more correctly-looking output.
2013-02-06 10:21:52 +01:00
Anton Khirnov 39a9fdd00f yop: initialize palette to 0
The FATE sample contains some pixels with value 0, but the palette
stored in the file contains only values from 16 up. Because the default
and cmdutils get_buffer() initialize the data to 0x80, they appear as
gray dots.
After this commit they change to black dots, which is probably still
incorrect but less visible and doesn't rely on get_buffer() initializing
the data.
2013-02-06 10:21:52 +01:00
Anton Khirnov 9bd6375d5f msrledec: check bounds before constructing a possibly invalid pointer,
CC:libav-stable@libav.org
2013-02-06 10:21:52 +01:00
Anton Khirnov 6ed9fc44ba svq1: replace struct svq1_frame_size with an array.
It is used as an array in svq1enc, so this is more correct.
2013-02-06 10:21:52 +01:00
Anton Khirnov 6a39985451 cmdutils: remove ansi from the list of broken codecs.
It's not relying on get_buffer() initializing the frame since
99e36ddd3e.
2013-02-06 10:21:52 +01:00
Anton Khirnov 99162f8d46 vf_yadif: silence a warning.
clang says:
libavfilter/vf_yadif.c:192:28: warning: incompatible pointer types assigning to
'void (*)(uint8_t *, uint8_t *, uint8_t *, uint8_t *, int, int, int, int, int)'
from 'void (uint16_t *, uint16_t *, uint16_t *, uint16_t *, int, int, int, int, int)'
2013-02-06 10:21:51 +01:00
Diego Biurrun 48a4ffa722 asf: K&R formatting cosmetics 2013-02-06 09:48:51 +01:00
Vladimir Pantelic 77bcb89600 vc1dec: use codec_id instead of codec_tag for VC1IMAGE
the rest of the code is using codec_id everywhere already

Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2013-02-06 09:34:32 +01:00
Michael Niedermayer 127ff88639 ffmpeg: do not call exit from exit_program()
This should fix  Ticket2116

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 04:03:52 +01:00
Michael Niedermayer 68dfe530e0 vdpau: Rename union, avoid name conflict with vdpau
Fixes Ticket2203

Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 01:43:36 +01:00
Michael Niedermayer ccf9dd00da ffmpeg: dont allow -flags to override -pass
Fixes Ticket2154

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 01:26:26 +01:00
Stefano Sabatini a12787960e lavf/segment: extend PTS debugging log with -reset_timestamps 2013-02-06 00:40:09 +01:00
Stefano Sabatini 212bb6490f ffplay: report video frame changes only in debug mode
In particular, remove distracting message:
"Video frame changed from size:0x0 format:none serial:-1 to ..."
2013-02-06 00:20:37 +01:00
Stefano Sabatini 58c4b0f990 ffplay: extend feedback in case of video changes 2013-02-06 00:20:30 +01:00
Luca Barbato b2a722a87e sh4: drop unused functions
{avg,put}_pixels4_c are not used.
2013-02-05 23:24:05 +01:00
Michael Niedermayer f0eacbc760 dvenc: dont fail hard if the timecode is invalid
Instead just dont store the timecode
Fixes Ticket2187

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 22:57:35 +01:00
Diego Biurrun 620289a20e sh4: Fix silly type vs. variable name search and replace typo 2013-02-05 22:53:44 +01:00
Michael Niedermayer b0635e2fcf movtextenc: fix pointer messup and out of array accesses
Fixes Ticket2187

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 21:54:02 +01:00
Michael Niedermayer f7b7f021e5 Merge remote-tracking branch 'rdp/combined'
* rdp/combined:
  hdyc col
  dshow: use standardized raw pixel format lookup

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 21:00:53 +01:00
Michael Niedermayer c2dd5a18b2 ljpegenc: allocate needed scratch-buffer
Fixes null pointer dereference
Fixes Ticket2207

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 18:52:07 +01:00
Michael Niedermayer a8343bfb6a riff: fix infinite loop
Fixes Ticket2241

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 18:31:27 +01:00
Diego Biurrun 70b348ec5b configure: Group all hwaccels together in a separate variable 2013-02-05 17:01:06 +01:00
Diego Biurrun c9f933b5b6 Add av_cold attributes to arch-specific init functions 2013-02-05 17:01:05 +01:00
Michael Niedermayer 2b20397e1f libmpcodecs/vd_ffmpeg.h: remove, its unused and removed upstream
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 15:54:39 +01:00
multiple authors 81e357db62 libmpcodecs/vf_pullup: update to latest version from mplayer
Please see mplayer svn for authorship and individual commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 15:41:19 +01:00
multiple authors 13afcdd00e libmpcodecs/vf_uspp: update to latest version from mplayer
Please see mplayer svn for authorship and individual commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 15:41:00 +01:00
multiple authors 3ce3d4cc3c libmpcodecs/vf_unsharp: update to latest version from mplayer
Please see mplayer svn for authorship and individual commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 15:40:43 +01:00
multiple authors 7a4885600f libmpcodecs/vf_spp: update to latest version from mplayer
Please see mplayer svn for authorship and individual commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 14:53:53 +01:00
multiple authors 14132599a3 libmpcodecs/vf_sab: update to latest version from mplayer
Please see mplayer svn for authorship and individual commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 14:47:33 +01:00
multiple authors fe8bc6ddfc libmpcodecs/pullup: update to latest version from mplayer
Please see mplayer svn for authorship and individual commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 14:47:13 +01:00
multiple authors 8f7e3e678b libmpcodecs/vf_noise: update to latest version from mplayer
Please see mplayer svn for authorship and individual commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 14:18:15 +01:00
multiple authors 3ca46d0c10 libmpcodecs/vf_pp7:update to latest version from mplayer
Please see mplayer svn for authorship and individual commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 14:17:28 +01:00
multiple authors fdd574ed3f libmpcodecs/vf_qp: update to latest version from mplayer
Please see mplayer svn for authorship and individual commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 14:17:17 +01:00
multiple authors b7e6622971 libmpcodecs/vf_mcdeint: update to latest version from mplayer
Please see mplayer svn for authorship and individual commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 14:00:20 +01:00
multiple authors 25ed6e99d7 libmpcodecs/vf_ilpack: update to latest version from mplayer
Please see mplayer svn for authorship and individual commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 13:59:47 +01:00
multiple authors 011702f5a9 libmpcodecs/vf_ivtc: update to latest version from mplayer
Please see mplayer svn for authorship and individual commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 13:59:34 +01:00
multiple authors 0b36a05c17 libmpcodecs/vf_fspp: update to latest version from mplayer
Please see mplayer svn for authorship and individual commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 13:44:53 +01:00
multiple authors 2b9eb6167b libmpcodecs/av_helpers: update to latest version from mplayer
Please see mplayer svn for authorship and individual commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 13:43:35 +01:00
multiple authors e02c713fb1 libmpcodecs/vf_filmdint: update to latest version from mplayer
Please see mplayer svn for authorship and individual commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 13:40:08 +01:00
multiple authors 5d0115118d libmpcodecs/vf_divtc: update to latest version in mplayer
Please see mplayer svn for authorship and individual commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 13:39:46 +01:00
multiple authors 99a0813a7e libhmpcodec/mp_msg: update to latest from mplayer
Please see mplayer svn for authorship and individual commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 13:02:28 +01:00
Diego Biurrun 25841dfe80 Use ptrdiff_t instead of int for {avg, put}_pixels line_size parameter.
This avoids SIMD-optimized functions having to sign-extend their
line size argument manually to be able to do pointer arithmetic.
2013-02-05 12:59:12 +01:00
multiple authors 745cb39d05 libmpcodecs/help_mp: update to latest from mplayer
Please see mplayer svn for authorship and individual commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 12:58:20 +01:00
multiple authors a54737f7ea libmpcodecs/cpudetect: update to latest from mplayer
Please see mplayer svn for authorship and individual commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 12:55:10 +01:00
Michael Niedermayer 0b6f34cc9f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avfilter: x86: consistent filenames for filter optimizations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 11:56:48 +01:00
multiple authors 103a2c2b17 libmpcodecs: update img_format.* & mp_image.* to latest from mplayer
Please see mplayer svn for authorship and individual commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 03:30:17 +01:00
multiple authors 708ed15d8c libmpcodecs/vf_stereo3d: update to latest version from mplayer
Merged commits:
commit 9a2978f37bcdf7a28235c9322e9e5a4fe15e2ff2
Author: cehoyos <cehoyos@b3059339-0415-0410-9bf9-f77b7e298cf2>
Date:   Thu Jan 31 12:12:36 2013 +0000

    Add more vf_stereo3d output formats.

    Adds high quality green-magenta and yellow-blue dubois
    anaglyph 3D output support.

    Patch by thomas schorpp, thomas.schorpp gmail

    git-svn-id: svn://svn.mplayerhq.hu:/mplayer/trunk@35906 b3059339-0415-0410-9bf9-f77b7e298cf2

commit 2c50e66460d8d3ec460cbf9425f252f75ea1022d
Author: reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>
Date:   Sun Aug 12 17:31:47 2012 +0000

    Add another anaglyph color variant.

    Patch by Bob [mpbob ezpi net].

    git-svn-id: svn://svn.mplayerhq.hu:/mplayer/trunk@35080 b3059339-0415-0410-9bf9-f77b7e298cf2

commit 71c5261c2ac63e6e29a5a899b52d1ec4bdb62c4e
Author: reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>
Date:   Sun Aug 12 17:25:30 2012 +0000

    Convert comments into designated initializers.

    That is a simple way to ensure they always correspond
    to what the compiler actually does.

    git-svn-id: svn://svn.mplayerhq.hu:/mplayer/trunk@35079 b3059339-0415-0410-9bf9-f77b7e298cf2

commit d7164c5e1ba524c2a6983d979ef57e193b2c8a9f
Author: reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>
Date:   Sun Aug 12 17:20:24 2012 +0000

    Make compiler give the ana_coeff array automatically the right size.
    Makes adding more colour schemes easier.

    git-svn-id: svn://svn.mplayerhq.hu:/mplayer/trunk@35078 b3059339-0415-0410-9bf9-f77b7e298cf2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 03:05:54 +01:00
Michael Niedermayer 5a83115130 ffv1: check for malloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 00:37:20 +01:00
Michael Niedermayer b77d94dc6c ffv1enc: check for malloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 00:37:20 +01:00
Stefano Sabatini 0e2b0033f1 doc/filters: apply various rendering changes to the showspectrum docs
In particular: always use @table @samp for showing constant tables, add a
few empty lines for improving readability, and specify default value when
missing.
2013-02-05 00:12:55 +01:00
Stefano Sabatini 2d22e97f6d doc/filters: fix @item syntax in showspectrum docs
In particular, fix warnings:
** Unknown command with braces `@item' (in doc/filters.texi l. 60XX)
2013-02-05 00:01:03 +01:00
Michael Niedermayer fc0d069feb flacdec: silence several "warning: X may be used uninitialized in this function"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-04 22:59:02 +01:00
Michael Niedermayer 96a08d8627 wmavoice: silence may be used uninitialized warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-04 22:59:02 +01:00
Diego Biurrun e66240f22e avfilter: x86: consistent filenames for filter optimizations 2013-02-04 15:00:47 +01:00
Rudolf Polzer 81f2549ec9 lavfi/showspectrum: display multiple channels in separate row
The showspectrum filter gets multiple channel (any count) support.

Signed-off-by: Rudolf Polzer <divverent@xonotic.org>
2013-02-04 13:37:43 +00:00
Michael Niedermayer 353bd158f5 sws: Fix "warning: comparison of distinct pointer types lacks a cast"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-04 14:34:13 +01:00
Michael Niedermayer 63c61f0be0 vc1dec: Fix 2 "warning: may be used uninitialized in this function"
Initialize pointers to NULL for safety

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-04 14:30:40 +01:00
Michael Niedermayer c67ddb56da Merge remote-tracking branch 'mjbshaw/master'
* mjbshaw/master:
  libopenjpegenc: make dci compliant j2c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-04 13:22:56 +01:00
Michael Niedermayer a2bff49e26 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo: simplify REBASE_PICTURE

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-04 12:37:15 +01:00
Michaël Cinquin 60f06f986f libopenjpegenc: make dci compliant j2c
Signed-off-by: Michael Bradshaw <mjbshaw@gmail.com>
2013-02-03 23:53:39 -07:00
Anton Khirnov d9df93efbf mpegvideo: simplify REBASE_PICTURE
Always evaluate to NULL when the source Picture is not located in the
MpegEncContext.picture array. That will only happen for
next/last_picture_ptr when updating the thread context during h264 frame
threaded decoding, where they will point to elements of ref_list. Since
ref_list is not copied during updating the context and is invalid until
it is constructed for the current slice, there is no point in doing
anything complicated with next/last_picture_ptr, as they will get
updated when the ref_list is filled.
2013-02-04 06:17:15 +01:00
Michael Niedermayer b5f544a0f9 swr: Dont use floats for S32->S32 when possible
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-04 04:11:46 +01:00
Michael Niedermayer be989f9236 swr: reorder init code to make rematrix status available earlier
This also makes some other fields available earlier which may
be usefull one day

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-04 04:05:59 +01:00
Michael Niedermayer 24244cec2f swr-test: Fix clip to 32bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-04 04:05:59 +01:00
Michael Niedermayer b8c55590d5 swr/resample: fix integer overflow, add missing cast
The effects of this are limited to numeric errors in the output

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-04 04:05:59 +01:00
Michael Niedermayer 91debec976 swr/resample: fix filter rounding and cliping for s32
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-04 04:05:59 +01:00
Stefano Sabatini cf7b71b0b8 doc/filters: reformat various filter tables items
Improve overall consistency.
2013-02-03 23:16:20 +01:00
Dave Rice 71956371a7 lavu/parseutils: add digital cinema frame sizes
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-02-03 22:57:04 +01:00
Michael Niedermayer d106679fb5 qdm2: disable superblocktype_2_3==0 code
The code is untested and contained bugs, we need a sample if any files
use this branch.

Suggested-by: Roberto Togni
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-03 19:59:00 +01:00
Michael Niedermayer ccfd8cffe8 qdm2: Fix data type used in multiplication.
Avoid unintended truncation.
Fixes CID700555

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-03 19:56:04 +01:00
Rudolf Polzer 773fc6e0c7 lavfi/showspectrum: set default height to 512
Only power-of-two FFTs are supported; so to get a full spectrum
(that is, one up to Nyquist), the height must be a power of two.

Therefore, change the default height from 480 to 512.

Signed-off-by: Rudolf Polzer <divverent@xonotic.org>
2013-02-03 17:05:31 +00:00
Michael Niedermayer 4d37d2bfc5 put_vp_no_rnd_pixels8_l2_mmx: fix type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-03 17:21:06 +01:00
Dave Rice fe63f3d301 doc/syntax: add missing frame sizes
Adding missing frame sizes used in parseutils.c to the documentation.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-02-03 17:08:32 +01:00
Dave Rice 3bba91d32d doc/syntax: fix frame rate documentation
This patch corrects a mistake in the documentation and aligns the
documentation of frame rates to the values that exist in parseutils.c.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-02-03 17:08:20 +01:00
Stefano Sabatini 1897109c00 lavfi/pad: add support to named options 2013-02-03 17:01:56 +01:00
Stefano Sabatini c44281906a ffplay: remove misleading comment from audio_decode_frame() 2013-02-03 17:01:56 +01:00
Stefano Sabatini 02af4e9a97 ffplay: rename audio_decode_frame() variable "pts" to "audio_clock0"
The new name better expresses what the variable is.
2013-02-03 17:01:56 +01:00
Stefano Sabatini 6e32b377bb ffplay: remove pts_ptr argument from audio_decode_frame()
The argument is no longer used outside the function. Simplify.
2013-02-03 17:01:56 +01:00
Michael Niedermayer cb573f7fbc avcodec/x86: Add daniels copyright to the recent gcc->yasm convertions he did.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-03 13:50:44 +01:00
James Almer 13eb9fcf56 build: Remove superfluous MAKE variable for the build suffix
Use BUILDSUF instead.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-03 13:08:36 +01:00
James Almer d1511c02f4 proresdsp: Fix checkheaders
It's been broken since commit ac89875

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-03 13:08:36 +01:00
Carl Eugen Hoyos 90020d7f4b lavf/segment: use correct spelling and value for EXT-X-ALLOW-CACHE tag
Replace wrong "EXT-X-ALLOWCACHE" with "EXT-X-ALLOW-CACHE", and value 1/0
with YES/NO, as per spec.

Fix trac ticket #2228.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-02-03 11:17:35 +01:00
Stefano Sabatini c91f1f3f92 ffplay: drop redundant NULL sws_freeContext() check in stream_close()
sws_freeContext() already checks for NULL, simplify.
2013-02-03 11:15:27 +01:00
Michael Niedermayer 0cecaa9e2e ffmpeg: free attachments, fix memleak
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-03 03:09:23 +01:00
Carl Eugen Hoyos a60530e3ee Require at least three frames to autodetect loas. 2013-02-02 22:36:25 +01:00
Michael Niedermayer 695af8eed6 h264: skip error concealment when SPS and slices are mismatching
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-02 21:13:25 +01:00
Michael Niedermayer 0e9b9a6748 flacdec: skip in stream header packets
This prevents warning messages on chained oggs with some demuxers

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-02 19:58:13 +01:00
Nicolas George 23686c72e5 doc: update filter_design.txt to API changes. 2013-02-02 19:16:11 +01:00
Michael Niedermayer cdc48860a8 h264: silence warning about array index being out of bounds
The index is not out of bounds, adding an assert makes gcc
realize this.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-02 16:20:19 +01:00
Michael Niedermayer 4be0b91094 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: step to next frame if paused when seeking
  ffplay: move up pause functions
  ffplay: remember last window dimensions
  ffplay: fix order of setting show_mode
  ffplay: dynamically allocate audio buffer

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-02 16:14:21 +01:00
Stefano Sabatini 6d9c21dc0e doc/indevs: add missing final dot in v4l2 option value description
Fix inconsistency.
2013-02-02 15:32:34 +01:00
Stefano Sabatini fd6b6efbd2 lavfi/crop: fix help message for the keep_aspect option 2013-02-02 15:32:34 +01:00
Stefano Sabatini 6032a1c977 ffplay: extend doxy for audio_decode_frame() 2013-02-02 15:32:34 +01:00
Nicolas George 55910e1894 lavd/alsa: simplify reordering functions definition. 2013-02-02 14:13:11 +01:00
Michael Niedermayer 6726fb6533 avfilter/vf_hqdn3d.h: restore author attribution, history and project name
See git blame of pre split avfilter/vf_hqdn3d.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-02 13:18:10 +01:00
Michael Niedermayer d593f2b241 avfilter/x86/vf_hqdn3d_init: fix author attribution & project name
Reference: 7a1944b907

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-02 13:18:09 +01:00
Michael Niedermayer 0d13a7b786 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vf_hqdn3d: x86: Add proper arch optimization initialization

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-02 13:18:01 +01:00
Marton Balint 4ea7fbb2ec ffplay: step to next frame if paused when seeking
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-02 12:38:15 +01:00
Marton Balint c5eab4bb70 ffplay: move up pause functions
No change in functionality.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-02 12:38:14 +01:00
Marton Balint 5de3f724f1 ffplay: remember last window dimensions
After this change the dimensions of single image videos will be remembered when
coming back from full screen. The issue was mentioned in ticket #2174.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-02 12:38:14 +01:00
Marton Balint 4fd6e5af1e ffplay: fix order of setting show_mode
Without the fix the refresh event may have got called with unset show mode.

Fixes ticket #2174.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-02 12:38:14 +01:00
Marton Balint 571ef42dd4 ffplay: dynamically allocate audio buffer
We simply remove the fixed length VideoState->audio_buf2 and use
the previously unused VideoState->audio_buf1.

Fixes ticket #2191.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-02-02 12:38:14 +01:00
Carl Eugen Hoyos b45a3e167f Map the interlaced flag of yuv4mpeg streams to AVCodecContext->field_order.
Fixes a part of ticket #2190.
2013-02-02 12:32:04 +01:00
Steven Boswell II 6289a8296a build-sys: Fix pkgconfig files when ffmpeg is built with --build-suffix
Tested-on: Fedora Core 14, 16, and 17.
Tested-on: Ubuntu by commiter

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-02 03:24:16 +01:00
Carl Eugen Hoyos 985e93a865 Do not fail for mixed interlaced / non-interlaced YUV4MPEG streams. 2013-02-02 00:01:48 +01:00
Ronald S. Bultje 8af915c21b vp56: remove clear_blocks call, and clear alpha plane U/V DC only.
The non-alpha and alpha-Y planes are cleared in the idct_put/add()
calls. For the alpha U/V planes, we only care about the DC for entropy
context prediction purposes, the rest of the data is unused.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-01 23:51:34 +01:00
Carl Eugen Hoyos 6a50e8a190 Do not change codec in flv streams if the user has forced a codec.
Fixes ticket #2218.
2013-02-01 23:27:15 +01:00
Matthieu Bouron 5a67e30b1c ffmpeg: fix broken channel_layout option
Fixes ticket #2163.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-01 22:54:18 +01:00
Stefano Sabatini 423856c4ae doc/filters: fix syntax and typo for the afade curve option 2013-02-01 18:52:42 +01:00
Stefano Sabatini 986540b65f doc/filters: create a dedicated examples section for lut*, and itemize 2013-02-01 18:35:15 +01:00
Stefano Sabatini 902fa77fd7 doc/filters: fix syntax and description for the lut* options 2013-02-01 18:32:21 +01:00
Stefano Sabatini b868275ddb doc/muxers: fix level for the segment options subsection
Properly declare it like a @subsection, rather than as a @section.
2013-02-01 18:14:05 +01:00
Carl Eugen Hoyos 99eedfc400 doc/muxers.texi: Fix mp3 picture attachment documentation. 2013-02-01 17:54:48 +01:00
Michael Niedermayer 911e270688 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Use proper "" quotes for local header #includes
  ppc: fmtconvert: Drop two unused variables.
  bink demuxer: set framerate.

Conflicts:
	libavcodec/kbdwin.c
	libavcodec/ppc/fmtconvert_altivec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-01 14:34:18 +01:00
Michael Niedermayer 1bc51a7a74 Merge commit '1730ca2eca42974af0c29f38a0770997cba2f0da'
* commit '1730ca2eca42974af0c29f38a0770997cba2f0da':
  bink demuxer: check malloc return value

See:
commit e400b95b32
Author: Paul B Mahol <onemda@gmail.com>
Date:   Sat Jun 9 10:57:14 2012 +0000

    bink: check av_mallocz() return value

    Signed-off-by: Paul B Mahol <onemda@gmail.com>

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-01 14:26:44 +01:00
Michael Niedermayer 69a6eddd60 Merge commit 'f2960097e42ddf9a356bab6547f87906f6999e0a'
* commit 'f2960097e42ddf9a356bab6547f87906f6999e0a':
  bink: fix a check for the first frame.
  doc/developer: Drop obsolete MPlayer reference
  doc/developer: Add ISC license to list of acceptable licenses
  doc/developer: Add web links for all suggested licenses

Conflicts:
	doc/developer.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-01 14:15:30 +01:00
Diego Biurrun 76d90125cd vf_hqdn3d: x86: Add proper arch optimization initialization 2013-02-01 13:11:45 +01:00
Diego Biurrun 6c1a7d07eb Use proper "" quotes for local header #includes 2013-02-01 12:51:15 +01:00
Diego Biurrun 4eef2ed707 ppc: fmtconvert: Drop two unused variables. 2013-02-01 12:51:13 +01:00
Anton Khirnov 9ec8971060 bink demuxer: set framerate. 2013-02-01 12:42:17 +01:00
Anton Khirnov 1730ca2eca bink demuxer: check malloc return value 2013-02-01 12:41:38 +01:00
Anton Khirnov f2960097e4 bink: fix a check for the first frame.
Packet pts is a very unreliable indicator, use
AVCodecContext.frame_number instead.
2013-02-01 12:41:31 +01:00
Diego Biurrun 8787847dc6 doc/developer: Drop obsolete MPlayer reference 2013-02-01 11:17:24 +01:00
Diego Biurrun 8b0fda180e doc/developer: Add ISC license to list of acceptable licenses 2013-02-01 11:17:21 +01:00
Diego Biurrun cb30bf7f03 doc/developer: Add web links for all suggested licenses 2013-02-01 11:16:55 +01:00
Michael Niedermayer 086566a557 dict: fix memleak
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-01 03:56:51 +01:00
Michael Niedermayer ffd02d0c19 Merge remote-tracking branch 'mjbshaw/master'
* mjbshaw/master:
  libopenjpegenc: simplify switch statement
  libopenjpegenc: add support for pix fmt gbrp (8-16 bit)

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-01 02:33:42 +01:00
Allan Kristensen 4789c25d83 matroska: fixed missing S_DVBSUB subtitles 2013-02-01 01:49:04 +01:00
Sebastian Sandberg c6779c5131 vc1dec: fieldtx is only valid for interlaced frames
the fieldtx_plane is not cleared for interlaced fields

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-01 00:48:05 +01:00
Michael Bradshaw 28f36dce3e libopenjpegenc: simplify switch statement
Signed-off-by: Michael Bradshaw <mjbshaw@gmail.com>
2013-01-31 16:03:58 -07:00
Michael Bradshaw c58c67398d libopenjpegenc: add support for pix fmt gbrp (8-16 bit)
Signed-off-by: Michael Bradshaw <mjbshaw@gmail.com>
2013-01-31 15:55:00 -07:00
Michael Niedermayer 131fac1c12 vc1dec: fix block_off
Fixes corruption of motion_val

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-31 23:22:11 +01:00
Stefano Sabatini b999774f0b doc/indevs: document v4l2 options
Reviewed-By: Giorgio Vazzana <mywing81@gmail.com>
2013-01-31 22:13:08 +01:00
Stefano Sabatini 349e7f423f doc/indevs: itemize examples for the v4l2 device 2013-01-31 22:13:08 +01:00
Nicolas George d2ccab5f8a lavfi/buffersrc: forward filter_frame errors.
Note: The ret variable was unused.
2013-01-31 21:03:54 +01:00
Nicolas George dcce43340f lavfi/af_amerge: set outbuf->audio->channels.
The value is lost because of avfilter_copy_buffer_ref_props().

Fix trac ticket #2217.
2013-01-31 21:03:54 +01:00
Nicolas George ae14887ee7 lavfi/af_amerge: check for buffer queue overflows.
Without that test, ff_bufqueue_add silently discards the
oldest buffer, that leaves in[i].nb_samples inconsistent,
and causes later a segfault.
2013-01-31 21:03:54 +01:00
Nicolas George 6560625f0a lavfi/bufferqueue: add ff_bufqueue_is_full(). 2013-01-31 21:03:54 +01:00
Michael Niedermayer dd87d4a318 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: hpel: Move {avg,put}_pixels16_sse2 to hpeldsp
  configure: Add a comment indicating why uclibc is checked before glibc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-31 20:03:36 +01:00
Michael Niedermayer 01d012ba3d Merge commit '29f1fa74225e9fdbab6d590857edbecb51cf74da'
* commit '29f1fa74225e9fdbab6d590857edbecb51cf74da':
  configure: Move newlib libc check before mingw libc check
  avisynth: Change demuxer name to avoid conflicts with AVS

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-31 19:52:58 +01:00
Michael Niedermayer 324498f824 Merge commit 'a65f965c04bfa27adedc0409c14cc05903f483d0'
* commit 'a65f965c04bfa27adedc0409c14cc05903f483d0':
  mpegvideo: Do REBASE_PICTURE with byte pointers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-31 19:19:37 +01:00
Michael Niedermayer ed341549bb Merge commit 'a5ba798c16d0614d982a76755fdd72b37d437170'
* commit 'a5ba798c16d0614d982a76755fdd72b37d437170':
  dsputil: remove unused functions copy_block{2, 4, 8, 16}.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-31 19:00:29 +01:00
Stefano Sabatini 7e0fc1a24f CREDITS: redirect to Git log, remove current outdated content
All the removed names are already mentioned in the commit log, or are
listed as copyright holders in the contributed files.

Amongst the removed names, the following ones were not listed in the
commit log:

Mario Brito (Xan DPCM decoder)
Brian Foley (DSP utils optimizations)
Vladimir Gneushev (lavf/lavc)
Juan J. Sierralta (H.263)
Ewald Snel (qdm2, cinepak)
Lionel Ulmer (DSP utils optimizations)
2013-01-31 18:02:52 +01:00
Paul B Mahol 22fad4e2b8 doc/filters: fix afade cuve types listing
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-31 16:18:50 +00:00
Stefano Sabatini e47114d545 lavfi: increment max number of registered filters from 128 to 256
The total number of implemented filters is already over 128.
2013-01-31 16:47:37 +01:00
Stefano Sabatini a842dc632e doc/indevs: apply misc fixes to the v4l2 documentation
Reviewed-by: Giorgio Vazzana <mywing81@gmail.com>
2013-01-31 15:29:53 +01:00
Giorgio Vazzana 514216d8a9 lavd/v4l2: read the correct time per frame from devices that support a standard
Generally speaking, there are two types of v4l2 devices [1]:

1) devices that support a standard, like PAL or NTFS (tv cards, for example). For
this class of devices the framerate is fixed by the standard (for example PAL uses
25 fps) and the v4l2 driver cannot usually negotiate a different framerate (unless
it can skip frames on the driver side, to save I/O bandwidth).

2) devices for which the notion of standard does not make sense (webcams, for example).
For these devices it is usually possibile to request a desidered framerate.

In either case, the desidered frame rate can be requested when the VIDIOC_G_PARM
ioctl returns the V4L2_CAP_TIMEPERFRAME flag in the capability field.

Currently the code does not check for V4L2_CAP_TIMEPERFRAME and supports only the
second category of devices, returning a time per frame of 0/0 for devices in the
first group that do not permit to negotiate the framerate.

This patch adds support to read the correct framerate in all cases.

[1] http://linuxtv.org/downloads/v4l-dvb-apis/standard.html

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-01-31 15:29:53 +01:00
Paul B Mahol 402ea625ab lavfi/biquads: remove pointless casts
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-31 13:16:32 +00:00
Paul B Mahol b70ea49ca3 Port biquads filters from SoX
Adds allpass, bass, bandpass, bandreject, biquad,
equalizer, highpass, lowpass and treble filter.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-31 12:13:55 +00:00
Giorgio Vazzana ff23b76899 lavd/v4l2: add list_standards option
Since the user is expected to choose the standard by name (with -standard
option), add the possibility to list all the supported standards.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-01-31 12:38:03 +01:00
Stefano Sabatini dcfbe1e0b6 doc/eval: sort functions by name 2013-01-31 12:12:15 +01:00
Stefano Sabatini 41e5e28daf doc/eval: fix/extend documentation for taylor() function 2013-01-31 12:09:47 +01:00
Stefano Sabatini d99bc84752 doc/eval: fix/extend documentation for root() function 2013-01-31 12:09:13 +01:00
Diego Biurrun 52acd79165 x86: hpel: Move {avg,put}_pixels16_sse2 to hpeldsp 2013-01-31 11:19:23 +01:00
Diego Biurrun 29f1fa7422 configure: Move newlib libc check before mingw libc check
On Cygwin systems MinGW headers can be present if the corresponding
packages have been installed. Since the MinGW libc is checked for
first, this results in newlib getting misdetected as MinGW libc.
2013-01-31 11:19:23 +01:00
Diego Biurrun 197252f1c5 configure: Add a comment indicating why uclibc is checked before glibc 2013-01-31 11:19:23 +01:00
Diego Biurrun 0f5b0b4178 avisynth: Change demuxer name to avoid conflicts with AVS 2013-01-31 11:19:22 +01:00
Martin Storsjö a65f965c04 mpegvideo: Do REBASE_PICTURE with byte pointers
REBASE_PICTURE (more specifically, this half of it) takes a Picture
pointer that points into one larger struct, finds the offset of
that Picture within the struct and finds the corresponding field
within another instance of a similar struct.

The pointer difference "pic - (Picture*)old_ctx" is a value given
in sizeof(Picture) units, and when applied back on
(Picture*)new_ctx gets multiplied back with sizeof(Picture). Many
compilers seem to optimize out this division/multiplication, but
not all do.

GCC 4.2 on OS X doesn't seem to remove the division/multiplication,
therefore the new pointer didn't turn out to point to exactly
the right place in the new struct since it only had sizeof(Picture)
granularity (and the Picture is not aligned on a sizeof(Picture)
boundary within the encompassing struct). This bug has been present
before 47318953d as well - with H264, pointers to h->ref_list[0][0]
pointed to 88 bytes before h->ref_list[0][0] after the rebase. After
shrinking Picture, the difference ended up even larger, making
writes via such a Picture pointer overwrite other fields at random
in H264Context, ending up in crashes later.

This fixes H264 multithreaded decoding on OS X with GCC 4.2.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-31 10:51:36 +02:00
Michael Niedermayer cdf0877bc3 h264/cabac: check loop index
fix out of array read

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-31 04:21:26 +01:00
Michael Niedermayer fe6767f849 asfdec: fix integer overflow in packet_replic_size check
Fixes assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-31 03:37:43 +01:00
Mirjana Vulin 2b6a8187a6 mips: optimization for float aac decoder (core module)
Signed-off-by: Mirjana Vulin <mvulin@mips.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-31 01:23:09 +01:00
Michael Niedermayer 9df9420dea interplayvideo: Free previous frames on resolution changes.
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-31 00:46:04 +01:00
Piotr Bandurski 9c50e69385 loco: fix rgba on big-endian
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-31 00:02:17 +01:00
Michael Niedermayer a084884b62 flashsv: clear blocks array on reallocation
Fixes use of uninitialized data

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-30 23:50:32 +01:00
Paul B Mahol 0dcfccaa69 auenc: strict check for supported codec
Also check number of streams and give error message why muxing failed.
This prevents muxing unsupported codec with known and supported tag.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-30 22:17:52 +00:00
Paul B Mahol 10e4905dd9 auenc: remove put_au_header() and merge its code into au_write_header
Such level of abstraction is pointless.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-30 22:17:52 +00:00
Michael Niedermayer 984add64a4 wma: check byte_offset_bits
Fixes assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-30 23:12:57 +01:00
Michael Niedermayer 033f1644b5 fixup_vorbis_headers: add missing malloc failure check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-30 20:04:14 +01:00
Paweł Hajdan, Jr 0451ff295a oggparsevorbis: use av_realloc consistently
Memory passed to av_realloc cannot be allocated using memalign.

From realloc(3):

The realloc() function changes the size of the memory block pointed to
by ptr to size bytes. (...) Unless ptr is NULL, it must have been returned
by an earlier call to malloc(), calloc() or realloc().

The issue has been found by debugallocation, a part of google-perftools:
http://code.google.com/p/gperftools/ .

Signed-off-by: Paweł Hajdan, Jr <phajdan@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-30 19:54:35 +01:00
Michael Niedermayer 4a2da83a78 dnxhddec: fix integer overflow / index check
Fixes out of array read

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-30 19:32:18 +01:00
Michael Niedermayer b926cc7834 mss3: prevent AC state from becoming invalid in rac_normalise()
Fixes division by zero

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-30 18:14:39 +01:00
Michael Niedermayer 32de283103 avstring: fix "warning: return discards const qualifier from pointer target type"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-30 16:54:15 +01:00
Michael Niedermayer d2e0a276d5 msrledec: merge switches
More speedup and fixes 'may be used uninitialized in this function' warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-30 16:42:17 +01:00
Michael Niedermayer dbaae33c2c msrledec: move loop into switch
speeds up code and allows more simplifications

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-30 16:39:35 +01:00
Michael Niedermayer c2992b7053 msrledec: move output pointer test up
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-30 16:33:45 +01:00
Michael Niedermayer d8a7c4958e mpegvideo_enc: factor expression out
Fixes "warning: dc[0..5] may be used uninitialized in this function"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-30 16:24:33 +01:00
Michael Niedermayer afb4bc3d29 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: Simplify code by using avio_wb24
  bfin: unbreak compilation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-30 14:49:49 +01:00
Ronald S. Bultje a5ba798c16 dsputil: remove unused functions copy_block{2, 4, 8, 16}. 2013-01-30 14:18:06 +01:00
Martin Storsjö 61d36761ef movenc: Simplify code by using avio_wb24
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-30 13:45:45 +02:00
Carl Eugen Hoyos 91f359292a Correctly mark non-default streams when muxing matroska.
Fixes ticket #1815.

Reviewed-by: Hendrik Leppkes
2013-01-30 10:28:53 +01:00
Michael Niedermayer 71f8d70456 dirac/x86: fix compile without yasm
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-30 06:47:09 +01:00
Michael Niedermayer 4d3d362549 dirac/x86: fix compile without inline asm
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-30 02:51:59 +01:00
Carl Eugen Hoyos 3c3d68a976 Fix 1bpp palettized png with width not a multiple of 8.
Fixes ticket #2204.
2013-01-30 00:49:16 +01:00
Michael Niedermayer dc8dd2f6e9 sanm: Check MV before using them.
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-29 22:36:18 +01:00
Paweł Hajdan, Jr 1d81f7448c dict.c: use av_mallocz instead of av_realloc
Memory passed to av_realloc must come from malloc,
calloc or realloc, and not e.g. memalign. realloc(3):

The realloc() function changes the size of the memory block pointed to
by ptr to size bytes. (...) Unless ptr is NULL, it must have been
returned by an earlier call to malloc(), calloc() or realloc().

The issue has been found by debugallocation, a part of google-perftools:
http://code.google.com/p/gperftools/ .

This makes fate pass when using LD_PRELOAD-ed debugallocation.

See also earlier discussion
http://ffmpeg.org/pipermail/ffmpeg-devel/2013-January/137234.html

Signed-off-by: Paweł Hajdan, Jr <phajdan@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-29 20:23:02 +01:00
Michael Niedermayer 0dfc01c2bb huffyuvdec: Skip len==0 cases
Fixes vlc decoding for hypothetical files that would contain such cases.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-29 19:11:28 +01:00
Michael Niedermayer 4420b41442 huffyuvdec: check for and propagate failures from inside generate_joint_tables()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-29 18:18:51 +01:00
Michael Niedermayer f67a0d1152 huffyuvdec: Check init_vlc() return codes.
Prevents out of array writes

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-29 17:57:58 +01:00
Michael Niedermayer 99b1b2b1c6 r3d: check that sampling rate is non negative.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-29 17:13:45 +01:00
Michael Niedermayer df92ac1852 r3d: fix division by 0 with 0 sample rate
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-29 16:57:50 +01:00
Michael Niedermayer 3cd9849d9c eval: fix 'warning: ignoring return value of strtod, declared with attribute warn_unused_result'
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-29 16:33:32 +01:00
Michael Niedermayer ebe368d5d8 ac3enc: fix 'warning: block0 may be used uninitialized in this function'
The pointer is also initialized to NULL for safety.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-29 16:15:02 +01:00
Michael Niedermayer 036b9ee1c9 oggenc: fix "oggstream may be used uninitialized in this function" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-29 15:57:42 +01:00
Luca Barbato 4e0bc996d9 bfin: unbreak compilation
Added a missing header file.
2013-01-29 14:59:21 +01:00
Michael Niedermayer 5068bcda95 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vf_delogo: fix copying the input frame.

Conflicts:
	libavfilter/vf_delogo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-29 14:58:49 +01:00
Michael Niedermayer d1bbd304bf Merge commit 'f81c37e40fe3236d54da12aef9cdba48ba70ec31'
* commit 'f81c37e40fe3236d54da12aef9cdba48ba70ec31':
  vf_delogo: fix an uninitialized read.
  h264: remove obsolete comment.
  mpegvideo: remove some unused variables from Picture.
  utvideoenc/v410enc: do not set AVFrame.reference.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-29 14:25:24 +01:00
Michael Niedermayer 3c8085dc42 Merge commit 'e6b1c3bbe7082c71ea8ee8ac83698c156c9e4838'
* commit 'e6b1c3bbe7082c71ea8ee8ac83698c156c9e4838':
  pthread: make ff_thread_release_buffer idempotent.
  mvi: set framerate

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-29 14:19:56 +01:00
Michael Niedermayer 31d8d61f59 Merge commit 'aec50f79e7460340a148a3096fe212d67edc2c64'
* commit 'aec50f79e7460340a148a3096fe212d67edc2c64':
  rawdec: use AVPALETTE_SIZE instead of magic constants.
  mimic: remove a pointless cast.
  mdec: return meaningful error codes.

Conflicts:
	libavcodec/rawdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-29 14:10:11 +01:00
Michael Niedermayer f02033b98b Merge commit 'f713411d4cfbd9c467aeda77b16ca6bc4db55d10'
* commit 'f713411d4cfbd9c467aeda77b16ca6bc4db55d10':
  mdec: cosmetics, reformat

Conflicts:
	libavcodec/mdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-29 13:57:57 +01:00
Michael Niedermayer 14aa358c20 Merge commit '098eed95bc1a6b2c8ac97f126f62bb74699670cf'
* commit '098eed95bc1a6b2c8ac97f126f62bb74699670cf':
  mdec: merge mdec_common_init() into decode_init().
  eatgv: use fixed-width types where appropriate.
  x86: Simplify some arch conditionals
  bfin: Separate VP3 initialization code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-29 13:48:38 +01:00
Michael Niedermayer 8265c0f43a Merge commit 'f550583c00e231b587d8ef98451cfbb6b6561eb6'
* commit 'f550583c00e231b587d8ef98451cfbb6b6561eb6':
  bfin: update VP3 idct

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-29 13:40:44 +01:00
Paul B Mahol 8a6ae87b99 lavc: move deprecated audio_resample* bellow
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-29 11:08:39 +00:00
Anton Khirnov 7194330bcd vf_delogo: fix copying the input frame.
CC:libav-stable@libav.org
2013-01-29 07:33:02 +01:00
Anton Khirnov f81c37e40f vf_delogo: fix an uninitialized read.
CC:libav-stable@libav.org
2013-01-29 07:32:54 +01:00
Anton Khirnov 76e74e4831 h264: remove obsolete comment. 2013-01-29 07:32:47 +01:00
Anton Khirnov 47318953dd mpegvideo: remove some unused variables from Picture. 2013-01-29 07:32:36 +01:00
Anton Khirnov 231fd1ed39 utvideoenc/v410enc: do not set AVFrame.reference.
That field will be deprecated.
2013-01-29 07:32:21 +01:00
Anton Khirnov e6b1c3bbe7 pthread: make ff_thread_release_buffer idempotent.
I.e. don't do anything on already released frames.
2013-01-29 07:32:10 +01:00
Anton Khirnov 729b37149c mvi: set framerate
This container does not store timestamps and thus supports CFR only.
2013-01-29 07:31:55 +01:00
Anton Khirnov aec50f79e7 rawdec: use AVPALETTE_SIZE instead of magic constants. 2013-01-29 07:31:43 +01:00
Anton Khirnov e6da5d215b mimic: remove a pointless cast. 2013-01-29 07:31:24 +01:00
Anton Khirnov 30d62507cd mdec: return meaningful error codes. 2013-01-29 07:31:15 +01:00
Anton Khirnov f713411d4c mdec: cosmetics, reformat 2013-01-29 07:27:36 +01:00
Anton Khirnov 098eed95bc mdec: merge mdec_common_init() into decode_init().
There is no point in keeping those two functions separate.
2013-01-29 07:27:23 +01:00
Anton Khirnov f1c395944c eatgv: use fixed-width types where appropriate. 2013-01-29 07:27:08 +01:00
Michael Niedermayer 11c99c78ba h264: check the pixel format directly and force a reinit on mismatches.
The existing checks are insufficient to detect a pixel format
changes in case of some damaged streams.
Fixes inconsistency and later out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-29 04:40:04 +01:00
Piotr Bandurski f9a8eeb08c iff/deep: fix rle32 on big-endian
Fixes ticket #2197.

Signed-off-by: Peter Ross <pross@xvid.org>
2013-01-29 11:01:19 +11:00
Diego Biurrun c59211b437 x86: Simplify some arch conditionals 2013-01-29 00:10:53 +01:00
Paul B Mahol 9efceaf1f7 takdec: switch to init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-28 22:47:30 +00:00
Michael Niedermayer 3939b790f2 wmavoicedec: use the checked bitstream, reader
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-28 23:13:22 +01:00
Michael Niedermayer 14c8ee00ff vp3dec: move threads check out of header packet type check
Prevents reconfiguration with threads which is unsupported
and would bring the contexts into an inconsistent state.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-28 22:46:48 +01:00
Michael Niedermayer 1336382c6d avfilter_get_audio_buffer_ref_from_frame: fix handling of >8 channels
Found-by: inferno@chromium.org
Reported-by: Dale Curtis <dalecurtis@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-28 21:45:16 +01:00
Diego Biurrun 438ea561ad bfin: Separate VP3 initialization code 2013-01-28 21:03:12 +01:00
Luca Barbato f550583c00 bfin: update VP3 idct
The block must be set to 0.
2013-01-28 21:00:59 +01:00
Michael Niedermayer 94ef1667bb dirac/x86: Fix handling blocksizes that are not a multiple of 4
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-28 20:55:11 +01:00
Michael Niedermayer 5c9cae7447 dirac: Only use MMX if MMX is available.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-28 20:00:55 +01:00
Michael Niedermayer 8c4aebb58d qdm2: increase noise_table size
This prevents out of array reads. An alternative solution would be
to check the index but this would require several checks in the
inner loops

Yet another alternative would be to change the index reset logic
but this likely would introduce a difference to the binary decoder

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-28 19:41:51 +01:00
Michael Niedermayer 4484c722f6 alsdec/read_specific_config: check for init_get_bits failure
This also fixes a potential integer overflow

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Reviewed-by: Thilo Borgmann <thilo.borgmann@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-28 15:42:18 +01:00
Michael Niedermayer 1146bbc5a6 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: hpeldsp: Fix a typo, use the right register
  shorten: fix array subscript is below array bounds warning

Conflicts:
	libavcodec/shorten.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-28 14:25:19 +01:00
Michael Niedermayer bb2f4ae434 Merge commit '05b0998f511ffa699407465d48c7d5805f746ad2'
* commit '05b0998f511ffa699407465d48c7d5805f746ad2':
  dsputil: Fix error by not using redzone and register name
  swscale: GBRP output support

Conflicts:
	libswscale/output.c
	libswscale/swscale.c
	libswscale/swscale_internal.h
	libswscale/utils.c
	tests/ref/lavfi/pixdesc
	tests/ref/lavfi/pixfmts_copy
	tests/ref/lavfi/pixfmts_null
	tests/ref/lavfi/pixfmts_scale
	tests/ref/lavfi/pixfmts_vflip

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-28 14:11:31 +01:00
Piotr Bandurski 51e9d2dbc8 aasc: fix 16bpp on big-endian 2013-01-28 11:29:37 +00:00
Michael Niedermayer 834e9fb056 x86: hpeldsp: Fix a typo, use the right register
This makes the code actually work.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-28 12:49:37 +02:00
Luca Barbato 4839fbe2d1 shorten: fix array subscript is below array bounds warning
Incidentally fixes alpha builds.
2013-01-28 07:24:51 +01:00
Daniel Kang 05b0998f51 dsputil: Fix error by not using redzone and register name
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-28 07:23:20 +01:00
Stephan Hilb 0501d06468 lavd/v4l2: use avcodec_find_decoder in list_formats
Because libavdevice/v4l2 is a demuxer, it makes sense to look for
decoders instead of encoders when listing the formats supported by the
device.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-01-28 00:11:49 +01:00
Michael Niedermayer 4ade824e1f mjpegdec: rgb mode is specific for ljpeg, disable it for others.
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-27 23:47:23 +01:00
Michael Niedermayer 73abc3a634 aacdec: check init_get_bits return
Also fixes an integer overflow

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-27 23:47:23 +01:00
Michael Niedermayer 8888c72fcf mjpegdec: fix memcmp size for *_count
Fixes assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-27 23:47:23 +01:00
Carl Eugen Hoyos d88d0b6db6 Write forced track flag to matroska files.
Based on a patch by Daniel Pielmeier, daniel pielmeier gmail
Fixes a part of ticket #1815.
2013-01-27 23:24:52 +01:00
Carl Eugen Hoyos a6a5101654 Fix some avi rawvideo formats on big endian.
Fixes ticket #2196.
2013-01-27 22:49:48 +01:00
Michael Niedermayer 4eb93bed4e swscale: GBRP output support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-01-27 15:28:07 -05:00
Michael Niedermayer deefdf9788 avpriv_mpeg4audio_get_config: check init_get_bits() return code.
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-27 21:18:00 +01:00
Michael Niedermayer 96f452ac64 aacdec: check channel count
Prevent out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-27 20:38:00 +01:00
Matthieu Bouron 9d602a0b0e lavc/dnxhdenc: print valid profiles when codec parameters are invalid
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-27 18:44:16 +01:00
Matthieu Bouron 5b83b2da08 lavc/dnxhddata: add frame_rates field to cid table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-27 18:44:16 +01:00
Giorgio Vazzana 93d319a582 lavd/v4l2: select input immediately after opening the device
After opening the device, the first thing we should do is selecting the
input. This is because the image formats (VIDIOC_ENUM_FMT ioctl) and the
standards (VIDIOC_ENUMSTD ioctl) supported may depend on the selected
input ([1] and [2]).

[1] http://linuxtv.org/downloads/v4l-dvb-apis/vidioc-enum-fmt.html
[2] http://linuxtv.org/downloads/v4l-dvb-apis/vidioc-enumstd.html

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-01-27 18:19:27 +01:00
Stefano Sabatini 5306976be8 lavd/v4l2: sanitize logic of device_try_init(), so that it properly signal errors
Make device_try_init() return an error value, and allow to properly
report errors which are not due to a wrong pixel/codec configuration.

In particular, report intelligible feedback in case of busy device.
2013-01-27 17:58:16 +01:00
Stefano Sabatini 27db2bf000 ffmpeg: remove -crop* and -pad* options
The options have been deprecated and are non-operational since more than
two years.
2013-01-27 16:56:47 +01:00
Stefano Sabatini 43af18ef8b ffmpeg: implement -force_key_frames expression evalution 2013-01-27 16:56:47 +01:00
Michael Niedermayer 2b14344ab3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: vp8: Fix the plain-armv6 version of vp8_luma_dc_wht

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-27 16:47:56 +01:00
Michael Niedermayer f5c0b9aa6f Merge commit '96753bd00d6d4046db6818c0aadc21bf2a11d77b'
* commit '96753bd00d6d4046db6818c0aadc21bf2a11d77b':
  dsputil: x86: Correct the number of registers used in put_no_rnd_pixels16_l2
  dsputil: add missing HAVE_YASM guard
  hwaccel: do not offer unsupported pixel formats
  vdpau: add missing pixel format for H.264

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-27 16:30:01 +01:00
Michael Niedermayer edde562130 AVG_PIXELS8_XY2: fix typo, make code actually work
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-27 15:50:26 +01:00
Daniel Kang 5327a45552 dsputil: x86: Correct the number of registers used in put_no_rnd_pixels16_l2
put_no_rnd_pixels16_l2 allocated 5 instead of 6 registers.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-27 15:20:44 +01:00
Daniel Kang d9e62f368d dsputil: add missing HAVE_YASM guard
Fix compile error under
"--disable-optimizations --disable-yasm --disable-inline-asm"

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-27 15:20:35 +01:00
Michael Niedermayer 5934be16cc x86/mpeg4qpel: Fix author attribution
Also fix project name

See git blame/log/show and
commit 826f429ae9
Author: Michael Niedermayer <michaelni@gmx.at>
Date:   Sun Jan 5 15:57:10 2003 +0000

    qpel in mmx2/3dnow
    qpel refinement quality parameter

    Originally committed as revision 1393 to svn://svn.ffmpeg.org/ffmpeg/trunk

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-27 15:07:02 +01:00
Michael Niedermayer aa3f449955 x86/hpeldsp: Fix author attribution
This also fixes the project name

Original authors fabrice and nick go back to the initial ffmpeg commit
Others for example contributed in: (for a complete list please use git blame / show / log)

commit e9c0a38ff0
Author: Zdenek Kabelac <kabi@informatics.muni.cz>
Date:   Tue May 28 16:35:58 2002 +0000

    * optimized avg_* functions (except xy2)
    * minor speedup for put_pixels_x2 & cleanup

    Originally committed as revision 619 to svn://svn.ffmpeg.org/ffmpeg/trunk

commit 607dce96c0
Author: Michael Niedermayer <michaelni@gmx.at>
Date:   Fri May 17 01:04:14 2002 +0000

    hopefully faster mmx2&3dnow MC

    Originally committed as revision 506 to svn://svn.ffmpeg.org/ffmpeg/trunk

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-27 14:47:58 +01:00
Michael Niedermayer 91c8921d80 Merge commit '71155d7b4157fee44c0d3d0fc1b660ebfb9ccf46'
* commit '71155d7b4157fee44c0d3d0fc1b660ebfb9ccf46':
  dsputil: x86: Convert mpeg4 qpel and dsputil avg to yasm

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-27 14:24:28 +01:00
Michael Niedermayer 6b2f7fd1c7 Merge commit 'f90ff772e7e35b4923c2de429d1fab9f2569b568'
* commit 'f90ff772e7e35b4923c2de429d1fab9f2569b568':
  Move H264/QPEL specific asm from dsputil.asm to h264_qpel_*.asm.
  doc: update the reference for the title

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-27 13:32:56 +01:00
Clément Bœsch f2b6aabd3d lavf/srtdec: do not try to queue empty subtitle chunks.
Regression since 3af3a30.
Fixes Ticket2167.
2013-01-27 20:26:35 +09:00
Martin Storsjö 2026eb1408 arm: vp8: Fix the plain-armv6 version of vp8_luma_dc_wht
This makes the plain-armv6 version use the same registers as the
armv6t2 version above.

This fixes fate-vp8 on plain-armv6 devices.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-27 13:17:25 +02:00
Paul B Mahol 07a7145d89 lavc/iff: rgbn: fix decoding on big endian
Fixes #2193.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-27 10:59:58 +00:00
Daniel Kang 96753bd00d dsputil: x86: Correct the number of registers used in put_no_rnd_pixels16_l2
put_no_rnd_pixels16_l2 allocated 5 instead of 6 registers.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-27 08:41:48 +01:00
Daniel Kang 0eedf5d74d dsputil: add missing HAVE_YASM guard
Fix compile error under
"--disable-optimizations --disable-yasm --disable-inline-asm"

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-27 08:41:46 +01:00
Rémi Denis-Courmont 78bc4d69eb hwaccel: do not offer unsupported pixel formats
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-27 07:03:22 +01:00
Rémi Denis-Courmont ec0e92002b vdpau: add missing pixel format for H.264
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-27 07:03:22 +01:00
Daniel Kang 71155d7b41 dsputil: x86: Convert mpeg4 qpel and dsputil avg to yasm
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-27 06:45:31 +01:00
Michael Niedermayer f9abeecd94 swr/ build_filter: use av_calloc() fix buffer overflow
Fixes integer & buffer overflow

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-27 05:58:47 +01:00
Michael Niedermayer 167af704ea swr: limit phase_shift to a less insane value.
This prevents potential crashes and out of memory issues if
the user manually sets such insane values.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-27 05:54:52 +01:00
Ronald S. Bultje f90ff772e7 Move H264/QPEL specific asm from dsputil.asm to h264_qpel_*.asm. 2013-01-26 20:35:42 -08:00
Michael Niedermayer b16830840e tiff: in add_string_metadata() check the count more completely
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-27 04:53:03 +01:00
Michael Niedermayer 5de286ef88 mvdec: check var_read_string() return value
Prevent null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-27 02:15:02 +01:00
Michael Niedermayer 362271d72f mvdec: Check the frame counter against the correct limit.
fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-27 02:11:19 +01:00
Michael Niedermayer 6512405ce2 sws: disable yuv2rgb warning for planar rgb.
planar rgb formats do not use the table

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-26 23:09:58 +01:00
Michael Niedermayer f0d3a03115 sws: include isRGB in isAnyRGB() so that future RGB formats wont be missed again
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-26 21:38:01 +01:00
Michael Niedermayer 02001a372d sws: add planar RGB formats to isAnyRGB
We have to make some symetric changes elsewhere as this increases
the precission with which samples are stored.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-26 20:40:44 +01:00
Michael Niedermayer 3c2ecfcc24 sws: dont enable chrSrcHSubSample for planar RGB
This code path is not implemented and makes not much sense to implement
either.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-26 20:40:44 +01:00
Michael Niedermayer 4e585f6325 sws: use planarRgbToRgbWrapper only for 8bit per component
The function doesnt support >8bit currently

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-26 20:40:44 +01:00
Michael Niedermayer 5cb0782b95 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo_enc: fix indentation in load_input_picture()

Conflicts:
	libavcodec/mpegvideo_enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-26 15:53:58 +01:00
Michael Niedermayer c46943ec19 Merge commit '3f47d316cda9037024ffbc76f789332e62b729bc'
* commit '3f47d316cda9037024ffbc76f789332e62b729bc':
  mpegvideo_enc: do not modify the input frame.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-26 15:46:39 +01:00
Michael Niedermayer 8380fc8884 Merge commit '7bcaeb408e3eb2d2f37a306009fa7fe7eb0f1d79'
* commit '7bcaeb408e3eb2d2f37a306009fa7fe7eb0f1d79':
  mjpegdec: fix indentation
  rawdec: cosmetics, reformat
  mimic: return meaningful error codes.

Conflicts:
	libavcodec/mjpegdec.c
	libavcodec/rawdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-26 15:42:29 +01:00
Michael Niedermayer 8ab97a60ef Merge commit 'a0cabd0a27587525e90a44660c795d40d2f44fe2'
* commit 'a0cabd0a27587525e90a44660c795d40d2f44fe2':
  mimic: cosmetics, reformat
  iff: drop ff_ prefix from a static function.
  pngdec: cosmetics, reformat.
  dxa: return meaningful error codes.
  eatgq: cosmetics, reformat.

Conflicts:
	libavcodec/dxa.c
	libavcodec/eatgq.c
	libavcodec/iff.c
	libavcodec/mimic.c
	libavcodec/pngdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-26 15:19:48 +01:00
Stefano Sabatini c0c06c1bba doc/texi2pod: fix warnings introduced in e7e14bc69a
The variable "$section" was replaced by "$chapter".
2013-01-26 15:12:57 +01:00
Paul B Mahol 27cadb9ce3 remove av_strnstr from Changelog
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-26 14:04:30 +00:00
Luca Barbato fe1057e017 doc: update the reference for the title
The recent texi2html exports the title as 'fulltitle_no_texi'.
2013-01-26 14:49:57 +01:00
Michael Niedermayer 325ee4ed7a Merge commit 'f337c29017b10c98ccb4dce20efced4c74b665f6'
* commit 'f337c29017b10c98ccb4dce20efced4c74b665f6':
  eatgq: return meaningful error codes.
  eatgv: cosmetics, reformat

Conflicts:
	libavcodec/eatgq.c
	libavcodec/eatgv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-26 14:47:08 +01:00
Michael Niedermayer 3a9f48f033 Merge commit 'ade402804a0e811cd00862c90559121a793054a6'
* commit 'ade402804a0e811cd00862c90559121a793054a6':
  eatgv: return meaningful error codes.
  cyuv: return meaningful error codes.
  txd: return meaningful error codes.

Conflicts:
	libavcodec/cyuv.c
	libavcodec/eatgv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-26 14:39:02 +01:00
Michael Niedermayer 446d62f0cf Merge commit '69c25c9284645cf5189af2ede42d6f53828f3b45'
* commit '69c25c9284645cf5189af2ede42d6f53828f3b45':
  dnxhdenc: fix invalid reads in dnxhd_mb_var_thread().
  x86: h264qpel: Move stray comment to the right spot and clarify it
  atrac3: use correct loop variable in add_tonal_components()

Conflicts:
	tests/ref/vsynth/vsynth1-dnxhd-1080i
	tests/ref/vsynth/vsynth2-dnxhd-1080i

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-26 14:33:06 +01:00
Michael Niedermayer d235d240d8 Merge commit 'ded3673d77943c376d94e8157b1238bbd1eeca2d'
* commit 'ded3673d77943c376d94e8157b1238bbd1eeca2d':
  doc: document libx264 options and mappings
  libx264: introduce -x264-params private option

Conflicts:
	doc/encoders.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-26 14:18:48 +01:00
Michael Niedermayer e7e14bc69a Merge commit '38c1466ca41c73c7ce347da702362cb69c151716'
* commit '38c1466ca41c73c7ce347da702362cb69c151716':
  dict: add av_dict_parse_string()
  doc: support multitable in texi2pod

Conflicts:
	doc/APIchanges
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-26 13:34:30 +01:00
Anton Khirnov 04f4dbc2fa mpegvideo_enc: fix indentation in load_input_picture() 2013-01-26 13:08:38 +01:00
Anton Khirnov 3f47d316cd mpegvideo_enc: do not modify the input frame. 2013-01-26 13:08:32 +01:00
Anton Khirnov 7bcaeb408e mjpegdec: fix indentation 2013-01-26 13:08:07 +01:00
Anton Khirnov 0ce033f888 rawdec: cosmetics, reformat 2013-01-26 13:07:41 +01:00
Anton Khirnov b965cb906b mimic: return meaningful error codes. 2013-01-26 13:06:41 +01:00
Anton Khirnov a0cabd0a27 mimic: cosmetics, reformat 2013-01-26 13:04:15 +01:00
Anton Khirnov 04e1249609 iff: drop ff_ prefix from a static function. 2013-01-26 13:02:33 +01:00
Anton Khirnov 9221c0af77 pngdec: cosmetics, reformat.
Also remove a commented out line.
2013-01-26 13:02:19 +01:00
Anton Khirnov edb2426b75 dxa: return meaningful error codes. 2013-01-26 13:01:14 +01:00
Anton Khirnov adf0110d87 eatgq: cosmetics, reformat. 2013-01-26 13:00:59 +01:00
Paul B Mahol 25c75525bf lavc/iff: ilbm: unbreak decoding on big endian
Fixes #2192.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-26 12:00:22 +00:00
Anton Khirnov f337c29017 eatgq: return meaningful error codes. 2013-01-26 12:56:39 +01:00
Anton Khirnov 4b7598e2fe eatgv: cosmetics, reformat 2013-01-26 12:56:24 +01:00
Anton Khirnov ade402804a eatgv: return meaningful error codes. 2013-01-26 12:54:35 +01:00
Anton Khirnov 0859eaa012 cyuv: return meaningful error codes. 2013-01-26 12:54:23 +01:00
Anton Khirnov 6837bd6e49 txd: return meaningful error codes. 2013-01-26 12:54:07 +01:00
Nicolas George 42c6f2a645 lavfi/vf_drawtext: default to expansion=normal. 2013-01-26 12:52:19 +01:00
Anton Khirnov 69c25c9284 dnxhdenc: fix invalid reads in dnxhd_mb_var_thread().
Do not assume that frame dimensions are mod16 (or that height is mod32
for interlaced).

CC:libav-stable@libav.org
2013-01-26 12:30:08 +01:00
Nicolas George 5361f4958f fate: add an attachment to the Matroska test. 2013-01-26 11:33:09 +01:00
Nicolas George 255ae9f380 lavfi: version bump and change log entries after the last commits. 2013-01-26 11:25:21 +01:00
Diego Biurrun 033a86f9bb x86: h264qpel: Move stray comment to the right spot and clarify it 2013-01-26 11:19:22 +01:00
Nicolas George 41f025dff0 ffmpeg: support filtering of unknown channel layouts. 2013-01-26 11:15:38 +01:00
Nicolas George 699b286a21 lavfi/af_anull: accept unknown channel layouts. 2013-01-26 11:15:38 +01:00
Nicolas George b00502457a lavfi/af_aresample: accept unknown channel layouts. 2013-01-26 11:15:38 +01:00
Nicolas George 6d962aec8d lavfi/af_aformat: accept unknown channel layouts. 2013-01-26 11:15:38 +01:00
Nicolas George ea645e90a1 lavfi/buffersrc: accept unknown channel layouts. 2013-01-26 11:15:38 +01:00
Nicolas George 19506af788 lavfi/sink_buffer: accept unknown channel layouts.
Add a field to the AVBufferSinkParams for a list of accepted
channel counts.
Change the default value for the lists in AVBufferSinkParams
to NULL, to let lavfi fill them with something useful.
The fail_enomem path is unneeded because filters are uninited
on failure.
2013-01-26 11:15:38 +01:00
Nicolas George b6b2f3433c lavfi: implement ff_query_formats_all(). 2013-01-26 11:15:38 +01:00
Nicolas George 7bb98b753b lavfi: implement ff_all_channel_counts(). 2013-01-26 11:15:38 +01:00
Nicolas George b6afb2dde1 lavfi: support unknown channel layouts. 2013-01-26 11:15:38 +01:00
Nicolas George fccd8c21c4 ffmpeg: add -guess_layout_max option. 2013-01-26 11:15:38 +01:00
Paul B Mahol 9648e1495b lavc/gif: remove some obsolete/irrelevant chunks
Some code was copy pasted from muxer, which still
have same comments but unlike encoder they are still
relevant to muxer.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-26 09:38:46 +00:00
Paul B Mahol d1d159d31e lavf/gifdec: cosmetics: remove extra whitespace
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-26 09:28:57 +00:00
Paul B Mahol 254e11cc01 lavf/gifdec: fix typo
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-26 09:28:57 +00:00
Michael Niedermayer e4033d89f1 sws: GBRP9, GBRP10 GBRP12 GBRP14 output support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-26 06:11:52 +01:00
Michael Niedermayer 61884d1985 sws: GBRP output support
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-26 06:11:52 +01:00
Michael Niedermayer c8f25cafd2 atrac3: fix buffer size for get_bits.
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-26 04:27:53 +01:00
Michael Niedermayer 66daebc9d5 indeo4: check for invalid transform_size blk_size combinations
The checks existing previously where not sufficient
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-26 03:18:49 +01:00
Michael Niedermayer cfc7b9cfff 4xm: remove avcodec_get_frame_defaults() calls
They are not needed anymore

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-26 02:27:19 +01:00
Michael Niedermayer d73b65ed0e 4xm: add assert to check that the pointer from read_huffman_tables is within the array
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-26 02:27:19 +01:00
Michael Niedermayer 53a3fdbfc5 4xm: Check available space in read_huffman_tables()
Fixes integer overflow and out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-26 02:27:19 +01:00
Michael Karcher dcbb920f15 Fix atrac3 decoder broken in e55d53905f
Signed-off-by: Michael Karcher <ffmpeg@mkarcher.dialup.fu-berlin.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-26 00:05:57 +01:00
Michael Niedermayer c6ef7641fc ffv1enc: fix gbrp>8bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-25 23:34:36 +01:00
Michael Karcher 0e3afacd4d atrac3: use correct loop variable in add_tonal_components()
Signed-off-by: Michael Karcher <ffmpeg@mkarcher.dialup.fu-berlin.de>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>

CC:libav-stable@libav.org
2013-01-25 16:16:24 -05:00
Stefano Sabatini e80be5a0aa lavfi/showwaves: fail in case of push_frame() error 2013-01-25 19:35:21 +01:00
Stefano Sabatini e4e36a4dd2 doc/filters: apply minor fixes 2013-01-25 17:45:27 +01:00
Stefano Sabatini b7d34b328b lavfi/showwaves: add display mode option and mode=line 2013-01-25 17:42:04 +01:00
Michael Niedermayer 13aca070ab gifdec: resync support
This allows decoding gifs that have junk at the begin
and also allows byte wise seeking

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-25 17:25:16 +01:00
Luca Barbato ded3673d77 doc: document libx264 options and mappings 2013-01-25 17:20:03 +01:00
Justin Ruggles 38c1466ca4 dict: add av_dict_parse_string()
Can be used to set multiple key/value pairs from a string.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-25 17:20:03 +01:00
Gavriloaie Eugen-Andrei 29b553c1a6 libx264: introduce -x264-params private option
It is a shortcut to set all the params using x264_param_parse,
makes simpler importing settings from other software using x264.
2013-01-25 17:20:03 +01:00
Matthieu Bouron 40b4468f62 lavc/dnxhddata: fix bitrates for cid 1251 and 1252 in cid table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-25 17:09:59 +01:00
Michael Niedermayer 495cb44172 setpts: deprecate RTCTIME, we have time(0) which is more generic
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-25 15:14:33 +01:00
Michael Niedermayer fc2922836b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avfilter: allow setpts filter to use wallclock time for calculations

Conflicts:
	doc/filters.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-25 15:04:41 +01:00
Michael Niedermayer 25be63005f Merge commit 'b85a5e87af4254b80913fe33591d96361f30832b'
* commit 'b85a5e87af4254b80913fe33591d96361f30832b':
  lavu: Add av_strnstr()
  h264: Allow discarding the cropping information from SPS

Conflicts:
	Changelog
	doc/APIchanges
	libavcodec/avcodec.h
	libavcodec/version.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-25 14:36:45 +01:00
Michael Niedermayer b2d0c5bd13 Merge commit '33552a5f7b6ec7057516f487b1a902331f8c353e'
* commit '33552a5f7b6ec7057516f487b1a902331f8c353e':
  arm: Add mathops.h to ARCH_HEADERS list
  avstring: K&R formatting cosmetics

Conflicts:
	libavutil/avstring.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-25 14:24:38 +01:00
Michael Niedermayer e9125dd556 Merge commit '2c10e2a2f62477efaef5b641974594f7df4ca339'
* commit '2c10e2a2f62477efaef5b641974594f7df4ca339':
  build: Make the H.264 parser select h264qpel
  x86: h264qpel: add cpu flag checks for init function

Conflicts:
	libavcodec/x86/h264_qpel.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-25 14:14:21 +01:00
Paul B Mahol d07b0d9927 swscale: check flags instead of nb_components to find if pixel format have alpha
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-25 13:06:00 +00:00
Luca Barbato 5ea5ffc9ce doc: support multitable in texi2pod 2013-01-25 14:03:05 +01:00
Paul B Mahol 7003d650b0 lavc/gifdec: remove obsolete check
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-25 12:54:15 +00:00
Paul B Mahol 51c7af9d32 lavc/gifdec: move idx_line allocation out of gif_read_header1()
Now allocation is done only if av_image_check_size() passes.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-25 12:54:15 +00:00
Paul B Mahol 285128eedf lavc/gifdec: do not return nonzero *got_frame if frame is not passed
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-25 12:54:14 +00:00
Paul B Mahol aaebdce3d9 lavc/gifdec: simplify "!= 0" checks
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-25 12:54:14 +00:00
Paul B Mahol f1412c7997 lavc/gifdec: use memcpy()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-25 12:54:14 +00:00
Michael Niedermayer 91ae9bc51e Merge commit '6bdb841b46d170d58488deaed720729b79223b1d'
* commit '6bdb841b46d170d58488deaed720729b79223b1d':
  arm: h264qpel: use neon h264 qpel functions only if supported

* bug was fixed previously (in merge of buggy code):
  h264: copy h264qpel dsp context to slice thread copies

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-25 13:45:22 +01:00
Vladimir Pantelic 0b55b16abc avfilter: allow setpts filter to use wallclock time for calculations
Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-25 10:50:09 +01:00
Vladimir Pantelic b85a5e87af lavu: Add av_strnstr()
This is a length limited version of strstr()

Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-25 10:47:51 +01:00
Vittorio Giovara a84fb6e06f h264: Allow discarding the cropping information from SPS
Some 3D systems overload the meaning of the field for other purposes.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-25 07:50:35 +01:00
Michael Niedermayer ab6c9332bf vqavideo: check chunk sizes before reading chunks
Fixes out of array writes

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-25 06:12:56 +01:00
Michael Niedermayer e9d443cf08 eacmv: Free frames on resolution changes
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-25 03:30:04 +01:00
Michael Niedermayer 286930d302 gifdec: check that w,h is not zero
Fixes out of array access

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-25 03:30:04 +01:00
Carl Eugen Hoyos a0d1440476 Fix compilation with --disable-everything on x86_32.
Fixes ticket #2183.
2013-01-25 03:04:46 +01:00
Stefano Sabatini c4738c3196 ffmpeg: fix typo in open_files() message
Found-By: Justin Ruggles
2013-01-25 00:46:41 +01:00
Stefano Sabatini 1ec3324f00 lavf/img2enc: extend current options documentation 2013-01-25 00:04:23 +01:00
Stefano Sabatini 069d156454 lavf/img2dec: fix option help fields 2013-01-25 00:04:22 +01:00
Stefano Sabatini 2756c3091a doc/faq: fill missing word in the concat protocol entry 2013-01-25 00:04:22 +01:00
Stefano Sabatini 40cb682ca0 doc/faq: mention concat protocol documentation in the protocol concatenation entry 2013-01-25 00:04:22 +01:00
Michael Niedermayer c10350358d gifdec: gif_copy_img_rect: Fix end pointer
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-24 23:11:44 +01:00
Michael Niedermayer fc8e8e5bef h264_qpel: put cpuflags checks back.
These where lost when libav moved the code out of dsputil

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-24 22:14:39 +01:00
Michael Niedermayer cf48b00640 cavsdec: check for value in get_ue_code()
Fixes integer overflow and prints an error in case the value is
invalid.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-24 21:55:12 +01:00
Jason 77b740ac0a lavu/timecode: fix time code calculation for 60000/1001 drop frame
Reviewed-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-24 21:06:24 +01:00
Jason a717fa84ed lavu/timecode: Allow drop frame mode for 60000/1001 fps
Reviewed-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-24 21:06:24 +01:00
Diego Biurrun 33552a5f7b arm: Add mathops.h to ARCH_HEADERS list
It is an arch-specific header not suitable for standalone compilation.
2013-01-24 20:59:22 +01:00
Luca Barbato 4333df6355 avstring: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-24 20:49:54 +01:00
Diego Biurrun 2c10e2a2f6 build: Make the H.264 parser select h264qpel
It is required for building the shared H.264 code.
2013-01-24 19:25:21 +01:00
Janne Grunau c5c2060cf5 x86: h264qpel: add cpu flag checks for init function
The code was copied from per cpu extension init function so the checks
for supported extensions was overlooked.
2013-01-24 19:03:59 +01:00
Michael Niedermayer 55d66b2790 movenc: check that fps for tmcd is within encodable range.
The fps is stored as a 8 bit value thus 255 is the maximum encodable.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-24 18:59:49 +01:00
Michael Niedermayer 9362f31b55 movenc: Calculate fps for tmcd without intermediate step.
Fixes part of Ticket2045

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-24 18:57:12 +01:00
Michael Niedermayer bee044d7c2 ffmpeg: copy tmcd track timebase parameters
Fixes part of Ticket2045

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-24 18:37:32 +01:00
Michael Niedermayer b75ac7c71c lavc: include timebase in avcodec string at debug level.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-24 18:35:07 +01:00
Michael Niedermayer c071b00643 mpeg12demux: Fallback to startcode for stream type identification.
Fixes Ticket2147
Fixes SageTV support

Based-on patch by Andrew Gallatin
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-24 17:10:23 +01:00
Janne Grunau 6bdb841b46 h264: copy h264qpel dsp context to slice thread copies 2013-01-24 17:06:52 +01:00
Janne Grunau 8e148b8742 arm: h264qpel: use neon h264 qpel functions only if supported 2013-01-24 17:06:52 +01:00
Paul B Mahol eb567a7999 eacdata: do not set sample_fmt
It is supposed to be set from lavc only.
Also this one differs from one set in decoder.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-24 15:02:44 +00:00
Paul B Mahol 7b007a7c1f flic: do not set sample_fmt
It is supposed to be set from lavc only.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-24 15:02:44 +00:00
Michael Niedermayer fc13a89654 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dsputil: Separate h264 qpel

Conflicts:
	libavcodec/dsputil_template.c
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-24 15:47:47 +01:00
Michael Niedermayer 70b0aeba00 Merge commit '7a95afe433b2a692f490b98948c082e62ffc1d27'
* commit '7a95afe433b2a692f490b98948c082e62ffc1d27':
  doc: fix dependencies in pod generation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-24 14:35:15 +01:00
Michael Niedermayer 9c555bca68 Merge commit '528878ee7b377e23a194d7c801571d97793047e0'
* commit '528878ee7b377e23a194d7c801571d97793047e0':
  openbsd: configure: Stop enabling PIC by default

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-24 14:29:29 +01:00
Michael Niedermayer b4581e9394 Merge commit '4a4a7e138c92901e04db46a6b05cc6948023e5f5'
* commit '4a4a7e138c92901e04db46a6b05cc6948023e5f5':
  rtpenc_chain: Use the original AVFormatContext for getting payload type
  rtp: Make sure the output format pointer is set

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-24 14:18:30 +01:00
Michael Niedermayer 1d2abca7e1 wmv2enc: drop setting of idct_algo
This should have become redundant

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-24 14:15:55 +01:00
Michael Niedermayer 40c27504a5 Merge commit '57ed8debb9b9cc565cc6e9f98c5b5cbb9f69097c'
* commit '57ed8debb9b9cc565cc6e9f98c5b5cbb9f69097c':
  wmv2: Propagate the wmv2 idct permutation type to the dsputils context
  rtp: Make sure priv_data is set before reading it

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-24 14:15:40 +01:00
Paul B Mahol dd5689a3bd matroskadec: export codec bits_per_coded_sample
Fixes -codec copy with TTA from matroska to matroska.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-24 12:15:12 +00:00
Paul B Mahol ee8d4a4142 matroskaenc: fix -codec copy with TTA
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-24 11:59:43 +00:00
Paul B Mahol 9ddf5631e3 matroskaenc: support TTA muxing
TTA in matroska does not store any private data.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-24 11:59:43 +00:00
Stefano Sabatini c89a8ee23d doc/eval: fix/review the section about SI prefixes and usage
In particular, prefer "prefix" to "postfix" as in the tool manuals, and
specify powers of 2 and 10 explicitly.

This is based on the commit:
commit 2bf794b698
Author: Marcus Stollsteimer <sto.mar@web.de>
Date:   Mon Nov 19 21:39:20 2012 +0100
2013-01-24 12:26:21 +01:00
Stefano Sabatini ca1bc188f4 doc/eval: fix documentation for time() function 2013-01-24 12:26:21 +01:00
Stefano Sabatini 2b207bab19 doc/eval: substitute if/then/else construct with an example making use of boolean expression composition
Since the if/then/else construct is now supported natively, showing how
to compose such a construct from basic primitives is misleading.
2013-01-24 12:19:02 +01:00
Stefano Sabatini 2ed0803c6c lavu/eval: extend if/ifnot functions to accept a third parameter
Add support to an if/else construct, simplify logic in expressions.
2013-01-24 12:19:01 +01:00
Paul B Mahol 056664ff25 lavc/tta: remove nonsense s->avctx indirection, use avctx directly
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-24 10:54:35 +00:00
Paul B Mahol e65046bf83 lavfi/earwax: remove config_input()
This is wrong function to check for input parameters.
Function is not needed because query_formats() already
sets supported sample rates.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-24 10:37:44 +00:00
Mans Rullgard e9d817351b dsputil: Separate h264 qpel
The sh4 optimizations are removed, because the code is
100% identical to the C code, so it is unlikely to
provide any real practical benefit.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-24 10:44:43 +01:00
Luca Barbato 7a95afe433 doc: fix dependencies in pod generation
The script can and will change.
2013-01-24 10:43:15 +01:00
Diego Biurrun 528878ee7b openbsd: configure: Stop enabling PIC by default
Previously PIC was enabled as a magic workaround for binaries that
built fine, but failed to function at all.  This problem no longer
exists, possibly since the introduction of symbol versioning.
2013-01-24 10:39:17 +01:00
Martin Storsjö 4a4a7e138c rtpenc_chain: Use the original AVFormatContext for getting payload type
In ff_rtp_get_payload_type, the AVFormatContext is used for checking
whether the payload_type or rtpflags options are set. In rtpenc_chain,
the rtpctx struct is a newly initialized struct where no options have
been set yet, so no options can be fetched from there.

All muxers that internally chain rtp muxers have the "rtpflags" field
that allows passing such options on (which is how this worked before
8034130e06), so this works just as intended.

This makes it possible to produce H263 in RFC2190 format with chained
RTP muxers.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-24 11:31:36 +02:00
Martin Storsjö 932117171f rtp: Make sure the output format pointer is set
Not sure if this actually happens, but we do the same check when
checking payload_type further above in the function, so it might
be needed.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-24 11:31:35 +02:00
Carl Eugen Hoyos fc50175ba2 Refuse to mux tta into matroska, the output file is broken. 2013-01-24 10:23:00 +01:00
Michael Niedermayer 7e059c9c5d mpeg4videoenc: check w,h to be within the supported range.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-24 04:38:17 +01:00
Michael Niedermayer 46cb61819d gifdec: check that the last keyframe exists and has been successfully parsed.
Prevents inconsistent state and null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-24 04:18:56 +01:00
Michael Niedermayer b53ed19aa7 lcldec: Check length before unsigned subtraction.
Fix integer overflow and out of array read

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-24 04:02:14 +01:00
Michael Niedermayer 69fb605ad5 mpc8: check stream count before accessing stream 1.
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-24 02:51:51 +01:00
Michael Niedermayer ee9151b616 ff_mss12_decode_init: check dimensions
Fixes assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-24 01:47:20 +01:00
Carl Eugen Hoyos df39c3ce38 matroskaenc: add codec_tag lists back.
This reverts 312645e :
"Do not set codec_tag property for matroska muxers."

Also adds dummy codec_tag lists with codecs
supported in mkv but not in wav / avi.

Fixes ticket #2169.
2013-01-24 01:22:07 +01:00
Carl Eugen Hoyos f8b6d4818e Only try to auto-detect LATM in mpegts if the LOAS demuxer was configured.
This allows to decode LATM-in-mpegts without the LOAS demuxer.
2013-01-24 01:21:13 +01:00
Michael Niedermayer 9d6e0ac673 floatdsp: restrict->av_restrict
Fix msvc

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-24 00:49:47 +01:00
Michael Niedermayer 7357ca900e sanm: Check decoded_size.
This prevents a buffer overflow in rle_decode()

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-24 00:27:59 +01:00
Martin Storsjö 57ed8debb9 wmv2: Propagate the wmv2 idct permutation type to the dsputils context
This fixes encoding where the idct setting originally was set to
FF_IDCT_AUTO and dsputil chose a default idct with a non-null
permutation - even if the permutation tables were updated,
dct_quantize in x86/mpegvideoenc_template.c also checked the
value of this type variable.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-24 00:32:35 +02:00
Martin Storsjö e90820d4f8 rtp: Make sure priv_data is set before reading it
This fixes crashes with muxing H263 into RTSP.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-23 23:30:58 +02:00
Michael Niedermayer 31cd1e20bb eval: add function to access the current "wallclock" time.
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 22:22:53 +01:00
Michael Niedermayer 665f2d432c hls: add missing checks for accessing avoption fields
Fixes null pointer exception and probably other things

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 22:22:53 +01:00
Michael Niedermayer 8071288601 mlpdec: move ch_assign setup code down to after ch layout is set.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 19:39:42 +01:00
Michael Niedermayer 6747b0be9b mlp: fix channel order.
This fixes a regression introduced with todays merge

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 19:39:42 +01:00
Micah Galizia d4e5d8d4c2 lavf/hls: broker HTTP options
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-01-23 19:27:14 +01:00
Stefano Sabatini e319725717 lavf/segment: exit immediately in case of invalid stream specifier
Avoid duplicated confusing error message, and propagate error code from
the failing avformat_match_stream_specifier() call.
2013-01-23 18:54:53 +01:00
Stefano Sabatini bb539eb13a lavf/segment: avoid failure in case -flags +live and -segment_times/frames are specified
The conflict does not apply any longer, since the M3U8 segment target
duration is re-computed every time a new segment is added to the list.
2013-01-23 18:54:33 +01:00
Stefano Sabatini f4e4e5b841 lavf/segment: drop now pointless segment_list_close() function 2013-01-23 18:32:01 +01:00
Stefano Sabatini ca68acd7ac lavf/segment: mark #EXT-X-ENDLIST in M3U8 only at the end of stream
Should fix immediate playback termination.

In particular, should fix trac ticket #2172.
2013-01-23 18:32:01 +01:00
Michael Niedermayer 8b8ac78ef3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtpenc: fix overflow checking in avc_mp4_find_startcode()
  rtmp: fix buffer overflows in ff_amf_tag_contents()
  rtmp: fix multiple broken overflow checks
  float_dsp: Include config.h for redefining restrict

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 18:25:57 +01:00
Michael Niedermayer 1e7a92f219 Merge commit 'baf35bb4bc4fe7a2a4113c50989d11dd9ef81e76'
* commit 'baf35bb4bc4fe7a2a4113c50989d11dd9ef81e76':
  dsputil: remove one array dimension from avg_no_rnd_pixels_tab.

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 18:15:29 +01:00
Michael Niedermayer f900fd5d31 Merge commit '2612c4dc78e1750c4653bf5a9f2cbe95f7b4ed6e'
* commit '2612c4dc78e1750c4653bf5a9f2cbe95f7b4ed6e':
  dsputil: remove 9/10 bits hpel functions.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 18:06:57 +01:00
Michael Niedermayer 70270f2753 Merge commit '2bef1a83d7a3ca60b161ab90bf4d4338e5def5e7'
* commit '2bef1a83d7a3ca60b161ab90bf4d4338e5def5e7':
  dsputil: remove some never-assigned function pointers from the struct.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 17:58:46 +01:00
Michael Niedermayer 6d1e9d993a Merge commit '32ff6432284f713e9f837ee5b36fc8e9f1902836'
* commit '32ff6432284f713e9f837ee5b36fc8e9f1902836':
  dsputil: remove avg_no_rnd_pixels8.

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 17:52:21 +01:00
Michael Niedermayer ac8987591f Merge commit '88bd7fdc821aaa0cbcf44cf075c62aaa42121e3f'
* commit '88bd7fdc821aaa0cbcf44cf075c62aaa42121e3f':
  Drop DCTELEM typedef

Conflicts:
	libavcodec/alpha/dsputil_alpha.h
	libavcodec/alpha/motion_est_alpha.c
	libavcodec/arm/dsputil_init_armv6.c
	libavcodec/bfin/dsputil_bfin.h
	libavcodec/bfin/pixels_bfin.S
	libavcodec/cavs.c
	libavcodec/cavsdec.c
	libavcodec/dct-test.c
	libavcodec/dnxhdenc.c
	libavcodec/dsputil.c
	libavcodec/dsputil.h
	libavcodec/dsputil_template.c
	libavcodec/eamad.c
	libavcodec/h264_cavlc.c
	libavcodec/h264idct_template.c
	libavcodec/mpeg12.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo.h
	libavcodec/mpegvideo_enc.c
	libavcodec/ppc/dsputil_altivec.c
	libavcodec/proresdsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 17:44:56 +01:00
Paul B Mahol a793a587df lavfi/swapuv: support all planar yuv pixel formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-23 16:13:23 +00:00
Michael Niedermayer b90ab2b993 Merge commit '2e4bb99f4df7052b3e147ee898fcb4013a34d904'
* commit '2e4bb99f4df7052b3e147ee898fcb4013a34d904':
  vorbisdsp: convert x86 simd functions from inline asm to yasm.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 17:00:26 +01:00
Michael Niedermayer 516f30ed20 Merge commit '0ee8293a77a6afad161e91ce1d43c4a57ce33a6a'
* commit '0ee8293a77a6afad161e91ce1d43c4a57ce33a6a':
  vp3dsp: don't do aligned reads on input.
  mlp_parser: cosmetics: re-indent.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 16:52:09 +01:00
Michael Niedermayer 0ff21c3165 mlpdec: remove disabled code, leftover from merge
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 16:50:52 +01:00
Michael Niedermayer 826188d27a Merge commit 'ed1b01131e662c9086b27aaaea69684d8575fbea'
* commit 'ed1b01131e662c9086b27aaaea69684d8575fbea':
  mlp: implement support for AVCodecContext.request_channel_layout.

Conflicts:
	libavcodec/mlpdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 16:44:30 +01:00
Michael Niedermayer 86b892af19 Merge commit 'b0c7e3ffd09f68022429920da483ad7abed84aa1'
* commit 'b0c7e3ffd09f68022429920da483ad7abed84aa1':
  mlp_parser: account for AVCodecContext.request_channels when setting the channel layout.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 16:34:52 +01:00
Michael Niedermayer 1cf6f6f3da Merge commit '1fd2deedcc6400e08b31566a547a5fac3b38cefb'
* commit '1fd2deedcc6400e08b31566a547a5fac3b38cefb':
  mlpdec: set the channel layout.

Conflicts:
	libavcodec/mlpdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 16:12:05 +01:00
Michael Niedermayer cd6a8618b1 Merge commit '3ffcccb4fbaae4d5ad775506f1f2761f2029affa'
* commit '3ffcccb4fbaae4d5ad775506f1f2761f2029affa':
  mlpdec: TrueHD: use Libav channel order.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 16:05:56 +01:00
Michael Niedermayer fa36270c4c Merge commit '99ccd2ba10eac2b282c272ad9e75f082123c765a'
* commit '99ccd2ba10eac2b282c272ad9e75f082123c765a':
  mlp: store the channel layout for each substream.

Conflicts:
	libavcodec/mlp_parser.c
	libavcodec/mlpdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 15:52:39 +01:00
Michael Niedermayer 8102f27b5b Merge commit '73b704ac609d83e0be124589f24efd9b94947cf9'
* commit '73b704ac609d83e0be124589f24efd9b94947cf9':
  arm: Add some missing header #includes
  floatdsp: move scalarproduct_float from dsputil to avfloatdsp.

Conflicts:
	libavcodec/acelp_pitch_delay.c
	libavcodec/amrnbdec.c
	libavcodec/amrwbdec.c
	libavcodec/ra288.c
	libavcodec/x86/dsputil_mmx.c
	libavutil/x86/float_dsp.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 14:31:55 +01:00
Michael Niedermayer 24604ebaf8 Merge commit '5959bfaca396ecaf63a8123055f499688b79cae3'
* commit '5959bfaca396ecaf63a8123055f499688b79cae3':
  floatdsp: move butterflies_float from dsputil to avfloatdsp.

Conflicts:
	libavcodec/dsputil.c
	libavcodec/dsputil.h
	libavcodec/imc.c
	libavcodec/mpegaudiodec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 14:13:54 +01:00
Michael Niedermayer 6e6e170898 Merge commit '42d324694883cdf1fff1612ac70fa403692a1ad4'
* commit '42d324694883cdf1fff1612ac70fa403692a1ad4':
  floatdsp: move vector_fmul_reverse from dsputil to avfloatdsp.

Conflicts:
	libavcodec/arm/dsputil_init_vfp.c
	libavcodec/arm/dsputil_vfp.S
	libavcodec/dsputil.c
	libavcodec/ppc/float_altivec.c
	libavcodec/x86/dsputil.asm
	libavutil/x86/float_dsp.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 14:04:50 +01:00
Michael Niedermayer b1b870fbd7 Merge commit '55aa03b9f8f11ebb7535424cc0e5635558590f49'
* commit '55aa03b9f8f11ebb7535424cc0e5635558590f49':
  floatdsp: move vector_fmul_add from dsputil to avfloatdsp.

Conflicts:
	libavcodec/dsputil.c
	libavcodec/x86/dsputil.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 13:54:34 +01:00
Xi Wang cf29f49d8a rtpenc: fix overflow checking in avc_mp4_find_startcode()
The check `start + res < start' is broken since pointer overflow is
undefined behavior in C.  Many compilers such as gcc/clang optimize
away this check.

Use `res > end - start' instead.  Also change `res' to unsigned int
to avoid signed left-shift overflow.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-23 13:51:29 +02:00
Xi Wang ecb918e5f0 rtmp: fix buffer overflows in ff_amf_tag_contents()
A negative `size' will bypass FFMIN().  In the subsequent memcpy() call,
`size' will be considered as a large positive value, leading to a buffer
overflow.

Change the type of `size' to unsigned int to avoid buffer overflow, and
simplify overflow checks accordingly. Also change a literal buffer
size to use sizeof, and limit the amount of data copied in another
memcpy call as well.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-23 13:51:28 +02:00
Xi Wang 3cff53369a rtmp: fix multiple broken overflow checks
Sanity checks like `data + size >= data_end || data + size < data' are
broken, because `data + size < data' assumes pointer overflow, which is
undefined behavior in C.  Many compilers such as gcc/clang optimize such
checks away.

Use `size < 0 || size >= data_end - data' instead.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-23 13:51:27 +02:00
Paul B Mahol 205b2d2a98 adcpmenc: remove unused header
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-23 11:21:09 +00:00
Paul B Mahol a2dd988bf8 jpeglsenc: add missing put_bits.h header
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-23 11:21:09 +00:00
Paul B Mahol be38aaba4a ffv1enc: include correct header
Encoder needs put_bits.h, not get_bits.h

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-23 11:21:09 +00:00
Paul B Mahol 6f465c6219 dcaenc: remove unused header
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-23 11:21:09 +00:00
Paul B Mahol 92d874cb78 flacenc: include correct header
Encoder needs put_bits.h, not get_bits.h

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-23 11:21:09 +00:00
Martin Storsjö 2e4130037c float_dsp: Include config.h for redefining restrict
This makes sure that the restrict keyword is mapped to whatever
keyword the compiler prefers/supports. This fixes building on MSVC
(and possibly on GCC 2.x as well).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-23 11:17:32 +02:00
Xi Wang 4e692374f7 rtmp: fix buffer overflows in ff_amf_tag_contents()
A negative `size' will bypass FFMIN().  In the subsequent memcpy() call,
`size' will be considered as a large positive value, leading to a buffer
overflow.

Change the type of `size' to unsigned int to avoid buffer overflow, and
simplify overflow checks accordingly.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 05:29:59 +01:00
Xi Wang 902cfe2f74 rtmp: fix multiple broken overflow checks
Sanity checks like `data + size >= data_end || data + size < data' are
broken, because `data + size < data' assumes pointer overflow, which is
undefined behavior in C.  Many compilers such as gcc/clang optimize such
checks away.

Use `size < 0 || size >= data_end - data' instead.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 05:28:38 +01:00
Xi Wang 2f014567cf rtpenc: fix overflow checking in avc_mp4_find_startcode()
The check `start + res < start' is broken since pointer overflow is
undefined behavior in C.  Many compilers such as gcc/clang optimize
away this check.

Use `res > end - start' instead.  Also change `res' to unsigned int
to avoid signed left-shift overflow.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 05:28:01 +01:00
Michael Niedermayer 713dea584b truemotion2: use av_mallocz()
Fixes use of uninitialized values.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 05:25:04 +01:00
Michael Niedermayer e49c2aab80 truemotion2: clear the token array if its initialization fails.
Fixes use of uninitialized and half initialized values, which
can occur on several error pathes

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-23 05:24:08 +01:00
Ronald S. Bultje baf35bb4bc dsputil: remove one array dimension from avg_no_rnd_pixels_tab. 2013-01-22 18:41:36 -08:00
Ronald S. Bultje 2612c4dc78 dsputil: remove 9/10 bits hpel functions.
These are never used.
2013-01-22 18:41:36 -08:00
Ronald S. Bultje 2bef1a83d7 dsputil: remove some never-assigned function pointers from the struct. 2013-01-22 18:41:36 -08:00
Ronald S. Bultje 32ff643228 dsputil: remove avg_no_rnd_pixels8.
This is never used.
2013-01-22 18:41:36 -08:00
Diego Biurrun 88bd7fdc82 Drop DCTELEM typedef
It does not help as an abstraction and adds dsputil dependencies.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2013-01-22 18:32:56 -08:00
Ronald S. Bultje 2e4bb99f4d vorbisdsp: convert x86 simd functions from inline asm to yasm. 2013-01-22 18:02:24 -08:00
Ronald S. Bultje 0ee8293a77 vp3dsp: don't do aligned reads on input.
The input is not guaranteed to be aligned.
2013-01-22 17:32:07 -08:00
Michael Niedermayer b89815f519 mvdec: check channel count.
Fixes division by 0

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-22 23:06:49 +01:00
Michael Niedermayer e6cc3c869b mvdec: minor simplification, remove av_inv_q()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-22 22:52:23 +01:00
Michael Niedermayer 4c9f35bb7c mvdec: use avpriv_set_pts_info() instead of directly setting tb.
Fixes division by 0

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-22 22:41:09 +01:00
Michael Niedermayer 1bb05797ec sanm: remove "duplicate" for loop.
Fixes input buffer overread

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-22 22:29:23 +01:00
Tim Walker ed1b01131e mlp: implement support for AVCodecContext.request_channel_layout.
Also wrap usage of AVCodecContext.request_channels in FF_API_REQUEST_CHANNELS directives.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2013-01-22 16:10:02 -05:00
Tim Walker b0c7e3ffd0 mlp_parser: account for AVCodecContext.request_channels when setting the channel layout.
Allows users to configure the output based on what's actually decoded, rather than the full native layout.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2013-01-22 16:10:02 -05:00
Tim Walker 1fd2deedcc mlpdec: set the channel layout.
Fixes bug 401.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>

CC:libav-stable@libav.org
2013-01-22 16:10:02 -05:00
Tim Walker 3ffcccb4fb mlpdec: TrueHD: use Libav channel order.
Fixes bug 208.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>

CC:libav-stable@libav.org
2013-01-22 16:10:02 -05:00
Tim Walker 99ccd2ba10 mlp: store the channel layout for each substream.
Also stop storing the channel arrangement in the header info, as it's unused outside of ff_mlp_read_major_sync.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>

CC:libav-stable@libav.org
2013-01-22 16:10:02 -05:00
Tim Walker 40cf1add12 mlp_parser: cosmetics: re-indent.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2013-01-22 16:10:02 -05:00
Michael Niedermayer 49b729d3af sanm: check image dimensions before using them
Avoids integer overflows and out of array accesses.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-22 21:39:56 +01:00
Diego Biurrun 73b704ac60 arm: Add some missing header #includes 2013-01-22 21:24:10 +01:00
Ronald S. Bultje 5959bfaca3 floatdsp: move butterflies_float from dsputil to avfloatdsp.
This makes wmadec/enc, twinvq and mpegaudiodec (i.e. mp2/mp3)
independent of dsputil.
2013-01-22 11:55:42 -08:00
Ronald S. Bultje 42d3246948 floatdsp: move vector_fmul_reverse from dsputil to avfloatdsp.
Now, nellymoserenc and aacenc no longer depends on dsputil. Independent
of this patch, wmaprodec also does not depend on dsputil, so I removed
it from there also.
2013-01-22 11:55:42 -08:00
Ronald S. Bultje 55aa03b9f8 floatdsp: move vector_fmul_add from dsputil to avfloatdsp. 2013-01-22 11:55:42 -08:00
Ronald S. Bultje d56668bd80 floatdsp: move scalarproduct_float from dsputil to avfloatdsp.
This makes the aac decoder and all voice codecs independent of dsputil.
2013-01-22 11:55:42 -08:00
Paul B Mahol c4274d118b lagarith: return more meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-22 19:48:23 +00:00
Stefano Sabatini 5b10c5e7e4 lavfi/showwaves: fix check on showwaves->outpicref
outpicref is not always in synch with showwaves->outpicref, which is
changed as a side effect of the call to functions.

Fix regression introduced in 5f634480d1,
+10l to me.
2013-01-22 20:34:29 +01:00
Carl Eugen Hoyos 379d03b0c9 Fix compilation with --disable-everything --enable-demuxer=loas 2013-01-22 20:28:31 +01:00
Matthieu Bouron c114414a57 lavf/aiffenc: ID3 tags support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-22 20:27:05 +01:00
Stefano Sabatini 30a40d4a55 lavf/segment: provide link to HTML M3U8 draft, also fix mentioned version in docs 2013-01-22 20:25:45 +01:00
Stefano Sabatini 7694533fda doc/muxers: remove outdated comment about live flags for the segment muxer
The live flags is currently unused, but still kept for backward
compatibility reasons (and in case it turns to be useful again for
whatever reason).
2013-01-22 20:25:33 +01:00
Carl Eugen Hoyos 40297a8bdb Support solid gray frames when decoding Lagarith.
Fixes bug 431.
2013-01-22 20:17:53 +01:00
James Almer e65d8509f0 libm: Add fallback definition for cbrt() using pow()
The function is known to be missing in at least one target (MSVC).

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-22 16:02:31 +01:00
Michael Niedermayer 26345acb0e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  proresdec: support mixed interlaced/non-interlaced content
  vp3/5: move put_no_rnd_pixels_l2 from dsputil to VP3DSPContext.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-22 15:33:23 +01:00
Michael Niedermayer 9774251c45 rtpenc: do not use random values for seq when bitexact is requested.
Fixes fate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-22 14:40:18 +01:00
Michael Niedermayer 73b59cc1ba Merge commit '4f56e773fe8a554b8c2662650aaf799c2ece2721'
* commit '4f56e773fe8a554b8c2662650aaf799c2ece2721':
  x86: ac3: Fix HAVE_MMXEXT condition to only refer to external assembly
  rtpenc: Start the sequence numbers from a random offset

Conflicts:
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-22 14:27:48 +01:00
Michael Niedermayer eb2f499e37 Merge commit '9146e872c643fb8f20f9043f1b93a3cddfad15c6'
* commit '9146e872c643fb8f20f9043f1b93a3cddfad15c6':
  Revert "fate: Use wmv2 IDCT for wmv2 tests"

Conflicts:
	tests/fate-run.sh
	tests/fate/vcodec.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-22 14:09:59 +01:00
Michael Niedermayer 766f055201 Merge commit '4af5310d29379283553bcd9f541a3f6c317f706e'
* commit '4af5310d29379283553bcd9f541a3f6c317f706e':
  get_bits/put_bits: K&R formatting cosmetics

Conflicts:
	libavcodec/get_bits.h
	libavcodec/put_bits.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-22 13:49:45 +01:00
Michael Niedermayer b4a7f4d018 Merge commit '570a4a0189946c2c983da41d37fdd67fa13266e7'
* commit '570a4a0189946c2c983da41d37fdd67fa13266e7':
  avidec: use sensible error codes instead of -1

Conflicts:
	libavformat/avidec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-22 13:38:20 +01:00
Michael Smith 0881cbf314 proresdec: support mixed interlaced/non-interlaced content
Set interlaced to false if we don't have an interlaced frame

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-22 05:40:57 +01:00
Michael Niedermayer 0a84174f2d mov: prevent double free if the caller replaces the io context.
Fixes Ticket2148

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-22 05:15:47 +01:00
Michael Niedermayer b3ab281027 avcodec/x86/cabac: workaround llvm 4.2.1 bug
x86_64 is affected by this too
Fixes Ticket2156

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-22 03:43:29 +01:00
Ronald S. Bultje 4a73fbd9c5 vp3/5: move put_no_rnd_pixels_l2 from dsputil to VP3DSPContext.
The function is only used in VP3 and VP5, so no need to have it in
DSPContext.
2013-01-21 18:08:55 -08:00
Michael Niedermayer 2338af0fb4 doc: document aresample:first_pts
Documentation copied from asyncts, the options are supposed to do
the same thing. If not please submit a testcase where they differ
so we can fix it.

Disscussed-with: saste on IRC
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-22 01:38:55 +01:00
Diego Biurrun 4f56e773fe x86: ac3: Fix HAVE_MMXEXT condition to only refer to external assembly
CC: libav-stable@libav.org
2013-01-21 23:54:32 +01:00
Martin Storsjö ab587f39b2 rtpenc: Start the sequence numbers from a random offset
Expose the current sequence number via an AVOption - this can
be used both for setting the initial sequence number, or for
querying the current number.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-22 00:25:38 +02:00
Michael Niedermayer e4eebc2da9 avf_showwaves: fix null pointer dereference
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 23:00:20 +01:00
Michael Niedermayer 03a82d588b doc/swr: More verbose description of the force resample flag.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 22:45:58 +01:00
Michael Niedermayer c5f9cc9636 doc/swr: elaborate on what the LFE mix level is.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 21:48:34 +01:00
Michael Niedermayer ace74b2122 doc/swr: typo fix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 21:46:48 +01:00
Michael Niedermayer e0f208a637 doc/swr: docu lfe mix level unit & range
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 21:44:39 +01:00
Michael Niedermayer 4606183262 doc/swr: try to fix non english "inclusively included between"
Googling this term has 9 hits, 7 from ffmpeg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 21:41:07 +01:00
Michael Niedermayer 83440f40ba doc/swr: Mention that the internal sample format is choosen automatically if not set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 21:16:43 +01:00
Michael Niedermayer 2dd07518af docs/swr: better used_channel_count docs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 21:14:27 +01:00
Michael Niedermayer 05340be97b img2dec: support seeking in infinitely looped stream
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 19:53:41 +01:00
Luca Barbato 9146e872c6 Revert "fate: Use wmv2 IDCT for wmv2 tests"
This reverts commit ce378f0dd0.
2013-01-21 19:43:53 +01:00
Stefano Sabatini 0f2d4eddd8 doc/muxers: extend and clarify documentation for the segment muxer time options 2013-01-21 19:26:44 +01:00
Stefano Sabatini 4630dfd1eb lavf/hlsenc: append last incomplete segment when closing the output
Also introduce missing check on PTS value in case of NOPTS value.
2013-01-21 19:21:21 +01:00
Michael Niedermayer aeef76b383 dsputil: CONFIG_DWT doesnt exist anymore
place snow dwt init under correct checks
should fix compilation with enable-random

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 19:09:16 +01:00
Michael Niedermayer 5b95d39ee1 vp3: fix compilation with a disabled theora
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 19:04:34 +01:00
Diego Biurrun 4af5310d29 get_bits/put_bits: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-21 17:03:41 +01:00
Michael Niedermayer ed37a566c9 oggdec: remove unused variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 16:41:50 +01:00
Michael Niedermayer f6a80d6e63 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dsputilenc: x86: Convert pixel inline asm to yasm
  libgsm: detect libgsm header path

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 16:34:37 +01:00
Michael Niedermayer cf4515ecd9 Merge commit 'ce378f0dd0c4e5350b3280e6b3e8d6b46fe4b0a3'
* commit 'ce378f0dd0c4e5350b3280e6b3e8d6b46fe4b0a3':
  fate: Use wmv2 IDCT for wmv2 tests
  vorbisdsp: change block_size type from int to intptr_t.

Conflicts:
	tests/fate-run.sh
	tests/fate/vcodec.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 16:28:04 +01:00
Paul B Mahol 6ea8a830e8 afade filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-21 15:20:42 +00:00
Michael Niedermayer 5f61e09a8f Merge commit '93af2734ee609133eaeca28329d7f13241dd411f'
* commit '93af2734ee609133eaeca28329d7f13241dd411f':
  lavc: put FF_IDCT_{VP3,H264,CAVS,BINK,EA,WMV2} under FF_API_IDCT.

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 16:14:41 +01:00
Michael Niedermayer db23d5de27 Merge commit 'e6bc38fd49c94726b45d5d5cc2b756ad8ec49ee0'
* commit 'e6bc38fd49c94726b45d5d5cc2b756ad8ec49ee0':
  wmv2: move IDCT to its own DSP context.

Conflicts:
	libavcodec/dsputil.h
	tests/ref/seek/vsynth2-wmv2
	tests/ref/vsynth/vsynth1-wmv2
	tests/ref/vsynth/vsynth2-wmv2

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 16:07:21 +01:00
Jindrich Makovicka 570a4a0189 avidec: use sensible error codes instead of -1
Use AVERROR_INVALIDDATA on invalid inputs, and AVERROR_EOF when no more
frames are available in an interleaved AVI.

Signed-off-by: Jindrich Makovicka <makovick@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-21 16:02:40 +01:00
Michael Niedermayer 2cf9ab6555 Merge commit '8a4f26206d7914eaf2903954ce97cb7686933382'
* commit '8a4f26206d7914eaf2903954ce97cb7686933382':
  dsputil: remove butterflies_float_interleave.
  srtp: Move a variable to a local scope
  srtp: Add tests for the crypto suite with 32/80 bit HMAC

Conflicts:
	libavcodec/x86/dsputil.asm
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 15:18:57 +01:00
Michael Niedermayer 248140f8a2 Merge commit '3ef6d22e1ba544ab37c73e8fc61382f13aac250f'
* commit '3ef6d22e1ba544ab37c73e8fc61382f13aac250f':
  srtp: cosmetics: Use fewer lines for the test vectors
  srtp: Don't require more input data than what actually is needed

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 15:07:07 +01:00
Michael Niedermayer bc639dbd9b Merge commit 'a2a991b2ddf951454ffceb7bcedc9db93e26c610'
* commit 'a2a991b2ddf951454ffceb7bcedc9db93e26c610':
  srtp: Improve the minimum encryption buffer size check
  srtp: Add support for a few DTLS-SRTP related crypto suites

Conflicts:
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 15:00:45 +01:00
Michael Niedermayer acc0c0190b Merge commit 'f53490cc0c809975f8238d5a9edbd26f83bd2f84'
* commit 'f53490cc0c809975f8238d5a9edbd26f83bd2f84':
  rtpdec/srtp: Handle CSRC fields being present
  rtpdec: Check the return value from av_new_packet
  ac3dec: fix non-optimal dithering of zero bit mantissas

Conflicts:
	libavcodec/ac3dec.c
	libavformat/rtpdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 14:55:48 +01:00
Michael Niedermayer fbdb0313f5 ac3dec: fix non-optimal dithering of zero bit mantissas
Use a noise range of -0.707 to 0.707 instead of -0.5 to 0.5

Based on patch by: Mathias Rauen <madshi@gmail.com> and commit by Justin Ruggles (04ea5491)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 14:22:04 +01:00
Michael Niedermayer 144529e094 Merge commit 'd9bf716945046333c24580d538f450b516f15710'
* commit 'd9bf716945046333c24580d538f450b516f15710':
  ppc: vorbisdsp: Drop some unnecessary #includes
  avconv: Increase the SDP buffer size to fit xiph SDPs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 14:10:32 +01:00
Michael Niedermayer 0a5da9cc14 Merge commit 'c6f1dc8e4cd967ae056698eafb891a08003c211c'
* commit 'c6f1dc8e4cd967ae056698eafb891a08003c211c':
  rtpdec: Move setting the parsing flags to the actual depacketizers
  rtpdec: Split handling of mpeg12 audio/video to a separate depacketizer

Conflicts:
	libavformat/rtpdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 14:02:01 +01:00
Michael Niedermayer 950482bf58 Merge commit '2326558d5277ec87ba6d607a01ec6acfc51c694c'
* commit '2326558d5277ec87ba6d607a01ec6acfc51c694c':
  rtpdec: Split mpegts parsing to a normal depacketizer
  rtpdec: Reorder payload handler registration alphabetically

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 13:52:42 +01:00
Michael Niedermayer c3f3c22563 Merge commit 'a717f9904227d7979473bad40c50eb40af41d01d'
* commit 'a717f9904227d7979473bad40c50eb40af41d01d':
  mpegts: Share the cleanup code between the demuxer and lavf-internal parser functions
  rtpdec_mpeg4: Return one AAC AU per AVPacket
  ppc: Include string.h for memset

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 13:45:36 +01:00
Michael Niedermayer a85311ef84 Merge commit '68f18f03519ae550e25cf12661172641e9f0eaca'
* commit '68f18f03519ae550e25cf12661172641e9f0eaca':
  videodsp_armv5te: remove #if HAVE_ARMV5TE_EXTERNAL
  dsputil: drop non-compliant "fast" qpel mc functions
  get_bits: change the failure condition in init_get_bits

Conflicts:
	libavcodec/get_bits.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 13:38:57 +01:00
Paul B Mahol 098d3891be EVRC decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-21 10:24:45 +00:00
Daniel Kang 9f00b1cbab dsputilenc: x86: Convert pixel inline asm to yasm
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-21 09:54:10 +01:00
Brad Smith c7df1532e5 libgsm: detect libgsm header path
Libgsm header can reside either in the base include dir or in
the gsm subdir.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-21 07:59:35 +01:00
Ronald S. Bultje ce378f0dd0 fate: Use wmv2 IDCT for wmv2 tests 2013-01-21 07:35:54 +01:00
Ronald S. Bultje 1768e43ceb vorbisdsp: change block_size type from int to intptr_t.
This saves one instruction in the x86-64 assembly.
2013-01-20 22:26:42 -08:00
Ronald S. Bultje 93af2734ee lavc: put FF_IDCT_{VP3,H264,CAVS,BINK,EA,WMV2} under FF_API_IDCT.
This allows us to get rid of them on the next major bump. All of the
above are functionally irrelevant, and most of them are unused, except
the vp3 one, which is used wrongly in the bfin arch optimizations.
2013-01-20 22:15:28 -08:00
Ronald S. Bultje e6bc38fd49 wmv2: move IDCT to its own DSP context.
This allows us to remove FF_IDCT_WMV2, which serves no practical purpose
other than to be able to select the WMV2 IDCT for MPEG (or vice versa)
and get corrupt output.

Fate tests for all wmv2-related tests change, because (for some obscure
reason) they forced use of the MPEG IDCT. You would get the same changes
previously by not using -idct simple in the fate test (or replacing it
with -idct auto).
2013-01-20 22:12:35 -08:00
Ronald S. Bultje 8a4f26206d dsputil: remove butterflies_float_interleave.
The function is unused.
2013-01-20 21:57:35 -08:00
Michael Niedermayer c74d4658dc oggdec: #if 0 disabled code
Fixes CID968589
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 03:01:53 +01:00
Micah Galizia c8ea5ccd5d fix memory leak on string reassign
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Fixes CID968584 and CID968585
2013-01-21 02:50:02 +01:00
Michael Niedermayer 00cae86754 swr: support first_pts
Trolled-by: Daemon404
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 00:52:14 +01:00
Xi Wang eb553096e5 lavfi: fix null checking in avfilter_config_links()
Move the first use of `link' after the null pointer check.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 00:07:00 +01:00
Carl Eugen Hoyos cb1c69c81d Clarify that the recommended audio squeezing/stretching filter is aresample.
Fixes ticket #2036.
2013-01-20 23:26:35 +01:00
Martin Storsjö c9311f3e46 srtp: Move a variable to a local scope
This simplifies the code slightly.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-21 00:17:00 +02:00
Martin Storsjö 3ef6d22e1b srtp: cosmetics: Use fewer lines for the test vectors
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-21 00:13:43 +02:00
Martin Storsjö a2a991b2dd srtp: Improve the minimum encryption buffer size check
This clarifies where the limit number comes from, and only
requires exactly as much padding space as will be needed.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-21 00:13:43 +02:00
Martin Storsjö ae01e8d295 srtp: Add tests for the crypto suite with 32/80 bit HMAC
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-21 00:13:43 +02:00
Martin Storsjö b4bb1d493c srtp: Don't require more input data than what actually is needed
The theoretical minimum for a (not totally well formed) RTCP packet
is 8 bytes, so we shouldn't require 12 bytes as minimum input.

Also return AVERROR_INVALIDDATA instead of 0 if something that is
not a proper packet is given.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-21 00:13:43 +02:00
Martin Storsjö e1d0b3d875 srtp: Add support for a few DTLS-SRTP related crypto suites
The main difference to the existing suites from RFC 4568 is
that the version with a 32 bit HMAC still uses 80 bit HMAC
for RTCP packets.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-21 00:13:35 +02:00
Martin Storsjö f53490cc0c rtpdec/srtp: Handle CSRC fields being present
This is untested in practice, but follows the spec.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-21 00:10:47 +02:00
Martin Storsjö a76bc3bc44 rtpdec: Check the return value from av_new_packet
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-21 00:08:19 +02:00
Xi Wang 64b7e7dcaf cafdec: fix overflow checking in read_header()
Several compilers such as clang/icc/pathscale will optimize the check
pos + size < pos (assuming size > 0) into false, since signed integer
overflow is undefined behavior in C.  This breaks overflow checking.
Use a safe precondition check instead.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-20 21:30:34 +01:00
Michael Niedermayer 3317414fc1 wtvdec: fix integer overflow
Fixes CID968583
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-20 20:59:30 +01:00
Mathias Rauen 04ea5491a8 ac3dec: fix non-optimal dithering of zero bit mantissas
Use a noise range of -0.707 to 0.707 instead of -0.5 to 0.5

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2013-01-20 14:20:47 -05:00
Michael Niedermayer 3fba3e79a3 h264/ff_generate_sliding_window_mmcos: fix use of uninitialized variable
Fixes CID968587
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-20 20:02:57 +01:00
Michael Niedermayer dcbe15813e h264: print mismatching opcode details in check_opcodes()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-20 20:01:39 +01:00
Michael Niedermayer fc86f88b32 h264: fix use of uninitialized variable
Fixed CID968588

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-20 19:59:28 +01:00
Michael Niedermayer bc15fcb8cf theora: support midstream reconfiguration
Fixes Ticket868

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-20 17:55:24 +01:00
Michael Niedermayer 7cb27d216d oggdec: Support chained streams, support replacing streams in multistream files.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

Conflicts:

	Changelog
2013-01-20 17:53:51 +01:00
Diego Biurrun d9bf716945 ppc: vorbisdsp: Drop some unnecessary #includes
Also fixes compilation with AltiVec disabled.
2013-01-20 17:38:11 +01:00
Martin Storsjö a23abaf302 avconv: Increase the SDP buffer size to fit xiph SDPs
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-20 18:20:47 +02:00
Martin Storsjö c6f1dc8e4c rtpdec: Move setting the parsing flags to the actual depacketizers
This gets rid of almost all the codec specific details from the
generic rtpdec code.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-20 18:20:42 +02:00
Martin Storsjö a9c847c1ba rtpdec: Split handling of mpeg12 audio/video to a separate depacketizer
This also adds checking of mallocs.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-20 18:20:22 +02:00
Martin Storsjö 2326558d52 rtpdec: Split mpegts parsing to a normal depacketizer
This gets rid of a number of special cases from the common rtpdec
code.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-20 18:17:17 +02:00
Martin Storsjö d5bb8cc2dd rtpdec: Reorder payload handler registration alphabetically
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-20 18:16:04 +02:00
Michael Niedermayer 6136b989f6 vc1dec: add assert to impossible *_valid combination.
This also fixes a warning about uninitialized variables

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-20 17:14:25 +01:00
Martin Storsjö a717f99042 mpegts: Share the cleanup code between the demuxer and lavf-internal parser functions
The lavf-internal parser functions are used when receiving
mpegts over RTP. This fixes memory leaks in this setup.

The normal mpegts demuxer close function was updated in ec7d0d2e in
2004 to fix leaks, but the parsing function used for RTP wasn't
updated and has been leaking ever since.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-20 18:14:17 +02:00
Martin Storsjö 21f5c24b80 rtpdec_mpeg4: Return one AAC AU per AVPacket
This makes the returned data valid to stream copy into other
containers as well, not only for decoding straight away.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-20 18:12:38 +02:00
Martin Storsjö d160a2fb4c ppc: Include string.h for memset
This fixes build failures on ppc machines with a compiler that
supports -Werror=implicit-function-declaration.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-20 18:10:21 +02:00
Michael Niedermayer cc4a41727e swr: fix "may be used uninitialized in this function" warnings
The uninitialized use implicates 0 channels, which is unlikely
to reach this function but fixed anyway in this commit.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-20 17:09:48 +01:00
Janne Grunau 68f18f0351 videodsp_armv5te: remove #if HAVE_ARMV5TE_EXTERNAL
libavutil/arm/asm.S sets '.arch' depending on HAVE_ARMV5TE so that
assembling armv5te code will always succeed even if the default -march
flag does not support it. HAVE_ARMV5TE_EXTERNAL tests assembling code
with the default arch.
Fixes the missing symbol ff_prefetch_arm with --cpu= not including
armv5te.

CC: libav-stable@libav.org
2013-01-20 15:20:00 +01:00
Michael Niedermayer 60af6c3138 h264: Only apply error concealment if theres a frame
Without any correctly decoded slices, there can be no frame.

Fixes out of array reads

Found-by: Rafaël Carré
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-20 15:03:13 +01:00
Mans Rullgard 0b711ca3f3 dsputil: drop non-compliant "fast" qpel mc functions
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-20 14:50:42 +01:00
Michael Niedermayer 28245fb466 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Remove put_no_rnd_pixels_l2 function pointer for w=16 from dsputil.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-20 14:25:27 +01:00
Michael Niedermayer c62cb1112f Merge commit 'fef906c77c09940a2fdad155b2adc05080e17eda'
* commit 'fef906c77c09940a2fdad155b2adc05080e17eda':
  Move vorbis_inverse_coupling from dsputil to vorbisdspcontext.

Conflicts:
	libavcodec/dsputil.c
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-20 14:13:16 +01:00
Michael Niedermayer cf061a9c3b Merge commit 'aeaf268e52fc11c1f64914a319e0edddf1346d6a'
* commit 'aeaf268e52fc11c1f64914a319e0edddf1346d6a':
  vp3: integrate clear_blocks with idct of previous block.
  mpegvideo: fix loop condition in draw_line()
  dvdsubdec: parse the size from the extradata

Conflicts:
	libavcodec/dvdsubdec.c
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-20 13:57:10 +01:00
Luca Barbato 4603ec85ed get_bits: change the failure condition in init_get_bits
Too much code relies in having init_get_bits fed with a valid
buffer and set its dimension to 0.

Check for NULL buffer instead.
2013-01-20 13:37:56 +01:00
Ronald S. Bultje 0e02b381b4 Remove put_no_rnd_pixels_l2 function pointer for w=16 from dsputil.
The function is never used.
2013-01-19 22:37:45 -08:00
Ronald S. Bultje fef906c77c Move vorbis_inverse_coupling from dsputil to vorbisdspcontext.
Conveniently (together with Justin's earlier patches), this makes
our vorbis decoder entirely independent of dsputil.
2013-01-19 22:21:10 -08:00
Ronald S. Bultje aeaf268e52 vp3: integrate clear_blocks with idct of previous block.
This is identical to what e.g. vp8 does, and prevents the function call
overhead (plus dependency on dsputil for this particular function).

Arm asm updated by Janne Grunau <janne-libav@jannau.net>.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2013-01-19 22:04:55 -08:00
Matthieu Bouron b3b456b258 lavf/id3v2: seek back to previous offset if header size is not matched
Makes ff_id3v2_read reset stream position at the end of ID3 data if the
header size is not matched (caused by an EOF for example).

Current behaviour (without the patch):
    filesize = 400
    id3 data size = 399
    file offset after ff_id3v2_read is 400 instead of 399

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-20 04:39:56 +01:00
Michael Niedermayer 0c6b0409af mpeg1enc: Disable threads for resolutions too large for multi-threading
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-20 04:14:09 +01:00
Michael Niedermayer 89afa635bf sws: check that dither array is not null before memset
Fixes null pointer dereference

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 23:38:17 +01:00
Michael Niedermayer aef5c0b68f sws: Check for unsupported combination of ED/FULL_CHR flags
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 23:13:40 +01:00
Michael Niedermayer f94220ac7a sws: Fix error diffusion flag
The used flag was mistakenly overlapping with chroma drop

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 23:13:40 +01:00
Xi Wang 992b031838 mpegvideo: fix loop condition in draw_line()
The loop condition `x = ex' is incorrect.  It should be `x <= ex'.

This bug was introduced in commit c65dfac4 "mpegvideo.c: K&R formatting
and cosmetics."

CC:libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-19 22:20:43 +01:00
Nicolas George beb5d8f07d ffmpeg: accept "chapters" as forced key frames.
Allow to force a key frame at the beginning of each chapter.
2013-01-19 15:22:34 +01:00
Clément Bœsch 40976257bc dvdsubdec: parse the size from the extradata
Signed-off-by: Alexandra Khirnova <alexandra.khirnova@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-19 15:12:58 +01:00
Michael Niedermayer 9381521968 cmdline: fix -- to escape files starting with -
Fixes Ticket2127

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 14:50:36 +01:00
Matthieu Bouron 61625565e4 lavf/id3v2: cosmetics: reindent
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 14:37:44 +01:00
James Almer b6576dca99 configure: Fix Barcelona and Bulldozer compiler options with suncc
Barcelona/amdfam10 does not support SSE4 instructions.
Also, Bulldozer supports AVX instructions, so use them instead.

Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 14:38:39 +01:00
James Almer 4f8b73129b doc/Makefile: Fix make docclean
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 14:32:29 +01:00
Michael Niedermayer ed8ff70d9e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: dsputil: Drop some unused macro definitions
  x86: Add a Yasm-based emms() replacement

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 13:20:25 +01:00
Michael Niedermayer b45e0c2573 Merge commit 'd633d12b2cc999cee3ac25bf9a810fe7ff03726d'
* commit 'd633d12b2cc999cee3ac25bf9a810fe7ff03726d':
  x86inc: Add cvisible macro for C functions with public prefix

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 13:11:41 +01:00
Michael Niedermayer 1b03e09198 Merge commit 'ef5d41a5534b65f03d02f2e11a503ab8416bfc3b'
* commit 'ef5d41a5534b65f03d02f2e11a503ab8416bfc3b':
  x86inc: Rename "program_name" to "private_prefix"
  configure: Run SHFLAGS through ldflags_filter()

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 13:01:06 +01:00
Carl Eugen Hoyos a5faae46a3 APIchanges: Add git version and fix version for avfilter_ref_get_channels(). 2013-01-19 10:45:34 +01:00
Carl Eugen Hoyos 371cf6ee9a Add APIchanges entry for av_codec_get_tag2(). 2013-01-19 10:42:27 +01:00
Michael Niedermayer 96d1b7ffca h264: unmark frames at the end
Fixes assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 06:18:58 +01:00
Michael Niedermayer 5c42078b99 sws: fix ED mono dither black level
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 04:21:44 +01:00
Michael Niedermayer 7ba9f40ac6 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: flush video filters on seek
  ffplay: use videoq.serial to detect obsolete frames

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 03:56:05 +01:00
sedacca@comcast.net 24c47f00fe lavfi: EBU R.128 irregular time
Correct the time interval between logged data rows to the expected
value of 100 milliseconds by naming a new loop counter variable
to be distinct from loop counters for inner loops that
inadvertently change the outer loop operation.

This suggested patch is 1 of 3 for Ticket #2144 "libavfilter ebur128
loudness inaccuracy, irregular time interval, LFE interference".
This suggested patch supersedes the contribution of January 15, 2013
in the thread “[PATCH] lavfi: EBU R.128 irreg time, ch weights, skip
LFE” which combined multiple fixes in one patch.

Reviewed-by: Clément Bœsch <ubitux@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 03:13:24 +01:00
Michael Niedermayer 2dc2e4f5af sws: Enable full chroma resolution when needed for ED dither
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 02:38:48 +01:00
Michael Niedermayer 8045c0167d sws: Only reset dither state for bitexact mode
the output looks better with a random initial state than
all 0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 02:38:48 +01:00
Michael Niedermayer ca447592b1 sws: rgb/bgr 4/8 error diffusion dither
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 02:38:48 +01:00
Michael Niedermayer d7a46ca179 sws: add AVOption flag for error diffusion dither
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 02:38:48 +01:00
Stefano Sabatini 040c461ccf doc/muxers: apply minor cosmetics to segment option descriptions 2013-01-19 00:51:28 +01:00
Marton Balint f65e57124f ffplay: flush video filters on seek
Actually we just re-create the filters, since there is no way to flush them.
Fixes hangup with yadif filter on seeking forward caused by a filtered frame
with a pts before the seek.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-01-19 00:48:06 +01:00
Marton Balint 1427c6842d ffplay: use videoq.serial to detect obsolete frames
Previously VideoPicture->skip was used for that, using videoq.serial enables us
to detect obsolete frames right after pushing flush_pkt to the packet queue, so
we don't have to wait for the decoder thread to pop the flush packet anymore.

This is good because until now a full video picture queue may have blocked the
decoder thread.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-01-19 00:48:06 +01:00
Stefano Sabatini d00df260ca lavf/segment: do not auto-select a video stream with attached_pic disposition
In particular, fix trac ticket #2138.
2013-01-19 00:32:08 +01:00
Stefano Sabatini bbce913edf lavf/segment: move reference stream selection code to a dedicated function 2013-01-19 00:32:01 +01:00
Stefano Sabatini 1de369a632 lavf/segment: remove now unused field list_max_segment_time 2013-01-19 00:23:36 +01:00
Stefano Sabatini d4890c1068 lavf/segment: add support to segment list file entries sliding window listing
In particular, should fix trac ticket #1842.
2013-01-19 00:22:58 +01:00
Stefano Sabatini 6b7d9d5153 lavf/segment: add SegmentListEntry and use it
This patch is propedeutic to the incoming patch which adds
support to sliding window segment listing.
2013-01-19 00:14:03 +01:00
Stefano Sabatini 176b72a28c lavf/utils: provide feedback in case of invalid probe size
Log message in case the max_probe_size value in av_probe_input_buffer()
is smaller than the minimum accepted value.
2013-01-19 00:13:52 +01:00
Paul B Mahol c79be51dfc vf_fade: use AVPixFmtDescriptor to find out if pixel format have alpha
Remove alpha_pix_fmts[].

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-18 22:51:05 +00:00
Michael Niedermayer 646ade7679 sws: Support error diffusion dither for mono output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 23:26:00 +01:00
Stefano Sabatini 24bbc416a4 doc/filters: create a dedicated "Examples" subsection for fade, and use @itemize 2013-01-18 23:18:01 +01:00
Stefano Sabatini 2852bd704a lavfi/fade: accept shorthand syntax 2013-01-18 23:17:47 +01:00
Diego Biurrun 822b0728f0 x86: dsputil: Drop some unused macro definitions 2013-01-18 22:24:58 +01:00
Martin Storsjö f4facd2ce7 x86: Add a Yasm-based emms() replacement
This provides a fallback when building with Yasm enabled, but neither
inline assembly, nor the _mm_empty intrinsic are available or enabled.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-18 22:02:13 +01:00
Diego Biurrun d633d12b2c x86inc: Add cvisible macro for C functions with public prefix
This allows defining externally visible library symbols.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-18 22:02:03 +01:00
Diego Biurrun ef5d41a553 x86inc: Rename "program_name" to "private_prefix"
The new name is more descriptive and will allow defining a separate
public prefix for externally visible library symbols.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-18 20:29:53 +01:00
Sean McGovern 6d1114a806 configure: Run SHFLAGS through ldflags_filter()
These flags are as linker-specific as other LDFLAGS and thus
need to be translated to the correct linker syntax.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-18 19:10:29 +01:00
Stefano Sabatini 44d5a28b7d doc/filters: avoid @example for showing the drawbox shorthand syntax
Improve overall consistency.
2013-01-18 19:03:58 +01:00
Michael Niedermayer fd165ace7b golomb: check log validity before shifting
Fixes invalid right shift in fate-cavs

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 15:41:32 +01:00
Paul B Mahol d084c5c742 vf_fade: support YUVA422P & YUVA444P
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-18 14:35:30 +00:00
Michael Niedermayer 13178d002b h264/get_lowest_part_list_y: remove unneeded operations
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 15:06:38 +01:00
Michael Niedermayer 8ac0d95bd3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: avoid pointless copying of ref lists
  lavr: always reset mix function names and pointers in mix_function_init()
  lavr: call mix_function_init() in ff_audio_mix_set_matrix()
  fate: update ref after rv30_loop_filter fix
  rv30: fix masking in rv30_loop_filter()

Conflicts:
	tests/ref/fate/filter-delogo
	tests/ref/fate/rv30

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 13:54:38 +01:00
Michael Niedermayer 17596198ca Merge commit '80ac87c13dc8c6c063e26a464c5c542357c0583f'
* commit '80ac87c13dc8c6c063e26a464c5c542357c0583f':
  lavc: support ZenoXVID custom tag
  libcdio: support recent cdio-paranoia
  float_dsp: Add #ifdef HAVE_INLINE_ASM around vector_fmul_window
  theora: Skip zero-sized headers

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 13:36:39 +01:00
Jonas Bechtel a003c5bd4f Fix opencv detection.
This commit changes the ".so" argument placement in check_ld sub-program.
2013-01-18 10:30:43 +01:00
Anton Khirnov 940b8b5861 h264: avoid pointless copying of ref lists
ref_list is constructed from other fields per slice when needed, so do
not copy it for both frame and slice threading.
default_ref_list is constructed per frame and still needs to be copied
to per-slice contexts for slice threading, but a copy is not needed for
frame threading.
2013-01-18 07:56:05 +01:00
Michael Niedermayer d270c32025 avcodec_decode_audio: do not trust the channel layout, use the channel count.
Fixes memory corruption

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 01:29:38 +01:00
Justin Ruggles b90632d596 lavr: always reset mix function names and pointers in mix_function_init()
CC: libav-stable@libav.org
2013-01-17 19:27:01 -05:00
Justin Ruggles f07ef2d9c9 lavr: call mix_function_init() in ff_audio_mix_set_matrix()
This is needed if a custom matrix is set by the user after opening the
AVAudioResampleContext because the matrix channel count can change if
different mixing coefficients are used.

CC:libav-stable@libav.org
2013-01-17 19:27:01 -05:00
Michael Niedermayer 4aed4f5846 mlpdec: dont leave a invalid huff_lsb in the context.
Fix assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 00:23:17 +01:00
Michael Niedermayer e1d7d4bd13 mpegvideo: reset context state on failed thread update.
Fixes assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-17 23:43:35 +01:00
Luca Barbato 56ef1ef1f7 fate: update ref after rv30_loop_filter fix 2013-01-17 23:40:48 +01:00
Xi Wang 783e37f7ef rv30: fix masking in rv30_loop_filter()
The mask `x && (1 << y)' is incorrect and always yields true.

The correct form should be `x & (1 << y)'.

CC: libav-stable@libav.org

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-17 21:55:27 +01:00
Luca Barbato 80ac87c13d lavc: support ZenoXVID custom tag
Looks like this kind of samples are produced by certain Russian
equipment.
2013-01-17 21:41:18 +01:00
Luca Barbato 43e0e0c4e5 libcdio: support recent cdio-paranoia
Upstream decided to split the paranoia interface and move the headers
accordingly.
2013-01-17 21:41:18 +01:00
Carl Eugen Hoyos 9a038a95d2 Use new function av_codec_get_tag2() in ffmpeg.c.
Fixes ticket #1953.
2013-01-17 20:46:21 +01:00
Carl Eugen Hoyos a1a707f728 Add a new function av_codec_get_tag2().
av_codec_get_tag() may return 0 both in case a codec_tag was
found and if no codec_tag was found.
The new function does not have this ambiguity.
2013-01-17 20:44:33 +01:00
Paul B Mahol 8fdd24455e .gitignore: add /doc/examples/pc-uninstalled
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-17 17:59:18 +00:00
Martin Storsjö 973b4d44f1 float_dsp: Add #ifdef HAVE_INLINE_ASM around vector_fmul_window
This fixes builds on 64bit MSVC.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-17 19:07:35 +02:00
Martin Storsjö e33db35b4a theora: Skip zero-sized headers
This fixes a regression since d9cf5f51 with theora over RTP
(possibly with other variants of theora as well).

In theora over RTP, the second of the 3 headers turns out to be
0 bytes long, which prior to d9cf5f51 worked just fine. After
d9cf5f51, reading from the bitstream reader fails (since the reader
wasn't initialized but returned an error if initialized with 0 bits).

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-17 19:06:56 +02:00
Carl Eugen Hoyos ad406f7e40 Only skip MLP header in mpeg files if the codec actually is MLP.
Fixes PCM audio in Kansas Pheasant Hunt 2000 mpg file.
Reported-by: Mashiat Sarker Shakkhar
2013-01-17 17:19:08 +01:00
Carl Eugen Hoyos 12cb21efa6 Make the latm decoder less verbose on initialisation.
Reviewed-by: Paul B Mahol
2013-01-17 16:12:59 +01:00
Michael Niedermayer 46730e7a0c mux/chunked interleaver: better align duration chunks.
This code causes the chunking to tend toward more optimal
alignment between streams.
The first chunks can still be less optimal aligned
2013-01-17 15:11:02 +01:00
Michael Niedermayer 69a96f9d4c mux: de-obfuscate chunked interleaver checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-17 15:08:50 +01:00
Michael Niedermayer c57c1329a9 mux: simplify chunking interleaver code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-17 14:45:30 +01:00
Michael Niedermayer 2dc9bcad7d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  idcin: fix memleaks in idcin_read_packet()

Conflicts:
	libavformat/idcin.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-17 13:44:37 +01:00
James Almer b454c64e03 latmenc: Check for LOAS sync word
Write the packet unaltered if found.

Fixes ticket #1917

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-17 04:55:14 +01:00
Carl Eugen Hoyos c345100efc Fix detection of struct v4l2_frmsize_discrete.
It was always detected successfully.
2013-01-17 02:11:12 +01:00
Michael Niedermayer 765a3ba018 h264: add assert to check that block_offset is consistent.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-17 00:21:58 +01:00
Michael Niedermayer 97d190283e h264: always copy linesizes in thread update
Fixes inconsistencies in context

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-17 00:21:58 +01:00
Michael Niedermayer f674cc776f h264: always copy block_offset in thread update
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-17 00:21:58 +01:00
Paul B Mahol 641bbd9671 vima: switch to init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-16 20:56:14 +00:00
Michael Niedermayer 1191db31c1 mux: fix chunked interleaver
The code did not account properly for packets that where added to
the end of the packet list. Also flags for such packets where not
set correctly leading to incorrect chunked interleaving.

Reported-by: bcoudurier
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-16 20:22:58 +01:00
Michael Niedermayer b7bc49a957 mips: move vector_fmul_window_mips to libavutil
Reviewed-by: "Babic, Nedeljko" <nbabic@mips.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-16 20:15:48 +01:00
Justin Ruggles b805c725a3 idcin: fix memleaks in idcin_read_packet()
Fixes fate-id-cin-video failures when running FATE with valgrind.
2013-01-16 12:21:35 -05:00
Nicolas George 0942aa4637 lafv/matroska: add A_OPUS/EXPERIMENTAL codec name.
The exact packing of Opus inside Matroska is not finalized.
Use A_OPUS/EXPERIMENTAL as codec name, like mkvtoolnix.
The A_OPUS name stays to let ffmpeg open files it has produced
until now, but newly produced file use the EXPERIMENTAL version.
Once the spec is stabilized it will be possible to consider
options to ensure compatibility with these files.
2013-01-16 15:53:01 +01:00
Michael Niedermayer f0cf017dee configure: suppress "enumerated type mixed with another type" for icc
icc should not complain when 2 enum values are combined (for example when
used as flags)
Adding casts to suppress these would not help code quality

Reviewed-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-16 14:00:39 +01:00
Michael Niedermayer cae11e4031 mux: fix chunked_duration rounding anomaly
a small value was rounded to 0 and then treated special as if
chunked_duration was 0. This led to a inconsistency that further led
to wrong interleaving

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-16 13:49:02 +01:00
Michael Niedermayer 5c7e9e16c9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: Move vector_fmul_window to AVFloatDSPContext
  rtpdec_mpeg4: Check the remaining amount of data before reading

Conflicts:
	libavcodec/dsputil.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-16 12:38:41 +01:00
Nicolas George 0e79fe37e5 lavd/v4l2: init return value.
Fix a warning and random failures.
2013-01-16 12:21:58 +01:00
Michael Niedermayer 1459f34251 Merge commit '977d4a3b8a2dbc2fb5e747c7072485016c9cdfaa'
* commit '977d4a3b8a2dbc2fb5e747c7072485016c9cdfaa':
  rtpdec_mpeg4: Check the return value from malloc
  srtp: Mark a few variables as uninitialized

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-16 12:13:16 +01:00
Michael Niedermayer 9ea65c65f7 Merge commit '0eecafc948b74c247ebbc59f18f508db5d590d0b'
* commit '0eecafc948b74c247ebbc59f18f508db5d590d0b':
  configure: Make the new srtp protocol depend on the rtp protocol
  lavf: Add a fate test for the SRTP functions
  lavu: Add a fate test for the HMAC API

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-16 12:07:27 +01:00
Michael Niedermayer 06af724c56 Merge commit 'fb845ffdd335a1efd6dfd43e8adeb530397b348e'
* commit 'fb845ffdd335a1efd6dfd43e8adeb530397b348e':
  h264: add 3 pixels below for subpixel filter wait position
  dvdsubdec: Support palette in mkv

Conflicts:
	libavcodec/dvdsubdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-16 12:01:21 +01:00
Michael Niedermayer 68f92a70f1 Merge commit 'dae1d507af94261bafd3b11549884e5d1eca590e'
* commit 'dae1d507af94261bafd3b11549884e5d1eca590e':
  x86: Add PAVGB macro to abstract pavgb/pavgusb instruction via cpuflags
  vf_fps: add final flushed frames to the dropped frame count
  rv34_parser: Adjust #if for disabling individual parsers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-16 11:44:45 +01:00
Stephan Hilb f245a2086a lavd/v4l2: update broken link to v4l2 video capture example
Reviewed-by: Stefano Sabatini
2013-01-16 11:27:20 +01:00
Stephan Hilb 36810215fa lavd/v4l2: improve debug message
Reviewed-by: Stefano Sabatini
2013-01-16 11:26:38 +01:00
Justin Ruggles e034cc6c60 lavc: Move vector_fmul_window to AVFloatDSPContext
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-16 10:45:45 +01:00
Martin Storsjö a7ba324413 rtpdec_mpeg4: Check the remaining amount of data before reading
This fixes possible buffer overreads.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-16 11:12:39 +02:00
rogerdpack c916389bd2 dshow: allow for more codec ID's
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2013-01-16 00:23:53 -07:00
rogerdpack 3b9166fc7e dshow: better error reporting
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2013-01-16 00:18:40 -07:00
rogerdpack 6d33026668 dshow: fix log message
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2013-01-16 00:11:15 -07:00
Michael Niedermayer bbe56bcd6b motion_est: Limit motion vector search range to MAX_MV
Fixes out of array reads with videos exceeding MAX_MV

Found-by: Thierry Foucu
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-16 05:55:24 +01:00
Michael Niedermayer 5c6283e5c3 mpegvideo: Increase MAX_MV for HD video
Fixes out of array reads

Found-by: Thierry Foucu
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-16 05:51:04 +01:00
Michael Niedermayer 2d372d3a3f h264: document h264_set_parameter_from_sps() re-calling behavior
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-16 05:22:30 +01:00
Michael Niedermayer 31c4a1b7d0 h264: do not mess up cur_chroma_format_idc during thread update
Fixes out of array reads
Regression probably since allowing pixel format changes or a related commit

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-16 05:15:40 +01:00
rogerdpack c540312ac3 Merge remote-tracking branch 'origin/master' into combined 2013-01-15 19:09:15 -07:00
rogerdpack 47e88486b4 hdyc col
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2013-01-15 18:37:30 -07:00
Ronald S. Bultje 2c85d7c015 h264: add 3 pixels below for subpixel filter wait position.
If the motion vector is at a subpixel position, we need 3 pixels below
the motion vector's wholepel position available, not 2, since the MC
filter is a sixtap filter for the hpel position, and then a bilin filter
for the qpel position.

This patch fixes highly irreproducible (0.1%) fate failures in frame 2
and 4 of h264-conformance-cama2_vtc_b (e.g. first P-frame, first field,
last line of MB x=40,y=2 and second field and last lines of MBs x=39-40,
y=3). These used pre-loopfilter instead of post-loopfilter data because
the await_progress() waited for one line too little in that field, and
the motion vector of these particular MBs happened to align exactly to a
position where that demonstrates the bug.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-16 01:22:30 +01:00
rogerdpack a50049a197 dshow: use standardized raw pixel format lookup
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2013-01-15 17:07:54 -07:00
Angelo Haller e7a39e163d examples/demuxing: free AVPacket after usage
Fix leak.
2013-01-15 23:37:30 +01:00
Stefano Sabatini c92b6f347d tools: add plotframes script
The script is ported from ffprobe/SourceForge and updated to the current
ffprobe version.
2013-01-15 22:50:19 +01:00
Micah Galizia 10315b1cb8 doc/protocols: document HTTP protocol cookie support
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-01-15 22:26:44 +01:00
Micah Galizia 0b80a12184 lavf/http: add HTTP protocol cookie support
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-01-15 22:26:30 +01:00
Martin Storsjö 977d4a3b8a rtpdec_mpeg4: Check the return value from malloc
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-15 23:18:33 +02:00
Martin Storsjö 0eecafc948 configure: Make the new srtp protocol depend on the rtp protocol
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-15 23:18:08 +02:00
Martin Storsjö 42364fcbca srtp: Mark a few variables as uninitialized
This squelches false positive warnings (with gcc) about them being
used uninitalized.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-15 23:18:08 +02:00
Martin Storsjö c2603aa25b lavf: Add a fate test for the SRTP functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-15 23:18:08 +02:00
Martin Storsjö 3130fa51a5 lavu: Add a fate test for the HMAC API
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-15 23:18:07 +02:00
Ronald S. Bultje fb845ffdd3 h264: add 3 pixels below for subpixel filter wait position
If the motion vector is at a subpixel position, we need 3 pixels below
the motion vector's wholepel position available, not 2, since the MC
filter is a sixtap filter for the hpel position, and then a bilin filter
for the qpel position.

This patch fixes highly irreproducible (0.1%) fate failures in frame 2
and 4 of h264-conformance-cama2_vtc_b (e.g. first P-frame, first field,
last line of MB x=40,y=2 and second field and last lines of MBs x=39-40,
y=3). These used pre-loopfilter instead of post-loopfilter data because
the await_progress() waited for one line too little in that field, and
the motion vector of these particular MBs happened to align exactly to a
position where that demonstrates the bug.

CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-15 22:00:34 +01:00
Stefano Sabatini d012059e7b lavd/v4l2: apply grammar/consistency fixes to options help fields 2013-01-15 21:57:37 +01:00
Stefano Sabatini aa359d3808 lavd/v4l2: return meaningful error code from device_init()
In particular, propagate errno value in case of device init failure.
2013-01-15 21:48:36 +01:00
Stefano Sabatini fce165027f lavd/v4l2: fix misc messages 2013-01-15 21:48:27 +01:00
Stefano Sabatini 1b325ce91a lavd/v4l2: extend error/debug feedback in case of invalid codec/pix_fmt 2013-01-15 21:48:21 +01:00
Joakim Plate f924d52975 dvdsubdec: Support palette in mkv
Matroska stores palette information as plain text in extradata.

Signed-off-by: Alexandra Khirnova <alexandra.khirnova@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-15 20:51:51 +01:00
Michael Niedermayer c994bb2fb7 oggdec: Leave treatment of serial changes to the decoder.
Attempting to re-parse the headers at demuxer level is a
pandora box the way its done currently.

This allows full reconfiguration of vorbis streams

Fixes Ticket2117
Fixes Ticket2121

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 20:19:30 +01:00
Michael Niedermayer e9ffee23f3 vorbisdec: handle midstream parameter changes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 20:19:29 +01:00
Michael Niedermayer c5cf58d4b9 oggdec: resync from the last page.
Previously we re synced from where we where which cam lead
to loosing pages.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 20:19:28 +01:00
Michael Niedermayer 778069c832 vorbisdec: support freeing partially allocated contexts.
Fixes null pointer derefernces

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 20:19:28 +01:00
Diego Biurrun dae1d507af x86: Add PAVGB macro to abstract pavgb/pavgusb instruction via cpuflags 2013-01-15 17:29:43 +01:00
Justin Ruggles 23098bbd50 vf_fps: add final flushed frames to the dropped frame count 2013-01-15 11:26:46 -05:00
Michael Niedermayer 918b411636 rtpdec: support CSRC
Untested, due to lack of rtp stream with CSRCs, but the code as
is does not work with multiple CSRCs

Reviewed-by: Luca Abeni <lucabe72@email.it>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 16:20:31 +01:00
Diego Biurrun 0b22107d95 rv34_parser: Adjust #if for disabling individual parsers
As CONFIG_ values are always defined, they have to be checked via #if.
2013-01-15 16:20:14 +01:00
Michael Niedermayer b7ede94bbd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: ABSB2: port to cpuflags

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 16:16:18 +01:00
Michael Niedermayer 77041e2474 Merge commit '094a7405e5d8463d7d167d893e04934ec1a84ecd'
* commit '094a7405e5d8463d7d167d893e04934ec1a84ecd':
  x86: ABSB: port to cpuflags
  sdp: Include SRTP crypto params if using the srtp protocol

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 16:12:24 +01:00
Michael Niedermayer b52925d2cd Merge commit '2f3bada63e57345329c4f9b48e9b81b5cfc03d05'
* commit '2f3bada63e57345329c4f9b48e9b81b5cfc03d05':
  lavf: Add a protocol for SRTP encryption/decryption
  rtsp: Support decryption of SRTP signalled via RFC 4568 (SDES)

Conflicts:
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 16:05:34 +01:00
Michael Niedermayer e7e0186eeb Merge commit 'ab2ad8bd56882c0ea160b154e8b836eb71abc49d'
* commit 'ab2ad8bd56882c0ea160b154e8b836eb71abc49d':
  lavf: Add functions for SRTP decryption/encryption
  lavu: Add an API for calculating HMAC (RFC 2104)

Conflicts:
	doc/APIchanges
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 15:57:33 +01:00
Michael Niedermayer e074fe2962 Merge commit '47812070a267cbdf74164e154d03d99bf8ced100'
* commit '47812070a267cbdf74164e154d03d99bf8ced100':
  libx264: use the library specific default rc_initial_buffer_occupancy

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 15:51:14 +01:00
Michael Niedermayer 9aeffb3c2a Merge commit 'bff3607547fdbb6e32b3830a351e6a33280c1e0d'
* commit 'bff3607547fdbb6e32b3830a351e6a33280c1e0d':
  lavc: set the default rc_initial_buffer_occupancy

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 15:32:48 +01:00
Michael Niedermayer cfc40a6aff Merge commit 'd8c772de53d29afb1bada88afa859fce8489c668'
* commit 'd8c772de53d29afb1bada88afa859fce8489c668':
  nutdec: Always return a value from nut_read_timestamp()
  configure: Make warnings from -Wreturn-type fatal errors
  x86: ABS2: port to cpuflags
  vdpau: Remove av_unused attribute from function declaration
  h264: fix ff_generate_sliding_window_mmcos() prototype.

Conflicts:
	configure
	libavformat/nutdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 15:23:20 +01:00
Michael Niedermayer 24d06cb208 Merge commit '5e753ed502d3597077d8675ca1438e1bcade1459'
* commit '5e753ed502d3597077d8675ca1438e1bcade1459':
  suncc: Replace more GCC flags by their equivalents in suncc_flags()
  libtheoraenc: fix granularity of video quality
  oggparsetheora: fix comment header parsing
  h264: don't clobber mmco opcode tables for non-first slice headers.

Conflicts:
	libavcodec/h264_refs.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 15:16:45 +01:00
Michael Niedermayer 353dbaa297 Merge commit '3f111804eb5c603a344706b84b7164cbf7b4e0df'
* commit '3f111804eb5c603a344706b84b7164cbf7b4e0df':
  libvpx: make vp8 and vp9 selectable
  libvpx: support vp9
  nut: support vp9 tag
  mkv: support vp9 tag
  rtpdec: Make variables that should wrap unsigned

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 14:57:57 +01:00
Michael Niedermayer 8686b6c68b Merge commit 'ba0c72a9ae1e2954e5dcf920f7b4e9a8f8a22f3e'
* commit 'ba0c72a9ae1e2954e5dcf920f7b4e9a8f8a22f3e':
  build: Remove stray Makefile entry for non-existent VCR1 encoder
  rtpdec: Handle more received packets than expected when sending RR

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 14:42:24 +01:00
Michael Niedermayer eaf1f01169 Merge commit 'd0fe217e3990b003b3b3f2c2daaadfb2af590def'
* commit 'd0fe217e3990b003b3b3f2c2daaadfb2af590def':
  rtpdec: Simplify insertion into the linked list queue
  rtpdec: Remove a woefully misplaced comment

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 14:34:32 +01:00
Ronald S. Bultje f6badba185 h264: don't clobber mmco opcode tables for non-first slice headers.
Clobbering these tables will temporarily clobber the template used
as a basis for other threads to start decoding from. If the other
decoding thread updates from the template right at that moment,
subsequent threads will get invalid (or, usually, none at all) mmco
tables. This leads to invalid reference lists and subsequent decode
failures.

Therefore, instead, decode the mmco tables only for the first slice in
a field or frame. For other slices, decode the bits and ensure they
are identical to the mmco tables in the first slice, but don't ever
clobber the context state. This prevents other threads from using a
clobbered/invalid template as starting point for decoding, and thus
fixes decoding in these cases.

This fixes occasional (~1%) failures of h264-conformance-mr1_bt_a with
frame-multithreading enabled.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 13:58:22 +01:00
Diego Biurrun 320e1d0df3 x86: ABSB2: port to cpuflags 2013-01-15 11:18:51 +01:00
Diego Biurrun 094a7405e5 x86: ABSB: port to cpuflags 2013-01-15 11:18:51 +01:00
Martin Storsjö 611bf39bde sdp: Include SRTP crypto params if using the srtp protocol
Also print port numbers for this protocol.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-15 11:55:29 +02:00
Martin Storsjö 2f3bada63e lavf: Add a protocol for SRTP encryption/decryption
This is mostly useful for encryption together with the RTP muxer,
but could also be set up as IO towards the peer with the SDP
demuxer with custom IO.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-15 11:55:10 +02:00
Martin Storsjö 424da30830 rtsp: Support decryption of SRTP signalled via RFC 4568 (SDES)
This only takes care of decrypting incoming packets; the outgoing
RTCP packets are not encrypted. This is enough for some use cases,
and signalling crypto keys for use with outgoing RTCP packets
doesn't fit as simply into the API. If the SDP demuxer is hooked
up with custom IO, the return packets can be encrypted e.g. via the
SRTP protocol.

If the SRTP keys aren't available within the SDP, the decryption
can be handled externally as well (when using custom IO).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-15 11:54:40 +02:00
Martin Storsjö ab2ad8bd56 lavf: Add functions for SRTP decryption/encryption
This supports the AES_CM_128_HMAC_SHA1_80 and
AES_CM_128_HMAC_SHA1_32 cipher suites (from RFC 4568) at the
moment. The main missing features are replay protection (which can be
added later without changing the internal API), and the F8 and null
ciphers.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-15 11:54:34 +02:00
Martin Storsjö 8ee288d258 lavu: Add an API for calculating HMAC (RFC 2104)
This supports HMAC-MD5 and HMAC-SHA1 for now, other hashes are
simple to add.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-15 11:54:19 +02:00
Luca Barbato 47812070a2 libx264: use the library specific default rc_initial_buffer_occupancy
By default libav sets it to 3/4 while x264 sets it to 9/10.

CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-15 08:58:51 +01:00
Luca Barbato bff3607547 lavc: set the default rc_initial_buffer_occupancy
rc_buffer_size is not set before.

Solve the initial the rate control underflow issue reported in
bug 222.

CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-15 08:58:51 +01:00
Michael Niedermayer 8ac8f04993 mpegvideo: Fix long standing race condition with frame threads
Since resolution change support this also was exploitable, which is
how it was found.

Fixes read after free and out of array reads.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 05:34:37 +01:00
Diego Biurrun d8c772de53 nutdec: Always return a value from nut_read_timestamp()
The function is a callback that is called by ff_gen_search with
a constant stream index.

Avoid a false positive on older gcc version.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-15 02:15:09 +01:00
Stephen Hutchinson df4203ac6f Fix compilation with libutvideo version 12.0.0
Reviewed-by: Derek Buitenhuis
2013-01-15 01:15:10 +01:00
Carl Eugen Hoyos 5ce023b790 Fix color filter example.
Found-by: johnd and Paul B Mahol
2013-01-15 00:14:35 +01:00
Michael Niedermayer 274e48d8ac x86/Makefile: move dirac_dwt to right type
Fix build failure without yasm

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 23:40:26 +01:00
Michael Niedermayer 9cb3c1a4d9 x86/dirac: fix asm on win64
This could also be fixed by changing the argument type if
someone prefers that and wants to change it ...

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 23:28:01 +01:00
Michael Niedermayer 30981a966f lavc: split snow and dirac DWTs
There is only about 4 lines of common code, so it alot cleaner
when seperated.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 22:59:05 +01:00
Diego Biurrun 99853cb8d4 configure: Make warnings from -Wreturn-type fatal errors
These warnings have no false positives and point to serious bugs.
2013-01-14 22:49:44 +01:00
Diego Biurrun 51969a652c x86: ABS2: port to cpuflags 2013-01-14 21:56:55 +01:00
Rémi Denis-Courmont 171f1446f0 vdpau: Remove av_unused attribute from function declaration
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-14 21:56:55 +01:00
Anton Khirnov ea382767ad h264: fix ff_generate_sliding_window_mmcos() prototype.
It's been returning an error value since
bad446e251

Also check for the errors it returns.
2013-01-14 21:36:08 +01:00
Sean McGovern 5e753ed502 suncc: Replace more GCC flags by their equivalents in suncc_flags()
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-14 20:53:06 +01:00
Maximilian Seesslen 055b373080 libtheoraenc: fix granularity of video quality
The floating point version of av_clip has to be used when
converting the quality level.

Signed-off-by: Maximilian Seesslen <mes@seesslen.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 20:47:27 +02:00
Giorgio Vazzana 39403c6c1b oggparsetheora: fix comment header parsing
Pass the correct header size to ff_vorbis_comment()

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 20:47:27 +02:00
Luca Barbato 3f111804eb libvpx: make vp8 and vp9 selectable
Support older libvpx versions.
2013-01-14 19:20:47 +01:00
Ronald S. Bultje bad446e251 h264: don't clobber mmco opcode tables for non-first slice headers.
Clobbering these tables will temporarily clobber the template used
as a basis for other threads to start decoding from. If the other
decoding thread updates from the template right at that moment,
subsequent threads will get invalid (or, usually, none at all) mmco
tables. This leads to invalid reference lists and subsequent decode
failures.

Therefore, instead, decode the mmco tables only for the first slice in
a field or frame. For other slices, decode the bits and ensure they
are identical to the mmco tables in the first slice, but don't ever
clobber the context state. This prevents other threads from using a
clobbered/invalid template as starting point for decoding, and thus
fixes decoding in these cases.

This fixes occasional (~1%) failures of h264-conformance-mr1_bt_a with
frame-multithreading enabled.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-14 19:20:47 +01:00
Luca Barbato dab1f543fc libvpx: support vp9
This feature is experimental use at your risk
2013-01-14 19:20:47 +01:00
Luca Barbato 23a610b9d6 nut: support vp9 tag 2013-01-14 19:20:47 +01:00
Tom Finegan 66aabd76a9 mkv: support vp9 tag 2013-01-14 19:20:47 +01:00
Martin Storsjö d596f2b322 rtpdec: Make variables that should wrap unsigned
This makes the behaviour defined when they wrap around. The value
assigned to expected_prior was a uint32_t already.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 20:09:42 +02:00
Diego Biurrun ba0c72a9ae build: Remove stray Makefile entry for non-existent VCR1 encoder 2013-01-14 17:02:04 +01:00
Martin Storsjö 30b50f79ae rtpdec: Handle more received packets than expected when sending RR
Without this, we'd signal a huge loss rate (due to unsigned
wraparound) if we had received one packet more than expected (that
is, one seq number sent twice). The code has a check for lost_interval
<= 0, but that doesn't do what was intended as long as the variable is
unsigned.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 17:52:02 +02:00
Martin Storsjö d0fe217e39 rtpdec: Simplify insertion into the linked list queue
By using a pointer-to-pointer, we avoid having to keep track
of the previous packet separately.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 17:51:48 +02:00
Martin Storsjö 62761934b0 rtpdec: Remove a woefully misplaced comment
The code below the comment does not at all relate to statistics,
and even if moved to the right place, the comment adds little
value.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 17:51:42 +02:00
Michael Niedermayer 922332e60d nuv: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 16:37:12 +01:00
Michael Niedermayer 7980cca05c init_get_bits: fix off by 1 error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 16:35:41 +01:00
Michael Niedermayer 153fad14e5 init_get_bits8: zero pointers & struct on error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 16:35:41 +01:00
Michael Niedermayer ac73d3a12a init_get_bits8: check byte_size against being positive
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 16:35:41 +01:00
Carl Eugen Hoyos c29c7c1470 The c99-to-c89 binaries are now hosted on videolan.org. 2013-01-14 16:28:44 +01:00
Michael Niedermayer 57d59e82cb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmpproto: Fix assignments in if()
  lavf: Fix assignments in if()
  svq1enc: Fix assignments in if()
  lavc: Fix assignments in if() when calling ff_af_queue_add
  h264: Fix assignments in if()
  truemotion2: cosmetics, reformat

Conflicts:
	libavcodec/svq1enc.c
	libavcodec/truemotion2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 15:53:25 +01:00
Michael Niedermayer 92b2387159 Merge commit 'df9036830b15997a3e9c3f2c632ed98d64f9deef'
* commit 'df9036830b15997a3e9c3f2c632ed98d64f9deef':
  truemotion2: return meaningful error codes.
  tscc: remove some pointless comments and empty lines.
  tscc: return meaningful error codes.
  loco: cosmetics, reformat

Conflicts:
	libavcodec/truemotion2.c
	libavcodec/tscc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 15:45:05 +01:00
Michael Niedermayer f9d5bdd0f6 Merge commit '1a31dff9370b4732c91df5cb1ca4b39f2cb3050e'
* commit '1a31dff9370b4732c91df5cb1ca4b39f2cb3050e':
  loco: return meaningful error codes.
  flicvideo: return meaningful error codes.
  vcr1: remove disabled encoder stub

Conflicts:
	libavcodec/flicvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 15:36:35 +01:00
Michael Niedermayer 4adc8a29a0 Merge commit '74a9a624c5c4d50760d8d57458eba57366f6cb26'
* commit '74a9a624c5c4d50760d8d57458eba57366f6cb26':
  vcr1: return a meaningful error code.
  rpza: return a meaningful error code.
  qdrw: cosmetics, reformat

Conflicts:
	libavcodec/qdrw.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 15:17:16 +01:00
Michael Niedermayer 8943925d1f Merge commit '688b132b881d423877e38dc82f17e23a604be676'
* commit '688b132b881d423877e38dc82f17e23a604be676':
  qdrw: return meaningful error codes.
  qtrle: return a meaningful error code.
  gifdec: return meaningful error codes.
  interplayvideo: remove a static variable.
  interplayvideo: return meaningful error codes.
  lcldec: return meaningful error codes.
  targa: return meaningful error codes.
  qpeg: return a meaningful error code.
  nuv: return meaningful error codes.

Conflicts:
	libavcodec/gifdec.c
	libavcodec/interplayvideo.c
	libavcodec/nuv.c
	libavcodec/qpeg.c
	libavcodec/targa.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 15:04:58 +01:00
Michael Niedermayer 329675cfd7 Merge commit 'a1c525f7eb0783d31ba7a653865b6cbd3dc880de'
* commit 'a1c525f7eb0783d31ba7a653865b6cbd3dc880de':
  pcx: return meaningful error codes.
  tmv: return meaningful error codes.
  msrle: return meaningful error codes.
  cscd: return meaningful error codes.
  yadif: x86: fix build for compilers without aligned stack
  lavc: introduce the convenience function init_get_bits8
  lavc: check for overflow in init_get_bits

Conflicts:
	libavcodec/cscd.c
	libavcodec/pcx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 14:43:32 +01:00
Michael Niedermayer a646ac8ef5 Merge commit '90cfc084e3e6d37ab88fc96a95f0401d8e8b4cd1'
* commit '90cfc084e3e6d37ab88fc96a95f0401d8e8b4cd1':
  avpacket: free side data in av_free_packet().
  v4l2: do not assert on a value received from outside of Libav
  v4l2: set the average framerate instead of codec timebase.

Conflicts:
	libavcodec/avpacket.c
	libavdevice/v4l2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 14:16:21 +01:00
Michael Niedermayer 53c2f401f7 Merge commit '246da0b13551b1f80f067e4f258e5bd691f5ab33'
* commit '246da0b13551b1f80f067e4f258e5bd691f5ab33':
  v4l2: avoid pointless indirection.
  vdpau: Add VC-1 decoding via hwaccel infrastructure
  vdpau: Add H.264 decoding via hwaccel infrastructure

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/version.h
	libavdevice/v4l2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 14:00:21 +01:00
Michael Niedermayer 41bdef1d39 Merge commit '200e8ac92007bc2fe30da05d3bd00ab620842a6b'
* commit '200e8ac92007bc2fe30da05d3bd00ab620842a6b':
  vdpau: Add MPEG-4 decoding via hwaccel infrastructure
  vdpau: Add MPEG-1/2 decoding via hwaccel infrastructure

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 13:48:30 +01:00
Michael Niedermayer 8ee7b3881b Merge commit '44e065d56c87d6a9d0effccec5f31517f72924ec'
* commit '44e065d56c87d6a9d0effccec5f31517f72924ec':
  vdpau: Add context and common helpers for hwaccel support

Conflicts:
	Changelog
	doc/APIchanges
	libavcodec/vdpau.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 13:29:00 +01:00
Michael Niedermayer 6dc8505417 rtmpproto: Fix assignments in if()
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 13:13:00 +02:00
Michael Niedermayer d641ee94b5 lavf: Fix assignments in if()
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 13:12:55 +02:00
Michael Niedermayer 30aeada3d8 svq1enc: Fix assignments in if()
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 13:12:49 +02:00
Michael Niedermayer 1d7ffd06e4 lavc: Fix assignments in if() when calling ff_af_queue_add
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 13:12:44 +02:00
Michael Niedermayer 59d5680310 h264: Fix assignments in if()
Fixes null pointer dereference later, since if this function failed,
a positive return value was returned to the caller.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 13:12:38 +02:00
Anton Khirnov 60a42ef44c truemotion2: cosmetics, reformat 2013-01-14 11:39:57 +01:00
Anton Khirnov df9036830b truemotion2: return meaningful error codes. 2013-01-14 11:39:49 +01:00
Anton Khirnov a4a26f5188 tscc: remove some pointless comments and empty lines. 2013-01-14 11:39:42 +01:00
Anton Khirnov ac1e93f555 tscc: return meaningful error codes. 2013-01-14 11:39:33 +01:00
Anton Khirnov b627c3010b loco: cosmetics, reformat 2013-01-14 11:39:23 +01:00
Anton Khirnov 1a31dff937 loco: return meaningful error codes. 2013-01-14 11:39:15 +01:00
Anton Khirnov a9d970a019 flicvideo: return meaningful error codes. 2013-01-14 11:38:58 +01:00
Anton Khirnov 6b3a1229bb vcr1: remove disabled encoder stub 2013-01-14 11:38:45 +01:00
Anton Khirnov 74a9a624c5 vcr1: return a meaningful error code. 2013-01-14 11:38:38 +01:00
Anton Khirnov e4ca055b3c rpza: return a meaningful error code. 2013-01-14 11:38:31 +01:00
Anton Khirnov 80cf2ebc59 qdrw: cosmetics, reformat 2013-01-14 11:37:55 +01:00
Anton Khirnov 688b132b88 qdrw: return meaningful error codes. 2013-01-14 11:37:43 +01:00
Anton Khirnov 8f17829455 qtrle: return a meaningful error code. 2013-01-14 11:37:31 +01:00
Anton Khirnov 048ffb9bb2 gifdec: return meaningful error codes. 2013-01-14 11:37:17 +01:00
Anton Khirnov 3d973e461b interplayvideo: remove a static variable. 2013-01-14 11:36:45 +01:00
Anton Khirnov 089b3d6815 interplayvideo: return meaningful error codes. 2013-01-14 11:36:33 +01:00
Anton Khirnov 14cf33e957 lcldec: return meaningful error codes. 2013-01-14 11:36:22 +01:00
Anton Khirnov 01cbc6f6ad targa: return meaningful error codes. 2013-01-14 11:36:11 +01:00
Anton Khirnov 62d9655217 qpeg: return a meaningful error code. 2013-01-14 11:35:54 +01:00
Anton Khirnov 3344f5cb74 nuv: return meaningful error codes. 2013-01-14 11:35:17 +01:00
Anton Khirnov a1c525f7eb pcx: return meaningful error codes. 2013-01-14 11:35:04 +01:00
Anton Khirnov 6bf70127d1 tmv: return meaningful error codes. 2013-01-14 11:34:53 +01:00
Anton Khirnov 9e6764900a msrle: return meaningful error codes. 2013-01-14 11:34:18 +01:00
Anton Khirnov 8fd4d1f9b9 cscd: return meaningful error codes. 2013-01-14 11:34:08 +01:00
Daniel Kang 67360ccd51 yadif: x86: fix build for compilers without aligned stack
Manually load registers to avoid using 8 registers on x86_32 with
compilers that do not align the stack (e.g. MSVC).

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-14 09:51:52 +01:00
Michael Niedermayer a601eb9543 rtmpproto: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:42 +01:00
Michael Niedermayer 1ac5a8d7e3 lavf/mux: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:41 +01:00
Michael Niedermayer 6f88d2d786 vsrc_testsrc: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:40 +01:00
Michael Niedermayer 659546b42d tiff: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:39 +01:00
Michael Niedermayer 37be1d802f svq1enc: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:38 +01:00
Michael Niedermayer e2704381e5 ra144enc: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:37 +01:00
Michael Niedermayer 795d2dc23b nellymoserenc: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:37 +01:00
Michael Niedermayer bdd71abe5f libvorbisenc: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:36 +01:00
Michael Niedermayer 0ccb31dcad libvo-aacenc: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:35 +01:00
Michael Niedermayer 3b8d66d531 libspeexenc: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:33 +01:00
Michael Niedermayer d6180aa297 libopencore-amr: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:31 +01:00
Michael Niedermayer 871b6ec01d libmp3lame: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:30 +01:00
Michael Niedermayer 9302ad1ac8 libfdk-aacenc: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:28 +01:00
Michael Niedermayer 68a25c64cd libfaac: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:27 +01:00
Michael Niedermayer 98fed59427 aacenc: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:26 +01:00
Michael Niedermayer 48a7981e6f doc/examples: fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:20 +01:00
Luca Barbato e28ac6e5e2 lavc: introduce the convenience function init_get_bits8
Accept the buffer size in bytes and check for overflow before passing
the value in bits to init_get_bits.
2013-01-14 04:49:14 +01:00
Luca Barbato d9cf5f5169 lavc: check for overflow in init_get_bits
Fix an undefined behaviour and make the function return a proper
error in case of overflow.

CC: libav-stable@libav.org
2013-01-14 04:49:14 +01:00
Michael Niedermayer aaa7d2fafc h264: don t leave stale pointers in delayed_pic in flush_changes.
Fixes null pointer dereference & assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 03:03:53 +01:00
Michael Niedermayer 55d0528669 swr/dither: fix division by 0
Found-by: Daemon404
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 02:57:00 +01:00
Michael Niedermayer c13e4e288c h264: fix () placement
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 00:09:01 +01:00
Michael Niedermayer 2d8d63a9a0 ffplay: fix sws_flags
Fixes Ticket45

Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-13 22:48:28 +01:00
Michael Niedermayer d676598f87 swr: fix handling of timestamps that cause multiple drops or silence injections
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-13 18:39:06 +01:00
Anton Khirnov 90cfc084e3 avpacket: free side data in av_free_packet().
Freeing it in av_destruct_packet(), as is done currently, would mean
that we allow it to be allocated with other means. But that would make
av_packet_new_side_data() unsafe.

Side data is not expected to be large, so copying it if required
shouldn't be a problem.
2013-01-13 16:31:40 +01:00
Anton Khirnov 49dc82eef7 v4l2: do not assert on a value received from outside of Libav 2013-01-13 16:31:17 +01:00
Anton Khirnov 838b849e70 v4l2: set the average framerate instead of codec timebase.
Codec timebase is supposed to be set by decoders only.
2013-01-13 16:31:09 +01:00
Anton Khirnov 246da0b135 v4l2: avoid pointless indirection.
v4l2_read_header() does no cleanup, so it can return directly, without
any need for goto.
2013-01-13 16:30:38 +01:00
Michael Niedermayer a34aee4646 swr: limit buffer size for silence injection
This reduces memory usage for unreasonable large silence injections

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-13 16:04:41 +01:00
Michael Niedermayer b481d09bd9 swr: limit buffer size for discarding.
This prevents insane memory usage in case of insane input values.
Untested due to lack of a testcase that causes such insane allocation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-13 16:04:41 +01:00
Stefano Sabatini e8bab4c6fc ffplay: extend documentation for the -vf option
In particular, make it consistent with the ffmpeg docs.
2013-01-13 16:03:13 +01:00
Michael Niedermayer db4e0ecaf0 swr: move silence buffer to context to avoid per use malloc/free
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-13 15:28:00 +01:00
Michael Niedermayer dc6588421e swr: move buffer used to discard sample to context
This avoids the need to allocate & free to repeatly

Fixes Ticket2122

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-13 15:28:00 +01:00
Stefano Sabatini 98247e3368 lavf: clarify/extend documentation for AVFormatContext::analyzeduration
"analyzeduration" is not used to detect the input duration, but to
specify the max probe data duration. Fix option description and related
doc entry accordingly.
2013-01-13 15:09:09 +01:00
Stefano Sabatini 78e27c44c3 lavf/utils: clarify/extend messages in avformat_find_stream_info()
In particular, specify the unit of the shown values in case the max probe
size/duration is reached.
2013-01-13 15:09:09 +01:00
Stefano Sabatini 89ef586867 doc/ffmpeg: extend documentation for the -filter options and -af/vf aliases 2013-01-13 15:09:09 +01:00
Stefano Sabatini c499d45c6b doc/texipod: add rule to correctly interpret @ref{ANCHOR,XREF,SECTION_NAME,...}
This allows to name an internal reference in the POD/MAN output.
2013-01-13 15:09:08 +01:00
Rémi Denis-Courmont 7752532789 vdpau: Add VC-1 decoding via hwaccel infrastructure
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-13 14:54:18 +01:00
Rémi Denis-Courmont 51b56a0716 vdpau: Add H.264 decoding via hwaccel infrastructure
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-13 14:54:08 +01:00
Rémi Denis-Courmont 200e8ac920 vdpau: Add MPEG-4 decoding via hwaccel infrastructure
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-13 14:54:02 +01:00
Rémi Denis-Courmont aaf9d0e8f3 vdpau: Add MPEG-1/2 decoding via hwaccel infrastructure
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-13 14:53:47 +01:00
Rémi Denis-Courmont 44e065d56c vdpau: Add context and common helpers for hwaccel support
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-13 14:41:27 +01:00
Paul B Mahol 5b9126ba84 lavfi/gradfun: support YUV440P
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-13 13:23:30 +00:00
Michael Niedermayer 3bcf443f91 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtpdec: Send a valid "delay since SR" value in the RTCP RR packets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-13 14:06:01 +01:00
Michael Niedermayer 6cd1dbe6df Merge commit 'e568db40258d549777ac1c16971678e18a18f5f5'
* commit 'e568db40258d549777ac1c16971678e18a18f5f5':
  rtpdec: Calculate and report packet reception jitter

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-13 14:00:12 +01:00
Michael Niedermayer 6d6eb7c12c Merge commit 'abae27ed3acd0a7c54f11760c5be2d2653c4edf8'
* commit 'abae27ed3acd0a7c54f11760c5be2d2653c4edf8':
  rtpdec: Fix the calculation of expected number of packets
  fate: vp3: Fix fate-vp3-coeff-level64 test dependencies

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-13 13:54:52 +01:00
Michael Niedermayer 841a288cb3 Merge commit '4d3b144c5ea824193019019d33740a1ae9e0bb69'
* commit '4d3b144c5ea824193019019d33740a1ae9e0bb69':
  fate: cosmetics: Order some test entries

Conflicts:
	tests/fate/lossless-video.mak
	tests/fate/microsoft.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-13 13:42:10 +01:00
Michael Niedermayer a6e4796fbf pthread: Do not use a half updated context as master for deallocation.
Fixes assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-13 06:22:04 +01:00
Michael Niedermayer 2ea3f37d5f dvdsubenc: use unsigned shifts to avoid shifting into the sign bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 21:45:03 +01:00
Michael Niedermayer 754dd7e889 dvdsubdec: use unsigned shifts to avoid shifting into the sign bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 21:39:00 +01:00
Michael Niedermayer c8737d348b swr: work with 4 noise shaping coeffs at a time
63->38 kcycles

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 19:17:08 +01:00
Michael Niedermayer 93bc0f0180 swr/noise_shaping_data: pad coeffs to multiple of 4 when they are 1 below
This allows using code working with 4 at a time

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 19:09:54 +01:00
Martin Storsjö 22c436c85e rtpdec: Send a valid "delay since SR" value in the RTCP RR packets
Previously, we always signalled a zero time since the last RTCP
SR, which is dubious.

The code also suggested that this would be the difference in
RTP NTP time units (32.32 fixed point), while it actually is
in in 1/65536 second units. (RFC 3550 section 6.4.1)

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-12 19:55:49 +02:00
Martin Storsjö e568db4025 rtpdec: Calculate and report packet reception jitter
This brings back some code that was added originally in 4a6cc061
but never was used, and was removed as unused in 4cc843fa. The
code is updated to actually work and is tested to return sane
values.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-12 19:53:53 +02:00
Martin Storsjö abae27ed3a rtpdec: Fix the calculation of expected number of packets
The base_seq variable is set to first_seq - 1 (in
rtp_init_sequence), so no + 1 is needed here.

This avoids reporting 1 lost packet from the start.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-12 19:48:41 +02:00
Michael Niedermayer 1c14c3412e dec/developer: Add Valgrind / Address Sanitizer to the patch checklist
Reviewed-by: saste
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 18:23:32 +01:00
Michael Niedermayer ef7fdc8cff swr: use a local variable for ns_coeffs
maybe a very tiny bit faster

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 17:43:29 +01:00
Michael Niedermayer 68ff7d265f swr: use local variable for ns_errors
71 -> 63 kcycles

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 17:43:29 +01:00
Michael Niedermayer b5d9e5d06c swr: minor simplification for the noise shaping pos update
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 17:43:29 +01:00
Matthieu Bouron f9eed5d7e6 lavfi/aevalsrc: try to honor specified duration
If nb_samples divide sample_rate and if nb_samples allow it, aevalsrc
should generate the exact amount of samples according to duration.

Example:
aevalsrc=0::n=480:s=48000:d=5.21 should generate 250080 samples.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-01-12 17:26:35 +01:00
Diego Biurrun 4d3b144c5e fate: cosmetics: Order some test entries 2013-01-12 17:19:27 +01:00
Diego Biurrun 0f94c0b1b6 fate: vp3: Fix fate-vp3-coeff-level64 test dependencies
Also rename the test to reflect that the video track is Theora, not VP3.
2013-01-12 17:19:27 +01:00
Paul B Mahol 868ac91c8d frmdec: do not abuse ff_codec_get_id()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-12 14:39:13 +00:00
Michael Niedermayer db1ba2213f lavf: use avpriv_find_pix_fmt instead of ff_
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 14:09:08 +01:00
Michael Niedermayer 43d6ac53f2 lavc: ff_find_pix_fmt ->avpriv
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 14:06:30 +01:00
Michael Niedermayer dae382b5b2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Add version bump and APIchanges entry for Add AV_PIX_FMT_VDPAU.
  pixfmt: add picture format for VDPAU

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 13:42:42 +01:00
Michael Niedermayer 15daa8f9dd Merge commit 'f61272f0efd80da437570aad2c40e00f9d3f4fe6'
* commit 'f61272f0efd80da437570aad2c40e00f9d3f4fe6':
  ratecontrol: K&R cosmetic formatting
  rtpdec: Remove a useless todo comment

Conflicts:
	libavcodec/ratecontrol.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 13:32:13 +01:00
Michael Niedermayer e730c3a2cb Merge commit '54cb096ee4558b3bfc28c2fcd6418ce82dc39fe1'
* commit '54cb096ee4558b3bfc28c2fcd6418ce82dc39fe1':
  rtsp: Remove an outdated comment
  rtsp: Remove references to weirdly named variables in other files

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 13:14:05 +01:00
Michael Niedermayer dda2d29748 Merge commit 'c44784c9bb9d0ddf5d39d0dfa640816a57b8f457'
* commit 'c44784c9bb9d0ddf5d39d0dfa640816a57b8f457':
  rtp: Rename a static variable to normal naming conventions
  rtp: Cosmetic cleanup

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 13:00:50 +01:00
Diego Biurrun f89466ad6f Add version bump and APIchanges entry for Add AV_PIX_FMT_VDPAU.
Also fix a lavu version typo in APIchanges.
2013-01-12 12:28:12 +01:00
Luca Barbato f61272f0ef ratecontrol: K&R cosmetic formatting
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-12 12:00:49 +01:00
Rémi Denis-Courmont 169fb94f0f pixfmt: add picture format for VDPAU
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-12 12:00:49 +01:00
Stefano Sabatini 4a0d1b2159 doc/protocols: improve wording of a sentence in http docs
Suggested-By: Alexander Strasser
2013-01-12 11:02:12 +01:00
Stefano Sabatini 0edb440282 doc/ffserver: remove painfully outdated "What do I need?" section 2013-01-12 10:53:22 +01:00
Stefano Sabatini df018207f9 doc/ffserver: remove paragraph in the introductory blurb
The paragraph is about what ffserver is not and where to look for other
information, but is pretty redundant and distracting, especially
considering the new organization of the documentation.
2013-01-12 10:52:32 +01:00
Stefano Sabatini cab85051c0 doc/ffserver: rework introducing paragraphs of the "description" chapter
In particular, add some markup, fix empty line, and merge it with "How
does it work?" section.
2013-01-12 10:49:11 +01:00
Stefano Sabatini 0a7cd74043 doc/protocols: document http protocol options 2013-01-12 10:41:56 +01:00
Stefano Sabatini 255ec768da lavf/http: fix/extend option descriptions
In particular, favor predicative form over nominal description of the set
parameter. This is more globally consistent.
2013-01-12 10:41:56 +01:00
Michael Niedermayer d9226b3717 mpegvideo: dont leave stale pointers in next/last picture
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 04:46:08 +01:00
Michael Niedermayer cc548ea7a6 vc1dec: ensure cbpcy_vlc has been set before decoding a frame.
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 04:09:21 +01:00
Michael Niedermayer 68329388bb fate: try to fix dirac
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 23:44:04 +01:00
Michael Niedermayer b53adef07b h264: reset first_field when current_picture_ptr is reset
Fixes NULL pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 23:14:51 +01:00
Martin Storsjö f6804c3e1b rtpdec: Remove a useless todo comment
The question can be answered: No, we do not know the initial sequence
number from the SDP. In certain cases, it can be known from the
RTP-Info response header in RTSP though. (In that case, we use it as
timestamp origin, but not for rtp receiver statistics.)

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-12 00:02:17 +02:00
Martin Storsjö 54cb096ee4 rtsp: Remove an outdated comment
It is unclear what the bug exactly was and if it ever was fixed,
and we don't even support decoding via faad any longer. The
comment has been present since d0deedcb in 2006.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-12 00:02:11 +02:00
Martin Storsjö 3900d53fb1 rtsp: Remove references to weirdly named variables in other files
One of them is renamed now, but mentioning it by name serves
no purpose here.  The other table mentioned ceased to exist
under that name in 4934884a1 in 2006.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-12 00:02:04 +02:00
Martin Storsjö c44784c9bb rtp: Rename a static variable to normal naming conventions
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-12 00:01:51 +02:00
Martin Storsjö 58b5971881 rtp: Cosmetic cleanup
Remove leftover debug comments, fix brace placement and
add whitespace, remove unnecessary and weirdly placed braces.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-12 00:01:28 +02:00
Clément Bœsch f8bab2f87e fate: add dirac decoding test (main profile). 2013-01-11 19:46:48 +01:00
Michael Niedermayer 969e75eb80 mjpegdec: Fix out of array read in unescaping code
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 18:20:25 +01:00
Michael Niedermayer e5e422bcc3 mxfdec: Fix integer overflow with many channels
Fixes division by zero

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Reviewed-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 17:42:04 +01:00
Michael Niedermayer 8d06be6b8c wavpack: check pointer to avoid overreading input buffer
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 16:37:31 +01:00
Michael Niedermayer 85a4dbeb9c ra144enc: fix two "may be used uninitialized in this function" warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 15:43:46 +01:00
Michael Niedermayer 2e230cf1b5 au: switch to ff_pcm_read_packet() again, after the merge
This fixes G722 durations

Suggested-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 15:18:58 +01:00
Michael Niedermayer f137d5763d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: enable pic for shared libs on AArch64
  zmbv: Reset the decoder on keyframe errors

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 13:38:37 +01:00
Michael Niedermayer 6fc0648932 Merge commit '7b8c5b263bc680eff5710bee5994de39d47fc15e'
* commit '7b8c5b263bc680eff5710bee5994de39d47fc15e':
  vc1dec: prevent a crash due missing pred_flag parameter
  matroska: Fix use after free

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 13:01:07 +01:00
Michael Niedermayer 8bfc8d88be Merge commit 'ec86ba57312745fd7ad9771e3121e79c6aacba30'
* commit 'ec86ba57312745fd7ad9771e3121e79c6aacba30':
  vp3: Fix double free in vp3_decode_end()
  fate: Split fate-siff test into demuxer and VB video decoder test

Conflicts:
	tests/fate/demux.mak
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 12:30:32 +01:00
Paul B Mahol 3ac85bebd5 lavf: remove nonexistent symbols
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-11 10:07:52 +00:00
Marcin Juszkiewicz d11cb13b0e configure: enable pic for shared libs on AArch64
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-11 11:01:05 +02:00
Luca Barbato c1d1ef4ecd zmbv: Reset the decoder on keyframe errors
Prevent the crash on fuzzed files as reported in bug 63.
2013-01-11 05:07:42 +01:00
Vladimir Pantelic 7b8c5b263b vc1dec: prevent a crash due missing pred_flag parameter
Handle pred_flag parameter not given to get_mvdata_interlaced()

Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-11 04:57:41 +01:00
Michael Niedermayer 23318a5735 error_concealment: Check that the picture is not in a half setup state.
Fixes state becoming inconsistent
Fixes a null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 04:46:49 +01:00
Michael Niedermayer 8b47058c61 ass_split: fix out of array access in ass_split()
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 02:51:54 +01:00
Michael Niedermayer 97b1ba696b ass_split: fix out of array access
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 02:31:31 +01:00
Michael Niedermayer 2c16bf2de0 vorbisdec: Check bark_map_size.
This fixes potential divisions by zero and out of array accesses.

Reported-by: Dale Curtis <dalecurtis@chromium.org>
Found-by: inferno@chromium.org
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 00:58:40 +01:00
Dale Curtis ae3d416369 matroska: Fix use after free
Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-11 00:12:08 +01:00
Nicolas George 7e5c5fa5fc lavfi/vf_overlay: check that filter_frame does not return EAGAIN.
EAGAIN is used internally in the code; it currently does not make
sense as a return code from the next filter.

Should fix CID966655.
2013-01-10 21:55:02 +01:00
Michael Niedermayer a74548521b swr: check that allocation of in/out_convert succeeded
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 20:27:07 +01:00
Ronald Bultje ec86ba5731 vp3: Fix double free in vp3_decode_end()
Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-10 20:05:42 +01:00
Michael Niedermayer e5a736261b swr: Use a temporary buffer for dither/Noise shaping when the input is read only
This avoids copying the input

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 18:51:30 +01:00
Michael Niedermayer 2eec98125e swr: mark noise data for noise shaping as const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 18:07:32 +01:00
Michael Niedermayer 558aa6cab7 swr: add seperate in/out pointers to the noise shaping code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 18:06:19 +01:00
Michael Niedermayer fca51256d4 swr: rename dither_pos to noise_pos
THis more closely matches what the field represents

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 18:01:26 +01:00
Diego Biurrun f8936c6f90 fate: Split fate-siff test into demuxer and VB video decoder test 2013-01-10 17:54:47 +01:00
Michael Niedermayer 36055aa876 idcin: fix memleak
Found-by: valgrind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 17:26:03 +01:00
Michael Niedermayer 91da6b97c7 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtpdec_vp8: Don't trim too much data from broken frames
  rtpdec_vp8: Simplify code by using an existing helper function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 13:07:25 +01:00
Carl Eugen Hoyos b563afe6fa Do not allow arbitrary packet size in aac decoder.
Fixes a crash with a file containing a 400MB packet reported in bug 420.
2013-01-10 13:03:15 +01:00
Michael Niedermayer ac6e074fb7 Merge commit 'ed79093222ceb42f0c3a39095a69af0b32be5450'
* commit 'ed79093222ceb42f0c3a39095a69af0b32be5450':
  rtpdec: Add a terminating null byte at the end of the SDES/CNAME
  yuv4mpeg: do not use deprecated functions
  oggdec: fix faulty cleanup prototype
  idcin: return 0 from idcin_read_packet() on success.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 12:57:08 +01:00
Michael Niedermayer 56ca871fb3 Merge commit '5d0450461ff729be5f531d333d29754155e406c5'
* commit '5d0450461ff729be5f531d333d29754155e406c5':
  idcin: better error handling
  idcin: check for integer overflow when calling av_get_packet()

Conflicts:
	libavformat/idcin.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 12:52:02 +01:00
Michael Niedermayer a0dbe2a58c Merge commit '7040e479a1530b2eda4b89a182d5eb50a77bd907'
* commit '7040e479a1530b2eda4b89a182d5eb50a77bd907':
  idcin: allow seeking back to the first packet
  idcin: set AV_PKT_FLAG_KEY for video packets with a palette

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 12:45:46 +01:00
Michael Niedermayer 6e44662b05 Merge commit 'ccc0ffb1ba3fc1adb05a9f56dfc26131e61db3fb'
* commit 'ccc0ffb1ba3fc1adb05a9f56dfc26131e61db3fb':
  idcin: set start_time and packet duration instead of manually tracking pts.
  idcin: set channel_layout

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 12:40:41 +01:00
Michael Niedermayer 8d691f8777 Merge commit '12c2530b1d87fa94f81ea97df575b77c825e6f4f'
* commit '12c2530b1d87fa94f81ea97df575b77c825e6f4f':
  idcin: fix check for presence of an audio stream
  idcin: validate header parameters

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 12:33:50 +01:00
Michael Niedermayer 65b8527993 Merge commit 'f7bf72a4a1146a7583577c9bdc066767e1ba3c6a'
* commit 'f7bf72a4a1146a7583577c9bdc066767e1ba3c6a':
  idcinvideo: correctly set AVFrame defaults
  yadif: Port inline assembly to yasm
  au: remove unnecessary casts
  au: return AVERROR codes instead of -1

Conflicts:
	libavcodec/idcinvideo.c
	libavfilter/x86/yadif_template.c
	libavformat/au.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 12:27:16 +01:00
Michael Niedermayer 8c7de73e20 Merge commit 'fd9147f11456a7e39a998d7270684922a2a46e6d'
* commit 'fd9147f11456a7e39a998d7270684922a2a46e6d':
  au: cosmetics: pretty-print and remove pointless comments

Conflicts:
	libavformat/au.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 12:19:22 +01:00
Michael Niedermayer dc5767ff0a Merge commit 'c88d245c9866e48cb8a238b7564964c1fcf3315f'
* commit 'c88d245c9866e48cb8a238b7564964c1fcf3315f':
  au: use ff_raw_write_packet()
  au: set stream start time and packet durations

Conflicts:
	libavformat/au.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 12:05:54 +01:00
Michael Niedermayer 452f632903 Merge commit 'af68a2baae6761044cbed95575e8bcfebf55c6f1'
* commit 'af68a2baae6761044cbed95575e8bcfebf55c6f1':
  au: use %u when printing id and channels since they are unsigned
  au: validate sample rate

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 11:21:03 +01:00
Michael Niedermayer be894d6cae Merge commit 'c837b38dd33a11c3810e988a60193a858eb4f58c'
* commit 'c837b38dd33a11c3810e988a60193a858eb4f58c':
  au: move skipping of unused data to before parameter validation
  au: do not arbitrarily limit channel count

Conflicts:
	libavformat/au.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 11:12:08 +01:00
André Pankratz 0287eea914 lavfi/yadif: fix shorthand/option mismatch
Fix trac ticket #2128.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-01-10 11:01:14 +01:00
Michael Niedermayer 4cd89022e7 Merge commit '2613de88051818abafccb98646394341887acb3a'
We dont use au_read_packet() anymore and block_align is already set.
Thus nothing had to be merged from these.

* commit '2613de88051818abafccb98646394341887acb3a':
  au: do not set pkt->size directly
  au: set block_align and use it in au_read_packet()

Conflicts:
	libavformat/au.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 10:56:30 +01:00
Michael Niedermayer 70a65ecabf Merge commit '9a7b56883d1333cdfcdf0fa7584a333841b86114'
* commit '9a7b56883d1333cdfcdf0fa7584a333841b86114':
  au: set bit rate
  au: validate bits-per-sample separately from codec tag
  rtpdec_vp8: Mark broken packets with AV_PKT_FLAG_CORRUPT

Conflicts:
	libavformat/au.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 10:18:35 +01:00
Carl Eugen Hoyos f023003ce6 Fix compilation with --disable-everything. 2013-01-10 10:04:46 +01:00
Martin Storsjö 76c40fbef0 rtpdec_vp8: Don't trim too much data from broken frames
Previously, for broken frames, we only returned the first partition
of the frame (we would append all the received packets to the packet
buffer, then set pkt->size to the size of the first partition, since
the rest of the frame could have lost data inbetween) - now instead
return the full buffered data we have, but don't append anything more
to the buffer after the lost packet discontinuity. Decoding the
truncated packet should hopefully get better quality than trimming out
everything after the first partition.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-10 09:43:01 +02:00
Martin Storsjö 3b366c3aa0 rtpdec_vp8: Simplify code by using an existing helper function
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-10 09:41:44 +02:00
Martin Storsjö ed79093222 rtpdec: Add a terminating null byte at the end of the SDES/CNAME
This is required by RFC 3550 (section 6.5):

   The list of items in each chunk MUST be terminated by one or more
   null octets, the first of which is interpreted as an item type of
   zero to denote the end of the list.

This was implicitly added as padding before, unless the host name
length matched up so no padding was added.

This makes wireshark parse the packets properly if other RTCP items
are appended to the same packet.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-10 09:40:49 +02:00
Michael Niedermayer 6471f63da2 wmalosslessdec: make arrays indexed by ch large enough for maximum number of channels
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 04:57:50 +01:00
Michael Niedermayer 7cb46b5191 targa: use checked bytestream read
Fix out of array read

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 04:57:50 +01:00
Michael Niedermayer 2b12d1ffd8 qdm2: fix out of stack array read.
The read value is not used when its outside the array.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 04:57:50 +01:00
Michael Niedermayer 2672b2c1d2 swr: scale data down in noise shaping to avoid cliping
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 01:44:15 +01:00
Michael Niedermayer 0b60fc94aa swr: reorder the operations in the noise shaping code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 00:27:04 +01:00
Michael Niedermayer ead3a2a37e swr: add noise_scale field to seperate it from the noise shaping scales
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 00:25:09 +01:00
Michael Niedermayer 6908ded20e swr: fix the noise sample type for noise shaping
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 23:28:09 +01:00
Michael Niedermayer 3ef06f3415 swr: split swri_dither_init() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 23:28:08 +01:00
Michael Niedermayer dc60ecdbeb doc: add noise shaping dithers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 23:28:08 +01:00
Carl Eugen Hoyos c20ce9ad69 Add -movflags rtphint documentation. 2013-01-09 23:13:40 +01:00
Luca Barbato a800fd5fc7 yuv4mpeg: do not use deprecated functions
Use the libavutil replacement.
2013-01-09 21:07:49 +01:00
Luca Barbato fba8e5b608 oggdec: fix faulty cleanup prototype 2013-01-09 21:07:48 +01:00
Justin Ruggles 5d0450461f idcin: better error handling
Add some additional checks for EOF and print error messages on an incomplete
header or packet.

FATE reference updated for id-cin-video due to the demuxer no longer
returning a partial video packet at EOF.
2013-01-09 14:49:07 -05:00
Justin Ruggles 06deaf8ad3 idcin: return 0 from idcin_read_packet() on success.
This matches the AVInputFormat.read_packet() API.
2013-01-09 14:49:07 -05:00
Justin Ruggles 7040e479a1 idcin: allow seeking back to the first packet
Also, do not allow seek-by-byte, as there is no way to find the next packet
boundary.
2013-01-09 14:49:06 -05:00
Justin Ruggles ccc0ffb1ba idcin: set start_time and packet duration instead of manually tracking pts.
Also, use 1 / sample_rate for audio stream time_base.
2013-01-09 14:49:06 -05:00
Justin Ruggles 12c2530b1d idcin: fix check for presence of an audio stream 2013-01-09 14:49:06 -05:00
Justin Ruggles f7bf72a4a1 idcinvideo: correctly set AVFrame defaults 2013-01-09 14:49:06 -05:00
Justin Ruggles 33f58c3616 idcin: check for integer overflow when calling av_get_packet()
chunk_size is unsigned 32-bit, but av_get_packet() takes a signed int as the
packet size.
2013-01-09 14:49:06 -05:00
Justin Ruggles 49543373f3 idcin: set AV_PKT_FLAG_KEY for video packets with a palette 2013-01-09 14:49:06 -05:00
Justin Ruggles 4b840930da idcin: set channel_layout 2013-01-09 14:49:06 -05:00
Justin Ruggles b0c96e0613 idcin: validate header parameters
Avoids using unsupported parameters and signed integer overflows.
2013-01-09 14:49:06 -05:00
Michael Niedermayer 8514d5bcf7 swr: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 18:41:40 +01:00
Michael Niedermayer 3ab1970612 swr: move dither related fields to their own context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 18:41:12 +01:00
Daniel Kang 899157b308 yadif: Port inline assembly to yasm
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-09 18:41:02 +01:00
Michael Niedermayer ba1314c2ef swr: update copyright years of a few files iam working on
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 18:30:01 +01:00
Michael Niedermayer 82742294b7 swr: Implement Noise shaping dither
The following variants are implemented:
lipshitz noise shaping dither
shibata noise shaping dither
low shibata noise shaping dither
high shibata noise shaping dither
f-weighted noise shaping dither
modified-e-weighted noise shaping dither
improved-e-weighted noise shaping dither

Data tables taken from SOX

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 18:25:06 +01:00
Justin Ruggles fd9147f114 au: cosmetics: pretty-print and remove pointless comments 2013-01-09 11:52:57 -05:00
Justin Ruggles c88d245c98 au: use ff_raw_write_packet() 2013-01-09 11:52:57 -05:00
Justin Ruggles af68a2baae au: use %u when printing id and channels since they are unsigned 2013-01-09 11:52:57 -05:00
Justin Ruggles c837b38dd3 au: move skipping of unused data to before parameter validation
Also do not unnecessarily skip 0 bytes.
2013-01-09 11:52:57 -05:00
Justin Ruggles 2613de8805 au: do not set pkt->size directly
It is already set by av_get_packet() even for partial reads.
2013-01-09 11:52:57 -05:00
Justin Ruggles f7a3c540c5 au: remove unnecessary casts 2013-01-09 11:52:57 -05:00
Justin Ruggles bdd00e2d1b au: set stream start time and packet durations 2013-01-09 11:52:57 -05:00
Justin Ruggles 47d029a4c1 au: validate sample rate 2013-01-09 11:52:57 -05:00
Justin Ruggles fb48f825e3 au: do not arbitrarily limit channel count
Nothing in the AU specification sets a limit on channel count.
We only need to avoid an overflow in the packet size calculation.
2013-01-09 11:52:57 -05:00
Justin Ruggles 2f8207b1c6 au: return AVERROR codes instead of -1 2013-01-09 11:52:57 -05:00
Justin Ruggles 9a7b56883d au: set bit rate 2013-01-09 11:52:56 -05:00
Justin Ruggles bd4cdef5a8 au: set block_align and use it in au_read_packet() 2013-01-09 11:52:56 -05:00
Justin Ruggles 3f98848d6e au: validate bits-per-sample separately from codec tag 2013-01-09 11:52:56 -05:00
Peter Ross 5b69c07d12 frmdec: tag 5 is AV_PIX_FMT_BGRA with reversed alpha (0=solid/opaque .. 255=transparent) 2013-01-10 00:14:56 +11:00
Michael Niedermayer 4765f63538 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  xan: Convert to bytestream2
  oggenc: add a page_duration option and deprecate the pagesize option
  x86: lavr: add SSE2/AVX dither_int_to_float()

Conflicts:
	libavcodec/xan.c
	libavformat/oggenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 12:30:14 +01:00
Michael Niedermayer 75afbe2ab4 Merge commit '1fb8f6a44f06e48386450fe0363aefc02583d24a'
* commit '1fb8f6a44f06e48386450fe0363aefc02583d24a':
  x86: lavr: add SSE2 quantize() for dithering
  doc/APIchanges: fill in missing dates and hashes.
  rtpdec_vp8: Request a keyframe if RTP packets are lost

Conflicts:
	doc/APIchanges

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 12:14:56 +01:00
Michael Niedermayer 34c1c08c66 Merge commit '86d9181cf41edc3382bf2481f95a2fb321058689'
* commit '86d9181cf41edc3382bf2481f95a2fb321058689':
  rtpdec: Support sending RTCP feedback packets

Conflicts:
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 11:48:14 +01:00
Michael Niedermayer 8c3ae9ee66 Merge commit '42805eda554a7fc44341282771531e7837ac72b7'
* commit '42805eda554a7fc44341282771531e7837ac72b7':
  rtpdec: Store the dynamic payload handler in the rtpdec context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 11:42:01 +01:00
Michael Niedermayer 7b822b1de2 Merge commit '9c80ed836a511293f4cc3a858060969d32f2b1ce'
* commit '9c80ed836a511293f4cc3a858060969d32f2b1ce':
  rtpdec_vp8: Avoid a warning about a possibly unused variable
  rtpdec_vp8: Make sure the previous packet is returned

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 11:35:57 +01:00
Michael Niedermayer aed58f6aae Merge commit '92e354b655613b88c3c202a7e19e7037daed37eb'
* commit '92e354b655613b88c3c202a7e19e7037daed37eb':
  rtpdec_vp8: Set the timestamp when returning a deferred packet
  hlsenc: Make the start_number option set the right variable

Conflicts:
	libavformat/hlsenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 11:26:31 +01:00
Martin Storsjö 71194ef6a8 rtpdec_vp8: Mark broken packets with AV_PKT_FLAG_CORRUPT
This allows the caller to either include them (and get more packets
decoded, but possibly some nonperfect frames), or discard them (by
setting fflags=discardcorrupt).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-09 12:14:00 +02:00
Alexandra Khirnova d744801f1a xan: Convert to bytestream2
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-09 09:59:55 +01:00
Michael Niedermayer f3c9d8d41b swr: use SIMD for dithering
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 02:05:35 +01:00
Michael Niedermayer 57bdd67646 dirac: fix inverted check
Regression since: ea6da80
Fixes Ticket2123

I cannot reproduce any regressions by flipping the wrong condition
to how it should have been.

Thanks-to: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 01:08:39 +01:00
Clément Bœsch 119d70db50 lavf/mux: do not pass a copy of the packet to write_packet().
Sometimes the muxer modifies the packet, like for instance lavf/mp3enc
changing pkt->destruct in order to keep a copy. These changes must be
kept, even though the muxer behaviour is questionable. Regression since
0072116.

Fixes #2124.
2013-01-08 23:21:05 +01:00
Justin Ruggles 59220d559b oggenc: add a page_duration option and deprecate the pagesize option
This uses page duration instead of byte size to determine when to buffer
the page. Also, it tries to avoid continued pages by buffering the current
page if there are already packets in the page and adding the next packet
would require it to be continued on a new page. This can improve seeking
performance.

The default page duration is 1 second, which is much saner than filling
all page segments by default.
2013-01-08 15:42:36 -05:00
Justin Ruggles 1fb8f6a44f x86: lavr: add SSE2 quantize() for dithering 2013-01-08 14:52:43 -05:00
Justin Ruggles a6a3164b13 x86: lavr: add SSE2/AVX dither_int_to_float() 2013-01-08 14:52:43 -05:00
Justin Ruggles 142c39097c doc/APIchanges: fill in missing dates and hashes. 2013-01-08 14:51:30 -05:00
Michael Niedermayer a260c79733 ffmpeg: fix dither to 24bit PCM output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-08 20:28:15 +01:00
Michael Niedermayer 9aec63af9b swr: fix assertion failure if dither is used without the preout buffer differing from in
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-08 20:07:16 +01:00
Michael Niedermayer 252316c885 img2dec: fix -loop
This fixes a infinite loop with -loop and -vframes

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-08 20:07:16 +01:00
Carl Eugen Hoyos 0b68ebc4b6 Fix compilation with --disable-everything --enable-decoder=dirac. 2013-01-08 19:59:13 +01:00
Paul B Mahol 9e2387a6a9 fate: upate after 55d32eed8f
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-08 18:47:09 +00:00
Martin Storsjö 6f72441120 rtpdec_vp8: Request a keyframe if RTP packets are lost
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-08 19:23:56 +02:00
Paul B Mahol 626756aed2 img2dec: do not change packet pts for image2pipe
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-08 16:51:18 +00:00
Martin Storsjö 86d9181cf4 rtpdec: Support sending RTCP feedback packets
This sends NACK for missed packets and PLI (picture loss indication)
if a depacketizer indicates that it needs a new keyframe, according
to RFC 4585.

This is only enabled if the SDP indicated that feedback is supported
(via the AVPF or SAVPF profile names).

The feedback packets are throttled to a certain maximum interval
(currently 250 ms) to make sure the feedback packets don't eat up
too much bandwidth (which might be counterproductive). The RFC
specifies a more elaborate feedback packet scheduling.

The feedback packets are currently sent independently from normal
RTCP RR packets, which is not totally spec compliant, but works
fine in the environments I've tested it in. (RFC 5506 allows this,
but requires a SDP attribute for enabling it.)

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-08 17:48:14 +02:00
Martin Storsjö 42805eda55 rtpdec: Store the dynamic payload handler in the rtpdec context
This allows calling other dynamic payload handler functions if
needed.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-08 17:47:27 +02:00
Martin Storsjö 9c80ed836a rtpdec_vp8: Avoid a warning about a possibly unused variable
The warning is a false positive, but I prefer actually initializing
it over masking it with av_uninit, since the code is not performance
critical.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-08 17:43:11 +02:00
Martin Storsjö 09ed8098ff rtpdec_vp8: Make sure the previous packet is returned
This is a bug from c7d4de3d73 - if the previous frame wasn't
returned yet (due to missing the final packets), but we have
enough data of it to return the first partition, we write that into
pkt and set returned_old_frame. That commit forgot returning 0 for
the case where this current packet didn't have the end_packet flag
set.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-08 17:42:29 +02:00
Martin Storsjö 92e354b655 rtpdec_vp8: Set the timestamp when returning a deferred packet
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-08 17:42:20 +02:00
Kanglin ba8cb33273 hlsenc: Make the start_number option set the right variable
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-08 17:33:56 +02:00
Paul B Mahol 55d32eed8f img2dec: seeking support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-08 14:29:22 +00:00
Michael Niedermayer 86159703f5 ff_find_pix_fmt: return NONE for the "not found" case.
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-08 14:32:19 +01:00
Nicolas George ff6b34009d lavfi: fix use-after-free in ff_filter_frame.
Unlike the original ff_start_frame code, the incoming reference
may be freed before that point.

Fix CID966654.
2013-01-08 13:31:33 +01:00
Michael Niedermayer 315f15afe7 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtsp: Respect max_delay for the reordering queue when using custom IO

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-08 13:14:39 +01:00
Michael Niedermayer 48d30f6733 Merge commit '8729698d50739524665090e083d1bfdf28235724'
* commit '8729698d50739524665090e083d1bfdf28235724':
  rtsp: Recheck the reordering queue if getting a new packet
  lavr: log channel conversion description for any-to-any functions
  lavr: mix: reduce the mixing matrix when possible
  lavr: cosmetics: reindent

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-08 13:05:13 +01:00
Michael Niedermayer 249fca3df9 Merge commit '074a00d192c0e749d677b008b337da42597e780f'
* commit '074a00d192c0e749d677b008b337da42597e780f':
  lavr: add a public function for setting a custom channel map
  lavr: typedef internal structs in internal.h
  doc: Extend commit message section

Conflicts:
	doc/APIchanges
	doc/developer.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-08 12:56:41 +01:00
Michael Niedermayer 3a0bac27b3 Merge commit 'ac2603be28602bea76cf38bdbf37aead0dc2979a'
* commit 'ac2603be28602bea76cf38bdbf37aead0dc2979a':
  doc: Mention memory allocation in the fuzz testing section

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-08 12:49:02 +01:00
Michael Niedermayer 32cf37d097 Merge commit 'dc3e12d1cb65d74fb120197ce869a205718b6715'
* commit 'dc3e12d1cb65d74fb120197ce869a205718b6715':
  doc: Mention zzuf in the fuzz testing section

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-08 12:46:59 +01:00
Michael Niedermayer adc7296aa5 Merge commit 'b5f9b9ac3681acb06d95530f34660ba9fe225305'
* commit 'b5f9b9ac3681acb06d95530f34660ba9fe225305':
  doc: Merge disjointed bits about emailing patches

Conflicts:
	doc/developer.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-08 12:45:24 +01:00
Michael Niedermayer 3bca69c2a8 Merge commit '9a00374cb4512a58a1fee366b850dfa87c76e1f3'
* commit '9a00374cb4512a58a1fee366b850dfa87c76e1f3':
  doc: Fix a few typos in the developer documentation
  xwma: Remove unused variable
  asfdec: Fix printf format string length modifier

Conflicts:
	doc/developer.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-08 12:34:14 +01:00
Martin Storsjö f811cd2d47 rtsp: Respect max_delay for the reordering queue when using custom IO
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-08 11:22:43 +02:00
Martin Storsjö 8729698d50 rtsp: Recheck the reordering queue if getting a new packet
If we timed out and consumed a packet from the reordering queue,
but didn't return a packet to the caller, recheck the queue status.
Otherwise, we could end up in an infinite loop, trying to consume
a queued packet that has already been consumed.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-08 11:22:37 +02:00
Justin Ruggles 7ff3fd7ae4 lavr: log channel conversion description for any-to-any functions 2013-01-07 21:49:07 -05:00
Justin Ruggles 074a00d192 lavr: add a public function for setting a custom channel map
This allows reordering, duplication, and silencing of input channels.
2013-01-07 21:49:06 -05:00
Justin Ruggles 4164b0e8d3 lavr: mix: reduce the mixing matrix when possible
If the matrix results in an output channel not getting a contribution
from any input channel and the corresponding input channel does not
contribute to any outputs, we can skip the channel during mixing and
silence it after mixing.

If the matrix results in an input channel not contributing to any output
channels and it is not in the output mix, or if the input channel only
contributes fully to the same output channel, we can skip the channel
during mixing.

If the matrix results in an output channel only getting full
contribution from the corresponding input channel and that input channel
does not contribute to any other output channels, we can skip the
channel during mixing.
2013-01-07 21:49:06 -05:00
Justin Ruggles 1ccf82cfd8 lavr: cosmetics: reindent 2013-01-07 21:49:06 -05:00
Justin Ruggles 4d68269d58 lavr: typedef internal structs in internal.h
Simplifies header dependencies by not including all other internal headers
in internal.h.
2013-01-07 21:49:05 -05:00
Michael Niedermayer 1a088f61e1 oggparseskeleton: Check the overall start time before using it.
Fixes division by zero

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-08 02:58:01 +01:00
Michael Niedermayer 4c80184cf5 mjpegdec: allow 2 components in ljpeg_decode_yuv_scan()
Fixes assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-08 02:54:21 +01:00
Carl Eugen Hoyos b23aff6755 Add forgotten AVC Intra entry to Changelog. 2013-01-08 01:08:36 +01:00
Michael Niedermayer 953061ed95 lavf/utils: more complete dts checks
Fixes division by zero

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-08 00:28:35 +01:00
Michael Niedermayer 3b57bb478f svq1dec: check that the reference frame matches in size before using it.
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-08 00:28:35 +01:00
Clément Bœsch dbf0a90572 lavc: fix forgotten "que" reference.
This should have been part of 491ca0e8.
2013-01-07 22:07:50 +01:00
Michael Niedermayer 0780fe2740 rmdec: Limit videobufsize to remaining amount of data
Fixes excessive memory allocation

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 21:35:52 +01:00
Michael Niedermayer f65daf577a rv10: always check direct mode interpolation times.
Fixes Division by 0

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 21:35:52 +01:00
Derek Buitenhuis ac2603be28 doc: Mention memory allocation in the fuzz testing section
It's obviously undesireable to blindly allocate memory based on
a damaged 'size' value, for example.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-01-07 14:55:49 -05:00
Derek Buitenhuis dc3e12d1cb doc: Mention zzuf in the fuzz testing section
It's pretty much the best tool for the job, and it's what we
all use now anyway.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-01-07 14:55:49 -05:00
Derek Buitenhuis 6042a12174 doc: Extend commit message section
If a bug exists on the tracker, its ID should always be included
in fix messages.

Also, any relevant bug fixes should be CC'd to libav-stable, so
we can actually track what needs to be backported, instead of
just randomly combing the git history and old CVEs.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-01-07 14:55:49 -05:00
Derek Buitenhuis b5f9b9ac36 doc: Merge disjointed bits about emailing patches
We obviously prefer git-send-email(1), and the disjointed nature
of the two statements was misleading.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-01-07 14:55:48 -05:00
Derek Buitenhuis 9a00374cb4 doc: Fix a few typos in the developer documentation
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-01-07 14:55:48 -05:00
Peter Ross a572cc8c7a wtvdec: prevent memory leak in get_tag() 2013-01-08 01:59:13 +11:00
Michael Niedermayer 7fb87bc5f2 mpeg12enc: check dimension validity
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 15:47:21 +01:00
Michael Niedermayer bcc4ef1a41 mpeg12enc: Correctly mask dimensions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 15:47:06 +01:00
Michael Niedermayer 878e5bd6f5 mpeg12: Support decoding dimensions that are a multiple of 4096
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 15:31:00 +01:00
Michael Niedermayer 7a6beedd3f oggparsevorbis: fix vorbis_cleanup return type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 14:20:28 +01:00
Michael Niedermayer 1700be5855 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  oggdec: make sure the private parse data is cleaned up

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 14:20:21 +01:00
Michael Niedermayer 2db8660f09 Merge commit '89b51b570daa80e6e3790fcd449fe61fc5574e07'
* commit '89b51b570daa80e6e3790fcd449fe61fc5574e07':
  oggdec: free the ogg streams on read_header failure

Conflicts:
	libavformat/oggdec.c

Original commit this was based on: (this merge just moves the function up)
commit 07a866282f
Author: Michael Niedermayer <michaelni@gmx.at>
Date:   Tue Nov 20 15:12:37 2012 +0100

    oggdec: fix memleak on header parsing failure

    Fixes Ticket1931

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 14:03:48 +01:00
Benjamin Larsson bbae68596e xwma: Remove unused variable
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-07 13:25:20 +01:00
Peter Ross 8b4842c2e2 wtvdec: warn about truncated files 2013-01-07 23:14:58 +11:00
Peter Ross 801b636633 wtvenc: mux thumbnail picture 2013-01-07 23:14:58 +11:00
Peter Ross 361ecb6176 wtvdec: ignore WM/MediaThumbType metadata entry
This tag is used by Windows Media Centre in displaying the thumbnail,
and should be transformed into FFmpeg metadata string.
2013-01-07 23:14:58 +11:00
Peter Ross 508836932f wtvdec: demux thumbnail picture to AVStream.attached_pic 2013-01-07 23:14:58 +11:00
Paul B Mahol 2a89081cad Add EVRCA and SMV codec id
Demuxing files should be possible even if there are
no decoding support in lavc (yet).

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-07 11:43:20 +00:00
Peter Ross 6cff56f0ba frmdec: tag 2 is AV_PIX_FMT_RGB0 2013-01-07 22:06:06 +11:00
Peter Ross 8d4c817c4a frmdec: terminate frm_pix_fmt_tags 2013-01-07 22:06:06 +11:00
Peter Ross f2dc158b0a frmdec: use AV_PIX_FMT_xxx 2013-01-07 22:06:06 +11:00
Paul B Mahol 2516023695 012v: remove double ; and return correct error code if ff_get_buffer() fails
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-07 10:48:02 +00:00
Paul B Mahol 7f7f31bfcb iff: support seeking with maud
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-07 10:19:49 +00:00
Paul B Mahol 3174137d41 w64: fact guid support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-07 10:08:38 +00:00
Paul B Mahol e13c5abbd7 Changelog: move Megalux where it belongs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-07 09:45:45 +00:00
Diego Biurrun e817d9139f asfdec: Fix printf format string length modifier 2013-01-07 09:21:42 +01:00
Michael Niedermayer 92e79e595b Merge remote-tracking branch 'qatar/master'
Merge only for metadata, no commits merged

* qatar/master:
  Drop Snow codec
  Prepare for 10_alpha1 Release

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 02:01:39 +01:00
Michael Niedermayer c526a01c91 Merge commit '4f50646697606df39317b93c2a427603b77636ee'
* commit '4f50646697606df39317b93c2a427603b77636ee':
  x86: sbrdsp: Implement SSE qmf_post_shuffle

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 01:51:10 +01:00
Michael Niedermayer 8429320313 Merge commit '44a0036d10579ed91e48df24859e54b08a582742'
* commit '44a0036d10579ed91e48df24859e54b08a582742':
  x86: sbrdsp: Implement SSE sum64x5

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 01:40:05 +01:00
Michael Niedermayer ea93ccf079 Merge commit '5b4dfbffc258f90a7d2540d21209ac23afcf7cd0'
* commit '5b4dfbffc258f90a7d2540d21209ac23afcf7cd0':
  x86: ABS1: port to cpuflags
  v210x: cosmetics, reformat

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 01:35:18 +01:00
Michael Niedermayer 55d8cac254 Merge commit '6689474b91049411b5b7986616d1c66b701ae11f'
* commit '6689474b91049411b5b7986616d1c66b701ae11f':
  v210x: return meaningful error codes.
  r210dec: return meaningful error codes.
  vb: cosmetics, reformat

Conflicts:
	libavcodec/vb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 01:30:23 +01:00
Michael Niedermayer 501db2f32b Merge commit '9dbbda235d93d628777b986e502213f1ed390973'
* commit '9dbbda235d93d628777b986e502213f1ed390973':
  vb: return meaningful error codes.
  ptx: return meaningful error codes.
  tiff: return meaningful error codes.
  vqavideo: return meaningful error codes.
  mss2: return meaningful error codes.
  v210dec: return meaningful error codes
  indeo2: cosmetics, reformat

Conflicts:
	libavcodec/indeo2.c
	libavcodec/tiff.c
	libavcodec/v210dec.c
	libavcodec/vb.c
	libavcodec/vqavideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 01:24:32 +01:00
Michael Niedermayer 4b20d307b3 Merge commit '7b1fbd4729a52dd7c02622dbe7bb81a6a7ed12f8'
* commit '7b1fbd4729a52dd7c02622dbe7bb81a6a7ed12f8':
  indeo2: check decoding errors.
  indeo2: return meaningful error codes
  rl2: cosmetics, reformat

Conflicts:
	libavcodec/rl2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 01:11:14 +01:00
Michael Niedermayer d30660306c Merge commit '3c6e5a840c45fd3b832e86881602a72e47d46f19'
* commit '3c6e5a840c45fd3b832e86881602a72e47d46f19':
  rl2: use fixed-width integer types where appropriate
  rl2: return meaningful error codes.
  cljr: return a meaningful error code.
  fraps: cosmetics, reformat

Conflicts:
	libavcodec/fraps.c
	libavcodec/rl2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 01:01:13 +01:00
Michael Niedermayer 07f22d0b49 Merge commit '57d11e5e28bfe0bc445ad78fc033aafa73068bb4'
* commit '57d11e5e28bfe0bc445ad78fc033aafa73068bb4':
  fraps: return meaningful error codes.
  kgv1dec: return meaningful error codes.
  kmvc: return meaningful error codes.
  wnv1: return meaningful error codes.
  dpx: return meaningful error codes.
  truemotion1: return meaningful error codes
  pnm: return meaningful error codes.

Conflicts:
	libavcodec/dpx.c
	libavcodec/fraps.c
	libavcodec/kmvc.c
	libavcodec/pnm.c
	libavcodec/pnmdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 00:41:06 +01:00
Michael Niedermayer 7b018e5c8d Merge commit '84f2847de394ac447f53306bd4dd73e1af6ea5e4'
* commit '84f2847de394ac447f53306bd4dd73e1af6ea5e4':
  xl: return a meaningful error code.
  xan: return a meaningful error code.
  xxan: return meaningful error codes.
  zmbv: return more meaningful error codes.
  yop: use a meaningful error code.
  c93: return meaningful error codes.
  bmv: return meaningful error codes.
  bmp: return meaningful error codes.
  bink: operate with pointers to AVFrames instead of whole structs.
  bink: return meaningful error codes.
  bfi: return meaningful error codes.
  bethsoftvideo: return meaningful error codes.

Conflicts:
	libavcodec/c93.c
	libavcodec/xl.c
	libavcodec/xxan.c
	libavcodec/yop.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 23:59:35 +01:00
Michael Niedermayer 6190446745 Merge commit 'e83c1e2d0bedb5d4fa9ab351126b2ecc552f1355'
* commit 'e83c1e2d0bedb5d4fa9ab351126b2ecc552f1355':
  avs: return meaningful error codes.
  aura: return meaningful error codes.
  asvdec: return meaningful error codes.
  ansi: return a meaningful error code
  anm: return meaningful error codes
  aasc: return meaningful error codes.
  8bps: return meaningful error codes.
  4xm: operate with pointers to AVFrames instead of whole structs.
  4xm: eliminate a pointless indirection

Conflicts:
	libavcodec/4xm.c
	libavcodec/aasc.c
	libavcodec/anm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 23:48:48 +01:00
Michael Niedermayer a2aeaff40f Merge commit 'aa15afb7ce850e2ac688efdef189df5da817a646'
* commit 'aa15afb7ce850e2ac688efdef189df5da817a646':
  4xm: simplify code with FFSWAP
  4xm: return meaningful error codes

Conflicts:
	libavcodec/4xm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 23:41:19 +01:00
Luca Barbato d894f74762 oggdec: make sure the private parse data is cleaned up 2013-01-06 17:59:54 +01:00
Luca Barbato 89b51b570d oggdec: free the ogg streams on read_header failure
Plug an annoying memory leak on broken files.
2013-01-06 17:59:54 +01:00
Diego Biurrun a0c5917f86 Drop Snow codec
Snow is a toy codec with no real-world use and horrible code.
2013-01-06 16:30:02 +01:00
Reinhard Tartler 6b8d88808d Prepare for 10_alpha1 Release 2013-01-06 16:23:12 +01:00
Christophe Gisquet 4f50646697 x86: sbrdsp: Implement SSE qmf_post_shuffle
255 to 174 cycles on Arrandale / Win64. Unrolling yields no gain.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-06 13:57:01 +01:00
Christophe Gisquet 44a0036d10 x86: sbrdsp: Implement SSE sum64x5
698 to 174 cycles on Arrandale. Unrolling is a 6 cycles gain.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-06 13:57:01 +01:00
Diego Biurrun 5b4dfbffc2 x86: ABS1: port to cpuflags 2013-01-06 13:57:01 +01:00
Anton Khirnov 6689474b91 v210x: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov 9dbbda235d vb: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov 7b1fbd4729 indeo2: check decoding errors. 2013-01-06 13:31:40 +01:00
Anton Khirnov 3c6e5a840c rl2: use fixed-width integer types where appropriate 2013-01-06 13:31:40 +01:00
Anton Khirnov 57d11e5e28 fraps: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov 84f2847de3 xl: return a meaningful error code. 2013-01-06 13:31:40 +01:00
Anton Khirnov de16f08e48 v210x: cosmetics, reformat 2013-01-06 13:31:40 +01:00
Anton Khirnov 39039f2405 r210dec: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov a0ffcee1ee ptx: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov 6ea2c9a4cf indeo2: return meaningful error codes 2013-01-06 13:31:40 +01:00
Anton Khirnov 126abaaaae rl2: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov 405486c28b kgv1dec: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov d47dabbac2 xan: return a meaningful error code. 2013-01-06 13:31:40 +01:00
Anton Khirnov 4324a3ce75 vb: cosmetics, reformat 2013-01-06 13:31:40 +01:00
Anton Khirnov b2a7b81b9c tiff: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov 6781b5315e rl2: cosmetics, reformat 2013-01-06 13:31:40 +01:00
Anton Khirnov 7c8fceef6c cljr: return a meaningful error code. 2013-01-06 13:31:40 +01:00
Anton Khirnov e1a7061d63 kmvc: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov 26a161a166 vqavideo: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov 80344261aa fraps: cosmetics, reformat 2013-01-06 13:31:40 +01:00
Anton Khirnov f3fcb1a7b2 wnv1: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov edfe05ddf1 mss2: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov 0c19b23bd5 dpx: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov f0547c9bd0 v210dec: return meaningful error codes 2013-01-06 13:31:40 +01:00
Anton Khirnov b61e0b99df truemotion1: return meaningful error codes 2013-01-06 13:31:40 +01:00
Anton Khirnov c04c64c08e indeo2: cosmetics, reformat 2013-01-06 13:31:40 +01:00
Anton Khirnov 380242ca50 pnm: return meaningful error codes. 2013-01-06 13:31:40 +01:00
Anton Khirnov e83c1e2d0b avs: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov aa15afb7ce 4xm: simplify code with FFSWAP 2013-01-06 13:31:39 +01:00
Anton Khirnov 4aebb8d999 xxan: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov 620faee5d1 aura: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov 10c26e928a 4xm: return meaningful error codes 2013-01-06 13:31:39 +01:00
Anton Khirnov aaf208329f zmbv: return more meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov 38de3365ca asvdec: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov 01b60883ea yop: use a meaningful error code. 2013-01-06 13:31:39 +01:00
Anton Khirnov b3b17f7800 ansi: return a meaningful error code 2013-01-06 13:31:39 +01:00
Anton Khirnov 11c3f2047e c93: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov b622e2b540 anm: return meaningful error codes 2013-01-06 13:31:39 +01:00
Anton Khirnov 2b011a43e9 bmv: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov 18009e60d2 aasc: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov abcc235481 bmp: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov 313da47aa1 8bps: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov 6a97ea65b6 bink: operate with pointers to AVFrames instead of whole structs.
This is more correct and avoids breaking extended_data.
2013-01-06 13:31:39 +01:00
Anton Khirnov f7d15d2f42 4xm: operate with pointers to AVFrames instead of whole structs.
This is more correct and avoids breaking extended_data.
2013-01-06 13:31:39 +01:00
Anton Khirnov 86d4e75422 bink: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov 85383d139a 4xm: eliminate a pointless indirection 2013-01-06 13:31:39 +01:00
Anton Khirnov 86e09b9e60 bfi: return meaningful error codes. 2013-01-06 13:31:39 +01:00
Anton Khirnov fc2a94c15e bethsoftvideo: return meaningful error codes. 2013-01-06 13:31:39 +01:00
2715 changed files with 219052 additions and 99132 deletions
+11
View File
@@ -6,6 +6,8 @@
*.dylib
*.exe
*.exp
*.gcda
*.gcno
*.h.c
*.ilk
*.lib
@@ -24,11 +26,13 @@
/ffprobe
/ffserver
/config.*
/coverage.info
/version.h
/doc/*.1
/doc/*.3
/doc/*.html
/doc/*.pod
/doc/config.texi
/doc/avoptions_codec.texi
/doc/avoptions_format.texi
/doc/examples/decoding_encoding
@@ -37,11 +41,13 @@
/doc/examples/filtering_video
/doc/examples/metadata
/doc/examples/muxing
/doc/examples/pc-uninstalled
/doc/examples/resampling_audio
/doc/examples/scaling_video
/doc/fate.txt
/doc/doxy/html/
/doc/print_options
/lcov/
/libavcodec/*_tablegen
/libavcodec/*_tables.c
/libavcodec/*_tables.h
@@ -51,18 +57,23 @@
/tests/data/
/tests/rotozoom
/tests/tiny_psnr
/tests/tiny_ssim
/tests/videogen
/tests/vsynth1/
/tools/aviocat
/tools/ffbisect
/tools/bisect.need
/tools/crypto_bench
/tools/cws2fws
/tools/fourcc2pixfmt
/tools/ffescape
/tools/ffeval
/tools/ffhash
/tools/graph2dot
/tools/ismindex
/tools/pktdumper
/tools/probetest
/tools/qt-faststart
/tools/trasher
/tools/seek_print
/tools/zmqsend
+5 -54
View File
@@ -1,55 +1,6 @@
This file contains the names of some of the people who have contributed to
FFmpeg. The names are sorted alphabetically by last name. As this file is
currently quite outdated and git serves as a much better tool for determining
authorship, it remains here for historical reasons only.
See the Git history of the project (git://source.ffmpeg.org/ffmpeg) to
get the names of people who have contributed to FFmpeg.
Dénes Balatoni
Michel Bardiaux
Fabrice Bellard
Patrice Bensoussan
Alex Beregszaszi
BERO
Thilo Borgmann
Mario Brito
Ronald Bultje
Alex Converse
Maarten Daniels
Reimar Doeffinger
Tim Ferguson
Brian Foley
Arpad Gereoffy
Philip Gladstone
Vladimir Gneushev
Roine Gustafsson
David Hammerton
Wolfgang Hesseler
Marc Hoffman
Falk Hueffner
Aurélien Jacobs
Steven Johnson
Zdenek Kabelac
Robin Kay
Todd Kirby
Nick Kurshev
Benjamin Larsson
Loïc Le Loarer
Daniel Maas
Mike Melanson
Loren Merritt
Jeff Muizelaar
Michael Niedermayer
François Revol
Peter Ross
Måns Rullgård
Stefano Sabatini
Roman Shaposhnik
Oded Shimon
Dieter Shirley
Konstantin Shishkov
Juan J. Sierralta
Ewald Snel
Sascha Sommer
Leon van Stuivenberg
Roberto Togni
Lionel Ulmer
Reynaldo Verdejo
To check the log, you can type the command "git log" in the FFmpeg
source directory, or browse the online repository at
http://source.ffmpeg.org.
+149 -5
View File
@@ -1,7 +1,150 @@
Entries are sorted chronologically from oldest to youngest within each release,
releases are sorted from youngest to oldest.
version <next>:
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
- reference-counting for AVFrame and AVPacket data
- ffmpeg now fails when input options are used for output file
or vice versa
- support for Monkey's Audio versions from 3.93
- perms and aperms filters
- audio filtering support in ffplay
- 10% faster aac encoding on x86 and MIPS
- sine audio filter source
- WebP demuxing and decoding support
- new ffmpeg options -filter_script and -filter_complex_script, which allow a
filtergraph description to be read from a file
- OpenCL support
- audio phaser filter
- separatefields filter
- libquvi demuxer
- uniform options syntax across all filters
- telecine filter
- new interlace filter
- smptehdbars source
- inverse telecine filters (fieldmatch and decimate)
- colorbalance filter
- colorchannelmixer filter
- The matroska demuxer can now output proper verbatim ASS packets. It will
become the default at the next libavformat major bump.
- decent native animated GIF encoding
- asetrate filter
- interleave filter
- timeline editing with filters
- vidstabdetect and vidstabtransform filters for video stabilization using
the vid.stab library
- astats filter
- trim and atrim filters
- ffmpeg -t and -ss (output-only) options are now sample-accurate when
transcoding audio
- Matroska muxer can now put the index at the beginning of the file.
- extractplanes filter
- avectorscope filter
- ADPCM DTK decoder
- ADP demuxer
- RSD demuxer
- RedSpark demuxer
- ADPCM IMA Radical decoder
- zmq filters
- DCT denoiser filter (dctdnoiz)
- Wavelet denoiser filter ported from libmpcodecs as owdenoise (formerly "ow")
- Apple Intermediate Codec decoder
- Escape 130 video decoder
- FTP protocol support
- V4L2 output device
- 3D LUT filter (lut3d)
- SMPTE 302M audio encoder
- support for slice multithreading in libavfilter
- Hald CLUT support (generation and filtering)
- VC-1 interlaced B-frame support
- support for WavPack muxing (raw and in Matroska)
- XVideo output device
- vignette filter
- True Audio (TTA) encoder
- Go2Webinar decoder
- mcdeint filter ported from libmpcodecs
- sab filter ported from libmpcodecs
- ffprobe -show_chapters option
- WavPack encoding through libwavpack
- rotate filter
- spp filter ported from libmpcodecs
- libgme support
- psnr filter
version 1.2:
- VDPAU hardware acceleration through normal hwaccel
- SRTP support
- Error diffusion dither in Swscale
- Chained Ogg support
- Theora Midstream reconfiguration support
- EVRC decoder
- audio fade filter
- filtering audio with unknown channel layout
- allpass, bass, bandpass, bandreject, biquad, equalizer, highpass, lowpass
and treble audio filter
- improved showspectrum filter, with multichannel support and sox-like colors
- histogram filter
- tee muxer
- il filter ported from libmpcodecs
- support ID3v2 tags in ASF files
- encrypted TTA stream decoding support
- RF64 support in WAV muxer
- noise filter ported from libmpcodecs
- Subtitles character encoding conversion
- blend filter
- stereo3d filter ported from libmpcodecs
version 1.1:
@@ -60,7 +203,9 @@ version 1.1:
- support building on the Plan 9 operating system
- kerndeint filter ported from MPlayer
- histeq filter ported from VirtualDub
- Megalux Frame demuxer
- 012v decoder
- Improved AVC Intra decoding support
version 1.0:
@@ -349,7 +494,6 @@ easier to use. The changes are:
- Simple segmenting muxer
- Indeo 4 decoder
- SMJPEG demuxer
- Megalux Frame demuxer
version 0.8:
@@ -512,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
@@ -612,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
@@ -640,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
+22 -8
View File
@@ -33,16 +33,28 @@ 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_owdenoise.c
- vf_perspective.c
- vf_phase.c
- vf_pp.c
- vf_pullup.c
- vf_sab.c
- vf_smartblur.c
- vf_spp.c
- vf_stereo3d.c
- vf_super2xsai.c
- vf_tinterlace.c
- vf_yadif.c
- vsrc_mptestsrc.c
Should you, for whatever reason, prefer to use version 3 of the (L)GPL, then
the configure parameter --enable-version3 will activate this licensing option
for you. Read the file COPYING.LGPLv3 or, if you have enabled GPL parts,
COPYING.GPLv3 to learn the exact legal terms that apply in this case.
There are a handful of files under other licensing terms, namely:
* The files libavcodec/jfdctfst.c, libavcodec/jfdctint_template.c and
@@ -52,11 +64,6 @@ There are a handful of files under other licensing terms, namely:
You must also indicate any changes including additions and deletions to
those three files in the documentation.
Should you, for whatever reason, prefer to use version 3 of the (L)GPL, then
the configure parameter --enable-version3 will activate this licensing option
for you. Read the file COPYING.LGPLv3 or, if you have enabled GPL parts,
COPYING.GPLv3 to learn the exact legal terms that apply in this case.
external libraries
==================
@@ -67,8 +74,15 @@ affect the licensing of binaries resulting from the combination.
compatible libraries
--------------------
The libcdio, libx264, libxavs and libxvid libraries are under GPL. When
combining them with FFmpeg, FFmpeg needs to be licensed as GPL as well by
The following libraries are under GPL:
- frei0r
- libcdio
- libutvideo
- libvidstab
- libx264
- libxavs
- libxvid
When combining them with FFmpeg, FFmpeg needs to be licensed as GPL as well by
passing --enable-gpl to configure.
The OpenCORE and VisualOn libraries are under the Apache License 2.0. That
+90 -29
View File
@@ -7,8 +7,8 @@ FFmpeg code.
Please try to keep entries where you are the maintainer up to date!
Names in () mean that the maintainer currently has no time to maintain the code.
A CC after the name means that the maintainer prefers to be CC-ed on patches
and related discussions.
A (CC <address>) after the name means that the maintainer prefers to be CC-ed on
patches and related discussions.
Project Leader
@@ -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,11 +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
@@ -77,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:
@@ -111,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
@@ -129,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
@@ -141,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
@@ -152,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
@@ -163,13 +182,14 @@ Codecs:
interplayvideo.c Mike Melanson
ivi* Kostya Shishkov
jacosub* Clément Bœsch
jpeg2000* Nicolas Bertrand
jpeg_ls.c Kostya Shishkov
jvdec.c Peter Ross
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
@@ -177,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
@@ -189,6 +209,7 @@ Codecs:
mpc* Kostya Shishkov
mpeg12.c, mpeg12data.h Michael Niedermayer
mpegvideo.c, mpegvideo.h Michael Niedermayer
mqc* Nicolas Bertrand
msmpeg4.c, msmpeg4data.h Michael Niedermayer
msrle.c Mike Melanson
msvideo1.c Mike Melanson
@@ -214,6 +235,7 @@ Codecs:
s3tc* Ivo van Poorten
smacker.c Kostya Shishkov
smc.c Mike Melanson
smvjpegdec.c Ash Hughes
snow.c Michael Niedermayer, Loren Merritt
sonic.c Alex Beregszaszi
srt* Aurelien Jacobs
@@ -227,6 +249,7 @@ Codecs:
truespeech.c Kostya Shishkov
tscc.c Kostya Shishkov
tta.c Alex Beregszaszi, Jaikrishnan Menon
ttaenc.c Paul B Mahol
txd.c Ivo van Poorten
ulti* Kostya Shishkov
v410*.c Derek Buitenhuis
@@ -237,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
@@ -251,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
@@ -272,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
===========
@@ -285,10 +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:
@@ -308,12 +359,14 @@ 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
astenc.c James Almer
avi* Michael Niedermayer
avisynth.c AvxSynth Team (avxsynth.testing at gmail dot com)
avr.c Paul B Mahol
bink.c Peter Ross
brstm.c Paul B Mahol
@@ -335,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
@@ -350,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
@@ -399,6 +452,7 @@ Muxers/Demuxers:
voc.c Aurelien Jacobs
wav.c Michael Niedermayer
wc3movie.c Mike Melanson
webvtt* Matthew J Heaney
westwood.c Mike Melanson
wtv.c Peter Ross
wv.c Kostya Shishkov
@@ -406,7 +460,9 @@ Muxers/Demuxers:
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
@@ -431,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
@@ -445,17 +501,19 @@ x86 Michael Niedermayer
Releases
========
1.1 Michael Niedermayer
1.0 Michael Niedermayer
0.11 Michael Niedermayer
2.1 Michael Niedermayer
2.0 Michael Niedermayer
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
Attila Kinali 11F0 F9A6 A1D2 11F6 C745 D10C 6520 BCDD F2DF E765
Baptiste Coudurier 8D77 134D 20CC 9220 201F C5DB 0AC9 325C 5C1A BAAA
Ben Littler 3EE3 3723 E560 3214 A8CD 4DEB 2CDB FCE7 768C 8D2C
@@ -463,8 +521,10 @@ Benoit Fouet B22A 4F4F 43EF 636B BB66 FCDC 0023 AE1E 2985 49C8
Bœsch Clément 52D0 3A82 D445 F194 DB8B 2B16 87EE 2CB8 F4B8 FCF9
Daniel Verkamp 78A6 07ED 782C 653E C628 B8B9 F0EB 8DD8 2F0E 21C7
Diego Biurrun 8227 1E31 B6D9 4994 7427 E220 9CAE D6CC 4757 FCC5
FFmpeg release signing key FCF9 86EA 15E6 E293 A564 4F10 B432 2F04 D676 58D8
Gwenole Beauchesne 2E63 B3A6 3E44 37E2 017D 2704 53C7 6266 B153 99C4
Jaikrishnan Menon 61A1 F09F 01C9 2D45 78E1 C862 25DC 8831 AF70 D368
Jean Delvare 7CA6 9F44 60F1 BDC4 1FD2 C858 A552 6B9B B3CD 4E6A
Justin Ruggles 3136 ECC0 C10D 6C04 5F43 CA29 FCBE CD2A 3787 1EBF
Loren Merritt ABD9 08F4 C920 3F65 D8BE 35D7 1540 DAA7 060F 56DE
Lou Logan 7D68 DC73 CBEF EABB 671A B6CF 621C 2E28 82F8 DC3A
@@ -481,3 +541,4 @@ Sascha Sommer 38A0 F88B 868E 9D3A 97D4 D6A0 E823 706F 1E07 0D3C
Stefano Sabatini 0D0B AD6B 5330 BBAD D3D6 6A0C 719C 2839 FC43 2D5F
Stephan Hilb 4F38 0B3A 5F39 B99B F505 E562 8D5C 5554 4E17 8863
Tomas Härdin A79D 4E3D F38F 763F 91F5 8B33 A01E 8AE0 41BB 2551
Wei Gao 4269 7741 857A 0E60 9EC5 08D2 4744 4EFA 62C1 87B9
+4 -14
View File
@@ -20,7 +20,7 @@ INSTPROGS = $(PROGS-yes:%=%$(PROGSSUF)$(EXESUF))
OBJS = cmdutils.o $(EXEOBJS)
OBJS-ffmpeg = ffmpeg_opt.o ffmpeg_filter.o
TESTTOOLS = audiogen videogen rotozoom tiny_psnr base64
TESTTOOLS = audiogen videogen rotozoom tiny_psnr tiny_ssim base64
HOSTPROGS := $(TESTTOOLS:%=tests/%) doc/print_options
TOOLS = qt-faststart trasher
TOOLS-$(CONFIG_ZLIB) += cws2fws
@@ -28,7 +28,6 @@ TOOLS-$(CONFIG_ZLIB) += cws2fws
BASENAMES = ffmpeg ffplay ffprobe ffserver
ALLPROGS = $(BASENAMES:%=%$(PROGSSUF)$(EXESUF))
ALLPROGS_G = $(BASENAMES:%=%$(PROGSSUF)_g$(EXESUF))
ALLMANPAGES = $(BASENAMES:%=%.1)
FFLIBS-$(CONFIG_AVDEVICE) += avdevice
FFLIBS-$(CONFIG_AVFILTER) += avfilter
@@ -44,7 +43,7 @@ FFLIBS := avutil
DATA_FILES := $(wildcard $(SRC_PATH)/presets/*.ffpreset) $(SRC_PATH)/doc/ffprobe.xsd
EXAMPLES_FILES := $(wildcard $(SRC_PATH)/doc/examples/*.c) $(SRC_PATH)/doc/examples/Makefile $(SRC_PATH)/doc/examples/README
SKIPHEADERS = cmdutils_common_opts.h
SKIPHEADERS = cmdutils_common_opts.h compat/w32pthreads.h
include $(SRC_PATH)/common.mak
@@ -154,25 +153,16 @@ clean::
$(RM) $(ALLPROGS) $(ALLPROGS_G)
$(RM) $(CLEANSUFFIXES)
$(RM) $(CLEANSUFFIXES:%=tools/%)
$(RM) coverage.info
$(RM) -r coverage-html
$(RM) -rf coverage.info lcov
distclean::
$(RM) $(DISTCLEANSUFFIXES)
$(RM) config.* .version version.h libavutil/avconfig.h libavcodec/codec_names.h
$(RM) config.* .config libavutil/avconfig.h .version version.h libavcodec/codec_names.h
config:
$(SRC_PATH)/configure $(value FFMPEG_CONFIGURATION)
# Without the sed genthml thinks "libavutil" and "./libavutil" are two different things
coverage.info: $(wildcard *.gcda *.gcno */*.gcda */*.gcno */*/*.gcda */*/*.gcno)
$(Q)lcov -c -d . -b . | sed -e 's#/./#/#g' > $@
coverage-html: coverage.info
$(Q)mkdir -p $@
$(Q)genhtml -o $@ $<
$(Q)touch $@
check: all alltools examples testprogs fate
include $(SRC_PATH)/doc/Makefile
+1 -1
View File
@@ -1 +1 @@
1.1.git
2.0
+235 -216
View File
@@ -36,9 +36,7 @@
#include "libavresample/avresample.h"
#include "libswscale/swscale.h"
#include "libswresample/swresample.h"
#if CONFIG_POSTPROC
#include "libpostproc/postprocess.h"
#endif
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/bprint.h"
@@ -49,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
@@ -58,12 +57,16 @@
#include <sys/time.h>
#include <sys/resource.h>
#endif
#if CONFIG_OPENCL
#include "libavutil/opencl.h"
#endif
static int init_report(const char *env);
struct SwsContext *sws_opts;
SwrContext *swr_opts;
AVDictionary *format_opts, *codec_opts;
AVDictionary *swr_opts;
AVDictionary *format_opts, *codec_opts, *resample_opts;
const int this_year = 2013;
@@ -75,9 +78,6 @@ void init_opts(void)
if(CONFIG_SWSCALE)
sws_opts = sws_getContext(16, 16, 0, 16, 16, 0, SWS_BICUBIC,
NULL, NULL, NULL);
if(CONFIG_SWRESAMPLE)
swr_opts = swr_alloc();
}
void uninit_opts(void)
@@ -87,11 +87,10 @@ void uninit_opts(void)
sws_opts = NULL;
#endif
if(CONFIG_SWRESAMPLE)
swr_free(&swr_opts);
av_dict_free(&swr_opts);
av_dict_free(&format_opts);
av_dict_free(&codec_opts);
av_dict_free(&resample_opts);
}
void log_callback_help(void *ptr, int level, const char *fmt, va_list vl)
@@ -113,6 +112,21 @@ static void log_callback_report(void *ptr, int level, const char *fmt, va_list v
fflush(report_file);
}
static void (*program_exit)(int ret);
void register_exit(void (*cb)(int ret))
{
program_exit = cb;
}
void exit_program(int ret)
{
if (program_exit)
program_exit(ret);
exit(ret);
}
double parse_number_or_die(const char *context, const char *numstr, int type,
double min, double max)
{
@@ -130,7 +144,7 @@ double parse_number_or_die(const char *context, const char *numstr, int type,
else
return d;
av_log(NULL, AV_LOG_FATAL, error, context, numstr, min, max);
exit(1);
exit_program(1);
return 0;
}
@@ -141,7 +155,7 @@ int64_t parse_time_or_die(const char *context, const char *timestr,
if (av_parse_time(&us, timestr, is_duration) < 0) {
av_log(NULL, AV_LOG_FATAL, "Invalid %s specification for %s: %s\n",
is_duration ? "duration" : "date", context, timestr);
exit(1);
exit_program(1);
}
return us;
}
@@ -200,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 */
@@ -284,7 +301,7 @@ static int write_option(void *optctx, const OptionDef *po, const char *opt,
if (po->flags & OPT_STRING) {
char *str;
str = av_strdup(arg);
// av_freep(dst);
av_freep(dst);
*(char **)dst = str;
} else if (po->flags & OPT_BOOL || po->flags & OPT_INT) {
*(int *)dst = parse_number_or_die(opt, arg, OPT_INT64, INT_MIN, INT_MAX);
@@ -300,12 +317,13 @@ static int write_option(void *optctx, const OptionDef *po, const char *opt,
int ret = po->u.func_arg(optctx, opt, arg);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR,
"Failed to set value '%s' for option '%s'\n", arg, opt);
"Failed to set value '%s' for option '%s': %s\n",
arg, opt, av_err2str(ret));
return ret;
}
}
if (po->flags & OPT_EXIT)
exit(0);
exit_program(0);
return 0;
}
@@ -365,7 +383,7 @@ void parse_options(void *optctx, int argc, char **argv, const OptionDef *options
opt++;
if ((ret = parse_option(optctx, opt, argv[optindex], options)) < 0)
exit(1);
exit_program(1);
optindex += ret;
} else {
if (parse_arg_function)
@@ -384,6 +402,16 @@ int parse_optgroup(void *optctx, OptionGroup *g)
for (i = 0; i < g->nb_opts; i++) {
Option *o = &g->opts[i];
if (g->group_def->flags &&
!(g->group_def->flags & o->opt->flags)) {
av_log(NULL, AV_LOG_ERROR, "Option %s (%s) cannot be applied to "
"%s %s -- you are trying to apply an input option to an "
"output file or vice versa. Move this option before the "
"file it belongs to.\n", o->key, o->opt->help,
g->group_def->name, g->arg);
return AVERROR(EINVAL);
}
av_log(NULL, AV_LOG_DEBUG, "Applying option %s (%s) with argument %s.\n",
o->key, o->opt->help, o->val);
@@ -470,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)
{
@@ -478,6 +515,9 @@ int opt_default(void *optctx, const char *opt, const char *arg)
char opt_stripped[128];
const char *p;
const AVClass *cc = avcodec_get_class(), *fc = avformat_get_class();
#if CONFIG_AVRESAMPLE
const AVClass *rc = avresample_get_class();
#endif
const AVClass *sc, *swr_class;
if (!strcmp(opt, "debug") || !strcmp(opt, "fdebug"))
@@ -487,23 +527,23 @@ 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,
AV_OPT_SEARCH_CHILDREN | AV_OPT_SEARCH_FAKE_OBJ))) {
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)
av_log(NULL, AV_LOG_VERBOSE, "Routing %s to codec and muxer layer\n", opt);
if (consumed)
av_log(NULL, AV_LOG_VERBOSE, "Routing option %s to both codec and muxer layer\n", opt);
consumed = 1;
}
#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);
@@ -516,13 +556,23 @@ int opt_default(void *optctx, const char *opt, const char *arg)
#endif
#if CONFIG_SWRESAMPLE
swr_class = swr_get_class();
if (!consumed && av_opt_find(&swr_class, opt, NULL, 0,
AV_OPT_SEARCH_CHILDREN | AV_OPT_SEARCH_FAKE_OBJ)) {
int ret = av_opt_set(swr_opts, opt, arg, 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);
swr_free(&swr);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Error setting option %s.\n", opt);
return ret;
}
av_dict_set(&swr_opts, opt, arg, FLAGS);
consumed = 1;
}
#endif
#if CONFIG_AVRESAMPLE
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;
}
#endif
@@ -575,9 +625,11 @@ static void finish_group(OptionParseContext *octx, int group_idx,
g->swr_opts = swr_opts;
g->codec_opts = codec_opts;
g->format_opts = format_opts;
g->resample_opts = resample_opts;
codec_opts = NULL;
format_opts = NULL;
resample_opts = NULL;
#if CONFIG_SWSCALE
sws_opts = NULL;
#endif
@@ -613,7 +665,7 @@ static void init_parse_context(OptionParseContext *octx,
octx->nb_groups = nb_groups;
octx->groups = av_mallocz(sizeof(*octx->groups) * octx->nb_groups);
if (!octx->groups)
exit(1);
exit_program(1);
for (i = 0; i < octx->nb_groups; i++)
octx->groups[i].group_def = &groups[i];
@@ -635,11 +687,11 @@ void uninit_parse_context(OptionParseContext *octx)
av_freep(&l->groups[j].opts);
av_dict_free(&l->groups[j].codec_opts);
av_dict_free(&l->groups[j].format_opts);
av_dict_free(&l->groups[j].resample_opts);
#if CONFIG_SWSCALE
sws_freeContext(l->groups[j].sws_opts);
#endif
if(CONFIG_SWRESAMPLE)
swr_free(&l->groups[j].swr_opts);
av_dict_free(&l->groups[j].swr_opts);
}
av_freep(&l->groups);
}
@@ -656,6 +708,7 @@ int split_commandline(OptionParseContext *octx, int argc, char *argv[],
const OptionGroupDef *groups, int nb_groups)
{
int optindex = 1;
int dashdash = -2;
/* perform system-dependent conversions for arguments list */
prepare_app_arguments(&argc, &argv);
@@ -670,8 +723,12 @@ int split_commandline(OptionParseContext *octx, int argc, char *argv[],
av_log(NULL, AV_LOG_DEBUG, "Reading option '%s' ...", opt);
if (opt[0] == '-' && opt[1] == '-' && !opt[2]) {
dashdash = optindex;
continue;
}
/* unnamed group separators, e.g. output filename */
if (opt[0] != '-' || !opt[1]) {
if (opt[0] != '-' || !opt[1] || dashdash+1 == optindex) {
finish_group(octx, 0, opt);
av_log(NULL, AV_LOG_DEBUG, " matched as %s.\n", groups[0].name);
continue;
@@ -743,7 +800,7 @@ do { \
return AVERROR_OPTION_NOT_FOUND;
}
if (octx->cur_group.nb_opts || codec_opts || format_opts)
if (octx->cur_group.nb_opts || codec_opts || format_opts || resample_opts)
av_log(NULL, AV_LOG_WARNING, "Trailing options were found on the "
"commandline.\n");
@@ -752,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[] = {
@@ -768,6 +837,13 @@ int opt_loglevel(void *optctx, const char *opt, const char *arg)
int level;
int i;
tail = strstr(arg, "repeat");
av_log_set_flags(tail ? 0 : AV_LOG_SKIP_REPEATED);
if (tail == arg)
arg += 6 + (arg[6]=='+');
if(tail && !*arg)
return 0;
for (i = 0; i < FF_ARRAY_ELEMS(log_levels); i++) {
if (!strcmp(log_levels[i].name, arg)) {
av_log_set_level(log_levels[i].level);
@@ -781,7 +857,7 @@ int opt_loglevel(void *optctx, const char *opt, const char *arg)
"Possible levels are numbers or:\n", arg);
for (i = 0; i < FF_ARRAY_ELEMS(log_levels); i++)
av_log(NULL, AV_LOG_FATAL, "\"%s\"\n", log_levels[i].name);
exit(1);
exit_program(1);
}
av_log_set_level(level);
return 0;
@@ -874,7 +950,6 @@ static int init_report(const char *env)
tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday,
tm->tm_hour, tm->tm_min, tm->tm_sec,
filename.str);
av_log_set_level(FFMAX(av_log_get_level(), AV_LOG_VERBOSE));
av_bprint_finalize(&filename, NULL);
return 0;
}
@@ -892,24 +967,12 @@ int opt_max_alloc(void *optctx, const char *opt, const char *arg)
max = strtol(arg, &tail, 10);
if (*tail) {
av_log(NULL, AV_LOG_FATAL, "Invalid max_alloc \"%s\".\n", arg);
exit(1);
exit_program(1);
}
av_max_alloc(max);
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
@@ -923,6 +986,26 @@ int opt_timelimit(void *optctx, const char *opt, const char *arg)
return 0;
}
#if CONFIG_OPENCL
int opt_opencl(void *optctx, const char *opt, const char *arg)
{
char *key, *value;
const char *opts = arg;
int ret = 0;
while (*opts) {
ret = av_opt_get_key_value(&opts, "=", ":", 0, &key, &value);
if (ret < 0)
return ret;
ret = av_opencl_set_option(key, value);
if (ret < 0)
return ret;
if (*opts)
opts++;
}
return ret;
}
#endif
void print_error(const char *filename, int err)
{
char errbuf[128];
@@ -975,12 +1058,10 @@ static void print_all_libs_info(int flags, int level)
PRINT_LIB_INFO(avformat, AVFORMAT, flags, level);
PRINT_LIB_INFO(avdevice, AVDEVICE, flags, level);
PRINT_LIB_INFO(avfilter, AVFILTER, flags, level);
// PRINT_LIB_INFO(avresample, AVRESAMPLE, flags, level);
PRINT_LIB_INFO(avresample, AVRESAMPLE, flags, level);
PRINT_LIB_INFO(swscale, SWSCALE, flags, level);
PRINT_LIB_INFO(swresample,SWRESAMPLE, flags, level);
#if CONFIG_POSTPROC
PRINT_LIB_INFO(postproc, POSTPROC, flags, level);
#endif
}
static void print_program_info(int flags, int level)
@@ -1160,7 +1241,8 @@ static void print_codec(const AVCodec *c)
printf("%s %s [%s]:\n", encoder ? "Encoder" : "Decoder", c->name,
c->long_name ? c->long_name : "");
if (c->type == AVMEDIA_TYPE_VIDEO) {
if (c->type == AVMEDIA_TYPE_VIDEO ||
c->type == AVMEDIA_TYPE_AUDIO) {
printf(" Threading capabilities: ");
switch (c->capabilities & (CODEC_CAP_FRAME_THREADS |
CODEC_CAP_SLICE_THREADS)) {
@@ -1241,7 +1323,7 @@ static unsigned get_codecs_sorted(const AVCodecDescriptor ***rcodecs)
nb_codecs++;
if (!(codecs = av_calloc(nb_codecs, sizeof(*codecs)))) {
av_log(NULL, AV_LOG_ERROR, "Out of memory\n");
exit(1);
exit_program(1);
}
desc = NULL;
while ((desc = avcodec_descriptor_next(desc)))
@@ -1394,36 +1476,62 @@ int show_protocols(void *optctx, const char *opt, const char *arg)
int show_filters(void *optctx, const char *opt, const char *arg)
{
AVFilter av_unused(**filter) = NULL;
const AVFilter av_unused(*filter) = NULL;
char descr[64], *descr_cur;
int i, j;
const AVFilterPad *pad;
printf("Filters:\n");
printf("Filters:\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"
" | = Source or sink filter\n");
#if CONFIG_AVFILTER
while ((filter = av_filter_next(filter)) && *filter) {
while ((filter = avfilter_next(filter))) {
descr_cur = descr;
for (i = 0; i < 2; i++) {
if (i) {
*(descr_cur++) = '-';
*(descr_cur++) = '>';
}
pad = i ? (*filter)->outputs : (*filter)->inputs;
pad = i ? filter->outputs : filter->inputs;
for (j = 0; pad && pad[j].name; j++) {
if (descr_cur >= descr + sizeof(descr) - 4)
break;
*(descr_cur++) = get_media_type_char(pad[j].type);
}
if (!j)
*(descr_cur++) = '|';
*(descr_cur++) = ((!i && (filter->flags & AVFILTER_FLAG_DYNAMIC_INPUTS)) ||
( i && (filter->flags & AVFILTER_FLAG_DYNAMIC_OUTPUTS))) ? 'N' : '|';
}
*descr_cur = 0;
printf("%-16s %-10s %s\n", (*filter)->name, descr, (*filter)->description);
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;
}
int 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]);
return 0;
}
int show_pix_fmts(void *optctx, const char *opt, const char *arg)
{
const AVPixFmtDescriptor *pix_desc = NULL;
@@ -1445,11 +1553,11 @@ int show_pix_fmts(void *optctx, const char *opt, const char *arg)
while ((pix_desc = av_pix_fmt_desc_next(pix_desc))) {
enum AVPixelFormat pix_fmt = av_pix_fmt_desc_get_id(pix_desc);
printf("%c%c%c%c%c %-16s %d %2d\n",
sws_isSupportedInput (pix_fmt) ? 'I' : '.',
sws_isSupportedOutput(pix_fmt) ? 'O' : '.',
pix_desc->flags & PIX_FMT_HWACCEL ? 'H' : '.',
pix_desc->flags & PIX_FMT_PAL ? 'P' : '.',
pix_desc->flags & PIX_FMT_BITSTREAM ? 'B' : '.',
sws_isSupportedInput (pix_fmt) ? 'I' : '.',
sws_isSupportedOutput(pix_fmt) ? 'O' : '.',
pix_desc->flags & AV_PIX_FMT_FLAG_HWACCEL ? 'H' : '.',
pix_desc->flags & AV_PIX_FMT_FLAG_PAL ? 'P' : '.',
pix_desc->flags & AV_PIX_FMT_FLAG_BITSTREAM ? 'B' : '.',
pix_desc->name,
pix_desc->nb_components,
av_get_bits_per_pixel(pix_desc));
@@ -1581,6 +1689,62 @@ static void show_help_muxer(const char *name)
show_help_children(fmt->priv_class, AV_OPT_FLAG_ENCODING_PARAM);
}
#if CONFIG_AVFILTER
static void show_help_filter(const char *name)
{
#if CONFIG_AVFILTER
const AVFilter *f = avfilter_get_by_name(name);
int i, count;
if (!name) {
av_log(NULL, AV_LOG_ERROR, "No filter name specified.\n");
return;
} else if (!f) {
av_log(NULL, AV_LOG_ERROR, "Unknown filter '%s'.\n", name);
return;
}
printf("Filter %s\n", f->name);
if (f->description)
printf(" %s\n", f->description);
if (f->flags & AVFILTER_FLAG_SLICE_THREADS)
printf(" slice threading supported\n");
printf(" Inputs:\n");
count = avfilter_pad_count(f->inputs);
for (i = 0; i < count; i++) {
printf(" #%d: %s (%s)\n", i, avfilter_pad_get_name(f->inputs, i),
media_type_string(avfilter_pad_get_type(f->inputs, i)));
}
if (f->flags & AVFILTER_FLAG_DYNAMIC_INPUTS)
printf(" dynamic (depending on the options)\n");
else if (!count)
printf(" none (source filter)\n");
printf(" Outputs:\n");
count = avfilter_pad_count(f->outputs);
for (i = 0; i < count; i++) {
printf(" #%d: %s (%s)\n", i, avfilter_pad_get_name(f->outputs, i),
media_type_string(avfilter_pad_get_type(f->outputs, i)));
}
if (f->flags & AVFILTER_FLAG_DYNAMIC_OUTPUTS)
printf(" dynamic (depending on the options)\n");
else if (!count)
printf(" none (sink filter)\n");
if (f->priv_class)
show_help_children(f->priv_class, AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_FILTERING_PARAM |
AV_OPT_FLAG_AUDIO_PARAM);
if (f->flags & AVFILTER_FLAG_SUPPORT_TIMELINE)
printf("This filter has support for timeline through the 'enable' option.\n");
#else
av_log(NULL, AV_LOG_ERROR, "Build without libavfilter; "
"can not to satisfy request\n");
#endif
}
#endif
int show_help(void *optctx, const char *opt, const char *arg)
{
char *topic, *par;
@@ -1601,6 +1765,10 @@ int show_help(void *optctx, const char *opt, const char *arg)
show_help_demuxer(par);
} else if (!strcmp(topic, "muxer")) {
show_help_muxer(par);
#if CONFIG_AVFILTER
} else if (!strcmp(topic, "filter")) {
show_help_filter(par);
#endif
} else {
show_help_default(topic, par);
}
@@ -1612,7 +1780,7 @@ int show_help(void *optctx, const char *opt, const char *arg)
int read_yesno(void)
{
int c = getchar();
int yesno = (toupper(c) == 'Y');
int yesno = (av_toupper(c) == 'Y');
while (c != '\n' && c != EOF)
c = getchar();
@@ -1733,10 +1901,8 @@ AVDictionary *filter_codec_opts(AVDictionary *opts, enum AVCodecID codec_id,
if (!codec)
codec = s->oformat ? avcodec_find_encoder(codec_id)
: avcodec_find_decoder(codec_id);
if (!codec)
return NULL;
switch (codec->type) {
switch (st->codec->codec_type) {
case AVMEDIA_TYPE_VIDEO:
prefix = 'v';
flags |= AV_OPT_FLAG_VIDEO_PARAM;
@@ -1802,13 +1968,13 @@ void *grow_array(void *array, int elem_size, int *size, int new_size)
{
if (new_size >= INT_MAX / elem_size) {
av_log(NULL, AV_LOG_ERROR, "Array too big.\n");
exit(1);
exit_program(1);
}
if (*size < new_size) {
uint8_t *tmp = av_realloc(array, new_size*elem_size);
if (!tmp) {
av_log(NULL, AV_LOG_ERROR, "Could not alloc buffer.\n");
exit(1);
exit_program(1);
}
memset(tmp + *size*elem_size, 0, (new_size-*size) * elem_size);
*size = new_size;
@@ -1816,150 +1982,3 @@ void *grow_array(void *array, int elem_size, int *size, int new_size)
}
return array;
}
static int alloc_buffer(FrameBuffer **pool, AVCodecContext *s, FrameBuffer **pbuf)
{
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(s->pix_fmt);
FrameBuffer *buf;
int i, ret;
int pixel_size;
int h_chroma_shift, v_chroma_shift;
int edge = 32; // XXX should be avcodec_get_edge_width(), but that fails on svq1
int w = s->width, h = s->height;
if (!desc)
return AVERROR(EINVAL);
pixel_size = desc->comp[0].step_minus1 + 1;
buf = av_mallocz(sizeof(*buf));
if (!buf)
return AVERROR(ENOMEM);
avcodec_align_dimensions(s, &w, &h);
if (!(s->flags & CODEC_FLAG_EMU_EDGE)) {
w += 2*edge;
h += 2*edge;
}
if ((ret = av_image_alloc(buf->base, buf->linesize, w, h,
s->pix_fmt, 32)) < 0) {
av_freep(&buf);
av_log(s, AV_LOG_ERROR, "alloc_buffer: av_image_alloc() failed\n");
return ret;
}
/* XXX this shouldn't be needed, but some tests break without this line
* those decoders are buggy and need to be fixed.
* the following tests fail:
* cdgraphics, ansi, aasc, fraps-v1, qtrle-1bit
*/
memset(buf->base[0], 128, ret);
avcodec_get_chroma_sub_sample(s->pix_fmt, &h_chroma_shift, &v_chroma_shift);
for (i = 0; i < FF_ARRAY_ELEMS(buf->data); i++) {
const int h_shift = i==0 ? 0 : h_chroma_shift;
const int v_shift = i==0 ? 0 : v_chroma_shift;
if ((s->flags & CODEC_FLAG_EMU_EDGE) || !buf->linesize[i] || !buf->base[i])
buf->data[i] = buf->base[i];
else
buf->data[i] = buf->base[i] +
FFALIGN((buf->linesize[i]*edge >> v_shift) +
(pixel_size*edge >> h_shift), 32);
}
buf->w = s->width;
buf->h = s->height;
buf->pix_fmt = s->pix_fmt;
buf->pool = pool;
*pbuf = buf;
return 0;
}
int codec_get_buffer(AVCodecContext *s, AVFrame *frame)
{
FrameBuffer **pool = s->opaque;
FrameBuffer *buf;
int ret, i;
if(av_image_check_size(s->width, s->height, 0, s) || s->pix_fmt<0) {
av_log(s, AV_LOG_ERROR, "codec_get_buffer: image parameters invalid\n");
return -1;
}
if (!*pool && (ret = alloc_buffer(pool, s, pool)) < 0)
return ret;
buf = *pool;
*pool = buf->next;
buf->next = NULL;
if (buf->w != s->width || buf->h != s->height || buf->pix_fmt != s->pix_fmt) {
av_freep(&buf->base[0]);
av_free(buf);
if ((ret = alloc_buffer(pool, s, &buf)) < 0)
return ret;
}
av_assert0(!buf->refcount);
buf->refcount++;
frame->opaque = buf;
frame->type = FF_BUFFER_TYPE_USER;
frame->extended_data = frame->data;
for (i = 0; i < FF_ARRAY_ELEMS(buf->data); i++) {
frame->base[i] = buf->base[i]; // XXX h264.c uses base though it shouldn't
frame->data[i] = buf->data[i];
frame->linesize[i] = buf->linesize[i];
}
return 0;
}
static void unref_buffer(FrameBuffer *buf)
{
FrameBuffer **pool = buf->pool;
av_assert0(buf->refcount > 0);
buf->refcount--;
if (!buf->refcount) {
FrameBuffer *tmp;
for(tmp= *pool; tmp; tmp= tmp->next)
av_assert1(tmp != buf);
buf->next = *pool;
*pool = buf;
}
}
void codec_release_buffer(AVCodecContext *s, AVFrame *frame)
{
FrameBuffer *buf = frame->opaque;
int i;
if(frame->type!=FF_BUFFER_TYPE_USER) {
avcodec_default_release_buffer(s, frame);
return;
}
for (i = 0; i < FF_ARRAY_ELEMS(frame->data); i++)
frame->data[i] = NULL;
unref_buffer(buf);
}
void filter_release_buffer(AVFilterBuffer *fb)
{
FrameBuffer *buf = fb->priv;
av_free(fb);
unref_buffer(buf);
}
void free_buffer_pool(FrameBuffer **pool)
{
FrameBuffer *buf = *pool;
while (buf) {
*pool = buf->next;
av_freep(&buf->base[0]);
av_free(buf);
buf = *pool;
}
}
+41 -53
View File
@@ -51,8 +51,18 @@ extern const int this_year;
extern AVCodecContext *avcodec_opts[AVMEDIA_TYPE_NB];
extern AVFormatContext *avformat_opts;
extern struct SwsContext *sws_opts;
extern struct SwrContext *swr_opts;
extern AVDictionary *format_opts, *codec_opts;
extern AVDictionary *swr_opts;
extern AVDictionary *format_opts, *codec_opts, *resample_opts;
/**
* Register a program-specific cleanup routine.
*/
void register_exit(void (*cb)(int ret));
/**
* Wraps exit with a program-specific cleanup routine.
*/
void exit_program(int ret);
/**
* Initialize the cmdutils option system, in particular
@@ -71,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.
@@ -86,10 +101,10 @@ 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);
/**
* Limit the execution time.
*/
@@ -123,7 +138,7 @@ double parse_number_or_die(const char *context, const char *numstr, int type,
* not zero timestr is interpreted as a duration, otherwise as a
* date
*
* @see parse_date()
* @see av_parse_time()
*/
int64_t parse_time_or_die(const char *context, const char *timestr,
int is_duration);
@@ -162,6 +177,8 @@ typedef struct OptionDef {
an int containing element count in the array. */
#define OPT_TIME 0x10000
#define OPT_DOUBLE 0x20000
#define OPT_INPUT 0x40000
#define OPT_OUTPUT 0x80000
union {
void *dst_ptr;
int (*func_arg)(void *, const char *, const char *);
@@ -190,13 +207,13 @@ void show_help_options(const OptionDef *options, const char *msg, int req_flags,
void show_help_children(const AVClass *class, int flags);
/**
* Per-avtool specific help handler. Implemented in each
* avtool, called by show_help().
* Per-fftool specific help handler. Implemented in each
* fftool, called by show_help().
*/
void show_help_default(const char *opt, const char *arg);
/**
* Generic -h handler common to all avtools.
* Generic -h handler common to all fftools.
*/
int show_help(void *optctx, const char *opt, const char *arg);
@@ -242,6 +259,11 @@ typedef struct OptionGroupDef {
* are terminated by a non-option argument (e.g. ffmpeg output files)
*/
const char *sep;
/**
* Option flags that must be set on each option that is
* applied to this group
*/
int flags;
} OptionGroupDef;
typedef struct OptionGroup {
@@ -253,8 +275,9 @@ typedef struct OptionGroup {
AVDictionary *codec_opts;
AVDictionary *format_opts;
AVDictionary *resample_opts;
struct SwsContext *sws_opts;
struct SwrContext *swr_opts;
AVDictionary *swr_opts;
} OptionGroup;
/**
@@ -465,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.
*/
int 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.
@@ -478,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);
@@ -516,52 +545,11 @@ FILE *get_preset_file(char *filename, size_t filename_size,
*/
void *grow_array(void *array, int elem_size, int *size, int new_size);
#define media_type_string av_get_media_type_string
#define GROW_ARRAY(array, nb_elems)\
array = grow_array(array, sizeof(*array), &nb_elems, nb_elems + 1)
typedef struct FrameBuffer {
uint8_t *base[4];
uint8_t *data[4];
int linesize[4];
int h, w;
enum AVPixelFormat pix_fmt;
int refcount;
struct FrameBuffer **pool; ///< head of the buffer pool
struct FrameBuffer *next;
} FrameBuffer;
/**
* Get a frame from the pool. This is intended to be used as a callback for
* AVCodecContext.get_buffer.
*
* @param s codec context. s->opaque must be a pointer to the head of the
* buffer pool.
* @param frame frame->opaque will be set to point to the FrameBuffer
* containing the frame data.
*/
int codec_get_buffer(AVCodecContext *s, AVFrame *frame);
/**
* A callback to be used for AVCodecContext.release_buffer along with
* codec_get_buffer().
*/
void codec_release_buffer(AVCodecContext *s, AVFrame *frame);
/**
* A callback to be used for AVFilterBuffer.free.
* @param fb buffer to free. fb->priv must be a pointer to the FrameBuffer
* containing the buffer data.
*/
void filter_release_buffer(AVFilterBuffer *fb);
/**
* Free all the buffers in the pool. This must be called after all the
* buffers have been released.
*/
void free_buffer_pool(FrameBuffer **pool);
#define GET_PIX_FMT_NAME(pix_fmt)\
const char *name = av_get_pix_fmt_name(pix_fmt);
+7 -3
View File
@@ -14,8 +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" },
{ "loglevel" , HAS_ARG, {.func_arg = opt_loglevel}, "set libav* logging level", "loglevel" },
{ "v", HAS_ARG, {.func_arg = opt_loglevel}, "set libav* logging level", "loglevel" },
{ "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
+6 -4
View File
@@ -32,7 +32,7 @@ ASFLAGS := $(CPPFLAGS) $(ASFLAGS)
CXXFLAGS += $(CPPFLAGS) $(CFLAGS)
YASMFLAGS += $(IFLAGS:%=%/) -Pconfig.asm
HOSTCCFLAGS = $(IFLAGS) $(HOSTCFLAGS)
HOSTCCFLAGS = $(IFLAGS) $(HOSTCPPFLAGS) $(HOSTCFLAGS)
LDFLAGS := $(ALLFFLIBS:%=$(LD_PATH)lib%) $(LDFLAGS)
define COMPILE
@@ -99,8 +99,10 @@ 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))
SKIPHEADERS += $(ARCH_HEADERS:%=$(ARCH)/%) $(SKIPHEADERS-)
SKIPHEADERS := $(SKIPHEADERS:%=$(SUBDIR)%)
@@ -117,12 +119,12 @@ $(HOSTPROGS): %$(HOSTEXESUF): %.o
$(HOSTLD) $(HOSTLDFLAGS) $(HOSTLD_O) $< $(HOSTLIBS)
$(OBJS): | $(sort $(dir $(OBJS)))
$(HOBJS): | $(sort $(dir $(HOBJS)))
$(HOSTOBJS): | $(sort $(dir $(HOSTOBJS)))
$(TESTOBJS): | $(sort $(dir $(TESTOBJS)))
$(HOBJS): | $(sort $(dir $(HOBJS)))
$(TOOLOBJS): | tools
OBJDIRS := $(OBJDIRS) $(dir $(OBJS) $(HOSTOBJS) $(TESTOBJS) $(HOBJS))
OBJDIRS := $(OBJDIRS) $(dir $(OBJS) $(HOBJS) $(HOSTOBJS) $(TESTOBJS))
CLEANSUFFIXES = *.d *.o *~ *.h.c *.map *.ver *.ho *.gcno *.gcda
DISTCLEANSUFFIXES = *.pc
@@ -1,5 +1,6 @@
/*
* Copyright (c) 2008 Siarhei Siamashka <ssvb@users.sourceforge.net>
* Work around the class() function in AIX math.h clashing with
* identifiers named "class".
*
* This file is part of FFmpeg.
*
@@ -18,13 +19,13 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "libavcodec/dsputil.h"
#include "dsputil_arm.h"
#ifndef FFMPEG_COMPAT_AIX_MATH_H
#define FFMPEG_COMPAT_AIX_MATH_H
void ff_vector_fmul_reverse_vfp(float *dst, const float *src0,
const float *src1, int len);
#define class class_in_math_h_causes_problems
void ff_dsputil_init_vfp(DSPContext* c, AVCodecContext *avctx)
{
c->vector_fmul_reverse = ff_vector_fmul_reverse_vfp;
}
#include_next <math.h>
#undef class
#endif /* FFMPEG_COMPAT_AIX_MATH_H */
+879
View File
@@ -0,0 +1,879 @@
// Avisynth C Interface Version 0.20
// Copyright 2003 Kevin Atkinson
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program 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 General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA, or visit
// http://www.gnu.org/copyleft/gpl.html .
//
// As a special exception, I give you permission to link to the
// Avisynth C interface with independent modules that communicate with
// the Avisynth C interface solely through the interfaces defined in
// avisynth_c.h, regardless of the license terms of these independent
// modules, and to copy and distribute the resulting combined work
// under terms of your choice, provided that every copy of the
// combined work is accompanied by a complete copy of the source code
// of the Avisynth C interface and Avisynth itself (with the version
// used to produce the combined work), being distributed under the
// terms of the GNU General Public License plus this exception. An
// independent module is a module which is not derived from or based
// on Avisynth C Interface, such as 3rd-party filters, import and
// export plugins, or graphical user interfaces.
// NOTE: this is a partial update of the Avisynth C interface to recognize
// new color spaces added in Avisynth 2.60. By no means is this document
// completely Avisynth 2.60 compliant.
#ifndef __AVISYNTH_C__
#define __AVISYNTH_C__
#ifdef __cplusplus
# define EXTERN_C extern "C"
#else
# define EXTERN_C
#endif
#define AVSC_USE_STDCALL 1
#ifndef AVSC_USE_STDCALL
# define AVSC_CC __cdecl
#else
# define AVSC_CC __stdcall
#endif
#define AVSC_INLINE static __inline
#ifdef AVISYNTH_C_EXPORTS
# define AVSC_EXPORT EXTERN_C
# define AVSC_API(ret, name) EXTERN_C __declspec(dllexport) ret AVSC_CC name
#else
# define AVSC_EXPORT EXTERN_C __declspec(dllexport)
# ifndef AVSC_NO_DECLSPEC
# define AVSC_API(ret, name) EXTERN_C __declspec(dllimport) ret AVSC_CC name
# else
# define AVSC_API(ret, name) typedef ret (AVSC_CC *name##_func)
# endif
#endif
typedef unsigned char BYTE;
#ifdef __GNUC__
typedef long long int INT64;
#else
typedef __int64 INT64;
#endif
/////////////////////////////////////////////////////////////////////
//
// Constants
//
#ifndef __AVISYNTH_H__
enum { AVISYNTH_INTERFACE_VERSION = 4 };
#endif
enum {AVS_SAMPLE_INT8 = 1<<0,
AVS_SAMPLE_INT16 = 1<<1,
AVS_SAMPLE_INT24 = 1<<2,
AVS_SAMPLE_INT32 = 1<<3,
AVS_SAMPLE_FLOAT = 1<<4};
enum {AVS_PLANAR_Y=1<<0,
AVS_PLANAR_U=1<<1,
AVS_PLANAR_V=1<<2,
AVS_PLANAR_ALIGNED=1<<3,
AVS_PLANAR_Y_ALIGNED=AVS_PLANAR_Y|AVS_PLANAR_ALIGNED,
AVS_PLANAR_U_ALIGNED=AVS_PLANAR_U|AVS_PLANAR_ALIGNED,
AVS_PLANAR_V_ALIGNED=AVS_PLANAR_V|AVS_PLANAR_ALIGNED,
AVS_PLANAR_A=1<<4,
AVS_PLANAR_R=1<<5,
AVS_PLANAR_G=1<<6,
AVS_PLANAR_B=1<<7,
AVS_PLANAR_A_ALIGNED=AVS_PLANAR_A|AVS_PLANAR_ALIGNED,
AVS_PLANAR_R_ALIGNED=AVS_PLANAR_R|AVS_PLANAR_ALIGNED,
AVS_PLANAR_G_ALIGNED=AVS_PLANAR_G|AVS_PLANAR_ALIGNED,
AVS_PLANAR_B_ALIGNED=AVS_PLANAR_B|AVS_PLANAR_ALIGNED};
// Colorspace properties.
enum {AVS_CS_BGR = 1<<28,
AVS_CS_YUV = 1<<29,
AVS_CS_INTERLEAVED = 1<<30,
AVS_CS_PLANAR = 1<<31,
AVS_CS_SHIFT_SUB_WIDTH = 0,
AVS_CS_SHIFT_SUB_HEIGHT = 1 << 3,
AVS_CS_SHIFT_SAMPLE_BITS = 1 << 4,
AVS_CS_SUB_WIDTH_MASK = 7 << AVS_CS_SHIFT_SUB_WIDTH,
AVS_CS_SUB_WIDTH_1 = 3 << AVS_CS_SHIFT_SUB_WIDTH, // YV24
AVS_CS_SUB_WIDTH_2 = 0 << AVS_CS_SHIFT_SUB_WIDTH, // YV12, I420, YV16
AVS_CS_SUB_WIDTH_4 = 1 << AVS_CS_SHIFT_SUB_WIDTH, // YUV9, YV411
AVS_CS_VPLANEFIRST = 1 << 3, // YV12, YV16, YV24, YV411, YUV9
AVS_CS_UPLANEFIRST = 1 << 4, // I420
AVS_CS_SUB_HEIGHT_MASK = 7 << AVS_CS_SHIFT_SUB_HEIGHT,
AVS_CS_SUB_HEIGHT_1 = 3 << AVS_CS_SHIFT_SUB_HEIGHT, // YV16, YV24, YV411
AVS_CS_SUB_HEIGHT_2 = 0 << AVS_CS_SHIFT_SUB_HEIGHT, // YV12, I420
AVS_CS_SUB_HEIGHT_4 = 1 << AVS_CS_SHIFT_SUB_HEIGHT, // YUV9
AVS_CS_SAMPLE_BITS_MASK = 7 << AVS_CS_SHIFT_SAMPLE_BITS,
AVS_CS_SAMPLE_BITS_8 = 0 << AVS_CS_SHIFT_SAMPLE_BITS,
AVS_CS_SAMPLE_BITS_16 = 1 << AVS_CS_SHIFT_SAMPLE_BITS,
AVS_CS_SAMPLE_BITS_32 = 2 << AVS_CS_SHIFT_SAMPLE_BITS,
AVS_CS_PLANAR_MASK = AVS_CS_PLANAR | AVS_CS_INTERLEAVED | AVS_CS_YUV | AVS_CS_BGR | AVS_CS_SAMPLE_BITS_MASK | AVS_CS_SUB_HEIGHT_MASK | AVS_CS_SUB_WIDTH_MASK,
AVS_CS_PLANAR_FILTER = ~( AVS_CS_VPLANEFIRST | AVS_CS_UPLANEFIRST )};
// Specific colorformats
enum {
AVS_CS_UNKNOWN = 0,
AVS_CS_BGR24 = 1<<0 | AVS_CS_BGR | AVS_CS_INTERLEAVED,
AVS_CS_BGR32 = 1<<1 | AVS_CS_BGR | AVS_CS_INTERLEAVED,
AVS_CS_YUY2 = 1<<2 | AVS_CS_YUV | AVS_CS_INTERLEAVED,
// AVS_CS_YV12 = 1<<3 Reserved
// AVS_CS_I420 = 1<<4 Reserved
AVS_CS_RAW32 = 1<<5 | AVS_CS_INTERLEAVED,
AVS_CS_YV24 = AVS_CS_PLANAR | AVS_CS_YUV | AVS_CS_SAMPLE_BITS_8 | AVS_CS_VPLANEFIRST | AVS_CS_SUB_HEIGHT_1 | AVS_CS_SUB_WIDTH_1, // YVU 4:4:4 planar
AVS_CS_YV16 = AVS_CS_PLANAR | AVS_CS_YUV | AVS_CS_SAMPLE_BITS_8 | AVS_CS_VPLANEFIRST | AVS_CS_SUB_HEIGHT_1 | AVS_CS_SUB_WIDTH_2, // YVU 4:2:2 planar
AVS_CS_YV12 = AVS_CS_PLANAR | AVS_CS_YUV | AVS_CS_SAMPLE_BITS_8 | AVS_CS_VPLANEFIRST | AVS_CS_SUB_HEIGHT_2 | AVS_CS_SUB_WIDTH_2, // YVU 4:2:0 planar
AVS_CS_I420 = AVS_CS_PLANAR | AVS_CS_YUV | AVS_CS_SAMPLE_BITS_8 | AVS_CS_UPLANEFIRST | AVS_CS_SUB_HEIGHT_2 | AVS_CS_SUB_WIDTH_2, // YUV 4:2:0 planar
AVS_CS_IYUV = AVS_CS_I420,
AVS_CS_YV411 = AVS_CS_PLANAR | AVS_CS_YUV | AVS_CS_SAMPLE_BITS_8 | AVS_CS_VPLANEFIRST | AVS_CS_SUB_HEIGHT_1 | AVS_CS_SUB_WIDTH_4, // YVU 4:1:1 planar
AVS_CS_YUV9 = AVS_CS_PLANAR | AVS_CS_YUV | AVS_CS_SAMPLE_BITS_8 | AVS_CS_VPLANEFIRST | AVS_CS_SUB_HEIGHT_4 | AVS_CS_SUB_WIDTH_4, // YVU 4:1:0 planar
AVS_CS_Y8 = AVS_CS_PLANAR | AVS_CS_INTERLEAVED | AVS_CS_YUV | AVS_CS_SAMPLE_BITS_8 // Y 4:0:0 planar
};
enum {
AVS_IT_BFF = 1<<0,
AVS_IT_TFF = 1<<1,
AVS_IT_FIELDBASED = 1<<2};
enum {
AVS_FILTER_TYPE=1,
AVS_FILTER_INPUT_COLORSPACE=2,
AVS_FILTER_OUTPUT_TYPE=9,
AVS_FILTER_NAME=4,
AVS_FILTER_AUTHOR=5,
AVS_FILTER_VERSION=6,
AVS_FILTER_ARGS=7,
AVS_FILTER_ARGS_INFO=8,
AVS_FILTER_ARGS_DESCRIPTION=10,
AVS_FILTER_DESCRIPTION=11};
enum { //SUBTYPES
AVS_FILTER_TYPE_AUDIO=1,
AVS_FILTER_TYPE_VIDEO=2,
AVS_FILTER_OUTPUT_TYPE_SAME=3,
AVS_FILTER_OUTPUT_TYPE_DIFFERENT=4};
enum {
AVS_CACHE_NOTHING=0,
AVS_CACHE_RANGE=1,
AVS_CACHE_ALL=2,
AVS_CACHE_AUDIO=3,
AVS_CACHE_AUDIO_NONE=4,
AVS_CACHE_AUDIO_AUTO=5
};
#define AVS_FRAME_ALIGN 16
typedef struct AVS_Clip AVS_Clip;
typedef struct AVS_ScriptEnvironment AVS_ScriptEnvironment;
/////////////////////////////////////////////////////////////////////
//
// AVS_VideoInfo
//
// AVS_VideoInfo is layed out identicly to VideoInfo
typedef struct AVS_VideoInfo {
int width, height; // width=0 means no video
unsigned fps_numerator, fps_denominator;
int num_frames;
int pixel_type;
int audio_samples_per_second; // 0 means no audio
int sample_type;
INT64 num_audio_samples;
int nchannels;
// Imagetype properties
int image_type;
} AVS_VideoInfo;
// useful functions of the above
AVSC_INLINE int avs_has_video(const AVS_VideoInfo * p)
{ return (p->width!=0); }
AVSC_INLINE int avs_has_audio(const AVS_VideoInfo * p)
{ return (p->audio_samples_per_second!=0); }
AVSC_INLINE int avs_is_rgb(const AVS_VideoInfo * p)
{ return !!(p->pixel_type&AVS_CS_BGR); }
AVSC_INLINE int avs_is_rgb24(const AVS_VideoInfo * p)
{ return (p->pixel_type&AVS_CS_BGR24)==AVS_CS_BGR24; } // Clear out additional properties
AVSC_INLINE int avs_is_rgb32(const AVS_VideoInfo * p)
{ return (p->pixel_type & AVS_CS_BGR32) == AVS_CS_BGR32 ; }
AVSC_INLINE int avs_is_yuv(const AVS_VideoInfo * p)
{ return !!(p->pixel_type&AVS_CS_YUV ); }
AVSC_INLINE int avs_is_yuy2(const AVS_VideoInfo * p)
{ return (p->pixel_type & AVS_CS_YUY2) == AVS_CS_YUY2; }
AVSC_INLINE int avs_is_yv24(const AVS_VideoInfo * p)
{ return (p->pixel_type & AVS_CS_PLANAR_MASK) == (AVS_CS_YV24 & AVS_CS_PLANAR_FILTER); }
AVSC_INLINE int avs_is_yv16(const AVS_VideoInfo * p)
{ return (p->pixel_type & AVS_CS_PLANAR_MASK) == (AVS_CS_YV16 & AVS_CS_PLANAR_FILTER); }
AVSC_INLINE int avs_is_yv12(const AVS_VideoInfo * p)
{ return (p->pixel_type & AVS_CS_PLANAR_MASK) == (AVS_CS_YV12 & AVS_CS_PLANAR_FILTER); }
AVSC_INLINE int avs_is_yv411(const AVS_VideoInfo * p)
{ return (p->pixel_type & AVS_CS_PLANAR_MASK) == (AVS_CS_YV411 & AVS_CS_PLANAR_FILTER); }
AVSC_INLINE int avs_is_y8(const AVS_VideoInfo * p)
{ return (p->pixel_type & AVS_CS_PLANAR_MASK) == (AVS_CS_Y8 & AVS_CS_PLANAR_FILTER); }
AVSC_INLINE int avs_is_property(const AVS_VideoInfo * p, int property)
{ return ((p->pixel_type & property)==property ); }
AVSC_INLINE int avs_is_planar(const AVS_VideoInfo * p)
{ return !!(p->pixel_type & AVS_CS_PLANAR); }
AVSC_INLINE int avs_is_color_space(const AVS_VideoInfo * p, int c_space)
{ return avs_is_planar(p) ? ((p->pixel_type & AVS_CS_PLANAR_MASK) == (c_space & AVS_CS_PLANAR_FILTER)) : ((p->pixel_type & c_space) == c_space); }
AVSC_INLINE int avs_is_field_based(const AVS_VideoInfo * p)
{ return !!(p->image_type & AVS_IT_FIELDBASED); }
AVSC_INLINE int avs_is_parity_known(const AVS_VideoInfo * p)
{ return ((p->image_type & AVS_IT_FIELDBASED)&&(p->image_type & (AVS_IT_BFF | AVS_IT_TFF))); }
AVSC_INLINE int avs_is_bff(const AVS_VideoInfo * p)
{ return !!(p->image_type & AVS_IT_BFF); }
AVSC_INLINE int avs_is_tff(const AVS_VideoInfo * p)
{ return !!(p->image_type & AVS_IT_TFF); }
AVSC_INLINE int avs_bits_per_pixel(const AVS_VideoInfo * p)
{
switch (p->pixel_type) {
case AVS_CS_BGR24: return 24;
case AVS_CS_BGR32: return 32;
case AVS_CS_YUY2: return 16;
case AVS_CS_YV12:
case AVS_CS_I420: return 12;
default: return 0;
}
}
AVSC_INLINE int avs_bytes_from_pixels(const AVS_VideoInfo * p, int pixels)
{ return pixels * (avs_bits_per_pixel(p)>>3); } // Will work on planar images, but will return only luma planes
AVSC_INLINE int avs_row_size(const AVS_VideoInfo * p)
{ return avs_bytes_from_pixels(p,p->width); } // Also only returns first plane on planar images
AVSC_INLINE int avs_bmp_size(const AVS_VideoInfo * vi)
{ if (avs_is_planar(vi)) {int p = vi->height * ((avs_row_size(vi)+3) & ~3); p+=p>>1; return p; } return vi->height * ((avs_row_size(vi)+3) & ~3); }
AVSC_INLINE int avs_samples_per_second(const AVS_VideoInfo * p)
{ return p->audio_samples_per_second; }
AVSC_INLINE int avs_bytes_per_channel_sample(const AVS_VideoInfo * p)
{
switch (p->sample_type) {
case AVS_SAMPLE_INT8: return sizeof(signed char);
case AVS_SAMPLE_INT16: return sizeof(signed short);
case AVS_SAMPLE_INT24: return 3;
case AVS_SAMPLE_INT32: return sizeof(signed int);
case AVS_SAMPLE_FLOAT: return sizeof(float);
default: return 0;
}
}
AVSC_INLINE int avs_bytes_per_audio_sample(const AVS_VideoInfo * p)
{ return p->nchannels*avs_bytes_per_channel_sample(p);}
AVSC_INLINE INT64 avs_audio_samples_from_frames(const AVS_VideoInfo * p, INT64 frames)
{ return ((INT64)(frames) * p->audio_samples_per_second * p->fps_denominator / p->fps_numerator); }
AVSC_INLINE int avs_frames_from_audio_samples(const AVS_VideoInfo * p, INT64 samples)
{ return (int)(samples * (INT64)p->fps_numerator / (INT64)p->fps_denominator / (INT64)p->audio_samples_per_second); }
AVSC_INLINE INT64 avs_audio_samples_from_bytes(const AVS_VideoInfo * p, INT64 bytes)
{ return bytes / avs_bytes_per_audio_sample(p); }
AVSC_INLINE INT64 avs_bytes_from_audio_samples(const AVS_VideoInfo * p, INT64 samples)
{ return samples * avs_bytes_per_audio_sample(p); }
AVSC_INLINE int avs_audio_channels(const AVS_VideoInfo * p)
{ return p->nchannels; }
AVSC_INLINE int avs_sample_type(const AVS_VideoInfo * p)
{ return p->sample_type;}
// useful mutator
AVSC_INLINE void avs_set_property(AVS_VideoInfo * p, int property)
{ p->image_type|=property; }
AVSC_INLINE void avs_clear_property(AVS_VideoInfo * p, int property)
{ p->image_type&=~property; }
AVSC_INLINE void avs_set_field_based(AVS_VideoInfo * p, int isfieldbased)
{ if (isfieldbased) p->image_type|=AVS_IT_FIELDBASED; else p->image_type&=~AVS_IT_FIELDBASED; }
AVSC_INLINE void avs_set_fps(AVS_VideoInfo * p, unsigned numerator, unsigned denominator)
{
unsigned x=numerator, y=denominator;
while (y) { // find gcd
unsigned t = x%y; x = y; y = t;
}
p->fps_numerator = numerator/x;
p->fps_denominator = denominator/x;
}
AVSC_INLINE int avs_is_same_colorspace(AVS_VideoInfo * x, AVS_VideoInfo * y)
{
return (x->pixel_type == y->pixel_type)
|| (avs_is_yv12(x) && avs_is_yv12(y));
}
/////////////////////////////////////////////////////////////////////
//
// AVS_VideoFrame
//
// VideoFrameBuffer holds information about a memory block which is used
// for video data. For efficiency, instances of this class are not deleted
// when the refcount reaches zero; instead they're stored in a linked list
// to be reused. The instances are deleted when the corresponding AVS
// file is closed.
// AVS_VideoFrameBuffer is layed out identicly to VideoFrameBuffer
// DO NOT USE THIS STRUCTURE DIRECTLY
typedef struct AVS_VideoFrameBuffer {
BYTE * data;
int data_size;
// sequence_number is incremented every time the buffer is changed, so
// that stale views can tell they're no longer valid.
volatile long sequence_number;
volatile long refcount;
} AVS_VideoFrameBuffer;
// VideoFrame holds a "window" into a VideoFrameBuffer.
// AVS_VideoFrame is layed out identicly to IVideoFrame
// DO NOT USE THIS STRUCTURE DIRECTLY
typedef struct AVS_VideoFrame {
volatile long refcount;
AVS_VideoFrameBuffer * vfb;
int offset, pitch, row_size, height, offsetU, offsetV, pitchUV; // U&V offsets are from top of picture.
int row_sizeUV, heightUV;
} AVS_VideoFrame;
// Access functions for AVS_VideoFrame
AVSC_INLINE int avs_get_pitch(const AVS_VideoFrame * p) {
return p->pitch;}
AVSC_INLINE int avs_get_pitch_p(const AVS_VideoFrame * p, int plane) {
switch (plane) {
case AVS_PLANAR_U: case AVS_PLANAR_V: return p->pitchUV;}
return p->pitch;}
AVSC_INLINE int avs_get_row_size(const AVS_VideoFrame * p) {
return p->row_size; }
AVSC_INLINE int avs_get_row_size_p(const AVS_VideoFrame * p, int plane) {
int r;
switch (plane) {
case AVS_PLANAR_U: case AVS_PLANAR_V:
if (p->pitchUV) return p->row_sizeUV;
else return 0;
case AVS_PLANAR_U_ALIGNED: case AVS_PLANAR_V_ALIGNED:
if (p->pitchUV) {
r = (p->row_sizeUV+AVS_FRAME_ALIGN-1)&(~(AVS_FRAME_ALIGN-1)); // Aligned rowsize
if (r < p->pitchUV)
return r;
return p->row_sizeUV;
} 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_get_height(const AVS_VideoFrame * p) {
return p->height;}
AVSC_INLINE int avs_get_height_p(const AVS_VideoFrame * p, int plane) {
switch (plane) {
case AVS_PLANAR_U: case AVS_PLANAR_V:
if (p->pitchUV) return p->heightUV;
return 0;
}
return p->height;}
AVSC_INLINE const BYTE* avs_get_read_ptr(const AVS_VideoFrame * p) {
return p->vfb->data + p->offset;}
AVSC_INLINE const BYTE* avs_get_read_ptr_p(const AVS_VideoFrame * p, int plane)
{
switch (plane) {
case AVS_PLANAR_U: return p->vfb->data + p->offsetU;
case AVS_PLANAR_V: return p->vfb->data + p->offsetV;
default: return p->vfb->data + p->offset;}
}
AVSC_INLINE int avs_is_writable(const AVS_VideoFrame * p) {
return (p->refcount == 1 && p->vfb->refcount == 1);}
AVSC_INLINE BYTE* avs_get_write_ptr(const AVS_VideoFrame * p)
{
if (avs_is_writable(p)) {
++p->vfb->sequence_number;
return p->vfb->data + p->offset;
} else
return 0;
}
AVSC_INLINE BYTE* avs_get_write_ptr_p(const AVS_VideoFrame * p, int plane)
{
if (plane==AVS_PLANAR_Y && avs_is_writable(p)) {
++p->vfb->sequence_number;
return p->vfb->data + p->offset;
} else if (plane==AVS_PLANAR_Y) {
return 0;
} else {
switch (plane) {
case AVS_PLANAR_U: return p->vfb->data + p->offsetU;
case AVS_PLANAR_V: return p->vfb->data + p->offsetV;
default: return p->vfb->data + p->offset;
}
}
}
AVSC_API(void, avs_release_video_frame)(AVS_VideoFrame *);
// makes a shallow copy of a video frame
AVSC_API(AVS_VideoFrame *, avs_copy_video_frame)(AVS_VideoFrame *);
#ifndef AVSC_NO_DECLSPEC
AVSC_INLINE void avs_release_frame(AVS_VideoFrame * f)
{avs_release_video_frame(f);}
AVSC_INLINE AVS_VideoFrame * avs_copy_frame(AVS_VideoFrame * f)
{return avs_copy_video_frame(f);}
#endif
/////////////////////////////////////////////////////////////////////
//
// AVS_Value
//
// Treat AVS_Value as a fat pointer. That is use avs_copy_value
// and avs_release_value appropiaty as you would if AVS_Value was
// a pointer.
// To maintain source code compatibility with future versions of the
// avisynth_c API don't use the AVS_Value directly. Use the helper
// functions below.
// AVS_Value is layed out identicly to AVSValue
typedef struct AVS_Value AVS_Value;
struct AVS_Value {
short type; // 'a'rray, 'c'lip, 'b'ool, 'i'nt, 'f'loat, 's'tring, 'v'oid, or 'l'ong
// for some function e'rror
short array_size;
union {
void * clip; // do not use directly, use avs_take_clip
char boolean;
int integer;
float floating_pt;
const char * string;
const AVS_Value * array;
} d;
};
// AVS_Value should be initilized with avs_void.
// Should also set to avs_void after the value is released
// with avs_copy_value. Consider it the equalvent of setting
// a pointer to NULL
static const AVS_Value avs_void = {'v'};
AVSC_API(void, avs_copy_value)(AVS_Value * dest, AVS_Value src);
AVSC_API(void, avs_release_value)(AVS_Value);
AVSC_INLINE int avs_defined(AVS_Value v) { return v.type != 'v'; }
AVSC_INLINE int avs_is_clip(AVS_Value v) { return v.type == 'c'; }
AVSC_INLINE int avs_is_bool(AVS_Value v) { return v.type == 'b'; }
AVSC_INLINE int avs_is_int(AVS_Value v) { return v.type == 'i'; }
AVSC_INLINE int avs_is_float(AVS_Value v) { return v.type == 'f' || v.type == 'i'; }
AVSC_INLINE int avs_is_string(AVS_Value v) { return v.type == 's'; }
AVSC_INLINE int avs_is_array(AVS_Value v) { return v.type == 'a'; }
AVSC_INLINE int avs_is_error(AVS_Value v) { return v.type == 'e'; }
AVSC_API(AVS_Clip *, avs_take_clip)(AVS_Value, AVS_ScriptEnvironment *);
AVSC_API(void, avs_set_to_clip)(AVS_Value *, AVS_Clip *);
AVSC_INLINE int avs_as_bool(AVS_Value v)
{ return v.d.boolean; }
AVSC_INLINE int avs_as_int(AVS_Value v)
{ return v.d.integer; }
AVSC_INLINE const char * avs_as_string(AVS_Value v)
{ return avs_is_error(v) || avs_is_string(v) ? v.d.string : 0; }
AVSC_INLINE double avs_as_float(AVS_Value v)
{ return avs_is_int(v) ? v.d.integer : v.d.floating_pt; }
AVSC_INLINE const char * avs_as_error(AVS_Value v)
{ return avs_is_error(v) ? v.d.string : 0; }
AVSC_INLINE const AVS_Value * avs_as_array(AVS_Value v)
{ return v.d.array; }
AVSC_INLINE int avs_array_size(AVS_Value v)
{ return avs_is_array(v) ? v.array_size : 1; }
AVSC_INLINE AVS_Value avs_array_elt(AVS_Value v, int index)
{ return avs_is_array(v) ? v.d.array[index] : v; }
// only use these functions on an AVS_Value that does not already have
// an active value. Remember, treat AVS_Value as a fat pointer.
AVSC_INLINE AVS_Value avs_new_value_bool(int v0)
{ AVS_Value v; v.type = 'b'; v.d.boolean = v0 == 0 ? 0 : 1; return v; }
AVSC_INLINE AVS_Value avs_new_value_int(int v0)
{ AVS_Value v; v.type = 'i'; v.d.integer = v0; return v; }
AVSC_INLINE AVS_Value avs_new_value_string(const char * v0)
{ AVS_Value v; v.type = 's'; v.d.string = v0; return v; }
AVSC_INLINE AVS_Value avs_new_value_float(float v0)
{ AVS_Value v; v.type = 'f'; v.d.floating_pt = v0; return v;}
AVSC_INLINE AVS_Value avs_new_value_error(const char * v0)
{ AVS_Value v; v.type = 'e'; v.d.string = v0; return v; }
#ifndef AVSC_NO_DECLSPEC
AVSC_INLINE AVS_Value avs_new_value_clip(AVS_Clip * v0)
{ AVS_Value v; avs_set_to_clip(&v, v0); return v; }
#endif
AVSC_INLINE AVS_Value avs_new_value_array(AVS_Value * v0, int size)
{ AVS_Value v; v.type = 'a'; v.d.array = v0; v.array_size = size; return v; }
/////////////////////////////////////////////////////////////////////
//
// AVS_Clip
//
AVSC_API(void, avs_release_clip)(AVS_Clip *);
AVSC_API(AVS_Clip *, avs_copy_clip)(AVS_Clip *);
AVSC_API(const char *, avs_clip_get_error)(AVS_Clip *); // return 0 if no error
AVSC_API(const AVS_VideoInfo *, avs_get_video_info)(AVS_Clip *);
AVSC_API(int, avs_get_version)(AVS_Clip *);
AVSC_API(AVS_VideoFrame *, avs_get_frame)(AVS_Clip *, int n);
// The returned video frame must be released with avs_release_video_frame
AVSC_API(int, avs_get_parity)(AVS_Clip *, int n);
// return field parity if field_based, else parity of first field in frame
AVSC_API(int, avs_get_audio)(AVS_Clip *, void * buf,
INT64 start, INT64 count);
// start and count are in samples
AVSC_API(int, avs_set_cache_hints)(AVS_Clip *,
int cachehints, int frame_range);
// This is the callback type used by avs_add_function
typedef AVS_Value (AVSC_CC * AVS_ApplyFunc)
(AVS_ScriptEnvironment *, AVS_Value args, void * user_data);
typedef struct AVS_FilterInfo AVS_FilterInfo;
struct AVS_FilterInfo
{
// these members should not be modified outside of the AVS_ApplyFunc callback
AVS_Clip * child;
AVS_VideoInfo vi;
AVS_ScriptEnvironment * env;
AVS_VideoFrame * (AVSC_CC * get_frame)(AVS_FilterInfo *, int n);
int (AVSC_CC * get_parity)(AVS_FilterInfo *, int n);
int (AVSC_CC * get_audio)(AVS_FilterInfo *, void * buf,
INT64 start, INT64 count);
int (AVSC_CC * set_cache_hints)(AVS_FilterInfo *, int cachehints,
int frame_range);
void (AVSC_CC * free_filter)(AVS_FilterInfo *);
// Should be set when ever there is an error to report.
// It is cleared before any of the above methods are called
const char * error;
// this is to store whatever and may be modified at will
void * user_data;
};
// Create a new filter
// fi is set to point to the AVS_FilterInfo so that you can
// modify it once it is initilized.
// store_child should generally be set to true. If it is not
// set than ALL methods (the function pointers) must be defined
// If it is set than you do not need to worry about freeing the child
// clip.
AVSC_API(AVS_Clip *, avs_new_c_filter)(AVS_ScriptEnvironment * e,
AVS_FilterInfo * * fi,
AVS_Value child, int store_child);
/////////////////////////////////////////////////////////////////////
//
// AVS_ScriptEnvironment
//
// For GetCPUFlags. These are backwards-compatible with those in VirtualDub.
enum {
/* slowest CPU to support extension */
AVS_CPU_FORCE = 0x01, // N/A
AVS_CPU_FPU = 0x02, // 386/486DX
AVS_CPU_MMX = 0x04, // P55C, K6, PII
AVS_CPU_INTEGER_SSE = 0x08, // PIII, Athlon
AVS_CPU_SSE = 0x10, // PIII, Athlon XP/MP
AVS_CPU_SSE2 = 0x20, // PIV, Hammer
AVS_CPU_3DNOW = 0x40, // K6-2
AVS_CPU_3DNOW_EXT = 0x80, // Athlon
AVS_CPU_X86_64 = 0xA0, // Hammer (note: equiv. to 3DNow + SSE2,
// which only Hammer will have anyway)
AVS_CPUF_SSE3 = 0x100, // PIV+, K8 Venice
AVS_CPUF_SSSE3 = 0x200, // Core 2
AVS_CPUF_SSE4 = 0x400, // Penryn, Wolfdale, Yorkfield
AVS_CPUF_SSE4_1 = 0x400,
AVS_CPUF_SSE4_2 = 0x800, // Nehalem
};
AVSC_API(const char *, avs_get_error)(AVS_ScriptEnvironment *); // return 0 if no error
AVSC_API(long, avs_get_cpu_flags)(AVS_ScriptEnvironment *);
AVSC_API(int, avs_check_version)(AVS_ScriptEnvironment *, int version);
AVSC_API(char *, avs_save_string)(AVS_ScriptEnvironment *, const char* s, int length);
AVSC_API(char *, avs_sprintf)(AVS_ScriptEnvironment *, const char * fmt, ...);
AVSC_API(char *, avs_vsprintf)(AVS_ScriptEnvironment *, const char * fmt, void* val);
// note: val is really a va_list; I hope everyone typedefs va_list to a pointer
AVSC_API(int, avs_add_function)(AVS_ScriptEnvironment *,
const char * name, const char * params,
AVS_ApplyFunc apply, void * user_data);
AVSC_API(int, avs_function_exists)(AVS_ScriptEnvironment *, const char * name);
AVSC_API(AVS_Value, avs_invoke)(AVS_ScriptEnvironment *, const char * name,
AVS_Value args, const char** arg_names);
// The returned value must be be released with avs_release_value
AVSC_API(AVS_Value, avs_get_var)(AVS_ScriptEnvironment *, const char* name);
// The returned value must be be released with avs_release_value
AVSC_API(int, avs_set_var)(AVS_ScriptEnvironment *, const char* name, AVS_Value val);
AVSC_API(int, avs_set_global_var)(AVS_ScriptEnvironment *, const char* name, const AVS_Value val);
//void avs_push_context(AVS_ScriptEnvironment *, int level=0);
//void avs_pop_context(AVS_ScriptEnvironment *);
AVSC_API(AVS_VideoFrame *, avs_new_video_frame_a)(AVS_ScriptEnvironment *,
const AVS_VideoInfo * vi, int align);
// align should be at least 16
#ifndef AVSC_NO_DECLSPEC
AVSC_INLINE
AVS_VideoFrame * avs_new_video_frame(AVS_ScriptEnvironment * env,
const AVS_VideoInfo * vi)
{return avs_new_video_frame_a(env,vi,AVS_FRAME_ALIGN);}
AVSC_INLINE
AVS_VideoFrame * avs_new_frame(AVS_ScriptEnvironment * env,
const AVS_VideoInfo * vi)
{return avs_new_video_frame_a(env,vi,AVS_FRAME_ALIGN);}
#endif
AVSC_API(int, avs_make_writable)(AVS_ScriptEnvironment *, AVS_VideoFrame * * pvf);
AVSC_API(void, avs_bit_blt)(AVS_ScriptEnvironment *, BYTE* dstp, int dst_pitch, const BYTE* srcp, int src_pitch, int row_size, int height);
typedef void (AVSC_CC *AVS_ShutdownFunc)(void* user_data, AVS_ScriptEnvironment * env);
AVSC_API(void, avs_at_exit)(AVS_ScriptEnvironment *, AVS_ShutdownFunc function, void * user_data);
AVSC_API(AVS_VideoFrame *, avs_subframe)(AVS_ScriptEnvironment *, AVS_VideoFrame * src, int rel_offset, int new_pitch, int new_row_size, int new_height);
// The returned video frame must be be released
AVSC_API(int, avs_set_memory_max)(AVS_ScriptEnvironment *, int mem);
AVSC_API(int, avs_set_working_dir)(AVS_ScriptEnvironment *, const char * newdir);
// avisynth.dll exports this; it's a way to use it as a library, without
// writing an AVS script or without going through AVIFile.
AVSC_API(AVS_ScriptEnvironment *, avs_create_script_environment)(int version);
// this symbol is the entry point for the plugin and must
// be defined
AVSC_EXPORT
const char * AVSC_CC avisynth_c_plugin_init(AVS_ScriptEnvironment* env);
AVSC_API(void, avs_delete_script_environment)(AVS_ScriptEnvironment *);
AVSC_API(AVS_VideoFrame *, avs_subframe_planar)(AVS_ScriptEnvironment *, AVS_VideoFrame * src, int rel_offset, int new_pitch, int new_row_size, int new_height, int rel_offsetU, int rel_offsetV, int new_pitchUV);
// The returned video frame must be be released
#ifdef AVSC_NO_DECLSPEC
// use LoadLibrary and related functions to dynamically load Avisynth instead of declspec(dllimport)
/*
The following functions needs to have been declared, probably from windows.h
void* malloc(size_t)
void free(void*);
HMODULE LoadLibrary(const char*);
void* GetProcAddress(HMODULE, const char*);
FreeLibrary(HMODULE);
*/
typedef struct AVS_Library AVS_Library;
#define AVSC_DECLARE_FUNC(name) name##_func name
struct AVS_Library {
HMODULE handle;
AVSC_DECLARE_FUNC(avs_add_function);
AVSC_DECLARE_FUNC(avs_at_exit);
AVSC_DECLARE_FUNC(avs_bit_blt);
AVSC_DECLARE_FUNC(avs_check_version);
AVSC_DECLARE_FUNC(avs_clip_get_error);
AVSC_DECLARE_FUNC(avs_copy_clip);
AVSC_DECLARE_FUNC(avs_copy_value);
AVSC_DECLARE_FUNC(avs_copy_video_frame);
AVSC_DECLARE_FUNC(avs_create_script_environment);
AVSC_DECLARE_FUNC(avs_delete_script_environment);
AVSC_DECLARE_FUNC(avs_function_exists);
AVSC_DECLARE_FUNC(avs_get_audio);
AVSC_DECLARE_FUNC(avs_get_cpu_flags);
AVSC_DECLARE_FUNC(avs_get_error);
AVSC_DECLARE_FUNC(avs_get_frame);
AVSC_DECLARE_FUNC(avs_get_parity);
AVSC_DECLARE_FUNC(avs_get_var);
AVSC_DECLARE_FUNC(avs_get_version);
AVSC_DECLARE_FUNC(avs_get_video_info);
AVSC_DECLARE_FUNC(avs_invoke);
AVSC_DECLARE_FUNC(avs_make_writable);
AVSC_DECLARE_FUNC(avs_new_c_filter);
AVSC_DECLARE_FUNC(avs_new_video_frame_a);
AVSC_DECLARE_FUNC(avs_release_clip);
AVSC_DECLARE_FUNC(avs_release_value);
AVSC_DECLARE_FUNC(avs_release_video_frame);
AVSC_DECLARE_FUNC(avs_save_string);
AVSC_DECLARE_FUNC(avs_set_cache_hints);
AVSC_DECLARE_FUNC(avs_set_global_var);
AVSC_DECLARE_FUNC(avs_set_memory_max);
AVSC_DECLARE_FUNC(avs_set_to_clip);
AVSC_DECLARE_FUNC(avs_set_var);
AVSC_DECLARE_FUNC(avs_set_working_dir);
AVSC_DECLARE_FUNC(avs_sprintf);
AVSC_DECLARE_FUNC(avs_subframe);
AVSC_DECLARE_FUNC(avs_subframe_planar);
AVSC_DECLARE_FUNC(avs_take_clip);
AVSC_DECLARE_FUNC(avs_vsprintf);
};
#undef AVSC_DECLARE_FUNC
AVSC_INLINE AVS_Library * avs_load_library() {
AVS_Library *library = (AVS_Library *)malloc(sizeof(AVS_Library));
if (library == NULL)
return NULL;
library->handle = LoadLibrary("avisynth");
if (library->handle == NULL)
goto fail;
#define __AVSC_STRINGIFY(x) #x
#define AVSC_STRINGIFY(x) __AVSC_STRINGIFY(x)
#define AVSC_LOAD_FUNC(name) {\
library->name = (name##_func) GetProcAddress(library->handle, AVSC_STRINGIFY(name));\
if (library->name == NULL)\
goto fail;\
}
AVSC_LOAD_FUNC(avs_add_function);
AVSC_LOAD_FUNC(avs_at_exit);
AVSC_LOAD_FUNC(avs_bit_blt);
AVSC_LOAD_FUNC(avs_check_version);
AVSC_LOAD_FUNC(avs_clip_get_error);
AVSC_LOAD_FUNC(avs_copy_clip);
AVSC_LOAD_FUNC(avs_copy_value);
AVSC_LOAD_FUNC(avs_copy_video_frame);
AVSC_LOAD_FUNC(avs_create_script_environment);
AVSC_LOAD_FUNC(avs_delete_script_environment);
AVSC_LOAD_FUNC(avs_function_exists);
AVSC_LOAD_FUNC(avs_get_audio);
AVSC_LOAD_FUNC(avs_get_cpu_flags);
AVSC_LOAD_FUNC(avs_get_error);
AVSC_LOAD_FUNC(avs_get_frame);
AVSC_LOAD_FUNC(avs_get_parity);
AVSC_LOAD_FUNC(avs_get_var);
AVSC_LOAD_FUNC(avs_get_version);
AVSC_LOAD_FUNC(avs_get_video_info);
AVSC_LOAD_FUNC(avs_invoke);
AVSC_LOAD_FUNC(avs_make_writable);
AVSC_LOAD_FUNC(avs_new_c_filter);
AVSC_LOAD_FUNC(avs_new_video_frame_a);
AVSC_LOAD_FUNC(avs_release_clip);
AVSC_LOAD_FUNC(avs_release_value);
AVSC_LOAD_FUNC(avs_release_video_frame);
AVSC_LOAD_FUNC(avs_save_string);
AVSC_LOAD_FUNC(avs_set_cache_hints);
AVSC_LOAD_FUNC(avs_set_global_var);
AVSC_LOAD_FUNC(avs_set_memory_max);
AVSC_LOAD_FUNC(avs_set_to_clip);
AVSC_LOAD_FUNC(avs_set_var);
AVSC_LOAD_FUNC(avs_set_working_dir);
AVSC_LOAD_FUNC(avs_sprintf);
AVSC_LOAD_FUNC(avs_subframe);
AVSC_LOAD_FUNC(avs_subframe_planar);
AVSC_LOAD_FUNC(avs_take_clip);
AVSC_LOAD_FUNC(avs_vsprintf);
#undef __AVSC_STRINGIFY
#undef AVSC_STRINGIFY
#undef AVSC_LOAD_FUNC
return library;
fail:
free(library);
return NULL;
}
AVSC_INLINE void avs_free_library(AVS_Library *library) {
if (library == NULL)
return;
FreeLibrary(library->handle);
free(library);
}
#endif
#endif
+68
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); }
+727
View File
@@ -0,0 +1,727 @@
// Avisynth C Interface Version 0.20
// Copyright 2003 Kevin Atkinson
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program 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 General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA, or visit
// http://www.gnu.org/copyleft/gpl.html .
//
// As a special exception, I give you permission to link to the
// Avisynth C interface with independent modules that communicate with
// the Avisynth C interface solely through the interfaces defined in
// avisynth_c.h, regardless of the license terms of these independent
// modules, and to copy and distribute the resulting combined work
// under terms of your choice, provided that every copy of the
// combined work is accompanied by a complete copy of the source code
// of the Avisynth C interface and Avisynth itself (with the version
// used to produce the combined work), being distributed under the
// terms of the GNU General Public License plus this exception. An
// independent module is a module which is not derived from or based
// on Avisynth C Interface, such as 3rd-party filters, import and
// export plugins, or graphical user interfaces.
#ifndef __AVXSYNTH_C__
#define __AVXSYNTH_C__
#include "windowsPorts/windows2linux.h"
#include <stdarg.h>
#ifdef __cplusplus
# define EXTERN_C extern "C"
#else
# define EXTERN_C
#endif
#define AVSC_USE_STDCALL 1
#ifndef AVSC_USE_STDCALL
# define AVSC_CC __cdecl
#else
# define AVSC_CC __stdcall
#endif
#define AVSC_INLINE static __inline
#ifdef AVISYNTH_C_EXPORTS
# define AVSC_EXPORT EXTERN_C
# define AVSC_API(ret, name) EXTERN_C __declspec(dllexport) ret AVSC_CC name
#else
# define AVSC_EXPORT EXTERN_C __declspec(dllexport)
# ifndef AVSC_NO_DECLSPEC
# define AVSC_API(ret, name) EXTERN_C __declspec(dllimport) ret AVSC_CC name
# else
# define AVSC_API(ret, name) typedef ret (AVSC_CC *name##_func)
# endif
#endif
#ifdef __GNUC__
typedef long long int INT64;
#else
typedef __int64 INT64;
#endif
/////////////////////////////////////////////////////////////////////
//
// Constants
//
#ifndef __AVXSYNTH_H__
enum { AVISYNTH_INTERFACE_VERSION = 3 };
#endif
enum {AVS_SAMPLE_INT8 = 1<<0,
AVS_SAMPLE_INT16 = 1<<1,
AVS_SAMPLE_INT24 = 1<<2,
AVS_SAMPLE_INT32 = 1<<3,
AVS_SAMPLE_FLOAT = 1<<4};
enum {AVS_PLANAR_Y=1<<0,
AVS_PLANAR_U=1<<1,
AVS_PLANAR_V=1<<2,
AVS_PLANAR_ALIGNED=1<<3,
AVS_PLANAR_Y_ALIGNED=AVS_PLANAR_Y|AVS_PLANAR_ALIGNED,
AVS_PLANAR_U_ALIGNED=AVS_PLANAR_U|AVS_PLANAR_ALIGNED,
AVS_PLANAR_V_ALIGNED=AVS_PLANAR_V|AVS_PLANAR_ALIGNED};
// Colorspace properties.
enum {AVS_CS_BGR = 1<<28,
AVS_CS_YUV = 1<<29,
AVS_CS_INTERLEAVED = 1<<30,
AVS_CS_PLANAR = 1<<31};
// Specific colorformats
enum {
AVS_CS_UNKNOWN = 0,
AVS_CS_BGR24 = 1<<0 | AVS_CS_BGR | AVS_CS_INTERLEAVED,
AVS_CS_BGR32 = 1<<1 | AVS_CS_BGR | AVS_CS_INTERLEAVED,
AVS_CS_YUY2 = 1<<2 | AVS_CS_YUV | AVS_CS_INTERLEAVED,
AVS_CS_YV12 = 1<<3 | AVS_CS_YUV | AVS_CS_PLANAR, // y-v-u, planar
AVS_CS_I420 = 1<<4 | AVS_CS_YUV | AVS_CS_PLANAR, // y-u-v, planar
AVS_CS_IYUV = 1<<4 | AVS_CS_YUV | AVS_CS_PLANAR // same as above
};
enum {
AVS_IT_BFF = 1<<0,
AVS_IT_TFF = 1<<1,
AVS_IT_FIELDBASED = 1<<2};
enum {
AVS_FILTER_TYPE=1,
AVS_FILTER_INPUT_COLORSPACE=2,
AVS_FILTER_OUTPUT_TYPE=9,
AVS_FILTER_NAME=4,
AVS_FILTER_AUTHOR=5,
AVS_FILTER_VERSION=6,
AVS_FILTER_ARGS=7,
AVS_FILTER_ARGS_INFO=8,
AVS_FILTER_ARGS_DESCRIPTION=10,
AVS_FILTER_DESCRIPTION=11};
enum { //SUBTYPES
AVS_FILTER_TYPE_AUDIO=1,
AVS_FILTER_TYPE_VIDEO=2,
AVS_FILTER_OUTPUT_TYPE_SAME=3,
AVS_FILTER_OUTPUT_TYPE_DIFFERENT=4};
enum {
AVS_CACHE_NOTHING=0,
AVS_CACHE_RANGE=1,
AVS_CACHE_ALL=2,
AVS_CACHE_AUDIO=3,
AVS_CACHE_AUDIO_NONE=4,
AVS_CACHE_AUDIO_AUTO=5
};
#define AVS_FRAME_ALIGN 16
typedef struct AVS_Clip AVS_Clip;
typedef struct AVS_ScriptEnvironment AVS_ScriptEnvironment;
/////////////////////////////////////////////////////////////////////
//
// AVS_VideoInfo
//
// AVS_VideoInfo is layed out identicly to VideoInfo
typedef struct AVS_VideoInfo {
int width, height; // width=0 means no video
unsigned fps_numerator, fps_denominator;
int num_frames;
int pixel_type;
int audio_samples_per_second; // 0 means no audio
int sample_type;
INT64 num_audio_samples;
int nchannels;
// Imagetype properties
int image_type;
} AVS_VideoInfo;
// useful functions of the above
AVSC_INLINE int avs_has_video(const AVS_VideoInfo * p)
{ return (p->width!=0); }
AVSC_INLINE int avs_has_audio(const AVS_VideoInfo * p)
{ return (p->audio_samples_per_second!=0); }
AVSC_INLINE int avs_is_rgb(const AVS_VideoInfo * p)
{ return !!(p->pixel_type&AVS_CS_BGR); }
AVSC_INLINE int avs_is_rgb24(const AVS_VideoInfo * p)
{ return (p->pixel_type&AVS_CS_BGR24)==AVS_CS_BGR24; } // Clear out additional properties
AVSC_INLINE int avs_is_rgb32(const AVS_VideoInfo * p)
{ return (p->pixel_type & AVS_CS_BGR32) == AVS_CS_BGR32 ; }
AVSC_INLINE int avs_is_yuv(const AVS_VideoInfo * p)
{ return !!(p->pixel_type&AVS_CS_YUV ); }
AVSC_INLINE int avs_is_yuy2(const AVS_VideoInfo * p)
{ return (p->pixel_type & AVS_CS_YUY2) == AVS_CS_YUY2; }
AVSC_INLINE int avs_is_yv12(const AVS_VideoInfo * p)
{ return ((p->pixel_type & AVS_CS_YV12) == AVS_CS_YV12)||((p->pixel_type & AVS_CS_I420) == AVS_CS_I420); }
AVSC_INLINE int avs_is_color_space(const AVS_VideoInfo * p, int c_space)
{ return ((p->pixel_type & c_space) == c_space); }
AVSC_INLINE int avs_is_property(const AVS_VideoInfo * p, int property)
{ return ((p->pixel_type & property)==property ); }
AVSC_INLINE int avs_is_planar(const AVS_VideoInfo * p)
{ return !!(p->pixel_type & AVS_CS_PLANAR); }
AVSC_INLINE int avs_is_field_based(const AVS_VideoInfo * p)
{ return !!(p->image_type & AVS_IT_FIELDBASED); }
AVSC_INLINE int avs_is_parity_known(const AVS_VideoInfo * p)
{ return ((p->image_type & AVS_IT_FIELDBASED)&&(p->image_type & (AVS_IT_BFF | AVS_IT_TFF))); }
AVSC_INLINE int avs_is_bff(const AVS_VideoInfo * p)
{ return !!(p->image_type & AVS_IT_BFF); }
AVSC_INLINE int avs_is_tff(const AVS_VideoInfo * p)
{ return !!(p->image_type & AVS_IT_TFF); }
AVSC_INLINE int avs_bits_per_pixel(const AVS_VideoInfo * p)
{
switch (p->pixel_type) {
case AVS_CS_BGR24: return 24;
case AVS_CS_BGR32: return 32;
case AVS_CS_YUY2: return 16;
case AVS_CS_YV12:
case AVS_CS_I420: return 12;
default: return 0;
}
}
AVSC_INLINE int avs_bytes_from_pixels(const AVS_VideoInfo * p, int pixels)
{ return pixels * (avs_bits_per_pixel(p)>>3); } // Will work on planar images, but will return only luma planes
AVSC_INLINE int avs_row_size(const AVS_VideoInfo * p)
{ return avs_bytes_from_pixels(p,p->width); } // Also only returns first plane on planar images
AVSC_INLINE int avs_bmp_size(const AVS_VideoInfo * vi)
{ if (avs_is_planar(vi)) {int p = vi->height * ((avs_row_size(vi)+3) & ~3); p+=p>>1; return p; } return vi->height * ((avs_row_size(vi)+3) & ~3); }
AVSC_INLINE int avs_samples_per_second(const AVS_VideoInfo * p)
{ return p->audio_samples_per_second; }
AVSC_INLINE int avs_bytes_per_channel_sample(const AVS_VideoInfo * p)
{
switch (p->sample_type) {
case AVS_SAMPLE_INT8: return sizeof(signed char);
case AVS_SAMPLE_INT16: return sizeof(signed short);
case AVS_SAMPLE_INT24: return 3;
case AVS_SAMPLE_INT32: return sizeof(signed int);
case AVS_SAMPLE_FLOAT: return sizeof(float);
default: return 0;
}
}
AVSC_INLINE int avs_bytes_per_audio_sample(const AVS_VideoInfo * p)
{ return p->nchannels*avs_bytes_per_channel_sample(p);}
AVSC_INLINE INT64 avs_audio_samples_from_frames(const AVS_VideoInfo * p, INT64 frames)
{ return ((INT64)(frames) * p->audio_samples_per_second * p->fps_denominator / p->fps_numerator); }
AVSC_INLINE int avs_frames_from_audio_samples(const AVS_VideoInfo * p, INT64 samples)
{ return (int)(samples * (INT64)p->fps_numerator / (INT64)p->fps_denominator / (INT64)p->audio_samples_per_second); }
AVSC_INLINE INT64 avs_audio_samples_from_bytes(const AVS_VideoInfo * p, INT64 bytes)
{ return bytes / avs_bytes_per_audio_sample(p); }
AVSC_INLINE INT64 avs_bytes_from_audio_samples(const AVS_VideoInfo * p, INT64 samples)
{ return samples * avs_bytes_per_audio_sample(p); }
AVSC_INLINE int avs_audio_channels(const AVS_VideoInfo * p)
{ return p->nchannels; }
AVSC_INLINE int avs_sample_type(const AVS_VideoInfo * p)
{ return p->sample_type;}
// useful mutator
AVSC_INLINE void avs_set_property(AVS_VideoInfo * p, int property)
{ p->image_type|=property; }
AVSC_INLINE void avs_clear_property(AVS_VideoInfo * p, int property)
{ p->image_type&=~property; }
AVSC_INLINE void avs_set_field_based(AVS_VideoInfo * p, int isfieldbased)
{ if (isfieldbased) p->image_type|=AVS_IT_FIELDBASED; else p->image_type&=~AVS_IT_FIELDBASED; }
AVSC_INLINE void avs_set_fps(AVS_VideoInfo * p, unsigned numerator, unsigned denominator)
{
unsigned x=numerator, y=denominator;
while (y) { // find gcd
unsigned t = x%y; x = y; y = t;
}
p->fps_numerator = numerator/x;
p->fps_denominator = denominator/x;
}
AVSC_INLINE int avs_is_same_colorspace(AVS_VideoInfo * x, AVS_VideoInfo * y)
{
return (x->pixel_type == y->pixel_type)
|| (avs_is_yv12(x) && avs_is_yv12(y));
}
/////////////////////////////////////////////////////////////////////
//
// AVS_VideoFrame
//
// VideoFrameBuffer holds information about a memory block which is used
// for video data. For efficiency, instances of this class are not deleted
// when the refcount reaches zero; instead they're stored in a linked list
// to be reused. The instances are deleted when the corresponding AVS
// file is closed.
// AVS_VideoFrameBuffer is layed out identicly to VideoFrameBuffer
// DO NOT USE THIS STRUCTURE DIRECTLY
typedef struct AVS_VideoFrameBuffer {
unsigned char * data;
int data_size;
// sequence_number is incremented every time the buffer is changed, so
// that stale views can tell they're no longer valid.
long sequence_number;
long refcount;
} AVS_VideoFrameBuffer;
// VideoFrame holds a "window" into a VideoFrameBuffer.
// AVS_VideoFrame is layed out identicly to IVideoFrame
// DO NOT USE THIS STRUCTURE DIRECTLY
typedef struct AVS_VideoFrame {
int refcount;
AVS_VideoFrameBuffer * vfb;
int offset, pitch, row_size, height, offsetU, offsetV, pitchUV; // U&V offsets are from top of picture.
} AVS_VideoFrame;
// Access functions for AVS_VideoFrame
AVSC_INLINE int avs_get_pitch(const AVS_VideoFrame * p) {
return p->pitch;}
AVSC_INLINE int avs_get_pitch_p(const AVS_VideoFrame * p, int plane) {
switch (plane) {
case AVS_PLANAR_U: case AVS_PLANAR_V: return p->pitchUV;}
return p->pitch;}
AVSC_INLINE int avs_get_row_size(const AVS_VideoFrame * p) {
return p->row_size; }
AVSC_INLINE int avs_get_row_size_p(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_get_height(const AVS_VideoFrame * p) {
return p->height;}
AVSC_INLINE int avs_get_height_p(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 const unsigned char* avs_get_read_ptr(const AVS_VideoFrame * p) {
return p->vfb->data + p->offset;}
AVSC_INLINE const unsigned char* avs_get_read_ptr_p(const AVS_VideoFrame * p, int plane)
{
switch (plane) {
case AVS_PLANAR_U: return p->vfb->data + p->offsetU;
case AVS_PLANAR_V: return p->vfb->data + p->offsetV;
default: return p->vfb->data + p->offset;}
}
AVSC_INLINE int avs_is_writable(const AVS_VideoFrame * p) {
return (p->refcount == 1 && p->vfb->refcount == 1);}
AVSC_INLINE unsigned char* avs_get_write_ptr(const AVS_VideoFrame * p)
{
if (avs_is_writable(p)) {
++p->vfb->sequence_number;
return p->vfb->data + p->offset;
} else
return 0;
}
AVSC_INLINE unsigned char* avs_get_write_ptr_p(const AVS_VideoFrame * p, int plane)
{
if (plane==AVS_PLANAR_Y && avs_is_writable(p)) {
++p->vfb->sequence_number;
return p->vfb->data + p->offset;
} else if (plane==AVS_PLANAR_Y) {
return 0;
} else {
switch (plane) {
case AVS_PLANAR_U: return p->vfb->data + p->offsetU;
case AVS_PLANAR_V: return p->vfb->data + p->offsetV;
default: return p->vfb->data + p->offset;
}
}
}
#if defined __cplusplus
extern "C"
{
#endif // __cplusplus
AVSC_API(void, avs_release_video_frame)(AVS_VideoFrame *);
// makes a shallow copy of a video frame
AVSC_API(AVS_VideoFrame *, avs_copy_video_frame)(AVS_VideoFrame *);
#if defined __cplusplus
}
#endif // __cplusplus
#ifndef AVSC_NO_DECLSPEC
AVSC_INLINE void avs_release_frame(AVS_VideoFrame * f)
{avs_release_video_frame(f);}
AVSC_INLINE AVS_VideoFrame * avs_copy_frame(AVS_VideoFrame * f)
{return avs_copy_video_frame(f);}
#endif
/////////////////////////////////////////////////////////////////////
//
// AVS_Value
//
// Treat AVS_Value as a fat pointer. That is use avs_copy_value
// and avs_release_value appropiaty as you would if AVS_Value was
// a pointer.
// To maintain source code compatibility with future versions of the
// avisynth_c API don't use the AVS_Value directly. Use the helper
// functions below.
// AVS_Value is layed out identicly to AVSValue
typedef struct AVS_Value AVS_Value;
struct AVS_Value {
short type; // 'a'rray, 'c'lip, 'b'ool, 'i'nt, 'f'loat, 's'tring, 'v'oid, or 'l'ong
// for some function e'rror
short array_size;
union {
void * clip; // do not use directly, use avs_take_clip
char boolean;
int integer;
INT64 integer64; // match addition of __int64 to avxplugin.h
float floating_pt;
const char * string;
const AVS_Value * array;
} d;
};
// AVS_Value should be initilized with avs_void.
// Should also set to avs_void after the value is released
// with avs_copy_value. Consider it the equalvent of setting
// a pointer to NULL
static const AVS_Value avs_void = {'v'};
AVSC_API(void, avs_copy_value)(AVS_Value * dest, AVS_Value src);
AVSC_API(void, avs_release_value)(AVS_Value);
AVSC_INLINE int avs_defined(AVS_Value v) { return v.type != 'v'; }
AVSC_INLINE int avs_is_clip(AVS_Value v) { return v.type == 'c'; }
AVSC_INLINE int avs_is_bool(AVS_Value v) { return v.type == 'b'; }
AVSC_INLINE int avs_is_int(AVS_Value v) { return v.type == 'i'; }
AVSC_INLINE int avs_is_float(AVS_Value v) { return v.type == 'f' || v.type == 'i'; }
AVSC_INLINE int avs_is_string(AVS_Value v) { return v.type == 's'; }
AVSC_INLINE int avs_is_array(AVS_Value v) { return v.type == 'a'; }
AVSC_INLINE int avs_is_error(AVS_Value v) { return v.type == 'e'; }
#if defined __cplusplus
extern "C"
{
#endif // __cplusplus
AVSC_API(AVS_Clip *, avs_take_clip)(AVS_Value, AVS_ScriptEnvironment *);
AVSC_API(void, avs_set_to_clip)(AVS_Value *, AVS_Clip *);
#if defined __cplusplus
}
#endif // __cplusplus
AVSC_INLINE int avs_as_bool(AVS_Value v)
{ return v.d.boolean; }
AVSC_INLINE int avs_as_int(AVS_Value v)
{ return v.d.integer; }
AVSC_INLINE const char * avs_as_string(AVS_Value v)
{ return avs_is_error(v) || avs_is_string(v) ? v.d.string : 0; }
AVSC_INLINE double avs_as_float(AVS_Value v)
{ return avs_is_int(v) ? v.d.integer : v.d.floating_pt; }
AVSC_INLINE const char * avs_as_error(AVS_Value v)
{ return avs_is_error(v) ? v.d.string : 0; }
AVSC_INLINE const AVS_Value * avs_as_array(AVS_Value v)
{ return v.d.array; }
AVSC_INLINE int avs_array_size(AVS_Value v)
{ return avs_is_array(v) ? v.array_size : 1; }
AVSC_INLINE AVS_Value avs_array_elt(AVS_Value v, int index)
{ return avs_is_array(v) ? v.d.array[index] : v; }
// only use these functions on am AVS_Value that does not already have
// an active value. Remember, treat AVS_Value as a fat pointer.
AVSC_INLINE AVS_Value avs_new_value_bool(int v0)
{ AVS_Value v; v.type = 'b'; v.d.boolean = v0 == 0 ? 0 : 1; return v; }
AVSC_INLINE AVS_Value avs_new_value_int(int v0)
{ AVS_Value v; v.type = 'i'; v.d.integer = v0; return v; }
AVSC_INLINE AVS_Value avs_new_value_string(const char * v0)
{ AVS_Value v; v.type = 's'; v.d.string = v0; return v; }
AVSC_INLINE AVS_Value avs_new_value_float(float v0)
{ AVS_Value v; v.type = 'f'; v.d.floating_pt = v0; return v;}
AVSC_INLINE AVS_Value avs_new_value_error(const char * v0)
{ AVS_Value v; v.type = 'e'; v.d.string = v0; return v; }
#ifndef AVSC_NO_DECLSPEC
AVSC_INLINE AVS_Value avs_new_value_clip(AVS_Clip * v0)
{ AVS_Value v; avs_set_to_clip(&v, v0); return v; }
#endif
AVSC_INLINE AVS_Value avs_new_value_array(AVS_Value * v0, int size)
{ AVS_Value v; v.type = 'a'; v.d.array = v0; v.array_size = size; return v; }
/////////////////////////////////////////////////////////////////////
//
// AVS_Clip
//
#if defined __cplusplus
extern "C"
{
#endif // __cplusplus
AVSC_API(void, avs_release_clip)(AVS_Clip *);
AVSC_API(AVS_Clip *, avs_copy_clip)(AVS_Clip *);
AVSC_API(const char *, avs_clip_get_error)(AVS_Clip *); // return 0 if no error
AVSC_API(const AVS_VideoInfo *, avs_get_video_info)(AVS_Clip *);
AVSC_API(int, avs_get_version)(AVS_Clip *);
AVSC_API(AVS_VideoFrame *, avs_get_frame)(AVS_Clip *, int n);
// The returned video frame must be released with avs_release_video_frame
AVSC_API(int, avs_get_parity)(AVS_Clip *, int n);
// return field parity if field_based, else parity of first field in frame
AVSC_API(int, avs_get_audio)(AVS_Clip *, void * buf,
INT64 start, INT64 count);
// start and count are in samples
AVSC_API(int, avs_set_cache_hints)(AVS_Clip *,
int cachehints, size_t frame_range);
#if defined __cplusplus
}
#endif // __cplusplus
// This is the callback type used by avs_add_function
typedef AVS_Value (AVSC_CC * AVS_ApplyFunc)
(AVS_ScriptEnvironment *, AVS_Value args, void * user_data);
typedef struct AVS_FilterInfo AVS_FilterInfo;
struct AVS_FilterInfo
{
// these members should not be modified outside of the AVS_ApplyFunc callback
AVS_Clip * child;
AVS_VideoInfo vi;
AVS_ScriptEnvironment * env;
AVS_VideoFrame * (AVSC_CC * get_frame)(AVS_FilterInfo *, int n);
int (AVSC_CC * get_parity)(AVS_FilterInfo *, int n);
int (AVSC_CC * get_audio)(AVS_FilterInfo *, void * buf,
INT64 start, INT64 count);
int (AVSC_CC * set_cache_hints)(AVS_FilterInfo *, int cachehints,
int frame_range);
void (AVSC_CC * free_filter)(AVS_FilterInfo *);
// Should be set when ever there is an error to report.
// It is cleared before any of the above methods are called
const char * error;
// this is to store whatever and may be modified at will
void * user_data;
};
// Create a new filter
// fi is set to point to the AVS_FilterInfo so that you can
// modify it once it is initilized.
// store_child should generally be set to true. If it is not
// set than ALL methods (the function pointers) must be defined
// If it is set than you do not need to worry about freeing the child
// clip.
#if defined __cplusplus
extern "C"
{
#endif // __cplusplus
AVSC_API(AVS_Clip *, avs_new_c_filter)(AVS_ScriptEnvironment * e,
AVS_FilterInfo * * fi,
AVS_Value child, int store_child);
#if defined __cplusplus
}
#endif // __cplusplus
/////////////////////////////////////////////////////////////////////
//
// AVS_ScriptEnvironment
//
// For GetCPUFlags. These are backwards-compatible with those in VirtualDub.
enum {
/* slowest CPU to support extension */
AVS_CPU_FORCE = 0x01, // N/A
AVS_CPU_FPU = 0x02, // 386/486DX
AVS_CPU_MMX = 0x04, // P55C, K6, PII
AVS_CPU_INTEGER_SSE = 0x08, // PIII, Athlon
AVS_CPU_SSE = 0x10, // PIII, Athlon XP/MP
AVS_CPU_SSE2 = 0x20, // PIV, Hammer
AVS_CPU_3DNOW = 0x40, // K6-2
AVS_CPU_3DNOW_EXT = 0x80, // Athlon
AVS_CPU_X86_64 = 0xA0, // Hammer (note: equiv. to 3DNow + SSE2,
// which only Hammer will have anyway)
};
#if defined __cplusplus
extern "C"
{
#endif // __cplusplus
AVSC_API(const char *, avs_get_error)(AVS_ScriptEnvironment *); // return 0 if no error
AVSC_API(long, avs_get_cpu_flags)(AVS_ScriptEnvironment *);
AVSC_API(int, avs_check_version)(AVS_ScriptEnvironment *, int version);
AVSC_API(char *, avs_save_string)(AVS_ScriptEnvironment *, const char* s, int length);
AVSC_API(char *, avs_sprintf)(AVS_ScriptEnvironment *, const char * fmt, ...);
AVSC_API(char *, avs_vsprintf)(AVS_ScriptEnvironment *, const char * fmt, va_list val);
// note: val is really a va_list; I hope everyone typedefs va_list to a pointer
AVSC_API(int, avs_add_function)(AVS_ScriptEnvironment *,
const char * name, const char * params,
AVS_ApplyFunc apply, void * user_data);
AVSC_API(int, avs_function_exists)(AVS_ScriptEnvironment *, const char * name);
AVSC_API(AVS_Value, avs_invoke)(AVS_ScriptEnvironment *, const char * name,
AVS_Value args, const char** arg_names);
// The returned value must be be released with avs_release_value
AVSC_API(AVS_Value, avs_get_var)(AVS_ScriptEnvironment *, const char* name);
// The returned value must be be released with avs_release_value
AVSC_API(int, avs_set_var)(AVS_ScriptEnvironment *, const char* name, AVS_Value val);
AVSC_API(int, avs_set_global_var)(AVS_ScriptEnvironment *, const char* name, const AVS_Value val);
//void avs_push_context(AVS_ScriptEnvironment *, int level=0);
//void avs_pop_context(AVS_ScriptEnvironment *);
AVSC_API(AVS_VideoFrame *, avs_new_video_frame_a)(AVS_ScriptEnvironment *,
const AVS_VideoInfo * vi, int align);
// align should be at least 16
#if defined __cplusplus
}
#endif // __cplusplus
#ifndef AVSC_NO_DECLSPEC
AVSC_INLINE
AVS_VideoFrame * avs_new_video_frame(AVS_ScriptEnvironment * env,
const AVS_VideoInfo * vi)
{return avs_new_video_frame_a(env,vi,AVS_FRAME_ALIGN);}
AVSC_INLINE
AVS_VideoFrame * avs_new_frame(AVS_ScriptEnvironment * env,
const AVS_VideoInfo * vi)
{return avs_new_video_frame_a(env,vi,AVS_FRAME_ALIGN);}
#endif
#if defined __cplusplus
extern "C"
{
#endif // __cplusplus
AVSC_API(int, avs_make_writable)(AVS_ScriptEnvironment *, AVS_VideoFrame * * pvf);
AVSC_API(void, avs_bit_blt)(AVS_ScriptEnvironment *, unsigned char* dstp, int dst_pitch, const unsigned char* srcp, int src_pitch, int row_size, int height);
typedef void (AVSC_CC *AVS_ShutdownFunc)(void* user_data, AVS_ScriptEnvironment * env);
AVSC_API(void, avs_at_exit)(AVS_ScriptEnvironment *, AVS_ShutdownFunc function, void * user_data);
AVSC_API(AVS_VideoFrame *, avs_subframe)(AVS_ScriptEnvironment *, AVS_VideoFrame * src, int rel_offset, int new_pitch, int new_row_size, int new_height);
// The returned video frame must be be released
AVSC_API(int, avs_set_memory_max)(AVS_ScriptEnvironment *, int mem);
AVSC_API(int, avs_set_working_dir)(AVS_ScriptEnvironment *, const char * newdir);
// avisynth.dll exports this; it's a way to use it as a library, without
// writing an AVS script or without going through AVIFile.
AVSC_API(AVS_ScriptEnvironment *, avs_create_script_environment)(int version);
#if defined __cplusplus
}
#endif // __cplusplus
// this symbol is the entry point for the plugin and must
// be defined
AVSC_EXPORT
const char * AVSC_CC avisynth_c_plugin_init(AVS_ScriptEnvironment* env);
#if defined __cplusplus
extern "C"
{
#endif // __cplusplus
AVSC_API(void, avs_delete_script_environment)(AVS_ScriptEnvironment *);
AVSC_API(AVS_VideoFrame *, avs_subframe_planar)(AVS_ScriptEnvironment *, AVS_VideoFrame * src, int rel_offset, int new_pitch, int new_row_size, int new_height, int rel_offsetU, int rel_offsetV, int new_pitchUV);
// The returned video frame must be be released
#if defined __cplusplus
}
#endif // __cplusplus
#endif //__AVXSYNTH_C__
@@ -0,0 +1,85 @@
#ifndef __DATA_TYPE_CONVERSIONS_H__
#define __DATA_TYPE_CONVERSIONS_H__
#include <stdint.h>
#include <wchar.h>
#ifdef __cplusplus
namespace avxsynth {
#endif // __cplusplus
typedef int64_t __int64;
typedef int32_t __int32;
#ifdef __cplusplus
typedef bool BOOL;
#else
typedef uint32_t BOOL;
#endif // __cplusplus
typedef void* HMODULE;
typedef void* LPVOID;
typedef void* PVOID;
typedef PVOID HANDLE;
typedef HANDLE HWND;
typedef HANDLE HINSTANCE;
typedef void* HDC;
typedef void* HBITMAP;
typedef void* HICON;
typedef void* HFONT;
typedef void* HGDIOBJ;
typedef void* HBRUSH;
typedef void* HMMIO;
typedef void* HACMSTREAM;
typedef void* HACMDRIVER;
typedef void* HIC;
typedef void* HACMOBJ;
typedef HACMSTREAM* LPHACMSTREAM;
typedef void* HACMDRIVERID;
typedef void* LPHACMDRIVER;
typedef unsigned char BYTE;
typedef BYTE* LPBYTE;
typedef char TCHAR;
typedef TCHAR* LPTSTR;
typedef const TCHAR* LPCTSTR;
typedef char* LPSTR;
typedef LPSTR LPOLESTR;
typedef const char* LPCSTR;
typedef LPCSTR LPCOLESTR;
typedef wchar_t WCHAR;
typedef unsigned short WORD;
typedef unsigned int UINT;
typedef UINT MMRESULT;
typedef uint32_t DWORD;
typedef DWORD COLORREF;
typedef DWORD FOURCC;
typedef DWORD HRESULT;
typedef DWORD* LPDWORD;
typedef DWORD* DWORD_PTR;
typedef int32_t LONG;
typedef int32_t* LONG_PTR;
typedef LONG_PTR LRESULT;
typedef uint32_t ULONG;
typedef uint32_t* ULONG_PTR;
//typedef __int64_t intptr_t;
typedef uint64_t _fsize_t;
//
// Structures
//
typedef struct _GUID {
DWORD Data1;
WORD Data2;
WORD Data3;
BYTE Data4[8];
} GUID;
typedef GUID REFIID;
typedef GUID CLSID;
typedef CLSID* LPCLSID;
typedef GUID IID;
#ifdef __cplusplus
}; // namespace avxsynth
#endif // __cplusplus
#endif // __DATA_TYPE_CONVERSIONS_H__
@@ -0,0 +1,77 @@
#ifndef __WINDOWS2LINUX_H__
#define __WINDOWS2LINUX_H__
/*
* LINUX SPECIFIC DEFINITIONS
*/
//
// Data types conversions
//
#include <stdlib.h>
#include <string.h>
#include "basicDataTypeConversions.h"
#ifdef __cplusplus
namespace avxsynth {
#endif // __cplusplus
//
// purposefully define the following MSFT definitions
// to mean nothing (as they do not mean anything on Linux)
//
#define __stdcall
#define __cdecl
#define noreturn
#define __declspec(x)
#define STDAPI extern "C" HRESULT
#define STDMETHODIMP HRESULT __stdcall
#define STDMETHODIMP_(x) x __stdcall
#define STDMETHOD(x) virtual HRESULT x
#define STDMETHOD_(a, x) virtual a x
#ifndef TRUE
#define TRUE true
#endif
#ifndef FALSE
#define FALSE false
#endif
#define S_OK (0x00000000)
#define S_FALSE (0x00000001)
#define E_NOINTERFACE (0X80004002)
#define E_POINTER (0x80004003)
#define E_FAIL (0x80004005)
#define E_OUTOFMEMORY (0x8007000E)
#define INVALID_HANDLE_VALUE ((HANDLE)((LONG_PTR)-1))
#define FAILED(hr) ((hr) & 0x80000000)
#define SUCCEEDED(hr) (!FAILED(hr))
//
// Functions
//
#define MAKEDWORD(a,b,c,d) ((a << 24) | (b << 16) | (c << 8) | (d))
#define MAKEWORD(a,b) ((a << 8) | (b))
#define lstrlen strlen
#define lstrcpy strcpy
#define lstrcmpi strcasecmp
#define _stricmp strcasecmp
#define InterlockedIncrement(x) __sync_fetch_and_add((x), 1)
#define InterlockedDecrement(x) __sync_fetch_and_sub((x), 1)
// Windows uses (new, old) ordering but GCC has (old, new)
#define InterlockedCompareExchange(x,y,z) __sync_val_compare_and_swap(x,z,y)
#define UInt32x32To64(a, b) ( (uint64_t) ( ((uint64_t)((uint32_t)(a))) * ((uint32_t)(b)) ) )
#define Int64ShrlMod32(a, b) ( (uint64_t) ( (uint64_t)(a) >> (b) ) )
#define Int32x32To64(a, b) ((__int64)(((__int64)((long)(a))) * ((long)(b))))
#define MulDiv(nNumber, nNumerator, nDenominator) (int32_t) (((int64_t) (nNumber) * (int64_t) (nNumerator) + (int64_t) ((nDenominator)/2)) / (int64_t) (nDenominator))
#ifdef __cplusplus
}; // namespace avxsynth
#endif // __cplusplus
#endif // __WINDOWS2LINUX_H__
+1 -2
View File
@@ -19,7 +19,6 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <ctype.h>
#include <limits.h>
#include <stdlib.h>
@@ -49,7 +48,7 @@ double avpriv_strtod(const char *nptr, char **endptr)
double res;
/* Skip leading spaces */
while (isspace(*nptr))
while (av_isspace(*nptr))
nptr++;
if (!av_strncasecmp(nptr, "infinity", 8)) {
+23
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 */
@@ -4,20 +4,20 @@
* Authors: Steven Walters <kemuri9@gmail.com>
* Pegasys Inc. <http://www.pegasys-inc.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
*/
@@ -26,8 +26,8 @@
* w32threads to pthreads wrapper
*/
#ifndef AVCODEC_W32PTHREADS_H
#define AVCODEC_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)
{
@@ -257,6 +264,7 @@ static void pthread_cond_signal(pthread_cond_t *cond)
static void w32thread_init(void)
{
#if _WIN32_WINNT < 0x0600
HANDLE kernel_dll = GetModuleHandle(TEXT("kernel32.dll"));
/* if one is available, then they should all be available */
cond_init =
@@ -267,6 +275,8 @@ static void w32thread_init(void)
(void*)GetProcAddress(kernel_dll, "WakeConditionVariable");
cond_wait =
(void*)GetProcAddress(kernel_dll, "SleepConditionVariableCS");
#endif
}
#endif /* AVCODEC_W32PTHREADS_H */
#endif /* FFMPEG_COMPAT_W32PTHREADS_H */
Vendored
+844 -416
View File
File diff suppressed because it is too large Load Diff
+426 -174
View File
@@ -2,10 +2,10 @@ Never assume the API of libav* to be stable unless at least 1 month has passed
since the last major version increase or the API was added.
The last version increases were:
libavcodec: 2012-01-27
libavdevice: 2011-04-18
libavcodec: 2013-03-xx
libavdevice: 2013-03-xx
libavfilter: 2012-06-22
libavformat: 2012-01-27
libavformat: 2013-03-xx
libavresample: 2012-10-05
libpostproc: 2011-04-18
libswresample: 2011-09-19
@@ -15,11 +15,167 @@ libavutil: 2012-10-22
API changes, most recent first:
2012-12-20 - xxxxxxx - lavfi 3.28.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-24 - af5f9c0 / 95d5246 - lavc 55.17.100 / 55.10.0 - avcodec.h
Add MPEG-2 AAC profiles
2013-06-25 - af5f9c0 / 95d5246 - lavf 55.10.100 - avformat.h
Add AV_DISPOSITION_* flags to indicate text track kind.
2013-06-15 - 99b8cd0 - lavu 52.36.100
Add AVRIPEMD:
av_ripemd_alloc()
av_ripemd_init()
av_ripemd_update()
av_ripemd_final()
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
Add AVSHA512:
av_sha512_alloc()
av_sha512_init()
av_sha512_update()
av_sha512_final()
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 - 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 - 0c25c39 / b493847 - lavc 55.7.0 / 55.12.100 - avcodec.h
Add picture_structure to AVCodecParserContext.
2013-05-17 - 3a751ea - lavu 52.33.100 - opt.h
Add AV_OPT_TYPE_COLOR value to AVOptionType enum.
2013-05-13 - e398416 - lavu 52.31.100 - mem.h
Add av_dynarray2_add().
2013-05-12 - 1776177 - lavfi 3.65.100
Add AVFILTER_FLAG_SUPPORT_TIMELINE* filter flags.
2013-04-19 - 380cfce - lavc 55.4.100
Add AV_CODEC_PROP_TEXT_SUB property for text based subtitles codec.
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 - af0d270 - lavu 25.26.100 - avutil.h,opt.h
Add av_int_list_length()
and av_opt_set_int_list().
2013-03-30 - 5c73645 - lavu 52.24.100 - samplefmt.h
Add av_samples_alloc_array_and_samples().
2013-03-29 - ef7b6b4 - lavf 55.1.100 - avformat.h
Add av_guess_frame_rate()
2013-03-20 - 8d928a9 - lavu 52.22.100 - opt.h
Add AV_OPT_TYPE_DURATION value to AVOptionType enum.
2013-03-17 - 7aa9af5 - lavu 52.20.100 - opt.h
Add AV_OPT_TYPE_VIDEO_RATE value to AVOptionType enum.
2013-03-07 - 9767ec6 - lavu 52.18.100 - avstring.h,bprint.h
Add av_escape() and av_bprint_escape() API.
2013-02-24 - b59cd08 - lavfi 3.41.100 - buffersink.h
Add sample_rates field to AVABufferSinkParams.
2013-01-17 - a1a707f - lavf 54.61.100
Add av_codec_get_tag2().
2013-01-01 - 2eb2e17 - lavfi 3.34.100
Add avfilter_get_audio_buffer_ref_from_arrays_channels.
2012-12-20 - 34de47aa - lavfi 3.29.100 - avfilter.h
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
@@ -132,30 +288,126 @@ API changes, most recent first:
2012-03-26 - a67d9cf - lavfi 2.66.100
Add avfilter_fill_frame_from_{audio_,}buffer_ref() functions.
2012-xx-xx - xxxxxxx - lavu 52.2.1 - avstring.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-03 - 6fc58a8 / 507b1e4 - lavc 55.7.100 / 55.4.0 - avcodec.h
Add field_order to AVCodecParserContext.
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.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
86070b8 / bc1a985 - Add avfilter_graph_alloc_filter(), deprecate avfilter_open() and
avfilter_graph_add_filter().
4fde705 / 1113672 - Add AVFilterContext.graph pointing to the AVFilterGraph that contains the
filter.
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.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.
44d4488 / 8114c10 - Add avfilter_get_class().
Switch all filters to use AVOptions.
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 - 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.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).
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.
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.
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()
implementation.
Deprecate AVCodecContext.get_buffer() / release_buffer() /
reget_buffer(), avcodec_default_get_buffer(),
avcodec_default_reget_buffer(), avcodec_default_release_buffer().
Remove avcodec_default_free_buffers(), which should not have ever
been called from outside of lavc.
Deprecate the following AVFrame fields:
* base -- is now stored in AVBufferRef
* reference, type, buffer_hints -- are unnecessary in the new API
* hwaccel_picture_private, owner, thread_opaque -- should not
have been acessed from outside of lavc
* qscale_table, qstride, qscale_type, mbskip_table, motion_val,
mb_type, dct_coeff, ref_index -- mpegvideo-specific tables,
which are not exported anymore.
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 - 6c17ff8 / 12c5c1d - lavu 52.19.100 / 52.8.0 - avstring.h
Add av_isdigit, av_isgraph, av_isspace, av_isxdigit.
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 - 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 - 25be630 / b85a5e8 - lavu 52.16.100 / 52.6.0 - avstring.h
Add av_strnstr()
2013-01-15 - e7e0186 / 8ee288d - lavu 52.15.100 / 52.5.0 - hmac.h
Add AVHMAC.
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
Add AV_PIX_FMT_VDPAU flag.
2013-01-07 - 249fca3 / 074a00d - lavr 1.1.0
Add avresample_set_channel_mapping() for input channel reordering,
duplication, and silencing.
2012-12-29 - 2ce43b3 / d8fd06c - lavu 52.13.100 / 52.3.0 - avstring.h
Add av_basename() and av_dirname().
2012-11-10 - 5980f5dd - lavu 52.2.0 - audioconvert.h
2012-11-11 - 03b0787 / 5980f5d - lavu 52.6.100 / 52.2.0 - audioconvert.h
Rename audioconvert.h to channel_layout.h. audioconvert.h is now deprecated.
2012-10-26 - dfde8a34 - lavu 52.1.0 - intmath.h
Add av_ctz() for trailing zero bit count.
2012-11-05 - 7d26be6 / dfde8a3 - lavu 52.5.100 / 52.1.0 - intmath.h
Add av_ctz() for trailing zero bit count
2012-10-18 - a893655b - lavu 51.45.0 - error.h
Add AVERROR_EXPERIMENTAL.
2012-10-21 - e3a91c5 / a893655 - lavu 51.77.100 / 51.45.0 - error.h
Add AVERROR_EXPERIMENTAL
2012-10-12 - d2fcb356 - lavu 51.44.0 - pixdesc.h
2012-10-12 - a33ed6b / d2fcb35 - lavu 51.76.100 / 51.44.0 - pixdesc.h
Add functions for accessing pixel format descriptors.
Accessing the av_pix_fmt_descriptors array directly is now
deprecated.
2012-10-11 - 9a92aea2 - lavu 51.43.0 - aes.h, md5.h, sha.h, tree.h
2012-10-11 - f391e40 / 9a92aea - lavu 51.75.100 / 51.43.0 - aes.h, md5.h, sha.h, tree.h
Add functions for allocating the opaque contexts for the algorithms,
2012-10-10 - b522000e - lavf 54.18.0 - avio.h
2012-10-10 - de31814 / b522000 - lavf 54.32.100 / 54.18.0 - avio.h
Add avio_closep to complement avio_close.
2012-10-06 - 78071a14 - lavu 51.42.0 - pixfmt.h
2012-10-08 - ae77266 / 78071a1 - lavu 51.74.100 / 51.42.0 - pixfmt.h
Rename PixelFormat to AVPixelFormat and all PIX_FMT_* to AV_PIX_FMT_*.
To provide backwards compatibility, PixelFormat is now #defined as
AVPixelFormat.
@@ -163,23 +415,23 @@ API changes, most recent first:
'PixelFormat' identifier. Such code should either #undef PixelFormat
or stop using the PixelFormat name.
2012-10-05 - e7ba5b1 - lavr 1.0.0 - avresample.h
2012-10-05 - 55c49af / e7ba5b1 - lavr 1.0.0 - avresample.h
Data planes parameters to avresample_convert() and
avresample_read() are now uint8_t** instead of void**.
Libavresample is now stable.
2012-09-24 - a42aada - lavc 54.28.0 - avcodec.h
2012-09-24 - 46a3595 / a42aada - lavc 54.59.100 / 54.28.0 - avcodec.h
Add avcodec_free_frame(). This function must now
be used for freeing an AVFrame.
2012-09-12 - 8919fee - lavu 51.41.0 - audioconvert.h
2012-09-12 - e3e09f2 / 8919fee - lavu 51.73.100 / 51.41.0 - audioconvert.h
Added AV_CH_LOW_FREQUENCY_2 channel mask value.
2012-09-04 - 686a329 - lavu 51.40.0 - opt.h
2012-09-04 - b21b5b0 / 686a329 - lavu 51.71.100 / 51.40.0 - opt.h
Reordered the fields in default_val in AVOption, changed which
default_val field is used for which AVOptionType.
2012-08-30 - a231832 - lavc 54.26.1 - avcodec.h
2012-08-30 - 98298eb / a231832 - lavc 54.54.101 / 54.26.1 - avcodec.h
Add codec descriptor properties AV_CODEC_PROP_LOSSY and
AV_CODEC_PROP_LOSSLESS.
@@ -187,90 +439,90 @@ API changes, most recent first:
Add codec descriptors for accessing codec properties without having
to refer to a specific decoder or encoder.
c223d79 - Add an AVCodecDescriptor struct and functions
f5f3684 / c223d79 - Add an AVCodecDescriptor struct and functions
avcodec_descriptor_get() and avcodec_descriptor_next().
51efed1 - Add AVCodecDescriptor.props and AV_CODEC_PROP_INTRA_ONLY.
91e59fe - Add avcodec_descriptor_get_by_name().
f5f3684 / 51efed1 - Add AVCodecDescriptor.props and AV_CODEC_PROP_INTRA_ONLY.
6c180b3 / 91e59fe - Add avcodec_descriptor_get_by_name().
2012-08-08 - 987170c - lavu 51.38 - dict.h
2012-08-08 - f5f3684 / 987170c - lavu 51.68.100 / 51.38.0 - dict.h
Add av_dict_count().
2012-08-07 - 104e10f - lavc 54.25 - avcodec.h
2012-08-07 - 7a72695 / 104e10f - lavc 54.51.100 / 54.25.0 - avcodec.h
Rename CodecID to AVCodecID and all CODEC_ID_* to AV_CODEC_ID_*.
To provide backwards compatibility, CodecID is now #defined as AVCodecID.
Note that this can break user code that includes avcodec.h and uses the
'CodecID' identifier. Such code should either #undef CodecID or stop using the
CodecID name.
2012-08-03 - 239fdf1 - lavu 51.37.1 - cpu.h
2012-08-03 - e776ee8 / 239fdf1 - lavu 51.66.101 / 51.37.1 - cpu.h
lsws 2.1.1 - swscale.h
Rename AV_CPU_FLAG_MMX2 ---> AV_CPU_FLAG_MMXEXT.
Rename SWS_CPU_CAPS_MMX2 ---> SWS_CPU_CAPS_MMXEXT.
2012-07-29 - 681ed00 - lavf 54.13.0 - avformat.h
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 - d3d3a32 - lavu 51.34.0
2012-06-22 - e847f41 / d3d3a32 - lavu 51.61.100 / 51.34.0
Add av_usleep()
2012-06-20 - ae0a301 - lavu 51.33.0
2012-06-20 - 4da42eb / ae0a301 - lavu 51.60.100 / 51.33.0
Move av_gettime() to libavutil, add libavutil/time.h
2012-06-09 - 3971be0 - lavr 0.0.3
2012-06-09 - 82edf67 / 3971be0 - lavr 0.0.3
Add a parameter to avresample_build_matrix() for Dolby/DPLII downmixing.
2012-06-12 - 9baeff9 - lavfi 2.23.0 - avfilter.h
2012-06-12 - c7b9eab / 9baeff9 - lavfi 2.79.100 / 2.23.0 - avfilter.h
Add AVFilterContext.nb_inputs/outputs. Deprecate
AVFilterContext.input/output_count.
2012-06-12 - 84b9fbe - lavfi 2.22.0 - avfilter.h
2012-06-12 - c7b9eab / 84b9fbe - lavfi 2.79.100 / 2.22.0 - avfilter.h
Add avfilter_pad_get_type() and avfilter_pad_get_name(). Those
should now be used instead of accessing AVFilterPad members
directly.
2012-06-12 - b0f0dfc - lavu 51.32.0 - audioconvert.h
2012-06-12 - 3630a07 / b0f0dfc - lavu 51.57.100 / 51.32.0 - audioconvert.h
Add av_get_channel_layout_channel_index(), av_get_channel_name()
and av_channel_layout_extract_channel().
2012-05-25 - 154486f - lavu 51.31.0 - opt.h
2012-05-25 - 53ce990 / 154486f - lavu 51.55.100 / 51.31.0 - opt.h
Add av_opt_set_bin()
2012-05-15 - lavfi 2.17.0
2012-05-15 - lavfi 2.74.100 / 2.17.0
Add support for audio filters
ac71230/a2cd9be - add video/audio buffer sink in a new installed
61930bd / ac71230, 1cbf7fb / a2cd9be - add video/audio buffer sink in a new installed
header buffersink.h
720c6b7 - add av_buffersrc_write_frame(), deprecate
1cbf7fb / 720c6b7 - add av_buffersrc_write_frame(), deprecate
av_vsrc_buffer_add_frame()
ab16504 - add avfilter_copy_buf_props()
9453c9e - add extended_data to AVFilterBuffer
1b8c927 - add avfilter_get_audio_buffer_ref_from_arrays()
61930bd / ab16504 - add avfilter_copy_buf_props()
61930bd / 9453c9e - add extended_data to AVFilterBuffer
61930bd / 1b8c927 - add avfilter_get_audio_buffer_ref_from_arrays()
2012-05-09 - lavu 51.30.0 - samplefmt.h
142e740 - add av_samples_copy()
6d7f617 - add av_samples_set_silence()
2012-05-09 - lavu 51.53.100 / 51.30.0 - samplefmt.h
61930bd / 142e740 - add av_samples_copy()
61930bd / 6d7f617 - add av_samples_set_silence()
2012-05-09 - a5117a2 - lavc 54.13.1
2012-05-09 - 61930bd / a5117a2 - lavc 54.21.101 / 54.13.1
For audio formats with fixed frame size, the last frame
no longer needs to be padded with silence, libavcodec
will handle this internally (effectively all encoders
behave as if they had CODEC_CAP_SMALL_LAST_FRAME set).
2012-05-07 - 828bd08 - lavc 54.13.0 - avcodec.h
2012-05-07 - 653d117 / 828bd08 - lavc 54.20.100 / 54.13.0 - avcodec.h
Add sample_rate and channel_layout fields to AVFrame.
2012-05-01 - 4010d72 - lavr 0.0.1
2012-05-01 - 2330eb1 / 4010d72 - lavr 0.0.1
Change AV_MIX_COEFF_TYPE_Q6 to AV_MIX_COEFF_TYPE_Q8.
2012-04-25 - 3527a73 - lavu 51.29.0 - cpu.h
2012-04-25 - e890b68 / 3527a73 - lavu 51.48.100 / 51.29.0 - cpu.h
Add av_parse_cpu_flags()
2012-04-24 - c8af852 - lavr 0.0.0
2012-04-24 - 3ead79e / c8af852 - lavr 0.0.0
Add libavresample audio conversion library
2012-04-20 - 0c0d1bc - lavu 51.28.0 - audio_fifo.h
2012-04-20 - 3194ab7 / 0c0d1bc - lavu 51.47.100 / 51.28.0 - audio_fifo.h
Add audio FIFO functions:
av_audio_fifo_free()
av_audio_fifo_alloc()
@@ -282,10 +534,10 @@ API changes, most recent first:
av_audio_fifo_size()
av_audio_fifo_space()
2012-04-14 - lavfi 2.16.0 - avfiltergraph.h
d7bcc71 Add avfilter_graph_parse2().
2012-04-14 - lavfi 2.70.100 / 2.16.0 - avfiltergraph.h
7432bcf / d7bcc71 Add avfilter_graph_parse2().
2012-04-08 - 4d693b0 - lavu 51.27.0 - samplefmt.h
2012-04-08 - 6bfb304 / 4d693b0 - lavu 51.46.100 / 51.27.0 - samplefmt.h
Add av_get_packed_sample_fmt() and av_get_planar_sample_fmt()
2012-03-21 - b75c67d - lavu 51.43.100
@@ -313,73 +565,73 @@ API changes, most recent first:
2012-01-24 - 0c3577b - lavfi 2.60.100
Add avfilter_graph_dump.
2012-03-20 - 3c90cc2 - lavfo 54.2.0
2012-03-20 - 0ebd836 / 3c90cc2 - lavfo 54.2.0
Deprecate av_read_packet(), use av_read_frame() with
AVFMT_FLAG_NOPARSE | AVFMT_FLAG_NOFILLIN in AVFormatContext.flags
2012-03-05 - lavc 54.8.0
6699d07 Add av_get_exact_bits_per_sample()
9524cf7 Add av_get_audio_frame_duration()
2012-03-05 - lavc 54.10.100 / 54.8.0
f095391 / 6699d07 Add av_get_exact_bits_per_sample()
f095391 / 9524cf7 Add av_get_audio_frame_duration()
2012-03-04 - 44fe77b - lavc 54.7.0 - avcodec.h
2012-03-04 - 2af8f2c / 44fe77b - lavc 54.8.100 / 54.7.0 - avcodec.h
Add av_codec_is_encoder/decoder().
2012-03-01 - 442c132 - lavc 54.3.0 - avcodec.h
2012-03-01 - 1eb7f39 / 442c132 - lavc 54.5.100 / 54.3.0 - avcodec.h
Add av_packet_shrink_side_data.
2012-02-29 - dd2a4bc - lavf 54.2.0 - avformat.h
2012-02-29 - 79ae084 / dd2a4bc - lavf 54.2.100 / 54.2.0 - avformat.h
Add AVStream.attached_pic and AV_DISPOSITION_ATTACHED_PIC,
used for dealing with attached pictures/cover art.
2012-02-25 - c9bca80 - lavu 51.24.0 - error.h
2012-02-25 - 305e4b3 / c9bca80 - lavu 51.41.100 / 51.24.0 - error.h
Add AVERROR_UNKNOWN
NOTE: this was backported to 0.8
2012-02-20 - e9cda85 - lavc 54.2.0
2012-02-20 - eadd426 / e9cda85 - lavc 54.2.100 / 54.2.0
Add duration field to AVCodecParserContext
2012-02-20 - 0b42a93 - lavu 51.23.1 - mathematics.h
2012-02-20 - eadd426 / 0b42a93 - lavu 51.40.100 / 51.23.1 - mathematics.h
Add av_rescale_q_rnd()
2012-02-08 - 38d5533 - lavu 51.22.1 - pixdesc.h
2012-02-08 - f2b20b7 / 38d5533 - lavu 51.38.101 / 51.22.1 - pixdesc.h
Add PIX_FMT_PSEUDOPAL flag.
2012-02-08 - 52f82a1 - lavc 54.01.0
2012-02-08 - f2b20b7 / 52f82a1 - lavc 54.2.100 / 54.1.0
Add avcodec_encode_video2() and deprecate avcodec_encode_video().
2012-02-01 - 316fc74 - lavc 54.01.0
2012-02-01 - 4c677df / 316fc74 - lavc 54.1.0
Add av_fast_padded_malloc() as alternative for av_realloc() when aligned
memory is required. The buffer will always have FF_INPUT_BUFFER_PADDING_SIZE
zero-padded bytes at the end.
2012-01-31 - dd6d3b0 - lavf 54.01.0
2012-01-31 - a369a6b / dd6d3b0 - lavf 54.1.0
Add avformat_get_riff_video_tags() and avformat_get_riff_audio_tags().
NOTE: this was backported to 0.8
2012-01-31 - af08d9a - lavc 54.01.0
2012-01-31 - a369a6b / af08d9a - lavc 54.1.0
Add avcodec_is_open() function.
NOTE: this was backported to 0.8
2012-01-30 - 8b93312 - lavu 51.22.0 - intfloat.h
2012-01-30 - 151ecc2 / 8b93312 - lavu 51.36.100 / 51.22.0 - intfloat.h
Add a new installed header libavutil/intfloat.h with int/float punning
functions.
NOTE: this was backported to 0.8
2012-01-25 - lavf 53.22.0
f1caf01 Allow doing av_write_frame(ctx, NULL) for flushing possible
2012-01-25 - lavf 53.31.100 / 53.22.0
3c5fe5b / f1caf01 Allow doing av_write_frame(ctx, NULL) for flushing possible
buffered data within a muxer. Added AVFMT_ALLOW_FLUSH for
muxers supporting it (av_write_frame makes sure it is called
only for muxers with this flag).
2012-01-15 - lavc 53.34.0
2012-01-15 - lavc 53.56.105 / 53.34.0
New audio encoding API:
b2c75b6 Add CODEC_CAP_VARIABLE_FRAME_SIZE capability for use by audio
67f5650 / b2c75b6 Add CODEC_CAP_VARIABLE_FRAME_SIZE capability for use by audio
encoders.
5ee5fa0 Add avcodec_fill_audio_frame() as a convenience function.
b2c75b6 Add avcodec_encode_audio2() and deprecate avcodec_encode_audio().
67f5650 / 5ee5fa0 Add avcodec_fill_audio_frame() as a convenience function.
67f5650 / b2c75b6 Add avcodec_encode_audio2() and deprecate avcodec_encode_audio().
Add AVCodec.encode2().
2012-01-12 - 3167dc9 - lavfi 2.15.0
2012-01-12 - b18e17e / 3167dc9 - lavfi 2.59.100 / 2.15.0
Add a new installed header -- libavfilter/version.h -- with version macros.
2011-12-08 - a502939 - lavfi 2.52.0
@@ -400,37 +652,37 @@ API changes, most recent first:
2011-10-20 - b35e9e1 - lavu 51.22.0
Add av_strtok() to avstring.h.
2011-01-03 - b73ec05 - lavu 51.21.0
2012-01-03 - ad1c8dd / b73ec05 - lavu 51.34.100 / 51.21.0
Add av_popcount64
2011-12-18 - 8400b12 - lavc 53.28.1
2011-12-18 - 7c29313 / 8400b12 - lavc 53.46.1 / 53.28.1
Deprecate AVFrame.age. The field is unused.
2011-12-12 - 5266045 - lavf 53.17.0
2011-12-12 - 8bc7fe4 / 5266045 - lavf 53.25.0 / 53.17.0
Add avformat_close_input().
Deprecate av_close_input_file() and av_close_input_stream().
2011-12-02 - 0eea212 - lavc 53.25.0
2011-12-02 - e4de716 / 0eea212 - lavc 53.40.0 / 53.25.0
Add nb_samples and extended_data fields to AVFrame.
Deprecate AVCODEC_MAX_AUDIO_FRAME_SIZE.
Deprecate avcodec_decode_audio3() in favor of avcodec_decode_audio4().
avcodec_decode_audio4() writes output samples to an AVFrame, which allows
audio decoders to use get_buffer().
2011-12-04 - 560f773 - lavc 53.24.0
2011-12-04 - e4de716 / 560f773 - lavc 53.40.0 / 53.24.0
Change AVFrame.data[4]/base[4]/linesize[4]/error[4] to [8] at next major bump.
Change AVPicture.data[4]/linesize[4] to [8] at next major bump.
Change AVCodecContext.error[4] to [8] at next major bump.
Add AV_NUM_DATA_POINTERS to simplify the bump transition.
2011-11-23 - bbb46f3 - lavu 51.18.0
2011-11-23 - 8e576d5 / bbb46f3 - lavu 51.27.0 / 51.18.0
Add av_samples_get_buffer_size(), av_samples_fill_arrays(), and
av_samples_alloc(), to samplefmt.h.
2011-11-23 - 8889cc4 - lavu 51.17.0
2011-11-23 - 8e576d5 / 8889cc4 - lavu 51.27.0 / 51.17.0
Add planar sample formats and av_sample_fmt_is_planar() to samplefmt.h.
2011-11-19 - f3a29b7 - lavc 53.21.0
2011-11-19 - dbb38bc / f3a29b7 - lavc 53.36.0 / 53.21.0
Move some AVCodecContext fields to a new private struct, AVCodecInternal,
which is accessed from a new field, AVCodecContext.internal.
- fields moved:
@@ -438,55 +690,55 @@ API changes, most recent first:
AVCodecContext.internal_buffer_count --> AVCodecInternal.buffer_count
AVCodecContext.is_copy --> AVCodecInternal.is_copy
2011-11-16 - 6270671 - lavu 51.16.0
2011-11-16 - 8709ba9 / 6270671 - lavu 51.26.0 / 51.16.0
Add av_timegm()
2011-11-13 - lavf 53.15.0
2011-11-13 - lavf 53.21.0 / 53.15.0
New interrupt callback API, allowing per-AVFormatContext/AVIOContext
interrupt callbacks.
6aa0b98 Add AVIOInterruptCB struct and the interrupt_callback field to
5f268ca / 6aa0b98 Add AVIOInterruptCB struct and the interrupt_callback field to
AVFormatContext.
1dee0ac Add avio_open2() with additional parameters. Those are
5f268ca / 1dee0ac Add avio_open2() with additional parameters. Those are
an interrupt callback and an options AVDictionary.
This will allow passing AVOptions to protocols after lavf
54.0.
2011-11-06 - ba04ecf - lavu 51.14.0
2011-11-06 - 13b7781 / ba04ecf - lavu 51.24.0 / 51.14.0
Add av_strcasecmp() and av_strncasecmp() to avstring.h.
2011-11-06 - 07b172f - lavu 51.13.0
2011-11-06 - 13b7781 / 07b172f - lavu 51.24.0 / 51.13.0
Add av_toupper()/av_tolower()
2011-11-05 - b6d08f4 - lavf 53.13.0
2011-11-05 - d8cab5c / b6d08f4 - lavf 53.19.0 / 53.13.0
Add avformat_network_init()/avformat_network_deinit()
2011-10-27 - 512557b - lavc 53.15.0
2011-10-27 - 6faf0a2 / 512557b - lavc 53.24.0 / 53.15.0
Remove avcodec_parse_frame.
Deprecate AVCodecContext.parse_only and CODEC_CAP_PARSE_ONLY.
2011-10-19 - 569129a - lavf 53.10.0
2011-10-19 - d049257 / 569129a - lavf 53.17.0 / 53.10.0
Add avformat_new_stream(). Deprecate av_new_stream().
2011-10-13 - b631fba - lavf 53.9.0
2011-10-13 - 91eb1b1 / b631fba - lavf 53.16.0 / 53.9.0
Add AVFMT_NO_BYTE_SEEK AVInputFormat flag.
2011-10-12 - lavu 51.12.0
2011-10-12 - lavu 51.21.0 / 51.12.0
AVOptions API rewrite.
- 145f741 FF_OPT_TYPE* renamed to AV_OPT_TYPE_*
- f884ef0 / 145f741 FF_OPT_TYPE* renamed to AV_OPT_TYPE_*
- new setting/getting functions with slightly different semantics:
dac66da av_set_string3 -> av_opt_set
f884ef0 / dac66da av_set_string3 -> av_opt_set
av_set_double -> av_opt_set_double
av_set_q -> av_opt_set_q
av_set_int -> av_opt_set_int
41d9d51 av_get_string -> av_opt_get
f884ef0 / 41d9d51 av_get_string -> av_opt_get
av_get_double -> av_opt_get_double
av_get_q -> av_opt_get_q
av_get_int -> av_opt_get_int
- 8c5dcaa trivial rename av_next_option -> av_opt_next
- 641c7af new functions - av_opt_child_next, av_opt_child_class_next
- f884ef0 / 8c5dcaa trivial rename av_next_option -> av_opt_next
- f884ef0 / 641c7af new functions - av_opt_child_next, av_opt_child_class_next
and av_opt_find2()
2011-09-22 - a70e787 - lavu 51.17.0
@@ -532,31 +784,31 @@ API changes, most recent first:
2011-08-20 - 69e2c1a - lavu 51.13.0
Add av_get_media_type_string().
2011-09-03 - fb4ca26 - lavc 53.13.0
2011-09-03 - 1889c67 / fb4ca26 - lavc 53.13.0
lavf 53.11.0
lsws 2.1.0
Add {avcodec,avformat,sws}_get_class().
2011-08-03 - c11fb82 - lavu 51.15.0
2011-08-03 - 1889c67 / c11fb82 - lavu 51.15.0
Add AV_OPT_SEARCH_FAKE_OBJ flag for av_opt_find() function.
2011-08-14 - 323b930 - lavu 51.12.0
Add av_fifo_peek2(), deprecate av_fifo_peek().
2011-08-26 - lavu 51.9.0
- add41de..abc78a5 Do not include intfloat_readwrite.h,
2011-08-26 - lavu 51.14.0 / 51.9.0
- 976a8b2 / add41de..976a8b2 / abc78a5 Do not include intfloat_readwrite.h,
mathematics.h, rational.h, pixfmt.h, or log.h from avutil.h.
2011-08-16 - 48f9e45 - lavf 53.8.0
2011-08-16 - 27fbe31 / 48f9e45 - lavf 53.11.0 / 53.8.0
Add avformat_query_codec().
2011-08-16 - bca06e7 - lavc 53.11.0
2011-08-16 - 27fbe31 / bca06e7 - lavc 53.11.0
Add avcodec_get_type().
2011-08-06 - 2f63440 - lavf 53.7.0
2011-08-06 - 0cb233c / 2f63440 - lavf 53.7.0
Add error_recognition to AVFormatContext.
2011-08-02 - 9d39cbf - lavc 53.9.1
2011-08-02 - 1d186e9 / 9d39cbf - lavc 53.9.1
Add AV_PKT_FLAG_CORRUPT AVPacket flag.
2011-07-16 - b57df29 - lavfi 2.27.0
@@ -567,11 +819,11 @@ API changes, most recent first:
avfilter_set_common_packing_formats()
avfilter_all_packing_formats()
2011-07-10 - a67c061 - lavf 53.6.0
2011-07-10 - 3602ad7 / a67c061 - lavf 53.6.0
Add avformat_find_stream_info(), deprecate av_find_stream_info().
NOTE: this was backported to 0.7
2011-07-10 - 0b950fe - lavc 53.8.0
2011-07-10 - 3602ad7 / 0b950fe - lavc 53.8.0
Add avcodec_open2(), deprecate avcodec_open().
NOTE: this was backported to 0.7
@@ -614,35 +866,35 @@ API changes, most recent first:
2011-06-12 - 6119b23 - lavfi 2.16.0 - avfilter_graph_parse()
Change avfilter_graph_parse() signature.
2011-06-23 - 67e9ae1 - lavu 51.8.0 - attributes.h
2011-06-23 - 686959e / 67e9ae1 - lavu 51.10.0 / 51.8.0 - attributes.h
Add av_printf_format().
2011-06-16 - 05e84c9, 25de595 - lavf 53.2.0 - avformat.h
2011-06-16 - 2905e3f / 05e84c9, 2905e3f / 25de595 - lavf 53.4.0 / 53.2.0 - avformat.h
Add avformat_open_input and avformat_write_header().
Deprecate av_open_input_stream, av_open_input_file,
AVFormatParameters and av_write_header.
2011-06-16 - 7e83e1c, dc59ec5 - lavu 51.7.0 - opt.h
2011-06-16 - 2905e3f / 7e83e1c, 2905e3f / dc59ec5 - lavu 51.9.0 / 51.7.0 - opt.h
Add av_opt_set_dict() and av_opt_find().
Deprecate av_find_opt().
Add AV_DICT_APPEND flag.
2011-06-10 - cb7c11c - lavu 51.6.0 - opt.h
2011-06-10 - 45fb647 / cb7c11c - lavu 51.6.0 - opt.h
Add av_opt_flag_is_set().
2011-06-10 - c381960 - lavfi 2.15.0 - avfilter_get_audio_buffer_ref_from_arrays
Add avfilter_get_audio_buffer_ref_from_arrays() to avfilter.h.
2011-06-09 - d9f80ea - lavu 51.8.0 - AVMetadata
2011-06-09 - f9ecb84 / d9f80ea - lavu 51.8.0 - AVMetadata
Move AVMetadata from lavf to lavu and rename it to
AVDictionary -- new installed header dict.h.
All av_metadata_* functions renamed to av_dict_*.
2011-06-07 - a6703fa - lavu 51.8.0 - av_get_bytes_per_sample()
2011-06-07 - d552f61 / a6703fa - lavu 51.8.0 - av_get_bytes_per_sample()
Add av_get_bytes_per_sample() in libavutil/samplefmt.h.
Deprecate av_get_bits_per_sample_fmt().
2011-06-05 - b39b062 - lavu 51.8.0 - opt.h
2011-06-05 - f956924 / b39b062 - lavu 51.8.0 - opt.h
Add av_opt_free convenience function.
2011-06-06 - 95a0242 - lavfi 2.14.0 - AVFilterBufferRefAudioProps
@@ -672,7 +924,7 @@ API changes, most recent first:
Add av_get_pix_fmt_name() in libavutil/pixdesc.h, and deprecate
avcodec_get_pix_fmt_name() in libavcodec/avcodec.h in its favor.
2011-05-25 - 30315a8 - lavf 53.3.0 - avformat.h
2011-05-25 - 39e4206 / 30315a8 - lavf 53.3.0 - avformat.h
Add fps_probe_size to AVFormatContext.
2011-05-22 - 5ecdfd0 - lavf 53.2.0 - avformat.h
@@ -688,10 +940,10 @@ API changes, most recent first:
2011-05-14 - 9fdf772 - lavfi 2.6.0 - avcodec.h
Add avfilter_get_video_buffer_ref_from_frame() to libavfilter/avcodec.h.
2011-05-18 - 64150ff - lavc 53.7.0 - AVCodecContext.request_sample_fmt
2011-05-18 - 75a37b5 / 64150ff - lavc 53.7.0 - AVCodecContext.request_sample_fmt
Add request_sample_fmt field to AVCodecContext.
2011-05-10 - 188dea1 - lavc 53.6.0 - avcodec.h
2011-05-10 - 59eb12f / 188dea1 - lavc 53.6.0 - avcodec.h
Deprecate AVLPCType and the following fields in
AVCodecContext: lpc_coeff_precision, prediction_order_method,
min_partition_order, max_partition_order, lpc_type, lpc_passes.
@@ -721,81 +973,81 @@ API changes, most recent first:
Add av_dynarray_add function for adding
an element to a dynamic array.
2011-04-26 - bebe72f - lavu 51.1.0 - avutil.h
2011-04-26 - d7e5aeb / bebe72f - lavu 51.1.0 - avutil.h
Add AVPictureType enum and av_get_picture_type_char(), deprecate
FF_*_TYPE defines and av_get_pict_type_char() defined in
libavcodec/avcodec.h.
2011-04-26 - 10d3940 - lavfi 2.3.0 - avfilter.h
2011-04-26 - d7e5aeb / 10d3940 - lavfi 2.3.0 - avfilter.h
Add pict_type and key_frame fields to AVFilterBufferRefVideo.
2011-04-26 - 7a11c82 - lavfi 2.2.0 - vsrc_buffer
2011-04-26 - d7e5aeb / 7a11c82 - lavfi 2.2.0 - vsrc_buffer
Add sample_aspect_ratio fields to vsrc_buffer arguments
2011-04-21 - 94f7451 - lavc 53.1.0 - avcodec.h
2011-04-21 - 8772156 / 94f7451 - lavc 53.1.0 - avcodec.h
Add CODEC_CAP_SLICE_THREADS for codecs supporting sliced threading.
2011-04-15 - lavc 52.120.0 - avcodec.h
AVPacket structure got additional members for passing side information:
4de339e introduce side information for AVPacket
2d8591c make containers pass palette change in AVPacket
c407984 / 4de339e introduce side information for AVPacket
c407984 / 2d8591c make containers pass palette change in AVPacket
2011-04-12 - lavf 52.107.0 - avio.h
Avio cleanup, part II - deprecate the entire URLContext API:
175389c add avio_check as a replacement for url_exist
ff1ec0c add avio_pause and avio_seek_time as replacements
c55780d / 175389c add avio_check as a replacement for url_exist
9891004 / ff1ec0c add avio_pause and avio_seek_time as replacements
for _av_url_read_fseek/fpause
cdc6a87 deprecate av_protocol_next(), avio_enum_protocols
d4d0932 / cdc6a87 deprecate av_protocol_next(), avio_enum_protocols
should be used instead.
80c6e23 rename url_set_interrupt_cb->avio_set_interrupt_cb.
f87b1b3 rename open flags: URL_* -> AVIO_*
f8270bb add avio_enum_protocols.
5593f03 deprecate URLProtocol.
c486dad deprecate URLContext.
026e175 deprecate the typedef for URLInterruptCB
8e76a19 deprecate av_register_protocol2.
b840484 deprecate URL_PROTOCOL_FLAG_NESTED_SCHEME
1305d93 deprecate av_url_read_seek
fa104e1 deprecate av_url_read_pause
727c7aa deprecate url_get_filename().
5958df3 deprecate url_max_packet_size().
1869ea0 deprecate url_get_file_handle().
32a97d4 deprecate url_filesize().
e52a914 deprecate url_close().
58a48c6 deprecate url_seek().
925e908 deprecate url_write().
dce3756 deprecate url_read_complete().
bc371ac deprecate url_read().
0589da0 deprecate url_open().
62eaaea deprecate url_connect.
5652bb9 deprecate url_alloc.
333e894 deprecate url_open_protocol
e230705 deprecate url_poll and URLPollEntry
c88caa5 / 80c6e23 rename url_set_interrupt_cb->avio_set_interrupt_cb.
c88caa5 / f87b1b3 rename open flags: URL_* -> AVIO_*
d4d0932 / f8270bb add avio_enum_protocols.
d4d0932 / 5593f03 deprecate URLProtocol.
d4d0932 / c486dad deprecate URLContext.
d4d0932 / 026e175 deprecate the typedef for URLInterruptCB
c88caa5 / 8e76a19 deprecate av_register_protocol2.
11d7841 / b840484 deprecate URL_PROTOCOL_FLAG_NESTED_SCHEME
11d7841 / 1305d93 deprecate av_url_read_seek
11d7841 / fa104e1 deprecate av_url_read_pause
434f248 / 727c7aa deprecate url_get_filename().
434f248 / 5958df3 deprecate url_max_packet_size().
434f248 / 1869ea0 deprecate url_get_file_handle().
434f248 / 32a97d4 deprecate url_filesize().
434f248 / e52a914 deprecate url_close().
434f248 / 58a48c6 deprecate url_seek().
434f248 / 925e908 deprecate url_write().
434f248 / dce3756 deprecate url_read_complete().
434f248 / bc371ac deprecate url_read().
434f248 / 0589da0 deprecate url_open().
434f248 / 62eaaea deprecate url_connect.
434f248 / 5652bb9 deprecate url_alloc.
434f248 / 333e894 deprecate url_open_protocol
434f248 / e230705 deprecate url_poll and URLPollEntry
2011-04-08 - lavf 52.106.0 - avformat.h
Minor avformat.h cleanup:
a9bf9d8 deprecate av_guess_image2_codec
c3675df rename avf_sdp_create->av_sdp_create
d4d0932 / a9bf9d8 deprecate av_guess_image2_codec
d4d0932 / c3675df rename avf_sdp_create->av_sdp_create
2011-04-03 - lavf 52.105.0 - avio.h
Large-scale renaming/deprecating of AVIOContext-related functions:
724f6a0 deprecate url_fdopen
403ee83 deprecate url_open_dyn_packet_buf
6dc7d80 rename url_close_dyn_buf -> avio_close_dyn_buf
b92c545 rename url_open_dyn_buf -> avio_open_dyn_buf
8978fed introduce an AVIOContext.seekable field as a replacement for
2cae980 / 724f6a0 deprecate url_fdopen
2cae980 / 403ee83 deprecate url_open_dyn_packet_buf
2cae980 / 6dc7d80 rename url_close_dyn_buf -> avio_close_dyn_buf
2cae980 / b92c545 rename url_open_dyn_buf -> avio_open_dyn_buf
2cae980 / 8978fed introduce an AVIOContext.seekable field as a replacement for
AVIOContext.is_streamed and url_is_streamed()
b64030f deprecate get_checksum()
4c4427a deprecate init_checksum()
4ec153b deprecate udp_set_remote_url/get_local_port
933e90a deprecate av_url_read_fseek/fpause
8d9769a deprecate url_fileno
b7f2fdd rename put_flush_packet -> avio_flush
35f1023 deprecate url_close_buf
83fddae deprecate url_open_buf
d9d86e0 rename url_fprintf -> avio_printf
59f65d9 deprecate url_setbufsize
3e68b3b deprecate url_ferror
1caa412 / b64030f deprecate get_checksum()
1caa412 / 4c4427a deprecate init_checksum()
2fd41c9 / 4ec153b deprecate udp_set_remote_url/get_local_port
4fa0e24 / 933e90a deprecate av_url_read_fseek/fpause
4fa0e24 / 8d9769a deprecate url_fileno
0fecf26 / b7f2fdd rename put_flush_packet -> avio_flush
0fecf26 / 35f1023 deprecate url_close_buf
0fecf26 / 83fddae deprecate url_open_buf
0fecf26 / d9d86e0 rename url_fprintf -> avio_printf
0fecf26 / 59f65d9 deprecate url_setbufsize
6947b0c / 3e68b3b deprecate url_ferror
e8bb2e2 deprecate url_fget_max_packet_size
76aa876 rename url_fsize -> avio_size
e519753 deprecate url_fgetc
@@ -816,7 +1068,7 @@ API changes, most recent first:
b3db9ce deprecate get_partial_buffer
8d9ac96 rename av_alloc_put_byte -> avio_alloc_context
2011-03-25 - 34b47d7 - lavc 52.115.0 - AVCodecContext.audio_service_type
2011-03-25 - 27ef7b1 / 34b47d7 - lavc 52.115.0 - AVCodecContext.audio_service_type
Add audio_service_type field to AVCodecContext.
2011-03-17 - e309fdc - lavu 50.40.0 - pixfmt.h
@@ -854,11 +1106,11 @@ API changes, most recent first:
2011-02-10 - 12c14cd - lavf 52.99.0 - AVStream.disposition
Add AV_DISPOSITION_HEARING_IMPAIRED and AV_DISPOSITION_VISUAL_IMPAIRED.
2011-02-09 - 5592734 - lavc 52.112.0 - avcodec_thread_init()
2011-02-09 - c0b102c - lavc 52.112.0 - avcodec_thread_init()
Deprecate avcodec_thread_init()/avcodec_thread_free() use; instead
set thread_count before calling avcodec_open.
2011-02-09 - 778b08a - lavc 52.111.0 - threading API
2011-02-09 - 37b00b4 - lavc 52.111.0 - threading API
Add CODEC_CAP_FRAME_THREADS with new restrictions on get_buffer()/
release_buffer()/draw_horiz_band() callbacks for appropriate codecs.
Add thread_type and active_thread_type fields to AVCodecContext.
+4 -4
View File
@@ -33,7 +33,7 @@ PROJECT_NAME = FFmpeg
PROJECT_NUMBER =
# 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.
@@ -277,7 +277,7 @@ SUBGROUPING = YES
# be useful for C code in case the coding convention dictates that all compound
# types are typedef'ed and only the typedef is referenced, never the tag name.
TYPEDEF_HIDES_STRUCT = NO
TYPEDEF_HIDES_STRUCT = YES
# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
# determine which symbols to keep in memory and which to flush to disk.
@@ -409,7 +409,7 @@ INLINE_INFO = YES
# alphabetically by member name. If set to NO the members will appear in
# declaration order.
SORT_MEMBER_DOCS = YES
SORT_MEMBER_DOCS = NO
# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
# brief documentation of file, namespace and class members alphabetically
@@ -709,7 +709,7 @@ INLINE_SOURCES = NO
# doxygen to hide any special comment blocks from generated source code
# fragments. Normal C and C++ comments will always remain visible.
STRIP_CODE_COMMENTS = YES
STRIP_CODE_COMMENTS = NO
# If the REFERENCED_BY_RELATION tag is set to YES
# then for each documented function all documented
+46 -12
View File
@@ -6,7 +6,6 @@ LIBRARIES-$(CONFIG_AVFORMAT) += libavformat
LIBRARIES-$(CONFIG_AVDEVICE) += libavdevice
LIBRARIES-$(CONFIG_AVFILTER) += libavfilter
COMPONENTS-yes = $(PROGS-yes)
COMPONENTS-$(CONFIG_AVUTIL) += ffmpeg-utils
COMPONENTS-$(CONFIG_SWSCALE) += ffmpeg-scaler
COMPONENTS-$(CONFIG_SWRESAMPLE) += ffmpeg-resampler
@@ -15,9 +14,11 @@ COMPONENTS-$(CONFIG_AVFORMAT) += ffmpeg-formats ffmpeg-protocols
COMPONENTS-$(CONFIG_AVDEVICE) += ffmpeg-devices
COMPONENTS-$(CONFIG_AVFILTER) += ffmpeg-filters
MANPAGES = $(COMPONENTS-yes:%=doc/%.1) $(LIBRARIES-yes:%=doc/%.3)
PODPAGES = $(COMPONENTS-yes:%=doc/%.pod) $(LIBRARIES-yes:%=doc/%.pod)
HTMLPAGES = $(COMPONENTS-yes:%=doc/%.html) $(LIBRARIES-yes:%=doc/%.html) \
MANPAGES1 = $(PROGS-yes:%=doc/%.1) $(PROGS-yes:%=doc/%-all.1) $(COMPONENTS-yes:%=doc/%.1)
MANPAGES3 = $(LIBRARIES-yes:%=doc/%.3)
MANPAGES = $(MANPAGES1) $(MANPAGES3)
PODPAGES = $(PROGS-yes:%=doc/%.pod) $(PROGS-yes:%=doc/%-all.pod) $(COMPONENTS-yes:%=doc/%.pod) $(LIBRARIES-yes:%=doc/%.pod)
HTMLPAGES = $(PROGS-yes:%=doc/%.html) $(PROGS-yes:%=doc/%-all.html) $(COMPONENTS-yes:%=doc/%.html) $(LIBRARIES-yes:%=doc/%.html) \
doc/developer.html \
doc/faq.html \
doc/fate.html \
@@ -59,12 +60,22 @@ $(GENTEXI): doc/avoptions_%.texi: doc/print_options$(HOSTEXESUF)
doc/%.html: TAG = HTML
doc/%.html: doc/%.texi $(SRC_PATH)/doc/t2h.init $(GENTEXI)
$(Q)$(TEXIDEP)
$(M)texi2html -I doc -monolithic --init-file $(SRC_PATH)/doc/t2h.init --output $@ $<
$(M)texi2html -I doc -monolithic --D=config-not-all --init-file $(SRC_PATH)/doc/t2h.init --output $@ $<
doc/%-all.html: TAG = HTML
doc/%-all.html: doc/%.texi $(SRC_PATH)/doc/t2h.init $(GENTEXI)
$(Q)$(TEXIDEP)
$(M)texi2html -I doc -monolithic --D=config-all --init-file $(SRC_PATH)/doc/t2h.init --output $@ $<
doc/%.pod: TAG = POD
doc/%.pod: doc/%.texi $(GENTEXI)
doc/%.pod: doc/%.texi $(SRC_PATH)/doc/texi2pod.pl $(GENTEXI)
$(Q)$(TEXIDEP)
$(M)perl $(SRC_PATH)/doc/texi2pod.pl -Idoc $< $@
$(M)perl $(SRC_PATH)/doc/texi2pod.pl -Dconfig-not-all=yes -Idoc $< $@
doc/%-all.pod: TAG = POD
doc/%-all.pod: doc/%.texi $(SRC_PATH)/doc/texi2pod.pl $(GENTEXI)
$(Q)$(TEXIDEP)
$(M)perl $(SRC_PATH)/doc/texi2pod.pl -Dconfig-all=yes -Idoc $< $@
doc/%.1 doc/%.3: TAG = MAN
doc/%.1: doc/%.pod $(GENTEXI)
@@ -77,24 +88,47 @@ $(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
install-man: $(MANPAGES)
$(Q)mkdir -p "$(MANDIR)/man1"
$(INSTALL) -m 644 $(MANPAGES) "$(MANDIR)/man1"
$(INSTALL) -m 644 $(MANPAGES1) "$(MANDIR)/man1"
$(Q)mkdir -p "$(MANDIR)/man3"
$(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/",$(ALLMANPAGES))
$(RM) $(addprefix "$(MANDIR)/man1/",$(PROGS-yes:%=%.1) $(PROGS-yes:%=%-all.1) $(COMPONENTS-yes:%=%.1))
$(RM) $(addprefix "$(MANDIR)/man3/",$(LIBRARIES-yes:%=%.3))
docclean: clean
clean:: docclean
clean::
distclean:: docclean
$(RM) doc/config.texi
docclean:
$(RM) $(TXTPAGES) doc/*.html doc/*.pod doc/*.1 doc/*.3 $(CLEANSUFFIXES:%=doc/%) doc/avoptions_*.texi
$(RM) -r doc/doxy/html
+1 -7
View File
@@ -1,7 +1,7 @@
Release Notes
=============
* 0.10 "Freedom" January, 2012
* 2.1 "Fourier" October, 2013
General notes
@@ -14,9 +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.
Of big interest to our Windows users, FFmpeg now supports building with the MSVC
compiler. Since MSVC does not support C99 features used extensively by FFmpeg,
this has been accomplished using a converter that turns C99 code to C89. See the
platform-specific documentation for more detailed documentation on building
FFmpeg with MSVC.
+39 -2
View File
@@ -17,9 +17,46 @@ Below is a description of the currently available bitstream filters.
@section aac_adtstoasc
Convert MPEG-2/4 AAC ADTS to MPEG-4 Audio Specific Configuration
bitstream filter.
This filter creates an MPEG-4 AudioSpecificConfig from an MPEG-2/4
ADTS header and removes the ADTS header.
This is required for example when copying an AAC stream from a raw
ADTS AAC container to a FLV or a MOV/MP4 file.
@section chomp
@section dump_extradata
Remove zero padding at the end of a packet.
@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
@@ -86,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
+1087
View File
File diff suppressed because it is too large Load Diff
+113
View File
@@ -60,6 +60,78 @@ This decoder generates wave patterns according to predefined sequences. Its
use is purely internal and the format of the data it accepts is not publicly
documented.
@section libcelt
libcelt decoder wrapper.
libcelt allows libavcodec to decode the Xiph CELT ultra-low delay audio codec.
Requires the presence of the libcelt headers and library during configuration.
You need to explicitly configure the build with @code{--enable-libcelt}.
@section libgsm
libgsm decoder wrapper.
libgsm allows libavcodec to decode the GSM full rate audio codec. Requires
the presence of the libgsm headers and library during configuration. You need
to explicitly configure the build with @code{--enable-libgsm}.
This decoder supports both the ordinary GSM and the Microsoft variant.
@section libilbc
libilbc decoder wrapper.
libilbc allows libavcodec to decode the Internet Low Bitrate Codec (iLBC)
audio codec. Requires the presence of the libilbc headers and library during
configuration. You need to explicitly configure the build with
@code{--enable-libilbc}.
@subsection Options
The following option is supported by the libilbc wrapper.
@table @option
@item enhance
Enable the enhancement of the decoded audio when set to 1. The default
value is 0 (disabled).
@end table
@section libopencore-amrnb
libopencore-amrnb decoder wrapper.
libopencore-amrnb allows libavcodec to decode the Adaptive Multi-Rate
Narrowband audio codec. Using it requires the presence of the
libopencore-amrnb headers and library during configuration. You need to
explicitly configure the build with @code{--enable-libopencore-amrnb}.
An FFmpeg native decoder for AMR-NB exists, so users can decode AMR-NB
without this library.
@section libopencore-amrwb
libopencore-amrwb decoder wrapper.
libopencore-amrwb allows libavcodec to decode the Adaptive Multi-Rate
Wideband audio codec. Using it requires the presence of the
libopencore-amrwb headers and library during configuration. You need to
explicitly configure the build with @code{--enable-libopencore-amrwb}.
An FFmpeg native decoder for AMR-WB exists, so users can decode AMR-WB
without this library.
@section libopus
libopus decoder wrapper.
libopus allows libavcodec to decode the Opus Interactive Audio Codec.
Requires the presence of the libopus headers and library during
configuration. You need to explicitly configure the build with
@code{--enable-libopus}.
@c man end AUDIO DECODERS
@chapter Subtitles Decoders
@@ -86,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
+21 -5
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 {
+186 -50
View File
@@ -1,23 +1,155 @@
@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
are enabled by default. You can list all available ones using the
configure option "--list-demuxers".
configure option @code{--list-demuxers}.
You can disable all the demuxers using the configure option
"--disable-demuxers", and selectively enable a single demuxer with
the option "--enable-demuxer=@var{DEMUXER}", or disable it
with the option "--disable-demuxer=@var{DEMUXER}".
@code{--disable-demuxers}, and selectively enable a single demuxer with
the option @code{--enable-demuxer=@var{DEMUXER}}, or disable it
with the option @code{--disable-demuxer=@var{DEMUXER}}.
The option "-formats" of the ff* tools will display the list of
The option @code{-formats} of the ff* tools will display the list of
enabled demuxers.
The description of some of the currently available demuxers follows.
@section applehttp
Apple HTTP Live Streaming demuxer.
This demuxer presents all AVStreams from all variant streams.
The id field is set to the bitrate variant index number. By setting
the discard flags on AVStreams (by pressing 'a' or 'v' in ffplay),
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
Virtual concatenation script demuxer.
This demuxer reads a list of files and other directives from a text file and
demuxes them one after the other, as if all their packet had been muxed
together.
The timestamps in the files are adjusted so that the first file starts at 0
and each next file starts where the previous one finishes. Note that it is
done globally and may cause gaps if all streams do not have exactly the same
length.
All files must have the same streams (same codecs, same time base, etc.).
The duration of each file is used to adjust the timestamps of the next file:
if the duration is incorrect (because it was computed using the bit-rate or
because the file is truncated, for example), it can cause artifacts. The
@code{duration} directive can be used to override the duration stored in
each file.
@subsection Syntax
The script is a text file in extended-ASCII, with one directive per line.
Empty lines, leading spaces and lines starting with '#' are ignored. The
following directive is recognized:
@table @option
@item @code{file @var{path}}
Path to a file to read; special characters and spaces must be escaped with
backslash or single quotes.
All subsequent directives apply to that file.
@item @code{ffconcat version 1.0}
Identify the script type and version. It also sets the @option{safe} option
to 1 if it was to its default -1.
To make FFmpeg recognize the format automatically, this directive must
appears exactly as is (no extra space or byte-order-mark) on the very first
line of the script.
@item @code{duration @var{dur}}
Duration of the file. This information can be specified from the file;
specifying it here may be more efficient or help if the information from the
file is not available or accurate.
If the duration is set for all files, then it is possible to seek in the
whole concatenated video.
@end table
@subsection Options
This demuxer accepts the following option:
@table @option
@item safe
If set to 1, reject unsafe file paths. A file path is considered safe if it
does not contain a protocol specification and is relative and all components
only contain characters from the portable character set (letters, digits,
period, underscore and hyphen) and have no period at the beginning of a
component.
If set to 0, any file name is accepted.
The default is -1, it is equivalent to 1 if the format was automatically
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.
See @url{http://code.google.com/p/game-music-emu/} for more information.
Some files have multiple tracks. The demuxer will pick the first track by
default. The @option{track_index} option can be used to select a different
track. Track indexes start at 0. The demuxer exports the number of tracks as
@var{tracks} meta data entry.
For very large files, the @option{max_size} option may have to be adjusted.
@section libquvi
Play media from Internet services using the quvi project.
The demuxer accepts a @option{format} option to request a specific quality. It
is by default set to @var{best}.
See @url{http://quvi.sourceforge.net/} for more information.
FFmpeg needs to be built with @code{--enable-libquvi} for this demuxer to be
enabled.
@section image2
Image file demuxer.
@@ -35,7 +167,7 @@ same for all the files in the sequence.
This demuxer accepts the following options:
@table @option
@item framerate
Set the framerate for the video stream. It defaults to 25.
Set the frame rate for the video stream. It defaults to 25.
@item loop
If set to 1, loop over the input. Default value is 0.
@item pattern_type
@@ -113,6 +245,10 @@ to read from. Default value is 0.
Set the index interval range to check when looking for the first image
file in the sequence, starting from @var{start_number}. Default value
is 5.
@item ts_from_file
If set to 1, will set frame timestamp to modification time of image file. Note
that monotonity of timestamps is not provided: images go in the same order as
without this option. Default value is 0.
@item video_size
Set the video size of the images to read. If not specified the video
size is guessed from the first image file in the sequence.
@@ -126,33 +262,64 @@ 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 applehttp
@section mpegts
Apple HTTP Live Streaming demuxer.
MPEG-2 transport stream demuxer.
This demuxer presents all AVStreams from all variant streams.
The id field is set to the bitrate variant index number. By setting
the discard flags on AVStreams (by pressing 'a' or 'v' in ffplay),
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".
@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.
This demuxer allows to read raw video data. Since there is no header
specifying the assumed video parameters, the user must specify them
in order to be able to decode the data correctly.
This demuxer accepts the following options:
@table @option
@item framerate
Set input video frame rate. Default value is 25.
@item pixel_format
Set the input video pixel format. Default value is @code{yuv420p}.
@item video_size
Set the input video size. This value must be specified explicitly.
@end table
For example to read a rawvideo file @file{input.raw} with
@command{ffplay}, assuming a pixel format of @code{rgb24}, a video
size of @code{320x240}, and a frame rate of 10 images per second, use
the command:
@example
ffplay -f rawvideo -pixel_format rgb24 -video_size 320x240 -framerate 10 input.raw
@end example
@section sbg
@@ -184,37 +351,6 @@ the script is directly played, the actual times will match the absolute
timestamps up to the sound controller's clock accuracy, but if the user
somehow pauses the playback or seeks, all times will be shifted accordingly.
@section concat
Virtual concatenation script demuxer.
This demuxer reads a list of files and other directives from a text file and
demuxes them one after the other, as if all their packet had been muxed
together.
The timestamps in the files are adjusted so that the first file starts at 0
and each next file starts where the previous one finishes. Note that it is
done globally and may cause gaps if all streams do not have exactly the same
length.
All files must have the same streams (same codecs, same time base, etc.).
This script format can currently not be probed, it must be specified explicitly.
@subsection Syntax
The script is a text file in extended-ASCII, with one directive per line.
Empty lines, leading spaces and lines starting with '#' are ignored. The
following directive is recognized:
@table @option
@item @code{file @var{path}}
Path to a file to read; special characters and spaces must be escaped with
backslash or single quotes.
@end table
@section tedcaptions
JSON captions used for @url{http://www.ted.com/, TED Talks}.
@@ -236,4 +372,4 @@ Example: convert the captions to a format most players understand:
ffmpeg -i http://www.ted.com/talks/subtitles/id/1/lang/en talk1-en.srt
@end example
@c man end INPUT DEVICES
@c man end DEMUXERS
+452 -206
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,46 +136,72 @@ 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
@subsection Naming conventions
All names are using underscores (_), not CamelCase. For example, @samp{avfilter_get_video_buffer} is
a valid function name and @samp{AVFilterGetVideo} is not. The exception from this are type names, like
All names should be composed with underscores (_), not CamelCase. For example,
@samp{avfilter_get_video_buffer} is an acceptable function name and
@samp{AVFilterGetVideo} is not. The exception from this are type names, like
for example structs and enums; they should always be in the CamelCase
There are the following conventions for naming variables and functions:
There are following conventions for naming variables and functions:
@itemize @bullet
@item
For local variables no prefix is required.
@item
For variables and functions declared as @code{static} no prefixes are required.
For file-scope variables and functions declared as @code{static}, no prefix
is required.
@item
For variables and functions used internally by the library, @code{ff_} prefix
should be used.
For example, @samp{ff_w64_demuxer}.
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 used internally across multiple libraries, use
@code{avpriv_}. For example, @samp{avpriv_aac_parse_header}.
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
For exported names, each library has its own prefixes. Just check the existing
code and name accordingly.
Each library has its own prefix for public symbols, in addition to the
commonly used @code{av_} (@code{avformat_} for libavformat,
@code{avcodec_} for libavcodec, @code{swr_} for libswresample, etc).
Check the existing code and choose names accordingly.
Note that some symbols without these prefixes are also exported for
retro-compatibility reasons. These exceptions are declared in the
@code{lib<name>/lib<name>.v} files.
@end itemize
Furthermore, name space reserved for the system should not be invaded.
Identifiers ending in @code{_t} are reserved by
@url{http://pubs.opengroup.org/onlinepubs/007904975/functions/xsh_chap02_02.html#tag_02_02_02, POSIX}.
Also avoid names starting with @code{__} or @code{_} followed by an uppercase
letter as they are reserved by the C standard. Names starting with @code{_}
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.
@@ -190,8 +217,8 @@ set shiftwidth=4
set softtabstop=4
set cindent
set cinoptions=(0
" allow tabs in Makefiles
autocmd FileType make set noexpandtab shiftwidth=8 softtabstop=8
" Allow tabs in Makefiles.
autocmd FileType make,automake set noexpandtab shiftwidth=8 softtabstop=8
" Trailing whitespace and tabs are forbidden, so highlight them.
highlight ForbiddenWhitespace ctermbg=red guibg=red
match ForbiddenWhitespace /\s\+$\|\t/
@@ -217,125 +244,158 @@ For Emacs, add these roughly equivalent lines to your @file{.emacs.d/init.el}:
@enumerate
@item
Contributions should be licensed under the LGPL 2.1, including an
"or any later version" clause, or the MIT license. 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
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.
Note, these rules are mostly borrowed from the MPlayer project.
@anchor{Submitting patches}
@section Submitting patches
@@ -358,11 +418,6 @@ The tool is located in the tools directory.
Run the @ref{Regression tests} before submitting a patch in order to verify
it does not cause unexpected problems.
Patches should be posted as base64 encoded attachments (or any other
encoding which ensures that the patch will not be trashed during
transmission) to the ffmpeg-devel mailing list, see
@url{http://lists.ffmpeg.org/mailman/listinfo/ffmpeg-devel}
It also helps quite a bit if you tell us what the patch does (for example
'replaces lrint by lrintf'), and why (for example '*BSD isn't C99 compliant
and has no lrint()')
@@ -370,6 +425,13 @@ and has no lrint()')
Also please if you send several patches, send each patch as a separate mail,
do not attach several unrelated patches to the same mail.
Patches should be posted to the
@uref{http://lists.ffmpeg.org/mailman/listinfo/ffmpeg-devel, ffmpeg-devel}
mailing list. Use @code{git send-email} when possible since it will properly
send patches without requiring extra care. If you cannot, then send patches
as base64-encoded attachments, so your patch is not trashed during
transmission.
Your patch will be reviewed on the mailing list. You will likely be asked
to make some changes and are expected to send in an improved version that
incorporates the requests from the review. This process may go through
@@ -384,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
@@ -425,77 +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 and the noise bitstream filter. Your decoder or demuxer
should not crash or end in a (near) infinite loop 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.
@end enumerate
@section Patch review process
@@ -548,4 +653,145 @@ message or introductionary message for the patch series that you post to
the ffmpeg-devel mailing list, a direct link to download the sample media.
@subsection Visualizing Test Coverage
The FFmpeg build system allows visualizing the test coverage in an easy
manner with the coverage tools @code{gcov}/@code{lcov}. This involves
the following steps:
@enumerate
@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
You can use the command @code{make lcov-reset} to reset the coverage
measurements. You will need to rerun @code{make lcov} after running a
new test.
@subsection Using Valgrind
The configure script provides a shortcut for using valgrind to spot bugs
related to memory handling. Just add the option
@code{--toolchain=valgrind-memcheck} or @code{--toolchain=valgrind-massif}
to your configure line, and reasonable defaults will be set for running
FATE under the supervision of either the @strong{memcheck} or the
@strong{massif} tool of the valgrind suite.
In case you need finer control over how valgrind is invoked, use the
@code{--target-exec='valgrind <your_custom_valgrind_options>} option in
your configure line instead.
@anchor{Release process}
@section Release process
FFmpeg maintains a set of @strong{release branches}, which are the
recommended deliverable for system integrators and distributors (such as
Linux distributions, etc.). At regular times, a @strong{release
manager} prepares, tests and publishes tarballs on the
@url{http://ffmpeg.org} website.
There are two kinds of releases:
@enumerate
@item
@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.
@end enumerate
Note that we promise to our users that shared libraries from any FFmpeg
release never break programs that have been @strong{compiled} against
previous versions of @strong{the same release series} in any case!
However, from time to time, we do make API changes that require adaptations
in applications. Such changes are only allowed in (new) major releases and
require further steps such as bumping library version numbers and/or
adjustments to the symbol versioning file. Please discuss such changes
on the @strong{ffmpeg-devel} mailing list in time to allow forward planning.
@anchor{Criteria for Point Releases}
@subsection Criteria for Point Releases
Changes that match the following criteria are valid candidates for
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/}.
@item
Fixes a documented bug in @url{https://trac.ffmpeg.org}.
@item
Improves the included documentation.
@item
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.
@subsection Release Checklist
The release process involves the following steps:
@enumerate
@item
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}.
@item
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}.
@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}).
@item
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.
@item
Propose and send a patch to the @strong{ffmpeg-devel} mailing list
with a news entry for the website.
@item
Publish the news entry.
@item
Send announcement to the mailing list.
@end enumerate
@bye
+21
View File
@@ -0,0 +1,21 @@
@chapter Device Options
@c man begin DEVICE OPTIONS
The libavdevice library provides the same interface as
libavformat. Namely, an input device is considered like a demuxer, and
an output device like a muxer, and the interface and generic device
options are the same provided by libavformat (see the ffmpeg-formats
manual).
In addition each input or output device may support so-called private
options, which are specific for that component.
Options may be set by specifying -@var{option} @var{value} in the
FFmpeg tools, or by setting the value explicitly in the device
@code{AVFormatContext} options or using the @file{libavutil/opt.h} API
for programmatic use.
@c man end DEVICE OPTIONS
@include indevs.texi
@include outdevs.texi
+1043 -27
View File
File diff suppressed because it is too large Load Diff
-252
View File
@@ -1,252 +0,0 @@
@chapter Expression Evaluation
@c man begin EXPRESSION EVALUATION
When evaluating an arithmetic expression, FFmpeg uses an internal
formula evaluator, implemented through the @file{libavutil/eval.h}
interface.
An expression may contain unary, binary operators, constants, and
functions.
Two expressions @var{expr1} and @var{expr2} can be combined to form
another expression "@var{expr1};@var{expr2}".
@var{expr1} and @var{expr2} are evaluated in turn, and the new
expression evaluates to the value of @var{expr2}.
The following binary operators are available: @code{+}, @code{-},
@code{*}, @code{/}, @code{^}.
The following unary operators are available: @code{+}, @code{-}.
The following functions are available:
@table @option
@item sinh(x)
Compute hyperbolic sine of @var{x}.
@item cosh(x)
Compute hyperbolic cosine of @var{x}.
@item tanh(x)
Compute hyperbolic tangent of @var{x}.
@item sin(x)
Compute sine of @var{x}.
@item cos(x)
Compute cosine of @var{x}.
@item tan(x)
Compute tangent of @var{x}.
@item atan(x)
Compute arctangent of @var{x}.
@item asin(x)
Compute arcsine of @var{x}.
@item acos(x)
Compute arccosine of @var{x}.
@item exp(x)
Compute exponential of @var{x} (with base @code{e}, the Euler's number).
@item log(x)
Compute natural logarithm of @var{x}.
@item abs(x)
Compute absolute value of @var{x}.
@item squish(x)
Compute expression @code{1/(1 + exp(4*x))}.
@item gauss(x)
Compute Gauss function of @var{x}, corresponding to
@code{exp(-x*x/2) / sqrt(2*PI)}.
@item isinf(x)
Return 1.0 if @var{x} is +/-INFINITY, 0.0 otherwise.
@item isnan(x)
Return 1.0 if @var{x} is NAN, 0.0 otherwise.
@item mod(x, y)
Compute the remainder of division of @var{x} by @var{y}.
@item max(x, y)
Return the maximum between @var{x} and @var{y}.
@item min(x, y)
Return the maximum between @var{x} and @var{y}.
@item eq(x, y)
Return 1 if @var{x} and @var{y} are equivalent, 0 otherwise.
@item gte(x, y)
Return 1 if @var{x} is greater than or equal to @var{y}, 0 otherwise.
@item gt(x, y)
Return 1 if @var{x} is greater than @var{y}, 0 otherwise.
@item lte(x, y)
Return 1 if @var{x} is lesser than or equal to @var{y}, 0 otherwise.
@item lt(x, y)
Return 1 if @var{x} is lesser than @var{y}, 0 otherwise.
@item st(var, expr)
Allow to store the value of the expression @var{expr} in an internal
variable. @var{var} specifies the number of the variable where to
store the value, and it is a value ranging from 0 to 9. The function
returns the value stored in the internal variable.
Note, Variables are currently not shared between expressions.
@item ld(var)
Allow to load the value of the internal variable with number
@var{var}, which was previously stored with st(@var{var}, @var{expr}).
The function returns the loaded value.
@item while(cond, expr)
Evaluate expression @var{expr} while the expression @var{cond} is
non-zero, and returns the value of the last @var{expr} evaluation, or
NAN if @var{cond} was always false.
@item ceil(expr)
Round the value of expression @var{expr} upwards to the nearest
integer. For example, "ceil(1.5)" is "2.0".
@item floor(expr)
Round the value of expression @var{expr} downwards to the nearest
integer. For example, "floor(-1.5)" is "-2.0".
@item trunc(expr)
Round the value of expression @var{expr} towards zero to the nearest
integer. For example, "trunc(-1.5)" is "-1.0".
@item sqrt(expr)
Compute the square root of @var{expr}. This is equivalent to
"(@var{expr})^.5".
@item not(expr)
Return 1.0 if @var{expr} is zero, 0.0 otherwise.
@item pow(x, y)
Compute the power of @var{x} elevated @var{y}, it is equivalent to
"(@var{x})^(@var{y})".
@item random(x)
Return a pseudo random value between 0.0 and 1.0. @var{x} is the index of the
internal variable which will be used to save the seed/state.
@item hypot(x, y)
This function is similar to the C function with the same name; it returns
"sqrt(@var{x}*@var{x} + @var{y}*@var{y})", the length of the hypotenuse of a
right triangle with sides of length @var{x} and @var{y}, or the distance of the
point (@var{x}, @var{y}) from the origin.
@item gcd(x, y)
Return the greatest common divisor of @var{x} and @var{y}. If both @var{x} and
@var{y} are 0 or either or both are less than zero then behavior is undefined.
@item if(x, y)
Evaluate @var{x}, and if the result is non-zero return the result of
the evaluation of @var{y}, return 0 otherwise.
@item ifnot(x, y)
Evaluate @var{x}, and if the result is zero return the result of the
evaluation of @var{y}, return 0 otherwise.
@item taylor(expr, x) taylor(expr, x, id)
Evaluate a taylor series at x.
expr represents the LD(id)-th derivates of f(x) at 0. If id is not specified
then 0 is assumed.
note, when you have the derivatives at y instead of 0
taylor(expr, x-y) can be used
When the series does not converge the results are undefined.
@item root(expr, max)
Finds x where f(x)=0 in the interval 0..max.
f() must be continuous or the result is undefined.
@end table
The following constants are available:
@table @option
@item PI
area of the unit disc, approximately 3.14
@item E
exp(1) (Euler's number), approximately 2.718
@item PHI
golden ratio (1+sqrt(5))/2, approximately 1.618
@end table
Assuming that an expression is considered "true" if it has a non-zero
value, note that:
@code{*} works like AND
@code{+} works like OR
and the construct:
@example
if A then B else C
@end example
is equivalent to
@example
if(A,B) + ifnot(A,C)
@end example
In your C code, you can extend the list of unary and binary functions,
and define recognized constants, so that they are available for your
expressions.
The evaluator also recognizes the International System number
postfixes. If 'i' is appended after the postfix, powers of 2 are used
instead of powers of 10. The 'B' postfix multiplies the value for 8,
and can be appended after another postfix or used alone. This allows
using for example 'KB', 'MiB', 'G' and 'B' as postfix.
Follows the list of available International System postfixes, with
indication of the corresponding powers of 10 and of 2.
@table @option
@item y
-24 / -80
@item z
-21 / -70
@item a
-18 / -60
@item f
-15 / -50
@item p
-12 / -40
@item n
-9 / -30
@item u
-6 / -20
@item m
-3 / -10
@item c
-2
@item d
-1
@item h
2
@item k
3 / 10
@item K
3 / 10
@item M
6 / 20
@item G
9 / 30
@item T
12 / 40
@item P
15 / 40
@item E
18 / 50
@item Z
21 / 60
@item Y
24 / 70
@end table
@c man end
+2 -1
View File
@@ -7,7 +7,7 @@ FFMPEG_LIBS= libavdevice \
libswscale \
libavutil \
CFLAGS += -Wall -O2 -g
CFLAGS += -Wall -g
CFLAGS := $(shell pkg-config --cflags $(FFMPEG_LIBS)) $(CFLAGS)
LDLIBS := $(shell pkg-config --libs $(FFMPEG_LIBS)) $(LDLIBS)
@@ -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
+1 -1
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.
+3 -3
View File
@@ -79,7 +79,7 @@ static int select_channel_layout(AVCodec *codec)
{
const uint64_t *p;
uint64_t best_ch_layout = 0;
int best_nb_channells = 0;
int best_nb_channels = 0;
if (!codec->channel_layouts)
return AV_CH_LAYOUT_STEREO;
@@ -88,9 +88,9 @@ static int select_channel_layout(AVCodec *codec)
while (*p) {
int nb_channels = av_get_channel_layout_nb_channels(*p);
if (nb_channels > best_nb_channells) {
if (nb_channels > best_nb_channels) {
best_ch_layout = *p;
best_nb_channells = nb_channels;
best_nb_channels = nb_channels;
}
p++;
}
+42 -41
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, frame->channels,
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, frame->channels,
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, frame->channels, 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 */
@@ -292,8 +273,17 @@ int main (int argc, char **argv)
printf("Demuxing audio from file '%s' into '%s'\n", src_filename, audio_dst_filename);
/* read frames from the file */
while (av_read_frame(fmt_ctx, &pkt) >= 0)
decode_packet(&got_frame, 0);
while (av_read_frame(fmt_ctx, &pkt) >= 0) {
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 */
pkt.data = NULL;
@@ -312,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);
}
@@ -334,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;
}
+48 -24
View File
@@ -36,9 +36,10 @@
#include <libavfilter/avcodec.h>
#include <libavfilter/buffersink.h>
#include <libavfilter/buffersrc.h>
#include <libavutil/opt.h>
const char *filter_descr = "aresample=8000,aconvert=s16: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;
@@ -70,6 +71,7 @@ static int open_input_file(const char *filename)
}
audio_stream_index = ret;
dec_ctx = fmt_ctx->streams[audio_stream_index]->codec;
av_opt_set_int(dec_ctx, "refcounted_frames", 1, 0);
/* init the audio decoder */
if ((ret = avcodec_open2(dec_ctx, dec, NULL)) < 0) {
@@ -85,11 +87,12 @@ static int init_filters(const char *filters_descr)
char args[512];
int ret;
AVFilter *abuffersrc = avfilter_get_by_name("abuffer");
AVFilter *abuffersink = avfilter_get_by_name("ffabuffersink");
AVFilter *abuffersink = avfilter_get_by_name("abuffersink");
AVFilterInOut *outputs = avfilter_inout_alloc();
AVFilterInOut *inputs = avfilter_inout_alloc();
const enum AVSampleFormat sample_fmts[] = { AV_SAMPLE_FMT_S16, -1 };
AVABufferSinkParams *abuffersink_params;
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;
@@ -110,16 +113,34 @@ static int init_filters(const char *filters_descr)
}
/* buffer audio sink: to terminate the filter chain. */
abuffersink_params = av_abuffersink_params_alloc();
abuffersink_params->sample_fmts = sample_fmts;
ret = avfilter_graph_create_filter(&buffersink_ctx, abuffersink, "out",
NULL, abuffersink_params, filter_graph);
av_free(abuffersink_params);
NULL, NULL, filter_graph);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot create audio buffer sink\n");
return ret;
}
ret = av_opt_set_int_list(buffersink_ctx, "sample_fmts", out_sample_fmts, -1,
AV_OPT_SEARCH_CHILDREN);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot set output sample format\n");
return ret;
}
ret = av_opt_set_int_list(buffersink_ctx, "channel_layouts", out_channel_layouts, -1,
AV_OPT_SEARCH_CHILDREN);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot set output channel layout\n");
return ret;
}
ret = av_opt_set_int_list(buffersink_ctx, "sample_rates", out_sample_rates, -1,
AV_OPT_SEARCH_CHILDREN);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot set output sample rate\n");
return ret;
}
/* Endpoints for the filter graph. */
outputs->name = av_strdup("in");
outputs->filter_ctx = buffersrc_ctx;
@@ -131,7 +152,7 @@ static int init_filters(const char *filters_descr)
inputs->pad_idx = 0;
inputs->next = NULL;
if ((ret = avfilter_graph_parse(filter_graph, filters_descr,
if ((ret = avfilter_graph_parse_ptr(filter_graph, filters_descr,
&inputs, &outputs, NULL)) < 0)
return ret;
@@ -150,11 +171,10 @@ static int init_filters(const char *filters_descr)
return 0;
}
static void print_samplesref(AVFilterBufferRef *samplesref)
static void print_frame(const AVFrame *frame)
{
const AVFilterBufferRefAudioProps *props = samplesref->audio;
const int n = props->nb_samples * av_get_channel_layout_nb_channels(props->channel_layout);
const uint16_t *p = (uint16_t*)samplesref->data[0];
const int n = frame->nb_samples * av_get_channel_layout_nb_channels(av_frame_get_channel_layout(frame));
const uint16_t *p = (uint16_t*)frame->data[0];
const uint16_t *p_end = p + n;
while (p < p_end) {
@@ -169,9 +189,14 @@ int main(int argc, char **argv)
{
int ret;
AVPacket packet;
AVFrame frame;
AVFrame *frame = av_frame_alloc();
AVFrame *filt_frame = av_frame_alloc();
int got_frame;
if (!frame || !filt_frame) {
perror("Could not allocate frame");
exit(1);
}
if (argc != 2) {
fprintf(stderr, "Usage: %s file | %s\n", argv[0], player);
exit(1);
@@ -188,14 +213,13 @@ int main(int argc, char **argv)
/* read all packets */
while (1) {
AVFilterBufferRef *samplesref;
if ((ret = av_read_frame(fmt_ctx, &packet)) < 0)
break;
if (packet.stream_index == audio_stream_index) {
avcodec_get_frame_defaults(&frame);
avcodec_get_frame_defaults(frame);
got_frame = 0;
ret = avcodec_decode_audio4(dec_ctx, &frame, &got_frame, &packet);
ret = avcodec_decode_audio4(dec_ctx, frame, &got_frame, &packet);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Error decoding audio\n");
continue;
@@ -203,22 +227,20 @@ int main(int argc, char **argv)
if (got_frame) {
/* push the audio data from decoded frame into the filtergraph */
if (av_buffersrc_add_frame(buffersrc_ctx, &frame, 0) < 0) {
if (av_buffersrc_add_frame_flags(buffersrc_ctx, frame, 0) < 0) {
av_log(NULL, AV_LOG_ERROR, "Error while feeding the audio filtergraph\n");
break;
}
/* pull filtered audio from the filtergraph */
while (1) {
ret = av_buffersink_get_buffer_ref(buffersink_ctx, &samplesref, 0);
ret = av_buffersink_get_frame(buffersink_ctx, filt_frame);
if(ret == AVERROR(EAGAIN) || ret == AVERROR_EOF)
break;
if(ret < 0)
goto end;
if (samplesref) {
print_samplesref(samplesref);
avfilter_unref_bufferp(&samplesref);
}
print_frame(filt_frame);
av_frame_unref(filt_frame);
}
}
}
@@ -229,6 +251,8 @@ end:
if (dec_ctx)
avcodec_close(dec_ctx);
avformat_close_input(&fmt_ctx);
av_frame_free(&frame);
av_frame_free(&filt_frame);
if (ret < 0 && ret != AVERROR_EOF) {
char buf[1024];
+26 -23
View File
@@ -85,7 +85,7 @@ static int init_filters(const char *filters_descr)
char args[512];
int ret;
AVFilter *buffersrc = avfilter_get_by_name("buffer");
AVFilter *buffersink = avfilter_get_by_name("ffbuffersink");
AVFilter *buffersink = avfilter_get_by_name("buffersink");
AVFilterInOut *outputs = avfilter_inout_alloc();
AVFilterInOut *inputs = avfilter_inout_alloc();
enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE };
@@ -129,7 +129,7 @@ static int init_filters(const char *filters_descr)
inputs->pad_idx = 0;
inputs->next = NULL;
if ((ret = avfilter_graph_parse(filter_graph, filters_descr,
if ((ret = avfilter_graph_parse_ptr(filter_graph, filters_descr,
&inputs, &outputs, NULL)) < 0)
return ret;
@@ -138,33 +138,33 @@ static int init_filters(const char *filters_descr)
return 0;
}
static void display_picref(AVFilterBufferRef *picref, AVRational time_base)
static void display_frame(const AVFrame *frame, AVRational time_base)
{
int x, y;
uint8_t *p0, *p;
int64_t delay;
if (picref->pts != AV_NOPTS_VALUE) {
if (frame->pts != AV_NOPTS_VALUE) {
if (last_pts != AV_NOPTS_VALUE) {
/* sleep roughly the right amount of time;
* usleep is in microseconds, just like AV_TIME_BASE. */
delay = av_rescale_q(picref->pts - last_pts,
delay = av_rescale_q(frame->pts - last_pts,
time_base, AV_TIME_BASE_Q);
if (delay > 0 && delay < 1000000)
usleep(delay);
}
last_pts = picref->pts;
last_pts = frame->pts;
}
/* Trivial ASCII grayscale display. */
p0 = picref->data[0];
p0 = frame->data[0];
puts("\033c");
for (y = 0; y < picref->video->h; y++) {
for (y = 0; y < frame->height; y++) {
p = p0;
for (x = 0; x < picref->video->w; x++)
for (x = 0; x < frame->width; x++)
putchar(" .-+#"[*(p++) / 52]);
putchar('\n');
p0 += picref->linesize[0];
p0 += frame->linesize[0];
}
fflush(stdout);
}
@@ -173,9 +173,14 @@ int main(int argc, char **argv)
{
int ret;
AVPacket packet;
AVFrame frame;
AVFrame *frame = av_frame_alloc();
AVFrame *filt_frame = av_frame_alloc();
int got_frame;
if (!frame || !filt_frame) {
perror("Could not allocate frame");
exit(1);
}
if (argc != 2) {
fprintf(stderr, "Usage: %s file\n", argv[0]);
exit(1);
@@ -192,40 +197,36 @@ int main(int argc, char **argv)
/* read all packets */
while (1) {
AVFilterBufferRef *picref;
if ((ret = av_read_frame(fmt_ctx, &packet)) < 0)
break;
if (packet.stream_index == video_stream_index) {
avcodec_get_frame_defaults(&frame);
avcodec_get_frame_defaults(frame);
got_frame = 0;
ret = avcodec_decode_video2(dec_ctx, &frame, &got_frame, &packet);
ret = avcodec_decode_video2(dec_ctx, frame, &got_frame, &packet);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Error decoding video\n");
break;
}
if (got_frame) {
frame.pts = av_frame_get_best_effort_timestamp(&frame);
frame->pts = av_frame_get_best_effort_timestamp(frame);
/* push the decoded frame into the filtergraph */
if (av_buffersrc_add_frame(buffersrc_ctx, &frame, 0) < 0) {
if (av_buffersrc_add_frame_flags(buffersrc_ctx, frame, AV_BUFFERSRC_FLAG_KEEP_REF) < 0) {
av_log(NULL, AV_LOG_ERROR, "Error while feeding the filtergraph\n");
break;
}
/* pull filtered pictures from the filtergraph */
/* pull filtered frames from the filtergraph */
while (1) {
ret = av_buffersink_get_buffer_ref(buffersink_ctx, &picref, 0);
ret = av_buffersink_get_frame(buffersink_ctx, filt_frame);
if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF)
break;
if (ret < 0)
goto end;
if (picref) {
display_picref(picref, buffersink_ctx->inputs[0]->time_base);
avfilter_unref_bufferp(&picref);
}
display_frame(filt_frame, buffersink_ctx->inputs[0]->time_base);
av_frame_unref(filt_frame);
}
}
}
@@ -236,6 +237,8 @@ end:
if (dec_ctx)
avcodec_close(dec_ctx);
avformat_close_input(&fmt_ctx);
av_frame_free(&frame);
av_frame_free(&filt_frame);
if (ret < 0 && ret != AVERROR_EOF) {
char buf[1024];
+106 -63
View File
@@ -34,9 +34,11 @@
#include <string.h>
#include <math.h>
#include <libavutil/opt.h>
#include <libavutil/mathematics.h>
#include <libavformat/avformat.h>
#include <libswscale/swscale.h>
#include <libswresample/swresample.h>
/* 5 seconds stream duration */
#define STREAM_DURATION 200.0
@@ -46,13 +48,6 @@
static int sws_flags = SWS_BICUBIC;
/**************************************************************/
/* audio output */
static float t, tincr, tincr2;
static int16_t *samples;
static int audio_input_frame_size;
/* Add an output stream. */
static AVStream *add_stream(AVFormatContext *oc, AVCodec **codec,
enum AVCodecID codec_id)
@@ -78,15 +73,13 @@ static AVStream *add_stream(AVFormatContext *oc, AVCodec **codec,
switch ((*codec)->type) {
case AVMEDIA_TYPE_AUDIO:
st->id = 1;
c->sample_fmt = AV_SAMPLE_FMT_S16;
c->sample_fmt = AV_SAMPLE_FMT_FLTP;
c->bit_rate = 64000;
c->sample_rate = 44100;
c->channels = 2;
break;
case AVMEDIA_TYPE_VIDEO:
avcodec_get_context_defaults3(c, *codec);
c->codec_id = codec_id;
c->bit_rate = 400000;
@@ -128,8 +121,17 @@ static AVStream *add_stream(AVFormatContext *oc, AVCodec **codec,
/* audio output */
static float t, tincr, tincr2;
static int16_t *samples;
static int audio_input_frame_size;
static uint8_t **src_samples_data;
static int src_samples_linesize;
static int src_nb_samples;
static int max_dst_nb_samples;
uint8_t **dst_samples_data;
int dst_samples_linesize;
int dst_samples_size;
struct SwrContext *swr_ctx = NULL;
static void open_audio(AVFormatContext *oc, AVCodec *codec, AVStream *st)
{
@@ -151,17 +153,51 @@ static void open_audio(AVFormatContext *oc, AVCodec *codec, AVStream *st)
/* increment frequency by 110 Hz per second */
tincr2 = 2 * M_PI * 110.0 / c->sample_rate / c->sample_rate;
if (c->codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE)
audio_input_frame_size = 10000;
else
audio_input_frame_size = c->frame_size;
samples = av_malloc(audio_input_frame_size *
av_get_bytes_per_sample(c->sample_fmt) *
c->channels);
if (!samples) {
fprintf(stderr, "Could not allocate audio samples buffer\n");
src_nb_samples = c->codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE ?
10000 : c->frame_size;
ret = av_samples_alloc_array_and_samples(&src_samples_data, &src_samples_linesize, c->channels,
src_nb_samples, c->sample_fmt, 0);
if (ret < 0) {
fprintf(stderr, "Could not allocate source samples\n");
exit(1);
}
/* create resampler context */
if (c->sample_fmt != AV_SAMPLE_FMT_S16) {
swr_ctx = swr_alloc();
if (!swr_ctx) {
fprintf(stderr, "Could not allocate resampler context\n");
exit(1);
}
/* set options */
av_opt_set_int (swr_ctx, "in_channel_count", c->channels, 0);
av_opt_set_int (swr_ctx, "in_sample_rate", c->sample_rate, 0);
av_opt_set_sample_fmt(swr_ctx, "in_sample_fmt", AV_SAMPLE_FMT_S16, 0);
av_opt_set_int (swr_ctx, "out_channel_count", c->channels, 0);
av_opt_set_int (swr_ctx, "out_sample_rate", c->sample_rate, 0);
av_opt_set_sample_fmt(swr_ctx, "out_sample_fmt", c->sample_fmt, 0);
/* initialize the resampling context */
if ((ret = swr_init(swr_ctx)) < 0) {
fprintf(stderr, "Failed to initialize the resampling context\n");
exit(1);
}
}
/* compute the number of converted samples: buffering is avoided
* ensuring that the output buffer will contain at least all the
* converted input samples */
max_dst_nb_samples = src_nb_samples;
ret = av_samples_alloc_array_and_samples(&dst_samples_data, &dst_samples_linesize, c->channels,
max_dst_nb_samples, c->sample_fmt, 0);
if (ret < 0) {
fprintf(stderr, "Could not allocate destination samples\n");
exit(1);
}
dst_samples_size = av_samples_get_buffer_size(NULL, c->channels, max_dst_nb_samples,
c->sample_fmt, 0);
}
/* Prepare a 16 bit dummy audio frame of 'frame_size' samples and
@@ -186,18 +222,45 @@ static void write_audio_frame(AVFormatContext *oc, AVStream *st)
AVCodecContext *c;
AVPacket pkt = { 0 }; // data and size must be 0;
AVFrame *frame = avcodec_alloc_frame();
int got_packet, ret;
int got_packet, ret, dst_nb_samples;
av_init_packet(&pkt);
c = st->codec;
get_audio_frame(samples, audio_input_frame_size, c->channels);
frame->nb_samples = audio_input_frame_size;
get_audio_frame((int16_t *)src_samples_data[0], src_nb_samples, c->channels);
/* convert samples from native format to destination codec format, using the resampler */
if (swr_ctx) {
/* compute destination number of samples */
dst_nb_samples = av_rescale_rnd(swr_get_delay(swr_ctx, c->sample_rate) + src_nb_samples,
c->sample_rate, c->sample_rate, AV_ROUND_UP);
if (dst_nb_samples > max_dst_nb_samples) {
av_free(dst_samples_data[0]);
ret = av_samples_alloc(dst_samples_data, &dst_samples_linesize, c->channels,
dst_nb_samples, c->sample_fmt, 0);
if (ret < 0)
exit(1);
max_dst_nb_samples = dst_nb_samples;
dst_samples_size = av_samples_get_buffer_size(NULL, c->channels, dst_nb_samples,
c->sample_fmt, 0);
}
/* convert to destination format */
ret = swr_convert(swr_ctx,
dst_samples_data, dst_nb_samples,
(const uint8_t **)src_samples_data, src_nb_samples);
if (ret < 0) {
fprintf(stderr, "Error while converting\n");
exit(1);
}
} else {
dst_samples_data[0] = src_samples_data[0];
dst_nb_samples = src_nb_samples;
}
frame->nb_samples = dst_nb_samples;
avcodec_fill_audio_frame(frame, c->channels, c->sample_fmt,
(uint8_t *)samples,
audio_input_frame_size *
av_get_bytes_per_sample(c->sample_fmt) *
c->channels, 1);
dst_samples_data[0], dst_samples_size, 0);
ret = avcodec_encode_audio2(c, &pkt, frame, &got_packet);
if (ret < 0) {
@@ -223,8 +286,8 @@ static void write_audio_frame(AVFormatContext *oc, AVStream *st)
static void close_audio(AVFormatContext *oc, AVStream *st)
{
avcodec_close(st->codec);
av_free(samples);
av_free(src_samples_data[0]);
av_free(dst_samples_data[0]);
}
/**************************************************************/
@@ -343,25 +406,19 @@ static void write_video_frame(AVFormatContext *oc, AVStream *st)
ret = av_interleaved_write_frame(oc, &pkt);
} else {
/* encode the image */
AVPacket pkt;
int got_output;
AVPacket pkt = { 0 };
int got_packet;
av_init_packet(&pkt);
pkt.data = NULL; // packet data will be allocated by the encoder
pkt.size = 0;
ret = avcodec_encode_video2(c, &pkt, frame, &got_output);
/* encode the image */
ret = avcodec_encode_video2(c, &pkt, frame, &got_packet);
if (ret < 0) {
fprintf(stderr, "Error encoding video frame: %s\n", av_err2str(ret));
exit(1);
}
/* If size is zero, it means the image was buffered. */
if (got_output) {
if (c->coded_frame->key_frame)
pkt.flags |= AV_PKT_FLAG_KEY;
if (!ret && got_packet && pkt.size) {
pkt.stream_index = st->index;
/* Write the compressed frame to the media file. */
@@ -395,8 +452,8 @@ int main(int argc, char **argv)
AVFormatContext *oc;
AVStream *audio_st, *video_st;
AVCodec *audio_codec, *video_codec;
double audio_pts, video_pts;
int ret, i;
double audio_time, video_time;
int ret;
/* Initialize libavcodec, and register all codecs and formats. */
av_register_all();
@@ -468,23 +525,15 @@ int main(int argc, char **argv)
frame->pts = 0;
for (;;) {
/* Compute current audio and video time. */
if (audio_st)
audio_pts = (double)audio_st->pts.val * audio_st->time_base.num / audio_st->time_base.den;
else
audio_pts = 0.0;
audio_time = audio_st ? audio_st->pts.val * av_q2d(audio_st->time_base) : 0.0;
video_time = video_st ? video_st->pts.val * av_q2d(video_st->time_base) : 0.0;
if (video_st)
video_pts = (double)video_st->pts.val * video_st->time_base.num /
video_st->time_base.den;
else
video_pts = 0.0;
if ((!audio_st || audio_pts >= STREAM_DURATION) &&
(!video_st || video_pts >= STREAM_DURATION))
if ((!audio_st || audio_time >= STREAM_DURATION) &&
(!video_st || video_time >= STREAM_DURATION))
break;
/* write interleaved audio and video frames */
if (!video_st || (video_st && audio_st && audio_pts < video_pts)) {
if (!video_st || (video_st && audio_st && audio_time < video_time)) {
write_audio_frame(oc, audio_st);
} else {
write_video_frame(oc, video_st);
@@ -504,18 +553,12 @@ int main(int argc, char **argv)
if (audio_st)
close_audio(oc, audio_st);
/* Free the streams. */
for (i = 0; i < oc->nb_streams; i++) {
av_freep(&oc->streams[i]->codec);
av_freep(&oc->streams[i]);
}
if (!(fmt->flags & AVFMT_NOFILE))
/* Close the output file. */
avio_close(oc->pb);
/* free the stream */
av_free(oc);
avformat_free_context(oc);
return 0;
}
+5 -17
View File
@@ -78,18 +78,6 @@ void fill_samples(double *dst, int nb_samples, int nb_channels, int sample_rate,
}
}
int alloc_samples_array_and_data(uint8_t ***data, int *linesize, int nb_channels,
int nb_samples, enum AVSampleFormat sample_fmt, int align)
{
int nb_planes = av_sample_fmt_is_planar(sample_fmt) ? nb_channels : 1;
*data = av_malloc(sizeof(*data) * nb_planes);
if (!*data)
return AVERROR(ENOMEM);
return av_samples_alloc(*data, linesize, nb_channels,
nb_samples, sample_fmt, align);
}
int main(int argc, char **argv)
{
int64_t src_ch_layout = AV_CH_LAYOUT_STEREO, dst_ch_layout = AV_CH_LAYOUT_SURROUND;
@@ -149,8 +137,8 @@ int main(int argc, char **argv)
/* allocate source and destination samples buffers */
src_nb_channels = av_get_channel_layout_nb_channels(src_ch_layout);
ret = alloc_samples_array_and_data(&src_data, &src_linesize, src_nb_channels,
src_nb_samples, src_sample_fmt, 0);
ret = av_samples_alloc_array_and_samples(&src_data, &src_linesize, src_nb_channels,
src_nb_samples, src_sample_fmt, 0);
if (ret < 0) {
fprintf(stderr, "Could not allocate source samples\n");
goto end;
@@ -164,8 +152,8 @@ int main(int argc, char **argv)
/* buffer is going to be directly written to a rawaudio file, no alignment */
dst_nb_channels = av_get_channel_layout_nb_channels(dst_ch_layout);
ret = alloc_samples_array_and_data(&dst_data, &dst_linesize, dst_nb_channels,
dst_nb_samples, dst_sample_fmt, 0);
ret = av_samples_alloc_array_and_samples(&dst_data, &dst_linesize, dst_nb_channels,
dst_nb_samples, dst_sample_fmt, 0);
if (ret < 0) {
fprintf(stderr, "Could not allocate destination samples\n");
goto end;
@@ -200,7 +188,7 @@ int main(int argc, char **argv)
fwrite(dst_data[0], 1, dst_bufsize, dst_file);
} while (t < 10);
if ((ret = get_format_from_sample_fmt(&fmt, dst_sample_fmt) < 0))
if ((ret = get_format_from_sample_fmt(&fmt, dst_sample_fmt)) < 0)
goto end;
fprintf(stderr, "Resampling succeeded. Play the output file with the command:\n"
"ffplay -f %s -channel_layout %"PRId64" -channels %d -ar %d %s\n",
+1 -1
View File
@@ -107,7 +107,7 @@ int main(int argc, char **argv)
goto end;
}
/* buffer is going to be written to rawvideo file, no alignmnet */
/* buffer is going to be written to rawvideo file, no alignment */
if ((ret = av_image_alloc(dst_data, dst_linesize,
dst_w, dst_h, dst_pix_fmt, 1)) < 0) {
fprintf(stderr, "Could not allocate destination image\n");
+28 -26
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?
@@ -294,8 +294,12 @@ your format doesn't support file level concatenation.
@subsection Concatenating using the concat @emph{protocol} (file level)
FFmpeg has a @url{http://ffmpeg.org/ffmpeg-protocols.html#concat,
@code{concat}} protocol designed specifically for that, with examples in the
documentation.
A few multimedia containers (MPEG-1, MPEG-2 PS, DV) allow to concatenate
video by merely concatenating the files them.
video by merely concatenating the files containing them.
Hence you may concatenate your multimedia files by first transcoding them to
these privileged formats, then using the humble @code{cat} command (or the
@@ -389,17 +393,17 @@ Appending @code{:v} to it will do exactly that.
Use @option{-dumpgraph -} to find out exactly where the channel layout is
lost.
Most likely, it is through @code{auto-inserted aconvert}. Try to understand
Most likely, it is through @code{auto-inserted aresample}. Try to understand
why the converting filter was needed at that place.
Just before the output is a likely place, as @option{-f lavfi} currently
only support packed S16.
Then insert the correct @code{aconvert} explicitly in the filter graph,
Then insert the correct @code{aformat} explicitly in the filtergraph,
specifying the exact format.
@example
aconvert=s16:stereo:packed
aformat=sample_fmts=s16:channel_layouts=stereo
@end example
@section Why does FFmpeg not see the subtitles in my VOB file?
@@ -471,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?
@@ -493,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
@@ -517,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/}
@@ -533,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?
+28 -17
View File
@@ -27,7 +27,7 @@ by visiting this website:
This is especially recommended for all people contributing source
code to FFmpeg, as it can be seen if some test on some platform broke
with there recent contribution. This usually happens on the platforms
with their recent contribution. This usually happens on the platforms
the developers could not test on.
The second part of this document describes how you can run FATE to
@@ -131,7 +131,12 @@ of the server and to accept its host key. This can usually be achieved by
running your SSH client manually and killing it after you accepted the key.
The FATE server's fingerprint is:
b1:31:c8:79:3f:04:1d:f8:f2:23:26:5a:fd:55:fa:92
@table @option
@item RSA
d3:f1:83:97:a4:75:2b:a6:fb:d6:e8:aa:81:93:97:51
@item ECDSA
76:9f:68:32:04:1e:d5:d4:ec:47:3f:dc:fc:18:17:86
@end table
If you have problems connecting to the FATE server, it may help to try out
the @command{ssh} command with one or more @option{-v} options. You should
@@ -148,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
@@ -169,22 +174,28 @@ 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
@section Examples
+4
View File
@@ -4,16 +4,20 @@ samples= # path to samples directory
workdir= # directory in which to do all the work
#fate_recv="ssh -T fate@fate.ffmpeg.org" # command to submit report
comment= # optional description
build_only= # set to "yes" for a compile-only instance that skips tests
# the following are optional and map to configure options
arch=
cpu=
cross_prefix=
as=
cc=
ld=
target_os=
sysroot=
target_exec=
target_path=
target_samples=
extra_cflags=
extra_ldflags=
extra_libs=
+1 -1087
View File
File diff suppressed because it is too large Load Diff
+1 -21
View File
@@ -17,27 +17,7 @@ libavdevice library.
@c man end DESCRIPTION
@chapter Device Options
@c man begin DEVICE OPTIONS
The libavdevice library provides the same interface as
libavformat. Namely, an input device is considered like a demuxer, and
an output device like a muxer, and the interface and generic device
options are the same provided by libavformat (see the ffmpeg-formats
manual).
In addition each input or output device may support so-called private
options, which are specific for that component.
Options may be set by specifying -@var{option} @var{value} in the
FFmpeg tools, or by setting the value explicitly in the device
@code{AVFormatContext} options or using the @file{libavutil/opt.h} API
for programmatic use.
@c man end DEVICE OPTIONS
@include indevs.texi
@include outdevs.texi
@include devices.texi
@chapter See Also
+1 -130
View File
@@ -17,136 +17,7 @@ provided by the libavformat library.
@c man end DESCRIPTION
@chapter Format Options
@c man begin FORMAT OPTIONS
The libavformat library provides some generic global options, which
can be set on all the muxers and demuxers. In addition each muxer or
demuxer may support so-called private options, which are specific for
that component.
Options may be set by specifying -@var{option} @var{value} in the
FFmpeg tools, or by setting the value explicitly in the
@code{AVFormatContext} options or using the @file{libavutil/opt.h} API
for programmatic use.
The list of supported options follows:
@table @option
@item avioflags @var{flags} (@emph{input/output})
Possible values:
@table @samp
@item direct
Reduce buffering.
@end table
@item probesize @var{integer} (@emph{input})
Set probing size in bytes, i.e. the size of the data to analyze to get
stream information. A higher value will allow to detect more
information in case it is dispersed into the stream, but will increase
latency. Must be an integer not lesser than 32. It is 5000000 by default.
@item packetsize @var{integer} (@emph{output})
Set packet size.
@item fflags @var{flags} (@emph{input/output})
Set format flags.
Possible values:
@table @samp
@item ignidx
Ignore index.
@item genpts
Generate PTS.
@item nofillin
Do not fill in missing values that can be exactly calculated.
@item noparse
Disable AVParsers, this needs @code{+nofillin} too.
@item igndts
Ignore DTS.
@item discardcorrupt
Discard corrupted frames.
@item sortdts
Try to interleave output packets by DTS.
@item keepside
Do not merge side data.
@item latm
Enable RTP MP4A-LATM payload.
@item nobuffer
Reduce the latency introduced by optional buffering
@end table
@item analyzeduration @var{integer} (@emph{input})
Specify how many microseconds are analyzed to estimate duration.
@item cryptokey @var{hexadecimal string} (@emph{input})
Set decryption key.
@item indexmem @var{integer} (@emph{input})
Set max memory used for timestamp index (per stream).
@item rtbufsize @var{integer} (@emph{input})
Set max memory used for buffering real-time frames.
@item fdebug @var{flags} (@emph{input/output})
Print specific debug info.
Possible values:
@table @samp
@item ts
@end table
@item max_delay @var{integer} (@emph{input/output})
Set maximum muxing or demuxing delay in microseconds.
@item fpsprobesize @var{integer} (@emph{input})
Set number of frames used to probe fps.
@item audio_preload @var{integer} (@emph{output})
Set microseconds by which audio packets should be interleaved earlier.
@item chunk_duration @var{integer} (@emph{output})
Set microseconds for each chunk.
@item chunk_size @var{integer} (@emph{output})
Set size in bytes for each chunk.
@item err_detect, f_err_detect @var{flags} (@emph{input})
Set error detection flags. @code{f_err_detect} is deprecated and
should be used only via the @command{ffmpeg} tool.
Possible values:
@table @samp
@item crccheck
Verify embedded CRCs.
@item bitstream
Detect bitstream specification deviations.
@item buffer
Detect improper bitstream length.
@item explode
Abort decoding on minor error detection.
@item careful
Consider things that violate the spec and have not been seen in the
wild as errors.
@item compliant
Consider all spec non compliancies as errors.
@item aggressive
Consider things that a sane encoder should not do as an error.
@end table
@item use_wallclock_as_timestamps @var{integer} (@emph{input})
Use wallclock as timestamps.
@item avoid_negative_ts @var{integer} (@emph{output})
Shift timestamps to make them positive. 1 enables, 0 disables, default
of -1 enables when required by target format.
@end table
@c man end FORMAT OPTIONS
@include demuxers.texi
@include muxers.texi
@include metadata.texi
@include formats.texi
@chapter See Also
+2 -196
View File
@@ -12,208 +12,14 @@
@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.
@c man end DESCRIPTION
@chapter Resampler Options
@c man begin RESAMPLER OPTIONS
The audio resampler supports the following named options.
Options may be set by specifying -@var{option} @var{value} in the
FFmpeg tools, @var{option}=@var{value} for the aresample filter,
by setting the value explicitly in the
@code{SwrContext} options or using the @file{libavutil/opt.h} API for
programmatic use.
@table @option
@item ich, in_channel_count
Set the number of input channels. Default value is 0. Setting this
value is not mandatory if the corresponding channel layout
@option{in_channel_layout} is set.
@item och, out_channel_count
Set the number of output channels. Default value is 0. Setting this
value is not mandatory if the corresponding channel layout
@option{out_channel_layout} is set.
@item uch, used_channel_count
Set the number of used channels. Default value is 0. This option is
only used for special remapping.
@item isr, in_sample_rate
Set the input sample rate. Default value is 0.
@item osr, out_sample_rate
Set the output sample rate. Default value is 0.
@item isf, in_sample_fmt
Specify the input sample format. It is set by default to @code{none}.
@item osf, out_sample_fmt
Specify the output sample format. It is set by default to @code{none}.
@item tsf, internal_sample_fmt
Set the internal sample format. Default value is @code{none}.
@item icl, in_channel_layout
Set the input channel layout.
@item ocl, out_channel_layout
Set the output channel layout.
@item clev, center_mix_level
Set center mix level. It is a value expressed in deciBel, and must be
inclusively included between -32 and +32.
@item slev, surround_mix_level
Set surround mix level. It is a value expressed in deciBel, and must
be inclusively included between -32 and +32.
@item lfe_mix_evel
Set LFE mix level.
@item rmvol, rematrix_volume
Set rematrix volume. Default value is 1.0.
@item flags, swr_flags
Set flags used by the converter. Default value is 0.
It supports the following individual flags:
@table @option
@item res
force resampling
@end table
@item dither_scale
Set the dither scale. Default value is 1.
@item dither_method
Set dither method. Default value is 0.
Supported values:
@table @samp
@item rectangular
select rectangular dither
@item triangular
select triangular dither
@item triangular_hp
select triangular dither with high pass
@end table
@item resampler
Set resampling engine. Default value is swr.
Supported values:
@table @samp
@item swr
select the native SW Resampler; filter options precision and cheby are not
applicable in this case.
@item soxr
select the SoX Resampler (where available); compensation, and filter options
filter_size, phase_shift, filter_type & kaiser_beta, are not applicable in this
case.
@end table
@item filter_size
For swr only, set resampling filter size, default value is 32.
@item phase_shift
For swr only, set resampling phase shift, default value is 10, must be included
between 0 and 30.
@item linear_interp
Use Linear Interpolation if set to 1, default value is 0.
@item cutoff
Set cutoff frequency (swr: 6dB point; soxr: 0dB point) ratio; must be a float
value between 0 and 1. Default value is 0.97 with swr, and 0.91 with soxr
(which, with a sample-rate of 44100, preserves the entire audio band to 20kHz).
@item precision
For soxr only, the precision in bits to which the resampled signal will be
calculated. The default value of 20 (which, with suitable dithering, is
appropriate for a destination bit-depth of 16) gives SoX's 'High Quality'; a
value of 28 gives SoX's 'Very High Quality'.
@item cheby
For soxr only, selects passband rolloff none (Chebyshev) & higher-precision
approximation for 'irrational' ratios. Default value is 0.
@item async
For swr only, simple 1 parameter audio sync to timestamps using stretching,
squeezing, filling and trimming. Setting this to 1 will enable filling and
trimming, larger values represent the maximum amount in samples that the data
may be stretched or squeezed for each second.
Default value is 0, thus no compensation is applied to make the samples match
the audio timestamps.
@item min_comp
For swr only, set the minimum difference between timestamps and audio data (in
seconds) to trigger stretching/squeezing/filling or trimming of the
data to make it match the timestamps. The default is that
stretching/squeezing/filling and trimming is disabled
(@option{min_comp} = @code{FLT_MAX}).
@item min_hard_comp
For swr only, set the minimum difference between timestamps and audio data (in
seconds) to trigger adding/dropping samples to make it match the
timestamps. This option effectively is a threshold to select between
hard (trim/fill) and soft (squeeze/stretch) compensation. Note that
all compensation is by default disabled through @option{min_comp}.
The default is 0.1.
@item comp_duration
For swr only, set duration (in seconds) over which data is stretched/squeezed
to make it match the timestamps. Must be a non-negative double float value,
default value is 1.0.
@item max_soft_comp
For swr only, set maximum factor by which data is stretched/squeezed to make it
match the timestamps. Must be a non-negative double float value, default value
is 0.
@item matrix_encoding
Select matrixed stereo encoding.
It accepts the following values:
@table @samp
@item none
select none
@item dolby
select Dolby
@item dplii
select Dolby Pro Logic II
@end table
Default value is @code{none}.
@item filter_type
For swr only, select resampling filter type. This only affects resampling
operations.
It accepts the following values:
@table @samp
@item cubic
select cubic
@item blackman_nuttall
select Blackman Nuttall Windowed Sinc
@item kaiser
select Kaiser Windowed Sinc
@end table
@item kaiser_beta
For swr only, set Kaiser Window Beta value. Must be an integer included between
2 and 16, default value is 9.
@end table
@c man end RESAMPLER OPTIONS
@include resampler.texi
@chapter See Also
+2 -100
View File
@@ -12,111 +12,13 @@
@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.
@c man end DESCRIPTION
@chapter Scaler Options
@c man begin SCALER OPTIONS
The video scaler supports the following named options.
Options may be set by specifying -@var{option} @var{value} in the
FFmpeg tools. For programmatic use, they can be set explicitly in the
@code{SwsContext} options or through the @file{libavutil/opt.h} API.
@table @option
@item sws_flags
Set the scaler flags. This is also used to set the scaling
algorithm. Only a single algorithm should be selected.
It accepts the following values:
@table @samp
@item fast_bilinear
Select fast bilinear scaling algorithm.
@item bilinear
Select bilinear scaling algorithm.
@item bicubic
Select bicubic scaling algorithm.
@item experimental
Select experimental scaling algorithm.
@item neighbor
Select nearest neighbor rescaling algorithm.
@item area
Select averaging area rescaling algorithm.
@item bicubiclin
Select bicubic scaling algorithm for the luma component, bilinear for
chroma components.
@item gauss
Select Gaussian rescaling algorithm.
@item sinc
Select sinc rescaling algorithm.
@item lanczos
Select lanczos rescaling algorithm.
@item spline
Select natural bicubic spline rescaling algorithm.
@item print_info
Enable printing/debug logging.
@item accurate_rnd
Enable accurate rounding.
@item full_chroma_int
Enable full chroma interpolation.
@item full_chroma_inp
Select full chroma input.
@item bitexact
Enable bitexact output.
@end table
@item srcw
Set source width.
@item srch
Set source height.
@item dstw
Set destination width.
@item dsth
Set destination height.
@item src_format
Set source pixel format (must be expressed as an integer).
@item dst_format
Set destination pixel format (must be expressed as an integer).
@item src_range
Select source range.
@item dst_range
Select destination range.
@item param0, param1
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.
@end table
@c man end SCALER OPTIONS
@include scaler.texi
@chapter See Also
+1 -2
View File
@@ -17,8 +17,7 @@ by the libavutil library.
@c man end DESCRIPTION
@include syntax.texi
@include eval.texi
@include utils.texi
@chapter See Also
+227 -83
View File
@@ -16,26 +16,26 @@ ffmpeg [@var{global_options}] @{[@var{input_file_options}] -i @file{input_file}@
@chapter Description
@c man begin DESCRIPTION
ffmpeg is a very fast video and audio converter that can also grab from
@command{ffmpeg} is a very fast video and audio converter that can also grab from
a live audio/video source. It can also convert between arbitrary sample
rates and resize video on the fly with a high quality polyphase filter.
ffmpeg reads from an arbitrary number of input "files" (which can be regular
@command{ffmpeg} reads from an arbitrary number of input "files" (which can be regular
files, pipes, network streams, grabbing devices, etc.), specified by the
@code{-i} option, and writes to an arbitrary number of output "files", which are
specified by a plain output filename. Anything found on the command line which
cannot be interpreted as an option is considered to be an output filename.
Each input or output file can in principle contain any number of streams of
different types (video/audio/subtitle/attachment/data). Allowed number and/or
types of streams can be limited by the container format. Selecting, which
streams from which inputs go into output, is done either automatically or with
the @code{-map} option (see the Stream selection chapter).
Each input or output file can, in principle, contain any number of streams of
different types (video/audio/subtitle/attachment/data). The allowed number and/or
types of streams may be limited by the container format. Selecting which
streams from which inputs will go into which output is either done automatically
or with the @code{-map} option (see the Stream selection chapter).
To refer to input files in options, you must use their indices (0-based). E.g.
the first input file is @code{0}, the second is @code{1} etc. Similarly, streams
the first input file is @code{0}, the second is @code{1}, etc. Similarly, streams
within a file are referred to by their indices. E.g. @code{2:3} refers to the
fourth stream in the third input file. See also the Stream specifiers chapter.
fourth stream in the third input file. Also see the Stream specifiers chapter.
As a general rule, options are applied to the next specified
file. Therefore, order is important, and you can have the same
@@ -50,7 +50,7 @@ options apply ONLY to the next input or output file and are reset between files.
@itemize
@item
To set the video bitrate of the output file to 64kbit/s:
To set the video bitrate of the output file to 64 kbit/s:
@example
ffmpeg -i input.avi -b:v 64k -bufsize 64k output.avi
@end example
@@ -96,14 +96,14 @@ tracking lowest timestamp on any active input stream.
Encoded packets are then passed to the decoder (unless streamcopy is selected
for the stream, see further for a description). The decoder produces
uncompressed frames (raw video/PCM audio/...) which can be processed further by
filtering (see next section). After filtering the frames are passed to the
encoder, which encodes them and outputs encoded packets again. Finally those are
filtering (see next section). After filtering, the frames are passed to the
encoder, which encodes them and outputs encoded packets. Finally those are
passed to the muxer, which writes the encoded packets to the output file.
@section Filtering
Before encoding, @command{ffmpeg} can process raw audio and video frames using
filters from the libavfilter library. Several chained filters form a filter
graph. @command{ffmpeg} distinguishes between two types of filtergraphs -
graph. @command{ffmpeg} distinguishes between two types of filtergraphs:
simple and complex.
@subsection Simple filtergraphs
@@ -139,7 +139,7 @@ only sets timestamps and otherwise passes the frames unchanged.
@subsection Complex filtergraphs
Complex filtergraphs are those which cannot be described as simply a linear
processing chain applied to one stream. This is the case e.g. when the graph has
processing chain applied to one stream. This is the case, for example, when the graph has
more than one input and/or output, or when output stream type is different from
input. They can be represented with the following diagram:
@@ -164,9 +164,11 @@ input. They can be represented with the following diagram:
@end example
Complex filtergraphs are configured with the @option{-filter_complex} option.
Note that this option is global, since a complex filtergraph by its nature
Note that this option is global, since a complex filtergraph, by its nature,
cannot be unambiguously associated with a single stream or file.
The @option{-lavfi} option is equivalent to @option{-filter_complex}.
A trivial example of a complex filtergraph is the @code{overlay} filter, which
has two video inputs and one video output, containing one video overlaid on top
of the other. Its audio counterpart is the @code{amix} filter.
@@ -176,7 +178,7 @@ Stream copy is a mode selected by supplying the @code{copy} parameter to the
@option{-codec} option. It makes @command{ffmpeg} omit the decoding and encoding
step for the specified stream, so it does only demuxing and muxing. It is useful
for changing the container format or modifying container-level metadata. The
diagram above will in this case simplify to this:
diagram above will, in this case, simplify to this:
@example
_______ ______________ ________
@@ -188,7 +190,7 @@ diagram above will in this case simplify to this:
@end example
Since there is no decoding or encoding, it is very fast and there is no quality
loss. However it might not work in some cases because of many factors. Applying
loss. However, it might not work in some cases because of many factors. Applying
filters is obviously also impossible, since filters work on uncompressed data.
@c man end DETAILED DESCRIPTION
@@ -196,14 +198,14 @@ filters is obviously also impossible, since filters work on uncompressed data.
@chapter Stream selection
@c man begin STREAM SELECTION
By default ffmpeg includes only one stream of each type (video, audio, subtitle)
By default, @command{ffmpeg} includes only one stream of each type (video, audio, subtitle)
present in the input files and adds them to each output file. It picks the
"best" of each based upon the following criteria; for video it is the stream
with the highest resolution, for audio the stream with the most channels, for
subtitle it's the first subtitle stream. In the case where several streams of
the same type rate equally, the lowest numbered stream is chosen.
"best" of each based upon the following criteria: for video, it is the stream
with the highest resolution, for audio, it is the stream with the most channels, for
subtitles, it is the first subtitle stream. In the case where several streams of
the same type rate equally, the stream with the lowest index is chosen.
You can disable some of those defaults by using @code{-vn/-an/-sn} options. For
You can disable some of those defaults by using the @code{-vn/-an/-sn} options. For
full manual control, use the @code{-map} option, which disables the defaults just
described.
@@ -212,7 +214,7 @@ described.
@chapter Options
@c man begin OPTIONS
@include avtools-common-opts.texi
@include fftools-common-opts.texi
@section Main options
@@ -220,7 +222,7 @@ described.
@item -f @var{fmt} (@emph{input/output})
Force input or output file format. The format is normally auto detected for input
files and guessed from file extension for output files, so this option is not
files and guessed from the file extension for output files, so this option is not
needed in most cases.
@item -i @var{filename} (@emph{input})
@@ -230,7 +232,8 @@ input file name
Overwrite output files without asking.
@item -n (@emph{global})
Do not overwrite output files but exit if file exists.
Do not overwrite output files, and exit immediately if a specified
output file already exists.
@item -c[:@var{stream_specifier}] @var{codec} (@emph{input/output,per-stream})
@itemx -codec[:@var{stream_specifier}] @var{codec} (@emph{input/output,per-stream})
@@ -256,14 +259,28 @@ libx264, and the 138th audio, which will be encoded with libvorbis.
Stop writing the output after its duration reaches @var{duration}.
@var{duration} may be a number in seconds, or in @code{hh:mm:ss[.xxx]} form.
-to and -t are mutually exclusive and -t has priority.
@item -to @var{position} (@emph{output})
Stop writing the output at @var{position}.
@var{position} may be a number in seconds, or in @code{hh:mm:ss[.xxx]} form.
-to and -t are mutually exclusive and -t has priority.
@item -fs @var{limit_size} (@emph{output})
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.
@@ -334,18 +351,32 @@ Stop writing to the stream after @var{framecount} frames.
Use fixed quality scale (VBR). The meaning of @var{q} is
codec-dependent.
@item -filter[:@var{stream_specifier}] @var{filter_graph} (@emph{output,per-stream})
@var{filter_graph} is a description of the filter graph to apply to
the stream. Use @code{-filters} to show all the available filters
(including also sources and sinks).
@anchor{filter_option}
@item -filter[:@var{stream_specifier}] @var{filtergraph} (@emph{output,per-stream})
Create the filtergraph specified by @var{filtergraph} and use it to
filter the stream.
@var{filtergraph} is a description of the filtergraph to apply to
the stream, and must have a single input and a single output of the
same type of the stream. In the filtergraph, the input is associated
to the label @code{in}, and the output to the label @code{out}. See
the ffmpeg-filters manual for more information about the filtergraph
syntax.
See the @ref{filter_complex_option,,-filter_complex option} if you
want to create filtergraphs with multiple inputs and/or outputs.
@item -filter_script[:@var{stream_specifier}] @var{filename} (@emph{output,per-stream})
This option is similar to @option{-filter}, the only difference is that its
argument is the name of the file from which a filtergraph description is to be
read.
See also the @option{-filter_complex} option if you want to create filter graphs
with multiple inputs and/or outputs.
@item -pre[:@var{stream_specifier}] @var{preset_name} (@emph{output,per-stream})
Specify the preset for matching stream(s).
@item -stats (@emph{global})
Print encoding progress/statistics. On by default.
Print encoding progress/statistics. It is on by default, to explicitly
disable it you need to specify @code{-nostats}.
@item -progress @var{url} (@emph{global})
Send program-friendly progress information to @var{url}.
@@ -395,11 +426,11 @@ will be used.
E.g. to extract the first attachment to a file named 'out.ttf':
@example
ffmpeg -dump_attachment:t:0 out.ttf INPUT
ffmpeg -dump_attachment:t:0 out.ttf -i INPUT
@end example
To extract all attachments to files determined by the @code{filename} tag:
@example
ffmpeg -dump_attachment:t "" INPUT
ffmpeg -dump_attachment:t "" -i INPUT
@end example
Technical note -- attachments are implemented as codec extradata, so this
@@ -443,20 +474,9 @@ form @var{num}:@var{den}, where @var{num} and @var{den} are the
numerator and denominator of the aspect ratio. For example "4:3",
"16:9", "1.3333", and "1.7777" are valid argument values.
@item -croptop @var{size}
@item -cropbottom @var{size}
@item -cropleft @var{size}
@item -cropright @var{size}
All the crop options have been removed. Use -vf
crop=width:height:x:y instead.
@item -padtop @var{size}
@item -padbottom @var{size}
@item -padleft @var{size}
@item -padright @var{size}
@item -padcolor @var{hex_color}
All the pad options have been removed. Use -vf
pad=width:height:x:y:color instead.
If used together with @option{-vcodec copy}, it will affect the aspect ratio
stored at container level, but not the aspect ratio stored in encoded
frames, if it exists.
@item -vn (@emph{output})
Disable video recording.
@@ -486,12 +506,11 @@ stream
@item -vlang @var{code}
Set the ISO 639 language code (3 letters) of the current video stream.
@item -vf @var{filter_graph} (@emph{output})
@var{filter_graph} is a description of the filter graph to apply to
the input video.
Use the option "-filters" to show all the available filters (including
also sources and sinks). This is an alias for @code{-filter:v}.
@item -vf @var{filtergraph} (@emph{output})
Create the filtergraph specified by @var{filtergraph} and use it to
filter the stream.
This is an alias for @code{-filter:v}, see the @ref{filter_option,,-filter option}.
@end table
@section Advanced Video Options
@@ -504,7 +523,7 @@ If the selected pixel format can not be selected, ffmpeg will print a
warning and select the best pixel format supported by the encoder.
If @var{pix_fmt} is prefixed by a @code{+}, ffmpeg will exit with an error
if the requested pixel format can not be selected, and automatic conversions
inside filter graphs are disabled.
inside filtergraphs are disabled.
If @var{pix_fmt} is a single @code{+}, ffmpeg selects the same pixel format
as the input (or graph output) and automatic conversions are disabled.
@@ -519,10 +538,6 @@ list separated with slashes. Two first values are the beginning and
end frame numbers, last one is quantizer to use if positive, or quality
factor if negative.
@item -deinterlace
Deinterlace pictures.
This option is deprecated since the deinterlacing is very low quality.
Use the yadif filter with @code{-filter:v yadif}.
@item -ilme
Force interlacing support in encoder (MPEG-2 and MPEG-4 only).
Use this option if your input file is interlaced and you want
@@ -545,12 +560,58 @@ Force video tag/fourcc. This is an alias for @code{-tag:v}.
Show QP histogram
@item -vbsf @var{bitstream_filter}
Deprecated see -bsf
@item -force_key_frames[:@var{stream_specifier}] @var{time}[,@var{time}...] (@emph{output,per-stream})
@item -force_key_frames[:@var{stream_specifier}] expr:@var{expr} (@emph{output,per-stream})
Force key frames at the specified timestamps, more precisely at the first
frames after each specified time.
If the argument is prefixed with @code{expr:}, the string @var{expr}
is interpreted like an expression and is evaluated for each frame. A
key frame is forced in case the evaluation is non-zero.
If one of the times is "@code{chapters}[@var{delta}]", it is expanded into
the time of the beginning of all chapters in the file, shifted by
@var{delta}, expressed as a time in seconds.
This option can be useful to ensure that a seek point is present at a
chapter mark or any other designated place in the output file.
The timestamps must be specified in ascending order.
For example, to insert a key frame at 5 minutes, plus key frames 0.1 second
before the beginning of every chapter:
@example
-force_key_frames 0:05:00,chapters-0.1
@end example
The expression in @var{expr} can contain the following constants:
@table @option
@item n
the number of current processed frame, starting from 0
@item n_forced
the number of forced frames
@item prev_forced_n
the number of the previous forced frame, it is @code{NAN} when no
keyframe was forced yet
@item prev_forced_t
the time of the previous forced frame, it is @code{NAN} when no
keyframe was forced yet
@item t
the time of the current processed frame
@end table
For example to force a key frame every 5 seconds, you can specify:
@example
-force_key_frames expr:gte(t,n_forced*5)
@end example
To force a key frame 5 seconds after the time of the last forced one,
starting from second 13:
@example
-force_key_frames expr:if(isnan(prev_forced_t),gte(t,13),gte(t,prev_forced_t+5))
@end example
Note that forcing too many keyframes is very harmful for the lookahead
algorithms of certain encoders: using fixed-GOP options or similar
would be more efficient.
@item -copyinkf[:@var{stream_specifier}] (@emph{output,per-stream})
When doing stream copy, copy also non-key frames found at the
@@ -581,11 +642,12 @@ Set the audio codec. This is an alias for @code{-codec:a}.
@item -sample_fmt[:@var{stream_specifier}] @var{sample_fmt} (@emph{output,per-stream})
Set the audio sample format. Use @code{-sample_fmts} to get a list
of supported sample formats.
@item -af @var{filter_graph} (@emph{output})
@var{filter_graph} is a description of the filter graph to apply to
the input audio.
Use the option "-filters" to show all the available filters (including
also sources and sinks). This is an alias for @code{-filter:a}.
@item -af @var{filtergraph} (@emph{output})
Create the filtergraph specified by @var{filtergraph} and use it to
filter the stream.
This is an alias for @code{-filter:a}, see the @ref{filter_option,,-filter option}.
@end table
@section Advanced Audio options:
@@ -595,6 +657,12 @@ also sources and sinks). This is an alias for @code{-filter:a}.
Force audio tag/fourcc. This is an alias for @code{-tag:a}.
@item -absf @var{bitstream_filter}
Deprecated, see -bsf
@item -guess_layout_max @var{channels} (@emph{input,per-stream})
If some input channel layout is not known, try to guess only if it
corresponds to at most the specified number of channels. For example, 2
tells to @command{ffmpeg} to recognize 1 channel as mono and 2 channels as
stereo but not 6 channels as 5.1. The default is to always try to guess. Use
0 to disable all guessing.
@end table
@section Subtitle options:
@@ -627,6 +695,9 @@ Note that this option will delay the output of all data until the next
subtitle packet is decoded: it may increase memory consumption and latency a
lot.
@item -canvas_size @var{size}
Set the size of the canvas used to render subtitles.
@end table
@section Advanced options
@@ -806,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.
@@ -831,7 +901,7 @@ Newly added values will have to be specified as strings always.
Each frame is passed with its timestamp from the demuxer to the muxer.
@item 1, cfr
Frames will be duplicated and dropped to achieve exactly the requested
constant framerate.
constant frame rate.
@item 2, vfr
Frames are passed through with their timestamp or dropped so as to
prevent 2 frames from having the same timestamp.
@@ -843,6 +913,10 @@ Chooses between 1 and 2 depending on muxer capabilities. This is the
default method.
@end table
Note that the timestamps may be further modified by the muxer, after this.
For example, in the case that the format option @option{avoid_negative_ts}
is enabled.
With -map you can select from which stream the timestamps should be
taken. You can leave either video or audio unchanged and sync the
remaining stream(s) to the unchanged one.
@@ -852,6 +926,11 @@ Audio sync method. "Stretches/squeezes" the audio stream to match the timestamps
the parameter is the maximum samples per second by which the audio is changed.
-async 1 is a special case where only the start of the audio stream is corrected
without any later correction.
Note that the timestamps may be further modified by the muxer, after this.
For example, in the case that the format option @option{avoid_negative_ts}
is enabled.
This option has been deprecated. Use the @code{aresample} audio filter instead.
@item -copyts
@@ -860,7 +939,8 @@ to sanitize them. In particular, do not remove the initial start time
offset value.
Note that, depending on the @option{vsync} option or on specific muxer
processing, the output timestamps may mismatch with the input
processing (e.g. in case the format option @option{avoid_negative_ts}
is enabled) the output timestamps may mismatch with the input
timestamps even when this option is selected.
@item -copytb @var{mode}
@@ -928,11 +1008,12 @@ Specify Timecode for writing. @var{SEP} is ':' for non drop timecode and ';'
ffmpeg -i input.mpg -timecode 01:02:03.04 -r 30000/1001 -s ntsc output.mpg
@end example
@anchor{filter_complex_option}
@item -filter_complex @var{filtergraph} (@emph{global})
Define a complex filter graph, i.e. one with arbitrary number of inputs and/or
Define a complex filtergraph, i.e. one with arbitrary number of inputs and/or
outputs. For simple graphs -- those with one input and one output of the same
type -- see the @option{-filter} options. @var{filtergraph} is a description of
the filter graph, as described in the ``Filtergraph syntax'' section of the
the filtergraph, as described in the ``Filtergraph syntax'' section of the
ffmpeg-filters manual.
Input link labels must refer to input streams using the
@@ -972,13 +1053,37 @@ ffmpeg -i video.mkv -i image.png -filter_complex 'overlay' out.mkv
To generate 5 seconds of pure red video using lavfi @code{color} source:
@example
ffmpeg -filter_complex 'color=red' -t 5 out.mkv
ffmpeg -filter_complex 'color=c=red' -t 5 out.mkv
@end example
@item -lavfi @var{filtergraph} (@emph{global})
Define a complex filtergraph, i.e. one with arbitrary number of inputs and/or
outputs. Equivalent to @option{-filter_complex}.
@item -filter_complex_script @var{filename} (@emph{global})
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
ffmpeg. Without this option ffmpeg will transmit to ffserver what is requested by
ffserver.
The option is intended for cases where features are needed that cannot be
specified to ffserver but can be to ffmpeg.
@end table
As a special exception, you can use a bitmap subtitle stream as input: it
will be converted into a video with the same size as the largest video in
the file, or 720×576 if no video is present. Note that this is an
the file, or 720x576 if no video is present. Note that this is an
experimental and temporary solution. It will be removed once libavfilter has
proper support for subtitles.
@@ -1031,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:
@@ -1110,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
@@ -1276,15 +1381,48 @@ ffmpeg -i src.ext -lmax 21*QP2LAMBDA dst.ext
@end itemize
@c man end EXAMPLES
@include config.texi
@ifset config-all
@ifset config-avutil
@include utils.texi
@end ifset
@ifset config-avcodec
@include codecs.texi
@include bitstream_filters.texi
@end ifset
@ifset config-avformat
@include formats.texi
@include protocols.texi
@end ifset
@ifset config-avdevice
@include devices.texi
@end ifset
@ifset config-swresample
@include resampler.texi
@end ifset
@ifset config-swscale
@include scaler.texi
@end ifset
@ifset config-avfilter
@include filters.texi
@end ifset
@end ifset
@chapter See Also
@ifhtml
@ifset config-all
@url{ffmpeg.html,ffmpeg}
@end ifset
@ifset config-not-all
@url{ffmpeg-all.html,ffmpeg-all},
@end ifset
@url{ffplay.html,ffplay}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
@url{ffmpeg-utils.html,ffmpeg-utils},
@url{ffmpeg-scaler.html,ffmpeg-scaler},
@url{ffmpeg-resampler.html,ffmpeg-resampler},
@url{ffmpeg-codecs.html,ffmpeg-codecs},
@url{ffmpeg-bitstream-filters,ffmpeg-bitstream-filters},
@url{ffmpeg-bitstream-filters.html,ffmpeg-bitstream-filters},
@url{ffmpeg-formats.html,ffmpeg-formats},
@url{ffmpeg-devices.html,ffmpeg-devices},
@url{ffmpeg-protocols.html,ffmpeg-protocols},
@@ -1292,6 +1430,12 @@ ffmpeg -i src.ext -lmax 21*QP2LAMBDA dst.ext
@end ifhtml
@ifnothtml
@ifset config-all
ffmpeg(1),
@end ifset
@ifset config-not-all
ffmpeg-all(1),
@end ifset
ffplay(1), ffprobe(1), ffserver(1),
ffmpeg-utils(1), ffmpeg-scaler(1), ffmpeg-resampler(1),
ffmpeg-codecs(1), ffmpeg-bitstream-filters(1), ffmpeg-formats(1),
+67 -10
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
@@ -73,11 +73,22 @@ Default value is "video", if video is not present or cannot be played
You can interactively cycle through the available show modes by
pressing the key @key{w}.
@item -vf @var{filter_graph}
@var{filter_graph} is a description of the filter graph to apply to
the input video.
@item -vf @var{filtergraph}
Create the filtergraph specified by @var{filtergraph} and use it to
filter the video stream.
@var{filtergraph} is a description of the filtergraph to apply to
the stream, and must have a single video input and a single video
output. In the filtergraph, the input is associated to the label
@code{in}, and the output to the label @code{out}. See the
ffmpeg-filters manual for more information about the filtergraph
syntax.
@item -af @var{filtergraph}
@var{filtergraph} is a description of the filtergraph to apply to
the input audio.
Use the option "-filters" to show all the available filters (including
also sources and sinks).
sources and sinks).
@item -i @var{input_file}
Read @var{input_file}.
@@ -88,9 +99,13 @@ Read @var{input_file}.
@item -pix_fmt @var{format}
Set pixel format.
This option has been deprecated in favor of private options, try -pixel_format.
@item -stats
Show the stream duration, the codec parameters, the current position in
the stream and the audio/video synchronisation drift.
Print several playback statistics, in particular show the stream
duration, the codec parameters, the current position in the stream and
the audio/video synchronisation drift. It is on by default, to
explicitly disable it you need to specify @code{-nostats}.
@item -bug
Work around bugs.
@item -fast
@@ -159,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.
@@ -186,15 +204,48 @@ Seek to percentage in file corresponding to fraction of width.
@c man end
@include config.texi
@ifset config-all
@ifset config-avutil
@include utils.texi
@end ifset
@ifset config-avcodec
@include codecs.texi
@include bitstream_filters.texi
@end ifset
@ifset config-avformat
@include formats.texi
@include protocols.texi
@end ifset
@ifset config-avdevice
@include devices.texi
@end ifset
@ifset config-swresample
@include resampler.texi
@end ifset
@ifset config-swscale
@include scaler.texi
@end ifset
@ifset config-avfilter
@include filters.texi
@end ifset
@end ifset
@chapter See Also
@ifhtml
@ifset config-all
@url{ffplay.html,ffplay},
@end ifset
@ifset config-not-all
@url{ffplay-all.html,ffmpeg-all},
@end ifset
@url{ffmpeg.html,ffmpeg}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
@url{ffmpeg-utils.html,ffmpeg-utils},
@url{ffmpeg-scaler.html,ffmpeg-scaler},
@url{ffmpeg-resampler.html,ffmpeg-resampler},
@url{ffmpeg-codecs.html,ffmpeg-codecs},
@url{ffmpeg-bitstream-filters,ffmpeg-bitstream-filters},
@url{ffmpeg-bitstream-filters.html,ffmpeg-bitstream-filters},
@url{ffmpeg-formats.html,ffmpeg-formats},
@url{ffmpeg-devices.html,ffmpeg-devices},
@url{ffmpeg-protocols.html,ffmpeg-protocols},
@@ -202,6 +253,12 @@ Seek to percentage in file corresponding to fraction of width.
@end ifhtml
@ifnothtml
@ifset config-all
ffplay(1),
@end ifset
@ifset config-not-all
ffplay-all(1),
@end ifset
ffmpeg(1), ffprobe(1), ffserver(1),
ffmpeg-utils(1), ffmpeg-scaler(1), ffmpeg-resampler(1),
ffmpeg-codecs(1), ffmpeg-bitstream-filters(1), ffmpeg-formats(1),
+123 -7
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,18 @@ 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.
Each chapter is printed within a dedicated section with name "CHAPTER".
@item -count_frames
Count the number of frames per stream and report it in the
corresponding stream section.
@@ -217,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.
@@ -274,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.
@@ -487,15 +564,48 @@ DV, GXF and AVI timecodes are available in format metadata
@end itemize
@c man end TIMECODE
@include config.texi
@ifset config-all
@ifset config-avutil
@include utils.texi
@end ifset
@ifset config-avcodec
@include codecs.texi
@include bitstream_filters.texi
@end ifset
@ifset config-avformat
@include formats.texi
@include protocols.texi
@end ifset
@ifset config-avdevice
@include devices.texi
@end ifset
@ifset config-swresample
@include resampler.texi
@end ifset
@ifset config-swscale
@include scaler.texi
@end ifset
@ifset config-avfilter
@include filters.texi
@end ifset
@end ifset
@chapter See Also
@ifhtml
@url{ffplay.html,ffmpeg}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
@ifset config-all
@url{ffprobe.html,ffprobe},
@end ifset
@ifset config-not-all
@url{ffprobe-all.html,ffprobe-all},
@end ifset
@url{ffmpeg.html,ffmpeg}, @url{ffplay.html,ffplay}, @url{ffserver.html,ffserver},
@url{ffmpeg-utils.html,ffmpeg-utils},
@url{ffmpeg-scaler.html,ffmpeg-scaler},
@url{ffmpeg-resampler.html,ffmpeg-resampler},
@url{ffmpeg-codecs.html,ffmpeg-codecs},
@url{ffmpeg-bitstream-filters,ffmpeg-bitstream-filters},
@url{ffmpeg-bitstream-filters.html,ffmpeg-bitstream-filters},
@url{ffmpeg-formats.html,ffmpeg-formats},
@url{ffmpeg-devices.html,ffmpeg-devices},
@url{ffmpeg-protocols.html,ffmpeg-protocols},
@@ -503,6 +613,12 @@ DV, GXF and AVI timecodes are available in format metadata
@end ifhtml
@ifnothtml
@ifset config-all
ffprobe(1),
@end ifset
@ifset config-not-all
ffprobe-all(1),
@end ifset
ffmpeg(1), ffplay(1), ffserver(1),
ffmpeg-utils(1), ffmpeg-scaler(1), ffmpeg-resampler(1),
ffmpeg-codecs(1), ffmpeg-bitstream-filters(1), ffmpeg-formats(1),
+48 -2
View File
@@ -11,6 +11,8 @@
<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" />
<xsd:element name="program_version" type="ffprobe:programVersionType" minOccurs="0" maxOccurs="1" />
@@ -78,7 +80,6 @@
<xsd:attribute name="interlaced_frame" type="xsd:int" />
<xsd:attribute name="top_field_first" type="xsd:int" />
<xsd:attribute name="repeat_pict" type="xsd:int" />
<xsd:attribute name="reference" type="xsd:int" />
</xsd:complexType>
<xsd:complexType name="streamsType">
@@ -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">
@@ -182,6 +209,25 @@
<xsd:attribute name="configuration" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:complexType name="chaptersType">
<xsd:sequence>
<xsd:element name="chapter" type="ffprobe:chapterType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="chapterType">
<xsd:sequence>
<xsd:element name="tag" type="ffprobe:tagType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:int" use="required"/>
<xsd:attribute name="time_base" type="xsd:string" use="required"/>
<xsd:attribute name="start" type="xsd:int" use="required"/>
<xsd:attribute name="start_time" type="xsd:float"/>
<xsd:attribute name="end" type="xsd:int" use="required"/>
<xsd:attribute name="end_time" type="xsd:float" use="required"/>
</xsd:complexType>
<xsd:complexType name="libraryVersionType">
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="major" type="xsd:int" use="required"/>
+61 -36
View File
@@ -16,34 +16,28 @@ ffserver [@var{options}]
@chapter Description
@c man begin DESCRIPTION
ffserver is a streaming server for both audio and video. It supports
@command{ffserver} is a streaming server for both audio and video. It
supports several live feeds, streaming from files and time shifting on
live feeds (you can seek to positions in the past on each live feed,
provided you specify a big enough feed storage in
@file{ffserver.conf}).
several live feeds, streaming from files and time shifting on live feeds
(you can seek to positions in the past on each live feed, provided you
specify a big enough feed storage in ffserver.conf).
@command{ffserver} receives prerecorded files or FFM streams from some
@command{ffmpeg} instance as input, then streams them over
RTP/RTSP/HTTP.
This documentation covers only the streaming aspects of ffserver /
ffmpeg. All questions about parameters for ffmpeg, codec questions,
etc. are not covered here. Read @file{ffmpeg.html} for more
information.
An @command{ffserver} instance will listen on some port as specified
in the configuration file. You can launch one or more instances of
@command{ffmpeg} and send one or more FFM streams to the port where
ffserver is expecting to receive them. Alternately, you can make
@command{ffserver} launch such @command{ffmpeg} instances at startup.
@section How does it work?
ffserver receives prerecorded files or FFM streams from some ffmpeg
instance as input, then streams them over RTP/RTSP/HTTP.
An ffserver instance will listen on some port as specified in the
configuration file. You can launch one or more instances of ffmpeg and
send one or more FFM streams to the port where ffserver is expecting
to receive them. Alternately, you can make ffserver launch such ffmpeg
instances at startup.
Input streams are called feeds, and each one is specified by a <Feed>
section in the configuration file.
Input streams are called feeds, and each one is specified by a
@code{<Feed>} section in the configuration file.
For each feed you can have different output streams in various
formats, each one specified by a <Stream> section in the configuration
file.
formats, each one specified by a @code{<Stream>} section in the
configuration file.
@section Status stream
@@ -79,14 +73,6 @@ web server can be used to serve up the files just as well.
It can stream prerecorded video from .ffm files, though it is somewhat tricky
to make it work correctly.
@section What do I need?
I use Linux on a 900 MHz Duron with a cheap Bt848 based TV capture card. I'm
using stock Linux 2.4.17 with the stock drivers. [Actually that isn't true,
I needed some special drivers for my motherboard-based sound card.]
I understand that FreeBSD systems work just fine as well.
@section How do I make it work?
First, build the kit. It *really* helps to have installed LAME first. Then when
@@ -235,7 +221,7 @@ of an infinite movie or a whole movie.
FFM is version specific, and there is limited compatibility of FFM files
generated by one version of ffmpeg/ffserver and another version of
ffmpeg/ffserver. It may work but its not guaranteed to work.
ffmpeg/ffserver. It may work but it is not guaranteed to work.
FFM2 is extensible while maintaining compatibility and should work between
differing versions of tools. FFM2 is the default.
@@ -243,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
@@ -260,16 +246,49 @@ messages to stdout.
@end table
@c man end
@include config.texi
@ifset config-all
@ifset config-avutil
@include utils.texi
@end ifset
@ifset config-avcodec
@include codecs.texi
@include bitstream_filters.texi
@end ifset
@ifset config-avformat
@include formats.texi
@include protocols.texi
@end ifset
@ifset config-avdevice
@include devices.texi
@end ifset
@ifset config-swresample
@include resampler.texi
@end ifset
@ifset config-swscale
@include scaler.texi
@end ifset
@ifset config-avfilter
@include filters.texi
@end ifset
@end ifset
@chapter See Also
@ifhtml
The @file{doc/ffserver.conf} example,
@ifset config-all
@url{ffserver.html,ffserver},
@end ifset
@ifset config-not-all
@url{ffserver-all.html,ffserver-all},
@end ifset
the @file{doc/ffserver.conf} example,
@url{ffmpeg.html,ffmpeg}, @url{ffplay.html,ffplay}, @url{ffprobe.html,ffprobe},
@url{ffmpeg-utils.html,ffmpeg-utils},
@url{ffmpeg-scaler.html,ffmpeg-scaler},
@url{ffmpeg-resampler.html,ffmpeg-resampler},
@url{ffmpeg-codecs.html,ffmpeg-codecs},
@url{ffmpeg-bitstream-filters,ffmpeg-bitstream-filters},
@url{ffmpeg-bitstream-filters.html,ffmpeg-bitstream-filters},
@url{ffmpeg-formats.html,ffmpeg-formats},
@url{ffmpeg-devices.html,ffmpeg-devices},
@url{ffmpeg-protocols.html,ffmpeg-protocols},
@@ -277,7 +296,13 @@ The @file{doc/ffserver.conf} example,
@end ifhtml
@ifnothtml
The @file{doc/ffserver.conf} example, ffmpeg(1), ffplay(1), ffprobe(1),
@ifset config-all
ffserver(1),
@end ifset
@ifset config-not-all
ffserver-all(1),
@end ifset
the @file{doc/ffserver.conf} example, ffmpeg(1), ffplay(1), ffprobe(1),
ffmpeg-utils(1), ffmpeg-scaler(1), ffmpeg-resampler(1),
ffmpeg-codecs(1), ffmpeg-bitstream-filters(1), ffmpeg-formats(1),
ffmpeg-devices(1), ffmpeg-protocols(1), ffmpeg-filters(1)
@@ -1,32 +1,33 @@
All the numerical options, if not specified otherwise, accept in input
a string representing a number, which may contain one of the
SI unit prefixes, for example 'K', 'M', 'G'.
If 'i' is appended after the prefix, binary prefixes are used,
which are based on powers of 1024 instead of powers of 1000.
The 'B' postfix multiplies the value by 8, and can be
appended after a unit prefix or used alone. This allows using for
example 'KB', 'MiB', 'G' and 'B' as number postfix.
All the numerical options, if not specified otherwise, accept a string
representing a number as input, which may be followed by one of the SI
unit prefixes, for example: 'K', 'M', or 'G'.
If 'i' is appended to the SI unit prefix, the complete prefix will be
interpreted as a unit prefix for binary multiplies, which are based on
powers of 1024 instead of powers of 1000. Appending 'B' to the SI unit
prefix multiplies the value by 8. This allows using, for example:
'KB', 'MiB', 'G' and 'B' as number suffixes.
Options which do not take arguments are boolean options, and set the
corresponding value to true. They can be set to false by prefixing
with "no" the option name, for example using "-nofoo" in the
command line will set to false the boolean option with name "foo".
the option name with "no". For example using "-nofoo"
will set the boolean option with name "foo" to false.
@anchor{Stream specifiers}
@section Stream specifiers
Some options are applied per-stream, e.g. bitrate or codec. Stream specifiers
are used to precisely specify which stream(s) does a given option belong to.
are used to precisely specify which stream(s) a given option belongs to.
A stream specifier is a string generally appended to the option name and
separated from it by a colon. E.g. @code{-codec:a:1 ac3} option contains
@code{a:1} stream specifier, which matches the second audio stream. Therefore it
separated from it by a colon. E.g. @code{-codec:a:1 ac3} contains the
@code{a:1} stream specifier, which matches the second audio stream. Therefore, it
would select the ac3 codec for the second audio stream.
A stream specifier can match several streams, the option is then applied to all
A stream specifier can match several streams, so that the option is applied to all
of them. E.g. the stream specifier in @code{-b:a 128k} matches all audio
streams.
An empty stream specifier matches all streams, for example @code{-codec copy}
An empty stream specifier matches all streams. For example, @code{-codec copy}
or @code{-codec: copy} would copy all the streams without reencoding.
Possible forms of stream specifiers are:
@@ -35,20 +36,21 @@ Possible forms of stream specifiers are:
Matches the stream with this index. E.g. @code{-threads:1 4} would set the
thread count for the second stream to 4.
@item @var{stream_type}[:@var{stream_index}]
@var{stream_type} is one of: 'v' for video, 'a' for audio, 's' for subtitle,
'd' for data and 't' for attachments. If @var{stream_index} is given, then
matches stream number @var{stream_index} of this type. Otherwise matches all
@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
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 matches stream number @var{stream_index} in
program with id @var{program_id}. Otherwise matches all streams in this program.
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 format-specific ID.
Matches the stream by a format-specific ID.
@end table
@section Generic options
These options are shared amongst the av* tools.
These options are shared amongst the ff* tools.
@table @option
@@ -57,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.
@@ -77,6 +87,9 @@ Print detailed information about the demuxer named @var{demuxer_name}. Use the
Print detailed information about the muxer named @var{muxer_name}. Use the
@option{-formats} option to get a list of all muxers and demuxers.
@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
@@ -85,14 +98,6 @@ Show version.
@item -formats
Show available formats.
The fields preceding the format names have the following meanings:
@table @samp
@item D
Decoding available
@item E
Encoding available
@end table
@item -codecs
Show all codecs known to libavcodec.
@@ -123,18 +128,39 @@ Show available sample formats.
@item -layouts
Show channel names and standard channel layouts.
@item -loglevel @var{loglevel} | -v @var{loglevel}
@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
to the first line and the "Last message repeated n times" line will be
omitted. "repeat" can also be used alone.
If "repeat" is used alone, and with no prior loglevel set, the default
loglevel will be used. If multiple loglevel parameters are given, using
'repeat' will not change the loglevel.
@var{loglevel} is a number or a string containing one of the following values:
@table @samp
@item quiet
Show nothing at all; be silent.
@item panic
Only show fatal errors which could lead the process to crash, such as
and assert failure. This is not currently used for anything.
@item fatal
Only show fatal errors. These are errors after which the process absolutely
cannot continue after.
@item error
Show all errors, including ones which can be recovered from.
@item warning
Show all warnings and errors. Any message related to possibly
incorrect or unexpected events will be shown.
@item info
Show informative messages during processing. This is in addition to
warnings and errors. This is the default value.
@item verbose
Same as @code{info}, except more verbose.
@item debug
Show everything, including debugging information.
@end table
By default the program logs to stderr, if coloring is supported by the
@@ -176,7 +202,61 @@ ffmpeg -cpuflags -sse+mmx ...
ffmpeg -cpuflags mmx ...
ffmpeg -cpuflags 0 ...
@end example
Possible flags for this option are:
@table @samp
@item x86
@table @samp
@item mmx
@item mmxext
@item sse
@item sse2
@item sse2slow
@item sse3
@item sse3slow
@item ssse3
@item atom
@item sse4.1
@item sse4.2
@item avx
@item xop
@item fma4
@item 3dnow
@item 3dnowext
@item cmov
@end table
@item ARM
@table @samp
@item armv5te
@item armv6
@item armv6t2
@item vfp
@item vfpv3
@item neon
@end table
@item PowerPC
@table @samp
@item altivec
@end table
@item Specific Processors
@table @samp
@item pentium2
@item pentium3
@item pentium4
@item k6
@item k62
@item athlon
@item athlonxp
@item k8
@end table
@end table
@item -opencl_options options (@emph{global})
Set OpenCL environment options. This option is only available when
FFmpeg has been compiled with @code{--enable-opencl}.
@var{options} must be a list of @var{key}=@var{value} option pairs
separated by ':'. See the ``OpenCL Options'' section in the
ffmpeg-utils manual for the list of supported options.
@end table
@section AVOptions
@@ -201,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.
+45 -44
View File
@@ -15,13 +15,13 @@ Format negotiation
the list of supported formats.
For video links, that means pixel format. For audio links, that means
channel layout, and sample format (the sample packing is implied by the
sample format).
channel layout, sample format (the sample packing is implied by the sample
format) and sample rate.
The lists are not just lists, they are references to shared objects. When
the negotiation mechanism computes the intersection of the formats
supported at each ends of a link, all references to both lists are
replaced with a reference to the intersection. And when a single format is
supported at each end of a link, all references to both lists are replaced
with a reference to the intersection. And when a single format is
eventually chosen for a link amongst the remaining list, again, all
references to the list are updated.
@@ -29,6 +29,11 @@ Format negotiation
same format amongst a supported list, all it has to do is use a reference
to the same list of formats.
query_formats can leave some formats unset and return AVERROR(EAGAIN) to
cause the negotiation mechanism to try again later. That can be used by
filters with complex requirements to use the format negotiated on one link
to set the formats supported on another.
Buffer references ownership and permissions
===========================================
@@ -68,15 +73,15 @@ Buffer references ownership and permissions
Here are the (fairly obvious) rules for reference ownership:
* A reference received by the start_frame or filter_frame method
belong to the corresponding filter.
* A reference received by the filter_frame method (or its start_frame
deprecated version) belongs to the corresponding filter.
Special exception: for video references: the reference may be used
internally for automatic copying and must not be destroyed before
end_frame; it can be given away to ff_start_frame.
* A reference passed to ff_start_frame or ff_filter_frame is given
away and must no longer be used.
* A reference passed to ff_filter_frame (or the deprecated
ff_start_frame) is given away and must no longer be used.
* A reference created with avfilter_ref_buffer belongs to the code that
created it.
@@ -90,27 +95,11 @@ Buffer references ownership and permissions
Link reference fields
---------------------
The AVFilterLink structure has a few AVFilterBufferRef fields. Here are
the rules to handle them:
* cur_buf is set before the start_frame and filter_frame methods to
the same reference given as argument to the methods and belongs to the
destination filter of the link. If it has not been cleared after
end_frame or filter_frame, libavfilter will automatically destroy
the reference; therefore, any filter that needs to keep the reference
for longer must set cur_buf to NULL.
* out_buf belongs to the source filter of the link and can be used to
store a reference to the buffer that has been sent to the destination.
If it is not NULL after end_frame or filter_frame, libavfilter will
automatically destroy the reference.
If a video input pad does not have a start_frame method, the default
method will request a buffer on the first output of the filter, store
the reference in out_buf and push a second reference to the output.
* src_buf, cur_buf_copy and partial_buf are used by libavfilter
internally and must not be accessed by filters.
The AVFilterLink structure has a few AVFilterBufferRef fields. The
cur_buf and out_buf were used with the deprecated
start_frame/draw_slice/end_frame API and should no longer be used.
src_buf, cur_buf_copy and partial_buf are used by libavfilter internally
and must not be accessed by filters.
Reference permissions
---------------------
@@ -119,8 +108,10 @@ Buffer references ownership and permissions
the code that owns the reference is allowed to do to the buffer data.
Different references for the same buffer can have different permissions.
For video filters, the permissions only apply to the parts of the buffer
that have already been covered by the draw_slice method.
For video filters that implement the deprecated
start_frame/draw_slice/end_frame API, the permissions only apply to the
parts of the buffer that have already been covered by the draw_slice
method.
The value is a binary OR of the following constants:
@@ -175,13 +166,13 @@ 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
is finished (after end_frame or filter_frame returns) must have the
PRESERVE permission on it and remove the WRITE permission if they
create a new reference to give it away.
is finished (after filter_frame returns) must have the PRESERVE
permission on it and remove the WRITE permission if they create a new
reference to give it away.
* Filters that intend to modify a reference they have kept after the end
of the filtering process need the REUSE2 permission and must remove
@@ -198,11 +189,11 @@ Frame scheduling
Simple filters that output one frame for each input frame should not have
to worry about it.
start_frame / filter_frame
----------------------------
filter_frame
------------
These methods are called when a frame is pushed to the filter's input.
They can be called at any time except in a reentrant way.
This method is called when a frame is pushed to the filter's input. It
can be called at any time except in a reentrant way.
If the input frame is enough to produce output, then the filter should
push the output frames on the output link immediately.
@@ -213,7 +204,7 @@ Frame scheduling
filter; these buffered frames must be flushed immediately if a new input
produces new output.
(Example: framerate-doubling filter: start_frame must (1) flush the
(Example: frame rate-doubling filter: filter_frame must (1) flush the
second copy of the previous frame, if it is still there, (2) push the
first copy of the incoming frame, (3) keep the second copy for later.)
@@ -233,8 +224,8 @@ Frame scheduling
This method is called when a frame is wanted on an output.
For an input, it should directly call start_frame or filter_frame on
the corresponding output.
For an input, it should directly call filter_frame on the corresponding
output.
For a filter, if there are queued frames already ready, one of these
frames should be pushed. If not, the filter should request a frame on
@@ -255,7 +246,7 @@ Frame scheduling
}
while (!frame_pushed) {
input = input_where_a_frame_is_most_needed();
ret = avfilter_request_frame(input);
ret = ff_request_frame(input);
if (ret == AVERROR_EOF) {
process_eof_on_input();
} else if (ret < 0) {
@@ -266,4 +257,14 @@ Frame scheduling
Note that, except for filters that can have queued frames, request_frame
does not push frames: it requests them to its input, and as a reaction,
the start_frame / filter_frame method will be called and do the work.
the filter_frame method will be called and do the work.
Legacy API
==========
Until libavfilter 3.23, the filter_frame method was split:
- for video filters, it was made of start_frame, draw_slice (that could be
called several times on distinct parts of the frame) and end_frame;
- for audio filters, it was called filter_samples.
+5430 -1200
View File
File diff suppressed because it is too large Load Diff
+188
View File
@@ -0,0 +1,188 @@
@chapter Format Options
@c man begin FORMAT OPTIONS
The libavformat library provides some generic global options, which
can be set on all the muxers and demuxers. In addition each muxer or
demuxer may support so-called private options, which are specific for
that component.
Options may be set by specifying -@var{option} @var{value} in the
FFmpeg tools, or by setting the value explicitly in the
@code{AVFormatContext} options or using the @file{libavutil/opt.h} API
for programmatic use.
The list of supported options follows:
@table @option
@item avioflags @var{flags} (@emph{input/output})
Possible values:
@table @samp
@item direct
Reduce buffering.
@end table
@item probesize @var{integer} (@emph{input})
Set probing size in bytes, i.e. the size of the data to analyze to get
stream information. A higher value will allow to detect more
information in case it is dispersed into the stream, but will increase
latency. Must be an integer not lesser than 32. It is 5000000 by default.
@item packetsize @var{integer} (@emph{output})
Set packet size.
@item fflags @var{flags} (@emph{input/output})
Set format flags.
Possible values:
@table @samp
@item ignidx
Ignore index.
@item genpts
Generate PTS.
@item nofillin
Do not fill in missing values that can be exactly calculated.
@item noparse
Disable AVParsers, this needs @code{+nofillin} too.
@item igndts
Ignore DTS.
@item discardcorrupt
Discard corrupted frames.
@item sortdts
Try to interleave output packets by DTS.
@item keepside
Do not merge side data.
@item latm
Enable RTP MP4A-LATM payload.
@item nobuffer
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
increase latency. It defaults to 5,000,000 microseconds = 5 seconds.
@item cryptokey @var{hexadecimal string} (@emph{input})
Set decryption key.
@item indexmem @var{integer} (@emph{input})
Set max memory used for timestamp index (per stream).
@item rtbufsize @var{integer} (@emph{input})
Set max memory used for buffering real-time frames.
@item fdebug @var{flags} (@emph{input/output})
Print specific debug info.
Possible values:
@table @samp
@item ts
@end table
@item max_delay @var{integer} (@emph{input/output})
Set maximum muxing or demuxing delay in microseconds.
@item fpsprobesize @var{integer} (@emph{input})
Set number of frames used to probe fps.
@item audio_preload @var{integer} (@emph{output})
Set microseconds by which audio packets should be interleaved earlier.
@item chunk_duration @var{integer} (@emph{output})
Set microseconds for each chunk.
@item chunk_size @var{integer} (@emph{output})
Set size in bytes for each chunk.
@item err_detect, f_err_detect @var{flags} (@emph{input})
Set error detection flags. @code{f_err_detect} is deprecated and
should be used only via the @command{ffmpeg} tool.
Possible values:
@table @samp
@item crccheck
Verify embedded CRCs.
@item bitstream
Detect bitstream specification deviations.
@item buffer
Detect improper bitstream length.
@item explode
Abort decoding on minor error detection.
@item careful
Consider things that violate the spec and have not been seen in the
wild as errors.
@item compliant
Consider all spec non compliancies as errors.
@item aggressive
Consider things that a sane encoder should not do as an error.
@end table
@item use_wallclock_as_timestamps @var{integer} (@emph{input})
Use wallclock as timestamps.
@item avoid_negative_ts @var{integer} (@emph{output})
Shift timestamps to make them non-negative. A value of 1 enables shifting,
a value of 0 disables it, the default value of -1 enables shifting
when required by the target format.
When shifting is enabled, all output timestamps are shifted by the
same amount. Audio, video, and subtitles desynching and relative
timestamp differences are preserved compared to how they would have
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
increase performance in some cases.
@end table
@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
+59 -17
View File
@@ -24,7 +24,7 @@ instructions. To enable using OpenJPEG in FFmpeg, pass @code{--enable-libopenjp
@file{./configure}.
@section OpenCORE and VisualOn libraries
@section OpenCORE, VisualOn, and Fraunhofer libraries
Spun off Google Android sources, OpenCore, VisualOn and Fraunhofer
libraries provide encoders for a number of audio codecs.
@@ -32,9 +32,14 @@ libraries provide encoders for a number of audio codecs.
@float NOTE
OpenCORE and VisualOn libraries are under the Apache License 2.0
(see @url{http://www.apache.org/licenses/LICENSE-2.0} for details), which is
incompatible with the LGPL version 2.1 and GPL version 2. You have to
incompatible to the LGPL version 2.1 and GPL version 2. You have to
upgrade FFmpeg's license to LGPL version 3 (or if you have enabled
GPL components, GPL version 3) to use it.
GPL components, GPL version 3) by passing @code{--enable-version3} to configure in
order to use it.
The Fraunhofer AAC library is licensed under a license incompatible to the GPL
and is not known to be compatible to the LGPL. Therefore, you have to pass
@code{--enable-nonfree} to configure to use it.
@end float
@subsection OpenCORE AMR
@@ -89,12 +94,20 @@ 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
enable it.
@section libwavpack
FFmpeg can make use of the libwavpack library for WavPack encoding.
Go to @url{http://www.wavpack.com/} and follow the instructions for
installing the library. Then pass @code{--enable-libwavpack} to configure to
enable it.
@section x264
FFmpeg can make use of the x264 library for H.264 encoding.
@@ -120,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
@@ -147,13 +174,15 @@ library:
@tab Multimedia format used in game Heart Of Darkness.
@item Apple HTTP Live Streaming @tab @tab X
@item Artworx Data Format @tab @tab X
@item ADP @tab @tab X
@tab Audio format used on the Nintendo Gamecube.
@item AFC @tab @tab X
@tab Audio format used on the Nintendo Gamecube.
@item ASF @tab X @tab X
@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
@@ -322,7 +351,7 @@ library:
@item raw Shorten @tab @tab X
@item raw TAK @tab @tab X
@item raw TrueHD @tab X @tab X
@item raw VC-1 @tab @tab X
@item raw VC-1 @tab X @tab X
@item raw PCM A-law @tab X @tab X
@item raw PCM mu-law @tab X @tab X
@item raw PCM signed 8 bit @tab X @tab X
@@ -348,11 +377,13 @@ library:
@tab File format used by RED Digital cameras, contains JPEG 2000 frames and PCM audio.
@item RealMedia @tab X @tab X
@item Redirector @tab @tab X
@item RedSpark @tab @tab X
@item Renderware TeXture Dictionary @tab @tab X
@item RL2 @tab @tab X
@tab Audio and video format used in some games by Entertainment Software Partners.
@item RPL/ARMovie @tab @tab X
@item Lego Mindstorms RSO @tab X @tab X
@item RSD @tab @tab X
@item RTMP @tab X @tab X
@tab Output is performed by publishing stream to RTMP server
@item RTP @tab X @tab X
@@ -418,7 +449,6 @@ following image formats are supported:
@item .Y.U.V @tab X @tab X
@tab one raw file per component
@item animated GIF @tab X @tab X
@tab Only uncompressed GIFs are generated.
@item BMP @tab X @tab X
@tab Microsoft BMP image
@item PIX @tab @tab X
@@ -458,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
@@ -485,6 +517,7 @@ following image formats are supported:
@item AMV Video @tab X @tab X
@tab Used in Chinese MP3 players.
@item ANSI/ASCII art @tab @tab X
@item Apple Intermediate Codec @tab @tab X
@item Apple MJPEG-B @tab @tab X
@item Apple ProRes @tab X @tab X
@item Apple QuickDraw @tab @tab X
@@ -567,12 +600,13 @@ following image formats are supported:
@tab Sorenson H.263 used in Flash
@item Forward Uncompressed @tab @tab X
@item Fraps @tab @tab X
@item Go2Webinar @tab @tab X
@tab fourcc: G2M4
@item H.261 @tab X @tab X
@item H.263 / H.263-1996 @tab X @tab X
@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
@@ -625,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.
@@ -643,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
@@ -769,9 +804,11 @@ following image formats are supported:
@tab Used in some Sega Saturn console games.
@item ADPCM IMA Duck DK4 @tab @tab X
@tab Used in some Sega Saturn console games.
@item ADPCM IMA Radical @tab @tab X
@item ADPCM Microsoft @tab X @tab X
@item ADPCM MS IMA @tab X @tab X
@item ADPCM Nintendo Gamecube AFC @tab @tab X
@item ADPCM Nintendo Gamecube DTK @tab @tab X
@item ADPCM Nintendo Gamecube THP @tab @tab X
@item ADPCM QT IMA @tab X @tab X
@item ADPCM SEGA CRI ADX @tab X @tab X
@@ -790,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
@@ -814,6 +851,7 @@ following image formats are supported:
@item DSP Group TrueSpeech @tab @tab X
@item DV audio @tab @tab X
@item Enhanced AC-3 @tab X @tab X
@item EVRC (Enhanced Variable Rate Codec) @tab @tab X
@item FLAC (Free Lossless Audio Codec) @tab X @tab IX
@item G.723.1 @tab X @tab X
@item G.729 @tab @tab X
@@ -830,7 +868,6 @@ following image formats are supported:
@item MLP (Meridian Lossless Packing) @tab @tab X
@tab Used in DVD-Audio discs.
@item Monkey's Audio @tab @tab X
@tab Only versions 3.97-3.99 are supported.
@item MP1 (MPEG audio layer 1) @tab @tab IX
@item MP2 (MPEG audio layer 2) @tab IX @tab IX
@tab libtwolame can be used alternatively for encoding.
@@ -885,7 +922,7 @@ following image formats are supported:
@item Sierra VMD audio @tab @tab X
@tab Used in Sierra VMD files.
@item Smacker audio @tab @tab X
@item SMPTE 302M AES3 audio @tab @tab X
@item SMPTE 302M AES3 audio @tab X @tab X
@item Sonic @tab X @tab X
@tab experimental codec
@item Sonic lossless @tab X @tab X
@@ -893,7 +930,7 @@ following image formats are supported:
@item Speex @tab E @tab E
@tab supported through external library libspeex
@item TAK (Tom's lossless Audio Kompressor) @tab @tab X
@item True Audio (TTA) @tab @tab X
@item True Audio (TTA) @tab X @tab X
@item TrueHD @tab @tab X
@tab Used in HD-DVD and Blu-Ray discs.
@item TwinVQ (VQF flavor) @tab @tab X
@@ -901,7 +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 @tab X
@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
@@ -924,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
@@ -940,12 +980,14 @@ performance on systems without hardware floating point support).
@item TED Talks captions @tab @tab X @tab @tab X
@item VobSub (IDX+SUB) @tab @tab X @tab @tab X
@item VPlayer @tab @tab X @tab @tab X
@item WebVTT @tab @tab X @tab @tab X
@item WebVTT @tab X @tab X @tab @tab X
@item XSUB @tab @tab @tab X @tab X
@end multitable
@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
@@ -993,7 +1035,7 @@ performance on systems without hardware floating point support).
@item OSS @tab X @tab X
@item Pulseaudio @tab X @tab
@item SDL @tab @tab X
@item Video4Linux2 @tab X @tab
@item Video4Linux2 @tab X @tab X
@item VfW capture @tab X @tab
@item X11 grabbing @tab X @tab
@end multitable
+137 -91
View File
@@ -86,7 +86,7 @@ fail to open.
Set the video size in the captured video.
@item framerate
Set the framerate in the captured video.
Set the frame rate in the captured video.
@item sample_rate
Set the sample rate (in Hz) of the captured audio.
@@ -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.
@@ -583,10 +548,16 @@ command:
ffmpeg -f sndio -i /dev/audio0 /tmp/oss.wav
@end example
@section video4linux2
@section video4linux2, v4l2
Video4Linux2 input video device.
"v4l2" can be used as alias for "video4linux2".
If FFmpeg is built with v4l-utils support (by using the
@code{--enable-libv4l2} configure option), it is possible to use it with the
@code{-use_libv4l2} input device option.
The name of the device to grab is a file device node, usually Linux
systems tend to automatically create such nodes when the device
(e.g. an USB webcam) is plugged into the system, and has a name of the
@@ -594,10 +565,10 @@ kind @file{/dev/video@var{N}}, where @var{N} is a number associated to
the device.
Video4Linux2 devices usually support a limited set of
@var{width}x@var{height} sizes and framerates. You can check which are
@var{width}x@var{height} sizes and frame rates. You can check which are
supported using @command{-list_formats all} for Video4Linux2 devices.
Some usage examples of the video4linux2 devices with ffmpeg and ffplay:
Some devices, like TV cards, support one or more standards. It is possible
to list all the supported standards using @command{-list_standards all}.
The time base for the timestamps is 1 microsecond. Depending on the kernel
version and configuration, the timestamps may be derived from the real time
@@ -606,19 +577,94 @@ boot time, unaffected by NTP or manual changes to the clock). The
@option{-timestamps abs} or @option{-ts abs} option can be used to force
conversion into the real time clock.
Note that if FFmpeg is build with v4l-utils support ("--enable-libv4l2"
option), it will always be used.
Some usage examples of the video4linux2 device with @command{ffmpeg}
and @command{ffplay}:
@itemize
@item
Grab and show the input of a video4linux2 device:
@example
# Grab and show the input of a video4linux2 device.
ffplay -f video4linux2 -framerate 30 -video_size hd720 /dev/video0
# Grab and record the input of a video4linux2 device, leave the
framerate and size as previously set.
ffmpeg -f video4linux2 -input_format mjpeg -i /dev/video0 out.mpeg
@end example
"v4l" and "v4l2" can be used as aliases for the respective "video4linux" and
"video4linux2".
@item
Grab and record the input of a video4linux2 device, leave the
frame rate and size as previously set:
@example
ffmpeg -f video4linux2 -input_format mjpeg -i /dev/video0 out.mpeg
@end example
@end itemize
For more information about Video4Linux, check @url{http://linuxtv.org/}.
@subsection Options
@table @option
@item standard
Set the standard. Must be the name of a supported standard. To get a
list of the supported standards, use the @option{list_standards}
option.
@item channel
Set the input channel number. Default to -1, which means using the
previously selected channel.
@item video_size
Set the video frame size. The argument must be a string in the form
@var{WIDTH}x@var{HEIGHT} or a valid size abbreviation.
@item pixel_format
Select the pixel format (only valid for raw video input).
@item input_format
Set the preferred pixel format (for raw video) or a codec name.
This option allows to select the input format, when several are
available.
@item framerate
Set the preferred video frame rate.
@item list_formats
List available formats (supported pixel formats, codecs, and frame
sizes) and exit.
Available values are:
@table @samp
@item all
Show all available (compressed and non-compressed) formats.
@item raw
Show only raw video (non-compressed) formats.
@item compressed
Show only compressed formats.
@end table
@item list_standards
List supported standards and exit.
Available values are:
@table @samp
@item all
Show all supported standards.
@end table
@item timestamps, ts
Set type of timestamps for grabbed frames.
Available values are:
@table @samp
@item default
Use timestamps from the kernel.
@item abs
Use absolute timestamps (wall clock).
@item mono2abs
Force conversion from monotonic to absolute timestamps.
@end table
Default value is @code{default}.
@end table
@section vfwcap
@@ -655,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
@@ -681,17 +727,17 @@ 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
Set the grabbing frame rate. Default value is @code{ntsc},
corresponding to a framerate of @code{30000/1001}.
corresponding to a frame rate of @code{30000/1001}.
@item show_region
Show grabbed region on screen.
@@ -702,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
+21 -40
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.
@@ -24,10 +24,13 @@ a mail for every change to every issue.
The subscription URL for the ffmpeg-trac list is:
http(s)://ffmpeg.org/mailman/listinfo/ffmpeg-trac
The URL of the webinterface of the tracker is:
http(s)://ffmpeg.org/trac/ffmpeg
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:
----------
+1 -1
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.
+16
View File
@@ -65,4 +65,20 @@ title=chapter \#1
title=multi\
line
@end example
By using the ffmetadata muxer and demuxer it is possible to extract
metadata from an input file to an ffmetadata file, and then transcode
the file into an output file with the edited ffmetadata file.
Extracting an ffmetadata file with @file{ffmpeg} goes as follows:
@example
ffmpeg -i INPUT -f ffmetadata FFMETADATAFILE
@end example
Reinserting edited metadata information from the FFMETADATAFILE file can
be done as:
@example
ffmpeg -i INPUT -i FFMETADATAFILE -map_metadata 1 -codec copy OUTPUT
@end example
@c man end METADATA
+8
View File
@@ -47,7 +47,14 @@ 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
ac3dsp_mips.c
acelp_filters_mips.c
acelp_vectors_mips.c
@@ -63,5 +70,6 @@ Files that have MIPS copyright notice in them:
fft_table.h
fft_init_table.c
fmtconvert_mips.c
iirfilter_mips.c
mpegaudiodsp_mips_fixed.c
mpegaudiodsp_mips_float.c
+5
View File
@@ -57,6 +57,11 @@ which re-allocates them for other threads.
Add CODEC_CAP_FRAME_THREADS to the codec capabilities. There will be very little
speed gain at this point but it should work.
If there are inter-frame dependencies, so the codec calls
ff_thread_report/await_progress(), set AVCodecInternal.allocate_progress. The
frames must then be freed with ff_thread_release_buffer().
Otherwise leave it at zero and decode directly into the user-supplied frames.
Call ff_thread_report_progress() after some part of the current picture has decoded.
A good place to put this is where draw_horiz_band() is called - add this if it isn't
called anywhere, as it's useful too and the implementation is trivial when you're
+294 -106
View File
@@ -18,6 +18,23 @@ enabled muxers.
A description of some of the currently available muxers follows.
@anchor{aiff}
@section aiff
Audio Interchange File Format muxer.
It accepts the following options:
@table @option
@item write_id3v2
Enable ID3v2 tags writing when set to 1. Default is 0 (disabled).
@item id3v2_version
Select ID3v2 version to write. Currently only version 3 and 4 (aka.
ID3v2.3 and ID3v2.4) are supported. The default is version 4.
@end table
@anchor{crc}
@section crc
@@ -241,8 +258,15 @@ ffmpeg -i in.avi -f image2 -frames:v 1 img.jpeg
@end example
@table @option
@item -start_number @var{number}
Start the sequence from @var{number}.
@item start_number @var{number}
Start the sequence from @var{number}. Default value is 1. Must be a
non-negative number.
@item -update @var{number}
If @var{number} is nonzero, the filename will always be interpreted as just a
filename, not a pattern, and this file will be continuously overwritten with new
images.
@end table
The image muxer supports the .Y.U.V image file format. This format is
@@ -251,6 +275,90 @@ each of the YUV420P components. To read or write this image file format,
specify the name of the '.Y' file. The muxer will automatically open the
'.U' and '.V' files as required.
@section matroska
Matroska container muxer.
This muxer implements the matroska and webm container specs.
The recognized metadata settings in this muxer are:
@table @option
@item title=@var{title name}
Name provided to a single track
@end table
@table @option
@item language=@var{language name}
Specifies the language of the track in the Matroska languages form
@end table
@table @option
@item stereo_mode=@var{mode}
Stereo 3D video layout of two views in a single video track
@table @option
@item mono
video is not stereo
@item left_right
Both views are arranged side by side, Left-eye view is on the left
@item bottom_top
Both views are arranged in top-bottom orientation, Left-eye view is at bottom
@item top_bottom
Both views are arranged in top-bottom orientation, Left-eye view is on top
@item checkerboard_rl
Each view is arranged in a checkerboard interleaved pattern, Left-eye view being first
@item checkerboard_lr
Each view is arranged in a checkerboard interleaved pattern, Right-eye view being first
@item row_interleaved_rl
Each view is constituted by a row based interleaving, Right-eye view is first row
@item row_interleaved_lr
Each view is constituted by a row based interleaving, Left-eye view is first row
@item col_interleaved_rl
Both views are arranged in a column based interleaving manner, Right-eye view is first column
@item col_interleaved_lr
Both views are arranged in a column based interleaving manner, Left-eye view is first column
@item anaglyph_cyan_red
All frames are in anaglyph format viewable through red-cyan filters
@item right_left
Both views are arranged side by side, Right-eye view is on the left
@item anaglyph_green_magenta
All frames are in anaglyph format viewable through green-magenta filters
@item block_lr
Both eyes laced in one Block, Left-eye view is first
@item block_rl
Both eyes laced in one Block, Right-eye view is first
@end table
@end table
For example a 3D WebM clip can be created using the following command line:
@example
ffmpeg -i sample_left_right_clip.mpg -an -c:v libvpx -metadata stereo_mode=left_right -y stereo_clip.webm
@end example
This muxer supports the following options:
@table @option
@item reserve_index_space
By default, this muxer writes the index for seeking (called cues in Matroska
terms) at the end of the file, because it cannot know in advance how much space
to leave for the index at the beginning of the file. However for some use cases
-- e.g. streaming where seeking is possible but slow -- it is useful to put the
index at the beginning of the file.
If this option is set to a non-zero value, the muxer will reserve a given amount
of space in the file header and then try to write the cues there when the muxing
finishes. If the available space does not suffice, muxing will fail. A safe size
for most use cases should be about 50kB per hour of video.
Note that cues are only written if the output is seekable and this option will
have no effect if it is not.
@end table
@anchor{md5}
@section md5
@@ -343,9 +451,11 @@ 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.
@end table
Smooth Streaming content can be pushed in real time to a publishing
@@ -354,6 +464,42 @@ point on IIS with this muxer. Example:
ffmpeg -re @var{<normal input/transcoding options>} -movflags isml+frag_keyframe -f ismv http://server/publishingpoint.isml/Streams(Encoder1)
@end example
@section mp3
The MP3 muxer writes a raw MP3 stream with an ID3v2 header at the beginning and
optionally an ID3v1 tag at the end. ID3v2.3 and ID3v2.4 are supported, the
@code{id3v2_version} option controls which one is used. The legacy ID3v1 tag is
not written by default, but may be enabled with the @code{write_id3v1} option.
For seekable output the muxer also writes a Xing frame at the beginning, which
contains the number of frames in the file. It is useful for computing duration
of VBR files.
The muxer supports writing ID3v2 attached pictures (APIC frames). The pictures
are supplied to the muxer in form of a video stream with a single packet. There
can be any number of those streams, each will correspond to a single APIC frame.
The stream metadata tags @var{title} and @var{comment} map to APIC
@var{description} and @var{picture type} respectively. See
@url{http://id3.org/id3v2.4.0-frames} for allowed picture types.
Note that the APIC frames must be written at the beginning, so the muxer will
buffer the audio frames until it gets all the pictures. It is therefore advised
to provide the pictures as soon as possible to avoid excessive buffering.
Examples:
Write an mp3 with an ID3v2.3 header and an ID3v1 footer:
@example
ffmpeg -i INPUT -id3v2_version 3 -write_id3v1 1 out.mp3
@end example
To attach a picture to an mp3 file select both the audio and the picture stream
with @code{map}:
@example
ffmpeg -i input.mp3 -i cover.png -c copy -map 0 -map 1
-metadata:s:v title="Album cover" -metadata:s:v comment="Cover (Front)" out.mp3
@end example
@section mpegts
MPEG transport stream muxer.
@@ -376,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}
@@ -417,69 +597,21 @@ Alternatively you can write the command as:
ffmpeg -benchmark -i INPUT -f null -
@end example
@section matroska
@section ogg
Matroska container muxer.
This muxer implements the matroska and webm container specs.
The recognized metadata settings in this muxer are:
Ogg container muxer.
@table @option
@item title=@var{title name}
Name provided to a single track
@item -page_duration @var{duration}
Preferred page duration, in microseconds. The muxer will attempt to create
pages that are approximately @var{duration} microseconds long. This allows the
user to compromise between seek granularity and container overhead. The default
is 1 second. A value of 0 will fill all segments, making pages as large as
possible. A value of 1 will effectively use 1 packet-per-page in most
situations, giving a small seek granularity at the cost of additional container
overhead.
@end table
@table @option
@item language=@var{language name}
Specifies the language of the track in the Matroska languages form
@end table
@table @option
@item stereo_mode=@var{mode}
Stereo 3D video layout of two views in a single video track
@table @option
@item mono
video is not stereo
@item left_right
Both views are arranged side by side, Left-eye view is on the left
@item bottom_top
Both views are arranged in top-bottom orientation, Left-eye view is at bottom
@item top_bottom
Both views are arranged in top-bottom orientation, Left-eye view is on top
@item checkerboard_rl
Each view is arranged in a checkerboard interleaved pattern, Left-eye view being first
@item checkerboard_lr
Each view is arranged in a checkerboard interleaved pattern, Right-eye view being first
@item row_interleaved_rl
Each view is constituted by a row based interleaving, Right-eye view is first row
@item row_interleaved_lr
Each view is constituted by a row based interleaving, Left-eye view is first row
@item col_interleaved_rl
Both views are arranged in a column based interleaving manner, Right-eye view is first column
@item col_interleaved_lr
Both views are arranged in a column based interleaving manner, Left-eye view is first column
@item anaglyph_cyan_red
All frames are in anaglyph format viewable through red-cyan filters
@item right_left
Both views are arranged side by side, Right-eye view is on the left
@item anaglyph_green_magenta
All frames are in anaglyph format viewable through green-magenta filters
@item block_lr
Both eyes laced in one Block, Left-eye view is first
@item block_rl
Both eyes laced in one Block, Right-eye view is first
@end table
@end table
For example a 3D WebM clip can be created using the following command line:
@example
ffmpeg -i sample_left_right_clip.mpg -an -c:v libvpx -metadata stereo_mode=left_right -y stereo_clip.webm
@end example
@section segment, stream_segment, ssegment
Basic stream segmenter.
@@ -516,40 +648,40 @@ Set the reference stream, as specified by the string @var{specifier}.
If @var{specifier} is set to @code{auto}, the reference is choosen
automatically. Otherwise it must be a stream specifier (see the ``Stream
specifiers'' chapter in the ffmpeg manual) which specifies the
reference stream. The default value is ``auto''.
reference stream. The default value is @code{auto}.
@item segment_format @var{format}
Override the inner container format, by default it is guessed by the filename
extension.
@item segment_list @var{name}
Generate also a listfile named @var{name}. If not specified no
listfile is generated.
@item segment_list_flags @var{flags}
Set flags affecting the segment list generation.
It currently supports the following flags:
@table @var
@table @samp
@item cache
Allow caching (only affects M3U8 list files).
@item live
Allow live-friendly file generation.
This currently only affects M3U8 lists. In particular, write a fake
EXT-X-TARGETDURATION duration field at the top of the file, based on
the specified @var{segment_time}.
@end table
Default value is @code{cache}.
Default value is @code{samp}.
@item segment_list_size @var{size}
Overwrite the listfile once it reaches @var{size} entries. If 0
the listfile is never overwritten. Default value is 0.
@item segment_list type @var{type}
Update the list file so that it contains at most the last @var{size}
segments. If 0 the list file will contain all the segments. Default
value is 0.
@item segment_list_type @var{type}
Specify the format for the segment list file.
The following values are recognized:
@table @option
@table @samp
@item flat
Generate a flat list for the created segments, one segment per line.
@@ -570,21 +702,36 @@ the segment start and end time expressed in seconds.
A list file with the suffix @code{".csv"} or @code{".ext"} will
auto-select this format.
@code{ext} is deprecated in favor or @code{csv}.
@samp{ext} is deprecated in favor or @samp{csv}.
@item ffconcat
Generate an ffconcat file for the created segments. The resulting file
can be read using the FFmpeg @ref{concat} demuxer.
A list file with the suffix @code{".ffcat"} or @code{".ffconcat"} will
auto-select this format.
@item m3u8
Generate an extended M3U8 file, version 4, compliant with
@url{http://tools.ietf.org/id/draft-pantos-http-live-streaming-08.txt}.
Generate an extended M3U8 file, version 3, compliant with
@url{http://tools.ietf.org/id/draft-pantos-http-live-streaming}.
A list file with the suffix @code{".m3u8"} will auto-select this format.
@end table
If not specified the type is guessed from the list file name suffix.
@item segment_time @var{time}
Set segment duration to @var{time}. Default value is "2".
Set segment duration to @var{time}, the value must be a duration
specification. Default value is "2". See also the
@option{segment_times} option.
Note that splitting may not be accurate, unless you force the
reference stream key-frames at the given time. See the introductory
notice and the examples below.
@item segment_time_delta @var{delta}
Specify the accuracy time when selecting the start time for a
segment. Default value is "0".
segment, expressed as a duration specification. Default value is "0".
When delta is specified a key-frame will start a new segment if its
PTS satisfies the relation:
@@ -606,7 +753,8 @@ the specified time and the time set by @var{force_key_frames}.
@item segment_times @var{times}
Specify a list of split points. @var{times} contains a list of comma
separated duration specifications, in increasing order.
separated duration specifications, in increasing order. See also
the @option{segment_time} option.
@item segment_frames @var{frames}
Specify a list of split video frame numbers. @var{frames} contains a
@@ -627,9 +775,13 @@ 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
@section Examples
@subsection Examples
@itemize
@item
@@ -648,9 +800,9 @@ ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.csv -segment_ti
@end example
@item
As the example above, but use the @code{ffmpeg} @var{force_key_frames}
As the example above, but use the @command{ffmpeg} @option{force_key_frames}
option to force key frames in the input at the specified location, together
with the segment option @var{segment_time_delta} to account for
with the segment option @option{segment_time_delta} to account for
possible roundings operated when setting key frame times.
@example
ffmpeg -i in.mkv -force_key_frames 1,2,3,5,8,13,21 -codec:v mpeg4 -codec:a pcm_s16le -map 0 \
@@ -661,7 +813,7 @@ required.
@item
Segment the input file by splitting the input file according to the
frame numbers sequence specified with the @var{segment_frames} option:
frame numbers sequence specified with the @option{segment_frames} option:
@example
ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.csv -segment_frames 100,200,300,500,800 out%03d.nut
@end example
@@ -682,39 +834,75 @@ ffmpeg -re -i in.mkv -codec copy -map 0 -f segment -segment_list playlist.m3u8 \
@end example
@end itemize
@section mp3
@section tee
The MP3 muxer writes a raw MP3 stream with an ID3v2 header at the beginning and
optionally an ID3v1 tag at the end. ID3v2.3 and ID3v2.4 are supported, the
@code{id3v2_version} option controls which one is used. The legacy ID3v1 tag is
not written by default, but may be enabled with the @code{write_id3v1} option.
The tee muxer can be used to write the same data to several files or any
other kind of muxer. It can be used, for example, to both stream a video to
the network and save it to disk at the same time.
For seekable output the muxer also writes a Xing frame at the beginning, which
contains the number of frames in the file. It is useful for computing duration
of VBR files.
It is different from specifying several outputs to the @command{ffmpeg}
command-line tool because the audio and video data will be encoded only once
with the tee muxer; encoding can be a very expensive process. It is not
useful when using the libavformat API directly because it is then possible
to feed the same packets to several muxers directly.
The muxer supports writing ID3v2 attached pictures (APIC frames). The pictures
are supplied to the muxer in form of a video stream with a single packet. There
can be any number of those streams, each will correspond to a single APIC frame.
The stream metadata tags @var{title} and @var{comment} map to APIC
@var{description} and @var{picture type} respectively. See
@url{http://id3.org/id3v2.4.0-frames} for allowed picture types.
The slave outputs are specified in the file name given to the muxer,
separated by '|'. If any of the slave name contains the '|' separator,
leading or trailing spaces or any special character, it must be
escaped (see the ``Quoting and escaping'' section in the ffmpeg-utils
manual).
Note that the APIC frames must be written at the beginning, so the muxer will
buffer the audio frames until it gets all the pictures. It is therefore advised
to provide the pictures as soon as possible to avoid excessive buffering.
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.
Examples:
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.
Write an mp3 with an ID3v2.3 header and an ID3v1 footer:
@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 INPUT -id3v2_version 3 -write_id3v1 1 out.mp3
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
Attach a picture to an mp3:
@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 input.mp3 -i cover.png -c copy -metadata:s:v title="Album cover"
-metadata:s:v comment="Cover (Front)" out.mp3
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.
@c man end MUXERS
+1 -1
View File
@@ -148,7 +148,7 @@ Alignment:
Some instructions on some architectures have strict alignment restrictions,
for example most SSE/SSE2 instructions on x86.
The minimum guaranteed alignment is written in the .h files, for example:
void (*put_pixels_clamped)(const DCTELEM *block/*align 16*/, UINT8 *pixels/*align 8*/, int line_size);
void (*put_pixels_clamped)(const int16_t *block/*align 16*/, UINT8 *pixels/*align 8*/, int line_size);
General Tips:
+136 -3
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
@@ -26,7 +26,7 @@ ALSA (Advanced Linux Sound Architecture) output device.
CACA output device.
This output devices allows to show a video stream in CACA window.
This output device allows to show a video stream in CACA window.
Only one CACA window is allowed per application, so you can
have only one instance of this output device in an application.
@@ -104,15 +104,79 @@ 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.
This output devices allows to show a video stream in an SDL
This output device allows to show a video stream in an SDL
window. Only one SDL window is allowed per application, so you can
have only one instance of this output device in an application.
@@ -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
@@ -153,4 +221,69 @@ ffmpeg -i INPUT -vcodec rawvideo -pix_fmt yuv420p -window_size qcif -f sdl "SDL
sndio audio output device.
@section xv
XV (XVideo) output device.
This output device allows to show a video stream in a X Window System
window.
@subsection Options
@table @option
@item display_name
Specify the hardware display name, which determines the display and
communications domain to be used.
The display name or DISPLAY environment variable can be a string in
the format @var{hostname}[:@var{number}[.@var{screen_number}]].
@var{hostname} specifies the name of the host machine on which the
display is physically attached. @var{number} specifies the number of
the display server on that host machine. @var{screen_number} specifies
the screen to be used on that server.
If unspecified, it defaults to the value of the DISPLAY environment
variable.
For example, @code{dual-headed:0.1} would specify screen 1 of display
0 on the machine named ``dual-headed''.
Check the X11 specification for more detailed information about the
display name format.
@item window_size
Set the created 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.
@item window_x
@item window_y
Set the X and Y window offsets for the created window. They are both
set to 0 by default. The values may be ignored by the window manager.
@item window_title
Set the window title, if not specified default to the filename
specified for the output device.
@end table
For more information about XVideo see @url{http://www.x.org/}.
@subsection Examples
@itemize
@item
Decode, display and encode video input with @command{ffmpeg} at the
same time:
@example
ffmpeg -i INPUT OUTPUT -f xv display
@end example
@item
Decode and display the input video to multiple X11 windows:
@example
ffmpeg -i INPUT -f xv normal -vf negate -f xv negated
@end example
@end itemize
@c man end OUTPUT DEVICES
+21 -20
View File
@@ -106,15 +106,15 @@ libavformat) as DLLs.
@end itemize
@section Microsoft Visual C++
@section Microsoft Visual C++ or Intel C++ Compiler for Windows
FFmpeg can be built with MSVC using a C99-to-C89 conversion utility and
wrapper.
FFmpeg can be built with MSVC or ICL using a C99-to-C89 conversion utility and
wrapper. For ICL, only the wrapper is used, since ICL supports C99.
You will need the following prerequisites:
@itemize
@item @uref{https://github.com/libav/c99-to-c89/, C99-to-C89 Converter & Wrapper}
@item @uref{http://download.videolan.org/pub/contrib/c99-to-c89/, C99-to-C89 Converter & Wrapper}
@item @uref{http://code.google.com/p/msinttypes/, msinttypes}
@item @uref{http://www.mingw.org/, MSYS}
@item @uref{http://yasm.tortall.net/, YASM}
@@ -122,28 +122,33 @@ You will need the following prerequisites:
you want to run @uref{fate.html, FATE}.
@end itemize
To set up a proper MSVC environment in MSYS, you simply need to run
@code{msys.bat} from the Visual Studio command prompt.
To set up a proper environment in MSYS, you need to run @code{msys.bat} from
the Visual Studio or Intel Compiler command prompt.
Place @code{makedef}, @code{c99wrap.exe}, @code{c99conv.exe}, and @code{yasm.exe}
somewhere in your @code{PATH}.
Next, make sure @code{inttypes.h} and any other headers and libs you want to use
are located in a spot that MSVC can see. Do so by modifying the @code{LIB} and
@code{INCLUDE} environment variables to include the @strong{Windows} paths to
are located in a spot that the compiler can see. Do so by modifying the @code{LIB}
and @code{INCLUDE} environment variables to include the @strong{Windows} paths to
these directories. Alternatively, you can try and use the
@code{--extra-cflags}/@code{--extra-ldflags} configure options.
Finally, run:
@example
For MSVC:
./configure --toolchain=msvc
For ICL:
./configure --toolchain=icl
make
make install
@end example
If you wish to compile shared libraries, add @code{--enable-shared} to your
configure options. Note that due to the way MSVC handles DLL imports and
configure options. Note that due to the way MSVC and ICL handle DLL imports and
exports, you cannot compile static and shared libraries at the same time, and
enabling shared libraries will automatically disable the static ones.
@@ -173,7 +178,12 @@ erroneously included when building FFmpeg.
can see.
@end enumerate
@item FFmpeg has been tested with Visual Studio 2010 and 2012, Pro and Express.
@item FFmpeg has been tested with the following on i686 and x86_64:
@itemize
@item Visual Studio 2010 Pro and Express
@item Visual Studio 2012 Pro and Express
@item Intel Composer XE 2013
@end itemize
Anything else is not officially supported.
@end itemize
@@ -184,16 +194,7 @@ If you plan to link with MSVC-built static libraries, you will need
to make sure you have @code{Runtime Library} set to
@code{Multi-threaded (/MT)} in your project's settings.
FFmpeg headers do not declare global data for Windows DLLs through the usual
dllexport/dllimport interface. Such data will be exported properly while
building, but to use them in your MSVC code you will have to edit the
appropriate headers and mark the data as dllimport. For example, in
libavutil/pixdesc.h you should have:
@example
extern __declspec(dllimport) const AVPixFmtDescriptor av_pix_fmt_descriptors[];
@end example
You will also need to define @code{inline} to something MSVC understands:
You will need to define @code{inline} to something MSVC understands:
@example
#define inline __inline
@end example
+11 -10
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)
@@ -39,6 +41,9 @@ static void print_usage(void)
static void print_option(const AVOption *opts, const AVOption *o, int per_stream)
{
if (!(o->flags & (AV_OPT_FLAG_DECODING_PARAM | AV_OPT_FLAG_ENCODING_PARAM)))
return;
printf("@item -%s%s @var{", o->name, per_stream ? "[:stream_specifier]" : "");
switch (o->type) {
case AV_OPT_TYPE_BINARY: printf("hexadecimal string"); break;
@@ -93,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)
+371 -17
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
@@ -49,6 +49,16 @@ Read angle 2 of playlist 4 from BluRay mounted to /mnt/bluray, start from chapte
-playlist 4 -angle 2 -chapter 2 bluray:/mnt/bluray
@end example
@section cache
Caching wrapper for input stream.
Cache the input stream to temporary file. It brings seeking capability to live streams.
@example
cache:@var{URL}
@end example
@section concat
Physical concatenation protocol.
@@ -75,6 +85,25 @@ ffplay concat:split1.mpeg\|split2.mpeg\|split3.mpeg
Note that you may need to escape the character "|" which is special for
many shells.
@section crypto
AES-encrypted stream reading protocol.
The accepted options are:
@table @option
@item key
Set the AES decryption key binary block from given hexadecimal representation.
@item iv
Set the AES decryption initialization vector binary block from given hexadecimal representation.
@end table
Accepted URL formats:
@example
crypto:@var{URL}
crypto+@var{URL}
@end example
@section data
Data in-line in the URI. See @url{http://en.wikipedia.org/wiki/Data_URI_scheme}.
@@ -100,6 +129,54 @@ 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).
Allow to read from or write to remote resources using FTP protocol.
Following syntax is required.
@example
ftp://[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 ftp-anonymous-password
Password used when login as anonymous user. Typically an e-mail address
should be used.
@item ftp-write-seekable
Control seekability of connection during encoding. If set to 1 the
resource is supposed to be seekable, if set to 0 it is assumed not
to be seekable. Default value is 0.
@end table
NOTE: Protocol can be used as output, but it is recommended to not do
it, unless special care is taken (tests, customized server configuration
etc.). Different FTP servers behave in different way during seek
operation. ff* tools may produce incomplete content due to server limitations.
@section gopher
Gopher protocol.
@@ -128,6 +205,77 @@ m3u8 files.
HTTP (Hyper Text Transfer Protocol).
This protocol accepts the following options.
@table @option
@item seekable
Control seekability of connection. If set to 1 the resource is
supposed to be seekable, if set to 0 it is assumed not to be seekable,
if set to -1 it will try to autodetect if it is seekable. Default
value is -1.
@item chunked_post
If set to 1 use chunked transfer-encoding for posts, default is 1.
@item headers
Set custom HTTP headers, can override built in default headers. The
value must be a string encoding the headers.
@item content_type
Force a content type.
@item user-agent
Override User-Agent header. If not specified the protocol will use a
string describing the libavformat build.
@item multiple_requests
Use persistent connections if set to 1. By default it is 0.
@item post_data
Set custom HTTP post data.
@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 mime_type
Set MIME type.
@item icy
If set to 1 request ICY (SHOUTcast) metadata from the server. If the server
supports this, the metadata has to be retrieved by the application by reading
the @option{icy_metadata_headers} and @option{icy_metadata_packet} options.
The default is 0.
@item icy_metadata_headers
If the server supports ICY metadata, this contains the ICY specific HTTP reply
headers, separated with newline characters.
@item icy_metadata_packet
If the server supports ICY metadata, and @option{icy} was set to 1, this
contains the last non-empty metadata packet sent by the server.
@item cookies
Set the cookies to be sent in future requests. The format of each cookie is the
same as the value of a Set-Cookie HTTP response field. Multiple cookies can be
delimited by a newline character.
@end table
@subsection HTTP Cookies
Some HTTP requests will be denied unless cookie values are passed in with the
request. The @option{cookies} option allows these cookies to be specified. At
the very least, each cookie must specify a value along with a path and domain.
HTTP requests that match both the domain and path will automatically include the
cookie value in the HTTP Cookie header field. Multiple cookies can be delimited
by a newline.
The required syntax to play a stream specifying a cookie is:
@example
ffplay -cookies "nlqptid=nltid=tsn; path=/; domain=somedomain.com;" http://somedomain.com/somestream.m3u8
@end example
@section mmst
MMS (Microsoft Media Server) protocol over TCP.
@@ -191,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.
@@ -203,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.
@@ -259,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
@@ -309,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.
@@ -349,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.
@@ -391,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
@@ -481,6 +747,11 @@ To receive a stream in realtime:
ffmpeg -rtsp_flags listen -i rtsp://ownaddress/live.sdp @var{output}
@end example
@table @option
@item stimeout
Socket IO timeout in micro seconds.
@end table
@section sap
Session Announcement Protocol (RFC 2974). This is not technically a
@@ -573,6 +844,50 @@ To play back the first stream announced on one the default IPv6 SAP multicast ad
ffplay sap://[ff0e::2:7ffe]
@end example
@section sctp
Stream Control Transmission Protocol.
The accepted URL syntax is:
@example
sctp://@var{host}:@var{port}[?@var{options}]
@end example
The protocol accepts the following options:
@table @option
@item listen
If set to any value, listen for an incoming connection. Outgoing connection is done by default.
@item max_streams
Set the maximum number of streams. By default no limit is set.
@end table
@section srtp
Secure Real-time Transport Protocol.
The accepted options are:
@table @option
@item srtp_in_suite
@item srtp_out_suite
Select input and output encoding suites.
Supported values:
@table @samp
@item AES_CM_128_HMAC_SHA1_80
@item SRTP_AES128_CM_HMAC_SHA1_80
@item AES_CM_128_HMAC_SHA1_32
@item SRTP_AES128_CM_HMAC_SHA1_32
@end table
@item srtp_in_params
@item srtp_out_params
Set input and output encoding parameters, which are expressed by a
base64-encoded representation of a binary block. The first 16 bytes of
this binary block are used as master key, the following 14 bytes are
used as master salt.
@end table
@section tcp
Trasmission Control Protocol.
@@ -601,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
@@ -730,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
+232
View File
@@ -0,0 +1,232 @@
@chapter Resampler Options
@c man begin RESAMPLER OPTIONS
The audio resampler supports the following named options.
Options may be set by specifying -@var{option} @var{value} in the
FFmpeg tools, @var{option}=@var{value} for the aresample filter,
by setting the value explicitly in the
@code{SwrContext} options or using the @file{libavutil/opt.h} API for
programmatic use.
@table @option
@item ich, in_channel_count
Set the number of input channels. Default value is 0. Setting this
value is not mandatory if the corresponding channel layout
@option{in_channel_layout} is set.
@item och, out_channel_count
Set the number of output channels. Default value is 0. Setting this
value is not mandatory if the corresponding channel layout
@option{out_channel_layout} is set.
@item uch, used_channel_count
Set the number of used input channels. Default value is 0. This option is
only used for special remapping.
@item isr, in_sample_rate
Set the input sample rate. Default value is 0.
@item osr, out_sample_rate
Set the output sample rate. Default value is 0.
@item isf, in_sample_fmt
Specify the input sample format. It is set by default to @code{none}.
@item osf, out_sample_fmt
Specify the output sample format. It is set by default to @code{none}.
@item tsf, internal_sample_fmt
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
@item ocl, out_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
in the interval [-32,32].
@item slev, surround_mix_level
Set the surround mix level. It is a value expressed in deciBel, and must
be in the interval [-32,32].
@item lfe_mix_level
Set LFE mix into non LFE level. It is used when there is a LFE input but no
LFE output. It is a value expressed in deciBel, and must
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.
It supports the following individual flags:
@table @option
@item res
force resampling, this flag forces resampling to be used even when the
input and output sample rates match.
@end table
@item dither_scale
Set the dither scale. Default value is 1.
@item dither_method
Set dither method. Default value is 0.
Supported values:
@table @samp
@item rectangular
select rectangular dither
@item triangular
select triangular dither
@item triangular_hp
select triangular dither with high pass
@item lipshitz
select lipshitz noise shaping dither
@item shibata
select shibata noise shaping dither
@item low_shibata
select low shibata noise shaping dither
@item high_shibata
select high shibata noise shaping dither
@item f_weighted
select f-weighted noise shaping dither
@item modified_e_weighted
select modified-e-weighted noise shaping dither
@item improved_e_weighted
select improved-e-weighted noise shaping dither
@end table
@item resampler
Set resampling engine. Default value is swr.
Supported values:
@table @samp
@item swr
select the native SW Resampler; filter options precision and cheby are not
applicable in this case.
@item soxr
select the SoX Resampler (where available); compensation, and filter options
filter_size, phase_shift, filter_type & kaiser_beta, are not applicable in this
case.
@end table
@item filter_size
For swr only, set resampling filter size, default value is 32.
@item phase_shift
For swr only, set resampling phase shift, default value is 10, and must be in
the interval [0,30].
@item linear_interp
Use Linear Interpolation if set to 1, default value is 0.
@item cutoff
Set cutoff frequency (swr: 6dB point; soxr: 0dB point) ratio; must be a float
value between 0 and 1. Default value is 0.97 with swr, and 0.91 with soxr
(which, with a sample-rate of 44100, preserves the entire audio band to 20kHz).
@item precision
For soxr only, the precision in bits to which the resampled signal will be
calculated. The default value of 20 (which, with suitable dithering, is
appropriate for a destination bit-depth of 16) gives SoX's 'High Quality'; a
value of 28 gives SoX's 'Very High Quality'.
@item cheby
For soxr only, selects passband rolloff none (Chebyshev) & higher-precision
approximation for 'irrational' ratios. Default value is 0.
@item async
For swr only, simple 1 parameter audio sync to timestamps using stretching,
squeezing, filling and trimming. Setting this to 1 will enable filling and
trimming, larger values represent the maximum amount in samples that the data
may be stretched or squeezed for each second.
Default value is 0, thus no compensation is applied to make the samples match
the audio timestamps.
@item first_pts
For swr only, assume the first pts should be this value. The time unit is 1 / sample rate.
This allows for padding/trimming at the start of stream. By default, no
assumption is made about the first frame's expected pts, so no padding or
trimming is done. For example, this could be set to 0 to pad the beginning with
silence if an audio stream starts after the video stream or to trim any samples
with a negative pts due to encoder delay.
@item min_comp
For swr only, set the minimum difference between timestamps and audio data (in
seconds) to trigger stretching/squeezing/filling or trimming of the
data to make it match the timestamps. The default is that
stretching/squeezing/filling and trimming is disabled
(@option{min_comp} = @code{FLT_MAX}).
@item min_hard_comp
For swr only, set the minimum difference between timestamps and audio data (in
seconds) to trigger adding/dropping samples to make it match the
timestamps. This option effectively is a threshold to select between
hard (trim/fill) and soft (squeeze/stretch) compensation. Note that
all compensation is by default disabled through @option{min_comp}.
The default is 0.1.
@item comp_duration
For swr only, set duration (in seconds) over which data is stretched/squeezed
to make it match the timestamps. Must be a non-negative double float value,
default value is 1.0.
@item max_soft_comp
For swr only, set maximum factor by which data is stretched/squeezed to make it
match the timestamps. Must be a non-negative double float value, default value
is 0.
@item matrix_encoding
Select matrixed stereo encoding.
It accepts the following values:
@table @samp
@item none
select none
@item dolby
select Dolby
@item dplii
select Dolby Pro Logic II
@end table
Default value is @code{none}.
@item filter_type
For swr only, select resampling filter type. This only affects resampling
operations.
It accepts the following values:
@table @samp
@item cubic
select cubic
@item blackman_nuttall
select Blackman Nuttall Windowed Sinc
@item kaiser
select Kaiser Windowed Sinc
@end table
@item kaiser_beta
For swr only, set Kaiser Window Beta value. Must be an integer in the
interval [2,16], default value is 9.
@item output_sample_bits
For swr only, set number of used output sample bits for dithering. Must be an integer in the
interval [0,64], default value is 0, which means it's not used.
@end table
@c man end RESAMPLER OPTIONS
+119
View File
@@ -0,0 +1,119 @@
@anchor{scaler_options}
@chapter Scaler Options
@c man begin SCALER OPTIONS
The video scaler supports the following named options.
Options may be set by specifying -@var{option} @var{value} in the
FFmpeg tools. For programmatic use, they can be set explicitly in the
@code{SwsContext} options or through the @file{libavutil/opt.h} API.
@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.
It accepts the following values:
@table @samp
@item fast_bilinear
Select fast bilinear scaling algorithm.
@item bilinear
Select bilinear scaling algorithm.
@item bicubic
Select bicubic scaling algorithm.
@item experimental
Select experimental scaling algorithm.
@item neighbor
Select nearest neighbor rescaling algorithm.
@item area
Select averaging area rescaling algorithm.
@item bicubiclin
Select bicubic scaling algorithm for the luma component, bilinear for
chroma components.
@item gauss
Select Gaussian rescaling algorithm.
@item sinc
Select sinc rescaling algorithm.
@item lanczos
Select lanczos rescaling algorithm.
@item spline
Select natural bicubic spline rescaling algorithm.
@item print_info
Enable printing/debug logging.
@item accurate_rnd
Enable accurate rounding.
@item full_chroma_int
Enable full chroma interpolation.
@item full_chroma_inp
Select full chroma input.
@item bitexact
Enable bitexact output.
@end table
@item srcw
Set source width.
@item srch
Set source height.
@item dstw
Set destination width.
@item dsth
Set destination height.
@item src_format
Set source pixel format (must be expressed as an integer).
@item dst_format
Set destination pixel format (must be expressed as an integer).
@item src_range
Select source range.
@item dst_range
Select destination range.
@item param0, param1
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
+16 -8
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
+2 -2
View File
@@ -32,9 +32,9 @@ Special Converter v
Output
Planar/Packed conversion is done when needed during sample format conversion.
Every step can be skipped without memcpy when its not needed.
Every step can be skipped without memcpy when it is not needed.
Either Resampling and Rematrixing can be performed first depending on which
way its faster.
way it is faster.
The Buffers are needed for resampling due to resamplng being a process that
requires future and past data, it thus also introduces inevitably a delay when
used.
-230
View File
@@ -1,230 +0,0 @@
@chapter Syntax
@c man begin SYNTAX
This section documents the syntax and formats employed by the FFmpeg
libraries and tools.
@anchor{quoting_and_escaping}
@section Quoting and escaping
FFmpeg adopts the following quoting and escaping mechanism, unless
explicitly specified. The following rules are applied:
@itemize
@item
@code{'} and @code{\} are special characters (respectively used for
quoting and escaping). In addition to them, there might be other
special characters depending on the specific syntax where the escaping
and quoting are employed.
@item
A special character is escaped by prefixing it with a '\'.
@item
All characters enclosed between '' are included literally in the
parsed string. The quote character @code{'} itself cannot be quoted,
so you may need to close the quote and escape it.
@item
Leading and trailing whitespaces, unless escaped or quoted, are
removed from the parsed string.
@end itemize
Note that you may need to add a second level of escaping when using
the command line or a script, which depends on the syntax of the
adopted shell language.
The function @code{av_get_token} defined in
@file{libavutil/avstring.h} can be used to parse a token quoted or
escaped according to the rules defined above.
The tool @file{tools/ffescape} in the FFmpeg source tree can be used
to automatically quote or escape a string in a script.
@subsection Examples
@itemize
@item
Escape the string @code{Crime d'Amour} containing the @code{'} special
character:
@example
Crime d\'Amour
@end example
@item
The string above contains a quote, so the @code{'} needs to be escaped
when quoting it:
@example
'Crime d'\''Amour'
@end example
@item
Include leading or trailing whitespaces using quoting:
@example
' this string starts and ends with whitespaces '
@end example
@item
Escaping and quoting can be mixed together:
@example
' The string '\'string\'' is a string '
@end example
@item
To include a literal @code{\} you can use either escaping or quoting:
@example
'c:\foo' can be written as c:\\foo
@end example
@end itemize
@anchor{date syntax}
@section Date
The accepted syntax is:
@example
[(YYYY-MM-DD|YYYYMMDD)[T|t| ]]((HH:MM:SS[.m...]]])|(HHMMSS[.m...]]]))[Z]
now
@end example
If the value is "now" it takes the current time.
Time is local time unless Z is appended, in which case it is
interpreted as UTC.
If the year-month-day part is not specified it takes the current
year-month-day.
@anchor{time duration syntax}
@section Time duration
The accepted syntax is:
@example
[-]HH:MM:SS[.m...]
[-]S+[.m...]
@end example
@var{HH} expresses the number of hours, @var{MM} the number a of minutes
and @var{SS} the number of seconds.
@anchor{video size syntax}
@section Video size
Specify the size of the sourced video, it may be a string of the form
@var{width}x@var{height}, or the name of a size abbreviation.
The following abbreviations are recognized:
@table @samp
@item sqcif
128x96
@item qcif
176x144
@item cif
352x288
@item 4cif
704x576
@item 16cif
1408x1152
@item qqvga
160x120
@item qvga
320x240
@item vga
640x480
@item svga
800x600
@item xga
1024x768
@item uxga
1600x1200
@item qxga
2048x1536
@item sxga
1280x1024
@item qsxga
2560x2048
@item hsxga
5120x4096
@item wvga
852x480
@item wxga
1366x768
@item wsxga
1600x1024
@item wuxga
1920x1200
@item woxga
2560x1600
@item wqsxga
3200x2048
@item wquxga
3840x2400
@item whsxga
6400x4096
@item whuxga
7680x4800
@item cga
320x200
@item ega
640x350
@item hd480
852x480
@item hd720
1280x720
@item hd1080
1920x1080
@end table
@anchor{video rate syntax}
@section Video rate
Specify the frame rate of a video, expressed as the number of frames
generated per second. It has to be a string in the format
@var{frame_rate_num}/@var{frame_rate_den}, an integer number, a float
number or a valid video frame rate abbreviation.
The following abbreviations are recognized:
@table @samp
@item ntsc
30000/1001
@item pal
25/1
@item qntsc
30000/1
@item qpal
25/1
@item sntsc
30000/1
@item spal
25/1
@item film
24/1
@item ntsc-film
24000/1
@end table
@anchor{ratio syntax}
@section Ratio
A ratio can be expressed as an expression, or in the form
@var{numerator}:@var{denominator}.
Note that a ratio with infinite (1/0) or negative value is
considered valid, so you should check on the returned value if you
want to exclude those values.
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
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.
The string "random" will result in a random color.
@c man end SYNTAX
+3 -4
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;
@@ -68,7 +69,7 @@ $print_page_head = \&FFmpeg_print_page_head;
sub FFmpeg_print_page_head($$)
{
my $fh = shift;
my $longtitle = "$Texi2HTML::THISDOC{'title_no_texi'}";
my $longtitle = "$Texi2HTML::THISDOC{'fulltitle_no_texi'}";
$longtitle .= ": $Texi2HTML::NO_TEXI{'This'}" if exists $Texi2HTML::NO_TEXI{'This'};
my $description = $DOCUMENT_DESCRIPTION;
$description = $longtitle if (!defined($description));
@@ -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
+20 -3
View File
@@ -121,7 +121,7 @@ INF: while(<$inf>) {
$chapters{$chapter_name} .= postprocess($chapter) if ($chapter_name);
# start new chapter
$chapter_name = $1, push (@chapters_sequence, $chapter_name);
$chapter_name = $1, push (@chapters_sequence, $chapter_name) unless $skipping;
$chapters{$chapter_name} = "" unless exists $chapters{$chapter_name};
$chapter = "";
$output = 1;
@@ -169,7 +169,7 @@ INF: while(<$inf>) {
} elsif ($ended =~ /^(?:example|smallexample|display)$/) {
$shift = "";
$_ = ""; # need a paragraph break
} elsif ($ended =~ /^(?:itemize|enumerate|[fv]?table)$/) {
} elsif ($ended =~ /^(?:itemize|enumerate|(?:multi|[fv])?table)$/) {
$_ = "\n=back\n";
$ic = pop @icstack;
} else {
@@ -269,7 +269,7 @@ INF: while(<$inf>) {
$endw = "enumerate";
};
/^\@([fv]?table)\s+(\@[a-z]+)/ and do {
/^\@((?:multi|[fv])?table)\s+(\@[a-z]+)/ and do {
push @endwstack, $endw;
push @icstack, $ic;
$endw = $1;
@@ -278,6 +278,7 @@ INF: while(<$inf>) {
$ic =~ s/\@(?:code|kbd)/C/;
$ic =~ s/\@(?:dfn|var|emph|cite|i)/I/;
$ic =~ s/\@(?:file)/F/;
$ic =~ s/\@(?:columnfractions)//;
$_ = "\n=over 4\n";
};
@@ -288,6 +289,21 @@ INF: while(<$inf>) {
$_ = ""; # need a paragraph break
};
/^\@item\s+(.*\S)\s*$/ and $endw eq "multitable" and do {
my $columns = $1;
$columns =~ s/\@tab/ : /;
$_ = "\n=item B&LT;". $columns ."&GT;\n";
};
/^\@tab\s+(.*\S)\s*$/ and $endw eq "multitable" and do {
my $columns = $1;
$columns =~ s/\@tab/ : /;
$_ = " : ". $columns;
$chapter =~ s/\n+\s+$//;
};
/^\@itemx?\s*(.+)?$/ and do {
if (defined $1) {
# Entity escapes prevent munging by the <> processing below.
@@ -361,6 +377,7 @@ sub postprocess
s/\(?\@xref\{(?:[^\}]*)\}(?:[^.<]|(?:<[^<>]*>))*\.\)?//g;
s/\s+\(\@pxref\{(?:[^\}]*)\}\)//g;
s/;\s+\@pxref\{(?:[^\}]*)\}//g;
s/\@ref\{(?:[^,\}]*,)(?:[^,\}]*,)([^,\}]*).*\}/$1/g;
s/\@ref\{([^\}]*)\}/$1/g;
s/\@noindent\s*//g;
s/\@refill//g;
+1064
View File
File diff suppressed because it is too large Load Diff
+487 -254
View File
File diff suppressed because it is too large Load Diff
+39 -8
View File
@@ -37,10 +37,10 @@
#include "libavcodec/avcodec.h"
#include "libavfilter/avfilter.h"
#include "libavfilter/avfiltergraph.h"
#include "libavutil/avutil.h"
#include "libavutil/dict.h"
#include "libavutil/eval.h"
#include "libavutil/fifo.h"
#include "libavutil/pixfmt.h"
#include "libavutil/rational.h"
@@ -93,6 +93,7 @@ typedef struct OptionsContext {
/* input options */
int64_t input_ts_offset;
int rate_emu;
int accurate_seek;
SpecifierOpt *ts_scale;
int nb_ts_scale;
@@ -113,6 +114,7 @@ typedef struct OptionsContext {
int chapters_input_file;
int64_t recording_time;
int64_t stop_time;
uint64_t limit_filesize;
float mux_preload;
float mux_max_delay;
@@ -163,14 +165,22 @@ typedef struct OptionsContext {
int nb_copy_prior_start;
SpecifierOpt *filters;
int nb_filters;
SpecifierOpt *filter_scripts;
int nb_filter_scripts;
SpecifierOpt *reinit_filters;
int nb_reinit_filters;
SpecifierOpt *fix_sub_duration;
int nb_fix_sub_duration;
SpecifierOpt *canvas_sizes;
int nb_canvas_sizes;
SpecifierOpt *pass;
int nb_pass;
SpecifierOpt *passlogfiles;
int nb_passlogfiles;
SpecifierOpt *guess_layout_max;
int nb_guess_layout_max;
SpecifierOpt *apad;
int nb_apad;
} OptionsContext;
typedef struct InputFilter {
@@ -195,6 +205,7 @@ typedef struct FilterGraph {
const char *graph_desc;
AVFilterGraph *graph;
int reconfiguration;
InputFilter **inputs;
int nb_inputs;
@@ -209,6 +220,7 @@ typedef struct InputStream {
int decoding_needed; /* true if the packets must be decoded in 'raw_fifo' */
AVCodec *dec;
AVFrame *decoded_frame;
AVFrame *filter_frame; /* a ref of decoded_frame, to be sent to filters */
int64_t start; /* time when read started */
/* predicted dts of the next packet read for this stream or (when there are
@@ -229,6 +241,7 @@ typedef struct InputStream {
AVDictionary *opts;
AVRational framerate; /* framerate forced with -r */
int top_field_first;
int guess_layout_max;
int resample_height;
int resample_width;
@@ -249,12 +262,10 @@ typedef struct InputStream {
struct sub2video {
int64_t last_pts;
int64_t end_pts;
AVFilterBufferRef *ref;
AVFrame *frame;
int w, h;
} sub2video;
/* a pool of free buffers for decoded data */
FrameBuffer *buffer_pool;
int dr1;
/* decoded data from this stream goes into all those filters
@@ -271,10 +282,14 @@ typedef struct InputFile {
int eagain; /* true if last read attempt returned EAGAIN */
int ist_index; /* index of first stream in input_streams */
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 */
@@ -286,6 +301,17 @@ typedef struct InputFile {
#endif
} InputFile;
enum forced_keyframes_const {
FKF_N,
FKF_N_FORCED,
FKF_PREV_FORCED_N,
FKF_PREV_FORCED_T,
FKF_T,
FKF_NB
};
extern const char *const forced_keyframes_const_names[];
typedef struct OutputStream {
int file_index; /* file index */
int index; /* stream index in the output file */
@@ -300,6 +326,8 @@ typedef struct OutputStream {
/* pts of the first frame encoded for this stream, used for limiting
* recording time */
int64_t first_pts;
/* dts of the last packet sent to the muxer */
int64_t last_mux_dts;
AVBitStreamFilterContext *bitstream_filters;
AVCodec *enc;
int64_t max_frames;
@@ -310,13 +338,15 @@ typedef struct OutputStream {
int force_fps;
int top_field_first;
float frame_aspect_ratio;
AVRational frame_aspect_ratio;
/* forced key frames */
int64_t *forced_kf_pts;
int forced_kf_count;
int forced_kf_index;
char *forced_keyframes;
AVExpr *forced_keyframes_pexpr;
double forced_keyframes_expr_const_values[FKF_NB];
/* audio only */
int audio_channels_map[SWR_CH_MAX]; /* list of the channels id to pick from the source stream */
@@ -329,10 +359,10 @@ typedef struct OutputStream {
char *avfilter;
int64_t sws_flags;
int64_t swr_filter_type;
int64_t swr_dither_method;
double swr_dither_scale;
AVDictionary *opts;
AVDictionary *swr_opts;
AVDictionary *resample_opts;
char *apad;
int finished; /* no more packets should be written for this stream */
int unavailable; /* true if the steram is unavailable (possibly temporarily) */
int stream_copy;
@@ -390,6 +420,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;
+219 -84
View File
@@ -21,9 +21,10 @@
#include "ffmpeg.h"
#include "libavfilter/avfilter.h"
#include "libavfilter/avfiltergraph.h"
#include "libavfilter/buffersink.h"
#include "libavresample/avresample.h"
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/bprint.h"
@@ -91,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,
@@ -108,7 +114,7 @@ static char *choose_pix_fmts(OutputStream *ost)
int len;
if (avio_open_dyn_buf(&s) < 0)
exit(1);
exit_program(1);
p = ost->enc->pix_fmts;
if (ost->st->codec->strict_std_compliance <= FF_COMPLIANCE_UNOFFICIAL) {
@@ -122,7 +128,7 @@ static char *choose_pix_fmts(OutputStream *ost)
for (; *p != AV_PIX_FMT_NONE; p++) {
const char *name = av_get_pix_fmt_name(*p);
avio_printf(s, "%s:", name);
avio_printf(s, "%s|", name);
}
len = avio_close_dyn_buf(s, &ret);
ret[len - 1] = 0;
@@ -133,24 +139,24 @@ static char *choose_pix_fmts(OutputStream *ost)
/* Define a function for building a string containing a list of
* allowed formats. */
#define DEF_CHOOSE_FORMAT(type, var, supported_list, none, get_name, separator)\
#define DEF_CHOOSE_FORMAT(type, var, supported_list, none, get_name) \
static char *choose_ ## var ## s(OutputStream *ost) \
{ \
if (ost->st->codec->var != none) { \
get_name(ost->st->codec->var); \
return av_strdup(name); \
} else if (ost->enc->supported_list) { \
} else if (ost->enc && ost->enc->supported_list) { \
const type *p; \
AVIOContext *s = NULL; \
uint8_t *ret; \
int len; \
\
if (avio_open_dyn_buf(&s) < 0) \
exit(1); \
exit_program(1); \
\
for (p = ost->enc->supported_list; *p != none; p++) { \
get_name(*p); \
avio_printf(s, "%s" separator, name); \
avio_printf(s, "%s|", name); \
} \
len = avio_close_dyn_buf(s, &ret); \
ret[len - 1] = 0; \
@@ -160,28 +166,28 @@ static char *choose_ ## var ## s(OutputStream *ost) \
}
// DEF_CHOOSE_FORMAT(enum AVPixelFormat, pix_fmt, pix_fmts, AV_PIX_FMT_NONE,
// GET_PIX_FMT_NAME, ":")
// GET_PIX_FMT_NAME)
DEF_CHOOSE_FORMAT(enum AVSampleFormat, sample_fmt, sample_fmts,
AV_SAMPLE_FMT_NONE, GET_SAMPLE_FMT_NAME, ",")
AV_SAMPLE_FMT_NONE, GET_SAMPLE_FMT_NAME)
DEF_CHOOSE_FORMAT(int, sample_rate, supported_samplerates, 0,
GET_SAMPLE_RATE_NAME, ",")
GET_SAMPLE_RATE_NAME)
DEF_CHOOSE_FORMAT(uint64_t, channel_layout, channel_layouts, 0,
GET_CH_LAYOUT_NAME, ",")
GET_CH_LAYOUT_NAME)
FilterGraph *init_simple_filtergraph(InputStream *ist, OutputStream *ost)
{
FilterGraph *fg = av_mallocz(sizeof(*fg));
if (!fg)
exit(1);
exit_program(1);
fg->index = nb_filtergraphs;
GROW_ARRAY(fg->outputs, fg->nb_outputs);
if (!(fg->outputs[0] = av_mallocz(sizeof(*fg->outputs[0]))))
exit(1);
exit_program(1);
fg->outputs[0]->ost = ost;
fg->outputs[0]->graph = fg;
@@ -189,7 +195,7 @@ FilterGraph *init_simple_filtergraph(InputStream *ist, OutputStream *ost)
GROW_ARRAY(fg->inputs, fg->nb_inputs);
if (!(fg->inputs[0] = av_mallocz(sizeof(*fg->inputs[0]))))
exit(1);
exit_program(1);
fg->inputs[0]->ist = ist;
fg->inputs[0]->graph = fg;
@@ -212,7 +218,7 @@ static void init_input_filter(FilterGraph *fg, AVFilterInOut *in)
if (type != AVMEDIA_TYPE_VIDEO && type != AVMEDIA_TYPE_AUDIO) {
av_log(NULL, AV_LOG_FATAL, "Only video and audio filters supported "
"currently.\n");
exit(1);
exit_program(1);
}
if (in->name) {
@@ -224,7 +230,7 @@ static void init_input_filter(FilterGraph *fg, AVFilterInOut *in)
if (file_idx < 0 || file_idx >= nb_input_files) {
av_log(NULL, AV_LOG_FATAL, "Invalid file index %d in filtergraph description %s.\n",
file_idx, fg->graph_desc);
exit(1);
exit_program(1);
}
s = input_files[file_idx]->ctx;
@@ -242,7 +248,7 @@ static void init_input_filter(FilterGraph *fg, AVFilterInOut *in)
if (!st) {
av_log(NULL, AV_LOG_FATAL, "Stream specifier '%s' in filtergraph description %s "
"matches no streams.\n", p, fg->graph_desc);
exit(1);
exit_program(1);
}
ist = input_streams[input_files[file_idx]->ist_index + st->index];
} else {
@@ -256,7 +262,7 @@ static void init_input_filter(FilterGraph *fg, AVFilterInOut *in)
av_log(NULL, AV_LOG_FATAL, "Cannot find a matching stream for "
"unlabeled input pad %d on filter %s\n", in->pad_idx,
in->filter_ctx->name);
exit(1);
exit_program(1);
}
}
av_assert0(ist);
@@ -267,7 +273,7 @@ static void init_input_filter(FilterGraph *fg, AVFilterInOut *in)
GROW_ARRAY(fg->inputs, fg->nb_inputs);
if (!(fg->inputs[fg->nb_inputs - 1] = av_mallocz(sizeof(*fg->inputs[0]))))
exit(1);
exit_program(1);
fg->inputs[fg->nb_inputs - 1]->ist = ist;
fg->inputs[fg->nb_inputs - 1]->graph = fg;
@@ -275,22 +281,72 @@ 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(int64_t start_time, int64_t duration,
AVFilterContext **last_filter, int *pad_idx,
const char *filter_name)
{
AVFilterGraph *graph = (*last_filter)->graph;
AVFilterContext *ctx;
const AVFilter *trim;
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 (duration == INT64_MAX && start_time == AV_NOPTS_VALUE)
return 0;
trim = avfilter_get_by_name(name);
if (!trim) {
av_log(NULL, AV_LOG_ERROR, "%s filter not present, cannot limit "
"recording time.\n", name);
return AVERROR_FILTER_NOT_FOUND;
}
ctx = avfilter_graph_alloc_filter(graph, trim, filter_name);
if (!ctx)
return AVERROR(ENOMEM);
if (duration != INT64_MAX) {
ret = av_opt_set_int(ctx, "durationi", duration,
AV_OPT_SEARCH_CHILDREN);
}
if (ret >= 0 && start_time != AV_NOPTS_VALUE) {
ret = av_opt_set_int(ctx, "starti", start_time,
AV_OPT_SEARCH_CHILDREN);
}
if (ret < 0) {
av_log(ctx, AV_LOG_ERROR, "Error configuring the %s filter", name);
return ret;
}
ret = avfilter_init_str(ctx, NULL);
if (ret < 0)
return ret;
ret = avfilter_link(*last_filter, *pad_idx, ctx, 0);
if (ret < 0)
return ret;
*last_filter = ctx;
*pad_idx = 0;
return 0;
}
static int configure_output_video_filter(FilterGraph *fg, OutputFilter *ofilter, AVFilterInOut *out)
{
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;
int ret;
char name[255];
AVBufferSinkParams *buffersink_params = av_buffersink_params_alloc();
snprintf(name, sizeof(name), "output stream %d:%d", ost->file_index, ost->index);
ret = avfilter_graph_create_filter(&ofilter->filter,
avfilter_get_by_name("ffbuffersink"),
avfilter_get_by_name("buffersink"),
name, NULL, NULL, fg->graph);
av_freep(&buffersink_params);
if (ret < 0)
return ret;
@@ -299,7 +355,7 @@ static int configure_output_video_filter(FilterGraph *fg, OutputFilter *ofilter,
char args[255];
AVFilterContext *filter;
snprintf(args, sizeof(args), "%d:%d:flags=0x%X",
snprintf(args, sizeof(args), "%d:%d:0x%X",
codec->width,
codec->height,
(unsigned)ost->sws_flags);
@@ -319,17 +375,18 @@ static int configure_output_video_filter(FilterGraph *fg, OutputFilter *ofilter,
AVFilterContext *filter;
snprintf(name, sizeof(name), "pixel format for output stream %d:%d",
ost->file_index, ost->index);
if ((ret = avfilter_graph_create_filter(&filter,
ret = avfilter_graph_create_filter(&filter,
avfilter_get_by_name("format"),
"format", pix_fmts, NULL,
fg->graph)) < 0)
fg->graph);
av_freep(&pix_fmts);
if (ret < 0)
return ret;
if ((ret = avfilter_link(last_filter, pad_idx, filter, 0)) < 0)
return ret;
last_filter = filter;
pad_idx = 0;
av_freep(&pix_fmts);
}
if (ost->frame_rate.num && 0) {
@@ -352,6 +409,14 @@ static int configure_output_video_filter(FilterGraph *fg, OutputFilter *ofilter,
pad_idx = 0;
}
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;
if ((ret = avfilter_link(last_filter, pad_idx, ofilter->filter, 0)) < 0)
return ret;
@@ -361,6 +426,7 @@ 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;
int pad_idx = out->pad_idx;
@@ -368,13 +434,14 @@ static int configure_output_audio_filter(FilterGraph *fg, OutputFilter *ofilter,
char name[255];
int ret;
snprintf(name, sizeof(name), "output stream %d:%d", ost->file_index, ost->index);
ret = avfilter_graph_create_filter(&ofilter->filter,
avfilter_get_by_name("ffabuffersink"),
avfilter_get_by_name("abuffersink"),
name, NULL, NULL, fg->graph);
if (ret < 0)
return ret;
if ((ret = av_opt_set_int(ofilter->filter, "all_channel_counts", 1, AV_OPT_SEARCH_CHILDREN)) < 0)
return ret;
#define AUTO_INSERT_FILTER(opt_name, filter_name, arg) do { \
AVFilterContext *filt_ctx; \
@@ -457,6 +524,27 @@ static int configure_output_audio_filter(FilterGraph *fg, OutputFilter *ofilter,
AUTO_INSERT_FILTER("-vol", "volume", args);
}
if (ost->apad && of->shortest) {
char args[256];
int i;
for (i=0; i<of->ctx->nb_streams; i++)
if (of->ctx->streams[i]->codec->codec_type == AVMEDIA_TYPE_VIDEO)
break;
if (i<of->ctx->nb_streams) {
snprintf(args, sizeof(args), "%s", ost->apad);
AUTO_INSERT_FILTER("-apad", "apad", args);
}
}
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;
if ((ret = avfilter_link(last_filter, pad_idx, ofilter->filter, 0)) < 0)
return ret;
@@ -467,11 +555,11 @@ 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) \
exit(1); \
exit_program(1); \
\
avio_printf(pb, "%s", ctx->filter->name); \
if (nb_pads > 1) \
@@ -495,9 +583,7 @@ int configure_output_filter(FilterGraph *fg, OutputFilter *ofilter, AVFilterInOu
static int sub2video_prepare(InputStream *ist)
{
AVFormatContext *avf = input_files[ist->file_index]->ctx;
int i, ret, w, h;
uint8_t *image[4];
int linesize[4];
int i, w, h;
/* Compute the size of the canvas for the subtitles stream.
If the subtitles codec has set a size, use it. Otherwise use the
@@ -522,47 +608,37 @@ static int sub2video_prepare(InputStream *ist)
/* rectangles are AV_PIX_FMT_PAL8, but we have no guarantee that the
palettes for all rectangles are identical or compatible */
ist->st->codec->pix_fmt = AV_PIX_FMT_RGB32;
ist->resample_pix_fmt = ist->st->codec->pix_fmt = AV_PIX_FMT_RGB32;
ret = av_image_alloc(image, linesize, w, h, AV_PIX_FMT_RGB32, 32);
if (ret < 0)
return ret;
memset(image[0], 0, h * linesize[0]);
ist->sub2video.ref = avfilter_get_video_buffer_ref_from_arrays(
image, linesize, AV_PERM_READ | AV_PERM_PRESERVE,
w, h, AV_PIX_FMT_RGB32);
if (!ist->sub2video.ref) {
av_free(image[0]);
ist->sub2video.frame = av_frame_alloc();
if (!ist->sub2video.frame)
return AVERROR(ENOMEM);
}
return 0;
}
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.num ? ist->framerate :
ist->st->r_frame_rate;
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->framerate.num && ist->st->codec->ticks_per_frame>1) {
AVRational codec_fr = av_inv_q(ist->st->codec->time_base);
AVRational avg_fr = ist->st->avg_frame_rate;
codec_fr.den *= ist->st->codec->ticks_per_frame;
if ( codec_fr.num>0 && codec_fr.den>0 && av_q2d(codec_fr) < av_q2d(fr)*0.7
&& fabs(1.0 - av_q2d(av_div_q(avg_fr, fr)))>0.1)
fr = codec_fr;
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);
if (ist->st->codec->codec_type == AVMEDIA_TYPE_SUBTITLE) {
ret = sub2video_prepare(ist);
if (ret < 0)
@@ -586,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;
@@ -601,14 +678,37 @@ 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 ((ret = avfilter_link(ifilter->filter, 0, first_filter, pad_idx)) < 0)
if (do_deinterlace) {
AVFilterContext *yadif;
snprintf(name, sizeof(name), "deinterlace input from stream %d:%d",
ist->file_index, ist->st->index);
if ((ret = avfilter_graph_create_filter(&yadif,
avfilter_get_by_name("yadif"),
name, "", NULL,
fg->graph)) < 0)
return ret;
if ((ret = avfilter_link(last_filter, 0, yadif, 0)) < 0)
return ret;
last_filter = yadif;
}
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;
}
@@ -616,26 +716,37 @@ 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;
char args[255], name[255];
int ret;
InputFile *f = input_files[ist->file_index];
AVBPrint args;
char name[255];
int ret, pad_idx = 0;
snprintf(args, sizeof(args), "time_base=%d/%d:sample_rate=%d:sample_fmt=%s"
":channel_layout=0x%"PRIx64,
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",
1, ist->st->codec->sample_rate,
ist->st->codec->sample_rate,
av_get_sample_fmt_name(ist->st->codec->sample_fmt),
ist->st->codec->channel_layout);
av_get_sample_fmt_name(ist->st->codec->sample_fmt));
if (ist->st->codec->channel_layout)
av_bprintf(&args, ":channel_layout=0x%"PRIx64,
ist->st->codec->channel_layout);
else
av_bprintf(&args, ":channels=%d", ist->st->codec->channels);
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, args, NULL,
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; \
@@ -651,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) {
@@ -664,6 +775,8 @@ static int configure_input_audio_filter(FilterGraph *fg, InputFilter *ifilter,
av_strlcatf(args, sizeof(args), "async=%d", audio_sync_method);
if (audio_drift_threshold != 0.1)
av_strlcatf(args, sizeof(args), ":min_hard_comp=%f", audio_drift_threshold);
if (!fg->reconfiguration)
av_strlcatf(args, sizeof(args), ":first_pts=0");
AUTO_INSERT_FILTER_INPUT("-async", "aresample", args);
}
@@ -689,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;
@@ -721,20 +842,33 @@ int configure_filtergraph(FilterGraph *fg)
if (simple) {
OutputStream *ost = fg->outputs[0]->ost;
char args[255];
char args[512];
AVDictionaryEntry *e = NULL;
snprintf(args, sizeof(args), "flags=0x%X", (unsigned)ost->sws_flags);
fg->graph->scale_sws_opts = av_strdup(args);
args[0] = 0;
if (ost->swr_filter_type != SWR_FILTER_TYPE_KAISER)
av_strlcatf(args, sizeof(args), "filter_type=%d:", (int)ost->swr_filter_type);
if (ost->swr_dither_method)
av_strlcatf(args, sizeof(args), "dither_method=%d:", (int)ost->swr_dither_method);
if (ost->swr_dither_scale != 1.0)
av_strlcatf(args, sizeof(args), "dither_scale=%f:", ost->swr_dither_scale);
while ((e = av_dict_get(ost->swr_opts, "", e,
AV_DICT_IGNORE_SUFFIX))) {
av_strlcatf(args, sizeof(args), "%s=%s:", e->key, e->value);
}
if (strlen(args))
args[strlen(args)-1] = 0;
av_opt_set(fg->graph, "aresample_swr_opts", args, 0);
args[0] = '\0';
while ((e = av_dict_get(fg->outputs[0]->ost->resample_opts, "", e,
AV_DICT_IGNORE_SUFFIX))) {
av_strlcatf(args, sizeof(args), "%s=%s:", e->key, e->value);
}
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)
@@ -768,7 +902,7 @@ int configure_filtergraph(FilterGraph *fg)
for (cur = outputs; cur;) {
GROW_ARRAY(fg->outputs, fg->nb_outputs);
if (!(fg->outputs[fg->nb_outputs - 1] = av_mallocz(sizeof(*fg->outputs[0]))))
exit(1);
exit_program(1);
fg->outputs[fg->nb_outputs - 1]->graph = fg;
fg->outputs[fg->nb_outputs - 1]->out_tmp = cur;
cur = cur->next;
@@ -776,6 +910,7 @@ int configure_filtergraph(FilterGraph *fg)
}
}
fg->reconfiguration = 1;
return 0;
}
+529 -274
View File
File diff suppressed because it is too large Load Diff
+735 -505
View File
File diff suppressed because it is too large Load Diff
+474 -73
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"
@@ -52,10 +54,12 @@ static int do_count_frames = 0;
static int do_count_packets = 0;
static int do_read_frames = 0;
static int do_read_packets = 0;
static int do_show_chapters = 0;
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;
@@ -71,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
@@ -93,6 +108,9 @@ struct section {
typedef enum {
SECTION_ID_NONE = -1,
SECTION_ID_CHAPTER,
SECTION_ID_CHAPTER_TAGS,
SECTION_ID_CHAPTERS,
SECTION_ID_ERROR,
SECTION_ID_FORMAT,
SECTION_ID_FORMAT_TAGS,
@@ -104,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,
@@ -113,6 +138,9 @@ typedef enum {
} SectionID;
static struct section sections[] = {
[SECTION_ID_CHAPTERS] = { SECTION_ID_CHAPTERS, "chapters", SECTION_FLAG_IS_ARRAY, { SECTION_ID_CHAPTER, -1 } },
[SECTION_ID_CHAPTER] = { SECTION_ID_CHAPTER, "chapter", 0, { SECTION_ID_CHAPTER_TAGS, -1 } },
[SECTION_ID_CHAPTER_TAGS] = { SECTION_ID_CHAPTER_TAGS, "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name = "chapter_tags" },
[SECTION_ID_ERROR] = { SECTION_ID_ERROR, "error", 0, { -1 } },
[SECTION_ID_FORMAT] = { SECTION_ID_FORMAT, "format", 0, { SECTION_ID_FORMAT_TAGS, -1 } },
[SECTION_ID_FORMAT_TAGS] = { SECTION_ID_FORMAT_TAGS, "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name = "format_tags" },
@@ -124,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_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" },
@@ -152,7 +187,7 @@ static uint64_t *nb_streams_packets;
static uint64_t *nb_streams_frames;
static int *selected_streams;
static void exit_program(void)
static void ffprobe_cleanup(int ret)
{
int i;
for (i = 0; i < FF_ARRAY_ELEMS(sections); i++)
@@ -300,7 +335,7 @@ static int writer_open(WriterContext **wctx, const Writer *writer, const char *a
{
int i, ret = 0;
if (!(*wctx = av_malloc(sizeof(WriterContext)))) {
if (!(*wctx = av_mallocz(sizeof(WriterContext)))) {
ret = AVERROR(ENOMEM);
goto fail;
}
@@ -668,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
@@ -715,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)
@@ -734,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");
}
@@ -1472,11 +1520,11 @@ static void show_frame(WriterContext *w, AVFrame *frame, AVStream *stream,
print_time("pkt_pts_time", frame->pkt_pts, &stream->time_base);
print_ts ("pkt_dts", frame->pkt_dts);
print_time("pkt_dts_time", frame->pkt_dts, &stream->time_base);
print_duration_ts ("pkt_duration", frame->pkt_duration);
print_duration_time("pkt_duration_time", frame->pkt_duration, &stream->time_base);
if (frame->pkt_pos != -1) print_fmt ("pkt_pos", "%"PRId64, frame->pkt_pos);
print_duration_ts ("pkt_duration", av_frame_get_pkt_duration(frame));
print_duration_time("pkt_duration_time", av_frame_get_pkt_duration(frame), &stream->time_base);
if (av_frame_get_pkt_pos (frame) != -1) print_fmt ("pkt_pos", "%"PRId64, av_frame_get_pkt_pos(frame));
else print_str_opt("pkt_pos", "N/A");
if (frame->pkt_size != -1) print_fmt ("pkt_size", "%d", av_frame_get_pkt_size(frame));
if (av_frame_get_pkt_size(frame) != -1) print_fmt ("pkt_size", "%d", av_frame_get_pkt_size(frame));
else print_str_opt("pkt_size", "N/A");
switch (stream->codec->codec_type) {
@@ -1500,7 +1548,6 @@ static void show_frame(WriterContext *w, AVFrame *frame, AVStream *stream,
print_int("interlaced_frame", frame->interlaced_frame);
print_int("top_field_first", frame->top_field_first);
print_int("repeat_pict", frame->repeat_pict);
print_int("reference", frame->reference);
break;
case AVMEDIA_TYPE_AUDIO:
@@ -1559,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++);
@@ -1590,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;
@@ -1604,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);
@@ -1675,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");
@@ -1720,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");
@@ -1735,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);
@@ -1748,7 +1916,68 @@ 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);
}
static void show_chapters(WriterContext *w, AVFormatContext *fmt_ctx)
{
int i;
writer_print_section_header(w, SECTION_ID_CHAPTERS);
for (i = 0; i < fmt_ctx->nb_chapters; i++) {
AVChapter *chapter = fmt_ctx->chapters[i];
writer_print_section_header(w, SECTION_ID_CHAPTER);
print_int("id", chapter->id);
print_q ("time_base", chapter->time_base, '/');
print_int("start", chapter->start);
print_time("start_time", chapter->start, &chapter->time_base);
print_int("end", chapter->end);
print_time("end_time", chapter->end, &chapter->time_base);
show_tags(w, chapter->metadata, SECTION_ID_CHAPTER_TAGS);
writer_print_section_footer(w);
}
writer_print_section_footer(w);
}
@@ -1760,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);
@@ -1771,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);
@@ -1793,9 +2024,10 @@ static void show_error(WriterContext *w, int err)
static int open_input_file(AVFormatContext **fmt_ctx_ptr, const char *filename)
{
int err, i;
int err, i, orig_nb_streams;
AVFormatContext *fmt_ctx = NULL;
AVDictionaryEntry *t;
AVDictionary **opts;
if ((err = avformat_open_input(&fmt_ctx, filename,
iformat, &format_opts)) < 0) {
@@ -1807,12 +2039,17 @@ static int open_input_file(AVFormatContext **fmt_ctx_ptr, const char *filename)
return AVERROR_OPTION_NOT_FOUND;
}
/* fill the streams in the format context */
if ((err = avformat_find_stream_info(fmt_ctx, NULL)) < 0) {
opts = setup_find_stream_info_opts(fmt_ctx, codec_opts);
orig_nb_streams = fmt_ctx->nb_streams;
if ((err = avformat_find_stream_info(fmt_ctx, opts)) < 0) {
print_error(filename, err);
return err;
}
for (i = 0; i < orig_nb_streams; i++)
av_dict_free(&opts[i]);
av_freep(&opts);
av_dump_format(fmt_ctx, 0, filename, 0);
@@ -1822,16 +2059,25 @@ 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 if (avcodec_open2(stream->codec, codec, NULL) < 0) {
av_log(NULL, AV_LOG_ERROR, "Error while opening codec for input stream %d\n",
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_WARNING, "Could not open codec for input stream %d\n",
stream->index);
}
if ((t = av_dict_get(opts, "", NULL, AV_DICT_IGNORE_SUFFIX))) {
av_log(NULL, AV_LOG_ERROR, "Option %s for input stream %d not found\n",
t->key, stream->index);
return AVERROR_OPTION_NOT_FOUND;
}
}
}
@@ -1862,50 +2108,57 @@ static int probe_file(WriterContext *wctx, const char *filename)
do_read_packets = do_show_packets || do_count_packets;
ret = open_input_file(&fmt_ctx, filename);
if (ret >= 0) {
nb_streams_frames = av_calloc(fmt_ctx->nb_streams, sizeof(*nb_streams_frames));
nb_streams_packets = av_calloc(fmt_ctx->nb_streams, sizeof(*nb_streams_packets));
selected_streams = av_calloc(fmt_ctx->nb_streams, sizeof(*selected_streams));
if (ret < 0)
return ret;
for (i = 0; i < fmt_ctx->nb_streams; i++) {
if (stream_specifier) {
ret = avformat_match_stream_specifier(fmt_ctx,
fmt_ctx->streams[i],
stream_specifier);
if (ret < 0)
goto end;
else
selected_streams[i] = ret;
} else {
selected_streams[i] = 1;
}
nb_streams_frames = av_calloc(fmt_ctx->nb_streams, sizeof(*nb_streams_frames));
nb_streams_packets = av_calloc(fmt_ctx->nb_streams, sizeof(*nb_streams_packets));
selected_streams = av_calloc(fmt_ctx->nb_streams, sizeof(*selected_streams));
for (i = 0; i < fmt_ctx->nb_streams; i++) {
if (stream_specifier) {
ret = avformat_match_stream_specifier(fmt_ctx,
fmt_ctx->streams[i],
stream_specifier);
if (ret < 0)
goto end;
else
selected_streams[i] = ret;
ret = 0;
} else {
selected_streams[i] = 1;
}
if (do_read_frames || do_read_packets) {
if (do_show_frames && do_show_packets &&
wctx->writer->flags & WRITER_FLAG_PUT_PACKETS_AND_FRAMES_IN_SAME_CHAPTER)
section_id = SECTION_ID_PACKETS_AND_FRAMES;
else if (do_show_packets && !do_show_frames)
section_id = SECTION_ID_PACKETS;
else // (!do_show_packets && do_show_frames)
section_id = SECTION_ID_FRAMES;
if (do_show_frames || do_show_packets)
writer_print_section_header(wctx, section_id);
read_packets(wctx, fmt_ctx);
if (do_show_frames || do_show_packets)
writer_print_section_footer(wctx);
}
if (do_show_streams)
show_streams(wctx, fmt_ctx);
if (do_show_format)
show_format(wctx, fmt_ctx);
end:
close_input_file(&fmt_ctx);
av_freep(&nb_streams_frames);
av_freep(&nb_streams_packets);
av_freep(&selected_streams);
}
if (do_read_frames || do_read_packets) {
if (do_show_frames && do_show_packets &&
wctx->writer->flags & WRITER_FLAG_PUT_PACKETS_AND_FRAMES_IN_SAME_CHAPTER)
section_id = SECTION_ID_PACKETS_AND_FRAMES;
else if (do_show_packets && !do_show_frames)
section_id = SECTION_ID_PACKETS;
else // (!do_show_packets && do_show_frames)
section_id = SECTION_ID_FRAMES;
if (do_show_frames || do_show_packets)
writer_print_section_header(wctx, section_id);
read_packets(wctx, fmt_ctx);
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)
show_chapters(wctx, fmt_ctx);
if (do_show_format)
show_format(wctx, fmt_ctx);
end:
close_input_file(&fmt_ctx);
av_freep(&nb_streams_frames);
av_freep(&nb_streams_packets);
av_freep(&selected_streams);
return ret;
}
@@ -2076,7 +2329,7 @@ static void opt_input_file(void *optctx, const char *arg)
av_log(NULL, AV_LOG_ERROR,
"Argument '%s' provided as input filename, but '%s' was already specified.\n",
arg, input_filename);
exit(1);
exit_program(1);
}
if (!strcmp(arg, "-"))
arg = "pipe:";
@@ -2099,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;
@@ -2151,6 +2543,7 @@ static int opt_show_versions(const char *opt, const char *arg)
return 0; \
}
DEFINE_OPT_SHOW_SECTION(chapters, CHAPTERS);
DEFINE_OPT_SHOW_SECTION(error, ERROR);
DEFINE_OPT_SHOW_SECTION(format, FORMAT);
DEFINE_OPT_SHOW_SECTION(frames, FRAMES);
@@ -2158,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"
@@ -2184,7 +2578,9 @@ 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" },
{ "count_packets", OPT_BOOL, {(void*)&do_count_packets}, "count the number of packets per stream" },
{ "show_program_version", 0, {(void*)&opt_show_program_version}, "show ffprobe version" },
@@ -2193,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, },
@@ -2224,7 +2621,7 @@ int main(int argc, char **argv)
int ret, i;
av_log_set_flags(AV_LOG_SKIP_REPEATED);
atexit(exit_program);
register_exit(ffprobe_cleanup);
options = real_options;
parse_loglevel(argc, argv, options);
@@ -2239,14 +2636,17 @@ int main(int argc, char **argv)
parse_options(NULL, argc, argv, options, opt_input_file);
/* mark things to show, based on -show_entries */
SET_DO_SHOW(CHAPTERS, chapters);
SET_DO_SHOW(ERROR, error);
SET_DO_SHOW(FORMAT, format);
SET_DO_SHOW(FRAMES, frames);
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,
@@ -2284,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_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");
@@ -2302,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++)
@@ -2309,5 +2710,5 @@ end:
avformat_network_deinit();
return ret;
return ret < 0;
}
+39 -59
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"
@@ -308,7 +307,7 @@ static int rtp_new_av_stream(HTTPContext *c,
static const char *my_program_name;
static const char *config_filename = "/etc/ffserver.conf";
static const char *config_filename;
static int ffserver_debug;
static int no_launch;
@@ -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];
@@ -396,14 +403,14 @@ static int resolve_host(struct in_addr *sin_addr, const char *hostname)
return 0;
}
static char *ctime1(char *buf2)
static char *ctime1(char *buf2, int buf_size)
{
time_t ti;
char *p;
ti = time(NULL);
p = ctime(&ti);
strcpy(buf2, p);
av_strlcpy(buf2, p, buf_size);
p = buf2 + strlen(p) - 1;
if (*p == '\n')
*p = '\0';
@@ -416,7 +423,7 @@ static void http_vlog(const char *fmt, va_list vargs)
if (logfile) {
if (print_prefix) {
char buf[32];
ctime1(buf);
ctime1(buf, sizeof(buf));
fprintf(logfile, "%s ", buf);
}
print_prefix = strstr(fmt, "\n") != NULL;
@@ -1125,7 +1132,7 @@ static int extract_rates(char *rates, int ratelen, const char *request)
if (av_strncasecmp(p, "Pragma:", 7) == 0) {
const char *q = p + 7;
while (*q && *q != '\n' && isspace(*q))
while (*q && *q != '\n' && av_isspace(*q))
q++;
if (av_strncasecmp(q, "stream-switch-entry=", 20) == 0) {
@@ -1147,7 +1154,7 @@ static int extract_rates(char *rates, int ratelen, const char *request)
if (stream_no < ratelen && stream_no >= 0)
rates[stream_no] = rate_no;
while (*q && *q != '\n' && !isspace(*q))
while (*q && *q != '\n' && !av_isspace(*q))
q++;
}
@@ -1258,7 +1265,7 @@ static void get_word(char *buf, int buf_size, const char **pp)
p = *pp;
skip_spaces(&p);
q = buf;
while (!isspace(*p) && *p != '\0') {
while (!av_isspace(*p) && *p != '\0') {
if ((q - buf) < buf_size - 1)
*q++ = *p;
p++;
@@ -1275,7 +1282,7 @@ static void get_arg(char *buf, int buf_size, const char **pp)
int quote;
p = *pp;
while (isspace(*p)) p++;
while (av_isspace(*p)) p++;
q = buf;
quote = 0;
if (*p == '\"' || *p == '\'')
@@ -1285,7 +1292,7 @@ static void get_arg(char *buf, int buf_size, const char **pp)
if (*p == quote)
break;
} else {
if (isspace(*p))
if (av_isspace(*p))
break;
}
if (*p == '\0')
@@ -1389,7 +1396,7 @@ static IPAddressACL* parse_dynamic_acl(FFStream *stream, HTTPContext *c)
break;
line_num++;
p = line;
while (isspace(*p))
while (av_isspace(*p))
p++;
if (*p == '\0' || *p == '#')
continue;
@@ -1540,7 +1547,7 @@ static int http_parse_request(HTTPContext *c)
for (p = c->buffer; *p && *p != '\r' && *p != '\n'; ) {
if (av_strncasecmp(p, "User-Agent:", 11) == 0) {
useragent = p + 11;
if (*useragent && *useragent != '\n' && isspace(*useragent))
if (*useragent && *useragent != '\n' && av_isspace(*useragent))
useragent++;
break;
}
@@ -1668,7 +1675,7 @@ static int http_parse_request(HTTPContext *c)
char *eoh;
char hostbuf[260];
while (isspace(*hostinfo))
while (av_isspace(*hostinfo))
hostinfo++;
eoh = strchr(hostinfo, '\n');
@@ -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,32 +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);
}
init_func();
}
#endif
static int ffserver_opt_default(const char *opt, const char *arg,
AVCodecContext *avctx, int type)
{
@@ -4100,7 +4082,7 @@ static int parse_ffconfig(const char *filename)
break;
line_num++;
p = line;
while (isspace(*p))
while (av_isspace(*p))
p++;
if (*p == '\0' || *p == '#')
continue;
@@ -4151,7 +4133,7 @@ static int parse_ffconfig(const char *filename)
} else if (!av_strcasecmp(cmd, "MaxBandwidth")) {
int64_t llval;
get_arg(arg, sizeof(arg), &p);
llval = atoll(arg);
llval = strtoll(arg, NULL, 10);
if (llval < 10 || llval > 10000000) {
ERROR("Invalid MaxBandwidth: %s\n", arg);
} else
@@ -4237,7 +4219,7 @@ static int parse_ffconfig(const char *filename)
get_arg(arg, sizeof(arg), &p);
p1 = arg;
fsize = strtod(p1, &p1);
switch(toupper(*p1)) {
switch(av_toupper(*p1)) {
case 'K':
fsize *= 1024;
break;
@@ -4453,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)
@@ -4545,14 +4535,6 @@ static int parse_ffconfig(const char *filename)
ERROR("VideoQMin out of range\n");
}
}
} else if (!av_strcasecmp(cmd, "LumaElim")) {
get_arg(arg, sizeof(arg), &p);
if (stream)
video_enc.luma_elim_threshold = atoi(arg);
} else if (!av_strcasecmp(cmd, "ChromaElim")) {
get_arg(arg, sizeof(arg), &p);
if (stream)
video_enc.chroma_elim_threshold = atoi(arg);
} else if (!av_strcasecmp(cmd, "LumiMask")) {
get_arg(arg, sizeof(arg), &p);
if (stream)
@@ -4644,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);
}
@@ -4714,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();
@@ -4736,6 +4715,7 @@ int main(int argc, char **argv)
fprintf(stderr, "Incorrect config file - exiting.\n");
exit(1);
}
av_freep(&config_filename);
/* open log file if needed */
if (logfilename[0] != '\0') {
+16 -29
View File
@@ -26,47 +26,46 @@
static av_cold int zero12v_decode_init(AVCodecContext *avctx)
{
avctx->pix_fmt = PIX_FMT_YUV422P16;
avctx->pix_fmt = AV_PIX_FMT_YUV422P16;
avctx->bits_per_raw_sample = 10;
avctx->coded_frame = avcodec_alloc_frame();
if (!avctx->coded_frame)
return AVERROR(ENOMEM);
if (avctx->codec_tag == MKTAG('a', '1', '2', 'v'))
av_log_ask_for_sample(avctx, "Samples with actual transparency needed\n");
avpriv_request_sample(avctx, "transparency");
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
avctx->coded_frame->key_frame = 1;
return 0;
}
static int zero12v_decode_frame(AVCodecContext *avctx, void *data,
int *got_frame, AVPacket *avpkt)
{
int line = 0;
int line = 0, ret;
const int width = avctx->width;
AVFrame *pic = avctx->coded_frame;
AVFrame *pic = data;
uint16_t *y, *u, *v;
const uint8_t *line_end, *src = avpkt->data;
int stride = avctx->width * 8 / 3;
if (pic->data[0])
avctx->release_buffer(avctx, pic);
if (width == 1) {
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);
return AVERROR_INVALIDDATA;
}
pic->reference = 0;
if (ff_get_buffer(avctx, pic) < 0)
return AVERROR_INVALIDDATA;;
if ((ret = ff_get_buffer(avctx, pic, 0)) < 0)
return ret;
pic->pict_type = AV_PICTURE_TYPE_I;
pic->key_frame = 1;
y = (uint16_t *)pic->data[0];
u = (uint16_t *)pic->data[1];
@@ -145,28 +144,16 @@ static int zero12v_decode_frame(AVCodecContext *avctx, void *data,
}
*got_frame = 1;
*(AVFrame*)data= *avctx->coded_frame;
return avpkt->size;
}
static av_cold int zero12v_decode_close(AVCodecContext *avctx)
{
AVFrame *pic = avctx->coded_frame;
if (pic->data[0])
avctx->release_buffer(avctx, pic);
av_freep(&avctx->coded_frame);
return 0;
}
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,
.close = zero12v_decode_close,
.decode = zero12v_decode_frame,
.capabilities = CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
};
+185 -153
View File
@@ -24,6 +24,8 @@
* 4XM codec.
*/
#include "libavutil/avassert.h"
#include "libavutil/frame.h"
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "bytestream.h"
@@ -31,7 +33,6 @@
#include "get_bits.h"
#include "internal.h"
#include "libavutil/avassert.h"
#define BLOCK_TYPE_VLC_BITS 5
#define ACDC_VLC_BITS 9
@@ -130,7 +131,7 @@ typedef struct CFrameBuffer {
typedef struct FourXContext {
AVCodecContext *avctx;
DSPContext dsp;
AVFrame current_picture, last_picture;
AVFrame *current_picture, *last_picture;
GetBitContext pre_gb; ///< ac/dc prefix
GetBitContext gb;
GetByteContext g;
@@ -138,7 +139,7 @@ typedef struct FourXContext {
int mv[256];
VLC pre_vlc;
int last_dc;
DECLARE_ALIGNED(16, DCTELEM, block)[6][64];
DECLARE_ALIGNED(16, int16_t, block)[6][64];
void *bitstream_buffer;
unsigned int bitstream_buffer_size;
int version;
@@ -153,7 +154,7 @@ typedef struct FourXContext {
#define MULTIPLY(var, const) (((var) * (const)) >> 16)
static void idct(DCTELEM block[64])
static void idct(int16_t block[64])
{
int tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7;
int tmp10, tmp11, tmp12, tmp13;
@@ -255,15 +256,15 @@ static av_cold void init_vlcs(FourXContext *f)
}
}
static void init_mv(FourXContext *f)
static void init_mv(FourXContext *f, int linesize)
{
int i;
for (i = 0; i < 256; i++) {
if (f->version > 1)
f->mv[i] = mv[i][0] + mv[i][1] * f->current_picture.linesize[0] / 2;
f->mv[i] = mv[i][0] + mv[i][1] * linesize / 2;
else
f->mv[i] = (i & 15) - 8 + ((i >> 4) - 8) * f->current_picture.linesize[0] / 2;
f->mv[i] = (i & 15) - 8 + ((i >> 4) - 8) * linesize / 2;
}
}
@@ -328,71 +329,44 @@ static inline void mcdc(uint16_t *dst, const uint16_t *src, int log2w,
}
break;
default:
av_assert2(0);
av_assert0(0);
}
}
static void decode_p_block(FourXContext *f, uint16_t *dst, uint16_t *src,
int log2w, int log2h, int stride)
static int decode_p_block(FourXContext *f, uint16_t *dst, uint16_t *src,
int log2w, int log2h, int stride)
{
const int index = size2index[log2h][log2w];
const int h = 1 << log2h;
int code = get_vlc2(&f->gb,
block_type_vlc[1 - (f->version > 1)][index].table,
BLOCK_TYPE_VLC_BITS, 1);
uint16_t *start = (uint16_t *)f->last_picture.data[0];
uint16_t *start = (uint16_t *)f->last_picture->data[0];
uint16_t *end = start + stride * (f->avctx->height - h + 1) - (1 << log2w);
int ret;
int scale = 1;
unsigned dc = 0;
av_assert2(code >= 0 && code <= 6);
av_assert0(code >= 0 && code <= 6 && log2w >= 0);
if (code == 0) {
if (bytestream2_get_bytes_left(&f->g) < 1) {
av_log(f->avctx, AV_LOG_ERROR, "bytestream overread\n");
return;
}
src += f->mv[bytestream2_get_byteu(&f->g)];
if (start > src || src > end) {
av_log(f->avctx, AV_LOG_ERROR, "mv out of pic\n");
return;
}
mcdc(dst, src, log2w, h, stride, 1, 0);
} else if (code == 1) {
if (code == 1) {
log2h--;
decode_p_block(f, dst, src, log2w, log2h, stride);
decode_p_block(f, dst + (stride << log2h),
src + (stride << log2h), log2w, log2h, stride);
if ((ret = decode_p_block(f, dst, src, log2w, log2h, stride)) < 0)
return ret;
return decode_p_block(f, dst + (stride << log2h),
src + (stride << log2h),
log2w, log2h, stride);
} else if (code == 2) {
log2w--;
decode_p_block(f, dst , src, log2w, log2h, stride);
decode_p_block(f, dst + (1 << log2w),
src + (1 << log2w), log2w, log2h, stride);
} else if (code == 3 && f->version < 2) {
mcdc(dst, src, log2w, h, stride, 1, 0);
} else if (code == 4) {
if (bytestream2_get_bytes_left(&f->g) < 1) {
av_log(f->avctx, AV_LOG_ERROR, "bytestream overread\n");
return;
}
src += f->mv[bytestream2_get_byteu(&f->g)];
if (start > src || src > end) {
av_log(f->avctx, AV_LOG_ERROR, "mv out of pic\n");
return;
}
if (bytestream2_get_bytes_left(&f->g2) < 2){
av_log(f->avctx, AV_LOG_ERROR, "wordstream overread\n");
return;
}
mcdc(dst, src, log2w, h, stride, 1, bytestream2_get_le16u(&f->g2));
} else if (code == 5) {
if (bytestream2_get_bytes_left(&f->g2) < 2) {
av_log(f->avctx, AV_LOG_ERROR, "wordstream overread\n");
return;
}
mcdc(dst, src, log2w, h, stride, 0, bytestream2_get_le16u(&f->g2));
if ((ret = decode_p_block(f, dst , src, log2w, log2h, stride)) < 0)
return ret;
return decode_p_block(f, dst + (1 << log2w),
src + (1 << log2w),
log2w, log2h, stride);
} else if (code == 6) {
if (bytestream2_get_bytes_left(&f->g2) < 4) {
av_log(f->avctx, AV_LOG_ERROR, "wordstream overread\n");
return;
return AVERROR_INVALIDDATA;
}
if (log2w) {
dst[0] = bytestream2_get_le16u(&f->g2);
@@ -401,24 +375,73 @@ static void decode_p_block(FourXContext *f, uint16_t *dst, uint16_t *src,
dst[0] = bytestream2_get_le16u(&f->g2);
dst[stride] = bytestream2_get_le16u(&f->g2);
}
return 0;
}
if ((code&3)==0 && bytestream2_get_bytes_left(&f->g) < 1) {
av_log(f->avctx, AV_LOG_ERROR, "bytestream overread\n");
return AVERROR_INVALIDDATA;
}
if (code == 0) {
src += f->mv[bytestream2_get_byte(&f->g)];
} else if (code == 3 && f->version >= 2) {
return 0;
} else if (code == 4) {
src += f->mv[bytestream2_get_byte(&f->g)];
if (bytestream2_get_bytes_left(&f->g2) < 2){
av_log(f->avctx, AV_LOG_ERROR, "wordstream overread\n");
return AVERROR_INVALIDDATA;
}
dc = bytestream2_get_le16(&f->g2);
} else if (code == 5) {
if (bytestream2_get_bytes_left(&f->g2) < 2){
av_log(f->avctx, AV_LOG_ERROR, "wordstream overread\n");
return AVERROR_INVALIDDATA;
}
av_assert0(start <= src && src <= end);
scale = 0;
dc = bytestream2_get_le16(&f->g2);
}
if (start > src || src > end) {
av_log(f->avctx, AV_LOG_ERROR, "mv out of pic\n");
return AVERROR_INVALIDDATA;
}
mcdc(dst, src, log2w, h, stride, scale, dc);
return 0;
}
static int decode_p_frame(FourXContext *f, const uint8_t *buf, int length)
static int decode_p_frame(FourXContext *f, AVFrame *frame,
const uint8_t *buf, int length)
{
int x, y;
const int width = f->avctx->width;
const int height = f->avctx->height;
uint16_t *src = (uint16_t *)f->last_picture.data[0];
uint16_t *dst = (uint16_t *)f->current_picture.data[0];
const int stride = f->current_picture.linesize[0] >> 1;
uint16_t *dst = (uint16_t *)frame->data[0];
const int stride = frame->linesize[0] >> 1;
uint16_t *src;
unsigned int bitstream_size, bytestream_size, wordstream_size, extra,
bytestream_offset, wordstream_offset;
int ret;
if (!f->last_picture->data[0]) {
if ((ret = ff_get_buffer(f->avctx, f->last_picture,
AV_GET_BUFFER_FLAG_REF)) < 0) {
return ret;
}
for (y=0; y<f->avctx->height; y++)
memset(f->last_picture->data[0] + y*f->last_picture->linesize[0], 0, 2*f->avctx->width);
}
src = (uint16_t *)f->last_picture->data[0];
if (f->version > 1) {
extra = 20;
if (length < extra)
return -1;
return AVERROR_INVALIDDATA;
bitstream_size = AV_RL32(buf + 8);
wordstream_size = AV_RL32(buf + 12);
bytestream_size = AV_RL32(buf + 16);
@@ -435,7 +458,7 @@ static int decode_p_frame(FourXContext *f, const uint8_t *buf, int length)
extra > length - bytestream_size - bitstream_size - wordstream_size) {
av_log(f->avctx, AV_LOG_ERROR, "lengths %d %d %d %d\n", bitstream_size, bytestream_size, wordstream_size,
bitstream_size+ bytestream_size+ wordstream_size - length);
return -1;
return AVERROR_INVALIDDATA;
}
av_fast_malloc(&f->bitstream_buffer, &f->bitstream_buffer_size,
@@ -455,11 +478,12 @@ static int decode_p_frame(FourXContext *f, const uint8_t *buf, int length)
bytestream2_init(&f->g, buf + bytestream_offset,
length - bytestream_offset);
init_mv(f);
init_mv(f, frame->linesize[0]);
for (y = 0; y < height; y += 8) {
for (x = 0; x < width; x += 8)
decode_p_block(f, dst + x, src + x, 3, 3, stride);
if ((ret = decode_p_block(f, dst + x, src + x, 3, 3, stride)) < 0)
return ret;
src += 8 * stride;
dst += 8 * stride;
}
@@ -471,7 +495,7 @@ static int decode_p_frame(FourXContext *f, const uint8_t *buf, int length)
* decode block and dequantize.
* Note this is almost identical to MJPEG.
*/
static int decode_i_block(FourXContext *f, DCTELEM *block)
static int decode_i_block(FourXContext *f, int16_t *block)
{
int code, i, j, level, val;
@@ -482,8 +506,10 @@ static int decode_i_block(FourXContext *f, DCTELEM *block)
/* DC coef */
val = get_vlc2(&f->pre_gb, f->pre_vlc.table, ACDC_VLC_BITS, 3);
if (val >> 4)
if (val >> 4) {
av_log(f->avctx, AV_LOG_ERROR, "error dc run != 0\n");
return AVERROR_INVALIDDATA;
}
if (val)
val = get_xbits(&f->gb, val);
@@ -501,7 +527,12 @@ static int decode_i_block(FourXContext *f, DCTELEM *block)
if (code == 0xf0) {
i += 16;
} else {
level = get_xbits(&f->gb, code & 0xf);
if (code & 0xf) {
level = get_xbits(&f->gb, code & 0xf);
} else {
av_log(f->avctx, AV_LOG_ERROR, "0 coeff\n");
return AVERROR_INVALIDDATA;
}
i += code >> 4;
if (i >= 64) {
av_log(f->avctx, AV_LOG_ERROR, "run %d oveflow\n", i);
@@ -519,12 +550,12 @@ static int decode_i_block(FourXContext *f, DCTELEM *block)
return 0;
}
static inline void idct_put(FourXContext *f, int x, int y)
static inline void idct_put(FourXContext *f, AVFrame *frame, int x, int y)
{
DCTELEM (*block)[64] = f->block;
int stride = f->current_picture.linesize[0] >> 1;
int16_t (*block)[64] = f->block;
int stride = frame->linesize[0] >> 1;
int i;
uint16_t *dst = ((uint16_t*)f->current_picture.data[0]) + y * stride + x;
uint16_t *dst = ((uint16_t*)frame->data[0]) + y * stride + x;
for (i = 0; i < 4; i++) {
block[i][0] += 0x80 * 8 * 8;
@@ -542,7 +573,7 @@ static inline void idct_put(FourXContext *f, int x, int y)
* cr = (-1b - 4g + 5r) / 14 */
for (y = 0; y < 8; y++) {
for (x = 0; x < 8; x++) {
DCTELEM *temp = block[(x >> 2) + 2 * (y >> 2)] +
int16_t *temp = block[(x >> 2) + 2 * (y >> 2)] +
2 * (x & 3) + 2 * 8 * (y & 3); // FIXME optimize
int cb = block[4][x + 8 * y];
int cr = block[5][x + 8 * y];
@@ -567,19 +598,21 @@ static inline void idct_put(FourXContext *f, int x, int y)
static int decode_i_mb(FourXContext *f)
{
int ret;
int i;
f->dsp.clear_blocks(f->block[0]);
for (i = 0; i < 6; i++)
if (decode_i_block(f, f->block[i]) < 0)
return -1;
if ((ret = decode_i_block(f, f->block[i])) < 0)
return ret;
return 0;
}
static const uint8_t *read_huffman_tables(FourXContext *f,
const uint8_t * const buf, int buf_size)
const uint8_t * const buf,
int buf_size)
{
int frequency[512] = { 0 };
uint8_t flag[512];
@@ -598,8 +631,11 @@ static const uint8_t *read_huffman_tables(FourXContext *f,
for (;;) {
int i;
if (start <= end && ptr_end - ptr < end - start + 1 + 1)
if (ptr_end - ptr < FFMAX(end - start + 1, 0) + 1) {
av_log(f->avctx, AV_LOG_ERROR, "invalid data in read_huffman_tables\n");
return NULL;
}
for (i = start; i <= end; i++)
frequency[i] = *ptr++;
start = *ptr++;
@@ -613,6 +649,11 @@ static const uint8_t *read_huffman_tables(FourXContext *f,
while ((ptr - buf) & 3)
ptr++; // 4byte align
if (ptr > ptr_end) {
av_log(f->avctx, AV_LOG_ERROR, "ptr overflow in read_huffman_tables\n");
return NULL;
}
for (j = 257; j < 512; j++) {
int min_freq[2] = { 256 * 256, 256 * 256 };
int smallest[2] = { 0, 0 };
@@ -674,14 +715,14 @@ static int mix(int c0, int c1)
return red / 3 * 1024 + green / 3 * 32 + blue / 3;
}
static int decode_i2_frame(FourXContext *f, const uint8_t *buf, int length)
static int decode_i2_frame(FourXContext *f, AVFrame *frame, const uint8_t *buf, int length)
{
int x, y, x2, y2;
const int width = f->avctx->width;
const int height = f->avctx->height;
const int mbs = (FFALIGN(width, 16) >> 4) * (FFALIGN(height, 16) >> 4);
uint16_t *dst = (uint16_t*)f->current_picture.data[0];
const int stride = f->current_picture.linesize[0]>>1;
uint16_t *dst = (uint16_t*)frame->data[0];
const int stride = frame->linesize[0]>>1;
const uint8_t *buf_end = buf + length;
GetByteContext g3;
@@ -701,9 +742,9 @@ static int decode_i2_frame(FourXContext *f, const uint8_t *buf, int length)
color[1] = bytestream2_get_le16u(&g3);
if (color[0] & 0x8000)
av_log(NULL, AV_LOG_ERROR, "unk bit 1\n");
av_log(f->avctx, AV_LOG_ERROR, "unk bit 1\n");
if (color[1] & 0x8000)
av_log(NULL, AV_LOG_ERROR, "unk bit 2\n");
av_log(f->avctx, AV_LOG_ERROR, "unk bit 2\n");
color[2] = mix(color[0], color[1]);
color[3] = mix(color[1], color[0]);
@@ -723,16 +764,19 @@ static int decode_i2_frame(FourXContext *f, const uint8_t *buf, int length)
return 0;
}
static int decode_i_frame(FourXContext *f, const uint8_t *buf, int length)
static int decode_i_frame(FourXContext *f, AVFrame *frame, const uint8_t *buf, int length)
{
int x, y;
int x, y, ret;
const int width = f->avctx->width;
const int height = f->avctx->height;
const unsigned int bitstream_size = AV_RL32(buf);
unsigned int prestream_size;
const uint8_t *prestream;
if (bitstream_size > (1<<26) || length < bitstream_size + 12) {
if (bitstream_size > (1 << 26))
return AVERROR_INVALIDDATA;
if (length < bitstream_size + 12) {
av_log(f->avctx, AV_LOG_ERROR, "packet size too small\n");
return AVERROR_INVALIDDATA;
}
@@ -741,16 +785,19 @@ static int decode_i_frame(FourXContext *f, const uint8_t *buf, int length)
prestream = buf + bitstream_size + 12;
if (prestream_size + bitstream_size + 12 != length
|| bitstream_size > (1 << 26)
|| prestream_size > (1 << 26)) {
av_log(f->avctx, AV_LOG_ERROR, "size mismatch %d %d %d\n",
prestream_size, bitstream_size, length);
return -1;
return AVERROR_INVALIDDATA;
}
prestream = read_huffman_tables(f, prestream, buf + length - prestream);
if (!prestream)
return -1;
prestream = read_huffman_tables(f, prestream, prestream_size);
if (!prestream) {
av_log(f->avctx, AV_LOG_ERROR, "Error reading Huffman tables.\n");
return AVERROR_INVALIDDATA;
}
av_assert0(prestream <= buf + length);
init_get_bits(&f->gb, buf + 4, 8 * bitstream_size);
@@ -770,10 +817,10 @@ static int decode_i_frame(FourXContext *f, const uint8_t *buf, int length)
for (y = 0; y < height; y += 16) {
for (x = 0; x < width; x += 16) {
if (decode_i_mb(f) < 0)
return -1;
if ((ret = decode_i_mb(f)) < 0)
return ret;
idct_put(f, x, y);
idct_put(f, frame, x, y);
}
}
@@ -790,33 +837,40 @@ static int decode_frame(AVCodecContext *avctx, void *data,
int buf_size = avpkt->size;
FourXContext *const f = avctx->priv_data;
AVFrame *picture = data;
AVFrame *p, temp;
int i, frame_4cc, frame_size;
int i, frame_4cc, frame_size, ret;
if (buf_size < 12)
if (buf_size < 20)
return AVERROR_INVALIDDATA;
frame_4cc = AV_RL32(buf);
if (buf_size != AV_RL32(buf + 4) + 8 || buf_size < 20)
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));
return AVERROR_INVALIDDATA;
}
frame_4cc = AV_RL32(buf);
if (frame_4cc == AV_RL32("cfrm")) {
int free_index = -1;
int id, whole_size;
const int data_size = buf_size - 20;
const int id = AV_RL32(buf + 12);
const int whole_size = AV_RL32(buf + 16);
CFrameBuffer *cfrm;
if (data_size < 0 || whole_size < 0) {
av_log(f->avctx, AV_LOG_ERROR, "sizes invalid\n");
return AVERROR_INVALIDDATA;
}
if (f->version <= 1) {
av_log(f->avctx, AV_LOG_ERROR, "cfrm in version %d\n", f->version);
return AVERROR_INVALIDDATA;
}
id = AV_RL32(buf + 12);
whole_size = AV_RL32(buf + 16);
if (data_size < 0 || whole_size < 0) {
av_log(f->avctx, AV_LOG_ERROR, "sizes invalid\n");
return AVERROR_INVALIDDATA;
}
for (i = 0; i < CFRAME_BUFFER_COUNT; i++)
if (f->cfrm[i].id && f->cfrm[i].id < avctx->frame_number)
av_log(f->avctx, AV_LOG_ERROR, "lost c frame %d\n",
@@ -843,7 +897,7 @@ static int decode_frame(AVCodecContext *avctx, void *data,
// explicit check needed as memcpy below might not catch a NULL
if (!cfrm->data) {
av_log(f->avctx, AV_LOG_ERROR, "realloc failure\n");
return -1;
return AVERROR(ENOMEM);
}
memcpy(cfrm->data + cfrm->size, buf + 20, data_size);
@@ -857,6 +911,9 @@ static int decode_frame(AVCodecContext *avctx, void *data,
av_log(f->avctx, AV_LOG_ERROR, "cframe id mismatch %d %d\n",
id, avctx->frame_number);
if (f->version <= 1)
return AVERROR_INVALIDDATA;
cfrm->size = cfrm->id = 0;
frame_4cc = AV_RL32("pfrm");
} else
@@ -866,49 +923,31 @@ static int decode_frame(AVCodecContext *avctx, void *data,
frame_size = buf_size - 12;
}
temp = f->current_picture;
f->current_picture = f->last_picture;
f->last_picture = temp;
p = &f->current_picture;
avctx->coded_frame = p;
FFSWAP(AVFrame*, f->current_picture, f->last_picture);
// alternatively we would have to use our own buffer management
avctx->flags |= CODEC_FLAG_EMU_EDGE;
p->reference= 3;
if (avctx->reget_buffer(avctx, p) < 0) {
av_log(avctx, AV_LOG_ERROR, "reget_buffer() failed\n");
return -1;
}
if ((ret = ff_reget_buffer(avctx, f->current_picture)) < 0)
return ret;
if (frame_4cc == AV_RL32("ifr2")) {
p->pict_type= AV_PICTURE_TYPE_I;
if (decode_i2_frame(f, buf - 4, frame_size + 4) < 0) {
f->current_picture->pict_type = AV_PICTURE_TYPE_I;
if ((ret = decode_i2_frame(f, f->current_picture, buf - 4, frame_size + 4)) < 0) {
av_log(f->avctx, AV_LOG_ERROR, "decode i2 frame failed\n");
return -1;
return ret;
}
} else if (frame_4cc == AV_RL32("ifrm")) {
p->pict_type= AV_PICTURE_TYPE_I;
if (decode_i_frame(f, buf, frame_size) < 0) {
f->current_picture->pict_type = AV_PICTURE_TYPE_I;
if ((ret = decode_i_frame(f, f->current_picture, buf, frame_size)) < 0) {
av_log(f->avctx, AV_LOG_ERROR, "decode i frame failed\n");
return -1;
return ret;
}
} else if (frame_4cc == AV_RL32("pfrm") || frame_4cc == AV_RL32("pfr2")) {
if (!f->last_picture.data[0]) {
f->last_picture.reference = 3;
if (ff_get_buffer(avctx, &f->last_picture) < 0) {
av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
return -1;
}
for (i=0; i<avctx->height; i++)
memset(f->last_picture.data[0] + i*f->last_picture.linesize[0], 0, 2*avctx->width);
}
p->pict_type = AV_PICTURE_TYPE_P;
if (decode_p_frame(f, buf, frame_size) < 0) {
f->current_picture->pict_type = AV_PICTURE_TYPE_P;
if ((ret = decode_p_frame(f, f->current_picture, buf, frame_size)) < 0) {
av_log(f->avctx, AV_LOG_ERROR, "decode p frame failed\n");
return -1;
return ret;
}
} else if (frame_4cc == AV_RL32("snd_")) {
av_log(avctx, AV_LOG_ERROR, "ignoring snd_ chunk length:%d\n",
@@ -918,9 +957,10 @@ static int decode_frame(AVCodecContext *avctx, void *data,
buf_size);
}
p->key_frame = p->pict_type == AV_PICTURE_TYPE_I;
f->current_picture->key_frame = f->current_picture->pict_type == AV_PICTURE_TYPE_I;
*picture = *p;
if ((ret = av_frame_ref(picture, f->current_picture)) < 0)
return ret;
*got_frame = 1;
emms_c();
@@ -928,16 +968,6 @@ static int decode_frame(AVCodecContext *avctx, void *data,
return buf_size;
}
static av_cold void common_init(AVCodecContext *avctx)
{
FourXContext * const f = avctx->priv_data;
ff_dsputil_init(&f->dsp, avctx);
f->avctx = avctx;
}
static av_cold int decode_init(AVCodecContext *avctx)
{
FourXContext * const f = avctx->priv_data;
@@ -951,10 +981,9 @@ static av_cold int decode_init(AVCodecContext *avctx)
return AVERROR_INVALIDDATA;
}
avcodec_get_frame_defaults(&f->current_picture);
avcodec_get_frame_defaults(&f->last_picture);
f->version = AV_RL32(avctx->extradata) >> 16;
common_init(avctx);
ff_dsputil_init(&f->dsp, avctx);
f->avctx = avctx;
init_vlcs(f);
if (f->version > 2)
@@ -962,6 +991,11 @@ static av_cold int decode_init(AVCodecContext *avctx)
else
avctx->pix_fmt = AV_PIX_FMT_BGR555;
f->current_picture = av_frame_alloc();
f->last_picture = av_frame_alloc();
if (!f->current_picture || !f->last_picture)
return AVERROR(ENOMEM);
return 0;
}
@@ -978,16 +1012,15 @@ static av_cold int decode_end(AVCodecContext *avctx)
f->cfrm[i].allocated_size = 0;
}
ff_free_vlc(&f->pre_vlc);
if (f->current_picture.data[0])
avctx->release_buffer(avctx, &f->current_picture);
if (f->last_picture.data[0])
avctx->release_buffer(avctx, &f->last_picture);
av_frame_free(&f->current_picture);
av_frame_free(&f->last_picture);
return 0;
}
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),
@@ -995,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"),
};
+27 -49
View File
@@ -46,7 +46,6 @@ static const enum AVPixelFormat pixfmt_rgb24[] = {
typedef struct EightBpsContext {
AVCodecContext *avctx;
AVFrame pic;
unsigned char planes;
unsigned char planemap[4];
@@ -57,6 +56,7 @@ typedef struct EightBpsContext {
static int decode_frame(AVCodecContext *avctx, void *data,
int *got_frame, AVPacket *avpkt)
{
AVFrame *frame = data;
const uint8_t *buf = avpkt->data;
int buf_size = avpkt->size;
EightBpsContext * const c = avctx->priv_data;
@@ -64,20 +64,16 @@ 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;
int ret;
if (c->pic.data[0])
avctx->release_buffer(avctx, &c->pic);
if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
return ret;
c->pic.reference = 0;
c->pic.buffer_hints = FF_BUFFER_HINTS_VALID;
if (ff_get_buffer(avctx, &c->pic) < 0){
av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
return -1;
}
ep = encoded + buf_size;
/* Set data pointer after line lengths */
dp = encoded + planes * (height << 1);
@@ -88,29 +84,29 @@ static int decode_frame(AVCodecContext *avctx, void *data,
/* Decode a plane */
for (row = 0; row < height; row++) {
pixptr = c->pic.data[0] + row * c->pic.linesize[0] + planemap[p];
pixptr_end = pixptr + c->pic.linesize[0];
if(lp - encoded + row*2 + 1 >= buf_size)
return -1;
pixptr = frame->data[0] + row * frame->linesize[0] + planemap[p];
pixptr_end = pixptr + frame->linesize[0];
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)
return -1;
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)
return -1;
if (ep - dp < count)
return AVERROR_INVALIDDATA;
while (count--) {
*pixptr = *dp++;
pixptr += planes;
}
} else {
count = 257 - count;
if (pixptr + count * planes > pixptr_end)
if (pixptr_end - pixptr < count * planes)
break;
while (count--) {
*pixptr = *dp;
@@ -128,15 +124,14 @@ static int decode_frame(AVCodecContext *avctx, void *data,
AV_PKT_DATA_PALETTE,
NULL);
if (pal) {
c->pic.palette_has_changed = 1;
frame->palette_has_changed = 1;
memcpy(c->pal, pal, AVPALETTE_SIZE);
}
memcpy (c->pic.data[1], c->pal, AVPALETTE_SIZE);
memcpy (frame->data[1], c->pal, AVPALETTE_SIZE);
}
*got_frame = 1;
*(AVFrame*)data = c->pic;
/* always report that the buffer was completely consumed */
return buf_size;
@@ -147,9 +142,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
EightBpsContext * const c = avctx->priv_data;
c->avctx = avctx;
c->pic.data[0] = NULL;
avcodec_get_frame_defaults(&c->pic);
switch (avctx->bits_per_coded_sample) {
case 8:
avctx->pix_fmt = AV_PIX_FMT_PAL8;
@@ -166,45 +159,30 @@ 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",
avctx->bits_per_coded_sample);
return -1;
return AVERROR_INVALIDDATA;
}
return 0;
}
static av_cold int decode_end(AVCodecContext *avctx)
{
EightBpsContext * const c = avctx->priv_data;
if (c->pic.data[0])
avctx->release_buffer(avctx, &c->pic);
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,
.close = decode_end,
.decode = decode_frame,
.capabilities = CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("QuickTime 8BPS video"),
};
+7 -13
View File
@@ -44,7 +44,6 @@
/** decoder context */
typedef struct EightSvxContext {
AVFrame frame;
uint8_t fib_acc[2];
const int8_t *table;
@@ -88,6 +87,7 @@ static int eightsvx_decode_frame(AVCodecContext *avctx, void *data,
int *got_frame_ptr, AVPacket *avpkt)
{
EightSvxContext *esc = avctx->priv_data;
AVFrame *frame = data;
int buf_size;
int ch, ret;
int hdr_size = 2;
@@ -135,21 +135,18 @@ static int eightsvx_decode_frame(AVCodecContext *avctx, void *data,
}
/* get output buffer */
esc->frame.nb_samples = buf_size * 2;
if ((ret = ff_get_buffer(avctx, &esc->frame)) < 0) {
av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
frame->nb_samples = buf_size * 2;
if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
return ret;
}
for (ch = 0; ch < avctx->channels; ch++) {
delta_decode(esc->frame.data[ch], &esc->data[ch][esc->data_idx],
delta_decode(frame->data[ch], &esc->data[ch][esc->data_idx],
buf_size, &esc->fib_acc[ch], esc->table);
}
esc->data_idx += buf_size;
*got_frame_ptr = 1;
*(AVFrame *)data = esc->frame;
*got_frame_ptr = 1;
return ((avctx->frame_number == 0)*hdr_size + buf_size)*avctx->channels;
}
@@ -172,9 +169,6 @@ static av_cold int eightsvx_decode_init(AVCodecContext *avctx)
}
avctx->sample_fmt = AV_SAMPLE_FMT_U8P;
avcodec_get_frame_defaults(&esc->frame);
avctx->coded_frame = &esc->frame;
return 0;
}
@@ -193,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),
@@ -200,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 },
};
@@ -208,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),
@@ -215,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 },
};
+120 -85
View File
@@ -20,12 +20,8 @@ OBJS = allcodecs.o \
bitstream.o \
bitstream_filter.o \
codec_desc.o \
dsputil.o \
faanidct.o \
fmtconvert.o \
imgconvert.o \
jrevdct.o \
log2_tab.o \
mathtables.o \
options.o \
parser.o \
@@ -33,29 +29,37 @@ OBJS = allcodecs.o \
rawdec.o \
resample.o \
resample2.o \
simple_idct.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
OBJS-$(CONFIG_AUDIO_FRAME_QUEUE) += audio_frame_queue.o
OBJS-$(CONFIG_CRYSTALHD) += crystalhd.o
OBJS-$(CONFIG_DCT) += dct.o dct32_fixed.o dct32_float.o
OBJS-$(CONFIG_DWT) += dwt.o snow.o
OBJS-$(CONFIG_DXVA2) += dxva2.o
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
OBJS-$(CONFIG_H264DSP) += h264dsp.o h264idct.o
OBJS-$(CONFIG_H264PRED) += h264pred.o
OBJS-$(CONFIG_H264QPEL) += h264qpel.o
OBJS-$(CONFIG_HPELDSP) += hpeldsp.o
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 \
@@ -68,13 +72,14 @@ OBJS-$(CONFIG_MPEGVIDEOENC) += mpegvideo_enc.o mpeg12data.o \
OBJS-$(CONFIG_RANGECODER) += rangecoder.o
RDFT-OBJS-$(CONFIG_HARDCODED_TABLES) += sin_tables.o
OBJS-$(CONFIG_RDFT) += rdft.o $(RDFT-OBJS-yes)
OBJS-$(CONFIG_SHARED) += log2_tab.o
OBJS-$(CONFIG_SINEWIN) += sinewin.o
OBJS-$(CONFIG_VAAPI) += vaapi.o
OBJS-$(CONFIG_VDPAU) += vdpau.o
OBJS-$(CONFIG_VIDEODSP) += videodsp.o
OBJS-$(CONFIG_VP3DSP) += vp3dsp.o
# decoders/encoders/hardware accelerators
# decoders/encoders
OBJS-$(CONFIG_ZERO12V_DECODER) += 012v.o
OBJS-$(CONFIG_A64MULTI_ENCODER) += a64multienc.o elbg.o
OBJS-$(CONFIG_A64MULTI5_ENCODER) += a64multienc.o elbg.o
@@ -84,13 +89,13 @@ OBJS-$(CONFIG_AAC_DECODER) += aacdec.o aactab.o aacsbr.o aacps.o \
OBJS-$(CONFIG_AAC_ENCODER) += aacenc.o aaccoder.o \
aacpsy.o aactab.o \
psymodel.o iirfilter.o \
mpeg4audio.o kbdwin.o \
audio_frame_queue.o
mpeg4audio.o kbdwin.o
OBJS-$(CONFIG_AASC_DECODER) += aasc.o msrledec.o
OBJS-$(CONFIG_AC3_DECODER) += ac3dec.o ac3dec_data.o ac3.o kbdwin.o
OBJS-$(CONFIG_AC3_ENCODER) += ac3enc_float.o ac3enc.o ac3tab.o \
ac3.o kbdwin.o
OBJS-$(CONFIG_AC3_FIXED_ENCODER) += ac3enc_fixed.o ac3enc.o ac3tab.o ac3.o
OBJS-$(CONFIG_AIC_DECODER) += aic.o
OBJS-$(CONFIG_ALAC_DECODER) += alac.o alac_data.o
OBJS-$(CONFIG_ALAC_ENCODER) += alacenc.o alac_data.o
OBJS-$(CONFIG_ALS_DECODER) += alsdec.o bgmc.o mpeg4audio.o
@@ -110,6 +115,8 @@ OBJS-$(CONFIG_AMV_ENCODER) += mjpegenc.o mjpeg.o \
OBJS-$(CONFIG_ANM_DECODER) += anm.o
OBJS-$(CONFIG_ANSI_DECODER) += ansi.o cga_data.o
OBJS-$(CONFIG_APE_DECODER) += apedec.o
OBJS-$(CONFIG_SSA_DECODER) += assdec.o ass.o ass_split.o
OBJS-$(CONFIG_SSA_ENCODER) += assenc.o ass.o
OBJS-$(CONFIG_ASS_DECODER) += assdec.o ass.o ass_split.o
OBJS-$(CONFIG_ASS_ENCODER) += assenc.o ass.o
OBJS-$(CONFIG_ASV1_DECODER) += asvdec.o asv.o mpeg12data.o
@@ -155,10 +162,10 @@ OBJS-$(CONFIG_CPIA_DECODER) += cpia.o
OBJS-$(CONFIG_CSCD_DECODER) += cscd.o
OBJS-$(CONFIG_CYUV_DECODER) += cyuv.o
OBJS-$(CONFIG_DCA_DECODER) += dcadec.o dca.o dcadsp.o \
dca_parser.o synth_filter.o
synth_filter.o
OBJS-$(CONFIG_DCA_ENCODER) += dcaenc.o dca.o
OBJS-$(CONFIG_DIRAC_DECODER) += diracdec.o dirac.o diracdsp.o \
dirac_arith.o mpeg12data.o dwt.o
dirac_arith.o mpeg12data.o dirac_dwt.o
OBJS-$(CONFIG_DFA_DECODER) += dfa.o
OBJS-$(CONFIG_DNXHD_DECODER) += dnxhddec.o dnxhddata.o
OBJS-$(CONFIG_DNXHD_ENCODER) += dnxhdenc.o dnxhddata.o
@@ -181,13 +188,14 @@ OBJS-$(CONFIG_EAMAD_DECODER) += eamad.o eaidct.o mpeg12.o \
mpeg12data.o
OBJS-$(CONFIG_EATGQ_DECODER) += eatgq.o eaidct.o
OBJS-$(CONFIG_EATGV_DECODER) += eatgv.o
OBJS-$(CONFIG_EATQI_DECODER) += eatqi.o eaidct.o mpeg12.o \
mpeg12data.o
OBJS-$(CONFIG_EATQI_DECODER) += eatqi.o eaidct.o mpeg12dec.o \
mpeg12.o mpeg12data.o
OBJS-$(CONFIG_EIGHTBPS_DECODER) += 8bps.o
OBJS-$(CONFIG_EIGHTSVX_EXP_DECODER) += 8svx.o
OBJS-$(CONFIG_EIGHTSVX_FIB_DECODER) += 8svx.o
OBJS-$(CONFIG_ESCAPE124_DECODER) += escape124.o
OBJS-$(CONFIG_ESCAPE130_DECODER) += escape130.o
OBJS-$(CONFIG_EVRC_DECODER) += evrcdec.o acelp_vectors.o lsp.o
OBJS-$(CONFIG_EXR_DECODER) += exr.o
OBJS-$(CONFIG_FFV1_DECODER) += ffv1dec.o ffv1.o
OBJS-$(CONFIG_FFV1_ENCODER) += ffv1enc.o ffv1.o
@@ -204,6 +212,7 @@ OBJS-$(CONFIG_FLIC_DECODER) += flicvideo.o
OBJS-$(CONFIG_FOURXM_DECODER) += 4xm.o
OBJS-$(CONFIG_FRAPS_DECODER) += fraps.o
OBJS-$(CONFIG_FRWU_DECODER) += frwu.o
OBJS-$(CONFIG_G2M_DECODER) += g2meet.o mjpeg.o
OBJS-$(CONFIG_G723_1_DECODER) += g723_1.o acelp_vectors.o \
celp_filters.o celp_math.o
OBJS-$(CONFIG_G723_1_ENCODER) += g723_1.o acelp_vectors.o celp_math.o
@@ -212,22 +221,22 @@ OBJS-$(CONFIG_GIF_DECODER) += gifdec.o lzw.o
OBJS-$(CONFIG_GIF_ENCODER) += gif.o lzwenc.o
OBJS-$(CONFIG_GSM_DECODER) += gsmdec.o gsmdec_data.o msgsmdec.o
OBJS-$(CONFIG_GSM_MS_DECODER) += gsmdec.o gsmdec_data.o msgsmdec.o
OBJS-$(CONFIG_H261_DECODER) += h261dec.o h261.o h261data.o
OBJS-$(CONFIG_H261_ENCODER) += h261enc.o h261.o h261data.o
OBJS-$(CONFIG_H261_DECODER) += h261dec.o h261data.o h261.o
OBJS-$(CONFIG_H261_ENCODER) += h261enc.o h261data.o h261.o
OBJS-$(CONFIG_H263_DECODER) += h263dec.o h263.o ituh263dec.o \
mpeg4video.o mpeg4videodec.o flvdec.o\
intelh263dec.o
OBJS-$(CONFIG_H263_VAAPI_HWACCEL) += vaapi_mpeg4.o
OBJS-$(CONFIG_H263_ENCODER) += mpeg4videoenc.o mpeg4video.o \
h263.o ituh263enc.o flvenc.o
OBJS-$(CONFIG_H264_DECODER) += h264.o \
h264_loopfilter.o h264_direct.o \
cabac.o h264_sei.o h264_ps.o \
h264_refs.o h264_cavlc.o h264_cabac.o
OBJS-$(CONFIG_H264_DXVA2_HWACCEL) += dxva2_h264.o
OBJS-$(CONFIG_H264_VAAPI_HWACCEL) += vaapi_h264.o
OBJS-$(CONFIG_H264_VDA_HWACCEL) += vda_h264.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
@@ -243,8 +252,10 @@ OBJS-$(CONFIG_INDEO5_DECODER) += indeo5.o ivi_common.o ivi_dsp.o
OBJS-$(CONFIG_INTERPLAY_DPCM_DECODER) += dpcm.o
OBJS-$(CONFIG_INTERPLAY_VIDEO_DECODER) += interplayvideo.o
OBJS-$(CONFIG_JACOSUB_DECODER) += jacosubdec.o ass.o
OBJS-$(CONFIG_JPEG2000_DECODER) += j2kdec.o mqcdec.o mqc.o j2k.o j2k_dwt.o
OBJS-$(CONFIG_JPEG2000_ENCODER) += j2kenc.o mqcenc.o mqc.o j2k.o j2k_dwt.o
OBJS-$(CONFIG_JPEG2000_ENCODER) += j2kenc.o mqcenc.o mqc.o jpeg2000.o \
jpeg2000dwt.o
OBJS-$(CONFIG_JPEG2000_DECODER) += jpeg2000dec.o jpeg2000.o \
jpeg2000dwt.o mqcdec.o mqc.o
OBJS-$(CONFIG_JPEGLS_DECODER) += jpeglsdec.o jpegls.o \
mjpegdec.o mjpeg.o
OBJS-$(CONFIG_JPEGLS_ENCODER) += jpeglsenc.o jpegls.o
@@ -257,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
@@ -284,27 +297,23 @@ OBJS-$(CONFIG_MPC8_DECODER) += mpc8.o mpc.o
OBJS-$(CONFIG_MPEGVIDEO_DECODER) += mpeg12.o mpeg12data.o \
mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MPEG_XVMC_DECODER) += mpegvideo_xvmc.o
OBJS-$(CONFIG_MPEG1VIDEO_DECODER) += mpeg12.o mpeg12data.o
OBJS-$(CONFIG_MPEG1VIDEO_ENCODER) += mpeg12enc.o mpeg12.o \
timecode.o
OBJS-$(CONFIG_MPEG2_DXVA2_HWACCEL) += dxva2_mpeg2.o
OBJS-$(CONFIG_MPEG2_VAAPI_HWACCEL) += vaapi_mpeg2.o
OBJS-$(CONFIG_MPEG2VIDEO_DECODER) += mpeg12.o mpeg12data.o
OBJS-$(CONFIG_MPEG1VIDEO_DECODER) += mpeg12dec.o mpeg12.o mpeg12data.o
OBJS-$(CONFIG_MPEG1VIDEO_ENCODER) += mpeg12enc.o mpeg12.o
OBJS-$(CONFIG_MPEG2VIDEO_DECODER) += mpeg12dec.o mpeg12.o mpeg12data.o
OBJS-$(CONFIG_MPEG2VIDEO_ENCODER) += mpeg12enc.o mpeg12.o \
timecode.o
OBJS-$(CONFIG_MPEG4_VAAPI_HWACCEL) += vaapi_mpeg4.o
OBJS-$(CONFIG_MPL2_DECODER) += mpl2dec.o ass.o
OBJS-$(CONFIG_MSMPEG4V1_DECODER) += msmpeg4.o msmpeg4data.o
OBJS-$(CONFIG_MSMPEG4V2_DECODER) += msmpeg4.o msmpeg4data.o h263dec.o \
h263.o ituh263dec.o mpeg4videodec.o
OBJS-$(CONFIG_MSMPEG4V1_DECODER) += msmpeg4dec.o msmpeg4.o msmpeg4data.o
OBJS-$(CONFIG_MSMPEG4V2_DECODER) += msmpeg4dec.o msmpeg4.o msmpeg4data.o \
h263dec.o h263.o ituh263dec.o \
mpeg4videodec.o
OBJS-$(CONFIG_MSMPEG4V2_ENCODER) += msmpeg4.o msmpeg4enc.o msmpeg4data.o \
h263dec.o h263.o ituh263dec.o \
h263.o
OBJS-$(CONFIG_MSMPEG4V3_DECODER) += msmpeg4dec.o msmpeg4.o msmpeg4data.o \
h263dec.o h263.o ituh263dec.o \
mpeg4videodec.o
OBJS-$(CONFIG_MSMPEG4V3_DECODER) += msmpeg4.o msmpeg4data.o h263dec.o \
h263.o ituh263dec.o mpeg4videodec.o
OBJS-$(CONFIG_MSMPEG4V3_ENCODER) += msmpeg4.o msmpeg4enc.o msmpeg4data.o \
h263dec.o h263.o ituh263dec.o \
mpeg4videodec.o
h263.o
OBJS-$(CONFIG_MSRLE_DECODER) += msrle.o msrledec.o
OBJS-$(CONFIG_MSA1_DECODER) += mss3.o mss34dsp.o
OBJS-$(CONFIG_MSS1_DECODER) += mss1.o mss12.o
@@ -317,8 +326,7 @@ OBJS-$(CONFIG_MVC1_DECODER) += mvcdec.o
OBJS-$(CONFIG_MVC2_DECODER) += mvcdec.o
OBJS-$(CONFIG_MXPEG_DECODER) += mxpegdec.o mjpegdec.o mjpeg.o
OBJS-$(CONFIG_NELLYMOSER_DECODER) += nellymoserdec.o nellymoser.o
OBJS-$(CONFIG_NELLYMOSER_ENCODER) += nellymoserenc.o nellymoser.o \
audio_frame_queue.o
OBJS-$(CONFIG_NELLYMOSER_ENCODER) += nellymoserenc.o nellymoser.o
OBJS-$(CONFIG_NUV_DECODER) += nuv.o rtjpeg.o
OBJS-$(CONFIG_PAF_VIDEO_DECODER) += paf.o
OBJS-$(CONFIG_PAF_AUDIO_DECODER) += paf.o
@@ -339,11 +347,11 @@ 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_ANATOLIY_ENCODER) += proresenc_anatoliy.o
OBJS-$(CONFIG_PRORES_KOSTYA_ENCODER) += proresenc_kostya.o proresdata.o proresdsp.o
OBJS-$(CONFIG_PRORES_AW_ENCODER) += proresenc_anatoliy.o
OBJS-$(CONFIG_PRORES_KS_ENCODER) += proresenc_kostya.o proresdata.o proresdsp.o
OBJS-$(CONFIG_PTX_DECODER) += ptx.o
OBJS-$(CONFIG_QCELP_DECODER) += qcelpdec.o \
celp_filters.o acelp_vectors.o \
@@ -358,8 +366,7 @@ OBJS-$(CONFIG_R10K_ENCODER) += r210enc.o
OBJS-$(CONFIG_R210_DECODER) += r210dec.o
OBJS-$(CONFIG_R210_ENCODER) += r210enc.o
OBJS-$(CONFIG_RA_144_DECODER) += ra144dec.o ra144.o celp_filters.o
OBJS-$(CONFIG_RA_144_ENCODER) += ra144enc.o ra144.o celp_filters.o \
audio_frame_queue.o
OBJS-$(CONFIG_RA_144_ENCODER) += ra144enc.o ra144.o celp_filters.o
OBJS-$(CONFIG_RA_288_DECODER) += ra288.o celp_filters.o
OBJS-$(CONFIG_RALF_DECODER) += ralf.o
OBJS-$(CONFIG_RAWVIDEO_DECODER) += rawdec.o
@@ -379,6 +386,7 @@ OBJS-$(CONFIG_RV30_DECODER) += rv30.o rv34.o rv30dsp.o rv34dsp.o
OBJS-$(CONFIG_RV40_DECODER) += rv40.o rv34.o rv34dsp.o rv40dsp.o
OBJS-$(CONFIG_SAMI_DECODER) += samidec.o ass.o
OBJS-$(CONFIG_S302M_DECODER) += s302m.o
OBJS-$(CONFIG_S302M_ENCODER) += s302menc.o
OBJS-$(CONFIG_SANM_DECODER) += sanm.o
OBJS-$(CONFIG_SGI_DECODER) += sgidec.o
OBJS-$(CONFIG_SGI_ENCODER) += sgienc.o rle.o
@@ -391,8 +399,9 @@ OBJS-$(CONFIG_SIPR_DECODER) += sipr.o acelp_pitch_delay.o \
OBJS-$(CONFIG_SMACKAUD_DECODER) += smacker.o
OBJS-$(CONFIG_SMACKER_DECODER) += smacker.o
OBJS-$(CONFIG_SMC_DECODER) += smc.o
OBJS-$(CONFIG_SNOW_DECODER) += snowdec.o snow.o
OBJS-$(CONFIG_SNOW_ENCODER) += snowenc.o snow.o \
OBJS-$(CONFIG_SMVJPEG_DECODER) += smvjpegdec.o
OBJS-$(CONFIG_SNOW_DECODER) += snowdec.o snow.o snow_dwt.o
OBJS-$(CONFIG_SNOW_ENCODER) += snowenc.o snow.o snow_dwt.o \
h263.o ituh263enc.o
OBJS-$(CONFIG_SOL_DPCM_DECODER) += dpcm.o
OBJS-$(CONFIG_SONIC_DECODER) += sonic.o
@@ -422,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
@@ -431,8 +440,9 @@ OBJS-$(CONFIG_TRUEMOTION2_DECODER) += truemotion2.o
OBJS-$(CONFIG_TRUESPEECH_DECODER) += truespeech.o
OBJS-$(CONFIG_TSCC_DECODER) += tscc.o msrledec.o
OBJS-$(CONFIG_TSCC2_DECODER) += tscc2.o
OBJS-$(CONFIG_TTA_DECODER) += tta.o
OBJS-$(CONFIG_TWINVQ_DECODER) += twinvq.o
OBJS-$(CONFIG_TTA_DECODER) += tta.o ttadata.o
OBJS-$(CONFIG_TTA_ENCODER) += ttaenc.o ttadata.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
@@ -449,16 +459,13 @@ OBJS-$(CONFIG_V210X_DECODER) += v210x.o
OBJS-$(CONFIG_VB_DECODER) += vb.o
OBJS-$(CONFIG_VBLE_DECODER) += vble.o
OBJS-$(CONFIG_VC1_DECODER) += vc1dec.o vc1.o vc1data.o vc1dsp.o \
msmpeg4.o msmpeg4data.o \
intrax8.o intrax8dsp.o
OBJS-$(CONFIG_VC1_DXVA2_HWACCEL) += dxva2_vc1.o
OBJS-$(CONFIG_VC1_VAAPI_HWACCEL) += vaapi_vc1.o
msmpeg4dec.o msmpeg4.o msmpeg4data.o \
intrax8.o intrax8dsp.o wmv2dsp.o
OBJS-$(CONFIG_VCR1_DECODER) += vcr1.o
OBJS-$(CONFIG_VCR1_ENCODER) += vcr1.o
OBJS-$(CONFIG_VMDAUDIO_DECODER) += vmdav.o
OBJS-$(CONFIG_VMDVIDEO_DECODER) += vmdav.o
OBJS-$(CONFIG_VMNC_DECODER) += vmnc.o
OBJS-$(CONFIG_VORBIS_DECODER) += vorbisdec.o vorbis.o \
OBJS-$(CONFIG_VORBIS_DECODER) += vorbisdec.o vorbisdsp.o vorbis.o \
vorbis_data.o xiph.o
OBJS-$(CONFIG_VORBIS_ENCODER) += vorbisenc.o vorbis.o \
vorbis_data.o
@@ -468,9 +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
@@ -481,13 +492,12 @@ OBJS-$(CONFIG_WMAV2_ENCODER) += wmaenc.o wma.o wma_common.o aactab.o
OBJS-$(CONFIG_WMAVOICE_DECODER) += wmavoice.o \
celp_filters.o \
acelp_vectors.o acelp_filters.o
OBJS-$(CONFIG_WMV1_DECODER) += msmpeg4.o msmpeg4data.o
OBJS-$(CONFIG_WMV2_DECODER) += wmv2dec.o wmv2.o \
msmpeg4.o msmpeg4data.o \
OBJS-$(CONFIG_WMV1_DECODER) += msmpeg4dec.o msmpeg4.o msmpeg4data.o
OBJS-$(CONFIG_WMV2_DECODER) += wmv2dec.o wmv2.o wmv2dsp.o \
msmpeg4dec.o msmpeg4.o msmpeg4data.o \
intrax8.o intrax8dsp.o
OBJS-$(CONFIG_WMV2_ENCODER) += wmv2enc.o wmv2.o \
msmpeg4.o msmpeg4enc.o msmpeg4data.o \
mpeg4videodec.o ituh263dec.o h263dec.o
OBJS-$(CONFIG_WMV2_ENCODER) += wmv2enc.o wmv2.o wmv2dsp.o \
msmpeg4.o msmpeg4enc.o msmpeg4data.o
OBJS-$(CONFIG_WNV1_DECODER) += wnv1.o
OBJS-$(CONFIG_WS_SND1_DECODER) += ws-snd1.o
OBJS-$(CONFIG_XAN_DPCM_DECODER) += dpcm.o
@@ -517,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
@@ -577,6 +587,7 @@ OBJS-$(CONFIG_ADPCM_ADX_DECODER) += adxdec.o adx.o
OBJS-$(CONFIG_ADPCM_ADX_ENCODER) += adxenc.o adx.o
OBJS-$(CONFIG_ADPCM_AFC_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_CT_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_DTK_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_EA_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_EA_MAXIS_XA_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_EA_R1_DECODER) += adpcm.o adpcm_data.o
@@ -597,6 +608,7 @@ OBJS-$(CONFIG_ADPCM_IMA_ISS_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_IMA_OKI_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_IMA_QT_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_IMA_QT_ENCODER) += adpcmenc.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_IMA_RAD_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_IMA_SMJPEG_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_IMA_WAV_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_IMA_WAV_ENCODER) += adpcmenc.o adpcm_data.o
@@ -614,6 +626,23 @@ OBJS-$(CONFIG_ADPCM_YAMAHA_DECODER) += adpcm.o adpcm_data.o
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 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
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 vaapi_mpeg.o
OBJS-$(CONFIG_MPEG2_VDPAU_HWACCEL) += vdpau_mpeg12.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 vaapi_mpeg.o
OBJS-$(CONFIG_VC1_VDPAU_HWACCEL) += vdpau_vc1.o
# libavformat dependencies
OBJS-$(CONFIG_ADTS_MUXER) += mpeg4audio.o
OBJS-$(CONFIG_ADX_DEMUXER) += adx.o
@@ -660,49 +689,51 @@ OBJS-$(CONFIG_WTV_DEMUXER) += mpeg4audio.o mpegaudiodata.o
# external codec libraries
OBJS-$(CONFIG_LIBAACPLUS_ENCODER) += libaacplus.o
OBJS-$(CONFIG_LIBCELT_DECODER) += libcelt_dec.o
OBJS-$(CONFIG_LIBFAAC_ENCODER) += libfaac.o audio_frame_queue.o
OBJS-$(CONFIG_LIBFDK_AAC_ENCODER) += libfdk-aacenc.o audio_frame_queue.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
OBJS-$(CONFIG_LIBGSM_MS_DECODER) += libgsm.o
OBJS-$(CONFIG_LIBGSM_MS_ENCODER) += libgsm.o
OBJS-$(CONFIG_LIBILBC_DECODER) += libilbc.o
OBJS-$(CONFIG_LIBILBC_ENCODER) += libilbc.o
OBJS-$(CONFIG_LIBMP3LAME_ENCODER) += libmp3lame.o mpegaudiodecheader.o \
audio_frame_queue.o
OBJS-$(CONFIG_LIBOPENCORE_AMRNB_DECODER) += libopencore-amr.o \
audio_frame_queue.o
OBJS-$(CONFIG_LIBOPENCORE_AMRNB_ENCODER) += libopencore-amr.o \
audio_frame_queue.o
OBJS-$(CONFIG_LIBMP3LAME_ENCODER) += libmp3lame.o mpegaudiodecheader.o
OBJS-$(CONFIG_LIBOPENCORE_AMRNB_DECODER) += libopencore-amr.o
OBJS-$(CONFIG_LIBOPENCORE_AMRNB_ENCODER) += libopencore-amr.o
OBJS-$(CONFIG_LIBOPENCORE_AMRWB_DECODER) += libopencore-amr.o
OBJS-$(CONFIG_LIBOPENJPEG_DECODER) += libopenjpegdec.o
OBJS-$(CONFIG_LIBOPENJPEG_ENCODER) += libopenjpegenc.o
OBJS-$(CONFIG_LIBOPUS_DECODER) += libopusdec.o libopus.o \
vorbis_data.o
OBJS-$(CONFIG_LIBOPUS_ENCODER) += libopusenc.o libopus.o \
vorbis_data.o audio_frame_queue.o
vorbis_data.o
OBJS-$(CONFIG_LIBSCHROEDINGER_DECODER) += libschroedingerdec.o \
libschroedinger.o
OBJS-$(CONFIG_LIBSCHROEDINGER_ENCODER) += libschroedingerenc.o \
libschroedinger.o
OBJS-$(CONFIG_LIBSHINE_ENCODER) += libshine.o
OBJS-$(CONFIG_LIBSPEEX_DECODER) += libspeexdec.o
OBJS-$(CONFIG_LIBSPEEX_ENCODER) += libspeexenc.o audio_frame_queue.o
OBJS-$(CONFIG_LIBSPEEX_ENCODER) += libspeexenc.o
OBJS-$(CONFIG_LIBSTAGEFRIGHT_H264_DECODER)+= libstagefright.o
OBJS-$(CONFIG_LIBTHEORA_ENCODER) += libtheoraenc.o
OBJS-$(CONFIG_LIBTWOLAME_ENCODER) += libtwolame.o
OBJS-$(CONFIG_LIBUTVIDEO_DECODER) += libutvideodec.o
OBJS-$(CONFIG_LIBUTVIDEO_ENCODER) += libutvideoenc.o
OBJS-$(CONFIG_LIBVO_AACENC_ENCODER) += libvo-aacenc.o mpeg4audio.o \
audio_frame_queue.o
OBJS-$(CONFIG_LIBVO_AACENC_ENCODER) += libvo-aacenc.o mpeg4audio.o
OBJS-$(CONFIG_LIBVO_AMRWBENC_ENCODER) += libvo-amrwbenc.o
OBJS-$(CONFIG_LIBVORBIS_DECODER) += libvorbisdec.o
OBJS-$(CONFIG_LIBVORBIS_ENCODER) += libvorbisenc.o audio_frame_queue.o \
OBJS-$(CONFIG_LIBVORBIS_ENCODER) += libvorbisenc.o \
vorbis_data.o vorbis_parser.o xiph.o
OBJS-$(CONFIG_LIBVPX_DECODER) += libvpxdec.o
OBJS-$(CONFIG_LIBVPX_ENCODER) += libvpxenc.o
OBJS-$(CONFIG_LIBVPX_VP8_DECODER) += libvpxdec.o
OBJS-$(CONFIG_LIBVPX_VP8_ENCODER) += libvpxenc.o
OBJS-$(CONFIG_LIBVPX_VP9_DECODER) += libvpxdec.o
OBJS-$(CONFIG_LIBVPX_VP9_ENCODER) += libvpxenc.o
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 \
@@ -717,7 +748,9 @@ 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
OBJS-$(CONFIG_FLAC_PARSER) += flac_parser.o flacdata.o flac.o \
vorbis_data.o
@@ -729,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 \
@@ -768,9 +802,11 @@ OBJS-$(CONFIG_REMOVE_EXTRADATA_BSF) += remove_extradata_bsf.o
OBJS-$(CONFIG_TEXT2MOVSUB_BSF) += movsub_bsf.o
# thread libraries
OBJS-$(HAVE_PTHREADS) += pthread.o frame_thread_encoder.o
OBJS-$(HAVE_W32THREADS) += pthread.o frame_thread_encoder.o
OBJS-$(HAVE_OS2THREADS) += pthread.o frame_thread_encoder.o
OBJS-$(HAVE_PTHREADS) += pthread.o
OBJS-$(HAVE_W32THREADS) += pthread.o
OBJS-$(HAVE_OS2THREADS) += pthread.o
OBJS-$(CONFIG_FRAME_THREAD_ENCODER) += frame_thread_encoder.o
SKIPHEADERS += %_tablegen.h \
%_tables.h \
@@ -786,20 +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-$(HAVE_OS2THREADS) += os2threads.h
SKIPHEADERS-$(HAVE_W32THREADS) += w32pthreads.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
-58
View File
@@ -1,58 +0,0 @@
/*
* a64 video encoder - basic headers
* Copyright (c) 2009 Tobias Bindhammer
*
* 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
*/
/**
* @file
* a64 video encoder - basic headers
*/
#ifndef AVCODEC_A64ENC_H
#define AVCODEC_A64ENC_H
#include "libavutil/lfg.h"
#include "avcodec.h"
#define C64XRES 320
#define C64YRES 200
typedef struct A64Context {
/* general variables */
AVFrame picture;
/* variables for multicolor modes */
AVLFG randctx;
int mc_lifetime;
int mc_use_5col;
unsigned mc_frame_counter;
int *mc_meta_charset;
int *mc_charmap;
int *mc_best_cb;
int mc_luma_vals[5];
uint8_t *mc_charset;
uint8_t *mc_colram;
uint8_t *mc_palette;
int mc_pal_size;
/* pts of the next packet that will be output */
int64_t next_pts;
} A64Context;
#endif /* AVCODEC_A64ENC_H */
+27 -3
View File
@@ -24,7 +24,6 @@
* a64 video encoder - multicolor modes
*/
#include "a64enc.h"
#include "a64colors.h"
#include "a64tables.h"
#include "elbg.h"
@@ -37,6 +36,31 @@
#define INTERLACED 1
#define CROP_SCREENS 1
#define C64XRES 320
#define C64YRES 200
typedef struct A64Context {
/* general variables */
AVFrame picture;
/* variables for multicolor modes */
AVLFG randctx;
int mc_lifetime;
int mc_use_5col;
unsigned mc_frame_counter;
int *mc_meta_charset;
int *mc_charmap;
int *mc_best_cb;
int mc_luma_vals[5];
uint8_t *mc_charset;
uint8_t *mc_colram;
uint8_t *mc_palette;
int mc_pal_size;
/* pts of the next packet that will be output */
int64_t next_pts;
} A64Context;
/* gray gradient */
static const int mc_colors[5]={0x0,0xb,0xc,0xf,0x1};
@@ -372,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),
@@ -379,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),
@@ -393,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
+18 -7
View File
@@ -32,7 +32,6 @@
#include "libavutil/float_dsp.h"
#include "avcodec.h"
#include "dsputil.h"
#include "fft.h"
#include "mpeg4audio.h"
#include "sbr.h"
@@ -158,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;
@@ -235,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];
@@ -260,10 +259,10 @@ typedef struct ChannelElement {
/**
* main AAC context
*/
typedef struct AACContext {
struct AACContext {
AVClass *class;
AVCodecContext *avctx;
AVFrame frame;
AVFrame *frame;
int is_saved; ///< Set if elements have stored overlap from previous frame.
DynamicRangeControl che_drc;
@@ -291,8 +290,8 @@ typedef struct AACContext {
*/
FFTContext mdct;
FFTContext mdct_small;
FFTContext mdct_ld;
FFTContext mdct_ltp;
DSPContext dsp;
FmtConvertContext fmt_conv;
AVFloatDSPContext fdsp;
int random_state;
@@ -318,6 +317,18 @@ typedef struct AACContext {
OutputConfiguration oc[2];
int warned_num_aac_frames;
} AACContext;
/* aacdec functions pointers */
void (*imdct_and_windowing)(AACContext *ac, SingleChannelElement *sce);
void (*apply_ltp)(AACContext *ac, SingleChannelElement *sce);
void (*apply_tns)(float coef[1024], TemporalNoiseShaping *tns,
IndividualChannelStream *ics, int decode);
void (*windowing_and_mdct_ltp)(AACContext *ac, float *out,
float *in, IndividualChannelStream *ics);
void (*update_ltp)(AACContext *ac, SingleChannelElement *sce);
};
void ff_aacdec_init_mips(AACContext *c);
#endif /* AVCODEC_AAC_H */
+7 -7
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 {
+9 -5
View File
@@ -61,7 +61,8 @@ static int aac_adtstoasc_filter(AVBitStreamFilterContext *bsfc,
}
if (!hdr.crc_absent && hdr.num_aac_frames > 1) {
av_log_missing_feature(avctx, "Multiple RDBs per frame with CRC", 0);
avpriv_report_missing_feature(avctx,
"Multiple RDBs per frame with CRC");
return AVERROR_PATCHWELCOME;
}
@@ -74,7 +75,10 @@ static int aac_adtstoasc_filter(AVBitStreamFilterContext *bsfc,
if (!hdr.chan_config) {
init_get_bits(&gb, buf, buf_size * 8);
if (get_bits(&gb, 3) != 5) {
av_log_missing_feature(avctx, "PCE based channel configuration, where the PCE is not the first syntax element", 0);
avpriv_report_missing_feature(avctx,
"PCE-based channel configuration "
"without PCE as first syntax "
"element");
return AVERROR_PATCHWELCOME;
}
init_put_bits(&pb, pce_data, MAX_PCE_SIZE);
@@ -108,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,
};

Some files were not shown because too many files have changed in this diff Show More