Compare commits

..

7250 Commits

Author SHA1 Message Date
Michael Niedermayer
959ab06c68 Changelog: update for 2.5.2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-23 04:28:09 +01:00
Michael Niedermayer
46db3121c6 update for 2.5.2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 03:41:27 +01:00
Michael Niedermayer
c96c755320 Makefile: add dependencies which require ffversion.h
Without this ffversion.h could sometimes be built too late

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 03:17:56 +01:00
Michael Niedermayer
9f8cdd520b Add FFMPEG_VERSION into the binary libs
This simplifies identifying from which revision a binary of a lib came from

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 03:17:56 +01:00
Anton Khirnov
f5631d23e0 mmvideo: check frame dimensions
The frame size must be set by the caller and each dimension must be a
multiple of 2.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
See: 8b0e96e1f2
These should be redundant, but are backported for saftey anyway
2014-12-22 03:17:56 +01:00
Anton Khirnov
50f4543c6b jvdec: check frame dimensions
The frame size must be set by the caller and each dimension must be a
multiple of 8.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
See: 105654e376
These should be redundant, but are backported for saftey anyway
2014-12-22 03:17:56 +01:00
Michael Niedermayer
1344e91f33 avcodec/indeo3: ensure offsets are non negative
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 368642361f)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 03:17:55 +01:00
Michael Niedermayer
f13e6ec7a6 avcodec/h264: Check *log2_weight_denom
Fixes undefined behavior
Fixes: signal_sigsegv_14768d2_2248_cov_3629497219_h264_h264___pi_20070614T182942.h264
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 61296d41e2)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 03:17:55 +01:00
Michael Niedermayer
bf2c9e1ad4 avcodec/hevc_ps: Check diff_cu_qp_delta_depth
Fixes undefined behavior
Fixes: asan_static-oob_17aa046_582_cov_1577759978_DBLK_G_VIXS_1.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3281fa8925)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 03:17:55 +01:00
Michael Niedermayer
0663aab1d9 avcodec/h264: Clear delayed_pic on deallocation
Fixes use of freed memory

Fixes: case5_av_frame_copy_props.mp4
Found-by: Michal Zalewski <lcamtuf@coredump.cx>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e8714f6f93)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 03:17:55 +01:00
Michael Niedermayer
e911f125fc avcodec/hevc: clear filter_slice_edges() on allocation
This avoids use of uninitialized memory
Fixes: asan_static-oob_17aa046_582_cov_212287884_DBLK_G_VIXS_1.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8aa8d12554)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 03:17:55 +01:00
Michael Niedermayer
5aead5ee05 avcodec/dcadec: Check that the added xch channel isnt already there
Fixes null pointer dereference
Fixes: signal_sigsegv_369609d_623_cov_2008234281_ES_6.1_16bit.dts
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 7d593495e4)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 03:17:55 +01:00
Michael Niedermayer
3a5b749d7c avcodec/indeo3: use signed variables to avoid underflow
Fixes out of array read
Fixes: signal_sigsegv_1b0a4da_1865_cov_2167818389_computer_anger.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3305acdc92)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 03:17:55 +01:00
Michael Niedermayer
4b4d0b0290 avcodec/h264: make the first field of H264Context an AVClass
Fixes use of freed memory
Fixes: asan_heap-uaf_3660f67_757_cov_1257014655_Hi422FR1_SONY_A.jsv
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f3b5b139ad)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 03:17:55 +01:00
Michael Niedermayer
c9b25252cb swscale: increase yuv2rgb table headroom
Fixes out of array access
Fixes: case2_bad_read_yuv2rgbx32.mp4
Found-by: Michal Zalewski <lcamtuf@coredump.cx>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 2a983ff7fe)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 03:17:55 +01:00
Michael Niedermayer
4400385d5f avformat/mov: fix integer overflow of size
Fixes: case1_call_stack_overflow.mp4
Found-by: Michal Zalewski <lcamtuf@coredump.cx>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit be9ce6e10a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 03:17:55 +01:00
Michael Niedermayer
d85e25fe0b avformat/mov: check atom nesting depth
Fixes call stack overflow
Fixes: case1_call_stack_overflow.mp4
Found-by: Michal Zalewski <lcamtuf@coredump.cx>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit caa7a3914f)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 03:17:55 +01:00
Michael Niedermayer
3d1972d182 avcodec/utvideodec: Fix handling of slice_height=0
Fixes out of array accesses
Fixes: asan_heap-oob_25bcd7e_3783_cov_3553517262_utvideo_rgba_median.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3881606240)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 03:17:55 +01:00
Michael Niedermayer
71b1abe638 avcodec/xface: Add asserts to limit nb_words from becoming too large
Approved-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 211200e0c0)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 03:17:55 +01:00
Michael Niedermayer
991ef3a67e avcodec/xface: correct the XFACE_MAX_* values
Fixes out of array access

Fixes: asan_stack-oob_32c12e5_2536_cov_2442316831_lena.xface
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 93a5a16f13)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 03:17:55 +01:00
Michael Niedermayer
b850b01533 avcodec/vmdvideo: Check len before using it in method 3
Fixes out of array access
Fixes: asan_heap-oob_4d23ba_91_cov_3853393937_128.vmd

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3030fb7e0d)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 03:17:55 +01:00
Michael Niedermayer
23a17b4a3d avformat/flvdec: Use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 91ea466551)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 03:17:55 +01:00
Michael Niedermayer
3a8ad4b878 avformat/hdsenc: Use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 16d763fa45)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 03:17:55 +01:00
Michael Niedermayer
b85a939633 configure: create the tests directory like the doc directory
This fixes an issue where the tests directory is not created for out of tree
builds before its needed

Tested-by: Dave Yeo <daveryeo@telus.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e631872f13)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 03:17:55 +01:00
Clément Bœsch
7e130ca5b4 avformat/rsd: make tag_buf string larger
av_get_codec_tag_string() uses more that 1 char for unprintable characters.

(cherry picked from commit edbbb11488)
2014-12-19 18:01:31 -03:00
Clément Bœsch
f295f9488a avformat/apngdec: make tag_buf string larger
av_get_codec_tag_string() uses more that 1 char for unprintable characters.

(cherry picked from commit d60fb4f794)
2014-12-19 18:00:40 -03:00
Michael Niedermayer
2c01dd2ea5 Update Changelog for 2.5.1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 23:52:03 +01:00
Michael Niedermayer
5e26152ee4 Update for FFmpeg 2.5.1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 15:30:31 +01:00
wm4
135c733125 lavu/frame: fix malloc error path in av_frame_copy_props()
The error path frees all side data, but forgets to reset the side data
count. This can blow up later in av_frame_unref() and free_side_data().

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 05:32:36 +01:00
Michael Niedermayer
3b3a3c3d44 avformat/utils: Do not update programs streams from program-less streams in update_wrap_reference()
Fixes Ticket3686

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 20:58:33 +01:00
Michael Niedermayer
13244abcd3 avformat/aviobuf: Check that avio_seek() target is non negative
Fixes out of array access

Suggested-by: Andrew Scherkus <scherkus@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ed86dbd05d)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 17:42:16 +01:00
Rob Sykes
9783d5bfda swresample/soxr_resample: fix error handling
Fixes CID1257659

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 22:20:16 +01:00
Michael Niedermayer
0e4efad93c avformat/flvdec: fix potential use of uninitialized variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0fadbd3623)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 13:42:29 +01:00
Michael Niedermayer
0103bc67fd avformat/crypto: fix key vs iv typo
Fixes Ticket 4167

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 20:08:03 +01:00
Moritz Barsnick
d5af3fb1c5 configure: use use_pkg_config() instead of check_pkg_config() for libsmbclient
This ensures that the CFLAGS and LDFLAGS are actually applied.
Fixes an incorrect change introduced with the clean-up in commit
cfcaf6b38e.

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 754f4957d7)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 01:04:32 +01:00
Rong Yan
6ec5a199ea avcodec/ppc/vp3dsp_altivec: POWER LE support to vp3_idct_add_altivec()
add GET_VDST16() macro

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 15:30:03 +01:00
wm4
f7b5366657 avformat/matroskadec: fix handling of recursive SeekHead elements
When matroska_execute_seekhead() is called, it goes through the list of
seekhead entries and attempts to read elements not read yet. When doing
this, the parser can find further SeekHead elements, and will extend the
matroska->seekhead list. This can lead to a (practically) infinite loop
with certain broken files. (Maybe it can happen even with valid files.
The demuxer doesn't seem to check correctly whether an element has
already been read.)

Fix this by ignoring elements that were added to the seekhead field
during executing seekhead entries.

This does not fix the possible situation when multiple SeekHead elements
after the file header (i.e. occur after the "before_pos" file position)
point to the same elements. These elements will probably be parsed
multiple times, likely leading to bugs.

Fixes ticket #4162.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-07 23:04:23 +01:00
Piotr Fusik
542332e523 doc/examples/filtering_video: fix frame rate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c99e5191ab)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 17:36:19 +01:00
Michael Niedermayer
aa24dd487f avcodec/mpegaudiodec_template: only allocate fdsp when its used
Fixes memleak

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 05:16:14 +01:00
Michael Niedermayer
3bcd1daad7 doc/examples/transcoding: check encoder before using it
Fixes null pointer exception

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 19:08:32 +01:00
Michael Niedermayer
91f88eab32 MAINTAINERS: add 2.5
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit a4f21a8dd9)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 14:48:20 +01:00
Rong Yan
aac467ae17 avcodec/ppc/vp8dsp_altivec.c: POWER LE support put_vp8_epel_h_altivec_core() put_vp8_epel_v_altivec_core() put_vp8_pixels16_altivec() add marcos GET_PIXHL() GET_OUTER() LOAD_HL()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d23e883248)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 14:48:19 +01:00
Rong Yan
968e733b2e avcodec/ppc/vc1dsp_altivec: add POWER LE support to vc1_inv_trans_8x4_altivec()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 36cd2bcbc3)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 12:09:38 +01:00
Timothy Gu
192d46e6d1 Update RELEASE_NOTES
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 06:06:18 +01:00
Timothy Gu
bb8614cb7b Changelog/RELEASE_NOTES: Add APNG decoder
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-12-04 06:06:07 +01:00
Michael Niedermayer
d9bdf7d9ae Changelog: release is 2.5 not "next"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 02:16:55 +01:00
Michael Niedermayer
a588e1e560 avcodec/aacdec: reduce noisiness of missing channel elements
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 5fe026f2bd)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 01:58:32 +01:00
Carl Eugen Hoyos
36e7385d0e Fix standalone compilation of the iec61883 input device.
(cherry picked from commit 963aa1daf8)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 01:58:28 +01:00
Michael Niedermayer
5108323aa9 Update for 2.5
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 00:47:17 +01:00
Benoit Fouet
1d69ab9d1c avcodec/pngdec: fix indentation in handle_row()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 00:31:11 +01:00
Benoit Fouet
6e9b060e4f avcodec/pngdec: fix mem leak in init()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 00:30:54 +01:00
Benoit Fouet
08aec6f68e libavcodec/pngdec: support 'previous' dispose operation for APNG.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 00:30:38 +01:00
Reimar Döffinger
49d9cbe55d h264_i386: Fix operand size
Fixes fate failure on macosx clang x86-64

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 23:03:13 +01:00
Michael Niedermayer
dac9e50902 RELEASE_NOTES: update for 2.5
If you spot something missing wrong or improvable, do not hesitate
to push fixes

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 22:40:02 +01:00
Michael Niedermayer
43520771f1 doc/APIchanges: fill in hashes and dates
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 22:40:02 +01:00
Michael Niedermayer
1027a44681 Changelog: Add libpostproc visualization
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 22:40:02 +01:00
Lukasz Marek
650aa36f35 lavf/oggenc: use meaningful error codes
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-12-03 22:20:22 +01:00
Michael Niedermayer
8524558858 swscale/x86/rgb2rgb_template: fix crash with tiny size and nv12 output
Fixes Ticket4151

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 20:21:56 +01:00
Michael Niedermayer
a6f730730b avformat/rmdec: Check codec_data_size
Fixes infinite loop
Fixes Ticket4154

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 20:01:18 +01:00
Michael Niedermayer
eac5c7b837 avformat/aviobuf: Fix infinite loop in ff_get_line()
Fixes ticket4152

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 19:05:56 +01:00
Jonathan Baecker
868cec5874 avdevice/decklink_common: fix COM initialization failure check
Signed-off-by: Jonathan Baecker <jonbae77@gmail.com>
Reviewed-by: Ramiro Polla <ramiro.polla@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 18:47:24 +01:00
Michael Niedermayer
534f901fca avcodec/atrac3plusdec: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 14:52:38 +01:00
Michael Niedermayer
c5dc8cc03a avcodec/mpegaudiodec_float: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 14:52:38 +01:00
Michael Niedermayer
e316caf712 avcodec/opusdec: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 14:52:38 +01:00
Christophe Gisquet
9fa056ba75 pngdsp x86: use unaligned access
For test images manually generated to contain only up prediction,
timing results:
         8380x3032    255x185
before:   138635       1992
after:    139232       1996

Actually jumping to the proper version depending on the alignment:
8380x3032: 138767

A 0.5% speed improvement for gigantic images is not worth the code
duplication.

Fixes ticket #4148

Signed-off-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Tested-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 11:56:22 +01:00
Michael Niedermayer
242f1152bf ffmpeg: drop usage of coded_frame
It causes all kinds of problems and there is no code in the muxers that reads
this field

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 03:06:43 +01:00
Jonathan Baecker
5a57f389f4 avdevice/decklink_common: fix heap corruption run time error
Signed-off-by: Jonathan Baecker <jonbae77@gmail.com>
Reviewed-by: Ramiro Polla <ramiro.polla@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 00:41:10 +01:00
Carl Eugen Hoyos
7a4be4315f Support muxing 4k AVC Intra in mov.
Reported and tested by Rens Dijkshoorn, rens onlinemedia nl
2014-12-02 23:35:40 +01:00
Michael Niedermayer
ebc29e8625 Merge commit '2e0935965b824bc641b7e0bafafcbb1e36027f79'
* commit '2e0935965b824bc641b7e0bafafcbb1e36027f79':
  Drop the unofficial extension prefix for MPEG and MPEG-TS formats

See: fdcb2873e1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-02 22:56:07 +01:00
Michael Niedermayer
b329460c51 Merge commit '7319a47c7e7931ebf8f475cc2cffc7bcd333acee'
* commit '7319a47c7e7931ebf8f475cc2cffc7bcd333acee':
  mpegtsenc: recognize .mts as MPEG Transport Stream

Conflicts:
	libavformat/mpegtsenc.c

See: e2baaa21aa
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-02 22:53:22 +01:00
Michael Niedermayer
d76adfae9c Merge commit '8f8caca2242e1fe05f37493cfabcd3f4de198550'
* commit '8f8caca2242e1fe05f37493cfabcd3f4de198550':
  Add support for BDAV/m2ts-mode muxing

Conflicts:
	libavformat/mpegtsenc.c

See: 09a858da7d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-02 22:42:35 +01:00
Michael Niedermayer
fc469e5c7f Merge commit '26e20dfd06ac62da596a9549867f990f1200a04e'
* commit '26e20dfd06ac62da596a9549867f990f1200a04e':
  options_table: fix colorspace minimum option value

See: 8c28a39c2c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-02 22:35:44 +01:00
Michael Niedermayer
02444f02f1 Merge commit '3cec81f4d4f26b62bc2d22bb450bbf51ec3a7f09'
* commit '3cec81f4d4f26b62bc2d22bb450bbf51ec3a7f09':
  mov: allocate the tag value dynamically

Conflicts:
	libavformat/mov.c

See: f31445a82d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-02 22:26:40 +01:00
Michael Niedermayer
781a5a392c Merge commit 'e352b293712ff7cbde67eba3ce3f8510b037de09'
* commit 'e352b293712ff7cbde67eba3ce3f8510b037de09':
  mov: Add an option for exporting all metadata

Conflicts:
	libavformat/isom.h
	libavformat/mov.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-02 22:13:20 +01:00
Lukasz Marek
302ed9c43f ffserver_config: print warning when using default value
Some of the defaults may be harmful (like buffer size).
It is good user is aware of that.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-12-02 21:58:35 +01:00
Lukasz Marek
2f4233614a ffserver_config: set defaults basing on absence of set value
This prevents the situation when user set option to 0 and ffserver
threats it as not set value, so applies the default.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-12-02 21:58:34 +01:00
Lukasz Marek
c8ac46e924 ffserver_config: remove useless defaults
Options are already set to its defaults by AVOption API.
The only difference is for qmin, new default is 2, ffserver set to 3.
It is dead code because if condition is not meet unless user set option to 0.
Meeting condition would mean that ffserver overwrites explicity set option.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-12-02 21:58:34 +01:00
Lukasz Marek
8b0226f2a6 ffserver: use avcodec_copy_context to copy context
Copying context using dedicated function is safer that raw memcpy
which creates shallow copy.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-12-02 21:58:34 +01:00
Michael Niedermayer
d0b0fe6691 Merge commit '5639ed9abb58311f82cf3499b682d228290adb09'
* commit '5639ed9abb58311f82cf3499b682d228290adb09':
  mov: do not truncate the language-prefixed tag

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-02 21:45:44 +01:00
Michael Niedermayer
1537d0b432 Merge commit '604c9b1196c70d79bbbc1f23e75f6a8253a74da3'
* commit '604c9b1196c70d79bbbc1f23e75f6a8253a74da3':
  rtsp: move the CONFIG_ macros to the beginning of the check

Conflicts:
	libavformat/rtsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-02 21:39:05 +01:00
Michael Niedermayer
61d0a6dd95 Merge commit '7464e98f74c03d3efa0cdc8d7abad06e4c3c277a'
* commit '7464e98f74c03d3efa0cdc8d7abad06e4c3c277a':
  aac: Simplify decode_mid_side_stereo

Conflicts:
	libavcodec/aacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-02 21:29:48 +01:00
Michael Niedermayer
9adc999d2a Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  configure: add a note about pkg-config --static.
  configure: add optional pkg-config helper and use it.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-02 19:48:04 +01:00
Michael Niedermayer
68b8e21b8b avcodec/aacdec: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-02 19:32:45 +01:00
Michael Niedermayer
46b64e3098 Revert "avfilter/vf_interlace: more accurate pts calculation"
This reverts commit df8248f66e.

the revert produces a timebase and timestamps that are more close
to what users expect

Hoped-by: koda
2014-12-02 18:48:03 +01:00
Nicolas George
6c96aa0606 configure: add a note about pkg-config --static.
Try to detect "$cc -static" without "pkg-config --static".
Also, when a library detection using pkg-config fails,
make it explicit this was pkg-config.
2014-12-02 18:43:54 +01:00
Nicolas George
cfcaf6b38e configure: add optional pkg-config helper and use it.
The require variant dies if the package is not present.
The check variant does not import the flags to the used list.
The new variant imports the flags if the package is present
but does not die if it is not.
The new call graph is: require -> use -> check.

Use use_pkg_config for libx264 and libsmbclient: more readable
and three external call less per library.
2014-12-02 18:43:48 +01:00
Michael Niedermayer
59f1f764d6 avfilter/vf_tinterlace: Favor using standard timebases for the output
Reported-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Inspired by discussion with Kieran Kunhya <kierank@obe.tv>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-02 18:28:06 +01:00
Rong Yan
b4d41beebe avcodec/ppc/lossless_audiodsp_altivec: POWER LE support for scalarproduct_and_madd_int16_altivec()
adds macro GET_T()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-02 17:13:47 +01:00
Florent Le Coz
2e0935965b Drop the unofficial extension prefix for MPEG and MPEG-TS formats
As per the RFCs:
http://tools.ietf.org/html/rfc3555#page-38
http://tools.ietf.org/html/rfc3003

CC: libav-stable@libav.org
2014-12-02 15:28:22 +00:00
Jean-Baptiste Mardelle
7319a47c7e mpegtsenc: recognize .mts as MPEG Transport Stream 2014-12-02 15:28:22 +00:00
Fredrik Axelsson
8f8caca224 Add support for BDAV/m2ts-mode muxing
Signed-off-by: Fredrik Axelsson <fraxbe@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-02 15:28:22 +00:00
Jon Morley
26e20dfd06 options_table: fix colorspace minimum option value
The min value for colorspace should be zero and not one since the first
valid index into the frame colorspace array is AVCOL_SPC_RGB which is 0.
2014-12-02 15:28:22 +00:00
Thilo Borgmann
3cec81f4d4 mov: allocate the tag value dynamically
This allows to load metadata entries longer than 1024 bytes.
Displaying them is still limited to 1024 characters, but applications
can load them fully now.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-02 15:28:22 +00:00
Vittorio Giovara
e352b29371 mov: Add an option for exporting all metadata 2014-12-02 15:28:22 +00:00
Vittorio Giovara
5639ed9abb mov: do not truncate the language-prefixed tag 2014-12-02 15:28:22 +00:00
Vittorio Giovara
604c9b1196 rtsp: move the CONFIG_ macros to the beginning of the check
With --disable-optimizations, the DCE of some compilers does not remove
such unused code, causing linking failure.
2014-12-02 15:28:22 +00:00
Luca Barbato
7464e98f74 aac: Simplify decode_mid_side_stereo
Might spare few cycles if the compiler is naive and
makes the function more readable.
2014-12-02 15:28:22 +00:00
Benoit Fouet
d7716961a8 avformat/apngdec: exit probing when skipping is not possible.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-02 16:02:01 +01:00
Benoit Fouet
543fceba9c apng: move shared header from avformat to avcodec.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-02 15:52:31 +01:00
Carl Eugen Hoyos
f151f5415a lavf/qcp: Print unknown GUID on error. 2014-12-02 11:40:01 +01:00
Carl Eugen Hoyos
7f6515e491 Also print GUIDs as shown in the Windows registry to ease debugging. 2014-12-02 11:39:06 +01:00
Carl Eugen Hoyos
ea5423a017 lavc/dirac_arith: Only compile x86 asm if ARCH_X86 is set.
Fixes ticket #3544.
2014-12-02 11:36:48 +01:00
Michael Niedermayer
42801505cd tests: Add vsynth2 which uses the new reference.pnm
The file is already present in git and by using it we can perform more tests
without the need of fate samples

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-02 03:39:56 +01:00
Michael Niedermayer
ed49b142bb tests: Rename vsynth2 to vsynth_lena
This avoids confusion with a growing number of vsynth tests

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-02 03:02:30 +01:00
Michael Niedermayer
24e7e0237b avformat/crypto: Use av_memdup()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-02 02:01:11 +01:00
Christian Suloway
00d4013d9f avformat/crypto: added encryption
Signed-off-by: Christian Suloway <csuloway@globaleagleent.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-02 01:46:10 +01:00
Christophe Gisquet
55a06b4619 doc: mention the noise_bsf parameter in the docs
This looks more like a seed than an amount, as the variable name
could lead to think.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-01 23:47:07 +01:00
Michael Niedermayer
9978916c53 Merge commit 'e4a77dc204f80a6876cbd91de9b71c30feebe119'
* commit 'e4a77dc204f80a6876cbd91de9b71c30feebe119':
  Make the RELEASE file match with the most recent tag

Conflicts:
	RELEASE

Not merged as the tag is not a FFmpeg version

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-01 21:33:07 +01:00
Michael Niedermayer
51f2422c2b avcodec/vorbisdec: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-01 20:07:09 +01:00
Michael Niedermayer
00d4759134 avcodec/opus_celt: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-01 20:03:23 +01:00
Michael Niedermayer
3384d76503 avcodec/wmaprodec: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-01 18:07:59 +01:00
Michael Niedermayer
24fdf7334d avformat/utils: Search harder for missing stream information in flv by default
Fixes Ticket4133

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-01 15:49:32 +01:00
Reinhard Tartler
e4a77dc204 Make the RELEASE file match with the most recent tag 2014-12-01 07:51:14 -05:00
Michael Niedermayer
b50e003e1c avcodec/motion_est: use 2x8x8 for interlaced qpel
Fixes out of array read
Fixes Ticket4121

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-01 13:41:16 +01:00
Andreas Cadhalpun
928322c15f doc: correct license template for t2h.pm
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-01 00:47:35 +01:00
Andreas Cadhalpun
b28652599d doc: fix spelling errors
succesfully => successfully, reproducable => reproducible, specifiying => specifying, isnt => isn't, seperated => separated

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-01 00:31:06 +01:00
Michael Niedermayer
8653419e9d avformat/mxfdec: Reset structural_components_count when allocation fails
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-30 23:25:19 +01:00
Mark Reid
e5d217f048 libavformat/mxfdec.c: initial support for EssenceGroups
Previous version reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-30 23:14:06 +01:00
Michael Niedermayer
21c0c0f9d4 LICENSE.md: Add tests/reference.pnm
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-30 19:12:22 +01:00
Michael Niedermayer
d828b08143 Merge commit '8895bf7b78650c0c21c88cec0484e138ec511a4b'
* commit '8895bf7b78650c0c21c88cec0484e138ec511a4b':
  Replace lena.pnm

Conflicts:
	tests/Makefile
	tests/ref/seek/vsynth2-asv1
	tests/ref/seek/vsynth2-asv2
	tests/ref/seek/vsynth2-ffv1
	tests/ref/seek/vsynth2-flashsv
	tests/ref/seek/vsynth2-flv
	tests/ref/seek/vsynth2-h261
	tests/ref/seek/vsynth2-h263
	tests/ref/seek/vsynth2-h263p
	tests/ref/seek/vsynth2-huffyuv
	tests/ref/seek/vsynth2-ljpeg
	tests/ref/seek/vsynth2-mjpeg
	tests/ref/seek/vsynth2-mpeg1
	tests/ref/seek/vsynth2-mpeg1b
	tests/ref/seek/vsynth2-mpeg2-422
	tests/ref/seek/vsynth2-mpeg2-idct-int
	tests/ref/seek/vsynth2-mpeg2-ilace
	tests/ref/seek/vsynth2-mpeg2-ivlc-qprd
	tests/ref/seek/vsynth2-mpeg2-thread
	tests/ref/seek/vsynth2-mpeg2-thread-ivlc
	tests/ref/seek/vsynth2-mpeg4
	tests/ref/seek/vsynth2-mpeg4-adap
	tests/ref/seek/vsynth2-mpeg4-error
	tests/ref/seek/vsynth2-mpeg4-nr
	tests/ref/seek/vsynth2-mpeg4-qpel
	tests/ref/seek/vsynth2-mpeg4-qprd
	tests/ref/seek/vsynth2-mpeg4-rc
	tests/ref/seek/vsynth2-mpeg4-thread
	tests/ref/seek/vsynth2-msmpeg4
	tests/ref/seek/vsynth2-msmpeg4v2
	tests/ref/seek/vsynth2-roqvideo
	tests/ref/seek/vsynth2-rv10
	tests/ref/seek/vsynth2-rv20
	tests/ref/seek/vsynth2-svq1
	tests/ref/seek/vsynth2-wmv1
	tests/ref/seek/vsynth2-wmv2
	tests/ref/vsynth/vsynth2-asv1
	tests/ref/vsynth/vsynth2-asv2
	tests/ref/vsynth/vsynth2-cljr
	tests/ref/vsynth/vsynth2-dnxhd-1080i
	tests/ref/vsynth/vsynth2-dnxhd-720p
	tests/ref/vsynth/vsynth2-dnxhd-720p-10bit
	tests/ref/vsynth/vsynth2-dnxhd-720p-rd
	tests/ref/vsynth/vsynth2-dv
	tests/ref/vsynth/vsynth2-dv-411
	tests/ref/vsynth/vsynth2-dv-50
	tests/ref/vsynth/vsynth2-ffv1
	tests/ref/vsynth/vsynth2-ffvhuff
	tests/ref/vsynth/vsynth2-flashsv
	tests/ref/vsynth/vsynth2-flv
	tests/ref/vsynth/vsynth2-h261
	tests/ref/vsynth/vsynth2-h263
	tests/ref/vsynth/vsynth2-h263-obmc
	tests/ref/vsynth/vsynth2-h263p
	tests/ref/vsynth/vsynth2-huffyuv
	tests/ref/vsynth/vsynth2-jpegls
	tests/ref/vsynth/vsynth2-ljpeg
	tests/ref/vsynth/vsynth2-mjpeg
	tests/ref/vsynth/vsynth2-mpeg1
	tests/ref/vsynth/vsynth2-mpeg1b
	tests/ref/vsynth/vsynth2-mpeg2
	tests/ref/vsynth/vsynth2-mpeg2-422
	tests/ref/vsynth/vsynth2-mpeg2-idct-int
	tests/ref/vsynth/vsynth2-mpeg2-ilace
	tests/ref/vsynth/vsynth2-mpeg2-ivlc-qprd
	tests/ref/vsynth/vsynth2-mpeg2-thread
	tests/ref/vsynth/vsynth2-mpeg2-thread-ivlc
	tests/ref/vsynth/vsynth2-mpeg4
	tests/ref/vsynth/vsynth2-mpeg4-adap
	tests/ref/vsynth/vsynth2-mpeg4-adv
	tests/ref/vsynth/vsynth2-mpeg4-error
	tests/ref/vsynth/vsynth2-mpeg4-nr
	tests/ref/vsynth/vsynth2-mpeg4-qpel
	tests/ref/vsynth/vsynth2-mpeg4-qprd
	tests/ref/vsynth/vsynth2-mpeg4-rc
	tests/ref/vsynth/vsynth2-mpeg4-thread
	tests/ref/vsynth/vsynth2-msmpeg4
	tests/ref/vsynth/vsynth2-msmpeg4v2
	tests/ref/vsynth/vsynth2-prores
	tests/ref/vsynth/vsynth2-qtrle
	tests/ref/vsynth/vsynth2-rgb
	tests/ref/vsynth/vsynth2-roqvideo
	tests/ref/vsynth/vsynth2-rv10
	tests/ref/vsynth/vsynth2-rv20
	tests/ref/vsynth/vsynth2-svq1
	tests/ref/vsynth/vsynth2-v210
	tests/ref/vsynth/vsynth2-wmv1
	tests/ref/vsynth/vsynth2-wmv2
	tests/ref/vsynth/vsynth2-yuv

See: c4abee734d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-30 18:39:21 +01:00
Michael Niedermayer
7944065114 Merge commit '0f257e29c5520b215e573e7e3abde8e5a4743309'
* commit '0f257e29c5520b215e573e7e3abde8e5a4743309':
  Treat all '*.pnm' files as non-text file

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-30 18:18:20 +01:00
Christophe Gisquet
4c592c3908 ffmpeg: take bsf arguments from the command line
The format is now:
-bsf:X filter1[=opt1=str1/opt2=str2],filter2
ie the parameters are appended after the filter name using '='. As ','
has been reserved already for the list of filters, '/' is just an
example of token separation for now, but that could become part of the
API to avoid each bsf using its own tokenization.

The proper solution would be using AVOption, but this is overkill for now.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-30 13:11:34 +01:00
Michael Niedermayer
0b5adc3520 avcodec/adxenc: fix rounding
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-30 12:56:02 +01:00
Michael Niedermayer
6b0ab561d0 avcodec/adxenc: match prediction used in the decoder
The prediction used in the encoder was not correct

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-30 12:52:56 +01:00
Michael Niedermayer
93f959b672 avcodec/atrac3: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-30 11:23:34 +01:00
Michael Niedermayer
1aca990bd9 avcodec/libmp3lame: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-30 11:21:50 +01:00
Michael Niedermayer
2fbb9e647c avcodec/wma: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-30 11:19:29 +01:00
Christophe Gisquet
6a2bfd52e5 h264_ps: move and export aspect_ratio
Needed for filters that may need it, like an SPS bsf.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-30 04:15:40 +01:00
Michael Niedermayer
e74f2be1ed avformat/riffdec: ask for samples with wav header size < 14
Based on commit by Hendrik Leppkes <h.leppkes@gmail.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-30 01:55:36 +01:00
Neil Birkbeck
e4788e9cd9 avfilter/vf_yadif: fix extra leading dup frame when deint=1
Logic for handling single frame in yadif (0f9f24c9), caused deint=1 (e.g., yadif=0👎1) to output extra duplicate leading frame:

ffmpeg -i fate-suite/ffmpeg-synthetic/vsynth1/%02d.pgm  -vf yadif=0👎1,showinfo -f null -y /dev/null
 [Parsed_showinfo_1 @ 0x1d967d0] n:0 pts:0 pts_time:0 pos:-1 fmt:gray sar:0/1 s:352x432 i:P iskey:1 type:I checksum:E457EEA0 plane_checksum:[E457EEA0] mean:[126] stdev:[46.6]
 [Parsed_showinfo_1 @ 0x1d967d0] n:1 pts:0 pts_time:0 pos:-1 fmt:gray sar:0/1 s:352x432 i:P iskey:1 type:I checksum:E457EEA0 plane_checksum:[E457EEA0] mean:[126] stdev:[46.6]
(Outputs 51 frames)

After patch, vf "yadif=0👎1" behaves correctly (like "yadif=0👎0") and outputs 50 frames, first two:

[Parsed_showinfo_1 @ 0x1e307d0] n:0 pts:0 pts_time:0 pos:-1 fmt:gray sar:0/1 s:352x432 i:P iskey:1 type:I checksum:68E8D1EB plane_checksum:[68E8D1EB] mean:[126] stdev:[46.0]
[Parsed_showinfo_1 @ 0x1e307d0] n:1 pts:2 pts_time:0.04 pos:-1 fmt:gray sar:0/1 s:352x432 i:P iskey:1 type:I checksum:4E674BC7 plane_checksum:[4E674BC7] mean:[125] stdev:[46.0]
(Outputs 50 frames)

Signed-off-by: Neil Birkbeck <neil.birkbeck@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-29 21:59:47 +01:00
Michael Niedermayer
fc9ced41e4 avcodec/twinvq: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-29 19:22:54 +01:00
Michael Niedermayer
2336c76d5a avcodec/ra288: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-29 19:22:32 +01:00
Michael Niedermayer
b0464212bd avcodec/on2avc: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-29 19:02:19 +01:00
Michael Niedermayer
14285c3331 avcodec/aacenc: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-29 18:58:13 +01:00
Michael Niedermayer
cae851c789 avcodec/ac3enc: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-29 18:54:27 +01:00
Michael Niedermayer
5bf4cd8e5b avutil/ppc/util_altivec: add () to VEC_SPLAT16 macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-29 13:40:33 +01:00
Michael Niedermayer
c299b6fd08 avutil/buffer: Move USE_ATOMICS to thread.h to avoid it becoming out of sync with it
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-29 12:26:22 +01:00
Dave Yeo
32eadfe453 libavutil/threads.h: correct an include to be local
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-29 11:56:28 +01:00
Dave Yeo
090a7801a8 libavutil/thread.h: Support OS/2 threads
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-29 11:56:22 +01:00
Vadim Kalinsky
2db29482f1 avutil/bprint: C++ compatible AVBPrint definition.
Previous version reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-29 03:51:35 +01:00
Lukasz Marek
0cb994dfe3 lavu/opt: add escaping to av_opt_serialize
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-29 00:58:42 +01:00
Reinhard Tartler
8895bf7b78 Replace lena.pnm
The new reference.pnm is a freely licensed replacement. The photo has
been taken by Reinhard Tartler on August 28 2014, and is licensed under
the expat license as stated at http://www.jclark.com/xml/copying.txt
2014-11-28 17:55:27 -05:00
Reinhard Tartler
0f257e29c5 Treat all '*.pnm' files as non-text file
This convinces the pre-receive hook to not consider all *.pnm files as
text files to reduce the patch sizes and avoids triggering whitespace
checks,

Contains a correction by Janne Grunau <janne-libav@jannau.net>
2014-11-28 17:52:43 -05:00
Neil Birkbeck
dd5d617956 avfilter/vf_idet: Fixing idet for single-frame inputs.
Handle single frame inputs similar to yadif (e.g., 0f9f24c9cf and 681e008d06)

Example:
  ffmpeg -r 1 -t 1 -i fate-suite/ffmpeg-synthetic/vsynth1/%02d.pgm  -vf idet,showinfo -f null -y /dev/null

Previously:
  Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)
  [Parsed_idet_0 @ 0x36389d0] Repeated Fields: Neither:     0 Top:     0 Bottom:     0

After patch:
  [Parsed_showinfo_1 @ 0x1909810] n:0 pts:0 pts_time:0 pos:-1 fmt:gray sar:0/1 s:352x432 ...
  [Parsed_idet_0 @ 0x18f9bb0] Repeated Fields: Neither:     1 Top:     0 Bottom:     0

Fate looks good.

Signed-off-by: Neil Birkbeck <neil.birkbeck@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 23:38:59 +01:00
Michael Niedermayer
27897d2ef6 Merge commit '491805636cef50d3f582bd345e1460eeb739ea48'
* commit '491805636cef50d3f582bd345e1460eeb739ea48':
  rtmpproto: Fix a typo in a comment

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 22:01:45 +01:00
Michael Stypa
cb58c771ad fix Makefile objects for pulseaudio support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 21:30:43 +01:00
Martin Storsjö
491805636c rtmpproto: Fix a typo in a comment
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-28 20:56:45 +02:00
Benoit Fouet
ebf2052a61 avcodec/pngdec: apng: fix output buffer filling when no blending is needed.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 17:55:18 +01:00
Michael Niedermayer
885a763cac avcodec/ppc/h264qpel_template: protect unistd.h by #if HAVE_UNISTD_H
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 16:11:02 +01:00
Benoit Fouet
af8804ac86 avcodec/pngdec: allow for some code path optimizations.
Use 'if (CONFIG_APNG_DECODER)' where needed, so that the compiler can
optimize out some portion of code.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 15:51:31 +01:00
Benoit Fouet
aff50ae1d1 avcodec/pngdec: do not blend on transparent black
There is no need to memset the zlib output buffer, as there is no
blending happening there. Instead, do not blend when the dispose
operation is set to 'background' (tranparent black).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 15:51:23 +01:00
Rong Yan
bd67d0ead1 avcodec/ppc/h264qpel: POWER LE support for put_pixels16_l2_altivec() and avg_pixels16_l2_altivec()
add put_unligned_store() and avg_unligned_store() macros

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 15:43:47 +01:00
Rong Yan
8cc5a78e45 avcodec/ppc/h264qpel_template: POWER LE support for PREFIX_h264_qpel16_h_lowpass_altivec() PREFIX_h264_qpel16_v_lowpass_altivec() PREFIX_h264_qpel16_hv_lowpass_altivec()
add load_alignment() macro

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 15:33:18 +01:00
Rong Yan
89f3043c7f avcodec/ppc/h264chroma_template: POWER LE support for PREFIX_h264_chroma_mc8_altivec() PREFIX_no_rnd_vc1_chroma_mc8_altivec() CHROMA_MC8_ALTIVEC_CORE_SIMPLE() CHROMA_MC8_ALTIVEC_CORE()
add marcos GET_VSRC1() GET_VSRC()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 15:32:38 +01:00
Rong Yan
57c89c50bd avcodec/ppc/h264dsp: POWER LE support for h264_idct8_add_altivec() h264_idct_dc_add_internal() h264_loop_filter_luma_altivec() write16x4() VEC_1D_DCT() weight_h264_W_altivec() biweight_h264_W_altivec() VEC_LOAD_U8_ADD_S16_STORE_U8() ALTIVEC_STORE_SUM_CLIP()
add marcos GET_2PERM() dstv_load() vdst_load() dest_unligned_store()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 15:30:02 +01:00
Michael Niedermayer
f001a2bd34 Merge commit 'fcae9f212a6001d966c52dc22cd4b22e9851b428'
* commit 'fcae9f212a6001d966c52dc22cd4b22e9851b428':
  dashenc: Avoid a VLA-like construct

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 12:52:13 +01:00
Michael Niedermayer
5ce070c16c Merge commit 'a9d8d35e4833fc4dfbf557ce73c84e9ca6224427'
* commit 'a9d8d35e4833fc4dfbf557ce73c84e9ca6224427':
  dashenc: Add options to make segment names configurable

Conflicts:
	libavformat/dashenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 12:50:38 +01:00
Michael Niedermayer
21ff626ce0 Merge commit '01eac895ab350027467ffbe7278740f89ae8be75'
* commit '01eac895ab350027467ffbe7278740f89ae8be75':
  rtmpproto: Only prepend @setDataFrame for onMetaData and |RtmpSampleAccess

Conflicts:
	libavformat/rtmpproto.c

See: 60fd790f38
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 12:31:59 +01:00
Michael Niedermayer
900fff89c9 Merge commit '44127b157e9f8acb837d4bb3a094f56b40da3ef5'
* commit '44127b157e9f8acb837d4bb3a094f56b40da3ef5':
  rtmppkt: Make pkt->data reallocable

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 12:14:26 +01:00
Michael Niedermayer
42a095d095 Merge commit '3c3b8003a13d9c3668c0bb6d79d2376da3b2b352'
* commit '3c3b8003a13d9c3668c0bb6d79d2376da3b2b352':
  rtmpproto: Simplify code for copying data into the output packet

Conflicts:
	libavformat/rtmpproto.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 11:57:33 +01:00
Michael Niedermayer
a105c1f204 Merge commit '857e6667f9061ae261c0b951113e4efc4329b05e'
* commit '857e6667f9061ae261c0b951113e4efc4329b05e':
  rtmpproto: Clarify a comment

Conflicts:
	libavformat/rtmpproto.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 11:35:08 +01:00
Martin Storsjö
fcae9f212a dashenc: Avoid a VLA-like construct
This fixes the build on compilers that interpreted the earlier
code as a variable length array (which we intentionally disallow).

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-28 11:55:42 +02:00
Bryan Huh
a9d8d35e48 dashenc: Add options to make segment names configurable
This allows one to specify templated segment names for init-segments,
media-segments, and for the base-url in the case of single-file.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-28 10:48:15 +02:00
Martin Storsjö
01eac895ab rtmpproto: Only prepend @setDataFrame for onMetaData and |RtmpSampleAccess
Currently, when streaming to an RTMP server, any time a packet of type
RTMP_PT_NOTIFY is encountered, the packet is prepended with @setDataFrame
before it gets sent to the server. This is incorrect; only packets for
onMetaData and |RtmpSampleAccess should invoke @setDataFrame on the RTMP
server. Specifically, the current bug manifests itself when trying to
stream onTextData or onCuePoint invocations.

This fix addresses that problem and ensures that the @setDataFrame is
only prepended for onMetaData and |RtmpSampleAccess.

Since data is fed to the rtmp_write function in smaller pieces (depending
on the calling IO buffer size), we can't generally assume that the
whole packet (or even the whole command string) is available at once,
therefore we can only check the command string once the full packet
has been transferred to us for sending.

Based on a patch by Jeffrey Wescott.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-28 09:59:29 +02:00
Martin Storsjö
44127b157e rtmppkt: Make pkt->data reallocable
We try to avoid mixing av_malloc with av_realloc, since av_malloc
may be implemented with functions that can't (formally) be mixed
with the functions used in av_realloc.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-28 09:59:28 +02:00
Martin Storsjö
3c3b8003a1 rtmpproto: Simplify code for copying data into the output packet
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-28 09:59:27 +02:00
Martin Storsjö
857e6667f9 rtmpproto: Clarify a comment
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-28 09:59:25 +02:00
Michael Niedermayer
ea38e5a6b7 avcodec/hevc_ps: Check num_long_term_ref_pics_sps
Fixes out of array access
Fixes: signal_sigsegv_35bd0f0_1182_cov_791726764_STRUCT_B_Samsung_4.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 03:57:13 +01:00
Benoit Fouet
cfd83a8af6 avcodec/pngdec: add support for 'over' blend operation for 'none' dispose operation.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 01:58:01 +01:00
Benoit Fouet
7dfee8d697 avcodec/pngdec: split P frames handling to a separate function.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 01:57:52 +01:00
Timo Rothenpieler
95fc80672f Move extralibs variables using ldl after ldl definition
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 01:31:41 +01:00
Michael Niedermayer
fae545ca2a Merge commit '1973079417e8701b52ba810a72cb6c7c6f7f9a56'
* commit '1973079417e8701b52ba810a72cb6c7c6f7f9a56':
  opusdec: make sure all substreams have the same number of coded samples

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 00:14:13 +01:00
Michael Niedermayer
449bd3c0c3 Merge commit '96fda42a8f9bf84beaaf7f5991d17f2a057de86c'
* commit '96fda42a8f9bf84beaaf7f5991d17f2a057de86c':
  vf_interlace: get rid of useless loads

See: ca59b5b6ec
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-27 23:46:45 +01:00
Michael Niedermayer
6db8cd8f37 Merge commit 'fbd6c97f9ca858140df16dd07200ea0d4bdc1a83'
* commit 'fbd6c97f9ca858140df16dd07200ea0d4bdc1a83':
  lavu: fix memory leaks by using a mutex instead of atomics

Conflicts:
	libavutil/buffer.c

The atomics code is left in place as a fallback for synchronization in the
absence of p/w32 threads. Our ABI did not requires applications to
only use threads (and matching ones) to what libavutil was build with
Our code also was not affected by the leak this change fixes, though
no question the atomics based implementation is not pretty at all.
First and foremost the code must work, being pretty comes after that.

If this causes problems, for example when libavutil is used by multiple
applications each using a different kind of threading system then the
default possibly has to be changed to the uglier atomics.

See: cea3a63ba3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-27 23:42:16 +01:00
Lukasz Marek
f00e9c4b10 lavu/opt: add consts where possible 2014-11-27 23:27:14 +01:00
Lukasz Marek
3ff3990104 ffmpeg_opt: make use of recommended encoder configuration
So far ffmpeg used recommended configuration only for codec priv options.
ffmpeg will use now codec defaults and then apply recommended configuration
for all options. Recommended configuration possibly contains minimal
set of options to filful user configuration.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-27 23:19:46 +01:00
Lukasz Marek
500d608861 lavf/ffmenc: store recommended encoder configuration
ffmenc will store recommended encoder configuration if present.
This will allow the user to base on local defaults and
apply only explicitly set options.

If recommended encoder configuration is not present, then
non-default context's options are stored.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-27 23:19:41 +01:00
Lukasz Marek
568853b8f5 lavf/ffmdec: add common options to recommended encoder configuration
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-27 23:19:20 +01:00
Michael Niedermayer
4760278007 Merge commit '2443e522f0059176ff8717c9c753eb6fe7e7bbf1'
* commit '2443e522f0059176ff8717c9c753eb6fe7e7bbf1':
  lavu: add wrappers for the pthreads mutex API

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-27 22:08:17 +01:00
Vincent Bernat
d0f8b94b43 avformat/rtpproto: Allow to specify DSCP class
By appending `?dscp=26` to the URL, IP packets will be classified as
AF31 (assured forwarding for multimedia flows with low probability of
loss). On congested network, this allows a user to assign priorities to
flows.

Signed-off-by: Vincent Bernat <vincent@bernat.im>
2014-11-27 19:53:09 +01:00
Vincent Bernat
5269cef408 avformat/udp: Allow to specify DSCP class
By appending `?dscp=26` to the URL, IP packets will be classified as
AF31 (assured forwarding for multimedia flows with low probability of
loss). On congested network, this allows a user to assign priorities to
flows.

Signed-off-by: Vincent Bernat <vincent@bernat.im>
2014-11-27 19:53:09 +01:00
Michael Niedermayer
970a8f1c25 avcodec/mjpegdec: Fix integer overflow in shift
Fixes: signal_sigabrt_7ffff6ac7bb9_2683_cov_4120310995_m_ijpg.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-27 19:30:31 +01:00
Clément Bœsch
92fa1d9231 avformat/mov: change conjugation for "Duplicate" 2014-11-27 18:13:57 +01:00
Clément Bœsch
5ab882d728 avformat/mov: strengthen some table allocations 2014-11-27 18:12:40 +01:00
Michael Niedermayer
98e8a9e2f2 ffmpeg: Print a debug message if the frame parameters mismatch the context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-27 15:47:49 +01:00
Michael Niedermayer
57e5812198 avcodec/hevc_ps: More complete window reset
Fixes out of array read
Fixes: signal_sigsegv_35bcf26_471_cov_2806540268_CAINIT_A_SHARP_4.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-27 15:47:49 +01:00
Stefano Sabatini
29208e6dcf lavu/imgutils: remove redundant and wrong check in av_image_fill_arrays 2014-11-27 14:24:16 +01:00
Anton Khirnov
1973079417 opusdec: make sure all substreams have the same number of coded samples
Fixes invalid writes with invalid multichannel streams.

CC:libav-stable@libav.org
2014-11-27 14:06:03 +01:00
Kieran Kunhya
96fda42a8f vf_interlace: get rid of useless loads
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-11-27 13:57:50 +01:00
wm4
fbd6c97f9c lavu: fix memory leaks by using a mutex instead of atomics
The buffer pool has to atomically add and remove entries from the linked
list of available buffers. This was done by removing the entire list
with a CAS operation, working on it, and then setting it back again
(using a retry-loop in case another thread was doing the same thing).

This could effectively cause memory leaks: while a thread was working on
the buffer list, other threads would allocate new buffers, increasing
the pool's total size. There was no real leak, but since these extra
buffers were not needed, but not free'd either (except when the buffer
pool was destroyed), this had the same effects as a real leak. For some
reason, growth was exponential, and could easily kill the process due
to OOM in real-world uses.

Fix this by using a mutex to protect the list operations. The fancy
way atomics remove the whole list to work on it is not needed anymore,
which also avoids the situation which was causing the leak.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-11-27 13:36:00 +01:00
Anton Khirnov
2443e522f0 lavu: add wrappers for the pthreads mutex API
Also add no-op fallbacks when threading is disabled.

This helps keeping the code clean if Libav is compiled for targets
without threading. Since we assume that no threads of any kind are used
in such configurations, doing nothing is ok by definition.

Based on a patch by wm4 <nfxjfg@googlemail.com>.
2014-11-27 13:36:00 +01:00
Matthew Oliver
0167fa0060 msvc: Fix compilation errors due to header include order.
Ensures that the header include order is such that winsock2.h is always
included before windows.h or that windows.h does not include winsock.h.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-27 12:40:18 +01:00
Rong Yan
22e557917d libavutil/ppc/util_altivec.h : fix load_with_perm_vec() add marcos vcswapi2s() vcswapc() VEC_SPLAT16() VEC_SLD16() for POWER LE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-27 12:07:19 +01:00
Michael Niedermayer
4ae1d6021b Merge commit '675ac56b7ee0f204963fde55295197c5df80aa91'
* commit '675ac56b7ee0f204963fde55295197c5df80aa91':
  Revert "lavf: Don't try to update files atomically with renames on windows"

Conflicts:
	libavformat/dashenc.c
	libavformat/hdsenc.c
	libavformat/internal.h
	libavformat/smoothstreamingenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-27 11:52:33 +01:00
Michael Niedermayer
cc663bd13a Merge commit '79fd186a5035cf16fc0ab288d8f59da8b1ba2c0e'
* commit '79fd186a5035cf16fc0ab288d8f59da8b1ba2c0e':
  lavf: Use MoveFileEx instead of rename/_wrename on windows

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-27 11:35:54 +01:00
Michael Niedermayer
097de4d1d6 Merge commit '9326d64ed1baadd7af60df6bbcc59cf1fefede48'
* commit '9326d64ed1baadd7af60df6bbcc59cf1fefede48':
  Share the utf8 to wchar conversion routine between lavf and lavu

Conflicts:
	libavformat/os_support.h
	libavutil/file_open.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-27 11:10:26 +01:00
Martin Storsjö
675ac56b7e Revert "lavf: Don't try to update files atomically with renames on windows"
This reverts commit b9d08c77a4.

After taking MoveFileEx into use, we can replace files with renames
on windows as well.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-27 09:29:47 +02:00
Martin Storsjö
79fd186a50 lavf: Use MoveFileEx instead of rename/_wrename on windows
This allows getting the normal unix semantics, where a rename
allows replacing an existing file.

Based on a suggestion by Reimar Döffinger.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-27 09:29:29 +02:00
Martin Storsjö
9326d64ed1 Share the utf8 to wchar conversion routine between lavf and lavu
This doesn't add any dependency on library internals, since this
only is a static inline function that gets built into each of the
calling functions - this is only to reduce the code duplication.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-27 09:29:17 +02:00
Michael Niedermayer
9f9440bd81 avcodec/hevc_ps: Check return code from pps_range_extensions()
Fixes out of array read
Fixes: asan_heap-oob_177e222_885_cov_1532528832_MERGE_D_TI_3.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-27 03:01:32 +01:00
Benoit Fouet
e2b8b4caf6 avformat/apngdec: validate frame dimensions.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-26 23:51:07 +01:00
Lukasz Marek
345cfd04d0 lavc/options: fix leaks in avcodec_free_context
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-26 23:32:33 +01:00
Lukasz Marek
3d0867917f ffserver: dont leak pb_buffer 2014-11-26 23:32:33 +01:00
Lukasz Marek
3cb0bec687 ffserver: dont leak child arguments
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-26 23:32:33 +01:00
Lukasz Marek
ec6e035b8b ffserver: export recommented encoder configuration
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-26 23:32:33 +01:00
Lukasz Marek
aaf6cc925f ffserver: allow skip setting defaults
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-26 23:32:33 +01:00
Lukasz Marek
6c2ed67c2f ffserver_config: remove ffserver_apply_stream_config function
This function became very short and can be logically merged with add_codec().

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-26 23:32:33 +01:00
Lukasz Marek
f61cb6453d ffserver_config: map ffserver options to AVOptions
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-26 23:32:29 +01:00
Lukasz Marek
d57a6d2087 ffserver_config: cosmetic: move line_num into FFServerConfig
Moving line_num into FFServerConfig as parser state,
saves many passes of it aside of FFServerConfig pointer.
2014-11-26 23:19:24 +01:00
Lukasz Marek
e98aced699 ffserver_config: cosmetic: simplify functions calls.
ffserver_save_avoption() and ffserver_opt_preset() have
redundant arguments. They can be obtained basing on media type.
This simplifies uses and reduce chance for a mistake.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-26 23:19:24 +01:00
Clément Bœsch
c2ea7069c4 avfilter/signalstats: re-use yuv/yuvu/yuvv vars in diff 2014-11-26 21:29:09 +01:00
Clément Bœsch
9cb1d81a60 avfilter/signalstats: localize a few variables 2014-11-26 21:29:09 +01:00
Clément Bœsch
82dda8e4ea avfilter/signalstats: add threading in compute_sat_hue_metrics 2014-11-26 21:29:09 +01:00
Clément Bœsch
7acbd56a8a avfilter/signalstats: isolate sat hue computation metrics in a function
This will be useful for the following commit
2014-11-26 21:29:09 +01:00
Clément Bœsch
9db78a296c avfilter/signalstats: add slice threading for subfilters 2014-11-26 21:29:09 +01:00
Clément Bœsch
fad6865748 avfilter/signalstats: fix repitition/repetition typo 2014-11-26 21:29:09 +01:00
Clément Bœsch
cc5c667eb1 avfilter/signalstats: reindent after previous commit 2014-11-26 21:29:08 +01:00
Clément Bœsch
56b98dfc4f avfilter/signalstats: integrate height loop into subfilters 2014-11-26 21:29:08 +01:00
Clément Bœsch
c7e8f610f2 avfilter/signalstats: remove pointless sub filter init system 2014-11-26 21:29:08 +01:00
Clément Bœsch
b424e67abf avfilter/signalstats: fix different buffers for out frame if burn is enabled
This was the original intend.
2014-11-26 21:29:08 +01:00
Kieran Kunhya
36091742d1 v210enc: Add SIMD optimised 8-bit and 10-bit encoders
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-26 20:30:47 +01:00
Michael Niedermayer
1d3a3b9f89 avcodec/rawdec: Check the return code of avpicture_get_size()
Fixes out of array access
Fixes: asan_heap-oob_22388d0_3435_cov_3297128910_small_roll5_FlashCine1.cine
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-26 19:01:17 +01:00
Michael Niedermayer
1b5d112406 avformat/mov: Fix memleaks for duplicate STCO/CO64/STSC atoms
Also see [FFmpeg-devel] [PATCH] avformat/mov: strengthen some table allocations
which contains more fixes but is unfinished

Fixes: signal_sigabrt_7ffff6ac7bb9_3484_cov_1830000177_starfox2.mov
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-26 18:36:17 +01:00
Michael Niedermayer
9a53707e86 avcodec/pngdec: Fix paeth prediction with small images
Fixes out of array read
Fixes: asan_heap-oob_20b0a06_1962_cov_1907976991_delete_node_small.png
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-26 17:01:26 +01:00
Michael Niedermayer
79ceaf827b avcodec/pngdec: Check IHDR/IDAT order
Fixes out of array access
Fixes: asan_heap-oob_20a6c26_2690_cov_3434532168_mail.png
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-26 16:00:01 +01:00
Benoit Fouet
8b8cb30d11 avformat/apngdec: use packet pts and duration instead of altering stream framerate.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-26 12:41:56 +01:00
Michael Niedermayer
0df95fa327 Merge commit '234fb81e3145e9c9aec4ec16266676fab7dc21fa'
* commit '234fb81e3145e9c9aec4ec16266676fab7dc21fa':
  movenc: Expose the fragment index as an avoption

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-26 12:27:01 +01:00
Michael Niedermayer
b78074fd13 Merge commit 'ee37620b6ae4783cda637408422044b2d14a688c'
* commit 'ee37620b6ae4783cda637408422044b2d14a688c':
  movenc: Add a flag for indicating a discontinuous fragment

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-26 11:27:17 +01:00
Martin Storsjö
234fb81e31 movenc: Expose the fragment index as an avoption
This allows setting the right fragment number if doing
random-access writing of fragments, and also allows reading the
current sequence number.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-26 09:58:13 +02:00
Martin Storsjö
ee37620b6a movenc: Add a flag for indicating a discontinuous fragment
This allows creating a later mp4 fragment without sequentially
writing the earlier ones before (when called from a segmenter).

Normally when writing a fragmented mp4 file sequentially, the
first timestamps of a fragment are adjusted to match the
end of the previous fragment, to make sure the timestamp is the
same, even if it is calculated as the sum of previous fragment
durations. (And for the first packet in a file, the offset of
the first packet is written using an edit list.)

When writing an individual mp4 fragment discontinuously like this
(with potentially writing the earlier fragments separately later),
there's a risk of getting a gap in the timeline if the duration
field of the last packet in the previous fragment doesn't match up
with the start time of the next fragment.

Using this requires setting -avoid_negative_ts make_non_negative
(or -avoid_negative_ts 0).

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-26 09:56:56 +02:00
Michael Niedermayer
5f30522894 avcodec/flacdec: fix off by 1 error
Fixes assertion failure
Fixes: signal_sigsegv_324b284_1980_dilvie___the_dragonfly.flac
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-26 04:11:16 +01:00
Michael Niedermayer
e5c01ccdf5 avcodec/flacdec: Call ff_flacdsp_init() unconditionally
Fixes out of array access
Fixes: signal_sigsegv_324b135_3398_cov_246853371_short.flac
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-26 04:11:08 +01:00
Michael Niedermayer
2ad38c6e02 avformat/mxfdec: dont ask for samples with field dominance 0 anymore
Based on discussion and patch from
"[FFmpeg-devel] [PATCH]Do not ask for mxf samples with unknown field dominance"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-26 02:07:57 +01:00
Benoit Fouet
4acefd2521 avformat/apngdec: account for blend and dispose operations.
When the dimensions are the entire frame ones, and the dispose operation
is to reset to background, or the new frame overwrites the new one, then
consider the frame as a key one.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-26 00:59:45 +01:00
Carl Eugen Hoyos
5badcdf20d Rename sync() functions in libavformat.
Fixes compilation on Android where the sync() definition in
unistd.h interferes with the static definitions in libavformat.
2014-11-25 23:49:58 +01:00
Lukasz Marek
1907ff0a67 lavc/utils: free private options on avcodec_open2 fail
It protects leaking string/binary/dict options from priv context.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-25 23:09:16 +01:00
Lukasz Marek
ea0d893817 lavu/opt: handle NULL obj in av_opt_next
It indirectly also fixes av_opt_free for NULL objs.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-25 23:09:16 +01:00
Lukasz Marek
2a89afb376 lavc/libxvid: return meaningful error codes
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-25 22:18:08 +01:00
Lukasz Marek
e29153f414 lavc/avuienc: fix mem leak in case of init failure
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-25 22:18:08 +01:00
Michael Niedermayer
23e91a1bfd Merge commit 'f20141d73f08ed0c8e875bd993a7143e19b266e3'
* commit 'f20141d73f08ed0c8e875bd993a7143e19b266e3':
  vorbis_parser: Include stdint.h in the header, to make it work standalone

See: e2e36a739d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 21:38:13 +01:00
Benoit Fouet
155f4dd668 doc: add entry for APNG demuxer where needed.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 18:28:32 +01:00
Yu Xiaolei
bc3d02fa88 lavf/avio: clarify the buffer parameter of avio_alloc_context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 18:19:00 +01:00
Michael Niedermayer
2f1de5ca13 avcodec/huffyuvdec: apply vertical filter in steps of 1 line for interlaced BGRA
Fixes out of array read
Fixes: signal_sigsegv_3287332_2301_cov_2994954934_huffyuv.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 17:53:27 +01:00
Michael Niedermayer
d0879a93ea avformat/os_support: try to fix build when included from a c++ file like libavdevice/decklink*cpp
Found-by: Zeranoe
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 17:07:02 +01:00
Michael Niedermayer
8cd80b5fcb avformat/jacosubdec: Cleanup when avpriv_bprint_to_extradata() fails
Fixes memleaks
Fixes: asan_heap-oob_4d2250_814_cov_2745172097_JACOsub_capability_tester.jss
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 15:20:54 +01:00
Michael Niedermayer
3d5d95db3f avcodec/utils: Check that the data is complete in avpriv_bprint_to_extradata()
Fixes out of array read
Fixes: asan_heap-oob_4d2250_814_cov_2745172097_JACOsub_capability_tester.jss
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 14:48:04 +01:00
Michael Niedermayer
0eecf40935 avcodec/mjpegdec: Fix context fields becoming inconsistent
Fixes out of array access
Fixes: asan_heap-oob_1ca4f85_2760_cov_144449187_miss_congeniality_pegasus_ljpg.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 13:54:20 +01:00
Martin Storsjö
f20141d73f vorbis_parser: Include stdint.h in the header, to make it work standalone
This fixes "make checkheaders".

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-25 14:01:46 +02:00
Michael Niedermayer
ca59b5b6ec avfilter/x86/vf_interlace: remove redundant instructions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 12:37:19 +01:00
Michael Niedermayer
3fe3c8abb1 Merge commit 'ca5c3ff90972a5c97aabda2ace57ba72dcd7d83b'
* commit 'ca5c3ff90972a5c97aabda2ace57ba72dcd7d83b':
  vf_interlace: x86: improve asm performance

Conflicts:
	libavfilter/x86/vf_interlace.asm

See: 05e4b25e9b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 12:31:45 +01:00
Michael Niedermayer
8c9945285e Merge commit '57ed5a64feec4af1f16f9a74c63cfa9aa8147242'
* commit '57ed5a64feec4af1f16f9a74c63cfa9aa8147242':
  hnm4: change width/height to int to fix hypothetical integer overflows

See: e23b18321f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 12:27:42 +01:00
Michael Niedermayer
ba1a19bc35 Merge commit '16158da9607f2f84232d3dd381406b2f2449ec74'
* commit '16158da9607f2f84232d3dd381406b2f2449ec74':
  hnm4: Use av_image_check_size

See: e23b18321f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 12:19:08 +01:00
Michael Niedermayer
0e85a28fa4 Merge commit '51946d2de8bd4a4aada43b6ab41340b0f5eb4ecb'
* commit '51946d2de8bd4a4aada43b6ab41340b0f5eb4ecb':
  vc1: Use the correct shift amount

See: a52f443714
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 12:15:01 +01:00
Michael Niedermayer
79f77ce31c Merge commit 'd25afb579facc83fd3a839f21411124d0b09f0ba'
* commit 'd25afb579facc83fd3a839f21411124d0b09f0ba':
  vc1: Set the is_intra bitfield to all 1 when needed

Conflicts:
	libavcodec/vc1_block.c

See: 04152a31cb
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 12:00:11 +01:00
Michael Niedermayer
ed25ca1661 Merge commit 'b67138598ce158e3083f6295a27b63e2065d5ecb'
* commit 'b67138598ce158e3083f6295a27b63e2065d5ecb':
  vc1: Simplify a little setting the intra variables

Conflicts:
	libavcodec/vc1_block.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 11:33:51 +01:00
Michael Niedermayer
bcccb2c298 Merge commit '62e52b94e684491dfc5a6b7ca688bb86f7cd0f3f'
* commit '62e52b94e684491dfc5a6b7ca688bb86f7cd0f3f':
  vorbis_parser: Move vp check to avoid a null pointer dereference

See: 374c907fb3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 11:20:27 +01:00
Michael Niedermayer
a63ec9d573 Merge commit 'c117da9d3e0db7dc311d817054988364b3ef4587'
* commit 'c117da9d3e0db7dc311d817054988364b3ef4587':
  lpc: remove unneeded {}

See: 85929b9caa
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 11:18:58 +01:00
Michael Niedermayer
0aa208837e Merge commit 'bc75b64cff37d58f3944e2da3da45c37f35f019a'
* commit 'bc75b64cff37d58f3944e2da3da45c37f35f019a':
  vc1pred: remove logically dead code

Conflicts:
	libavcodec/vc1_pred.c

See: fca435fee1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 11:05:15 +01:00
Carl Eugen Hoyos
1f3d478898 avdevice/decklink_common: Fix "Cross-compiling FFmpeg on Debian for Windows with MinGW-w64"
Fixes Ticket4130

Requested and Tested by: Zeranoe
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 04:40:49 +01:00
Michael Niedermayer
67dbf8bec9 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Include config.h from huffyuvdsp.h.
  Include stddef from snow_dwt.h.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 04:12:26 +01:00
Michael Niedermayer
c724c82a78 doc/print_options: Fix build on mingw after 960aff379d
A cleaner fix is very welcome

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 04:04:00 +01:00
Michael Niedermayer
60420fa3dc avdevice/dshow: fix build, ensure that feature enable #defines are set before includes
dshow_capture.h sets up various flags before including windows headers
this must occur before other headers (like os_support.h) include these
headers without the setup

This could be fixed differently but for now this fixes building on mingw

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 04:02:48 +01:00
Michael Niedermayer
ca5c3ff909 vf_interlace: x86: improve asm performance
4775 decicycles -> 3688 decicycles
2014-11-25 02:00:06 +00:00
Michael Niedermayer
57ed5a64fe hnm4: change width/height to int to fix hypothetical integer overflows
CC: libav-stable@libav.org
Bug-Id: CID 1135770 / CID 1135771
2014-11-25 02:00:06 +00:00
Luca Barbato
16158da960 hnm4: Use av_image_check_size
As done for all the other codecs not calling it indirectly.

CC: libav-stable@libav.org
Bug-Id: CID 1135770 / CID 1135771
2014-11-25 02:00:06 +00:00
Michael Niedermayer
51946d2de8 vc1: Use the correct shift amount
`is_intra` is a 6bits bitfield.

CC: libav-stable@libav.org
Bug-Id: CID 1194380 / CID 1194381

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-11-25 02:00:06 +00:00
Luca Barbato
d25afb579f vc1: Set the is_intra bitfield to all 1 when needed
Keep the code as similar as possible across the codepaths to
ease spotting it for factorization.

Based on a patch from Michael Niedermayer <michaelni@gmx.at>.
2014-11-25 02:00:06 +00:00
Luca Barbato
b67138598c vc1: Simplify a little setting the intra variables
The code currently set the information in at least 4 places, spare
some pointless loops.

Make the code in the loop a little uniform to make easier factorize
it out later.
2014-11-25 02:00:06 +00:00
Michael Niedermayer
62e52b94e6 vorbis_parser: Move vp check to avoid a null pointer dereference
CC: libav-stable@libav.org
Bug-Id: CID 1251347
2014-11-25 02:00:06 +00:00
Michael Niedermayer
c117da9d3e lpc: remove unneeded {}
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 02:00:06 +00:00
Vittorio Giovara
bc75b64cff vc1pred: remove logically dead code
CC: libav-stable@libav.org
Bug-Id: CID 1245699 / CID 1245700
2014-11-25 02:00:06 +00:00
Michael Niedermayer
ecfafc5f2b Merge commit '960aff379da46dcaff61504a57714d4d4e758e41'
* commit '960aff379da46dcaff61504a57714d4d4e758e41':
  lavf: Use wchar functions for filenames on windows for mkdir/rmdir/rename/unlink

Conflicts:
	libavformat/os_support.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 02:52:54 +01:00
Michael Niedermayer
71ecfcf2d3 Merge commit 'b9d08c77a44390b0848c06f20bc0e9e951ba6a3c'
* commit 'b9d08c77a44390b0848c06f20bc0e9e951ba6a3c':
  lavf: Don't try to update files atomically with renames on windows

Conflicts:
	libavformat/dashenc.c
	libavformat/hdsenc.c
	libavformat/internal.h
	libavformat/smoothstreamingenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 02:14:15 +01:00
Carl Eugen Hoyos
20f3cdf0c8 Include config.h from huffyuvdsp.h.
Fixes a warning about undefined HAVE_BIGENDIAN when running make checkheaders.
2014-11-25 02:00:27 +01:00
Carl Eugen Hoyos
0e3ea5b28a Include stddef from snow_dwt.h.
Fixes make checkheaders.
2014-11-25 02:00:27 +01:00
Michael Niedermayer
b83beb131f Merge commit '40665d27e38e6a2f65037878202bd1a398c7683e'
* commit '40665d27e38e6a2f65037878202bd1a398c7683e':
  flvdec: Document how the duration is retrieved at the end of the file

Conflicts:
	libavformat/flvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 01:56:05 +01:00
Michael Niedermayer
172d22a071 avcodec/mjpegdec: Add YUVA420 formats to *scale asserts
Fixes assertion failure
Fixes: signal_sigabrt_7ffff6ac7bb9_2042_cov_2593130068_ef1f8a057bb6056674fad92f6b8c0acd.jpg
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 01:42:39 +01:00
Michael Niedermayer
03a17f2bbf avcodec/mjpegdec: Print the number of bits in the unsupported pixel format error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 01:34:32 +01:00
Michael Niedermayer
0bf416f262 avcodec/mjpegdec: Check for pixfmtid 0x42111100 || 0x24111100 with more than 8 bits
These cases are not supported yet

Fixes assertion failure
Fixes: signal_sigabrt_7ffff6ac7bb9_1_cov_1553101927_00.jpg
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-25 01:23:21 +01:00
Martin Storsjö
960aff379d lavf: Use wchar functions for filenames on windows for mkdir/rmdir/rename/unlink
This makes sure that the internal utf8 path names are handled
properly - the normal file handling functions assume path names
are in the native codepage, which isn't utf8.

This assumes that the tools outside of lavf don't use the mkdir
definition. (The tools don't do the same reading of command line
parameters as wchar either - they probably won't handle all possible
unicode file parameters properly, but at least work more predictably
if no utf8/wchar conversion is involved.)

This is moved further down in os_support.h, since windows.h shouldn't
be included before winsock2.h, while io.h needs to be included before
the manual defines for lseek functions.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-24 23:36:29 +02:00
Martin Storsjö
b9d08c77a4 lavf: Don't try to update files atomically with renames on windows
On windows, rename(2) will fail if the target file exists. On
unix this trick is used to make sure that people reading the file
either will get the full previous file, or the full new version
of the file, but no intermediate version.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-24 23:34:44 +02:00
Uwe L. Korn
40665d27e3 flvdec: Document how the duration is retrieved at the end of the file
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-24 23:34:30 +02:00
Michael Niedermayer
e6ea75c5e6 doc/examples/decoding_encoding: fix storing all channels
Fixes Ticket3355

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-24 22:01:33 +01:00
Benoit Fouet
9e1cfbd38a avformat/apngdec: transmit all the chunks between consecutive fcTL ones.
In order to support multiple IDAT of fdAT chunks following an fcTL one,
transmit all the chunks between two fcTL ones (or between fcTL and IEND
one).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-24 21:10:03 +01:00
wm4
f41cf2e09e avformat/rawdec: raw formats have no timestamps
Some raw demuxers already had AVFMT_NOTIMESTAMPS set. Add it for all the
others.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-24 19:58:26 +01:00
Rodger Combs
39f247121e ffmpeg: fix accurate seeking with -copyts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-24 17:31:26 +01:00
Boris Reisig
54170a33c2 avdevice/xcbgrab: fix undefined reference to xcb_shape_rectangles in xcbgrab.c
works with (--enable-libxcb-shape)  and without (--disable-libxcb-shape) now.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-24 16:57:47 +01:00
Michael Niedermayer
1d242f9816 avformat/mpegenc: assert that premux_packet is non null
Based on: 065923b078
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-24 16:54:06 +01:00
Michael Niedermayer
9a57309665 Merge commit 'fe42f94ce1023f9c2f7e86404c60afcee5b078a9'
* commit 'fe42f94ce1023f9c2f7e86404c60afcee5b078a9':
  dashenc: Don't segment all video streams when one stream gets a keyframe

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-24 14:07:35 +01:00
Michael Niedermayer
7a19a8fb69 Merge commit '6f26f14f134e753d6168591f30815b1c08c1498b'
* commit '6f26f14f134e753d6168591f30815b1c08c1498b':
  sidxindex: Write mimeType=audio/mp4 for audio-only representations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-24 14:01:50 +01:00
Michael Niedermayer
96398cc123 Merge commit '208f3abb917757743313da0da714e525e03159d2'
* commit '208f3abb917757743313da0da714e525e03159d2':
  aacsbr: always initialize max_qmf_subbands

See: c6d3b3be15
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-24 13:48:31 +01:00
Michael Niedermayer
f41d409b7a Merge commit '55b59fab880a9fcdd30f97c5170af282087ac4f7'
* commit '55b59fab880a9fcdd30f97c5170af282087ac4f7':
  roqaudio: Always use the frame buffer on flush

Conflicts:
	libavcodec/roqaudioenc.c

See: a1af505d66
See: c0b17ea106
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-24 13:40:06 +01:00
Michael Niedermayer
d2e0543766 Merge commit '0562887a984388fdc7a9b71c9374ff9c756fb4f1'
* commit '0562887a984388fdc7a9b71c9374ff9c756fb4f1':
  tiffenc: initialize return value

Conflicts:
	libavcodec/tiffenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-24 13:28:57 +01:00
Michael Niedermayer
1db2d39dfd Merge commit '299d8ab104fb350254eb2e6d9ecdce892a2a55b1'
* commit '299d8ab104fb350254eb2e6d9ecdce892a2a55b1':
  cook: Make sure there is enough extradata

See: c9e4554329
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-24 13:18:41 +01:00
Michael Niedermayer
4fecf170d7 Merge commit '30b8eb0f87b0eaefdc115ef38f8ad87dd3a6e50b'
* commit '30b8eb0f87b0eaefdc115ef38f8ad87dd3a6e50b':
  sol: simplify sol_codec_id()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-24 13:10:16 +01:00
Michael Niedermayer
bcaef717ec Merge commit 'b99ca863506f0630514921b740b78364de67a3ff'
* commit 'b99ca863506f0630514921b740b78364de67a3ff':
  aacdec: avoid an out-of-bounds write

Conflicts:
	libavcodec/aacdec.c

See: ba02069a8e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-24 13:09:35 +01:00
Michael Niedermayer
932d8d790c Merge commit '277ff7f5dc134f1c2dfc4ea0ef3540340482e3d2'
* commit '277ff7f5dc134f1c2dfc4ea0ef3540340482e3d2':
  lavu: move internal define to the only places where it is used

Conflicts:
	libavcodec/h264_cabac.c
	libavutil/internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-24 12:45:07 +01:00
Michael Niedermayer
010adacbe2 Merge commit '065923b0781b06a2604f69f4e2c2407b7750a854'
* commit '065923b0781b06a2604f69f4e2c2407b7750a854':
  mpegenc: prevent a NULL pointer dereference

Not merged, this is not needed, and could hide more serious issues

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-24 12:29:12 +01:00
Michael Niedermayer
ea41e6d637 Merge commit '9c12c6ff9539e926df0b2a2299e915ae71872600'
* commit '9c12c6ff9539e926df0b2a2299e915ae71872600':
  motion_est: convert stride to ptrdiff_t

Conflicts:
	libavcodec/me_cmp.c
	libavcodec/ppc/me_cmp.c
	libavcodec/x86/me_cmp_init.c

See: 9c669672c7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-24 12:13:00 +01:00
Martin Storsjö
fe42f94ce1 dashenc: Don't segment all video streams when one stream gets a keyframe
This makes sure that segments actually start at a keyframe (and
makes sure we don't split segments twice in a row, with one segment
consisting of only a handful of packets), when one stream uses b-frames
while another one doesn't.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-24 11:09:40 +02:00
Martin Storsjö
6f26f14f13 sidxindex: Write mimeType=audio/mp4 for audio-only representations
This fixes playback with dash.js, when the input is one separate
mp4 file per track.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-24 09:23:14 +02:00
Michael Niedermayer
b4d8724ab2 avutil/file: fix av_tempfile() documentation
Found-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-24 04:59:02 +01:00
Lukasz Marek
c9d39fc8c6 lavc/huffyuvdec: fix mem leak in case of init failure
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-24 04:15:48 +01:00
Lukasz Marek
02cb7d4c9c lavc/smvjpegdec: fix mem leak in case of init failure
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-24 04:15:41 +01:00
Lukasz Marek
efe34e87eb lavc/libxvid: fix mem leak in case of init failure
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-24 04:15:24 +01:00
Vittorio Giovara
208f3abb91 aacsbr: always initialize max_qmf_subbands
Fixes a wordly warning from clang -Wsometimes-uninitialized.
2014-11-24 01:30:15 +00:00
Michael Niedermayer
55b59fab88 roqaudio: Always use the frame buffer on flush
Prevent NULL dereference.

CC: libav-stable@libav.org
Bug-Id: CID 703669
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-11-24 01:30:15 +00:00
Vittorio Giovara
0562887a98 tiffenc: initialize return value
'ret' can only be used without initialization if s->height <= 0, which can
only happen if avctx->height <= 0, which is validated elsewhere. Doesn't hurt
to still initialize it though.

CC: libav-stable@libav.org
Bug-Id: CID 732296
2014-11-24 01:30:15 +00:00
Luca Barbato
299d8ab104 cook: Make sure there is enough extradata
At least 8 bytes are needed (Mono audio).

Bug-Id: CID 741418
CC: libav-stable@libav.org
2014-11-24 01:30:15 +00:00
Vittorio Giovara
30b8eb0f87 sol: simplify sol_codec_id()
Bug-Id: CID 1238993
2014-11-24 01:30:15 +00:00
Vittorio Giovara
b99ca86350 aacdec: avoid an out-of-bounds write
Also move the check in the case it is actually used.

CC: libav-stable@libav.org
Bug-Id: CID 1087090
2014-11-24 01:30:15 +00:00
Vittorio Giovara
277ff7f5dc lavu: move internal define to the only places where it is used 2014-11-24 01:30:14 +00:00
Vittorio Giovara
065923b078 mpegenc: prevent a NULL pointer dereference
CC: libav-stable@libav.org
Bug-Id: CID 29261
2014-11-24 01:30:14 +00:00
Vittorio Giovara
9c12c6ff95 motion_est: convert stride to ptrdiff_t
CC: libav-stable@libav.org
Bug-Id: CID 700556 / CID 700557 / CID 700558
2014-11-24 01:30:10 +00:00
Michael Niedermayer
5182a2a235 avutil: remove FF_CONST_AVUTIL53, its no longer needed
version is 54 already

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-24 02:22:19 +01:00
Michael Niedermayer
8294f5042d Changelog: remove 24bit lossless wma entry for now, some samples work others do not yet work
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-24 00:36:58 +01:00
Jeffrey Wescott
60fd790f38 avformat/rtmpproto: only prepend @setMetaData for onMetaData and |RtmpSampleAccess
In current versions of ffmpeg, when streaming to an RTMP server, anytime a packet of type
RTMP_PT_NOTIFY is encountered, the packet is prepended with @setDataFrame before it gets sent
to the server. This is incorrect; only packets for onMetaData and |RtmpSampleAccess should
invoke @setDataFrame on the RTMP server. Specifically, the current bug manifests
itself when trying to stream onTextData or onCuePoint invocations.

This fix addresses that problem and ensures that the @setDataFrame is only prepended
for onMetaData and |RtmpSampleAccess.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-24 00:15:48 +01:00
Lukasz Marek
4e9745fbff lavc/rv30: fix mem leak in case of init failure
Also replaced return -1 with return AVERROR(EINVAL)

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-23 20:53:17 +01:00
Lukasz Marek
331fae80a1 lavc/mss1: fix mem leak in case of init failure
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-23 20:52:38 +01:00
James Almer
305b03097d lavf/apngdec: print currently unsupported in-stream tags in a more readable form
Also use length and not stream position

Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-11-23 13:01:26 -03:00
Carl Eugen Hoyos
78093cf849 Print a warning if vp6 is muxed into flv: The output is flipped.
Fixes ticket #4132.
2014-11-23 13:22:27 +01:00
Carl Eugen Hoyos
600e38f563 Fix standalone compilation of the apng decoder on x86. 2014-11-23 13:21:29 +01:00
Clément Bœsch
6e411d9cc7 avcodec/microdvddec: support non persistent italic marker '/'
Inspired from a patch by Michal Wazgird <mplayer@cyryl.net>

See https://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2014-November/072772.html
2014-11-23 13:13:38 +01:00
Clément Bœsch
8ef46f4a0c avcodec/microdvddec: support various broken form of color tags
Inspired by a patch from Michal Wazgird <mplayer@cyryl.net>

See https://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2014-November/072772.html
2014-11-23 12:17:54 +01:00
Reimar Döffinger
cad3148ea3 xface: reduce stack usage by directly storing 2 bytes data instead of pointers.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-11-23 06:51:18 +01:00
Reimar Döffinger
dfc6f56c5a xface: reduce table sizes.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-11-23 06:51:18 +01:00
Reimar Döffinger
6369a7b742 xface: Fix encoder crashes due to too small on-stack array.
Also add a FATE test.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-11-23 06:51:18 +01:00
Reimar Döffinger
d0682b5eb0 svq1enc: reduce stack usage of recursively-called function.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-11-23 06:51:18 +01:00
Reimar Döffinger
458aadf862 lpc: Reduce stack usage by allocating LLSModel in context.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-11-23 06:51:18 +01:00
Lukasz Marek
f87a34486a lavc/libvorbisdec: use better error codes
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-23 03:33:00 +01:00
Lukasz Marek
bceabbdaba lavc/libvorbisdec: fix mem leak in case of init failure
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-23 03:33:00 +01:00
Lukasz Marek
969382162f lavc/smacker: fix mem leak in case of init failure
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-23 03:25:34 +01:00
Lukasz Marek
691f9be622 lavc/anm: fix mem leak in case of init failure
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-23 03:25:25 +01:00
Michael Niedermayer
65ce8f8895 avcodec/x86/Makefile: fix order
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-23 01:49:04 +01:00
Michael Niedermayer
9f0fd17c61 Merge commit 'f856d9c2f314c493c672dfb9c876da182525da3d'
* commit 'f856d9c2f314c493c672dfb9c876da182525da3d':
  dashenc: Don't require the stream bitrate to be known

Conflicts:
	libavformat/dashenc.c

See: 5f8fcdd448
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-23 01:34:05 +01:00
Michael Niedermayer
6d8dda1693 Merge commit 'eec7f032a903e06d249d1e8aa6630b65292bf40f'
* commit 'eec7f032a903e06d249d1e8aa6630b65292bf40f':
  lavf: Remove a redundant include of sys/stat.h

Conflicts:
	libavformat/os_support.h

See: 49515cb840
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-23 01:18:51 +01:00
Michael Niedermayer
d899ea2017 Merge commit '4b68edd08ac352e314ae3fc701f90b081e549324'
* commit '4b68edd08ac352e314ae3fc701f90b081e549324':
  flvenc: Remove an unused variable

See: cc5f731541
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-23 01:16:32 +01:00
Matthew Oliver
293fee4bc2 libavcodec/tiff: Fix static linking of lzma with msvc.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-22 22:12:19 +01:00
Martin Storsjö
f856d9c2f3 dashenc: Don't require the stream bitrate to be known
Don't write any bitrate attribute if it isn't known. As long as one
doesn't want automatic bitrate switching, playback can work just
fine even if it isn't set.

If strict standard compliance is requested, this is still considered
an error, since the attribute is mandatory according to the spec.

Based on a patch by Rodger Combs.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-22 22:16:37 +02:00
Martin Storsjö
eec7f032a9 lavf: Remove a redundant include of sys/stat.h
The same file already includes this header a few lines further
above.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-22 22:11:44 +02:00
Michael Niedermayer
4b68edd08a flvenc: Remove an unused variable
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-22 22:10:52 +02:00
Michael Niedermayer
d3512a0e89 avcodec/x86/lossless_audiodsp: fix fallback code for 32bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-22 21:08:38 +01:00
Michael Niedermayer
ce6141259b avcodec/wmalosslessdec: support 24bit lossless
Not checked if its actually lossless
Fixes Ticket1847

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-22 20:51:15 +01:00
Michael Niedermayer
4327088da3 avcodec/x86/lossless_audiodsp: support len %16 == 8 in scalarproduct_and_madd_int16()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-22 20:40:36 +01:00
Michael Niedermayer
2f6550bb9a avcodec/mjpegdec: fix pixfmtid 0x14111100
Fixes part of Ticket 2004
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-22 19:38:43 +01:00
Reimar Döffinger
8437cc7206 ffv1dec: Avoid unnecessarily large stack usage and copies.
Ideally the compiler could figure this out on its own,
but it seems it can't.
An alternative that would avoid the messy explicit memcpy
would be to use a sub-struct for the parts that should
be preserved, which can then simply be assigned.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-11-22 19:06:12 +01:00
Michael Niedermayer
9146a47600 avfilter/graphparser: Use av_freep(), avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-22 18:56:37 +01:00
Michael Niedermayer
7df2981f04 avfilter/avf_concat: Use av_freep(), avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-22 18:47:26 +01:00
Michael Niedermayer
8e6a44cfc5 avdevice/iec61883: Use av_freep(), avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-22 18:44:35 +01:00
Benoit Fouet
90c9b49405 ffplay: fix mem leak when opening input or parsing options fail.
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-22 15:55:07 +01:00
Michael Niedermayer
0b9a9e0e2c avcodec/libspeexdec: make array const
Found-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-22 14:10:47 +01:00
Reimar Döffinger
33fc1ccb49 h264_mb: Use smaller data type for refs in await_references.
As far as I can tell the value can never go outside
the int16_t type.
And especially the cost of the initialization is
reduced quite a bit by making it smaller.
Overall decoding speedup not measurable though.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-11-22 14:06:48 +01:00
Reimar Döffinger
478c61ccb2 h264_i386: Optimize decode_significance_8x8_x86 for 64 bit.
11674 -> 10877 decicycles on my Phenom II.
Overall speedup was unfortunately within measurement error.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-11-22 14:06:48 +01:00
Reimar Döffinger
c2c27e9e51 indeo2: move variable declarations into blocks using them.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-11-22 14:06:48 +01:00
Reimar Döffinger
79be253635 mxfdec: minor simplification.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-11-22 14:06:48 +01:00
Matthew Oliver
3bedd72a9e lavf: fix apngdec under msvc.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-22 13:20:34 +01:00
James Almer
14b9302f5f lavf/apngdec: properly skip currently unsupported in-stream tags
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-22 13:14:28 +01:00
Mark Reid
08d81d0a01 libavformat/mxfdec.c: export source package uids and names as metadata
Changes since v1:
* renamed mxf_read_source_package -> mxf_read_package

v1 reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-22 03:35:02 +01:00
Michael Niedermayer
230aeee94c doc: fix the the typos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-22 02:09:09 +01:00
TOYAMA Shin-ichi
e01acd868b doc/decoders.texi: typo in description for option ifo_palette
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-22 02:07:01 +01:00
Michael Niedermayer
148506c965 Merge commit 'cd975d5658a1cbe99939df75db59d5ae9fbcb4e0'
* commit 'cd975d5658a1cbe99939df75db59d5ae9fbcb4e0':
  hevc: Spin the mv_mpv_mode calls in a stand alone function

Conflicts:
	libavcodec/hevc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-22 01:32:55 +01:00
Michael Niedermayer
70e3fae88d Merge commit '1f80742f49a9a4e846c9f099387881abc87150b2'
* commit '1f80742f49a9a4e846c9f099387881abc87150b2':
  qdm2: avoid integer overflow

See: ccfd8cffe8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-21 23:46:17 +01:00
Michael Niedermayer
a82f3de053 Merge commit '312daa15891dc7abb77a404fe927d5ee35c52a71'
* commit '312daa15891dc7abb77a404fe927d5ee35c52a71':
  vp9: Use the correct upper bound for seg_id

Conflicts:
	libavcodec/vp9.h
	libavcodec/vp9block.c

Not merged, the value was correct before as far as i can see

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-21 23:37:04 +01:00
Luca Barbato
cd975d5658 hevc: Spin the mv_mpv_mode calls in a stand alone function
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-11-21 23:17:37 +01:00
Michael Niedermayer
ac967ad872 Merge commit 'd466d82faaf6e0e57a3a4be5e38e3902ef251ac3'
* commit 'd466d82faaf6e0e57a3a4be5e38e3902ef251ac3':
  dvdsubdec: Do not leak on failure path

Conflicts:
	libavcodec/dvdsubdec.c

See: 7fa9f7ef1c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-21 22:36:01 +01:00
Michael Niedermayer
ad2424e6b2 Merge commit 'a42d5c861fea8d18d997c6ba3f4a1d8aa95a288b'
* commit 'a42d5c861fea8d18d997c6ba3f4a1d8aa95a288b':
  libtwolame: prevent a NULL pointer dereference

See: a586b3d9b1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-21 22:26:15 +01:00
Michael Niedermayer
b9ffafbfcc avfilter/formats: Alloc NULL fmts in SET_COMMON_FORMATS()
This avoids null pointer dereferences in case memory allocation has failed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-21 22:15:32 +01:00
Michael Niedermayer
75819fafd8 avfilter/formats: free the correct pointer in ADD_FORMAT()
Also only free it when it was not previously allocated to return to the
state prior to the failing function call

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-21 22:13:44 +01:00
Michael Niedermayer
42f3cb419a Merge commit '863ee8a855b8ce27ffef41479eb66da58763faed'
* commit '863ee8a855b8ce27ffef41479eb66da58763faed':
  lavfi: clean memory on error in ADD_FORMAT()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-21 22:12:46 +01:00
Michael Niedermayer
15ed7ca437 Merge commit 'fd9badd3cb3b60f5c54dcea35523e1ecca2f67a6'
* commit 'fd9badd3cb3b60f5c54dcea35523e1ecca2f67a6':
  xwma: Do not leak on failure path

Conflicts:
	libavformat/xwma.c

See: 375a0c03a9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-21 21:30:47 +01:00
Michael Niedermayer
5af0a701a1 Merge commit 'aa8b39d999589154f79300de9038994d0093cd34'
* commit 'aa8b39d999589154f79300de9038994d0093cd34':
  lavc: Move the libtwolame encoder registration to the list for external libraries

Conflicts:
	libavcodec/allcodecs.c

See: f5f98727b3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-21 21:26:01 +01:00
Michael Niedermayer
0c3ebbf6a5 Changelog: add zygoaudio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-21 20:21:56 +01:00
Michael Niedermayer
018ce90284 avcodec/libspeexdec: more verbose error message
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-21 20:08:56 +01:00
Michael Niedermayer
d96d8e121f avcodec/libspeexdec: support zygoaudio
Fixes Ticket1873

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-21 20:08:05 +01:00
Michael Niedermayer
2ae2c60554 avcodec/vp6: Use av_freep(), avoid leaving stale pointers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-21 18:03:27 +01:00
Michael Niedermayer
6995be43ae avdevice/avdevice.c: Use av_freep(), avoid leaving stale pointers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-21 18:03:11 +01:00
Michael Niedermayer
883f85fa8f avdevice/fbdev_common: Use av_freep(), avoid leaving stale pointers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-21 18:02:41 +01:00
Michael Niedermayer
c05310d469 avdevice/pulse_audio_common: Use av_freep(), avoid leaving stale pointers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-21 18:02:01 +01:00
Benoit Fouet
5d37d70b0b avformat/apngdec: add APNG demuxer.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-21 17:13:56 +01:00
Benoit Fouet
33acebd3cc avcodec/pngdec: add APNG support.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-21 17:13:56 +01:00
Michael Niedermayer
367c9d33d6 avformat: replace some odd 30-60 rates by higher less odd ones in get_std_framerate()
Fixes Ticket4012

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-21 13:56:13 +01:00
Vittorio Giovara
1f80742f49 qdm2: avoid integer overflow
CC: libav-stable@libav.org
Bug-Id: CID 700555
2014-11-21 12:37:50 +00:00
Luca Barbato
312daa1589 vp9: Use the correct upper bound for seg_id
And use a macro to make apparent why the value.

Bug-Id: CID 1108595
2014-11-21 12:37:05 +00:00
Luca Barbato
d466d82faa dvdsubdec: Do not leak on failure path
CC: libav-stable@libav.org
Bug-Id: CID 1198262
2014-11-21 12:36:19 +00:00
Vittorio Giovara
a42d5c861f libtwolame: prevent a NULL pointer dereference
CC: libav-stable@libav.org
Bug-Id: CID 1250330 / CID 1250335
2014-11-21 12:27:07 +00:00
Vittorio Giovara
863ee8a855 lavfi: clean memory on error in ADD_FORMAT()
CC: libav-stable@libav.org
Bug-Id: CID 1250334
2014-11-21 12:27:07 +00:00
Luca Barbato
fd9badd3cb xwma: Do not leak on failure path
CC: libav-stable@libav.org
Bug-Id: CID 1087092
2014-11-21 12:27:07 +00:00
Martin Storsjö
aa8b39d999 lavc: Move the libtwolame encoder registration to the list for external libraries
This makes sure the default behaviour of using the internal encoder
stays the same regardless if libtwolame is enabled or not (as for
any external library).

This fixes fate-lavf-mpg if libav is built with libtwolame enabled.

CC: libav-stable@libav.org
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-11-21 12:27:07 +00:00
Michael Niedermayer
f0ae0354d3 avformat/avidec: fix handling dv in avi
Fixes Ticket4086

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-21 03:34:13 +01:00
Lukasz Marek
ab922f9ef1 lavu/dict: add av_dict_get_string
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-21 01:25:54 +01:00
Lukasz Marek
7d75a399a4 lavc/options: fix rc_eq leak
rc_eq is an option, so it is copied by av_opt_copy(dest, src); above.
2014-11-21 01:19:53 +01:00
Michael Niedermayer
21ded9ce67 avcodec/imc: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-20 22:46:44 +01:00
Michael Niedermayer
b054054c9b avcodec/dcadec: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-20 22:46:08 +01:00
Michael Niedermayer
9018bd1197 avcodec/atrac1: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-20 22:30:48 +01:00
Michael Niedermayer
8bce5c8e74 avcodec/ac3dec: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-20 22:30:48 +01:00
Matthew Oliver
17b7f99d81 configure: disable strip when using icl.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-20 20:15:32 +01:00
Michael Niedermayer
bab11fe7bf avcodec/mpeg12dec: forward error codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-20 16:31:27 +01:00
Michael Niedermayer
1852b2a0f4 avcodec/mpeg12dec: Use more specific error codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-20 16:29:42 +01:00
Michael Niedermayer
0f8908aa1b avcodec/mpeg12dec: do not fail on invalid frame_rate_index
Fixes Ticket4073

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-20 15:09:42 +01:00
Michael Niedermayer
88b4c1a731 avcodec/mpeg12dec: Print error/warning messages on issues in mpeg1_decode_sequence()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-20 15:09:26 +01:00
Matthew Oliver
e39f8fad32 configure: Prevent icl being incorrectly detected as msvc.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-20 12:12:20 +01:00
Michael Niedermayer
9266eb0c62 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  lavf/mux: Always call write_trailer() from av_write_trailer() to avoid a leak.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-20 11:41:30 +01:00
jessejiang
29d208d5d4 avutil/arm/float_dsp_init_vfp: replace restrict by av_restrict
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-20 11:17:42 +01:00
Carl Eugen Hoyos
25ccf5df72 lavf/mux: Always call write_trailer() from av_write_trailer() to avoid a leak.
Fixes ticket #4049.
2014-11-20 10:14:51 +01:00
Michael Niedermayer
c661601f45 Changelog: add WebP muxer
Suggested-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-20 03:21:05 +01:00
Michael Niedermayer
4388e78a0f swscale/x86/rgb2rgb_template: handle the first 2 lines with C in rgb24toyv12_*()
This avoids out of array accesses
Should fix Ticket3451

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-20 01:20:31 +01:00
Michael Niedermayer
0dba982bb4 avformat/dtsdec: dts_probe: check reserved bit, check lfe, check sr_code similarity
Fixes misdetection of s16le
Fixes Ticket4109

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-20 00:21:09 +01:00
Michael Niedermayer
fbb6de2ad7 Merge commit '7fd10f66b722eccc2ada9128766d002f6d751f79'
* commit '7fd10f66b722eccc2ada9128766d002f6d751f79':
  hdsenc: Clear the previous codec tag when setting up the chained muxer

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-19 20:30:07 +01:00
Michael Niedermayer
f3dcabef33 Merge commit 'f918b8a2933a65020cbe490ec637d5485c11a692'
* commit 'f918b8a2933a65020cbe490ec637d5485c11a692':
  hdsenc: Use the right filename in an error message

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-19 20:24:11 +01:00
Michael Niedermayer
660a8b43ab avformat/avienc: write last frame duration
Fixes small part of Ticket 3052

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-19 20:23:04 +01:00
Michael Niedermayer
be44856483 avformat/avienc: factor frame skip code out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-19 20:18:03 +01:00
Michael Niedermayer
33bc81e437 ffmpeg: skip duration cliping for passthrough & drop modes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-19 20:18:03 +01:00
Clément Bœsch
de8cd93a05 doc/writing_filters: use ffmpeg.org instead of wikimedia.org for lena image
Less likely to change, and under our control.

Thanks-to: Michael Niedermayer
2014-11-19 19:55:02 +01:00
Michael Niedermayer
4e20e94921 ffmpeg: Check duration for overlap and clip in fps cfr/vfr code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-19 18:36:36 +01:00
Michael Niedermayer
c509202590 ffmpeg: Use input packet duration in vfr/cfr code if available and valid
Fixes Ticket3052
2014-11-19 18:35:40 +01:00
Michael Niedermayer
4ffec6d933 avcodec/twinvq: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-19 13:44:40 +01:00
Michael Niedermayer
b9792afad1 avcodec/tta: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-19 13:44:39 +01:00
Michael Niedermayer
beec818d99 avcodec/truemotion2: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-19 13:44:30 +01:00
Michael Niedermayer
61fc1cbfbd ffmpeg: fix printed timestamp for droped frames
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-19 13:26:59 +01:00
Martin Storsjö
7fd10f66b7 hdsenc: Clear the previous codec tag when setting up the chained muxer
The chained flv muxer wants one set of tags - normally this set
could be signaled via the AVOutputFormat codec_tag field (as
smoothstreamingenc and dashenc do). hdsenc doesn't signal it, since
the FLV codec tag arrays aren't exported from flvenc.c. This can
lead to the caller keeping an original codec tag from the originating
container here, which would then be a mismatch for the FLV muxer.
Since we don't really care about what codec tag the caller might
have set, just clear it and let the lavf muxer layer set the right
one for the chained FLV muxer later instead.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-19 13:37:00 +02:00
Martin Storsjö
f918b8a293 hdsenc: Use the right filename in an error message
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-19 13:36:43 +02:00
Stefano Sabatini
484d42a097 lavf/concatdec: add timestamp log
Help debugging timestamp conversion issues.
2014-11-19 11:17:43 +01:00
Michael Niedermayer
9f6d48d696 ffmpeg: better CFR frame duplication selection
This improves the handling of cases where the frame duration is not known

Fixes Ticket 4119
Fixes Ticket 1578

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-19 05:14:32 +01:00
Michael Niedermayer
8b43b0e8b6 ffmpeg: fix variable type for end char
fixes warning

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-19 03:05:09 +01:00
dedicatedbroadcastsolutions
873dac50f5 avformat/mpegtsenc: change the min value for mpegts_start_pid to allow ATSC PIDs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-19 00:49:18 +01:00
Rodger Combs
5f8fcdd448 dashenc: degrade gracefully if a stream's bitrate is unavailable
If a stream's bitrate is not set, this attempts to use its rc_max_rate;
if neither is set, it avoids writing a bandwidth attribute at all.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-18 21:18:53 +01:00
Clément Bœsch
568f1ecccf doc/writing_filters: fix reference to Lenna image 2014-11-18 21:12:17 +01:00
Clément Bœsch
6da12d46d3 doc/writing_filters: use a more portable sed command in the walk-through 2014-11-18 21:10:40 +01:00
Michael Niedermayer
30d3f9769f Merge commit '7813e6752bdab38a5686c301e869ee71d97bce69'
* commit '7813e6752bdab38a5686c301e869ee71d97bce69':
  configure: Fix enabling memalign_hack automatically

Conflicts:
	configure

See: 3d93ba5622
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-18 20:33:37 +01:00
Peter Hall
ea79dfbad3 avcodec/libvorbisenc: Give CODEC_CAP_SMALL_LAST_FRAME to libvorbis encoder.
The libvorbis encoder already supports a small last frame, but the layer
above doesn't know that because we didn't register the small last frame
capability.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-18 20:23:08 +01:00
Vadim Kalinsky
d1d3904273 avcodec/options: Set AVCodecContext->codec upon initialization.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-18 18:46:30 +01:00
Martin Storsjö
7813e6752b configure: Fix enabling memalign_hack automatically
simd_align_16 is a configure item that can be enabled or disabled,
it's not a variable containing a list of other configure items
as need_memalign previously. This was broken in eba2233b5.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-18 18:53:57 +02:00
James Almer
bccae39072 lavf/ffmenc: fix memleak in ffm_write_header
Regression since 745730c9c2.
The dynamic buffer was not being used or freed.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-11-18 13:45:24 -03:00
Simon Thelen
43c1d82b86 doc/filters: use '|' instead of ':' in the documentation.
Using colons to separate the outdefs is deprecated. Switch to using '|'
to separate the list items.

Signed-off-by: Simon Thelen <ffmpeg-dev@c-14.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-18 16:38:09 +01:00
Michael Niedermayer
9e526213a2 avfilter/af_volume: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-18 12:38:38 +01:00
Michael Niedermayer
aa97223f14 avfilter/af_amix: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-18 12:24:16 +01:00
Michael Niedermayer
06d2742899 avcodec/nellymoser: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-18 12:11:57 +01:00
Michael Niedermayer
4eae568a07 doc/APIchanges: Fix some wrong versions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-18 11:52:17 +01:00
Michael Niedermayer
a54a51cc9b avutil/float_dsp: add avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-18 11:43:01 +01:00
Michael Niedermayer
bb5e148299 libavcodec/tiffenc: Use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-18 11:33:58 +01:00
Michael Niedermayer
98fbf8ef67 libavcodec/libxavs: Use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-18 11:33:41 +01:00
Michael Niedermayer
ade140eb73 libavcodec/libx264: Use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-18 11:33:00 +01:00
Michael Niedermayer
4243415741 avcodec/mjpegdec: Support some subsampled GBR variants
Fixes Ticket4045

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-18 05:10:21 +01:00
Michael Niedermayer
0b75b6c3cd avformat/mp3dec: avoid seeking to negative positions
Fixes Ticket4038

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-18 04:04:37 +01:00
Michael Niedermayer
9bb6e1175f avcodec/internal: Add () to argument of FF_SIGNBIT() to ensure correct order or operations
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-18 03:42:40 +01:00
Michael Niedermayer
4cd4a6de4f Merge commit '2007082d2db25f9305b8a345798b840ea7784fdb'
* commit '2007082d2db25f9305b8a345798b840ea7784fdb':
  mov: check ff_get_wav_header() return value

Conflicts:
	libavformat/mov.c

See: 6d55a40b00
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-18 03:34:05 +01:00
Michael Niedermayer
cdbebae444 Merge commit '85dc006b1a829726dd5e3a9b0fcc6a1dbfe6dffa'
* commit '85dc006b1a829726dd5e3a9b0fcc6a1dbfe6dffa':
  lavc: fix bitshifts amount bigger than the type

Conflicts:
	libavcodec/internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-18 03:16:38 +01:00
Michael Niedermayer
8426edef4c Merge commit '771656bd85416cd6308b11aed6f2c69a8db9c21b'
* commit '771656bd85416cd6308b11aed6f2c69a8db9c21b':
  libvpxenc: clean memory on error

Conflicts:
	libavcodec/libvpxenc.c

See: 104b1d9e10
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-18 03:08:20 +01:00
Michael Niedermayer
7384ec19cf Merge commit 'a28468d0daf4be14761c16a3ddd33266b2380123'
* commit 'a28468d0daf4be14761c16a3ddd33266b2380123':
  librtmp: append the correct field to the string

See: d1970929b5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-18 02:56:18 +01:00
Michael Niedermayer
9943c5a42b Merge commit '9257692ac15eff7b07540c1f61cebde0d8823fbd'
* commit '9257692ac15eff7b07540c1f61cebde0d8823fbd':
  lavf: Only initialize s->offset once when using avoid_negative_ts make_zero

Conflicts:
	libavformat/mux.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-18 02:46:07 +01:00
Vittorio Giovara
2007082d2d mov: check ff_get_wav_header() return value
CC: libav-stable@libav.org
Bug-Id: CID 717497
2014-11-18 00:40:06 +01:00
Vittorio Giovara
85dc006b1a lavc: fix bitshifts amount bigger than the type
CC: libav-stable@libav.org
Bug-Id: CID 1194387 / CID 1194389 / CID 1194393 / CID 1206638
2014-11-18 00:39:23 +01:00
Vittorio Giovara
771656bd85 libvpxenc: clean memory on error
CC: libav-stable@libav.org
Bug-Id: CID 733795
2014-11-18 00:38:56 +01:00
Vittorio Giovara
a28468d0da librtmp: append the correct field to the string
Also prevent a NULL pointer dereference.

CC: libav-stable@libav.org
Bug-Id: CID 1250329 / CID 1250331
2014-11-18 00:38:26 +01:00
Michael Niedermayer
afbaa9a737 avdevice/oss_audio: avoid strerror() and errbuf
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 23:46:56 +01:00
Michael Niedermayer
e60c025e73 Merge commit 'c302d034ba2690a935df8bf7e4f5d44ed86e8d5c'
* commit 'c302d034ba2690a935df8bf7e4f5d44ed86e8d5c':
  tools: Add a sidxindex tool

Conflicts:
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 23:09:22 +01:00
Michael Niedermayer
4dc305d784 Merge commit '40ed1cbf147d09fc0894bee160f0b6b6d9159fc5'
* commit '40ed1cbf147d09fc0894bee160f0b6b6d9159fc5':
  movenc: Allow writing a DASH sidx atom at the start of files

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 23:02:02 +01:00
Michael Niedermayer
3fa4351d6b Merge commit '3847f3ab58b3b74604807394247bf68827258103'
* commit '3847f3ab58b3b74604807394247bf68827258103':
  movenc: Add tfra entries for all tracks in a moof

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 22:24:05 +01:00
Martin Storsjö
9257692ac1 lavf: Only initialize s->offset once when using avoid_negative_ts make_zero
When given a stream starting at dts=0, it would previously consider
s->offset as uninitialized and set an offset when the second packet
was written, ending up writing two packets with dts=0. By initializing
this field to AV_NOPTS_VALUE, we make sure that we only initialize it
once, on the first packet.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-17 23:18:55 +02:00
Michael Niedermayer
b5b15c4dd9 Merge commit 'fe5e6e34c05e274f98528be4f77f3c474473f977'
* commit 'fe5e6e34c05e274f98528be4f77f3c474473f977':
  lavf: Add an MPEG-DASH ISOFF segmenting muxer

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 22:13:50 +01:00
Michael Niedermayer
9e0b0c60bd Merge commit '2ded57371abead879bcee56da5131e5fac0d17ef'
* commit '2ded57371abead879bcee56da5131e5fac0d17ef':
  movenc: Add support for writing sidx atoms for DASH segments

Conflicts:
	Changelog
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 21:55:23 +01:00
Michael Niedermayer
1fddfaa282 Merge commit '2d9d6afb8d2f284f5e620ecc19f643d5cd3facb8'
* commit '2d9d6afb8d2f284f5e620ecc19f643d5cd3facb8':
  movenc: Factorize adding fragment info into a separate function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 21:43:43 +01:00
Michael Niedermayer
b96c1cd78b Merge commit '0f9eb9165bb7d7982fdedf64f6bcec856f1bedd6'
* commit '0f9eb9165bb7d7982fdedf64f6bcec856f1bedd6':
  movenc: Include empty tracks in iods when writing fragmented mp4

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 21:22:47 +01:00
Michael Niedermayer
894d10332c avcodec/lcldec: support rgb24 with width%4 != 0
Fixes Ticket1216

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 21:06:31 +01:00
Carl Eugen Hoyos
92c07acce7 Read (display) aspect ratio from mxf files.
Fixes ticket #4107.
2014-11-17 17:54:32 +01:00
Martin Storsjö
c302d034ba tools: Add a sidxindex tool
This tool can write an MPD file for fragmented MP4 files with
a sidx index at the start of the file.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-17 16:17:07 +02:00
Martin Storsjö
40ed1cbf14 movenc: Allow writing a DASH sidx atom at the start of files
This is mapped to the faststart flag (which in this case
perhaps should be called "shift and write index at the
start of the file"), which for fragmented files will
write a sidx index at the start.

When segmenting DASH into files, there's usually one sidx
at the start of each segment (although it's not clear to me
whether that actually is necessary). When storing all of it
in one file, the MPD doesn't necessarily need to describe
the individual segments, but the offsets of the fragments can be
fetched from one large sidx atom at the start of the file. This
allows creating files for the DASH ISO BMFF on-demand profile.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-17 16:17:07 +02:00
Martin Storsjö
3847f3ab58 movenc: Add tfra entries for all tracks in a moof
Previously only tfra entries were added for the first track in each moof.

The frag_info array used for tfra can also be used for writing
other kinds of fragment indexes, where it's more important to
include all tracks.

When the separate_moof option is enabled (as in ismv), we write
a separate moof for each track, so this doesn't make any difference
in that case.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-17 16:17:07 +02:00
Martin Storsjö
fe5e6e34c0 lavf: Add an MPEG-DASH ISOFF segmenting muxer
This is mostly to serve as a reference example on how to segment
the output from the mp4 muxer, capable of writing the segment
list in four different ways:
- SegmentTemplate with SegmentTimeline
- SegmentTemplate with implicit segments
- SegmentList with individual files
- SegmentList with one single file per track, and byte ranges

The muxer is able to serve live content (with optional windowing)
or create a static segmented MPD.

In advanced cases, users will probably want to do the segmenting
in their own application code.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-17 16:17:07 +02:00
Martin Storsjö
2ded57371a movenc: Add support for writing sidx atoms for DASH segments
A flag "dash" is added, which enables the necessary flags for
creating DASH compatible fragments.

When this is enabled, one sidx atom is written for each track
before every moof atom.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-17 16:16:46 +02:00
Matthew Oliver
0b3c230542 configure: Enable mpcodec compilation without inline asm.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 15:16:34 +01:00
Matthew Oliver
70205f1799 mpcodecs: Use _INLINE guards for inline asm.
Enabled compilation with compiler without inline asm support.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 15:16:34 +01:00
Martin Storsjö
2d9d6afb8d movenc: Factorize adding fragment info into a separate function
By calling this after writing the moof the first time (for
calculating the moof size), we can avoid intermediate storage
of tfrf_offset in MOVTrack.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-17 16:13:02 +02:00
Martin Storsjö
0f9eb9165b movenc: Include empty tracks in iods when writing fragmented mp4
When writing fragmented streams with an empty initial moov,
we won't have any samples in any tracks when writing the
moov atom, thus trust that any tracks that are added actually
will be present.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-17 16:12:02 +02:00
Michael Niedermayer
cc5f731541 avformat/flvenc: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 13:08:05 +01:00
Michael Niedermayer
4127d97c8d Merge commit 'c64f3615118d757dcf76040fe5407bf2b3883206'
* commit 'c64f3615118d757dcf76040fe5407bf2b3883206':
  flvenc: Send new metadata when FLAG_METADATA_UPDATED is set.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 13:01:39 +01:00
Michael Niedermayer
bb7be3b763 Merge commit '4d0cd5f58c892276716f46f4b2702915e5018215'
* commit '4d0cd5f58c892276716f46f4b2702915e5018215':
  flvenc: move metadata updates into a single function

Conflicts:
	libavformat/flvenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 12:43:55 +01:00
Michael Niedermayer
c88ae843da Merge commit '8b573ddda75980f724f779ff75aacc2ff81d9e0e'
* commit '8b573ddda75980f724f779ff75aacc2ff81d9e0e':
  hevc: remove superfluous assignments and checks

Conflicts:
	libavcodec/hevc.c

See: 83976e40e8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 12:26:36 +01:00
Michael Niedermayer
91a9ae5b6b Merge commit 'eac3ac1fe0774b65316852616b2672702dbc3f31'
* commit 'eac3ac1fe0774b65316852616b2672702dbc3f31':
  hevc: eliminate an unneeded intermediate variable

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 12:13:09 +01:00
Michael Niedermayer
0d5af820f7 Merge commit 'eb335f3c5ce37f2b93c993e28404d113bee843bc'
* commit 'eb335f3c5ce37f2b93c993e28404d113bee843bc':
  hevc: reduce variable scope

Conflicts:
	libavcodec/hevc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 12:07:49 +01:00
Michael Niedermayer
c23d7de22e Merge commit '84c0ece5fd9569c0f31804f02a199ecd0e7d13d8'
* commit '84c0ece5fd9569c0f31804f02a199ecd0e7d13d8':
  hevc: further reduce code duplication in hls_prediction_unit()

Conflicts:
	libavcodec/hevc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 12:01:47 +01:00
Michael Niedermayer
e078549421 Merge commit 'a7b365ae191f45a0d7ed7b34033d5d0cbdd47139'
* commit 'a7b365ae191f45a0d7ed7b34033d5d0cbdd47139':
  hevc: reduce code duplication in hls_prediction_unit()

Conflicts:
	libavcodec/hevc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 11:54:41 +01:00
Michael Niedermayer
30156eab6d Merge commit 'de1f8ead8993512925a3ee6c7491473414419e55'
* commit 'de1f8ead8993512925a3ee6c7491473414419e55':
  hevcdsp_template: templatize transquant_bypass

Conflicts:
	libavcodec/hevcdsp_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 11:41:35 +01:00
Michael Niedermayer
c192be1968 Merge commit '16c01fb4347312b6d29a6498dad627665b96a20e'
* commit '16c01fb4347312b6d29a6498dad627665b96a20e':
  hevc: remove an unused function parameter

Conflicts:
	libavcodec/hevc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 11:30:41 +01:00
Michael Niedermayer
e7fdfbdc58 Merge commit '84b9463984083f4e83948c73c1a5dbaf596ff3f7'
* commit '84b9463984083f4e83948c73c1a5dbaf596ff3f7':
  hevc: remove a redundant line

See: 83976e40e8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 11:28:57 +01:00
Michael Niedermayer
f1b20930f2 Merge commit '2c6a7f9348378f887066fb1669c46b9485e8ef3e'
* commit '2c6a7f9348378f887066fb1669c46b9485e8ef3e':
  hevc: do not store rqt_root_cbf in the context

Conflicts:
	libavcodec/hevc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 11:20:32 +01:00
Michael Niedermayer
7cbe1e0447 Merge commit '920bca3e2332dced9c78bd14cfc2ff138188bd57'
* commit '920bca3e2332dced9c78bd14cfc2ff138188bd57':
  hevc: do not store pcm_flag in the context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 11:06:13 +01:00
Andrew Stone
c64f361511 flvenc: Send new metadata when FLAG_METADATA_UPDATED is set.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-11-17 09:28:16 +01:00
Andrew Stone
4d0cd5f58c flvenc: move metadata updates into a single function
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-11-17 09:28:06 +01:00
Anton Khirnov
8b573ddda7 hevc: remove superfluous assignments and checks 2014-11-17 09:26:45 +01:00
Anton Khirnov
eac3ac1fe0 hevc: eliminate an unneeded intermediate variable 2014-11-17 09:26:45 +01:00
Anton Khirnov
eb335f3c5c hevc: reduce variable scope
Also, collapse the array into a scalar, since only one value is needed
at a time.
2014-11-17 09:26:45 +01:00
Anton Khirnov
84c0ece5fd hevc: further reduce code duplication in hls_prediction_unit() 2014-11-17 09:25:15 +01:00
Anton Khirnov
a7b365ae19 hevc: reduce code duplication in hls_prediction_unit() 2014-11-17 09:25:12 +01:00
Anton Khirnov
de1f8ead89 hevcdsp_template: templatize transquant_bypass 2014-11-17 09:25:12 +01:00
Anton Khirnov
16c01fb434 hevc: remove an unused function parameter 2014-11-17 09:25:12 +01:00
Anton Khirnov
84b9463984 hevc: remove a redundant line
pred_mode is overwritten a few lines immediately below.
2014-11-17 09:25:12 +01:00
Anton Khirnov
2c6a7f9348 hevc: do not store rqt_root_cbf in the context
It does not need to be accessed outside of hls_coding_unit().
2014-11-17 09:25:12 +01:00
Anton Khirnov
920bca3e23 hevc: do not store pcm_flag in the context
It does not need to be accessed outside of hls_coding_unit().
2014-11-17 09:25:12 +01:00
Michael Niedermayer
9421d974bc ffmpeg: Fix last newline at log level less than "info"
Fixes Ticket3058

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 04:25:01 +01:00
Michael Niedermayer
4be03a7a6c cmdutils: Exit in case of faulty stream specifiers
Avoids printing confusing and unrelated errors
Fixes Ticket2772

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 04:06:32 +01:00
Lukasz Marek
3f07dd6e39 ffserver_config: fix possible crash
Fixes CID #1254662

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-17 00:27:25 +01:00
Lukasz Marek
1a054bd187 ffserver_config: do not store preset name
Preset are translated to AVOptions.
It is not required to reparse anymore.

Fixes CID #1254667

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-17 00:27:25 +01:00
Reynaldo H. Verdejo Pinochet
33d6f90e3e ffserver: drop pointless explicit !=0 checks
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-11-16 20:25:55 -03:00
Michael Niedermayer
20bf91f832 avcodec/roqvideoenc: clear freed pointers
Avoid leaving stale pointers in memory

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-16 23:48:38 +01:00
Michael Niedermayer
7ababb85f9 avcodec/snow: clear freed pointers
Avoid leaving stale pointers in memory

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-16 23:48:38 +01:00
Michael Niedermayer
00672d2ce5 avcodec/rl2: clear freed pointers
Avoid leaving stale pointers in memory

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-16 23:48:38 +01:00
Michael Niedermayer
51ddaf6549 avformat/mpeg: fix memleak of sub_name on error
Fixes CID1254666

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-16 19:17:34 +01:00
Michael Niedermayer
62eca2f827 avdevice/xcbgrab: Fix/remove unneeded NULL checks
Fixes CID1254664

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-16 19:01:10 +01:00
Michael Niedermayer
374c907fb3 avcodec/vorbis_parser: Move vp check
Fixes null pointer dereference
Fixes CID1251347

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-16 18:06:03 +01:00
Michael Niedermayer
1de786777e avcodec/dvdsubdec: Check all fseek()s return codes
Fixes CID1254660

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-16 17:50:18 +01:00
Michael Niedermayer
530eb6acf8 avformat/hlsenc: Free context after hls_append_segment
Fixes reading uninitialized memory

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-16 04:32:54 +01:00
Michael Niedermayer
ce80f9fee9 avformat/segment: export inner muxer timebase
Fixes "Non-monotonous DTS in output stream 0:0"
Fixes Ticket4020

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-16 03:02:29 +01:00
Lukasz Marek
ec01283752 lavf/ffmdec: reident after last commit
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-16 01:57:26 +01:00
Lukasz Marek
745730c9c2 lavf/ffm: use AVOption API to store/restore stream properties
This is a generic solution that will not reqiore modifications when new options are added.
This also fixes problem with current implementation when qmin or qmax=-1.
Only 8 bits was sent and read back as 255.

Fixes #1275
Fixes #1461

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-16 01:13:38 +01:00
Lukasz Marek
a38e06c1aa ffserver_config: handle codec private options
This commit allows to set codec's private option.
As side effect, it also improves preset support.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-16 01:13:38 +01:00
Lukasz Marek
2657f00d3f ffmpeg_opt: use codec private context in ffserver streams
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-16 01:13:38 +01:00
Lukasz Marek
6690d4c3f5 lavf/ffm: store/restore private codec context
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-16 01:13:38 +01:00
Lukasz Marek
bee5844ddd lavu/opt: introduce av_opt_serialize()
Function allows to create string containing object's serialized options.
Such string may be passed back to av_set_options_string() in order to restore options.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-16 01:13:38 +01:00
Lukasz Marek
eec693328a lavu/opt: introduce av_opt_is_set_to_default()
New function allows to check if option is set to its default value

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-16 01:13:38 +01:00
Lukasz Marek
01974a58df lavc/options: initialize pkt_timebase
It's default in option_table.h is 0, but without this fix it is represented as 0/0.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-16 01:13:38 +01:00
Lukasz Marek
4a30277a59 lavc/options: set timecode_frame_start to -1 as option default
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-16 01:13:38 +01:00
Lukasz Marek
c544ffd2ae lavc/options_table: add pixel_format and video_size options
Adding these options simplify ffm format implementation based on AVOption API.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-16 01:13:38 +01:00
Lukasz Marek
c727006616 lavc/options_table: set min to -1 for timecode_frame_start
timecode_frame_start is set to -1 in avcodec_get_context_defaults3()
AVOptions API complains about it.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-16 01:13:38 +01:00
Michael Niedermayer
08ee02deca avfilter/vf_tinterlace: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-16 01:06:18 +01:00
Michael Niedermayer
f3cba01cce Merge commit 'c00365b46d464ce47716315c1801818d811bdb9a'
* commit 'c00365b46d464ce47716315c1801818d811bdb9a':
  aarch64: Make the function pointer tables position independent

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-16 01:05:31 +01:00
Martin Storsjö
c00365b46d aarch64: Make the function pointer tables position independent
This allows running the code on android, where 64 bit binaries with
text relocations aren't allowed to be loaded.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-16 01:07:24 +02:00
Clément Bœsch
77204f7366 avfilter/xbr: fix style in FILT4() calls 2014-11-15 22:48:22 +01:00
Clément Bœsch
7eece06934 avfilter/xbr: clarify default "interpolated" pixels assignments 2014-11-15 22:46:19 +01:00
Clément Bœsch
bca3c2cfc0 avfilter/xbr: refactor xbr[234]x into a single function
No speed difference.
2014-11-15 22:35:29 +01:00
Clément Bœsch
8bc1553cdb avfilter/xbr: add slice threading 2014-11-15 22:15:32 +01:00
Michael Niedermayer
bd7d8604bd avcodec/nellymoserenc: update comment to match 5c805d69a4
Found-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 22:12:35 +01:00
Clément Bœsch
454b714283 avfilter/xbr: add video and filtering flags to options
Fixes ffmpeg -h filter=xbr
2014-11-15 21:22:00 +01:00
Clément Bœsch
be96201e5b avfilter/xbr: use function pointers for xbr[234]x 2014-11-15 21:18:18 +01:00
Clément Bœsch
c4fb79a3db avfilter/xbr: remove FATE test entry from @todo
See 57688aecbd
2014-11-15 21:13:18 +01:00
Clément Bœsch
9a796f7f18 avfilter/xbr: consistent copyright header 2014-11-15 21:06:13 +01:00
Clément Bœsch
d1529273fb avfilter/xbr: make xbr[234]x a bit more consistent 2014-11-15 21:06:13 +01:00
Clément Bœsch
a99004a926 avfilter/xbr: misc style fixes 2014-11-15 21:01:40 +01:00
Clément Bœsch
fda209b741 avfilter/xbr: simplify left/up conditions 2014-11-15 21:01:40 +01:00
Clément Bœsch
a3c3ee6973 avfilter/xbr: misc cleanup in FILT[234] macros 2014-11-15 21:01:40 +01:00
Clément Bœsch
7e91f77547 avfilter/xbr: refactor src/dst pointers definitions into a macro 2014-11-15 21:01:39 +01:00
Clément Bœsch
18e4bf4f54 avfilter/xbr: refactor the 21 pixels definition into a macro 2014-11-15 21:01:39 +01:00
Clément Bœsch
6bf9786a9b avfilter/xbr: mark source pointers as const 2014-11-15 21:01:36 +01:00
Clément Bœsch
e070484040 avfilter/xbr: simplify width overread checks 2014-11-15 20:31:41 +01:00
Clément Bœsch
55f05ac0f1 avfilter/xbr: use different macro names for each dimension 2014-11-15 20:31:41 +01:00
Clément Bœsch
9f9c741771 avfilter/xbr: avoid unecessary macro redirections 2014-11-15 20:31:41 +01:00
Clément Bœsch
086487b633 avfilter/xbr: localize some filtering variables 2014-11-15 20:31:41 +01:00
Clément Bœsch
08bb6f919c avfilter/xbr: do not pass unchanging r2y to macros 2014-11-15 20:31:41 +01:00
Stefano Sabatini
aea7616d39 lavfi/xbr: remove relicensing notice from copyright header
The log is good enough for tracking those changes.
2014-11-15 20:13:53 +01:00
Michael Niedermayer
dcb10ef9bf Merge commit '2fa6d21124bd2fc0b186290f5313179263bfcfb7'
* commit '2fa6d21124bd2fc0b186290f5313179263bfcfb7':
  on2avc: Fix out of array access

See: ce6a1ff2a1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 19:23:05 +01:00
Michael Niedermayer
89e705cd5c Merge commit '74d7db586a2e9aeb107e357739c7e4dde0b6991c'
* commit '74d7db586a2e9aeb107e357739c7e4dde0b6991c':
  dv: Drop a spurious check

Conflicts:
	libavcodec/dvdec.c

See: 5307fa00a4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 19:11:14 +01:00
Arwa Arif
a2f05d3337 lavfi : change xBR filter to LGPL
Hyllian's message : "Hi, Put lgpl on this and use it as you wish. It's free!"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 18:54:54 +01:00
Michael Niedermayer
7d37e45f6b avcodec/mpeg4video_parser: fix spurious extradata parse warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 17:30:44 +01:00
Michael Niedermayer
10411afdff avcodec/mpeg4videodec: replace some return -1 by more specific error codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 17:24:36 +01:00
Michael Niedermayer
18fcdc0981 avcodec/mpeg4videodec: forward return code in ff_mpeg4_decode_picture_header()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 17:09:37 +01:00
Michael Niedermayer
deccb4d827 avformat/http: simplify chained_options copying
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 14:30:32 +01:00
Brandon Lees
ffaf2074eb Fix the timeout option not working when connecting to a HTTP url that requires authentication.
In http_open_cnx, the patch restores the AVDictionary if connection needs to be re-tried
because of a authentication/redirect status code.

Previously, if a 401/407/30x status code was encountered, http_open_cnx would restart at the redo label, but any options
used by the underlying protocol would be missing because they were removed by the first attempt.

Signed-off-by: Brandon Lees <brandon@n-hega.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 14:30:32 +01:00
Shin-ichi Toyama
12630fa821 avcodec/dvdsubdec: New option for obtaining global palette from .IFO file (experimental)
Suggested-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 12:50:39 +01:00
Michael Niedermayer
2fa6d21124 on2avc: Fix out of array access
CC: libav-stable@libav.org
Bug-Id: CID 1206648
2014-11-15 12:50:05 +01:00
Luca Barbato
74d7db586a dv: Drop a spurious check
The buffer is always valid.

Bug-Id: CID 700682
2014-11-15 12:49:37 +01:00
Mika Raento
b08fd7ea78 mov.c: fix handling of seek return in read_mfra
this would cause mfra to be ignored in files larger than 2G

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 12:04:34 +01:00
Michael Niedermayer
42c8db69b6 Merge commit '8562c1483ba647f562e4c1df68a9231274b80e6b'
* commit '8562c1483ba647f562e4c1df68a9231274b80e6b':
  Icecast: Send content-type in all cases

See: 5e08b54f47
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 11:52:43 +01:00
Michael Niedermayer
f3c324a0fe Merge commit '3a6bb9735053c453f806ceab1d91124648d90aca'
* commit '3a6bb9735053c453f806ceab1d91124648d90aca':
  Icecast: Send 100-continue header if possible

See: 17dc39e76b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 11:30:42 +01:00
Marvin Scholz
8562c1483b Icecast: Send content-type in all cases
This is needed because Icecast since version 2.4.1 doesn't default
to audio/mpeg anymore. AVOption default not used here, since a later
check if -content_type is set is performed and would break.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-11-15 09:15:39 +01:00
Marvin Scholz
3a6bb97350 Icecast: Send 100-continue header if possible
This allows for proper error reporting. Only do
this for non-legacy requests as only Icecast >2.4.0
will reply with a proper status.
Libav seems to accept both, 100 and 200 status codes, but
let's stay close to spec.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-11-15 09:14:04 +01:00
Michael Niedermayer
05e4b25e9b avfilter/x86/vf_interlace: rewrite asm
4775 decicycles -> 3688 decicycles

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 04:09:03 +01:00
Michael Niedermayer
fb3eb57369 avfilter/tinterlace: add Support for ff_lowpass_line_avx() & ff_lowpass_line_sse2()
Based-on: 2e1704059a by Kieran Kunhya

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 04:02:33 +01:00
Michael Niedermayer
18b46ecc93 avfilter/tinterlace: Move lowpass_line to a separate function and call it through a function pointer
This permits replacing it by a optimized implementation
Based-on / Idea-from: 2e1704059a by Kieran Kunhya

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 03:25:43 +01:00
Michael Niedermayer
9d548fce24 avfilter/tinterlace: split context definition into seperate header so it can be used by future optimizations
Idea from 2e1704059a from Kieran Kunhya

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 03:22:35 +01:00
Michael Niedermayer
f043965cd5 avfilter/vf_tinterlace: fix linesize vs. width
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 03:03:58 +01:00
Mark Reid
933eca91e6 libavformat/mxfdec.c: refactored resolving timecode component
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 02:45:53 +01:00
Michael Niedermayer
05e0ea6050 avfilter/vf_tinterlace: Fix output top field first flag for MODE_INTERLACEX2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 02:45:13 +01:00
Michael Niedermayer
6f373d75e8 Merge commit '2e1704059ae8625beda2ffde847ad22c5ba416dc'
* commit '2e1704059ae8625beda2ffde847ad22c5ba416dc':
  vf_interlace: Add SIMD for lowpass filter

Conflicts:
	libavfilter/vf_interlace.c
	libavfilter/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 02:39:49 +01:00
Michael Niedermayer
53ab7846ee Merge commit 'd16ec1b6db25bc348b0d4800c9a0c9b7070e3710'
* commit 'd16ec1b6db25bc348b0d4800c9a0c9b7070e3710':
  atrac3plus: always initialize refwaves

The initialization is not needed, the array is never read before
being written to. Its merged anyway for robustness in respect to
future changes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 02:17:54 +01:00
Michael Niedermayer
85929b9caa avcodec/lpc: remove unneeded {}
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 02:08:20 +01:00
Michael Niedermayer
d4065a9f47 Merge commit '60e0ee7ca25bd3bea54043b0607efe4cd51acaf3'
* commit '60e0ee7ca25bd3bea54043b0607efe4cd51acaf3':
  lpc: always initialize ref and err

The initialization is not needed, its merged anyway as it might
help suppressing warnings and might make the code more robust against
future changes

See: c4a36b6f70
See: 0dd99628ea
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 02:05:25 +01:00
Michael Niedermayer
a5adeff457 Merge commit '3a6ddfb8745e4b306a5637927fb057f630345e2f'
* commit '3a6ddfb8745e4b306a5637927fb057f630345e2f':
  exr: check return value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 01:55:21 +01:00
Michael Niedermayer
ac1735e76d Merge commit 'e4cb6abb2f46910c72178e2f987a0198f0fd10b1'
* commit 'e4cb6abb2f46910c72178e2f987a0198f0fd10b1':
  bgmc: fix sizeof arguments

See: 41bf943f70
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 01:53:22 +01:00
Michael Niedermayer
720a8d2b75 Merge commit '4b39cc1a093c239412ded522c4a899744e7f2008'
* commit '4b39cc1a093c239412ded522c4a899744e7f2008':
  riff: support ProRes in avi (APCN fourcc)

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 01:47:39 +01:00
Kieran Kunhya
2e1704059a vf_interlace: Add SIMD for lowpass filter
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-11-15 00:35:31 +01:00
Vittorio Giovara
d16ec1b6db atrac3plus: always initialize refwaves
CC: libav-stable@libav.org
Bug-Id: CID 1163851
2014-11-14 20:26:32 +01:00
Vittorio Giovara
60e0ee7ca2 lpc: always initialize ref and err
CC: libav-stable@libav.org
Bug-Id: CID 29585 / CID 700759
2014-11-14 20:25:52 +01:00
Vittorio Giovara
3a6ddfb874 exr: check return value
CC: libav-stable@libav.org
Bug-Id: CID 1198259
2014-11-14 20:25:21 +01:00
Thilo Borgmann
e4cb6abb2f bgmc: fix sizeof arguments
CC: libav-devel@libav.org
Bug-Id: CID 608084 / CID 700724
2014-11-14 20:25:02 +01:00
Vittorio Giovara
4b39cc1a09 riff: support ProRes in avi (APCN fourcc) 2014-11-14 20:24:38 +01:00
Thilo Borgmann
e6e6149630 doc/indevs: Rework and update documentation of AVFoundation device.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-14 18:28:12 +01:00
Thilo Borgmann
d525e662e4 Changelog: Mention AVFoundation screen capturing.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-14 18:28:12 +01:00
Thilo Borgmann
2045334239 lavd/avfoundation: Introduce device alias 'none' to allow the user to record only audio or video.
Changes the selection of a default device to none instead of the system default device.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-14 18:28:12 +01:00
Carl Eugen Hoyos
cde0ad5ea7 tests/Makefile: Fix path for creation of ffprobe-test.nut. 2014-11-14 17:35:26 +01:00
Benoit Fouet
00df32f6a9 avcodec/pngdec: split frame decoding in its own function.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-14 17:20:43 +01:00
Benoit Fouet
8cab24df07 avcodec/pngdec: create a function to handle small (<=4) bits per pixel values.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-14 17:13:08 +01:00
Benoit Fouet
24ca2ffad8 avcodec/pngdec: use else if instead of if for small bpp handling.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-14 17:12:39 +01:00
Benoit Fouet
c25b6ae8a2 avcodec/pngdec: fix some indentation/whitespaces
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-14 16:59:03 +01:00
Benoit Fouet
6499e63f7b avcodec/pngdec: create a function to decode tRNS chunk.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-14 16:58:37 +01:00
Benoit Fouet
4f313a50ee avcodec/pngdec: create a function to decode PLTE chunk.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-14 16:17:00 +01:00
Benoit Fouet
b35fa04152 avcodec/pngdec: create a function to decode IDAT chunk.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-14 16:16:47 +01:00
Benoit Fouet
3f1eaf590c avcodec/pngdec: create a function to decode pHYs chunk.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-14 15:58:35 +01:00
Benoit Fouet
1523d1484d avcodec/pngdec: create a function to decode IHDR chunk.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-14 15:58:02 +01:00
Benoit Fouet
98abb98cb1 avcodec/pngdec: rename decode_frame to decode_frame_png
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-14 15:35:12 +01:00
Peter Ross
b186b7131e avfilter/vf_lut: gammaval709()
See http://www.itu.int/rec/R-REC-BT.709
Item 1.2, overall opto-electronic transfer characteristics at source

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-14 02:55:15 +01:00
Clément Bœsch
57688aecbd fate: add xBR filter tests 2014-11-13 22:45:45 +01:00
Aleksey Vasenev
8349001638 avfilter/vf_tinterlace: fix frame rate
Signed-off-by: Aleksey Vasenev <margtu-fivt@ya.ru>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 22:35:15 +01:00
Aleksey Vasenev
df8248f66e avfilter/vf_interlace: more accurate pts calculation
Signed-off-by: Aleksey Vasenev <margtu-fivt@ya.ru>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 22:35:15 +01:00
Carl Eugen Hoyos
3428865163 lavc/flashsv2enc: Fix encoding resolution error message. 2014-11-13 22:13:33 +01:00
Michael Niedermayer
5c805d69a4 avcodec/nellymoserenc: fix sign error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 20:48:52 +01:00
Michael Niedermayer
4001fc4267 avcodec/4xm: remove duplicate assert
Found-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 19:01:08 +01:00
Michael Niedermayer
dae7e4e63d tests/tiny_psnr: remove redundant initialization
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 17:54:20 +01:00
James Almer
3cec54b7d7 x86/flacdsp: add SSE2 and AVX decorrelate functions
Two to four times faster depending on instruction set, block size and channel count.
2014-11-13 13:47:55 -03:00
Peter Ross
2093c1dc51 cinedec: report white balance gain coefficients using metadata
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 15:31:19 +01:00
Michael Niedermayer
7a79c055e3 Merge commit 'a2448cfe167a4cd4eb631318550d4eef38fca24a'
* commit 'a2448cfe167a4cd4eb631318550d4eef38fca24a':
  jpeg2000: do not compute the same value twice

Conflicts:
	libavcodec/jpeg2000.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 15:20:40 +01:00
Michael Niedermayer
45660c7d1b Merge commit '59846452af762f6af5ced4399e8dcd709ca50fcd'
* commit '59846452af762f6af5ced4399e8dcd709ca50fcd':
  svq1enc: check ff_get_buffer return value

Conflicts:
	libavcodec/svq1enc.c

See: 7effc26ba7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 14:54:06 +01:00
Michael Niedermayer
057b74d19c Merge commit '994ab1804b8bf532f44876927b07b51f1f63247f'
* commit '994ab1804b8bf532f44876927b07b51f1f63247f':
  ansi: check ff_set_dimensions return value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 14:51:37 +01:00
Michael Niedermayer
04f6a5230d Merge commit 'c7384664ba0cbb12d882effafbc6d321ae706cff'
* commit 'c7384664ba0cbb12d882effafbc6d321ae706cff':
  avs: check ff_set_dimensions return value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 14:51:03 +01:00
Michael Niedermayer
b697a3314e Merge commit '2b5c1efa1465d8646f8be525cace7a21404e40ad'
* commit '2b5c1efa1465d8646f8be525cace7a21404e40ad':
  g2meet: check ff_set_dimensions return value

Conflicts:
	libavcodec/g2meet.c

See: 3af9d8269e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 14:31:48 +01:00
Michael Niedermayer
dfa0800c41 Merge commit 'c6d7c201dfa80502cb6cefbee7dc9160cedb5187'
* commit 'c6d7c201dfa80502cb6cefbee7dc9160cedb5187':
  indeo3: check ff_set_dimensions return value

See: 81ed7efbe2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 14:29:52 +01:00
Michael Niedermayer
ecb748866e Merge commit '8e104619a627fcf5f4c2bd3c09d0c2d323aae745'
* commit '8e104619a627fcf5f4c2bd3c09d0c2d323aae745':
  shorten: check for return value

Conflicts:
	libavcodec/shorten.c

See: e20ebe491c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 14:21:58 +01:00
Michael Niedermayer
785f71fcd5 Merge commit 'd5d2d6c3b8cff61eb26c18bbd977881cf6d5524a'
* commit 'd5d2d6c3b8cff61eb26c18bbd977881cf6d5524a':
  dcadec: initialize variables before use

Conflicts:
	libavcodec/dcadec.c

See: 53918a1c54
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 14:21:18 +01:00
Michael Niedermayer
2c4d5d3497 Merge commit '1a9c1333b5d70b427c82cb98f383aa2fa9b2b319'
* commit '1a9c1333b5d70b427c82cb98f383aa2fa9b2b319':
  escape124: explicitly set get_bits1 variable

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 14:01:41 +01:00
Michael Niedermayer
9b424accbe Merge commit '2ffb0598dbdb81c40650952aa9299fa02fa5e834'
* commit '2ffb0598dbdb81c40650952aa9299fa02fa5e834':
  mlpdec: check for negative index

Conflicts:
	libavcodec/mlpdec.c

See: 8491ac3ad2

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 13:59:53 +01:00
Michael Niedermayer
e266e186cf Merge commit '6abe7edabb7d57e82d7ea6312d30cf05d2192c5b'
* commit '6abe7edabb7d57e82d7ea6312d30cf05d2192c5b':
  ffv1: fix out-of-bounds read

The change should be harmless but theres no out of array access before
the change

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 13:46:54 +01:00
Michael Niedermayer
198e55bfa7 Merge commit '5aa710f46119bb9c1c38542f80f5338eb8b5ffb2'
* commit '5aa710f46119bb9c1c38542f80f5338eb8b5ffb2':
  vorbisenc: add missing parenthesis

Conflicts:
	libavcodec/vorbisenc.c

See: f72b735d41
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 13:34:39 +01:00
Michael Niedermayer
b882079b12 Merge commit 'e9a6ae775dabef3942632e8d4ef95fff94a1b310'
* commit 'e9a6ae775dabef3942632e8d4ef95fff94a1b310':
  dpxenc: mention missing break

Conflicts:
	libavcodec/dpxenc.c

No change as the changed code is implemented differently in FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 13:32:08 +01:00
Michael Niedermayer
ccfae03815 Merge commit '4dda5e9b0829b119c17d950906c61d3ebffc494f'
* commit '4dda5e9b0829b119c17d950906c61d3ebffc494f':
  sunrastenc: mention missing break

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 13:31:08 +01:00
Michael Niedermayer
ef4e54e0df Merge commit '28d82b7675bea76a1349070a3cdd737d964d4775'
* commit '28d82b7675bea76a1349070a3cdd737d964d4775':
  vc1dec: refactor check with missing parenthesis

Conflicts:
	libavcodec/vc1_mc.c
	tests/ref/fate/vc1_ilaced_twomv

Theres no change to the reference checksums as this bug was not
in FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 13:23:42 +01:00
Michael Niedermayer
94cf1ef008 Merge commit '2c98dc75f2802a2fe91922d4a11b698b66420e5b'
* commit '2c98dc75f2802a2fe91922d4a11b698b66420e5b':
  vc1dec: always initialize tx and ty

Not merged, tx/ty are initialized on every codepath before use

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 13:11:41 +01:00
Michael Niedermayer
7f8ef7876e Merge commit 'e3f50f247155216229e34f165bae8c329d5a001e'
* commit 'e3f50f247155216229e34f165bae8c329d5a001e':
  dnxhdenc: check negative index

Conflicts:
	libavcodec/dnxhdenc.c

Not merged, the cid index thats taken out of our table will be found again in
said table.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 12:56:32 +01:00
Michael Niedermayer
76fa78911f Merge commit 'b1b1a7370e141c912e3d0bbaa668dcee05c3ad67'
* commit 'b1b1a7370e141c912e3d0bbaa668dcee05c3ad67':
  display: fix order of operands

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 12:53:31 +01:00
Michael Niedermayer
946a5cb64d Merge commit 'bdcb5794f0c2d74371152303bffe4172671af264'
* commit 'bdcb5794f0c2d74371152303bffe4172671af264':
  nellymoserenc: fix array index

Not merged, the original code was correct.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 12:38:05 +01:00
Michael Niedermayer
0f29e92091 Merge commit 'aa7c429c4e8e561009176d51b7dcb626c85eb276'
* commit 'aa7c429c4e8e561009176d51b7dcb626c85eb276':
  nellymoserenc: fix array element ordering

See: 62722ae2d4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 12:13:06 +01:00
Michael Niedermayer
7b824e8b25 Merge commit '8dd0a2c5cf40a8a49faae985adc11750b6429132'
* commit '8dd0a2c5cf40a8a49faae985adc11750b6429132':
  libopusenc: prevent an out-of-bounds read by returning early

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 12:12:27 +01:00
Michael Niedermayer
3c6e148e84 Merge commit 'b09cf8afc5199d359ac985ad7cea72a6a9f20e4e'
* commit 'b09cf8afc5199d359ac985ad7cea72a6a9f20e4e':
  libopusenc: check return value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 12:02:05 +01:00
Michael Niedermayer
8e6084eebe Merge commit '29234f56818135faf2f1868ab324c073abd28fbd'
* commit '29234f56818135faf2f1868ab324c073abd28fbd':
  vp7: fix checking vp7_feature_value_size()

See: 28f8114bd2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 12:00:29 +01:00
Michael Niedermayer
64e12aec96 Merge commit '68a35473ed423a14731c418939fba7913647979a'
* commit '68a35473ed423a14731c418939fba7913647979a':
  4xm: more thorought check for negative index and negative shift

Conflicts:
	libavcodec/4xm.c

Mostly not merged, the added checks, check for impossible conditions
for paranoias sake they are replaced by asserts but thats probably overkill
the vlc table does not contain out of range values or holes,
nor does it permit the log2 values to become negative. Whenever a
log2 value reaches 0 the selected table no longer contains an entry to trigger
the case that would decrease it further

Adding such impossible checks would confuse the reader

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 11:37:59 +01:00
Michael Niedermayer
3e1ac10345 avcodec/utils: Add ATRAC3+ to av_get_audio_frame_duration()
Fixes Ticket3979

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 02:48:40 +01:00
Vittorio Giovara
a2448cfe16 jpeg2000: do not compute the same value twice
CC: libav-stable@libav.org
Bug-Id: CID 1026771 / CID 1026772 / CID 1026773
2014-11-13 01:41:27 +01:00
Vittorio Giovara
59846452af svq1enc: check ff_get_buffer return value
CC: libav-stable@libav.org
Bug-Id: CID 747723
2014-11-13 01:41:27 +01:00
Vittorio Giovara
994ab1804b ansi: check ff_set_dimensions return value
CC: libav-stable@libav.org
Bug-Id: CID 1135737
2014-11-13 01:41:27 +01:00
Vittorio Giovara
c7384664ba avs: check ff_set_dimensions return value
CC: libav-stable@libav.org
Bug-Id: CID 1135738
2014-11-13 01:41:27 +01:00
Vittorio Giovara
2b5c1efa14 g2meet: check ff_set_dimensions return value
CC: libav-stable@libav.org
Bug-Id: CID 1135739
2014-11-13 01:41:26 +01:00
Vittorio Giovara
c6d7c201df indeo3: check ff_set_dimensions return value
CC: libav-stable@libav.org
Bug-Id: CID 1135740
2014-11-13 01:41:26 +01:00
Vittorio Giovara
8e104619a6 shorten: check for return value
Avoid a possible negative bitshift.

CC: libav-stable@libav.org
Bug-Id: CID 1194400
2014-11-13 01:41:26 +01:00
Vittorio Giovara
d5d2d6c3b8 dcadec: initialize variables before use
CC: libav-stable@libav.org
Bug-Id: CID 700751 / CID 700752
2014-11-13 01:41:26 +01:00
Vittorio Giovara
1a9c1333b5 escape124: explicitly set get_bits1 variable
Makes coverity less confused.

CC: libav-stable@libav.org
Bug-Id: CID 1203487
2014-11-13 01:41:26 +01:00
Vittorio Giovara
2ffb0598db mlpdec: check for negative index
CC: libav-stable@libav.org
Bug-Id: CID 970924
2014-11-13 01:41:26 +01:00
Vittorio Giovara
6abe7edabb ffv1: fix out-of-bounds read
CC: libav-stable@libav.org
Bug-Id: CID 1047234
2014-11-13 01:41:26 +01:00
Vittorio Giovara
5aa710f461 vorbisenc: add missing parenthesis
Bug-Id: CID 1238791
2014-11-13 01:41:26 +01:00
Vittorio Giovara
e9a6ae775d dpxenc: mention missing break
Bug-Id: CID 732229
2014-11-13 01:41:26 +01:00
Vittorio Giovara
4dda5e9b08 sunrastenc: mention missing break
Bug-Id: CID 732231
2014-11-13 01:41:26 +01:00
Vittorio Giovara
28d82b7675 vc1dec: refactor check with missing parenthesis
FATE tests updated accordingly, no visual difference.

CC: libav-stable@libav.org
Bug-Id: CID 1087087
2014-11-13 01:41:25 +01:00
Vittorio Giovara
2c98dc75f2 vc1dec: always initialize tx and ty
CC: libav-stable@libav.org
Bug-Id: CID 1245702 / CID 1245703
2014-11-13 01:41:25 +01:00
Vittorio Giovara
e3f50f2471 dnxhdenc: check negative index
CC: libav-stable@libav.org
Bug-Id: CID 700464
2014-11-13 01:41:25 +01:00
Vittorio Giovara
b1b1a7370e display: fix order of operands
CC: libav-stable@libav.org
Bug-Id: CID 1238828 / CID 1238832
2014-11-13 01:41:25 +01:00
Vittorio Giovara
bdcb5794f0 nellymoserenc: fix array index
CC: libav-stable@libav.org
Bug-Id: CID 732258
2014-11-13 01:41:25 +01:00
Michael Niedermayer
aa7c429c4e nellymoserenc: fix array element ordering
Fixes assertion failures and valgrind warnings in trellis encoder.

CC: libav-stable@libav.org
Bug-Id: CID 732256 / CID 732257
2014-11-13 01:41:25 +01:00
Vittorio Giovara
8dd0a2c5cf libopusenc: prevent an out-of-bounds read by returning early
CC: libav-stable@libav.org
Bug-Id: CID 1244188
2014-11-13 01:41:25 +01:00
Vittorio Giovara
b09cf8afc5 libopusenc: check return value
CC: libav-stable@libav.org
Bug-Id: CID 739870
2014-11-13 01:41:25 +01:00
Michael Niedermayer
29234f5681 vp7: fix checking vp7_feature_value_size()
CC: libav-stable@libav.org
Bug-Id: CID 1197061
2014-11-13 01:41:25 +01:00
Vittorio Giovara
68a35473ed 4xm: more thorought check for negative index and negative shift
CC: libav-stable@libav.org
Bug-Id: CID 1087094
2014-11-13 01:18:09 +01:00
Michael Niedermayer
2f6bb86f85 swscale/utils: support bayer input + scaling, and bayer input + any supported output
Fixes Ticket4053

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-12 23:59:37 +01:00
Lukasz Marek
173d51c982 lavu/opt: fix av_opt_get function
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-12 23:34:05 +01:00
Lukasz Marek
5aed6f56d9 ffserver_config: report not closed last tag
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-12 23:33:08 +01:00
Lukasz Marek
5dc0f607e7 lavu/opt: fix memleak in test
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-12 23:32:31 +01:00
Michael Niedermayer
d03867c248 avcodec/dvbsubdec: av_assert* instead of assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-12 20:08:24 +01:00
James Almer
84ccc317ce x86/flacdsp: separate decoder and encoder dsp initialization
Signed-off-by: James Almer <jamrial@gmail.com>
2014-11-12 14:41:45 -03:00
Michael Niedermayer
39dfe6801a avcodec/dvbsubdec: Cleanup on *malloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-12 17:54:52 +01:00
Rong Yan
e74e14608f libswscale/ppc/swscale_altivec.c : fix hScale_altivec_real() yuv2planeX_16_altivec() yuv2planeX_8() for little endian
add marcos GET_LS() GET_VF() LOAD_FILTER() LOAD_L1() GET_VF4() FIRST_LOAD() UPDATE_PTR() LOAD_SRCV() LOAD_SRCV8() GET_VFD() for POWER LE

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-12 15:15:03 +01:00
Carl Eugen Hoyos
1f4bce894a lavf/tcp: Clarify that the -timeout option takes microseconds. 2014-11-12 13:52:56 +01:00
Carl Eugen Hoyos
0ea54d698b lavd/avfoundation: Remove unused -frame_rate option. 2014-11-12 09:55:11 +01:00
Reimar Döffinger
5e8e2f3861 configure: Hack to treat x32 as x86_64.
Allows shared compilation on x32 with --disable-asm.
2014-11-12 09:53:01 +01:00
Michael Niedermayer
9d6ad68fa4 avcodec/h264_parser: Avoid adding SEI to the global header
Only consider SEI when no PPS has been found yet

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-12 03:28:15 +01:00
Michael Niedermayer
12aab852c5 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: signal the frame queue before closing audio

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-12 01:05:10 +01:00
Vignesh Venkatasubramanian
597d826123 lavf/webmdashenc: Representation IDs should be unique.
According to the DASH spec, Representation IDs should be unique
across all adaptation sets. Fixing that and updating the fate
reference file to reflect this change.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-12 00:21:37 +01:00
Michael Niedermayer
dadc1f5ee9 Merge commit 'c9c7d59b7d26f0328d612995dd9256337ae1cbfb'
* commit 'c9c7d59b7d26f0328d612995dd9256337ae1cbfb':
  tiff: Use av_mallocz_array

Conflicts:
	libavcodec/tiffenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-12 00:08:06 +01:00
Michael Niedermayer
1e16492b98 Merge commit 'c6074a30ba3b5fb4319ee6ee599656d58548cdc8'
* commit 'c6074a30ba3b5fb4319ee6ee599656d58548cdc8':
  opt: Fix the documentation mentioning av_set_string3

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 23:54:52 +01:00
Michael Niedermayer
940f5c08e5 Merge commit '1b667269062eb6aec0b8726393ea91b7f7f57fde'
* commit '1b667269062eb6aec0b8726393ea91b7f7f57fde':
  h264_parser: don't stop on SPS_EXT in split

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 23:21:12 +01:00
Michael Niedermayer
69b2d43d6a Merge commit '4cb9f1a77432de6f368df69bebbc082368a88c86'
* commit '4cb9f1a77432de6f368df69bebbc082368a88c86':
  h264_cabac: fix one fill_rectangle() indentation level

See: 4260ed462b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 23:18:39 +01:00
Michael Niedermayer
70cbb47360 Merge commit '60b055133485891405722bc9722e2c74fc9764b8'
* commit '60b055133485891405722bc9722e2c74fc9764b8':
  png_parser: fix size of chunk_lenght

Conflicts:
	libavcodec/png_parser.c

See: 2ee6dca3b8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 23:16:50 +01:00
Michael Niedermayer
287eb69973 Merge commit '443502aed8b814d883825e52e91e4f018955aa66'
* commit '443502aed8b814d883825e52e91e4f018955aa66':
  dvbsubdec: move shared codepath

Conflicts:
	libavcodec/dvbsubdec.c

The merged code is ignored and the factorization redone with
the code that is in FFmpeg.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 23:08:55 +01:00
Marton Balint
eaf4ab9802 ffplay: signal the frame queue before closing audio
Fixed regression caused by 631ac655c0 when ffplay
does not quit if the audio thread is blocked.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-11-11 23:02:00 +01:00
Michael Niedermayer
e0c36f5825 avcodec/dvbsubdec: Fix 8bit non_mod case
Untested, i failed to find a sample which triggers this case

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 22:57:01 +01:00
Michael Niedermayer
2813dabdd4 avcodec/dvbsubdec: use av_freep() for saftey
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 22:20:20 +01:00
Michael Niedermayer
4809ac75fc Merge commit '2383323661f3b8342b2c4d356fcfe8c5d1b045f8'
* commit '2383323661f3b8342b2c4d356fcfe8c5d1b045f8':
  dvbsubdec: improve error checking

Conflicts:
	libavcodec/dvbsubdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 22:19:54 +01:00
Michael Niedermayer
6229f7823e avcodec/dvbsubdec: Add return code to save_subtitle_set()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 22:15:14 +01:00
Michael Niedermayer
db36b6e2ac Merge commit '1bdd21d97528d870fbb4388e837abaf390f2f7d7'
* commit '1bdd21d97528d870fbb4388e837abaf390f2f7d7':
  dvbsubdec: add missing break

See: 8b973d4937
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 22:05:38 +01:00
Michael Niedermayer
261d2eaa7f Merge commit 'a6defd1f5b1bffcea7aa00ff379a6602cdaf2d05'
* commit 'a6defd1f5b1bffcea7aa00ff379a6602cdaf2d05':
  hevc_cabac: decrease CABAC_MAX_BIN

See: 8120668351
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 22:03:51 +01:00
Michael Niedermayer
4dd85093f1 Merge commit '9e9be5a20c0b36dce1cae11f5f5957886231a764'
* commit '9e9be5a20c0b36dce1cae11f5f5957886231a764':
  hevc_mvs: prevent unitialized use

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 21:57:41 +01:00
Lukasz Marek
db6be5416c fate: add opt-test 2014-11-11 21:52:26 +01:00
Lukasz Marek
b54effba4f lavu/opt: update tests
In general this commit prepares opt tests to be added to fate.

The commit set some non-zero defaults for test options.
It allows to check if defaults are really set.

Added printing of default values.

Added more cases for testing av_set_options_string

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-11 21:52:26 +01:00
Lukasz Marek
4efc79649b lavu/opt: add support for binary defaults
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-11 21:52:26 +01:00
Lukasz Marek
bb60142f56 lavu/opt: check for NULL before parsing
set_string_binary crashes when called with val==NULL

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-11 21:52:26 +01:00
Michael Niedermayer
7edb5eec4f Merge commit '0e1ebfebc8326069732795698a82f3fea0742a54'
* commit '0e1ebfebc8326069732795698a82f3fea0742a54':
  4xm: drop unnecessary check

Conflicts:
	libavcodec/4xm.c

The check is currently redundant, it is for saftey left in place though

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 21:38:55 +01:00
Michael Niedermayer
76bd8e16af Merge commit '7c61e4b1a0f9e9f5b7bc08879e9e101eb90b19ea'
* commit '7c61e4b1a0f9e9f5b7bc08879e9e101eb90b19ea':
  hpeldsp: Increase put_no_rnd_pixels_tab[][] size

See: 1e41b8cd07
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 21:36:15 +01:00
Michael Niedermayer
8d6b51b182 Merge commit 'db71c4926d948717ce3b74253eb385dc43dcb14d'
* commit 'db71c4926d948717ce3b74253eb385dc43dcb14d':
  mjpegenc: fix argument size in encode_mb

Conflicts:
	libavcodec/mjpegenc.c
	libavcodec/mjpegenc.h

See: 256f530603
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 21:34:45 +01:00
Michael Niedermayer
d312769166 Merge commit 'f349f4b5502c94943c30001b8a4d75daded3281c'
* commit 'f349f4b5502c94943c30001b8a4d75daded3281c':
  mpegvideo: fix size of array

See: 9f02d4ed0f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 21:26:48 +01:00
Michael Niedermayer
9311026ec7 Merge commit '898e9a24ef13d8c56b4abf4ee0af09cdb0343e2d'
* commit '898e9a24ef13d8c56b4abf4ee0af09cdb0343e2d':
  mpegvideo: check mpv return value

Conflicts:
	libavcodec/mpegvideo.c

See: f4d73f0fb5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 21:22:09 +01:00
Michael Niedermayer
aeb1621d1f Merge commit 'fe27aeaeab07142b1acd2690c64ee6973bdd7eba'
* commit 'fe27aeaeab07142b1acd2690c64ee6973bdd7eba':
  mpeg12enc: increase declared size of block function argument

See: 2cf514354b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 21:16:00 +01:00
Michael Niedermayer
81e3f819bd Merge commit '52f954da7594c31ad94c9bcb54290145b59b27f5'
* commit '52f954da7594c31ad94c9bcb54290145b59b27f5':
  libavcodec: Unconditionally build xiph.o

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 20:58:33 +01:00
Marvin Scholz
2c0bf76bb3 MAINTAINERS: Add myself as maintainer for Icecast protocol
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 19:32:30 +01:00
Marvin Scholz
17dc39e76b Icecast: Use 100-continue if possible for proper error handling
Using 100-continue ffmpeg will only send data if the server confirms it,
so if there is an error with auth or mounpoint, this allows that it is
properly reported to the user. Else ffmpeg sends data and just quits at
some point without an error message.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 14:57:46 +01:00
Marvin Scholz
5e08b54f47 Icecast: always send a content-type
use a default (audio/mpeg for historical reason) if none. Required since Icecast 2.4.1
Not using AVOption default because this breaks content-type warnings (needs to
detect if no type was set by the user)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 14:49:08 +01:00
Luca Barbato
c9c7d59b7d tiff: Use av_mallocz_array
CC: libav-stable@libav.org
2014-11-11 12:01:00 +01:00
Luca Barbato
c6074a30ba opt: Fix the documentation mentioning av_set_string3
It is av_opt_set now.
2014-11-11 11:49:55 +01:00
John Stebbins
1b66726906 h264_parser: don't stop on SPS_EXT in split
Add SPS_EXT, SEI, and subset SPS to codes that are skipped during split.
These codes can come before the PPS and results in incomplete extradata.
2014-11-11 11:49:55 +01:00
Michael Niedermayer
4cb9f1a774 h264_cabac: fix one fill_rectangle() indentation level
Bug-Id: CID 1087088
2014-11-11 11:49:54 +01:00
Vittorio Giovara
60b0551334 png_parser: fix size of chunk_lenght
Fixes the comparison against constant value 0x7fffffff.

CC: libav-stable@libav.org
Bug-Id: CID 1198260
2014-11-11 11:49:54 +01:00
Vittorio Giovara
443502aed8 dvbsubdec: move shared codepath
CC: libav-stable@libav.org
Bug-Id: CID 1238839
2014-11-11 11:49:54 +01:00
Vittorio Giovara
2383323661 dvbsubdec: improve error checking
Use av_mallocz_array instead of iterating and check the returned memory.
Check returned memory and cleanly exit in case of error during the loop.
Avoid a null pointer dereference for invalid data.

CC: libav-stable@libav.org
Bug-Id: CID 29575
2014-11-11 11:49:54 +01:00
Jernej Fijačko
1bdd21d975 dvbsubdec: add missing break
Fix a memory leak too.

CC: libav-stable@libav.org
Bug-Id: CID 732230
2014-11-11 11:49:54 +01:00
Michael Niedermayer
a6defd1f5b hevc_cabac: decrease CABAC_MAX_BIN
Prevents shifts with undefined behavior, as no syntax element has a valid
value greater than 1 << 31.

Bug-Id: CID 1206635
2014-11-11 11:49:54 +01:00
Vittorio Giovara
9e9be5a20c hevc_mvs: prevent unitialized use
CC: libav-stable@libav.org
Bug-Id: CID 1244202
2014-11-11 11:49:47 +01:00
Changjiang Wei
6f2068e626 avcodec/hevc.c: for big negative mvy value, should wait line 0 of ref frame due to edge extending
Reviewed-by: Mickaël Raulet <mraulet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 11:45:20 +01:00
Vittorio Giovara
0e1ebfebc8 4xm: drop unnecessary check
data_size is always >= 0 in this case.

CC: libav-stable@libav.org
Bug-Id: CID 1238788
2014-11-11 11:41:49 +01:00
Michael Niedermayer
7c61e4b1a0 hpeldsp: Increase put_no_rnd_pixels_tab[][] size
CC: libav-stable@libav.org
Bug-Id: CID 991852
2014-11-11 11:41:49 +01:00
Vittorio Giovara
db71c4926d mjpegenc: fix argument size in encode_mb
CC: libav-stable@libav.org
Bug-Id: CID 1047235
2014-11-11 11:41:49 +01:00
Rong Yan
cfaa233962 libavcodec/ppc/me_cmp.c : support little endian in sse8_altivec(), hadamard8_diff8x8_altivec() and hadamard8_diff16x8_altivec()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 11:37:13 +01:00
Rong Yan
bb38cb14cc libavcodec/ppc/me_cmp.c : factorize little and big endian code
add marcos GET_PERM() LOAD_PIX() for POWER LE

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 11:34:38 +01:00
Vittorio Giovara
f349f4b550 mpegvideo: fix size of array
CC: libav-stable@libav.org
Bug-Id: CID 1238789
2014-11-11 11:26:02 +01:00
Vittorio Giovara
898e9a24ef mpegvideo: check mpv return value
CC: libav-stable@libav.org
Bug-Id: CID 1238786
2014-11-11 11:26:02 +01:00
Michael Niedermayer
fe27aeaeab mpeg12enc: increase declared size of block function argument
CC: libav-stable@libav.org
Bug-Id: CID 1047236
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-11-11 11:26:02 +01:00
Martin Storsjö
52f954da75 libavcodec: Unconditionally build xiph.o
vorbis_parser.o is built unconditionally since 5e80fb7ff, and the
unconditionally built parts of it depend on xiph.o.

This fixes builds with --disable-everything.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-11 12:01:16 +02:00
Michael Niedermayer
a83af3fc33 Merge commit 'b776113e5d4a56759615196de98efe802e95a6b6'
* commit 'b776113e5d4a56759615196de98efe802e95a6b6':
  v4l2: Unify one instance of reading/storing errno

Conflicts:
	libavdevice/v4l2.c

See: 60950adc18
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 10:27:03 +01:00
Martin Storsjö
b776113e5d v4l2: Unify one instance of reading/storing errno
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-11 10:07:20 +02:00
Michael Niedermayer
48efe9ec86 avcodec/utvideodec: Fix undefined behavior in shift
Fixes: asan_heap-oob_2573085_3783_utvideo_rgba_median.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 03:35:57 +01:00
Michael Niedermayer
35dcc8a040 avcodec/lagarith: fix integer overflow
Fixes: asan_heap-oob_1bf48fa_2513_lag-yuy2.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 03:19:49 +01:00
Carl Eugen Hoyos
685f7227dc tests/Makefile: New try to fix fate-ffprobe with --target-path. 2014-11-11 01:48:28 +01:00
Lukasz Marek
758a66dc16 ffserver_config: drop requirement video size being multiple of 16
Such strong requirement constraint doesn't allow to use 360p.
Changed to warning when video size is not being multiple of 2.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-11 01:04:59 +01:00
Michael Niedermayer
5dcb99033d avcodec/wmaprodec: Fix integer overflow in sfb_offsets initialization
Fixes out of array read
Fixes: asan_heap-oob_2aec5b0_1828_classical_22_16_2_16000_v3c_0_exclusive_0_29.wma
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-10 23:09:39 +01:00
Jon Morley
8c28a39c2c options_table.h: min value for colorspace is 0 (AVCOL_SPC_RGB)
The min value for colorspace should be zero and not one since the first
valid index into the frame colorspace array is AVCOL_SPC_RGB which is 0.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-10 21:18:57 +01:00
Thilo Borgmann
48c29883fc lavd/avfoundation: Use internal av_strtok instead of std lib strtok
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-10 21:02:53 +01:00
Michael Niedermayer
7656c4c6e6 avcodec/utvideodec: fix assumtation that slice_height >= 1
Fixes out of array read
Fixes: asan_heap-oob_2573085_3783_utvideo_rgba_median.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-10 19:45:36 +01:00
Michael Niedermayer
e981de81fe avcodec/lagarith: fix chroma plane width & height
Fixes out of array read
Fixes: asan_heap-oob_1bf48fa_2513_lag-yuy2.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-10 17:54:50 +01:00
Stefano Sabatini
73f74f6b16 lavfi/xbr: apply misc cosmetical fixes 2014-11-10 11:55:53 +01:00
Michael Niedermayer
a602f88e2d Merge commit '28396d17ff1c1493b78d6eece484ffc27ed86d0d'
* commit '28396d17ff1c1493b78d6eece484ffc27ed86d0d':
  libfdk-aacdec: Support building with the latest version of fdk-aac

See: b44a242c3d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-10 11:38:49 +01:00
Michael Niedermayer
a7d451c1dd Merge remote-tracking branch 'github/master'
* github/master:
  tests: Fix test name for pixfmts tests

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-10 11:25:29 +01:00
Martin Storsjö
28396d17ff libfdk-aacdec: Support building with the latest version of fdk-aac
The latest fdk-aac code drop (from android 5.0) changed the channel
layout enums (changing the value of existing enum constants), and
renamed the option for downmixing.

The failsafe comparison between ctype and FF_ARRAY_ELEMS(channel_counts)
can trigger warnings (-Wtautological-constant-out-of-range-compare)
when building with the old FDK AAC releases, where it can't be
out of range with the enum values used there.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-10 09:43:57 +02:00
Timothy Gu
e1ee0521a6 tests: Fix test name for pixfmts tests 2014-11-09 21:37:18 -08:00
Clément Bœsch
ff9b21776b doc/filters: explicit and complete xBR documentation 2014-11-10 06:36:31 +01:00
Clément Bœsch
30466cac9d avfilter/xbr: drop yet another x2 reference 2014-11-10 06:34:11 +01:00
Clément Bœsch
937ebb8435 avfilter/xbr: fix filter description field 2014-11-10 06:32:27 +01:00
Clément Bœsch
548a5f7ef6 avfilter/xbr: fix TODO entry 2014-11-10 06:28:44 +01:00
Clément Bœsch
fc0a91e3cd avfilter/xbr: consistent use of @see 2014-11-10 06:26:45 +01:00
Clément Bœsch
ae65a84517 Changelog: explicit that xBR scaler is implemented as a filter 2014-11-10 06:24:54 +01:00
Michael Niedermayer
064a237669 avfilter/vf_xbr: Uppercase first letter of context type for consistency
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-10 03:45:00 +01:00
Arwa Arif
19d0949d31 lavfi: add xbr filter xBR
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-10 03:45:00 +01:00
Michael Niedermayer
f6a8c77afb avcodec/utils: Fix warning: comparison between enum foo and enum bar [-Wenum-compare]
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-10 02:54:24 +01:00
Michael Niedermayer
9889b29ff4 avcodec/utils: make sidedata remapping table static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-10 02:53:21 +01:00
Martin Storsjö
b44a242c3d libfdk-aacdec: Support building with the latest version of fdk-aac
The latest fdk-aac code drop (from android 5.0) changed the channel
layout enums (changing the value of existing enum constants), and
renamed the option for downmixing.

The failsafe comparison between ctype and FF_ARRAY_ELEMS(channel_counts)
can trigger warnings (-Wtautological-constant-out-of-range-compare)
when building with the old FDK AAC releases, where it can't be
out of range with the enum values used there.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-10 02:46:46 +01:00
Michael Niedermayer
715ccc2bc4 Merge commit '09f25533a564eab743f258d168697a11122914c4'
* commit '09f25533a564eab743f258d168697a11122914c4':
  v4l2: Preserve errno values

Conflicts:
	libavdevice/v4l2.c

See: 60950adc18
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-10 01:37:08 +01:00
Michael Niedermayer
d99653c9e4 Merge commit 'a1a259881fa7b23e2ffc0c2a43d4923fe42d0478'
* commit 'a1a259881fa7b23e2ffc0c2a43d4923fe42d0478':
  v4l2: Use av_strerror

Conflicts:
	libavdevice/v4l2.c

See: 60950adc18
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-10 01:19:24 +01:00
Michael Niedermayer
0960cc4cc6 Merge commit 'e3e317e0c015b164b6c2eb8913e393216d78de23'
* commit 'e3e317e0c015b164b6c2eb8913e393216d78de23':
  lavc: Compact the side-data passthrough

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-10 00:57:41 +01:00
Kieran Kunhya
b546023b93 swscale: fix yuv2yuvX_8 assembly on x86
use_mmx_vfilter check/fix by commiter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-09 23:52:17 +01:00
Carl Eugen Hoyos
e971eef8c0 Set -scan_all_pmts 1 in ffmpeg, ffplay and ffprobe if not set by user.
Fixes ticket #3762.
2014-11-09 18:28:29 +01:00
Lukasz Marek
4e179436b6 lavu/opt: copy dict in av_opt_copy
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-09 17:56:08 +01:00
Lukasz Marek
457204ee15 lavu/opt: document av_opt_copy function 2014-11-09 17:56:08 +01:00
Lukasz Marek
db2caf0a80 lavc/options: fix shallow copy context
avcodec_copy_context leaves shallow copy of string/binary/dict options.
Double free/accessing freed memory may occur.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-09 17:56:08 +01:00
Marton Balint
86476c510e avfilter/avf_showwaves: fix off by one error in loop condition
It caused segfaults.

Signed-off-by: Marton Balint <cus@passwd.hu>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-09 16:44:10 +01:00
Marton Balint
7ba7277775 ffplay: only output null packet once on EOF
The generic decoder properly flushes the codecs with one null packet as well.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-11-09 13:48:18 +01:00
Marton Balint
cc4741888d ffplay: fix indentation after last commit
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-11-09 13:48:18 +01:00
Marton Balint
631ac655c0 ffplay: implement separete audio decoder thread
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-11-09 13:48:18 +01:00
Luca Barbato
09f25533a5 v4l2: Preserve errno values
av_log usually resets it.
2014-11-09 12:59:32 +01:00
Michael Niedermayer
d1970929b5 avformat/librtmp: fix swfurl
Found-by: JULIAN GARDNER <joolzg@btinternet.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-09 12:36:23 +01:00
Tristan Matthews
a1a259881f v4l2: Use av_strerror
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-11-09 12:29:59 +01:00
Luca Barbato
e3e317e0c0 lavc: Compact the side-data passthrough 2014-11-09 12:29:59 +01:00
Michael Niedermayer
55d592f7d9 avcodec/aacdec: Skip processing channel elements which have not been present
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-09 11:41:13 +01:00
Michael Niedermayer
f9fa560597 avcodec/aacenc: check input for NaN
Fixes Ticket3762

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-08 23:32:39 +01:00
Michael Niedermayer
41ad87ad8e avformat/mpegts: improve first valid PMT heuristic
This checks for audio+video instead of streams > 2
Fixes Ticket4090

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-08 21:35:20 +01:00
Michael Niedermayer
29b1af40f3 avformat/mpegts: add scan_all_pmts option
This allows selecting if the demuxer should consider all streams to be
found after the first PMT and add further streams during decoding or if it rather
should scan all that are within the analyze-duration and other limits

Fixes Ticket3762

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-08 21:35:20 +01:00
Michael Niedermayer
6f21fb7932 Revert "v4l2: setting device parameters early"
This reverts commit b1ad931233.

Fixes Ticket #3517

Conflicts:

	libavdevice/v4l2.c

Requested-by: Giorgio Vazzana <mywing81@gmail.com>
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-08 12:43:50 +01:00
Michael Niedermayer
b0ed88b4c0 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Remove fminf() emulation.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-08 12:26:55 +01:00
Michael Niedermayer
9ebfe38f38 Merge commit '9a5ac36b69ede4563e9ecd734141b12ea3280fbc'
* commit '9a5ac36b69ede4563e9ecd734141b12ea3280fbc':
  movenc: Require samples before trying to write edts

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-08 11:41:29 +01:00
Carl Eugen Hoyos
4436a8f44d Remove fminf() emulation.
The emulation is unused and causes compilation trouble on systems
where fminf() is defined in <math.h> but missing from libm.
This should fix compilation on Debian powerpcspe.
2014-11-08 11:31:11 +01:00
Michael Niedermayer
4342b346d2 Merge commit '8cb7b7b461b52898765b38e3eff68c0ce88347f3'
* commit '8cb7b7b461b52898765b38e3eff68c0ce88347f3':
  movenc: Avoid leaking locally allocated data when returning on errors

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-08 11:08:57 +01:00
Michael Niedermayer
0bdc5db520 Merge commit '95a449d3ce8e15522df47a80a8a4593ea5c2b1bb'
* commit '95a449d3ce8e15522df47a80a8a4593ea5c2b1bb':
  movenc: Remove an outdated comment

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-08 10:57:10 +01:00
Martin Storsjö
9a5ac36b69 movenc: Require samples before trying to write edts
This avoids a potential crash if writing a fragmented psp mp4
(which probably is only a hypothetical scenario).

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-08 11:14:21 +02:00
Martin Storsjö
8cb7b7b461 movenc: Avoid leaking locally allocated data when returning on errors
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-08 11:14:08 +02:00
Martin Storsjö
95a449d3ce movenc: Remove an outdated comment
QuickTime does support files with an empty initial movie
these days.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-08 11:13:37 +02:00
Lukasz Marek
2b14593148 ffmpeg_opt: free incorrect priv_data for feed stream
new_output_stream creates a codec context with arbitraty picked codec.
Later data is updated, but priv_data are left alone.
There is a bit chance there is a mismatch between codecs.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-08 02:14:02 +01:00
Xiaohan Wang
33301f0017 Fix read-after-free in matroska_read_seek().
In matroska_read_seek(), |tracks| is assigned at the begining of the function.
However, functions like matroska_parse_cues() could reallocate the tracks so
that |tracks| can get invalidated.

This CL assigns |tracks| only before we use it so that it won't be invalidated.

BUG=427266
TEST=Test case in associated bug passes now.

Change-Id: I9c7065fe8f4311ca846076281df2282d190ed344

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-08 01:33:13 +01:00
Michael Niedermayer
c9a9a7a1fd Merge commit '9cbf70fa0e44613590b019cef1fe99aa3f3c5d9d'
* commit '9cbf70fa0e44613590b019cef1fe99aa3f3c5d9d':
  movenc: Write correct presentation timestamps in tfra

Conflicts:
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-08 01:04:04 +01:00
Carl Eugen Hoyos
e2e36a739d Fix make checkheaders for libavcodec/vorbis_parser.h. 2014-11-08 00:59:37 +01:00
Michael Niedermayer
872c0bcd3c Merge commit 'e7d20f12c5eff5570cd897f3ce3a88456024036b'
* commit 'e7d20f12c5eff5570cd897f3ce3a88456024036b':
  movenc: Remove a now redundant check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-08 00:32:52 +01:00
Michael Niedermayer
2893d1b36d Merge commit '1d8a0c1b43e58332a3a15c67d4adc161713cade8'
* commit '1d8a0c1b43e58332a3a15c67d4adc161713cade8':
  movenc: Allow to request not to use edit lists

Conflicts:
	libavformat/movenc.c

See: 537ef8bebf
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-08 00:22:42 +01:00
Michael Niedermayer
0d71e825db Merge commit '897d5c3a4296f3da80b8699d1487328ca2de8e55'
* commit '897d5c3a4296f3da80b8699d1487328ca2de8e55':
  lavf: Print a warning if failed to avoid negative timestamps when requested

Conflicts:
	libavformat/mux.c

See: ec6a5fc6cc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-07 23:22:10 +01:00
Michael Niedermayer
66e49ff3b9 Merge commit '1384df641994bf3d6cb51084290aa94752737bae'
* commit '1384df641994bf3d6cb51084290aa94752737bae':
  lavf: Add an option for avoiding negative timestamps

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

See: 3ba0dab76a
See: a89c012531
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-07 23:09:30 +01:00
Michael Niedermayer
ed736890d6 Merge commit '4981baf9b803f3c4866b2e97fdadb008c62dc7ad'
* commit '4981baf9b803f3c4866b2e97fdadb008c62dc7ad':
  avstring: Mark some character handling functions av_const

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-07 22:33:09 +01:00
James Almer
edff061fb0 x86/swr: add ff_float_to_int32_a_avx2
13797 decicycles in ff_float_to_int32_a_sse2, 32768 runs, 0 skips
8603 decicycles in ff_float_to_int32_a_avx2, 32766 runs, 2 skips

Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-11-07 15:01:35 -03:00
Michael Niedermayer
960c573cc5 avcodec/mjpegdec: support pix fmt id 0x22111111
Fixes: 4163724_300.jpg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-07 15:37:11 +01:00
Michael Niedermayer
ddac3053cd avutil/ppc/util_altivec: add () to VEC_LD macro arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-07 15:13:47 +01:00
Michael Niedermayer
1a1a98f644 avutil/ppc/util_altivec: make src pointers const, fix warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-07 14:42:17 +01:00
Martin Storsjö
9cbf70fa0e movenc: Write correct presentation timestamps in tfra
Previously we wrote decoding timestamps here, while the specs
say it should be presentation timestamps.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-07 14:50:06 +02:00
Martin Storsjö
e7d20f12c5 movenc: Remove a now redundant check
When using the new first_trun flag instead of checking the track id,
we don't need to have a special case for the separate_moof flag
any longer.

This simplifies the complicated codepath ever so slightly.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-07 13:46:19 +02:00
Rong Yan
79e0255956 libavcodec/ppc/hpeldsp_altivec.c : fix ff_put_pixels16_altivec() put_no_rnd_pixels16_xy2_altivec() put_no_rnd_pixels8_xy2_altivec() avg_pixels8_altivec() avg_pixels8_xy2_altivec() put_pixels16_xy2_altivec() put_pixels8_xy2_altivec() ff_avg_pixels16_altivec() for POWER LE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-07 12:32:03 +01:00
Martin Storsjö
1d8a0c1b43 movenc: Allow to request not to use edit lists
In this case, shift tracks to start from zero instead (potentially
stretching the first sample in tracks that start later than the
first one).

Some software does not support edit lists at all, the adobe flash
player seems to be one of these. This results in AV sync errors when
edit lists are used to adjust AV sync.

Some players, such as QuickTime, don't respect the duration for
audio packets, so if an audio track starts later than the video
track and the first audio sample gets a duration longer than the
actual amount of data in it, the result will be out of sync.

Based on patches by Michael Niedermayer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-07 12:11:46 +02:00
Michael Niedermayer
897d5c3a42 lavf: Print a warning if failed to avoid negative timestamps when requested
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-07 12:11:46 +02:00
Michael Niedermayer
1384df6419 lavf: Add an option for avoiding negative timestamps
This is the same logic as is invoked on AVFMT_TS_NEGATIVE,
but which can be enabled manually, or can be enabled
in muxers which only need it in certain conditions.

Also allow using the same mechanism to force streams to start
at 0.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-07 12:11:35 +02:00
Henrik Gramner
4981baf9b8 avstring: Mark some character handling functions av_const
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-07 11:57:16 +02:00
Rong Yan
6a6c16cbcc libavutil/ppc/util_altivec.h : fix unaligned_load() vec_unaligned_load() add macros VEC_LD() VEC_MERGEH() VEC_MERGEL() VEC_ST() for POWER LE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-07 10:51:35 +01:00
Michael Niedermayer
c11f731768 avformat/webpenc: preserve single image VP8X flags
Fixes Ticket4087

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-07 04:15:01 +01:00
Michael Niedermayer
b1c99f4c5f avcodec/aacdec: Add table of profile names
based on tables of aac encoders from libavcodec

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-07 03:09:50 +01:00
Michael Niedermayer
2daae445c0 avcodec/aacdec: print extension type when startcode debugging is on
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-07 03:09:50 +01:00
James Almer
b385c4c6a3 x86/swr: replace sse4 instructions in pack_6ch with sse ones
There's no benefit from using blendps here except on CPUs with AVX, where
it's faster than shufps according to Intel's documentation.
As such, rename the sse4 functions to sse/sse2 and use shufps instead.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-11-06 20:54:00 -03:00
Thilo Borgmann
93ab6693d8 lavd/avfoundation: Update documentation to mention audio capabilities.
Reviewed-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 23:30:19 +01:00
Michael Niedermayer
c53a1507aa Merge commit '199d9f995da53fe2507821f6d96bbc692574e1a9'
* commit '199d9f995da53fe2507821f6d96bbc692574e1a9':
  mjpegdec: fix undefined shift

Conflicts:
	libavcodec/mjpegdec.c

See: b432960528
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 18:28:49 +01:00
Michael Niedermayer
ad0cf8e063 Merge commit 'ac4a5e3abd8a022ab32245ad527ffc37eabab8b1'
* commit 'ac4a5e3abd8a022ab32245ad527ffc37eabab8b1':
  pthreads_frame: Do not leak on failure path

See: 11679e1b90
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 18:17:33 +01:00
Michael Niedermayer
f663734738 Merge commit '5d29efe4b0154ce305d66fed2ac23e5842439256'
* commit '5d29efe4b0154ce305d66fed2ac23e5842439256':
  mpeg12dec: simplify context duplication

Not merged, theres no point in copying data and afterwards zeroing it
Also zeroing is not correct on its own

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 18:15:40 +01:00
Michael Niedermayer
98d6f0ffef Merge commit '37b3361e755361d4ff14a2973df001c0140d98d6'
* commit '37b3361e755361d4ff14a2973df001c0140d98d6':
  mpeg12enc: factor out check in encode_dc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 17:28:40 +01:00
Michael Niedermayer
c96a44d0dd Merge commit '0a6664706168dc1049967bec311970d720581625'
* commit '0a6664706168dc1049967bec311970d720581625':
  mpegvideo_enc: factor out denominator and explicitly cast operands

Conflicts:
	libavcodec/mpegvideo_enc.c

See: c753b56b4d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 17:21:36 +01:00
Michael Niedermayer
5241f90058 Merge commit 'e0a1d0a2b04eb5220d00fc7ce46a57cc5e3c7118'
* commit 'e0a1d0a2b04eb5220d00fc7ce46a57cc5e3c7118':
  mpegvideo_enc: rework direct mode check

Conflicts:
	libavcodec/mpegvideo_enc.c

See: ad98567198
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 17:14:38 +01:00
Vittorio Giovara
199d9f995d mjpegdec: fix undefined shift
Add a comment to explain the code.

CC: libav-stable@libav.org
Bug-Id: CID 1194388
2014-11-06 10:44:46 -05:00
Luca Barbato
ac4a5e3abd pthreads_frame: Do not leak on failure path
CC: libav-stable@libav.org
Bug-Id: CID 1135767
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-11-06 10:44:46 -05:00
Vittorio Giovara
5d29efe4b0 mpeg12dec: simplify context duplication
CC: libav-stable@libav.org
Bug-Id: CID 717453 / CID 717454 / CID 717915
2014-11-06 10:44:46 -05:00
Vittorio Giovara
37b3361e75 mpeg12enc: factor out check in encode_dc
Makes coverity less confused and the code more readable.

CC: libav-stable@libav.org
Bug-Id: CID 751744
2014-11-06 10:44:46 -05:00
Vittorio Giovara
0a66647061 mpegvideo_enc: factor out denominator and explicitly cast operands
CC: libav-stable@libav.org
Bug-Id: CID 608053
2014-11-06 10:44:46 -05:00
Vittorio Giovara
e0a1d0a2b0 mpegvideo_enc: rework direct mode check
Remove stray semicolon and share codepaths.

CC: libav-stable@libav.org
Bug-Id: CID 991857
2014-11-06 10:44:46 -05:00
Michael Niedermayer
d70e503ebc avfilter/af_aresample: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 15:58:28 +01:00
Giorgio Vazzana
be0356ca05 lavd/v4l2: use pixel format variable names consistently
We now use 'pixelformat' for V4L2_PIX_FMT_* (as they do in v4l2
documentation) and 'pix_fmt' for AVPixelFormat.

No functional change in the code.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 15:39:41 +01:00
Michael Niedermayer
8afaa03c53 avformat/riffenc: move MP3 LSF threshold to the midway point between the 2
No testcase available but this seems more correct

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 14:53:21 +01:00
Michael Niedermayer
d5999b7f28 avformat/yuv4mpegenc: Use AVFormatContext strict_std_compliance instead of AVCodecContext
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 14:48:50 +01:00
Michael Niedermayer
da8cb1c361 avformat/mmf: Use AVFormatContext strict_std_compliance instead of AVCodecContext
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 14:48:41 +01:00
Michael Niedermayer
470e116e3f avformat/flvenc: Use AVFormatContext strict_std_compliance instead of AVCodecContext
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 14:47:43 +01:00
Michael Niedermayer
e591608753 avcodec/xiph: make extradata argument const
Fixes "warning: passing argument 1 of avpriv_split_xiph_headers discards const qualifier from pointer target type"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 14:41:38 +01:00
Michael Niedermayer
0de64082a9 Merge commit '05e59135b3539062465b5005b6d46ec0418a5fc4'
* commit '05e59135b3539062465b5005b6d46ec0418a5fc4':
  nutdec: do not set has_b_frames

Not merged, this change is not correct

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 14:32:43 +01:00
Michael Niedermayer
cffd2713e9 Merge commit 'acc897e6b15776ed438b88ffe330ec48f6b50e48'
* commit 'acc897e6b15776ed438b88ffe330ec48f6b50e48':
  lavc: make avpriv_flac_is_extradata_valid() private on the next bump

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 14:17:46 +01:00
Michael Niedermayer
94fe404c25 Merge commit 'e839de0f851535b5e19256b52f9865f0cb768a7c'
* commit 'e839de0f851535b5e19256b52f9865f0cb768a7c':
  oggenc: accept only STREAMINFO extradata

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 14:09:53 +01:00
Michael Niedermayer
cfef947f7f Merge commit 'c070a8751597e3aa1b443e88464da785d8966b14'
* commit 'c070a8751597e3aa1b443e88464da785d8966b14':
  lavc: make avpriv_flac_parse_streaminfo() private on the next bump

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 13:54:11 +01:00
Michael Niedermayer
b6a9956396 Merge commit '7784f47762d59e859b4d0f74b3e021ad9368ee2c'
* commit '7784f47762d59e859b4d0f74b3e021ad9368ee2c':
  lavf: stop using avpriv_flac_parse_streaminfo()

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 13:42:41 +01:00
Michael Niedermayer
a51eb6d34c Merge commit '56dc46a1893251e74be1ad63e54fb38d754bb1fe'
* commit '56dc46a1893251e74be1ad63e54fb38d754bb1fe':
  riffenc: do not fall back on AVCodecContext.frame_size for MP3

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 13:19:26 +01:00
Michael Niedermayer
042eba52a5 Merge commit '91e8d2eb1f7bf3af949008b106ec1ca037b88b0e'
* commit '91e8d2eb1f7bf3af949008b106ec1ca037b88b0e':
  lavf: use the format context strict_std_compliance instead of the codec one

Conflicts:
	libavformat/mux.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 13:10:01 +01:00
Michael Niedermayer
c04c43b3e4 avformat/oggparsevorbis: Check that initialization succeeded before declaring the end of headers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 13:02:08 +01:00
Michael Niedermayer
4b2763cd13 avformat/oggparsevorbis: return proper error code from vorbis_header()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 13:01:06 +01:00
Michael Niedermayer
f74be3669d Merge commit '2f3fadfbe3c6ad52fad5c614b6067c5401227959'
* commit '2f3fadfbe3c6ad52fad5c614b6067c5401227959':
  lavc,lavf: switch to the new vorbis parse API

Conflicts:
	libavformat/oggparsevorbis.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 12:05:17 +01:00
Michael Niedermayer
7ffdc7bef2 avcodec/export av_vorbis_parse_frame_flags()
The other functions where changed in the previous merge

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 11:58:32 +01:00
Michael Niedermayer
44fa2671e0 Merge commit '5e80fb7ff226f136dbcf3fed00a2966bf8e9bd70'
* commit '5e80fb7ff226f136dbcf3fed00a2966bf8e9bd70':
  lavc: add a public API for parsing vorbis packets.

Conflicts:
	doc/APIchanges
	libavcodec/Makefile
	libavcodec/version.h
	libavcodec/vorbis_parser.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 11:21:47 +01:00
Michael Niedermayer
5f7887ca8d Merge commit '6896f95b2483e52e717e2c75a4fd24fcb0e14b67'
* commit '6896f95b2483e52e717e2c75a4fd24fcb0e14b67':
  vorbis_parser: add an AV prefix to VorbisParseContext

Conflicts:
	libavcodec/vorbis_parser.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 11:06:19 +01:00
Michael Niedermayer
a0617025dd Merge commit '8747926'
* commit '8747926':
  vorbis_parser: use a dedicated AVClass for logging

Conflicts:
	libavcodec/vorbis_parser.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 10:50:59 +01:00
Anton Khirnov
05e59135b3 nutdec: do not set has_b_frames
It is not supposed to be set by demuxers.
2014-11-06 09:05:37 +01:00
Anton Khirnov
acc897e6b1 lavc: make avpriv_flac_is_extradata_valid() private on the next bump 2014-11-06 09:04:56 +01:00
Anton Khirnov
e839de0f85 oggenc: accept only STREAMINFO extradata
The reasoning is the same as for
0097cbea69.
2014-11-06 09:04:32 +01:00
Anton Khirnov
c070a87515 lavc: make avpriv_flac_parse_streaminfo() private on the next bump 2014-11-06 09:04:12 +01:00
Anton Khirnov
7784f47762 lavf: stop using avpriv_flac_parse_streaminfo()
The only parameters needed by the demuxers are the sample rate and sample
count, which can be trivially extracted manually, without resorting to
an avpriv function.
2014-11-06 09:02:25 +01:00
Anton Khirnov
56dc46a189 riffenc: do not fall back on AVCodecContext.frame_size for MP3
It will not be set unless the codec context is used as the encoding
context, which is discouraged. For MP2, av_get_audio_frame_duration()
will already set the frame size properly. For MP3, set the frame size
explicitly.
2014-11-06 09:02:08 +01:00
Anton Khirnov
91e8d2eb1f lavf: use the format context strict_std_compliance instead of the codec one 2014-11-06 09:01:49 +01:00
Anton Khirnov
2f3fadfbe3 lavc,lavf: switch to the new vorbis parse API 2014-11-06 09:00:46 +01:00
Anton Khirnov
5e80fb7ff2 lavc: add a public API for parsing vorbis packets.
It is required by (at least) the ogg demuxer.

Mark the current semi-public apriv API for removal.
2014-11-06 08:51:25 +01:00
Anton Khirnov
6896f95b24 vorbis_parser: add an AV prefix to VorbisParseContext
This is done in preparation for making it public.
2014-11-06 08:47:54 +01:00
Anton Khirnov
874792641e vorbis_parser: use a dedicated AVClass for logging
Currently, the API takes an external AVCodecContext, which is used only
for extradata and logging. This change will allow to it to work without
an AVCodecContext in the following commits.
2014-11-06 08:47:21 +01:00
Michael Niedermayer
817663897e avcodec/mpegaudio_parser: fix off by 1 error in bitrate calculation
Fixes Ticket3918

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-06 00:05:22 +01:00
Nicolas George
90cdec5e26 ffmpeg: init sub2video.last_pts.
Get the heartbeat working when the video has negative timestamps.

Fix trac ticket #4062.

Signed-off-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-05 21:04:36 +01:00
Reimar Döffinger
a26d0ffa18 vdpau_mpeg4: Do not fail on unknown profile.
This is a regression, previous code did not require
users to set the profile to use VDPAU.
In addition, ASP is a superset of SP, so there is not
even a good reason to require it.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-11-05 20:07:31 +01:00
Andrey Utkin
4fd7067987 v4l2: support MPEG4 compressed streams
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-05 19:15:14 +01:00
Michael Niedermayer
a604de4fd8 avutil/time_internal: do not attempt to override *time_r() macros
Fixes build on somewhat odd setups with mingw
Fixes Ticket4075

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-05 18:44:15 +01:00
Kevin Mitchell
fdf22f973d avfilter/vf_idet: add a repeated field detection
This can be useful for determining telecine.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-05 12:10:42 +01:00
Thomas Volkert
07c3a4f693 avformat/udp: UDP-Lite (RFC 3828) support added
(This fixes ticket #1501)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-05 11:16:05 +01:00
Michael Niedermayer
513d57cc4d Merge commit 'a490391157dcf4dc6b65352ec3eea2781dd0a404'
* commit 'a490391157dcf4dc6b65352ec3eea2781dd0a404':
  rtmpproto: Ignore errors from the getStreamLength method

Conflicts:
	libavformat/rtmpproto.c

See: 09711545f5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-05 10:17:07 +01:00
Martin Storsjö
a490391157 rtmpproto: Ignore errors from the getStreamLength method
It is never an error if this method failed. If rt->live was
explicitly set to 0 (known to be a recorded file), print it
as a warning, otherwise print it as a debug message.

Based on a patch by Michael Niedermayer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-05 09:18:22 +02:00
Lou Logan
37425fcb04 doc: clarify -frames options behavior
Replace "frames to record" with "frames to output". The "to record"
makes it seem like an input option, or that it would capture the frames
instead of outputting them.

Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Lou Logan <lou@lrcd.com>
2014-11-04 16:25:47 -09:00
Michael Niedermayer
43fee7ad92 Merge commit '4ff670d99bebd97429322719089363d83143477d'
* commit '4ff670d99bebd97429322719089363d83143477d':
  hwaccel: Deinitialize hardware acceleration early enough

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-05 02:10:46 +01:00
Michael Niedermayer
77f1199e8f avcodec/mpeg12dec: do not trust AVCodecContext input dimensions
Fixes initial wtv dimensions
Fixes Ticket4070
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-05 02:00:22 +01:00
Carl Eugen Hoyos
f2ffaae9ac Use -fno-optimize-sibling-calls on parisc also for gcc 4.9.
Fixes fate on hppa.
Found-by: Andreas Cadhalpun.
2014-11-05 01:35:48 +01:00
Michael Niedermayer
ae4bb6c488 Merge commit '77ab341c0c6cdf2bd437bb48d429e797d1e60da2'
* commit '77ab341c0c6cdf2bd437bb48d429e797d1e60da2':
  aacdec: add default case in channel layout

Conflicts:
	libavcodec/aacdec.c

Note, the default case is currently unreachable

See: a48b890392
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-04 22:35:41 +01:00
Rémi Denis-Courmont
4ff670d99b hwaccel: Deinitialize hardware acceleration early enough
The application will destroy the underlying hardware handles when
get_format() gets called again. Also this ensures the
deinitialization takes place if the get_format callback returns an
error.

Regression from 1c80c9d7ef.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-11-04 22:15:17 +01:00
Michael Niedermayer
df82125acb Merge commit '930ffd46e1e742674aa7cc1c2450020c63b5015b'
* commit '930ffd46e1e742674aa7cc1c2450020c63b5015b':
  aacsbr: change order of operation to prevent out of array read

Conflicts:
	libavcodec/aacsbr.c

See: c2340831b8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-04 22:04:04 +01:00
Michael Niedermayer
ce63cb4ff2 Merge commit '9f6f407463ff8b7681befd04b6655bb7c6d9b3e1'
* commit '9f6f407463ff8b7681befd04b6655bb7c6d9b3e1':
  aacsbr: treat 1-d arrays as such

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-04 21:53:21 +01:00
Michael Niedermayer
d9103e848d Merge commit 'f52b8717617e94da90a45afdfff23e94f9ecf35c'
* commit 'f52b8717617e94da90a45afdfff23e94f9ecf35c':
  celp_filters: don't use filter lenght as loop bound

See: 3f01042142
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-04 21:39:06 +01:00
Michael Niedermayer
e1bcbca998 Merge commit 'c442190a6bfd8036f6c32b78e1e96ff3b830f8f0'
* commit 'c442190a6bfd8036f6c32b78e1e96ff3b830f8f0':
  error_resilience: initialize prev_* variables

Note, these variables are not used without initialization prior
to the change

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-04 21:28:48 +01:00
Michael Niedermayer
567ea2d64c Merge commit '240b22afe14ef477da1b439b9ed7bca6cc7d6c26'
* commit '240b22afe14ef477da1b439b9ed7bca6cc7d6c26':
  motion_est: remove dead code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-04 21:10:02 +01:00
Michael Niedermayer
a28313b09e Merge commit '351d0f8b7a6ecce411ae75fb3511573c34317218'
* commit '351d0f8b7a6ecce411ae75fb3511573c34317218':
  get_bits: remove unused assignment

Conflicts:
	libavcodec/get_bits.h

See: ea6178fff8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-04 21:03:06 +01:00
Michael Niedermayer
66b9e60af0 ffmpeg_opt: store canvas size in decoder context
Fixes canvas size
Fixes Ticket4074

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-04 20:55:15 +01:00
Michael Niedermayer
786594184a avformat/mpegts: fix iteration count in add_pid_to_pmt()
Fixes accessing uninitialized memory

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-04 19:31:59 +01:00
Michael Niedermayer
09024fe681 avfilter/af_aresample: Limit data per inserted packet
This avoids creating unwieldy large packets, which is allowed but
does not seem to be a good idea

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-04 17:17:24 +01:00
Michael Niedermayer
97da68172a avfilter/af_aresample: split flushing code out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-04 17:17:23 +01:00
Michael Niedermayer
e4f8a973aa swresample: Fix swr_drop_output so it does not flush the buffers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-04 17:17:23 +01:00
Vittorio Giovara
77ab341c0c aacdec: add default case in channel layout
Bug-Id: CID 732291
2014-11-04 09:28:45 -05:00
Michael Niedermayer
930ffd46e1 aacsbr: change order of operation to prevent out of array read
CC: libav-stable@libav.org
Bug-Id: CID 732250
2014-11-04 09:28:45 -05:00
Benoit Fouet
dc351e1381 id3v2: prefer TDRC for date over TDRL.
TDRL is what we used as a replacement of TYER, and, according to
http://id3.org/id3v2.4.0-changes :
    TYER - Year
        This frame is replaced by the TDRC frame, 'Recording time'
        [F:4.2.5].
So change TDRL usages to TDRC.

Fixes ticket #3694

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-04 14:11:53 +01:00
Michael Niedermayer
3dae05f4f7 avformat/mpegts: also print PMT version in av_dlog()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-04 01:18:39 +01:00
Michael Niedermayer
09711545f5 avformat/rtmpproto: Do not fail when the length cannot be determined for live streams
Fixes Ticket4071

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-04 00:35:32 +01:00
Michael Niedermayer
db0471c40f avformat/mpegts: Continue parsing PMTs during duration estimation
This way if we by chance run into a valid PMT we have a more complete
set of streams, also do not reset streams in case we run into a worse
PMT

Fixes Ticket4046

alternatively Ticket4046 could be closed as invalid or wontfix as it contains
some PMTs which lack the 2 subtitle streams

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-03 22:55:07 +01:00
Michael Niedermayer
a7f25979dd avformat/utils: Leave skip_clear enabled until after estimate_timings()
Should make no difference but will be needed for subsequent commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-03 22:53:48 +01:00
Michael Niedermayer
a6593f7cc6 avformat/mpegts: Do not add pid if its already there with add_pid_to_pmt()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-03 22:25:55 +01:00
Michael Niedermayer
716674b151 avcodec/libwebpenc: add quality option
previously quality could only be set through qscale/global_quality but the scale
was inverted. Using a separate option avoids the confusion from qscale working
backward.

Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Reviewed-by: Clément Bœsch <u@pkh.me>
Reviewed-by: Nicolas George <george@nsup.org>
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-03 19:10:22 +01:00
Michael Niedermayer
bd0f866731 doc: Better documentation for the bitexact flag
Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-03 18:54:51 +01:00
Vittorio Giovara
9f6f407463 aacsbr: treat 1-d arrays as such
CC: libav-stable@libav.org
Bug-Id: CID 1238802 / CID 1238793 / CID 1238785
        CID 1238808 / CID 1238809
2014-11-03 12:46:18 -05:00
Vittorio Giovara
f52b871761 celp_filters: don't use filter lenght as loop bound
CC: libav-stable@libav.org
Bug-Id: CID 717906 / CID 717907 / CID 717916 /
        CID 717917 / CID 717919 / CID 732259
2014-11-03 12:45:42 -05:00
Vittorio Giovara
c442190a6b error_resilience: initialize prev_* variables
CC: libav-stable@libav.org
Bug-Id: CID 732293 / CID 732294
2014-11-03 12:45:09 -05:00
Michael Niedermayer
898635ad9e avfilter/vf_idet: use exp2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-03 17:22:33 +01:00
Michael Niedermayer
4bbd8f05f7 avfilter/vf_idet: use av_rescale()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-03 17:22:16 +01:00
Michael Niedermayer
5d590d87b3 avfilter/vf_idet: fix rounding of av_dict_set_fxp()
fixes the remainder overflowing beyond .999

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-03 17:14:29 +01:00
Kevin Mitchell
fe6f5f2908 avfilter/vf_idet: add a "half_life" option for statistics
This can be useful for videos in which the interlacing pattern changes.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-03 16:31:26 +01:00
Vittorio Giovara
240b22afe1 motion_est: remove dead code
mb_type is initialized to 0 and never updated before the check.

Bug-Id: CID 1238782
2014-11-03 10:15:53 -05:00
Vittorio Giovara
351d0f8b7a get_bits: remove unused assignment
Bug-Id: CID 1238816
2014-11-03 10:15:07 -05:00
Benoit Fouet
50138ea4f7 configure: add xcb cflags and extralibs to cflags and extralibs.
Replace xcb_event by xcb, as the former is no more used and the latter
is needed on configurations where only xcb is available, and not
libxcb_shm and/or libxcb_xfixes.

Signed-off-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-03 13:31:09 +01:00
Michael Niedermayer
206c98f303 avcodec/options_table fix min of audio channels and sample rate
Found-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-03 13:21:07 +01:00
Michael Niedermayer
ea0b9218f4 Merge commit '2f221b6a9365aa400061e16266f2d1242f7169f8'
* commit '2f221b6a9365aa400061e16266f2d1242f7169f8':
  movenc: Define the flag bits using shifts instead of as decimal numbers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-03 11:52:55 +01:00
Martin Storsjö
2f221b6a93 movenc: Define the flag bits using shifts instead of as decimal numbers
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-03 11:43:58 +02:00
Stefano Sabatini
f0158e6f0c lavf/flvenc: fail in case the muxed packet is too big
Avoid the creation of files which cannot be successfully decoded by
ffmpeg, for example generated with:
ffmpeg -f lavfi -i sine -af "aselect='not(between(t,100,500))',aresample=min_comp=0.001:min_hard_comp=0.100000" -acodec pcm_s16le -t 1000 -y out_audio.flv
2014-11-03 09:31:48 +01:00
Clément Bœsch
4f4de7f49e README: fix 2 typo in the doc/examples sentence 2014-11-03 09:21:45 +01:00
Reynaldo H. Verdejo Pinochet
33aacb7750 ffserver_config: add fixme on buffer_aggressivity/eq deprecation
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-11-02 22:10:54 -03:00
Reynaldo H. Verdejo Pinochet
17cc78505c ffserver_config: simplify some if true conditions
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-11-02 22:05:54 -03:00
Reynaldo H. Verdejo Pinochet
200270cc8b ffserver_config: fix line lengths
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-11-02 21:54:23 -03:00
Carl Eugen Hoyos
d457478fb0 Silence warnings for fic files with zero-sized cursors.
Fixes ticket #4072.
2014-11-03 00:43:08 +01:00
Carl Eugen Hoyos
e6b7246a68 lavf/movenc: Write G.726 bitrate to make the files decodable.
Fixes ticket #4069.
2014-11-03 00:38:13 +01:00
Lukasz Marek
9c097f1cfc ffserver_config: improve AVOption handing
AVOption are checked right after found in config file.
It allows to report exact line in config file.

Options provided more than once are threated as errors.

It also fixes flag options handing.
Flags may occur more than once in config file.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-03 00:32:25 +01:00
Lukasz Marek
2121e3e130 ffserver_config: improve error handling
Replace atoi with more advanced parsing routine.
Set maximum port value to 65535 (not 65536).
Other checks.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-02 23:44:22 +01:00
Michael Niedermayer
63e62cfbe2 avformat/img2enc: Use localtime_r() for thread saftey
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-02 20:09:16 +01:00
Michael Niedermayer
5ece4f8b73 avformat/sbgdec: Use localtime_r() for thread saftey
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-02 20:08:59 +01:00
Michael Niedermayer
76886589ee avformat/wavenc: Use localtime_r() for thread saftey
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-02 20:08:12 +01:00
Michael Niedermayer
32a2876b12 avformat/segment: use time_internal.h, simplify code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-02 20:07:34 +01:00
Michael Niedermayer
bab09864b4 avcodec/jacosubdec: use time_internal.h, simplify code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-02 20:06:40 +01:00
Michael Niedermayer
013c3eb05c avfilter/vf_drawtext: use gm_time_r() for thread saftey
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-02 19:20:26 +01:00
Michael Niedermayer
a52cb42ba6 avformat/matroskadec: use gmtime_r() for thread saftey
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-02 19:19:07 +01:00
Michael Niedermayer
70b7cf9c39 avformat/webpenc: removed unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-02 11:43:48 +01:00
Michael Niedermayer
547fce9585 avcodec/h264_slice: Clear table pointers to avoid stale pointers
Might fix Ticket3889

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-02 01:56:38 +01:00
Michael Niedermayer
f5abd12c4d avformat/img2enc: remove webp extension as we have a dedicated webp muxer
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-02 01:00:57 +01:00
Lukasz Marek
e9899ca3dd ffserver_config: dont pass pointer to enum as pointer to int
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-02 00:01:29 +01:00
Michael Niedermayer
5aaf5df06d avcodec/libwebpenc: support "P" frames in webp animations
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-01 20:10:52 +01:00
Michael Niedermayer
6d64a14e6d avformat: add webp muxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-01 20:10:52 +01:00
Rodger Combs
ae437c7ce7 avformat/assenc: Add ignore_gaps option
Signed-off-by: Clément Bœsch <u@pkh.me>
2014-11-01 19:38:48 +01:00
Kevin Mitchell
ae6118de19 avfilter/idet: add current frame classification to metadata
Fixes ticket 3832

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-01 18:04:35 +01:00
Kevin Mitchell
2847843868 avfilter/idet: add metadata to "current" frame instead of "next" frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-01 18:03:38 +01:00
Thomas Volkert
8d9277c3c0 avformat/rtpdec_h261: code aligned to the HEVC code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-01 16:33:52 +01:00
Reimar Döffinger
46353759cb mpeg4vdpau: Fix priv data size.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-11-01 15:43:52 +01:00
Michael Niedermayer
e5054c8eed avcodec/pthread_slice: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-01 11:36:41 +01:00
Michael Niedermayer
842745fe17 avcodec/pthread_frame: Simplify code by using av_reallocp_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-01 11:36:41 +01:00
Michael Niedermayer
cc769931ab avcodec/parser: use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-01 11:36:41 +01:00
Lukasz Marek
d2d97b34a0 ffserver_config: fix compilation warning
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-01 02:11:52 +01:00
Lukasz Marek
ed1f8915da ffserver_config: postpone codec context creation
So far AVCodecContext was created without codec specified.
This causes internal data to not be initialized to defaults.

This commit postpone context creation until all information is gathered.

Partially fixes #1275
2014-11-01 01:04:12 +01:00
Lukasz Marek
fe72622819 lavd/alsa: implement get_device_list callbacks
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-01 01:02:02 +01:00
Michael Niedermayer
7f7facdeda doc/formats: document libavformats bitexact flag
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-31 23:28:45 +01:00
Michael Niedermayer
d5633dfc28 doc: document -dump_separator
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-31 23:14:18 +01:00
Michael Niedermayer
0c6c5d7bcb avcodec/mjpegenc: use av_freep(), avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-31 13:36:19 +01:00
Michael Niedermayer
d15a94ba20 configure: fix escaping in xcb cflags / libs
Fixes build with open64

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-31 11:45:21 +01:00
Michael Niedermayer
dd2f868644 Merge commit 'aae6b3b918b4133b8cc2d1631196c1d406d0351a'
* commit 'aae6b3b918b4133b8cc2d1631196c1d406d0351a':
  movenc: Don't write any iso brands in ismv files

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-31 02:52:43 +01:00
Michael Niedermayer
77eff7a58a Merge commit 'c55d1d382cd41345a79782ace41f9b43f45dca9a'
* commit 'c55d1d382cd41345a79782ace41f9b43f45dca9a':
  movenc: Don't write any tfdt atom for ismv files

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-31 02:37:49 +01:00
Michael Niedermayer
61f1c96ef1 Merge commit '00c67fe1d0bc7c2ce49daac9c80ea39d5a663b73'
* commit '00c67fe1d0bc7c2ce49daac9c80ea39d5a663b73':
  movenc: Write a 0 duration in mdhd and tkhd for an empty initial moov

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-31 02:23:33 +01:00
Michael Niedermayer
8065a0cdbe Merge commit 'cf589faa5b7aed3bb38e08dcd00bd951e69686d1'
* commit 'cf589faa5b7aed3bb38e08dcd00bd951e69686d1':
  movenc: Add a flag for using default-base-is-moof in tfhd atoms

Conflicts:
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-31 01:46:25 +01:00
Michael Niedermayer
f76cd09d46 doc: Add documentation for the whitelist options
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-31 01:36:47 +01:00
Michael Niedermayer
fc8d59fa6f avcodec/h264_parser: Use av_freep() to avoid leaving stale pointers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-30 23:58:52 +01:00
Michael Niedermayer
2a26b22a17 avcodec/cngdec: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-30 23:36:51 +01:00
Michael Niedermayer
a1cb8779e2 avcodec/crystalhd: use av_freep() to avoid stale pointers
this leaves some av_free() where the pointer is overwritten
shortly later

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-30 23:35:32 +01:00
Michael Niedermayer
adfc3b81b1 avcodec/dvbsubdec: use av_freep() to avoid leaving stale pointers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-30 23:29:33 +01:00
Michael Niedermayer
25a360286d avcodec/dvbsubdec: merge declaration and init
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-30 23:28:15 +01:00
Martin Storsjö
aae6b3b918 movenc: Don't write any iso brands in ismv files
We deviate slightly from the iso specs for these files.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-30 23:17:00 +02:00
Martin Storsjö
c55d1d382c movenc: Don't write any tfdt atom for ismv files
The tfdt atom shouldn't be needed in those cases, we already
write tfxd atoms for ismv anyway, which is roughly equivalent.

This avoids having to declare the iso6 brand for ismv files.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-30 23:16:56 +02:00
Martin Storsjö
00c67fe1d0 movenc: Write a 0 duration in mdhd and tkhd for an empty initial moov
ISO/IEC 14496-12:2012/Cor 1:2013 is explicit about how this should be
handled. All zeros doesn't mean that the full file has got a zero
duration, only that the track samples described within the initial moov
have got zero duration. An all ones duration means an indeterminate
duration.

Keep writing a duration consisting of all ones for the ISM mode -
older windows media player versions won't play a file if this is
zero. (Newer windows media player versions play either version fine.)

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-30 23:16:50 +02:00
Michael Niedermayer
47f1596ece avcodec/dxtory: use unaligned copy for unaligned addresses
Fixes undefined behavior
Fixes: asan_heap-oob_112c6b3_13_012.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-30 19:43:03 +01:00
Michael Niedermayer
e91ba2efa9 avcodec/svq1dec: zero terminate embedded message before printing
Fixes out of array access
Fixes: asan_stack-oob_49b1e5_10_009.mov
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-30 18:23:09 +01:00
Michael Niedermayer
10e32618ac avcodec/cook: check that the subpacket sizes fit in block_align
Fixes out of array read
Fixes: asan_heap-oob_fb5c50_19_018.rmvb
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-30 16:54:17 +01:00
Michael Niedermayer
db442c8736 avdevice/xcbgrab: Fix offset support
Found-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-30 14:34:07 +01:00
Tobias Rapp
0c9f0da0f7 ffprobe.xsd: add packets_and_frames element definition
This allows validation of ffprobe XML output if -show_packets and
-show_frames are both set.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2014-10-30 12:34:49 +01:00
Carl Eugen Hoyos
792f0f2045 Fix compilation of xcbgrab if xcb/shape.h is not available.
Old versions of libxcb do not provide xcb_shape_rectangles().
The issue can be fixed differently but this small change fixes
some fate platforms and a user reported compilation problem.

Reported and tested by trac user kevmitch.
Fixes ticket #4067.
2014-10-30 10:22:34 +01:00
Carl Eugen Hoyos
8c0ae9015a Fix xcbgrab build if shm is not available. 2014-10-30 10:05:45 +01:00
Carl Eugen Hoyos
0e89d006d8 Fix disabling libxcb-shm and libxcb-xfixes. 2014-10-30 10:03:45 +01:00
Michael Niedermayer
7f24e1e1a2 Merge commit '600d5ee6b12bad144756b0772319bb04796bc528'
* commit '600d5ee6b12bad144756b0772319bb04796bc528':
  movenc: Signal iso6 in compatible_brands when using tfdt

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-30 02:53:52 +01:00
Michael Niedermayer
be787bccc0 Merge commit 'a9911a1b2df37ca808e06dc30627215f4ec9a9e4'
* commit 'a9911a1b2df37ca808e06dc30627215f4ec9a9e4':
  doc: Document the omit_tfhd_offset flag to the mp4 muxer

Conflicts:
	doc/muxers.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-30 02:45:36 +01:00
Michael Niedermayer
ad600e10da Merge commit '1e0b81abe86dc09dd34d60d57f92de5f12d65818'
* commit '1e0b81abe86dc09dd34d60d57f92de5f12d65818':
  movenc: Use a local variable consistently

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-30 02:37:03 +01:00
Michael Niedermayer
39cce77faf Merge commit 'b2b79eca6fae2466a53c5daa163a37e2474364fc'
* commit 'b2b79eca6fae2466a53c5daa163a37e2474364fc':
  movenc: Don't check the custom IO flag when using faststart

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-30 02:25:02 +01:00
Michael Niedermayer
647405d111 Merge commit '573b1de2d7f1db71030f91ecdded7d0bc071f6b6'
* commit '573b1de2d7f1db71030f91ecdded7d0bc071f6b6':
  movenc: Don't use track_id to decide which track is the first in a moof

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-30 02:17:54 +01:00
Michael Niedermayer
32e666c354 avcodec/g2meet: check tile dimensions to avoid integer overflow
Fixes out of array access
Fixes: asan_heap-oob_12a55d3_30_029.wmv
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-30 01:22:32 +01:00
Carl Eugen Hoyos
f05855414e lavc/utils: Make pix_fmt desc pointer const.
Fixes an "initialization discards qualifiers from pointer target type" warning.
2014-10-30 00:27:04 +01:00
Carl Eugen Hoyos
23ec8db8a0 Autodetect libxcb. 2014-10-30 00:26:27 +01:00
Thomas Mundt
d1b5ad3967 mxfenc: fix indentation after last commit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-29 23:49:13 +01:00
Michael Niedermayer
a8605be30f Merge commit '84bf64d3598c98a748e609195358ea04b0cfd140'
* commit '84bf64d3598c98a748e609195358ea04b0cfd140':
  bethsoftvid: simplify return handling

See: 5ee6527c43
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-29 22:47:11 +01:00
Michael Niedermayer
a3b1e42ec4 Merge commit 'e9ba3098319f78c91470c05da988d865491852c5'
* commit 'e9ba3098319f78c91470c05da988d865491852c5':
  assdec: check av_new_packet return value

Conflicts:
	libavformat/assdec.c

See: 7c9f9685ae
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-29 22:09:56 +01:00
Martin Storsjö
cf589faa5b movenc: Add a flag for using default-base-is-moof in tfhd atoms
Similarly to the omit_tfhd_offset flag added in e7bf085b, this
avoids writing absolute byte positions to the file, making them
more easily streamable.

This is a new feature from 14496-12:2012, so application support
isn't necessarily too widespread yet (support for it in libav was
added in 20f95f21f in July 2014).

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-29 23:04:04 +02:00
Martin Storsjö
600d5ee6b1 movenc: Signal iso6 in compatible_brands when using tfdt
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-29 23:03:52 +02:00
Martin Storsjö
a9911a1b2d doc: Document the omit_tfhd_offset flag to the mp4 muxer
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-29 23:03:45 +02:00
Martin Storsjö
1e0b81abe8 movenc: Use a local variable consistently
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-29 23:03:45 +02:00
Martin Storsjö
b2b79eca6f movenc: Don't check the custom IO flag when using faststart
The custom IO flag actually never is set for muxers, only for
demuxers, so the check was pointless (unless a user intentionally
would set the flag to signal using custom IO).

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-29 23:02:02 +02:00
Martin Storsjö
573b1de2d7 movenc: Don't use track_id to decide which track is the first in a moof
If one track doesn't have any samples within a moof, no traf/trun
is written for it. When the omit_tfhd_offset flag is set, none
of the tfhd atoms have any base_data_offset set, and the implicit
offset (end of previous track fragment data, or start of the moof
for the first trun) is used.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-29 23:01:27 +02:00
Michael Niedermayer
66b2a3fa31 Merge commit '2cd28693a59050717cb7da6cb229e606b1dee356'
* commit '2cd28693a59050717cb7da6cb229e606b1dee356':
  jack: Use av_strerror

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-29 21:59:30 +01:00
Michael Niedermayer
7729f43312 avdevice/fbdev_dec: use errno instead of ret for av_log
Should fix printing the wrong value

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-29 21:44:19 +01:00
Michael Niedermayer
265c4771cc Merge commit '043ea6f7bfc59399b6b3659da785ec4cc68a008e'
* commit '043ea6f7bfc59399b6b3659da785ec4cc68a008e':
  fbdev: Use av_strerror

Conflicts:
	libavdevice/fbdev_dec.c

See: f6b56b1f26
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-29 21:43:25 +01:00
Michael Niedermayer
9a534eda46 Merge commit 'f64d7e919eabd427f3e6dd4a1219e448c78deb42'
* commit 'f64d7e919eabd427f3e6dd4a1219e448c78deb42':
  mtv: improve header check and avoid division by zero

Conflicts:
	libavformat/mtv.c

See: 8b9b6332df
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-29 21:27:33 +01:00
Michael Niedermayer
e08ff208c7 Merge commit 'b3d11437ca55d81eeb10c923343ad69b73895fa8'
* commit 'b3d11437ca55d81eeb10c923343ad69b73895fa8':
  oggenc: remove unneeded null check

See: a147c1b2b1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-29 20:49:43 +01:00
Michael Niedermayer
363effbb99 Merge commit 'a9179b5bd6f143b4a7ff48bb0d00c8f0a7cafb4b'
* commit 'a9179b5bd6f143b4a7ff48bb0d00c8f0a7cafb4b':
  configure: Check only for xcb

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-29 20:43:36 +01:00
Thomas Mundt
1700fa013e avformat/utils: support more AVC Intra formats without SPS/PPS header
add support for AVC Intra 50 720p and 1080p without SPS/PPS header in mxf and mov demuxers. I got the SPS/PPS tables from libbmx.

Reviewed-by: tomas.hardin@codemill.se
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-29 20:08:32 +01:00
Michael Niedermayer
a0528d9ddd avformat/mpjpeg: make boundary tag user customizable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-29 18:31:32 +01:00
wm4
e5813d96d6 avformat/subtitles: reduce log level of UTF-16 warning
Applications can use this to silence the message.
2014-10-29 18:29:43 +01:00
James Almer
faa9d29829 lavu/atomic: add support for the new memory model aware gcc built-ins
__sync built-ins are considered legacy and will be deprecated.
These new memory model aware built-ins have been available since GCC 4.7.0

Use them by default when available except for __atomic_compare_exchange_n(),
which is slower, and is instead implemented as a fallback for when and if gcc
removes the legacy __sync built-ins.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-29 14:09:58 -03:00
Vittorio Giovara
84bf64d359 bethsoftvid: simplify return handling
Fixes a double free in case of av_packet_new_side_data() failure.
2014-10-29 17:02:27 +00:00
Vittorio Giovara
e9ba309831 assdec: check av_new_packet return value
CC: libav-stable@libav.org
Bug-Id: CID 703626
2014-10-29 16:54:43 +00:00
Luca Barbato
2cd28693a5 jack: Use av_strerror 2014-10-29 16:54:43 +00:00
Luca Barbato
043ea6f7bf fbdev: Use av_strerror 2014-10-29 16:54:43 +00:00
Vittorio Giovara
f64d7e919e mtv: improve header check and avoid division by zero
CC: libav-stable@libav.org
Bug-Id: CID 732203 / CID 732204
2014-10-29 16:54:43 +00:00
Michael Niedermayer
b3d11437ca oggenc: remove unneeded null check
The code would have segfaulted before if oggstream were NULL.

CC: libav-stable@libav.org
Bug-Id: CID 732218
2014-10-29 16:54:37 +00:00
James Almer
931da6a5e9 lavd/v4l2: don't use avpriv_ prefix for internal functions
No need to keep the old symbols around until a major bump since lavd functions
with the avpriv_ prefix were never exposed.

Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-29 16:12:14 +01:00
Michael Niedermayer
df74811cd5 avcodec/utils: Align dimensions by at least their chroma sub-sampling factors.
Fixes: out of array accesses
Fixes: asan_heap-oob_112c6b3_13_012.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-29 14:16:54 +01:00
Michael Niedermayer
0c42f47e38 avcodec/libutvideodec: Try to fix build failure with old libutvideo
Found-by: Jan Ehrhardt <phpdev@ehrhardt.nl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-29 13:15:26 +01:00
Thomas Mundt
2114e88432 avformat/mxfenc: AVC Intra support
To keep h264 parsing simple and fast, I used the framesize for selecting the right Panasonic codec label. The framesize is fixed for Panasonic AVC Intra.

This patch only supports AVCI50/100. But in all flavours, i.e. with no SPS/PPS in header.

Reviewed-by: tomas.hardin@codemill.se
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-29 11:55:21 +01:00
Carl Eugen Hoyos
fd1652b3ba Improve the fieldmatch documentation about mixed telecined content.
The fieldmatch filter has no problem with mixed telecined and
progressive content but the decimate filter does not detect the
changing framerate and drops progressive frames.
2014-10-29 10:17:37 +01:00
Michael Niedermayer
c1e035ea89 avformat/mxfdec: fix null pointer dereference
Fixes: signal_sigsegv_b5b3d4_2_001.mxf
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-29 03:54:49 +01:00
Michael Niedermayer
5b86447080 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Mention in the documentation that fieldmatch needs cfr input.
  Use v4l2 input format automatically if filename starts with "/dev/video"
  Print a warning if a subtitle demuxer changes utf16 to utf8.
  Do not set the lame quality if the user didn't request it.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-29 02:54:46 +01:00
Carl Eugen Hoyos
238ed47fae Mention in the documentation that fieldmatch needs cfr input.
This can be improved in the decimate filter but for the moment
explicitely mentioning that mixed telecined and progressive
content is unsupported is an improvement.

Fixes ticket #3968.
2014-10-29 01:59:52 +01:00
Andrey Utkin
b608fba672 Use v4l2 input format automatically if filename starts with "/dev/video"
Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2014-10-29 01:59:25 +01:00
Carl Eugen Hoyos
19a6431ec2 Print a warning if a subtitle demuxer changes utf16 to utf8.
This does not fix anything but gives users a chance to
know that they must not pass -sub_charenc UTF-16 to ffmpeg.

Fixes ticket #4059.
2014-10-29 01:32:44 +01:00
Carl Eugen Hoyos
2612214555 Do not set the lame quality if the user didn't request it.
This makes FFmpeg's mp3 output more similar to lame's output.
2014-10-29 01:31:06 +01:00
Michael Niedermayer
f3c0e0bf6f avcodec/dnxhddec: treat pix_fmt like width/height
Fixes out of array accesses
Fixes: asan_heap-oob_22c9a39_16_015.mxf
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-29 00:57:52 +01:00
Tomas Härdin
1a25c336aa mxfdec: Tighten RIP length bounds in mxf_read_random_index_pack()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-28 18:59:48 +01:00
Tomas Härdin
b83affdc94 mxfdec: Merge last_partition and footer_partition
FooterPartition offset specified in RIP takes precedence over any value written
in PartitionPacks. This fixes the same issue f06f6da tries to fix without
introducing an extra variable.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-28 18:59:31 +01:00
Tomas Härdin
1b17b64ee4 Revert "avformat/mxfdec: detect loops during header parsing"
This reverts commit 1c010fd035.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-28 18:59:16 +01:00
Tomas Härdin
37c3686155 mxfdec: Parse PreviousPartition in mxf_seek_to_previous_partition()
Without this patch the demuxer can get stuck in a loop if PreviousPartition
points somewhere where there's no PartitionPack, or if klv_read_packet() syncs
back up to the current partition.

This should fix Ticket3278 properly and unbreak Ticket4040.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-28 18:58:59 +01:00
Tomas Härdin
fc1b89d887 mxfdec: Break out parts of mxf_read_header() into separate functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-28 18:58:34 +01:00
Michael Niedermayer
f1c21a200b avformat/mvdec: Check size in read_table() for validity
This check is redundant with the previous commit but it provides
better error messages and feedback while the previous commit
ensures that var_read_string() doesnt return uninitialized arrays
if it itself is feeded with an invalid size possibly through a
different future codepath.

Fixes: asan_heap-oob_49b1e5_12_011.movie
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-28 17:51:14 +01:00
Michael Niedermayer
86e5749285 avformat/mvdec: Check size for validity in var_read_string()
Fixes out of array read
Fixes: asan_heap-oob_49b1e5_12_011.movie
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-28 17:06:16 +01:00
Michael Niedermayer
e70312dfc2 avcodec/dxa: check dimensions
Fixes out of array access
Fixes: asan_heap-oob_11222fb_21_020.dxa
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-28 15:30:05 +01:00
Luca Barbato
a9179b5bd6 configure: Check only for xcb
xcb-utils are not needed anymore.
2014-10-28 13:57:32 +00:00
Christophe Gisquet
beb944786e dvenc: mark encoder as intra
And thus allow various multithreading.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-28 12:48:58 +01:00
Christophe Gisquet
4fa772acbb dv: increase VLC reading bits to 10
This also requires a bump in the table size of bit patterns to 1664.
From 356 to 348 cycles.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-28 12:22:03 +01:00
Michael Niedermayer
280da99a8f avdevice/xcbgrab: set avclass category
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-28 12:07:20 +01:00
Michael Niedermayer
c2e995674f Merge commit '4ad1eba011860224831ce0bb3123f6f55716b68a'
* commit '4ad1eba011860224831ce0bb3123f6f55716b68a':
  lavd: fix building x11grab after a6674d2

no change as the buggy line was not in FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-28 11:20:20 +01:00
Michael Niedermayer
dd5123a04c Merge commit 'ce91b2eae6ea52fc1a7003566d26db20ca62d745'
* commit 'ce91b2eae6ea52fc1a7003566d26db20ca62d745':
  vdpau: return MAIN instead of BASELINE for H.264 CBP

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-28 11:05:12 +01:00
Michael Niedermayer
ab9ba88877 Merge commit '26ab504ad8d2b23535c9a0ad43bf1fd0e6aa0893'
* commit '26ab504ad8d2b23535c9a0ad43bf1fd0e6aa0893':
  vdpau/h264: request MAIN rather than BASELINE VDPAU profile for CBP

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-28 10:58:12 +01:00
Anton Khirnov
4ad1eba011 lavd: fix building x11grab after a6674d2 2014-10-28 07:22:00 +01:00
Rémi Denis-Courmont
ce91b2eae6 vdpau: return MAIN instead of BASELINE for H.264 CBP
This is the same as the previous change, but for applications using the
old API (such as VLC 2.2).

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-28 07:06:33 +01:00
Rémi Denis-Courmont
26ab504ad8 vdpau/h264: request MAIN rather than BASELINE VDPAU profile for CBP
The H.264 Constrained Baseline Profile (CBP) is a subset of both the
Main Profile and the Baseline Profile. In principles, a hardware
decoder that supports either of those can decode CBP content. As it
happens, Main is supported by all VDPAU drivers, and Baseline is not.

So favor map CBP to MP for now. Hopefully in the future libvdpau will
offer an explicit choice for CBP.

This fixes bug 757.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-28 07:06:13 +01:00
Michael Niedermayer
39680cacee avcodec/dirac_arith: fix integer overflow
Fixes: asan_heap-oob_1078676_9_008.drc
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-28 02:15:40 +01:00
Michael Niedermayer
5145d22b88 avcodec/diracdec: Tighter checks on CODEBLOCKS_X/Y
Fixes very long but finite loop
Fixes: asan_heap-oob_107866c_42_041.drc
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-28 01:25:57 +01:00
Michael Niedermayer
526886e606 avcodec/diracdec: Use 64bit in calculation of codeblock coordinates
Fixes integer overflow
Fixes out of array read
Fixes: asan_heap-oob_107866c_42_041.drc
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-28 01:25:28 +01:00
Michael Niedermayer
d4e8cc35b3 Merge commit '11467ecf519788f2e2f49c63a17eb600e618489e'
* commit '11467ecf519788f2e2f49c63a17eb600e618489e':
  mxfdec: reduce loop bound in mxf_read_pixel_layout()

See: 187630b244
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-27 23:34:05 +01:00
Michael Niedermayer
0894b9405c avformat/bethsoftvid: print error in case the side date failed to be allocated
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-27 23:20:21 +01:00
Michael Niedermayer
5ee6527c43 Merge commit 'e6c66f1e4ea19a3aa6ed999c5cb92e1b682c7600'
* commit 'e6c66f1e4ea19a3aa6ed999c5cb92e1b682c7600':
  bethsoftvid: check return value and clean memory

Conflicts:
	libavformat/bethsoftvid.c

See: 3632f35c8e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-27 23:19:08 +01:00
Michael Niedermayer
9612dcd6b2 avformat/filmstripdec: Fix several integer overflows
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-27 22:57:17 +01:00
Michael Niedermayer
76b9043e90 Merge commit 'b46b233baffc2076a1a17a264ba9553ae0d4878f'
* commit 'b46b233baffc2076a1a17a264ba9553ae0d4878f':
  filmstripdec: avoid integer overflow

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-27 22:57:07 +01:00
Michael Niedermayer
f769671f86 Merge commit '090c67d586e3916f9acc49e010b6389d07f97153'
* commit '090c67d586e3916f9acc49e010b6389d07f97153':
  matroskaenc: write correct Display{Width, Height} in stereo encoding

Conflicts:
	libavformat/matroskaenc.c

See: 6103faaa51
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-27 22:18:03 +01:00
Michael Niedermayer
a38a1d516f Merge commit 'a6674d2e7771dbf7a4a5556f5e126be83cadac96'
* commit 'a6674d2e7771dbf7a4a5556f5e126be83cadac96':
  xcbgrab: XCB-based screen capture

Conflicts:
	Changelog
	configure
	libavdevice/Makefile
	libavdevice/alldevices.c
	libavdevice/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-27 21:26:51 +01:00
Michael Niedermayer
a050cf0c45 avcodec/sgidec: fix count check
Fixes: asan_heap-oob_22b30d4_39_038.sgi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-27 20:55:57 +01:00
Michael Niedermayer
3b20ed8548 avcodec/sgidec: fix linesize for 16bit
Fixes: asan_heap-oob_22b30d4_39_038.sgi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-27 20:49:47 +01:00
Tomas Härdin
11467ecf51 mxfdec: reduce loop bound in mxf_read_pixel_layout()
Makes coverity less confused and code more readable.

Bug-Id: CID 732262
2014-10-27 19:08:02 +00:00
Vittorio Giovara
e6c66f1e4e bethsoftvid: check return value and clean memory
CC: libav-stable@libav.org
Bug-Id: CID 733777
2014-10-27 18:21:40 +00:00
Vittorio Giovara
b46b233baf filmstripdec: avoid integer overflow
CC: libav-stable@libav.org
Bug-Id: CID 732246
2014-10-27 18:21:40 +00:00
Vittorio Giovara
090c67d586 matroskaenc: write correct Display{Width, Height} in stereo encoding
should be the raw amount of pixels (for example 3840x1080 for full HD side by
side) and the DisplayWidth/Height in pixels should be the amount of pixels for
one plane (1920x1080 for that full HD stream)."

So, move the aspect ratio check in the mkv_write_stereo_mode() function
and always write the embl when stereo format and/or aspect ration is set.
Also add a few comments to that function.

CC: libav-stable@libav.org
Found-by: Asan Usipov <asan.usipov@gmail.com>
2014-10-27 18:21:35 +00:00
Thilo Borgmann
ed2e97ce6a lavd/avfoundation: Fix compilation for non MAC OS devices by conditional compilation of screen capture capabilities.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-27 16:38:19 +01:00
Michael Niedermayer
852aaead1f avcodec/hevc_ps: Check default display window bitstream and skip if invalid
Fixes Ticket4035

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-27 14:03:09 +01:00
Michael Niedermayer
69a9a90d2e avcodec/h264_parser: rewrite the parse_nal_units() loop logic based on h264.c
Fixes Ticket4011

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-27 04:58:49 +01:00
Michael Niedermayer
3b678da5e3 avcodec/h264: simplify find_start_code()
this also uses avpriv_find_start_code(), though no speed change is expected as
the area searched is generally small

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-27 04:26:33 +01:00
Michael Niedermayer
4898440f6b Move get_avc_nalsize() and find_start_code() to h264.h
This allows sharing them with the h264 parser

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-27 04:22:42 +01:00
Kieran Kunhya
61e42c1124 avformat/mpegts: Add support for Opus in MPEG-TS
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-26 22:29:47 +01:00
Kieran Kunhya
74141f693d avcodec: Add support for Opus in MPEG-TS
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-26 22:29:07 +01:00
Christophe Gisquet
05da586fef dv: move inverse weight tables to decoder
The encoder has its own tables and does not access the idct_factor
member of the DVVideoContext structure.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-26 19:21:59 +01:00
Christophe Gisquet
6fe02d25ee dv: fix weight table for 2x4x8 transform
The coefficients must be in the appropriate zigzag scan order.
Also fix their values at the same time, as they were pretty wrong.

Fixes ticket #2970.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-26 18:51:52 +01:00
Matthew Oliver
2060f4cbba avutil/intmath: enable builtin intrinsics for icl and msvc.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-26 17:20:55 +01:00
Michael Niedermayer
c0002ddb01 ffmpeg_opt: Check the return code from strftime()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-26 17:07:29 +01:00
Michael Niedermayer
f0390638e0 avformat/matroskadec: Check the return code from strftime()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-26 17:07:29 +01:00
Michael Niedermayer
a9564e859b avformat/mlvdec: Check the return code from strftime()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-26 17:07:29 +01:00
Luca Barbato
a6674d2e77 xcbgrab: XCB-based screen capture
Matches the x11grab screen capture by features.
2014-10-26 08:47:41 +01:00
Michael Niedermayer
abaa41b642 Merge commit 'ed6dad3737bf7bb2d5e9fa9511dfdb44806010e8'
* commit 'ed6dad3737bf7bb2d5e9fa9511dfdb44806010e8':
  lavf: Implement ff_brktimegm using gmtime_r

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-26 03:22:52 +01:00
Michael Niedermayer
4360c6ff61 Merge commit '6b9b42cc5576e1819ad1e29d98940066fd14b2d6'
* commit '6b9b42cc5576e1819ad1e29d98940066fd14b2d6':
  drawtext: Remove the ifdef for localtime_r

Conflicts:
	libavfilter/vf_drawtext.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-26 03:12:37 +01:00
Michael Niedermayer
4a39d4c65a Merge commit '82ee7d0dda0fec8cdb670f4e844bf5c2927ad9de'
* commit '82ee7d0dda0fec8cdb670f4e844bf5c2927ad9de':
  Use gmtime_r instead of gmtime and localtime_r instead of localtime

Conflicts:
	libavformat/mov.c
	libavformat/mxfenc.c
	libavformat/wtvdec.c
	libavutil/parseutils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-26 02:38:26 +01:00
Michael Niedermayer
edb069e556 Merge commit '3f8f1c6ff24ee858eb5b0bf47ef6d4605299a87e'
* commit '3f8f1c6ff24ee858eb5b0bf47ef6d4605299a87e':
  lavu: Provide fallbacks for gmtime_r and localtime_r

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-26 02:26:45 +01:00
Michael Niedermayer
3b709fd912 Merge commit '9dcf2397219ca796f0fafce2a703770d6fd09920'
* commit '9dcf2397219ca796f0fafce2a703770d6fd09920':
  lavf: Check the return value of strftime

Conflicts:
	libavformat/wtvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-26 02:06:40 +01:00
Michael Niedermayer
50697ac5b2 Merge commit '851ace79a307bea54b44bd6f7ecd3b7861c28ec6'
* commit '851ace79a307bea54b44bd6f7ecd3b7861c28ec6':
  wtv: Avoid needlessly calling gmtime twice with the same argument

Conflicts:
	libavformat/wtvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-26 02:21:42 +02:00
Mark Reid
90bf1e3046 libavformat/mxfdec: read source timecode from pulldown component
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 23:15:04 +02:00
Martin Storsjö
ed6dad3737 lavf: Implement ff_brktimegm using gmtime_r
While a standalone implementation is nice, we already depend on
gmtime and gmtime_r in a number of places.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-26 00:14:54 +03:00
Martin Storsjö
6b9b42cc55 drawtext: Remove the ifdef for localtime_r
If it isn't available in the system, we've got a fallback to
the normal localtime function, so normal code can assume it is
available as long as time_internal.h is included.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-26 00:14:54 +03:00
Martin Storsjö
82ee7d0dda Use gmtime_r instead of gmtime and localtime_r instead of localtime
gmtime isn't thread safe in general. In msvcrt (which lacks gmtime_r),
the buffer used by gmtime is thread specific though.

One call to localtime is left in avconv_opt.c, where thread safety
shouldn't matter (instead of making avconv depend on the libavutil
internal header).

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-26 00:14:54 +03:00
Martin Storsjö
3f8f1c6ff2 lavu: Provide fallbacks for gmtime_r and localtime_r
This allows writing most code as if they always are is available.

These are ok to use from other libraries even though it's not a
public header, since they only provide an inline declaration, and
doesn't add an actual dependency on lavu internals. (This can be
considered more a build system compatibility fallback than a
libavutil feature.)

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-26 00:14:54 +03:00
Martin Storsjö
9dcf239721 lavf: Check the return value of strftime
If the buffer provided to strftime is too small, the buffer contents
are indeterminate - it does not guarantee actually null terminating
the buffer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-26 00:14:54 +03:00
Martin Storsjö
851ace79a3 wtv: Avoid needlessly calling gmtime twice with the same argument
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-26 00:14:54 +03:00
Thilo Borgmann
a6555f88aa lavd/avfoundation: Add support for screen capturing.
Patch based on pull-request by Joseph Benden <joe@benden.us>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 22:09:06 +02:00
Michael Niedermayer
13ee94a480 avformat/rdt: Forward whitelists to rdt demuxer
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 21:17:27 +02:00
Lukasz Marek
5f55819850 opts: add list device sources/sinks options
Allows to list sources/sinks of the devices that implement
that functionality.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-10-25 20:20:31 +02:00
Lukasz Marek
1cff908589 doc/fftools-common-opts: document -devices option
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-10-25 19:55:18 +02:00
Christophe Gisquet
1086f09da3 dv: more precise weight table for 8x8
It is derived from the actual equations of the specs. In
particular, it is closer to the inverse of what the encoder uses.

fate tests accordingly updated.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 19:01:45 +02:00
Christophe Gisquet
80b29c2d0c dv: use smaller type for weight tables
Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 16:54:12 +02:00
Christophe Gisquet
eacf2e8eb3 dv: better split weight tables assignment
This is a mostly cosmetical patch in preparation for the following.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 16:44:43 +02:00
Michael Niedermayer
ff03df6475 avformat/mpeg: Use av_find_input_format() instead of directly linking to the demuxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 16:28:41 +02:00
Michael Niedermayer
2ce1054257 avformat/rtpdec_asf: Use av_find_input_format() instead of directly linking to the demuxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 16:28:03 +02:00
Michael Niedermayer
39a7ded22d tools/ffhash: read errno before calling functions which might change it
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 16:12:16 +02:00
Michael Niedermayer
e7513e1286 avformat: Read errno before av_log() as the callback from av_log() might affect errno
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 13:48:56 +02:00
Michael Niedermayer
af03ba9aa2 avformat/hdsenc: Read errno before av_log() as the callback from av_log() might affect errno
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 13:28:51 +02:00
Michael Niedermayer
0d96d44c4f avfilter: Read errno before av_log() as the callback from av_log() might affect errno
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 13:28:51 +02:00
Michael Niedermayer
a630969535 avdeviece: Read errno before av_log() as the callback from av_log() might affect errno
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 13:28:51 +02:00
Michael Niedermayer
dd5c2fe177 avcodec: Read errno before av_log() as the callback from av_log() might affect errno
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 13:28:51 +02:00
Michael Niedermayer
2fc970a6b8 cmdutils: Read errno before av_log() as the callback from av_log() might affect errno
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 13:28:51 +02:00
Michael Niedermayer
92d366f6ab avformat: Print error message on failure of ff_rename()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 13:28:51 +02:00
Michael Niedermayer
eeb9242b62 Merge commit '50dbe6b3544fa64d5611e16553bf542fd71276b8'
* commit '50dbe6b3544fa64d5611e16553bf542fd71276b8':
  mov: fix assigment check

Conflicts:
	libavformat/mov.c

See: af2e5061bb
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 04:57:48 +02:00
Michael Niedermayer
48579041ba Merge commit '7df3b426bbfbd7efd9a0f56393e3cc78413b0869'
* commit '7df3b426bbfbd7efd9a0f56393e3cc78413b0869':
  mxfenc: Fix possible integer overflows

Conflicts:
	libavformat/mxfenc.c

See: e3ba817b95
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 04:55:17 +02:00
Michael Niedermayer
5408d8828a Merge commit 'ad6b00d85f686324aa2bd93e39261fa1d411f141'
* commit 'ad6b00d85f686324aa2bd93e39261fa1d411f141':
  mxfdec: add missing break

See: cbda76c7c6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 04:53:01 +02:00
Michael Niedermayer
8be93ba049 Merge commit '28c020d4df9b060a58a124a7a5406d4313fbe249'
* commit '28c020d4df9b060a58a124a7a5406d4313fbe249':
  matroskaenc: check avio_open_dyn_buf return value

Conflicts:
	libavformat/matroskaenc.c

See: b1f517f503
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 04:45:23 +02:00
Michael Niedermayer
3ae818f6ab Merge commit 'e0caa1eb4e518111a81801db0d2ccdd2733ba94b'
* commit 'e0caa1eb4e518111a81801db0d2ccdd2733ba94b':
  matroskadec: check return values

Conflicts:
	libavformat/matroskadec.c

See: 1116491c53
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 04:37:27 +02:00
Michael Niedermayer
45fd593531 Merge commit '3c1199c3c4cbdb4ffff0de89f06d5a08acefe356'
* commit '3c1199c3c4cbdb4ffff0de89f06d5a08acefe356':
  matroskadec: fix leak on error

Conflicts:
	libavformat/matroskadec.c

See: 2fe4b6210c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 04:32:16 +02:00
Michael Niedermayer
97a8f4dd11 Merge commit '7785ce1c769369abf85b276148548a5510aabb5f'
* commit '7785ce1c769369abf85b276148548a5510aabb5f':
  lavf: replace rename() with ff_rename()

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

See: 95d2fc6a76
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 04:24:16 +02:00
Michael Niedermayer
af89c14418 Merge commit '0b66fb4505e0bb43de3797f63f3290f0188d67cc'
* commit '0b66fb4505e0bb43de3797f63f3290f0188d67cc':
  flac_picture: prevent a possible out of bound write

This is only partly merged, the condition this checks for
is impossible to be true as it would imply avio_read() to
read more than the size passed to it

See: 731f7eaaad
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 04:03:41 +02:00
Michael Niedermayer
d609566270 Merge commit 'f1ed83e23add1c26c50b146727e4c2399dfc0b3a'
* commit 'f1ed83e23add1c26c50b146727e4c2399dfc0b3a':
  img2dec: check av_new_packet return value

Conflicts:
	libavformat/img2dec.c

See: 3f8148911c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 03:37:21 +02:00
Michael Niedermayer
6d2a2bfb59 Merge commit '1967cd4e4c1cd96dfa195ce14e4b212ddb70586d'
* commit '1967cd4e4c1cd96dfa195ce14e4b212ddb70586d':
  audiointerleave: check av_new_packet return value

Conflicts:
	libavformat/audiointerleave.c

See: 3ca8a23288
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 03:27:13 +02:00
Michael Niedermayer
1945db1f13 Merge commit 'ac84c1ce24a285f9cf16d4297bce73b1c4a6e435'
* commit 'ac84c1ce24a285f9cf16d4297bce73b1c4a6e435':
  avfilter: check filter link validity

Conflicts:
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 03:08:19 +02:00
Vittorio Giovara
50dbe6b354 mov: fix assigment check
CC: libav-stable@libav.org
Bug-Id: CID 1197050
2014-10-24 23:48:57 +01:00
Tomas Härdin
7df3b426bb mxfenc: Fix possible integer overflows
None of these are likely unless the user is writing a file with two billion
streams or a duration of around two months.

CC: libav-stable@libav.org
Bug-Id: CID 700568 / CID 700569 / CID 700570 /
        CID 700571 / CID 700572 / CID 700573
2014-10-24 23:48:57 +01:00
Vittorio Giovara
ad6b00d85f mxfdec: add missing break
CC: libav-stable@libav.org
Bug-Id: CID 732232
2014-10-24 23:48:57 +01:00
Vittorio Giovara
28c020d4df matroskaenc: check avio_open_dyn_buf return value
CC: libav-stable@libav.org
Bug-Id: CID 703629
2014-10-24 23:48:57 +01:00
Vittorio Giovara
e0caa1eb4e matroskadec: check return values
CC: libav-stable@libav.org
Bug-Id: CID 733712
2014-10-24 23:48:51 +01:00
Vittorio Giovara
3c1199c3c4 matroskadec: fix leak on error
CC: libav-stable@libav.org
Bug-Id: CID 1026767
2014-10-24 23:43:25 +01:00
Luca Barbato
7785ce1c76 lavf: replace rename() with ff_rename()
The new function wraps errno so that its value is correctly reported
when other functions overwrite it (eg. in case of logging).

CC: libav-stable@libav.org
Bug-Id: CID 1135748
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-10-24 23:42:53 +01:00
Vittorio Giovara
0b66fb4505 flac_picture: prevent a possible out of bound write
At "mimetype[len] = 0;" mimetype is a 64 element array and len might be
equal to or greater than that.

CC: libav-stable@libav.org
Bug-Id: CID 1061055
2014-10-24 23:42:53 +01:00
Vittorio Giovara
f1ed83e23a img2dec: check av_new_packet return value
CC: libav-stable@libav.org
Bug-Id: CID 1087077
2014-10-24 23:42:53 +01:00
Vittorio Giovara
1967cd4e4c audiointerleave: check av_new_packet return value
CC: libav-stable@libav.org
Bug-Id: CID 1087078
2014-10-24 23:42:53 +01:00
Vittorio Giovara
ac84c1ce24 avfilter: check filter link validity
Remove now redundant check.

CC: libav-stable@libav.org
Bug-Id: CID 700371
2014-10-24 23:42:19 +01:00
Michael Niedermayer
4ef02ddd81 Changelog: add entry for libutvideo 422P10
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 00:22:04 +02:00
Michael Niedermayer
59a4792830 avcodec/libutvideodec: Support YUV422P10
Based on ConvertToPlanar() from libutvideo
libutvideo sadly does not seem to support exporting its internal planar buffers

Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 00:15:15 +02:00
Eric Zimmerman
4ba5420e4d Added support for G2M5 codec
This has also been independently found and fixed similarly by carl in
f4a3bbf4a3cd375121ea2495817f3e50e831ed48
The 2nd magic check is taken from carls implementation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-24 19:36:09 +02:00
Michael Niedermayer
4641ae352e avformat: Add and use ff_copy_whitelists()
Fixes potential security issue in case of running out of memory

Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-24 19:23:23 +02:00
Benoit Fouet
e56425d1a7 avcodec/aacdec: warn user when remapping streams.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-24 18:54:06 +02:00
Michael Niedermayer
279b2a4deb avformat/mp3dec: also accept Lavc as shortname to read delays
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-24 18:06:26 +02:00
Michael Niedermayer
2dbee1a393 avformat/mp3enc: Squeeze our mp3 encoder tag into the 9byte shortname instead of randomly truncating
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-24 16:15:25 +02:00
Michael Niedermayer
e744e9a305 Merge commit 'ef363ebd596da18f889a7d4845023a23dfac84c9'
* commit 'ef363ebd596da18f889a7d4845023a23dfac84c9':
  mp3enc: write full LAME frame

Conflicts:
	libavformat/mp3enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-24 15:30:12 +02:00
Michael Niedermayer
6ef5e29220 Merge commit '88b32673db39440422a73ec3047d3326c96b4fb2'
* commit '88b32673db39440422a73ec3047d3326c96b4fb2':
  avconv: copy stream-level side data when streamcopying

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-24 13:14:33 +02:00
Michael Niedermayer
7ad34f4456 Merge commit 'c63418e0a3afbcdbc59fd65c270d45efafe092ce'
* commit 'c63418e0a3afbcdbc59fd65c270d45efafe092ce':
  doc: reword the mp3 muxer documentation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-24 12:59:27 +02:00
Michael Niedermayer
899d3706d8 Merge commit '99143140dea12363af680d02e23cb42cfe191679'
* commit '99143140dea12363af680d02e23cb42cfe191679':
  mp3dec: fix reading the Xing tag

Conflicts:
	libavformat/mp3dec.c

See: 19ff479f69
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-24 12:49:53 +02:00
Michael Niedermayer
2c5ae57776 Merge commit '6df9d9b55d3f56ee7782639a7678eeeaf77f14ea'
* commit '6df9d9b55d3f56ee7782639a7678eeeaf77f14ea':
  lavf: Use av_gettime_relative

Conflicts:
	libavformat/hls.c

See: f78bc96b7c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-24 12:40:36 +02:00
Michael Niedermayer
2896b98183 Merge commit 'd0c093021943e9b9c23528b12cd61ca2a5b01b4f'
* commit 'd0c093021943e9b9c23528b12cd61ca2a5b01b4f':
  avconv: Use av_gettime_relative

Conflicts:
	ffmpeg.c

See: 76191c08f8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-24 12:30:55 +02:00
Michael Niedermayer
872e087305 Merge commit '248d8fb60c59c8e044d9c8f78f23383b7cdecf72'
* commit '248d8fb60c59c8e044d9c8f78f23383b7cdecf72':
  avplay: Use av_gettime_relative

Conflicts:
	ffplay.c

See: 0ca0b4c29c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-24 12:19:35 +02:00
Michael Niedermayer
63001833c5 Merge commit 'e205429fcf9de3182bce2f4cfd1d6401596a8666'
* commit 'e205429fcf9de3182bce2f4cfd1d6401596a8666':
  tools: Use av_gettime_relative

See: 41120e6e40
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-24 11:57:33 +02:00
Michael Niedermayer
8fd07fa6cc Merge commit '6fdf35fe35d8c1c467708238100648a7a47c930d'
* commit '6fdf35fe35d8c1c467708238100648a7a47c930d':
  lavc: Use av_gettime_relative

See: b052bccbe4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-24 11:41:34 +02:00
Michael Niedermayer
e96ca404ea Merge commit '1bd0bdcdc236099d5c0d179696951f35f5310fa5'
* commit '1bd0bdcdc236099d5c0d179696951f35f5310fa5':
  lavu: Add av_gettime_relative

Conflicts:
	libavutil/time.c
	libavutil/time.h
	libavutil/version.h

See: 0eec06ed87
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-24 11:06:56 +02:00
Anton Khirnov
ef363ebd59 mp3enc: write full LAME frame
Most importantly, it contains the encoder delay and replaygain info.
2014-10-24 09:03:16 +02:00
Anton Khirnov
88b32673db avconv: copy stream-level side data when streamcopying 2014-10-24 09:03:16 +02:00
Anton Khirnov
c63418e0a3 doc: reword the mp3 muxer documentation
Make it more structured.
2014-10-24 09:03:16 +02:00
Anton Khirnov
99143140de mp3dec: fix reading the Xing tag
The quality scale field is only supposed to be present if the fourth bit
is set. In practice, lame always sets it, but other tools might not.

CC:libav-stable@libav.org
2014-10-24 09:03:16 +02:00
Martin Storsjö
6df9d9b55d lavf: Use av_gettime_relative
The ones left using av_gettime are NTP timestamps (for RTCP,
which is specified to send the actual current realtime clock
in RTCP SR packets), and the NUT muxer timestamper, which is
documented as using wallclock time.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-24 09:53:45 +03:00
Martin Storsjö
d0c0930219 avconv: Use av_gettime_relative
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-24 09:53:45 +03:00
Martin Storsjö
248d8fb60c avplay: Use av_gettime_relative
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-24 09:53:44 +03:00
Olivier Langlois
e205429fcf tools: Use av_gettime_relative
Whenever av_gettime() is used to measure relative period of time,
av_gettime_relative() is prefered as it guarantee monotonic time
on supported platforms.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-24 09:53:43 +03:00
Olivier Langlois
6fdf35fe35 lavc: Use av_gettime_relative
Whenever av_gettime() is used to measure relative period of time,
av_gettime_relative() is prefered as it guarantee monotonic time
on supported platforms.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-24 09:53:42 +03:00
Martin Storsjö
1bd0bdcdc2 lavu: Add av_gettime_relative
Since av_gettime() is used in a number of places where actual
real time clock is required, the monotonic clock introduced in
ebef9f5a5 would have consequences that are hard to handle. Instead
split it into a separate function that can be used in the cases
where only relative time is desired.

On platform where no monotonic clock is available, the difference
between the two av_gettime functions is not clear, and one could
mistakenly use the relative clock where an absolute one is
required. Therefore add an offset, to make it evident that the
time returned from av_gettime_relative never is actual current
real time, even though it is based on av_gettime.

Based on a patch by Olivier Langlois.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-24 09:53:41 +03:00
Andrey Utkin
08e6832a94 avformat/rtsp: pass return code from ffurl_open() on its failure
Previously, AVERROR(EIO) was returned. Now the value is passed from
lower level, thus it is possible to distinguish ECONNREFUSED, ETIMEDOUT,
ENETUNREACH etc.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-23 23:53:14 +02:00
Michael Niedermayer
7f2af3f56b avformat/rtsp: add av_assert0() to clarify that the else case is supposed to be unreachable
If its reachable then theres a bug as err would be uninitialized

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-23 23:48:45 +02:00
Michael Niedermayer
20aac40571 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Print an error if -r and -vsync 0 are used together.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-23 23:32:36 +02:00
Michael Niedermayer
00dbd7c4ae avcodec/utils: Print the codec name that is missing on the whitelist
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-23 23:30:41 +02:00
Carl Eugen Hoyos
7a649e0783 Print an error if -r and -vsync 0 are used together.
Fixes ticket #4041.
2014-10-23 23:27:46 +02:00
Michael Niedermayer
a1d06a0121 avcodec/options_table: Fix codec_whitelist flags
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-23 23:02:48 +02:00
Andrey Utkin
70c9d40008 avformat/http: pass return code from http_open_cnx_internal() on its failure
Previously, AVERROR(EIO) was returned on failure of
http_open_cnx_internal(). Now the value is passed to upper level, thus
it is possible to distinguish ECONNREFUSED, ETIMEDOUT, ENETUNREACH etc.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-23 20:58:21 +02:00
Michael Niedermayer
5ea0753a15 avformat/concatdec: Forward whitelists to the subdemuxers.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-23 18:19:37 +02:00
Michael Niedermayer
feb9057b83 Forward whitelists to the asf demuxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-23 18:19:37 +02:00
Michael Niedermayer
b76234c00c avformat/avidec: Forward whitelists to the subtitle demuxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-23 18:19:37 +02:00
Michael Niedermayer
ad83cfec5a avformat/mpeg: Forward whitelists to the mpegps demuxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-23 18:19:37 +02:00
Michael Niedermayer
ad5f861b8c avformat/libquvi: Forward whitelists to subdemuxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-23 18:19:37 +02:00
James Almer
7292b0477a x86/hpeldsp: fix loop in {avg,avg_no_rnd}_pixels16_x2_mmx
Handle it inside the __asm__() block.
Fixes fate-vc1_ilaced_twomv when using the gcc-usan toolchain.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-23 13:11:05 -03:00
Michael Niedermayer
c5e337431b avformat/sapdec: Forward whitelists to sdp demuxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-23 15:28:49 +02:00
Michael Niedermayer
24cd4e5071 avformat/hls: forward whitelists to mpegts demuxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-23 15:26:46 +02:00
Michael Niedermayer
2de9c5ed98 avutil/avstring: fix hardcoded separator in av_match_list()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-23 12:22:21 +02:00
Michael Niedermayer
3c0b98dced avutil/avstring: Reimplement av_match_list()
av_match_list() is only used for whitelists, fix it so it works with
multi-named formats like "mov,mp4,m4a,3gp,3g2,mj2"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-23 04:35:24 +02:00
Michael Niedermayer
cebe8c8095 avformat/format: Use av_match_name() instead of list in av_match_ext()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-23 04:33:09 +02:00
Eejya Singh
6dc99fdf0e Added STL demuxer and decoder
Signed-off-by: Clément Bœsch <u@pkh.me>
2014-10-22 23:12:38 +02:00
Lukasz Marek
27c61c32ce ffserver_conf: factorize parse function per config tag
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-10-22 22:37:40 +02:00
Lukasz Marek
d2f8ca4959 ffserver_config: clean up variable initialization
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-10-22 22:37:40 +02:00
Lukasz Marek
f524d2e47c ffserver: move configuration code to separate file
This commit doesn't change any existing logic.
It moves ffserver configuration related code to separate file.
It intends to make maintaining easier.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-10-22 22:37:40 +02:00
Christophe Gisquet
0e8bfd3c93 avcodec/tiffenc: properly compute packet size
The bytes per row is a better indication of it.

Helps resolving ticket #3874 by fixing ffmpeg's encoder and transforming
the issue in a issue with non-compliant decoders. ffmpeg's one is ok,
but unfortunately, many others aren't handling correctly unusual chroma
samplings.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-22 22:28:02 +02:00
Michael Niedermayer
9bdb7a6c1a ffmpeg: avoid endlessly reading from one input while another is unavailable
Testcase in Ticket 4051

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-22 22:26:32 +02:00
Michael Niedermayer
ec6a5fc6cc avformat/mux: Fix assertion failure due to max_interleave_delta and poor input
Fixes Ticket4051

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-22 16:28:49 +02:00
Neil Birkbeck
ad5c43bb36 avfilter/vf_idet: Fixes issue with idet not flushing last frame.
Uses a similar approach as vf_yadif to flush the last frame in idet.

Quick test with 50 frames from vsynth1:
./ffmpeg.old -i fate-suite/ffmpeg-synthetic/vsynth1/%02d.pgm -vf idet -f mp4 -y /dev/null 2>&1  | grep Multi
 (gives) [Parsed_idet_0 @ 0x261ebb0] Multi frame detection: TFF:0 BFF:0 Progressive:48 Undetermined:1

./ffmpeg -i fate-suite/ffmpeg-synthetic/vsynth1/%02d.pgm -vf idet -f mp4 -y /dev/null 2>&1  | grep Multi
 (gives) [Parsed_idet_0 @ 0x35a0bb0] Multi frame detection: TFF:0 BFF:0 Progressive:49 Undetermined:1

Fate tests have been updated.

(In testing, it seems this filter will also need a subsequent patch for single frame input)

Signed-off-by: Neil Birkbeck <neil.birkbeck@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-22 15:07:36 +02:00
Michael Niedermayer
a39201818f avformat/matroskadec: Fix cluster parsing loop which gathers seek information
Fixes Ticket2263
Fixes Ticket3934

Reviewed-by: Rodger Combs <rodger.combs@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-22 13:40:28 +02:00
James Almer
e397edbfba tools/crypto_bench: add CAST5 support
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-21 22:15:43 -03:00
Michael Niedermayer
c5ffd7aee5 avcodec/mjpegdec: use FF_CEIL_RSHIFT() for width
No testcase known

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-22 02:28:54 +02:00
Carl Eugen Hoyos
b6e8f10bcb lavf/cinedec: Fix a typo in the file header. 2014-10-22 01:37:02 +02:00
Michael Niedermayer
42316907b8 Merge commit 'af7ca6ea124b82b337a6b96e10963e88eba57ebe'
* commit 'af7ca6ea124b82b337a6b96e10963e88eba57ebe':
  nutdec: check av_new_packet return value

Conflicts:
	libavformat/nutdec.c

See: bb502411dd
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-22 00:26:37 +02:00
Michael Niedermayer
dd3f1563d7 Merge commit 'b69183f65d0f6f4cd7a4e6c0deb57d59b0185aba'
* commit 'b69183f65d0f6f4cd7a4e6c0deb57d59b0185aba':
  nutenc: check for negative index rather than assert

Conflicts:
	libavformat/nutenc.c

Not merged, the assert is correct

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-22 00:09:00 +02:00
Michael Niedermayer
979062fe2f Merge commit 'be42c0b8d57fe2ea769892d102ffd5561dc18709'
* commit 'be42c0b8d57fe2ea769892d102ffd5561dc18709':
  rmdec: stricter error check to avoid theoretical unitialized use

Conflicts:
	libavformat/rmdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-21 23:47:44 +02:00
Michael Niedermayer
840bc8e284 Merge commit '7207dd8f829baee58b4df6c97c19ffde77039e8d'
* commit '7207dd8f829baee58b4df6c97c19ffde77039e8d':
  rmdec: check av_new_packet return value

Conflicts:
	libavformat/rmdec.c

See: c01a462cda
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-21 23:01:26 +02:00
Lukasz Marek
6aa1cfed0b lavd/fbdev_common: report error during probing fbdev device
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-10-21 22:57:32 +02:00
Lukasz Marek
da833a6d09 lavd/fbdev_dec: use default device when not provided
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-10-21 22:57:32 +02:00
Michael Niedermayer
3099008f07 Merge commit '629b2ed0ac77d7c4bf1aeac5e70cafee5fa0fcae'
* commit '629b2ed0ac77d7c4bf1aeac5e70cafee5fa0fcae':
  flvdec: make sure to check create_stream and report the same error

Conflicts:
	libavformat/flvdec.c

See: d7d5b5dfc1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-21 22:35:30 +02:00
Michael Niedermayer
1922357e5a Merge commit 'f22aa6b841dc54fa1dd804303885b1e230a5f629'
* commit 'f22aa6b841dc54fa1dd804303885b1e230a5f629':
  flvdec: avoid unitialized use of a struct member

See: 396ddcf22d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-21 22:27:17 +02:00
Michael Niedermayer
4542615063 Merge commit 'e73d26bbd65f1ac5fc73ef3fd24cab1bed8ba2e2'
* commit 'e73d26bbd65f1ac5fc73ef3fd24cab1bed8ba2e2':
  smoothstreamingenc: explict cast to avoid overflow

Conflicts:
	libavformat/smoothstreamingenc.c

See: b399816d9c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-21 22:00:04 +02:00
Michael Niedermayer
2f74b8d0ed Merge commit '04d8af5f17961b9b7076b8c974e360feb08787c2'
* commit '04d8af5f17961b9b7076b8c974e360feb08787c2':
  fate-mpeg4: use TARGET_SAMPLES for resize tests

Conflicts:
	tests/fate/mpeg4.mak

See: c40a1bd253
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-21 21:44:48 +02:00
Michael Niedermayer
d5a3a20d1e avcodec/mjpegdec: simplify chroma_height calculation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-21 21:36:17 +02:00
Mika Raento
17702f1fc5 mov.c: reasonable bitrate for fragmented mp4
If using MFRA for timestamps, the stream may start from a large offset
and/or have gaps. With this change we calculate the bitrate based on
frames we've seen.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-21 18:06:18 +02:00
Michael Niedermayer
059c842818 avcodec/mjpegdec: Support 24111100 pix fmt id
Fixes 129533924_640.jpg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-21 16:41:47 +02:00
Vittorio Giovara
af7ca6ea12 nutdec: check av_new_packet return value
CC: libav-stable@libav.org
Bug-Id: CID 733713
2014-10-21 14:37:48 +01:00
Vittorio Giovara
b69183f65d nutenc: check for negative index rather than assert
CC: libav-stable@libav.org
Bug-Id: CID 703721
2014-10-21 14:37:48 +01:00
Vittorio Giovara
be42c0b8d5 rmdec: stricter error check to avoid theoretical unitialized use
CC: libav-stable@libav.org
Bug-Id: CID 90558
2014-10-21 14:37:48 +01:00
Vittorio Giovara
7207dd8f82 rmdec: check av_new_packet return value
CC: libav-stable@libav.org
Bug-Id: CID 733714
2014-10-21 14:37:48 +01:00
Vittorio Giovara
629b2ed0ac flvdec: make sure to check create_stream and report the same error
CC: libav-stable@libav.org
Bug-Id: CID 732242
2014-10-21 14:37:48 +01:00
Vittorio Giovara
f22aa6b841 flvdec: avoid unitialized use of a struct member
CC: libav-stable@libav.org
Bug-Id: CID 718141
2014-10-21 14:37:48 +01:00
Vittorio Giovara
e73d26bbd6 smoothstreamingenc: explict cast to avoid overflow
CC: libav-stable@libav.org
Bug-Id: CID 732248
2014-10-21 14:37:48 +01:00
Rodger Combs
1372c55786 doc/ffmpeg.texi: document the new -start_at_zero option
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-21 13:38:44 +02:00
Stefano Sabatini
843d7bb3a6 lavfi/concat: accept a single segment
Simplify scripting operations, so that n=1 is not to be considered as a
special case.
2014-10-21 13:28:40 +02:00
Stefano Sabatini
7ba2e134fb lavfi/afade: fix cur_sample computation
Use the correct timebase conversion.
2014-10-21 13:28:08 +02:00
Thilo Borgmann
6e6b79e7b8 lavf/mov.c: Prevent memory leak in case of invalid metadata reads.
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-21 12:36:52 +02:00
Janne Grunau
04d8af5f17 fate-mpeg4: use TARGET_SAMPLES for resize tests 2014-10-21 09:57:10 +02:00
Andrey Utkin
282c9354f1 avformat/rtsp: Use ff_rtsp_averror()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-21 03:52:27 +02:00
Andrey Utkin
24dfd6e79b avformat/rtspcodes: introduce ff_rtsp_averror()
Currently this is another name for ff_http_averror()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-21 03:51:14 +02:00
Rodger Combs
315f9e929d ffmpeg_opt: Add -start_at_zero option.
This automatically shifts input timestamps to start at 0 instead of the file's
starting timestamp when using -copyts.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-21 03:31:33 +02:00
Michael Niedermayer
832b4c0a86 avcodec/libutvideodec: print extradata size if unsupported
Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-21 03:05:49 +02:00
Michael Niedermayer
cec4e1c7c7 Merge commit 'd2771a1dc0a3695e8873adc16d068077f2417eea'
* commit 'd2771a1dc0a3695e8873adc16d068077f2417eea':
  rtpproto: Free the addrinfo pointer on failure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-20 23:05:06 +02:00
Michael Niedermayer
5753d96771 Merge commit '96bfb677478514db73d1b63b4213c97ad4269e8f'
* commit '96bfb677478514db73d1b63b4213c97ad4269e8f':
  nutdec: Prevent a memory corruption

Conflicts:
	libavformat/nutdec.c

See: 05dd5368a9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-20 22:35:37 +02:00
Michael Niedermayer
e162db66a2 Merge commit '350ed1829268d343b791208c8fd1cddd44d52a8e'
* commit '350ed1829268d343b791208c8fd1cddd44d52a8e':
  rtpdec_hevc: drop unnecessary check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-20 22:25:14 +02:00
Michael Niedermayer
20d3348e8a Merge commit '322b571d5591978efd6f6fee12181ac8900079fe'
* commit '322b571d5591978efd6f6fee12181ac8900079fe':
  rtmpproto: remove dead code

See: 3a8b66af6c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-20 22:09:23 +02:00
Michael Niedermayer
2e0ac145d5 Merge commit 'd1afd3e1d6e43f4d37ae147091f270124ac48e04'
* commit 'd1afd3e1d6e43f4d37ae147091f270124ac48e04':
  vf_format: check input validity

See: ee16e0cacc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-20 22:02:45 +02:00
Lukasz Marek
e493814d61 lavd: export all symbols with av_ prefix
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-10-20 22:01:36 +02:00
Michael Niedermayer
6ef4e0c8b8 Merge commit '7b48bf95242ebf95366d24d32e4cfca6aa77c5e2'
* commit '7b48bf95242ebf95366d24d32e4cfca6aa77c5e2':
  wtv: clean memory on error

See: e47024d72f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-20 21:52:51 +02:00
Michael Niedermayer
c04f125bb4 Merge commit '9fbc613f0df1628e7e78bca791fa8833846f8210'
* commit '9fbc613f0df1628e7e78bca791fa8833846f8210':
  wtv: check seek_by_sector return value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-20 21:43:44 +02:00
Michael Niedermayer
36552345d0 Merge commit 'd7f530b0d67fe3996dbfa990a47c865e0d1400a2'
* commit 'd7f530b0d67fe3996dbfa990a47c865e0d1400a2':
  aviobuf: check context before using it

See: 7441d1ec33
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-20 21:25:37 +02:00
Michael Niedermayer
54112629f1 Merge commit '02484d1a9316a9309fc1830825345ab79f6a8d60'
* commit '02484d1a9316a9309fc1830825345ab79f6a8d60':
  avio: fix sizeof argument

See: a96577df38
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-20 21:17:25 +02:00
Michael Niedermayer
ab077b3d7a Merge commit '8ab3b71e4b343cec3fa369a880ab4496d7345154'
* commit '8ab3b71e4b343cec3fa369a880ab4496d7345154':
  idcin: fix return check

See: ee884c3023
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-20 21:00:18 +02:00
Rong Yan
a001db2e2c configure: fix bug to ensure that HAVE_VSX is only enabled when HAVE_ALTIVEC is enabled and in LE environment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-20 19:58:02 +02:00
Thilo Borgmann
f31445a82d lavf/mov.c: Allocate buffer in case of long metadata entries.
Fixes ticket #4018

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-20 19:27:34 +02:00
Brad Smith
04a4fb81b3 v4l2: Make use of the VIDIOC_ENUM_FRAMESIZES ioctl on OpenBSD
Make use of the V4L2 VIDIOC_ENUM_FRAMESIZES ioctl on OpenBSD.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-20 14:56:58 +02:00
Kevin Mitchell
ff68ceb1b5 avfilter/vf_idet: add both multiple and single frame detection metadata
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-20 14:52:27 +02:00
Luca Barbato
d2771a1dc0 rtpproto: Free the addrinfo pointer on failure
CC: libav-stable@libav.org
Bug-Id: CID 1238797
2014-10-20 10:47:29 +01:00
Luca Barbato
96bfb67747 nutdec: Prevent a memory corruption
Chapters do not have an event_flags field.

Bug-Id: CID 1231990
2014-10-20 10:47:03 +01:00
Vittorio Giovara
350ed18292 rtpdec_hevc: drop unnecessary check
len is always >=1 in that case.

Bug-Id: CID 1238784
2014-10-20 10:44:42 +01:00
Vittorio Giovara
322b571d55 rtmpproto: remove dead code
Expression already evaluated before, redundant since
0533868642.

Bug-Id: CID 732199
2014-10-20 10:44:22 +01:00
Vittorio Giovara
d1afd3e1d6 vf_format: check input validity
CC: libav-stable@libav.org
2014-10-20 10:38:38 +01:00
Vittorio Giovara
7b48bf9524 wtv: clean memory on error
CC: libav-stable@libav.org
Bug-Id: CID 718002
2014-10-20 10:38:38 +01:00
Vittorio Giovara
9fbc613f0d wtv: check seek_by_sector return value
CC: libav-stable@libav.org
Bug-Id: CID 1198258
2014-10-20 10:38:38 +01:00
Vittorio Giovara
d7f530b0d6 aviobuf: check context before using it
Avoid a possible null pointer dereference.

CC: libav-stable@libav.org
Bug-Id: CID 1135769
2014-10-20 10:38:38 +01:00
Michael Niedermayer
02484d1a93 avio: fix sizeof argument
CC: libav-stable@libav.org
Bug-Id: CID 732284
2014-10-20 10:38:38 +01:00
Vittorio Giovara
8ab3b71e4b idcin: fix return check
CC: libav-stable@libav.org
Bug-Id: CID 732198
2014-10-20 10:38:37 +01:00
Michael Niedermayer
b5583fc3e0 avutil/cast5: Fix off by one error
Fixes fate-cast5 on alpha

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-20 05:41:26 +02:00
Andrey Utkin
81ce3f8e80 avformat/http: Use ff_http_averror()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-20 04:31:59 +02:00
Andrey Utkin
9d86ce783b avformat/http: Introduce ff_http_averror()
int ff_http_averror(int status_code, int default_averror)

This helper function returns AVERROR_ value from 3-digit HTTP status
code.

Second argument, default_averror, is used if no specific AVERROR_ is
available. It is introduced because in different places of code
different return codes are used - -1, AVERROR(EIO), AVERROR_INVALIDDATA.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-20 04:31:46 +02:00
Michael Niedermayer
d4e62ebae7 avcodec/snowenc: remove redundant FF_MPV_OFFSET()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-20 04:09:43 +02:00
Clément Bœsch
c669af0f24 avcodec/ass: add ASS trailing \r\n in one single place 2014-10-19 23:24:34 +02:00
Clément Bœsch
3d25869605 avcodec/ass: assume raw=0 in ff_ass_add_rect_bprint 2014-10-19 23:24:34 +02:00
Andrey Utkin
65639e6bef avutil/error: Introduce new error codes for 4XX and 5XX replies from remote servers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-19 22:32:14 +02:00
Michael Niedermayer
f63d381387 ffprobe: Add support for color_trc/color_pri/chroma_loc
Idea from: a2c00d22e7
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-19 20:15:37 +02:00
Kacper Michajłow
f22cf88fd3 rtmpproto: Don't mistake app for playpath.
For URLs "rtmp://server[:port]/foo" determine what `foo` refers to. If
application name has been defined by the user assume that `foo` is a
playpath, otherwise assume application name.

Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-19 18:52:30 +02:00
Nicholas Robbins
22cfa1f759 libavfi: added option to vf_perspective to specify transformation by giving destinations of corners of source.
Signed-off-by: Nicholas Robbins <nickrobbins@yahoo.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-19 17:59:53 +02:00
Kevin Mitchell
9d51bad625 avfilter/vf_idet: add counts to frame metadata
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-19 15:03:13 +02:00
Michael Niedermayer
a71a5c911e avformat/riff: Add UGY2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-19 14:38:19 +02:00
Simon Thelen
69071e8e9c doc/filters: fix localtime drawtext example.
The colon after the localtime function call needs an additional layer of
escaping or else everything until the next colon is treated as a
fontfile.

Signed-off-by: Simon Thelen <ffmpeg-dev@c-14.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-19 05:06:15 +02:00
Michael Niedermayer
057ea2a982 avformat: Add format_whitelist
This allows restricting demuxers to a list of needed ones for improved security
Note, some demuxers themselfs open other demuxers, these are only restricted if
AVOptions are forwarded to them. Please check that your code does that.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-19 04:37:30 +02:00
Michael Niedermayer
5c8eb16769 avcodec: add codec_whitelist
This allows restricting decoders to a list of needed ones for improved security

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-19 04:36:52 +02:00
Michael Niedermayer
e23af4662d avcodec/utils: Display pixel format information as none ... if unknown instead of omitting it
This is similar to 20a5956b8d

The difference this change makes affects only rather few files
but looks like:
Stream #0:1: Video: mjpeg, 90k tbr, 90k tbn, 90k tbc
vs.
Stream #0:1: Video: mjpeg, none(bt470bg/unknown/unknown), 90k tbr, 90k tbn, 90k tbc

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-19 04:18:13 +02:00
Michael Niedermayer
765abb3b76 avcodec/libvpxenc: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-19 03:04:04 +02:00
Michael Niedermayer
c5e295cb9d avcodec/mpegaudiodec_template: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-19 03:03:40 +02:00
Michael Niedermayer
993a2487de avcodec/nellymoserenc: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-19 03:03:04 +02:00
Michael Niedermayer
52bf4ad674 Merge commit '0034314a69e76a53534a74cceef865cfcb7b42cc'
* commit '0034314a69e76a53534a74cceef865cfcb7b42cc':
  rtmp: Always call rtmp_close() on rtmp_open() failure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 23:48:21 +02:00
Michael Niedermayer
fa040c2247 Merge commit 'fc1eda543c6ef043300612db90da5cfd972af650'
* commit 'fc1eda543c6ef043300612db90da5cfd972af650':
  swscale: fix sign extensions in yuv planar conversion

Conflicts:
	libswscale/rgb2rgb_template.c

See: a07e9d72a1
See: a30972609c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 23:40:50 +02:00
Michael Niedermayer
837605704d Merge commit 'b7c77912b62163b3b46ce93fe42fff3c83604c82'
* commit 'b7c77912b62163b3b46ce93fe42fff3c83604c82':
  oss_audio: use a macro to simplify ioctl() error checking

Conflicts:
	libavdevice/oss_audio.c

See: 69c7aad494
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 23:22:33 +02:00
Michael Niedermayer
85cf049d50 Merge commit '963f76144897d3f7684d82ec21e51dd50ea1106e'
* commit '963f76144897d3f7684d82ec21e51dd50ea1106e':
  avresample: Make sure the even check does not overflow

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 22:53:23 +02:00
Michael Niedermayer
9bcc430481 Merge commit '088eca28164c8cd3b72b0c3d3f9e3fe5ee5cb28f'
* commit '088eca28164c8cd3b72b0c3d3f9e3fe5ee5cb28f':
  avresample: prevent theoretical division by zero

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 22:15:23 +02:00
Michael Niedermayer
733db64ce0 Merge commit '0d989dbfc4bc5bc1d563e967449116a7a9865258'
* commit '0d989dbfc4bc5bc1d563e967449116a7a9865258':
  af_resample: check av_opt_set_dict return value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 22:04:36 +02:00
Michael Niedermayer
3a4c22f806 Merge commit '6d96c7ea89600655b1f18a3b12f3f041fa714152'
* commit '6d96c7ea89600655b1f18a3b12f3f041fa714152':
  vf_showinfo: Forward the av_image_get_linesize error

Conflicts:
	libavfilter/vf_showinfo.c

See: 2aecfd4f20
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 21:50:34 +02:00
Michael Niedermayer
0b2f860db5 Merge commit 'f401792595dd7760f531e8a3bd2336e9033bd45a'
* commit 'f401792595dd7760f531e8a3bd2336e9033bd45a':
  vf_drawtext: Do not leak the mmapped textfile

Conflicts:
	libavfilter/vf_drawtext.c

See: 6956b048d8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 21:33:04 +02:00
Michael Niedermayer
f4445c7be4 avcodec/wmv2enc: add priv_class
Fixes ratecontrol code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 20:06:29 +02:00
Michael Niedermayer
bf301258b4 avcodec/snowenc: add FF_MPV_COMMON_OPTS
This fixes the ratecontrol code with snow
adding FF_MPV_COMMON_OPTS is needed as the generic rate control options
are currently in the (unrelated) MpegEncContext

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 19:41:48 +02:00
Michael Niedermayer
25f4e9387d Merge commit '530c1441fd1426b6a4bb33485ff3226e1ae0ad45'
* commit '530c1441fd1426b6a4bb33485ff3226e1ae0ad45':
  lavc: make lmax/lmin into private options of mpegvideo encoders

Conflicts:
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 19:23:00 +02:00
Michael Niedermayer
ae6ba2db8f avcodec/mjpegenc: add priv_class to encoders
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 19:13:20 +02:00
Alexander Drozdov
0034314a69 rtmp: Always call rtmp_close() on rtmp_open() failure
Prevent possible memory leaks.

Connect to nginx and request a non-existent resource to
trigger the issue.

CC: libav-stable@libav.org

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Uwe L. Korn <uwelk@xhochy.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-10-18 17:37:11 +02:00
Vittorio Giovara
fc1eda543c swscale: fix sign extensions in yuv planar conversion
Casting the left-most byte to unsigned avoids an undefined
result of the shift by 24 if bit 7 is set.

yuvPlanartouyvy_c and yuvPlanartoyuy2_c are affected.

CC: libav-stable@libav.org
Bug-Id: CID 732281 / CID 732282
2014-10-18 16:15:10 +01:00
Timothy Gu
b7c77912b6 oss_audio: use a macro to simplify ioctl() error checking
Also add a note about SNDCTL_DSP_GETFMTS which may fail even if OSS is
available.

CC: libav-stable@libav.org
Bug-Id: CID 1238992
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-10-18 16:15:10 +01:00
Luca Barbato
963f761448 avresample: Make sure the even check does not overflow
CC: libav-stable@libav.org
Bug-Id: CID 732225
2014-10-18 16:15:10 +01:00
Vittorio Giovara
088eca2816 avresample: prevent theoretical division by zero
CC: libav-stable@libav.org
Bug-Id: CID 1231986
2014-10-18 16:15:10 +01:00
Vittorio Giovara
0d989dbfc4 af_resample: check av_opt_set_dict return value
CC: libav-stable@libav.org
Bug-Id: CID 1087076
2014-10-18 16:15:10 +01:00
Vittorio Giovara
6d96c7ea89 vf_showinfo: Forward the av_image_get_linesize error
CC: libav-stable@libav.org
Bug-Id: CID 1087086
2014-10-18 16:15:10 +01:00
Luca Barbato
f401792595 vf_drawtext: Do not leak the mmapped textfile
And validate its size while at it.

CC: libav-stable@libav.org
Bug-Id: CID 1244189
2014-10-18 16:15:09 +01:00
Giorgio Vazzana
b48c95b6c9 libavutil: Add missing av_free() to cast5 selftest
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 16:57:54 +02:00
Michael Niedermayer
709ab39cb9 Merge commit '15ec053c4c0b198a2e93eb8e60c8f41e091e0c40'
* commit '15ec053c4c0b198a2e93eb8e60c8f41e091e0c40':
  lavc: make border_masking into private options of mpegvideo encoders

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 15:58:55 +02:00
Michael Niedermayer
1a5871d1be Merge commit 'c4f7bee0872d5e2e0e91673dd4b0f18de4a3d866'
* commit 'c4f7bee0872d5e2e0e91673dd4b0f18de4a3d866':
  lavc: deprecate unused mb_threshold field

Conflicts:
	libavcodec/options_table.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 15:42:29 +02:00
Michael Niedermayer
8be1120deb Merge commit '685be3d1aecf965281128f3b631ed965bcfa754d'
* commit '685be3d1aecf965281128f3b631ed965bcfa754d':
  libvpxenc: add static-thresh private option

Conflicts:
	libavcodec/libvpxenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 15:33:57 +02:00
Michael Niedermayer
c48e8d9dca Merge commit '59b55c494e01de09dfd7cbf9cbbe7223265ac283'
* commit '59b55c494e01de09dfd7cbf9cbbe7223265ac283':
  lavc: deprecate unused me_threshold field

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 15:04:42 +02:00
Michael Niedermayer
fc67d937cc Merge commit '66a68ddd1ac376b24db8695058bc8fc28f5bada6'
* commit '66a68ddd1ac376b24db8695058bc8fc28f5bada6':
  lavc: make rc_buffer_aggressivity/rc_initial_cplx into private options of mpegvideo encoders

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 14:18:41 +02:00
Michael Niedermayer
ec8f56efad Merge commit 'a75c2eb25a62105c09b48521aef429dc8a231637'
* commit 'a75c2eb25a62105c09b48521aef429dc8a231637':
  lavc: make rc_eq into private options of mpegvideo encoders

Conflicts:
	libavcodec/options_table.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 14:06:15 +02:00
Michael Niedermayer
17a065cf20 Merge commit '946f95354ba76ef73c9b66889d86ab5fba4fb486'
* commit '946f95354ba76ef73c9b66889d86ab5fba4fb486':
  lavc: make rc_qmod_* into private options of mpegvideo encoders

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 13:52:06 +02:00
Michael Niedermayer
7412835204 Merge commit 'a6e4ce9fd50897dc6d9c2ada4b6b8090de7de5bf'
* commit 'a6e4ce9fd50897dc6d9c2ada4b6b8090de7de5bf':
  lavc: make rc_qsquish a private option of mpegvideo encoders

Conflicts:
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 13:30:38 +02:00
Michael Niedermayer
17d16008be Merge commit '6cbbf0592f4f3940aac7f687850d1b726a2ea836'
* commit '6cbbf0592f4f3940aac7f687850d1b726a2ea836':
  resample: Avoid off-by-1 errors in PTS calcs.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 12:47:37 +02:00
Michael Niedermayer
7321fc2f43 tests/fate/mpeg4: add -sws_flags +bitexact
Should fix fate-mpeg4-resolution-change tests

Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 12:44:32 +02:00
Michael Niedermayer
83a897656a Merge commit 'fb238f8230c1b0314985482207add548c68f83cf'
* commit 'fb238f8230c1b0314985482207add548c68f83cf':
  urlprotocol: remove unused url_interrupt_cb declaration

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 12:16:04 +02:00
Anton Khirnov
530c1441fd lavc: make lmax/lmin into private options of mpegvideo encoders 2014-10-18 05:29:14 +02:00
Anton Khirnov
15ec053c4c lavc: make border_masking into private options of mpegvideo encoders 2014-10-18 05:28:40 +02:00
Anton Khirnov
c4f7bee087 lavc: deprecate unused mb_threshold field 2014-10-18 05:28:29 +02:00
Anton Khirnov
685be3d1ae libvpxenc: add static-thresh private option
Currently, this option is accessed through AVCodecContext.mb_threshold,
which originally controlled reusing MB data when transcoding mpeg to
mpeg. Since the libvpx meaning is completely different from the original
mpegvideo meaning, it is better to use a separate private option for
this.
2014-10-18 05:28:03 +02:00
Anton Khirnov
59b55c494e lavc: deprecate unused me_threshold field 2014-10-18 05:26:56 +02:00
Anton Khirnov
66a68ddd1a lavc: make rc_buffer_aggressivity/rc_initial_cplx into private options of mpegvideo encoders 2014-10-18 05:26:29 +02:00
Anton Khirnov
a75c2eb25a lavc: make rc_eq into private options of mpegvideo encoders 2014-10-18 05:23:51 +02:00
Anton Khirnov
946f95354b lavc: make rc_qmod_* into private options of mpegvideo encoders 2014-10-18 05:23:05 +02:00
Anton Khirnov
a6e4ce9fd5 lavc: make rc_qsquish a private option of mpegvideo encoders 2014-10-18 05:21:50 +02:00
Timothy B. Terriberry
6cbbf0592f resample: Avoid off-by-1 errors in PTS calcs.
The rounding used in the PTS calculations in filter_frame() does
not actually match the number of samples output by the resampler.
This leads to off-by-1 errors in the timestamps indicating gaps and
underruns, even when the input timestamps are all contiguous.

Bug-Id: 753

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-18 05:01:59 +02:00
Anton Khirnov
fb238f8230 urlprotocol: remove unused url_interrupt_cb declaration
It is a remnant of the old interrupt callback API.
2014-10-18 05:01:20 +02:00
Michael Niedermayer
7891b4fa59 Merge commit '9bec3ca2b878c83d2337bc6095bd51c3e3f8eef0'
* commit '9bec3ca2b878c83d2337bc6095bd51c3e3f8eef0':
  rtmpproto: Add pause support

Conflicts:
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 03:12:10 +02:00
Michael Niedermayer
178764e833 Merge commit 'f4cd8b80b9cb2a9a4112d8abb1d3b93cd3b4e467'
* commit 'f4cd8b80b9cb2a9a4112d8abb1d3b93cd3b4e467':
  rtmpproto: Track last received timestamp

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 03:01:35 +02:00
Benoit Fouet
e06263ef1e configure: add pkg-config support for libx264
Reviewed-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Tested-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 02:36:25 +02:00
Supraja Meedinti
0eabbe2101 libavutil: Add CAST128 symmetric block cipher
Only ECB mode is supported at the moment

Signed-off-by: Supraja Meedinti <supraja0493@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 01:33:45 +02:00
Marton Balint
2c4d6a342d ffplay: update documentation
Reviewed-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-10-18 00:48:49 +02:00
Marton Balint
0edf3e7a28 ffplay: remove manual bug option handling code
It is supported as a codec option, and those are already parsed.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-10-17 23:44:04 +02:00
Marton Balint
9dac7977a9 ffplay: remove delays when paused from video and subtitle thread
Once the frame queue is full, we will wait anyway.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-10-17 23:44:04 +02:00
Uwe L. Korn
9bec3ca2b8 rtmpproto: Add pause support
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-17 23:13:51 +03:00
Uwe L. Korn
f4cd8b80b9 rtmpproto: Track last received timestamp
Some RTMP commands need the most recent timestamp as their parameter, so
keep track of it. This must be the most recent one and not e.g. the max
received timestamp as it can decrease again through seeking.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-17 23:13:37 +03:00
Mika Raento
75c8d7c2b4 hlsenc.c, segment.c: propagate defaults to mpegts
This fixes the abnormally high ts overhead in the files produced by the
HLS and segments muxers. See https://trac.ffmpeg.org/ticket/2857 . For
example makes it much more likely that it can produces streams that fit
under the 64kb App store limit.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 21:31:25 +02:00
Michael Niedermayer
0b0d47e4b2 Merge commit 'bae557edcea996328e8ff48b9e074a4210f7e6b4'
* commit 'bae557edcea996328e8ff48b9e074a4210f7e6b4':
  dump: display codec tags when available

Conflicts:
	libavcodec/utils.c

See: d2d7b7134f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 21:13:01 +02:00
Michael Niedermayer
45fed258ee Merge commit '66e9f839536238945fbfe9d2041b6891cb150e45'
* commit '66e9f839536238945fbfe9d2041b6891cb150e45':
  libfdk-aacdec: Enable Dynamic Range Control Metadata Support

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 20:45:43 +02:00
Michael Niedermayer
e18fc35a07 avcodec/libfdk-aacdec: use av_feeep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 20:36:14 +02:00
Michael Niedermayer
5a1aa55905 Merge commit 'b01a2204b5cff7bb920f42fda1bb0103f450fe93'
* commit 'b01a2204b5cff7bb920f42fda1bb0103f450fe93':
  libfdk-aacdec: Enable Decoder Downmix including Downmix Metadata Support

Conflicts:
	libavcodec/libfdk-aacdec.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 20:35:43 +02:00
Benoit Fouet
242f8bb3a8 avformat/id3v2: support buggy id3v2.3 tag length in id3v2.4
Some encoders do not use syncsafe sizes in v2.4 id3 tags. Check the next
tag to try to choose between the two.

Fixes ticket #4003

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 16:05:53 +02:00
Benoit Fouet
ac1594bc17 gitignore: add test_copy.ffmeta
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 15:57:12 +02:00
Vittorio Giovara
bae557edce dump: display codec tags when available
For both audio and video.
2014-10-17 14:45:07 +01:00
Michael Niedermayer
3dda0bbe42 Merge commit 'e65c776d18dc14df8a279e017760862f9fc8763b'
* commit 'e65c776d18dc14df8a279e017760862f9fc8763b':
  rtmpproto: Add getStreamLength call to query duration

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 15:34:27 +02:00
Michael Niedermayer
6cf9d02cea Merge commit '324b23dde1bc8638959eb32419c95a93906db272'
* commit '324b23dde1bc8638959eb32419c95a93906db272':
  rtmpproto: Add function to read a number response

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 15:21:40 +02:00
Michael Niedermayer
1eda312aca Merge commit '47e3e1097e09da7f973908e09df15e3bb7c5e1f4'
* commit '47e3e1097e09da7f973908e09df15e3bb7c5e1f4':
  cmdutils: Use the correct guard

Conflicts:
	cmdutils.c

See: 35daf3ca81
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 14:57:40 +02:00
Omer Osman
66e9f83953 libfdk-aacdec: Enable Dynamic Range Control Metadata Support
For streams which contain DRC metadata, the FDK decoder is able to
control rendering of the decoded output. The rendering parameters
are detailed in fdk_aac_dec_options [].

The default behavior is left up to the decoder.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-17 15:48:31 +03:00
Omer Osman
b01a2204b5 libfdk-aacdec: Enable Decoder Downmix including Downmix Metadata Support
The FDK decoder is capable of producing mono and stereo downmix from
multichannel streams. These streams may contain metadata that control
the downmix process. The decoder requires an Ancillary Buffer in order to
correctly apply downmix in streams containing downmix Metadata. The
decoder does not have an API interface to inform of the presence of
Metadata in the stream, and therefore the Ancillary Buffer is always
allocated whenever a downmix is requested.

When downmixing multichannel streams, the decoder requires the output
buffer in aacDecoder_DecodeFrame call to be of fixed size in order to
hold the actual number of channels contained in the stream. For example,
for a 5.1ch to stereo downmix, the decoder requires that the output buffer
is allocated for 6 channels, regardless of the fact that the output is in
fact two channels.

Due to this requirement, the output buffer is allocated for the maximum
output buffer size in case a downmix is requested (and also during
decoder init). When a downmix is requested, the buffer used for output
during init will also be used for the entire duration the decoder is open.
Otherwise, the initial decoder output buffer is freed and the decoder
decodes straight into the output AVFrame.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-17 15:48:30 +03:00
Michael Niedermayer
7dba57d1fa Merge commit '0db6bbb24c1a9f6b5527f460361a5a4132248eee'
* commit '0db6bbb24c1a9f6b5527f460361a5a4132248eee':
  avformat: Make avformat_free_context handle NULL

See: ee23dcf534
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 14:23:01 +02:00
Michael Niedermayer
61c6e69709 Merge commit 'c92965dbfbb7e2b49df14db2fd0e23a29295730a'
* commit 'c92965dbfbb7e2b49df14db2fd0e23a29295730a':
  avconv: check return value

Conflicts:
	ffmpeg.c

See: 4930cd13d6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 14:09:15 +02:00
Michael Niedermayer
1dd38e99fd Merge commit 'c802a2e718fb3619291f310f851f1a1cdcf4f581'
* commit 'c802a2e718fb3619291f310f851f1a1cdcf4f581':
  avconv: fix leak in filter error

Conflicts:
	ffmpeg_filter.c

See: 14369f59c5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 13:47:49 +02:00
Michael Niedermayer
9d1155dae3 Merge commit 'aeb23fc4549a25ef32ff085d2a76227f90caf403'
* commit 'aeb23fc4549a25ef32ff085d2a76227f90caf403':
  avprobe: Remove a pointless check

Conflicts:
	avprobe.c

No change as the code does not exist in ffprobe

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 13:35:27 +02:00
Michael Niedermayer
ee73a69020 Merge commit 'e58a140cf91d1a9cdfa3115d73c923dab0e9e7dc'
* commit 'e58a140cf91d1a9cdfa3115d73c923dab0e9e7dc':
  avplay: Always free opts

Conflicts:
	ffplay.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 13:28:50 +02:00
Michael Niedermayer
019ff7a0c3 Merge commit 'cf83c0173917a44b89a25ea2b435429bbf9ee767'
* commit 'cf83c0173917a44b89a25ea2b435429bbf9ee767':
  avplay: Always free find_stream_info options

Conflicts:
	ffplay.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 13:17:05 +02:00
Michael Niedermayer
c40a1bd253 tests/fate/mpeg4: fix samples path
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 13:07:55 +02:00
Michael Niedermayer
a708689fda Merge commit 'f29c226af0ecc34c417b646580a9acd7d8bbaf48'
* commit 'f29c226af0ecc34c417b646580a9acd7d8bbaf48':
  fate: add mpeg4 tests for frame size changes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 12:59:07 +02:00
Michael Niedermayer
1aed82846c avformat/m4vdec: mark as possibly containing discontinuities
This will be needed for the resolution change mpeg4 test

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 12:51:49 +02:00
Uwe L. Korn
e65c776d18 rtmpproto: Add getStreamLength call to query duration
In (non-live) streams with no metadata, the duration of a stream can
be retrieved by calling the RTMP function getStreamLength with the
playpath. The server will return a positive duration upon the request if
the duration is known, otherwise either no response or a duration of 0
will be returned.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-17 12:07:19 +03:00
Uwe L. Korn
324b23dde1 rtmpproto: Add function to read a number response
Packets that contain a number as a result to a rtmp function call are
structured the same way (String, Number, Null, Number). This new method
also includes more bounds checks to better handle packets that are not
structured as expected.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-17 12:07:19 +03:00
Luca Barbato
47e3e1097e cmdutils: Use the correct guard
The OptionDef arrays are terminated with a { NULL } element not NULL.

CC: libav-stable@libav.org
Bug-Id: CID 703769
2014-10-17 09:55:46 +01:00
Luca Barbato
0db6bbb24c avformat: Make avformat_free_context handle NULL
Work as the other free()-like functions.

Bug-Id: CID 1087081
CC: libav-stable@libav.org
2014-10-17 09:55:46 +01:00
Vittorio Giovara
c92965dbfb avconv: check return value
CC: libav-stable@libav.org
Bug-Id: CID 1224275
2014-10-17 09:55:46 +01:00
Vittorio Giovara
c802a2e718 avconv: fix leak in filter error
CC: libav-stable@libav.org
Bug-Id: CID 1005311
2014-10-17 09:55:46 +01:00
Luca Barbato
aeb23fc454 avprobe: Remove a pointless check
The element is always valid.

CC: libav-stable@libav.org
Bug-Id: CID 732276
2014-10-17 09:55:46 +01:00
Luca Barbato
e58a140cf9 avplay: Always free opts
CC: libav-stable@libav.org
Bug-Id: CID 733793
2014-10-17 09:55:46 +01:00
Luca Barbato
cf83c01739 avplay: Always free find_stream_info options
CC: libav-stable@libav.org
Bug-Id: CID 1238794
2014-10-17 09:55:46 +01:00
Janne Grunau
f29c226af0 fate: add mpeg4 tests for frame size changes 2014-10-17 09:58:31 +02:00
Moritz Barsnick
bbd8c85263 doc/filters.texi: fix several typos in the vidstab* sections
Also create an anchor for the unsharp filter, and references to
it in its mentions.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 06:23:13 +02:00
James Almer
864f9326fb x86/vf_noise: move asm code to a separate file
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-17 00:44:35 -03:00
Michael Niedermayer
f6bb2cd1b0 swresample/resample: fix invert_initial_buffer() after flush
Fixes: asan_heap-uaf_2071250_7_139.ogg
Fixes: assertion failure
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 22:35:27 +02:00
Michael Niedermayer
080c846f59 swresample: do not put multiple statements in one line
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 18:18:40 +02:00
Benoit Fouet
8bcf425d06 avformat/id3v2: silence a warning when CONFIG_ZLIB is unset.
dlen is only read when CONFIG_ZLIB is set, so mark it as possibly
unused.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 15:54:02 +02:00
Michael Niedermayer
4f1a252fd3 avfilter/vf_noise: Use a separate seed for each plane
This should reduce the correlation between planes

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 15:05:17 +02:00
Michael Niedermayer
ed3efbcd0c avfilter/vf_noise: use per component rand_shift
This allows using different shifts per plane

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 15:04:49 +02:00
Michael Niedermayer
aba61b22f7 avfilter/vf_noise: move shift calculation to filter_frame()
This makes the temporal noise case deterministic with threads

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 14:28:47 +02:00
Michael Niedermayer
411be72dcb avfilter/vf_noise: fix high resolution support
Fixes Ticket4017
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 13:23:39 +02:00
Michael Niedermayer
a9b613b60e Merge commit '979932378ae3fbf452e312eb759cc7ce175f78de'
* commit '979932378ae3fbf452e312eb759cc7ce175f78de':
  ismindex: use tfhd default duration if no sample duration

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 12:45:01 +02:00
Michael Niedermayer
293a8e426f Merge commit '460b509a34fb5fad3bedac8429f53594d3923ea8'
* commit '460b509a34fb5fad3bedac8429f53594d3923ea8':
  rtsp: Check a memory allocation

See: c69f230a3a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 12:28:52 +02:00
Carl Eugen Hoyos
392b4b663c Fix initialisers in dct-test.c.
Silences a warning when running fate on unusual platforms:
libavcodec/dct-test.c:101:21: warning: missing braces around initializer [-Wmissing-braces]
libavcodec/dct-test.c:101:21: warning: (near initialization for 'fdct_tab_arch[0]') [-Wmissing-braces]
libavcodec/dct-test.c:102:21: warning: missing braces around initializer [-Wmissing-braces]
libavcodec/dct-test.c:102:21: warning: (near initialization for 'idct_tab_arch[0]') [-Wmissing-braces]
2014-10-16 12:01:26 +02:00
Mika Raento
979932378a ismindex: use tfhd default duration if no sample duration
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-16 09:22:22 +03:00
Michael Lynch
460b509a34 rtsp: Check a memory allocation
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-16 09:19:03 +03:00
Di Wu
0e406aba14 mpegts: add the judgement if a new program is created successfully
Add the judement after create a new program to avoid segment fault.

Signed-off-by: Di Wu <di1028.wu@samsung.com>
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 04:21:21 +02:00
Michael Niedermayer
d267a0f8c1 avformat/util: Simplify av_guess_frame_rate() by using AVCodecContext.framerate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 02:46:11 +02:00
Michael Niedermayer
004f1c6cf1 avformat/utils: Try to correct the codec_framerate in ff_compute_frame_duration() for the encoding case
No testcase where this makes a difference is known

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 02:46:02 +02:00
Michael Niedermayer
46f52274f3 avformat/oggparsedirac: use AVCodecContext.framerate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 01:31:09 +02:00
Michael Niedermayer
7b6a97edd1 avcodec/avcodec: more verbose documentation for time_base
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 00:28:57 +02:00
Michael Niedermayer
2f7bd04afb avcodec/avcodec: fix non doxy comment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 00:10:38 +02:00
Michael Niedermayer
917f86f479 Merge commit '79dd756e143a54efc25d64e90505f0dca6cbc4ec'
* commit '79dd756e143a54efc25d64e90505f0dca6cbc4ec':
  rtmpproto: Fix a typo

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 00:02:54 +02:00
Michael Niedermayer
f09162c06b Merge commit 'ced7238cd01cc2199acf9225305628641a27c1d7'
* commit 'ced7238cd01cc2199acf9225305628641a27c1d7':
  rtpdec_hevc: Use av_realloc instead of av_malloc+memcpy

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 23:23:53 +02:00
Michael Niedermayer
60a876fe7b Merge commit '752e71e74f50e7a6f9a19edb8e775b2ea2fb94d8'
* commit '752e71e74f50e7a6f9a19edb8e775b2ea2fb94d8':
  rtpdec_hevc: Rename a variable for clarity

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 22:03:11 +02:00
Michael Niedermayer
16f9f7b881 Merge commit '74b02377980321934e33969c84733ace7e9f4eeb'
* commit '74b02377980321934e33969c84733ace7e9f4eeb':
  mov: Correctly check the color transfer characteristics range

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 21:40:13 +02:00
Michael Niedermayer
cacc1dcadc Merge commit '1ac5a29b2e5ddeae068deb9d6e0e803a91941d4d'
* commit '1ac5a29b2e5ddeae068deb9d6e0e803a91941d4d':
  imc: fix order of operations in coefficients read

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 21:25:10 +02:00
Michael Niedermayer
1b54e6b12b avformat/mov: auodetect "use_mfra_for"
Reviewed-by: Mika Raento <mikie@iki.fi>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 20:17:23 +02:00
Yu Xiaolei
8091fe3071 build: mov_muxer requires ac3_parser
Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 20:15:59 +02:00
Michael Lynch
c69f230a3a avformat/rtsp: check memory allocation
Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Commit message by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 20:04:32 +02:00
Martin Storsjö
79dd756e14 rtmpproto: Fix a typo
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-15 21:00:39 +03:00
Martin Storsjö
ced7238cd0 rtpdec_hevc: Use av_realloc instead of av_malloc+memcpy
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-15 20:54:32 +03:00
Martin Storsjö
752e71e74f rtpdec_hevc: Rename a variable for clarity
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-15 20:54:30 +03:00
Lou Logan
8a95379990 doc/encoders: add basic libx265 documentation
Fixes ticket #3944.

Signed-off-by: Lou Logan <lou@lrcd.com>
2014-10-15 09:45:54 -08:00
Clément Bœsch
52b0a0ecaa avcodec/ass: add FFmpeg signature 2014-10-15 19:25:06 +02:00
Clément Bœsch
d281a87ae3 avformat/assdec: typo fix 2014-10-15 19:25:06 +02:00
Clément Bœsch
462f2876ce avcodec/ass_split: realign after addition of new fields 2014-10-15 19:25:06 +02:00
Clément Bœsch
3e86ead383 avcodec/ass_split: assume default order when "Format:" line is not found
Fixes the decoding of the ASS stream in a mkv from a fansub release from
Coalgirls.
2014-10-15 19:25:06 +02:00
Clément Bœsch
d9f272fe33 avcodec/ass_split: extend recognized fields in ASS splitter
This simplifies the logic for the fix in the next commit.
2014-10-15 19:25:06 +02:00
Clément Bœsch
40b9f28641 avcodec/ass: output missing fields in AVSubtitles and output files
Fixes Ticket #3207
2014-10-15 19:25:06 +02:00
Clément Bœsch
bf700a995d avformat/assenc: support remuxing old V4 ASS form (SSA) 2014-10-15 19:24:40 +02:00
Clément Bœsch
b243393e8b fate: fix some subtitles tests dependencies 2014-10-15 19:24:39 +02:00
Clément Bœsch
d97d4795fd fate: add rawdiff and use it for subtitles
We want subtitles tests to match exactly line endings and trailing
characters.
2014-10-15 19:24:39 +02:00
Clément Bœsch
8022bb1d92 fate: make subtitles tests output to stdout instead of md5
This makes tracking subtitles changes simpler.
2014-10-15 19:24:39 +02:00
Lou Logan
b629b421d7 doc/filters: update link to OpenCV docs
Signed-off-by: Lou Logan <lou@lrcd.com>
2014-10-15 09:18:54 -08:00
Michael Niedermayer
a9ed4f1d15 Merge commit 'e5cfc8fdad901c9487fe896421972852f38bcf5'
* commit 'e5cfc8fdad901c9487fe896421972852f38bcf5':
  sdp: Provide out of bound parameter sets for HEVC if extradata is set

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 19:16:55 +02:00
Michael Niedermayer
6afc319eee Merge commit '9b7f932ee568cadfc0f556a061fcc00cb63f9780'
* commit '9b7f932ee568cadfc0f556a061fcc00cb63f9780':
  rtpdec_hevc: Parse out of band vps/sps/pps/sei from fmtp lines

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 19:04:22 +02:00
Michael Niedermayer
137f7a630b Merge commit '557d4c4ecae080729e68df54ed2bd8420d0f037a'
* commit '557d4c4ecae080729e68df54ed2bd8420d0f037a':
  avconv: replace AVCodecContext.time_base with framerate

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 18:56:44 +02:00
Michael Niedermayer
a92192d2e4 avformat/utils: use av_reduce() to simplify code and avoid overflow in ff_compute_frame_duration()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 18:23:21 +02:00
Michael Niedermayer
2b37864e7f Merge commit '2d6e58497e76836604364b037df9b00ba3d75b69'
* commit '2d6e58497e76836604364b037df9b00ba3d75b69':
  lavf: switch to AVCodecContext.framerate for demuxing

Conflicts:
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 18:19:58 +02:00
Michael Niedermayer
18255441dd avcodec/dpx: fix framerate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 16:08:36 +02:00
Michael Niedermayer
220a15c074 avcodec/vc1: fix time_base and framerate
They are not just inverses of each other.
This should restore behavior to before the introduction of framerate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 16:08:36 +02:00
Michael Niedermayer
09450c5509 avcodec/h264: fix time_base and framerate
They are not just inverses of each other.
This should restore behavior to before the introduction of framerate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 16:08:36 +02:00
Michael Niedermayer
620e7f0f3b avcodec/mpeg12dec: fix time_base and framerate
They are not just inverses of each other.
This should restore behavior to before the introduction of framerate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 15:54:02 +02:00
Michael Niedermayer
801876fb07 avcodec/utils: fix time_base after the framerate addition
time_base != 1/framerate for example for interlaced video

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 15:52:35 +02:00
Michael Niedermayer
17085a0251 Merge commit '7ea1b3472a61de4aa4d41b571e99418e4997ad41'
* commit '7ea1b3472a61de4aa4d41b571e99418e4997ad41':
  lavc: deprecate the use of AVCodecContext.time_base for decoding

Conflicts:
	libavcodec/avcodec.h
	libavcodec/h264.c
	libavcodec/mpegvideo_parser.c
	libavcodec/utils.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 15:49:31 +02:00
Vittorio Giovara
74b0237798 mov: Correctly check the color transfer characteristics range
Reported-by: Ruoyu <liangry@ucweb.com>
2014-10-15 14:48:40 +01:00
Vittorio Giovara
1ac5a29b2e imc: fix order of operations in coefficients read
Reported-by: Ruoyu <liangry@ucweb.com>
2014-10-15 14:48:07 +01:00
Michael Niedermayer
51c810e62b Merge commit 'd565fef1b83b6c5f8afb32229260b79f67c68109'
* commit 'd565fef1b83b6c5f8afb32229260b79f67c68109':
  vdpau: add AV_HWACCEL_FLAG_IGNORE_LEVEL to skip the codec level check

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 12:30:07 +02:00
Michael Niedermayer
fd937866f7 Merge commit 'c1724623ce0433c6a9ee72133b1fd4db75ec7193'
* commit 'c1724623ce0433c6a9ee72133b1fd4db75ec7193':
  vdpau: have av_vdpau_bind_context() fail on unsupported flag

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 12:17:59 +02:00
Michael Niedermayer
a72e75bf98 Merge commit 'e09a947c1a856d9d34199a13ee378fe46be53d3a'
* commit 'e09a947c1a856d9d34199a13ee378fe46be53d3a':
  doc: fix typing mistake

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 12:08:26 +02:00
Martin Storsjö
e5cfc8fdad sdp: Provide out of bound parameter sets for HEVC if extradata is set
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-15 12:12:54 +03:00
Martin Storsjö
9b7f932ee5 rtpdec_hevc: Parse out of band vps/sps/pps/sei from fmtp lines
These are assembled into extradata in the order vps/sps/pps/sei.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-15 12:12:02 +03:00
Anton Khirnov
557d4c4eca avconv: replace AVCodecContext.time_base with framerate 2014-10-15 06:38:16 +00:00
Anton Khirnov
2d6e58497e lavf: switch to AVCodecContext.framerate for demuxing 2014-10-15 06:37:55 +00:00
Anton Khirnov
7ea1b3472a lavc: deprecate the use of AVCodecContext.time_base for decoding
When decoding, this field holds the inverse of the framerate that can be
written in the headers for some codecs. Using a field called 'time_base'
for this is very misleading, as there are no timestamps associated with
it. Furthermore, this field is used for a very different purpose during
encoding.

Add a new field, called 'framerate', to replace the use of time_base for
decoding.
2014-10-15 06:37:43 +00:00
Rémi Denis-Courmont
d565fef1b8 vdpau: add AV_HWACCEL_FLAG_IGNORE_LEVEL to skip the codec level check
Decoding acceleration may work even if the codec level is higher than
the stated limit of the VDPAU driver. Or the problem may be considered
acceptable by the user. This flag allows skipping the codec level
capability checks and proceed with decoding.

Applications should obviously not set this flag by default, but only if
the user explicitly requested this behavior (and presumably knows how
to turn it back off if it fails).

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-15 06:21:56 +00:00
Rémi Denis-Courmont
c1724623ce vdpau: have av_vdpau_bind_context() fail on unsupported flag
Currently, no flags are supported.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-15 06:21:47 +00:00
Rémi Denis-Courmont
e09a947c1a doc: fix typing mistake
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-15 06:21:39 +00:00
Michael Niedermayer
676110e6d4 avformat/mxfdec: cleanup if parsing the header metadata fails
Fixes memleaks
Fixes: asan_static-oob_87d116_10_201.mxf
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 06:08:34 +02:00
Michael Niedermayer
0834f2056c avformat/mxfdec: Fix memleak of packages_refs
Fixes: asan_static-oob_87d116_10_201.mxf
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 06:08:34 +02:00
Michael Niedermayer
aae4f5108d avformat/mxfdec: Fix memleak of primer_packs
Fixes: asan_static-oob_87d116_10_201.mxf
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 06:08:28 +02:00
Michael Niedermayer
e3b28f10bb avformat/mxfdec: Fix termination of mxf_data_essence_container_uls
Fixes: asan_static-oob_87d116_10_201.mxf
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 02:09:17 +02:00
Michael Niedermayer
5552594a44 Merge commit 'a74f8121d88e0bdf0d69c22e4b3713032da9300a'
* commit 'a74f8121d88e0bdf0d69c22e4b3713032da9300a':
  mov: Handle tfdt atoms

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 22:24:12 +02:00
Michael Niedermayer
99c26805e9 Merge commit 'c2c22c75cf89e2faab34d1ee1d392cfb065439ea'
* commit 'c2c22c75cf89e2faab34d1ee1d392cfb065439ea':
  movenc: Write tfdt atoms

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 22:03:51 +02:00
Michael Niedermayer
f43ac02723 avcodec/iirfilter: Make ff_iir_filter_free_state() also zero the freed pointer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 20:46:15 +02:00
Michael Niedermayer
43fb16cf74 avcodec/iirfilter: Change ff_iir_filter_free_coeffs() so it clears the pointers as well
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 18:30:52 +02:00
Michael Niedermayer
9946da4976 avcodec/flac_parser: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 18:30:31 +02:00
Michael Niedermayer
fd367668e1 avcodec/flac_parser: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 18:29:49 +02:00
Michael Niedermayer
5ee6fb7583 avfilter/vf_pp: add gbrp support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 17:15:56 +02:00
Martin Storsjö
a74f8121d8 mov: Handle tfdt atoms
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-14 13:52:32 +03:00
Martin Storsjö
c2c22c75cf movenc: Write tfdt atoms
These allow getting the absolute start timestamp of a fragment
without reading preceding timestamps. This fixes sync between
tracks if starting from fragments in different streams that don't
align exactly.

This also is a prerequisite for producing DASH content.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-14 13:52:32 +03:00
Michael Niedermayer
d58fa9482e avformat/mp3enc: use initial_padding
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 03:53:17 +02:00
Michael Niedermayer
83f84e4c53 ffmpeg: Fix stream copy with initial_padding
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 03:30:03 +02:00
Michael Niedermayer
4694c0bb7c Merge commit 'eabdc2a830f1ab1a3f12243eb7e2fba801cb81f0'
* commit 'eabdc2a830f1ab1a3f12243eb7e2fba801cb81f0':
  lavf: use initial_padding instead of deprecated delay

Conflicts:
	libavformat/matroskaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 03:00:17 +02:00
Michael Niedermayer
320ce9f284 avcodec/ac3enc_template: use the initial_padding field
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 02:46:51 +02:00
Michael Niedermayer
da2189596d Merge commit '2df0c32ea12ddfa72ba88309812bfb13b674130f'
* commit '2df0c32ea12ddfa72ba88309812bfb13b674130f':
  lavc: use a separate field for exporting audio encoder padding

Conflicts:
	libavcodec/audio_frame_queue.c
	libavcodec/avcodec.h
	libavcodec/libvorbisenc.c
	libavcodec/utils.c
	libavcodec/version.h
	libavcodec/wmaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 02:16:16 +02:00
Michael Niedermayer
1f20fa2da8 avcodec/aacdec: print element types when debug startcode is set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 01:54:57 +02:00
Michael Niedermayer
b9918a7688 Merge commit 'c80a816142699dea9cf9fa66689a7838a487ed7e'
* commit 'c80a816142699dea9cf9fa66689a7838a487ed7e':
  h263dec: call get_format() on resolution changes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 00:04:18 +02:00
Michael Niedermayer
40f2b16d52 avformat/utils: print more information with av_dlog() in compute_pkt_fields()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 23:45:52 +02:00
Michael Niedermayer
d3d265bae2 Merge commit '1f29e5d7a2b0950f3b6820896e97e2c02e6a10a9'
* commit '1f29e5d7a2b0950f3b6820896e97e2c02e6a10a9':
  h263dec: call get_format after setting resolution and profile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 22:13:04 +02:00
Anton Khirnov
eabdc2a830 lavf: use initial_padding instead of deprecated delay 2014-10-13 19:10:30 +00:00
Anton Khirnov
2df0c32ea1 lavc: use a separate field for exporting audio encoder padding
Currently, the amount of padding inserted at the beginning by some audio
encoders, is exported through AVCodecContext.delay. However
- the term 'delay' is heavily overloaded and can have multiple different
  meanings even in the case of audio encoding.
- this field has entirely different meanings, depending on whether the
  codec context is used for encoding or decoding (and has yet another
  different meaning for video), preventing generic handling of the codec
  context.

Therefore, add a new field -- AVCodecContext.initial_padding. It could
conceivably be used for decoding as well at a later point.
2014-10-13 19:09:01 +00:00
Benoit Fouet
f87134c7a1 avformat/movenc: add support for syncframes concatenation for E-AC-3.
E-AC-3 samples should contain 6 audio blocks, so concatenate syncframes
in order to achieve this.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 19:24:06 +02:00
Benoit Fouet
4da7111eb8 avcodec/aacdec: map LFE[0] to SCE[1] for 4.0 audio.
Fixes ticket #3930

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 17:50:20 +02:00
Michael Niedermayer
0b7e5d0d75 postproc: fix qp count
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 16:12:30 +02:00
Michael Niedermayer
57884172e0 avformat/mov: fix mix of declaration and statement
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 16:12:30 +02:00
Rémi Denis-Courmont
c80a816142 h263dec: call get_format() on resolution changes
Fail safe if the pixel format changes.
2014-10-13 16:05:04 +02:00
Rémi Denis-Courmont
1f29e5d7a2 h263dec: call get_format after setting resolution and profile
Bug-Id: 541
2014-10-13 16:04:53 +02:00
Paul B Mahol
a586b3d9b1 libavcodec/libtwolame: fix null pointer dereference
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-10-13 12:22:41 +00:00
Mika Raento
a59808dd57 mov.c: allow reading fragment start dts/pts from fragmented mp4
This introduces a new option to the mov demuxer: -use_mfra_for
(pts|dts). When it's given and moofs and a MFRA are present, the MFRA's
TFRAs are read for fragment start times.

Unfortunately some programs that produce fragmented mp4s use the TFRA
time field for dts and some for pts. There is no realistic way to detect
which is the case, hence the responsibility is punted onto the user.
This also means that no behavioural change is enabled by default - you
must pass either dts or pts for anything to happen.

Without this change, timestamps for some discontinuous fragmented mp4 are
wrong, and cause audio/video desync and are not usable for generating
HLS.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 12:20:55 +02:00
Michael Niedermayer
b8c50becc8 avfilter/vf_pp: support AV_PIX_FMT_GRAY8
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 01:56:14 +02:00
Michael Niedermayer
7a11333387 libpostproc: support grayscale
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 01:55:36 +02:00
Michael Niedermayer
25a4180825 Merge commit '76c70e33d2244a688832f03b53862eb5d9ad3b01'
* commit '76c70e33d2244a688832f03b53862eb5d9ad3b01':
  icecast: Do not use chunked post

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 01:27:25 +02:00
Michael Niedermayer
094b3ce835 Merge commit 'e44ee1eb8db7393e9d43207c2e1812720e292e6d'
* commit 'e44ee1eb8db7393e9d43207c2e1812720e292e6d':
  movenc: Simplify code by using an existing local pointer

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 01:15:20 +02:00
Michael Niedermayer
20a66868a2 Merge commit 'dad12ce452a9d69c0d9d53c375003947d5f1b02e'
* commit 'dad12ce452a9d69c0d9d53c375003947d5f1b02e':
  movenc: Print a warning for an unhandled case of nonzero start dts with empty_moov

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 01:10:13 +02:00
Michael Niedermayer
ca5a77191b Merge commit 'dbb472cb2f2f799295a12b4922a6a8be2cccfdee'
* commit 'dbb472cb2f2f799295a12b4922a6a8be2cccfdee':
  movenc: Write edit lists for fragmented files as well, if necessary

Conflicts:
	libavformat/movenc.c

The default for writing EDTS for fragmented mp4 is left at disabled
this can be overridden via command line with -use_editlist
but EDTS + fragments still does not fully work, which is why it is
left disabled by default

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 01:02:36 +02:00
James Almer
ccd04f4320 fate: add test for vp90-2-trac3849.webm
Regression test for the bug from trac ticket #3849 fixed in commit 14e30255

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-12 19:45:25 -03:00
Michael Niedermayer
687cc836ea Merge commit '95ee4e2ce774e0339632d067161596bf3dadfc72'
* commit '95ee4e2ce774e0339632d067161596bf3dadfc72':
  movenc: Add some comments explaining subtle details in writing the edit lists

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-12 22:48:49 +02:00
Michael Niedermayer
031285dedf Merge commit '72f801619a1ae91969fee9a7d72519422433c998'
* commit '72f801619a1ae91969fee9a7d72519422433c998':
  movenc: Adjust edit lists to trim out parts of tracks with negative pts

Conflicts:
	libavformat/movenc.c

See: 66b45d8f7a
See: 14fd34d73b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-12 22:39:17 +02:00
Michael Niedermayer
5afe1233c5 Merge commit '8bef43388132b53f59a6e90add18900a3bb4cc60'
* commit '8bef43388132b53f59a6e90add18900a3bb4cc60':
  smoothstreamingenc: Simplify code by removing a redundant variable

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-12 22:29:47 +02:00
Michael Niedermayer
941aaa39e8 postproc/postprocess: fix quant store for fq mode
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-12 22:22:39 +02:00
Michael Niedermayer
9a460db63b avfilter/vf_pp: add yuv 4:4:0 support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-12 22:22:39 +02:00
Michael Niedermayer
1d3c87d6cd postprocess: add YUV 4:4:0 support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-12 22:22:39 +02:00
James Almer
59d8050df1 avfilter: remove obsolete FF_API_DRAWTEXT_OLD_TIMELINE cruft 2014-10-12 15:54:58 -03:00
Mark McGough
76c70e33d2 icecast: Do not use chunked post
Icecast uses HTTP 1.0 while Libav uses HTTP 1.1 and enables by
default chunked post.

Icecast actually forwards the HTTP chunk headers to the listener
as part of the media stream (without the chunk encoding HTTP headers)
causing the players to lose sync.

Disabling the option is enough to feed icecast properly.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-10-12 19:54:07 +02:00
Martin Storsjö
e44ee1eb8d movenc: Simplify code by using an existing local pointer
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-12 17:48:09 +03:00
Martin Storsjö
dad12ce452 movenc: Print a warning for an unhandled case of nonzero start dts with empty_moov
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-12 17:46:56 +03:00
Martin Storsjö
dbb472cb2f movenc: Write edit lists for fragmented files as well, if necessary
This is necessary to get the right timestamp offset for content
that starts with dts != 0.

This currently only helps when writing fragmented files with a non-empty
moov atom. When writing an empty moov atom, we don't have any packets
yet, so we don't know the starting dts for the tracks.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-12 17:46:31 +03:00
Martin Storsjö
95ee4e2ce7 movenc: Add some comments explaining subtle details in writing the edit lists
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-12 17:46:01 +03:00
Michael Niedermayer
72f801619a movenc: Adjust edit lists to trim out parts of tracks with negative pts
This makes sure that audio preroll for e.g. AAC is signaled correctly.

Previously we only wrote the edit list correctly if we had negative
dts but started with pts == 0 (e.g. for video with B-frames).

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-12 17:45:55 +03:00
Martin Storsjö
8bef433881 smoothstreamingenc: Simplify code by removing a redundant variable
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-12 17:42:42 +03:00
Michael Niedermayer
acea53fea0 avcodec/eatgv: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-12 12:22:28 +02:00
Michael Niedermayer
28b829b8bb avcodec/eatqi: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-12 12:22:16 +02:00
Michael Niedermayer
20df02680c avcodec/error_resilience: avoid pointer arithmetic with NULL
move the code after the existing NULL check
Fixes: signal_sigsegv_844d59_10_signal_sigsegv_a17bb7_366_mpegts_mpeg2video_mp2_dvbsub_topfield.rec

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-12 04:49:08 +02:00
Michael Niedermayer
bec077a1ab Merge commit 'bd239c9a2e151c0aeeb653a571f130aae7320894'
* commit 'bd239c9a2e151c0aeeb653a571f130aae7320894':
  lavf: Don't drop both pts and dts if timestamps are invalid

Conflicts:
	libavformat/utils.c
	tests/ref/fate/vc1-ism

See: cd6851c5ef
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-12 00:56:26 +02:00
Michael Niedermayer
bd239c9a2e lavf: Don't drop both pts and dts if timestamps are invalid
In these cases, only drop dts. Because if we drop both we have no
timestamps at all for some files.

This improves playback of HLS streams from GoPro cameras.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-12 01:32:52 +03:00
Michael Niedermayer
0db1f2c2c7 avcodec/mjpegdec: sanity check bits
Fixes undefined shift
Fixes: asan_heap-oob_16668e9_2_asan_heap-oob_16668e9_346_miss_congeniality_pegasus_mjpg.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-12 00:28:07 +02:00
Karl Kiniger
903156aa8a vf_drawtext: add missing clear of pointers after av_expr_free()
Fixes segfault when using sendcmd with drawtext.

Since LIBAVFILTER_VERSION_MAJOR 5 FF_API_DRAWTEXT_OLD_TIMELINE
evaluates to 0.

Signed-off-by: Karl Kiniger <karl.kiniger@med.ge.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-11 23:16:31 +02:00
Michael Niedermayer
e24e5986a6 avcodec/dct: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-11 22:51:33 +02:00
Michael Niedermayer
3521c70dab avcodec/dirac_parser: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-11 22:51:15 +02:00
Michael Niedermayer
c712d240b1 avcodec/eamad: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-11 22:50:51 +02:00
Simon Thelen
8c4ca4aa5a ffmpeg_opt: abort if -to <= -ss
Makes ffmpeg abort instead of continuing when stop_time <= start_time.

Closes ticket #4015.

Signed-off-by: Simon Thelen <ffmpeg-dev@c-14.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-11 22:20:39 +02:00
Christophe Gisquet
140f535517 proresenc_ks: use chroma sampling in autoselection
If the chroma planes aren't subsampled, automatically select
the 4:4:4:4 profile.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-11 16:47:19 +02:00
Ruoyu
c44d8d9552 avutil/lzo: fix resource leak
Signed-off-by: Ruoyu <liangry@ucweb.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-11 12:15:26 +02:00
Michael Niedermayer
fba894615d swscale: support internal scaler cascades
Fixes Ticket3170

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-11 05:05:17 +02:00
Michael Niedermayer
b8a55994f0 avcodec/mpeg12dec: print aspect_ratio_info in debug output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-11 03:22:16 +02:00
Michael Niedermayer
ae17a0c258 Merge commit '1d4579e38ecad578c86516fad2837a273d11b320'
* commit '1d4579e38ecad578c86516fad2837a273d11b320':
  tcp: Add AVOption support

Conflicts:
	libavformat/tcp.c

See: 2e009c6042
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-11 00:39:01 +02:00
Clément Bœsch
937aac4f97 avformat/assenc: make sure we crawl extradata only if it's non-null 2014-10-10 23:49:38 +02:00
Michael Niedermayer
d246397161 Merge commit 'cd9d6399fd00f5aeacaa90cdc0b74c3570024119'
* commit 'cd9d6399fd00f5aeacaa90cdc0b74c3570024119':
  tls: Support passing old-style tcp options

See: 4f4eb380f0
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 22:28:49 +02:00
Michael Niedermayer
76d1ffffd0 Merge commit '3df8d52fcdc9036b4074fdc612d487ece8bb5b7f'
* commit '3df8d52fcdc9036b4074fdc612d487ece8bb5b7f':
  rtsp: Add rtsps to the probe

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 21:36:27 +02:00
Michael Niedermayer
7028475f75 Merge commit 'c839b0439f0b01c72a6d253920d2e342b30f8bcb'
* commit 'c839b0439f0b01c72a6d253920d2e342b30f8bcb':
  rtsp: Support tls when in listen mode

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 21:29:10 +02:00
Michael Niedermayer
c9791925a1 Merge commit '8b2e9636c57b22582143467a8a06b509b47b92f9'
* commit '8b2e9636c57b22582143467a8a06b509b47b92f9':
  rtsp: Support tls-encapsulated RTSP

Conflicts:
	libavformat/rtsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 21:18:41 +02:00
Michael Niedermayer
544f811453 Merge commit 'c27328e749ff3be648411765cd17362fee017341'
* commit 'c27328e749ff3be648411765cd17362fee017341':
  rtsp: Check for command strings without spaces

Conflicts:
	libavformat/rtspdec.c

See: a0568ed254
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 21:05:49 +02:00
Michael Niedermayer
cec7afd036 Merge commit '09e1ccc8cddc946da5e10841f10dc5ebdd187d9d'
* commit '09e1ccc8cddc946da5e10841f10dc5ebdd187d9d':
  sctp: Use AVERROR_BUG instead of abort()

Conflicts:
	libavformat/sctp.c

See: 2e59142fa9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 20:51:52 +02:00
Michael Niedermayer
fc6aa30459 Merge commit 'eb4f9069002e73648f6640cd054fc814cfda75b8'
* commit 'eb4f9069002e73648f6640cd054fc814cfda75b8':
  lavf: More informative error message

Conflicts:
	libavformat/mux.c

See: 30ced7e69f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 20:38:51 +02:00
Christophe Gisquet
cb530dda7d utvideoenc: properly set slice height/last line
Mimic decoder and obey sampling.

Does not affect fate tests for utvideo.
Fixes ticket #3949.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 20:08:24 +02:00
Michael Niedermayer
171d971dbf avutil/softfloat: Fix undefined shift in av_add_sf()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 19:36:12 +02:00
Benoit Fouet
5e6fd132ff avformat/movenc: add EAC3 muxing support.
Support only one independent substream right now, and only syncframes
containing 6 blocks.

Fixes part of ticket #3074

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 19:07:08 +02:00
James Almer
5402d1bce5 float_dsp-test: allow forcing cpuflags
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-10 13:51:51 -03:00
Michael Niedermayer
ea77d3b889 avcodec/atrac3: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 17:10:02 +02:00
Michael Niedermayer
3537ddb76f avcodec/cavs: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 17:09:46 +02:00
Luca Barbato
1d4579e38e tcp: Add AVOption support 2014-10-10 16:29:07 +02:00
Luca Barbato
cd9d6399fd tls: Support passing old-style tcp options
Make tcp and tls urls near-interchangeable.
2014-10-10 16:29:07 +02:00
Luca Barbato
3df8d52fcd rtsp: Add rtsps to the probe 2014-10-10 16:29:06 +02:00
Luca Barbato
c839b0439f rtsp: Support tls when in listen mode 2014-10-10 16:29:06 +02:00
Luca Barbato
8b2e9636c5 rtsp: Support tls-encapsulated RTSP 2014-10-10 16:29:06 +02:00
Luca Barbato
c27328e749 rtsp: Check for command strings without spaces
Prevent a NULL-pointer dereference.

CC: libav-stable@libav.org
2014-10-10 16:29:06 +02:00
Luca Barbato
09e1ccc8cd sctp: Use AVERROR_BUG instead of abort()
Trying to write to a stream id larger the the maximum requested is
a programming error, still there is no reason to leave a
reachable abort() in the codebase.

CC: libav-stable@libav.org
2014-10-10 16:29:06 +02:00
Luca Barbato
eb4f906900 lavf: More informative error message
Print the timestamp values and not just the stream index.
2014-10-10 16:29:06 +02:00
Rong Yan
0d71bd5a94 libavcodec/ppc/hpeldsp_altivec.c : fix ff_put_pixels16_altivec() for POWER LE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 14:24:22 +02:00
Rong Yan
c1fa5d1bd4 libavcodec/ppc/me_cmp.c : fix sad16_altivec() sse16_altivec() sad16_xy2_altivec() sad16_x2_altivec() sad16_y2_altivec() sad8_altivec() for POWER LE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 14:24:22 +02:00
Di Wu
162b521108 vp9: enable multi-thread decoding when refreshctx is equal to 0
In vp9_decode_frame function, ff_thread_finish_setup is not called
when refreshctx is equal to 0, and the next decoding thread can not
start work until the cunrrent frame has been decoded completely. So
ff_thread_finish_setup needs to be called to enable Multi-thread
decoding in this condition.

Signed-off-by: Di Wu <di1028.wu@samsung.com>
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-10-10 09:13:44 -03:00
Rong Yan
c5ca76ad3b libavcodec/ppc/mpegvideoencdsp.c : fix pix_norm1_altivec() and pix_sum_altivec() for POWER LE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 13:32:02 +02:00
Rong Yan
31dea05170 libavcodec/ppc/pixblockdsp.c : fix get_pixels_altivec() and diff_pixels_altivec() for POWER LE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 13:31:49 +02:00
Michael Niedermayer
54df78af65 Merge commit 'b7c3bfd5eb3153f7de8039f96e7911b2a1d46cae'
* commit 'b7c3bfd5eb3153f7de8039f96e7911b2a1d46cae':
  w32pthreads: use the condition variable API directly when targeting newer versions of Windows

Conflicts:
	compat/w32pthreads.h

See: 8c6992bf0c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 12:25:50 +02:00
Michael Niedermayer
09c538b6e6 Merge commit '73ea3ffcd55b0b1d23ba4769d65996a8d58ffa11'
* commit '73ea3ffcd55b0b1d23ba4769d65996a8d58ffa11':
  w32pthreads: use the CONDITION_VARIABLE typedef if available

Conflicts:
	compat/w32pthreads.h
	configure

See: 0c06949314
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 12:13:09 +02:00
James Almer
b7c3bfd5eb w32pthreads: use the condition variable API directly when targeting newer versions of Windows
Wrap the function calls in a similar fashion to how it's being done
with the critical section API.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-10 11:27:30 +03:00
James Almer
73ea3ffcd5 w32pthreads: use the CONDITION_VARIABLE typedef if available
This silences warnings about passing arguments from incompatible pointer type
when targeting Windows Vista or newer.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-10 11:27:26 +03:00
Michael Niedermayer
19b4c0ccf9 ffprobe: Simplify by using av_color_range_name()
Idea from: a2c00d22e7
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 04:24:55 +02:00
Michael Niedermayer
e96fb980dc avformat/format: move mime_type_opt declaration to where its used
also remove a related dead store

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 03:08:11 +02:00
Michael Niedermayer
27123a77c1 avformat/os_support: include unistd.h before defining lseek to lseek64 on android
fixes build failure

Found-by: James Almer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 02:32:32 +02:00
Michael Niedermayer
9665a0fdf6 avutil/error: Add AVERROR_INPUT_CHANGED & AVERROR_OUTPUT_CHANGED to error_entries[]
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 02:02:11 +02:00
Vignesh Venkatasubramanian
233f3ad869 lavf/webm_dash: Allow filenames without directories
Fix basename computation code to allow just file names without any
directories in the path.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 00:46:37 +02:00
Marton Balint
ce928d7d2b ffplay: dont leave swresampler in half initialized state
On init failure, let's just free it, so next time it will be recreated from
start.

Also fixes Coverity CID 1241515.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-10-09 23:18:37 +02:00
James Almer
8c6992bf0c compat/w32pthreads: use the condition variable API directly when targeting newer versions of Windows
Wrap the function calls in a similar fashion to how it's being done
with the critical section API.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-09 17:51:46 -03:00
Frank Galligan
241b306b1e Fix writing first audio Cues in dash mode.
In dahsmode Matroska is not writing the first Cluster for every
audio stream in the Cues element.

Signed-off-by: Frank Galligan <frankgalligan@gmail.com>
Reviewed-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 21:50:48 +02:00
James Almer
0c06949314 compat/w32pthreads: use the CONDITION_VARIABLE typedef if available
This silences warnings about passing arguments from incompatible pointer type
when targeting Windows Vista or newer.

Tested-by: Matt Oliver <protogonoi@gmail.com>
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-09 13:26:44 -03:00
Michael Niedermayer
99afec08f8 avutil/softfloat: add some asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 17:02:59 +02:00
Michael Niedermayer
44198a728d avutil/softfloat: Fix dependence on signed overflow in av_normalize1_sf()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 16:52:56 +02:00
Michael Niedermayer
f3b54ee989 avutil/Makefile: add softfloat to TESTPROGS
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 16:02:14 +02:00
Benoit Fouet
7cda31cb92 avformat/mov: E-AC-3 streams need parsing too.
syncframes in E-AC-3 can be combined to provide 6 audio blocks per
sample, thus requiring parsing for proper decoding.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 15:38:09 +02:00
Yu Xiaolei
d5a6f11272 lavf: fix 2GB file seek limit on Android
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 13:08:33 +02:00
Michael Niedermayer
7b973e7341 Merge commit '2bc220958c7570020d87ee353db65460b518998a'
* commit '2bc220958c7570020d87ee353db65460b518998a':
  ismindex: handle discontinuous streams better

Conflicts:
	tools/ismindex.c

See: d3834f2901
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 12:25:52 +02:00
Mika Raento
d3834f2901 ismindex: handle discontinuous streams better
Reads the fragment duration from the trun sample data, rather than
assuming that there are no gaps. Creates much better playlists for our
inputs.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 12:15:48 +02:00
Mika Raento
2bc220958c ismindex: handle discontinuous streams better
Read the fragment duration from the trun sample data, rather than
assuming that there are no gaps.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-09 11:21:49 +03:00
Michael Niedermayer
5d36e8527f avformat/mov: Fix 'warning: format specifies type unsigned short but the argument has type int'
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 05:49:25 +02:00
Michael Niedermayer
8cfb9ccfef avcodec/utils: Fix "warning: pointer type mismatch in conditional expression"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 05:46:13 +02:00
Michael Niedermayer
0578623039 avformat/dump: use format dump_separator if the codec one is not set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 05:41:42 +02:00
Michael Niedermayer
f9a1317479 avcodec/utils: Add missing AV_PIX_FMT_YUVJ411P to color_range override code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 05:28:10 +02:00
Michael Niedermayer
cf7b90dea2 fix seperator typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 04:19:13 +02:00
Michael Niedermayer
f6777ce6fe Merge commit '1a02e78653a5c7674e6c43b6e6f2748dbd2091d7'
* commit '1a02e78653a5c7674e6c43b6e6f2748dbd2091d7':
  vc1: initialize color properties

See: ddabecbbf5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 03:06:20 +02:00
Michael Niedermayer
5b134a0544 Merge commit 'eddf95283fbba1b469b76e7518bc3941f671b193'
* commit 'eddf95283fbba1b469b76e7518bc3941f671b193':
  vp9: initialize color space and range properties

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 02:49:16 +02:00
Michael Niedermayer
3bc86462a2 Merge commit '65875a8b3b079752da25a61ec188d2e3d90a569f'
* commit '65875a8b3b079752da25a61ec188d2e3d90a569f':
  vp8: initialize color space and range properties

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 02:36:58 +02:00
Michael Niedermayer
349a32c436 Merge commit '0d8a3656ba4c0ae8e4e0c91ff6b07d72a317f9f6'
* commit '0d8a3656ba4c0ae8e4e0c91ff6b07d72a317f9f6':
  mov: support the Color Parameter Atoms 'colr'

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 02:27:53 +02:00
Michael Niedermayer
6414c3ecd0 Merge commit '586ea0379c207a942c1f2d61e0b3a63c458cc598'
* commit '586ea0379c207a942c1f2d61e0b3a63c458cc598':
  avcodec: fix colorspace option description

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 02:23:15 +02:00
Michael Niedermayer
923a242282 Merge commit '91eef402037ae5a51d89ade6cb71cdd70b291c8b'
* commit '91eef402037ae5a51d89ade6cb71cdd70b291c8b':
  avcodec: add enum values on chroma sample location

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 02:14:54 +02:00
Michael Niedermayer
7652b176fc Merge commit '9d5fed6dc4cccb0689f694112f5026988bebc472'
* commit '9d5fed6dc4cccb0689f694112f5026988bebc472':
  avcodec: fix descriptions on color transfer options

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 02:14:23 +02:00
Michael Niedermayer
04d8f616fd Merge commit '167e6f1489368a4693145da61cb022c113a285bc'
* commit '167e6f1489368a4693145da61cb022c113a285bc':
  dump: Update streams and chapters printout format

See: cab2860c8a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 02:11:04 +02:00
Michael Niedermayer
5f43a7957b Merge commit '9f3a70c44224ed92d91df65bb9470a2649e7d019'
* commit '9f3a70c44224ed92d91df65bb9470a2649e7d019':
  dump: print the original coded dimensions when available

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 01:46:26 +02:00
Michael Niedermayer
af28960412 Merge commit '41e86146e7240f9d42e8cdb86a94bb3eb2bbe15f'
* commit '41e86146e7240f9d42e8cdb86a94bb3eb2bbe15f':
  dump: print detailed color space information

full color triplets are only printed if they are not all equal, otherwise
they are printed as before

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 01:26:34 +02:00
Michael Niedermayer
f0a6874de8 avformat: Allow choosing the dump format field separator.
The default is to maintain the previous ", " for now.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 00:56:58 +02:00
Michael Niedermayer
e051d09c58 avcodec: Allow choosing the dump format field separator.
The default is to maintain the previous ", " for now.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 00:56:31 +02:00
Michael Niedermayer
f22f873ef0 Merge commit '20a5956b8daeee4cb59d6fa00ec809b02c04d7f8'
* commit '20a5956b8daeee4cb59d6fa00ec809b02c04d7f8':
  dump: split audio and video probing on multiple lines

Conflicts:
	libavcodec/utils.c
	libavformat/dump.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 00:56:23 +02:00
Michael Niedermayer
bb44f7d5d7 Merge commit '5a419b2dd1881889d436f55741fd3ff3f9f436c4'
* commit '5a419b2dd1881889d436f55741fd3ff3f9f436c4':
  pixdesc: return color properties names

Conflicts:
	libavutil/pixdesc.c
	libavutil/pixdesc.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 22:53:48 +02:00
Michael Niedermayer
7eb959bf0b Merge commit '04ccd584a70fad4ebb29ca340d704970ff313cbc'
* commit '04ccd584a70fad4ebb29ca340d704970ff313cbc':
  pixfmt: mark further reserved values

Conflicts:
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 22:37:59 +02:00
Michael Niedermayer
1b6172dcf6 Merge commit 'c732c62cee43f651775af5547cff99d418248542'
* commit 'c732c62cee43f651775af5547cff99d418248542':
  doc: expand description for some color properties

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 22:28:45 +02:00
Michael Niedermayer
dc5560efda Merge commit 'a2c00d22e71d13b72828147be86aa9e961c6cae6'
* commit 'a2c00d22e71d13b72828147be86aa9e961c6cae6':
  avprobe: print color properties for show_streams

Conflicts:
	avprobe.c

Not merged as this code does not build and is incomplete, some parts only
appear in later commits.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 22:20:33 +02:00
Michael Niedermayer
10dd62737e Merge commit '147f2e91eece6b9021ff5b7f8a3b5ce053566659'
* commit '147f2e91eece6b9021ff5b7f8a3b5ce053566659':
  avcodec: make sure color_range is properly initialized

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 22:08:11 +02:00
Michael Niedermayer
d5a3caef93 Merge commit '04d14c9b68b03e8dbc6e3003c1ee06892dd32576'
* commit '04d14c9b68b03e8dbc6e3003c1ee06892dd32576':
  vc1: Split the decoder in components

Conflicts:
	libavcodec/Makefile
	libavcodec/vc1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 22:00:09 +02:00
Michael Niedermayer
9da679e77f Merge commit '7ae9791b641d1183910b6e7faca23f7ae08f8579'
* commit '7ae9791b641d1183910b6e7faca23f7ae08f8579':
  avformat: bump version after mime_type change

Conflicts:
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 21:45:41 +02:00
Michael Niedermayer
911ba8fb19 Merge commit 'b15b06ebf582ae81e47d236524c9ad6e10c8a0a7'
* commit 'b15b06ebf582ae81e47d236524c9ad6e10c8a0a7':
  avformat: use const char* instead of uint8_t* for AVProbeData.mime_type

Conflicts:
	libavformat/format.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 21:35:40 +02:00
Michael Niedermayer
be695ee389 avformat/matroskadec: do not trust the default duration to be the real 1/timebase if its less than 5fps
Fixes Ticket3980

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 20:39:37 +02:00
Vittorio Giovara
1a02e78653 vc1: initialize color properties 2014-10-08 18:17:50 +01:00
Vittorio Giovara
eddf95283f vp9: initialize color space and range properties 2014-10-08 18:17:50 +01:00
Vittorio Giovara
65875a8b3b vp8: initialize color space and range properties 2014-10-08 18:17:50 +01:00
Vittorio Giovara
0d8a3656ba mov: support the Color Parameter Atoms 'colr' 2014-10-08 18:17:50 +01:00
Vittorio Giovara
586ea0379c avcodec: fix colorspace option description 2014-10-08 18:17:50 +01:00
Marc-Antoine Arnaud
91eef40203 avcodec: add enum values on chroma sample location 2014-10-08 18:17:50 +01:00
Marc-Antoine Arnaud
9d5fed6dc4 avcodec: fix descriptions on color transfer options
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-10-08 18:17:49 +01:00
Sylvain Rabot
167e6f1489 dump: Update streams and chapters printout format
This matches the -map option which requires '%d:%d' format.
2014-10-08 18:17:49 +01:00
Vittorio Giovara
9f3a70c442 dump: print the original coded dimensions when available 2014-10-08 18:17:49 +01:00
Vittorio Giovara
41e86146e7 dump: print detailed color space information 2014-10-08 18:17:49 +01:00
Vittorio Giovara
20a5956b8d dump: split audio and video probing on multiple lines
Also always report pixel format.
2014-10-08 18:17:49 +01:00
Vittorio Giovara
5a419b2dd1 pixdesc: return color properties names 2014-10-08 18:17:49 +01:00
Vittorio Giovara
04ccd584a7 pixfmt: mark further reserved values 2014-10-08 18:17:49 +01:00
Vittorio Giovara
c732c62cee doc: expand description for some color properties 2014-10-08 18:17:49 +01:00
Vittorio Giovara
a2c00d22e7 avprobe: print color properties for show_streams 2014-10-08 18:17:49 +01:00
Vittorio Giovara
147f2e91ee avcodec: make sure color_range is properly initialized 2014-10-08 18:17:49 +01:00
Luca Barbato
04d14c9b68 vc1: Split the decoder in components
Speed up the overall compilation time.
2014-10-08 18:34:48 +02:00
Vittorio Giovara
7ae9791b64 avformat: bump version after mime_type change 2014-10-08 15:59:51 +01:00
Tobias Rapp
33db99548b Changelog: add "ffprobe -show_pixel_formats option"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 16:58:14 +02:00
Carl Eugen Hoyos
1d4480d376 tests/Makefile: Fix fate-ffprobe with --target-path
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 16:26:20 +02:00
Andreas Cadhalpun
b15b06ebf5 avformat: use const char* instead of uint8_t* for AVProbeData.mime_type
This makes the field consistent with AVInputFormat.mime_type and the
argument type of av_match_name.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-10-08 15:13:15 +01:00
Michael Niedermayer
f703c8cc09 avcodec/avpicture: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 16:09:31 +02:00
Michael Niedermayer
fa8c6c1350 avcodec/atrac3plusdec: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 16:09:23 +02:00
Michael Niedermayer
f66fed6c42 avcodec/bfi: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 16:08:28 +02:00
Michael Niedermayer
e97f38ce63 ffserver: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 15:22:24 +02:00
Michael Niedermayer
b530e2e351 avcodec/vorbisdec: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 15:17:27 +02:00
Michael Niedermayer
3c1378ce0a Merge commit '2d91abade29e43bb45c881d45909b8ee77e904e2'
* commit '2d91abade29e43bb45c881d45909b8ee77e904e2':
  x86: h264_intrapred: Don't treat 32-bit integers as 64-bit

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 11:48:58 +02:00
Michael Niedermayer
36e4b750a7 Merge commit '82f8eb5f773d87e3d9c0066ef19b501a461ddfae'
* commit '82f8eb5f773d87e3d9c0066ef19b501a461ddfae':
  jpeg2000: split off inverse MCT as Jpeg2000DSP

Conflicts:
	libavcodec/Makefile
	libavcodec/jpeg2000dec.c
	libavcodec/jpeg2000dsp.c
	libavcodec/jpeg2000dsp.h

See: c9f2ec8a34
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 11:40:56 +02:00
Henrik Gramner
2d91abade2 x86: h264_intrapred: Don't treat 32-bit integers as 64-bit
The upper halves are not guaranteed to be zero in x86-64.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-08 08:15:52 +00:00
James Almer
82f8eb5f77 jpeg2000: split off inverse MCT as Jpeg2000DSP
This makes the addition of arch optimized functions easier.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-08 08:02:55 +00:00
Michael Niedermayer
f3296b9454 avcodec/h264: Undefined behavior (left shift of 12852653 by 8 places cannot be represented in type 'int')
Fixes: asan_heap-oob_84f75d_8_asan_heap-oob_a2a00a_341_mbc.ts

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 05:35:10 +02:00
Michael Niedermayer
344f8d307a swresample/audioconvert: Fix undefined behavior (left shift of negative value)
Fixes: asan_heap-oob_4da4f3_8_asan_heap-oob_4da4f3_419_scene1a.mm

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 05:35:06 +02:00
Michael Niedermayer
9db9b209e3 avcodec/mmvideo: Fix undefined behavior (left shift of negative value)
Fixes: asan_heap-oob_4da4f3_8_asan_heap-oob_4da4f3_419_scene1a.mm

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 05:35:01 +02:00
Tobias Rapp
1acc9189b4 ffprobe: add pixel format chroma sub-sampling output
Adds output of chroma sub-sampling information to
ffprobe -show_pixel_formats option.

Note: This patch just prints the "raw" log2_charoma_w/h values instead
of the previously suggested mapping into a chroma sub-sampling pattern
string like "4:2:2".

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 23:18:15 +02:00
Tobias Rapp
7d327d6242 ffprobe: add pixel format component bit depth output
Adds output of bit depth per pixel format component to
ffprobe -show_pixel_formats option.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 23:18:15 +02:00
Tobias Rapp
b36b2c89df ffprobe: add pixel format flags output
Adds output of pixel format flags to ffprobe -show_pixel_formats option.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 23:18:15 +02:00
Tobias Rapp
143a8a44f4 ffprobe: add -show_pixel_formats option
Adds option -show_pixel_formats to ffprobe which lists all
available pixel formats with some details.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 23:18:15 +02:00
Clément Bœsch
abaf4245a1 avfilter: add w/h parameters in timeline
Fixes Ticket #4008.
2014-10-07 15:05:50 +02:00
Michael Niedermayer
158b3fb584 avformat/tiertexseq: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 13:46:29 +02:00
Michael Niedermayer
2d6f31730c avfilter/af_adelay: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 13:44:26 +02:00
Michael Niedermayer
aba873bbd0 Merge commit '9a03c2323593173a201cb75edd1b49887cf811ed'
* commit '9a03c2323593173a201cb75edd1b49887cf811ed':
  h263dec: Force padding bug workaround for H.263.

This is not merged as it breaks a good part of the error concealment/resilience for H.263
Also, messenger.h263 plays fine in ffmpeg.
If anyone has any other h263 files that do not work, please open an issue on trak or
mail me!

See: d225b0f7aa
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 13:00:08 +02:00
Michael Niedermayer
33c8500db4 Merge commit 'd208d1eba3799c58fd6d3602d31de3e686f14aec'
* commit 'd208d1eba3799c58fd6d3602d31de3e686f14aec':
  hevc_mvs: make sure to always initialize the temporal MV fully

Conflicts:
	libavcodec/hevc_mvs.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 12:29:07 +02:00
Michael Niedermayer
018ca8b7f6 Merge commit '79a60c8e779242b5ba4c531b2c706c871e8e6420'
* commit '79a60c8e779242b5ba4c531b2c706c871e8e6420':
  hevc_mvs: initialize the temporal MV in case of missing ref

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 12:21:43 +02:00
Josh Allmann
9a03c23235 h263dec: Force padding bug workaround for H.263.
Fixes decoding of http://samples.mplayerhq.hu/V-codecs/h263/h263-raw/messenger.h263

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-07 07:30:32 +00:00
Anton Khirnov
d208d1eba3 hevc_mvs: make sure to always initialize the temporal MV fully
The spec requires this.

Fixes uninitialized reads on some samples.

Remove now unnecessary initialization of the whole merge candidate list.
2014-10-07 07:13:01 +00:00
Anton Khirnov
79a60c8e77 hevc_mvs: initialize the temporal MV in case of missing ref
The caller expects the MV to always be initialized.
2014-10-07 07:12:55 +00:00
Michael Niedermayer
0026c4ecfd avformat/hls: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 04:29:27 +02:00
Michael Niedermayer
f0d1b3acdf avcodec/escape124: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 03:42:20 +02:00
Michael Niedermayer
1c5647f419 avcodec/proresenc_kostya: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 03:41:40 +02:00
Michael Niedermayer
c9eac8062e avcodec/avpacket: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 03:40:57 +02:00
Michael Niedermayer
b60938e4fd avcodec/avpacket: simplify freeing pkt->data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 03:40:15 +02:00
Mark Reid
5c50214eed avformat/mxfdec: read reel_name and source timecode from physical source package
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 03:13:06 +02:00
Michael Niedermayer
3726d07a2a Merge commit '28816050e47b6dba430a52e429d21a864cffda8e'
* commit '28816050e47b6dba430a52e429d21a864cffda8e':
  lavf: Set the stream time base hint properly for chained muxers

Conflicts:
	libavformat/segment.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 02:51:08 +02:00
Michael Niedermayer
4db0e8fd33 Merge commit 'b76249443864c88ffb2d41ab8d1de7432e985dc7'
* commit 'b76249443864c88ffb2d41ab8d1de7432e985dc7':
  sdp: Simplify parsing/conversion of H264 extradata

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 02:40:02 +02:00
Michael Niedermayer
a52384dcda Merge commit '153fadc390d05aa47e5e2c56290401898fe41a23'
* commit '153fadc390d05aa47e5e2c56290401898fe41a23':
  ff_get_format: fix infinite loop

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 02:15:26 +02:00
Martin Storsjö
28816050e4 lavf: Set the stream time base hint properly for chained muxers
This avoids warnings about using the codec time base as time
base hint.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-06 23:30:52 +03:00
Martin Storsjö
b762494438 sdp: Simplify parsing/conversion of H264 extradata
By using ff_avc_write_annexb_extradata instead of the h264_mp4toannexb
BSF, the code for doing the conversion itself is kept much shorter,
there's less state to restore at the end, we don't risk leaving the
AVCodecContext in an inconsistent state if returning early due to
errors, etc.

Also add a missing free if the base64 encoding fails.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-06 23:29:58 +03:00
Michael Niedermayer
d47dd84391 Merge commit '577899a6458ccad9026eb268f10dc0b39c224c8d'
* commit '577899a6458ccad9026eb268f10dc0b39c224c8d':
  lavc: specify the behavior of av_lockmgr_register on failure.

Conflicts:
	libavcodec/avcodec.h
	libavcodec/utils.c
	libavcodec/version.h

See: a950edb472
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 21:08:55 +02:00
Rémi Denis-Courmont
153fadc390 ff_get_format: fix infinite loop
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-06 18:39:45 +00:00
Manfred Georg
577899a645 lavc: specify the behavior of av_lockmgr_register on failure.
The register function now specifies that the user callback should
leave things in the same state that it found them on failure but
that failure to destroy is ignored by the library.  The register
function is now explicit about its behavior on failure
(it unregisters the previous callback and destroys all mutex).

Signed-off-by: Manfred Georg <mgeorg@google.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-06 18:20:17 +00:00
Michael Niedermayer
67ddf21611 avcodec/vdpau: do not dereference hwctx before checking it for NULL
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 17:39:28 +02:00
Michael Niedermayer
4d8356b678 Merge commit '8de1d67967a9f9e22c66cb0c1e518ae4f30d07dd'
* commit '8de1d67967a9f9e22c66cb0c1e518ae4f30d07dd':
  avconv_vdpau: update to new VDPAU interface

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 16:31:51 +02:00
Michael Niedermayer
0e57c05118 avcodec/vdpau: fix render2() check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 16:23:36 +02:00
Michael Niedermayer
403133ab5e ffmpeg: add vdpau_old to allow continued testing of the older (but not oldest) API
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 16:09:02 +02:00
Michael Niedermayer
573d333010 Merge commit 'bef067f88c74190cdf7e76d12f02e12e069974aa'
* commit 'bef067f88c74190cdf7e76d12f02e12e069974aa':
  vdpau: check video surface and decoder capabilities

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 15:12:19 +02:00
Michael Niedermayer
a61899a0f1 Merge commit 'e3e158e81f0666b8fe66be9ce1cad63a535920e0'
* commit 'e3e158e81f0666b8fe66be9ce1cad63a535920e0':
  vdpau: add av_vdpau_bind_context()

Conflicts:
	doc/APIchanges
	libavcodec/vdpau.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 15:04:03 +02:00
Michael Niedermayer
067d11bf71 Merge commit '502cde409ca5ee97ef70c2cdede88b9101746ff6'
* commit '502cde409ca5ee97ef70c2cdede88b9101746ff6':
  vdpau: force reinitialization when output resolution changes

Conflicts:
	libavcodec/vdpau.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 14:17:40 +02:00
Michael Niedermayer
ec6a855b3a avcodec/vdpau: warn if the user application has not setup avctx->hwaccel_context instead of potentially crashing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 14:10:37 +02:00
Michael Niedermayer
0ba887bbf4 Merge commit '89ac99ba5f2dc9f69ad3bc294753930eb0b3e4a4'
* commit '89ac99ba5f2dc9f69ad3bc294753930eb0b3e4a4':
  vdpau: pass codec-specific parameters from hwaccel

Conflicts:
	libavcodec/vdpau.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 13:21:52 +02:00
Michael Niedermayer
8df41976b7 avcodec/vdpau_internal: add comment to #endif
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 12:47:08 +02:00
Michael Niedermayer
10b6d7462c Merge commit 'ce083282f0a8b7d63c4047c30b7bac498f9806dd'
* commit 'ce083282f0a8b7d63c4047c30b7bac498f9806dd':
  vdpau: common support for managing the VdpDecoder in avcodec

Conflicts:
	libavcodec/vdpau.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 12:38:26 +02:00
Michael Niedermayer
b64b719ad5 Merge commit 'fcc1022611f79c2f3aa2f392a5ce14c74be9c1d7'
* commit 'fcc1022611f79c2f3aa2f392a5ce14c74be9c1d7':
  vdpau: factor out common end-of-frame handling

Conflicts:
	libavcodec/vdpau.c
	libavcodec/vdpau_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 12:09:17 +02:00
Michael Niedermayer
567c0dcee6 Merge commit '319424d25c53f82b87187ce03ed984d438f1bee6'
* commit '319424d25c53f82b87187ce03ed984d438f1bee6':
  vdpau: add helper for VDPAU to libav error codes conversion

Conflicts:
	libavcodec/vdpau.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 11:38:06 +02:00
Rémi Denis-Courmont
8de1d67967 avconv_vdpau: update to new VDPAU interface
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-06 06:20:40 +00:00
Rémi Denis-Courmont
bef067f88c vdpau: check video surface and decoder capabilities
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-06 06:20:40 +00:00
Rémi Denis-Courmont
e3e158e81f vdpau: add av_vdpau_bind_context()
This function provides an explicit VDPAU device and VDPAU driver to
libavcodec, so that the application is relieved from codec specifics
and VdpDevice life cycle management.

A stub flags parameter is added for future extension. For instance, it
could be used to ignore codec level capabilities (if someone feels
dangerous).

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-06 06:20:40 +00:00
Rémi Denis-Courmont
502cde409c vdpau: force reinitialization when output resolution changes
This is necessary to recreate the decoder with the correct parameters,
as not all codecs invoke get_format() in this case.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-06 06:18:56 +00:00
Michael Niedermayer
6b347f519d swresample/swresample: replace always true if() by av_assert0()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 01:29:15 +02:00
Michael Niedermayer
f9fefa499f swresample/swresample: fix sample drop loop end condition
Fixes Ticket3985

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 01:29:06 +02:00
Michael Niedermayer
02f7665a3c avformat/mov: do not overwrite extradata in mov_read_glbl()
Fixes regression from Ticket3962

This basically favors the first global header while since 34751f8313
it was the last. If this heuristic turns out worse, do not hesitate to revert this and
reopen 3962 as a feature request for multiple STSD

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 00:17:33 +02:00
James Almer
fb7d8d50bc swscale: remove obsolete FF_API_SWS_FORMAT_NAME cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-05 17:10:29 -03:00
James Almer
ddc3768161 avformat: remove obsolete FF_API_READ_PACKET cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-05 17:10:26 -03:00
James Almer
ecf457f3ac avformat: remove obsolete FF_API_CLOSE_INPUT_FILE cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-05 17:10:23 -03:00
James Almer
3bd9f17b8a avformat: remove obsolete FF_API_SET_PTS_INFO cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-05 17:10:20 -03:00
James Almer
a578b93c73 avformat: remove obsolete FF_API_NEW_STREAM cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-05 17:10:15 -03:00
James Almer
cc787709ee avformat: remove obsolete FF_API_FORMAT_PARAMETERS cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-05 17:10:13 -03:00
James Almer
903a0acba4 avformat: remove obsolete FF_API_ALLOC_OUTPUT_CONTEXT cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-05 17:10:07 -03:00
James Almer
e524a9b1ff avutil: remove obsolete FF_API_INTFLOAT cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-05 17:10:03 -03:00
James Almer
3e57520982 avutil: remove obsolete FF_API_SAMPLES_UTILS_RETURN_ZERO cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-05 17:09:56 -03:00
James Almer
71718de814 avutil: remove obsolete FF_API_FIND_OPT cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-05 17:09:53 -03:00
James Almer
1abb77285c avutil: remove obsolete FF_API_GET_BITS_PER_SAMPLE_FMT cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-05 17:09:49 -03:00
James Almer
42111bb960 avcodec: remove obsolete FF_API_FAST_MALLOC cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-05 17:09:44 -03:00
Michael Niedermayer
c02ea58c5f avformat/options_table: add FF_COMPLIANCE_UNOFFICIAL
Fixes ticket 3959

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-05 21:43:17 +02:00
Michael Niedermayer
70eba7695c configure: add -lrt to libavutil when needed for nanosleep
This is similar to 7d97511e13

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-05 18:51:12 +02:00
Benoit Fouet
904cfd257d avcodec/h264_mp4toannexb_bsf: reset the new IDR flag when SPS/PPS is seen.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-05 14:47:04 +02:00
Michael Niedermayer
436206c175 avcodec/webp: add assert to ensure palette is not larger than 256
it should not be possible to be larger as its stored as 8bit value
but we would be overwriting a stack buffer if it is ...

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-05 13:00:40 +02:00
Pascal Massimino
19fb476841 avcodec/webp: add optimization: use local palette with extra padding
for big enough pictures.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-05 12:47:44 +02:00
Rémi Denis-Courmont
89ac99ba5f vdpau: pass codec-specific parameters from hwaccel
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-05 10:41:31 +00:00
Rémi Denis-Courmont
ce083282f0 vdpau: common support for managing the VdpDecoder in avcodec
Using the not so new init and uninit callbacks, avcodec can now take
care of creating and destroying the VDPAU decoder instance.

The application is still responsible for creating the VDPAU device
and allocating video surfaces - this is necessary to keep video
surfaces on the GPU all the way to the output. But the application
will no longer needs to care about any codec-specific aspects.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-05 10:17:02 +00:00
Rémi Denis-Courmont
fcc1022611 vdpau: factor out common end-of-frame handling
Also add error handling.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-05 10:13:44 +00:00
Rémi Denis-Courmont
319424d25c vdpau: add helper for VDPAU to libav error codes conversion
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-05 10:08:53 +00:00
Matthew Oliver
e81eca0ce5 configure: Set large address aware.
Enables >2GB memory usage for 32 bit compiles on Windows.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-05 05:33:36 +02:00
Alexander Strasser
e079d43af8 avformat/img2dec: Attempt to detect non-escaped glob patterns too (-pattern_type glob)
Fixes ticket #3948

Based-on-patch-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-05 03:56:42 +02:00
Michael Niedermayer
345160a9cd Merge commit '2a5ac99e6e06078713f684fee2466c91f677b303'
* commit '2a5ac99e6e06078713f684fee2466c91f677b303':
  x11grab: Check the XQueryPointer return value

Conflicts:
	libavdevice/x11grab.c

See: 69c34a6ac9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-05 03:42:55 +02:00
Michael Niedermayer
8e5be0fffe Merge commit '5b9c817dc7577b6d44acc94d73b9c77c52cda489'
* commit '5b9c817dc7577b6d44acc94d73b9c77c52cda489':
  x11grab: Check XFixesGetCursorImage return value

Conflicts:
	libavdevice/x11grab.c

See: a65c0a3fe8

The warning with adjusted text is kept from a65c0a3fe8
but drawing the cursor is not disabled in case XFixesGetCursorImage() fails

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-05 03:22:55 +02:00
Michael Niedermayer
98baa8151a Merge commit '89fa2b5616274194d90bde0aeebf6adbd1245193'
* commit '89fa2b5616274194d90bde0aeebf6adbd1245193':
  x11grab: Check for XFixes availability at runtime

See: a65c0a3fe8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-05 03:14:35 +02:00
Michael Niedermayer
de52af9017 Merge commit '68211c70afcfd4d675029cc85fba7dee8de53bdf'
* commit '68211c70afcfd4d675029cc85fba7dee8de53bdf':
  vc1: Do not assume seek happens after decoding

See: 6801eb0a09
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-05 02:58:48 +02:00
Michael Niedermayer
684508ba15 avformat/img2dec: Support -loop with pipes
Fixes Ticket3976

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-05 01:49:25 +02:00
Antonio Ospite
2a5ac99e6e x11grab: Check the XQueryPointer return value
The paint_mouse_pointer() code uses XFixes to retrieve the cursor
coordinates, but XFixes gives no information about which screen the
pointer is on; this results in always drawing the cursor on the
captured screen even if the mouse pointer was on another screen.

For example, when capturing from screen 1 (i.e. -f x11grab -i ":0.1")
the cursor was being drawn in the captured image even when the mouse
pointer was actually on screen 0, which is wrong and visually confusing.

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-10-04 23:46:46 +02:00
Luca Barbato
5b9c817dc7 x11grab: Check XFixesGetCursorImage return value
It could return NULL if the cursor is outside the screen, the connection
timed out or the system is out of memory.

CC: libav-stable@libav.org
2014-10-04 23:46:46 +02:00
Luca Barbato
89fa2b5616 x11grab: Check for XFixes availability at runtime 2014-10-04 23:46:46 +02:00
Luca Barbato
68211c70af vc1: Do not assume seek happens after decoding
If a seek is requested before the decoding start there is no
current picture.

CC: libav-stable@libav.org
2014-10-04 23:46:46 +02:00
Michael Niedermayer
550f3e9df3 avcodec/on2avc: Check number of channels
Fixes out of array access
Fixes: asan_heap-oob_4da4f3_7_asan_heap-oob_4da4f3_173_Xmen_avc_500.vp6

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-04 22:15:54 +02:00
Michael Niedermayer
578da1f0dd Merge commit '36f3aec3630f27df64f4ff2b52a1c9ced760eb52'
* commit '36f3aec3630f27df64f4ff2b52a1c9ced760eb52':
  fate-vc1_ilaced_twomv: use -flags +bitexact

Conflicts:
	tests/ref/fate/vc1_ilaced_twomv

See: 233d1acb70
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-04 21:38:16 +02:00
Mickaël Raulet
4ba6371a83 x86/hevc: get rid off packusdw for ssse3 compatibility
cherry picked from commit df8ebe304df453f26c28ff8f11d607f49b90a4c2

Fixes out of array access
Fixes: asan_stack-oob_1046454_9_asan_stack-oob_15a9e7c_170_WP_MAIN10_B_Toshiba_3.bit

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-04 21:14:15 +02:00
Michael Niedermayer
df8394c693 avcodec/hevc: fix chroma transform_add size
Fixes accessing misaligned address
Fixes: signal_sigsegv_1feb99c_10_signal_sigsegv_2d1d35c_79_cov_691940146_EXT_A_ericsson_3.bit

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-04 17:51:52 +02:00
Carl Eugen Hoyos
aaf65bc2a5 lavc/libx264: Fix compilation with libx264 version < 142. 2014-10-04 17:43:24 +02:00
Michael Niedermayer
9734a7a1de avcodec/h264: Check mode before considering mixed mode intra prediction
Fixes out of array read
Fixes: asan_heap-oob_e476fc_2_asan_heap-oob_1333ec6_61_CAMACI3_Sony_C.jsv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-04 14:53:13 +02:00
Clément Bœsch
138902dfb6 avformat/assdec: make sure pos is initialized
Fixes use of uninitialized memory
Fixes: signal_sigsegv_504fb0_10_signal_sigsegv_504fb0_343_mewmew_ssa.avi

Found-by: Mateusz j00ru Jurczyk and Gynvael Coldwind
2014-10-04 12:27:58 +02:00
Michael Niedermayer
dceebe1a60 Merge commit '7d97511e13ef30cd99bae0e36400de055b72918d'
* commit '7d97511e13ef30cd99bae0e36400de055b72918d':
  configure: Add -lrt dependency to avutil's pc file.

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-04 12:04:51 +02:00
Janne Grunau
36f3aec363 fate-vc1_ilaced_twomv: use -flags +bitexact
Also updates the reference since it was generated by the non-bitexact
x86 specific code.
2014-10-04 11:21:32 +02:00
Josh Allmann
7d97511e13 configure: Add -lrt dependency to avutil's pc file.
This is needed for clock_gettime.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-10-04 09:10:04 +02:00
Michael Niedermayer
27f6da2921 avformat/mpegts: use a padded buffer in read_sl_header()
Fixes overread
Fixes: asan_heap-oob_84f75d_8_asan_heap-oob_a2a00a_341_mbc.ts

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-04 05:15:11 +02:00
Michael Niedermayer
c3d7f00ee3 avformat/mpegts: Check desc_len / get8() return code
Fixes out of array read
Fixes: signal_sigsegv_844d59_10_signal_sigsegv_a17bb7_366_mpegts_mpeg2video_mp2_dvbsub_topfield.rec

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-04 04:30:59 +02:00
Michael Niedermayer
8c50704ebf avcodec/vorbisdec: Fix off by 1 error in ptns_to_read
Fixes read of uninitialized memory
Fixes: asan_heap-uaf_18dac2b_9_asan_heap-uaf_22eb375_208_beta3_test_small.ogg

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-04 03:13:39 +02:00
Thomas Volkert
1c4c78ee40 sdp: add support for H.261
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-04 00:53:13 +02:00
Michael Niedermayer
075a165d27 avcodec/svq3: Dont memcpy AVFrame
This avoids out of array accesses

Fixes: asan_heap-uaf_21f42e4_9_asan_heap-uaf_21f42e4_278_gl2.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-04 00:21:17 +02:00
Michael Niedermayer
c727401aa9 avcodec/smc: fix off by 1 error
Fixes out of array access
Fixes: asan_heap-oob_1685bf0_5_asan_heap-oob_1f35116_430_smc.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 22:51:29 +02:00
Michael Niedermayer
883bc7d2e7 Merge commit '55f03d872640175a00bfa262da4652b7312b905f'
* commit '55f03d872640175a00bfa262da4652b7312b905f':
  hlsenc: Add parameter -hls_allow_cache

Conflicts:
	doc/muxers.texi
	libavformat/hlsenc.c
	libavformat/version.h

See: 3edb9aaea6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 21:46:40 +02:00
Michael Niedermayer
dd3bfe3cc1 avcodec/qpeg: fix off by 1 error in MV bounds check
Fixes out of array access
Fixes: asan_heap-oob_153760f_4_asan_heap-oob_1d7a4cf_164_VWbig6.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 21:09:40 +02:00
Michael Niedermayer
8f1457864b avcodec/gifdec: factorize interleave end handling out
also change it to a loop
Fixes out of array access
Fixes: asan_heap-oob_ca5410_8_asan_heap-oob_ca5410_97_ID_LSD_Size_Less_Then_Data_Inter_3.gif

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 20:20:23 +02:00
Michael Niedermayer
e7e5114c50 avcodec/cinepak: fix integer underflow
Fixes out of array access
Fixes: asan_heap-oob_4da0ba_6_asan_heap-oob_4da0ba_241_cvid_crash.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 19:34:28 +02:00
Joakim Roubert
55f03d8726 hlsenc: Add parameter -hls_allow_cache
The -hls_allow_cache parameter enables explicitly setting the
EXT-X-ALLOW-CACHE tag in the manifest file. That tag indicates
whether the client MAY or MUST NOT cache downloaded media
segments for later replay.

Valid values are 1 (=YES) or 0 (=NO) and the EXT-X-ALLOW-CACHE
will not show in the manifest for other values (or if
-hls_allow_cache is not used.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-03 20:20:28 +03:00
Michael Niedermayer
e830902934 avcodec/pngdec: Calculate MPNG bytewidth more defensively
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 18:06:33 +02:00
Michael Niedermayer
3e2b745020 avcodec/pngdec: Check bits per pixel before setting monoblack pixel format
Fixes out of array accesses
Fixes: asan_heap-oob_14dbfcf_4_asan_heap-oob_1ce5767_179_add_method_small.png

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 17:37:15 +02:00
Michael Niedermayer
e1c0cfaa41 avcodec/tiff: more completely check bpp/bppcount
Fixes pixel format selection
Fixes out of array accesses
Fixes: asan_heap-oob_1766029_6_asan_heap-oob_20aa045_332_cov_1823216757_m2-d1d366d7965db766c19a66c7a2ccbb6b.tif

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 16:33:06 +02:00
Michael Niedermayer
8b0e96e1f2 avcodec/mmvideo: Bounds check 2nd line of HHV Intra blocks
Fixes out of array access
Fixes: asan_heap-oob_4da4f3_8_asan_heap-oob_4da4f3_419_scene1a.mm

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 14:46:43 +02:00
Michael Niedermayer
97cb9b6cbb Revert "avformat/img2dec: reduce bmppipe probe score"
This seems not needed anymore

This reverts commit 321c3cd1a9.

Found-by: carl
2014-10-03 14:15:02 +02:00
Michael Niedermayer
d225b0f7aa avcodec/h263dec: Fix decoding messenger.h263
Fixes http://samples.mplayerhq.hu/V-codecs/h263/h263-raw/messenger.h263
Fixes regression since b239f3f6

Found-by: Josh Allmann
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 12:55:17 +02:00
Michael Niedermayer
105654e376 avcodec/utils: Add case for jv to avcodec_align_dimensions2()
Fixes out of array accesses
Fixes: asan_heap-oob_12304aa_8_asan_heap-oob_4da4f3_300_intro.jv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 04:48:29 +02:00
James Almer
0de1d6287e x86/mlpdec: add ff_mlp_rematrix_channel_{sse4,avx2}
2x to 2.5x faster than the C version.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-02 22:11:55 -03:00
James Almer
ddb813b0ef mlpdec: move rematrix_channels code to output_data()
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-02 22:11:51 -03:00
Michael Niedermayer
5c378d6a6d avcodec/mjpegdec: check bits per pixel for changes similar to dimensions
Fixes out of array accesses
Fixes: asan_heap-oob_16668e9_2_asan_heap-oob_16668e9_346_miss_congeniality_pegasus_mjpg.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 02:18:13 +02:00
Michael Niedermayer
06e7d58410 avcodec/jpeglsdec: Check run value more completely in ls_decode_line()
previously it could have been by 1 too large
Fixes out of array access
Fixes: asan_heap-oob_12240f5_1_asan_heap-oob_12240f5_448_t8c1e3.jls
Fixes: asan_heap-oob_12240f5_1_asan_heap-oob_12240f5_448_t8nde0.jls
Fixes: asan_heap-oob_12240fa_1_asan_heap-oob_12240fa_448_t16e3.jls

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 02:18:08 +02:00
Michael Niedermayer
77b3e110d2 avcodec: bump micro version for av_lockmgr_register() changes in a950edb472
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-02 22:14:02 +02:00
Manfred Georg
a950edb472 avcodec/utils: av_lockmgr_register defines behavior on failure.
The register function now specifies that the user callback should
leave things in the same state that it found them on failure but
that failure to destroy is ignored by the library.  The register
function is now explicit about its behavior on failure
(it unregisters the previous callback and destroys all mutex).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-02 21:18:49 +02:00
wm4
cdd6f059a6 avcodec, avutil: allow more control about how samples are skipped
Add CODEC_FLAG2_SKIP_MANUAL (exposed as "skip_manual"), which makes
the decoder export sample skip information via side data, instead
of applying it automatically. The format of the side data is the
same as AV_PKT_DATA_SKIP_SAMPLES, but since AVPacket and AVFrame
side data constants overlap, AV_FRAME_DATA_SKIP_SAMPLES needs to
be introduced.

This is useful for applications which want to do the timestamp
calculations manually, or which actually want to retrieve the
padding.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-02 20:21:00 +02:00
Vignesh Venkatasubramanian
a9b10e1510 lavf/webm_dash: some fields should go into Representation
Width, Height and Sample Rate should be in the AdaptationSet tag
only if all the contained representations have the same width,
height and sampling rate. Otherwise they should go into the
Representation tag. This patch adds this functionality and a fate
test for the same.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-02 19:20:05 +02:00
Michael Niedermayer
0d92b0d5f4 avutil/avstring: Factor av_match_list() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-02 18:51:05 +02:00
Yusuke Nakamura
6ea357ea83 Fix compilation of jpeg2000dsp when disabling the encoder.
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-02 12:56:13 -03:00
Derek Buitenhuis
23c9ebffb5 avfilter: Properly check for failed format query
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-10-02 12:22:49 +01:00
Derek Buitenhuis
1dbc3e8ac8 avfilter/aresample: Check for memory alloc failure for out sample rates
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-10-02 12:22:37 +01:00
Carl Eugen Hoyos
81cee700f7 Support decoding 32bit pcm audio in mov.
Such files are written by Convergent Design's Odyssey 7Q recorder.
2014-10-02 10:04:43 +02:00
Carl Eugen Hoyos
6efe4137ce Stop demuxing wtv on eof.
Fixes ticket #3991.
Fixes ticket #3995.
Fixes ticket #3997.

Reviewed-by: Peter Ross
Reviewed-by: Paul B Mahol
2014-10-02 09:41:57 +02:00
Carl Eugen Hoyos
80ca627abb Check for oom in the dirac parser.
Fixes ticket #3996.
2014-10-02 09:31:41 +02:00
James Almer
c9f2ec8a34 jpeg2000: split off inverse MCT decoding as Jpeg2000DSP
This makes the addition of arch optimized functions easier.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-02 03:21:45 -03:00
Benoit Fouet
c29d999f71 avformat/mxfenc: add jpeg2000 support.
Fixes ticket #1542

reviewed-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-02 04:19:37 +02:00
Michael Niedermayer
8cde94ec0d avformat/flvenc: fix codec_id_text check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-02 03:58:54 +02:00
Michael Niedermayer
5dd4e644f3 Merge commit 'd10d1b86550d254bd1e746ed613bf6885978879c'
* commit 'd10d1b86550d254bd1e746ed613bf6885978879c':
  libx265: enable psnr reporting when requested by the user

See: 3956b12fde
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-01 21:24:01 +02:00
Vignesh Venkatasubramanian
b1071db3df lavf/webm_dash: Fix incorrect bandwidth computation
Fix incorrect bandwidth computation in some cases. When the cue end
descriptor is null (i.e.) start_time_ns == -1, existing bandwidth
computed (if any) should be returned rather than returning 0.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-01 20:47:18 +02:00
Vignesh Venkatasubramanian
8acb76567a lavf/webm_dash: fix hardcode in cues_end computation
Fix an incorrect hard code in cues_end computation. Updating the fate
test reference files related to the fix as well. The earlier computation
was clearly wrong as the cues_end field was greater than the file size
itself in some cases.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-01 20:47:11 +02:00
James Almer
acebff8e5d x86/mpegvideoencdsp: improve ff_pix_sum16_sse2
~15% faster.

Also add an mmxext version that takes advantage of the new code, and
build it alongside with the mmx version only on x86_32.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-01 13:07:22 -03:00
Michael Niedermayer
f2e53808e3 avformat/movenc: automatically set AVC-Intra tag
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-01 16:39:20 +02:00
Michael Niedermayer
0a7afedc48 avcodec/libx264: add avcintra-class
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-01 16:39:19 +02:00
Michael Niedermayer
23f0e2edec avformat/movenc: AVC Intra support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-01 16:39:13 +02:00
Michael Niedermayer
d10d1b8655 libx265: enable psnr reporting when requested by the user
This is similar to what is done in libx264.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-10-01 14:31:48 +01:00
Christophe Gisquet
9a3653c9ec hevc: reuse edge emu buffer for coefficients
Kind of hackish but...

Reviewed-by: Mickael Raulet <Mickael.Raulet@insa-rennes.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-01 12:12:28 +02:00
Manfred Georg
79551d2c7a avcodec/utils: Force mutex to NULL after destruction.
A badly behaving user provided mutex manager (such as that in OpenCV) may not reset the mutex to NULL on destruction.  This can cause a problem for a later mutex manager (which may assert that the mutex is NULL before creating).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-01 00:56:53 +02:00
wm4
c8422f04a3 avformat/aviobuf: fix avio_flush() for read streams
avio_flush() did nothing useful for read streams. Fix it to behave as
expected, and discard the currently read buffer properly.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-30 21:31:08 +02:00
Jeffrey Wescott
07de0db74b avformat/flvenc: When using "-c:d copy", don't require a codec for passing the AMF metadata through from input to output. 2014-09-30 20:27:07 +02:00
Michael Niedermayer
cda5d89def avcodec/bitstream_filter: Use av_bitstream_filter_next() instead of direct access in av_bitstream_filter_init()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-30 20:27:07 +02:00
Clément Bœsch
0eb4a42812 avcodec/srtdec: use AVBPrint API 2014-09-30 20:21:15 +02:00
Clément Bœsch
55180b3299 Kill timed SRT 2014-09-30 20:21:14 +02:00
Benoit Fouet
d5ddcb5f8e avcodec/h264_mp4toannexb_bsf: use the given padding in h264_extradata_to_annexb().
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-30 13:12:36 +02:00
Benoit Fouet
1cf4d2e9be avcodec/h264_mp4toannexb_bsf: add a case when only SPS/PPS is in the stream.
When only SPS or PPS is present in the stream, copy the missing one from
AVCC before insertion to the output stream.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-30 11:33:06 +02:00
Alexander Drozdov
08ccc474b7 RTMP: fix FD leak in rtmp_open()
If we setup AVIO interrupt callback and it will be returns 1 on socket
timeouts and we try to connect to non-existing streams on some servers
(like nginx-rtmp) we got FD leak.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-30 11:26:25 +02:00
Michael Niedermayer
61c0683080 avcodec/mpegvideo_enc: Fix leak on bitstream buffer reallocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-30 05:19:20 +02:00
Michael Niedermayer
1441641d78 avcodec/mpegvideo_enc: Allocate only a small buffer and reallocate as needed
This should reduce the memory requirement

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-29 21:50:53 +02:00
Michael Niedermayer
a2d5f6b9db Merge commit '19133e96d30e3f80dbae236ef081aedef419a6bf'
* commit '19133e96d30e3f80dbae236ef081aedef419a6bf':
  lavf: fix memleaks in avformat_find_stream_info()

Conflicts:
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-29 21:25:09 +02:00
Michael Niedermayer
56c47364c3 Merge commit '2cd7c99498b1bcb450c328459cf85a686ce83456'
* commit '2cd7c99498b1bcb450c328459cf85a686ce83456':
  h264: reset ret to avoid propagating minor failures

See: 47048aa30b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-29 21:05:20 +02:00
Michael Niedermayer
46807921f7 Merge commit 'e3a00acde05c925617dc19b5373969d864bf8414'
* commit 'e3a00acde05c925617dc19b5373969d864bf8414':
  hevc: Initialize mergecand_list to 0

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-29 21:02:15 +02:00
Michael Niedermayer
77ab7407c2 Merge commit 'a05f5052fef3b3743fab7846da12861d8a8098ec'
* commit 'a05f5052fef3b3743fab7846da12861d8a8098ec':
  sdp: Make opus declaration conform to the spec

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-29 20:26:15 +02:00
Justin Ruggles
19133e96d3 lavf: fix memleaks in avformat_find_stream_info()
When AVFMT_FLAG_NOBUFFER is set, the packets are not added to the
AVFormatContext packet list, so they need to be freed when they are
no longer needed.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-09-29 17:54:25 +00:00
Michael Niedermayer
cf32181b70 avcodec/put_bits: Add rebase_put_bits()
Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-29 15:22:37 +02:00
Michael Niedermayer
2cd7c99498 h264: reset ret to avoid propagating minor failures
Unbreak 772d150a6e.

CC: libav-stable@libav.org
Bug-Id: 750 / 905753
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-09-29 12:33:55 +01:00
Luca Barbato
e3a00acde0 hevc: Initialize mergecand_list to 0
Unbreak cf6090dc62.

CC: libav-stable@libav.org
Sample-Id: hevc-conformance-LTRPSPS_A_Qualcomm_1
2014-09-29 12:33:46 +01:00
Michael Niedermayer
8ba6945487 avcodec/utils: Fix off by 1 error causing unneeded allocation in ff_fast_malloc()
Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-29 12:56:45 +02:00
Timothy B. Terriberry
a05f5052fe sdp: Make opus declaration conform to the spec
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-09-29 13:48:42 +03:00
Michael Niedermayer
3f5095f213 avformat/hlsenc: fix outter typo
Found-by: beastd
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-29 00:19:43 +02:00
Michael Niedermayer
755f7929c6 avcodec/mpegvideo_enc: Only enforce rc_max_available_vbv_use on first encoding attempt
This reduces repeatly re-encoding to achieve VBV compliance

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-28 23:59:44 +02:00
Michael Niedermayer
b1a0fccd02 avformat/hlsenc: export inner muxer timebase
Fixes "Non-monotonous DTS in output stream 0:0"
Fies Ticket 3797

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-28 22:27:33 +02:00
Michael Niedermayer
579a0fdc21 avutil/lls: Make unchanged function arguments const
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-28 19:32:07 +02:00
Michael Niedermayer
d22e88d120 avcodec/x86/fmtconvert: Fix operand size in ff_int32_to_float_fmul_array8_sse*
Fixes acodec-dca2 fate failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-28 19:04:06 +02:00
Michael Niedermayer
b28f470df0 avutil/pca: Make argument of ff_pca_add() const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-28 16:17:18 +02:00
Michael Niedermayer
04152a31cb avcodec/vc1dec: Fixing is_intra, 2nd attempt
This also un-does the fate changes from a52f443714,
leaving this fix without even small differences in the output, that is
a sample for which this makes a vissible difference is very welcome

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-28 15:10:40 +02:00
Michael Niedermayer
a52f443714 avcodec/vc1dec: fix is_intra block vs. mb bug
Fixes CID1194380

There are no vissible differences in the changed fate samples. Only
a tiny number of pixels change by tiny amounts in the frames i checked
If someone has a file that shows a vissible difference, please post it.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-28 14:27:35 +02:00
Reimar Döffinger
b7082d953f configure: add noexecstack to linker options if supported.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-09-28 10:01:24 +01:00
Michael Niedermayer
3956b12fde avcodec/libx265: enable psnr reporting when requested by the user
This is similar to what is done in libx264.c

Fixes Ticket3567

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-28 04:14:43 +02:00
Michael Niedermayer
4d9a46fe31 avcodec/libx264: mark unchanged pointer arguments as const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-28 03:40:13 +02:00
Joakim Roubert
3edb9aaea6 avformat/hlsenc: Added parameter -hls_allow_cache
The -hls_allow_cache parameter enables explicitly setting the
EXT-X-ALLOW-CACHE tag in the manifest file. That tag indicates
whether the client MAY or MUST NOT cache downloaded media
segments for later replay.

Valid values are 1 (=YES) or 0 (=NO) and the EXT-X-ALLOW-CACHE
will not show in the manifest for other values (or if
-hls_allow_cache is not used.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-28 03:09:05 +02:00
Thilo Borgmann
dd16a0d8cc lavd/avfoundation: Add basic PCM audio support.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-28 02:31:38 +02:00
Michael Niedermayer
d85ebea3f3 avcodec/ac3enc_template: fix out of array read
Found-by: Andreas Cadhalpun
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 20:34:44 +02:00
Michael Niedermayer
5672107ed6 Merge commit '551746680462538bb5ad7adf55fb1248190428ec'
* commit '551746680462538bb5ad7adf55fb1248190428ec':
  configure: Provide a safe default for unknonw libcs

Conflicts:
	configure

This is not merged as it does not work with musl here, while
our previous solution does.

See: 170e2fd7c3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 18:23:39 +02:00
Luca Barbato
5517466804 configure: Provide a safe default for unknonw libcs
Support musl out of box.

Amend commit 9d2cee52d3 that got
wrongly merged in its stead.
2014-09-27 18:01:44 +02:00
Clément Bœsch
5ec90c90c6 avcodec/subviewerdec: remove old compat code 2014-09-27 17:55:29 +02:00
Clément Bœsch
180d7f330b avcodec/microdvddec: remove old compat code 2014-09-27 17:55:22 +02:00
Clément Bœsch
71f6275169 avformat/assdec: make sure to free allocated data in case of error 2014-09-27 17:49:49 +02:00
Clément Bœsch
0e6bad1229 avformat/assenc: mux an event header if none are found in extradata 2014-09-27 17:32:14 +02:00
Clément Bœsch
3a6fa38fb1 avformat/assdec: add myself to Copyright 2014-09-27 17:32:14 +02:00
Clément Bœsch
0aa5c5a89e avformat/assdec: reindent after previous commit 2014-09-27 17:32:13 +02:00
Clément Bœsch
9ec52e5533 avformat/assdec: make sure "Comments:" events end up in the header 2014-09-27 17:32:13 +02:00
Clément Bœsch
ff5f5cbb46 avformat/assdec: output ASS packets
After this the order from the original file is stored through readorder
when doing ffmpeg -i input.ass -c copy output.mkv.

And now that the ASS muxer honors the ReadOrder, extracting the ass back
(without transcoding) restores the original order.
2014-09-27 17:32:13 +02:00
lvqcl
e58fc44649 avutil/x86/cpu: fix cpuid sub-leaf selection
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 13:21:31 +02:00
Michael Niedermayer
233d1acb70 tests/fate/microsoft: add -flags +bitexact to ilaced_twomv
Should fix fate failure on alpha and pre sse2 x86

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 13:07:03 +02:00
Christophe Gisquet
f183febcda hevc: remove CodingTree
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 11:50:41 +02:00
Paul B Mahol
bfdf0f078a avfilter/signalstats: add more pixel formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-09-27 07:28:06 +00:00
Michael Niedermayer
2ec4a84dca ffplay: Separate AVFrame from AVSubtitle
This is more robust and should avoid false positives in coverity
That is if the type is ever mixed up, after this patch that would
just be a null pointer dereference instead of a random possibly
out of array access

Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 03:54:36 +02:00
Michael Niedermayer
be5dd8aa55 Merge commit '4e03b2097ca59843ed65424a572b7acd5345f088'
* commit '4e03b2097ca59843ed65424a572b7acd5345f088':
  mpeg12: Always invoke the get_format() callback

Conflicts:
	libavcodec/mpeg12dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 03:38:48 +02:00
Michael Niedermayer
28b1698a7c Merge commit 'ce42316321145c435029dc288c2b5f1d48519dde'
* commit 'ce42316321145c435029dc288c2b5f1d48519dde':
  h264: Always invoke the get_format() callback

Conflicts:
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 03:21:56 +02:00
Michael Niedermayer
01831fd004 Merge commit '1c80c9d7ef809180042257200c7b5f6b81d0b0e2'
* commit '1c80c9d7ef809180042257200c7b5f6b81d0b0e2':
  hwaccel: Call ->get_format again if hwaccel init fails

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 02:42:30 +02:00
Michael Niedermayer
eb1ac04e59 Merge commit '9d2cee52d37c7340f85a5d41110282aac03e6855'
* commit '9d2cee52d37c7340f85a5d41110282aac03e6855':
  configure: Assume a standard-compliant default libc

See: 170e2fd7c3
Note, the change is not merged to avoid breaking netbsd and others.
once the netbsd (and any other breakages are dealt with the
else based solution could be used and 170e2fd7c3
could then be reverted)

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 02:25:31 +02:00
Michael Niedermayer
ac6b5bb834 Merge commit '6cfbe1de5ac6c57c41459626f7ac32841d63ace8'
* commit '6cfbe1de5ac6c57c41459626f7ac32841d63ace8':
  avconv: Use only audio and video to guess discontinuities

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 02:06:39 +02:00
James Almer
26cd7b1e1a x86/fmtconvert: add ff_int32_to_float_fmul_array8_{sse,sse2}
About two times faster than the c wrapper.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-26 20:48:40 -03:00
Michael Niedermayer
b7a5538870 Merge commit '883e98bc25755327565d8ae0f565a6c886f24816'
* commit '883e98bc25755327565d8ae0f565a6c886f24816':
  probe: Bump the score for mime type matching

Conflicts:
	libavformat/format.c

See: bcac0f4010
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 01:35:46 +02:00
Michael Niedermayer
5a5d454dcc Merge commit 'd995f0a1550c9148140eab34c7d770e90925c004'
* commit 'd995f0a1550c9148140eab34c7d770e90925c004':
  log: Unbreak no-tty support on 256color terminals

Conflicts:
	libavutil/log.c

No change, FFmpeg is not affected by this bug

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 01:29:24 +02:00
Reynaldo H. Verdejo Pinochet
a9ea79bb49 libavfilter/af_amix: avoid derreferencing possible null
ff_all_channel_layouts() might return null on alloc failure.

Fixes CID1241516

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-09-26 18:42:39 -03:00
Reynaldo H. Verdejo Pinochet
32288234a2 libavfilter/af_channelmap: avoid derreferencing possible null
ff_all_channel_layouts() might return null on alloc failure.

Fixes CID1241517

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-09-26 18:42:39 -03:00
Reynaldo H. Verdejo Pinochet
e3e051c42c libavfilter/af_join: avoid derreferencing possible null
ff_all_channel_layouts() might return null on alloc failure.

Fixes CID1241518

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-09-26 18:42:39 -03:00
Michael Niedermayer
7618d360ca Merge commit '7703995a2e8760e66ff35148bf029e0f9e30dbe6'
* commit '7703995a2e8760e66ff35148bf029e0f9e30dbe6':
  flac: Remove unused headers

Conflicts:
	libavcodec/flacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 22:33:28 +02:00
Michael Niedermayer
c895fa7f66 Merge commit 'cc4992aaf3dbb0af88d9727983d75636baf1f8cc'
* commit 'cc4992aaf3dbb0af88d9727983d75636baf1f8cc':
  ac3enc: allow Dolby Pro Logic IIz as the Dolby Surround EX mode.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 22:18:12 +02:00
Michael Niedermayer
15fda8bcf1 Merge commit '4c2fd4b262347273afe97865ba451a1abde43ae6'
* commit '4c2fd4b262347273afe97865ba451a1abde43ae6':
  ac3enc: allow Dolby Pro Logic II as a preferred downmix mode.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 22:07:35 +02:00
Michael Niedermayer
b7caf89401 Merge commit 'b39ebcddd47daf37659796aaa7d068668086507a'
* commit 'b39ebcddd47daf37659796aaa7d068668086507a':
  fate: Add VC-1 interlaced twomv test

Note, this test is not free of artifacts on both sides of the merge

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 21:48:53 +02:00
Rémi Denis-Courmont
4e03b2097c mpeg12: Always invoke the get_format() callback
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-09-26 21:28:37 +02:00
Rémi Denis-Courmont
ce42316321 h264: Always invoke the get_format() callback
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-09-26 21:28:37 +02:00
Rémi Denis-Courmont
1c80c9d7ef hwaccel: Call ->get_format again if hwaccel init fails
This allows the application to fall back on another hwaccel or,
more likely, software decoding.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-09-26 21:28:36 +02:00
Luca Barbato
9d2cee52d3 configure: Assume a standard-compliant default libc
Non-standard compliant libc should be supported on a per-case basis
anyway.
2014-09-26 20:56:16 +02:00
Luca Barbato
6cfbe1de5a avconv: Use only audio and video to guess discontinuities
Data and subtitle streams might cause false positive.
2014-09-26 20:56:16 +02:00
Andreas Cadhalpun
883e98bc25 probe: Bump the score for mime type matching
It should be more trustworthy than extension matching.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-09-26 20:56:16 +02:00
Luca Barbato
d995f0a155 log: Unbreak no-tty support on 256color terminals 2014-09-26 20:56:16 +02:00
Michael Niedermayer
ecf5526578 Merge commit 'a97328afef0ccebfc8c3d9f9fdb8e93cbf1058ab'
* commit 'a97328afef0ccebfc8c3d9f9fdb8e93cbf1058ab':
  vc1: Use logical instead of bitwise or for twomv

See: 1e2ab98460
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 20:55:00 +02:00
Michael Niedermayer
bde8eb7fa3 Merge commit 'b5fe13448b13bfdd48a75b7e12387e11e3526d7c'
* commit 'b5fe13448b13bfdd48a75b7e12387e11e3526d7c':
  vc1: Use logical instead of bitwise or for coded_inter

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 20:47:43 +02:00
Tristan Matthews
7703995a2e flac: Remove unused headers
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-26 10:33:01 -07:00
Tim Walker
cc4992aaf3 ac3enc: allow Dolby Pro Logic IIz as the Dolby Surround EX mode.
This is actually defined in the A/52 specification.
2014-09-26 17:09:14 +02:00
Tim Walker
4c2fd4b262 ac3enc: allow Dolby Pro Logic II as a preferred downmix mode.
Some encoders already use this value even
though it's reserved in the A/52 specification.
2014-09-26 17:09:13 +02:00
Tim Walker
b39ebcddd4 fate: Add VC-1 interlaced twomv test
CC: libav-stable@libav.org
2014-09-26 16:55:59 +02:00
Michael Niedermayer
a97328afef vc1: Use logical instead of bitwise or for twomv
CC: libav-stable@libav.org
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Tim Walker <tdskywalker@gmail.com>
2014-09-26 16:55:36 +02:00
Tim Walker
b5fe13448b vc1: Use logical instead of bitwise or for coded_inter
This appears to be the intended behavior.
2014-09-26 16:18:42 +02:00
Peter Ross
1964251be7 libavformat/iff: print error message when DSDIFF compression type is not supported
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 12:51:40 +02:00
Michael Niedermayer
ee2e5acdb1 avcodec/dxtory: remove unused variables
Found-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 12:51:40 +02:00
Michael Niedermayer
4c57be124f Merge commit 'b97f6ef956293fe06ae1e99bd295f42613081f37'
* commit 'b97f6ef956293fe06ae1e99bd295f42613081f37':
  pcm-dvd: Move a variable to a smaller scope

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 12:30:02 +02:00
Michael Niedermayer
b0458e62c8 Merge commit '4d5b99dacdbb56373e5abe2ad35fc87b5c0c5bd2'
* commit '4d5b99dacdbb56373e5abe2ad35fc87b5c0c5bd2':
  caf: Give context structure a consistent name

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 12:24:00 +02:00
Thilo Borgmann
f2254e36c0 lavd/avfoundation: Use microseconds as common timebase.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 12:13:57 +02:00
Diego Biurrun
b97f6ef956 pcm-dvd: Move a variable to a smaller scope
This avoids an unused variable warning on big-endian systems.
2014-09-26 02:15:34 -07:00
Clément Bœsch
9ae83ece8a avformat/srtdec: simpler and more lenient probing
Fixes Ticket #3935.
2014-09-26 11:12:41 +02:00
wm4
7dd2005e1a avformat: add SUP/PGS subtitle demuxer
Signed-off-by: Clément Bœsch <u@pkh.me>
2014-09-26 10:35:14 +02:00
Diego Biurrun
4d5b99dacd caf: Give context structure a consistent name 2014-09-26 00:44:41 -07:00
Thilo Borgmann
1ea7a3e04e lavd/avfoundation: Simplify debug message generation.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 05:05:31 +02:00
Thilo Borgmann
92827e1869 lavd/avfoundation: Using the actual stream index instead of hardcoded value.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 05:05:11 +02:00
Thilo Borgmann
a69c70e148 lavd/avfoundation: Split adding a device and getting the device configuration into separate functions.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 04:18:24 +02:00
Carl Eugen Hoyos
88c937fdc8 Autodetect jpg images.
Based on 2d3842f5 by Michael Niedermayer.

Fixes ticket #2541.
2014-09-26 00:06:41 +02:00
Carl Eugen Hoyos
475e3799cd Support libopenjpeg 2.x via libopenmj2.
Based on a patch by Marius Cirsta.

Fixes ticket #2016.
2014-09-26 00:06:41 +02:00
Carl Eugen Hoyos
8de7bdd756 Show correct pix_fmt for vp9 videos != AV_PIX_FMT_YUV420P. 2014-09-26 00:06:41 +02:00
Michael Niedermayer
a43bcaafe2 avcodec/dxtory: Support dxtory-2.0.127.avi
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 23:46:56 +02:00
Carl Eugen Hoyos
c0f9df30dd lavc/x86/idctdsp.h: Fix make checkheaders. 2014-09-25 22:18:25 +02:00
James Almer
a829870b2f avcodec/svq1enc: align buffer used by simd functions
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-25 16:00:20 -03:00
James Almer
4b892e469b x86/cavsdsp: fix buffer alignment in cavs_idct8_add_mmx()
It may be used by ff_add_pixels_clamped_sse2().
Should fix fate-cavs failures on some systems.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-25 16:00:16 -03:00
Thilo Borgmann
e113692c89 lavu/ffmpeg_opt: Check return value of avcodec_find_encoder().
Prevents a segfault if a stream featuring a known but unavailable codec (like external lib codec) should be opened.

Bug found by: Jonas Geistert <j.geistert@yahoo.de>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 18:03:09 +02:00
Michael Niedermayer
ce6e46be72 avformat/img2dec: enable generic seeking for image pipes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 17:47:45 +02:00
Michael Niedermayer
6d35aba167 avformat/img2dec: initialize pkt->pos for image pipes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 17:16:14 +02:00
Michael Niedermayer
2497914a18 avformat/img2dec: pass error code and signal EOF
Found-by: Daemon404
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 16:20:23 +02:00
Michael Niedermayer
1dbdcb4a8c avformat/img2dec: fix error code at EOF for pipes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 15:22:42 +02:00
Michael Niedermayer
454f98b881 Merge commit '4620affa24eedb167482198aa04126bcedd05620'
* commit '4620affa24eedb167482198aa04126bcedd05620':
  m4vdec: K&R formatting cosmetics

Conflicts:
	libavformat/m4vdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 14:02:55 +02:00
Michael Niedermayer
59f4966756 Merge commit '86a361081d3eb4e999d75bc2a462f01d88cbd2e5'
* commit '86a361081d3eb4e999d75bc2a462f01d88cbd2e5':
  lmlm4: K&R formatting cosmetics

Conflicts:
	libavformat/lmlm4.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 13:51:43 +02:00
Michael Niedermayer
8f3d3e5f83 Merge commit '95d312d6c82e7485f43c3ddda0f369af0e41c83b'
* commit '95d312d6c82e7485f43c3ddda0f369af0e41c83b':
  concat: K&R formatting cosmetics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 13:45:30 +02:00
Michael Niedermayer
9b53691f73 Merge commit '28f5cd312c9da9072108edf8b7685d009374ea96'
* commit '28f5cd312c9da9072108edf8b7685d009374ea96':
  fate: Switch ra4-288 test from framecrc() to pcm()

Conflicts:
	tests/fate/real.mak

The test is kept disabled as it still does not pass on x86-64 due to float
rounding

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 13:37:40 +02:00
Michael Niedermayer
a6fd685fed Merge commit 'd07ddc93e29a4fdf12cd426953a7ecd5abe5e36d'
* commit 'd07ddc93e29a4fdf12cd426953a7ecd5abe5e36d':
  avcodec: Fix a doxy comment to refer to the right function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 12:09:32 +02:00
Gabriel Dume
4620affa24 m4vdec: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-25 01:58:51 -07:00
Gabriel Dume
86a361081d lmlm4: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-25 01:44:32 -07:00
Gabriel Dume
95d312d6c8 concat: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-25 01:44:31 -07:00
Katerina Barone-Adesi
28f5cd312c fate: Switch ra4-288 test from framecrc() to pcm()
The decoder is float-based and the test needs to allow for some fuzz.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-25 01:44:31 -07:00
Martin Storsjö
d07ddc93e2 avcodec: Fix a doxy comment to refer to the right function
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-09-25 10:01:25 +03:00
Michael Niedermayer
303fc9b368 avcodec/mpegvideo_enc: write a log message at verbose level if frame re-encoding occurs due to VBV
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 05:28:32 +02:00
James Almer
4f4f08e6f0 x86/idctdsp: port {put,add}_pixels_clamped to yasm
Also add sse2 versions for both.
put_pixels_clamped port and sse2 version originally written by Timothy Gu.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-24 21:52:13 -03:00
James Almer
c99a882814 avcodec/idctdsp: change {put,add}_pixels_clamped to ptrdiff_t line_size
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-24 21:43:19 -03:00
Michael Niedermayer
6441d522e9 Merge commit '2f172f1ae984b763c06069adb51d0053b3834f4b'
* commit '2f172f1ae984b763c06069adb51d0053b3834f4b':
  rtsp: Clear the session id on redirects

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 01:08:44 +02:00
Michael Niedermayer
d8ddac363e Merge commit 'ddf5fb71ee9c8b2d9a23c0f661a84896cd7050fc'
* commit 'ddf5fb71ee9c8b2d9a23c0f661a84896cd7050fc':
  rtpenc: HEVC/H.265 support

Conflicts:
	Changelog
	libavformat/rtpenc.c
	libavformat/rtpenc_hevc.c
	libavformat/version.h

See: 6821a5a4ad
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 00:17:36 +02:00
Michael Niedermayer
b8d3f7fc21 Merge commit 'a2efbecc4ed12d287cf29856418c4da4a7648d95'
* commit 'a2efbecc4ed12d287cf29856418c4da4a7648d95':
  libavformat: Move avc mp4 startcode parsing to a shared file

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 00:09:42 +02:00
James Almer
ad26e83f9c avcodec/x86: use function pointers for {put,add}_pixels_clamped
Same behavior as in simple_idct.
This way the best optimized versions available will be used instead.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-24 18:52:32 -03:00
Philip DeCamp
857fc0a71f libavutil/opt: fix av_opt_set_channel_layout() to access correct memory address
Signed-off-by: Philip DeCamp <decamp@mit.edu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 22:57:40 +02:00
Martin Storsjö
2f172f1ae9 rtsp: Clear the session id on redirects
This fixes handling redirects in case the server provided a session
id within the redirect reply.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-09-24 23:34:02 +03:00
Thomas Volkert
ddf5fb71ee rtpenc: HEVC/H.265 support
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-09-24 23:33:26 +03:00
Martin Storsjö
a2efbecc4e libavformat: Move avc mp4 startcode parsing to a shared file
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-09-24 23:33:17 +03:00
James Almer
70277d1d23 x86/videodsp: add ff_emu_edge_{hfix,hvar}_avx2
~15% faster than sse2.

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-24 16:12:55 -03:00
Michael Niedermayer
280ef183db libavformat/ffmetadec: Make unchanged function arguments const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 19:17:55 +02:00
Michael Niedermayer
ab6f4fd4a7 libavformat/dv: Make unchanged function arguments const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 19:11:05 +02:00
Michael Niedermayer
af19d2ed1e libavformat/avienc: Make unchanged function arguments const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 18:34:21 +02:00
Michael Niedermayer
d6ed67780b libavformat/avidec: Make unchanged function arguments const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 18:33:55 +02:00
Michael Niedermayer
e27f781aeb Merge commit 'c463dfc7e49929a9891884312b23b27d14729c51'
* commit 'c463dfc7e49929a9891884312b23b27d14729c51':
  rtpdec_hevc: Drop a duplicated, nonstandard entry

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 17:25:34 +02:00
Michael Niedermayer
3cd252d29a doc/APIchanges: fix typo
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 17:14:56 +02:00
Michael Niedermayer
ac682955e9 postproc: add basic deblock filter visualization support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 16:58:47 +02:00
Michael Niedermayer
266b3d4fe4 ffplay: use av_codec_get_pkt_timebase()
Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 13:44:56 +02:00
Vittorio Giovara
c463dfc7e4 rtpdec_hevc: Drop a duplicated, nonstandard entry
The RFC spec draft only specifies the "H265" name - there is no
specification saying how to interpret "HEVC" (if such a packet
format is specified it could be an entirely different format).

Since this is a very new standard (still a draft), there is little
need for compatibility with existing, broken implementations. Therefore
remove the extra alias, to avoid the risk of encouraging incorrect
usage.

Intentionally keeping the ff_hevc_dynamic_handler name for the
handler, to use "hevc" consistently as name for the codec instead
of "h265" within the library internals as long as there only is one
single variant in actual use.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-09-24 10:44:14 +03:00
Michael Niedermayer
170e2fd7c3 configure: Check if "-D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600" is needed for localtime_r()
Fixes build with musl

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 05:04:24 +02:00
Michael Niedermayer
3bc036171f configure: fail if SDL is unavailable and --enable-sdl is specified
Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 02:32:56 +02:00
Michael Niedermayer
fb01a18462 configure: reindent the --disable-sdl related code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 02:32:52 +02:00
Michael Niedermayer
a7ed01082f configure: support --disable-sdl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 02:32:49 +02:00
Christophe Gisquet
3fe962940f hevc: move intermediate bidir buffer
Other buffers are already there.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 01:26:12 +02:00
Christophe Gisquet
de60ce391d hevc: remove unneeded buffer.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 01:26:12 +02:00
James Almer
164d6c7f5b x86/videodsp: fix warning about discarded 'const' qualifier
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-23 19:59:20 -03:00
James Almer
789274dca8 avcodec/libvpxdec: don't check for formats other than i420 when vp9 decoding is disabled
Should fix ticket #3958.

Reviewed-by: James Zern <jzern@google.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-23 19:50:28 -03:00
Michael Niedermayer
00d3bb1a07 tests/fate-run.sh: Cat .err file in case of error with V>0
This may make fate failures where only the console output is available
easier to analyze

Suggested-by: Andreas Cadhalpun
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 00:35:38 +02:00
Carl Eugen Hoyos
9f0ba52f34 Skip decklink_common_c.h when running make checkheaders. 2014-09-23 22:51:36 +02:00
Michael Niedermayer
55179987e7 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: move pts calculating code to generic decoder
  ffplay: factorize decoder functions to generic decoder
  ffplay: handle fullscreen status on resize event

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-23 22:09:54 +02:00
Bernd Kuhls
6b733be755 Fix compile error on arm4/arm5 platform
Since these commits
http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=adf8227cf4e7b4fccb2ad88e1e09b6dc00dd00ed
http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=db7f1c7c5a1d37e7f4da64a79a97bea1c4b6e9f8

compilation on arm4/arm5 fails:

libavcodec/libavcodec.so: undefined reference to
`ff_startcode_find_candidate_armv6'

Because libavcodec/arm/Makefile contains
ARMV6-OBJS-$(CONFIG_STARTCODE)         += arm/startcode_armv6.o
function ff_startcode_find_candidate_armv6 is not included for older ARM
archs. The bug was found during automatic buildroot builds:

http://autobuild.buildroot.net/results/ec7/ec71e4f16ee9106747dff5f15999cbd17903e76f//build-end.log
Quote from configure summary:
ARCH                      arm (armv4t)
big-endian                no
runtime cpu detection     yes
ARMv5TE enabled           no
ARMv6 enabled             no
ARMv6T2 enabled           no

http://autobuild.buildroot.net/results/be7/be72eb182eaccf0064a32c9dfc2ac1c0d6555506/build-end.log
ARCH                      arm (armv5te)
big-endian                no
runtime cpu detection     yes
ARMv5TE enabled           yes
ARMv6 enabled             no
ARMv6T2 enabled           no

This patch provides the necessary #if clauses as discussed with Michael:
https://ffmpeg.org/pipermail/ffmpeg-devel/2014-September/163329.html

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-23 21:11:05 +02:00
Marton Balint
1f5a3cf688 ffplay: move pts calculating code to generic decoder
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-09-23 21:08:40 +02:00
Marton Balint
9e0d1c00b5 ffplay: factorize decoder functions to generic decoder
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-09-23 21:08:40 +02:00
Marton Balint
32f1a288e2 ffplay: handle fullscreen status on resize event
In some cases resize events can happen even during fullscreen, so let's pass
the proper flag to SDL_SetVideoMode.

Fixes ticket #3964.

Reported-by: Jeff Dwork <jeff@reggie.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-09-23 21:08:35 +02:00
Benoit Fouet
6843b9dc78 avformat/riffenc: Filter out "BottomUp" in ff_put_bmp_header()
Fixes Ticket1304

Commit message and extradata size bugfix by commiter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-23 18:24:40 +02:00
Pascal Massimino
e5b3112996 avcodec/webp: fix default palette color 0xff000000 -> 0x00000000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-23 17:15:20 +02:00
Michael Niedermayer
b0f7de3e7c avcodec/asvenc: fix AAN scaling
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-23 17:04:02 +02:00
Michael Niedermayer
0bb5ad7a06 avcodec/asvenc: Fix integer overflow in level
Warn if the qscale is too low for the input data and clip levels to
minimize artifacts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-23 15:46:52 +02:00
James Almer
6b2caa321f x86/vp9: add AVX and AVX2 MC
Roughly 25% faster MC than ssse3 for blocksizes 32 and 64.

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-22 22:35:03 -03:00
Michael Niedermayer
2284413206 ffmpeg: replace impossible dts/pts combinations by a reasonable guess instead of hard failing
Fixes stream copy from tserror270.ts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-23 01:38:12 +02:00
Nicholas Robbins
bdb7f08666 doc/decoders: adding documentation for lavc/dvdsubdec.c option "forced_subs_only"
Signed-off-by: Nicholas Robbins <nickrobbins@yahoo.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 23:35:49 +02:00
Nicholas Robbins
c7d21dee28 libavcodec/dvdsubdec: Add option forced_subs_only to only decode forced subtitle frames.
Signed-off-by: Nicholas Robbins <nickrobbins@yahoo.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 21:01:13 +02:00
Michael Niedermayer
1cf28fd5f3 avformat/asfenc: Make asf_write_indexs index argument const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 18:53:44 +02:00
Michael Niedermayer
d902a3f4cb avformat/adtsenc: buf isnt changed in adts_decode_extradata(), make it const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 18:47:14 +02:00
Michael Niedermayer
544380aaf0 avcodec/4xm: Make src of decode_p_block() const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 18:09:28 +02:00
Michael Niedermayer
3a7f9db180 avcodec/snow: Make block argumrnt of ff_snow_pred_block() const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 18:06:56 +02:00
Michael Niedermayer
3c4fc6a782 postproc/postprocess_template: mark unchanged function arguments const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 17:49:55 +02:00
Michael Niedermayer
bd68909753 postprocess: prefetch* dont change anything, thus their arguments should be const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 17:42:10 +02:00
Michael Niedermayer
fe5093aafc Revert "configure: Refactor setting of feature test macro _XOPEN_SOURCE"
This fixes build on netbsd and probably other bsd based Platforms

This reverts commit 56b8d10676.
2014-09-22 17:12:35 +02:00
Thomas Volkert
5820358bbc Add missing entry for maintainer of rtpenc_hevc.*
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 15:01:04 +02:00
Benoit Fouet
9c843fb1d0 avformat/avidec: ensure that palette does not contain the BottomUp info.
Considering the palette is located at the end of extradata may be flawed
when the extradata contains the palette followed by the BottomUp field.
When the BottomUp field is present, exclude it from the palette.
Fixes part of ticket #1304

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 11:01:27 +02:00
Benoit Fouet
591e06b0e2 avformat/img2: remove useless 'pix' duplicated entry.
The second entry will never be selected, so let's save some bytes in the
library.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 10:25:31 +02:00
Thomas Volkert
e1cddd1a0c rtpenc_h263_rfc2190: avoid misleading error output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 03:45:34 +02:00
Michael Niedermayer
f3aaec781a avdevice/version: bump minor for the decklink input
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 03:25:22 +02:00
Deti Fliegl
bac6cfcb3a avdevice: add decklink input support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 02:55:24 +02:00
Deti Fliegl
a5e040ee3c avdevice/decklink: move general code of decklink encoder to common file
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 01:39:50 +02:00
Jörg Krause
56b8d10676 configure: Refactor setting of feature test macro _XOPEN_SOURCE
Some C libraries, eg glibc, uclibc, and musl, uses feature test macros
to expose definitions conforming to the standards ISO C, POSIX and
extensions. According to which feature test macros are defined by the
user or the compiler, a header file, eg <features.h>, used by these
libraries internally defines various other macros.

glibc and uclibc also defines release test macros, eg __GLIBC__ and
__UCLIBC__ in <features.h>. musl does not have (and does not want) a
macro __MUSL__. Therefore it is not possible to check for the musl
library.

However, building FFmpeg with musl needs the feature test macro
_XOPEN_SOURCE=600 to be defined.

Signed-off-by: Jörg Krause <jkrause@posteo.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 00:34:56 +02:00
Nicolas George
eb7a6d0813 lavu/bprint: add const to av_bprint_is_complete() argument. 2014-09-21 19:42:21 +02:00
Clément Bœsch
08e2b0da2c avformat/assenc: mux all extradata at once
Before this commit, the code was muxing up to the 2nd line after
"[Events]" (assuming it to be the "Format:" line). The remaining are
generally "Comment:" directives which can stay in that place. mkvextract
behaves that way so it seems there is no reason for that extra
complexity.
2014-09-21 18:55:12 +02:00
Clément Bœsch
e60770679b avformat/assenc: return correct error code 2014-09-21 18:50:16 +02:00
Clément Bœsch
ce8dc93aef avcodec/webvttdec: add some memory checks 2014-09-21 18:41:45 +02:00
Clément Bœsch
36c3a0167a avcodec/textdec: add some memory checks 2014-09-21 18:41:45 +02:00
Clément Bœsch
947a5111dd avcodec/subviewerdec: add some memory checks 2014-09-21 18:41:45 +02:00
Clément Bœsch
592716227c avcodec/srtdec: add some memory checks 2014-09-21 18:41:45 +02:00
Clément Bœsch
6a65da3a18 avcodec/samidec: add some memory checks 2014-09-21 18:41:45 +02:00
Clément Bœsch
8e7808b524 avcodec/realtextdec: add some memory checks 2014-09-21 18:41:45 +02:00
Clément Bœsch
27a9bee243 avcodec/mpl2dec: add some memory checks 2014-09-21 18:41:45 +02:00
Clément Bœsch
e833b02f2f avcodec/movtextdec: add some memory checks 2014-09-21 18:41:45 +02:00
Clément Bœsch
ac95b436db avcodec/microdvddec: add some memory checks 2014-09-21 18:41:45 +02:00
Clément Bœsch
4c85073044 avcodec/jacosubdec: add some memory checks 2014-09-21 18:41:45 +02:00
Clément Bœsch
d210c0e777 avcodec/ass: add ff_ass_add_rect_bprint() helper 2014-09-21 18:41:45 +02:00
Thomas Volkert
dcdc1cbf43 rtpdec_hevc: do not print an error message if the received packet has a valid header but lacks additional bytes as payload
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-21 15:07:26 +02:00
wm4
6c7f1155bb avformat/mp3dec: avoid early EOF with concatenated gapless mp3s
Consider a file created with something like:

    cat file1.mp3 file2.mp3 > result.mp3

Then if file2.mp3 has gapless information, result.mp3 would stop playing
something in the middle. This happens because the gapless info directs
the decoder to discard all samples after a certain position. To make
matters worse, the gapless info of file2.mp3 will be used when playing
the file1.mp3 part, because the gapless info is located at the end of
the file.

While handling concatenated gapless files correctly would be insane and
a lot of effort (especially without scanning the whole file on opening),
it's easy to prevent at least early EOF. Playback will happen to work,
even if it's slightly broken.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-21 14:57:12 +02:00
Hendrik Leppkes
36bf549b27 mlpdec: support TrueHD streams with an Atmos substream
The fourth substream is being discarded, since its not raw audio data,
but an encoded Atmos stream which needs a specialized decoder.

Fixes decoding of the true hd stream from Transformers\ -\ Age\ of\ Extinction\ 2014\ 1080P-003.mkv

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-21 14:38:32 +02:00
Hendrik Leppkes
ff34b2d6d3 mlpdec: support major sync headers with optional extension blocks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-21 13:32:56 +02:00
Thomas Volkert
6821a5a4ad rtpenc: HEVC/H.265 support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-21 12:49:08 +02:00
Michael Niedermayer
e927682e1b avfilter/vf_scale: Allow chroma samples to be above and to the left of luma samples
Found-by: Kierank
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-21 12:24:03 +02:00
Michael Niedermayer
61af6bebb4 swscale: Allow chroma samples to be above and to the left of luma samples
Found-by: Kierank
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-21 12:23:24 +02:00
Michael Niedermayer
950ce21d4a Merge commit '103391ca90b2f7c56ae756d76c76f7c3dfa28dd4'
* commit '103391ca90b2f7c56ae756d76c76f7c3dfa28dd4':
  dca: Remove some commented-out cruft

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-21 11:51:34 +02:00
Michael Niedermayer
28dce3cdbc avcodec/alacenc: Remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-20 23:54:00 +02:00
Christophe Gisquet
9950073655 alacenc: remove unneeded masking
The extra bits have already been masked, so this was not doing anything.

Noticed-by: Justin Ruggles
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-20 20:58:43 +02:00
Christophe Gisquet
a084493535 alacenc: fix incorrect buffer use
The issue lies in actually dead code ("for now it's not used").

Noticed-by: Justin Ruggles
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-20 20:45:57 +02:00
wm4
d87fe2687f avformat/mp3dec: fix gapless audio support
The code already had skipping of initial padding, but discarding
trailing frame padding was missing.

This is somewhat questionable, because it will make the decoder discard
any data after the declared file size in the LAME header. But note that
skipping full frames at the end of the stream is required. Encoders
actually create such files.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-20 19:46:25 +02:00
Diego Biurrun
103391ca90 dca: Remove some commented-out cruft 2014-09-20 13:49:52 +02:00
Pascal Massimino
7ac6b8cfa7 avfilter/idet: typo fix: PROGRSSIVE -> PROGRESSIVE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-20 12:09:14 +02:00
James Almer
33c752be51 x86/me_cmp: port mmxext vsad functions to yasm
Also add mmxext versions of vsad8 and vsad_intra8, and sse2 versions of
vsad16 and vsad_intra16.
Since vsad8 and vsad16 are not bitexact, they are accordingly marked as
approximate.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-19 20:50:20 -03:00
Michael Niedermayer
5c073bbb57 avcodec/dvdsubdec: fix VD/SD identifier name
Found-by: Nicholas Robbins <nickrobbins-at-yahoo.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-19 23:47:20 +02:00
Daniel Bomar
af1818276e avformat/os_support: Add _DEFAULT_SOURCE to hide warning about _SVID_SOURCE depreciation
As suggested, this just adds _DEFAULT_SOURCE while preserving
_SVID_SOURCE for whatever old systems still need it.

Signed-off-by: Daniel Bomar <dbdaniel42@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-19 22:32:05 +02:00
Michael Niedermayer
adaa274fa8 tests/utils: make arguments const that arent changed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-19 20:25:30 +02:00
James Almer
6edd6a4f00 avcodec/dv_profile: deprecate internal function that shouldn't be public
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-19 14:32:38 -03:00
Michael Niedermayer
5ccd08d26d postproc/postprocess: Avoid some ifs in do_a_deblock_C()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-19 17:00:15 +02:00
Pascal Massimino
4fd21d58a7 libavcodec/webp: treat out-of-bound palette index as translucent black
See https://code.google.com/p/webp/issues/detail?id=206
for a description of the problem/fix.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

This patch makes the decoder follow the recommendation of the spec.
There is some disagreement (see "[FFmpeg-devel] [PATCH]: libavcodec/webp")
about what would be best to be written in the spec, so in case the spec
is changed again, this potentially would need to be amended or reverted
2014-09-19 16:33:05 +02:00
Gianluigi Tiesi
59af5383c1 avcodec/libilbc: support for latest git of libilbc
in the latest git commits of libilbc developers removed WebRtc_xxx typedefs

This commit uses int types instead,
it's safe to apply also for previous versions since
WebRtc_Word16 was always a typedef of int16_t and
WebRtc_UWord16 a typedef of uint16_t

Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-19 09:29:07 +02:00
Michael Niedermayer
7f8d28f686 postproc: Replace CLIP by av_clip_uint8
drop "#define CLIP av_clip_uint8"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-19 02:52:52 +02:00
Michael Niedermayer
5a9ca68e15 postproc/postprocess: remove redundant casts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 21:11:37 +02:00
Michael Niedermayer
859d7d4640 postproc/postprocess: Use FF_ARRAY_ELEMS() in pp_free_context() instead of hard-coding their size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 21:10:18 +02:00
Michael Niedermayer
d9b141c05f postproc/postprocess: Remove unused argument from reallocAlign()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 21:08:44 +02:00
Michael Niedermayer
27f936eca8 Merge branch 'postprocwork'
* postprocwork:
  postproc/postprocess: use av_strtok()
  postprocess: make some variables in pp_get_mode_by_name_and_quality() const
  postproc: simplify forwarding return codes
  libpostproc/postprocess: avoid some if()
  fate: add fate-filter-pp1

This is merged instead of just fast forward pushed due to a bug in the git hook
which does not allow commits to change filter-video.mak except merge commits.
filter-video.mak contains a few tabs, which are needed due to Makefile syntax

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 14:46:50 +02:00
Michael Niedermayer
9e8be46252 postproc/postprocess: use av_strtok()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 14:43:43 +02:00
Michael Niedermayer
921caf6203 postprocess: make some variables in pp_get_mode_by_name_and_quality() const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 14:43:43 +02:00
Michael Niedermayer
44dabf1f42 postproc: simplify forwarding return codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 14:43:43 +02:00
Michael Niedermayer
9f9ebe631d libpostproc/postprocess: avoid some if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 14:43:43 +02:00
Michael Niedermayer
074eef56ef fate: add fate-filter-pp1
This tests a few more filters with forced quantizers

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 14:43:43 +02:00
James Almer
77f9a81cca x86/me_cmp: combine sad functions into a single macro
No point in having the sad8 functions separate now that the loop is no
longer unrolled.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-17 23:52:36 -03:00
Michael Niedermayer
986f63d17f Merge commit '2bb2c2bd75e5f4b28a945511cda77e0a1a44c758'
* commit '2bb2c2bd75e5f4b28a945511cda77e0a1a44c758':
  rtpenc_chain: Pass the initial time_base hint on to the chained muxer

See: [FFmpeg-devel] [PATCH] avformat/rtpenc_chain: Set timebase
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 02:14:53 +02:00
Michael Niedermayer
343643fdca Merge commit '3f2c70355ab722bc9f741bd3ed8224c7cfb62379'
* commit '3f2c70355ab722bc9f741bd3ed8224c7cfb62379':
  configure: Use the right variables in check_host_cpp

See: 453944cc77
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 01:43:13 +02:00
Andreas Cadhalpun
739f179dd6 vf_deshake: rename Transform.vector to Transform.vec to avoid compiler confusion
The token 'vector' is a keyword in the Vector/SIMD Multimedia Extension data types and thus should not be used as a variable name.

This fixes building on powerpc/ppc64el.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 00:48:15 +02:00
Vitor Sessak
55d11d277b swscale/x86: do not expect registers to be preserved across inline ASM blocks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 00:03:29 +02:00
Michael Niedermayer
41d82b85ab avcodec/x86/vp9lpf: Always include x86util.asm
Fixes executable stack

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-17 23:37:46 +02:00
Martin Storsjö
2bb2c2bd75 rtpenc_chain: Pass the initial time_base hint on to the chained muxer
In practice this hint is ignored - the rtp muxer always overwrites
the stream time base without taking the hint into account. But as
a general practice this is the correct way to pass a time base hint
on to a chained muxer.

This avoids warnings about using the codec time base as hint
being deprecated.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-09-17 22:53:27 +03:00
Jörg Krause
3f2c70355a configure: Use the right variables in check_host_cpp
HOSTCPPFLAGS and HOSTCFLAGS are only set in config.mak.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-09-17 22:53:26 +03:00
Michael Niedermayer
8c71de762b Merge commit 'c5560e72d0bb69f8a1ac9536570398f84388f396'
* commit 'c5560e72d0bb69f8a1ac9536570398f84388f396':
  apetag: Fix APE tag size check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-17 20:42:26 +02:00
Michael Niedermayer
43633c5388 fate: disable fate-ra4-288, the code uses floats and does not produce the same results on different platforms
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-17 20:27:24 +02:00
Michael Niedermayer
a4cefc25ed Merge commit '44caf99ecae7bc1b907fab849ecaa72dd340ba2e'
* commit '44caf99ecae7bc1b907fab849ecaa72dd340ba2e':
  fate: Add tests for RealAudio 1.0 (14.4) and RealAudio 2.0 (with 28.8)

Conflicts:
	tests/fate/real.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-17 20:26:44 +02:00
James Almer
fffc9a077d avfilter: remove obsolete FF_API_FILL_FRAME cruft
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-17 15:23:26 -03:00
Michael Niedermayer
9ac08d93b2 Merge commit '2dd09ebf5597fd5e4a573bee9cccf21ae821f286'
* commit '2dd09ebf5597fd5e4a573bee9cccf21ae821f286':
  cmdutils: Print a more sensible message in show_filters() w/o libavfilter

Conflicts:
	cmdutils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-17 19:59:10 +02:00
Katerina Barone-Adesi
c5560e72d0 apetag: Fix APE tag size check
The size variable is (correctly) unsigned, but is passed to several functions
which take signed parameters, such as avio_read, sometimes after having
numbers added to it. So ensure that size remains within the bounds that
these functions can handle.

CC: libav-stable@libav.org
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-17 06:37:05 -07:00
Katerina Barone-Adesi
44caf99eca fate: Add tests for RealAudio 1.0 (14.4) and RealAudio 2.0 (with 28.8)
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-17 05:16:08 -07:00
Michael Niedermayer
85f2c0124d avcodec/x86/me_cmp: fix sad8xh
This adds back support for 8x4 and 8x16
it does not support 8x2, i think nothing uses that

Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-17 14:08:24 +02:00
James Almer
0456d169c4 x86/me_cmp: port mmxext and sse2 sad functions to yasm
Also add a missing c->pix_abs[0][0] initialization, and sse2 versions of
sad16_x2, sad16_y2 and sad16_xy2 (%15 to %20 faster than mmxext).
Since the _xy2 versions are not bitexact, they are accordingly marked as
approximate.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-17 11:12:50 +02:00
Paul B Mahol
f1a8943ddd doc/filters: remove aconvert
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-09-17 07:55:56 +00:00
James Almer
d1c49bcae9 avfilter: remove obsolete FF_API_ACONVERT_FILTER cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-17 07:43:03 +00:00
Michael Niedermayer
9ffa705edd ffplay: try to fix build failure on apple
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-17 04:43:51 +02:00
Michael Niedermayer
22a20dbb7a Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: use frame queue to determine last used pos
  ffplay: factorize frame queue operations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-17 03:23:19 +02:00
Michael Niedermayer
3c020b6959 avformat/avienc: Dont search for startcodes in inserted empty avi frames
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-17 00:39:09 +02:00
Lou Logan
9c9aec33c0 doc/filters: add geq gradient examples
Radial gradient by Víctor Paesa. Linear gradient by Paul Gentemann.

Also-by: Víctor Paesa <victorpaesa@googlemail.com>
Also-by: Paul Gentemann <beriukay@gmail.com>
Signed-off-by: Lou Logan <lou@lrcd.com>
2014-09-16 14:06:38 -08:00
Michael Niedermayer
474d858fd9 Revert "avformat/rtpproto: fix strict aliasing violations with sockaddr"
It appears this breaks build with MSVC
until someone who has MSVC setup has time to investigate and
workaround/fix this, its better to revert so that build is not broken
Thats even more so as the original commit only fixed a hypothetical issue

This reverts commit e587a428d7.
2014-09-16 23:43:13 +02:00
Marton Balint
164376483f ffplay: use frame queue to determine last used pos
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-09-16 22:22:09 +02:00
Marton Balint
5a5128bab9 ffplay: factorize frame queue operations
Create a generic frame and a frame queue struct to handle video picture queues
and subtitle picture queues with common code. Also add the possibility to queue
AVFrames, however at the moment we only use SDL_Overlay buffers for video and
AVSubtitles for subtitles.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-09-16 22:22:09 +02:00
Clément Bœsch
4b58349bc8 avfilter/ass: add shaping option
The documentation is mostly based on ass.h public header.
2014-09-16 21:23:33 +02:00
Clément Bœsch
8a9c5db29e avfilter/ass: better log level mapping 2014-09-16 21:23:33 +02:00
Clément Bœsch
a87527ad67 avfilter/ass: make sure the log level are in available range 2014-09-16 21:23:33 +02:00
Michael Niedermayer
7d43fbe3ae Merge commit '45ff7c93dd84a254cc96acc589e5ac3d7bd16bce'
* commit '45ff7c93dd84a254cc96acc589e5ac3d7bd16bce':
  dca: K&R formatting cosmetics

Conflicts:
	libavcodec/dca_parser.c
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-16 20:31:02 +02:00
Michael Niedermayer
9bf260b2d2 Merge commit '9030c58a780a02fb8256cb75cd39275eaad786d1'
* commit '9030c58a780a02fb8256cb75cd39275eaad786d1':
  configure: Disable i686 for i586 and lower CPUs

See: cdb3eee7c4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-16 20:08:21 +02:00
Diego Biurrun
2dd09ebf55 cmdutils: Print a more sensible message in show_filters() w/o libavfilter
Also avoid an unused variable warning for compilers w/o av_unused support.
2014-09-16 09:37:14 -07:00
Michael Niedermayer
a07b0ffdc3 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Add a closing LF to Webm-manifest files.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-16 18:28:37 +02:00
Michael Niedermayer
4a99134f1a tools/crypto_bench: fix build when AV_READ_TIME is unavailable
Found-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-16 18:25:43 +02:00
Carl Eugen Hoyos
7c3ba1b83a Add a closing LF to Webm-manifest files.
Fixes fate-webm-dash-manifest on AIX.

Reviewed-by: Nicolas George
2014-09-16 17:24:56 +02:00
Clément Bœsch
d469aa8cfa sws: use av_clip() instead of av_clip_c() 2014-09-16 16:57:20 +02:00
Clément Bœsch
de0e49c245 avformat/flacenc: use av_clip() instead of av_clip_c() 2014-09-16 16:57:20 +02:00
Steven Liu
2c21e8b1a4 lavf/hls: add hls_ts_option
Same as COMMITID 4f5493fe23.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2014-09-16 16:30:03 +02:00
Stefano Sabatini
3a0c70f1e3 doc/examples/transcoding: use av_packet_rescale_ts()
Simplify.
2014-09-16 14:55:33 +02:00
Gabriel Dume
45ff7c93dd dca: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-16 04:42:32 -07:00
Mikulas Patocka
9030c58a78 configure: Disable i686 for i586 and lower CPUs 2014-09-16 03:48:13 -07:00
Michael Niedermayer
5ddfac81c4 Merge commit '2d589273dd36c5eb271a035ea0e669b64dae257f'
* commit '2d589273dd36c5eb271a035ea0e669b64dae257f':
  configure: Split adding of CFLAGS and CPPFLAGS for hardened toolchain

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-16 11:58:40 +02:00
Diego Biurrun
2d589273dd configure: Split adding of CFLAGS and CPPFLAGS for hardened toolchain 2014-09-16 00:18:53 -07:00
Michael Niedermayer
688a40b4ed avcodec/h264_sei: ff_h264_decode_sei: dont try to parse trailing zeroes
reduces noise for tserrors.ts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-16 04:07:22 +02:00
Michael Niedermayer
aaeae281a8 avformat/mpegtsenc: More verbose warning messages in case of missing video ES startcodes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-16 03:56:37 +02:00
Michael Niedermayer
b76d6132e3 avformat/network: move sockaddr_union after sockaddr_storage compatibility code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-16 01:19:53 +02:00
Clément Bœsch
864d124bb7 build: simplify libwebp check
Tested (compilation and runtime) with libwebp 0.2.0, 0.2.1 and 0.4.1.
2014-09-15 23:54:34 +02:00
Michael Niedermayer
2156161056 Merge commit '00431bf874e1044b01e09a2266ef85d4ff8d44cc'
* commit '00431bf874e1044b01e09a2266ef85d4ff8d44cc':
  ismindex: handle time discontinuities and nonzero start time

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-15 22:39:31 +02:00
Mika Raento
f685f7d7a8 hlsenc: single_file, support HLS ver 4 byteranges
This adds a new option -hls_flags single_file that creates one .ts file
for HLS and adds byteranges to the .m3u8 file, instead of creating one
.ts file for each segment.

This is helpful at least for storing large number of videos, as the
number of files per video is drastically reduced and copying and storing
those files takes less requests and inodes.

This is based on work by Nicolas Martyanoff, discussed on ffmpeg-devel
in July 2014. That patch seems abandoned by the author, and contained
unrelated changes. This patch tries to add the minimum amount of code to
support the byterange playlists.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-15 22:16:44 +02:00
James Almer
ad1dadac86 avfilter: remove obsolete FF_API_BUFFERSRC_BUFFER cruft
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-15 15:54:06 -03:00
James Almer
95a064f530 avutil: remove obsolete FF_API_OLD_OPENCL cruft
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-15 15:50:17 -03:00
James Almer
af7d260626 avutil: remove obsolete FF_API_LLS1 cruft
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-15 15:50:10 -03:00
Mika Raento
00431bf874 ismindex: handle time discontinuities and nonzero start time
The input file may not have consistent start times, stream durations and
chunk durations. This patch at least removes negative durations that
make chromecast unhappy, and correctly sets starting time on chunks so
that the split (or .ismf) outputs match the manifest.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-09-15 19:54:36 +03:00
James Almer
4ae6bcc025 RELEASE: update to 2.4.git
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-15 13:11:10 -03:00
Michael Niedermayer
e587a428d7 avformat/rtpproto: fix strict aliasing violations with sockaddr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-15 13:31:00 +02:00
Michael Niedermayer
8c1dc1f6ed avformat/network: add union for avoiding strict aliassing violations with sockaddr*
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-15 13:31:00 +02:00
James Almer
91459bd320 avcodec: remove obsolete FF_API_DSPUTIL cruft
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-14 22:13:05 -03:00
Michael Niedermayer
6beea6f017 avcodec/tiff: fix odd dimensioned yuv
Fixes Ticket3893

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-15 01:38:02 +02:00
Deb Mukherjee
04b0dda853 avcodec/libvpxdec: Adds decode support for formats other than 420
Handles decoding of new VP9 profiles 1-3 with different color sampling
and bit-depths.

For high bitdepth (profiles 2 and 3) support, we currently need to link
with the highbitdepth branch of libvpx with --enable-experimental
and --enable-vp9-high config options on. But eventually this branch will
be merged into master, whereafter to enable high bitdepth
support you will need to link with libvpx with configure option
--enable-vp9-highbitdepth on.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-14 20:27:28 +02:00
Clément Bœsch
b24d74e44a avcodec/microdvddec: indent fix 2014-09-14 20:00:11 +02:00
Clément Bœsch
fcfa3ebed1 avcodec/utils: remove avcodec_ prefix for internal symbol 2014-09-14 19:07:09 +02:00
Michael Niedermayer
b227be34db avcodec/mjpegenc: the AMV encoder doesnt support yuv422
Fixes Ticket3883

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-14 17:09:38 +02:00
Michael Niedermayer
808db3e687 Changelog: add 2.4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-14 16:47:26 +02:00
Michael Niedermayer
68bca03951 doc/examples: remove unneeded NULL checks
dst_file cannot be NULL

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-14 16:45:50 +02:00
Michael Niedermayer
da2186be81 MAINTAINERS: Add 2.4 to maintained releases, drop 2.3
2.2 is used by 4 distributions, 2.3 by none, thus continuing maintaining
2.2 makes more sense than 2.3 see:
https://trac.ffmpeg.org/wiki/Downstreams

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-14 16:00:00 +02:00
Clément Bœsch
5eef7042d8 Changelog/RELEASE_NOTES: prepare for 2.4 2014-09-14 13:41:49 +02:00
Michael Niedermayer
fa1b563196 doc/APIchanges: Update hashes and dates
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-14 12:45:36 +02:00
Clément Bœsch
b97e27082b doc/APIchanges: attempt to split releases
Based on several git show origin/release/X.Y:doc/APIchanges.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-14 12:44:06 +02:00
Andreas Cadhalpun
365b9cf624 doc: mention important API changes in the RELEASE_NOTES
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-14 03:09:35 +02:00
Reynaldo H. Verdejo Pinochet
2638af2fc5 ffserver: drop custom skip_spaces() impl
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-09-13 21:01:01 -03:00
Reynaldo H. Verdejo Pinochet
4c8be331bc ffserver: use correct error for stream not found
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-09-13 21:01:01 -03:00
Andreas Cadhalpun
8f537420ae doc: mention in APIChanges that AVProbeData must be initialized due to the new mime_type field
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-14 01:13:25 +02:00
Michael Niedermayer
5312fb13b4 RELEASE_NOTES: add version numbers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-14 00:14:58 +02:00
Michael Niedermayer
c2a7607a1c RELEASE_NOTES: Add next versions name (Fresnel)
The name is "randomly" picked from previous suggestions
If people prefer something else, suggest it quickly

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-13 23:51:00 +02:00
Michael Niedermayer
36ea35bbc0 avformat/utils: free s->pb for image2 as it can be used with and without a file
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-13 23:25:17 +02:00
Clément Bœsch
89d42da5c6 avformat/assenc: honor ReadOrder 2014-09-13 23:02:51 +02:00
Michael Niedermayer
52c85b194b avdevice/lavfi: dont assign variables to themselfs
Fixes "warning: explicitly assigning a variable of type int to itself"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-13 22:32:21 +02:00
Michael Niedermayer
8407cbbfc9 Fix "passing argument 1 of av_free discards const qualifier from pointer target type"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-13 22:32:20 +02:00
Michael Niedermayer
296cd9c432 avformat/mpegts: Improve probe heuristic by considering the overall frequency of 0x47 headers
Fixes Ticket3939

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-13 22:08:21 +02:00
Clément Bœsch
b96d864fd6 avcodec/mjpegdec: Fix chroma width rounding
Fixes vertical line at the right side
Fixes Ticket 3929

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-13 20:25:27 +02:00
Michael Niedermayer
ceb2fe027f avcodec/bmp_parser: delay frame end detection to the next header or EOF
Fixes Ticket3687

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-13 17:46:18 +02:00
Michael Niedermayer
3c6d824b80 avcodec/bmp_parser: simplify
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-13 17:21:31 +02:00
Michael Niedermayer
b11d1889ef avcodec/bmp_parser: fix parsing a single bmp which has a fsize < its header
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-13 17:10:13 +02:00
Clément Bœsch
d86cf4a91d avformat/vobsub: fix NULL dereference 2014-09-13 15:15:32 +02:00
Michael Niedermayer
8572dbc5db avcodec/ac3en: use FF_ALLOC(Z)_ARRAY()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-13 13:28:38 +02:00
Andreas Cadhalpun
bcac0f4010 lavf/format.c: use AVPROBE_SCORE_MIME instead of AVPROBE_SCORE_EXTENSION for matching mime types
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-13 00:37:35 +02:00
Andreas Cadhalpun
d5e802609a doc: document the addition of the AVProbeData.mime_type field and it's implications
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-13 00:36:14 +02:00
Mikulas Patocka
cdb3eee7c4 configure: Fix miscompilation for i586
If the CPU is 386, 486 or pentium, we must not use cmov in inline
assembler.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-12 22:57:31 +02:00
Michael Niedermayer
b3fd2b175c avformat/img2dec: Fail probing when no data is yet available and the filename contains no number/glob patterns either.
Fixes Ticket3901

the seek test error codes change due to a change in the failure path,
this could be avoided by changing the respective error codes to EINVAL

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-12 19:01:44 +02:00
Michael Niedermayer
917d14e6a2 avformat/format: Run image2 probe again when file content data is available
Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-12 18:20:38 +02:00
Michael Niedermayer
321c3cd1a9 avformat/img2dec: reduce bmppipe probe score
bmp pipe needs the bmp parser which is not bug free and should thus not be favored
over the bmp image2 demuxer
that also means this change could be reverted in case bmp pipe is improved so it
handles all single bmp images correctly

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-12 18:19:11 +02:00
James Darnley
e3fb2b0eb7 docs: add example around the suggested commit message format
It gets rendered inline in HTML and becomes not very clear.

Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-12 01:59:44 +02:00
Jörg Krause
453944cc77 configure: fix check_cmd in check_host_cpp
Use correct cpp and c flags variables for the host libc.

Signed-off-by: Jörg Krause <jkrause@posteo.de>
Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-11 18:42:23 +02:00
Rong Yan
8e8db16a2c avutil/ppc/float_dsp_altivec: ppc: Fix bug in ff_vector_fmul_add_altivec() affecting little endian environments on POWER8
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-11 18:36:34 +02:00
Michael Niedermayer
4a203b7737 avcodec/png_parser: Return the buffered data at the end
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-11 16:47:01 +02:00
Michael Niedermayer
a6153bde3d avcodec/pngdec: print the actual number of bytes left in the error case
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-11 16:47:01 +02:00
Michael Niedermayer
de4a4ca1a0 avformat/img2_alias_pix: Add AVClass and image2 AVOptions
This fixes the default timebase and allows overriding the framerate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-11 15:34:13 +02:00
Michael Niedermayer
8b4714614f avformat/img2_alias & brender_pix: fix function names
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-11 15:16:24 +02:00
Michael Niedermayer
646d663f71 avformat/img2_brender_pix: Add AVClass and image2 AVOptions
This fixes the default timebase and allows overriding the framerate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-11 15:10:59 +02:00
Michael Niedermayer
5303a644f5 avformat/img2: Make AVOptions available to img* demuxers defined in other files
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-11 15:10:15 +02:00
Michael Niedermayer
ea7ebadeb7 avformat/rmdec: very basic MLTI support
Fixes Ticket2152

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-11 14:13:03 +02:00
Michael Niedermayer
16de4d927e ffmpeg: Do av_buffersink_set_frame_size() when reconfiguring the filtergraph not just when changing audio resample parameters
Fixes Ticket3562

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-11 04:55:58 +02:00
Michael Niedermayer
5e3da25618 Merge commit '775a0b04f0cf8102fe322b2ee03fe1a0633dea04'
* commit '775a0b04f0cf8102fe322b2ee03fe1a0633dea04':
  doc: Fix syntax and logical errors in avconv stream combination example

Conflicts:
	doc/ffmpeg.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-11 01:27:38 +02:00
Michael Niedermayer
3e56ae67d3 avcodec/h264: Use FF_ALLOCZ_ARRAY_OR_GOTO()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-10 22:37:35 +02:00
Michael Niedermayer
7258b5eb65 avcodec/dnxhdenc: Use FF_ALLOCZ_ARRAY_OR_GOTO()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-10 22:37:35 +02:00
Michael Niedermayer
743d489c9a avcodec/mpegvideo: Use FF_ALLOCZ_ARRAY_OR_GOTO()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-10 20:50:32 +02:00
Michael Niedermayer
6f48c60956 avcodec/twinvq: Use FF_ALLOC_ARRAY_OR_GOTO()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-10 20:44:19 +02:00
Diego Biurrun
775a0b04f0 doc: Fix syntax and logical errors in avconv stream combination example
Bug-Id: 661
CC: libav-stable@libav.org
2014-09-10 20:30:36 +02:00
Michael Niedermayer
c4a0c64f14 avcodec/aacenc: Use FF_ALLOCZ_ARRAY_OR_GOTO()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-10 15:18:29 +02:00
Michael Niedermayer
7fe59eeaaf avcodec/ac3enc_template: Use FF_ALLOC_ARRAY_OR_GOTO()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-10 15:18:29 +02:00
Michael Niedermayer
8b7a39d7ea avcodec/adpcmenc: Use FF_ALLOC_ARRAY_OR_GOTO()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-10 15:18:29 +02:00
Michael Niedermayer
3294fc8c47 avformat/concatdec: fix "warning: explicitly assigning a variable of type int to itself"
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-10 11:48:39 +02:00
Michael Niedermayer
1b5ccae0f2 avformat/mp3dec: Improve seeking frame sync code
Fixes Ticket3884

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-10 02:32:41 +02:00
Pascal Massimino
649b7a9946 av_filter/x86/idet: use HADDD where appropriate
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-09 19:02:49 -03:00
Clément Bœsch
c7d8dbad14 avformat: remove FF_API_ASS_SSA dead code 2014-09-09 21:34:23 +02:00
Michael Niedermayer
35a9959aca avcodec/snow: make new_picture const
Fixes "assignment discards const qualifier from pointer target type"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-09 21:02:37 +02:00
Michael Niedermayer
96b069450c Merge commit 'ee0ebd3c1412fdd9d80aa97c98d1a20b893f1f47'
* commit 'ee0ebd3c1412fdd9d80aa97c98d1a20b893f1f47':
  dv: K&R formatting cosmetics

Conflicts:
	libavcodec/dv.c
	libavcodec/dv.h
	libavcodec/dv_profile.c
	libavcodec/dvdec.c
	libavcodec/dvenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-09 19:30:55 +02:00
Michael Niedermayer
5309e7e6aa Merge commit 'f629705b0239c80fddc1b0b15ed4bb9042c77d23'
* commit 'f629705b0239c80fddc1b0b15ed4bb9042c77d23':
  x86inc: Make INIT_CPUFLAGS support an arbitrary number of cpuflags

See: 428aa14a48
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-09 19:10:29 +02:00
Michael Niedermayer
d2f1f2c74f Merge commit 'ec217218c27d53c5b323323e6ef862bcdbcabe5f'
* commit 'ec217218c27d53c5b323323e6ef862bcdbcabe5f':
  x86inc: Free up variable name "n" in global namespace

See: a4dbabc8b3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-09 19:08:32 +02:00
Michael Niedermayer
87120217b5 Merge commit '176a0fca3fd64f91d585f96137388e00d8c101b6'
* commit '176a0fca3fd64f91d585f96137388e00d8c101b6':
  x86inc: Make ym# behave the same way as xm#

See: 720c21d11f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-09 18:59:01 +02:00
Pascal Massimino
e3fd6a3a4e av_filter/x86/idet: MMX/SSE2 implementation of 16bits filter_line()
tested on http://ps-auxw.de/10bit-h264-sample/10bit-eldorado.mkv
MMX: ~30% faster decoding overall
SSE2:~40% faster

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-09 16:47:22 +02:00
Gabriel Dume
ee0ebd3c14 dv: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-09 05:30:28 -07:00
Michael Niedermayer
881f96c4c2 avcodec/rawenc: drop sizeof(AVFrame) dependency
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-09 13:22:33 +02:00
Michael Niedermayer
b63052839a Merge commit '9752d07d33d5370f7819865fbb5e582b982aad06'
* commit '9752d07d33d5370f7819865fbb5e582b982aad06':
  dirac: K&R formatting cosmetics

Conflicts:
	libavcodec/dirac.c
	libavcodec/dirac_parser.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-09 12:12:29 +02:00
Henrik Gramner
f629705b02 x86inc: Make INIT_CPUFLAGS support an arbitrary number of cpuflags
Previously there was a limit of two cpuflags.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-09 02:00:25 -07:00
Loren Merritt
ec217218c2 x86inc: Free up variable name "n" in global namespace
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-09 02:00:19 -07:00
Henrik Gramner
176a0fca3f x86inc: Make ym# behave the same way as xm#
This makes more sense for future implementations of templates with zmm registers.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-09 01:45:14 -07:00
Gabriel Dume
9752d07d33 dirac: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-09 01:39:47 -07:00
Michael Niedermayer
f7bbe0f414 avformat/mpeg: update comment on probe score
Found-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-09 02:51:59 +02:00
Antonio Ospite
69c34a6ac9 avdevice/x11grab: fix cursor drawing in multi-screen setup
The code uses XFixes to retrieve the cursor coordinates, but XFixes
gives no information of what screen the pointer is on; this results in
always drawing the cursor on the captured screen even if the mouse
pointer was on another screen.

For example, when capturing from screen 1 (i.e. -f x11grab -i ":0.1")
the cursor was being drawn in the captured image even when the mouse
pointer was actually on screen 0, which is wrong and visually confusing.

Use XQueryPointer to check that the pointer is actually on the screen
which is being captured.

Signed-off-by: Antonio Ospite <ao2@ao2.it>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-09 02:22:06 +02:00
Antonio Ospite
5a8e51f661 avdevice/x11grab: rename the "w" Window to "root" in paint_mouse_pointer
This specifies better the meaning of the variable, and is also in
preparation of a subsequent change which will introduce a temporary
Window variable for which "w" is an good name.

Signed-off-by: Antonio Ospite <ao2@ao2.it>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-09 02:22:01 +02:00
Michael Niedermayer
02946120fc avfilter/vf_cropdetect: Do not check lines or columns twice on black frames
Idea from patch by: hjiodjf 97xgw46 <jfbvxt@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-09 02:06:17 +02:00
Michael Niedermayer
5109ce2017 avformat/mpeg: increase score for short mpeg-ps by 1
Fixes Ticket 3855

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-09 01:10:55 +02:00
Michael Niedermayer
6daff3bd8f Merge commit '1ec335513f95bf2441f81d761ea127325ecd81a0'
* commit '1ec335513f95bf2441f81d761ea127325ecd81a0':
  time: Add missing zero

Conflicts:
	libavutil/time.c

See: ebef9f5a56

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-08 22:14:32 +02:00
Gabriel Dume
1ec335513f time: Add missing zero
Leftover of 56d7df91e010a177a80cfc8dbe394305

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-09-08 21:46:12 +02:00
Michael Niedermayer
1360db7e88 avcodec/mpeg4videodec: fix 'libavcodec/mpeg4videodec.c:2762:22: warning: unused variable mpeg4_vdpau_class [-Wunused-const-variable]'
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-08 21:31:47 +02:00
Michael Niedermayer
a67b6c9541 avcodec/cabac_functions: fix "warning: UNCHECKED_BITSTREAM_READER is not defined, evaluates to 0"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-08 21:06:47 +02:00
Michael Niedermayer
baee313aa9 avcodec/diracdec: Fix "warning: comparison of constant 4 with expression of type enum dirac_subband is always true [-Wtautological-constant-out-of-range-compare]"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-08 20:47:47 +02:00
Carl Eugen Hoyos
552ce6874c Revert the default for ffplay to -noautoexit.
Reviewed-by: Marton Balint
2014-09-08 17:51:12 +02:00
Carl Eugen Hoyos
42b4da75b7 Print bits_per_raw_sample for ffprobe -show_streams.
Fixes ticket #3919.
2014-09-08 17:49:20 +02:00
Carl Eugen Hoyos
2b1f6a3516 Print the actual bit depth for audio if it is different from the sample_fmt bit depth.
This is already done for video.
2014-09-08 17:49:11 +02:00
Michael Niedermayer
5a6dd925cb avcodec/ac3dec_fixed: remove unused arrays
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-08 16:59:16 +02:00
Michael Niedermayer
951f6fa3f3 avformat/rtpdec_qt: Fix 'warning: passing argument 2 of ffio_init_context discards const qualifier from pointer target type'
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-08 16:56:19 +02:00
Stefano Sabatini
24db666d15 MAINTAINERS: add myself as segment maintainer 2014-09-08 15:23:04 +02:00
Stefano Sabatini
f51de9cac2 lavf/segment: abort in case of invalid segment format options 2014-09-08 15:22:55 +02:00
Hendrik Leppkes
e9c08e32d6 avformat/utils: Exclude the header size when computing duration from bit_rate
This improves the estimate for MP3s with cover art tags.

Fixes Ticket2931

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-08 05:22:05 +02:00
Michael Niedermayer
f044fc0372 Merge commit '1274ea8dbaec44355bde07f6bb31fec0c4e6fd2d'
* commit '1274ea8dbaec44355bde07f6bb31fec0c4e6fd2d':
  Split off floating point AAN (I)DCT into separate components

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/dct-test.c
	libavcodec/idctdsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-08 00:54:55 +02:00
Michael Niedermayer
1a59a28838 Merge commit 'fcf597625c7a991ca389f3a9b8ff4f5e383301c0'
* commit 'fcf597625c7a991ca389f3a9b8ff4f5e383301c0':
  ismindex: Avoid writing ismf files if no base name has been specified

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-08 00:45:33 +02:00
Michael Niedermayer
aecd064744 Merge commit '803e82276b3716bf6012ec69e8854dae14a4fd2b'
* commit '803e82276b3716bf6012ec69e8854dae14a4fd2b':
  libavformat: Check mkdir return error codes

Conflicts:
	libavformat/hdsenc.c
	libavformat/smoothstreamingenc.c

See: c89f8f80cc
See: a3886ea3c5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-08 00:39:26 +02:00
Reynaldo H. Verdejo Pinochet
5e7524195c ffserver: tests, force +global_header for ASF
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-09-07 18:01:43 -03:00
Diego Biurrun
1274ea8dba Split off floating point AAN (I)DCT into separate components 2014-09-07 13:36:26 -07:00
Martin Storsjö
fcf597625c ismindex: Avoid writing ismf files if no base name has been specified
Previously, this could create files named "(null).ismf", if the -ismf
parameter is specified (before an input file name), but without
specifying any base name.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-09-07 23:20:30 +03:00
Martin Storsjö
803e82276b libavformat: Check mkdir return error codes
Previously, the returned error codes were intentionally ignored
(see fadd3a6821), to avoid aborting if the directory already
existed. If the mkdir actually failed, this was caught when
opening files within the directory fails anyway.

By handling the error code here (but explicitly ignoring EEXIST),
the error messages and return codes in these cases are more
appropriate and less confusing.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-09-07 23:20:29 +03:00
Andreas Cadhalpun
a5b20bf4b2 doc/filters.texi: improve the wording of the expr_int_format documentation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-07 18:29:06 +02:00
Michael Niedermayer
7c1835c52a avformat/m4vdec: Check for non startcode 00 00 00 sequences in probe
Fixes miss detection of PCM as m4v
Fixes Ticket 3928

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-07 16:39:39 +02:00
Michael Niedermayer
cfce6f7efd avcodec/mpegvideo: Set err on failure in ff_mpv_common_frame_size_change()
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-07 14:26:19 +02:00
Michael Niedermayer
0d0f7f0ba4 avcodec/mpegvideo: check that the context is initialized in ff_mpv_common_frame_size_change()
The function otherwise would initialize the context without setting context_initialized
alternatively we could set context_initialized

Fixes valgrind anomalies related to ticket 3928

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-07 13:26:22 +02:00
Michael Niedermayer
2762323c37 avcodec/mpegvideo: Use "goto fail" for all error paths in ff_mpv_common_frame_size_change()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-07 13:26:22 +02:00
Michael Niedermayer
94c61cd9ae avcodec/mpegvideo: free_context_frame() cannot fail, make it return void
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-07 13:26:22 +02:00
Stefano Sabatini
de1f0c94cd doc/muxers/segment: reword text for examples, improve consistency 2014-09-07 13:17:46 +02:00
Stefano Sabatini
4f5493fe23 lavf/segment: add segment_format_options option 2014-09-07 13:17:46 +02:00
Reimar Döffinger
2c5c37ade1 libswresample: move condition to start of loop.
This avoids several issue like calculating sum/maxcoef
incorrectly due to adding up matrix entries that will
be overwritten, as well as out-of-range writes to
s->matrix if the maximum allowed number of channels is used.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-09-07 11:31:34 +02:00
Reimar Döffinger
284123d7fd Remove pointless if.
A branch to avoid some calculation seems unlikely to have any benefits.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-09-07 11:31:33 +02:00
Reimar Döffinger
2231d5b671 libswresample: Avoid needlessly large on-stack array.
We only actually need to use a tiny part of it.
Unfortunately we seem to have no real test coverage on
the code, so this is a bit risky.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-09-07 11:31:33 +02:00
Michael Niedermayer
ab84effded ffmpeg: Copy extradata if it has been initialized later from the encoder
Fixes Ticket3909

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-07 03:13:44 +02:00
Michael Niedermayer
033a5334ba avcodec/h264: Allow partial escaping
Fixes Ticket3923

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-07 01:58:18 +02:00
Michael Niedermayer
c2430304df avformat/swfdec: Do not change the pixel format
This is currently not supported
Fixes part of Ticket 3539

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-07 00:39:52 +02:00
Michael Niedermayer
1b2390e2bc avfilter/af_silenceremove: remove dead code
Fixes CID1237284

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-06 21:36:56 +02:00
Michael Niedermayer
cbb277988a avcodec/hevc_ps: Always initialize backup in decode_vui()
Fixes CID1237283

Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-06 21:36:56 +02:00
Clément Bœsch
d8f08047dc RELEASE_NOTES: mention the ffplay -autoexit behaviour change 2014-09-06 21:28:53 +02:00
Reimar Döffinger
3dbf569032 huffyuvdec: avoid large stack use.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-09-06 21:01:09 +02:00
Reimar Döffinger
092d1977cc cabac: Allow hardcoding CABAC table.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-09-06 20:59:20 +02:00
Reimar Döffinger
0f1281b2b8 cabac: initialize all of ff_h264_cabac_tables programmatically.
Moves it from .data to .bss, slightly reducing binary size.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-09-06 20:59:20 +02:00
Reimar Döffinger
87c7fb2b21 aacsbr: support hardcoding tables.
For sbr_qmf_window_us there is even a question if it maybe
should be fully hardcoded all the time.
Since half of it is coded, it ends up in .data and not .bss.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-09-06 20:59:20 +02:00
Mickaël Raulet
684d0a0b23 avcodec/hevc: fix dead code
fix CID 1231985

cherry picked from commit 745a35a777eaa5f77b8660b44098110a29916aae
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-06 20:36:27 +02:00
Michael Niedermayer
5732b21884 ffplay: make autoexit the default
See: f9bc65e399
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-06 20:24:59 +02:00
Michael Niedermayer
f9bc65e399 Merge commit '041caf1a63f091745b95a6d51c23fbdcb604d4ce'
* commit '041caf1a63f091745b95a6d51c23fbdcb604d4ce':
  avplay: Exit by default at the end of playback

Conflicts:
	Changelog
	ffplay.c

Changes to ffplay not merged as they would break -autoexit as a way to override -noautoexit,
the change of the default will be implemented in the next commit

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-06 20:23:29 +02:00
Andreas Cadhalpun
b76d6eb3bd avformat/mpegts: fix spelling error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-06 19:38:37 +02:00
Diego Biurrun
041caf1a63 avplay: Exit by default at the end of playback
This is the expected behavior shared by all other cli multimedia players.

Bug-Id: 732
2014-09-06 16:52:59 +02:00
Clément Bœsch
b2c0b80f62 avfilter/ebur128: rework channel weighting definition code
Should fix CID1194399 (Bad bit shift operation)
2014-09-06 13:47:59 +02:00
Michael Niedermayer
1654ca7d4e avcodec/mjpegdec: fix rounding of chroma_height
Fixes green line at the bottom
Fixes Ticket3913

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-06 03:13:57 +02:00
db0company
c701178900 doc: Copyright in CSS, CSS split in 2 files
Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-06 01:37:31 +02:00
Giorgio Vazzana
d7e088849e lavd/v4l2: introduce enqueue_buffer()
Additionally, make sure a buffer gets enqueued again (even in error paths) after
it has been succesfully dequeued.

Tested-by: Dmitry Volyntsev <xeioexception@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-06 00:05:59 +02:00
wm4
c368538667 avformat/srtdec: speed up probing 2014-09-05 23:13:08 +02:00
wm4
b7f641dc9b avformat/realtextdec: UTF-16 support
Also remove ff_smil_extract_next_chunk - this was the last user of it.
2014-09-05 23:13:07 +02:00
wm4
231a514dd3 avformat/samidec: UTF-16 support
ff_smil_extract_next_chunk() is still used by RealText.
2014-09-05 23:13:07 +02:00
wm4
d658ef18e3 avformat/srtdec: UTF-16 support 2014-09-05 23:13:07 +02:00
wm4
3e8426170c avformat/assdec: UTF-16 support
Use the UTF-16 BOM to detect UTF-16 encoding. Convert the file contents
to UTF-8 on the fly using FFTextReader, which acts as converting wrapper
around AVIOContext. It also can work on a static buffer, needed for
format probing. The FFTextReader wrapper now also takes care of skipping
the UTF-8 BOM.

Fix Ticket #3496.
2014-09-05 23:13:07 +02:00
Michael Niedermayer
dcb29d37d4 avcodec/mpegvideo: set codec tags in ff_mpv_decode_init()
Fixes Ticket3912

Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-05 20:48:23 +02:00
Michael Niedermayer
4dee4a4470 avcodec/mpegvideo: Factor ff_mpv_decode_init() out
Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-05 20:48:06 +02:00
Giorgio Vazzana
0b890425e3 lavd/v4l2: simplify list_formats()
We can avoid passing file descriptor fd explicitely.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-05 20:25:58 +02:00
Michael Niedermayer
0a7239ae25 Merge commit '2143948381c8118bdc2f50bd4079520b9885bd54'
* commit '2143948381c8118bdc2f50bd4079520b9885bd54':
  Drop unnecessary av_unused attributes.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-05 20:21:47 +02:00
Paul B Mahol
7bd0079e9e MAINTAINERS: fix typo
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-09-05 17:32:41 +00:00
Paul B Mahol
422619646e add silenceremove filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-09-05 17:30:57 +00:00
Michael Niedermayer
1e4e760f76 Merge commit '213e606752d16f51337e94431962fb5d7749c07e'
* commit '213e606752d16f51337e94431962fb5d7749c07e':
  Replace av_unused attributes by block structures

Conflicts:
	libavcodec/h264_loopfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-05 19:24:49 +02:00
Michael Niedermayer
73aeb27cfe Merge commit '096a1d5b46391f65dfd0bee6292e9962f53bd7c8'
* commit '096a1d5b46391f65dfd0bee6292e9962f53bd7c8':
  rdft: Move some variables into a separate block

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-05 19:16:15 +02:00
Michael Niedermayer
8c6cfffa01 Merge commit 'b574e1e97ea7067a5fcd3876e30a67df0e4e6611'
* commit 'b574e1e97ea7067a5fcd3876e30a67df0e4e6611':
  get_bits: Add OPEN_READER macro variant w/o size_plus8

Conflicts:
	libavcodec/get_bits.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-05 19:08:27 +02:00
Giorgio Vazzana
7865cafec2 lavd/v4l2: simplify list_framesizes()
We can avoid passing file descriptor fd explicitely.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-05 18:52:34 +02:00
Giorgio Vazzana
55cf7d9713 lavd/v4l2: remove unneeded variable in device_init()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-05 18:43:28 +02:00
Giorgio Vazzana
3da359c140 lavd/v4l2: simplify first_field()
There is no need to pass fd as a second parameter. Additionally remove
unneeded curly braces.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-05 18:36:04 +02:00
Giorgio Vazzana
39750b7364 lavd/v4l2: Replace s1 with ctx for consistency.
No functional change in the code.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-05 18:10:42 +02:00
Giorgio Vazzana
d247a40aad MAINTAINERS: add myself as lavd/v4l2 maintainer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-05 17:42:27 +02:00
Henrik Gramner
428aa14a48 x86inc: Make INIT_CPUFLAGS support an arbitrary number of cpuflags
Previously there was a limit of two cpuflags.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-05 14:06:03 +02:00
Diego Biurrun
2143948381 Drop unnecessary av_unused attributes. 2014-09-05 13:55:04 +02:00
Diego Biurrun
213e606752 Replace av_unused attributes by block structures
This is more portable and avoids warnings with compilers that do not
properly support av_unused.
2014-09-05 13:55:04 +02:00
Diego Biurrun
096a1d5b46 rdft: Move some variables into a separate block
This avoids an unused variable warning with hardcoded tables.
2014-09-05 13:55:03 +02:00
Diego Biurrun
b574e1e97e get_bits: Add OPEN_READER macro variant w/o size_plus8
This avoids a trillion warnings from MSVC.
2014-09-05 13:55:03 +02:00
Benoit Fouet
4f10495055 tiff: fix {2,4}bpp grayscale palettes.
Create a default grayscale palette for 2 or 4 bpp grayscale tiff, if
there is no palette defined.
Fixes ticket #3915

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-05 12:57:22 +02:00
James Darnley
db8970d7b6 vfi/x86/vf_idet: fix incorrect use of paddq
paddq is an SSE2 instruction so it cannot be used for MMX.

This was probably just a typo because the sums are dwords anyway.

Reviewed-by: Pascal Massimino <pascal.massimino@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-05 12:49:34 +02:00
Pascal Massimino
161fc0f463 avfilter/x86/idet: fix license header (GPL -> LGPL)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-05 12:22:36 +02:00
Michael Niedermayer
0940066b80 Merge commit 'b21e989a3c076d94cfdde0303724db841dd60cad'
* commit 'b21e989a3c076d94cfdde0303724db841dd60cad':
  ismindex: produce .ismf file

Conflicts:
	tools/ismindex.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-05 12:14:42 +02:00
Mark Harris
ef16d12606 doc/filters.texi: fix time duration references
Make time duration references consistent, using @ref links, and
eliminate incorrect syntax [-]HH[:MM[:SS[.m...]]].

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2014-09-05 11:20:07 +02:00
Stefano Sabatini
6f0fc1a96b lavf/ffmdec: return proper error code in ffm2_read_header()
Also log an error message in case of invalid packet size.
2014-09-05 11:20:07 +02:00
Stefano Sabatini
39b517fac0 lavc/libvpxenc: show crf CQ value in error message 2014-09-05 11:20:07 +02:00
Mika Raento
b21e989a3c ismindex: produce .ismf file
This is a non-standard file that maps the MSS segment names to offsets
in the ISMV file. This can be used to build a custom MSS streaming
server without splitting the ISMV into separate files.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-09-05 09:54:55 +03:00
Michael Niedermayer
2178abd3b5 Merge commit 'd7913bf59ccbf781ce57c5d58998e8f25d10e040'
* commit 'd7913bf59ccbf781ce57c5d58998e8f25d10e040':
  changelog: Move Ogg subtypes aliases entry to the correct release

Conflicts:
	Changelog

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-05 04:45:30 +02:00
James Almer
52ec81c67d x86/hevc_res_add: add missing guards to hevc_transform_add32_8_avx2
Should fix compilation with old Yasm/Nasm versions.

Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-04 23:34:01 -03:00
Henrik Gramner
720c21d11f x86inc: Make ym# behave the same way as xm#
This makes more sense for future implementations of templates with zmm registers.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-05 01:55:28 +02:00
Loren Merritt
a4dbabc8b3 x86inc: free up variable name "n" in global namespace
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-05 01:41:50 +02:00
James Almer
c3d2426cca x86/hevc_res_add: add ff_hevc_transform_add32_8_avx2
~20% faster than AVX.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-04 20:21:29 -03:00
Michael Niedermayer
467a55a4ee avutil/md5: workaround clang 3.5 #20849
This avoids several failures on fate.ffmpeg.org, and thus makes real
bugs easier to spot

Reviewed-by: James Darnley <james.darnley@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-05 00:43:48 +02:00
James Darnley
46ef45ab59 lavc/x86/v210: give cpuflag to INIT macro
This lets the cglobal macro automatically append a suffix to the function name.
This means that INIT_XMM avx must be used rather than INIT_AVX.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-05 00:35:07 +02:00
Diego Biurrun
d7913bf59c changelog: Move Ogg subtypes aliases entry to the correct release 2014-09-04 15:12:46 -07:00
skal
406a9ccffe avfilter/vf_idet: MMX/MMXEXT/SSE2 implementation of idet's filter_line()
integration by Neil Birkbeck, with help from Vitor Sessak.
core SSE2 loop by Skal (pascal.massimino@gmail.com)

Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-04 22:19:00 +02:00
Michael Niedermayer
53b0892005 Merge commit 'd9792b773516a560ecb99694b8ee745a50027fac'
* commit 'd9792b773516a560ecb99694b8ee745a50027fac':
  Mark 11 release in the changelog

Conflicts:
	Changelog

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-04 20:50:01 +02:00
Michael Niedermayer
69a68d3013 Merge commit '12f0388f9cb32016ac0dacaeca631b088b29bb96'
* commit '12f0388f9cb32016ac0dacaeca631b088b29bb96':
  Add release notes for 11.

Conflicts:
	doc/RELEASE_NOTES

Mostly not merged

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-04 20:34:40 +02:00
Michael Niedermayer
ddc6adaa28 Merge commit '4d55e9de27894ddfb337b28cd7aa6d14a12666d2'
* commit '4d55e9de27894ddfb337b28cd7aa6d14a12666d2':
  vc1: Split bits used in libavformat into a separate header

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-04 20:09:01 +02:00
Michael Niedermayer
5a20f1885d Merge commit 'f20518568a77a6138fc74021ce56013ab72907ba'
* commit 'f20518568a77a6138fc74021ce56013ab72907ba':
  build: Split WMA frequencies into a separate object file

Conflicts:
	configure
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-04 19:46:06 +02:00
Michael Niedermayer
91a8b933fb Merge commit '803f8992f11d1eb301672cd13c685a7b1d04c467'
* commit '803f8992f11d1eb301672cd13c685a7b1d04c467':
  build: cosmetics: Group hwaccel OBJS declarations together

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-04 19:18:08 +02:00
Michael Niedermayer
a52e74db17 Merge commit '2b8b0da09cf0dc2535de42f95110eb633f36d8c8'
* commit '2b8b0da09cf0dc2535de42f95110eb633f36d8c8':
  fdctdsp: cosmetics: Drop one unnecessary if-block level

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-04 19:10:33 +02:00
Diego Biurrun
d9792b7735 Mark 11 release in the changelog
Also fix some typos in the entries for the 11 release.
2014-09-04 17:01:36 +02:00
Anton Khirnov
12f0388f9c Add release notes for 11.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-04 07:14:27 -07:00
Diego Biurrun
4d55e9de27 vc1: Split bits used in libavformat into a separate header
This reduces inter-library dependencies.
2014-09-04 07:11:03 -07:00
Andreas Cadhalpun
c4abee734d Remove non-free tests/lena.pnm and adapt FATE tests to depend on lena.pnm in the SAMPLES directory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-04 15:21:50 +02:00
Steven Liu
03efd73082 avformat/flvdec: read the correct bits into the tag type
from the flv spec, the flvtag define the tagtype as one byte,
the spec desc is:
Reserved  UB[2] Reserved for FMS, should be 0
Filter    UB[1] Indicates if packets are filtered.
                0 = No pre-processing required.
                1 = Pre-processing (such as decryption) of the packet is
                    required before it can be rendered.
                    Shall be 0 in unencrypted files, and 1 for encrypted
tags.
                    See Annex F. FLV Encryption for the use of filters.
TagType   UB[5] Type of contents in this tag. The following types are
                defined:
                        8 = audio
                        9 = video
                        18 = script data

Signed-off-by: Steven Liu <qi.liu@chinacache.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-04 14:54:23 +02:00
Diego Biurrun
f20518568a build: Split WMA frequencies into a separate object file
These are the only WMA bits shared with binkaudio. Splitting them off
reduces the binnkaudio dependency on general WMA code.
2014-09-04 05:19:46 -07:00
Diego Biurrun
803f8992f1 build: cosmetics: Group hwaccel OBJS declarations together 2014-09-04 05:19:39 -07:00
Dmitry Volyntsev
fe8f4c71e3 libavdevice/v4l2: fix descriptors leak on error paths
Signed-off-by: Dmitry Volytnsev <xeioexception@gmail.com>
Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Reviewed-by: Giorgio Vazzana <mywing81@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-04 13:52:44 +02:00
Michael Niedermayer
4f63d6d3b5 avdevice/x11grab: fix error handling in pixel formats
Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-04 13:42:53 +02:00
Michael Niedermayer
bb8b752553 postproc: use FFMIN/FFMAX where appropriate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-04 03:50:46 +02:00
Timothy Gu
17ad5fbb8a Use makeinfo to generate html doc for the new website
texi2html is deprecated by upstream in favor of makeinfo/texi2any. See:

- https://www.gnu.org/software/texinfo/manual/texinfo/html_node/texi2html.html
- https://wiki.debian.org/Texi2htmlTransition
- https://lists.debian.org/debian-devel/2013/05/msg01516.html

This is actually two separate changes.

Based on a patch by Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>.

Fixes Trac ticket #3232.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-09-04 02:34:20 +02:00
Michael Niedermayer
75a9859ac6 Merge commit 'd2a4e4b9cc9a0c2661e1c1d6f6b51babac2cec1b'
* commit 'd2a4e4b9cc9a0c2661e1c1d6f6b51babac2cec1b':
  wma: K&R formatting cosmetics

Conflicts:
	libavcodec/wma.c
	libavcodec/wmadec.c
	libavcodec/wmaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-03 22:10:21 +02:00
Reimar Döffinger
235d401bfa vorbisenc: avoid large stack allocation.
Code is only used during initialization, so malloc/free
should be fine to use.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-09-03 21:22:59 +02:00
Reimar Döffinger
fcfc90ed65 svq1enc: remove pointless array element.
Not sure it was meant to be used for something at some point though.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-09-03 21:22:58 +02:00
Reimar Döffinger
6724254118 ffv1enc: reduce stack usage.
A bit more complex than e.g. adding it to the context, but
using the context for something that will be used only during
initialization seemed a bit wasteful.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-09-03 21:22:58 +02:00
Lou Logan
efaa4a8dbf doc/demuxers: document gif demuxer
Signed-off-by: Lou Logan <lou@lrcd.com>
2014-09-03 10:16:05 -08:00
Jörg Krause
02a2e171ad libavutil/error: fix build with musl toolchain
Add the feature test macro which is required for building with the
musl toolchain.

The feature test macro _XOPEN_SOURCE = 600 provides the XSI-compliant
version of strerror_r().

Signed-off-by: Jörg Krause <jkrause@posteo.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-03 20:01:25 +02:00
Michael Niedermayer
d9a416fa1a Merge commit 'c487972ed0e1eaebdbe4a13cdd191e119be0b19c'
* commit 'c487972ed0e1eaebdbe4a13cdd191e119be0b19c':
  ismindex: recover from completely empty streams

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-03 15:04:34 +02:00
Michael Niedermayer
4bc4f6f170 Merge commit '95e177eeb21f3e968aa9353bc69d1946966cc835'
* commit '95e177eeb21f3e968aa9353bc69d1946966cc835':
  rtpdec: HEVC/H.265 support

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

See: 96b2ba68c4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-03 14:56:53 +02:00
Michael Niedermayer
dc81c0a0dc Merge commit 'ebef9f5a56d7df91e010a177a80cfc8dbe394305'
* commit 'ebef9f5a56d7df91e010a177a80cfc8dbe394305':
  time: Use clock_gettime if the monotonic clock is available

Conflicts:
	configure

The change to av_gettime() isnt merged, a patch will be posted to the mailing list
that would do the switch

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-03 14:24:53 +02:00
Michael Niedermayer
7509a95656 Merge commit '65e78a2e4b111627c0ebdf2c9baec95e5e21560d'
* commit '65e78a2e4b111627c0ebdf2c9baec95e5e21560d':
  x11grab: Refactor pixel format parsing

Conflicts:
	libavdevice/x11grab.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-03 13:58:41 +02:00
Michael Niedermayer
33bf66af02 Merge commit 'bb3ead7e54fec205c595cfb8b1d8900d50d3d1cc'
* commit 'bb3ead7e54fec205c595cfb8b1d8900d50d3d1cc':
  x11grab: Fallback to normal XImage if SHM is not supported

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-03 13:30:24 +02:00
Michael Niedermayer
34e80af860 Merge commit 'c19a49e565bd06ea47947d50779ba236df9d4943'
* commit 'c19a49e565bd06ea47947d50779ba236df9d4943':
  ppc: Support little endian intreadwrite

Conflicts:
	libavutil/ppc/intreadwrite.h

See: d37c620c84
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-03 13:13:29 +02:00
Michael Niedermayer
e489e83466 avformat/mpegts: Change order of structs to match 7968059e5c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-03 12:54:41 +02:00
Michael Niedermayer
ee83f667af Merge commit '7968059e5c3cd8f91407f379c11bbf71a1b84c74'
* commit '7968059e5c3cd8f91407f379c11bbf71a1b84c74':
  mpegts: Allow custom max resync size

Conflicts:
	libavformat/mpegts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-03 12:44:14 +02:00
Michael Niedermayer
4d13d440ee Merge commit '94f084324e648876508bed546d950762f10b875e'
* commit '94f084324e648876508bed546d950762f10b875e':
  texi2pod: Make it output a single encoding string

Conflicts:
	doc/texi2pod.pl

See: 12ce58bebd
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-03 12:24:47 +02:00
Diego Biurrun
2b8b0da09c fdctdsp: cosmetics: Drop one unnecessary if-block level 2014-09-03 03:13:56 -07:00
Michael Niedermayer
eacf42dd50 Merge commit '4912b634b517c8acfc476c5d47f10be83fe7e18b'
* commit '4912b634b517c8acfc476c5d47f10be83fe7e18b':
  x265: Use the encoder defaults

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-03 12:10:09 +02:00
Gabriel Dume
d2a4e4b9cc wma: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-03 03:09:08 -07:00
Mika Raento
c487972ed0 ismindex: recover from completely empty streams
This creates best-effort results from input that is missing stream
contents, there are warnings printed when this happens.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-09-03 12:06:40 +03:00
Michael Niedermayer
928cb84b32 avcodec/idctdsp: Initialize ff_put/add_pixels_clamped correctly so that the optimized functions are also used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-03 05:19:06 +02:00
Michael Niedermayer
50841da143 avcodec/mpeg4videodec: fix automatic use of the xvid idct on non x86
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-03 05:19:06 +02:00
Michael Niedermayer
feac9cbed0 Merge commit 'eda7571ea1a41c835e3a02fa9517e5bc67d7adce'
* commit 'eda7571ea1a41c835e3a02fa9517e5bc67d7adce':
  wmv2: K&R formatting cosmetics

Conflicts:
	libavcodec/wmv2.c
	libavcodec/wmv2dec.c
	libavcodec/wmv2enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-03 04:13:37 +02:00
Michael Niedermayer
5b58d79a99 Merge commit '7a1d6ddd2c6b2d66fbc1afa584cf506930a26453'
* commit '7a1d6ddd2c6b2d66fbc1afa584cf506930a26453':
  xvid: Add C IDCT

Conflicts:
	libavcodec/dct-test.c
	libavcodec/xvididct.c

See: 298b3b6c1f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-03 04:09:38 +02:00
Michael Niedermayer
5db23c07a3 Merge commit '95c0cec03acec0a80cc1c7db48f3b2355d9e767b'
* commit '95c0cec03acec0a80cc1c7db48f3b2355d9e767b':
  idctdsp: Add global function pointers for {add|put}_pixels_clamped functions

Conflicts:
	libavcodec/arm/idctdsp_init_arm.c
	libavcodec/dct.h
	libavcodec/idctdsp.c
	libavcodec/jrevdct.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-03 03:19:40 +02:00
Thomas Volkert
95e177eeb2 rtpdec: HEVC/H.265 support
As specified in draft-ietf-payload-rtp-h265-06.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-09-03 02:39:24 +02:00
Luca Barbato
ebef9f5a56 time: Use clock_gettime if the monotonic clock is available
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-09-03 02:38:03 +02:00
Luca Barbato
65e78a2e4b x11grab: Refactor pixel format parsing 2014-09-03 02:38:03 +02:00
Luca Barbato
bb3ead7e54 x11grab: Fallback to normal XImage if SHM is not supported 2014-09-03 02:38:03 +02:00
Luca Barbato
c19a49e565 ppc: Support little endian intreadwrite 2014-09-03 02:38:03 +02:00
Luca Barbato
7968059e5c mpegts: Allow custom max resync size 2014-09-03 02:38:03 +02:00
Luca Barbato
94f084324e texi2pod: Make it output a single encoding string
Intermixing =encoding utf-8 in the file can confuse some pod2man
implementations.
2014-09-03 02:14:17 +02:00
Luca Barbato
4912b634b5 x265: Use the encoder defaults
Reset the settings as it is done for x264.
2014-09-03 02:14:17 +02:00
Gabriel Dume
eda7571ea1 wmv2: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-02 16:14:22 -07:00
Pascal Massimino
7a1d6ddd2c xvid: Add C IDCT
Thanks to Pascal Massimino and Michael Militzer for relicensing as LGPL.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-02 14:41:13 -07:00
Diego Biurrun
95c0cec03a idctdsp: Add global function pointers for {add|put}_pixels_clamped functions
These function pointers already existed in the ARM code. Adding them globally
allows calls to the function pointers to access arch-optimized versions of the
functions transparently.
2014-09-02 14:41:13 -07:00
Michael Niedermayer
9e59a7be1c Merge commit '91d305790ea0f6fe0f54b48236da42181c39c18b'
* commit '91d305790ea0f6fe0f54b48236da42181c39c18b':
  get_bits: Rename HAVE_BITS_REMAINING --> BITS_AVAILABLE

Conflicts:
	libavcodec/golomb.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-02 22:18:12 +02:00
Michael Niedermayer
c8be5258de Merge commit 'ff4d1aa8bc3f4fe9d1f684f760b29c51adb569ef'
* commit 'ff4d1aa8bc3f4fe9d1f684f760b29c51adb569ef':
  flv: K&R formatting cosmetics

Conflicts:
	libavcodec/flv.h
	libavcodec/flvdec.c
	libavcodec/flvenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-02 22:07:06 +02:00
Michael Niedermayer
4c73123333 Merge commit 'f61e47dd68582529bcf6d42d861c70a320cd1b67'
* commit 'f61e47dd68582529bcf6d42d861c70a320cd1b67':
  asv: K&R formatting cosmetics

Conflicts:
	libavcodec/asvdec.c
	libavcodec/asvenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-02 21:57:46 +02:00
Michael Niedermayer
50c6bffb67 Merge commit '74512f7e369da40e1148c92b58cd8e59f7737b8f'
* commit '74512f7e369da40e1148c92b58cd8e59f7737b8f':
  8svx: Return proper error codes

Conflicts:
	libavcodec/8svx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-02 21:45:58 +02:00
Reimar Döffinger
098af26067 vf_deshake: Avoid doing a malloc+free for every single frame.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-09-02 19:20:28 +02:00
Reimar Döffinger
4ea8406e38 vf_deshake: reduce stack usage.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-09-02 19:20:28 +02:00
Reimar Döffinger
3980ab12b7 rangecoder-test: Allow running with small stack size.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-09-02 19:20:28 +02:00
Reimar Döffinger
e48cd2de98 rl.h: Use on-stack temporary VLC tables instead of having them static.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-09-02 19:20:28 +02:00
Reimar Döffinger
2ca78936c7 rl.h: remove deprecated and now unused vlc member.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-09-02 19:20:27 +02:00
Tobias Rapp
2c43cfe2d4 cmdutils: Add some whitespace when printing layouts
Adds some more whitespace between channel layout name and decomposition.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-02 18:44:07 +02:00
Michael Niedermayer
1c55d0ff32 avformat/swfdec: Use side data to communicate w/h changes to the decoder
Fixes reading from freed data
Fixes part of Ticket3539

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-02 13:37:07 +02:00
Michael Niedermayer
1587989518 avcodec/rawdec: Support CODEC_CAP_PARAM_CHANGE
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-02 13:35:36 +02:00
Diego Biurrun
91d305790e get_bits: Rename HAVE_BITS_REMAINING --> BITS_AVAILABLE
The HAVE_ prefix is reserved for macros set by configure.
2014-09-02 13:10:38 +02:00
Gabriel Dume
ff4d1aa8bc flv: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-02 04:03:45 -07:00
Gabriel Dume
f61e47dd68 asv: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-02 03:45:21 -07:00
Gabriel Dume
74512f7e36 8svx: Return proper error codes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-02 03:42:13 -07:00
Mika Raento
502fc3b3d4 segment: fix copying stream metadata
To get mpegts metadata copied when segmenting.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-02 12:31:04 +02:00
Mika Raento
413fa76f61 segment: use mpegts_flags instead of the deprecated resend_headers option
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-02 12:31:04 +02:00
Michael Niedermayer
0ffe32cf8f avformat/segment: Use avformat_alloc_output_context2()
This avoids having to assign oformat, allows returning the
correct error code and allocates priv_data

Based on patch by: Mika Raento <mika.raento@elisa.fi>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-02 12:31:04 +02:00
Carl Eugen Hoyos
3668168afa Support decoding of ImageJ png in avi.
Fixes ticket #3916.
2014-09-02 12:02:03 +02:00
Mika Raento
58e0402e02 segment: don't access outside seg->frames array
Fixes wrong number of segments output and undefined memory access.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-02 11:38:36 +02:00
Michael Niedermayer
35469835bb Merge commit 'e48d1ea541be4592ebac89875557407ca958b7a9'
* commit 'e48d1ea541be4592ebac89875557407ca958b7a9':
  ismindex: improve diagnostics

Conflicts:
	tools/ismindex.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-02 11:20:13 +02:00
Mika Raento
e48d1ea541 ismindex: improve diagnostics
This improves error messages for completely and somewhat broken inputs.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-09-02 09:48:44 +03:00
Mark Harris
4cabee50f6 tools/normalize.py: both input and output file names are required 2014-09-02 07:31:34 +02:00
Clément Bœsch
e6b125e3be avutil/pixelutils: add small buffers tests 2014-09-02 07:29:41 +02:00
Rong Yan
6abeaf2781 build sys: enable the decoding_encoding example under the ffmpeg/doc/examples
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-02 04:19:15 +02:00
Carl Eugen Hoyos
7cf1f0f4af Fix standalone compilation of the snow decoder. 2014-09-01 23:30:57 +02:00
Mark Harris
1b3a98f137 doc/filters.texi: fix filter name in examples
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-01 21:50:52 +02:00
Thomas Volkert
f8164f6728 Add missing changelog entry
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-01 21:40:34 +02:00
Michael Niedermayer
f9aadf1fc4 Merge commit 'e205fe6831fe1b5445f7827b5c916425620b4ab5'
* commit 'e205fe6831fe1b5445f7827b5c916425620b4ab5':
  mpeg4videodec: Fix low_delay error message

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-01 21:01:33 +02:00
Michael Niedermayer
f626eaa58e Merge commit '63f800ca5f4f6b38f3789a7edb03bfabe8bacdd2'
* commit '63f800ca5f4f6b38f3789a7edb03bfabe8bacdd2':
  aac_adtstoasc_bsf: Return proper error code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-01 20:51:44 +02:00
Michael Niedermayer
38c4316fff Merge commit 'b8962d64cc71af241601bcab5c3fcdc5735ef4ae'
* commit 'b8962d64cc71af241601bcab5c3fcdc5735ef4ae':
  dxva2: Clean up definition of _WIN32_WINNT

Conflicts:
	libavcodec/dxva2.h

See: 89946c8403
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-01 20:45:50 +02:00
Michael Niedermayer
052cd1ce72 Merge commit '4600a85eaa6182e5a27464f6b9cae5a9ddbf3098'
* commit '4600a85eaa6182e5a27464f6b9cae5a9ddbf3098':
  dxva2: Pass variable of correct type to IDirectXVideoDecoder_GetBuffer()

Conflicts:
	libavcodec/dxva2_h264.c
	libavcodec/dxva2_mpeg2.c
	libavcodec/dxva2_vc1.c

See: 64c53fa16a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-01 20:31:13 +02:00
Michael Niedermayer
b01d2a5533 ffmpeg: Enable compute_edt only when the subtitles are used for a output stream instead of a filter
Fixes/works around Ticket3768

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-01 19:51:58 +02:00
Michael Niedermayer
a2dbf379f0 avcodec/dvbsubdec: make compute_edt user settable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-01 19:51:58 +02:00
Reimar Döffinger
e8d0b84e8a h261dec, ituh263dec: Move condition.
Stops compiler from doing incredibly stupid things.
With vsynth1-flv inner loop goes from 3501 to 3275
decicycles.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-09-01 19:41:20 +02:00
Reimar Döffinger
36c0043344 h261dec, ituh263dec: ensure CLOSE_READER is done on error paths, too.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-09-01 19:41:20 +02:00
Reimar Döffinger
2a00812d82 h261dec, ituh263dec: Avoid unnecessary -1 inside inner loop.
3646 -> 3597 decicycles in inner loop when decoding
vsynth1-flv.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-09-01 19:41:20 +02:00
Timothy Gu
8d6ec61186 general: Fix usage of @float
makeinfo chokes on that.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-01 16:21:44 +02:00
Gabriel Dume
e205fe6831 mpeg4videodec: Fix low_delay error message
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-01 05:37:00 -07:00
Gabriel Dume
63f800ca5f aac_adtstoasc_bsf: Return proper error code
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-01 05:37:00 -07:00
Diego Biurrun
b8962d64cc dxva2: Clean up definition of _WIN32_WINNT
Only set a value if _WIN32_WINNT is undefined or smaller than 0x0600. This is
cleaner than unconditional definition and avoids a number of redefinition
warnings. Also only define a value in one of the two dxva2 headers.
2014-09-01 12:23:59 +02:00
Diego Biurrun
4600a85eaa dxva2: Pass variable of correct type to IDirectXVideoDecoder_GetBuffer()
This avoids related incompatible pointer type warnings.
2014-09-01 12:23:58 +02:00
Clément Bœsch
343f07e15c RELEASE_NOTES: mention libmodplug detection change 2014-09-01 11:36:02 +02:00
Stefano Sabatini
d4ec07dfe7 lavu/avstring: check for overlong encodings in av_utf8_decode()
Fix reopened trac ticket #1163.
2014-09-01 10:47:24 +02:00
Clément Bœsch
36952786a5 build: use pkg-config to detect libmodplug
Fix static build, at least for OSX.
2014-09-01 09:03:26 +02:00
Michael Niedermayer
97b88096dc Merge commit '37c46743ee42df1d6986ba3c996e3af5b95511f7'
* commit '37c46743ee42df1d6986ba3c996e3af5b95511f7':
  avcodec: fix missing doxygen comment marker

See: 22652dc2b8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-01 04:20:23 +02:00
Michael Niedermayer
4250753497 avformat/mpegts: favor DESC_types over probed codecs
Fixes Ticket3766
Fixes dvb_teletext detection

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-01 03:22:34 +02:00
Michael Niedermayer
37c46743ee avcodec: fix missing doxygen comment marker 2014-09-01 00:52:22 +01:00
Reynaldo H. Verdejo Pinochet
b627385b4b ffserver: tests, use image2 instead of pgmyuv
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-08-31 18:18:40 -04:00
Reimar Döffinger
935453102b ituh263dec: Optimize new RL_VLC based decoding.
Together with the switch to RL_VLC this results in
a speedup of about 30% in this inner loop.
Overall speedup only relevant for medium to high bitrate
streams.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-31 20:13:58 +02:00
Reimar Döffinger
c0d32686dd h261dec: Optimize new RL_VLC based decoding.
Together with the switch to RL_VLC this results in about
10% speedup for this inner loop.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-31 20:13:51 +02:00
Reimar Döffinger
da0a670b3c h261, h263 decoders: convert to RL_VLC.
Some additional optimizations in following patch.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-31 20:09:54 +02:00
Reimar Döffinger
3efc174fd6 aacps_tablegen: replace TABLE_CONST by const.
Doesn't change generated code, just is more consistent
and a bit less error-prone.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-31 18:33:27 +02:00
Reimar Döffinger
1a558cec64 intmath.h: Remove duplicated ARM include.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-31 18:33:27 +02:00
Michael Niedermayer
f0d4f00f24 avcodec/mjpegdec: fix green line at the bottom with upscale v
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-31 15:33:30 +02:00
Michael Niedermayer
63a52ca134 avcodec/mjpegdec: fix green vertical line at the right with upscale h
Fixes Ticket3891

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-31 15:16:36 +02:00
Reimar Döffinger
6d7aa437e1 vf_drawtext: move "static const" before "struct".
This is consistent with all other occurrences.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-31 10:41:42 +02:00
Reimar Döffinger
2ca7edda89 lavu/hash.c: Add missing "static const".
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-31 10:33:02 +02:00
Reimar Döffinger
03bf457241 Add av_cold to table generation functions.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-31 10:33:02 +02:00
Reimar Döffinger
4fe448738e WMA: add "const" to avoid warnings with hardcoded tables.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-31 10:31:09 +02:00
Reimar Döffinger
3bc5d2a064 ac3dec_fixed: add missing "static const".
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-31 10:25:36 +02:00
Reimar Döffinger
c9a4ec7969 lavfi: add const/static const to pix_fmts arrays.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-31 10:25:36 +02:00
Reimar Döffinger
18464d7270 sipr16kdata.h: add forgotten const.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-31 10:25:36 +02:00
Reimar Döffinger
2bb66cc8be fft_template: Move variables to where they are used.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-31 10:25:36 +02:00
Reimar Döffinger
1654514ab0 fft: add ff_ prefix to some global arrays.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-31 10:25:36 +02:00
Michael Niedermayer
e0237208b4 avcodec/h264: Do not get stuck on IDR inter frames
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-31 04:09:06 +02:00
Reimar Döffinger
8c63a0d171 xv.c: Add missing const to lookup table.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-30 18:02:45 +02:00
Paul B Mahol
bd6f145820 avformat/dfa: use avio_feof()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-08-30 15:50:22 +00:00
wm4
b173f5c155 oggdec: fix invalid free on error
The read_packet callback passes a pointer to a stack-allocated AVPacket.
Attempting to free it with av_free() makes no sense.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-30 16:38:14 +02:00
Reimar Döffinger
e2cd28c926 fft: add missing const.
This table was the largest object in FFmpeg's .data,
and really should be in .rodata.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-30 16:33:00 +02:00
Michael Niedermayer
ce36d80881 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  lavf/rtpdec_hevc: Fix compilation with -DDEBUG.
  ffmpeg: Clean up if filter initialisation failed to avoid a memleak.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-30 14:38:44 +02:00
Christophe Gisquet
a808733675 proresenc_ks: allow auto-selecting profile
The user may not know how to select the profile, nor what he needs, in
particular to encode alpha.

Therefore, use an automatic selection as default, and warn when the
manually selected profile may cause issues.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-30 14:16:26 +02:00
Michael Niedermayer
1402873601 avcodec/vp3data: use more compact data types
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-30 13:45:15 +02:00
Carl Eugen Hoyos
f22c24bd7a lavf/rtpdec_hevc: Fix compilation with -DDEBUG. 2014-08-30 13:01:51 +02:00
Carl Eugen Hoyos
494cbc4238 ffmpeg: Clean up if filter initialisation failed to avoid a memleak.
Fixes ticket #3858.

Reviewed-by: Nicolas George
2014-08-30 13:01:51 +02:00
Michael Niedermayer
e16b7338d8 avcodec/aarch64/h264qpel_init_aarch64: mark src as const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-30 12:48:31 +02:00
Michael Niedermayer
97cebf3139 avformat/udp: Move variables used only with HAVE_PTHREAD_CANCEL, under the #if
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-30 12:43:58 +02:00
Michael Niedermayer
19bf1ed1f4 avformat/id3v2: Fix "warning: unused variable uncompressed_buffer_size" if zlib is unavailable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-30 12:21:07 +02:00
Michael Niedermayer
0daff3ce76 avfilter/vf_mp: remove incorrect usage of AVFrame.type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-30 12:16:46 +02:00
Michael Niedermayer
596636a474 avcodec/snow: check coeffs for validity
Fixes deadlock
Fixes integer overflow
Fixes Ticket 3892

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-30 02:12:10 +02:00
Reimar Döffinger
d9e2aceb7f Add missing "const" all over the place.
Only "./configure --enable-gpl" on x86 was tested.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-29 18:57:25 +02:00
Reimar Döffinger
be4aac302b patcheck: check for pointer arrays that are not const.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-29 18:57:25 +02:00
Peter Ross
9b8eedd736 avformat/wtvdec: seek over broken chunks
Fixes ticket #3898

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-29 14:00:58 +02:00
Michael Niedermayer
72732f2ddd avformat/webmdashenc: use av_strlcpy() and allocate enough space
Fixes out of array read

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-29 13:02:34 +02:00
Michael Niedermayer
5ce98e774e fate/vpx: make webm dash manifest tests depend on the WEBM_DASH_MANIFEST demuxer
Found-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-29 12:39:59 +02:00
Paul B Mahol
be3d8073ed avcodec/wavpack: increase WV_MAX_SAMPLES
This is maximal number of samples per frame that current wavpack
can create.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-08-29 10:37:49 +00:00
Vignesh Venkatasubramanian
4c9204783a fate: Add basic tests for WebM Dash Manifest
Add fate tests that test out the functionality of WebM DASH
Manifest XML generation. This patch contains the vpx.mak file
changes and the reference gold XML files.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-29 04:25:29 +02:00
Michael Niedermayer
22652dc2b8 avcodec/avcodec: fix missing doxygen comment marker
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-29 01:31:10 +02:00
Michael Niedermayer
37520a91ac avformat: drop redundant MATROSKA_VIDEO_STEREO_MODE_COUNT identifier
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-29 01:26:52 +02:00
Michael Niedermayer
7771daaea7 Merge commit '9e8bbe7d4d1dcd5fec491dbfbb98ed2038a7bed5'
* commit '9e8bbe7d4d1dcd5fec491dbfbb98ed2038a7bed5':
  license: Mention that vf_interlace is GPL, not LGPL

Conflicts:
	LICENSE.md

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-29 01:08:57 +02:00
Michael Niedermayer
39cd9fdbf8 Merge commit '4d686fb721b485ebbc4c7779d927d876c1e630f7'
* commit '4d686fb721b485ebbc4c7779d927d876c1e630f7':
  matroskaenc: convert avstream stereo3d side data during encoding

Conflicts:
	libavformat/matroskaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-29 00:44:47 +02:00
Michael Niedermayer
fcc3909908 Merge commit 'd4ae8ac92f619507aadd021bb67b517d39d3a36f'
* commit 'd4ae8ac92f619507aadd021bb67b517d39d3a36f':
  matroskadec: parse stereo mode on decoding

Conflicts:
	Changelog
	libavformat/matroska.c
	libavformat/matroskadec.c

See: 4c509fe305 and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-28 23:48:23 +02:00
Michael Niedermayer
31f9c228c0 ffmpeg: Fix missing {} in Stream to Packet side data code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-28 23:34:20 +02:00
Michael Niedermayer
f30a8154ab Merge commit '9301486408a480629336af4d7fd873c0f28fb2d5'
* commit '9301486408a480629336af4d7fd873c0f28fb2d5':
  avcodec: add stream-level stereo3d side data

Conflicts:
	doc/APIchanges
	libavcodec/avcodec.h
	libavcodec/utils.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-28 22:23:01 +02:00
Michael Niedermayer
56cc754c76 Merge commit 'f2583bc86eb5d7decc639fc9a36edc93e6003eef'
* commit 'f2583bc86eb5d7decc639fc9a36edc93e6003eef':
  matroska: list supported extensions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-28 22:12:36 +02:00
Michael Niedermayer
c6a3b00924 Merge commit '58396e806c65fe0eb00e6ccf1980f810cdceed05'
* commit '58396e806c65fe0eb00e6ccf1980f810cdceed05':
  x11grab: Use a typedef for the context, as most other code does

Conflicts:
	libavdevice/x11grab.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-28 22:06:48 +02:00
Michael Niedermayer
1fc3963188 Merge commit '7bb505a33ca131906b2ceb2f298e104c862740ea'
* commit '7bb505a33ca131906b2ceb2f298e104c862740ea':
  x11grab: Drop a spurious space in the extension reporting message

Conflicts:
	libavdevice/x11grab.c

See: 9af2097120
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-28 21:51:34 +02:00
Michael Niedermayer
65c9e2d003 Merge commit '20e82b41fcad23ebbb18d89948aebfcc53921198'
* commit '20e82b41fcad23ebbb18d89948aebfcc53921198':
  x11grab: Small near-cosmetic refactorings

Conflicts:
	libavdevice/x11grab.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-28 21:39:19 +02:00
Michael Niedermayer
5393c9dadd Merge commit 'f07a4290a0e8f31796e348edd3ed06b8d15132d8'
* commit 'f07a4290a0e8f31796e348edd3ed06b8d15132d8':
  x11grab: K&R formatting cosmetics

Conflicts:
	libavdevice/x11grab.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-28 21:21:47 +02:00
Diego Biurrun
9e8bbe7d4d license: Mention that vf_interlace is GPL, not LGPL 2014-08-28 19:47:43 +02:00
Vittorio Giovara
4d686fb721 matroskaenc: convert avstream stereo3d side data during encoding
Write the StereoMode Embl to bitstream.
2014-08-28 12:35:27 -04:00
Vittorio Giovara
d4ae8ac92f matroskadec: parse stereo mode on decoding
Convert the Matroska stereo format to the Stereo3D format, and add a
Stereo3D side data to the stream.

Bump the doctype version supported.

Bug-Id: 728 / https://bugs.debian.org/757185
2014-08-28 12:33:26 -04:00
Vittorio Giovara
9301486408 avcodec: add stream-level stereo3d side data 2014-08-28 12:33:26 -04:00
Vittorio Giovara
f2583bc86e matroska: list supported extensions 2014-08-28 12:33:25 -04:00
Paul B Mahol
0ddb0516f1 avformat/soxenc: return more meaningful error code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-08-28 15:52:25 +00:00
Michael Niedermayer
ef768ab976 avcodec/h264: Move h264_vdpau_class under ifdef to avoid unused variable warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-28 16:03:28 +02:00
Michael Niedermayer
87961a8a50 avcodec/flashsv2enc: fix "unused variable" warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-28 15:50:35 +02:00
Luca Barbato
58396e806c x11grab: Use a typedef for the context, as most other code does
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-28 15:49:05 +02:00
Luca Barbato
7bb505a33c x11grab: Drop a spurious space in the extension reporting message
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-28 15:46:56 +02:00
Deb Mukherjee
b543a29020 avcodec/libvpxenc: Adds support for constant quality mode in VP9.
Changes in the parameter mapping for libvpx to support the constant
quality mode in VP9. The assumption in the patch is that if crf is
provided but bitrate is 0, then the 'constant quality' mode of VP9
is used. However if both are present, the 'constrained quality' mode
is used as before.

Reviewed-by: James Zern <jzern@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-28 15:21:57 +02:00
Luca Barbato
20e82b41fc x11grab: Small near-cosmetic refactorings
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-28 15:20:12 +02:00
Luca Barbato
f07a4290a0 x11grab: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-28 14:58:48 +02:00
Michael Niedermayer
d6bd29492c avformat/icoenc: Remove deprecated use of codec_name
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-28 14:34:55 +02:00
Stefano Sabatini
fa39f8c0e2 doc/ffprobe: fix -show_entries example 2014-08-28 12:20:18 +02:00
Deb Mukherjee
b6a0b8bcf4 Adds support for setting aq_mode in libvpx encoder
Reviewed-by: James Zern <jzern@google.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-08-27 23:12:47 -03:00
James Darnley
8c1b942ad7 Replace incorrect use of "multiply" with "multiple"
Also replace the plural form "multiplies" with "multiples".
2014-08-27 16:00:17 -08:00
Michael Niedermayer
e6516944a3 avformat/rtpdec_asf: fix compiler warning about const qualifier being discarded
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-27 23:53:53 +02:00
Michael Niedermayer
35debfc366 avformat/rdt: fix compiler warning about const qualifier being discarded
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-27 23:52:40 +02:00
Michael Niedermayer
7a2c380e93 avformat/aviobuf: remove uses of deprecated url_feof()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-27 22:30:07 +02:00
Michael Niedermayer
5403a288a7 Merge commit '8d27bf1cff35be406b0fd89d832e1852d4c573bc'
* commit '8d27bf1cff35be406b0fd89d832e1852d4c573bc':
  x86: xvid: K&R formatting cosmetics

Conflicts:
	libavcodec/x86/xvididct_sse2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-27 21:20:39 +02:00
Michael Niedermayer
b3b05a11d3 Merge commit 'dcb7c868ec7af7d3a138b3254ef2e08f074d8ec5'
* commit 'dcb7c868ec7af7d3a138b3254ef2e08f074d8ec5':
  cosmetics: Make naming scheme of Xvid IDCT consistent with other IDCTs

Conflicts:
	libavcodec/mpeg4videodec.c
	libavcodec/x86/Makefile
	libavcodec/x86/dct-test.c
	libavcodec/x86/xvididct_sse2.c
	libavcodec/xvididct.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-27 21:09:30 +02:00
Michael Niedermayer
3ff5ca89fc Merge commit '1f156af4274dc72d588620f6bedb4e9e66023c92'
* commit '1f156af4274dc72d588620f6bedb4e9e66023c92':
  x86: xvid_idct: Drop unused definitions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-27 21:01:54 +02:00
Michael Niedermayer
42196083fe Merge commit '404731bd20e1df5880e6fe381e975ba48afc75b2'
* commit '404731bd20e1df5880e6fe381e975ba48afc75b2':
  pulse: Set the wallclock option as default

Conflicts:
	libavdevice/pulse_audio_dec.c

No change, the option was already default in FFmpeg since a long time

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-27 20:51:39 +02:00
Michael Niedermayer
a59d922d24 Merge commit 'ff771f79b55a346b4163d814b58ee4c98114745e'
* commit 'ff771f79b55a346b4163d814b58ee4c98114745e':
  vc1: Initialize start_code_found to 0

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-27 20:44:40 +02:00
James Almer
7997d78643 lavc/libwebpenc: use WebPMemoryWriterClear()
WebPMemoryWriterClear() must be used instead of free() when libwebp ABI version is > 0x0203

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-08-27 15:42:13 -03:00
Michael Niedermayer
7c51f5bd39 swr: aarch64 audio_convert and neon clobber test
Ported from avresample
Code by:  Mans Rullgard, Janne Grunau, Martin Storsjo

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-27 20:06:37 +02:00
Timothy Gu
25cb697d0c bktr: Fix Fabrice's name
Signed-off-by: Timothy Gu <timothygu99@gmail.com>

This file with the incorrect name was added after the name was fixed in all other files.
This is thus fixing a mistake

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-27 19:17:58 +02:00
James Almer
d3e9bee6f7 lavf/mp3enc: don't abort if audio packets can't be buffered
Instead skip the picture streams and flush the queued audio packets.
Should address ticket #3851.

Signed-off-by: James Almer <jamrial@gmail.com>
2014-08-27 13:51:34 -03:00
Diego Biurrun
8d27bf1cff x86: xvid: K&R formatting cosmetics 2014-08-27 05:58:04 -07:00
Jean-Francois Thibert
12df9b9a15 Improved AC3 decoder level support (heavy drc, dialnorm)
Added support for AC3 heavy dynamic range compression used
to restrict the output range and added a setting to specify
the output target level and use the dialog normalization
field to apply it in the digital domain.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-27 14:31:39 +02:00
Michael Niedermayer
7a67ab5cba ffmpeg_opt: reduce diff to libav in opt_target() by 16 lines
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-27 14:27:30 +02:00
Diego Biurrun
dcb7c868ec cosmetics: Make naming scheme of Xvid IDCT consistent with other IDCTs 2014-08-27 04:54:05 -07:00
Diego Biurrun
1f156af427 x86: xvid_idct: Drop unused definitions 2014-08-27 04:36:41 -07:00
Michael Niedermayer
2082c00ea2 Merge commit 'f5245a9c6206878b892adf3ccbccc9311c202af5'
* commit 'f5245a9c6206878b892adf3ccbccc9311c202af5':
  avconv: fix parsing the AVOptions for -target

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-27 12:55:31 +02:00
Michael Niedermayer
ad207f1119 Merge commit '1688eef25385089026aba55da1885f70a57815ab'
* commit '1688eef25385089026aba55da1885f70a57815ab':
  avconv: fix the muxrate values for -target

Conflicts:
	ffmpeg_opt.c

No change, as ffmpegs muxrate is in bits/sec

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-27 12:38:53 +02:00
Luca Barbato
404731bd20 pulse: Set the wallclock option as default 2014-08-27 12:36:59 +02:00
Luca Barbato
ff771f79b5 vc1: Initialize start_code_found to 0
Leftover of a4d3c20035.
2014-08-27 12:36:41 +02:00
Michael Niedermayer
127aee4ccb Merge commit '75bbaf2493a71ee66eaabe3c21fadd84d07888de'
* commit '75bbaf2493a71ee66eaabe3c21fadd84d07888de':
  mpegenc: limit the maximum muxrate

Conflicts:
	libavformat/mpegenc.c

See: 28d35dbe9f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-27 12:00:10 +02:00
Anton Khirnov
f5245a9c62 avconv: fix parsing the AVOptions for -target
CC: libav-stable@libav.org
2014-08-27 06:21:55 +00:00
Anton Khirnov
1688eef253 avconv: fix the muxrate values for -target
The mpegenc private option values are in 50-byte units.

CC: libav-stable@libav.org
2014-08-27 06:21:55 +00:00
Anton Khirnov
75bbaf2493 mpegenc: limit the maximum muxrate
It is written to the file as a 22-bit value.

CC: libav-stable@libav.org
2014-08-27 06:21:54 +00:00
Michael Niedermayer
9e8ab36f54 avformat/mxfenc: dont warn about d10_channelcount being ignored if its not set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-27 02:13:50 +02:00
Michael Niedermayer
570397c731 Merge commit 'e87f5e4e5f2e2e36b0b7826d708cda7049877af0'
* commit 'e87f5e4e5f2e2e36b0b7826d708cda7049877af0':
  h264: fully check cropping amount from sps

Conflicts:
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-26 22:01:45 +02:00
Michael Niedermayer
9c41b59423 Merge commit '0a024268261d05ccdcf7e03c85fb78d22037a464'
* commit '0a024268261d05ccdcf7e03c85fb78d22037a464':
  libxvid: K&R formatting cosmetics

Conflicts:
	libavcodec/libxvid.c
	libavcodec/libxvid_rc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-26 21:45:39 +02:00
Michael Niedermayer
ffa90d99fd Merge commit '56a721f020273d69daa8dcb0d99e42a43a0a0d4d'
* commit '56a721f020273d69daa8dcb0d99e42a43a0a0d4d':
  doc: fix a typo

Conflicts:
	doc/APIchanges

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-26 20:48:07 +02:00
Michael Niedermayer
7206221d56 Merge commit '4c8bd8ddb049950347a5018fecbca7ee25d48c44'
* commit '4c8bd8ddb049950347a5018fecbca7ee25d48c44':
  os_support: Adjust an outdated #endif comment

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-26 20:40:40 +02:00
ThomasVolkert
e15824e75b avformat/rtpdec_h261: Fix sanity checks
Fixes mbap and quant

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-26 20:37:58 +02:00
Hii
604c4eab2b libx264: fix -b_qfactor and -chromaoffset
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-26 20:03:42 +02:00
Vittorio Giovara
e87f5e4e5f h264: fully check cropping amount from sps
Even if sps.crop is true, the cropping amount may be zero.
Fixes a sample with a valid but broken container cropping.
2014-08-26 13:31:29 -04:00
Gabriel Dume
0a02426826 libxvid: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-26 19:22:17 +02:00
Gabriel Dume
56a721f020 doc: fix a typo
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-26 17:27:15 +02:00
Diego Biurrun
4c8bd8ddb0 os_support: Adjust an outdated #endif comment 2014-08-26 06:34:41 -07:00
Michael Niedermayer
46ad2c4aed avformat/utils: remove assert that tests the same condition as the if() directly above
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-26 15:23:23 +02:00
Michael Niedermayer
bf16872fec avformat/nsvdec: fix out-commented asserts so the function names exist
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-26 15:21:25 +02:00
Michael Niedermayer
85f0bde4f0 avcodec/snowenc: remove out-commented assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-26 15:20:58 +02:00
Michael Niedermayer
cf0e8e7ad4 Merge commit '4e9e6fa99f3ff83cedbf6c378d62065ae419a3b9'
* commit '4e9e6fa99f3ff83cedbf6c378d62065ae419a3b9':
  mpeg: Write H264 streams at offset 2

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-26 14:05:07 +02:00
Michael Niedermayer
ba650ea118 Merge commit 'a4d3c20035946cbc1509aec2dc28d51c2a2f9a8e'
* commit 'a4d3c20035946cbc1509aec2dc28d51c2a2f9a8e':
  vc1: Fix the skip condition

Conflicts:
	libavcodec/vc1_parser.c

See: ede411dd03
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-26 13:01:06 +02:00
Michael Niedermayer
d5ee74e57d Merge commit 'ab56fabe6294524e99815451ad01e4ff50c6d734'
* commit 'ab56fabe6294524e99815451ad01e4ff50c6d734':
  vfwcap: Add fallback define for HWND_MESSAGE

The merged commit reverts the HWND_MESSAGE removial, and adds a #ifndef around
    commit 8bc52dbd9d
        vfwcap: Drop fallback VfW defines
        The defines were added long ago when MinGW still lacked them.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-26 12:22:55 +02:00
James Almer
c2c56d54ee configure: update libvpx_vp9_encoder check
Required to add support for the aq_mode setting.
Any libvpx snapshot prior to 1.3.0 is not recommended for vp9 encoding for that matter.

Reviewed-by: James Zern <jzern@google.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-08-26 00:53:50 -03:00
Luca Barbato
4e9e6fa99f mpeg: Write H264 streams at offset 2
It hints that the content is H264 according to HD-DVD.
2014-08-26 03:43:13 +02:00
Luca Barbato
a4d3c20035 vc1: Fix the skip condition
As written in the comment above, skip must be added only if a
start code is found.
2014-08-26 03:43:13 +02:00
ThomasVolkert
96b2ba68c4 avformat/rtpdec: support for HEVC/H.265 RTP payload format (draft v6) depacketizing 2014-08-26 02:18:08 +02:00
Diego Biurrun
ab56fabe62 vfwcap: Add fallback define for HWND_MESSAGE
Some obsolete versions of the MinGW32 runtime (<4.0.0) lack the definition.
2014-08-25 16:41:22 -07:00
Michael Niedermayer
1f7e6c0713 doc/snow: remove possibly wrong todo item
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-26 01:19:26 +02:00
Michael Niedermayer
e96109f93c ffplay: use av_malloc_array()
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-26 00:41:09 +02:00
Alexander Strasser
db85d11d9d libavformat/ftp: Do not leak memory in routine ftp_features
Setting the pointer to NULL inside both ftp_send_command
and ftp_features is redundant. Generally always setting to
NULL in ftp_send_command seems safer, but throughout the file
that parameter was always passed initialized. So I do it here
too for consistency.

Should fix CID1231988 (RESOURCE_LEAK)

OKed-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2014-08-26 00:52:29 +02:00
Christophe Gisquet
f75baa6c9b huffyuvdec: decode the last odd sample
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-25 23:24:07 +02:00
Christophe Gisquet
6ee7681723 huffyuvenc: write last odd sample
If width is odd, last sample wouldn't be written.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-25 23:12:30 +02:00
Michael Niedermayer
2a85826e57 avcodec/vp9: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-25 22:55:11 +02:00
Vignesh Venkatasubramanian
080acf7771 lavf/matroskadec: Ensure cues_end is initialized
Ensure that cues_start and cues_end are always initialized and
the webm_dash_manifest_cues function returns appropriate error if
they are not computed correctly.

This fixes coverity defect CID1231991.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-25 18:25:39 +02:00
Michael Niedermayer
bb29896793 avutil/opencl: use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-25 16:06:10 +02:00
Michael Niedermayer
52fca28c3b avcodec/vorbisenc: use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-25 16:03:54 +02:00
Michael Niedermayer
beaf86bd02 doc/APIchanges: fill in dates and hashes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-25 15:57:37 +02:00
Michael Niedermayer
d647ef0c80 avcodec/mpegvideo_parser: consider vbv_delay in bitrate heuristic also for mpeg2
Fixes bitrate detection in CBR mpeg2
Fixes ticket3678
2014-08-25 14:15:43 +02:00
Michael Niedermayer
08a110ca87 Merge commit '6ee1cb5740e7490151db7dcec7e20ceaf8a2fe1f'
* commit '6ee1cb5740e7490151db7dcec7e20ceaf8a2fe1f':
  libavformat: use MSG_NOSIGNAL when applicable

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-25 13:27:21 +02:00
Michael Niedermayer
215db2935b Merge commit 'b263f8ffe7599d9cd27ec477a12700da8eb2790d'
* commit 'b263f8ffe7599d9cd27ec477a12700da8eb2790d':
  lavf: add AVFormatContext.max_ts_probe

Conflicts:
	doc/APIchanges
	libavformat/avformat.h
	libavformat/utils.c
	libavformat/version.h

lavf-fate/mp3 changes as the estimated input bitrate changes and that is
copied to the output

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-25 13:25:09 +02:00
Michael Niedermayer
f1b04f803e Merge commit '6ca11f7157d0ffd11ea9a4211b04981b46dc75d6'
* commit '6ca11f7157d0ffd11ea9a4211b04981b46dc75d6':
  doc/APIchanges: fill in missing hashes and dates

Conflicts:
	doc/APIchanges

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-25 12:09:29 +02:00
Rémi Denis-Courmont
6ee1cb5740 libavformat: use MSG_NOSIGNAL when applicable
If the remote end of a connection oriented socket hangs up, generating
an EPIPE error is preferable over an unhandled SIGPIPE signal.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-08-25 10:49:14 +03:00
Anton Khirnov
b263f8ffe7 lavf: add AVFormatContext.max_ts_probe
It allows to configure how long will avformat_find_stream_info() wait
to get the first timestamp.
2014-08-25 05:17:54 +00:00
Anton Khirnov
6ca11f7157 doc/APIchanges: fill in missing hashes and dates 2014-08-25 05:16:26 +00:00
Michael Niedermayer
a2841d92c3 Revert "pnmenc: use bits_per_raw_sample"
This reverts commit 1506ea947d.

Revert requested by carl as well as author in "Re: [FFmpeg-devel] [PATCH]Fix pnm encoding with bpc set"
2014-08-25 02:59:17 +02:00
Michael Niedermayer
30f680ee0a avcodec/vc1dec: fix null pointer dereference
Fixes Ticket3860

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-25 02:18:31 +02:00
Reynaldo H. Verdejo Pinochet
07bc24973b ffserver: tests, use Metadata title in config
'Title' was deprecated with 9985710a5a

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-08-24 20:03:22 -04:00
Reynaldo H. Verdejo Pinochet
d67d407239 ffserver: tests, use new port/bindaddress config
Comming from commit 1013d8dd69
the old Port and BindAddress config vars have been deprecated
in favor of HTTPPort and HTTPBindAddress respectively.

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-08-24 20:03:22 -04:00
Michael Niedermayer
3fe9e7be4c avcodec/utils: add GBRP16 to avcodec_align_dimensions2()
Fixes Ticket3869

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-24 23:33:40 +02:00
Michael Niedermayer
511398031c Merge commit '424b929b5cb9ca4094099f25179829260d4b0fa3'
* commit '424b929b5cb9ca4094099f25179829260d4b0fa3':
  pulse: Add a wallclock option to be compatible with other other captures

Conflicts:
	libavdevice/pulse_audio_dec.c

wallclock mode was supported and default in FFmpeg already before this commit.
its thus left the default

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-24 21:33:59 +02:00
Michael Niedermayer
c2c4cee866 avformat/matroskaenc: Check alpha_mode
Fixes CID1231992

Suggested-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-24 20:33:17 +02:00
Carl Eugen Hoyos
cc0acdbd68 lavc/h264_slice: Add a missing newline to an error message. 2014-08-24 15:33:10 +02:00
Michael Niedermayer
f155e01ab0 Merge remote-tracking branch 'ubitux/codecview'
* ubitux/codecview:
  avfilter: add codecview filter

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-24 14:53:36 +02:00
Clément Bœsch
f888331769 avfilter: add codecview filter 2014-08-24 14:35:11 +02:00
Luca Barbato
424b929b5c pulse: Add a wallclock option to be compatible with other other captures
alsa and x11grab use av_gettime() to report timestamps.

Bug-Id: 647
2014-08-24 14:04:49 +02:00
Paul B Mahol
6dfa70f272 Correct few "ffmpeg" typos
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-08-24 11:05:42 +00:00
Paul B Mahol
b73b36bfa5 avcodec/xan: fix style issue
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-08-24 10:54:11 +00:00
Christophe Gisquet
3e892b2bcd x86: hevc_mc: split differently calls
In some cases, 2 or 3 calls are performed to functions for unusual
widths. Instead, perform 2 calls for different widths to split the
workload.

The 8+16 and 4+8 widths for respectively 8 and more than 8 bits can't
be processed that way without modifications: some calls use unaligned
buffers, and having branches to handle this was resulting in no
micro-benchmark benefit.

For block_w == 12 (around 1% of the pixels of the sequence):
Before:
12758 decicycles in epel_uni, 4093 runs, 3 skips
19389 decicycles in qpel_uni, 8187 runs, 5 skips
22699 decicycles in epel_bi, 32743 runs, 25 skips
34736 decicycles in qpel_bi, 32733 runs, 35 skips

After:
11929 decicycles in epel_uni, 4096 runs, 0 skips
18131 decicycles in qpel_uni, 8184 runs, 8 skips
20065 decicycles in epel_bi, 32750 runs, 18 skips
31458 decicycles in qpel_bi, 32753 runs, 15 skips

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-24 12:05:33 +02:00
Christophe Gisquet
38e2aa3759 x86: hevc_mc: correct unneeded use of SSE4 code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-24 11:43:33 +02:00
Christophe Gisquet
1506ea947d pnmenc: use bits_per_raw_sample
This allows writing actual bitdepth in RGB48 when it isn't actually 16.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-24 11:23:34 +02:00
Michael Niedermayer
2f0f937577 Changelog: add "H.261 RTP payload format (RFC 4587)"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-24 04:11:37 +02:00
Michael Niedermayer
1aa153d644 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  fate: Fix ffprobe tests with --target-path set.
  doc/ffmpeg: Try to clarify that the input option -r is not the same as -framerate.
  Do not print a useless error number if mov header reading fails.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-24 03:58:14 +02:00
ThomasVolkert
50a4d5cfc6 Add support for H.261 RTP payload format (RFC 4587) 2014-08-24 03:53:30 +02:00
Carl Eugen Hoyos
7c0c97cc05 fate: Fix ffprobe tests with --target-path set. 2014-08-24 03:04:23 +02:00
Carl Eugen Hoyos
6f78c70324 doc/ffmpeg: Try to clarify that the input option -r is not the same as -framerate. 2014-08-24 02:49:06 +02:00
Carl Eugen Hoyos
0744daa887 Do not print a useless error number if mov header reading fails.
The error string is printed by ffmpeg as for other demuxers.
2014-08-24 02:45:58 +02:00
Michael Niedermayer
ab1e431288 avcodec/tiff: Make pixel format checks tighter
Fixes assertion failure with imgsrc001-lzma.tiff

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-24 01:55:19 +02:00
James Almer
b140b51ebb lavc/tiff: add support for LZMA compression
Derived from deflate code.
Requires liblzma.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-24 01:21:39 +02:00
Michael Niedermayer
2e3c1699ae Merge commit '749b1f1359b5af0a08221923b016551b18ab6171'
* commit '749b1f1359b5af0a08221923b016551b18ab6171':
  configure: add --enable-rpath

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-23 22:46:06 +02:00
Michael Niedermayer
e3601ceeb8 Merge commit '5caf039ba2b4be067568a30146f29008d8db28d0'
* commit '5caf039ba2b4be067568a30146f29008d8db28d0':
  Prepare for 11_beta2 Release

Conflicts:
	RELEASE

Not merged as theres no FFmpeg 11_beta2

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-23 22:08:15 +02:00
Michael Niedermayer
9bff8cfc91 Merge commit 'f9f34cb9983ec6f4ef119c34b726d3b39c143110'
* commit 'f9f34cb9983ec6f4ef119c34b726d3b39c143110':
  ogg: Use separate classes for the aliases

Conflicts:
	libavformat/oggenc.c

See: 2ccc6ff03a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-23 21:42:13 +02:00
Clément Bœsch
554d819062 avutil/pixelutils: faster pixelutils_sad_16x16
501 to 439 decicycles.

See 45c7f3997e.
2014-08-23 20:12:56 +02:00
Reinhard Tartler
749b1f1359 configure: add --enable-rpath
This option facilitates testing shared libarary builds: for instance
fate builders do no longer need to set LD_LIBRARY_PATH as the binaries will
get the right search paths hardcoded into their executable file.

This option is only meant to be used for testing purposes: The installed
libraries must not move around in the file system, and doing so will
cause a lot of subtle problems. For more information why using RPATH is
dangerous, please refer to

https://blog.flameeyes.eu/2010/06/the-why-and-how-of-rpath
2014-08-23 10:53:21 -04:00
Reinhard Tartler
5caf039ba2 Prepare for 11_beta2 Release 2014-08-23 10:12:16 -04:00
Clément Bœsch
f4dec0dba0 doc/filters: fix Shwo/Show typo 2014-08-23 16:07:55 +02:00
Reimar Döffinger
8fc9bd0d32 dict.c: Free non-strduped av_dict_set arguments on error.
Unfortunately this was not explicitly documented and thus
might be risky.
But all uses I could find in FFmpeg and one in VLC had a memleak
in these cases, and I could not find any that relied on the previous
behaviour.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-23 15:28:48 +02:00
Clément Bœsch
45c7f3997e avutil/pixelutils: faster pixelutils_sad_[au]_16x16
~560 → ~500 decicycles

This is following the comments from Michael in
https://ffmpeg.org/pipermail/ffmpeg-devel/2014-August/160599.html

Using 2 registers for accumulator didn't help. On the other hand,
some re-ordering between the movs and psadbw allowed going ~538 to ~500.
2014-08-23 10:18:53 +02:00
Muhammad Faiz
c82a288f87 avfilter/showcqt: add fontcolor option 2014-08-23 10:01:22 +02:00
Michael Niedermayer
1fa35e4352 avcodec/h264_slice: More complete cleanup in h264_slice_header_init()
Fixes null pointer dereference
Fixes Ticket3873

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-23 03:47:14 +02:00
Michael Niedermayer
949057c958 avcodec/h264: do proper cleanup in ff_h264_alloc_tables() in case DPB alloc fails
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-23 03:47:14 +02:00
Luca Barbato
f9f34cb998 ogg: Use separate classes for the aliases
Unbreak 051aadeed1
2014-08-23 02:42:18 +02:00
Michael Niedermayer
7444cf9a9c avcodec/imc: Fix bitstream buffer padding
Fixes buffer overread

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-23 01:34:28 +02:00
Christophe Gisquet
585047bb7d h264: do not return on sidedata allocation failure
Not having allocated it is not a good reason to leave the object
in an undetermined state. Though a particular setting like the
AV_EF_* flags could be useful to control that behaviour.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-23 01:01:57 +02:00
Michael Niedermayer
aaaf7261b7 avcodec/hevc_ps: fix 1 vs. 0 typo
Found-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-22 23:00:41 +02:00
Timothy Gu
8495c6086d vidstabutils: improve documentation
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-22 22:19:20 +02:00
Timothy Gu
6e51e746c4 vidstab*: Remove accidentally exported av_2_vs_pixel_format()
Also correctly namespace other functions in vidstabutils, and decrease
difference from Libav.

Initial-patch-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-22 22:18:46 +02:00
Michael Niedermayer
d2a0624296 Merge commit '3526ab891c28396ada8b58bf7647309bab30de1d'
* commit '3526ab891c28396ada8b58bf7647309bab30de1d':
  qt-faststart: Undefine fseeko/ftello before defining them

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-22 21:55:27 +02:00
Michael Niedermayer
8f3caf52fc Merge commit '1019b7c4edff537499c4a6cb0d65abae04ce58f6'
* commit '1019b7c4edff537499c4a6cb0d65abae04ce58f6':
  os_support: Undefine lseek/stat/fstat before defining them

Conflicts:
	libavformat/os_support.h

See: ef122ff507
See: ed3c0fe85d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-22 21:49:14 +02:00
Michael Niedermayer
300d489ac9 Merge commit '051aadeed104ecbe8ee4850ec2d7e5394f5e1ccd'
* commit '051aadeed104ecbe8ee4850ec2d7e5394f5e1ccd':
  ogg: Provide aliases for Speex, Opus and audio-only ogg

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

See: 2ccc6ff03a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-22 21:41:00 +02:00
Michael Niedermayer
3e07a056a8 Merge commit 'cb7b1a2dfb547ab78342a7a9d5cd729d77d90421'
* commit 'cb7b1a2dfb547ab78342a7a9d5cd729d77d90421':
  electronicarts: set the framerate for TGQ/TQI

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-22 21:00:06 +02:00
Michael Niedermayer
ce1059d5c9 Merge commit '7b6aae23e12f41cdfac7f1069debfe44d9a3d136'
* commit '7b6aae23e12f41cdfac7f1069debfe44d9a3d136':
  electronicarts: read the framerate for MAD

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-22 20:50:16 +02:00
Christophe Gisquet
4adad5a19a wavpackenc: reset trailer info on block encoding
In some cases, in particular if several blocks are needed because of
the channel layout (e.g. 2.1), the information used to write the
trailing bits terminating the sample data was not reset.

This would cause potential desync on the decoder, although decoded
samples were actually mostly fine.

Fixes ticket #3879.
2014-08-22 18:44:16 +00:00
Christophe Gisquet
a59f85d106 wavpack: check number of channels
This means container and codec disagree. The codec is supposed to
know better so this could be an error instead.
2014-08-22 18:43:30 +00:00
Michael Niedermayer
350dd85345 Merge commit '4d6c5152849e23a4cc0f6a6ac2880c01ebcd301b'
* commit '4d6c5152849e23a4cc0f6a6ac2880c01ebcd301b':
  electronicarts: do not fail on zero-sized chunks

Conflicts:
	libavformat/electronicarts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-22 19:01:26 +02:00
Michael Niedermayer
e356f6c55d Merge commit 'dc4b2e7d33903a6b9380e8a84b22b3a20facbb08'
* commit 'dc4b2e7d33903a6b9380e8a84b22b3a20facbb08':
  rv34: use ff_mpeg_update_thread_context only when decoder is fully initialized

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-22 18:49:52 +02:00
Michael Niedermayer
de9e0386b2 Merge commit 'b0bfd09f88da8b7c7666faf0ac7d5e74559dba9f'
* commit 'b0bfd09f88da8b7c7666faf0ac7d5e74559dba9f':
  configure: Suppress "potentially uninitialized variable" warnings from MSVC

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-22 18:43:26 +02:00
Diego Biurrun
3526ab891c qt-faststart: Undefine fseeko/ftello before defining them
This avoids a number of redefinition warnings on MinGW64.
2014-08-22 18:35:20 +02:00
Diego Biurrun
1019b7c4ed os_support: Undefine lseek/stat/fstat before defining them
This avoids a number of redefinition warnings on MinGW64.
2014-08-22 18:35:19 +02:00
Christophe Gisquet
2346f2b5db x86: hevcdsp: use compilation-time-fixed constant
The stride for some buffers is known.

Reviewed-by: Mickaël Raulet <mraulet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-22 16:26:30 +02:00
Christophe Gisquet
dad7f15567 hevcdsp: remove more instances of compile-time-fixed parameters
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-22 15:22:42 +02:00
Christophe Gisquet
d4f44b66d3 hevcdsp: remove compilation-time-fixed parameter
The dststride parameter is always MAX_PB_SIZE.

Reviewed-by: Mickaël Raulet <mraulet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-22 14:57:37 +02:00
Christophe Gisquet
b9f3912a65 hevc: move MAX_PB_SIZE declaration
Reviewed-by: Mickaël Raulet <mraulet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-22 14:21:46 +02:00
Luca Barbato
051aadeed1 ogg: Provide aliases for Speex, Opus and audio-only ogg
Since they are aliases for ogg enabling any of them enables ogg as well.
2014-08-22 13:23:50 +02:00
Christophe Gisquet
fb1a98ec5b x86: hevc_mc: assume 2nd source stride is 64
Reviewed-by: Mickaël Raulet <mraulet@gmail.com
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-22 13:21:37 +02:00
Anton Khirnov
cb7b1a2dfb electronicarts: set the framerate for TGQ/TQI
It is hardcoded to 15fps.
2014-08-22 11:15:20 +00:00
Anton Khirnov
7b6aae23e1 electronicarts: read the framerate for MAD 2014-08-22 11:15:20 +00:00
Anton Khirnov
4d6c515284 electronicarts: do not fail on zero-sized chunks
At least one FATE sample contains such chunks and happens to work simply
by accident (due to find_stream_info() swallowing the error).

CC: libav-stable@libav.org
2014-08-22 11:15:20 +00:00
Janne Grunau
dc4b2e7d33 rv34: use ff_mpeg_update_thread_context only when decoder is fully initialized
MpegEncContext based decoders are only fully initialized after the first
ff_thread_get_buffer() call. The RV30/40 decoders may fail before a frame
buffer was requested. ff_mpeg_update_thread_context() fails on half
initialized MpegEncContexts. Since this can only happen before a the
first frame was decoded there is no need to call
ff_mpeg_update_thread_context().

Based on patches by John Stebbins and tested by John Stebbins.

CC: libav-stable@libav.org
2014-08-22 13:11:43 +02:00
Christophe Gisquet
e32eddaa51 wavpackenc: make assert more thorough
It was only validating that normal data wasn't filling the buffer.
However, extra data may be written afterwards.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-22 12:30:10 +02:00
Christophe Gisquet
ddad093972 wavpackenc: fix number of samples per block
Currently, the encoder will try to reduce it down to 150000, but the
decoder will complain starting at 131072 (WV_MAX_SAMPLES). Therefore,
change the loop limit.

Fixes ticket #3881.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-22 12:18:08 +02:00
Michael Niedermayer
1b5ec6a0c3 avcodec/fic: Check if a frame is available before using it
Fixes null pointer dereference
Fixes: ficvf.avi
Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-22 02:22:31 +02:00
Michael Niedermayer
fccd85b9f3 avcodec: fix aac/ac3 parser bitstream buffer size
Buffers containing copies of the AAC and AC3 header bits were not padded
before parsing, violating init_get_bits() buffer padding requirement,
leading to potential buffer read overflows.
This change adds FF_INPUT_BUFFER_PADDING_SIZE bytes to the bit buffer
for parsing the header in each of aac_parser.c and ac3_parser.c.

Based on patch by: Matt Wolenetz <wolenetz@chromium.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-22 01:24:40 +02:00
Christophe Gisquet
b3d6543caf dpxenc: fix padding in encode_gbrp12
It was added per pixel instead of per line.

Reviewed-by: James Darnley <james.darnley@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-21 23:02:48 +02:00
Christophe Gisquet
0625a38066 hevc_ps: check overflow and test alternate syntax
Some streams were found to have what appeared to be truncated SPS.
Their syntax seem to be valid at least until the end of the VUI, so
try that syntax if the parsing would overflow the SPS in the
conforming syntax.

Fixes ticket #3872.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-21 22:04:43 +02:00
Michael Niedermayer
fca76dc61e Merge commit '13c90bc9a359e969cc2b7f7e8199b02a0e4c6ec9'
* commit '13c90bc9a359e969cc2b7f7e8199b02a0e4c6ec9':
  adts: Return more meaningful error codes

Conflicts:
	libavformat/adtsenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-21 21:56:33 +02:00
Michael Niedermayer
2bfd4ff16d Merge commit '593aaee953f8b07c141ff115e67bae85ef0350c7'
* commit '593aaee953f8b07c141ff115e67bae85ef0350c7':
  setpts: Add missing inttypes.h #include for PRId64

Conflicts:
	libavfilter/setpts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-21 21:47:43 +02:00
Michael Niedermayer
4f49c39a2f Merge commit '8fc6a70c2167b645b7a37d0cbc0e276e7b787cc9'
* commit '8fc6a70c2167b645b7a37d0cbc0e276e7b787cc9':
  mpeg12enc: Add missing #include for PICT_FRAME

See: 9517900bef
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-21 21:39:40 +02:00
Michael Niedermayer
f6ff1cb1ba Merge commit '7cb66ebc0be48489785f7166c9d15eac594b0763'
* commit '7cb66ebc0be48489785f7166c9d15eac594b0763':
  error_resilience: Drop asserts from guess_mv()

Conflicts:
	libavcodec/error_resilience.c

Not merged, the asserts in FFmpeg build and work fine

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-21 21:30:31 +02:00
Michael Niedermayer
24e81a0a8d Merge commit '11cd727fbd603197cb1e49654fce3352d56f8fd8'
* commit '11cd727fbd603197cb1e49654fce3352d56f8fd8':
  vsrc_movie: Adjust a silly typo from b977b287f6

Conflicts:
	libavfilter/src_movie.c

No change, the typo is not part of FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-21 21:23:14 +02:00
James Almer
54ca4dd43b x86/hevc_res_add: refactor ff_hevc_transform_add{16,32}_8
* Reduced xmm register count to 7 (As such they are now enabled for x86_32).
* Removed four movdqa (affects the sse2 version only).
* pxor is now used to clear m0 only once.

~5% faster.

Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-08-21 15:01:33 -03:00
Christophe Gisquet
4a5cc34b46 wavpackenc: assert on too small buffer
bytestream2_* will not cause buffer overflow, but in that case, this means
the allocation would be incorrect and the encoded result invalid. Therefore,
assert no overflow occurred.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-21 17:59:06 +02:00
Diego Biurrun
b0bfd09f88 configure: Suppress "potentially uninitialized variable" warnings from MSVC
The same is done for GCC and clang already.
2014-08-21 17:55:28 +02:00
Michael Niedermayer
a9f3bb14ba avformat/mov: use 64bit for size in mov_skip_multiple_stsd()
Fixes integer overflow
Fixes Ticket 3866

Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-21 17:49:37 +02:00
Stefano Sabatini
7e4a4bda0e doc/filters/apad: extend documentation 2014-08-21 16:59:18 +02:00
Stefano Sabatini
aade9884e9 lavfi/apad: fix logic when whole_len or pad_len options are specified
In particular, allow pad_len and whole_len to have value set to 0, which
means that no padding will be added. Previously a value set to 0 meant
that that the filter had to pad forever.

The new semantics is clearer, also simplifies scripting since the option
value might be automatically computed, so that no checks need to be done
in case it is 0.

The old semantics was never documented and the logic was broken (the
filter was always adding samples indefinitely), so this should not break
backward compatibility.
2014-08-21 16:59:07 +02:00
Christophe Gisquet
4728cdd880 imc: reject files with unfathomable sampling rates
With huge sampling rates, the table derivation method does not converge fast
enough. While fixing it using e.g. Newton-Rhapson-like methods (the curve is
nicely convex) is possible, it is much simpler to reject these cases.

The value of 96000 was arbitrarily chosen as a realistic value, though
1000000 would still work and converge.

Fixes ticket #3868.

Suggested-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-21 14:20:46 +02:00
Michael Niedermayer
b09ea25fec avfilter/vf_lenscorrection: fix memleak
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-21 13:35:30 +02:00
Nidhi Makhijani
13c90bc9a3 adts: Return more meaningful error codes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-21 04:25:48 -07:00
Diego Biurrun
593aaee953 setpts: Add missing inttypes.h #include for PRId64
Also convert a debug av_log() to av_dlog().
2014-08-21 04:18:24 -07:00
Diego Biurrun
8fc6a70c21 mpeg12enc: Add missing #include for PICT_FRAME 2014-08-21 04:18:23 -07:00
Diego Biurrun
7cb66ebc0b error_resilience: Drop asserts from guess_mv()
The asserts check struct members that are not referenced in guess_mv()
and one of them fails to compile.
2014-08-21 04:18:23 -07:00
Diego Biurrun
11cd727fbd vsrc_movie: Adjust a silly typo from b977b287f6 2014-08-21 04:18:23 -07:00
Clément Bœsch
f5ddce0753 doc/APIChanges: fill 2 hashes from my recent API additions 2014-08-21 12:36:28 +02:00
Clément Bœsch
980a5b01fd avutil/motion_vector.h: fix coordinate types
See b0352b1997 for more information on the
feature.
2014-08-21 12:27:34 +02:00
Michael Niedermayer
32cb6c1fe2 avfilter/vf_lenscorrection: get rid of floats in init code
The only remaining floats are in the user interface, they are left as they
should not cause a problem in practice

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-21 11:54:30 +02:00
Michael Niedermayer
2450ca0f33 avfilter/vf_lenscorrection: get rid of all floats per frame
there are some still left for 1 time initialization

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-21 11:42:57 +02:00
Michael Niedermayer
c1b663bc92 avfilter/vf_lenscorrection: get rid of some floats 2014-08-21 11:42:56 +02:00
Christophe Gisquet
50a35f0d2e fate: add test for old (v1) huffyuv and rgba
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-21 02:20:07 +02:00
Christophe Gisquet
331b1f7d81 huffyuvdec: fix old (v1) rgba
Commit deadcf5e misplaced a hunk.

Fixes ticket #3877.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-21 02:19:55 +02:00
Clément Bœsch
e298b2f5d6 avfilter/showwaves: align const mode values (cosmetics) 2014-08-20 22:32:06 +02:00
Clément Bœsch
5abcc8e1a0 doc/filters: fix cline option name recently added 2014-08-20 22:30:38 +02:00
Clément Bœsch
e35fb5add4 avfilter/showwaves: add split_channels option 2014-08-20 22:18:38 +02:00
Clément Bœsch
ba29746feb avfilter/showwaves: split out draw sample code 2014-08-20 22:18:35 +02:00
Clément Bœsch
f2f6d45dbd avfilter/showwaves: add "cline" mode (centered line) 2014-08-20 22:16:50 +02:00
James Almer
76a99d467f x86/hecv_res_add: add ff_hevc_transform_add{8,16,32}_8_avx
~15% faster than sse2

Reviewed-by: Mickaël Raulet <mraulet@gmail.com>
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-08-20 16:54:52 -03:00
Lou Logan
d2163f5e28 doc/ffmpeg: fix metadata language example
Signed-off-by: Lou Logan <lou@lrcd.com>
2014-08-20 10:44:22 -08:00
Michael Niedermayer
a5cbff22b2 avfilter/avf_showspectrum: fix colums typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-20 18:49:01 +02:00
Michael Niedermayer
2076095549 avformat/asfdec: Check av_new_packet()s return code
Fixes CID1041093

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-20 18:32:59 +02:00
Michael Niedermayer
05dd5368a9 avformat/nutdec: always initialize event_flags
Fixes: CID1231990

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-20 16:45:08 +02:00
Michael Niedermayer
7caacc50ae avcodec/hevc_ps: do cleanup in case of unsupported bit depth
Fixes memleak
Fixes CID1231989

Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Reviewed-by: Mickaël Raulet <mraulet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-20 15:14:53 +02:00
Stefano Sabatini
cb0524f7a0 lavfi/apad: fix if_( style 2014-08-20 12:35:16 +02:00
James Almer
9f498f4e6f x86/hevc_res_add: fix register count in hevc_transform_add{16,32}_10_avx2
Signed-off-by: James Almer <jamrial@gmail.com>
2014-08-19 21:34:52 -03:00
Pierre Edouard Lepere
a6af4bf64d x86: hevc: adding transform_add
Reviewed-by: James Almer <jamrial@gmail.com>
Approved-by: Ronald S. Bultje
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-20 01:28:56 +02:00
Michael Niedermayer
5a22877e9d Merge commit '67a7695c142561fe60f21adffe89c133385d37c9'
* commit '67a7695c142561fe60f21adffe89c133385d37c9':
  avfilter: Remove unused variable from ff_get_video_buffer()

Conflicts:
	libavfilter/video.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-20 00:23:15 +02:00
James Almer
201a511bb9 lavc/tiff: add support for YUV deflate
Signed-off-by: James Almer <jamrial@gmail.com>
2014-08-19 18:48:39 -03:00
James Almer
b4231b4fed lavc/tiff: move unpack_yuv() above the deflate functions
Signed-off-by: James Almer <jamrial@gmail.com>
2014-08-19 18:48:31 -03:00
Jon Morley
18e70006e7 avcodec/adpcm: Fix incorrect AVSampleFormat for sample_fmts_s16p
The AVSampleFormat list of sample_fmts_s16p is missing the trailing "P" for planar formats. AV_SAMPLE_FMT_S16 vs AV_SAMPLE_FMT_S16P

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-19 23:09:16 +02:00
Michael Niedermayer
f0c0ae37c6 avcodec/tiff: Check that pix_fmt is a yuv variant for TIFF_PHOTOMETRIC_YCBCR
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-19 21:09:07 +02:00
Michael Niedermayer
6ea69a8ffa avcodec/tiff: do not use photometric to detect pix_fmt
They should match but they do not always
Fixes assertion failure
no testcase with unmodified source available

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-19 21:09:07 +02:00
Moritz Barsnick
66d02d3ca6 align and correct messages regarding bitstream filters
The messages regarding the recommended use of bitstream filters are somewhat different.
This also adds the ":v" stream specifier to "-bsf h264_mp4toannexb".

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-19 20:18:01 +02:00
Michael Niedermayer
b1cf83b3d4 Merge commit 'b977b287f61fea48ecd6251d54a26334213b7ec6'
* commit 'b977b287f61fea48ecd6251d54a26334213b7ec6':
  vsrc_movie: Avoid a variable indirection in movie_get_frame()

Conflicts:
	libavfilter/src_movie.c

no change as theres no such code in src_movie.c in FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-19 19:58:17 +02:00
Michael Niedermayer
746095bc29 Merge commit '6af2930222ee5d8ce19f3b999a78d85a3c457391'
* commit '6af2930222ee5d8ce19f3b999a78d85a3c457391':
  pcm: Drop av_unused attribute from variable that is always used

Conflicts:
	libavcodec/pcm.c

No change as there is no such av_unused variable in ffmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-19 19:13:49 +02:00
Michael Niedermayer
4042c8eee1 Merge commit '14d2006ca6c0e2b54784b93560f09e0e19c0a270'
* commit '14d2006ca6c0e2b54784b93560f09e0e19c0a270':
  pcm: Drop unused variable from DECODE_PLANAR macro

Conflicts:
	libavcodec/pcm.c

No change as the changed code isnt in ffmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-19 19:11:58 +02:00
Diego Biurrun
67a7695c14 avfilter: Remove unused variable from ff_get_video_buffer() 2014-08-19 09:50:18 -07:00
Michael Niedermayer
580e81fca5 Merge commit 'd456baafb68cd80c0f537f1d843076e4dd853558'
* commit 'd456baafb68cd80c0f537f1d843076e4dd853558':
  vc1: Add missing parentheses to conditions in vc1_decode_b_mb_intfr()

Conflicts:
	libavcodec/vc1dec.c

See: 1e2ab98460
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-19 18:50:11 +02:00
Michael Niedermayer
c18a3b3e8e Merge commit '8bc52dbd9dffb1b2fa4a6aeed2d298d036b619b2'
* commit '8bc52dbd9dffb1b2fa4a6aeed2d298d036b619b2':
  vfwcap: Drop fallback VfW defines

Conflicts:
	libavdevice/vfwcap.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-19 18:33:46 +02:00
Michael Niedermayer
b07dc81a9e Merge commit '86dfcfd0e30d6645eea2c63c1c60a0550e7c97ea'
* commit '86dfcfd0e30d6645eea2c63c1c60a0550e7c97ea':
  mov: Drop unused parameter from ff_mov_read_esds()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-19 18:27:51 +02:00
Christophe Gisquet
2ba58bec20 wavpackenc: proper buffer allocation
The allocation didn't account for headers, that can be easily 79 bytes.
As a result, buffers allocated for a few samples (e.g. 5 in the original
bug) could be undersized.

Fixed ticket #2881.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-19 18:04:25 +02:00
Christophe Gisquet
11a39bdf53 wavpack: report if there is no bits left
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-19 17:47:46 +02:00
rogerdpack
ea97859c8c gdigrab: fix gdi object leak if using mouse
based on patch from hlszl1983@163.com

Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-19 16:07:28 +02:00
Paul B Mahol
9a07c15f48 avcodec/pafaudio: use paf.h instead
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-08-19 13:35:44 +00:00
Paul B Mahol
02dc75f218 avcodec/pafvideo: remove unused header
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-08-19 13:35:02 +00:00
Diego Biurrun
b977b287f6 vsrc_movie: Avoid a variable indirection in movie_get_frame()
This avoids an unused variable warning with MSVC since the variable is
only used in a debug mode printf statement.
2014-08-19 06:22:08 -07:00
Diego Biurrun
6af2930222 pcm: Drop av_unused attribute from variable that is always used 2014-08-19 06:22:08 -07:00
Diego Biurrun
14d2006ca6 pcm: Drop unused variable from DECODE_PLANAR macro 2014-08-19 06:22:07 -07:00
Diego Biurrun
d456baafb6 vc1: Add missing parentheses to conditions in vc1_decode_b_mb_intfr() 2014-08-19 06:22:07 -07:00
Diego Biurrun
8bc52dbd9d vfwcap: Drop fallback VfW defines
The defines were added long ago when MinGW still lacked them.
2014-08-19 06:22:07 -07:00
Diego Biurrun
86dfcfd0e3 mov: Drop unused parameter from ff_mov_read_esds()
This is cleaner and avoids an uninitialized variable warning with MSVC.
2014-08-19 06:22:07 -07:00
Michael Niedermayer
f0e51be8d0 avcodec/proresenc_kostya: allocate 1 slice more to avoid triggering the reallocation warning when the used space is actually less than the allocated
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-19 14:04:50 +02:00
Michael Niedermayer
76a8cb9d7b avcodec/proresenc_kostya: set initial max_slice_size based on frame_size_upper_bound
If the initial max_slice_size is 0 then reallocation is disabled for the first
slice.

Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-19 14:04:30 +02:00
Christophe Gisquet
1467780772 huffyuvenc: add a non-deterministic option
Not actually used in huffyuvenc, but rather in setting the frame
threading.

Example for some files:
context=0:       851974   27226   1137281
context=1,ND=0:  471819   22604    972351
context=1,ND=1:  472875   22673    972582

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-19 13:47:18 +02:00
Pavel Koshevoy
6380f2e367 avfilter/atempo: Flush all buffered input samples
Fixes ticket #3829

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-19 12:53:09 +02:00
Ben Hagen
c9a5497a0b avformat/cinedec: allow number zero in metadata 2014-08-19 11:23:49 +02:00
Lukasz Marek
3c19744218 lavu/log: add device category macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-18 22:37:03 +02:00
Lukasz Marek
96602f4e34 lavd/pulse_audio_dec: use default source when no input provided
PulseAudio expilitly requires name of the source.
This patch makes it use default source when not provided.
It simplifies programistic use.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-18 22:36:46 +02:00
Christophe Gisquet
30cac8313a alac: add option to decoded incorrect ALAC
Prior to 56.1.100, incorrect ALAC files for 24bps content were produced, in
particular not decoding losslessly.

Add an option to allow correctly decoding those streams.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-18 21:59:23 +02:00
Michael Niedermayer
cdd0ad7be1 Merge commit '41e1354c101004ccd46dc08d3dd6e956e83a6b51'
* commit '41e1354c101004ccd46dc08d3dd6e956e83a6b51':
  proresenc: Properly account for alpha plane

Conflicts:
	libavcodec/proresenc_kostya.c

See: 117bc8e6ff
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-18 20:27:41 +02:00
Michael Niedermayer
e348a81a66 Merge commit '45ce880a9b3e50cfa088f111dffaf8685bd7bc6b'
* commit '45ce880a9b3e50cfa088f111dffaf8685bd7bc6b':
  proresenc: Realloc if buffer is too small

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-18 20:21:02 +02:00
Michael Niedermayer
e8a2f8cc12 Merge commit '58b68e4fdea22e22178e237bda950b09cc6f363a'
* commit '58b68e4fdea22e22178e237bda950b09cc6f363a':
  proresenc: Report buffer overflow

Conflicts:
	libavcodec/proresenc_kostya.c

See: 52b81ff463
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-18 20:11:31 +02:00
Michael Niedermayer
43b769b0c4 Merge commit 'b16699f2da9c1d41eff852ec3a0c81f74fd44421'
* commit 'b16699f2da9c1d41eff852ec3a0c81f74fd44421':
  proresenc: Remove unneeded parameters from encode_alpha_plane()

Conflicts:
	libavcodec/proresenc_kostya.c

See: bf10f09bcc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-18 20:01:14 +02:00
Michael Niedermayer
3f0c76e262 Merge commit '12640e4cbb142be0cd025bcf37f1ea437bdfecd0'
* commit '12640e4cbb142be0cd025bcf37f1ea437bdfecd0':
  tiff: Return proper error for missing LZMA compression

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-18 19:52:22 +02:00
Michael Niedermayer
f47751a56c Merge commit 'dd35d451fbc34795a8d19ac6c281bed53c42a29b'
* commit 'dd35d451fbc34795a8d19ac6c281bed53c42a29b':
  doc: Change wrong term to avoid confusion

Conflicts:
	doc/developer.texi

No change, as the wrong term is not part of our docs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-18 19:51:40 +02:00
Andrey Myznikov
79593096c4 avformat/a64: Avoid segfault in a64_write_header() when stream codec is not open
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-18 19:48:18 +02:00
Christophe Gisquet
41e1354c10 proresenc: Properly account for alpha plane
The packet buffer allocation considers the alpha channel as DCT-coded,
while it is actually run-coded and thus requires a larger buffer.

CC: libav-stable@libav.org

Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-08-18 18:58:01 +02:00
Christophe Gisquet
45ce880a9b proresenc: Realloc if buffer is too small
The buffer allocation may be incorrect (e.g. with an alpha plane),
and currently causes the buffer to be set to NULL by init_put_bits,
causing a crash later on.

So, detect that situation, and if detected, reallocate the buffer
and ask for a sample that shows the problem.

CC: libav-stable@libav.org

Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-08-18 18:57:06 +02:00
Christophe Gisquet
58b68e4fde proresenc: Report buffer overflow
If the allocated size, despite best efforts, is too small, exit
with the appropriate error.

CC: libav-stable@libav.org

Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-08-18 18:51:44 +02:00
Christophe Gisquet
b16699f2da proresenc: Remove unneeded parameters from encode_alpha_plane()
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-08-18 18:48:14 +02:00
Paul B Mahol
b6543421f5 avformat/iff: rudimentary support for animations
For now only first frame is decoded.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-08-18 13:51:52 +00:00
Diego Elio Pettenò
12640e4cbb tiff: Return proper error for missing LZMA compression
The LZMA support is a semi-official extension supported by libtiff 4.0.0
and later.

Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-08-18 14:23:24 +02:00
Clément Bœsch
b0352b1997 avcodec: export motion vectors in frame side data on demand
The reasoning behind this addition is that various third party
applications are interested in getting some motion information out of a
video "for free" when it is available.

It was considered to export other information as well (such as the intra
information about the block, or the quantization) but the structure
might have ended up into a half full-generic, half full of codec
specific cruft. If more information is necessary, it should either be
added in the "flags" field of the AVMotionVector structure, or in
another side-data.

This commit also includes an example exporting them in a CSV stream.
2014-08-18 14:13:57 +02:00
Michael Niedermayer
c5f43c8888 avdevice/v4l2: try to fix build for openbsd
Found-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-18 14:03:03 +02:00
Paul B Mahol
3dca5a5c41 wvdec: check for eof in wv_read_block_header()
Fixes Ticket #3865
Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-08-18 11:30:35 +00:00
Gabriel Dume
dd35d451fb doc: Change wrong term to avoid confusion
A function declaration is the prototype.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-08-18 13:29:25 +02:00
Paul B Mahol
90b2f31367 cafdec: check for eof in read_info_chunk()
Fixes Ticket #3864
Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-08-18 10:32:57 +00:00
Michael Niedermayer
ca2160b5b3 Merge commit '42604902292ebaba39b13e8efd98419908518019'
* commit '42604902292ebaba39b13e8efd98419908518019':
  Prepare for 11_beta1 Release

Conflicts:
	RELEASE

No change, not merged

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-18 10:24:23 +02:00
Christophe Gisquet
4ddb3a6df0 gifdec: use truncated width for image manipulation
Some files seem to have an off-by-one error. In most cases, it appears to
be on the image width. Therefore, if the decoded image doesn't fit in the
screen:
- If it is wider than the screen (and the lzw decoding buffer), reject it;
- Otherwise, decode the indicated amount, but only write a truncated amount
  to the screen.

Fixes ticket #3538.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-18 09:49:01 +02:00
James Almer
853c1fb668 lavf/wavdec: add sanity check for AVCodecContext.channels
Fixes ticket #3862.
As a side effect, this also fixes aac_latm in wav.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-18 09:29:25 +02:00
Andre Wolokita
44e95a017c lavd/v4l2: do not fail when VIDIOC_ENUMSTD returns ENODATA
As of September 14 2012, v4l_enumstd() will return ENODATA
when a device's std field is set to 0. That is, the device
does not have a standard format. In order to properly
handle this case, v4l2_set_parameters should catch the
ENODATA code and break instead of failing.

Below is the v4l2-core commit describing this change.

>>commit a5338190efc7cfa8c99a6856342a77d21c9a05cf
>>Author: Hans Verkuil <hans.verkuil@cisco.com>
>>Date:   Fri Sep 14 06:45:43 2012 -0300
>>
>>    [media] v4l2-core: tvnorms may be 0 for a given input, handle that case
>>
>>    Currently the core code looks at tvnorms to see whether ENUMSTD
>>    or G_PARM should be enabled. This is not a good check for drivers
>>    that support the STD API on one input and the DV Timings API on another.
>>    In that case tvnorms may be 0.
>>    Instead check whether s_std is present (for ENUMSTD) or whether g_std or
>>    current_norm is present for g_parm.
>>    Also, in the enumstd core function return ENODATA if tvnorms is 0,
>>    because in that case the current input does not support the STD API
>>    and ENUMSTD should return ENODATA for that.
>>
>>    Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
>>    Reviewed-by: Sakari Ailus <sakari.ailus@iki.fi>
>>    Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2014-08-18 09:20:00 +02:00
Reynaldo H. Verdejo Pinochet
fb2de3c4d1 ffserver: warn if config uses a system port
Should be harmless as far as users know what they are doing
but an informative warning wont hurt. For details, refer to
http://tools.ietf.org/html/rfc6335

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-08-17 22:51:45 -04:00
Stefano Sabatini
1013d8dd69 ffserver: deprecate Port and BindAddress options in favor of HTTPPort and HTTPBindAddress
The new option names are more explicit.

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-08-17 22:51:45 -04:00
Reinhard Tartler
4260490229 Prepare for 11_beta1 Release 2014-08-17 22:18:19 -04:00
Christophe Gisquet
96d2178325 alacenc: fix extra bits extraction
The raw coded bits are extracted prior to decorrelation, as is correctly
performed by the decoder, and not after.

Fixes ticket #2768.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-18 02:51:34 +02:00
Christophe Gisquet
c0d18cc085 alacenc: increase predictor buffer
This change is almost cosmetical only, and reduces the changes needed to
fix the 24bps case.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-18 02:50:20 +02:00
Mark Reid
882fb53cb7 avformat/mxf: added ULs for demuxing avid media composer mxf files
The AAF SDK refers to these ULs as Legacy. These ULs are the same as the
ones found in FFmbc's version of mxf.c and the ones found in libMXF
Fixes Ticket#1554, Ticket#3100 and Ticket#3450
2014-08-18 02:36:32 +02:00
Michael Niedermayer
00aa2ebb1c Merge commit '369380e1c4c6fc9b0d9ff04ec23d46b252ba7110'
* commit '369380e1c4c6fc9b0d9ff04ec23d46b252ba7110':
  mxf: Support AAC

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-17 23:06:38 +02:00
Michael Niedermayer
887d85fdcc Merge commit '747cd9560c2248ff2834f29cd2190646330e4676'
* commit '747cd9560c2248ff2834f29cd2190646330e4676':
  mxf: Add the UL for the MPEG2VideoDescriptor

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-17 22:00:50 +02:00
Michael Niedermayer
ecb7f1dd52 Merge commit '304089aca7d238ae184e09993b5c737aa22e2c2c'
* commit '304089aca7d238ae184e09993b5c737aa22e2c2c':
  mxf: Add UID print helpers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-17 21:50:06 +02:00
Michael Niedermayer
c939eea107 Merge commit '11db644a8e54f02e54d2eaad343a87fcb697c15e'
* commit '11db644a8e54f02e54d2eaad343a87fcb697c15e':
  lavr: Update the planar check in ff_audio_convert

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-17 21:43:06 +02:00
Michael Niedermayer
eb706575ba Merge commit '96ce6d6f119a16e489941c629a2805204322b717'
* commit '96ce6d6f119a16e489941c629a2805204322b717':
  doc: Add more information in the README

Conflicts:
	README.md

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-17 21:41:55 +02:00
Michael Niedermayer
3d40ba3d81 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavf/http: remove special case for cookies attributes.
  lavf/http: fix cookie parsing.

Reviewed-by: Ronald S. Bultje
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-17 20:49:01 +02:00
Nicolas George
4bebce0617 lavf/http: remove special case for cookies attributes.
With the previous change, unknown attributes are all ignored,
as specified by the RFC.
2014-08-17 20:07:27 +02:00
Nicolas George
481cbc5ad5 lavf/http: fix cookie parsing.
The current code would use any unknown attribute-value pair
as the cookie value.
RFC 6265 states that the first key-value pair is the actual
cookie, and the attribute-value pairs only start after.

With the current code:
Set-Cookie: test=good_value; path=/; dummy=42
gives this:
Cookie: dummy=42
instead of this with the new code:
Cookie: test=good_value
2014-08-17 20:07:27 +02:00
Piotr Bandurski
a3329a09f9 avcodec/lcldec: fix decoding of YUV444 sample
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-17 18:53:06 +02:00
Luca Barbato
369380e1c4 mxf: Support AAC
Update mxf_set_audio_pts to use the container-provided information.

The UL is marked as "to be changed in the future", but the current
samples in the wild do use it.
2014-08-17 16:11:16 +02:00
Luca Barbato
747cd9560c mxf: Add the UL for the MPEG2VideoDescriptor 2014-08-17 16:11:02 +02:00
Luca Barbato
304089aca7 mxf: Add UID print helpers
And use it to print non-parsed ULs.
2014-08-17 16:11:02 +02:00
Luca Barbato
11db644a8e lavr: Update the planar check in ff_audio_convert
Leftover from fbc0b86599.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-08-17 16:11:02 +02:00
Michael Niedermayer
94f60b6544 avcodec/h264_mb: fix grayscale only decoding with weighted prediction
Fixes Ticket3412

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-17 15:00:16 +02:00
Michael Niedermayer
b6c9266722 avcodec/rpza: fix +- error
Fixes Ticket3471

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-17 14:39:43 +02:00
Michael Niedermayer
afe23e430e vcodec/rpza: print mismatching size in case of error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-17 14:30:06 +02:00
Michael Niedermayer
cabcd8ff66 avformat/movenchint: use av_freep() for safety
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-17 13:27:20 +02:00
Nicolas George
4f3e2f107b ffprobe: add -show_data_hash option. 2014-08-17 11:30:55 +02:00
Timothy Gu
32c712f143 vidstabutils: fix indentation
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-17 11:28:23 +02:00
Michael Niedermayer
427bcdf035 avformat/mpegts: Use differential score for analyze()
This avoids high scores in random data that has a high 0x47 frequency

Fixes Ticket3844

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-16 23:24:51 +02:00
Michael Niedermayer
b7d5e016a3 swresample: Add AVFrame based API
Based on commit fb1ddcdc8f by Luca Barbato <lu_zero@gentoo.org>
Adapted for libswresample by Michael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-16 20:39:37 +02:00
Michael Niedermayer
3574d34aca Merge remote-tracking branch 'cus/stable'
* cus/stable:
  mpegts: always parse pcr

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-16 20:00:26 +02:00
Ben Hagen
6928ea7eb0 cinedec: add shutter and crop metadata 2014-08-16 19:14:49 +02:00
Michael Niedermayer
e7f3b507a3 avcodec/mips/compute_antialias_float: remove unused variable
Reviewed-by: James Darnley <james.darnley@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-16 15:58:41 +02:00
Michael Niedermayer
97bb456b6b avcodec/hevc_mvs: dont redundantly initialize ref_idx_curr
Reviewed-by: James Darnley <james.darnley@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-16 15:58:40 +02:00
Michael Niedermayer
74c81106d2 avformat/udp: remove unneeded variable initialization
Found-by: James Darnley <james.darnley@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-16 15:58:40 +02:00
Michael Niedermayer
7916053ced avformat/udp: dont mix integers with pointers
Reviewed-by: James Darnley <james.darnley@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-16 15:58:40 +02:00
Michael Niedermayer
0014541e9a avcodec/dvbsubdec: dont mix integers with pointers
Reviewed-by: James Darnley <james.darnley@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-16 15:58:40 +02:00
Michael Niedermayer
2d7cec14be avcodec/dvdsubdec: Dont mix integers with pointers
Reviewed-by: James Darnley <james.darnley@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-16 15:58:40 +02:00
Reimar Döffinger
bddc592001 dict.c: empty dictionaries should be a NULL pointer.
Ensure this is even the case if they are empty because
we failed adding the first entry.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-16 14:47:06 +02:00
Reimar Döffinger
a0941c8a2b Use new av_dict_set_int helper function.
Get rid of the many, slightly differing, implementations
of basically the same thing.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-16 14:31:41 +02:00
Reimar Döffinger
c2829dc925 dict.c: Add av_dict_set_int helper function.
This allows getting rid of the many, slightly differing, implementations
of basically the same thing.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-16 14:30:18 +02:00
Marton Balint
51748b6377 mpegts: always parse pcr
Previously pcr transmitted without payload but as part of the video stream was
not parsed.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-08-16 13:24:39 +02:00
Michael Niedermayer
82e0cb360a avformat/thp: dont mix integers with pointers
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-16 12:04:45 +02:00
Michael Niedermayer
65f05eff0a avfilter/lavfutils/ff_load_image: Return error if no frame could be decoded
Based-on suggestion by JULIAN GARDNER <joolzg@btinternet.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-16 01:34:34 +02:00
Luca Barbato
96ce6d6f11 doc: Add more information in the README
And convert it to Markdown.
2014-08-16 00:49:22 +02:00
Clément Bœsch
11aab8d6cb ffmpeg: look for encoding options in both avcodec and avformat
This patch is the same as 8a1714ad85 but
applied to encoding. It fixes the current clash of the -password option
between tta decoder and the icecast protocol.
2014-08-15 23:56:09 +02:00
Michael Niedermayer
81a663f49e Drop remaining unneeded != NULL
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 22:47:45 +02:00
Michael Niedermayer
60dbed6067 Merge commit '4b1f5e5090abed6c618c8ba380cd7d28d140f867'
* commit '4b1f5e5090abed6c618c8ba380cd7d28d140f867':
  cosmetics: Write NULL pointer inequality checks more compactly

Conflicts:
	libavcodec/dvdsubdec.c
	libavcodec/h263dec.c
	libavcodec/libxvid.c
	libavcodec/rv10.c
	libavcodec/utils.c
	libavformat/format.c
	libavformat/matroskadec.c
	libavformat/segment.c
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 21:26:12 +02:00
Michael Niedermayer
fb33bff990 Merge commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39'
* commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39':
  cosmetics: Write NULL pointer equality checks more compactly

Conflicts:
	cmdutils.c
	ffmpeg_opt.c
	ffplay.c
	libavcodec/dvbsub.c
	libavcodec/dvdsubdec.c
	libavcodec/dvdsubenc.c
	libavcodec/dxa.c
	libavcodec/libxvid_rc.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/rv10.c
	libavcodec/tiffenc.c
	libavcodec/utils.c
	libavcodec/vc1dec.c
	libavcodec/zmbv.c
	libavdevice/v4l2.c
	libavformat/matroskadec.c
	libavformat/movenc.c
	libavformat/sdp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 21:00:50 +02:00
Michael Niedermayer
3bb2297351 Merge commit 'efd26bedec9a345a5960dbfcbaec888418f2d4e6'
* commit 'efd26bedec9a345a5960dbfcbaec888418f2d4e6':
  build: Add explanatory comments to (optimization) blocks in the Makefiles

Conflicts:
	libavcodec/ppc/Makefile
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 20:25:12 +02:00
Michael Niedermayer
c1df467d73 Merge commit '835f798c7d20bca89eb4f3593846251ad0d84e4b'
* commit '835f798c7d20bca89eb4f3593846251ad0d84e4b':
  mpegvideo: cosmetics: Lowercase ugly uppercase MPV_ function name prefixes

Conflicts:
	libavcodec/h261dec.c
	libavcodec/intrax8.c
	libavcodec/mjpegenc.c
	libavcodec/mpeg12dec.c
	libavcodec/mpeg12enc.c
	libavcodec/mpeg4videoenc.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo.h
	libavcodec/mpegvideo_enc.c
	libavcodec/rv10.c
	libavcodec/x86/mpegvideoenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 20:11:56 +02:00
Michael Niedermayer
9c712d0b16 vformat/utils: call flush_packet_queue() from avformat_free_context()
This avoids some theoretical memleaks

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 19:48:28 +02:00
Andrey Myznikov
609d5db803 Fix packet_buffer memory leak in avformat_free_context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 19:20:12 +02:00
Gabriel Dume
4b1f5e5090 cosmetics: Write NULL pointer inequality checks more compactly
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-15 05:34:13 -07:00
Michael Niedermayer
3eba0a9190 Merge commit 'a6a27fede94efe48aad1dcc9d5e000d2de71c7b2'
* commit 'a6a27fede94efe48aad1dcc9d5e000d2de71c7b2':
  vfwcap: Replace deprecated av_destruct_packet() by av_free_packet()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 12:45:35 +02:00
Michael Niedermayer
edd0dc854d Merge commit '7c371754fbc0dcc23bd00278b147f8095ccc5625'
* commit '7c371754fbc0dcc23bd00278b147f8095ccc5625':
  atomic_win32: Drop unnecessary atomic.h #include

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 12:38:36 +02:00
Michael Niedermayer
6afd726b7b Merge commit '6baeadd11083774ebd823dd5e1a744c2150a3bfc'
* commit '6baeadd11083774ebd823dd5e1a744c2150a3bfc':
  w32pthreads: Mark functions in compatibility wrapper as av_unused

Conflicts:
	compat/w32pthreads.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 12:31:29 +02:00
Gabriel Dume
f929ab0569 cosmetics: Write NULL pointer equality checks more compactly
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-15 03:18:18 -07:00
Michael Niedermayer
1e81b185ae Merge commit '7ccb847f0f1f28199fa254847b91b6e50fb92832'
* commit '7ccb847f0f1f28199fa254847b91b6e50fb92832':
  http: Reduce scope of a variable in parse_content_encoding()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 12:12:35 +02:00
Diego Biurrun
efd26bedec build: Add explanatory comments to (optimization) blocks in the Makefiles 2014-08-15 02:55:21 -07:00
Diego Biurrun
835f798c7d mpegvideo: cosmetics: Lowercase ugly uppercase MPV_ function name prefixes 2014-08-15 01:26:33 -07:00
Diego Biurrun
a6a27fede9 vfwcap: Replace deprecated av_destruct_packet() by av_free_packet() 2014-08-15 09:53:02 +02:00
Diego Biurrun
7c371754fb atomic_win32: Drop unnecessary atomic.h #include
The file does not require atomic.h. Also kills function redefinition warnings.
2014-08-15 09:52:57 +02:00
Diego Biurrun
6baeadd110 w32pthreads: Mark functions in compatibility wrapper as av_unused
This avoids annoying warnings about unused functions. The compatibility
wrapper is designed to provide a complete (stub) API, so some functions
being unused by some files is natural and no reason for a warning.
2014-08-15 09:37:38 +02:00
Diego Biurrun
7ccb847f0f http: Reduce scope of a variable in parse_content_encoding()
Also fixes an unused variable warning with zlib disabled.
2014-08-15 09:37:38 +02:00
Michael Niedermayer
d3a22491c7 ffmpeg: remove 32 channel limit from audio_channels_map
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 05:38:47 +02:00
Christophe Gisquet
33fefdb449 ffmpeg: fix streamcopy with side data
The issue is that, when the main packet data buffer is changed, streamcopy
uses a temporary new packet to store that buffer, frees the old packet, and
replace it with the new packet.

However, in doing so, it forgets about the side data, which gets freed, but
is still needed and referenced. Then, when the packet gets freed again in
the normal code path, it attempts to free its side data which has already
been freed.

Therefore, simply avoid the first free on side data by removing that side
data from the packet.

Fixes ticket #3773.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 03:43:17 +02:00
Michael Niedermayer
6c1ee1a114 avcodec/h261dec: Fix context initialization sequence
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 02:53:48 +02:00
Michael Niedermayer
595c63357c Merge commit '552bc42df48784ae3ce0d499ece5b33f3cc7576a'
* commit '552bc42df48784ae3ce0d499ece5b33f3cc7576a':
  h261dec: Fix order of initialization

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 02:41:47 +02:00
Michael Niedermayer
012062cfd5 Merge commit 'b869eea7ea8f5d8331fcd6355f848bb6a6e06b14'
* commit 'b869eea7ea8f5d8331fcd6355f848bb6a6e06b14':
  h263dec: Fix order of initialization

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 02:28:49 +02:00
Michael Niedermayer
2fd87a3d78 Merge commit '998c9f15d1ca8c7489775ebcca51623b915988f1'
* commit '998c9f15d1ca8c7489775ebcca51623b915988f1':
  idct: remove call to ff_idctdsp_init from ff_MPV_common_init

Conflicts:
	libavcodec/dnxhdenc.c
	libavcodec/h263dec.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 02:25:14 +02:00
Michael Niedermayer
8b6cbc3c33 avutil/opt: remove disabled old ABI compatibility code
Fixes some unused variable warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 20:42:53 +02:00
Michael Niedermayer
fce8817a01 avformat/format: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 20:40:11 +02:00
James Darnley
7ce6c021dc lavc/flacdsp: change lpc_encoder function pointer prototype
This should help to clarify the API.

Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 20:11:35 +02:00
Michael Niedermayer
c6c345ea92 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavfi/avf_showspectrum: check RDFT context init.
  lavfi/avf_showspectrum: add full frame sliding mode.
  lavfi/avf_showspectrum: use automatic framing.
  lavfi/avf_showspectrum: do not push the frame at EOF.
  lavfi/avf_showspectrum: fix output pts computation.
  lavfi/avf_showspectrum: set output frame rate.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 19:42:38 +02:00
Clément Bœsch
37bfeca78c avfilter/select: larger pixel sad computation 2014-08-14 19:11:13 +02:00
Clément Bœsch
10d96d8d66 avfilter/select: re-align a few comments 2014-08-14 18:52:53 +02:00
John Stebbins
552bc42df4 h261dec: Fix order of initialization
ff_MPV_common_init requires the frame dimensions which get parsed in
h261_decode_picture_header.
2014-08-14 07:58:50 -07:00
John Stebbins
b869eea7ea h263dec: Fix order of initialization
ff_MPV_common_init requires the frame dimensions which get parsed in
*_decode_picture_header.
2014-08-14 07:58:50 -07:00
John Stebbins
998c9f15d1 idct: remove call to ff_idctdsp_init from ff_MPV_common_init
One step in untangling the mpegvideo code and fixing some problems in
the order that initialization is being done in h263dec and h261dec.
2014-08-14 07:58:49 -07:00
Michael Niedermayer
5c7899a483 avcodec/mjpegdec: Support AV_PIX_FMT_YUV420P16 with upscale_h
Fixes assertion failure
Fixes: test42f.jpg
Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 16:20:55 +02:00
Christophe Gisquet
58d380f9a7 libavcodec: bump micro to reflect dpx changes
The encoder produces files that are no longer compatible with previous
versions of the decoder, and may actually cause decoding issues for other
software, so indicate that change to allow decoder quirks.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 16:05:10 +02:00
Michael Niedermayer
6c36b3afe7 avcodec/lcldec: initialize encoded correctly
Fixes out of array read
Fixes: yuv111_no_compr_crash.avi

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 15:19:47 +02:00
Nicolas George
638eec2ac3 lavfi/avf_showspectrum: check RDFT context init.
Fix a segfault with large window size.
2014-08-14 15:11:39 +02:00
Nicolas George
7c10e32ae5 lavfi/avf_showspectrum: add full frame sliding mode. 2014-08-14 14:59:23 +02:00
Nicolas George
ec33df6045 lavfi/avf_showspectrum: use automatic framing.
The framework can ensure that each input frame has exactly
the correct number of samples, except the last one.
2014-08-14 14:59:19 +02:00
Christophe Gisquet
117bc8e6ff proresenc_kostya: properly account for alpha
The packet buffer allocation considered as dct-coded, while it is
actually run-coded and thus requires a larger buffer.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 14:28:58 +02:00
Nicolas George
d4de6d4fad lavfi/avf_showspectrum: do not push the frame at EOF.
It is always identical to the last pushed frame.
The samples in the last incomplete window were ignored,
this is unchanged.
Possible enhancement: pad the last incomplete window with
silence.
2014-08-14 14:23:59 +02:00
Nicolas George
65b284a4ae lavfi/avf_showspectrum: fix output pts computation. 2014-08-14 14:23:59 +02:00
Nicolas George
a3aaaec891 lavfi/avf_showspectrum: set output frame rate. 2014-08-14 14:23:59 +02:00
Christophe Gisquet
4ba45c189c dpx: use aligned line starts
SMPTE 268M-2003 specifies that each line starts at a 4-bytes boundary.
Therefore, modify correspondingly the input buffer strides and size.

Partially fixes ticket #3692: DLAD_8b_3c_big.dpx still has inverted
colors, which might be related to endianness.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 13:35:24 +02:00
Michael Niedermayer
b634c12cb9 Merge commit '93f29948e4b06acfb96e7f82d373ef86d6dc55f7'
* commit '93f29948e4b06acfb96e7f82d373ef86d6dc55f7':
  mpeg4video: Fix doxygen comment syntax to document correct struct member

Conflicts:
	libavcodec/mpeg4video.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 12:50:40 +02:00
Michael Niedermayer
8d403d9c89 Merge commit '0528226a05cc08b74197547fba0b1939bf68990d'
* commit '0528226a05cc08b74197547fba0b1939bf68990d':
  a64: Return correct error code on invalid data stream

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 12:42:59 +02:00
Michael Niedermayer
de7b08cbc1 Merge commit 'e070d0a5ca9047192e324a3f87006b316e2a08a7'
* commit 'e070d0a5ca9047192e324a3f87006b316e2a08a7':
  frame: Remove some FF_API_AVFRAME_COLORSPACE leftovers

Conflicts:
	libavutil/frame.c

No change, as these leftovers have already been removed

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 12:34:17 +02:00
Michael Niedermayer
87988d6569 Merge commit 'ab059f0aa896e01e8e4529f5f714fde111f05377'
* commit 'ab059f0aa896e01e8e4529f5f714fde111f05377':
  vaapi: set the scaling list correctly.

See: 3fec40b601
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 12:32:47 +02:00
Nidhi Makhijani
93f29948e4 mpeg4video: Fix doxygen comment syntax to document correct struct member
Also fix some comment typos.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-14 11:59:59 +02:00
Nidhi Makhijani
0528226a05 a64: Return correct error code on invalid data stream
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-14 01:22:47 -07:00
Diego Biurrun
e070d0a5ca frame: Remove some FF_API_AVFRAME_COLORSPACE leftovers 2014-08-14 00:44:47 -07:00
Edgar Hucek
ab059f0aa8 vaapi: set the scaling list correctly.
Fixes VAAPI decoding artefacts.

CC:libav-stable@libav.org

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-14 05:50:08 +00:00
James Almer
dffbac0956 lavf/oggparsevp8: use ff_vorbis_stream_comment()
commit db68ef89 did not update the vp8 parser

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 05:47:06 +02:00
Christophe Gisquet
7cdef77b50 dpx: warn if encrypted
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 04:31:07 +02:00
Christophe Gisquet
69849a2d6e dpxenc: enforce alignment requirement
S268M-2003 specifies that each line start is aligned on a 4-byte boundary.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 04:24:14 +02:00
Anton Khirnov
d92550d191 lavf: eliminate ff_get_audio_frame_size()
It is basically a wrapper around av_get_audio_frame_duration(), with a
fallback to AVCodecContext.frame_size. However, that field is set only
when the stream codec context is actually used for encoding or decoding,
which is discouraged.

For muxing, it is generally the responsibility of the caller to set the
packet duration.
For demuxing, if the duration is not stored at the container level, it
should be set by the parser.

Therefore, removing the frame_size fallback should not break any
important case.
(cherry picked from commit 30e50c5027)

Conflicts:

	libavformat/utils.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 03:12:58 +02:00
Michael Niedermayer
7b59217b60 Move WMA case from ff_get_audio_frame_size() to av_get_audio_frame_duration()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 03:03:56 +02:00
Michael Niedermayer
ed488d1535 Move frame_size fallback from ff_get_audio_frame_size() to av_get_audio_frame_duration()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 03:00:39 +02:00
Michael Niedermayer
986ec3417a avformat/utils: Remove demuxer specific frame_size fallback from ff_get_audio_frame_size()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 02:39:59 +02:00
Michael Niedermayer
1d7544b752 Merge commit 'e8049af1325dd59a51546c15b2e71a0f578e9d27'
* commit 'e8049af1325dd59a51546c15b2e71a0f578e9d27':
  mpegts: Do not try to write a PMT larger than SECTION_SIZE

Conflicts:
	libavformat/mpegtsenc.c

See: 842b6c14bc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 02:13:46 +02:00
Michael Niedermayer
af5ec18225 Merge commit '353240541d4ec317471b5cbcaa3e027d00ff8f5c'
* commit '353240541d4ec317471b5cbcaa3e027d00ff8f5c':
  cpu-test: Add unistd.h #include for getopt()

No change as we already have a #include <unistd.h>

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 01:42:12 +02:00
Michael Niedermayer
0de0c75ebb Merge commit '30e50c50274f88f0f5ae829f401cd3c7f5266719'
* commit '30e50c50274f88f0f5ae829f401cd3c7f5266719':
  lavf: eliminate ff_get_audio_frame_size()

Conflicts:
	libavformat/utils.c

Not merged as the removed code is needed for some bugfixes and
would break the fate tests

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 01:12:12 +02:00
Michael Niedermayer
082d52354f doc: fix toolname
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 01:00:49 +02:00
Michael Niedermayer
b8e4c11d93 Merge commit '481a3667495425db9fdffb653292b6460fb68208'
* commit '481a3667495425db9fdffb653292b6460fb68208':
  cmdutils: allow matching by metadata in stream specifiers

Conflicts:
	Changelog
	cmdutils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 00:41:21 +02:00
Michael Niedermayer
c8571c61ec Merge commit '8ddc32629a6d6be77256694c9e322dde134609f3'
* commit '8ddc32629a6d6be77256694c9e322dde134609f3':
  mem: add av_strndup() for duplicating substrings

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 00:29:06 +02:00
Michael Niedermayer
097bf149c9 Merge commit 'aa51b0492bfced6d650fb5ff419e2b13fde6833d'
* commit 'aa51b0492bfced6d650fb5ff419e2b13fde6833d':
  avconv: rename output_packet() to process_input_packet()

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 00:23:30 +02:00
Michael Niedermayer
ad1b571b26 Merge commit '159a06dfc83d189f753c4583583ddfb571552ff5'
* commit '159a06dfc83d189f753c4583583ddfb571552ff5':
  stereo3d: initialize AVStereo3D to zero

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 00:17:47 +02:00
Michael Niedermayer
e260c8180e Merge commit '4e629ef80e62a54636cb46033998177dd08cf3ad'
* commit '4e629ef80e62a54636cb46033998177dd08cf3ad':
  http: Fix authentication, broken since 6a463e7fb

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 00:12:56 +02:00
Michael Niedermayer
a8db787932 Merge commit 'db68ef898a3802e51b6f41fd600d0d46d058e3f8'
* commit 'db68ef898a3802e51b6f41fd600d0d46d058e3f8':
  ogg: update event_flags with STREAM_/METADATA_UPDATED whenever metadata changes.

Conflicts:
	libavformat/oggparsevorbis.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 00:05:49 +02:00
Michael Niedermayer
a90364d001 Merge commit 'cc3e88a2b9e7ecf62e4ea1c41ce1623cea67ee96'
* commit 'cc3e88a2b9e7ecf62e4ea1c41ce1623cea67ee96':
  mov: update AVFormatContext.event_flags with METADATA_UPDATED whenever metadata changes.

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 23:51:03 +02:00
Michael Niedermayer
1110a030c7 Merge commit 'fa3a5dd4dea34baa6bb2f7fe6006fc4b2888f2aa'
* commit 'fa3a5dd4dea34baa6bb2f7fe6006fc4b2888f2aa':
  nutdec: update AVFormatContext.event_flags with STREAM_/METADATA_UPDATED whenever metadata changes.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 23:44:53 +02:00
Michael Niedermayer
314c198413 Merge commit '0f789322efa78a672e4c3027e5cc12b8a947043a'
* commit '0f789322efa78a672e4c3027e5cc12b8a947043a':
  flvdec: update AVFormatContext.event_flags with METADATA_UPDATED whenever metadata changes.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 23:36:30 +02:00
Michael Niedermayer
9f97f7c546 Merge commit '93c04e095dc37ebdab22174e88cfa91e24940866'
* commit '93c04e095dc37ebdab22174e88cfa91e24940866':
  Expose metadata found in onCuePoint events in .flv files.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 23:14:23 +02:00
Michael Niedermayer
f01a1281ee Merge commit '019d3fccc4dcf5c8379112f697ce9eb08edee9b9'
* commit '019d3fccc4dcf5c8379112f697ce9eb08edee9b9':
  Set protocol-level metadata in AVFormatContext any time a packet is read.

Conflicts:
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 23:02:56 +02:00
Michael Niedermayer
313d75cd43 Merge commit '7e38903b5c86a759549e70647ae42bb22d353b14'
* commit '7e38903b5c86a759549e70647ae42bb22d353b14':
  http: enable icy metadata by default.

Conflicts:
	Changelog
	libavformat/http.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 22:54:31 +02:00
Michael Niedermayer
69a5cd9fea Merge commit '7601f9412a2d3387617a45966b65b452a632c27a'
* commit '7601f9412a2d3387617a45966b65b452a632c27a':
  http: export icecast metadata as an option with name "metadata".

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 22:52:53 +02:00
Michael Niedermayer
2ba4577809 Merge commit 'a8c104a511f97e4ea617df73b31737e28a8a5126'
* commit 'a8c104a511f97e4ea617df73b31737e28a8a5126':
  AVOption: add support for dictionary types.

Conflicts:
	libavutil/opt.c
	libavutil/opt.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 22:39:54 +02:00
Michael Niedermayer
ed8e6d535c Merge commit 'afbd4b7e093adf6d7a830b32759ca3ba8500363d'
* commit 'afbd4b7e093adf6d7a830b32759ca3ba8500363d':
  lavf: add AVFormatContext/AVStream fields for signaling to the user when events happen.

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 22:22:52 +02:00
Luca Barbato
e8049af132 mpegts: Do not try to write a PMT larger than SECTION_SIZE
Prevent out of array writes.

Similar to what Michael Niedermayer did to address the same issue.

Bug-Id: CVE-2014-2263
CC: libav-stable@libav.org

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-13 12:43:26 -07:00
Diego Biurrun
353240541d cpu-test: Add unistd.h #include for getopt() 2014-08-13 12:37:25 -07:00
Clément Bœsch
ec14f53dbd reset and complete RELEASE_NOTES for the next version 2014-08-13 21:03:55 +02:00
Ronald S. Bultje
14e3025518 vp9: ignore reference segmentation map if error_resilience flag is set.
Fixes ffvp9_fails_where_libvpx.succeeds.webm from ticket 3849.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 20:46:00 +02:00
Clément Bœsch
8fcd9386ec Changelog: notify about the recent performance boost in dctdnoiz filter 2014-08-13 20:02:21 +02:00
Anton Khirnov
30e50c5027 lavf: eliminate ff_get_audio_frame_size()
It is basically a wrapper around av_get_audio_frame_duration(), with a
fallback to AVCodecContext.frame_size. However, that field is set only
when the stream codec context is actually used for encoding or decoding,
which is discouraged.

For muxing, it is generally the responsibility of the caller to set the
packet duration.
For demuxing, if the duration is not stored at the container level, it
should be set by the parser.

Therefore, removing the frame_size fallback should not break any
important case.
2014-08-13 17:41:11 +00:00
Clément Bœsch
c85e0ca68a avfilter/dctdnoiz: add slice threading 2014-08-13 19:32:00 +02:00
Anton Khirnov
481a366749 cmdutils: allow matching by metadata in stream specifiers 2014-08-13 17:24:18 +00:00
Anton Khirnov
8ddc32629a mem: add av_strndup() for duplicating substrings 2014-08-13 17:24:18 +00:00
Anton Khirnov
aa51b0492b avconv: rename output_packet() to process_input_packet()
It more accurately describes what this function does
2014-08-13 17:24:18 +00:00
Felix Abecassis
159a06dfc8 stereo3d: initialize AVStereo3D to zero
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-13 17:24:18 +00:00
Martin Storsjö
4e629ef80e http: Fix authentication, broken since 6a463e7fb
The cur_*auth_type variables were set before the http_connect call
prior to 6a463e7fb - their sole purpose is to record the
authentication type used to do the latest request, since parsing
the http response sets the new type in the auth state.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-08-13 20:22:28 +03:00
Michael Niedermayer
cf24e10a09 Merge commit '72199e1041b4052544e181ad90b431ca6704da12'
* commit '72199e1041b4052544e181ad90b431ca6704da12':
  configure: Check for nanosleep in headers as well, not only in libs

See: 223c374a9d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 18:45:15 +02:00
Michael Niedermayer
a0f3db8f60 Merge commit '428b0578c64241fc677fed7083cc8fe65e10f32e'
* commit '428b0578c64241fc677fed7083cc8fe65e10f32e':
  w32threads: Use newer thread synchronization functions when targeting Vista

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 18:33:06 +02:00
Michael Niedermayer
9f7a2ecb29 Merge commit '8bf3bf69ad7333bf0c45f4d2797fc2c61bc8922f'
* commit '8bf3bf69ad7333bf0c45f4d2797fc2c61bc8922f':
  http: Stop reading after receiving the whole file for non-chunked transfers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 18:26:40 +02:00
Andrew Stone
db68ef898a ogg: update event_flags with STREAM_/METADATA_UPDATED whenever metadata changes.
Originally, AVFormatContext and a metadata dict were provided to ff_vorbis_comment(),
but this presented issues if an AVStream was being updated or the metadata on
AVFormatContext wasn't actually being updated. To remedy this, ff_vorbis_stream_comment()
explicitly updates a stream's metadata and sets any necessary flags.

ff_vorbis_comment() does not modify any flags, and any calls to it that update
AVFormatContext's metadata (just a single call) must also update
AVFormatContext.event_flags after detecting any metadata changes to the provided
dictionary, as signaled by a positive return value.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-13 16:25:19 +00:00
Andrew Stone
cc3e88a2b9 mov: update AVFormatContext.event_flags with METADATA_UPDATED whenever metadata changes.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-13 16:24:09 +00:00
Andrew Stone
fa3a5dd4de nutdec: update AVFormatContext.event_flags with STREAM_/METADATA_UPDATED whenever metadata changes.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-13 16:23:36 +00:00
Andrew Stone
0f789322ef flvdec: update AVFormatContext.event_flags with METADATA_UPDATED whenever metadata changes.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-13 16:23:28 +00:00
Stefano Sabatini
a539f1cbbd doc/filters: correct confusing statements about *showinfo shown values
Fix trac issue #3850.
2014-08-13 18:14:24 +02:00
Andrew Stone
93c04e095d Expose metadata found in onCuePoint events in .flv files.
Currently, only onMetaData is used, but some providers (wrongly)
put metadata into onCuePoint events, and it's still nice to be
able to use that data.

onCuePoint events also present metadata slightly differently than
onMetaData events: all metadata is found inside an object called
"parameters". In order to extract this metadata, it's easiest to
recurse through the object tree and pull out anything found in
child objects and put it in the top-level metadata.

Reference: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/2/help.html?content=00001404.html

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-13 16:11:43 +00:00
Andrew Stone
019d3fccc4 Set protocol-level metadata in AVFormatContext any time a packet is read.
If any option named "metadata" is set inside the context, it is pulled up to
the context and then the option is cleared.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-13 16:10:49 +00:00
Andrew Stone
7e38903b5c http: enable icy metadata by default.
It won't hurt servers that don't care about the header,
and those that do will include it by default.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-13 16:10:15 +00:00
Andrew Stone
7601f9412a http: export icecast metadata as an option with name "metadata".
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-13 16:09:05 +00:00
Andrew Stone
a8c104a511 AVOption: add support for dictionary types.
In order to support metadata being set as an option, it's necessary to be able
to set dictionaries as values.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-13 16:07:40 +00:00
Andrew Stone
afbd4b7e09 lavf: add AVFormatContext/AVStream fields for signaling to the user when events happen.
The only flags, for now, indicate if metadata was updated and are set after each call to
av_read_frame(). This comes with the caveat that, on stream start, it might not be set properly
as packets might be buffered in AVFormatContext.packet_buffer before being given to the user
in av_read_frame().

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-13 16:04:48 +00:00
Paul B Mahol
e3212bfd14 avfitler/vf_perspective: support slice threading
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-08-13 14:04:21 +00:00
Michael Niedermayer
1e519b9d40 avutil: turn arm setend into a cpuflag
this allows disabling and enabling it
it also prevents crashes if vfpv3 and neon are disabled which previously
would have enabled the flag

And last but not least one can enable setend on cpus like cortex-a8 where
its fast but disabled by default

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 14:50:15 +02:00
Martin Storsjö
72199e1041 configure: Check for nanosleep in headers as well, not only in libs
On mingw64 with c++11 support, the link libraries do contain a
nanosleep function, while it isn't exposed via the headers. Using
check_func_headers instead of a plain check_func fixes this
misdetection.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-08-13 14:39:01 +03:00
Martin Storsjö
428b0578c6 w32threads: Use newer thread synchronization functions when targeting Vista
When explicitly targeting Vista or newer (which only happens if the
caller explicitly sets _WIN32_WINNT to a high enough value via the
extra cflags option - otherwise configure script sets
-D_WIN32_WINNT=0x0502), we already unconditionally link to the
ConditionVariable functions, since 4622f11f9.

Similarly use the newer -Ex versions of CreateEvent, CreateSemaphore,
InitializeCriticalSection and WaitForSingleObject, that all appeared
in Vista. When building Windows Store applications, the older versions
of these functions aren't available, only the -Ex functions. When
doing such a build, the user can set -D_WIN32_WINNT=0x0600 to
forcibly use the newer functions instead.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-08-13 14:38:18 +03:00
Martin Storsjö
8bf3bf69ad http: Stop reading after receiving the whole file for non-chunked transfers
Previously this logic was only used if the server didn't
respond with Connection: close, but use it even for that case,
if the server response is non-chunked.

Originally the http code has relied on Connection: close to close
the socket when the file/stream is received - the http protocol
code just kept reading from the socket until the socket was closed.
In f240ed18 we added a check for the file size, because some
http servers didn't respond with Connection: close (and wouldn't
close the socket) even though we requested it, which meant that the
http protocol blocked for a long time at the end of files, waiting
for a socket level timeout.

When reading over tls, trying to read at the end of the connection,
when the peer has closed the connection, can produce spurious (but
harmless) warnings. Therefore always voluntarily stop reading when
the specified file size has been received, if not using a chunked
transfer encoding. (For chunked transfers, we already return 0
as soon as we get the chunk header indicating end of stream.)

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-08-13 14:34:25 +03:00
James Almer
9f61d6d8fb lavc/dnxhd: ff_dnxhd_cid_table is not exported
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 13:12:52 +02:00
James Darnley
0a52bbdc31 cvcodec/flacdsp_lpc_template: osmetic fix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 05:01:35 +02:00
James Darnley
54a51d3840 lavc/flacenc: partially unroll loop in flac_enc_lpc_16
It now does 12 samples per iteration, up from 4.

From 1.8 to 3.2 times faster again.  3.6 to 5.7 times faster overall.
Runtime is reduced by a further 2 to 18%.  Overall runtime reduced by
4 to 50%.

Same conditions as before apply.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 03:09:26 +02:00
James Almer
a8592db9bb avcodec/idctdsp: make add/put_pixels_clamped_c internal functions
This reduces code duplication and differences with the fork.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 01:44:41 +02:00
James Darnley
0081a14e7d lavc/flacenc: add sse4 version of the 16-bit lpc encoder
From 1.8 to 2.4 times faster.  Runtime is reduced by 2 to 39%.  The
speed-up generally increases with compression_level.

This lpc encoder is not used with levels < 3 so it provides no speed-up
in these cases.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 01:14:47 +02:00
James Almer
7cafdfe9c7 lavfi: duplicate ff_log2_tab
Fixes compilation failures on msvc/icl shared builds

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 01:00:38 +02:00
Pascal Massimino
298b3b6c1f avcodec: add C xvid IDCT support
Thanks to Pascal Massimino and Michael Militzer for permission to use under LGPL

The xvid idct code is from xvid, and nearly unchanged to make future syncing easy
the integration into ffmpeg is done by the commiter
the commit message is written by the commiter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 21:58:45 +02:00
James Almer
9ffac3d00d lsws: duplicate ff_log2_tab
libswscale uses the table but wasn't duplicating it like the rest of the libs.
This should fix compilation failures on msvc/icl after lavu stopped exporting
internal functions and tables.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 20:52:21 +02:00
Michael Niedermayer
113229922a Merge commit 'da7d839a0d3ec40423a665dc85e0cfaed3f92eb8'
* commit 'da7d839a0d3ec40423a665dc85e0cfaed3f92eb8':
  ffv1dec: check that global parameters do not change in version 0/1

Conflicts:
	libavcodec/ffv1dec.c

See: b05cd1ea7e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 17:09:39 +02:00
Michael Niedermayer
b097d1765b Merge commit '3187fa14a326908f9471a038e3b5b24c0eaf655e'
* commit '3187fa14a326908f9471a038e3b5b24c0eaf655e':
  hevc_mvs: avoid deriving tmvp in amvp

See: 373677f958
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 16:59:27 +02:00
Michael Niedermayer
980aa2ae35 Merge commit '14ca0aa69b5d954ce56d0826ab9f1f70e535c92a'
* commit '14ca0aa69b5d954ce56d0826ab9f1f70e535c92a':
  hevc: wait proper position for tmvp

Conflicts:
	libavcodec/hevc_mvs.c

See: ed248e7f70
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 16:52:49 +02:00
Michael Niedermayer
17cbc6457b Merge commit 'cf6090dc6252f2b276aa4133e3d73a89f4c6046c'
* commit 'cf6090dc6252f2b276aa4133e3d73a89f4c6046c':
  hevc: use intreadwrite

Conflicts:
	libavcodec/hevc_mvs.c

See: 7a4a5515b0
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 16:39:58 +02:00
Michael Niedermayer
5195512add Merge commit 'ed53cc217f6a6e4ddb35e3f01a79496091dc82dc'
* commit 'ed53cc217f6a6e4ddb35e3f01a79496091dc82dc':
  hevc: derive partial merge list

Conflicts:
	libavcodec/hevc_mvs.c

See: 4576eff05d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 16:27:39 +02:00
Michael Niedermayer
cde2de4a05 Merge commit '3505b19652ea34089a4cd08d4d3358fcc0a3db8b'
* commit '3505b19652ea34089a4cd08d4d3358fcc0a3db8b':
  hevc: derive partially amvp list

Conflicts:
	libavcodec/hevc_mvs.c

See: bbeaae96eb
See: 3ad0460831
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 16:20:42 +02:00
Michael Niedermayer
e6ffe7bcfc Merge commit '09182b3224370e1d636631e77f201a8388766bd6'
* commit '09182b3224370e1d636631e77f201a8388766bd6':
  hevc: simplify rounding

Conflicts:
	libavcodec/hevc_mvs.c

See: 2e471e4703
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 16:07:07 +02:00
Michael Niedermayer
2278146a0c Merge commit 'd1b1c3bb5ef1bee409c06c3bcacfb8674e1cb574'
* commit 'd1b1c3bb5ef1bee409c06c3bcacfb8674e1cb574':
  hevc: reorder loops

Conflicts:
	libavcodec/hevc.c

See: eca1957c4c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 15:59:33 +02:00
Carl Eugen Hoyos
b703322059 Remove useless configure option "--enable-sram". 2014-08-12 14:27:37 +02:00
Ronald S. Bultje
45bed0ab30 vp9/x86: fix bug in intra_pred_hd_32x32.
Fixes mismatch in first keyframe in sample
ffvp9_fails_where_libvpx.succeeds.webm from ticket 3849. There's still
a second mismatch a few frames into the sample.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 13:11:21 +02:00
James Almer
c97870d1a1 x86/dca: remove unused header
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 12:46:53 +02:00
James Almer
e20ff251a6 x86/ttadsp: remove an unnecessary mova
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 12:29:05 +02:00
Michael Niedermayer
da7d839a0d ffv1dec: check that global parameters do not change in version 0/1
Such changes are neither allowed nor supported

Found-by: ami_stuff
Bug-Id: CVE-2013-7020
CC: libav-stable@libav.org
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-12 10:21:21 +00:00
Christophe Gisquet
3187fa14a3 hevc_mvs: avoid deriving tmvp in amvp
Reduces the number of calls to tmvp derivation from 933685 to 586271 on
a sequence.

Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-12 10:13:43 +00:00
Christophe Gisquet
14ca0aa69b hevc: wait proper position for tmvp
The position is either rounded or not checked, so delay the wait to
check the proper value.

Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-12 10:13:21 +00:00
Christophe Gisquet
cf6090dc62 hevc: use intreadwrite
When dealing with MVs, both components may be processed at a time.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-12 10:03:20 +00:00
Christophe Gisquet
ed53cc217f hevc: derive partial merge list
The merge list only needs to be derived up to the merge index.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-12 09:59:30 +00:00
Christophe Gisquet
3505b19652 hevc: derive partially amvp list
When the candidate has been found, no need to derive others.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-12 09:58:14 +00:00
Christophe Gisquet
09182b3224 hevc: simplify rounding
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-12 09:57:25 +00:00
Christophe Gisquet
d1b1c3bb5e hevc: reorder loops
iterate over memory in a more continuous order

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-12 09:57:05 +00:00
Martin Storsjö
223c374a9d configure: Check for nanosleep in headers as well, not only in libs
On mingw64 with c++11 support, the link libraries do contain a
nanosleep function, while it isn't exposed via the headers. Using
check_func_headers instead of a plain check_func fixes this
misdetection.

Suggested-by: Hendrik Leppkes <h.leppkes@gmail.com>
See: [FFmpeg-devel] [PATCH] fix: 'make' with mingw32
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 11:25:05 +02:00
Carl Eugen Hoyos
99867fc0c4 Fix warning if https protocol was requested but isn't available. 2014-08-12 10:03:36 +02:00
Carl Eugen Hoyos
fddea3f074 Check for hevc startcode when muxing into mpeg-ts. 2014-08-12 08:48:20 +02:00
James Almer
d6711ee648 lavu: stop exporting internal functions
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 04:35:52 +02:00
James Almer
744f15b6b3 lavu: rename ff_opencl_set_parameter() to avpriv_opencl_set_parameter()
It was wrongly being exported and used by libavfilter.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 03:49:45 +02:00
Daniel Oberhoff
9f617a14a0 avfilter: ported lenscorrection filter from frei0r
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 03:33:30 +02:00
Christophe Gisquet
52b81ff463 proresenc_kostya: report buffer overflow
If the allocated size, despite best efforts, is too small, exit
with the appropriate error.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 00:46:37 +02:00
Christophe Gisquet
bf10f09bcc proresenc_kostya: remove unneeded parameters
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-12 00:46:37 +02:00
Reimar Döffinger
2c0454cd20 Add missing initialization for AVProbeData.
This has become necessary since the new mime field was added.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-08-11 21:10:22 +02:00
Michael Niedermayer
9a162146ca avcodec/snow: fix null pointer dereference in cleanup after allocation failure
Fixes: snowf.avi
Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-11 15:37:15 +02:00
Michael Niedermayer
ba47d519e5 avcodec/huffyuvdec: fix overread checks
Fixes: ffvhuff_f.avi
Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-11 15:17:11 +02:00
Michael Niedermayer
11512d70fa avcodec/get_bits: add BITS_LEFT() for finding the bits left with an opened reader
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-11 15:15:54 +02:00
James Almer
7b3de03c8f lavf: stop exporting internal functions
Except for those currently used by ffserver.

Signed-off-by: James Almer <jamrial@gmail.com>

Also left some others that seemed used by applications other than ffserver

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-11 14:29:56 +02:00
James Almer
31b7ab9f06 lavf/mpegts: remove obsolete ff_mpegts_parse_* cruft
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-11 13:46:53 +02:00
James Almer
59ecd4882d lavc/raw: remove obsolete ff_raw_pix_fmt_tags cruft
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-11 13:46:23 +02:00
James Almer
8f2634f970 lavc: stop exporting internal functions and tables
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-11 13:23:48 +02:00
Michael Niedermayer
9eda4e8bd7 avcodec/idctdsp: move add/put_pixels_clamped_c to header
This allows sharing them with the xvid IDCT

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-11 13:08:46 +02:00
Christophe Gisquet
5ec85c9750 hevc: do generic validation of bitstream
After finishing parsing VPS/SPS/PPS/slice header, check remaining bits,
and if an overconsumption occurred, report invalid data.

Liked-by: BBB
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-11 02:47:05 +02:00
Ronald S. Bultje
bfffce4d08 hevc: add missing comma in log message.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-11 02:27:27 +02:00
Michael Niedermayer
6801eb0a09 avcodec/vc1dec: do not crash when flushing without an allocated frame
Fixes Ticket3837
Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-11 02:16:43 +02:00
Michael Niedermayer
f4e814f787 swresample: check av_opt_set for failure in swr_alloc_set_opts()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-11 01:34:34 +02:00
Luca Barbato
c4ac48c5a1 swresample: document the need to configure the context using AVOptions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-11 00:35:56 +02:00
Michael Niedermayer
49456a95eb avformat/movenc: Fix printf type
Found-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-11 00:09:09 +02:00
Michael Niedermayer
7727345613 Merge commit '08b94f160a2c966bb83e32bde0e52246fafa2155'
* commit '08b94f160a2c966bb83e32bde0e52246fafa2155':
  configure: Don't pass MSVC compiler options -M[TD] to armasm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 23:47:48 +02:00
Michael Niedermayer
d177f27517 Merge commit 'cc1d8c54c19dd14fb851e3e7a7793d6b3bd75e94'
* commit 'cc1d8c54c19dd14fb851e3e7a7793d6b3bd75e94':
  avcodec: Postpone FF_IDCT_XVIDMMX removal until the next version bump

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 23:41:51 +02:00
Carl Eugen Hoyos
788cf6f0c6 Remove panscan information in av_frame_copy_props() if resolution changes.
Fixes ticket #3750.
2014-08-10 22:31:33 +02:00
Michael Niedermayer
3539d6c63a avcodec/iff: check pixfmt for rgb8 / rgbn
Fixes out of array access

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 22:05:55 +02:00
Michael Niedermayer
9bcdb98839 avcodec/iff: Factorize av_pix_fmt_desc_get() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 21:53:39 +02:00
Mark Reid
cab39afb1a avformat/movenc: check that reel_name length doesn't exceed UINT16_MAX
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 21:32:05 +02:00
Michael Niedermayer
bd87965247 Merge commit 'd63443b9684fa7b3e086634f7b44b203b6d9221e'
* commit 'd63443b9684fa7b3e086634f7b44b203b6d9221e':
  lavc: drop the av_fast_{re,m}alloc compatibility wrappers

Conflicts:
	libavcodec/utils.c

See: a973e01501
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 20:51:15 +02:00
Michael Niedermayer
d123d9abef Merge commit '8dca0877e3e1457e9ec79ffa1ead1135aabb791c'
* commit '8dca0877e3e1457e9ec79ffa1ead1135aabb791c':
  mpegts: Return proper error code on invalid input data

Conflicts:
	libavformat/mpegtsenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 20:34:28 +02:00
Michael Niedermayer
c24be3c4a2 Merge commit '59cc0812207e3c2e2f2e559d60d0a8f9296a8847'
* commit '59cc0812207e3c2e2f2e559d60d0a8f9296a8847':
  Prepare for 11_alpha2 Release

Conflicts:
	RELEASE

Not merged, as our release numbers differ

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 20:32:00 +02:00
Michael Niedermayer
3787495e1f Merge commit 'ab0742d2f34d70415620441b7ed7da2f03a0c14f'
* commit 'ab0742d2f34d70415620441b7ed7da2f03a0c14f':
  configure: Suggest upgrading gas-preprocessor instead of just installing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 20:31:14 +02:00
Martin Storsjö
08b94f160a configure: Don't pass MSVC compiler options -M[TD] to armasm
The -MD option (for enabling a dynamically linked crt) gets interpreted
as a cpp option for generating dependency information (into a file named
'-.d', when preprocessing to a pipe). We shouldn't be passing
any and all C compiler flags to armasm (which is a plain assembler,
only with cpp bolted on via gas-preprocessor), but these are the
main conflicting ones.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-08-10 21:29:06 +03:00
Diego Biurrun
cc1d8c54c1 avcodec: Postpone FF_IDCT_XVIDMMX removal until the next version bump 2014-08-10 10:41:55 -07:00
Michael Niedermayer
7e4e45d227 Merge commit '9f8cf50e3be04b8e178086edaa4598826143303d'
* commit '9f8cf50e3be04b8e178086edaa4598826143303d':
  configure: Enable gas-preprocessor on all OSes but only if available

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 19:16:42 +02:00
Michael Niedermayer
f51c3e3a84 Merge commit 'f4312352fc52cc47c1ba398a33f629d32a737e91'
* commit 'f4312352fc52cc47c1ba398a33f629d32a737e91':
  configure: Add probe identification of MS armasm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 18:54:15 +02:00
Michael Niedermayer
d6efed84b1 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  lavf/img2dec: Initialize a stack variable.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 18:48:07 +02:00
Michael Niedermayer
61b9ce00a3 Merge commit '2597a842a0a2c7e8aa76f32733d27bf64817ae86'
* commit '2597a842a0a2c7e8aa76f32733d27bf64817ae86':
  tiff: Improve grayscale support

Conflicts:
	libavcodec/tiff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 18:40:46 +02:00
Michael Niedermayer
78eaaa857e Merge commit 'fb1ddcdc8f51b9d261ae8e9c26b91e81f7b6bf45'
* commit 'fb1ddcdc8f51b9d261ae8e9c26b91e81f7b6bf45':
  avresample: Introduce AVFrame-based API

Conflicts:
	libavresample/utils.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 18:20:37 +02:00
Carl Eugen Hoyos
273fc0139e lavf/img2dec: Initialize a stack variable.
Fixes a valgrind warning about using unitialised memory.
Hopefully fixes crashes on several platforms reported through fate.
2014-08-10 18:20:12 +02:00
Christophe Gisquet
0d0d24af01 hevc_ps: verify P/T/L information
This makes the SPS parsing a little, but barely, safer.

Reviewed-by: Mickaël Raulet <mraulet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 18:05:33 +02:00
Anton Khirnov
d63443b968 lavc: drop the av_fast_{re,m}alloc compatibility wrappers
They were only needed until the bump.
2014-08-10 15:40:38 +00:00
Michael Niedermayer
07262c7199 avcodec/options_table: leave xvidmmx AVOption in place
Also mark it as deprecated through its help text

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 17:30:27 +02:00
Christophe Gisquet
84bc45880a hevc_mvs: set candidate availabilities
They might be left uninitialized otherwise since 3ad04608.

Fixes ticket #3840.

Found-by: Carl Eugen Hoyos <ce@hoyos.ws>
Reported-by: Piotr Bandurski <ami_stuff@o2.pl>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 17:13:18 +02:00
Derek Buitenhuis
43654a22c0 Revert "lavc/utils: Do not require dimensions for PNG."
mplayer-specifc hacks should not be in our codebase. mplayer should fix
its own code. It is not our responsibility to work around their broken
code.

This reverts commit e8e575633f.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-08-10 15:58:13 +01:00
Nidhi Makhijani
8dca0877e3 mpegts: Return proper error code on invalid input data
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-10 07:24:30 -07:00
Reinhard Tartler
59cc081220 Prepare for 11_alpha2 Release 2014-08-10 10:07:55 -04:00
Martin Storsjö
ab0742d2f3 configure: Suggest upgrading gas-preprocessor instead of just installing
Older versions don't support all the features we test for now.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-08-10 16:25:45 +03:00
Diego Biurrun
9f8cf50e3b configure: Enable gas-preprocessor on all OSes but only if available
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-08-10 16:25:45 +03:00
Martin Storsjö
f4312352fc configure: Add probe identification of MS armasm
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-08-10 16:25:45 +03:00
Diego Elio Pettenò
2597a842a0 tiff: Improve grayscale support
Only use PAL8 if palette is present, else use GRAY8 for pixfmt.

Instead of simulating a grayscale palette, use real grayscale pixels, if no
palette is actually defined.

Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-08-10 15:21:44 +02:00
Luca Barbato
fb1ddcdc8f avresample: Introduce AVFrame-based API 2014-08-10 14:26:37 +02:00
Christophe Gisquet
7117547298 hevc: fix incorrect sao buffer size
It previously used the output, cropped size, causing overreads/writes.

Fixes ticket #3839.

This issue was introduced by d249e682, which is not part of any release

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 12:34:57 +02:00
James Almer
6985ef7813 lavfi: stop exporting internal functions
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 04:51:19 +02:00
James Almer
ddce2b2654 tools/fourcc2pixfmt: use avpriv_get_raw_pix_fmt_tags()
lavc doesn't export ff_raw_pix_fmt_tags[] anymore.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 04:50:31 +02:00
Michael Niedermayer
e18d9d90f1 Merge commit '8c6f430291374cf6d2cfb85cdbb809803b5a7d83'
* commit '8c6f430291374cf6d2cfb85cdbb809803b5a7d83':
  mpeg: Suppress a compiler warning on callback type

Conflicts:
	libavformat/mpegenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 02:20:54 +02:00
Michael Niedermayer
a71fcfad89 Merge commit '9325d88eba8038b3e2a4485e473a018410379e2d'
* commit '9325d88eba8038b3e2a4485e473a018410379e2d':
  lavc: remove obsolete and disabled avpriv functions

Conflicts:
	libavcodec/dv_profile.c
	libavcodec/dv_profile.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 02:09:13 +02:00
Michael Niedermayer
329832d779 Merge commit '24c788f4878729a42150581d7ed7e9a11daf874d'
* commit '24c788f4878729a42150581d7ed7e9a11daf874d':
  Remove obsolete FF_API_REFERENCE_DTS cruft.

Conflicts:
	libavformat/avformat.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 02:01:34 +02:00
Michael Niedermayer
a973e01501 avcodec: disable FF_API_FAST_MALLOC
It causes build failures in some cases and the functions are provided by
libavutil so the wraper should not be needed anymore

Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 01:53:10 +02:00
Michael Niedermayer
c218d8218d Merge commit '24e87f7f425a52b1e69661dcb2fbe0555a76f30b'
* commit '24e87f7f425a52b1e69661dcb2fbe0555a76f30b':
  Remove obsolete FF_API_PROBE_MIME cruft.

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 01:36:21 +02:00
Michael Niedermayer
0f7ca2d778 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavf/avio: do not include bprint.h.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 01:34:05 +02:00
Michael Niedermayer
287602f9d8 Merge commit '472f9ed312ec784f7c72876b77163f4741880d05'
* commit '472f9ed312ec784f7c72876b77163f4741880d05':
  Remove obsolete FF_API_AVFRAME_COLORSPACE cruft.

Conflicts:
	libavcodec/utils.c
	libavutil/frame.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 01:29:24 +02:00
Michael Niedermayer
97f8c7a03e bump libpostproc and libswresample
this is needed / avoids some headaches  as one of their dependancies
(libavutil) was bumped

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 01:17:02 +02:00
Michael Niedermayer
74be0f82a7 swresample-test: make it independant of the internal SWR_CH_MAX
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 01:15:43 +02:00
Michael Niedermayer
36bce999f5 libavfilter/af_amerge: Do not depend on SWR_CH_MAX
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 01:08:46 +02:00
Michael Niedermayer
ce1bb4b75d avfilter/af_pan: Do not use SWR_CH_MAX
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 01:08:45 +02:00
Michael Niedermayer
ced765ceb3 avfilter/af_pan: check if the number of channels where sucessfully set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 01:08:45 +02:00
Michael Niedermayer
d9e7dc3e16 ffmpeg: do not use SWR_CH_MAX
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 01:08:45 +02:00
Michael Niedermayer
65cb02e87a avcodec/version: delay removial of FF_API_AUDIO_CONVERT/FF_API_AVCODEC_RESAMPLE
Some applications still use this deprecated API
Its not nice to remove it when its still in use and as long as it doesnt
cause us any work to keep it.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 00:38:48 +02:00
Michael Niedermayer
a57ece0cb4 Merge commit '1985c2e75c607ac51bfd8dc87d2957a5edf2b6f8'
* commit '1985c2e75c607ac51bfd8dc87d2957a5edf2b6f8':
  Bump major versions of all libraries.

Conflicts:
	doc/APIchanges
	libavcodec/version.h
	libavdevice/version.h
	libavfilter/version.h
	libavformat/version.h
	libavutil/version.h
	libswscale/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 00:26:45 +02:00
Michael Niedermayer
80c1cb522c avcodec/version: leave old audio API
If people prefer we can also drop it

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 00:21:56 +02:00
Michael Niedermayer
6fac482624 avcodec/flacdec: fix handling of av_samples_fill_arrays() return value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 00:21:55 +02:00
Michael Niedermayer
70b8668fb5 drop LLS1, rename LLS2 to LLS
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-09 23:20:31 +02:00
Michael Niedermayer
5e1832c29c avutil: delay removial of FF_API_GET_CHANNEL_LAYOUT_COMPAT
avoids fate failure of join filter

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-09 23:19:54 +02:00
Michael Niedermayer
c89afc9acf delay removial of FF_API_CODEC_ID, FF_API_OLD_AVOPTIONS and FF_API_OLD_ENCODE_VIDEO
This prevents a build failure when bumping.
the uses could easily be updated / removed, if people prefer.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-09 23:19:16 +02:00
Michael Niedermayer
889cb3ae23 avcodec: remove deprecated use of FF_IDCT_XVIDMMX
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit eedc3f36532e4c6de782fe1c2dc59d192418a8fc)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-09 22:45:57 +02:00
Michael Niedermayer
3e41d2e612 Merge commit 'f4c444e17d137c786f0ed2da0e5943df505d5f9e'
* commit 'f4c444e17d137c786f0ed2da0e5943df505d5f9e':
  Postpone API-incompatible changes until the next bump.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-09 22:19:45 +02:00
Michael Niedermayer
499ff6a052 Merge commit '7acdd3a1275bcd9cad48f9632169f6bbaeb39d84'
* commit '7acdd3a1275bcd9cad48f9632169f6bbaeb39d84':
  hevc_filter: avoid excessive calls to ff_hevc_get_ref_list()

Conflicts:
	libavcodec/hevc_filter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-09 21:49:55 +02:00
Luca Barbato
8c6f430291 mpeg: Suppress a compiler warning on callback type 2014-08-09 21:39:36 +02:00
Michael Niedermayer
5a3a83f01d Merge commit '52a2c17ec006282f388071a831dfb21288611253'
* commit '52a2c17ec006282f388071a831dfb21288611253':
  hevc_refs: drop the handling of negative coordinates in ff_hevc_get_ref_list()

Conflicts:
	libavcodec/hevc_refs.c

See: c8dd048ab8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-09 21:35:11 +02:00
Michael Niedermayer
8d7c4cc082 Merge commit 'a7a17e3f1915ce69b787dc58c5d8dba0910fc0a4'
* commit 'a7a17e3f1915ce69b787dc58c5d8dba0910fc0a4':
  hevc_filter: move some conditions out of loops

Conflicts:
	libavcodec/hevc_filter.c

This is possibly less readable than the variant used before.
Thus please take a look and if people agree its worse, dont
hesitate to revert.

See: 83976e40e8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-09 21:29:33 +02:00
Michael Niedermayer
3f2495d98c Merge commit '70211539a39ca3854f8a9e97d51dc27caa079943'
* commit '70211539a39ca3854f8a9e97d51dc27caa079943':
  hevc: deobfuscate slice/tile boundary handling for DBF

Conflicts:
	libavcodec/hevc.c
	libavcodec/hevc_filter.c

See: a5c621aa85
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-09 21:01:55 +02:00
Michael Niedermayer
73e9d4cd6f Merge commit '55019715785790836f60870180e1764b06e6591c'
* commit '55019715785790836f60870180e1764b06e6591c':
  hevc_filter: drop more redundant checks

Conflicts:
	libavcodec/hevc_filter.c

No change, as the removed checks where not in FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-09 20:51:48 +02:00
Michael Niedermayer
ca80c65726 Merge commit '65b8b6c476454d201348737527a1d9471f689278'
* commit '65b8b6c476454d201348737527a1d9471f689278':
  hevc_filter: drop redundant checks

Conflicts:
	libavcodec/hevc_filter.c

No change as the removed checks where not in ffmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-09 20:48:53 +02:00
Michael Niedermayer
adba796eb4 Merge commit '4d1ff2a489f4c60501b1a6a2d1f3874e61a77df9'
* commit '4d1ff2a489f4c60501b1a6a2d1f3874e61a77df9':
  hevc: calculate the dbf strength in hls_pcm_sample() only if dbf is enabled

Conflicts:
	libavcodec/hevc.c

See: 83976e40e8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-09 20:34:27 +02:00
Clément Bœsch
d7594beede avfilter/dctdnoiz: remove a few indirections in idcts
No change in the generated asm.
2014-08-09 20:34:14 +02:00
Anton Khirnov
9325d88eba lavc: remove obsolete and disabled avpriv functions 2014-08-09 16:59:34 +00:00
Anton Khirnov
24c788f487 Remove obsolete FF_API_REFERENCE_DTS cruft. 2014-08-09 16:59:26 +00:00
Anton Khirnov
24e87f7f42 Remove obsolete FF_API_PROBE_MIME cruft. 2014-08-09 16:59:21 +00:00
Anton Khirnov
472f9ed312 Remove obsolete FF_API_AVFRAME_COLORSPACE cruft. 2014-08-09 16:59:13 +00:00
Anton Khirnov
1985c2e75c Bump major versions of all libraries. 2014-08-09 16:58:33 +00:00
Anton Khirnov
f4c444e17d Postpone API-incompatible changes until the next bump. 2014-08-09 16:57:10 +00:00
Anton Khirnov
7acdd3a127 hevc_filter: avoid excessive calls to ff_hevc_get_ref_list()
1) each of the loops run within a single CTB, so the relevant reference
list is constant
2) when that CTB is, or lies on the same slice as, the current one, we
can use a simple access instead of a relatively expensive call to
ff_hevc_get_ref_list()
2014-08-09 16:15:51 +00:00
Anton Khirnov
52a2c17ec0 hevc_refs: drop the handling of negative coordinates in ff_hevc_get_ref_list()
It makes no sense and cannot happen in any place from which this
function is called.
2014-08-09 16:15:38 +00:00
Anton Khirnov
a7a17e3f19 hevc_filter: move some conditions out of loops 2014-08-09 16:15:11 +00:00
Anton Khirnov
70211539a3 hevc: deobfuscate slice/tile boundary handling for DBF
Use named constants instead of magic numbers, avoid using variables with
inverse meaning from what their name implies.
2014-08-09 16:13:48 +00:00
Anton Khirnov
5501971578 hevc_filter: drop more redundant checks
The if() around those loops ensures this condition is always false.
2014-08-09 16:13:37 +00:00
Anton Khirnov
65b8b6c476 hevc_filter: drop redundant checks
ff_hevc_deblocking_boundary_strengths() is never called if the
deblocking filter is disabled for the slice.
2014-08-09 16:13:24 +00:00
Anton Khirnov
4d1ff2a489 hevc: calculate the dbf strength in hls_pcm_sample() only if dbf is enabled 2014-08-09 16:13:11 +00:00
Nicolas George
f87db44685 lavf/avio: do not include bprint.h.
See f75786f and 04bc370.
2014-08-09 15:51:04 +02:00
Michael Niedermayer
f75786f3bc avformat/avio: Fix "warning: struct AVBPrint declared inside parameter list"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-09 15:30:03 +02:00
Michael Niedermayer
25eeff9600 avcodec/avdct: add "xvid" alias AVOption and use FF_IDCT_XVID
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-09 12:42:07 +02:00
Michael Niedermayer
3841f2ae66 Merge commit 'd35b94fbabd8beb5d566c0b5d01688aff62c3b36'
* commit 'd35b94fbabd8beb5d566c0b5d01688aff62c3b36':
  avcodec: Rename xvidmmx IDCT to xvid

Conflicts:
	doc/APIchanges
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-09 12:11:13 +02:00
Michael Niedermayer
64d029de41 avformat/matroskaenc: fix MAX_CUEPOINT_SIZE calculation
Fixes assertion failure
Fixes Ticket3822

as a side-effect this makes some mkv files a few bytes smaller

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-09 05:05:09 +02:00
Mark Reid
d6af706eee avformat/movenc: write reel_name metadata to tmcd atom
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-09 03:08:25 +02:00
Carl Eugen Hoyos
4b63bcef90 Autodetect jpeg-ls files. 2014-08-08 22:43:15 +02:00
Michael Niedermayer
0dcebb9f63 Merge commit '84d173d3de97c753234ab0c0b50551d51413d663'
* commit '84d173d3de97c753234ab0c0b50551d51413d663':
  xvididct: Ensure that the scantable permutation is always set correctly

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-08 22:17:04 +02:00
Michael Niedermayer
5ff2b33401 Merge commit '6f1960ab71b4f18551243ce22d01913108265233'
* commit '6f1960ab71b4f18551243ce22d01913108265233':
  idct: cosmetics: Drop one unnecessary if-block level

Conflicts:
	libavcodec/idctdsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-08 21:53:20 +02:00
Michael Niedermayer
eb2def0ff2 Merge commit '444c73583d2848a542330c03949e1f933ac68f53'
* commit '444c73583d2848a542330c03949e1f933ac68f53':
  configure: Only run gas checks on ARM and PowerPC

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-08 21:38:58 +02:00
Michael Niedermayer
0472c5f8a1 Merge commit '0026e356d044e72b6e743b234708b8b8af457ac0'
* commit '0026e356d044e72b6e743b234708b8b8af457ac0':
  configure: Die if gas is unavailable under aarch64 as well as ARM

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-08 21:38:12 +02:00
Michael Niedermayer
a698efbc9d Merge commit 'e4c9e59a4547adaaa0ce9f25b0d0c5b91ae15472'
* commit 'e4c9e59a4547adaaa0ce9f25b0d0c5b91ae15472':
  mpeg: K&R formatting cosmetics

Conflicts:
	libavformat/mpegenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-08 21:31:54 +02:00
Michael Niedermayer
fd1e4d66f1 Merge commit '454697603e4efdfc04fadec40518d56c7dc1e5dd'
* commit '454697603e4efdfc04fadec40518d56c7dc1e5dd':
  mpegts: Use av_free() to free memory allocated by av_strdup()

Conflicts:
	libavformat/mpegtsenc.c

See: 92deb28945
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-08 21:25:32 +02:00
Justin Jacobs
87dc8b3af9 avformat/matroskadec: Check avpriv_new_chapter() for failure
Fixes null pointer dereference

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-08 21:16:30 +02:00
Diego Biurrun
d35b94fbab avcodec: Rename xvidmmx IDCT to xvid
The Xvid IDCT is not MMX-specific.
2014-08-08 11:13:30 -07:00
Diego Biurrun
84d173d3de xvididct: Ensure that the scantable permutation is always set correctly
This fixes cases where the scantable permuation would get overwritten by
the general idctdsp initialization.
2014-08-08 11:13:29 -07:00
Diego Biurrun
6f1960ab71 idct: cosmetics: Drop one unnecessary if-block level 2014-08-08 11:13:29 -07:00
Clément Bœsch
1ba7c6ead2 avfilter/dctdnoiz: use 32-bit (float) operations instead of 64 (double) for DCTs
This makes the code about 1.5x faster without any noticeable difference
in the output.
2014-08-08 20:00:14 +02:00
Clément Bœsch
eb16a6d229 avfilter/dctdnoiz: remove forward declarations after previous commit 2014-08-08 20:00:14 +02:00
Clément Bœsch
aaf82dc0fa avfilter/dctdnoiz: make color [de]correlation less clumsy
This has no impact on overall performance, since the block DCT taking
most of the time anyway.
2014-08-08 20:00:13 +02:00
Muhammad Faiz
94494dab91 avfilter/showcqt: add and extend tlength and volume options
Add a tlength option with frequency and timeclamp variable

Add to the volume option support for frequency and timeclamp variable,
   a_weighting, b_weighting and c_weighting functions

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-08 18:59:02 +02:00
Marek Fort
d1e750cd51 avformat/mov: Support reading Avid's metadata for DNXHD codec.
The AALP atom is necessary to properly decode the alpha channel.
Needed for ticket #3707

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-08 18:39:04 +02:00
Carl Eugen Hoyos
f73d75384f Autodetect webp files. 2014-08-08 16:14:18 +02:00
Carl Eugen Hoyos
e4d983e2db configure: Check if libwebp compilation will succeed. 2014-08-08 16:06:10 +02:00
Diego Biurrun
444c73583d configure: Only run gas checks on ARM and PowerPC
Standalone GNU assembly is not used on x86.
2014-08-08 05:30:32 -07:00
Diego Biurrun
0026e356d0 configure: Die if gas is unavailable under aarch64 as well as ARM 2014-08-08 05:30:32 -07:00
Luca Barbato
e4c9e59a45 mpeg: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-08 05:22:09 -07:00
Diego Biurrun
454697603e mpegts: Use av_free() to free memory allocated by av_strdup() 2014-08-08 03:12:57 -07:00
James Almer
d34ec64a22 replace calls to url_feof() with avio_feof()
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-08 00:48:38 +02:00
James Almer
5c3c67126f lavf/avio: rename url_feof() to avio_feof()
It's a public function and should use the avio_ namespace

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-08 00:48:22 +02:00
Mark Reid
f1e626a357 avformat/mov: read reel_name metadata from tmcd atom
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 23:37:55 +02:00
Michael Niedermayer
92a28e9f56 avformat/mpegtsenc: Use av_freep() for pids
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 23:04:32 +02:00
Michael Niedermayer
31eaecfee9 avformat/mpegtsenc: Free services array completely on failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 23:04:23 +02:00
Michael Niedermayer
12b59e57f3 avformat/mpegtsenc: Use correct deallocation code on failure of pids array allocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 23:02:10 +02:00
Michael Niedermayer
5f8300afc6 mpegtsenc: Check dynarray_add() for failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 23:02:10 +02:00
Michael Niedermayer
92deb28945 avformat/mpegtsenc: use the correct deallocation functions
Found-by: Carl Eugen Hoyos <ce@hoyos.ws>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 23:01:51 +02:00
Michael Niedermayer
efcf1fcad3 Merge commit '5b220e1e19c17b202d83d9be0868d152109ae8f0'
* commit '5b220e1e19c17b202d83d9be0868d152109ae8f0':
  mpegts: Fix memory leaks and related crashes in mpegs_write_header()

Conflicts:
	libavformat/mpegtsenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 22:11:37 +02:00
Michael Niedermayer
3224a319c0 Merge commit 'f8ab9f2fe3730a0e8c3c1eb7c486f7c0041fb3fc'
* commit 'f8ab9f2fe3730a0e8c3c1eb7c486f7c0041fb3fc':
  mpegts: Avoid unnecessary variable shadowing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 22:06:06 +02:00
Michael Niedermayer
066d776501 Merge commit '6d6bd3a3db24747ae5e10716f4782129c38951f6'
* commit '6d6bd3a3db24747ae5e10716f4782129c38951f6':
  mpegts: Drop some unnecessary parentheses

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 21:42:34 +02:00
Clément Bœsch
cec59eb63f avfilter/dctdnoiz: add 8x8 dct and make it the default
8x8 is about 5x faster than 16x16 on 1080p input. Since a block size of
8x8 makes the filter almost usable (time wise) and it's not obvious if
8x8 or 16x16 is better from a quality PoV (it really depends on the
input and parameters), the filter now defaults to 8x8, and as a result
libavfilter is micro bumped.
2014-08-07 21:24:12 +02:00
Michael Niedermayer
ec0b08d20b Merge commit 'b7b1bf9166ac3102c401295fdd5d4933c512aa50'
* commit 'b7b1bf9166ac3102c401295fdd5d4933c512aa50':
  mpegts: K&R formatting cosmetics

Conflicts:
	libavformat/mpegtsenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 21:16:06 +02:00
Michael Niedermayer
c6a596f626 doc/APIchanges: Correct function reference.
The commit bb789016d4
un-deprecated sws_getContext()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 21:00:46 +02:00
Michael Niedermayer
4917fecf4a Merge commit 'bb789016d423d2cfacd2904ac66257bdf7f0964e'
* commit 'bb789016d423d2cfacd2904ac66257bdf7f0964e':
  swscale: Undeprecate sws_getContext()

Conflicts:
	libswscale/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 20:52:40 +02:00
Michael Niedermayer
a561662fb7 Merge commit 'ad1ee5fa75a3d69d54c0691048939e94ab5a7f0d'
* commit 'ad1ee5fa75a3d69d54c0691048939e94ab5a7f0d':
  avcodec: Undeprecate reordered_opaque

Conflicts:
	doc/APIchanges
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 20:43:11 +02:00
Michael Niedermayer
2bf87dcc2d Merge commit 'a7e541c9926d531a100ba0d36f4e56956dd84651'
* commit 'a7e541c9926d531a100ba0d36f4e56956dd84651':
  h264: fix interpretation of interleved stereo modes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 20:22:16 +02:00
Marek Fort
4e70104aba avformat/movenc: XMP metadata support.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 20:11:09 +02:00
Marek Fort
054c506e3d avformat/mov: XMP metadata suppor.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 20:11:09 +02:00
Clément Bœsch
06362ab750 avfilter/dctdnoiz: rewrite [f/i]dct
This removes the avcodec dependency and make the code almost twice as
fast. More to come.

The DCT factorization is based on "Fast and numerically stable
algorithms for discrete cosine transforms" from Gerlind Plonkaa &
Manfred Tasche (DOI: 10.1016/j.laa.2004.07.015).
2014-08-07 19:59:07 +02:00
Diego Biurrun
5b220e1e19 mpegts: Fix memory leaks and related crashes in mpegs_write_header() 2014-08-07 07:52:17 -07:00
Diego Biurrun
f8ab9f2fe3 mpegts: Avoid unnecessary variable shadowing 2014-08-07 07:52:17 -07:00
Diego Biurrun
6d6bd3a3db mpegts: Drop some unnecessary parentheses 2014-08-07 07:52:17 -07:00
Diego Biurrun
b7b1bf9166 mpegts: K&R formatting cosmetics 2014-08-07 07:48:54 -07:00
Michael Niedermayer
75bd83d448 avdevice/lavfi: Simplify non-AV stream check
Fixes a clang warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 15:41:17 +02:00
Michael Niedermayer
8fa695a9e3 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Do not automatically map subtitles if the decoder and encoder properties are different.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 14:51:59 +02:00
James Almer
350f4be12d lavf: remove nonexistent functions from the version file
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 13:35:35 +02:00
James Almer
dd2b0c1cde lavc: remove nonexistent functions from the version file
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 13:20:59 +02:00
Carl Eugen Hoyos
7d585bc94c Do not automatically map subtitles if the decoder and encoder properties are different.
Fixes ticket #3819.
2014-08-07 13:18:00 +02:00
James Almer
1fd880cef3 lavd/dshow: use av_codec_get_id()
ff_codec_get_id() is a lavf internal function

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 13:03:17 +02:00
Diego Biurrun
bb789016d4 swscale: Undeprecate sws_getContext()
sws_getCachedContext is not a full replacement for the function.
2014-08-07 04:03:00 -07:00
Diego Biurrun
ad1ee5fa75 avcodec: Undeprecate reordered_opaque
It allows attaching other external, opaque data to the frame and passing it
through the reordering process, for cases when the caller wants other data
than just the plain packet pts.  There is no way to cleanly achieve this
without the field.
2014-08-07 04:03:00 -07:00
James Almer
0ab00a75e4 avcodec/raw: add avpriv_get_raw_pix_fmt_tags()
Used to expose ff_raw_pix_fmt_tags[] to other libav* libraries

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 12:52:38 +02:00
Felix Abecassis
a7e541c992 h264: fix interpretation of interleved stereo modes
Column and row frame packing arrangements were inverted.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-08-07 11:31:47 +01:00
Michael Niedermayer
4c404611da Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Do not return a probe score from set_codec_from_probe_data() if the codec was ignored.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 12:17:35 +02:00
Carl Eugen Hoyos
7c73d21523 lavf/mpegts: Do not return the result of a (void) function from a void function.
Fixes compilation with Sun C 5.10.
2014-08-07 09:55:40 +02:00
Carl Eugen Hoyos
ef17a0c7ba Do not return a probe score from set_codec_from_probe_data() if the codec was ignored.
This is a workaround for the issue that stream probing can use
the score of another codec type for mpeg stream autodetection.
Fixes ticket #3821.
2014-08-07 09:12:34 +02:00
James Almer
5b12b4fc4b lavf/mpegts: rename ff_mpegts_parse_*() to avpriv_mpegts_parse_*()
The were wrongly being exported and used by libavdevice

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 04:28:11 +02:00
Michael Niedermayer
1c59419419 Merge commit 'b50173a4dd47b9c3c89845b781fa958ccf860929'
* commit 'b50173a4dd47b9c3c89845b781fa958ccf860929':
  movenc: fix QT chapter track character encoding

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 02:54:23 +02:00
Michael Niedermayer
403367d5a9 Merge commit 'da9cc22d5bd5f59756c2037b02966376da2cf323'
* commit 'da9cc22d5bd5f59756c2037b02966376da2cf323':
  movenc: add track title to tracks

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 02:42:15 +02:00
Michael Niedermayer
71f33051e5 Merge commit 'd9432789bd119f0e37bcf65cebda05d36aafd4ed'
* commit 'd9432789bd119f0e37bcf65cebda05d36aafd4ed':
  movenc: remove pointless loop around BITEXACT test

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 02:35:39 +02:00
Michael Niedermayer
4213fc5b9e avcodec/svq1dec: Fix multiple bugs from "svq1: do not modify the input packet"
Add padding, clear size, use the correct pointer.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 02:27:07 +02:00
Michael Niedermayer
e55e09949e Merge commit '7b588bb691644e1b3c168b99accf74248a24e3cf'
* commit '7b588bb691644e1b3c168b99accf74248a24e3cf':
  svq1: do not modify the input packet

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 02:08:56 +02:00
Michael Niedermayer
c628627995 Merge commit 'c7d9b473e28238d4a4ef1b7e8b42c1cca256da36'
* commit 'c7d9b473e28238d4a4ef1b7e8b42c1cca256da36':
  cdgraphics: do not return 0 from the decode function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 01:56:50 +02:00
Michael Niedermayer
91b4ed0918 Merge commit 'a1599f3f7ea8478d1f6a95e59e3bc6bc86d5f812'
* commit 'a1599f3f7ea8478d1f6a95e59e3bc6bc86d5f812':
  cdgraphics: switch to bytestream2

Conflicts:
	libavcodec/cdgraphics.c

See: ad002e1a13
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 01:45:22 +02:00
James Almer
8dfb8190d7 libavcodec/rawdec: remove old ff_find_pix_fmt() function
It's been dead code for more than a year

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-07 00:44:07 +02:00
Michael Niedermayer
6a44699746 avformat/dtsdec: check more of the dca headers in dts_probe()
Fixes misdetection of 664461_flac_16_44100_2.wav
Fixes Ticket3830

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-06 22:28:46 +02:00
Michael Niedermayer
7a34b7d80f avcodec/dca: Make ff_dca_convert_bitstream() available to libavformat, needed for dts_probe()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-06 22:28:35 +02:00
John Stebbins
b50173a4dd movenc: fix QT chapter track character encoding
An encoding ("encd") box is required to tell QT that the string is UTF8
2014-08-06 13:27:17 -07:00
John Stebbins
da9cc22d5b movenc: add track title to tracks 2014-08-06 13:27:17 -07:00
John Stebbins
d9432789bd movenc: remove pointless loop around BITEXACT test 2014-08-06 13:27:17 -07:00
Anton Khirnov
7b588bb691 svq1: do not modify the input packet
The input data must remain constant, make a copy instead. This is in
theory a performance hit, but since I failed to find any samples
using this feature, this should not matter in practice.

Also, check the size of the header, avoiding invalid reads on truncated
data.

CC:libav-stable@libav.org
2014-08-06 18:59:27 +00:00
Michael Niedermayer
40a820d6d8 Merge commit 'ed6d9ce914d552eeda16af857da97c4b1aea1e3f'
* commit 'ed6d9ce914d552eeda16af857da97c4b1aea1e3f':
  configure: Include the armcc build number in the compiler identification

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-06 20:56:05 +02:00
Anton Khirnov
c7d9b473e2 cdgraphics: do not return 0 from the decode function
0 means no data consumed, so it can trigger an infinite loop in the
caller.

CC:libav-stable@libav.org
2014-08-06 18:32:42 +00:00
Anton Khirnov
a1599f3f7e cdgraphics: switch to bytestream2
Fixes possible invalid memory accesses on corrupted data.

CC:libav-stable@libav.org
Bug-ID: CVE-2013-3674
2014-08-06 18:32:38 +00:00
Michael Niedermayer
5836fe20c6 Merge commit 'cbc808d726afdf53d866264722785c1304c17390'
* commit 'cbc808d726afdf53d866264722785c1304c17390':
  jpeg2000: enable 4 component pixel formats

See: f0358dc1d3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-06 20:29:09 +02:00
Christophe Gisquet
75837e9add x86: sbrdsp/fft: reuse ps_neg constant
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-06 19:25:08 +02:00
Christophe Gisquet
51dd80e751 x86: diracdsp: reuse constants
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-06 19:25:02 +02:00
Christophe Gisquet
6622a6cff3 x86: dwt: better share constants
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-06 19:24:57 +02:00
Christophe Gisquet
71db2d08b1 x86: better share ff_pw_2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-06 19:24:49 +02:00
Christophe Gisquet
4e128ab0b1 x86: vpx/h264/hevc/mpeg2: share constants
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-06 18:36:31 +02:00
Martin Storsjö
ed6d9ce914 configure: Include the armcc build number in the compiler identification
This tries to find the most expressive part of the output of
armcc --vsn to include, giving a compiler identification of
"ARM Compiler 5.04 update 2 (build 82)" instead of just
"ARM Compiler 5.04" for armcc 5.0.

4.x versions of armcc output the following, for "armcc --vsn":
ARM C/C++ Compiler, RVCT4.0 [Build 925]
For evaluation purposes only
Software supplied by: ARM Limited

ARM C/C++ Compiler, 4.1 [Build 894]
For evaluation purposes only
Software supplied by: ARM Limited

5.0 versions output this:
Product: ARM Compiler 5.04
Component: ARM Compiler 5.04 update 2 (build 82)
Tool: armcc [5040081]
For evaluation purposes only
Software supplied by: ARM Limited

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-08-06 19:15:59 +03:00
Michael Niedermayer
305f72aee7 avcodec: Change get_pixels() to ptrdiff_t linesize
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-06 15:50:54 +02:00
Michael Niedermayer
6b1df5544e avutil/cpu: check av_parse_cpu_caps() table during cpu-test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-06 14:27:45 +02:00
Michael Niedermayer
fe0157a19a avutil/cpu: Make cpu flag names match between cpu-test and av_parse_cpu_caps() tables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-06 14:27:45 +02:00
Michael Niedermayer
efc4fe9d74 avutil/cpu: add aarch64 entries to 2nd table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-06 14:27:45 +02:00
Vittorio Giovara
cbc808d726 jpeg2000: enable 4 component pixel formats
Bug-Id: 721
CC: libav-stable@libav.org
Sample-Id: 31230.mov
2014-08-06 12:23:21 +01:00
Christophe Gisquet
6786848585 hevc_deblock: change tc type
The x86 asm expects int32_t so use that type.

Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-06 12:38:26 +02:00
Timothy Gu
9f02a2b224 transcode_aac: fix const return value
Fixes Trac #3613.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-06 04:01:19 +02:00
Michael Niedermayer
a32e306be3 doc/muxers: document which applications are known to need disable_chpl.
Thanks to: John Stebbins <stebbins@jetheaddev.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-06 03:59:37 +02:00
Michael Niedermayer
9101ef6757 avutil/cpu: output cpu data to stdout
Errors go to stderr, but the cpu stats are non error output for cputest

This fixes echoing the cpu test results

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-06 02:01:08 +02:00
Michael Niedermayer
a8689ba872 tests/fate/libavutil: switch cpu-test back to runecho so its results are vissible
(needs next commt too)

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-06 01:57:35 +02:00
Michael Niedermayer
6552b0558a avutil/pixelutils: check for malloc failure
Found-by: Daemon404
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-06 01:45:29 +02:00
Michael Niedermayer
84ac2f93ca avutil/pixelutils: avoid on stack arrays
The arrays are fairly large and could cause problems on some embedded systems
also they are not endian safe as they mix 32 and 8bit

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-06 01:27:38 +02:00
Michael Niedermayer
1b168e3bcf avutil/cpu: fix cpu-test to work with ffmpegs cpuflags syntax
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-06 00:36:19 +02:00
Michael Niedermayer
296b01d7f9 Merge commit 'a7153444df9040bf6ae103e0bbf6104b66f974cb'
* commit 'a7153444df9040bf6ae103e0bbf6104b66f974cb':
  huffyuvdec: check width size for yuv422p

Conflicts:
	libavcodec/huffyuvdec.c

See: 6abb9a901f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-06 00:08:03 +02:00
Michael Niedermayer
3ce55d2e32 Merge commit '70cd3b8e659c3522eea5c16a65d14b8658894a94'
* commit '70cd3b8e659c3522eea5c16a65d14b8658894a94':
  mmvideo: check horizontal coordinate too

See: 8d3c99e825
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-05 23:43:12 +02:00
Michael Niedermayer
a7153444df huffyuvdec: check width size for yuv422p
Avoid out of array accesses.

CC: libav-stable@libav.org
Bug-Id: CVE-2013-0848
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-05 20:01:59 +00:00
Michael Niedermayer
70cd3b8e65 mmvideo: check horizontal coordinate too
Fixes out of array accesses.

Bug-Id: CVE-2013-3672
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-05 19:16:12 +00:00
Clément Bœsch
97478ef5fe avfilter/select: fix "t" eval variable comment 2014-08-05 21:15:13 +02:00
Clément Bœsch
eaeb61c3a6 avfilter/select: remove optional avcodec dependency 2014-08-05 21:05:53 +02:00
Clément Bœsch
164b7ccf21 avfilter/mp_decimate: remove avcodec dependency 2014-08-05 21:05:52 +02:00
Clément Bœsch
def03d3439 avfilter/deshake: remove avcodec dependency 2014-08-05 21:05:52 +02:00
Clément Bœsch
f50ec59751 build: remove wrong avcodec dep in decimate
This was probably a mistake with mpdecimate. The decimate filter doesn't
depend on avcodec.
2014-08-05 21:05:52 +02:00
Clément Bœsch
28a2107a8d avutil: add pixelutils API 2014-08-05 21:05:52 +02:00
Michael Niedermayer
6931d12745 Merge commit '849b9d34c7ef70b370c53e7af3940f51cbc07d0f'
* commit '849b9d34c7ef70b370c53e7af3940f51cbc07d0f':
  wmalosslessdec: fix mclms_coeffs* array size

See: ec9578d54d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-05 19:41:19 +02:00
Michael Niedermayer
00d2346885 Merge commit '15201e256035a3e8f9d3d7b96fc327467e1a8ead'
* commit '15201e256035a3e8f9d3d7b96fc327467e1a8ead':
  configure: check $as first before using $gas as GNU as

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-05 19:31:08 +02:00
Michael Niedermayer
0160fe454c Merge commit 'd395895cdb2ac8c95bd488549e7f893bd4dcc248'
* commit 'd395895cdb2ac8c95bd488549e7f893bd4dcc248':
  fate: generate tests/pixfmts.mak for all targets requiring it

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-05 19:10:51 +02:00
Michael Niedermayer
592a854f8c avformat/iff: Fix "source comment"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-05 18:16:46 +02:00
Michael Niedermayer
2569227689 avfilter/vf_noise: make constant things const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-05 17:04:13 +02:00
Michael Niedermayer
849b9d34c7 wmalosslessdec: fix mclms_coeffs* array size
Fixes corruption of context

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
Bug-Id: CVE-2014-2098
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-05 14:58:03 +00:00
mrskman
6f3e15af84 avfilter/avf_showwaves: New p2p mode for showwaves filter
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-05 14:12:35 +02:00
Michael Niedermayer
a53a107a2f Merge commit '0897d2fdc7755849c3ae58d8b543ef734c200d3c'
* commit '0897d2fdc7755849c3ae58d8b543ef734c200d3c':
  movenc: Add option to disable nero chapters

Conflicts:
	doc/muxers.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-05 13:58:10 +02:00
Michael Niedermayer
2e2e6b1be5 Merge commit '2601a9447efb778930b01ac58d2cc1d02498db4e'
* commit '2601a9447efb778930b01ac58d2cc1d02498db4e':
  mpegts: Add HEVC definitions

Conflicts:
	libavformat/mpegts.h

See: b2880a3de9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-05 13:52:32 +02:00
Michael Niedermayer
94d4f9d405 Merge commit '89616408e38ac7257e36976723df0e23d6ee1157'
* commit '89616408e38ac7257e36976723df0e23d6ee1157':
  mpegts: Define the section length with a constant

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-05 13:45:26 +02:00
Michael Niedermayer
9988899993 Merge commit '701e8b42e12ad625c64ceae2252acb1de390278c'
* commit '701e8b42e12ad625c64ceae2252acb1de390278c':
  vc-1: Optimise parser (with special attention to ARM)

Conflicts:
	libavcodec/vc1_parser.c

See: a0d7f9ec9a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-05 13:37:07 +02:00
Janne Grunau
15201e2560 configure: check $as first before using $gas as GNU as
llvm's integrated assembler supports the AArch64 asm on darwin since
August 2014. So check $as first before using gas-preprocessor.pl via
$gas. Makes the checks specific for that the architecture specific asm
needs. PPC Altivec and AArch64 needs on ':vararg' for macro arguments.
Arm needs in addition the '.altmacro' directive.
2014-08-05 13:11:50 +02:00
Michael Niedermayer
bf7ed956ff Merge commit 'adf8227cf4e7b4fccb2ad88e1e09b6dc00dd00ed'
* commit 'adf8227cf4e7b4fccb2ad88e1e09b6dc00dd00ed':
  vc-1: Add platform-specific start code search routine to VC1DSPContext.

Conflicts:
	configure
	libavcodec/arm/vc1dsp_init_arm.c
	libavcodec/vc1dsp.c
	libavcodec/vc1dsp.h

See: 9d8ecdd8ca
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-05 13:00:41 +02:00
Michael Niedermayer
77aafadc56 Merge commit 'db7f1c7c5a1d37e7f4da64a79a97bea1c4b6e9f8'
* commit 'db7f1c7c5a1d37e7f4da64a79a97bea1c4b6e9f8':
  h264: Move start code search functions into separate source files.

Conflicts:
	libavcodec/arm/Makefile
	libavcodec/arm/h264dsp_init_arm.c
	libavcodec/h264_parser.c
	libavcodec/h264dsp.c
	libavcodec/startcode.c
	libavcodec/startcode.h

See: 270cede3f3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-05 12:46:10 +02:00
Janne Grunau
d395895cdb fate: generate tests/pixfmts.mak for all targets requiring it
All subtargets which should run the fate-filter-pixdesc% need to
generate and include tests/pixfmts.mak. Most noteable missing target was
fate itself.
2014-08-05 12:18:59 +02:00
John Stebbins
0897d2fdc7 movenc: Add option to disable nero chapters
And add flag to muxer documentation.
Nero chapters break some taggers (mp3tag and iTunes).

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-08-05 11:36:08 +02:00
Femi Adeyemi-Ejeye
2601a9447e mpegts: Add HEVC definitions
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-08-05 11:30:50 +02:00
James Almer
de417982e8 x86/vp9lpf: use fewer instructions in SPLATB_MIX
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-05 02:47:54 +02:00
Bernd Kuhls
bf6c84d7eb Fix compile error on bfin.
After the removal of all Blackfin architecture optimizations in
http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b55d3bbeed375f7b74442c4dd274d116a3e3d2e1
some includes were left behind leading to a compile error:

CC      libavformat/adtsenc.o
In file included from ./libavcodec/get_bits.h:35,
                 from ./libavcodec/ac3_parser.h:27,
                 from libavformat/ac3dec.c:23:
./libavcodec/mathops.h:43:29: error: bfin/mathops.h: No such file or directory

This compile error was found by buildroot autobuild system:
http://autobuild.buildroot.net/results/ae0/ae056f267e907091d09d2a1546d6f1ae02fa23b9/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-05 01:54:47 +02:00
Michael Niedermayer
aee99a5d44 swscale/swscale_internal: fix ya16 -> rgba
Fixes Ticket644

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-05 01:51:11 +02:00
Thilo Borgmann
86b7821e29 lavd/avfoundation: Add device category.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-05 01:36:26 +02:00
Michael Niedermayer
76bf39ab4b Merge commit 'eee813eec7d3c0b0689f80665d3f796401742935'
* commit 'eee813eec7d3c0b0689f80665d3f796401742935':
  fate: Only generate tests/pixfmts.mak if some pixfmts fate test is run

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-05 01:20:20 +02:00
Michael Niedermayer
debb88776c Merge commit '990e2f3555bb0adae122d3599938ddcfee46e2d1'
* commit '990e2f3555bb0adae122d3599938ddcfee46e2d1':
  avcodec: Suppress deprecation warnings from DTG code scheduled for removal

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-05 01:15:11 +02:00
Michael Niedermayer
6b646fb9e2 Merge commit '086a541857812b2e0435db38fbabfddc7d19e53c'
* commit '086a541857812b2e0435db38fbabfddc7d19e53c':
  fate: png-suite

Conflicts:
	tests/fate/image.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-05 00:53:50 +02:00
Michael Niedermayer
700bf1fa4e swscale/swscale_unscaled: fix ya16 input
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-05 00:33:27 +02:00
Michael Niedermayer
8f83fb9991 Merge commit '60cbd6ad84de0931314030b81df87b69d6196587'
* commit '60cbd6ad84de0931314030b81df87b69d6196587':
  tiff: support reading gray+alpha at 8 bits

Conflicts:
	libavcodec/tiff.c

See: f746f37901
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 22:52:01 +02:00
Michael Niedermayer
47080b6d17 Merge commit 'bcc5f69b33e27b5e11aaea8304ee02f8d895cdab'
* commit 'bcc5f69b33e27b5e11aaea8304ee02f8d895cdab':
  tiff: support reading gray+alpha at 16 bits

Conflicts:
	libavcodec/tiff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 22:45:33 +02:00
Michael Niedermayer
59412e3a07 Merge commit 'e64f0bf2d2b1347ec9461f0e82852a62e8c6ffbe'
* commit 'e64f0bf2d2b1347ec9461f0e82852a62e8c6ffbe':
  png: support reading gray+alpha at 16 bits

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 22:38:12 +02:00
Michael Niedermayer
e1795bc380 Merge commit '2257165bff243534982f4ddabae4e65e2a35f2ab'
* commit '2257165bff243534982f4ddabae4e65e2a35f2ab':
  png: disable broken MMX/SIMD code for bpp <= 2

See: d1c48025a7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 22:34:52 +02:00
Michael Niedermayer
2f5bf2f7f2 Merge commit 'f84a1b597c29dc035b8d5529ef88c2d7ff057820'
* commit 'f84a1b597c29dc035b8d5529ef88c2d7ff057820':
  swscale: support AV_PIX_FMT_YA16 as input

Conflicts:
	libswscale/swscale_unscaled.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 22:32:13 +02:00
Luca Barbato
89616408e3 mpegts: Define the section length with a constant
The specification says the value is expressed in 10 bits including
the 4-byte CRC.
2014-08-04 22:22:54 +02:00
Ben Avison
701e8b42e1 vc-1: Optimise parser (with special attention to ARM)
The previous implementation of the parser made four passes over each input
buffer (reduced to two if the container format already guaranteed the input
buffer corresponded to frames, such as with MKV). But these buffers are
often 200K in size, certainly enough to flush the data out of L1 cache, and
for many CPUs, all the way out to main memory. The passes were:

1) locate frame boundaries (not needed for MKV etc)
2) copy the data into a contiguous block (not needed for MKV etc)
3) locate the start codes within each frame
4) unescape the data between start codes

After this, the unescaped data was parsed to extract certain header fields,
but because the unescape operation was so large, this was usually also
effectively operating on uncached memory. Most of the unescaped data was
simply thrown away and never processed further. Only step 2 - because it
used memcpy - was using prefetch, making things even worse.

This patch reorganises these steps so that, aside from the copying, the
operations are performed in parallel, maximising cache utilisation. No more
than the worst-case number of bytes needed for header parsing is unescaped.
Most of the data is, in practice, only read in order to search for a start
code, for which optimised implementations already existed in the H264 codec
(notably the ARM version uses prefetch, so we end up doing both remaining
passes at maximum speed). For MKV files, we know when we've found the last
start code of interest in a given frame, so we are able to avoid doing even
that one remaining pass for most of the buffer.

In some use-cases (such as the Raspberry Pi) video decode is handled by the
GPU, but the entire elementary stream is still fed through the parser to
pick out certain elements of the header which are necessary to manage the
decode process. As you might expect, in these cases, the performance of the
parser is significant.

To measure parser performance, I used the same VC-1 elementary stream in
either an MPEG-2 transport stream or a MKV file, and fed it through avconv
with -c:v copy -c:a copy -f null. These are the gperftools counts for
those streams, both filtered to only include vc1_parse() and its callees,
and unfiltered (to include the whole binary). Lower numbers are better:

                Before          After
File  Filtered  Mean   StdDev   Mean   StdDev  Confidence  Change
M2TS  No        861.7  8.2      650.5  8.1     100.0%      +32.5%
MKV   No        868.9  7.4      731.7  9.0     100.0%      +18.8%
M2TS  Yes       250.0  11.2     27.2   3.4     100.0%      +817.9%
MKV   Yes       149.0  12.8     1.7    0.8     100.0%      +8526.3%

Yes, that last case shows vc1_parse() running 86 times faster! The M2TS
case does show a larger absolute improvement though, since it was worse
to begin with.

This patch has been tested with the FATE suite (albeit on x86 for speed).

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-08-04 22:22:54 +02:00
Ben Avison
adf8227cf4 vc-1: Add platform-specific start code search routine to VC1DSPContext.
Initialise VC1DSPContext for parser as well as for decoder.
Note, the VC-1 code doesn't actually use the function pointer yet.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-08-04 22:22:54 +02:00
Ben Avison
db7f1c7c5a h264: Move start code search functions into separate source files.
This permits re-use with parsers for codecs which use similar start codes.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-08-04 22:22:54 +02:00
Michael Niedermayer
6017c98036 Merge commit 'e9abafca278f87e1ecc6d50091d99b73ff63c9a6'
* commit 'e9abafca278f87e1ecc6d50091d99b73ff63c9a6':
  avutil: add AV_PIX_FMT_YA16 pixel format

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 22:12:24 +02:00
Michael Niedermayer
4c8bc6fdee Merge commit 'e96c3b81cadd0ba84d43b1f3a54980df3785d9a5'
* commit 'e96c3b81cadd0ba84d43b1f3a54980df3785d9a5':
  avutil: rename AV_PIX_FMT_Y400A to AV_PIX_FMT_YA8

Conflicts:
	libavcodec/libopenjpegdec.c
	libavcodec/libopenjpegenc.c
	libavcodec/raw.c
	libavutil/pixdesc.c
	libavutil/pixfmt.h
	libavutil/version.h
	libswscale/swscale_internal.h
	libswscale/swscale_unscaled.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 21:48:00 +02:00
Michael Niedermayer
0b25261d29 Merge commit 'e0d73fda361729d207e51fa2afd8ba6102e58d98'
* commit 'e0d73fda361729d207e51fa2afd8ba6102e58d98':
  avutil: add alias names for gray 8/16 colour spaces

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 21:33:29 +02:00
Michael Niedermayer
073c074447 Merge commit 'd2962e9f89cca6ff40f0c9d5ffc9c4397b8b1b26'
* commit 'd2962e9f89cca6ff40f0c9d5ffc9c4397b8b1b26':
  pixdesc: Support pixelformat aliases

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 21:32:03 +02:00
Michael Niedermayer
8862c49661 Merge commit '5420099cab1e915b191cceccec4364f54cec6e52'
* commit '5420099cab1e915b191cceccec4364f54cec6e52':
  swscale: correctly pad destination buffer in rgb conversion

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 21:18:17 +02:00
Diego Biurrun
eee813eec7 fate: Only generate tests/pixfmts.mak if some pixfmts fate test is run 2014-08-04 11:08:35 -07:00
Diego Biurrun
990e2f3555 avcodec: Suppress deprecation warnings from DTG code scheduled for removal 2014-08-04 11:08:35 -07:00
Michael Niedermayer
4e855c11b5 avformat/util: change av_find_default_stream_index() to use a score based system
Disfavor video streams with unknown resolution and no packets
Fixes seeking in audio-only-speex.flv

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 18:06:26 +02:00
Christophe Gisquet
e8c003edd2 x86: hevc_deblock: remove unnecessary masking
The unpacks/shuffles later on makes it unnecessary.

Before:
1508 decicycles in h, 2096759 runs, 393 skips
2512 decicycles in v, 2095422 runs, 1730 skips

After:
1477 decicycles in h, 2096745 runs, 407 skips
2484 decicycles in v, 2095297 runs, 1855 skips

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 17:46:04 +02:00
James Almer
b7863c972c x86/hevc_mc: use fewer instructions in hevc_put_hevc_{uni, bi}_w[24]_{8, 10, 12}
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 14:47:15 +02:00
James Almer
b1a44e6bf5 x86/hevc_mc: remove an unnecessary pxor
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Mickaël Raulet <mraulet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 14:35:08 +02:00
Michael Niedermayer
fac292b8cd Merge commit '23dfa00b88fc927d4c1854ab4fc60f5c6398f3ac'
* commit '23dfa00b88fc927d4c1854ab4fc60f5c6398f3ac':
  fate: explicitly set the default THREADS value

Conflicts:
	tests/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 14:23:46 +02:00
Michael Niedermayer
491c52d3b0 Merge commit 'eb9244f20210fd420fb9b3c98126f9cae525d1cc'
* commit 'eb9244f20210fd420fb9b3c98126f9cae525d1cc':
  Add Icecast protocol

Conflicts:
	Changelog
	configure
	doc/protocols.texi
	libavformat/icecast.c
	libavformat/version.h

See: e3dc2c86fc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 14:14:13 +02:00
Vittorio Giovara
086a541857 fate: png-suite
Every supported format is converted to RGB.
2014-08-04 12:57:39 +01:00
Carl Eugen Hoyos
60cbd6ad84 tiff: support reading gray+alpha at 8 bits
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-08-04 12:57:39 +01:00
Vittorio Giovara
bcc5f69b33 tiff: support reading gray+alpha at 16 bits 2014-08-04 12:57:38 +01:00
Vittorio Giovara
e64f0bf2d2 png: support reading gray+alpha at 16 bits 2014-08-04 12:57:38 +01:00
Vittorio Giovara
2257165bff png: disable broken MMX/SIMD code for bpp <= 2
The decoder was producing different results when ASM was disabled.
Based on a long debug session with Kostya.
2014-08-04 12:57:38 +01:00
Vittorio Giovara
f84a1b597c swscale: support AV_PIX_FMT_YA16 as input
Based on a long debug session with Kostya.
2014-08-04 12:56:05 +01:00
Vittorio Giovara
e9abafca27 avutil: add AV_PIX_FMT_YA16 pixel format 2014-08-04 12:55:08 +01:00
Vittorio Giovara
e96c3b81ca avutil: rename AV_PIX_FMT_Y400A to AV_PIX_FMT_YA8
The rationale is that you have a packed format in form
<greyscale sample> <alpha sample> <greyscale sample> <alpha sample>
and shortening greyscale to 'G' might make one thing about Greenscale instead.
An alias pixel format and color space name are provided for compatibility.
2014-08-04 12:55:08 +01:00
Vittorio Giovara
e0d73fda36 avutil: add alias names for gray 8/16 colour spaces 2014-08-04 12:55:08 +01:00
Luca Barbato
d2962e9f89 pixdesc: Support pixelformat aliases
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-08-04 12:55:07 +01:00
Kostya Shishkov
5420099cab swscale: correctly pad destination buffer in rgb conversion
Bug-Id: 772
CC: libav-stable@libav.org
Found-By: Justin Ruggles <justin.ruggles@gmail.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-08-04 12:55:07 +01:00
ePirat
e3dc2c86fc libavformat: Add Icecast protocol
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 13:33:44 +02:00
Michael Niedermayer
7d03732f7e ffmpeg: Do not fail if a demuxer and decoder use the same option identifer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 13:33:44 +02:00
Michael Niedermayer
22a0249deb Merge commit 'bb41115d56930b9f5d59e79dca254d1201246967'
* commit 'bb41115d56930b9f5d59e79dca254d1201246967':
  imgutils: Do not declare avpriv_set_systematic_pal2 in the public header

Conflicts:
	libavutil/internal.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 12:41:15 +02:00
Janne Grunau
23dfa00b88 fate: explicitly set the default THREADS value
This makes the default of '1' more explicit than defaulting to '1' in
fate-run.sh and regression-funcs.sh if THREADS is not set.
Fixes the reported thread count in fate-cpu if THREADS is not set.
2014-08-04 12:20:56 +02:00
Marvin Scholz
eb9244f202 Add Icecast protocol
Icecast is basically a convenience wrapper around the HTTP protocol.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-08-04 12:56:42 +03:00
Diego Biurrun
bb41115d56 imgutils: Do not declare avpriv_set_systematic_pal2 in the public header 2014-08-04 02:52:33 -07:00
Michael Niedermayer
71d008ebe4 Merge commit '1ef9e8376466bb1e2c147e47554b94cab9c8b04a'
* commit '1ef9e8376466bb1e2c147e47554b94cab9c8b04a':
  avcodec: Deprecate dtg_active_format field in favor of avframe side-data

Conflicts:
	doc/APIchanges
	libavcodec/avcodec.h
	libavcodec/mpeg12dec.c
	libavcodec/version.h
	libavfilter/vf_showinfo.c
	libavutil/frame.h
	libavutil/version.h

See: 2a3c36e920
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 06:11:34 +02:00
Kieran Kunhya
2a3c36e920 Deprecate AFD field and add AFD as side-data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 05:36:44 +02:00
Michael Niedermayer
2793b218bd Merge commit 'd0393d79bc3d61c9f2ff832c0e273b7774ff0269'
* commit 'd0393d79bc3d61c9f2ff832c0e273b7774ff0269':
  huffyuv: Check and propagate function return values

Conflicts:
	libavcodec/huffyuvdec.c

See: f67a0d1152
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 05:29:55 +02:00
Michael Niedermayer
d5fde13bd2 Merge commit '6234058148d6e1ee765913b678a22385a87bffac'
* commit '6234058148d6e1ee765913b678a22385a87bffac':
  huffyuv: Return proper error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 04:58:13 +02:00
Michael Niedermayer
2b9044a6f0 Merge commit '3160bdc7f7bc27bb67561270b4e730cd2d844afd'
* commit '3160bdc7f7bc27bb67561270b4e730cd2d844afd':
  huffyuv: Use avpriv_report_missing_feature() where appropriate

Conflicts:
	libavcodec/huffyuvdec.c

Not merged, the error messages are not about missing support of features
of the input file. avpriv_report_missing_feature() speaks about
"... your file has a feature which has not been implemented"
Thats would simply not be correct

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 04:55:49 +02:00
Michael Niedermayer
e9cd8f4d20 Merge commit 'b7616f5716dce68c749d5dfeab19cf595a11807c'
* commit 'b7616f5716dce68c749d5dfeab19cf595a11807c':
  huffyuv: Eliminate some pointless casts

Conflicts:
	libavcodec/huffyuvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 04:42:04 +02:00
Michael Niedermayer
c1e7fb60d1 Merge commit 'c065f4a0c652cc569c927c95148111b3aa2962dc'
* commit 'c065f4a0c652cc569c927c95148111b3aa2962dc':
  huffyuv: K&R formatting cosmetics

Conflicts:
	libavcodec/huffyuvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 04:34:17 +02:00
Michael Niedermayer
2aeeb3ba1f Merge commit 'f89d76c10355242c39b08f253c1d1524f45ef778'
* commit 'f89d76c10355242c39b08f253c1d1524f45ef778':
  mpeg4video: Initialize xvididct for all threads

Conflicts:
	libavcodec/mpeg4videodec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 04:14:43 +02:00
Michael Niedermayer
66eacd5580 Merge commit 'a238b83b13640e3192d7d4aaad2242f13a9a84a1'
* commit 'a238b83b13640e3192d7d4aaad2242f13a9a84a1':
  aarch64: use MACH-O const data asm directive in const macro

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 04:06:34 +02:00
Michael Niedermayer
7fd60d1e7a Merge commit 'ac6b95dbc0b53b3ea461bd5e5e7f7f31d2983733'
* commit 'ac6b95dbc0b53b3ea461bd5e5e7f7f31d2983733':
  aarch64: add ',' between assembler macro arguments where missing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 04:06:13 +02:00
Michael Niedermayer
7fd7aa6b2b Merge commit 'caf5ef852bf71984d3322bbeaf48cfb04ac8255f'
* commit 'caf5ef852bf71984d3322bbeaf48cfb04ac8255f':
  cpu-test: test av_cpu_count

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 04:05:36 +02:00
Michael Niedermayer
01fc6533aa Merge commit '07d8fa58121be8fe315bd51ab760547fe209a745'
* commit '07d8fa58121be8fe315bd51ab760547fe209a745':
  fate: add informative cpu test

Conflicts:
	tests/fate/libavutil.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 03:51:17 +02:00
Michael Niedermayer
b4d4f8f826 Merge commit '6a463e7fb4f028c52d2e2d054f9483f4fff492bc'
* commit '6a463e7fb4f028c52d2e2d054f9483f4fff492bc':
  http: Refactor http_open_cnx

See: c2a170ac0d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 03:44:11 +02:00
Rodger Combs
c2a170ac0d avformat/http: fix tls/tcp protocol after a 302 move in https
Fixes ticket 3824

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 03:33:40 +02:00
Michael Niedermayer
05ff1a2c05 swresample/swresample: Treat mono as planar
This might in some cases improve performance.

Idea from: fbc0b86599
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 03:05:05 +02:00
Michael Niedermayer
c62fea7574 Merge commit 'fbc0b8659967ea54a8472b5f795270d38bb085dd'
* commit 'fbc0b8659967ea54a8472b5f795270d38bb085dd':
  lavr: Do not change the sample format for mono audio

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 02:49:48 +02:00
Michael Niedermayer
8f6d36b3cb avutil/mem: document NULL related saftey of av_freep()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 02:34:54 +02:00
Kieran Kunhya
1ef9e83764 avcodec: Deprecate dtg_active_format field in favor of avframe side-data
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-03 15:43:02 -07:00
Diego Biurrun
d0393d79bc huffyuv: Check and propagate function return values
Bug-Id: CVE-2013-0868

inspired by a patch from Michael Niedermayer <michaelni@gmx.at>
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Diego Biurrun <diego@biurrun.de>

CC: libav-stable@libav.org
2014-08-03 15:35:30 -07:00
Diego Biurrun
6234058148 huffyuv: Return proper error codes 2014-08-03 15:18:58 -07:00
Diego Biurrun
3160bdc7f7 huffyuv: Use avpriv_report_missing_feature() where appropriate 2014-08-03 15:18:58 -07:00
Diego Biurrun
b7616f5716 huffyuv: Eliminate some pointless casts 2014-08-03 15:18:58 -07:00
Diego Biurrun
c065f4a0c6 huffyuv: K&R formatting cosmetics 2014-08-03 15:18:58 -07:00
Anton Khirnov
f89d76c103 mpeg4video: Initialize xvididct for all threads
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-03 15:18:58 -07:00
Janne Grunau
a238b83b13 aarch64: use MACH-O const data asm directive in const macro 2014-08-04 00:17:21 +02:00
Janne Grunau
ac6b95dbc0 aarch64: add ',' between assembler macro arguments where missing
llvm's integrated assembler does not accept spaces as macro argument
delimiter when targeting darwin. Using a explicit delimiter is a good
idea in principle since it makes case like 'macro 4 -2' vs 'macro 4 - 2'
clear.
2014-08-04 00:17:21 +02:00
Janne Grunau
caf5ef852b cpu-test: test av_cpu_count
Add CPU count and number threads as informative values for fate.
2014-08-04 00:17:21 +02:00
Janne Grunau
07d8fa5812 fate: add informative cpu test
libavutil/cpu-test prints raw and effective cpu flags to STDERR. Detected
cpu flags can be useful for debugging fate errors.

No comparison of the result against a expected result since that would
require fate config specific references.
2014-08-04 00:17:21 +02:00
Michael Niedermayer
a7e87fef21 avfilter/vf_spp: Use dct->get_pixels()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-03 23:36:01 +02:00
Michael Niedermayer
e680c731a2 avcodec/avdct: Add get_pixels()
Suggested-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-03 23:34:35 +02:00
Luca Barbato
6a463e7fb4 http: Refactor http_open_cnx
Split return value handling from the actual opening.

Incidentally fixes the https -> http redirect issue reported by
Compn on behalf of rcombs.

CC: libav-stable@libav.org
2014-08-03 23:13:27 +02:00
Justin Ruggles
fbc0b86599 lavr: Do not change the sample format for mono audio
This treats mono as planar internally within libavresample rather
than changing the sample format.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-08-03 23:13:26 +02:00
Michael Niedermayer
9400603140 Merge commit '9f17685dfb70a73823aca16ad246ee3b831d1de8'
* commit '9f17685dfb70a73823aca16ad246ee3b831d1de8':
  avcodec: Deprecate unused defines and options

Conflicts:
	doc/APIchanges
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-03 20:53:00 +02:00
Michael Niedermayer
76aec9e6b4 Merge commit 'bad81800bb51f43d28d656abf5d45b477e3b3198'
* commit 'bad81800bb51f43d28d656abf5d45b477e3b3198':
  avcodec: options: Add missing deprecation ifdefs around emu_edge

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-03 19:45:38 +02:00
Michael Niedermayer
85aaa4e6d5 Merge commit '072916d903d3a925bcd0c864f12254157cab63c1'
* commit '072916d903d3a925bcd0c864f12254157cab63c1':
  filtfmts: Replace deprecated uses of AVFilterPad

Conflicts:
	libavfilter/filtfmts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-03 19:35:08 +02:00
Michael Niedermayer
f1d6fc7794 Merge commit '6a928293dd29c7f0dcf09107980a1d651c9957df'
* commit '6a928293dd29c7f0dcf09107980a1d651c9957df':
  examples: filter_audio: Add missing mem.h header for av_freep()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-03 19:18:25 +02:00
Michael Niedermayer
e896a5bdd6 Merge commit 'c6a1ac2dd9808a4753dd005ab5747dda68ab454f'
* commit 'c6a1ac2dd9808a4753dd005ab5747dda68ab454f':
  vf_fps: Replace use of deprecated AVFilterBufferRef by AVFrame

See: a05a44e205
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-03 19:12:14 +02:00
Michael Niedermayer
2212bff9a2 Merge commit 'c697c590fbf296b1679b80c8f4071e4c8a6c884b'
* commit 'c697c590fbf296b1679b80c8f4071e4c8a6c884b':
  lcl: Disentangle pointers to input data and decompression buffer

Conflicts:
	libavcodec/lcldec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-03 18:58:19 +02:00
Michael Niedermayer
149c1a26c4 Merge commit 'df507d5aa063c2ce31fac9f76c6f3bbe9a20c445'
* commit 'df507d5aa063c2ce31fac9f76c6f3bbe9a20c445':
  tiff: Replace deprecated PIX_FMT names by modern ones

Conflicts:
	libavcodec/tiff.c

See: ac627b3d38
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-03 18:38:17 +02:00
Michael Niedermayer
b7f8d3de2c Merge commit '7835c24e19d9e1cb43fba5a02ce9d81d518f1300'
* commit '7835c24e19d9e1cb43fba5a02ce9d81d518f1300':
  dv: Update DV-profile-related functions to current public API

Conflicts:
	libavcodec/dvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-03 18:29:38 +02:00
Michael Niedermayer
6cdf409884 avformat/mpegtsenc: do not flush after everything
there is flushing code in the avformat core that does this in a more
controlled way.

Fixes ticket2748

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-03 18:10:04 +02:00
Michael Niedermayer
fee982048e avformat/mux: flush after header writing, like after packets
This makes problematic unconditional flushes in mpegts redundant
And is thus part of a fix for ticket 2748

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-03 18:10:04 +02:00
Michael Niedermayer
b4d525eb63 avcodec/pnm: check buf[0] before using buf[1]
Fixes CSA warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-03 14:01:03 +02:00
Diego Biurrun
9f17685dfb avcodec: Deprecate unused defines and options 2014-08-03 03:24:16 -07:00
Diego Biurrun
bad81800bb avcodec: options: Add missing deprecation ifdefs around emu_edge 2014-08-03 03:24:15 -07:00
Diego Biurrun
072916d903 filtfmts: Replace deprecated uses of AVFilterPad
Also add missing mem.h header for av_freep().
2014-08-03 03:23:51 -07:00
Michael Niedermayer
4fed019821 avcodec/takdec: remove unused variable
Found-by: CSA
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-03 11:35:25 +02:00
Michael Niedermayer
7dbc27dc1d avcodec/takdec: move tmp declaration to where its used
Makes the code a bit easier to read

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-03 11:34:51 +02:00
Stefano Sabatini
ac1e3882cc doc/ffserver: merge paragraph starting with "What happens next?" with previous one
The name of the paragraph sounded a bit silly, and its text is small so
it's better to merge it with the previous paragraph.
2014-08-03 11:27:27 +02:00
Diego Biurrun
6a928293dd examples: filter_audio: Add missing mem.h header for av_freep() 2014-08-03 01:29:43 -07:00
Diego Biurrun
c6a1ac2dd9 vf_fps: Replace use of deprecated AVFilterBufferRef by AVFrame 2014-08-03 01:29:43 -07:00
Diego Biurrun
c697c590fb lcl: Disentangle pointers to input data and decompression buffer
This is cleaner and avoids a cast plus a related const qualifier warning.
2014-08-03 01:29:43 -07:00
James Almer
d0f56ca071 x86/hevc_deblock: improve 8bit transpose store macros
Up to four instructions less depending on function and instruction set.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-03 04:24:15 +02:00
Michael Niedermayer
2e6fdcb7f3 avformat/tee: flip assigment direction
Found-by: CSA
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-03 03:18:52 +02:00
Clément Bœsch
ee7ee9b1b4 avcodec/mpeg12dec: fix vissible typo after 17c65651 2014-08-03 00:02:23 +02:00
Michael Niedermayer
17c6565186 avcodec/mpeg12dec: Document Ticket3809 fix
Suggested-by: Reimar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 23:10:23 +02:00
Michael Niedermayer
c103c48525 avcodec/error_resilience: make error an local variable where possible
This makes the code easier to understand as the scope of the variable is
smaller.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 22:04:08 +02:00
Michael Niedermayer
459996325d avcodec/error_resilience: comment out unused assignment
Its not removed as the code which uses this is out-commented too.

Found-by: CSA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 22:01:59 +02:00
Diego Biurrun
df507d5aa0 tiff: Replace deprecated PIX_FMT names by modern ones 2014-08-02 12:54:37 -07:00
Diego Biurrun
7835c24e19 dv: Update DV-profile-related functions to current public API 2014-08-02 12:54:37 -07:00
Michael Niedermayer
d73371b58c avcodec/mmvideo: remove unused return value and assignment
Found-by: CSA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 21:46:24 +02:00
Michael Niedermayer
08b6591cf6 avcodec/avuienc: move pointer declaration to where its used
Found-by: CSA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 20:13:08 +02:00
Michael Niedermayer
17fef17f67 avfilter/lavfutils: remove redundant variable init
Found-by: CSA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 20:03:10 +02:00
Michael Niedermayer
146e498c9e Merge commit 'ffa4d4ef0bd66c4e8bde7357b69bdedc78123ea8'
* commit 'ffa4d4ef0bd66c4e8bde7357b69bdedc78123ea8':
  ppc: fft: Build AltiVec optimizations in the standard way

Conflicts:
	libavcodec/ppc/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 19:40:18 +02:00
Michael Niedermayer
1d8d21b90a ffserver: initialize pbuffer in prepare_sdp_description()
also check pbuffer before use

Found-by: CSA
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 18:32:37 +02:00
Michael Niedermayer
e706fe7640 avcodec/wavpackenc: Fix log2sample() result value
Found-by: CSA
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 18:15:12 +02:00
Michael Niedermayer
2b501b553f avformat/dtsdec: skip the first 4k in dts_probe()
DTS primarly needs to be separated from PCM, and PCM can contain cliping and
overshoots at the very start which can mimic DTS headers.

If this isnt sufficient then more of the DTS stream has to be decoded
and analyzed

Fixes ticket3784

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 17:25:04 +02:00
Michael Niedermayer
e6fabd6e9b avformat/dtsdec: fix signedness in reference pcm highpass in dts_probe()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 17:24:42 +02:00
Michael Niedermayer
dd551dc7ff avformat/dtsdec: count LE and BE separately in dts_probe()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 17:21:03 +02:00
Diego Biurrun
ffa4d4ef0b ppc: fft: Build AltiVec optimizations in the standard way 2014-08-02 07:40:37 -07:00
Matthew Oliver
66627075d9 msvc: fix implicitly declared read/close.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 14:52:17 +02:00
Michael Niedermayer
3fa9692ae2 avcodec/hevc: move HEVCLocalContext declaration into loop
Found-by: CSA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 05:15:57 +02:00
Michael Niedermayer
92be540636 avcodec/h264_parser: remove redundant assignment
Found-by: CSA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 05:14:18 +02:00
Michael Niedermayer
e85bc9df87 Merge commit 'f0e959481968b6d906931127237ed981b6414f6e'
* commit 'f0e959481968b6d906931127237ed981b6414f6e':
  af_channelmap: Set the frame channel layout

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 04:47:31 +02:00
Michael Niedermayer
dcd984e24d Merge commit '87efaa97ceb0ad5820870855d6df3e569e6eac7e'
* commit '87efaa97ceb0ad5820870855d6df3e569e6eac7e':
  af_join: Set the output frame format

See: e0dd8cadcc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 04:45:26 +02:00
Michael Niedermayer
98e42a249e avformat/format: Check for av_guess_format() failure
Fixes null pointer dereference
Fixes Ticket3812

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 04:16:02 +02:00
Michael Niedermayer
26ffa8eaee avformat/format: use av_match_name() in av_guess_codec()
Fixes part of Ticket2236

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 03:39:38 +02:00
Michael Niedermayer
956f4087c6 ffmpeg_opt: Use av_guess_codec() instead of AVOutputFormat->*codec
Fixes part of ticket2236

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 03:29:42 +02:00
Michael Niedermayer
bcc898dd26 avcodec/dvdsub_parser: print message if packet is smaller than the packet size field
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 01:17:24 +02:00
Michael Niedermayer
81c1657a59 avcodec/dvdsub_parser: Check buf_size before reading 32bit packet size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 01:15:37 +02:00
Luca Barbato
f0e9594819 af_channelmap: Set the frame channel layout
Otherwise the frame would show the first layout matching the
channel count.
2014-08-02 00:58:21 +02:00
Luca Barbato
87efaa97ce af_join: Set the output frame format 2014-08-02 00:58:21 +02:00
Michael Niedermayer
cfdb30d2f1 avcodec/dvdsub_parser: never return 0 when the input isnt 0
Fixes a infinite loop
Fixes Ticket3804

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-02 00:27:23 +02:00
Michael Niedermayer
afd62b3f18 Merge commit 'fa14804c83a7108a50c63d1f2180e30c75909529'
* commit 'fa14804c83a7108a50c63d1f2180e30c75909529':
  flv: Index the audio stream

Conflicts:
	libavformat/flvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 21:34:31 +02:00
Michael Niedermayer
f95298c913 avcodec/mpeg12dec: fix support for interlaced mpeg2 with missing last slice
Fixes Ticket3809

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 21:10:43 +02:00
Michael Niedermayer
7f852962dc avcodec/mpeg12dec: print the amount of overread
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 21:06:13 +02:00
Benoit Fouet
f9bd6d61bc h264_mp4toannexb_bsf: rename first_idr to new_idr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 17:58:30 +02:00
Michael Niedermayer
293124cae8 Merge commit '7ab551f9fd9a63586649a7df8790ddaeac55420f'
* commit '7ab551f9fd9a63586649a7df8790ddaeac55420f':
  h264: prevent theoretical infinite loop in SEI parsing

Conflicts:
	libavcodec/h264_sei.c

Not merged, as this would remove 2 bitstream compliance checks.
The specification does not allow the bitstream to end in the middle
of these variable length elements and we have no samples which
have such non compliant truncation either so its better to error
out. Which is simpler as well

This issue also has been fixed long ago
See: 9decfc17bb

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 17:47:15 +02:00
Michael Niedermayer
229a1e8694 Merge commit 'b2e059a1ffbdaaa985c6a7dcdd684fa034725238'
* commit 'b2e059a1ffbdaaa985c6a7dcdd684fa034725238':
  pixdesc: K&R formatting cosmetics

Conflicts:
	libavutil/pixdesc.c
	libavutil/pixdesc.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 16:56:42 +02:00
Michael Niedermayer
5727d387fb Merge commit '92a36a6b3338df5f5cff573a486e182005367c24'
* commit '92a36a6b3338df5f5cff573a486e182005367c24':
  pngdec: correctly indent macros

Conflicts:
	libavcodec/pngdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 16:48:09 +02:00
Michael Niedermayer
c87f645a75 Merge commit '52269f48e835a52023656f8330262ae70e6061c4'
* commit '52269f48e835a52023656f8330262ae70e6061c4':
  Revert "vf_interlace: deprecate lowpass option"

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 16:39:28 +02:00
Michael Niedermayer
79d0e164cf Merge commit '4da8cdbb91ddbac118b79076cad4dc28ba72e86f'
* commit '4da8cdbb91ddbac118b79076cad4dc28ba72e86f':
  tscc: Eliminate pointless variable indirections in decode_frame()

Conflicts:
	libavcodec/tscc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 16:34:20 +02:00
Michael Niedermayer
96cea6269a Merge commit '5735552f1f17ea01dcbc99b08f54b5bf52176a8f'
* commit '5735552f1f17ea01dcbc99b08f54b5bf52176a8f':
  pngenc: Drop pointless pointer cast in png_write_row()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 16:24:23 +02:00
Michael Niedermayer
f54e01c24e Merge commit 'a786c8259dafeca9744252230b5d78f67810770c'
* commit 'a786c8259dafeca9744252230b5d78f67810770c':
  idct: Split off Xvid IDCT

Conflicts:
	libavcodec/Makefile
	libavcodec/mpeg4videodec.c
	libavcodec/x86/Makefile
	libavcodec/x86/idctdsp_init.c

This split is somewhat restructured leaving the xvid IDCT available
outside mpeg4 if manually selected.

The code also could not be merged unchanged as it conflicted with a
bugfix in FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 16:21:52 +02:00
Michael Niedermayer
ad99837b63 Merge commit '03c9f357a4c2307a7913cea2cbf0ba817e80beb6'
* commit '03c9f357a4c2307a7913cea2cbf0ba817e80beb6':
  ppc: idctdsp: Immediately return if no AltiVec is available

Conflicts:
	libavcodec/ppc/idctdsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 15:11:05 +02:00
Luca Barbato
fa14804c83 flv: Index the audio stream
And leverage the video index if the video is just disabled as wm4
did in an initial patch.
2014-08-01 15:04:51 +02:00
Michael Niedermayer
713dbe0655 Merge commit '706208ef47bffd525c982975d2756f7b2b220b8d'
* commit '706208ef47bffd525c982975d2756f7b2b220b8d':
  fate: Split fate-pixdesc tests and dispatch them through Make

Conflicts:
	tests/fate-run.sh
	tests/ref/fate/filter-pixdesc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 15:03:22 +02:00
Michael Niedermayer
9e052df86d avfilter/vf_pullup: 2nd try to workaround gcc 4.4.3 bug on arm
The first try failed to work with some build flags

The gcc version affected is very old and unmaintained AFAIK thus i made no
attempt to report this to the gcc developers.

The workaround is pushed as it may still affect users and does affect one
fate client

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 14:17:53 +02:00
Vittorio Giovara
7ab551f9fd h264: prevent theoretical infinite loop in SEI parsing
Properly address CVE-2011-3946 and parse bitstream as described in the spec.

CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2014-08-01 13:08:32 +01:00
Luca Barbato
b2e059a1ff pixdesc: K&R formatting cosmetics
Also change some comments to multiline.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-08-01 13:07:53 +01:00
Vittorio Giovara
92a36a6b33 pngdec: correctly indent macros 2014-08-01 13:07:53 +01:00
Vittorio Giovara
52269f48e8 Revert "vf_interlace: deprecate lowpass option"
This reverts commit 35b05c5184.
A warning is introduced in case this option is used.
2014-08-01 13:02:29 +01:00
Diego Biurrun
4da8cdbb91 tscc: Eliminate pointless variable indirections in decode_frame() 2014-08-01 04:08:46 -07:00
Diego Biurrun
5735552f1f pngenc: Drop pointless pointer cast in png_write_row() 2014-08-01 04:08:45 -07:00
Carl Eugen Hoyos
a80191379b Fix standalone compilation of the WebVTT decoder. 2014-08-01 12:50:38 +02:00
Carl Eugen Hoyos
970c7d9b69 Add forgotten APIchanges entry for probesize2.
Update some git hashes.
2014-08-01 12:49:56 +02:00
Benoit Fouet
42f25fe009 h264_mp4toannexb_bsf: always set idr_sps_pps_seen when SPS/PPS is seen.
In order not to break a sequence like "SPS IDR SPS IDR", the boolean
telling that the SPS/PPS has been seen should always be set.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 12:20:14 +02:00
Benoit Fouet
66af2a01d2 h264: remove useless assignment.
source index, as well as dest one, is unconditionnaly set afterwards,
before being effectively used.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 12:20:01 +02:00
Diego Biurrun
a786c8259d idct: Split off Xvid IDCT
The Xvid IDCT is only required to decode some Xvid-encoded MPEG-4 files,
so there is no point in having it as an unconditional part of idctdsp.
2014-08-01 01:25:18 -07:00
Diego Biurrun
03c9f357a4 ppc: idctdsp: Immediately return if no AltiVec is available
This is how all the other init functions operate.
2014-08-01 01:23:11 -07:00
Diego Biurrun
706208ef47 fate: Split fate-pixdesc tests and dispatch them through Make
This allows running all the tests individually and/or in parallel.
2014-08-01 01:18:30 -07:00
Michael Niedermayer
7db3a46a3d Merge commit 'd98e6c5d5d80c1dfe0c30f2e73d41a3aea0b920d'
* commit 'd98e6c5d5d80c1dfe0c30f2e73d41a3aea0b920d':
  pgssubdec: Check RLE size before copying

See: c0d68be555
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 04:46:50 +02:00
Michael Niedermayer
d98e6c5d5d pgssubdec: Check RLE size before copying
Make sure the buffer size does not exceed the expected
RLE size.

Prevent an out of array bound write.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Bug-Id: CVE-2013-0852

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-08-01 02:13:32 +02:00
Lou Logan
d76675d9c0 doc/indevs: mention required configure options
For x11grab, libcdio, and libdc1394 input devices.

Signed-off-by: Lou Logan <lou@lrcd.com>
2014-07-31 15:00:41 -08:00
James Almer
62baf5b853 x86/hevc_deblock: use existing x86util transpose macro in chroma_{10, 12}
Cosmetic change. No measurable difference in speed.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 22:56:21 +02:00
Michael Niedermayer
39133efc1b avdevice/oss_audio: Check SNDCTL_DSP_GETFMTS failure, print a warning but continue
Found-by: CSA and Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 21:19:15 +02:00
Michael Niedermayer
fc19edd8f5 avfilter/trim: remove duplicate assignment
Found-by: CSA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 20:53:15 +02:00
Michael Niedermayer
a75a60f686 avutil/pixdesc: remove unneeded assignment
Found-by: CSA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 20:44:46 +02:00
Michael Niedermayer
5bedbc3da2 avcodec/diracdec: remove unneeded assignment
Found-by: CSA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 20:40:10 +02:00
Michael Niedermayer
590c2996ee avcodec/flac_parser: remove duplicate assignent
Found-by: CSA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 20:35:54 +02:00
Michael Niedermayer
1af563b5df avcodec/ratecontrol: remove unneeded statement
Found-by: CSA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 20:35:54 +02:00
Reimar Döffinger
f0de01856f dict.c: minor simplification.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-07-31 20:10:29 +02:00
Anshul Maheswhwari
fcb11ec291 v4l2enc: adding AVClass
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 18:59:20 +02:00
Michael Niedermayer
0782fb6bcb libavcodec/h264_parser: Increase parse_history, fix huge resolutions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 16:39:04 +02:00
Benoit Fouet
bf428bb314 h264_mp4toannexb_bsf: account for consecutive IDR pictures.
If there are consecutive IDR pictures, then SPS/PPS should be prepended
to all of them, not only the first one.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 15:59:47 +02:00
Michael Niedermayer
dd200c56c0 avcodec/dvdsubdec: free subtitle rectangles if nothing is output
Fixes assertion failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 14:17:46 +02:00
Michael Niedermayer
ceff29b9ad avcodec/resample: check for malloc failure
Found-by: CSA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 13:04:28 +02:00
Michael Niedermayer
72555f4a38 avcodec/pthread_slice: Check for malloc failure
Found-by: CSA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 12:56:21 +02:00
Michael Niedermayer
37ec7d291e avcodec/mpeg4video_parser: Check for extradata parsing failure
Found-by: CSA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 12:56:21 +02:00
Gerion Entrup
dc315cdb4e doc: add very basic libcdio documentation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 02:54:17 +02:00
Nicolas Martyanoff
467e9d6186 avformat/hlsenc: add some empty lines to make the code easier to read
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 00:33:49 +02:00
Nicolas Martyanoff
706fcffce1 avformat/hlsenc: rename some identifers to make the code easier to read
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 00:31:49 +02:00
Nicolas Martyanoff
53f10e0368 avformat/hlsenc: Add some comments to make the code easier to read
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-31 00:04:05 +02:00
Michael Niedermayer
a99de9ca2c Merge commit 'a0ce85ac7de098d3f9b53b51b77a09bad700a011'
* commit 'a0ce85ac7de098d3f9b53b51b77a09bad700a011':
  configure: Globally add ZLIB_CONST to CPPFLAGS if zlib is enabled

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-30 23:34:25 +02:00
Diego Biurrun
a0ce85ac7d configure: Globally add ZLIB_CONST to CPPFLAGS if zlib is enabled 2014-07-30 11:55:40 -07:00
Reimar Döffinger
1c84aad718 movdec: remove nonsensical snprintf.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-07-30 20:25:29 +02:00
Reimar Döffinger
04aec74f45 mxfdec: add missing "const" to array declaration.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-07-30 20:25:29 +02:00
Michael Niedermayer
547d64a49a ffprobe: print some basic information about avframe side data
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-30 19:23:08 +02:00
Michael Niedermayer
ba3e3311ef avutil/frame: add av_frame_side_data_name()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-30 19:19:22 +02:00
Michael Niedermayer
6f622e5fcb avfilter/f_select: avoid double->int in debug output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-30 17:50:35 +02:00
Michael Niedermayer
bcbfb95b0e avfilter/f_select: Set var_values[VAR_KEY] correctly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-30 17:49:26 +02:00
Michael Niedermayer
887d8d293f avfilter/f_select: avoid using doubles for equals checks and casts to enums
This might silence some warnings.

Issue found from: a8d803a320
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-30 17:37:09 +02:00
Michael Niedermayer
7994c1cd76 Merge commit 'a8d803a320fb08b3ad5db4fffc79abd401206905'
* commit 'a8d803a320fb08b3ad5db4fffc79abd401206905':
  vf_select: Drop a debug av_log with an unchecked double to enum conversion

Conflicts:
	libavfilter/f_select.c

Not merged, see next commit for the bugfix

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-30 17:32:15 +02:00
Nicolas George
91244073fd ffmpeg_filter: refuse to configure input without a decoder.
The decoder is necessary in order to filter frames.
This makes the error message clearer in this case:
currently, it will usually fail because the pixel or sample
format is not defined and is converted into "(null)"
(non-portable).

Enhance trac ticket #3779.
2014-07-30 14:40:45 +02:00
Carl Eugen Hoyos
ff9a154157 Add int64_t probesize2 instead of int probesize to AVFormatContext.
Allows to set a probesize >2G.
Tested-by: Oliver Fromme
2014-07-30 11:09:25 +02:00
Carl Eugen Hoyos
355121bcb5 lavf/mux: Fix a typo checking aspect ratios.
Fixes ticket #3813.
2014-07-30 11:03:29 +02:00
gerion.entrup@t-online.de
f2855eb4d7 avformat/movenc: add m4b to list of ipod playable files
m4b is the extension used by iDevices to detect audiobooks.
2014-07-30 04:19:58 +02:00
Christophe Gisquet
a507623bad x86: hevc_mc: fix register count usage
A macro was using a fixed register, causing too many GPRs to be
declared as used.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 22:50:50 +02:00
Michael Niedermayer
d38edeee9b avformat/format: fix memleak and error code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 21:38:15 +02:00
Michael Niedermayer
4182728c78 avformat/format.c: remove duplicate include, put libavutil includes together
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 21:35:07 +02:00
Michael Niedermayer
6d69503883 avformat/format: simplify ifdeffery
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 21:33:10 +02:00
Michael Niedermayer
58eaa95116 Merge commit 'ccbf370f2000b9b27f4af259c23007d67f7ea46e'
* commit 'ccbf370f2000b9b27f4af259c23007d67f7ea46e':
  mpegvideo: move vol_control_parameters to the only place it is used

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 21:26:59 +02:00
Michael Niedermayer
92de445034 Merge commit 'fa38573cd9ce4ab727f86f57c03b113cfd4c9d0a'
* commit 'fa38573cd9ce4ab727f86f57c03b113cfd4c9d0a':
  matroska: Register mime types

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 21:18:11 +02:00
Michael Niedermayer
8cad746093 Merge commit '02cf0c9e42967de1e4d2803bee3573bc5b735fdd'
* commit '02cf0c9e42967de1e4d2803bee3573bc5b735fdd':
  aac: Register the mime type

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 21:12:07 +02:00
Michael Niedermayer
9694695a21 avformat: fix probe mime version checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 21:02:48 +02:00
Michael Niedermayer
80a3a6611f Merge commit '3a19405d574a467c68b48e4b824c76617fd59de0'
* commit '3a19405d574a467c68b48e4b824c76617fd59de0':
  avformat: Use the mime type information in input probe

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 20:57:42 +02:00
Michael Niedermayer
31e0b5d3cb Merge commit '69e7336b8e16ee65226fc20381baf537f4b125e6'
* commit '69e7336b8e16ee65226fc20381baf537f4b125e6':
  avstring: Expose the simple name match function

Conflicts:
	libavutil/avstring.c
	libavutil/avstring.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 20:24:42 +02:00
Michael Niedermayer
e066f01539 Merge commit 'e253a9e2b3d683eb51db7c776326eb07de10ad4c'
* commit 'e253a9e2b3d683eb51db7c776326eb07de10ad4c':
  avformat: Move av_probe_input* to format.c

Conflicts:
	libavformat/format.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 20:02:09 +02:00
Diego Biurrun
a8d803a320 vf_select: Drop a debug av_log with an unchecked double to enum conversion
CC: libav-stable@libav.org
2014-07-29 09:37:01 -07:00
Nidhi Makhijani
ccbf370f20 mpegvideo: move vol_control_parameters to the only place it is used
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-29 09:13:18 -07:00
Luca Barbato
fa38573cd9 matroska: Register mime types 2014-07-29 17:47:32 +02:00
Luca Barbato
02cf0c9e42 aac: Register the mime type
Speed up probing ADTS live streams that are not frame-aligned such
as http://mp3.streampower.be/radio1.aac .
2014-07-29 17:47:32 +02:00
Luca Barbato
3a19405d57 avformat: Use the mime type information in input probe
It should provide a quicker guess for elementary streams provided
by http.
2014-07-29 17:47:26 +02:00
Luca Barbato
69e7336b8e avstring: Expose the simple name match function
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-07-29 17:46:29 +02:00
Nicolas Martyanoff
0c889da8cb avformat/hlsenc: fix cleanup after avformat_write_header()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 16:24:11 +02:00
Luca Barbato
e253a9e2b3 avformat: Move av_probe_input* to format.c 2014-07-29 15:18:51 +02:00
James Almer
73c4f63ba5 x86/hevc_deblock: add add ff_hevc_[hv]_loop_filter_luma_{8, 10, 12}_avx
~5% faster than SSSE3

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 14:04:59 +02:00
James Almer
88ba821f23 x86/hevc_deblock: improve luma functions register allocation
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 13:38:05 +02:00
James Almer
c74b08c5c6 x86/hevc_deblock: remove some unnecessary instructions
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 13:27:44 +02:00
Christophe Gisquet
65746bfbae hevc_filter: run vertical and horizontal together
This should help cache locality. On win64:
Before: 1397x cycles, 16216 bytes
After:  1369x cycles, 16040 bytes

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 03:56:43 +02:00
James Almer
4f91bb0ff0 x86/hevc_deblock: use psignw instead of pmullw where possible
It's slightly faster

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 03:42:29 +02:00
Michael Niedermayer
983109bbd9 Merge commit '942269fd00cb48328e4cffb6e21a0b691ce9f6bc'
* commit '942269fd00cb48328e4cffb6e21a0b691ce9f6bc':
  caf: Use correct printf conversion specifiers for POSIX int types

Conflicts:
	libavformat/cafdec.c

See: 1f36ebf63a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 01:40:23 +02:00
Michael Niedermayer
d55d8229fb Merge commit '019a28cd630286ecb2b06ee62025a17c821b493e'
* commit '019a28cd630286ecb2b06ee62025a17c821b493e':
  sanm: Use correct printf conversion specifiers for POSIX int types

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 01:22:46 +02:00
Michael Niedermayer
60831f441d Merge commit '59ca29a560ba0cfe97457de8cedf77db434f0de4'
* commit '59ca29a560ba0cfe97457de8cedf77db434f0de4':
  dump: Use correct printf conversion specifiers for POSIX int types

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 00:41:00 +02:00
Michael Niedermayer
a91c5ed008 Merge commit '4f8cf0dc4ef6110174056df7edd9dc2f2a988b6d'
* commit '4f8cf0dc4ef6110174056df7edd9dc2f2a988b6d':
  x86: build: Restore ordering of OBJS lines

Conflicts:
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 00:34:53 +02:00
Michael Niedermayer
621d4089a4 Merge commit 'e4a462e3eafdfe336f4d079c3ba72a9cdb4748b0'
* commit 'e4a462e3eafdfe336f4d079c3ba72a9cdb4748b0':
  configure: Use require_pkg_config for Speex

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 00:28:23 +02:00
Michael Niedermayer
8b1e920676 Merge commit '259fe7280d0b63dc7a8ff017d44f26d3a84cfde8'
* commit '259fe7280d0b63dc7a8ff017d44f26d3a84cfde8':
  mxf: Extract origin information from material and source track

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 00:18:03 +02:00
Michael Niedermayer
4a4d0258ee Merge commit 'c9d982aa11a6267611c3770792f0e04b48438348'
* commit 'c9d982aa11a6267611c3770792f0e04b48438348':
  mxf: Detect Vanc/Vbi SMPTE-436M mxf track

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 00:12:03 +02:00
Michael Niedermayer
25a2060890 Merge commit 'dc71f1958846bb1d96de43a4603983dc8450cfcc'
* commit 'dc71f1958846bb1d96de43a4603983dc8450cfcc':
  video4linux2: Avoid a floating point exception

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 00:06:32 +02:00
Carl Eugen Hoyos
63c0b41904 Fix standalone compilation of the adts muxer. 2014-07-28 23:25:54 +02:00
Diego Biurrun
942269fd00 caf: Use correct printf conversion specifiers for POSIX int types 2014-07-28 13:19:05 -07:00
Diego Biurrun
019a28cd63 sanm: Use correct printf conversion specifiers for POSIX int types 2014-07-28 13:19:04 -07:00
Diego Biurrun
59ca29a560 dump: Use correct printf conversion specifiers for POSIX int types 2014-07-28 13:19:04 -07:00
Diego Biurrun
4f8cf0dc4e x86: build: Restore ordering of OBJS lines 2014-07-28 13:19:04 -07:00
Luca Barbato
e4a462e3ea configure: Use require_pkg_config for Speex
Distributors and integrators nowadays have less problems by leveraging
pkg-config files than having to set custom CFLAGS and LDFLAGS.
2014-07-28 22:17:42 +02:00
Marc-Antoine Arnaud
259fe7280d mxf: Extract origin information from material and source track
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-07-28 22:17:42 +02:00
Marc-Antoine Arnaud
c9d982aa11 mxf: Detect Vanc/Vbi SMPTE-436M mxf track
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-07-28 22:17:42 +02:00
Bernhard Übelacker
dc71f19588 video4linux2: Avoid a floating point exception
This avoids a segfault in avconv_opt.c:opt_target when trying to
determine the norm.
2014-07-28 13:11:41 -07:00
James Almer
664e9e4331 x86/hevc_deblock: load less data in hevc_h_loop_filter_luma_8
Reading 8 bytes is enough.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 21:55:22 +02:00
James Almer
f137876182 x86/hevc_idct: add a colon to labels
This fixes a warning spam when using NASM

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 21:43:32 +02:00
Michael Niedermayer
1e51af13c7 avdevice/pulse_audio_enc: use getter function for AVFrame.channels
This is required by the API/ABI for things outside libavutil

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 20:06:11 +02:00
Michael Niedermayer
d554d004a6 tests/fate.sh: If cat *.rep fails try it with a for loop.
Fixes fate on haiku, where cat dies due to too many arguments
xargs could be used too but we do not use xargs currently so it
would be an additional dependency.

Also the plain cat is left in place as it is faster than the loop

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 18:34:16 +02:00
Michael Niedermayer
f3158c3f29 version.sh: Print versions based on the last git tag for release branches
release branches are detected by checking if "git" is not in RELEASE
This changes "N-64706-g2f71aeb" to "n2.3-8-g2f71aeb"
for git master theres no change

This should improve the readability of lists of versions which come from
more than 1 release branch or master + release. fate.ffmpeg.org is
one possible example

Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ee606fd031)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 15:44:59 +02:00
Michael Niedermayer
243236a6f5 avcodec/hevc: fix "discards const qualifier from pointer target type" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 14:34:47 +02:00
Michael Niedermayer
772dfd5f6e avcodec/hevc: add some const to cbf arrays
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 14:28:56 +02:00
Mickaël Raulet
42ffa226f9 hevc: clean up non relevant TODO
cherry picked from commit a2ef95f043d89d05482af19460c9e9afdadec685

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 14:27:04 +02:00
Anton Khirnov
a5c621aa85 hevc: rename variable in boundary strength to b more explicit
Signed-off-by: Mickaël Raulet <mraulet@insa-rennes.fr>

cherry picked from commit 348bebedc0012aae201419669fca1eb61ec93ca6
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 14:20:19 +02:00
Michael Niedermayer
e0492311c8 Merge commit 'e76f2d11970484266e67a12961f2339a5c2fccf9'
* commit 'e76f2d11970484266e67a12961f2339a5c2fccf9':
  hevc: eliminate the last element from TransformTree

Conflicts:
	libavcodec/hevc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 14:02:03 +02:00
Michael Niedermayer
4a73fa19ca Merge commit '4aa80808bcc2a30fcd7ce5b38594319df3a85b36'
* commit '4aa80808bcc2a30fcd7ce5b38594319df3a85b36':
  hevc: eliminate unnecessary cbf_c{b,r} arrays

Conflicts:
	libavcodec/hevc.c

See: 77ef9fd1e9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 13:54:51 +02:00
Michael Niedermayer
0a1ffc5788 Merge commit '0daa2554636ba1d31f3162ffb86991e84eb938a8'
* commit '0daa2554636ba1d31f3162ffb86991e84eb938a8':
  hevc: do not store the transform inter_split flag in the context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 13:09:28 +02:00
Michael Niedermayer
2fb8aa9b10 Merge commit '53a11135f2fb2123408b295f9aaae3d6f861aea5'
* commit '53a11135f2fb2123408b295f9aaae3d6f861aea5':
  hevc: simplify splitting the transform tree blocks

Conflicts:
	libavcodec/hevc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 13:03:59 +02:00
Michael Niedermayer
453224f10b Merge commit 'e36a2f4c5280e2779b0e88974295a711cf8d88be'
* commit 'e36a2f4c5280e2779b0e88974295a711cf8d88be':
  hevc: eliminate an unnecessary array

Conflicts:
	libavcodec/hevc.c

See: 255086a7e0
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 12:54:14 +02:00
Michael Niedermayer
c11255ae8b Merge commit '4b169321b84502302f2badb056ebee4fdaea94fa'
* commit '4b169321b84502302f2badb056ebee4fdaea94fa':
  codec_desc: fix some typos in long codec names

See: 60b59d657e
See: c3ca70204b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 12:46:49 +02:00
Michael Niedermayer
2e5c8b0649 Merge commit 'c5fca0174db9ed45be821177f49bd9633152704d'
* commit 'c5fca0174db9ed45be821177f49bd9633152704d':
  lavc: add a property for marking codecs that support frame reordering

Conflicts:
	doc/APIchanges
	libavcodec/avcodec.h
	libavcodec/codec_desc.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 12:36:28 +02:00
Anton Khirnov
e76f2d1197 hevc: eliminate the last element from TransformTree
Replace it by passing an additional parameter to transform_unit()
2014-07-28 08:10:35 +00:00
Anton Khirnov
4aa80808bc hevc: eliminate unnecessary cbf_c{b,r} arrays
They are replaced by passing additional parameters to the transform
functions.
2014-07-28 08:09:18 +00:00
Anton Khirnov
0daa255463 hevc: do not store the transform inter_split flag in the context
It does not need to be preserved.
2014-07-28 08:05:47 +00:00
Anton Khirnov
53a11135f2 hevc: simplify splitting the transform tree blocks 2014-07-28 08:04:19 +00:00
Anton Khirnov
e36a2f4c52 hevc: eliminate an unnecessary array
We do not need to store the value of the split flag.
2014-07-28 08:03:53 +00:00
Anton Khirnov
4b169321b8 codec_desc: fix some typos in long codec names
The rv20 typo spotted by Hendrik Leppkes <h.leppkes@gmail.com>
2014-07-28 08:03:13 +00:00
Anton Khirnov
c5fca0174d lavc: add a property for marking codecs that support frame reordering 2014-07-28 08:02:50 +00:00
Michael Niedermayer
5003b8b9c3 MAINTAINERS: update list of releases i maintain
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 06:16:34 +02:00
Michael Niedermayer
a06c14a48e avfilter/vf_spp: support setting dct avoptions from the filter graph string
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 05:16:03 +02:00
Michael Niedermayer
cab8fc624b avfilter/vf_scale: fix log message category
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 05:15:16 +02:00
Michael Niedermayer
2f717be22a avcodec/avdct: Add avcodec_dct_get_class()
This should have been in the initial commit of AVDCT

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 05:14:39 +02:00
Michael Niedermayer
a7762384cf RELEASE: update, we are after 2.3 not 2.2
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 03:11:04 +02:00
Anton Khirnov
77ef9fd1e9 hevc: eliminate unnecessary cbf_c{b,r} arrays
- They are be replaced by passing additional parameters to the transform
functions.
- Adaptation to 4:2:2

Signed-off-by: Mickaël Raulet <mraulet@insa-rennes.fr>
cherry picked from commit f518bb22531c648f1c37f978b0c7ad2e71e04c25
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 00:55:44 +02:00
Mickaël Raulet
772f7f4edd hevc: fix skip_flag
cherry picked from commit 509ae456551005b9bf9b4d9730b6247c97fdd990

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 00:47:28 +02:00
Mickaël Raulet
3b777db132 hevc: remove non necessary parameters to ff_hevc_set_qpy
cherry picked from commit 6f58c111ad9920d983bb18eacf901193bac5d937

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-28 00:39:13 +02:00
Lou Logan
db0578a0e7 doc/decoders: mention native Opus decoder
Signed-off-by: Lou Logan <lou@lrcd.com>
2014-07-27 13:46:48 -08:00
Carl Eugen Hoyos
bcb7220d1c Fix standalone compilation of the webm_dash_manifest demuxer. 2014-07-27 23:27:14 +02:00
Carl Eugen Hoyos
54326e0c50 Fix standalone compilation of the legacy mpegvideo decoder.
Second try.
2014-07-27 23:22:10 +02:00
Carl Eugen Hoyos
6898c14959 Fix standalone compilation of the legacy mpegvideo decoder. 2014-07-27 23:13:10 +02:00
Mickaël Raulet
449e3c8515 fate/hevc: update fate with 9 bitstreams
- all of them testing HEVC version 1

cherry picked from commit adcdabb4dd062694fb8de6df0faecaad1c36ba33

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 22:44:58 +02:00
Michael Niedermayer
7f53f11363 Merge commit '42eb9154a83e9a7aedb1168b2f1112af765cf2b5'
* commit '42eb9154a83e9a7aedb1168b2f1112af765cf2b5':
  fate: support testing of release branches

Conflicts:
	tests/fate.sh

The communication protocol is left at version 0 as our fate server
hasnt been updated to support this yet

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 22:03:13 +02:00
Michael Niedermayer
3d93ba5622 configure: fix memalign hack auto detection
Should fix fate on haiku

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 21:03:31 +02:00
Michael Niedermayer
f285056810 doc/examples/muxing: fix "-flags" option
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 19:58:47 +02:00
Christophe Gisquet
81943a10b5 x86: hevc_mc: load less data in epel filters
Before:
5679 decicycles in epel_bi, 2059976 runs, 37176 skips
3468 decicycles in epel_uni, 1040886 runs, 7690 skips

After:
5323 decicycles in epel_bi, 2059493 runs, 37659 skips
3262 decicycles in epel_uni, 1040871 runs, 7705 skips

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 18:34:39 +02:00
Christophe Gisquet
36284ae981 x86: hevc_mc: replace one lea by add
Should have been in 036f11bdb5.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 17:42:56 +02:00
Michael Niedermayer
e3fac20824 avfilter/vf_spp: use AVDCT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 17:21:40 +02:00
Michael Niedermayer
932ff70956 avcodec: add avdct
This provides a public sustainable API/ABI for DCT functions.
Only externally used dct functions are included.
The structure is extensible without ABI issues compared to the
existing dct contexts.

See Mailing list and IRC log of 2014-07-26/27

Reviewed-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 17:21:40 +02:00
Janne Grunau
42eb9154a8 fate: support testing of release branches
Adding 'branch=release/10' to the fate config file will check the
release/10 branch instead of master. If no branch is specified it will
use 'master' so that existing config are still valid.

The server side changes are already deployed, see
https://fate.libav.org/v10/ for an example. The server supports only the
release/* branches.

The server enforces that a single slot tests always the same branch.
Please append "-v$RELEASE" to the slot of release branch configs or make
the slot otherwise unique.

A different fate samples dir is needed for each release branch. make
fate-rsync has the correct URL in each branch.
2014-07-27 14:41:09 +02:00
Michael Niedermayer
fbeb634e4d avcodec/ppc/idctdsp: Only select non bitexact IDCTs by default when bitexact is not set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 14:22:36 +02:00
Michael Niedermayer
b051a1bbb9 avcodec/arm/idctdsp_init_arm*: Only select non bitexact IDCTs by default when bitexact is not set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 14:21:36 +02:00
Michael Niedermayer
c2ef844aa7 Merge commit '541427ab4d5b4b6f5a90a687a06decdb78e7bc3c'
* commit '541427ab4d5b4b6f5a90a687a06decdb78e7bc3c':
  eamad: use the bytestream2 API instead of AV_RL

Conflicts:
	libavcodec/eamad.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 12:27:01 +02:00
Michael Niedermayer
c437765be7 doc/examples/muxing: Exchange tmp_frame and frame
Reduces difference to 56f98e340f

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 12:03:51 +02:00
Anton Khirnov
541427ab4d eamad: use the bytestream2 API instead of AV_RL
This is safer and possibly fixes invalid reads on truncated data.

CC:libav-stable@libav.org
2014-07-27 07:10:54 +00:00
Chris \"Koying\" Browet
ad91bf854b avcodec/h264_mp4toannexb_bsf: fix issue when sps/pps are already in the bistream 2014-07-27 03:36:24 +02:00
Mickaël Raulet
e97f5bef95 fate/hevc: adding CONFWIN_A conformance test
cherry picked from commit 3b69a2dc469160ee87367191e630e8398e832227

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 02:45:40 +02:00
Mickaël Raulet
7bb3e70c06 fate/hevc: add flags unaligned
cherry picked from commit 3b69a2dc469160ee87367191e630e8398e832227

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 02:44:59 +02:00
Mickaël Raulet
29228dbd24 fate/hevc: add BUMPING bitstream test
cherry picked from commit d4d61a071f087db2a4bc2b49559d40dd350a841e

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 02:23:56 +02:00
Michael Niedermayer
57e7d9d929 Merge commit '7215fcf84032118ecd9fb54fb14154d69fea638d'
* commit '7215fcf84032118ecd9fb54fb14154d69fea638d':
  avformat: Mark AVOutputFormat argument in avformat_query_codec as const

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 02:16:09 +02:00
Michael Niedermayer
6542e5575f Merge commit 'ec4f04da1a3462dac429b9d15dee5f027309da15'
* commit 'ec4f04da1a3462dac429b9d15dee5f027309da15':
  avformat: Mark argument in av_{i|o}format_next/ffurl_protocol_next as const

Conflicts:
	libavformat/format.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 02:09:41 +02:00
Michael Niedermayer
0a7f3af27f Merge commit '53abe32409f13687c864b3cda077a1aa906a2459'
* commit '53abe32409f13687c864b3cda077a1aa906a2459':
  avcodec: Mark argument in av_{parser|hwaccel|bitstream_filter}_next as const

Conflicts:
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 01:57:34 +02:00
Michael Niedermayer
d1ce43a3e8 doc/examples/muxing: mark correct frame as writeable
Bug found from comparing 56f98e340f to HEAD
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 01:55:17 +02:00
Michael Niedermayer
fbd46e2f1c doc/examples/muxing: Always use swr, simplifies code slightly
Idea-from: 56f98e340f
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 01:32:19 +02:00
Anton Khirnov
22e9fe06eb doc/examples/muxing: add alloc_audio_frame() and use it to simplify code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 01:15:39 +02:00
Michael Niedermayer
a98cadef7f doc/examples/muxing: Move samples_count to OutputStream
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 01:05:05 +02:00
Michael Niedermayer
8b1d54ba40 doc/examples/muxing: free swr context at the end
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 00:50:58 +02:00
James Almer
bfb3b2b7a6 x86/hevc_idct: add 12bit idct_dc
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Mickaël Raulet <mraulet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 00:30:56 +02:00
Michael Niedermayer
d4a9e89b27 avcodec/x86/hevcdsp_init: make license header consistent
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 00:28:44 +02:00
Michael Niedermayer
706f81a2c2 Merge commit '1a880b2fb8456ce68eefe5902bac95fea1e6a72d'
* commit '1a880b2fb8456ce68eefe5902bac95fea1e6a72d':
  hevc: SSE2 and SSSE3 loop filters

Conflicts:
	libavcodec/hevcdsp.c
	libavcodec/hevcdsp.h
	libavcodec/x86/Makefile
	libavcodec/x86/hevc_deblock.asm
	libavcodec/x86/hevcdsp_init.c

See: de7b89fd43 and several others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 00:20:48 +02:00
Michael Niedermayer
226b290f9f Merge commit '73bb8f61d48dbf7237df2e9cacd037f12b84b00a'
* commit '73bb8f61d48dbf7237df2e9cacd037f12b84b00a':
  hevcdsp: remove an unneeded variable in the loop filter

Conflicts:
	libavcodec/hevc_filter.c

See: d7e162d46b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 23:53:31 +02:00
Diego Biurrun
7215fcf840 avformat: Mark AVOutputFormat argument in avformat_query_codec as const 2014-07-26 14:51:16 -07:00
Diego Biurrun
ec4f04da1a avformat: Mark argument in av_{i|o}format_next/ffurl_protocol_next as const 2014-07-26 14:51:16 -07:00
Diego Biurrun
53abe32409 avcodec: Mark argument in av_{parser|hwaccel|bitstream_filter}_next as const 2014-07-26 14:51:16 -07:00
Michael Niedermayer
371cb96414 Merge commit '56f98e340fca894a76d1ddbe33118b8d8c4db34a'
* commit '56f98e340fca894a76d1ddbe33118b8d8c4db34a':
  output example: convert audio to the format supported by the encoder

Conflicts:
	doc/examples/muxing.c

Not merged as our example code already does that for what is needed
and we generate matching data for the rest. generating fixed data
and converting all parameters could be done of course.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 23:37:07 +02:00
Michael Niedermayer
7cf0865551 doc/examples/muxing: Support setting flags, for example for setting bitexact
This would allow the example to be used in regression tests

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 22:49:02 +02:00
Michael Niedermayer
5d2cf1ae86 doc/examples/muxing: select a supported sample rate for the encoder, favor 44100
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 22:27:50 +02:00
Michael Niedermayer
ead22f42f4 doc/examples/muxing: pick a supported channel layout if stereo isnt supported by the encoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 22:01:08 +02:00
Michael Niedermayer
9ccb9c8df2 doc/examples/muxing: move swr context to OutputStream
Idea from: 56f98e340f
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 21:50:21 +02:00
Michael Niedermayer
1c0c19f8bd Merge commit '884f7c975f0af25febe86660e87bf3b2165a0309'
* commit '884f7c975f0af25febe86660e87bf3b2165a0309':
  output example: set the stream timebase

Conflicts:
	doc/examples/muxing.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 21:04:31 +02:00
James Almer
1ace9573dc x86/hevc_idct: replace old and unused idct functions
Only 8-bit and 10-bit idct_dc() functions are included (adding others should be trivial).

Benchmarks on an Intel Core i5-4200U:

idct8x8_dc
       SSE2   MMXEXT  C
cycles 22     26      57

idct16x16_dc
       AVX2   SSE2    C
cycles 27     32      249

idct32x32_dc
       AVX2   SSE2    C
cycles 62     126     1375

Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Mickaël Raulet <mraulet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 18:00:11 +02:00
Pierre Edouard Lepere
1a880b2fb8 hevc: SSE2 and SSSE3 loop filters
Additional contributions by James Almer <jamrial@gmail.com>,
Carl Eugen Hoyos <cehoyos@ag.or.at>, Fiona Glaser <fiona@x264.com> and
Anton Khirnov <anton@khirnov.net>

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-07-26 15:01:01 +00:00
Anton Khirnov
73bb8f61d4 hevcdsp: remove an unneeded variable in the loop filter
beta0 and beta1 will always be the same
2014-07-26 15:00:11 +00:00
Anton Khirnov
56f98e340f output example: convert audio to the format supported by the encoder 2014-07-26 14:57:59 +00:00
Anton Khirnov
884f7c975f output example: set the stream timebase
This is required by the new API.
2014-07-26 14:57:45 +00:00
Mickaël Raulet
23480da0aa hevc: add support for bumping process
cherry picked from commit 8aa2fb7df3cffc67a3fd03a3a7eb49dbed4094c7

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 15:40:34 +02:00
Michael Niedermayer
c0a586d9d5 reintroduce avpriv_dsputil_init() to maintain ABI until next soname bump
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 13:21:07 +02:00
Lukasz Marek
9a6ca20ef6 configure: replace pulse-simple with pulse
pulse-simple is additional library built on top of PulseAudio.
It causes ffmpeg to link to library which is not needed anymore.
This commit removes that redundant dependency.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 12:42:05 +02:00
Christophe Gisquet
036f11bdb5 x86: hevc_mc: replace simple leas by adds
lea is detrimental for those simple cases. No impact overall to
the change though.

Before:
15017 decicycles in q, 1016152 runs, 32424 skips
15382 decicycles in q_bi, 1013673 runs, 34903 skips
3713 decicycles in e, 2074534 runs, 22618 skips
3901 decicycles in e_bi, 2065509 runs, 31643 skips
7852 decicycles in q_uni, 520165 runs, 4123 skips
2398 decicycles in e_uni, 1043339 runs, 5237 skips

After:
14898 decicycles in q, 1016295 runs, 32281 skips
15119 decicycles in q_bi, 1015392 runs, 33184 skips
3682 decicycles in e, 2073224 runs, 23928 skips
3720 decicycles in e_bi, 2065043 runs, 32109 skips
7643 decicycles in q_uni, 520280 runs, 4008 skips
2363 decicycles in e_uni, 1043780 runs, 4796 skips

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 05:41:04 +02:00
Michael Niedermayer
7295ee7f51 Merge commit 'd8520d3ee032bf18f28897e0109f44b405caf5e3'
* commit 'd8520d3ee032bf18f28897e0109f44b405caf5e3':
  mpegvideo: Move QMAT_SHIFT* defines to the only place they are used

Conflicts:
	libavcodec/mpegvideo.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 02:47:32 +02:00
Michael Niedermayer
8b395315a5 Merge commit '4fbb62a21bd04bf261da2382d5ba6c249c702af8'
* commit '4fbb62a21bd04bf261da2382d5ba6c249c702af8':
  mpegvideo: Move ME_MAP_* defines to the only place they are used

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 02:34:51 +02:00
Michael Niedermayer
0a9bab5be6 Merge commit 'ff85334375c6733c6116ea3686f128b4a11f33e7'
* commit 'ff85334375c6733c6116ea3686f128b4a11f33e7':
  mpegvideo: Drop unused MPEG_BUF_SIZE and CHROMA_444 defines

CHROMA_444 is not removed as we do support CHROMA_444 and use the
identifier

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 02:23:29 +02:00
Mickaël Raulet
f6e218a02d hevc: fix RAP_B_Bossen
cherry picked from commit 903236292f066bc321080e3e2192b64f8943d960

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 02:01:04 +02:00
Mickaël Raulet
bd0f2d316f x86/hevc: add 12bits support for MC
cherry picked from commit 3fcb7a4595a6f40100a22110a5805e3b7510c0fd

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 01:55:20 +02:00
Mickaël Raulet
7df98d8c4d x86/hevc: remove unused constant in deblocking filter
cherry picked from commit a3f7282eaa6f1ab0524fb966c6eade50c3025f99

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 01:20:40 +02:00
Mickaël Raulet
7bdcf5c934 x86/hevc: add 12bits support for deblocking filter
cherry picked from commit 97d46afe320c7d61d7b9525e5f5588355cde4bb0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 01:19:42 +02:00
Michael Niedermayer
a06fac353c avformat/mux: ignore delayed vp8/9 packets in max_interleave_delta calculation
libvpx adds very significant delay, which appears normal and we must
buffer all other streams no matter what to interleave them correctly

Fixes Ticket3440

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-26 01:11:00 +02:00
Michael Niedermayer
24327706e1 avutil/opt: ensure the right buffer is used in set_string_number()
Fixes use of uninitialized memory

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-25 21:29:43 +02:00
Diego Biurrun
d8520d3ee0 mpegvideo: Move QMAT_SHIFT* defines to the only place they are used 2014-07-25 12:00:53 -07:00
Diego Biurrun
4fbb62a21b mpegvideo: Move ME_MAP_* defines to the only place they are used 2014-07-25 12:00:53 -07:00
Diego Biurrun
ff85334375 mpegvideo: Drop unused MPEG_BUF_SIZE and CHROMA_444 defines 2014-07-25 12:00:52 -07:00
Michael Niedermayer
aadf5222da Merge commit '165e9df19567ec0b6abee1ee2c26027e6d7aa7bf'
* commit '165e9df19567ec0b6abee1ee2c26027e6d7aa7bf':
  fft-test: Pass the right struct members instead of casting

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-25 20:43:03 +02:00
Diego Biurrun
165e9df195 fft-test: Pass the right struct members instead of casting 2014-07-25 06:54:37 -07:00
Timothy Gu
065fa66872 RELEASE_NOTES: fix WebVTT decoder typo (-> encoder)
Found-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-25 13:22:00 +02:00
Michael Niedermayer
859413b66d Merge commit '58e65e44f435243dc72dfce1f8af8afcf1319f34'
* commit '58e65e44f435243dc72dfce1f8af8afcf1319f34':
  vc1dsp: Add wrappers for {avg|put}_vc1_mspel_mc00_c

Conflicts:
	libavcodec/vc1dsp.c

See: 319235c67c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-25 13:11:23 +02:00
Michael Niedermayer
2904d052b7 Merge commit '7fb993d338d88f2f62e0a358b6c9f3eb9a3a08ac'
* commit '7fb993d338d88f2f62e0a358b6c9f3eb9a3a08ac':
  qpeldsp: Mark source pointer in qpel_mc_func function pointer const

Conflicts:
	libavcodec/h264qpel_template.c
	libavcodec/x86/cavsdsp.c
	libavcodec/x86/rv40dsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-25 13:05:08 +02:00
Michael Niedermayer
937eaba2a1 Merge commit '060e4a9e0627adcda9101dd68ec7f22b4ce22b5b'
* commit '060e4a9e0627adcda9101dd68ec7f22b4ce22b5b':
  dct/rdft: Remove duplicate typedefs for context structs

See: 005e81d6cf
See: 77304cf352
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-25 12:39:17 +02:00
Diego Biurrun
58e65e44f4 vc1dsp: Add wrappers for {avg|put}_vc1_mspel_mc00_c
This avoids invoking the wrapped functions with too many arguments.
2014-07-25 02:52:54 -07:00
Diego Biurrun
7fb993d338 qpeldsp: Mark source pointer in qpel_mc_func function pointer const 2014-07-25 02:52:54 -07:00
Diego Biurrun
060e4a9e06 dct/rdft: Remove duplicate typedefs for context structs
The typedefs also exist in the avfft.h header and since typedefs cannot be
legally redefined in C, the code fails to compile with some compilers.

This reverts commits 11c7155cce and 57f1b1dcc7.
2014-07-25 02:02:15 -07:00
Nicolas George
04bc370072 lavf/avio: do not include bprint.h.
C++ chokes on the definition of AVBPrint.
Including avio.h from c++ code used to work.
Fix trac ticket #3800.

Signed-off-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-25 05:37:45 +02:00
Michael Niedermayer
66ae994c54 avformat/segment: re-interleave packets if needed
Fixes part of Ticket 3797

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-24 23:22:33 +02:00
Michael Niedermayer
351b22caae avformat/mux: support re-interleaving packets in ff_write_chained()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-24 22:39:22 +02:00
Michael Niedermayer
383a04a127 avformat/mux: keep AVPacket fields consistent in ff_write_chained()
This might have caused double frees in theory, i do not have a test case
though

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-24 22:33:21 +02:00
Michael Niedermayer
d44b8f0a47 avformat/matroskaenc: print a warning when the relative timestamp wouldnt fit in 16bit
This is somewhat unusual so its better to use warning level than debug

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-24 20:25:29 +02:00
Michael Niedermayer
ce8e27e0ed Merge commit '436ced244fadcde2c0b925627920e84b25482542'
* commit '436ced244fadcde2c0b925627920e84b25482542':
  mpegenccontext: Remove unused opaque pointer

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-24 18:53:34 +02:00
Michael Niedermayer
7923aa0fba avformat/matroskaenc: Start new cluster if relative timestamp could not otherwise be stored
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-24 18:19:50 +02:00
Michael Niedermayer
3c6e220a8c avformat/matroskaenc: Factor mkv_start_new_cluster() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-24 18:19:11 +02:00
Nidhi Makhijani
436ced244f mpegenccontext: Remove unused opaque pointer
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-24 07:59:44 -07:00
Michael Niedermayer
183bbc2af1 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Ignore xing number of frames if the file is larger than indicated.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-24 16:50:44 +02:00
Timothy Gu
c508adb223 hevc: propagate error code from set_sps()
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-24 16:25:55 +02:00
Carl Eugen Hoyos
ef21b3d38e Ignore xing number of frames if the file is larger than indicated.
Fixes ticket #3777.
2014-07-24 15:34:36 +02:00
Carl Eugen Hoyos
badcd3da81 Print a warning instead of requesting a sample for an invalid exif tag.
Fixes ticket #3792.
Reviewed-by: Thilo Borgmann
2014-07-24 11:58:11 +02:00
Lukasz Marek
f753956252 lavfi/src_movie: minor simplifications
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-24 04:50:32 +02:00
Lukasz Marek
9739255365 lavfi/src_movie: remove frame from priv context
This variable is used only inside one function.
There is no need to store it in context.

This also may prevent crush by double free frame.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-24 04:48:49 +02:00
Michael Niedermayer
8b59ab1af0 Merge commit 'ce2e858f5b3416c2d54f7f8c14e901f75c48b785'
* commit 'ce2e858f5b3416c2d54f7f8c14e901f75c48b785':
  http: K&R formatting cosmetics

Conflicts:
	libavformat/http.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-24 02:08:14 +02:00
Michael Niedermayer
ab0f78ea77 Merge commit 'd0de7330b973b354e2ceb0b99fd545b868b0a9c4'
* commit 'd0de7330b973b354e2ceb0b99fd545b868b0a9c4':
  fft-test: Pass correct struct members to (i)dct functions

Conflicts:
	libavcodec/fft-test.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-24 01:50:01 +02:00
Michael Niedermayer
02ea384abd Merge commit '6133d65861f265d429ade53e910fe877c95a1615'
* commit '6133d65861f265d429ade53e910fe877c95a1615':
  fft-test: K&R formatting cosmetics

Conflicts:
	libavcodec/fft-test.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-24 01:22:31 +02:00
Michael Niedermayer
629e5e28f7 avcodec/fft-test: fix memory alloc checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-24 00:47:11 +02:00
Michael Niedermayer
074bb7515e Merge commit 'c3c96deb5f8cbbdb700ba97920ceedddacb5dcb9'
* commit 'c3c96deb5f8cbbdb700ba97920ceedddacb5dcb9':
  fft-test: Check memory allocations

Conflicts:
	libavcodec/fft-test.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-24 00:35:40 +02:00
Diego Biurrun
ce2e858f5b http: K&R formatting cosmetics
Also comment some #endifs and reshuffle headers into canonical order.
2014-07-23 13:57:24 -07:00
Christophe Gisquet
670b7f203a x86: hevcdsp: align
Reviewed-by: Mickaël Raulet <mraulet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 22:18:08 +02:00
Diego Biurrun
d0de7330b9 fft-test: Pass correct struct members to (i)dct functions
This fixes a number of incompatible pointer type warnings.
2014-07-23 13:05:25 -07:00
Diego Biurrun
6133d65861 fft-test: K&R formatting cosmetics
Also rearrange #includes into canonical order.
2014-07-23 13:05:19 -07:00
Christophe Gisquet
373677f958 hevc_mvs: avoid deriving tmvp in amvp
Reduces on a sequence number of calls from 933685 to 586271.

Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 21:21:49 +02:00
Christophe Gisquet
ca081217cd hevcdsp: change types of SAO parameters
From openhevc

Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 20:54:03 +02:00
Michael Niedermayer
088875b6b8 Merge commit '7288b345850792430302a8f85a4b29140b770497'
* commit '7288b345850792430302a8f85a4b29140b770497':
  fft-test: Drop unnecessary pointer indirection for context structs

Conflicts:
	libavcodec/fft-test.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 20:48:05 +02:00
Michael Niedermayer
09f5b3750f Merge commit 'd445c865f87e7f13230e4dac3f77f5af21da95cb'
* commit 'd445c865f87e7f13230e4dac3f77f5af21da95cb':
  fft-test: Reduce variable scope where sensibly possible

Conflicts:
	libavcodec/fft-test.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 20:40:41 +02:00
Michael Niedermayer
97d2b8d6f5 Merge commit 'eac77fcd56fc2a3391f0d86faf54302afb368ff7'
* commit 'eac77fcd56fc2a3391f0d86faf54302afb368ff7':
  mpegenccontext: Remove unused dct_unquantize_h261 function pointers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 20:20:08 +02:00
Andrey Utkin
b6a6459a24 lavd/lavfi: work with non-mappable files for graph_file option
Example of non-mappable file is /dev/stdin. Previously passing it as
graph_file value returned error.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 18:42:41 +02:00
Andrey Utkin
8a4c0866dc avio: Introduce avio_read_to_bprint(avioctx, bp, max_size)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 18:42:41 +02:00
Michael Niedermayer
01b236b704 avformat/flvdec: use AV_PKT_DATA_NEW_EXTRADATA for h264 too
Fixes Ticket 3787

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 17:41:12 +02:00
Michael Niedermayer
601c238854 avcodec/h264: support AV_PKT_DATA_NEW_EXTRADATA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 17:40:21 +02:00
Michael Niedermayer
1bf371b24e avcodec/h264: factor is_extra() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 17:40:21 +02:00
Diego Biurrun
c3c96deb5f fft-test: Check memory allocations 2014-07-23 06:05:02 -07:00
Diego Biurrun
7288b34585 fft-test: Drop unnecessary pointer indirection for context structs 2014-07-23 06:05:02 -07:00
Diego Biurrun
d445c865f8 fft-test: Reduce variable scope where sensibly possible
Also merge variable declaration and initialization.
2014-07-23 06:05:02 -07:00
Michael Niedermayer
54256482cb Merge commit '20ec0daaa1cdd3996ac6ed0198de961129474044'
* commit '20ec0daaa1cdd3996ac6ed0198de961129474044':
  fft-test: Make global exptab variable static

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 14:27:10 +02:00
Michael Niedermayer
d0cb6caf69 Merge commit '2b6ab3a2bd7e7cee5e7a55dd2e48b8feb4a826bb'
* commit '2b6ab3a2bd7e7cee5e7a55dd2e48b8feb4a826bb':
  mpegvideo: Move QUANT_BIAS_SHIFT define to the only place it is used

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 14:15:48 +02:00
Nidhi Makhijani
eac77fcd56 mpegenccontext: Remove unused dct_unquantize_h261 function pointers
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-23 05:07:21 -07:00
Diego Biurrun
20ec0daaa1 fft-test: Make global exptab variable static 2014-07-23 03:45:33 -07:00
Diego Biurrun
2b6ab3a2bd mpegvideo: Move QUANT_BIAS_SHIFT define to the only place it is used 2014-07-23 03:16:55 -07:00
Carl Eugen Hoyos
c75fdee747 avcodec/x86/hevc_deblock: Fix compilation with nasm. 2014-07-23 10:32:27 +02:00
Michael Niedermayer
bbc5adfb94 avutil/opt: Fix parsing regression with constants starting with numbers
Fixes parsing "3dnow"

Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 08:42:52 +02:00
Michael Niedermayer
a61325798a Changelog: add "version <next>:" so people dont add new things to the last release
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 02:38:26 +02:00
Michael Niedermayer
7e5d75d53f Merge commit '06a1d1323bc8afd03f085ae98d9b74e431b3534e'
* commit '06a1d1323bc8afd03f085ae98d9b74e431b3534e':
  configure: Extend the neon intrinsics check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 00:34:36 +02:00
Michael Niedermayer
9515d7c629 Merge commit '5be7d8597d02bcaba2de2503c0e59cf865c746dc'
* commit '5be7d8597d02bcaba2de2503c0e59cf865c746dc':
  fft-test: Comment some #endifs

Conflicts:
	libavcodec/fft-test.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 00:29:06 +02:00
Michael Niedermayer
9eeedf8769 Merge commit '57f1b1dcc77a93c2a5c503d4e47fe2f567cf9db5'
* commit '57f1b1dcc77a93c2a5c503d4e47fe2f567cf9db5':
  fft-test: Drop unnecessary #ifdefs around header includes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 00:23:28 +02:00
Michael Niedermayer
77304cf352 avcodec: dct/rdft only support float mode, skip their contents for fixed point 2014-07-23 00:18:24 +02:00
Michael Niedermayer
005e81d6cf Merge commit '11c7155cce50971a38e6cebd39a3ba5a54645fae'
* commit '11c7155cce50971a38e6cebd39a3ba5a54645fae':
  dct/rdft: Add missing typedefs for context structs

Not merged, as it breaks build

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 23:02:11 +02:00
Martin Storsjö
06a1d1323b configure: Extend the neon intrinsics check
Check for an instruction that causes the (very old) Apple GCC 4.2
to error out ("unrecognizable insn").

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-22 23:57:23 +03:00
Michael Niedermayer
1df2f7b6a8 Merge commit 'eba2233b58c2c4b468c58287d6537b2f1188a8cd'
* commit 'eba2233b58c2c4b468c58287d6537b2f1188a8cd':
  build: Add define for SIMD extensions requiring 16-byte aligned buffers

Conflicts:
	configure
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 22:32:40 +02:00
Michael Niedermayer
013172ae9f Merge commit '67bc1ba5d75953d136bfa02ce6c0a27e9fd9dac3'
* commit '67bc1ba5d75953d136bfa02ce6c0a27e9fd9dac3':
  libxvid: Drop PPC-specific CPU detection hack

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 22:23:26 +02:00
Michael Niedermayer
016cca4504 Merge commit '7bdd2ff6825951f7a6a6008303acfce7c2a63532'
* commit '7bdd2ff6825951f7a6a6008303acfce7c2a63532':
  http: Use a constant for the supported header size

Conflicts:
	libavformat/http.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 22:02:48 +02:00
Diego Biurrun
5be7d8597d fft-test: Comment some #endifs 2014-07-22 11:55:40 -07:00
Diego Biurrun
57f1b1dcc7 fft-test: Drop unnecessary #ifdefs around header includes 2014-07-22 11:55:40 -07:00
Diego Biurrun
11c7155cce dct/rdft: Add missing typedefs for context structs
Without the typedefs there can be trouble depending on #include order.
2014-07-22 11:55:40 -07:00
Diego Biurrun
eba2233b58 build: Add define for SIMD extensions requiring 16-byte aligned buffers 2014-07-22 11:46:35 -07:00
Diego Biurrun
67bc1ba5d7 libxvid: Drop PPC-specific CPU detection hack
It is doubtful if the hack (still) works and Xvid had ten years to fix it.
2014-07-22 11:45:07 -07:00
Michael Niedermayer
bc15b5238f Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Autodetect big-endian tiff files.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 18:23:53 +02:00
Christophe Gisquet
ed248e7f70 hevc: wait proper position for tmvp
The position is either rounded or not checked, so delay the wait to
check the proper value.

Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 18:11:50 +02:00
Carl Eugen Hoyos
050d79b6dd Autodetect big-endian tiff files. 2014-07-22 18:09:14 +02:00
Przemysław Sobala
c68098ba4a avcodec/mjpegdec: add pix_fmt: 0x14121200
Fixes: _15801_F.jpg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 18:07:44 +02:00
Michael Niedermayer
539e72727f avutil/opt: simplify set_string_number()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 17:38:06 +02:00
Muhammad Faiz
4852a88dfb avutil/opt: set_string_number(): remove unneeded copy
also remove unused variables

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 16:58:41 +02:00
Luca Barbato
7bdd2ff682 http: Use a constant for the supported header size 2014-07-22 16:38:26 +02:00
Michael Niedermayer
ca6b33b8bd avcodec/x86/hevcdsp_init: Fix "warning: assignment from incompatible pointer type" 2014-07-22 16:36:12 +02:00
Anton Khirnov
d7e162d46b hevcdsp: remove an unneeded variable in the loop filter
beta0 and beta1 will always be the same within a CU

Signed-off-by: Mickaël Raulet <mraulet@insa-rennes.fr>

cherry picked from commit 4a23d824741a289c7d2d2f2871d1e2621b63fa1b
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 16:27:26 +02:00
Anton Khirnov
ae2f048fd7 avcodec/x86/hevc_deblock: cosmetics
cherry picked from commit f7843356253459e6010320292dbbc1e888a5249b
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 16:18:05 +02:00
Anton Khirnov
b435043abb hevc: cleanups in SSE2 and SSSE3 loop filters, use fewer instructions
cherry picked from commit f7843356253459e6010320292dbbc1e888a5249b
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 16:17:29 +02:00
Anton Khirnov
e8581b17a8 avcodec/x86/hevc_deblock: use test instead of cmp 0
cherry picked from commit f7843356253459e6010320292dbbc1e888a5249b
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 16:16:05 +02:00
Anton Khirnov
dc69247de4 avcodec/x86/hevc_deblock: use of paddw instead of psllw
cherry picked from commit f7843356253459e6010320292dbbc1e888a5249b
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 16:14:53 +02:00
Anton Khirnov
500a0394d5 avcodec/x86/hevc_deblock: add %ifs to avoid "do nothing instructions"
cherry picked from commit f7843356253459e6010320292dbbc1e888a5249b
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 16:13:28 +02:00
Anton Khirnov
7a4cf67117 hevc: cleaning up SSE2 and SSSE3 deblocking filters
Signed-off-by: Mickaël Raulet <mraulet@insa-rennes.fr>

cherry picked from commit b432041d7d1eca38831590f13b4e5baffff8186f
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 16:00:48 +02:00
Mickaël Raulet
5f08b417b4 hevc/mvs: cosmetics
cherry picked from commit 9053cd92700e939cde49ab0ea3c6917be453cab7

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 15:19:19 +02:00
Mickaël Raulet
cd714afe81 hevc/mvs: more cleanups
cherry picked from commit c4e467e79f59453783c97bc6044082edb7a6468b

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 15:13:09 +02:00
Mickaël Raulet
3ad0460831 hevc/mvs: code cleaning
cherry picked from commit 74f10da013ea71a3f6b77cdff989c4574c8a5ea2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 15:05:00 +02:00
Mickaël Raulet
c4d63cd230 hevc/mvs: simplifying derive_spatial_merge_candidates function
cherry picked from commit 99be11cf08a5628d0bb6ac7f4958bf9dd35cda62

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 14:17:19 +02:00
Mickaël Raulet
e9bb45ba79 hevc/mvs: remove same prediction block
cherry picked from commit 1206262ba1ef810328cadce99d5cdc0bf9285e4d

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 14:12:00 +02:00
Mickaël Raulet
560b0253ff hevc/mvs: simplify derive_temporal_colocated_mvs
cherry picked from commit def7db60966765f4687250d766b40dbcf0f7e503

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 14:11:43 +02:00
Mickaël Raulet
062b9f2cdb fate/hevc: update with new Rext bitstreams
cherry picked from commit d0924959f16d42630cfd7b3b4fce9fead60a4aa8

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 13:59:00 +02:00
Mickaël Raulet
37822a566f hevc/rext: remove warning for cross component prediction
cherry picked from commit fb595102593c94179502bb1967f978a1d99cc7cb

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 13:59:00 +02:00
Stefano Sabatini
44071b0d25 lavf/segment: sanitize segment end time in case last packet do not have a defined duration
In particular, avoids to set segments with duration set to 0
(e.g. segment with a single reference frame for which duration is
undefined).
2014-07-22 13:53:31 +02:00
Stefano Sabatini
713157484a lavf/segment: do not allow to create segments with no key-frames
Fix trac ticket #3749.
2014-07-22 13:43:06 +02:00
Mickaël Raulet
627c044f50 hevc/rext: fixing rdpcm and scaling list for Range Extension
-new rext bitstreams:
PERSIST_RPARAM_A_RExt_Sony_1.bit           ok    =
QMATRIX_A_RExt_Sony_1.bit                  ok    =
SAO_A_RExt_MediaTek_1.bit                  ok    =

(cherry picked from commit cdea029d452c521f8e5bcbe589f44b13a4011604)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 13:07:54 +02:00
Mickaël Raulet
fa0506e413 hevc/rext: update boundary strength for chroma deblocking filter
cherry picked from commit 7d05c95ac5a63d7675bf645e74b4cf1fffff4796

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 13:00:14 +02:00
Michael Niedermayer
4ec1cb2497 Merge commit '78670fbf07bd03479073d4218440de4914304680'
* commit '78670fbf07bd03479073d4218440de4914304680':
  imgconvert: cosmetics: Reshuffle defines to reduce ifdeffery

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 12:55:11 +02:00
Michael Niedermayer
7cdb3b2b79 Merge commit '6869612f5c7d4d2f20f69a5658328a761deadb1c'
* commit '6869612f5c7d4d2f20f69a5658328a761deadb1c':
  arm: Macroize the test for 'setend' CPU instruction support

Conflicts:
	libavcodec/arm/h264dsp_init_arm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 12:46:13 +02:00
Andreas Cadhalpun
135ea609ce libavformat/img2dec.c: Add a long_name to the piped image demuxers
This fixes segfaults in gst-libav1.0 compiled against FFmpeg 2.3.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 05:14:44 +02:00
Michael Niedermayer
c933f2c4cc Merge commit '16e6652286213014c28a9c3af70435e767d28638'
* commit '16e6652286213014c28a9c3af70435e767d28638':
  aarch64: NEON intrinsics dct_unquantize_h263.

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 03:35:29 +02:00
Michael Niedermayer
135b1a3f2c Merge commit 'd45ebd4876ab8fc07736a644de07e1b1d11a8e5d'
* commit 'd45ebd4876ab8fc07736a644de07e1b1d11a8e5d':
  configure: add support for neon intrinsics

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 03:06:43 +02:00
Michael Niedermayer
ab7c67905d Merge commit '389380c27915b0505fed538cd54c035c891fabd9'
* commit '389380c27915b0505fed538cd54c035c891fabd9':
  http: Do move the class instantiation in the conditional block

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 03:00:06 +02:00
Michael Niedermayer
e621e6cac6 Merge commit '28df1d24112c6ad0763985df2faeeb198cfbad69'
* commit '28df1d24112c6ad0763985df2faeeb198cfbad69':
  http: Provide an option to override the HTTP method

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 02:51:35 +02:00
Michael Niedermayer
dac096cf39 Merge commit 'bb0babd7054bed7edfd9f4d6b20cdba864de1830'
* commit 'bb0babd7054bed7edfd9f4d6b20cdba864de1830':
  build: Support executable only ldflags

Conflicts:
	Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 02:45:45 +02:00
Michael Niedermayer
7f1543d46c Merge commit 'b396bbad100a7493691d09b8dceba91e3cd28e2e'
* commit 'b396bbad100a7493691d09b8dceba91e3cd28e2e':
  configure: Do not add extralibs to avresample .pc file

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 02:40:00 +02:00
Michael Niedermayer
c7168d1a22 Merge commit 'fc27e7272e6f1a7053812f8a15b1b7098de44c71'
* commit 'fc27e7272e6f1a7053812f8a15b1b7098de44c71':
  mpegts: do not export empty language tags

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 02:34:12 +02:00
Dale Curtis
70f7006eb3 avformat/mov: Pass through iTunSMPB from MOV.
Allows demuxing of iTunes files into adts while preserving gapless
metadata.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 02:11:48 +02:00
Dale Curtis
42f3bc4072 avformat/adtsenc: Optionally enable ID3 in ADTS.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 02:11:25 +02:00
Diego Biurrun
78670fbf07 imgconvert: cosmetics: Reshuffle defines to reduce ifdeffery 2014-07-21 15:08:01 -07:00
Ben Avison
6869612f5c arm: Macroize the test for 'setend' CPU instruction support
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-21 15:08:01 -07:00
James Yu
16e6652286 aarch64: NEON intrinsics dct_unquantize_h263.
Intrinsics only used on aarch64 since the existing ARMv7 NEON asm
is slightly faster (Cortex-A9, gcc-4.8, micro-benchmarks and full
decoding time).

Signed-off-by: James Yu <james.yu@linaro.org>
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-07-21 23:18:29 +02:00
Janne Grunau
d45ebd4876 configure: add support for neon intrinsics 2014-07-21 23:18:29 +02:00
Michael Niedermayer
c75c594e5a Merge commit '4d2d0595cf9dd199c35aefef450952d209a56573'
* commit '4d2d0595cf9dd199c35aefef450952d209a56573':
  fate: Split audio- and video-related RealMedia targets

Conflicts:
	tests/fate/real.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 23:08:41 +02:00
Michael Niedermayer
16c66f3151 Merge commit '2ce53880bfeb431decdd2fc82298c0aff823ab47'
* commit '2ce53880bfeb431decdd2fc82298c0aff823ab47':
  build: Conditionally compile all avcodec test programs

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 22:29:15 +02:00
Luca Barbato
389380c279 http: Do move the class instantiation in the conditional block
Remove a warning if https support is disabled.
2014-07-21 22:18:35 +02:00
Luca Barbato
28df1d2411 http: Provide an option to override the HTTP method
Certain servers accept only PUT as valid method.
2014-07-21 22:18:35 +02:00
Luca Barbato
bb0babd705 build: Support executable only ldflags
The options is useful to build position-independent executables on
hardened systems (e.g. Android L and Gentoo Hardened).
2014-07-21 22:18:35 +02:00
Luca Barbato
b396bbad10 configure: Do not add extralibs to avresample .pc file
The library does not have external dependencies.
2014-07-21 22:18:35 +02:00
Michael Niedermayer
9a436ae30f Merge commit '16b7328058fa600d5158c84d9cc621a134eb88bc'
* commit '16b7328058fa600d5158c84d9cc621a134eb88bc':
  build: Conditionally build and run DCT test program

Conflicts:
	libavcodec/Makefile
	libavcodec/dct-test.c
	tests/fate/libavcodec.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 22:02:23 +02:00
Jan Gerber
fc27e7272e mpegts: do not export empty language tags
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-07-21 19:39:31 +00:00
Michael Niedermayer
79df91bfc4 Merge commit 'bd499d9af668aef979ec9f3f3215b8dd508c7ec1'
* commit 'bd499d9af668aef979ec9f3f3215b8dd508c7ec1':
  build: Conditionally build and test iirfilter

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 21:35:02 +02:00
Michael Niedermayer
94c4ad27dc doc/APIchanges: mention FF_INPUT_BUFFER_PADDING_SIZE chage
Suggested-by: Andreas Cadhalpun
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 21:16:24 +02:00
Katerina Barone-Adesi
4d2d0595cf fate: Split audio- and video-related RealMedia targets
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-21 12:13:58 -07:00
Michael Niedermayer
265dadbe7d avutil/opt: Support general expressions involving AVOption constants in set_string_number()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 17:00:37 +02:00
Michael Niedermayer
88efc013b1 avutil: move QP2LAMBDA constant to eval
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 15:30:45 +02:00
Michael Niedermayer
2c5c7f1089 avutil/opt: remove dead code from set_string_number()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 15:28:53 +02:00
Muhammad Faiz
4927c0a988 avutil/opt.c: fix bug when parsing option
fix these strange behavior:
-af flanger=delay=10 [OK]
-af flanger=delay=1e1 [OK]
-af flanger=delay=1e+1 [Error]
-af flanger=delay=0.1 [OK]
-af flanger=delay=1e-1 [Error]

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 15:20:39 +02:00
Diego Biurrun
2ce53880bf build: Conditionally compile all avcodec test programs 2014-07-21 05:33:03 -07:00
Diego Biurrun
16b7328058 build: Conditionally build and run DCT test program 2014-07-21 05:32:35 -07:00
Diego Biurrun
bd499d9af6 build: Conditionally build and test iirfilter 2014-07-21 05:32:07 -07:00
Michael Niedermayer
4054171666 avcodec/dct-test: remove fixed array sizes
They are unneeded and make adding elements slightly harder as they
would need to be constantly updated

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 14:00:48 +02:00
Michael Niedermayer
c05dbb8744 Merge commit 'c3ec963d0d0fac2d817f7fbce2e89ed46eeba550'
* commit 'c3ec963d0d0fac2d817f7fbce2e89ed46eeba550':
  mjpeg: return proper error code

See: 2ebaadf35c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 13:54:28 +02:00
Michael Niedermayer
d986c414de Merge commit '81b9bf319226fe03436c80aaa8a2c91767cab7ce'
* commit '81b9bf319226fe03436c80aaa8a2c91767cab7ce':
  dct-test: Move arch-specific bits into arch-specific subdirectories

Conflicts:
	libavcodec/dct-test.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 13:33:51 +02:00
Michael Niedermayer
5b998dae59 Merge commit 'a9f3f5fadb57bae3f3ff0be69e56b2c6014f2513'
* commit 'a9f3f5fadb57bae3f3ff0be69e56b2c6014f2513':
  Revert "tiff: support reading gray+alpha at 8 bits"

Not merged, the pix fmt its not unknown

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 13:03:38 +02:00
Nidhi Makhijani
c3ec963d0d mjpeg: return proper error code
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-21 01:25:33 -07:00
Diego Biurrun
81b9bf3192 dct-test: Move arch-specific bits into arch-specific subdirectories 2014-07-21 01:10:11 -07:00
Janne Grunau
a9f3f5fadb Revert "tiff: support reading gray+alpha at 8 bits"
This reverts commit b31d76e45f as it
uses an unkown pixel format.
2014-07-21 08:35:32 +02:00
Muhammad Faiz
ce385c869c avfilter/biquads: avoid clipping when using floating type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 03:48:18 +02:00
Michael Niedermayer
71e515c180 avformat/sapenc: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 03:19:12 +02:00
Michael Niedermayer
437da3e349 avfilter/vf_owdenoise: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 03:18:56 +02:00
Michael Niedermayer
ec59f027ac Merge commit '819bb3e81c72939ae1c1a4e5fc3dfdf3e98df074'
* commit '819bb3e81c72939ae1c1a4e5fc3dfdf3e98df074':
  fate: add h264-direct-bff test

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 02:27:28 +02:00
Michael Niedermayer
dc021a0218 Merge commit 'c39059bea3adebcd888571d1181db215eee54495'
* commit 'c39059bea3adebcd888571d1181db215eee54495':
  h264: Fix direct temporal mvs for bottom-field-first poc order

Conflicts:
	libavcodec/h264_direct.c

See: ebd1c505d2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 02:16:13 +02:00
Michael Niedermayer
08b597b1f8 Merge commit 'b31d76e45fc3c6529dd7109e721676f3ec376d00'
* commit 'b31d76e45fc3c6529dd7109e721676f3ec376d00':
  tiff: support reading gray+alpha at 8 bits

See: f746f37901
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 02:05:22 +02:00
Michael Niedermayer
110420aac0 Merge commit '4de8b60684ce13dff3e3d372dae4f49b9e53f755'
* commit '4de8b60684ce13dff3e3d372dae4f49b9e53f755':
  idct: Move arm-specific declarations to a header in the arm directory

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 01:56:22 +02:00
Vittorio Giovara
819bb3e81c fate: add h264-direct-bff test 2014-07-20 23:32:13 +01:00
Ronald S. Bultje
c39059bea3 h264: Fix direct temporal mvs for bottom-field-first poc order
Such files can be created using the --bff x264 option.

Sample-Id: h264_direct_temporal_mvs_bff.mkv
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-07-20 23:32:13 +01:00
Carl Eugen Hoyos
b31d76e45f tiff: support reading gray+alpha at 8 bits
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-07-20 23:32:13 +01:00
Andreas Cadhalpun
e59ce54412 doc: fix two spelling errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-20 23:58:36 +02:00
Diego Biurrun
4de8b60684 idct: Move arm-specific declarations to a header in the arm directory 2014-07-20 13:02:17 -07:00
Michael Niedermayer
9a8a18a2e9 doc/issue_tracker: Correct sub-domain for mailing list
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-20 20:57:53 +02:00
Michael Niedermayer
02e3e3ea51 Merge commit '9f99a5f1d078721a30a76aec27c58805b7b87e58'
* commit '9f99a5f1d078721a30a76aec27c58805b7b87e58':
  mpegencconetxt: Move rv10-specific orig_width/orig_height where they belong

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-20 20:32:24 +02:00
db0company
e2842cfe76 MAINTAINERS: Add db0 for the website
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-20 17:01:59 +02:00
Nidhi Makhijani
9f99a5f1d0 mpegencconetxt: Move rv10-specific orig_width/orig_height where they belong
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-20 05:13:01 -07:00
Jan Gerber
73b7a360d8 matroskaenc: Don't set language to empty string, use "und"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-20 14:03:00 +02:00
Mickaël Raulet
729479a199 fate/hevc: update fate rext tests
cherry picked from commit e6ee89e6fab60a3faa1f933b7774e819846f70c4

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-20 05:42:13 +02:00
Mickaël Raulet
950a4f8326 hevc: fix offset for sao temporary frame
fixes fate on alpha

cherry picked from commit 0a8ce1cbdaff7cd026bcf95ee3787bc7b4c063ee

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-20 02:48:53 +02:00
Clément Bœsch
28f31e78eb doc: restore default.css
This partially reverts 9ce64ba111.

FATE still needs it until its design is updated to the new website
version.
2014-07-20 02:01:50 +02:00
db0
9ce64ba111 doc: update the documentation generator to match the new website
Signed-off-by: db0 <db0company@gmail.com>
Signed-off-by: Clément Bœsch <u@pkh.me>
2014-07-20 01:51:28 +02:00
Michael Niedermayer
b53bdae11f swscale/utils: fix rgb -> fullrange yuv
Fixes part of Ticket3785

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 23:24:26 +02:00
Michael Niedermayer
d84abf35c0 swscale/utils: remove unused define
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 22:45:43 +02:00
Michael Niedermayer
cb169126c5 avformat/dvenc: Implement 32khz & 44.1khz for 25/50fps
30000/1001 fps isnt implemented as i dont know which are the correct interleaving parameters,
pointers to the appropriate spec and page are welcome

Fixes Ticket2597

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 20:48:22 +02:00
Michael Niedermayer
a7bb22c5aa avformat/seek: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 19:44:56 +02:00
Michael Niedermayer
d9ddbaa924 avfilter/avfilter: use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 19:42:46 +02:00
Michael Niedermayer
d13a731fc1 avcodec/hevc_ps: Check abs_delta_rps
Fixes integer overflow

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 17:30:44 +02:00
Michael Niedermayer
ba80b8d29b avcodec/hevc: check nb_cpb
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 16:51:05 +02:00
Christophe Gisquet
7a4a5515b0 hevc: use intreadwrite
When dealing with MVs, both components may be processed at a time.

On Win64, 560 to 539 cycles for derive_spatial_merge_candidates.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 15:27:08 +02:00
Christophe Gisquet
8da1defe69 libavutil: document side effects of macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 14:55:46 +02:00
Christophe Gisquet
5e55c7e1bc hevc: report more precise progress
There's a lag of one CTB line for SAO behind deblocking filter, except for
last line. However, once SAO has been completed on a line, all its pixels,
i.e. up to y+ctb_size are filtered and ready to be used as reference.

Without SAO, when deblocking filter finishes a CTB line, only the bottom
bottom 4 pixels may be filtered when next CTB is process by the deblocing.

The await_progess for hevc then checks whether the bottom pixels of a PU
requires access beyond that point, so the reporting should effectively
report up to the the above limits.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 14:20:10 +02:00
Michael Niedermayer
7bdbd2653f Merge commit '1a583c0c60240adb8fa6620c6df33f1a0a0fe5d9'
* commit '1a583c0c60240adb8fa6620c6df33f1a0a0fe5d9':
  fdct: Move ppc-specific declarations to a header in the ppc directory

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 14:10:25 +02:00
Michael Niedermayer
776647360d Merge commit '5dcc201505f71b1e73e9eef12ce89d4eed252ad0'
* commit '5dcc201505f71b1e73e9eef12ce89d4eed252ad0':
  simple_idct: Move x86-specific declarations to a header in the x86 directory

Conflicts:
	libavcodec/x86/simple_idct.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 13:56:29 +02:00
Michael Niedermayer
6da96a9fc9 Merge commit '85cabb8d002f2cd100ced5cc17d87bfc9460d314'
* commit '85cabb8d002f2cd100ced5cc17d87bfc9460d314':
  fdct: Move x86-specific declarations to a header in the x86 directory

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 13:45:59 +02:00
Michael Niedermayer
80acedae3e Merge commit 'd6e1d37100af568211f28ec0bcf7958a3a2a299e'
* commit 'd6e1d37100af568211f28ec0bcf7958a3a2a299e':
  oss_audio: Split muxer and demuxer

Conflicts:
	libavdevice/Makefile
	libavdevice/oss_audio.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 13:39:12 +02:00
Michael Niedermayer
54cba3f53e swscale/x86/hscale_fast_bilinear_simd: add inline asm guards
Should fix MSVC build

Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 13:26:36 +02:00
Diego Biurrun
1a583c0c60 fdct: Move ppc-specific declarations to a header in the ppc directory 2014-07-19 02:38:22 -07:00
Diego Biurrun
5dcc201505 simple_idct: Move x86-specific declarations to a header in the x86 directory 2014-07-19 02:33:36 -07:00
Diego Biurrun
85cabb8d00 fdct: Move x86-specific declarations to a header in the x86 directory 2014-07-19 02:25:59 -07:00
Michael Niedermayer
d5ee3580d8 sws: move inline asm hscale to MMX_OBJS
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 05:53:42 +02:00
Michael Niedermayer
6532a1a828 sws/x86: split mmxext fast bilinear scaler out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 05:36:27 +02:00
Michael Niedermayer
e9f7c7aef9 sws: Move fast bilinear C code into seperate file
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 05:36:26 +02:00
Michael Niedermayer
76899be113 swscale/swscale_internal: add needed version.h
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 05:36:26 +02:00
Michael Niedermayer
a86d527c8b Merge commit 'e0a2e60c0a6cbcceef08e94af5081d2aa8e6a52f'
* commit 'e0a2e60c0a6cbcceef08e94af5081d2aa8e6a52f':
  dct-test: Reuse enum idct_permutation_type instead of duplicating it

Conflicts:
	libavcodec/dct-test.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 04:15:38 +02:00
Timothy Gu
69c7aad494 oss_audio: use a macro to simplify ioctl() error checking
Also add a note about SNDCTL_DSP_GETFMTS which may fail even if OSS is
available.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 03:38:31 +02:00
Mickaël Raulet
e1e3ec9b02 hevc: fix transquant_bypass
cherry picked from commit 4a16cb2c70728a55d2fd723aff01b13ea259c4df
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-19 00:11:05 +02:00
Nidhi Makhijani
d6e1d37100 oss_audio: Split muxer and demuxer
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-18 15:04:25 -07:00
Mickaël Raulet
fdb20db642 hevc/rext: put a warning log message instead of an error log message
cherry picked from commit 243cb99cff727d6a14c32cdff2748f6c255dbaf4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 23:47:06 +02:00
Carl Eugen Hoyos
ee88a2080e Parse dri when receiving jpg via rtp.
Based on a patch by contact at iridiummobile ru.
Fixes ticket #3780.
2014-07-18 23:11:11 +02:00
Carl Eugen Hoyos
0e70266bbf Write valid free atom when -moov_size is specified.
Fixes ticket #3769.
2014-07-18 23:11:11 +02:00
Michael Niedermayer
ffa0b510cd avcodec/hevc: fix pict_type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 22:59:03 +02:00
Mickaël Raulet
d249e6828e hevc/sao: optimze sao implementation
- adding one extra pixel all around the frame
- do not copy when SAO is not applied

5% improvement

cherry picked from commit 10fc29fc19a12c4d8168fbe1a954b76386db12d0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 22:46:50 +02:00
Michael Niedermayer
2897447ddf Merge commit '913fa85a2c1fcd71802f7decdef5f355e0d9c757'
* commit '913fa85a2c1fcd71802f7decdef5f355e0d9c757':
  dct-test: Skip indirection for MMX IDCT permutation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 22:45:32 +02:00
Michael Niedermayer
097bf834ba Merge commit '9e0b29911f1f167381a7dbdfca68bf417b8c767b'
* commit '9e0b29911f1f167381a7dbdfca68bf417b8c767b':
  x86: dnxhdenc: Eliminate some unnecessary ifdefs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 22:33:24 +02:00
Michael Niedermayer
4b0fa45b84 Merge commit 'b4edbe9a0eb48423fbf249b0ca7fb62838bdb7f5'
* commit 'b4edbe9a0eb48423fbf249b0ca7fb62838bdb7f5':
  libgsm: Split decoder and encoder

Conflicts:
	libavcodec/libgsmenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 22:28:34 +02:00
Michael Niedermayer
521f569734 Merge commit '8b0dd4942aac320d1ca3c40fa7ea1be342c71273'
* commit '8b0dd4942aac320d1ca3c40fa7ea1be342c71273':
  idctdsp: prettyprinting cosmetics

Conflicts:
	libavcodec/idctdsp.c
	libavcodec/ppc/idctdsp.c
	libavcodec/x86/idctdsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 22:16:04 +02:00
Diego Biurrun
e0a2e60c0a dct-test: Reuse enum idct_permutation_type instead of duplicating it 2014-07-18 13:04:39 -07:00
Michael Niedermayer
42d326353c Merge commit 'b4987f72197e0c62cf2633bf835a9c32d2a445ae'
* commit 'b4987f72197e0c62cf2633bf835a9c32d2a445ae':
  idct: Convert IDCT permutation #defines to an enum

Conflicts:
	libavcodec/idctdsp.c
	libavcodec/x86/cavsdsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 22:01:17 +02:00
Michael Niedermayer
f6ed5df9c0 Merge commit 'c0de9159a7ba5707aa0a5c2bc73ae78b7b87ec46'
* commit 'c0de9159a7ba5707aa0a5c2bc73ae78b7b87ec46':
  avdevice: Give names to anonymously typedeffed structs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 21:48:37 +02:00
Michael Niedermayer
cff61d595e Merge commit '24af1aa0f70362a66cda04c9d7cd012e019f5572'
* commit '24af1aa0f70362a66cda04c9d7cd012e019f5572':
  fft: Convert FFT/MDCT permutation type #defines to enums

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 21:43:50 +02:00
Michael Niedermayer
29119aff6c Merge commit '746ad4e0df7faf93329804e412ec53c1d929a75b'
* commit '746ad4e0df7faf93329804e412ec53c1d929a75b':
  dct-test: Improve CPU flags struct member name

Conflicts:
	libavcodec/dct-test.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 21:36:46 +02:00
Michael Niedermayer
2dbda9378c Merge commit 'cb44b21da1f59923be577f08c267ec270529be97'
* commit 'cb44b21da1f59923be577f08c267ec270529be97':
  dct-test: Move cpu_flags variable out of global scope

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 21:30:25 +02:00
Peter B
0f70131089 fate: Add test for wav Peak Envelope Chunk encoder (levl chunk).
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 19:38:54 +02:00
Carl Eugen Hoyos
5dcd43cd86 Fix make checkheaders for libavcodec/proresdsp.h. 2014-07-18 19:05:07 +02:00
Diego Biurrun
913fa85a2c dct-test: Skip indirection for MMX IDCT permutation 2014-07-18 09:58:17 -07:00
Diego Biurrun
9e0b29911f x86: dnxhdenc: Eliminate some unnecessary ifdefs 2014-07-18 09:58:17 -07:00
Nidhi Makhijani
b4edbe9a0e libgsm: Split decoder and encoder
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-18 17:27:54 +02:00
Diego Biurrun
8b0dd4942a idctdsp: prettyprinting cosmetics 2014-07-18 07:51:03 -07:00
Diego Biurrun
b4987f7219 idct: Convert IDCT permutation #defines to an enum
Also rename the enum values to be consistent with other DCT permutations.
2014-07-18 07:51:03 -07:00
Diego Biurrun
c0de9159a7 avdevice: Give names to anonymously typedeffed structs
Anonymous structs can cause trouble in header files, so try to
avoid them altogether as a matter of good style.
2014-07-18 07:43:36 -07:00
Diego Biurrun
24af1aa0f7 fft: Convert FFT/MDCT permutation type #defines to enums 2014-07-18 07:29:13 -07:00
Diego Biurrun
746ad4e0df dct-test: Improve CPU flags struct member name 2014-07-18 06:14:43 -07:00
Diego Biurrun
cb44b21da1 dct-test: Move cpu_flags variable out of global scope 2014-07-18 06:14:42 -07:00
Andrey Utkin
cb8cb85da7 lavfi/drawtext: add alias "expr_int_format" to expansion function "eif"
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 14:24:34 +02:00
Timothy Gu
0035783488 smacker: remove dead code
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 13:31:19 +02:00
Michael Niedermayer
d13effb0b4 Merge commit '7e18a727d2c2a19f22fcf68875d1b05fd2eafcef'
* commit '7e18a727d2c2a19f22fcf68875d1b05fd2eafcef':
  arm: cosmetics: Consistently use lowercase for shift operators

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 13:17:29 +02:00
Michael Niedermayer
cd4497d8c5 Merge commit 'fe67f3fbb5f9f6a6b60f837f6bc5e087ac11f3bf'
* commit 'fe67f3fbb5f9f6a6b60f837f6bc5e087ac11f3bf':
  arm: cosmetics: Fix a misaligned asm operand

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 12:44:03 +02:00
Martin Storsjö
7e18a727d2 arm: cosmetics: Consistently use lowercase for shift operators
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-18 11:17:40 +03:00
Martin Storsjö
fe67f3fbb5 arm: cosmetics: Fix a misaligned asm operand
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-18 11:17:35 +03:00
James Almer
277e5ca617 alpha/me_cmp: move code out of dsputil
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 05:15:17 +02:00
James Almer
95a2d705cd alpha/idctdsp: move disabled cruft out of dsputil
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 05:15:05 +02:00
Michael Niedermayer
d5ba19e611 avcodec/a64multienc use av_freep()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 04:57:00 +02:00
Timothy Gu
cd3c85ac5c a64multienc: remove dead assignment
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 04:56:18 +02:00
Timothy Gu
b64808e9dd kerndeint: remove dead assignments
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 04:44:58 +02:00
Michael Niedermayer
c67cf84628 Merge commit '5a272190a04666f0fe41be767396b30712638c21'
* commit '5a272190a04666f0fe41be767396b30712638c21':
  armv6: Accelerate butterflies_float

See: 57641410d1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 03:44:28 +02:00
Michael Niedermayer
7809c26006 Merge commit '5edad2c4a1f46bcc56be755af86ab355c2f1b37f'
* commit '5edad2c4a1f46bcc56be755af86ab355c2f1b37f':
  armv6: Accelerate vector_fmul_window

See: 649c666137
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 03:14:22 +02:00
Michael Niedermayer
c27adb37ef Merge commit '87552d54d3337c3241e8a9e1a05df16eaa821496'
* commit '87552d54d3337c3241e8a9e1a05df16eaa821496':
  armv6: Accelerate ff_fft_calc for general case (nbits != 4)

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 03:12:02 +02:00
Michael Niedermayer
4c735ee0e3 Merge commit '5c22e8e4ad0852d61d5c4ba8d67d33fd72339497'
* commit '5c22e8e4ad0852d61d5c4ba8d67d33fd72339497':
  armv6: Accelerate ff_imdct_half for general case (mdct_bits != 6)

See: 42c1cc35b7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 02:33:26 +02:00
Michael Niedermayer
c527c14d63 avcodec/dvenc: clear all dsp contexts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 00:48:34 +02:00
Ben Avison
5a272190a0 armv6: Accelerate butterflies_float
I benchmarked the result by measuring the number of gperftools samples that
hit anywhere in the AAC decoder (starting from aac_decode_frame()) or
specifically in butterflies_float_c() / ff_butterflies_float_vfp() for the
same sample AAC stream:

                   Before          After
                   Mean   StdDev   Mean   StdDev  Confidence  Change
Audio decode       1542.8 43.7     1470.5 41.5    100.0%      +4.9%
butterflies_float  130.0  11.9     70.2   12.1    100.0%      +85.2%

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-18 01:34:38 +03:00
Ben Avison
5edad2c4a1 armv6: Accelerate vector_fmul_window
I benchmarked the result by measuring the number of gperftools samples that
hit anywhere in the AAC decoder (starting from aac_decode_frame()) or
specifically in vector_fmul_window_c() / ff_vector_fmul_window_vfp() for the
same sample AAC stream:

                    Before          After
                    Mean   StdDev   Mean   StdDev  Confidence  Change
Audio decode        1598.2 47.4     1529.2 25.4    100.0%      +4.5%
vector_fmul_window  244.0  22.1     188.9  22.3    100.0%      +29.2%

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-18 01:34:31 +03:00
Ben Avison
87552d54d3 armv6: Accelerate ff_fft_calc for general case (nbits != 4)
The previous implementation targeted DTS Coherent Acoustics, which only
requires nbits == 4 (fft16()). This case was (and still is) linked directly
rather than being indirected through ff_fft_calc_vfp(), but now the full
range from radix-4 up to radix-65536 is available. This benefits other codecs
such as AAC and AC3.

The implementaion is based upon the C version, with each routine larger than
radix-16 calling a hierarchy of smaller FFT functions, then performing a
post-processing pass. This pass benefits a lot from loop unrolling to
counter the long pipelines in the VFP. A relaxed calling standard also
reduces the overhead of the call hierarchy, and avoiding the excessive
inlining performed by GCC probably helps with I-cache utilisation too.

I benchmarked the result by measuring the number of gperftools samples that
hit anywhere in the AAC decoder (starting from aac_decode_frame()) or
specifically in the FFT routines (fft4() to fft512() and pass()) for the
same sample AAC stream:

              Before          After
              Mean   StdDev   Mean   StdDev  Confidence  Change
Audio decode  2245.5 53.1     1599.6 43.8    100.0%      +40.4%
FFT routines  940.6  22.0     348.1  20.8    100.0%      +170.2%

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-18 01:34:23 +03:00
Ben Avison
5c22e8e4ad armv6: Accelerate ff_imdct_half for general case (mdct_bits != 6)
The previous implementation targeted DTS Coherent Acoustics, which only
requires mdct_bits == 6. This relatively small size lent itself to
unrolling the loops a small number of times, and encoding offsets
calculated at assembly time within the load/store instructions of each
iteration.

In the more general case (codecs such as AAC and AC3) much larger arrays
are used - mdct_bits == [8, 9, 11]. The old method does not scale for
these cases, so more integer registers are used with non-unrolled versions
of the loops (and with some stack spillage). The postrotation filter loop
is still unrolled by a factor of 2 to permit the double-buffering of some
VFP registers to facilitate overlap of neighbouring iterations.

I benchmarked the result by measuring the number of gperftools samples
that hit anywhere in the AAC decoder (starting from aac_decode_frame())
or specifically in ff_imdct_half_c / ff_imdct_half_vfp, for the same
example AAC stream:

                  Before          After
                  Mean   StdDev   Mean   StdDev  Confidence  Change
aac_decode_frame  2368.1 35.8     2117.2 35.3    100.0%      +11.8%
ff_imdct_half_*   457.5  22.4     251.2  16.2    100.0%      +82.1%

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-18 01:34:08 +03:00
Michael Niedermayer
162cffca80 avcodec/me_cmp: restore author attribution and copyrights
These where removed by libav in

See: git show -C 2d60444331
diff --git a/libavcodec/dsputil.c b/libavcodec/me_cmp.c
similarity index 98%
rename from libavcodec/dsputil.c
rename to libavcodec/me_cmp.c
index ba71a99..9fcc937 100644
--- a/libavcodec/dsputil.c
+++ b/libavcodec/me_cmp.c
@@ -1,8 +1,4 @@
 /*
- * DSP utils
- * Copyright (c) 2000, 2001 Fabrice Bellard
- * Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
- *
  * This file is part of Libav.
  *
  * Libav is free software; you can redistribute it and/or

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 23:59:28 +02:00
Michael Niedermayer
3a2d1465c8 Merge commit '2d60444331fca1910510038dd3817bea885c2367'
* commit '2d60444331fca1910510038dd3817bea885c2367':
  dsputil: Split motion estimation compare bits off into their own context

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/arm/Makefile
	libavcodec/dvenc.c
	libavcodec/error_resilience.c
	libavcodec/h264.h
	libavcodec/h264_slice.c
	libavcodec/me_cmp.c
	libavcodec/me_cmp.h
	libavcodec/motion_est.c
	libavcodec/motion_est_template.c
	libavcodec/mpeg4videoenc.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/x86/Makefile
	libavcodec/x86/me_cmp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 23:27:40 +02:00
Michael Niedermayer
6be71e9955 Merge commit 'a578b0407dc983aecd72028e1127062689b67089'
* commit 'a578b0407dc983aecd72028e1127062689b67089':
  configure: Assume runtime cpu detection on arm on --target-os=android as well

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 22:20:53 +02:00
Michael Niedermayer
d6676a1605 Merge commit 'c23ce454b3e33634a188d6facfd2b7182af5af93'
* commit 'c23ce454b3e33634a188d6facfd2b7182af5af93':
  x86: dsputil: Coalesce all init files

Conflicts:
	libavcodec/x86/dsputil_init.c
	libavcodec/x86/dsputil_x86.h
	libavcodec/x86/motion_est.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 22:07:52 +02:00
Nicolas George
8e2976860f lavd/x11grab: reindent after last commit. 2014-07-17 18:28:58 +02:00
Nicolas George
099aff5c42 lavfi: check refcount before merging.
When merging the formats around the automatically inserted
convert filters, the refcount of the format lists can not be 0.
Coverity does not detect it, and suspects a memory leak,
because if refcount is 0 the newly allocated lists are not
stored anywhere. That gives CIDs 1224282, 1224283 and 1224284.
Lists with refcount 0 are used in can_merge_formats(), so the
asserts can not be moved inside the merge functions.
2014-07-17 18:12:34 +02:00
Nicolas George
1d12df1ad7 lavd/x11grab: add an option to disable MIT-SHM.
With remote displays supporting the MIT-SHM extension,
the extension is detected and used, but attaching fails
asynchronously.
2014-07-17 18:12:15 +02:00
Nicolas George
16c6795465 lavd/x11grab: check 32-bits color masks.
The X11 servers by VNC, at 32-bits depths, has the following masks:
R:0x000007ff G:0x003ff800 B:0xffc00000
This is not compatible with AV_PIX_FMT_0RGB32, and the result
is success with completely wrong colors.
2014-07-17 18:11:56 +02:00
Nicolas George
36fbe3c789 lavd/x11grab: change error code for unsupported visuals. 2014-07-17 18:11:55 +02:00
Nicolas George
a65c0a3fe8 lavd/x11grab: disable drawing mouse without XFixes.
Fix a segfault if the XFixes extension is not available on
the X11 server.
Can be reproduced using the VNC server.
2014-07-17 18:11:55 +02:00
Diego Biurrun
2d60444331 dsputil: Split motion estimation compare bits off into their own context 2014-07-17 09:07:10 -07:00
Michael Niedermayer
dca22ab055 avcodec/resample: Use av_m/realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 18:00:25 +02:00
Michael Niedermayer
ad516dd271 avcodec/resample2: Use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 18:00:25 +02:00
Michael Niedermayer
f46e876027 ffserver: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 18:00:25 +02:00
Stefano Sabatini
526bd7bdfa lavf/segment: set segment end time when the first packet arrives
Avoid negative durations in case there is a single packet in the current
segment, since in that case the end time is still set to the previous
segment end time.
2014-07-17 16:51:51 +02:00
Stefano Sabatini
3d38c99041 lavf/segment: fix weird indent 2014-07-17 16:51:51 +02:00
Stefano Sabatini
b6a8c5245f lavf/segment: show incoming packet duration in debug message 2014-07-17 16:51:51 +02:00
Stefano Sabatini
5acad50056 lavf/segment: only use reference frames for computing the segment end time
This avoids a systematic overestimate of the segments duration when there
are several streams.

Fix trac ticket #3724.
2014-07-17 16:51:50 +02:00
Martin Storsjö
a578b0407d configure: Assume runtime cpu detection on arm on --target-os=android as well
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-17 17:47:00 +03:00
Michael Niedermayer
88f038ac97 avformat/dv: implement fallback in dv_extract_pack()
Fixes Ticket2340
Fixes Ticket2341

Based-on mail from Dave Rice <dave@dericed.com>
Tested-by: Dave Rice <dave@dericed.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 15:29:27 +02:00
Michael Niedermayer
e5cb7795fc Merge commit '324ff59444ff5470bb325ff1e2be7c4b054fc944'
* commit '324ff59444ff5470bb325ff1e2be7c4b054fc944':
  avpacket: Check for and return errors in ff_interleave_add_packet()

Conflicts:
	libavformat/audiointerleave.c
	libavformat/internal.h
	libavformat/mux.c

See: 4d7c71c364
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 14:20:10 +02:00
Michael Niedermayer
5fce29ef29 Merge commit '2db953f84671997e936f91140ffb5143c1537844'
* commit '2db953f84671997e936f91140ffb5143c1537844':
  h264: K&R formatting cosmetics

Conflicts:
	libavcodec/h264.c
	libavcodec/h264_direct.c
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 14:00:01 +02:00
Michael Niedermayer
b884599f6a Merge commit 'a11ef610eec5241e226efbd1c5bb5eb45c88d2c2'
* commit 'a11ef610eec5241e226efbd1c5bb5eb45c88d2c2':
  h264: Remove some commented-out, broken cruft

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 13:50:31 +02:00
Stefano Sabatini
3babbf3bf4 doc/filters/drawtext: simplify example, use clip() eval function 2014-07-17 12:44:36 +02:00
Andrey Utkin
e9ff5df0b5 lavfi/drawtext: add fontcolor_expr option
Allow to dynamically evaluate the font color.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2014-07-17 12:42:56 +02:00
Diego Biurrun
c23ce454b3 x86: dsputil: Coalesce all init files
This makes the init files match the structure of the dsputil split.
2014-07-17 03:32:56 -07:00
Nidhi Makhijani
324ff59444 avpacket: Check for and return errors in ff_interleave_add_packet()
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-17 03:18:46 -07:00
Luca Barbato
2db953f846 h264: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-07-17 03:05:24 -07:00
Andrey Utkin
dec87454de lavfi/drawtext: add expansion function eif()
It evaluates expression and outputs it as integer value, using specified
format.

Address trac ticket #3699.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2014-07-17 11:29:43 +02:00
Stefano Sabatini
f3e886c7df lavu/eval: add clip function 2014-07-17 11:29:01 +02:00
Michael Niedermayer
7cd6d61da5 avutil/opt: try to fix the case where src==dst in av_opt_copy()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 06:21:42 +02:00
Simon Thelen
fa6716c66d libavformat/segment: change segment_list_size behavior to match hls_list_size behavior.
Make the segment muxer keep segment_list_size segments instead of
segment_list_size + 1 segments. This patch also changes the
documentation for segment_list_size to reduce possible confusion over
how many segments are kept.

this allows the segment list to
be limited to containing only one segment which used to be impossible
because a segment_list_size of 0 kept all the segments and a
segment_list_size of 1 kept 2 segments.

Signed-off-by: Simon Thelen <ffmpeg-dev@c-14.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 02:35:56 +02:00
Michael Niedermayer
37a0ac1d82 avformat: Micro bump for "md5enc: add format_version, to allow selecting which version to use"
Suggested-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 22:58:29 +02:00
Michael Niedermayer
7da2592f56 avformat/md5enc: add format_version, to allow selecting which version to use
Currently there is just version 1
Fixes remaining part of Ticket2280

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 22:50:24 +02:00
Ben Avison
57641410d1 armv6: Accelerate butterflies_float
I benchmarked the result by measuring the number of gperftools samples that
hit anywhere in the AAC decoder (starting from aac_decode_frame()) or
specifically in butterflies_float_c() / ff_butterflies_float_vfp() for the
same sample AAC stream:

                   Before          After
                   Mean   StdDev   Mean   StdDev  Confidence  Change
Audio decode       1542.8 43.7     1470.5 41.5    100.0%      +4.9%
butterflies_float  130.0  11.9     70.2   12.1    100.0%      +85.2%

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 21:38:02 +02:00
Ben Avison
649c666137 armv6: Accelerate vector_fmul_window
I benchmarked the result by measuring the number of gperftools samples that
hit anywhere in the AAC decoder (starting from aac_decode_frame()) or
specifically in vector_fmul_window_c() / ff_vector_fmul_window_vfp() for the
same sample AAC stream:

                    Before          After
                    Mean   StdDev   Mean   StdDev  Confidence  Change
Audio decode        1598.2 47.4     1529.2 25.4    100.0%      +4.5%
vector_fmul_window  244.0  22.1     188.9  22.3    100.0%      +29.2%

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 21:37:41 +02:00
Diego Biurrun
a11ef610ee h264: Remove some commented-out, broken cruft 2014-07-16 12:26:34 -07:00
Michael Niedermayer
a3f752bcee avcodec/snow: remove unused variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 21:24:11 +02:00
Timothy Gu
1b03448385 aaccoder: remove unused assignment
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 20:55:24 +02:00
Michael Niedermayer
21dfabfa64 Merge commit 'adff0a8166345bb9513f0f658043fb6387e90122'
* commit 'adff0a8166345bb9513f0f658043fb6387e90122':
  arm: dsputil: Coalesce all init files

Conflicts:
	libavcodec/arm/Makefile
	libavcodec/arm/dsputil_arm.h
	libavcodec/arm/dsputil_init_arm.c
	libavcodec/arm/dsputil_init_armv6.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 20:09:25 +02:00
Diego Biurrun
adff0a8166 arm: dsputil: Coalesce all init files 2014-07-16 06:18:23 -07:00
Timothy Gu
9bc0410e4f vp9: remove unused assignment
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Reviewed-by: BBB
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 14:38:42 +02:00
Timothy Gu
ea6178fff8 get_bits: remove unused assignment
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 14:27:45 +02:00
Michael Niedermayer
aa1d096d02 avcodec/snow: only allocate space for edges when encoding
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 04:57:42 +02:00
Michael Niedermayer
8156e036e5 avcodec/snowdec: remove mpegvideoencdsp dependency
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 04:20:59 +02:00
James Almer
b67a0e99ee diracdec: don't call ff_emulated_edge_mc_8 directly
Use the videodsp function pointer instead.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 03:53:49 +02:00
Michael Niedermayer
f00bb086cb Merge commit '14b4e64eabc84c5a5e57c8ccc56bbeb95380823b'
* commit '14b4e64eabc84c5a5e57c8ccc56bbeb95380823b':
  g2meet: allow size changes within original sizes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 03:40:51 +02:00
Michael Niedermayer
faafd1e4f1 Changelog: change "version <next>" to "version 2.3"
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 02:09:06 +02:00
Vittorio Giovara
14b4e64eab g2meet: allow size changes within original sizes 2014-07-15 20:08:16 -04:00
Michael Niedermayer
13a72d9b08 doc/APIchanges: update
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 02:06:44 +02:00
Michael Niedermayer
cf92cc8751 avcodec/hevc: clear HEVClcList[i] on allocation
Fixes fate failure with --enable-memory-poisoning && make THREAD_TYPE=slice THREADS=7  fate-hevc-conformance-ENTP_C_Qualcomm_1

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 01:34:57 +02:00
Marc Jeffreys
a0b71e9f3e avfilter/drawtext: Add basic text shaping using libfribidi
Fixes ticket #3758

Reviewed-by: Andrey Utkin <andrey.krieger.utkin@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 00:40:39 +02:00
Hanspeter Niederstrasser
04980dbee8 avdevice/avfoundation: kCVPixelFormatType_OneComponent8 only exists from 10.8 onward
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 00:40:32 +02:00
James Almer
ad24256e7e diracdec: remove unused dsputil context
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 00:11:18 +02:00
Michael Niedermayer
e240d01c12 avformat/matroskadec: fix declaration after statement
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 00:06:15 +02:00
Vignesh Venkatasubramanian
3e73d14290 lavf: Add WebM DASH Manifest Muxer
This patch adds the ability to generate WebM DASH manifest XML using
ffmpeg. A sample command line would be as follows:

ffmpeg \
  -f webm_dash_manifest -i video1.webm \
  -f webm_dash_manifest -i video2.webm \
  -f webm_dash_manifest -i audio1.webm \
  -f webm_dash_manifest -i audio2.webm \
  -map 0 -map 1 -map 2 -map 3 \
  -c copy \
  -f webm_dash_manifest \
  -adaptation_sets “id=0,streams=0,1 id=1,streams=2,3” \
  manifest.xml

It works by exporting necessary fields as metadata tags in matroskadec
and use those values to write the appropriate XML fields as per the WebM
DASH Specification [1]. Some ideas are adopted from webm-tools project
[2].

[1]
https://sites.google.com/a/webmproject.org/wiki/adaptive-streaming/webm-dash-specification
[2]
https://chromium.googlesource.com/webm/webm-tools/+/master/webm_dash_manifest/

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 23:58:36 +02:00
Vignesh Venkatasubramanian
5a20656946 lavf/matroska: Add functions for WebM DASH Manifest
Add functions and logic to matroskadec for use by the WebM DASH Manifest
XML Muxer. The actual muxer is added in a future patch.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 23:56:17 +02:00
Stepan Bujnak
895e92eca0 Blackframe video filter now sets metadata accordingly.
the libavfilter/vf_blackframe.c filter now not only logs detected
values, but also sets frame metadata. Currently, only `pblack` value is set
but `SET_META` macro has been introduced to ease development in the future.

Signed-off-by: Stepan Bujnak <stepan.bujnak@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 23:37:27 +02:00
Michael Niedermayer
880dbe43ca avcodec/hevc: treat current_sps like sps_list
This simplifies the management of current_sps
Fixes Ticket3458

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 21:49:56 +02:00
Michael Niedermayer
0fc2045d5f avcodec/hevc_ps: prevent stale pointer in malloc failure case
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 21:49:56 +02:00
Michael Niedermayer
9514472904 avutil & avdevice: remove av_bprint_fd_contents()
MSVC does not allow passing file pointers between libs
This API can thus not work with MSVC and as it was very recently added
and its it was in no release its removial should not cause any problems

A better API will be implemented, but its not finished yet, this revert is
to avoid potentially blocking the release

Found-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 21:49:56 +02:00
Clément Bœsch
7a15c22c5f build: fix build with --disable-encoders
draw_edges() should probably be moved somewhere else to avoid
mpegvideo*enc* dependency to decoders.
2014-07-15 21:26:16 +02:00
Michael Niedermayer
e10b62ab5d ffmpeg_opt: remove intra_dc_precision, its handled by AVOptions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 20:18:19 +02:00
Michael Niedermayer
5bda0467d2 avcodec/mpegvideo_enc: make edge for interlaced mpeg2 encoding smaller
Fixes segfault
the size can probably be reduced further for the mpeg2 case

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 19:56:24 +02:00
Michael Niedermayer
339d8fb353 avcodec/mpegvideo_enc: check intra dc precission
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 19:56:23 +02:00
Michael Niedermayer
97f86cd976 avcodec/mpegvideo_enc: workaround applications specifying intra dc level based on 8 and othes based on 0bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 19:56:22 +02:00
Michael Niedermayer
8a91cf857b avcodec/options_table: add liberal limits to intra dc precission
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 19:56:21 +02:00
Michael Niedermayer
19e5114eaa avcodec/mpegvideo_enc: return proper error instead of failing assertion when max rate is not set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 19:56:19 +02:00
Michael Niedermayer
01c17b5224 ffmpeg: Fix copying timebase to muxer context
Fixes Ticket3741

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 15:51:31 +02:00
Timothy Gu
7bf5084e30 doc/utils: add missing @c man end title
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 15:03:59 +02:00
Mickaël Raulet
453f8eaee2 hevc/rext: add support for Range extension tools
SPS features/flags:
- transform_skip_rotation_enabled_flag
- transform_skip_context_enabled_flag
- implicit_rdpcm_enabled_flag
- explicit_rdpcm_enabled_flag
- intra_smoothing_disabled_flag
- persistent_rice_adaptation_enabled_flag

PPS features/flags:
- log2_max_transform_skip_block_size
- cross_component_prediction_enabled_flag
- chroma_qp_offset_list_enabled_flag
- diff_cu_chroma_qp_offset_depth
- chroma_qp_offset_list_len_minus1
- cb_qp_offset_list
- cr_qp_offset_list
- log2_sao_offset_scale_luma
- log2_sao_offset_scale_chroma
(cherry picked from commit 005294c5b939a23099871c6130c8a7cc331f73ee)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 14:08:20 +02:00
Mickaël Raulet
5a41999d81 hevc/rext: basic infrastructure for supporting range extension
- support for 4:2:2 and 4:4:4 up to 12 bits
- add a new profile for range extension
(cherry picked from commit d3c067fa65bbc871758d28aa07f54123430ca346)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 13:47:35 +02:00
Mickaël Raulet
250430bf28 hevc: separate residu and prediction (needed for Range Extension)
(cherry picked from commit 6b3856ef57d66f2e59ee61fd2eb5f83b6d0d7d4a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 13:37:27 +02:00
Mickaël Raulet
255086a7e0 hevc: use local variable for split_cu_flag
(cherry picked from commit ee71e9e9c12fc47856c452efb278f9f593a923ee)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 13:31:40 +02:00
Mickaël Raulet
f5beda3bfd hevc: move restore_tqb where it should be.
(cherry picked from commit 8fafc96a9805d11bfe32537c8f78a294a5844065)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 13:25:55 +02:00
Mickaël Raulet
1241eb8870 hevc: simplify SAO computation, delay from one row its computation
(cherry picked from commit f2c5f647cec786df26f442a85e6d685a131a50c9)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 13:11:33 +02:00
Timothy Gu
d595361593 RELEASE_NOTES: Mention Libav and add codename
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 03:08:41 +02:00
Anshul Maheswhwari
cdc66b651b Adding Maintainer for dvbsubdec
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 00:46:30 +02:00
Mickaël Raulet
c4058b7288 hevc/cabac: add new context for new syntax elements related to Rext(cherry picked from commit 6d71e2394f52679cfc8b86fb5880f89e6bd311d4)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 00:00:45 +02:00
Mickaël Raulet
07b91b8d62 hevc: cleaning up, remove unused constants(cherry picked from commit 7eed32d076c57aa03011d65a64903e8bdb633978)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-14 23:46:36 +02:00
Michael Niedermayer
a65d6e17bd Merge commit 'f9900822fc5f0b0c7242ca318290c090bd5d0af0'
* commit 'f9900822fc5f0b0c7242ca318290c090bd5d0af0':
  fate: Use the correct, local path to samples for opus reference files

Conflicts:
	tests/fate/opus.mak

See: ad7de82218
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-14 22:12:16 +02:00
Michael Niedermayer
8bbadc9b6e ffmpeg: Use av_stream_get_parser() to avoid ABI issues
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-14 21:17:20 +02:00
Michael Niedermayer
62227a70f0 avformat: add av_stream_get_parser() to access avformat AVParser
The AVStream.parser field is considered private and its location cannot be
preserved while preserving also ABI compatibility to libav, as libav added fields
before it.
Some tools like ffmpeg.c access this field though

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-14 21:17:20 +02:00
Martin Storsjö
f9900822fc fate: Use the correct, local path to samples for opus reference files
This fixes running fate in configs where the samples are located
in a different path on the target.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-14 22:12:28 +03:00
Michael Niedermayer
6821572499 avformat/movenc: dont mark multichannel as mono tracks as containing the center channel
Fixes Ticket3727

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-14 17:11:11 +02:00
Michael Niedermayer
ec24796731 RELEASE_NOTES: fill in lib versions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-14 16:04:43 +02:00
Michael Niedermayer
47c84c0bf7 avformat/wavdec: add basic sanity check for the sample count
Fixes Ticket3708

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-14 14:52:18 +02:00
Timothy Gu
2a9b4c0f05 Add a release note for 2.3
Based on a patch by Clément Bœsch <u@pkh.me>.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-14 11:46:59 +02:00
Muhammad Faiz
860d12978c doc/filters: fixing typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-14 10:43:27 +02:00
Michael Niedermayer
2db1bcf1b9 avformat/asfdec: Try to improve skip case
Fixes Ticket3761

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-14 01:16:08 +02:00
Michael Niedermayer
cc3e7a4c3d Merge commit 'acf91215c74a91eb3b86af01dcb1d3c78d0e2310'
* commit 'acf91215c74a91eb3b86af01dcb1d3c78d0e2310':
  x86: dsputil: Avoid pointless CONFIG_ENCODERS indirection

Conflicts:
	libavcodec/x86/dsputil_init.c
	libavcodec/x86/dsputilenc_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-13 21:51:20 +02:00
Michael Niedermayer
98227ba5fa Merge commit 'a8552ee3eb335d2fd2d6c99363367a6090298f78'
* commit 'a8552ee3eb335d2fd2d6c99363367a6090298f78':
  ppc: dsputil: Coalesce all init files

Conflicts:
	libavcodec/ppc/dsputil_altivec.h
	libavcodec/ppc/dsputil_ppc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-13 21:08:28 +02:00
Lukasz Marek
4cc0f79a2c lavf: add samba protocol via libsmbclient
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-13 20:38:55 +02:00
Michael Niedermayer
ccc4324c90 MAINTAINERS: Add ubitux for text subtitles
ubitux maintains them. It seems it was forgotten to update MAINTAINERs though

See: Re: [FFmpeg-devel] [PATCH] MAINTAINERS: add Subtitle maintainer
     Message-ID: <20140713120546.GC26262@leki>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-13 19:29:23 +02:00
Star Brilliant
3f815f713b AVFormat: LRC demuxer and muxer
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-13 19:18:31 +02:00
Diego Biurrun
acf91215c7 x86: dsputil: Avoid pointless CONFIG_ENCODERS indirection
The remaining dsputil bits are encoding-specific anyway.
2014-07-13 07:01:05 -07:00
Ben Avison
42c1cc35b7 armv6: Accelerate ff_imdct_half for general case (mdct_bits != 6)
The previous implementation targeted DTS Coherent Acoustics, which only
requires mdct_bits == 6. This relatively small size lent itself to
unrolling the loops a small number of times, and encoding offsets
calculated at assembly time within the load/store instructions of each
iteration.

In the more general case (codecs such as AAC and AC3) much larger arrays
are used - mdct_bits == [8, 9, 11]. The old method does not scale for
these cases, so more integer registers are used with non-unrolled versions
of the loops (and with some stack spillage). The postrotation filter loop
is still unrolled by a factor of 2 to permit the double-buffering of some
VFP registers to facilitate overlap of neighbouring iterations.

I benchmarked the result by measuring the number of gperftools samples
that hit anywhere in the AAC decoder (starting from aac_decode_frame())
or specifically in ff_imdct_half_c / ff_imdct_half_vfp, for the same
example AAC stream:

                  Before          After
                  Mean   StdDev   Mean   StdDev  Confidence  Change
aac_decode_frame  2368.1 35.8     2117.2 35.3    100.0%      +11.8%
ff_imdct_half_*   457.5  22.4     251.2  16.2    100.0%      +82.1%

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-13 15:17:04 +02:00
James Almer
276bef5340 x86/hevc_deblock: add ff_hevc_[hv]_loop_filter_luma_{8, 10}_sse2
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Kieran Kunhya <kierank@obe.tv>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-13 13:48:31 +02:00
Ronald S. Bultje
ebd1c505d2 h264: fix direct temporal mvs for bottom-field-first poc order.
Fixes http://forum.doom9.org/showthread.php?t=170867.
Fixes: corrupt-1677.mkv

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-13 13:26:19 +02:00
Diego Biurrun
a8552ee3eb ppc: dsputil: Coalesce all init files 2014-07-13 04:10:13 -07:00
Michael Niedermayer
1e3f77b53a swscale/x86/rgb2rgb_template: fix 1 byte overread in yuyvtoyuv420 and uyvytoyuv420
might fix ticket 3410

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-13 05:48:09 +02:00
Michael Niedermayer
4eb13cdfb0 avformat/asfdec: dvrms timestamps are pts not dts
Should fix Ticket3328

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-13 03:50:47 +02:00
Michael Niedermayer
8202c49b43 avformat/utils: do not wait for packets from discarded streams for genpts
Fixes long loop
Fixes Ticket3208

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-13 01:07:59 +02:00
Michael Niedermayer
12dddfed03 configure: fix alphabetical order of previous commit
Was requested in review

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 23:24:16 +02:00
Andreas Cadhalpun
97592faa51 Add -Wformat and -Werror=format-security compiler flags
These are part of the hardening flags used by Debian.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 23:15:23 +02:00
Andreas Cadhalpun
39a6e02fd4 fix spelling errors
Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 22:33:27 +02:00
Michael Niedermayer
4470a3eeaf avformat/mpegts: dont clear programs during probing
Fixes Ticket 3763

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 21:49:15 +02:00
Michael Niedermayer
1db641cbd2 avcodec/hevc: more clearing to avoid stale pointers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 21:31:37 +02:00
Michael Niedermayer
ccd6911c18 avcodec/hevc_ps: do not loose all reference to pointers still in use
Fixes leaving a pointer to unreferenced memory
Fixes Ticket 3115

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 21:03:09 +02:00
Michael Niedermayer
52fafaf474 swresample/libswresample.v: hide ff_*
Found-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 18:40:17 +02:00
Oliver Fromme
699d2107be doc/encoders: Document "dvdsub workaround for some players"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 17:07:14 +02:00
Michael Niedermayer
e5eff191e4 ffplay: increase subtitle que size
Fixes part of Ticket2516 with ffplay

Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 16:29:03 +02:00
James Almer
123649dd19 x86/dsputilenc: remove some empty if statements
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 15:04:58 +02:00
Michael Niedermayer
66558fe715 avcodec/hevc_ps: Check layer_id_included_flags count
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 07:46:08 +02:00
Michael Niedermayer
6935ae22ed avcodec/hevc_ps: more complete check for vps_max_dec_pic_buffering
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 07:46:08 +02:00
Michael Niedermayer
5d88e40093 avcodec/hevc: check slice_header_extension data length
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 07:46:07 +02:00
Michael Niedermayer
c79acacd2e avcodec/hevc: fix nb_sh / nb_sps check
fixes integer overflow

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 04:39:01 +02:00
Lukasz Marek
ca671beead lavf/libssh: set freed pointers to NULL
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 03:01:38 +02:00
Michael Niedermayer
59975de777 ffmpeg: fix integer overflows with sub->*display_time
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 02:23:48 +02:00
Michael Niedermayer
2cebd17e3f avcodec/pgssubdec: Fix input pts
Fixes part of Ticket2516

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 01:09:51 +02:00
Michael Niedermayer
15e933b773 Merge commit '6cc1409ba8650fb7eaedc96e970664febc02a5e9'
* commit '6cc1409ba8650fb7eaedc96e970664febc02a5e9':
  examples/output: Remove unused variable

See: 9b211c43dc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-11 20:36:31 +02:00
Michael Niedermayer
b8cdf04726 Merge commit '1173320249745eab01c901a39054fc0fced33c87'
* commit '1173320249745eab01c901a39054fc0fced33c87':
  dsputil: Drop unused bit_depth parameter from all init functions

Conflicts:
	libavcodec/dsputil.c
	libavcodec/dsputil.h
	libavcodec/ppc/dsputil_ppc.c
	libavcodec/x86/dsputilenc_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-11 20:29:40 +02:00
Diego Biurrun
6cc1409ba8 examples/output: Remove unused variable
doc/examples/output.c:460:9: warning: unused variable ‘i’
2014-07-11 07:23:50 -07:00
Diego Biurrun
1173320249 dsputil: Drop unused bit_depth parameter from all init functions 2014-07-11 06:38:26 -07:00
Paul B Mahol
6779bf3f0f avformat/wavenc: use av_mallocz_array()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-07-11 10:38:45 +00:00
Michael Niedermayer
c6c172d173 avformat/mpegts: skip updating programs/streams when determining duration
Fixes Ticket2441

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-11 16:43:27 +02:00
Michael Niedermayer
c9d64abedf avfilter/vf_decimate: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-11 15:32:27 +02:00
Michael Niedermayer
be55518fdb avfilter/vf_deshake: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-11 15:30:41 +02:00
Michael Niedermayer
4932b1e8b8 avfilter/vf_libopencv: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-11 15:00:49 +02:00
Michael Niedermayer
375d7ee805 Merge commit 'df2aa22203afc9377832bdf800df5dbd3aa9687e'
* commit 'df2aa22203afc9377832bdf800df5dbd3aa9687e':
  mov: Clarify tkhd flag settings

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-11 13:07:26 +02:00
Michael Niedermayer
4c91599484 Merge commit 'f90729699db9ede2bef2b28000f1795dab1b8996'
* commit 'f90729699db9ede2bef2b28000f1795dab1b8996':
  mov: Do not group tracks if more than one is enabled per type

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-11 12:41:57 +02:00
Michael Niedermayer
e1f4397e74 Merge commit '458e7c94830d1522997e33a0b5e87bd709e8a349'
* commit '458e7c94830d1522997e33a0b5e87bd709e8a349':
  hevc: implement pic_output_flag handling

Conflicts:
	libavcodec/hevc.c
	libavcodec/hevc_refs.c

See: 2eddf3a6ef
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-11 12:21:41 +02:00
Michael Niedermayer
aa56c37c8a Merge commit 'f43789b76e661acd93c21664678f140e53cfa1fa'
* commit 'f43789b76e661acd93c21664678f140e53cfa1fa':
  hevc: set the keyframe flag on output frames

See: e2760de605
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-11 12:16:24 +02:00
Michael Niedermayer
673a2b3818 Merge commit '1493b237bd3f9707319ac58d315ce45312900c10'
* commit '1493b237bd3f9707319ac58d315ce45312900c10':
  hevc: Replace nal type chek with equivalent IS_IRAP macro

Conflicts:
	libavcodec/hevc.c

See: e2760de605
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-11 11:56:37 +02:00
Michael Niedermayer
f351afb5f9 Merge commit '17e9d52c8c93f47721ff481b8867922f4b4bd663'
* commit '17e9d52c8c93f47721ff481b8867922f4b4bd663':
  hevc_ps: remove a write-only variable

Conflicts:
	libavcodec/hevc_ps.c

See: ba70563d55
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-11 11:43:33 +02:00
Luca Barbato
df2aa22203 mov: Clarify tkhd flag settings 2014-07-11 11:07:35 +02:00
Luca Barbato
f90729699d mov: Do not group tracks if more than one is enabled per type
The specification requires at most 1 track enabled per alternate group.
2014-07-11 11:07:06 +02:00
Gildas Cocherel
458e7c9483 hevc: implement pic_output_flag handling
Sample-Id: OPFLAG_B_Qualcomm_1.bit, OPFLAG_C_Qualcomm_1.bit
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-07-11 08:52:54 +00:00
Mickaël Raulet
f43789b76e hevc: set the keyframe flag on output frames
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-07-11 08:43:01 +00:00
Mickaël Raulet
1493b237bd hevc: Replace nal type chek with equivalent IS_IRAP macro
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-07-11 08:41:32 +00:00
Anton Khirnov
17e9d52c8c hevc_ps: remove a write-only variable 2014-07-11 08:38:51 +00:00
Michael Niedermayer
9195c26d45 avcodec/rv34: fix crash while seeking on very damaged file
Fixes null pointer dereference
Fixes Ticket2093

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-11 05:34:13 +02:00
Michael Niedermayer
0089fb79cc avformat/cdg: Do not fail if filesize cannot be determined
This fixes cdg with piped input which was broken by the previous commit

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-11 01:04:04 +02:00
Michael Niedermayer
20ad2152dd Merge commit '44386aaad870cbd80ae0d08247ebc663476446ff'
* commit '44386aaad870cbd80ae0d08247ebc663476446ff':
  cdg: Forward error from avio_size() in read_header() function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-11 01:03:50 +02:00
Nidhi Makhijani
44386aaad8 cdg: Forward error from avio_size() in read_header() function
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-10 12:38:54 -07:00
James Almer
ddea3b7106 x86/yadif-10: remove duplicate ABS macro
And use the x86util ones instead, which are optimized for mmxext/sse2.
About ~1% increase in performance on pre SSSE3 processors.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-10 21:06:51 +02:00
Christophe Gisquet
4576eff05d hevc: derive partial merge list
The merge list only needs to be derived up to the merge index.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-10 17:27:56 +02:00
Christophe Gisquet
bbeaae96eb hevc: derive partially amvp list
When the candidate has been found, no need to derive others.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-10 15:35:15 +02:00
Clément Bœsch
7e7168b82d Fix 2 coeffecient typo 2014-07-10 15:29:54 +02:00
Christophe Gisquet
eca1957c4c hevc: reorder loops
iterate over memory in a more continuous order

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-10 14:46:49 +02:00
Christophe Gisquet
2e471e4703 hevc: simplify rounding
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-10 14:32:18 +02:00
Yu Xiaolei
64fdcf2428 build: rawvideo decoder depends on bswapdsp
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-10 14:23:44 +02:00
Michael Niedermayer
5682a93841 Merge commit '5adcef9c1bf701ba2dd43363ae983ba6d74bdb9a'
* commit '5adcef9c1bf701ba2dd43363ae983ba6d74bdb9a':
  mpegts: pass MpegTSContext ptr explicitly

See: 8635954335:
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-10 13:14:33 +02:00
Dave Rice
a15c5c44e2 doc/filters: add a signalstats example
Signed-off-by: Dave Rice <dave@dericed.com>
2014-07-10 09:34:37 +00:00
Alexander V. Lukyanov
5adcef9c1b mpegts: pass MpegTSContext ptr explicitly
AVFormatContext->priv_data is not always a MpegTSContext, it can be
RTSPState when decoding a RTP stream. So it is necessary to pass
MpegTSContext pointer explicitly.

Within libav, the write_section_data function doesn't actually use
the MpegTSContext at all, so this doesn't change anything at the
moment (no memory was corrupted before), but it reduces the risk of
anybody trying to touch the MpegTSContext via AVFormatContext->priv_data
in the future.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-10 11:24:19 +03:00
Carl Eugen Hoyos
a1e3ea475a Fix compilation with --disable-everything. 2014-07-10 08:26:59 +02:00
James Almer
2571e8fe37 alpha/pixblockdsp: move code out of dsputil
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-10 04:01:03 +02:00
Michael Niedermayer
81538470c8 configure: fix select vs. deps
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-10 02:32:25 +02:00
Lukasz Marek
b7cfd5c29b gitignore: add examples/transcoding
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-10 02:18:09 +02:00
Michael Niedermayer
c38b593904 configure: add new dependencies for spp & mpdecimate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-10 01:34:16 +02:00
Michael Niedermayer
2d5e9451de Merge commit 'f46bb608d9d76c543e4929dc8cffe36b84bd789e'
* commit 'f46bb608d9d76c543e4929dc8cffe36b84bd789e':
  dsputil: Split off pixel block routines into their own context

Conflicts:
	configure
	libavcodec/dsputil.c
	libavcodec/mpegvideo_enc.c
	libavcodec/pixblockdsp_template.c
	libavcodec/x86/dsputilenc.asm
	libavcodec/x86/dsputilenc_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-10 01:22:14 +02:00
Nicolas Martyanoff
6cc1fec412 avformat/hlsenc: correctly compute target duration
With HLS, the duration of all segments must be lower or equal to the target
duration. Therefore floor(duration + 0.5) yields incorrect results.

For example, for duration = 1.35, floor(duration + 0.5) yields 1.0, but the
correct result is 2.0.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2014-07-10 01:31:04 +03:00
Michael Niedermayer
92c29914de avcodec/hevc_sei: factor return 1 out of if/else chain
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-10 00:19:49 +02:00
Michael Niedermayer
efc66d69bf Merge commit '0569a7e0bd2006d9a5248d17a1f4bf3ca654ae50'
* commit '0569a7e0bd2006d9a5248d17a1f4bf3ca654ae50':
  hevc: parse display orientation SEI message

Conflicts:
	libavcodec/hevc.h
	libavcodec/hevc_sei.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-10 00:19:43 +02:00
Michael Niedermayer
cd0dc88751 Merge commit '18e3d61e9e3b52c177aa7a1f2a054a8a753e1b09'
* commit '18e3d61e9e3b52c177aa7a1f2a054a8a753e1b09':
  h264: parse display orientation SEI message

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-10 00:07:04 +02:00
Michael Niedermayer
c67690f854 Merge commit 'a54f03bf07da964a1b04b03b85bc39deba76efa4'
* commit 'a54f03bf07da964a1b04b03b85bc39deba76efa4':
  display: add matrix flip api

Conflicts:
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 23:57:20 +02:00
Michael Niedermayer
e8a966e361 Merge commit '33a7b453a8e1f090c694ea4f36769dc837be88f0'
* commit '33a7b453a8e1f090c694ea4f36769dc837be88f0':
  doc: mention option to mix shared/static libraries

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 23:47:19 +02:00
Michael Niedermayer
19b9e07ef5 Merge commit '0307cc2253e76772b1c645ac6117d08da87a147c'
* commit '0307cc2253e76772b1c645ac6117d08da87a147c':
  rtpdec: pass an AVFormatContext to ff_parse_fmtp()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 23:40:13 +02:00
Michael Niedermayer
f233666880 Merge commit '650d384048ed42579cc6d67bf32a94b468c0b6cb'
* commit '650d384048ed42579cc6d67bf32a94b468c0b6cb':
  yuv4mpegenc: do not access AVCodecContext.coded_frame

Conflicts:
	libavformat/yuv4mpegenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 23:34:33 +02:00
Michael Niedermayer
57fa9e9742 Merge commit '27c1f82f561932c83191bcd3e70e0cb1712485ba'
* commit '27c1f82f561932c83191bcd3e70e0cb1712485ba':
  nsvdec: remove commented out cruft

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 23:26:18 +02:00
Michael Niedermayer
73b1283012 Merge commit 'edb1af7c466ebb28bfdb0c076e498e527b43d24f'
* commit 'edb1af7c466ebb28bfdb0c076e498e527b43d24f':
  mov: free the dv demux context with avformat_free_context()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 23:19:06 +02:00
Michael Niedermayer
81babc432a Merge commit 'a14b61658c3302081ea5da3ea65b7d9f7b4fb2eb'
* commit 'a14b61658c3302081ea5da3ea65b7d9f7b4fb2eb':
  mtv: do not set sample_rate for video

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 23:11:09 +02:00
Michael Niedermayer
d52f874c7f Merge commit 'b8604a976128ffbd316653cdec11ba487f1025bb'
* commit 'b8604a976128ffbd316653cdec11ba487f1025bb':
  oggparsecelt: do not set AVCodecContext.frame_size

Conflicts:
	libavformat/oggparsecelt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 22:48:25 +02:00
Michael Niedermayer
e932ae5940 Merge commit 'd5cf5afabbf43f00283e70b12afbe1da030d85b6'
* commit 'd5cf5afabbf43f00283e70b12afbe1da030d85b6':
  adxdec: get rid of an avpriv function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 22:38:13 +02:00
Michael Niedermayer
1b58f13761 Merge commit 'f6ee61fb05482c617f5deee29a190d8ff483b3d1'
* commit 'f6ee61fb05482c617f5deee29a190d8ff483b3d1':
  lavc: export DV profile API used by muxer/demuxer as public

Conflicts:
	configure
	doc/APIchanges
	libavcodec/Makefile
	libavcodec/dv_profile.c
	libavcodec/dv_profile.h
	libavcodec/version.h
	libavformat/dvenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 22:27:07 +02:00
Michael Niedermayer
9098f0ecd7 ffmpeg: remove common factors from copied timebase
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 21:51:31 +02:00
Michael Niedermayer
8e7c8325d2 Merge commit '3f3232a371cc88696184d9aef1f812656264e56c'
* commit '3f3232a371cc88696184d9aef1f812656264e56c':
  avconv: set the output stream timebase

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 21:44:25 +02:00
Michael Niedermayer
4b13ec69c6 Merge commit 'c9c1265c52910578d3db1a6205c85b91ead0903f'
* commit 'c9c1265c52910578d3db1a6205c85b91ead0903f':
  avformat: update muxing doxy

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 21:38:27 +02:00
Michael Niedermayer
714d9bd6ee Merge commit 'abda15a990527557c20848f6ca2f82eb85e76dc9'
* commit 'abda15a990527557c20848f6ca2f82eb85e76dc9':
  cdg: set the keyframe flag on the first packet

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 21:30:45 +02:00
Michael Niedermayer
76a35f7830 avcodec/roqvideoenc: Print the correct max resolution
Thanks-to: Vitor Sessak <vitor1001@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 21:20:31 +02:00
Michael Niedermayer
9af59db6ec avcodec/roqvideoenc: More verbose warning about no power of 2 dimensions
Thanks-to: Vitor Sessak <vitor1001@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 21:19:55 +02:00
Oliver Fromme
a32dcaaaf8 avcodec/dvdsubenc: Add dvdsub workaround for some players
The issue affects dvdsub subtitles (a.k.a. VOBSUB).

Some players -- in particular hardware players -- cut off
the lowest row of pixels if the number of rows in the subtitle
is odd.

The patch below implements a work-around for that.  If the
number of rows is odd, it is simply rounded up to an even
number, adding an invisible (i.e. fully transparent) row.
The work-around can be enabled or disabled with a new
option -even_rows_fix.  The default is disabled, so there
is no change of behaviour for users who don't care about it.

The overhead for the fix is low, and in many cases even zero:
For subtitles with an odd number of rows (i.e. in 50% of
cases on average), the size increases by two bytes because
a fully transparent row is encoded as 0x00 0x00.  However,
in the VOBSUB standard, all data packets are padded to 2KB
anyway, so in most cases the additional bytes just use some
part of the padding, so there is no overhead.  Only in the
rare case that the 2KB boundary is hit (0.1% chance), a full
2KB block is added.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 20:11:36 +02:00
Michael Niedermayer
e36916a63f avcodec/pthread_frame: fix setting hwaccel with threads and get_format()
Fixes assertion failure with vdpau and vlc
Fixes Ticket3742

Tested-by: oromit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 19:58:58 +02:00
Michael Niedermayer
31d49db75e avutil/bprint:ædd io.h, try to fix msvc build
Suggested-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 18:16:45 +02:00
Diego Biurrun
f46bb608d9 dsputil: Split off pixel block routines into their own context 2014-07-09 08:05:26 -07:00
Michael Niedermayer
b83e0903ec avformat/m4vdec: raise threshold slightly for detection
Fixes Ticket3746

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 17:02:34 +02:00
Vittorio Giovara
0569a7e0bd hevc: parse display orientation SEI message
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-07-09 10:18:06 -04:00
Vittorio Giovara
18e3d61e9e h264: parse display orientation SEI message
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-07-09 10:17:42 -04:00
Vittorio Giovara
a54f03bf07 display: add matrix flip api 2014-07-09 10:14:12 -04:00
Michael Niedermayer
f32c5d1a8d avcodec/mpegvideo: clip mv visualization arrows so that their direction is maintained
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 16:04:32 +02:00
Andrew Kelley
33a7b453a8 doc: mention option to mix shared/static libraries
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-07-09 09:57:10 -04:00
Anton Khirnov
0307cc2253 rtpdec: pass an AVFormatContext to ff_parse_fmtp()
Use it for logging, instead of NULL or the stream codec context.
2014-07-09 13:40:54 +00:00
Anton Khirnov
650d384048 yuv4mpegenc: do not access AVCodecContext.coded_frame
Its contents are meaningful only if the stream codec context is the one
actually used for encoding, which is often not the case (and is
discouraged).

Use AVCodecContext.field_order instead.
2014-07-09 13:40:39 +00:00
Anton Khirnov
27c1f82f56 nsvdec: remove commented out cruft 2014-07-09 13:38:54 +00:00
Anton Khirnov
edb1af7c46 mov: free the dv demux context with avformat_free_context() 2014-07-09 13:38:35 +00:00
Anton Khirnov
a14b61658c mtv: do not set sample_rate for video 2014-07-09 13:38:26 +00:00
Anton Khirnov
b8604a9761 oggparsecelt: do not set AVCodecContext.frame_size
It is supposed to be set by decoders only.
2014-07-09 13:38:14 +00:00
Anton Khirnov
d5cf5afabb adxdec: get rid of an avpriv function
The only thing the demuxer needs is the sample rate to set the timebase,
which can be simply read with AV_RB32.
2014-07-09 13:37:18 +00:00
Anton Khirnov
f6ee61fb05 lavc: export DV profile API used by muxer/demuxer as public 2014-07-09 13:35:07 +00:00
Anton Khirnov
3f3232a371 avconv: set the output stream timebase
This is required by the new API.
2014-07-09 13:30:33 +00:00
Anton Khirnov
c9c1265c52 avformat: update muxing doxy
The callers should now set the stream timebase, not the codec one.
2014-07-09 13:30:22 +00:00
Anton Khirnov
abda15a990 cdg: set the keyframe flag on the first packet
Bug-Id: 55
2014-07-09 13:30:11 +00:00
Carl Eugen Hoyos
d6e7881c2e Fix wmv1 encoding if all other msmpeg4-related encoders were disabled. 2014-07-09 08:51:17 +02:00
Carl Eugen Hoyos
e4dfc3f9b8 Fix wmv1 decoding if no other msmpeg4-related decoder was compiled. 2014-07-09 08:27:24 +02:00
Michael Niedermayer
c8b2cf4996 avcodec/mpegvideo: flip motion vector visualization for backward motion vectors
Also support changing arrow head/tail shape

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 03:07:25 +02:00
Michael Niedermayer
98eab98159 avdevice/pulse_audio_dec: reimplement using the non simple API
This fixes timestamps

Based-on: code from pulseaudio
Reviewed-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 01:36:01 +02:00
Mark Boorer
352756ecae avformat/movenc: respect color_range when encoding dnxhd.
Set the ACLR atom appropriately for legal / full range.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 00:35:23 +02:00
Michael Niedermayer
7125b6ca90 avformat/segment: remove gettimeofday() use, remove sys/time.h
It causes portability issues, and would need ifdef hell if its kept

Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 22:52:39 +02:00
James Almer
2375b09473 alpha/idctdsp: move idct init code out of dsputil
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 22:19:38 +02:00
Alexander V. Lukyanov
8635954335 avformat/mpegts: pass MpegTSContext ptr explicitly (fixes #3721)
AVFormatContext->priv_data is not always a MpegTSContext, it can be
RTSPState when decoding a RTP stream. So it is necessary to pass
MpegTSContext pointer explicitly.

This fixes memory corruption from bug #3721 (RTSPState is smaller than
MpegTSContext thus innocent memory gets overwritten).

Signed-off-by: Alexander V. Lukyanov <lavv17f@gmail.com>
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 22:06:18 +02:00
Michael Niedermayer
fd3388d63d Merge commit '18fb38fb9ea7e2d5997c096fccfcd4cb43f70294'
* commit '18fb38fb9ea7e2d5997c096fccfcd4cb43f70294':
  mov: Remove a variable that is set but never used

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 21:53:09 +02:00
Michael Niedermayer
839688bc63 Merge commit 'cf280ed004b5c618560f8f43d14ff264bd1e4c3d'
* commit 'cf280ed004b5c618560f8f43d14ff264bd1e4c3d':
  avplay: Handle pixel aspect ratio properly

See: 32fdfdfbda
See: 99b01e458c
See: 825ec16da9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 21:52:06 +02:00
Michael Niedermayer
a26ecba075 Merge commit '52a1c32c0a86e84d43f977c5148e62975a0c6917'
* commit '52a1c32c0a86e84d43f977c5148e62975a0c6917':
  nut: Use nut->version in the version range check

Conflicts:
	libavformat/nutdec.c

Note, this bug did not affect ffmpeg
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 21:18:36 +02:00
Michael Niedermayer
eee6ad38f9 avdevice/lavfi: add io.h, should fix msvc build
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 20:29:59 +02:00
Michael Niedermayer
550bda741c avcodec/alpha/dsputil_alpha: fix build
Disable moved functions to prevent build/test failure,
patch to update and re-enable them is welcome
volunteer to maintain the alpha code is welcome too

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 20:15:31 +02:00
Martin Storsjö
18fb38fb9e mov: Remove a variable that is set but never used
This silences a warning with gcc.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-08 21:14:43 +03:00
Martin Storsjö
cf280ed004 avplay: Handle pixel aspect ratio properly
This was broken (left half-implemented) in 354468fc12.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-08 21:14:43 +03:00
Luca Barbato
52a1c32c0a nut: Use nut->version in the version range check
It was wrongly left unchanged when the version field had been
introduced. (c94e2e85cb)
2014-07-08 19:04:09 +02:00
Michael Niedermayer
7cb8f7ded4 avcodec/proresenc_anatoliy: check against maximum dimensions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 18:03:11 +02:00
Michael Niedermayer
7c7441b37d avcodec/roqvideoenc: check dimensions against maximum
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 17:33:39 +02:00
Michael Niedermayer
fe4c76b3d0 avcodec/roqvideoenc: fix infinite lambda increasing loop
The threshold was choosen so that no further size decrease happened with larger lambda
with the test video.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 17:09:56 +02:00
Michael Niedermayer
a981d1b6aa avformat/nutdec: if all else fails try to lookup video tag in isom
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 16:37:06 +02:00
Michael Niedermayer
5a4edf6f0d avformat/movenc: check that the video resolution is supported
Resolutions are stored as 16bit integers

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 16:17:44 +02:00
Michael Niedermayer
1f935c3d0b Merge commit '79fce1ec8abd017593c003917fc123f7119a78d6'
* commit '79fce1ec8abd017593c003917fc123f7119a78d6':
  arm: Avoid using the 'setend' instruction on ARMv7 and newer

Conflicts:
	libavcodec/arm/h264dsp_init_arm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 14:44:12 +02:00
Michael Niedermayer
70b423e148 Merge commit '3d90f27ad5843ccd63d34fd6da4d4bff212c1bfe'
* commit '3d90f27ad5843ccd63d34fd6da4d4bff212c1bfe':
  avformat_new_stream: make the AVCodec parameter const

Conflicts:
	libavformat/utils.c

See: e12cfd044c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 14:29:47 +02:00
Michael Niedermayer
e1f729d977 Merge commit 'd3cfd7aff86ee3d449ca68aba21d67b9b2136a9b'
* commit 'd3cfd7aff86ee3d449ca68aba21d67b9b2136a9b':
  af_compand: make sure request_frame always outputs at least one frame

See: 6b68e2a43b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 13:48:26 +02:00
Martin Storsjö
79fce1ec8a arm: Avoid using the 'setend' instruction on ARMv7 and newer
This instruction is deprecated on ARMv8, and it is serializing on
some ARMv7 cores as well [1].

[1] http://article.gmane.org/gmane.linux.ports.arm.kernel/339293

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-08 12:09:09 +03:00
Roman Savchenko
3d90f27ad5 avformat_new_stream: make the AVCodec parameter const
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-07-08 08:24:27 +00:00
Andrew Kelley
d3cfd7aff8 af_compand: make sure request_frame always outputs at least one frame
This fixes a segmentation fault because request_frame in fifo.c assumes
that the call to ff_request_frame will populate fifo->root.next.
Before, it was possible for request_frame in af_compand to not do this,
resulting in a null pointer access. Now, request_frame in af_compand
always will return at least one frame or an error, as per the API
specifications in avfilter.h for request_frame.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-07-08 07:54:00 +00:00
Michael Niedermayer
14e2406de7 Merge commit 'a9aee08d900f686e966c64afec5d88a7d9d130a3'
* commit 'a9aee08d900f686e966c64afec5d88a7d9d130a3':
  dsputil: Split off FDCT bits into their own context

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/asvenc.c
	libavcodec/dnxhdenc.c
	libavcodec/dsputil.c
	libavcodec/mpegvideo.h
	libavcodec/mpegvideo_enc.c
	libavcodec/x86/Makefile
	libavcodec/x86/dsputilenc_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 03:19:06 +02:00
Michael Niedermayer
5c7bf354dc avcodec/crystalhd: Add #if HAVE_UNISTD_H around #include <unistd.h>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 02:51:56 +02:00
Michael Niedermayer
0ffba9feb6 avutil/cpu: Use HAVE_UNISTD_H instead of HAVE_SYSCONF for #include <unistd.h>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 02:50:52 +02:00
Michael Niedermayer
576ced5530 avfilter/vf_drawtext: Add #if HAVE_UNISTD_H around #include <unistd.h>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 02:49:13 +02:00
Michael Niedermayer
0dbcecc8dc avdevice/oss_audio: Add #if HAVE_UNISTD_H around #include <unistd.h>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 02:48:51 +02:00
Timothy Gu
8e6a66b662 doc: add doxygen target tag
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 02:11:19 +02:00
Timothy Gu
cee98aadb1 doc: make doxygen program configurable
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 02:08:04 +02:00
Timothy Gu
865a761081 doc: add doxy-wrapper.sh to doc/doxygen/html dependencies
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 02:03:35 +02:00
Michael Niedermayer
307239bdb6 ffserver: add HAVE_UNISTD_H around #include <unistd.h>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 01:56:53 +02:00
Michael Niedermayer
1574eedd0e tools/yuvcmp: add HAVE_UNISTD_H around #include <unistd.h>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 01:56:33 +02:00
Michael Niedermayer
39ea21713c avcodec/libxvid: add HAVE_UNISTD_H around #include <unistd.h>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 01:55:47 +02:00
Michael Niedermayer
0ebcf87803 protect unistd.h with #if HAVE_UNISTD_H in code from recent av_bprint_fd_contents() patches
Should fix build failure on MSVC

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 01:54:30 +02:00
Timothy Gu
5b58692ed4 swresample: misc. doxy improvements
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 01:36:56 +02:00
Michael Niedermayer
9ccc7aeeea doc/Doxyfile: use 5 columns for alphabetical index
This reverts a hunk from 671005558a
Reduces diff to what we use on the server
Suggested-by: Timothy Gu
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 00:43:18 +02:00
Michael Niedermayer
242b3c292a Merge commit '1e9a93bfca2c2f43a07e01f2ef9fd5cbafe6c22d'
* commit '1e9a93bfca2c2f43a07e01f2ef9fd5cbafe6c22d':
  libfdk-aacdec: Decode the first AAC frame to reliably identify the bitstream

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 23:16:59 +02:00
Michael Niedermayer
75be508f7c Merge commit 'a863c97e99bf30a88baa74f83bab9e3ab25984dc'
* commit 'a863c97e99bf30a88baa74f83bab9e3ab25984dc':
  smoothstreamingenc: Fix a memory leak on errors

See: a53c5d454e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 23:05:03 +02:00
Michael Niedermayer
154954c2ac avcodec/vmdvideo: remove unneeded include
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 22:57:36 +02:00
Michael Niedermayer
b8d017adba avformat/segment: simplify localtime* use
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 22:57:36 +02:00
Deti fliegl
8cda23f341 avformat/segment: Support cutting at clocktime
Signed-off-by: Deti fliegl <fliegl@baycom.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 22:56:55 +02:00
Diego Biurrun
a9aee08d90 dsputil: Split off FDCT bits into their own context 2014-07-07 12:28:45 -07:00
Andrey Utkin
2229a6dfe6 avdevice/lavfi: allow non-mmappable files for graph_file
Use av_bprint_fd_contents() instead of av_file_map()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 21:28:25 +02:00
Andrey Utkin
fcd1f6bc9d avutil/bprint: Add av_bprint_fd_contents()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 21:28:18 +02:00
Omer Osman
1e9a93bfca libfdk-aacdec: Decode the first AAC frame to reliably identify the bitstream
For implicit signaling cases (as possible for Spectral Band Replication
and Parametric Stereo Tools), the decoder must decode the first frame to
correctly identify the stream configuration (as called from
avformat_find_stream_info). The mechanism for this is built-in and only
requires adding CODEC_CAP_CHANNEL_CONF to the libfdk-aacdec AVCodec
struct.

Signed-off-by: Omer Osman <omer.osman@iis.fraunhofer.de>
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-07 22:09:15 +03:00
Michael Niedermayer
a863c97e99 smoothstreamingenc: Fix a memory leak on errors
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-07 22:08:42 +03:00
Michael Niedermayer
06dae71d47 Merge commit '246f869590b8c7313d26e1c2ef56db01f6fd2503'
* commit '246f869590b8c7313d26e1c2ef56db01f6fd2503':
  vmd: Split audio and video decoder

Conflicts:
	libavcodec/vmdvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 18:06:39 +02:00
Nidhi Makhijani
246f869590 vmd: Split audio and video decoder
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-07 07:45:00 -07:00
Michael Niedermayer
5320b34b98 avcodec/cljrdec: remove unneeded include
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 16:31:51 +02:00
Michael Niedermayer
3790801f9c Merge commit '3c650efb81aaa3b395ba4606ee68a47ee4efb57b'
* commit '3c650efb81aaa3b395ba4606ee68a47ee4efb57b':
  dsputil: Move draw_edges() to mpegvideoencdsp

Conflicts:
	libavcodec/mpegvideo_enc.c
	libavcodec/x86/Makefile
	libavcodec/x86/dsputil_init.c
	libavcodec/x86/dsputil_mmx.c
	libavcodec/x86/dsputil_x86.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 16:17:27 +02:00
Michael Niedermayer
020865f557 Merge commit 'c166148409fe8f0dbccef2fe684286a40ba1e37d'
* commit 'c166148409fe8f0dbccef2fe684286a40ba1e37d':
  dsputil: Move pix_sum, pix_norm1, shrink function pointers to mpegvideoenc

Conflicts:
	libavcodec/dsputil.c
	libavcodec/mpegvideo_enc.c
	libavcodec/x86/dsputilenc.asm
	libavcodec/x86/dsputilenc_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 15:36:58 +02:00
Michael Niedermayer
462c6cdb8e Merge commit '8d686ca59db14900ad5c12b547fb8a7afc8b0b94'
* commit '8d686ca59db14900ad5c12b547fb8a7afc8b0b94':
  dsputil: Split off *_8x8basis to a separate context

Conflicts:
	libavcodec/dsputil.c
	libavcodec/mpegvideo_enc.c
	libavcodec/x86/dsputilenc_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 15:08:55 +02:00
Michael Niedermayer
8324bd5186 avcodec/mpegvideo_enc: fix b frame strategy 2
Fixes Ticket3757

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 14:59:37 +02:00
Timothy Gu
3be90723e7 transcoding: fix Doxygen file path
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 13:15:32 +02:00
Clément Bœsch
7ac7e8793d avcodec/mpegvideo: small indent fix in vismv code 2014-07-07 11:26:26 +02:00
Clément Bœsch
5f4dbf3c10 avcodec: make vismv option as flag types
This allows for example -vismv pf+bf+bb instead of -vismv 7.
2014-07-07 10:24:18 +02:00
Eric Lasota
586406980f avcodec/roqvideodec: set JPEG output color range
Signed-off-by: Eric Lasota <ejlasota@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 03:06:00 +02:00
Michael Niedermayer
705eb5a177 Merge commit 'a7985cfd4c51b7fe2b870fc4ecd109707ee035d6'
* commit 'a7985cfd4c51b7fe2b870fc4ecd109707ee035d6':
  audio_fifo: Split into a separate doxygen module

Conflicts:
	libavutil/audio_fifo.h

See: 689e02808d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 00:55:52 +02:00
Michael Niedermayer
52ea7ffdfb Merge commit 'd69243d39b773b64614792487cd93f6ceb237b25'
* commit 'd69243d39b773b64614792487cd93f6ceb237b25':
  samplefmt: Add doxygen categories

Conflicts:
	libavutil/samplefmt.h

See: b27555a3a0
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 00:33:09 +02:00
Michael Niedermayer
28c0319517 Merge commit 'd6902070c52151ec1e8154ce9b22283a1d0bc192'
* commit 'd6902070c52151ec1e8154ce9b22283a1d0bc192':
  dsicin: Split audio and video decoder

Conflicts:
	libavcodec/Makefile
	libavcodec/dsicinvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 00:04:22 +02:00
Diego Biurrun
3c650efb81 dsputil: Move draw_edges() to mpegvideoencdsp 2014-07-06 14:48:50 -07:00
Michael Niedermayer
96761e9306 Merge commit '2fc85fe96e7e0e5fc433b98eacebf4d3511d2d58'
* commit '2fc85fe96e7e0e5fc433b98eacebf4d3511d2d58':
  bmv: Split audio and video decoder

Conflicts:
	libavcodec/bmvvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 23:43:37 +02:00
Eric Lasota
8be23d424f avcodec/roqvideo: use JPEG color range
Signed-off-by: ejlasota <ejlasota@gmail.com>

Also update fate test checksums
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 23:34:58 +02:00
Diego Biurrun
c166148409 dsputil: Move pix_sum, pix_norm1, shrink function pointers to mpegvideoenc 2014-07-06 14:26:53 -07:00
Diego Biurrun
8d686ca59d dsputil: Split off *_8x8basis to a separate context 2014-07-06 13:09:24 -07:00
Timothy Gu
064945b3aa swresample: organize functions into doxy groups
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 22:07:15 +02:00
Timothy Gu
81f47e272d swresample: better doxy for configuration-returning functions
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 22:06:51 +02:00
Timothy Gu
2711b4708a swresample: improve Doxygen introduction
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 21:41:31 +02:00
Timothy Gu
77c5f546e7 swresample: add SwrContext doxy
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 20:58:58 +02:00
Timothy Gu
fc71434e84 swresample: add SwrDitherType doxy
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 20:58:41 +02:00
Timothy Gu
c0d9b026f9 swresample: group all the option constants in a section in doxy
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 20:58:34 +02:00
Timothy Gu
0c58388211 swresample: grammar/capitalization fixes
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 20:46:06 +02:00
Timothy Gu
02ca9efdcd avutil: actually install hash.h
This header is designed as a public header (with APIchanges entry and
everything), but it is forgotten to put into the headers to be installed
list.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 20:45:37 +02:00
Timothy Gu
a7985cfd4c audio_fifo: Split into a separate doxygen module
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-06 11:44:10 -07:00
Timothy Gu
d69243d39b samplefmt: Add doxygen categories
Categorize the enum and functions as "audio-related".

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-06 11:44:01 -07:00
James Almer
195f7bd23d x86/svq1enc: use unaligned mov on SSE2
Might fix fate failures on some systems

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 20:27:57 +02:00
Nidhi Makhijani
d6902070c5 dsicin: Split audio and video decoder
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-06 11:27:34 -07:00
Michael Niedermayer
0d1994ee3c Merge commit 'b0633f83f277c05bf1f617a99c7aedd2db8306e3'
* commit 'b0633f83f277c05bf1f617a99c7aedd2db8306e3':
  paf: split audio and video decoder

Conflicts:
	libavcodec/pafvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 20:11:40 +02:00
Michael Niedermayer
225c5cc815 Merge commit '373a6dda5422186bc057297342a9e559a564595e'
* commit '373a6dda5422186bc057297342a9e559a564595e':
  cljr: split decoder and encoder

Conflicts:
	libavcodec/Makefile
	libavcodec/cljrdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 20:00:59 +02:00
Nidhi Makhijani
2fc85fe96e bmv: Split audio and video decoder
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-06 10:58:43 -07:00
Michael Niedermayer
3a29af4efc Merge commit '02a7a5e330ec4373a761f63c292220a1de13b968'
* commit '02a7a5e330ec4373a761f63c292220a1de13b968':
  vc1test: Check malloc call

Conflicts:
	libavformat/vc1test.c

See: a807c68253
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 19:44:13 +02:00
Michael Niedermayer
d95a04547a Merge commit '77fc7b76726719746ca45df6c4a62c41abad506e'
* commit '77fc7b76726719746ca45df6c4a62c41abad506e':
  vc1test: Return proper error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 19:25:12 +02:00
Michael Niedermayer
1c8c4b8a89 Merge commit '865461099e062de5a3a109c2a5be98004c11d8bd'
* commit '865461099e062de5a3a109c2a5be98004c11d8bd':
  librtmp: Don't free the temp url at the end of rtmp_open

Conflicts:
	libavformat/librtmp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 19:12:52 +02:00
Nidhi Makhijani
b0633f83f2 paf: split audio and video decoder
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-06 09:36:17 -07:00
Nidhi Makhijani
373a6dda54 cljr: split decoder and encoder
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-06 09:28:20 -07:00
Nidhi Makhijani
02a7a5e330 vc1test: Check malloc call
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-06 09:25:52 -07:00
Nidhi Makhijani
77fc7b7672 vc1test: Return proper error codes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-06 07:53:58 -07:00
Martin Storsjö
865461099e librtmp: Don't free the temp url at the end of rtmp_open
librtmp can keep pointers to this string internally, and may
use them at shutdown as well.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-06 17:49:02 +03:00
Michael Niedermayer
e592bf3d2f avfilter/vsrc_cellauto: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 14:35:13 +02:00
Michael Niedermayer
d90ad5b2bb avfilter/vf_vignette: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 14:34:37 +02:00
Michael Niedermayer
11e4890eeb avfilter/unsharp_opencl: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 14:33:54 +02:00
Michael Niedermayer
a53c5d454e avformat/smoothstreamingenc: fix memleak
Fixes CID1224285
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 05:02:38 +02:00
Timothy Gu
37715b4594 swresample: split option table to a separate file
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 03:45:46 +02:00
Michael Niedermayer
02729f7a5a avcodec/mjpegenc_common: Restore removed copyright statements
These where removed by  libav while spliting the file in adcb8392c9

See: de6d9b6404
See: 723106b279

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 03:39:39 +02:00
Timothy Gu
689e02808d avutil/audio_fifo: split into a separate doxy module
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 01:41:17 +02:00
Michael Niedermayer
26b9f5bcdb avcodec/Makefile: add libutvideo.h to SKIPHEADERS
libutvideo.h is not a C header and thus fails building as a C file

Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 01:38:55 +02:00
Timothy Gu
b27555a3a0 avutil/samplefmt: improve doxygen
Categorize the enum and funcs to "Audio related".

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 01:05:30 +02:00
Timothy Gu
baef3ba727 avcodec/old_codec_ids: workaround doxygen inclusion bug
Currently, http://ffmpeg.org/doxygen/trunk/group__preproc__misc.html is
broken, because of inclusion bug in Doxygen's preprocessing mode. The
now-unincluded header file is included anyway in avcodec.h, the only
place where it is used, so there should be no problem removing it.

One concern is API-compatibility, because old_codec_ids.h is a public
header. However, IMO this is not a problem because currently users
cannot include only this header and not `avcodec.h` anyway, because of
missing AV_CODEC_ID_NONE symbol.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 00:32:29 +02:00
James Almer
dad31083ae x86/svq1enc: port ssd_int8_vs_int16 to yasm
Also add an SSE2 version

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-05 21:43:40 +02:00
Michael Niedermayer
19b79c1429 Merge commit 'b0de1c766329dd8c9960ad1722e2f653160abc1b'
* commit 'b0de1c766329dd8c9960ad1722e2f653160abc1b':
  x86: build: Only compile FDCT code if MMX is enabled

Conflicts:
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-05 20:12:31 +02:00
Michael Niedermayer
5036c8b17b Merge commit '12f129e545e5a5844b6ad7f3eb6a438015cad8bc'
* commit '12f129e545e5a5844b6ad7f3eb6a438015cad8bc':
  x86: Unconditionally compile blockdsp and svq1enc init files

Conflicts:
	libavcodec/x86/Makefile

blockdsp_mmx is renamed to blockdsp_init as we already have a blockdsp file
and _init is how all other such files are called

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-05 19:50:05 +02:00
Clément Bœsch
d5601cf6fc avfilter/haldclut: fix R/B swap in CLUT loading
Fixes Ticket #3751.
2014-07-05 19:35:51 +02:00
Michael Niedermayer
6bef3e55bd Merge commit '009331303a6462d07cbe94aef9c446f1a1695519'
* commit '009331303a6462d07cbe94aef9c446f1a1695519':
  x86: huffyuvdsp: Move inline assembly to init file

Conflicts:
	libavcodec/x86/Makefile
	libavcodec/x86/huffyuvdsp.h
	libavcodec/x86/huffyuvdsp_init.c
	libavcodec/x86/huffyuvdsp_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-05 19:11:26 +02:00
Diego Biurrun
b0de1c7663 x86: build: Only compile FDCT code if MMX is enabled
All other files containing purely inline assembly are treated the same way.
2014-07-05 04:18:34 -07:00
Diego Biurrun
12f129e545 x86: Unconditionally compile blockdsp and svq1enc init files
This avoids a link failure with MMX disabled as the init functions
are referenced unconditionally.
2014-07-05 04:18:34 -07:00
Diego Biurrun
009331303a x86: huffyuvdsp: Move inline assembly to init file
This avoids a link failure with MMX disabled as now code and
initialization are compiled under the same condition.
2014-07-05 04:18:34 -07:00
Carl Eugen Hoyos
d3e51b4118 Fix standalone compilation of the amv encoder. 2014-07-05 12:55:14 +02:00
Lukasz Marek
362cfe8ce1 doc/protocols: document unit of timeouts for ftp and http
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2014-07-05 12:07:11 +02:00
Stefano Sabatini
60f162946f tools/ffeval: print computed value even in case of error
This is useful for debugging purposes.
2014-07-05 11:48:24 +02:00
Stefano Sabatini
85eabd748b lavfi/drawtext: do not allocate FT_Glyph, but keep it in the Glyph structure
Slightly simplify.
2014-07-05 11:48:06 +02:00
Michael Niedermayer
d5818c37f3 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Use os/2 palette even if it contains less than 256 entries.
  Assume that old bmps do not contain transparency information.
  Do not detect jp2 images as mov files.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-05 04:12:12 +02:00
Michael Niedermayer
4216a5082b Merge commit 'e0bfe34ea8ccf333ec5b17961fd58eb575e74f8b'
* commit 'e0bfe34ea8ccf333ec5b17961fd58eb575e74f8b':
  libfdk-aacdec: Reduce the default decoder delay by one frame

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-05 03:41:35 +02:00
Carl Eugen Hoyos
810294ce3d Use os/2 palette even if it contains less than 256 entries.
Fixes 11Bios13.bmp.
2014-07-05 02:11:17 +02:00
Carl Eugen Hoyos
8f6a04a279 Assume that old bmps do not contain transparency information.
Fixes MK50TEMP.BMP that has its RGB channel bit masks on the actual image.
2014-07-05 02:11:17 +02:00
Carl Eugen Hoyos
d919fdd4f7 Do not detect jp2 images as mov files. 2014-07-05 02:11:17 +02:00
Omer Osman
e0bfe34ea8 libfdk-aacdec: Reduce the default decoder delay by one frame
The default error concealment method if none is set via
aacDecoder_SetParam(AAC_CONCEAL_METHOD) is set in
CConcealment_InitCommonData within the fdk-aac library
and is set to Energy Interpolation. This method requires one frame
delay to the output. To reduce the default decoder output delay and
avoid missing the last frame in file based decoding, use Noise
Substitution as the default concealment method.

Signed-off-by: Omer Osman <omer.osman@iis.fraunhofer.de>
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-05 00:47:36 +03:00
Timothy Gu
939d22a297 Doxyfile: imitate gcc for better libavutil/attributes.h documentation
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 23:14:17 +02:00
Timothy Gu
3679edf429 downmix_info: clarify doxygen
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 22:07:23 +02:00
Timothy Gu
beed4ac110 channel_layout: doxy: merge functions with macros
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 22:06:49 +02:00
Timothy Gu
31a6dfcbf7 Doxyfile: enable browser-based search engine
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 21:35:29 +02:00
Timothy Gu
0201ce002c avutil: fix version macros doxygen module
Without this patch, "Library Version Macros" module is not visible on
libavutil homepage in `make apidoc`.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 20:54:19 +02:00
Lukasz Marek
b7adc5b5a6 lavf/libssh: call ssh_userauth_none before ssh_userauth_list
According to doc, ssh_userauth_none must be called before ssh_userauth_list.
It solves login issue for new versions of libssh.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 20:30:48 +02:00
Michael Niedermayer
2d15554850 avcodec/mlp_parser: check ff_combine_frame() return code
Fixes CID602338

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 20:29:40 +02:00
Michael Niedermayer
d1a8659efe avformat/img2dec: remove functions from image pipe which are unneeded for image pipes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 16:44:40 +02:00
Michael Niedermayer
bd8b6ed96d avcodec/bmp: fix integer overflow in checking header sizes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 15:02:08 +02:00
Michael Niedermayer
c277ab6b78 avformat/img2dec: improve bmp probe
fix probetest failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 04:54:52 +02:00
Michael Niedermayer
d36fe733c1 avformat/img2dec: increase probe buffer to 2k
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 04:54:32 +02:00
Michael Niedermayer
a195c98cbc configure: update dependencies for vf_spp
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 04:47:13 +02:00
Michael Niedermayer
0437445926 avformat/img2dec: set AVProbeData size correctly on corner cases of tiny files
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 04:00:27 +02:00
Michael Niedermayer
6691eee48c avformat/img2dec: avoid seekback on probeing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 04:00:27 +02:00
Michael Niedermayer
726e253b00 avformat/img2dec: allocate and clear padding area for probe correctly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 04:00:27 +02:00
Michael Niedermayer
7d179b126b Merge remote-tracking branch 'lukaszmluki/master'
* lukaszmluki/master:
  lavf/ftp: always treat all response codes >= 500 as error
  lavf/ftp: explicitly enable UTF-8
  lavf/ftp: make response parsing more RFC compliant

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 02:19:07 +02:00
James Almer
9937362c54 x86/swr: use lavu helper macros to check CPU extensions
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 02:12:16 +02:00
Carl Eugen Hoyos
4c145b692c Autodetect JPEG2000 imagess.
Autodetection of jp2 files does not work yet, the files are detected
as mov.
2014-07-04 02:10:26 +02:00
James Almer
8279a15284 x86/swr: split audioconvert and rematrix DSP into separate files
Also rename resample_x86_dsp.c to resample_init.c

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 02:00:11 +02:00
James Almer
857cd1f33b swr: initialize only the necessary resample dsp functions
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 01:37:41 +02:00
Lukasz Marek
c82521713d lavf/ftp: always treat all response codes >= 500 as error
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-07-04 01:21:08 +02:00
Lukasz Marek
a0358db323 lavf/ftp: explicitly enable UTF-8
Most FTP servers enable UTF-8 by default, but it is not required by the standard.
Enabling it manually makes ffmpeg implementation more consistent when server
doesn't enable it by default.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-07-04 01:21:08 +02:00
Lukasz Marek
3ba6dce48d lavf/ftp: make response parsing more RFC compliant
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-07-04 01:21:08 +02:00
Michael Niedermayer
5c65aed7fd Merge commit '391ecc961ced2bde7aecb3053ac35191f838fae8'
* commit '391ecc961ced2bde7aecb3053ac35191f838fae8':
  x86: mpegvideoenc: Change SIMD optimization name suffixes to lowercase

Conflicts:
	libavcodec/x86/mpegvideoenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 01:17:39 +02:00
Michael Niedermayer
cf8c44fc47 Merge commit 'c6698dfe7cdbc7634f33245875488ed3fa4a8ced'
* commit 'c6698dfe7cdbc7634f33245875488ed3fa4a8ced':
  webpdec: Fix decoding of the huffman group indices.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 01:08:57 +02:00
Michael Niedermayer
b28fcbba0c Merge commit '9279826008b80daad7446950a821f32033ccd33f'
* commit '9279826008b80daad7446950a821f32033ccd33f':
  id3v2enc: use a case-insensitive comparison for APIC picture type

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 00:50:40 +02:00
Oliver Fromme
d73823286d avcodec/dvdsubdec: fix alpha in debuging code
improve the debugging function for saving subtitles
to PPM files: Actually use the alpha channel.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 00:35:21 +02:00
Oliver Fromme
3f0a3e9e12 avcodec/dvdsubdec: Fix off-by-one error
Fix an off-by-one error that causes the height of decoded
subtitles to be too small, thus cutting off the lowest row
of pixels.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 00:32:43 +02:00
Diego Biurrun
391ecc961c x86: mpegvideoenc: Change SIMD optimization name suffixes to lowercase 2014-07-03 13:41:41 -07:00
Michael Niedermayer
a9ce5d92e6 Merge commit '0955e57ad07640574fc20ce0bea3c0b83982ada1'
* commit '0955e57ad07640574fc20ce0bea3c0b83982ada1':
  daud: split muxer and demuxer

Conflicts:
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-03 21:42:16 +02:00
Justin Ruggles
c6698dfe7c webpdec: Fix decoding of the huffman group indices.
Per the specification, "The red and green components of a pixel
define the meta Huffman code used in a particular block of the ARGB
image."
2014-07-03 15:29:01 -04:00
Michael Niedermayer
524eeaca22 Merge commit 'f920d089535bf7cf10aeda900cc43201c5e18cd0'
* commit 'f920d089535bf7cf10aeda900cc43201c5e18cd0':
  ismindex: Add an option for outputting files elsewhere than in the current directory

Conflicts:
	tools/ismindex.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-03 21:02:56 +02:00
Anton Khirnov
9279826008 id3v2enc: use a case-insensitive comparison for APIC picture type 2014-07-03 18:40:37 +00:00
Michael Niedermayer
0d35d5ab1b Merge commit '6bc4934b75dde9354ee16a6e700ebe6775abf69e'
* commit '6bc4934b75dde9354ee16a6e700ebe6775abf69e':
  ismindex: Allow adding a path prefix to the generated .ism file

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-03 20:37:06 +02:00
Nidhi Makhijani
0955e57ad0 daud: split muxer and demuxer
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-03 10:46:11 -07:00
Martin Storsjö
f920d08953 ismindex: Add an option for outputting files elsewhere than in the current directory
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-03 20:13:27 +03:00
Martin Storsjö
6bc4934b75 ismindex: Allow adding a path prefix to the generated .ism file
This allows storing the .ismv/.isma/.ismc files separately from
the .ism file on a server, without having to manually edit the
.ism file after generating it with the ismindex tool.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-03 20:13:13 +03:00
Carl Eugen Hoyos
d538dd824e avformat: Add image3 demuxers with format autodetection
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-03 18:14:06 +02:00
James Zern
dea377fcc0 ivfenc: support VP9
libvpx tools accept vp9 ivf files

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-03 15:46:26 +02:00
Leandro Santiago
4582e1162a avfilter/vf_drawtext: fix resource leak
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-03 15:45:15 +02:00
Michael Niedermayer
a3c479fc49 avformat/avformat: minor grammar improvement
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-03 13:51:53 +02:00
Michael Niedermayer
44f079b27e Merge commit 'cdab9db2adeec46b3984309c8c651bdd737d2b6b'
* commit 'cdab9db2adeec46b3984309c8c651bdd737d2b6b':
  lavf: document av_dump_format()

Conflicts:
	libavformat/avformat.h

See: 61f96be08a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-03 13:39:23 +02:00
Michael Niedermayer
982920cfaa Merge commit 'df949b645b12d62bb4da56d629a887c81f67f2e5'
* commit 'df949b645b12d62bb4da56d629a887c81f67f2e5':
  hevc: Use the local context variable when needed

Conflicts:
	libavcodec/hevc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-03 13:19:34 +02:00
Michael Niedermayer
33f6ba9c4e avdevice/pulse_audio_dec: clear pa_simple pointer after deallocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-03 13:05:58 +02:00
Paul B Mahol
b52c26c66f avfilter: add flanger filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-07-03 08:07:42 +00:00
Paul B Mahol
7e8c1f0c38 avfilter/af_aphaser: move wave table generation code into separate file
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-07-03 07:34:11 +00:00
Vittorio Giovara
cdab9db2ad lavf: document av_dump_format() 2014-07-02 23:37:21 -04:00
Luca Barbato
df949b645b hevc: Use the local context variable when needed 2014-07-02 23:30:49 -04:00
Michael Niedermayer
1265247206 avfilter/vf_format: Check pix_fmts before dereferencing it
Fixes CID1224286

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-03 02:29:49 +02:00
Michael Niedermayer
5ab67340f9 avfilter/avfiltergraph: dont "or" together error codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-03 02:29:49 +02:00
Carl Eugen Hoyos
b02cfad7d2 Fix standalone compilation of the wtv muxer. 2014-07-02 23:41:29 +02:00
Michael Niedermayer
ce6a1ff2a1 avcodec/on2avc: Fix out of array access
Fixes CID1206648

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-02 20:22:12 +02:00
Michael Niedermayer
61815ef85b Merge commit '98569d89638efc325042bd0081e9a02181afdafa'
* commit '98569d89638efc325042bd0081e9a02181afdafa':
  matroskadec: Fix a double negation typo

See: 2c5b92fe90
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-02 20:18:16 +02:00
Anshul Maheshwari
43d70a776d avcodec: Updated comment for sub param
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-02 19:47:14 +02:00
Anshul Maheshwari
7d1898ebcc avcodec/dvbsubdec: removed unnecessary null check for subtitle
In refrence to coverity defect 1224278

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-02 19:47:14 +02:00
Michael Niedermayer
98569d8963 matroskadec: Fix a double negation typo
This typo has existed since this code was added in c16582579.
Newer versions of clang pointed out that this comparison always
was true (since the result of the negation is either 0 or 1, while
AVDISCARD_ALL has the value 48).

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-02 20:15:42 +03:00
Stefano Sabatini
462c9ee3ac lavfi/overlay: show incoming frames on debug messages
This is especially useful to debug queue overflow issues.

Ideally we should be able to set the debug message at the
dualinput/framesync level, but they do not have the information related
to the filter context and the inlink, so cannot access much useful
information.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2014-07-02 18:42:15 +02:00
Michael Niedermayer
5307fa00a4 avcodec/dvdec: remove redundant null check
Fixes CID700682 again

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-02 16:37:38 +02:00
Michael Niedermayer
d266ecff4b avcodec/bitstream: remove trivial assert
Fixed CID1224273

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-02 16:25:40 +02:00
James Almer
b5f0eac068 swr: rename swresample_dsp init functions to swri_resample_dsp
The swresample_ prefix is not for internal functions

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-02 13:18:30 +02:00
Dave Rice
1619a0e2b8 doc/filters: fix typo
Signed-off-by: Dave Rice <dave@dericed.com>
Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-02 13:09:12 +02:00
Michael Niedermayer
4930cd13d6 ffmpeg: check av_opt_set_dict() return
Fixes CID1224275

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-02 05:53:13 +02:00
Dave Rice
79d3eeb2b7 doc/ffprobe.xsd: fix order and missing elements/attributes
Signed-off-by: Dave Rice <dave@dericed.com>
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-02 03:55:54 +02:00
James Almer
42a92a240d swr: remove obsolete resample prototypes
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-02 03:14:45 +02:00
James Almer
23a9edf531 Partially revert "swr: add prototypes for resample dsp functions"
Prototypes are not needed anymore now that the x86 functions don't
include resample_template.c

The DO_RESAMPLE_ONE macro is removed for that same reason as well.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-02 03:14:36 +02:00
James Almer
c45b7f0d80 x86/swr: add ff_resample_{common, linear}_int16_xop
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-02 01:11:20 +02:00
James Almer
1a69224f44 x86/swr: add ff_resample_{common, linear}_float_fma
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-02 01:09:53 +02:00
James Almer
a441a2437b x86: rename dsputil.asm to idctdsp.asm
Its only function is no longer part of dsputil.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-02 01:08:04 +02:00
Michael Niedermayer
ef7e8425e8 avcodec/mjpegdec: factorize some parts of the pix_fmt_id switch()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-01 23:28:18 +02:00
Michael Niedermayer
784e1cf76b avcodec/mjpegdec: handle luma upscale detection generically
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-01 23:26:19 +02:00
Michael Niedermayer
64d98dadc7 avcodec/mjpegdec: set upscale_h/upscale_v using generic code instead of hardcoding a list
Some code is left to handle corner cases

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-01 22:54:57 +02:00
Michael Niedermayer
7558e55345 avcodec/mjpegdec: Support pix_fmt_id==0x11222200
Fixes: 4858286_300.jpg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-01 22:12:20 +02:00
Michael Niedermayer
cd417d947e avcodec/mjpegdec: fix width for non chroma in rescaling
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-01 22:09:19 +02:00
Michael Niedermayer
4e09300ffa mjpegdec: Support pix_fmt_id == 0x22112200
Fixes 4780490_300.jpg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-01 21:47:54 +02:00
Michael Niedermayer
141ee10913 Merge commit '48e6432407a73d5006d84609456e6e0bc3dd8fc4'
* commit '48e6432407a73d5006d84609456e6e0bc3dd8fc4':
  matroska: Factor out mkv_write_stereo_mode

Conflicts:
	libavformat/matroskaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-01 20:55:42 +02:00
Michael Niedermayer
ee78b0c252 Merge commit 'b75a1f9892b5b715397edbf837e4d4cda337907b'
* commit 'b75a1f9892b5b715397edbf837e4d4cda337907b':
  matroska: Factor out write_track from mkv_write_tracks

Conflicts:
	libavformat/matroskaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-01 20:25:35 +02:00
Michael Niedermayer
8365287e61 Merge commit 'f1f6156b3fc9eb77b439d031ba18974d80b8341e'
* commit 'f1f6156b3fc9eb77b439d031ba18974d80b8341e':
  matroska: K&R formatting cosmetics

Conflicts:
	libavformat/matroskaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-01 19:58:57 +02:00
Michael Niedermayer
06e5d28e33 Merge commit 'd0449e754553b0c110b6cd75f6725b82144fbd2a'
* commit 'd0449e754553b0c110b6cd75f6725b82144fbd2a':
  vaapi: Update idct_permutation location after dsputil/idctdsp split

See: 581b5f0b9b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-01 19:29:53 +02:00
James Almer
dd2c9034b1 x86/swr: convert resample_{common, linear}_double_sse2 to yasm
Signed-off-by: James Almer <jamrial@gmail.com>

312531 -> 311528 dezicycles

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-01 17:57:36 +02:00
Luca Barbato
48e6432407 matroska: Factor out mkv_write_stereo_mode 2014-07-01 16:43:20 +02:00
Luca Barbato
b75a1f9892 matroska: Factor out write_track from mkv_write_tracks 2014-07-01 16:43:01 +02:00
Luca Barbato
f1f6156b3f matroska: K&R formatting cosmetics 2014-07-01 16:42:32 +02:00
Diego Biurrun
d0449e7545 vaapi: Update idct_permutation location after dsputil/idctdsp split 2014-07-01 07:36:22 -07:00
Michael Niedermayer
fb318def5d Merge commit '20f95f21f9b9595608ba668a6eca78f2d508be67'
* commit '20f95f21f9b9595608ba668a6eca78f2d508be67':
  mov: Support default-base-is-moof.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-01 16:31:57 +02:00
Michael Niedermayer
8d0c7031a8 Merge commit '79793f833784121d574454af4871866576c0749d'
* commit '79793f833784121d574454af4871866576c0749d':
  Update Fiona's name in copyright statements.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-01 15:43:40 +02:00
Michael Niedermayer
581b5f0b9b Merge commit 'e3fcb14347466095839c2a3c47ebecff02da891e'
* commit 'e3fcb14347466095839c2a3c47ebecff02da891e':
  dsputil: Split off IDCT bits into their own context

Conflicts:
	configure
	libavcodec/aic.c
	libavcodec/arm/Makefile
	libavcodec/arm/dsputil_init_arm.c
	libavcodec/arm/dsputil_init_armv6.c
	libavcodec/asvdec.c
	libavcodec/dnxhdenc.c
	libavcodec/dsputil.c
	libavcodec/dvdec.c
	libavcodec/dxva2_mpeg2.c
	libavcodec/intrax8.c
	libavcodec/mdec.c
	libavcodec/mjpegdec.c
	libavcodec/mjpegenc_common.h
	libavcodec/mpegvideo.c
	libavcodec/ppc/dsputil_altivec.h
	libavcodec/ppc/dsputil_ppc.c
	libavcodec/ppc/idctdsp.c
	libavcodec/x86/Makefile
	libavcodec/x86/dsputil_init.c
	libavcodec/x86/dsputil_mmx.c
	libavcodec/x86/dsputil_x86.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-01 15:22:11 +02:00
Yusuke Nakamura
20f95f21f9 mov: Support default-base-is-moof.
default-base-is-moof shall be set to track fragments compatible with DASH
Media Segments. So, this is a fundamental support for ISOBMFF ver. DASH.
This is meaningful only when base-data-offset-present is absent and two or
more track fragments are present in a movie fragment.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-01 14:36:06 +03:00
Michael Niedermayer
909f53f2b2 Merge commit 'adcb8392c9b185fd8a91a95fa256d15ab1432a30'
* commit 'adcb8392c9b185fd8a91a95fa256d15ab1432a30':
  mjpeg: Split off bits shared by MJPEG and LJPEG encoders

Conflicts:
	libavcodec/mjpegenc.c
	libavcodec/mjpegenc.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-01 13:33:11 +02:00
Diego Biurrun
79793f8337 Update Fiona's name in copyright statements. 2014-07-01 03:26:51 -07:00
Michael Niedermayer
a97137e948 avfilter/f_ebur128: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-01 03:50:53 +02:00
Michael Niedermayer
7faa7d3d42 avcodec/hevc: Use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-01 03:50:17 +02:00
Michael Niedermayer
80da227c66 cmdutils_opencl: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-01 03:49:36 +02:00
Muhammad Faiz
46563af79c avfilter/showcqt: adding freetype support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-30 21:53:14 +02:00
Michael Niedermayer
9efa7f82ce avdevice/xv: fix missing {
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-30 21:32:19 +02:00
Ronald S. Bultje
847bb638c0 swr: convert resample_common/linear_int16_mmx2/sse2 to yasm.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-30 20:11:50 +02:00
Lukasz Marek
e5c806fd67 lavd/xv: handle delete window message
User may close X11 window by close button on tray.
FFmpeg leaves in graceless way.
This commit detects it and return EPIPE error.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-30 19:20:32 +02:00
Michael Niedermayer
e429d6c197 avcodec/pgssubdec: remove unused variables
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-30 18:24:37 +02:00
Michael Niedermayer
89bcb77726 avcodec/pgssubdec: Check input buffer size in parse_presentation_segment()
Might fix overread, no testcase known though.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-30 18:23:08 +02:00
Michael Niedermayer
ae9a73de2a Merge commit '253d0be6a1ecc343d29ff8e1df0ddf961ab9c772'
* commit '253d0be6a1ecc343d29ff8e1df0ddf961ab9c772':
  pgssubdec: handle more complex PGS scenarios

Conflicts:
	libavcodec/pgssubdec.c

Some of this has been split out and commited in cleanly split patches immedeately
before this merge

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-30 18:05:39 +02:00
John Stebbins
0c911c8fbc avcodec/pgssubdec: fix end display time
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-30 17:33:53 +02:00
John Stebbins
066a4819cc avcodec/pgssubdec: Bail out of decode_rle() if error and AV_EF_EXPLODE is set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-30 17:31:38 +02:00
John Stebbins
fc7da418ff avcodec/pgssubdec: better error codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-30 17:29:18 +02:00
John Stebbins
5c019ec91d avcodec/pgssubdec: Pass AVSubtitleRect to decode_rle()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-30 17:25:16 +02:00
John Stebbins
4701f7676c avcodec/pgssubdec: split out flush_cache()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-30 17:24:47 +02:00
Diego Biurrun
e3fcb14347 dsputil: Split off IDCT bits into their own context 2014-06-30 07:58:46 -07:00
Diego Biurrun
adcb8392c9 mjpeg: Split off bits shared by MJPEG and LJPEG encoders
This obviates a dependency of the LJPEG encoder on mpegvideo.
2014-06-30 07:53:40 -07:00
John Stebbins
ca7f2a7372 avcodec/pgssubdec: do not fail when part of the packet is faulty unless AV_EF_EXPLODE is set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-30 16:46:25 +02:00
John Stebbins
376f353e3d avcodec/pgssubdec: rename PICTURE_SEGMENT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-30 16:39:41 +02:00
Clément Bœsch
ec94c52e97 doc: remove trailing ':' at the end of sections
Also lowercase "options" in "Advanced Video Options" for consistency.
2014-06-30 15:36:26 +02:00
John Stebbins
253d0be6a1 pgssubdec: handle more complex PGS scenarios
Add ability to handle multiple palettes and objects simultaneously.
Each simultaneous object is given its own AVSubtitleRect.
Note that there can be up to 64 currently valid objects, but only
2 at any one time can be "presented".

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-06-30 12:18:58 +02:00
Michael Niedermayer
f054d1e7ae avformat/hdsenc: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-30 05:08:33 +02:00
Michael Niedermayer
ca384d708b avformat/rtsp: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-30 05:08:16 +02:00
Michael Niedermayer
418e5768c6 swresample/resample_template: move division out of loop for float/double swri_resample_linear()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-30 04:30:10 +02:00
Michael Niedermayer
86576129bd Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  configure: enable lto for icl compiler.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-29 22:26:46 +02:00
Michael Niedermayer
c5a405c4f0 swresample/resample_template: flip order of operations in swri_resample_linear() for 32bit
Fixes integer overflow

Found-by: BBB
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-29 22:19:57 +02:00
Matthew Oliver
09adb1dd36 configure: enable lto for icl compiler. 2014-06-29 19:24:12 +02:00
Michael Niedermayer
7f5d75f95b cmdutils: ignore sws_flags if swscale is not enabled
This avoids some failures during fate when swscale is disabled

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-29 17:27:23 +02:00
Michael Niedermayer
3f42434600 avcodec/huffyuvencdsp: try to fix misaligned access
Should fix fate on MIPS

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-29 16:26:38 +02:00
Michael Niedermayer
cddbf95c5f doc/examples/resampling_audio: use av_freep() for saftey
also its better in examples to use the safer functions.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-29 16:26:38 +02:00
Clément Bœsch
d5f817793e avfilter/overlay: reindent 2014-06-29 13:26:12 +02:00
Clément Bœsch
b18d1b094e avfilter/buffersrc: reindent 2014-06-29 13:26:04 +02:00
Michael Niedermayer
f02a440814 ffmpeg_opt: route -ab to -b:a
Fixes combining -ab with -target pal-dvd
Fixes Ticket3736

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-29 02:47:49 +02:00
Michael Niedermayer
525a165d99 avfilter/vf_pullup: workaround bug in gcc 4.4.3 on ARM
The gcc version affected is very old and unmaintained AFAIK thus i made no
attempt to report this to the gcc developers.

The workaround is pushed as it may still affect users and does affect one
fate client

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-29 00:52:42 +02:00
Michael Niedermayer
4d3072ada3 doc/examples/muxing: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-28 21:44:38 +02:00
Michael Niedermayer
01983e50c0 Merge commit '7b0c7c9163fe3dd0081696befde28617119d2590'
* commit '7b0c7c9163fe3dd0081696befde28617119d2590':
  arm: Detect 32 bit cpu features on ARMv8 when running on a 64 bit kernel

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-28 21:31:18 +02:00
Michael Niedermayer
e6aba1be4c avformat/options_table: Fix flush_packet flag flags
Found-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-28 21:24:15 +02:00
Michael Niedermayer
c599c211fb avformat/mux: fix flush_packets flag with flushing buffers
Found-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-28 21:23:32 +02:00
Martin Storsjö
7b0c7c9163 arm: Detect 32 bit cpu features on ARMv8 when running on a 64 bit kernel
When running on a 64 bit kernel, /proc/cpuinfo lists different
optional features than on 32 bit kernels (because some of them
are mandatory in the 64 bit implemenations).

The kernel does list the old features properly if they are queried
via /proc/self/auxv though - however this file is not always readable
(e.g. on most android systems). The getauxval function could also
provide the same info as /proc/self/auxv even if this file isn't
readable, but this function is not always available (and thus would
need to be loaded with dlsym for compatibility with older android
versions).

The android cpufeatures library does this slightly differently,
by assuming that these are available if the "CPU architecture"
line is >= 8, see [1] for details.

It has been suggested to include the old, non-optional features in
/proc/cpuinfo as well, but that suggested patch never was merged.
See [2] for the discussion around this suggestion.

[1] https://android-review.googlesource.com/91380
[2] http://marc.info/?l=linux-arm-kernel&m=139087240101974

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-06-28 22:16:59 +03:00
Yao Wang
5464916677 avcodec/cavs: improve conformance with rm52j reference decoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-28 19:53:41 +02:00
Michael Niedermayer
f9f8491ddf avcodec/cavs: make cavs_chroma_qp non static
The table is needed by multiple files

Reverts part of ef07ac1e12

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-28 19:08:39 +02:00
Ronald S. Bultje
faa1471ffc swr: rewrite resample_common/linear_float_sse/avx in yasm.
Linear interpolation goes from 63 (llvm) or 58 (gcc) to 48 (yasm)
cycles/sample on 64bit, or from 66 (llvm/gcc) to 52 (yasm) cycles/
sample on 32bit. Bon-linear goes from 43 (llvm) or 38 (gcc) to
32 (yasm) cycles/sample on 64bit, or from 46 (llvm) or 44 (gcc) to
38 (yasm) cycles/sample on 32bit (all testing on OSX 10.9.2, llvm
5.1 and gcc 4.8/9).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-28 17:06:47 +02:00
Michael Niedermayer
a348f4befe avfilter/x86/vf_pullup: fix "invalid combination of opcode and operands" with nasm
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-28 16:06:00 +02:00
Ronald S. Bultje
ddb7b4435a swr: move dst_size == 0 handling outside DSP function.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-28 15:30:01 +02:00
Michael Niedermayer
cc92372722 doc/APIchanges: lengthening a hash to make it non ambigous
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-28 13:11:32 +02:00
Michael Niedermayer
7448afc52b APIchanges: fillin some missing data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-28 13:10:23 +02:00
Michael Niedermayer
823ea19a74 Merge commit '39975acc699c83af0a87a7318c0f41e189142938'
* commit '39975acc699c83af0a87a7318c0f41e189142938':
  rtpenc_jpeg: check for color_range too

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-28 12:40:01 +02:00
Michael Niedermayer
e925a82e24 Merge commit 'f134b5ec53b4cb51cb69bf0c64de87687ea72b12'
* commit 'f134b5ec53b4cb51cb69bf0c64de87687ea72b12':
  apichanges: fill in changes for lavu 51.19 and 51.20

Conflicts:
	doc/APIchanges

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-28 12:33:07 +02:00
Vittorio Giovara
39975acc69 rtpenc_jpeg: check for color_range too 2014-06-28 01:51:14 -04:00
Vittorio Giovara
f134b5ec53 apichanges: fill in changes for lavu 51.19 and 51.20 2014-06-28 01:50:17 -04:00
Michael Niedermayer
504475f38e avcodec/mpegvideo: dont overwrite emu_edge buffer
Fixes vsynth3 fate failures on mips

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-28 06:28:21 +02:00
Michael Niedermayer
21bfed5b06 avcodec/mpegvideo_enc: reduce space between blocks in emu_edge in encode_mb_internal 2014-06-28 06:27:15 +02:00
Michael Niedermayer
5bca5f87d1 Revert "x86/videodsp: add emulated_edge_mc_mmxext"
The commit causes minor out of array reads and was mainly intended for
future optimizations which turned out not to be meassurably faster.
Itself it was just 1 cpu cycle faster

Approved-by: jamrial

This reverts commit 057d2704e7.
2014-06-28 05:39:07 +02:00
Michael Niedermayer
4d1fa38d98 avcodec/mpeg12dec: Limit progressive_seq reinitilaization to where the resolution changes
Fixes Ticket3743

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-28 00:16:09 +02:00
Michael Niedermayer
8c22bea574 avcodec/vp8: Fix multiple ff_thread_finish_setup() calls
Fixes Ticket3725

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-27 22:45:43 +02:00
Michael Niedermayer
1fd0e9a56d Merge commit '5dd8c08fd5e4c04d7a08d8934f0098a8a4a35c28'
* commit '5dd8c08fd5e4c04d7a08d8934f0098a8a4a35c28':
  mpeg: Change ff_convert_matrix() to take an MpegEncContext parameter

Conflicts:
	libavcodec/mpegvideo.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-27 19:24:44 +02:00
Michael Niedermayer
3ac5114530 Merge commit 'e63b818dbe6060b606ae10eb184859f8b97d2353'
* commit 'e63b818dbe6060b606ae10eb184859f8b97d2353':
  dv: Properly split decoder and encoder initialization

Conflicts:
	libavcodec/dv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-27 19:13:34 +02:00
Sergey
6d2df3c00a ffmpeg: fix deadlock regression in threading error handing
Commit fc9c857c introduced deadlock regression when processing too many inputs:
  ffmpeg $(seq -f " -f lavfi -i aevalsrc=0:d=%.0f" 70) -vf concat=n=70:v=0:a=1 -f null -
Happens for different number of inputs, depending on available memory size,
overcommit settings, ulimits, etc. Easily noticeable for 32-bit builds,
that exhaust address space allocating 8-10 MB stack for each thread.
Earlier ffmpeg versions exited with unhelpful "Conversion failed!" message.

This patch fixes both problems: it frees the queue to prevent deadlock
and adds a meaningful error message if pthread_create() fails.

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-27 17:45:38 +02:00
Anshul Maheshwari
263932c084 avcodec/dvbsubdec: fix ignoring blank frame by updating got_output
fix ticket 3737

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-27 14:35:58 +02:00
Diego Biurrun
5dd8c08fd5 mpeg: Change ff_convert_matrix() to take an MpegEncContext parameter
This will come in handy during dsputil splitting.
2014-06-27 05:17:11 -07:00
Diego Biurrun
e63b818dbe dv: Properly split decoder and encoder initialization 2014-06-27 05:03:06 -07:00
James Almer
5fef4afb85 configure: add missing audiodsp dependency for ra144
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-27 13:37:10 +02:00
James Almer
607c88126c configure: fix g729 decoder dependencies
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-27 13:36:50 +02:00
James Almer
a6b8aef0dc configure: remove duplicate ape_decoder_select line
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-27 13:36:37 +02:00
Michael Niedermayer
b96c9513f3 avcodec/snow: factor ff_snow_get_buffer() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-27 04:49:09 +02:00
Gaullier Nicolas
134beb9e02 avformat/mxfenc: rename very recently added option to set/force channelcount in MXF D-10
Approved-by: Tomas Härdin <tomas.hardin@codemill.se>
Approved-by: tim nicholson <nichot20@yahoo.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-27 03:29:51 +02:00
Michael Niedermayer
09a7a4704e Merge commit 'd2869aea0494d3a20d53d5034cd41dbb488eb133'
* commit 'd2869aea0494d3a20d53d5034cd41dbb488eb133':
  dsputil: Move MMX/SSE2-optimized IDCT bits to the x86 subdirectory

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-27 03:05:33 +02:00
Michael Niedermayer
5a636383db Merge commit '24f45c16224d4c5d482e928676714766ffdda4fc'
* commit '24f45c16224d4c5d482e928676714766ffdda4fc':
  fate: Add dependencies for dct/fft/mdct/rdft tests

Conflicts:
	libavcodec/fft-test.c
	tests/fate/fft.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-27 02:36:45 +02:00
Michael Niedermayer
357168bcf6 Merge commit '5ec6d152e26c570c0a16ec72c1f354db95708179'
* commit '5ec6d152e26c570c0a16ec72c1f354db95708179':
  indeo4: B-frames decoding

Conflicts:
	libavcodec/ivi_common.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-27 02:05:22 +02:00
Diego Biurrun
d2869aea04 dsputil: Move MMX/SSE2-optimized IDCT bits to the x86 subdirectory 2014-06-26 16:15:07 -07:00
Michael Niedermayer
826726b83f Merge commit '422e14f721c22cf9c19a8e7aae051ba9d559f6b6'
* commit '422e14f721c22cf9c19a8e7aae051ba9d559f6b6':
  indeo2: rename stride to pitch for consistency with other Indeo decoders

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-27 01:11:59 +02:00
Diego Biurrun
24f45c1622 fate: Add dependencies for dct/fft/mdct/rdft tests 2014-06-26 16:03:21 -07:00
Michael Niedermayer
ad081e4def Merge commit 'a5864e9a253143437471dba61a533e7fa9acec1c'
* commit 'a5864e9a253143437471dba61a533e7fa9acec1c':
  output example: free the muxing format context properly

See: 9b211c43dc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-27 01:02:40 +02:00
Michael Niedermayer
8469c73576 Merge commit '182d3f8221c23716ea4eafa460bdb94968f71f26'
* commit '182d3f8221c23716ea4eafa460bdb94968f71f26':
  output example: rewrite encoding logic

Conflicts:
	doc/examples/muxing.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-27 00:57:04 +02:00
Michael Niedermayer
9a2850c26a Merge commit 'a7fcd4122b19b0f934020f4e261d0c44c4c32e11'
* commit 'a7fcd4122b19b0f934020f4e261d0c44c4c32e11':
  output example: store the scaling context in the stream context

Conflicts:
	doc/examples/muxing.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-27 00:16:34 +02:00
Michael Niedermayer
877716a79c Merge commit '6a927d7aaf5625e83a674072913b9e292a303fd1'
* commit '6a927d7aaf5625e83a674072913b9e292a303fd1':
  output example: use a macro instead of a static variable

Conflicts:
	doc/examples/muxing.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-26 23:58:00 +02:00
Michael Niedermayer
5a55d5e445 Merge commit '63fd0d866c8300a8f251a15b1535e9ce40a407fb'
* commit '63fd0d866c8300a8f251a15b1535e9ce40a407fb':
  output example: allocate the audio frame only once

Conflicts:
	doc/examples/muxing.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-26 23:22:08 +02:00
Michael Niedermayer
b9bfd888e5 Merge commit 'edd5f957646dcbf1bb55718bc7bf1e5481c25bcb'
* commit 'edd5f957646dcbf1bb55718bc7bf1e5481c25bcb':
  output example: use OutputStream for audio streams as well

Conflicts:
	doc/examples/muxing.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-26 23:01:52 +02:00
Michael Niedermayer
11991a7d90 Merge commit '5e7b125b6ae36893dfd9cb5661c99b67363cbb38'
* commit '5e7b125b6ae36893dfd9cb5661c99b67363cbb38':
  output example: use the new AVFrame API to allocate audio frames

Conflicts:
	doc/examples/muxing.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-26 22:46:11 +02:00
Michael Niedermayer
a1c4635558 Merge commit 'ac85f631c9a9cc59aaca1c8dd6894fb1f701c594'
* commit 'ac85f631c9a9cc59aaca1c8dd6894fb1f701c594':
  output example: set output channel layout

Conflicts:
	doc/examples/muxing.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-26 22:13:46 +02:00
Michael Niedermayer
8eb1174a9e Merge commit '294daf71a7a1303b5ddd3cbefebed3b732d610f3'
* commit '294daf71a7a1303b5ddd3cbefebed3b732d610f3':
  output example: use a struct to bundle the video stream variables together

Conflicts:
	doc/examples/muxing.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-26 21:55:11 +02:00
Michael Niedermayer
c9083d85df Merge commit '38d044429dabcd28928693240e955c6d4430cca9'
* commit '38d044429dabcd28928693240e955c6d4430cca9':
  output example: use the new AVFrame API for allocating the video frame

Conflicts:
	doc/examples/muxing.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-26 21:30:37 +02:00
Michael Niedermayer
af75a85599 Merge commit '3f4edf012593c73941caa0ef9b292da00225c3df'
* commit '3f4edf012593c73941caa0ef9b292da00225c3df':
  dump_stream: print the timebase as is, do not reduce it

See: 75511c293a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-26 21:03:21 +02:00
Michael Niedermayer
a9f7972844 Merge commit '1b04eb20f7e3f0a71f73ba91efcc3d60a435e443'
* commit '1b04eb20f7e3f0a71f73ba91efcc3d60a435e443':
  lavc: do not allocate edges in the default get_buffer2()

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-26 20:56:23 +02:00
Michael Niedermayer
e059ac59ef avcodec/snow: ensure the buffers have allocated edges
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-26 20:52:06 +02:00
Michael Niedermayer
932be89c26 Merge commit 'a0e1c3517a656dd32293f054a339e0ac73328138'
* commit 'a0e1c3517a656dd32293f054a339e0ac73328138':
  hevc: remove unused array min_cb_addr_zs

Conflicts:
	libavcodec/hevc_ps.c

See: f7f1f4c7ce
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-26 20:10:01 +02:00
Michael Niedermayer
acc7cf70dc Merge commit '9b60d9197970658e91daf4b586397f450de9af69'
* commit '9b60d9197970658e91daf4b586397f450de9af69':
  hevc: Allow out of bound values for num_reorder_pics

Conflicts:
	libavcodec/hevc_ps.c

See: bc21260e64
See: ab296c7a9f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-26 19:58:25 +02:00
Dirk Ausserhaus
5ec6d152e2 indeo4: B-frames decoding
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2014-06-26 19:17:33 +02:00
Kostya Shishkov
422e14f721 indeo2: rename stride to pitch for consistency with other Indeo decoders 2014-06-26 19:16:08 +02:00
James Almer
057d2704e7 x86/videodsp: add emulated_edge_mc_mmxext
This also changes hfix8_mmx and above to use mmx regs instead of
gprs, and makes emulated_edge_mc_sse and emulated_edge_mc_sse2 use
mmxext hfix and hvar functions instead of mmx where possible.

This is mostly in preparation for an ssse3 version.

Signed-off-by: James Almer <jamrial@gmail.com>

code is about 1 cpu cycle faster approximately

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-26 17:58:57 +02:00
Anton Khirnov
a5864e9a25 output example: free the muxing format context properly 2014-06-26 16:08:06 +02:00
Anton Khirnov
182d3f8221 output example: rewrite encoding logic
Properly generate pts for the frames sent to the encoder, avoid
using private and deprecated AVStream.pts.
2014-06-26 16:07:34 +02:00
Anton Khirnov
a7fcd4122b output example: store the scaling context in the stream context 2014-06-26 16:07:29 +02:00
Anton Khirnov
6a927d7aaf output example: use a macro instead of a static variable 2014-06-26 16:07:23 +02:00
Anton Khirnov
63fd0d866c output example: allocate the audio frame only once 2014-06-26 16:07:08 +02:00
Anton Khirnov
edd5f95764 output example: use OutputStream for audio streams as well 2014-06-26 16:07:02 +02:00
Anton Khirnov
5e7b125b6a output example: use the new AVFrame API to allocate audio frames 2014-06-26 16:06:54 +02:00
Anton Khirnov
ac85f631c9 output example: set output channel layout 2014-06-26 16:06:48 +02:00
Anton Khirnov
294daf71a7 output example: use a struct to bundle the video stream variables together 2014-06-26 16:05:24 +02:00
Anton Khirnov
38d044429d output example: use the new AVFrame API for allocating the video frame 2014-06-26 16:05:19 +02:00
Anton Khirnov
3f4edf0125 dump_stream: print the timebase as is, do not reduce it
It makes more sense to print the timebase exactly as it is set. Also,
this avoids a divide by zero when av_dump_format() is called on a format
context before writing the header.
2014-06-26 16:04:22 +02:00
Anton Khirnov
1b04eb20f7 lavc: do not allocate edges in the default get_buffer2() 2014-06-26 16:02:12 +02:00
Gildas Cocherel
a0e1c3517a hevc: remove unused array min_cb_addr_zs
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-06-26 15:51:54 +02:00
Yao Wang
e18b48c6fd avcodec/cavs: fix B_SUB_DIRECT col-MB is Intra MB case.
in this case current MB size is forced to 16x16 (AVS standard section 9.9.1)

Signed-off-by: Yao Wang <jiayaowang@gmail.com>
Fixes Ticket 1901

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-26 14:51:40 +02:00
Kieran Kunhya
9b60d91979 hevc: Allow out of bound values for num_reorder_pics
This fixes decoding for a sample that cannot be shared

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-06-26 07:14:57 +02:00
Michael Niedermayer
7e8fdf05e0 Merge commit '593d2326ef985cdffe413df629419938f7b07c4c'
* commit '593d2326ef985cdffe413df629419938f7b07c4c':
  dv: Replace a magic number by sizeof()

Conflicts:
	libavcodec/dv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-26 03:16:53 +02:00
Michael Niedermayer
11ba0c8207 Merge commit '5ab03e41e553452118113d0c224fa32b325e45e5'
* commit '5ab03e41e553452118113d0c224fa32b325e45e5':
  x86: h264dsp: Fix link failure with optimizations disabled

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-26 02:58:59 +02:00
Gaullier Nicolas
3eae34d50f avformat/mxfenc: set/force channelcount in MXF D-10
There are interoperability issues with D-10 related to the channelcount property in the generic sound essence descriptor.

On one side, SMPTE 386M requires channel count to be 4 or 8, other values being prohibited.
The most widespread value is 8, which seems straightforward as it is the actual size of the allocated structure/disk space.
At the end, it appears that some vendors or workflows do require this descriptor to be 8, and otherwise just "fail".

On the other side, at least AVID and ffmpeg do write/set the channel count to the exact number of channels really "used",
usually 2 or 4, or any other value. And on the decoding side, ffmpeg (for example) make use of the channel count for probing
and only expose this limited number of audio streams
(which make sense but has strong impact on ffmpeg command line usage, output, and downstream workflow).

At the end, I find it pretty usefull to simply give ffmpeg the ability to force/set the channel count to any value the user wants.
(there are turnaround using complex filters, pans, amerge etc., but it is quite boring and requires the command line to be adapted to the input file properties)

Reviewed-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-26 01:01:22 +02:00
Diego Biurrun
593d2326ef dv: Replace a magic number by sizeof() 2014-06-25 15:32:58 -07:00
Diego Biurrun
5ab03e41e5 x86: h264dsp: Fix link failure with optimizations disabled
With optimzations disabled compilers have trouble doing dead code
elimination on 'if (foo && 0)' expressions, while 'if (0 && foo)'
still works, so use the latter to avoid problems.

Bug-Id: 707
2014-06-25 15:24:51 -07:00
Michael Niedermayer
b8255a4c70 avfilter/x86/vf_pullup: fix old typo
This makes C and MMX match, no change to fate as the differences where
apparently not sufficient to show up in fate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-25 18:22:48 +02:00
Michael Niedermayer
6dffc8f5aa avfilter/vf_pullup: use ptrdiff_t as stride argument for dsp functions
This should avoid issues on x86_64

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-25 18:22:31 +02:00
Michael Niedermayer
1ace0ca60f avcodec/x86/hevc_idct: fix function name in comment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-25 18:22:25 +02:00
plepere
9ba6b17add avcodec/x86/hevc_idct: fix number of sse registers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-25 14:59:23 +02:00
plepere
942e22c651 avcodec/x86/hevc: add avx2 dc idct
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-25 14:49:44 +02:00
Lukasz Marek
a30f1b15c7 doc/build_system: document examples and config targets
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-25 01:00:05 +02:00
Michael Niedermayer
0f59bba9cb Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: decrease audio_diff_threshold
  ffplay: decrease max audio callbacks per second
  ffplay: calculate SDL audio buffer size based on sample rate
  ffplay: pass simple integers to calculate_display_rect and set_default_window_size
  ffplay: eliminate pictq_prev_picture

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-24 22:26:02 +02:00
Michael Niedermayer
50daffead2 Merge commit '2deb614272e6faad8802c5341971d08c7272f74d'
* commit '2deb614272e6faad8802c5341971d08c7272f74d':
  mjpegdec: Properly set the context colorspace info

See: c11043aca7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-24 22:03:46 +02:00
Marton Balint
e281671e21 ffplay: decrease audio_diff_threshold
Since audio clock calculations are more accurate now, it is safe to decrease
the sync treshold to compensate the larger buffers caused by less frequent
audio callbacks.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-06-24 21:59:21 +02:00
Marton Balint
371f02388c ffplay: decrease max audio callbacks per second
Too many audio callbacks per second can cause buffer underruns especially under
load. As now we take into accound the elapsed time after an audio callback when
determining current audio clock, it is not that important to use small buffer
sizes and frequent audio callbacks, so lets remove the comment.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-06-24 21:59:21 +02:00
Marton Balint
1ca5c1784b ffplay: calculate SDL audio buffer size based on sample rate
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-06-24 21:59:21 +02:00
Marton Balint
ba800defa7 ffplay: pass simple integers to calculate_display_rect and set_default_window_size
No change in functionality.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-06-24 21:59:21 +02:00
Marton Balint
9dd97aa3d3 ffplay: eliminate pictq_prev_picture
Instead of directly rolling back the frame queue, keep the last displayed
picture in the queue and use a boolean variable to keep track if it is
displayed or not. This makes the code cleaner because it removes the
complicated logic in pictq_prev_picture.

There should be no change in functionality.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-06-24 21:59:20 +02:00
Michael Niedermayer
f364101144 avfilter/vf_deshake: fix macro ()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-24 21:43:40 +02:00
Michael Niedermayer
0ed110133f avfilter/vf_colormatrix: fix macro ()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-24 21:43:40 +02:00
Derek Buitenhuis
2deb614272 mjpegdec: Properly set the context colorspace info
The JPEG spec requires it to be this.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-24 20:42:40 +01:00
Derek Buitenhuis
c11043aca7 mjpegdec: Properly set the context colorspace info
The JPEG spec requires it to be this.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-24 20:40:44 +01:00
Michael Niedermayer
74bd039f8c avformat/nutdec: improve probe speed by 30%
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-24 18:40:40 +02:00
Michael Niedermayer
501158c682 avformat/wavenc: simplify malloc failure checking
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-24 13:51:40 +02:00
Michael Niedermayer
3bd0221bc1 avformat/wavenc: more specific error return for "Writing 16 bit peak for 8 bit audio"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-24 13:50:38 +02:00
Michael Niedermayer
d34d3304a8 avformat/wavenc: do not hardcode array size in memset and other functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-24 13:38:47 +02:00
Michael Niedermayer
2e1e10a6bb avformat/wavenc: use the bitexact flag from avformat instead of the one from avcodec
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-24 13:32:27 +02:00
gcocherel
ba70563d55 hevc/pps: optimized size of min_tb_addr_zs
reduce computation too
(cherry picked from commit 39c4d45c7788081c45c7fae51b7c5d0bcbaece9d)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-24 13:11:40 +02:00
gcocherel
f7f1f4c7ce avcodec/hevc_ps: remove min_cb_addr_zs
(cherry picked from commit ff7926d5092f9d4158108963e977e8c992322ba4)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-24 13:06:42 +02:00
Georg Lippitsch
fd504f7c6f Peak Envelope Chunk encoder: Indent
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-24 04:37:02 +02:00
Georg Lippitsch
e3b03da772 EBU Tech 3285 - Supplement 3 - Peak Envelope Chunk encoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-24 04:30:29 +02:00
Michael Niedermayer
723550d3ca avfilter/vf_hqx: optimize table init
5389024880 -> 1389386610 dezicycles

This surely can be optimized more, i just didnt want to cause a slowdown
when trying to make the fate test bitexact.
Further optimization left to ubitux

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-24 03:16:53 +02:00
Michael Niedermayer
236aa4de2a avfilter/vf_hqx: avoid floats
this likely fixes fate failures

2748170880 -> 5389024880 dezicycles

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-24 02:40:50 +02:00
Michael Niedermayer
eab2509f8c avcodec/x86/h264_qpel_10bit: locally define pb_0
somehow old llvm-gcc manages to ignore the alignment from ff_pb_0 causing a crash on freebsd

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-24 02:13:43 +02:00
Michael Niedermayer
47048aa30b avcodec/h264: do not leave ret random on minor failures, causing major failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-24 01:54:39 +02:00
Michael Niedermayer
82e4340f1e Merge commit '772d150a6e82542c06b0c251e73dd299d98d1027'
* commit '772d150a6e82542c06b0c251e73dd299d98d1027':
  h264: error out from decode_nal_units() when AV_EF_EXPLODE is set

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-24 01:46:30 +02:00
Michael Niedermayer
97511bc7cf Merge commit '10306e9c5fcc28bd9310a9b38f21540e9e1433e9'
* commit '10306e9c5fcc28bd9310a9b38f21540e9e1433e9':
  jpeg2000: fix dereferencing invalid pointers during cleanup

Conflicts:
	libavcodec/jpeg2000.c

See: 09927f3eaa
See: 912ce9dd20
See: 9e477a3770
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-24 01:45:42 +02:00
Michael Niedermayer
faa1d4b134 Merge commit 'ab72eda15e98197cf148abc08574206cfde0d9b0'
* commit 'ab72eda15e98197cf148abc08574206cfde0d9b0':
  pixfmt: mark the reserved values

Conflicts:
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-24 01:09:38 +02:00
Vittorio Giovara
772d150a6e h264: error out from decode_nal_units() when AV_EF_EXPLODE is set
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-06-23 18:58:57 -04:00
Vittorio Giovara
10306e9c5f jpeg2000: fix dereferencing invalid pointers during cleanup
CC: libav-stable@libav.org
Found-by: Laurent Butti <laurentb@gmail.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-06-23 18:58:29 -04:00
Tobias Rapp
f6e772f9b5 ffprobe: add color_range and color_space to stream output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-24 00:35:16 +02:00
Michael Niedermayer
9326caa5fa avutil/lzo: allow selecting the compression function in the test code 2014-06-24 00:32:34 +02:00
Michael Niedermayer
49bf712a89 libavcodec/wmalosslessdec: add missing emms
prevent failure with mmx2
should fix fate failure on freebsd mmx2 client

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 23:45:20 +02:00
Vittorio Giovara
ab72eda15e pixfmt: mark the reserved values 2014-06-23 17:39:03 -04:00
James Almer
476bd3c7e4 x86/dsputil: move put_signed_pixels_clamped out of bswapdsp.asm
It's still a dsputil function

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 22:11:18 +02:00
Michael Niedermayer
d7463c6813 Merge commit 'fab9df63a3156ffe1f9490aafaea41e03ef60ddf'
* commit 'fab9df63a3156ffe1f9490aafaea41e03ef60ddf':
  dsputil: Split off global motion compensation bits into a separate context

Conflicts:
	libavcodec/dsputil.c
	libavcodec/dsputil.h
	libavcodec/ppc/dsputil_altivec.h
	libavcodec/x86/dsputil_init.c
	libavcodec/x86/dsputil_mmx.c
	libavcodec/x86/dsputil_x86.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 21:10:10 +02:00
Michael Niedermayer
32cf26cc6a Merge commit 'f23d26a6864128001b03876b0b92fffe131f2060'
* commit 'f23d26a6864128001b03876b0b92fffe131f2060':
  h264: avoid using uninitialized memory in NEON chroma mc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 20:35:33 +02:00
Diego Biurrun
fab9df63a3 dsputil: Split off global motion compensation bits into a separate context 2014-06-23 09:58:17 -07:00
Janne Grunau
f23d26a686 h264: avoid using uninitialized memory in NEON chroma mc
Adapt commit 982b596ea6 for the arm and
aarch64 NEON asm. 5-10% faster on Cortex-A9.
2014-06-23 16:32:15 +02:00
Michael Niedermayer
957457a044 Merge commit 'ccda51b14c0fcae2fad73a24872dce75a7964996'
* commit 'ccda51b14c0fcae2fad73a24872dce75a7964996':
  lzo: Handle integer overflow

Conflicts:
	libavutil/lzo.c

This is basically not merging changes due to this being fixed differently
in FFmpeg

See: d6af26c55c
See: cf2b7c01f8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 14:52:54 +02:00
Michael Niedermayer
cf2b7c01f8 avutil/lzo: add asserts to be double sure against overflows
These asserts cannot fail since d6af26c55c

Based-on: ccda51b14c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 14:51:39 +02:00
Michael Niedermayer
d6af26c55c avutil/lzo: Fix integer overflow
Embargoed-till: 2014-06-27 requested by researcher, but embargo broken by libav today (git and mailing list)

Fixes: LMS-2014-06-16-4
Found-by: "Don A. Bailey" <donb@securitymouse.com>
See: ccda51b14c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 14:18:20 +02:00
Michael Niedermayer
b222e0773c Merge commit 'e121ac634ba324a318f4a97f978dcfb48da6b735'
* commit 'e121ac634ba324a318f4a97f978dcfb48da6b735':
  indeo45: use is_indeo4 context flag instead of checking codec ID

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 13:56:52 +02:00
Michael Niedermayer
35bb74900b Merge commit 'c67b449bebbe0b35c73b203683e77a0a649bc765'
* commit 'c67b449bebbe0b35c73b203683e77a0a649bc765':
  dsputil: Split bswap*_buf() off into a separate context

Conflicts:
	configure
	libavcodec/4xm.c
	libavcodec/ac3dec.c
	libavcodec/ac3dec.h
	libavcodec/apedec.c
	libavcodec/eamad.c
	libavcodec/flacenc.c
	libavcodec/fraps.c
	libavcodec/huffyuv.c
	libavcodec/huffyuvdec.c
	libavcodec/motionpixels.c
	libavcodec/truemotion2.c
	libavcodec/x86/Makefile
	libavcodec/x86/dsputil_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 13:31:26 +02:00
Luca Barbato
ccda51b14c lzo: Handle integer overflow
get_len can overflow for specially crafted payload.

Reported-By: Don A. Baley <donb@securitymouse.com>
CC: libav-stable@libav.org
2014-06-23 10:20:57 +02:00
Dirk Ausserhaus
e121ac634b indeo45: use is_indeo4 context flag instead of checking codec ID
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2014-06-23 09:29:39 +02:00
Michael Niedermayer
56afbe8dbc Merge commit '7b9ef8d701c319c26f7d0664fe977e176764c74e'
* commit '7b9ef8d701c319c26f7d0664fe977e176764c74e':
  mpeg: Split error resilience bits off into a separate file

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 03:48:30 +02:00
Michael Niedermayer
ca350378de Merge commit 'f2f2e7627f0c878d13275af5d166ec5932665e28'
* commit 'f2f2e7627f0c878d13275af5d166ec5932665e28':
  Check mp3 header before calling avpriv_mpegaudio_decode_header().

Conflicts:
	libavformat/mp3enc.c

See: 2dd0da787c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 03:34:13 +02:00
Michael Niedermayer
2bcf34a0ef Merge commit '44127546b0a81dc9dd6190739a62d48f0044c6f3'
* commit '44127546b0a81dc9dd6190739a62d48f0044c6f3':
  Check if an mp3 header is using a reserved sample rate.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 03:25:04 +02:00
Diego Biurrun
c67b449beb dsputil: Split bswap*_buf() off into a separate context 2014-06-22 18:22:31 -07:00
Diego Biurrun
7b9ef8d701 mpeg: Split error resilience bits off into a separate file 2014-06-22 17:36:37 -07:00
Justin Ruggles
f2f2e7627f Check mp3 header before calling avpriv_mpegaudio_decode_header().
As indicated in the function documentation, the header MUST be
checked prior to calling it because no consistency check is done
there.

CC:libav-stable@libav.org
2014-06-22 20:31:58 -04:00
Justin Ruggles
44127546b0 Check if an mp3 header is using a reserved sample rate.
Fixes an invalid read past the end of avpriv_mpa_freq_tab.
Fixes divide-by-zero due to sample_rate being set to 0.

Bug-Id: 705

CC:libav-stable@libav.org
2014-06-22 20:31:57 -04:00
James Almer
c172683bf4 x86/dsputil: remove redundant global motion compensation code
The SSE version has been no different than the mmx one since commit a41bf09d

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 02:15:06 +02:00
Michael Niedermayer
42e6fc147b avcodec/apedec: optimize sign combination
48078630 -> 32533850 dezi cycles

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 02:15:06 +02:00
Michael Niedermayer
a125f87ac4 Merge commit '463a7cde563fd805864c48a76dd1b03fc24671ed'
* commit '463a7cde563fd805864c48a76dd1b03fc24671ed':
  Differentiate assembler and assembly in documentation and comments

Conflicts:
	configure
	doc/platform.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 01:30:35 +02:00
Michael Niedermayer
49f1b869b6 Merge commit '0ef256d51518f0e483c38b9ee3b993cf0709d00e'
* commit '0ef256d51518f0e483c38b9ee3b993cf0709d00e':
  libx264: Correctly manage constant rate factor params

Conflicts:
	libavcodec/libx264.c

See: 3a1c8951bc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 01:21:39 +02:00
Michael Niedermayer
32365667cc Merge commit '73953df71a28e94d8959facba7906cf5975ca4ef'
* commit '73953df71a28e94d8959facba7906cf5975ca4ef':
  Replace av_malloc() and memset(0) by av_mallocz()

Conflicts:
	libavformat/matroskadec.c
	libavformat/rmdec.c
	libavformat/utils.c

No change, as none of the split malloc+memset existed in ffmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 01:13:52 +02:00
Michael Niedermayer
efec730431 Merge commit 'f83896abda1e78ebbbda0f184b682b4fabadc682'
* commit 'f83896abda1e78ebbbda0f184b682b4fabadc682':
  ape: Replace memset(0) by zero initialization

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 01:03:30 +02:00
Michael Niedermayer
412015694c Merge commit '8d695dc411c1ae28477f107d6f7bf2db59af95df'
* commit '8d695dc411c1ae28477f107d6f7bf2db59af95df':
  mpeg: Mark ff_mpeg_set_erpic() static

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 00:57:47 +02:00
Michael Niedermayer
ffc2c095ef Merge commit 'a6a675a79287565c3c23455439b114676b63a96c'
* commit 'a6a675a79287565c3c23455439b114676b63a96c':
  configure: Drop stray error resilience dependencies

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 00:51:54 +02:00
Michael Niedermayer
7695a538ed Merge commit 'fbf4d2197f35bddccec00ad53185ee4ab81778a0'
* commit 'fbf4d2197f35bddccec00ad53185ee4ab81778a0':
  build: Record explicit dependency of intrax8 on error resilience

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 00:45:58 +02:00
Michael Niedermayer
9d91fae8a1 Merge commit 'c54e118722cbbdc04945538d1796d4472a1ff406'
* commit 'c54e118722cbbdc04945538d1796d4472a1ff406':
  build: Have the eatqi decoder depend on the MPEG-1 decoder

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 00:39:53 +02:00
Michael Niedermayer
9e8c92226f Merge commit '85d805d5cccb2f57e7f2e2254d7a870f05926cfd'
* commit '85d805d5cccb2f57e7f2e2254d7a870f05926cfd':
  build: Add missing object files for webm muxer

Conflicts:
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 00:31:22 +02:00
Michael Niedermayer
738272826f Merge commit '03391b5432a2b8b8dbc3d2db722a54dfb68737b9'
* commit '03391b5432a2b8b8dbc3d2db722a54dfb68737b9':
  build: Add missing object files for Matroska demuxer

Conflicts:
	libavcodec/Makefile
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 00:19:41 +02:00
Michael Niedermayer
2ca4802601 Merge commit '49470b9404583ab3aff6835f78a759349d331696'
* commit '49470b9404583ab3aff6835f78a759349d331696':
  build: Add missing replaygain object file for CAF demuxer

Conflicts:
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 00:13:34 +02:00
Michael Niedermayer
c69f729947 ffmpeg: fix reinitializing with threads while flushing
With threads the decoder has a delay and will thus have multiple
frames at EOF left in its buffers which will be returned when flushing
the decoder. The code that extracts such frames from the decoder at the
end does not pull frames from the filtergraph, thus when one of these
frames causes the filtergraph to be reinited, the frames still inside
the graph at that point re lost

This commit changes the flushing to be more similar to normal decoding
and 1 frame at a time

Fixes hqx fate with threads

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 00:09:09 +02:00
Diego Biurrun
463a7cde56 Differentiate assembler and assembly in documentation and comments
The language and the program that consumes the language are not the same.
2014-06-22 23:15:14 +02:00
Anshul Maheshwari
7e6cf36453 ffmpeg: fix transcoding dvbsub to dvbsub
fix ticket #2024

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-22 21:07:40 +02:00
Anshul Maheshwari
ca2f59e121 avcodec/dvbsubdec: support returning exact end times
fixess part of ticket #2024

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-22 21:06:49 +02:00
Luca Barbato
0ef256d515 libx264: Correctly manage constant rate factor params
By default they are set to -1.
2014-06-22 21:01:07 +02:00
Michael Niedermayer
9b33cdcab2 avfilter/vf_blend: fix macro ()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-22 20:49:00 +02:00
Michael Niedermayer
31f77b46b2 avfilter/unsharp_opencl: fix macro ()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-22 20:48:43 +02:00
James Almer
6ec3dc97fc x86/audiodsp: move asm code out of dsputil
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-22 19:53:09 +02:00
Andrey Utkin
3bb4d26a5d drawtext: drop unused draw_glyphs() arg "rgbcolor"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-22 19:52:44 +02:00
Diego Biurrun
73953df71a Replace av_malloc() and memset(0) by av_mallocz() 2014-06-22 18:43:11 +02:00
Diego Biurrun
f83896abda ape: Replace memset(0) by zero initialization 2014-06-22 18:43:11 +02:00
Michael Niedermayer
99497b4683 Merge commit '9a9e2f1c8aa4539a261625145e5c1f46a8106ac2'
* commit '9a9e2f1c8aa4539a261625145e5c1f46a8106ac2':
  dsputil: Split audio operations off into a separate context

Conflicts:
	configure
	libavcodec/takdec.c
	libavcodec/x86/Makefile
	libavcodec/x86/dsputil.asm
	libavcodec/x86/dsputil_init.c
	libavcodec/x86/dsputil_mmx.c
	libavcodec/x86/dsputil_x86.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-22 17:58:28 +02:00
Diego Biurrun
8d695dc411 mpeg: Mark ff_mpeg_set_erpic() static
It is not used outside of the file.
2014-06-22 06:28:46 -07:00
Diego Biurrun
a6a675a792 configure: Drop stray error resilience dependencies 2014-06-22 06:28:46 -07:00
Diego Biurrun
fbf4d2197f build: Record explicit dependency of intrax8 on error resilience 2014-06-22 06:28:46 -07:00
Diego Biurrun
c54e118722 build: Have the eatqi decoder depend on the MPEG-1 decoder
eatqi uses more than just the shared mpegvideo bits.
2014-06-22 06:28:46 -07:00
Diego Biurrun
85d805d5cc build: Add missing object files for webm muxer 2014-06-22 06:28:46 -07:00
Diego Biurrun
03391b5432 build: Add missing object files for Matroska demuxer 2014-06-22 06:28:46 -07:00
Diego Biurrun
49470b9404 build: Add missing replaygain object file for CAF demuxer 2014-06-22 06:28:45 -07:00
Diego Biurrun
9a9e2f1c8a dsputil: Split audio operations off into a separate context 2014-06-22 06:20:15 -07:00
Ronald S. Bultje
0dae193d3e swr: remove another forgotten division in DSP function.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-22 05:20:22 +02:00
Michael Niedermayer
954a38e9bf avfilter/vf_hqx: remove << 0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-22 05:17:23 +02:00
Michael Niedermayer
fd3c27375f fate/filter-video: fix hqx on big endian part 2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-22 05:02:04 +02:00
Michael Niedermayer
d7efafd63a avfilter/vf_hqx: partly fix big endian fate test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-22 04:55:17 +02:00
Michael Niedermayer
4abffbbc54 swscale/x86/input: prevent RGB32_TO_Y_FN from reading into the padding
This avoids reading uninitialized bytes and confusing valgrind

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-22 03:09:28 +02:00
Michael Niedermayer
a1a76b209b swscale/x86/input: prevent RGB32_TO_UV_FN from reading into the padding
This avoids reading uninitialized bytes and confusing valgrind

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-22 02:32:30 +02:00
Michael Niedermayer
84de3ed795 avfilter/deshake_opencl: fix macro ()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-21 23:11:16 +02:00
Michael Niedermayer
04776cedec avfilter/avf_showspectrum: fix macro ()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-21 23:11:16 +02:00
Clément Bœsch
79198cb65a avfilter/hqx: add some self promotion in doxy.
This is useful to understand how it's different from the original code.
2014-06-21 22:34:15 +02:00
Clément Bœsch
4d8fc0e088 avfilter/hqx: unroll the pattern calculation
Code si smaller, no speed difference.
2014-06-21 22:32:49 +02:00
Michael Niedermayer
dc5972f886 avformat/flvdec: give live_flvdec a separate name
This should fix a infinite loop on freebsd

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-21 20:27:45 +02:00
Carl Eugen Hoyos
e3fd263f0b Show duration for large asf files as written in the file header.
Fixes ticket #3428.
2014-06-21 20:00:18 +02:00
Carl Eugen Hoyos
29fc468d0a Do not show libzvbi in the configure output if it was not enabled.
It is already shown in the list of external libraries if it was enabled.
2014-06-21 19:53:52 +02:00
Clément Bœsch
ded3c9fd32 avfilter: add hqx filter (hq2x, hq3x, hq4x)
Partially fixes Ticket #3404 (xbr filter remaining)
2014-06-21 19:22:55 +02:00
Michael Niedermayer
5ab51f7535 avcodec/libtwolame: fix encoding lsf with defaults
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-21 17:05:09 +02:00
Michael Niedermayer
a2de7b1bd5 avcodec/bitstream: document the double volatile
Suggested-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-21 14:55:32 +02:00
Anshul Maheshwari
3639343478 ffmpeg: fix memleak and corruption of AVSubtitle with multiple outputs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-21 13:21:08 +02:00
Diego Biurrun
97578f5f3b build: Add missing object file for Matroska demuxer
Fixes compilation with --disable-everything --disable-network --enable-demuxer=matroska

Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2014-06-21 11:53:43 +02:00
Michael Niedermayer
1caedf629a avcodec/ituh263enc: fix advanced intra coding
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-21 04:05:28 +02:00
Michael Niedermayer
4667116c39 Merge commit 'ca1e36a8e4cd416142487071dbca734567bdaddf'
* commit 'ca1e36a8e4cd416142487071dbca734567bdaddf':
  h264: fix build when error resilience is disabled

Conflicts:
	libavcodec/h264_picture.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-20 23:18:45 +02:00
Michael Niedermayer
fe43facd65 avcodec/utils: check sar only when width/height are set
This fixes loosing the perfectly valid SAR when width=height=0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-20 23:02:52 +02:00
Michael Niedermayer
0dceefc5fa Merge commit '9e500efdbe0deeff1602500ebc229a0a6b6bb1a2'
* commit '9e500efdbe0deeff1602500ebc229a0a6b6bb1a2':
  Add av_image_check_sar() and use it to validate SAR

Conflicts:
	libavcodec/dpx.c
	libavcodec/dvdec.c
	libavcodec/ffv1dec.c
	libavcodec/utils.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-20 22:20:28 +02:00
Michael Niedermayer
329898aa45 avcodec/bitstream: try to workaround internal compiler bug in gcc 4.2
gcc 4.2 seems not maintained anymore so theres no option besides
just working around it.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-20 21:54:23 +02:00
Michael Niedermayer
33f83a2157 avcodec/x86/rv40dsp_init: fix () in macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-20 21:36:43 +02:00
Michael Niedermayer
40cbad9ff7 avcodec/wavpackenc: fix () in macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-20 21:36:17 +02:00
Moritz Barsnick
10b8481a26 fix several typos 2014-06-20 10:21:31 -08:00
Vittorio Giovara
ca1e36a8e4 h264: fix build when error resilience is disabled 2014-06-20 12:48:06 -04:00
Michael Niedermayer
0a995311ce Merge commit 'd349afb07bacccb62eb5369c38d6406d2909d792'
* commit 'd349afb07bacccb62eb5369c38d6406d2909d792':
  dv: cosmetics, reindent

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-20 18:10:33 +02:00
Michael Niedermayer
b0fdc76600 Merge commit '650dee63c8b1e6693c6cf5983f4a5ed3f571379f'
* commit '650dee63c8b1e6693c6cf5983f4a5ed3f571379f':
  dv: get rid of global non-const tables

Conflicts:
	libavcodec/dv_profile.h
	libavcodec/dvdec.c
	libavcodec/dvenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-20 18:00:42 +02:00
Michael Niedermayer
c2b1225c16 Merge commit '778111592bf5f38630858ee6dfcfd097cd6c6da9'
* commit '778111592bf5f38630858ee6dfcfd097cd6c6da9':
  dvenc: initialize the profile only once, at init

Conflicts:
	libavcodec/dvenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-20 17:15:39 +02:00
Michael Niedermayer
afa7ab557a Merge commit '452860d7e056f9a894cac2fe52cdedeae4c38251'
* commit '452860d7e056f9a894cac2fe52cdedeae4c38251':
  Use av_packet_rescale_ts() to simplify code.

Conflicts:
	doc/examples/muxing.c
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-20 17:03:58 +02:00
Michael Niedermayer
4a99333581 Merge commit '874390e163427c1fe7682ab27924a7843780dbb3'
* commit '874390e163427c1fe7682ab27924a7843780dbb3':
  lavc: add a convenience function for rescaling timestamps in a packet

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-20 16:40:04 +02:00
Justin Ruggles
9e500efdbe Add av_image_check_sar() and use it to validate SAR 2014-06-20 10:39:33 -04:00
James Almer
e930287900 configure: remove superfluous check for AVX/FMA3 support in Yasm
The minimum Yasm/NASM version required to compile ffmpeg supports both
instruction sets

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-20 15:53:58 +02:00
Timothy Gu
6fdd19cbb2 doc: remove RELEASE_NOTES
It hasn't been used since 0.11, and it does not contain any useful
information except for the code name.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-20 14:46:54 +02:00
Anton Khirnov
d349afb07b dv: cosmetics, reindent 2014-06-20 14:15:39 +02:00
Anton Khirnov
650dee63c8 dv: get rid of global non-const tables
Instead, store them in the context and compute on each parameter change.
2014-06-20 14:15:31 +02:00
Anton Khirnov
778111592b dvenc: initialize the profile only once, at init
We do not allow the frame parameters to change during encoding, so there
is no need to do this for each frame.
2014-06-20 14:15:16 +02:00
Anton Khirnov
452860d7e0 Use av_packet_rescale_ts() to simplify code. 2014-06-20 14:14:48 +02:00
Anton Khirnov
874390e163 lavc: add a convenience function for rescaling timestamps in a packet 2014-06-20 14:14:11 +02:00
Stefano Sabatini
d381109ce8 lavc/h264_slice: clarify informational message in case of disabled slice multi-threaded decoding
Also suggest what can be done to workaround the limitation.
2014-06-20 12:12:46 +02:00
Stefano Sabatini
8c44376799 doc/codecs: extend documentation for thread_type option
Based on avcodec.h documentation.
2014-06-20 12:12:46 +02:00
Timothy Gu
cc0057a31c tests/fate.sh: report different status for different errors
The order of error codes will be useful in my future fateserver patches.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-20 05:33:51 +02:00
Michael Niedermayer
b05d50898f Merge commit '440842c4eb1d7709654ec97cd687663d11ef499c'
* commit '440842c4eb1d7709654ec97cd687663d11ef499c':
  stereo3d: add missing include guards

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-19 23:47:10 +02:00
Vittorio Giovara
440842c4eb stereo3d: add missing include guards 2014-06-19 17:31:49 -04:00
James Almer
05d95c53a7 alpha/blockdsp: move clear_blocks out of dsputil
The blockdsp split did not cover Alpha optimizations

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-19 22:39:38 +02:00
Gaullier Nicolas
650ef18078 avformat/utils: better probing for duration in estimate_timings_from_pts()
It seems it is more secure to simply duplicate the computing routine from compute_pkt_fields to estimate_timings_from_pts.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-19 20:48:46 +02:00
Michael Niedermayer
5bf5e6b1c0 avcodec/h264: Use named identifier for single thread fall-back return from ff_h264_decode_slice_header()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-19 19:49:26 +02:00
Carl Eugen Hoyos
891307b4d1 s86/scale: Do not return the result of a (void) function from a void function.
Fixes compilation with Sun C 5.12.
Reported by Bradley Mitchell in ticket #3649.
2014-06-19 18:45:13 +02:00
James Almer
a5ce608fc7 x86/blockdsp: restore author attribution
See commits
649c00c96d
5fecfb7d58
73b02e2460

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-19 18:31:44 +02:00
Michael Niedermayer
a68c05cf13 Merge commit '852c329a69ddfd635807f60454df07d021c64901'
* commit '852c329a69ddfd635807f60454df07d021c64901':
  configure: Drop duplicate pkg-config entry from help output

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-19 18:00:20 +02:00
Diego Biurrun
852c329a69 configure: Drop duplicate pkg-config entry from help output 2014-06-19 17:00:11 +02:00
Michael Niedermayer
47c8d1e174 Merge commit 'b2290bf10b12b7772f55fcab014a47e18e9fdef2'
* commit 'b2290bf10b12b7772f55fcab014a47e18e9fdef2':
  i263: skip dummy frames

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-19 15:12:45 +02:00
Michael Niedermayer
08c5859f17 avcodec: add simpleauto idct
This will pick the "best" simple idct compatible idct

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-19 14:28:01 +02:00
James Almer
4c9ee1590f lavf/Makefile: fix standalone compilation of live_flv demuxer
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-19 13:25:28 +02:00
James Almer
60a06400a9 configure: fix NASM output format on Win64
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-19 13:18:30 +02:00
James Almer
454c019cb5 x86/hevc_idct: fix movd parameter size in DC_ADD_INIT
Fixes compilation with NASM x86_64

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-19 13:18:13 +02:00
Dirk Ausserhaus
b2290bf10b i263: skip dummy frames
Intel i263 codec has special 8-byte dummy frames that should not be decoded,
so do not even attempt to decode them and skip them instead.

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2014-06-19 13:13:20 +02:00
James Almer
fe782233aa x86/blockdsp: move asm code out of dsputil
Also replace INLINE_<opt> with EXTERNAL_<opt> that were wrongly
changed by commit 2b05db4f81

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-19 13:09:03 +02:00
Christophe Gisquet
e7fc5d53a0 huffyuv: change statistics initialization
Normally, a Laplace distribution is more typical of the residuals
encoded, but for noisy input, it's both better and simpler to be
safe and use a 1/d^2 distribution. Second hunk could use some
renormalization but it has effectively little impact.

Output size of ffvhuff on various 4:2:0 sequences:
context=0,1/d:    851974   27226   1137281
context=0,1/d²:   619081   25069   1051500
context=0,1/d³:   501983   30454   1290561
context=0,lapl:   500650   31754   1304082

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-19 06:03:51 +02:00
Michael Niedermayer
042a82ca37 avcodec/x86/lossless_videodsp: Fix size of values read for left/left_top
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-19 05:53:41 +02:00
Michael Niedermayer
2b05db4f81 Merge commit 'e74433a8e6fc00c8dbde293c97a3e45384c2c1d9'
* commit 'e74433a8e6fc00c8dbde293c97a3e45384c2c1d9':
  dsputil: Split clear_block*/fill_block* off into a separate context

Conflicts:
	configure
	libavcodec/asvdec.c
	libavcodec/dnxhddec.c
	libavcodec/dnxhdenc.c
	libavcodec/dsputil.h
	libavcodec/eamad.c
	libavcodec/intrax8.c
	libavcodec/mjpegdec.c
	libavcodec/ppc/dsputil_ppc.c
	libavcodec/vc1dec.c
	libavcodec/x86/dsputil_init.c
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-19 04:54:38 +02:00
Rong Yan
ab12373956 ppc: Fix the bug of fft for little endian environment on POWER7 and later
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-19 01:01:14 +02:00
Michael Niedermayer
8e2ade43f1 Merge commit '869fc416f7c78ed4e397e0208acd1545771c0502'
* commit '869fc416f7c78ed4e397e0208acd1545771c0502':
  hevc: Mark num_bins_in_se as unused

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 23:32:55 +02:00
Michael Niedermayer
dacc4cb115 Merge commit 'c385313d2590fd26e26bb9bdacddef78162ab490'
* commit 'c385313d2590fd26e26bb9bdacddef78162ab490':
  rtsp: Support misordered fmtp rtpmap

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 23:27:01 +02:00
Michael Niedermayer
be94f5c171 Merge commit 'c9c1e00f95350e7a36b0d05a03939c7f6438e371'
* commit 'c9c1e00f95350e7a36b0d05a03939c7f6438e371':
  rtsp: Factor out fmtp parsing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 23:22:12 +02:00
Michael Niedermayer
1ebc77bc7d Merge commit '49a242687cf44f86570b706db3c5912ff06bc6c2'
* commit '49a242687cf44f86570b706db3c5912ff06bc6c2':
  doc: Document segment_list_type

Conflicts:
	doc/muxers.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 23:13:31 +02:00
Diego Biurrun
e74433a8e6 dsputil: Split clear_block*/fill_block* off into a separate context 2014-06-18 14:07:23 -07:00
Lou Logan
eba453e03f doc/bitstream_filters: document imxdump
Partially addresses ticket #3198.

Signed-off-by: Lou Logan <lou@lrcd.com>
Tested-by: Dave Rice <dave@dericed.com>
2014-06-18 12:59:15 -08:00
Luca Barbato
869fc416f7 hevc: Mark num_bins_in_se as unused
Only its size is actually used. Silence a clang warning.
2014-06-18 22:03:40 +02:00
Joshua Kordani
c385313d25 rtsp: Support misordered fmtp rtpmap
Issue present in Avigilon IP cameras.
2014-06-18 22:03:40 +02:00
Luca Barbato
c9c1e00f95 rtsp: Factor out fmtp parsing 2014-06-18 22:03:40 +02:00
Luca Barbato
49a242687c doc: Document segment_list_type 2014-06-18 22:03:40 +02:00
Michael Niedermayer
eec55e622a ffmpeg_opt: Dont exit on avformat_find_stream_info() failure if there are streams
This allows "-codec copy -f framecrc" on files with only unindentifyable streams

Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 21:35:54 +02:00
Michael Niedermayer
1d54f51084 avformat/mux: simplify ff_choose_timebase()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 20:09:55 +02:00
Michael Niedermayer
75511c293a dump_stream_format: fix division by 0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 19:49:23 +02:00
Michael Niedermayer
ac293b6685 Merge commit '194be1f43ea391eb986732707435176e579265aa'
* commit '194be1f43ea391eb986732707435176e579265aa':
  lavf: switch to AVStream.time_base as the hint for the muxer timebase

Conflicts:
	doc/APIchanges
	libavformat/filmstripenc.c
	libavformat/movenc.c
	libavformat/mxfenc.c
	libavformat/oggenc.c
	libavformat/swf.h
	libavformat/version.h
	tests/ref/lavf/mkv

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 19:49:17 +02:00
Clément Bœsch
88514378ba avcodec/ass: move playres parameters below scripttype
Suggested-by: wm4
2014-06-18 18:43:36 +02:00
Clément Bœsch
5039aadf68 avcodec/ass: explicit PlayRes[XY]
This avoids the following libass warning when using the subtitles
filter: "Neither PlayResX nor PlayResY defined. Assuming 384x288"

Subtitles tests change because the output is ASS and the PlayRes[XY]
ends up in the output.
2014-06-18 18:22:40 +02:00
Michael Niedermayer
2d70282254 Merge commit 'd754ed41727b1fcbab335b510248a9758a73320c'
* commit 'd754ed41727b1fcbab335b510248a9758a73320c':
  riffenc: take an AVStream instead of an AVCodecContext

Conflicts:
	libavformat/nutenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 17:47:12 +02:00
Michael Niedermayer
95398aa949 Merge commit 'f792d3cbb8e8e35c54a9358a55dd596b7a40f228'
* commit 'f792d3cbb8e8e35c54a9358a55dd596b7a40f228':
  lavf: add the notimestamps flag to the muxers missing it

Conflicts:
	libavformat/adtsenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 17:28:10 +02:00
Michael Niedermayer
bd148ce07d Merge commit 'cfbdd7ffbd9fe14d110fd1bb89bf52f0f7bde016'
* commit 'cfbdd7ffbd9fe14d110fd1bb89bf52f0f7bde016':
  rtpenc: base max_frames_per_packet on avg_frame_rate, not codec timebase

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 17:27:06 +02:00
Michael Niedermayer
daa7bccad2 Merge commit '894682a9739eb8d4bfc024b0d4e5757fcfe47378'
* commit '894682a9739eb8d4bfc024b0d4e5757fcfe47378':
  Remove avserver.

Conflicts:
	.gitignore
	Changelog
	Makefile
	configure
	doc/ffserver.conf
	doc/ffserver.texi
	doc/general.texi
	ffserver.c
	libavformat/Makefile
	libavformat/ffm.h
	libavformat/ffmdec.c
	libavformat/ffmenc.c
	tests/fate/avformat.mak
	tests/lavf-regression.sh
	tests/ref/lavf/ffm
	tests/ref/seek/lavf-ffm

Not merged, ffserver does have a maintainer
co maintainers are welcome and needed though !

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 17:18:19 +02:00
Michael Niedermayer
5439959ef0 avcodec/huffyuvdec: do not leave alpha values uninitialized
fixes fate failure under valgrind

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 16:59:05 +02:00
Anton Khirnov
194be1f43e lavf: switch to AVStream.time_base as the hint for the muxer timebase
Previously, AVStream.codec.time_base was used for that purpose, which
was quite confusing for the callers. This change also opens the path for
removing AVStream.codec.

The change in the lavf-mkv test is due to the native timebase (1/1000)
being used instead of the default one (1/90000), so the packets are now
sent to the crc muxer in the same order in which they are demuxed
(previously some of them got reordered because of inexact timestamp
conversion).
2014-06-18 15:12:34 +02:00
Anton Khirnov
d754ed4172 riffenc: take an AVStream instead of an AVCodecContext
It will be useful in the following commits.

Also, rename the AVCodecContext pointer name from 'stream' to 'codec'.
2014-06-18 15:03:55 +02:00
Anton Khirnov
f792d3cbb8 lavf: add the notimestamps flag to the muxers missing it 2014-06-18 15:03:31 +02:00
Anton Khirnov
cfbdd7ffbd rtpenc: base max_frames_per_packet on avg_frame_rate, not codec timebase
Fall back to 1 (which is what is used for most cases anyway) when the
framerate is not set.
2014-06-18 15:03:16 +02:00
Anton Khirnov
894682a973 Remove avserver.
It has not been properly maintained for years and there is little hope
of that changing in the future.
It appears simpler to write a new replacement from scratch than
unbreaking it.
2014-06-18 14:55:28 +02:00
Carl Eugen Hoyos
99a8a3de8c Revert "Fix compilation on ppc64 and ppc with pic if gas-preprocessor is installed."
It broke gas-preprocessor detection on PPC64 Linux.
This reverts commit b67bcd784d.
2014-06-18 14:31:39 +02:00
Ronald S. Bultje
cbf21628a5 swr: remove div/mod from DSP functions.
Also fix a bug with resample_compensation resetting dst_incr.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 14:15:52 +02:00
Carl Eugen Hoyos
076ab9f7e3 Fix all VDPAU decoders.
Fixes ticket #3726.
2014-06-18 13:55:26 +02:00
Michael Niedermayer
a740cae4a0 avcodec/dcadec: remove unsignedness from constant
POSIX gurantees >=32bit so it all fits in signed int
Also >=32bit ints are assumed througout the codebase

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 13:46:51 +02:00
Michael Niedermayer
118d84b7e9 Merge commit 'f2ce63246f5c934429f9cb857a794e07624d7912'
* commit 'f2ce63246f5c934429f9cb857a794e07624d7912':
  dcadec: replace ldexpf with a multiplication by a constant

Conflicts:
	libavcodec/dcadec.c

See: 6da06ef6bb
See: 9ccb5455ca
See: 6b88f22e89
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 13:06:09 +02:00
Michael Niedermayer
40c9d43086 Merge commit '44671b57866aab8dd36715ff010e985e25baaf19'
* commit '44671b57866aab8dd36715ff010e985e25baaf19':
  AVFrame: factor out freeing the side data

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 12:53:42 +02:00
Niels Möller
f2ce63246f dcadec: replace ldexpf with a multiplication by a constant
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-06-18 08:23:15 +02:00
Roman Savchenko
44671b5786 AVFrame: factor out freeing the side data
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-06-18 08:11:05 +02:00
Michael Niedermayer
7f5296005c swscale/swscale: replace potentially slow % by &
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 04:24:31 +02:00
Michael Niedermayer
c932f12806 avcodec/cavsdec: simplify % 512 operations
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 04:18:40 +02:00
Michael Niedermayer
0608bc6502 swresample/audioconvert: fix () in FMT_PAIR_FUNC()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 03:13:37 +02:00
Michael Niedermayer
c89be82c98 avcodec/vp8: fix () in macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 03:13:37 +02:00
Michael Niedermayer
aab23f5ddd avcodec/vp9: fix () in macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 03:13:37 +02:00
Michael Niedermayer
28bf111503 avcodec/wavpack: fix () in macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 03:13:36 +02:00
Lou Logan
d9a61ae31e presets: remove moldering iPod presets
* Some users are trying to use them for non-ancient iDevices when
  baseline profile and level 1.3/3.0 would not be required.

* "640" and "320" no longer make sense.

* Some recommended options can be viewed at:
  <https://trac.ffmpeg.org/wiki/Encode/H.264#iOS>

Signed-off-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-17 16:15:04 -08:00
Michael Niedermayer
cb037b5db4 Merge commit '9affa784a0743b95bde135b5acfce2183afc35d8'
* commit '9affa784a0743b95bde135b5acfce2183afc35d8':
  vp9 encoder: use a decent default speed setting

Conflicts:
	libavcodec/libvpxenc.c

See: 34e32d6464
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 01:54:02 +02:00
Michael Niedermayer
3f2f87cd5a Merge commit '74bc9458057f07c0820c3d3264396c4c64442e47'
* commit '74bc9458057f07c0820c3d3264396c4c64442e47':
  flvenc: Don't over-count metadata.

Conflicts:
	tests/ref/lavf/flv_fmt
	tests/ref/vsynth/vsynth1-flashsv
	tests/ref/vsynth/vsynth1-flv
	tests/ref/vsynth/vsynth2-flashsv
	tests/ref/vsynth/vsynth2-flv

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 01:44:24 +02:00
Michael Niedermayer
9f028b3f3a Merge commit '49106844929b7b71ac719064d640f8aa56c89b1f'
* commit '49106844929b7b71ac719064d640f8aa56c89b1f':
  tiffenc: fix packet size calculation

Conflicts:
	libavcodec/tiffenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 01:29:19 +02:00
Michael Niedermayer
eb0fc73dcc avfilter/vf_spp: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 00:07:30 +02:00
Michael Niedermayer
f31fd06713 vf_sab: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 00:07:12 +02:00
Rafaël Carré
9affa784a0 vp9 encoder: use a decent default speed setting
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-06-17 21:38:43 +02:00
Josh Allmann
74bc945805 flvenc: Don't over-count metadata.
Over-counting occurs if framerate is not set.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-06-17 21:38:21 +02:00
Tristan Matthews
4910684492 tiffenc: fix packet size calculation
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-06-17 21:24:12 +02:00
Michael Niedermayer
f9cd317223 Merge commit 'fe4d5fe9361162f9033ff1bd84bfc1b2091ba785'
* commit 'fe4d5fe9361162f9033ff1bd84bfc1b2091ba785':
  jpeg2000: Mark static data init functions as av_cold

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-17 20:42:10 +02:00
Diego Biurrun
fe4d5fe936 jpeg2000: Mark static data init functions as av_cold 2014-06-17 08:44:07 -07:00
Michael Niedermayer
a50c6f99b4 ffplay: remove -ec handling code
Its handled by the generic option code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-17 17:31:29 +02:00
plepere
92cccb7bcd avcodec/hevc: new idct + asm
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-17 13:23:36 +02:00
Michael Niedermayer
fa0d0fb42e Merge commit '71d6551e674c86d07c165439c2bf6613b3892307'
* commit '71d6551e674c86d07c165439c2bf6613b3892307':
  avconv: use the correct variable in comparison

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-17 12:58:16 +02:00
Anton Khirnov
71d6551e67 avconv: use the correct variable in comparison 2014-06-17 09:01:26 +02:00
Michael Niedermayer
61df0819d4 avcodec/cavsdec: fix low delay decoding
Fixes Ticket1095

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-17 02:30:28 +02:00
Michael Niedermayer
2fbdfba0f2 avformat/flvdec: Support live flv / NGINX RTMP streams
Fixes Ticket3553

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 23:43:11 +02:00
Michael Niedermayer
293d5d7a8e swscale/input: fix harmless integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 23:28:32 +02:00
Simon Thelen
389d45351e version string: add copyright line to version string
Show the copyright when running `ffmpeg -version'. This is useful for
end users trying to determine whether they are using FFmpeg or Libav.

Signed-off-by: Simon Thelen <ffmpeg@c-14.de>
2014-06-16 10:24:28 -08:00
Michael Niedermayer
e6f9fc4adc avcodec/bitstream: try to make vlc init code inherently thread safe
also remove spinlock, it doesnt work on AIX

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 20:09:21 +02:00
Michael Niedermayer
f7f96cf4bc avcodec/bitstream: fill invalid vlc tables entries as last pass instead of first
This avoids writing entries twice

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 19:10:32 +02:00
Michael Niedermayer
600cbf3672 avcodec/bitstream: zero vlc tables on allocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 19:10:32 +02:00
Carl Eugen Hoyos
189ffeafd4 Force aix strip to work on 32 and 64 bit by default. 2014-06-16 16:46:10 +02:00
Michael Niedermayer
7eae8cd870 avcodec/h264: fix frame skip code
Fixes Ticket3475

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 13:28:52 +02:00
Michael Niedermayer
9025072e6c avcodec/h264_slice: support skipping loop filtering for non key frames
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 13:18:55 +02:00
Michael Niedermayer
9140d37af2 avcodec/h264: use the correct level for droping non intra frames
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 13:18:43 +02:00
Michael Niedermayer
8a4a84a70a Merge commit '83aa4fc3feec7389ac781fece1e994f2dfd7ebdb'
* commit '83aa4fc3feec7389ac781fece1e994f2dfd7ebdb':
  configure: Directly support Android as target OS

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 13:13:47 +02:00
Michael Niedermayer
60058c1880 Merge commit '766f2d965ff1948749c37f26a714adb8aa89c4a9'
* commit '766f2d965ff1948749c37f26a714adb8aa89c4a9':
  gitignore: add dylib and swp entries

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 13:04:41 +02:00
Michael Niedermayer
f0fbd9105b Merge commit '711aa2a82727907f778fb8aa9a93aff2120170f2'
* commit '711aa2a82727907f778fb8aa9a93aff2120170f2':
  lavf: dump stream side data when probing

Conflicts:
	libavformat/dump.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 12:54:36 +02:00
Michael Niedermayer
7b7afaf849 avformat/dump: put copyright back from the file from which dump.c was split out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 12:48:19 +02:00
Michael Niedermayer
83d100baea Merge commit '2dc265619a2fc9c6f9aff7ac2bcdbcb90e9610cb'
* commit '2dc265619a2fc9c6f9aff7ac2bcdbcb90e9610cb':
  lavf: group dump functions together

Conflicts:
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 12:48:03 +02:00
Michael Niedermayer
593dc5aed9 Merge commit '5a69ded12aaf2bd3baed5d1d644ef23cfecef87f'
* commit '5a69ded12aaf2bd3baed5d1d644ef23cfecef87f':
  vf_showinfo: print display transformation values

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 12:09:20 +02:00
Luca Barbato
83aa4fc3fe configure: Directly support Android as target OS 2014-06-16 10:52:29 +02:00
Vittorio Giovara
766f2d965f gitignore: add dylib and swp entries 2014-06-16 01:31:37 -04:00
Michael Niedermayer
b152152df3 Add nointra AVDiscard level
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 04:04:13 +02:00
Michael Niedermayer
fdb6f66def Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Do not suggest to use gas-preprocessor on aix where it doesn't work.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 01:38:48 +02:00
Ronald S. Bultje
edf930472b swr: reindent.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 01:33:32 +02:00
Michael Niedermayer
20c7baf832 avcodec/huffyuvdec: Fix fill value for truncated bitstreams
Found-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 01:07:42 +02:00
Carl Eugen Hoyos
08235708d8 Do not suggest to use gas-preprocessor on aix where it doesn't work. 2014-06-16 01:01:40 +02:00
Christophe Gisquet
f6577bd9cf huffyuvdec: use unsafe bitstream reader
The reader reads in chunks of 11 bits at most, and at most 3 times. The unsafe
reader therefore may read 6 chunks instead of 1 in worst case, ie 8 bytes,
which is within the padding tolerance.

The reader ends up being ~10% faster. Cumulative effect of unsafe reading and
code block swapping on 3 sequences is for 1 thread, decoding time goes from
23.3s to 19.0s.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 00:52:09 +02:00
Christophe Gisquet
02bffc560f huffyuv: fate: add a BGR24 test
It was previously untested.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 00:38:03 +02:00
Kieran
bc21260e64 hevc: Fix 4K sample video
Reviewed-by: smarter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 23:24:11 +02:00
Michael Niedermayer
c1b15c16ef avformat/smoothstreamingenc: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 23:21:46 +02:00
Carl Eugen Hoyos
b67bcd784d Fix compilation on ppc64 and ppc with pic if gas-preprocessor is installed. 2014-06-15 22:51:23 +02:00
Anshul Maheshwari
fbb59a3bf4 avcodec/dvbsubdec: Split save_subtitle_set() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 20:16:49 +02:00
Anshul Maheshwari
77ade55fe5 avcodec/dvbsubdec: add AVClass to context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 19:59:26 +02:00
Anshul Maheshwari
9a11b33a2d avcodec/dvbsubdec: restructure version check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 19:56:09 +02:00
Michael Niedermayer
153b5fb2fd avformat/framecrcenc: print the checksum and size of extradata as well
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 18:07:03 +02:00
Christophe Gisquet
29f427c239 huffyuvdec: remove somewhat deprecated code
The old code was reserving the 0xFFFF entry to represent an inexisting
entry/codeword. These entries are now detected through their length
being <= 0. As this entry is often used for the residuals (-1,-1), which
should be among the most frequent, it is particularly important to not
reserve it.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 17:43:47 +02:00
Christophe Gisquet
eb6f6f25dc MAINTAINERS: Add Co maintainer for huffyuv*, rv4*, vc1*
Patch by: Christophe Gisquet
Commit Message by commiter

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 16:24:39 +02:00
Michael Niedermayer
e9c477059d avcodec/huffyuvdec: assume vlcs can be 32 instead of 31 bits max
This should avoid a division as well

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 16:20:34 +02:00
Christophe Gisquet
9dc1791977 huffyuvdec: swap code blocks
The effect is not really deterministic, as it seems to be a combination
on x86_64 of fewer registers used, different jump offsets and, for all
archs, of likely branches.

Speedup is around 15%.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 15:13:28 +02:00
Ronald S. Bultje
083cd3d1f7 swr: compile mmx2 s16p functions only on x86-32.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 13:34:53 +02:00
Christophe Gisquet
9107612818 x86util: add and use RSHIFT/LSHIFT macros
Those macros take a byte number as shift argument, as this argument
differs between MMX and SSE2 instructions.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 13:19:27 +02:00
Christophe Gisquet
2a1158ff3b fate: yadif: add >8 bit tests
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 13:13:11 +02:00
Christophe Gisquet
56a795e34f aandcttab: fix spelling
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 12:11:46 +02:00
Michael Niedermayer
73d820ee1e avcodec/xbmdec: remove dependancy on zero padding on input packet
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 03:50:30 +02:00
Michael Niedermayer
103f9c261a avcodec/indeo5: Fix infinite loop in skip_hdr_extension()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 03:50:30 +02:00
James Almer
7f4dfbd080 swr: add prototypes for resample dsp functions
Should fix compilation failures with MSVC and any other compiler
without inline asm support.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 01:33:17 +02:00
Michael Niedermayer
86a9370e2b avformat/mpc: attempt to allocate a packet that is not smaller than the data inside it
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 01:33:17 +02:00
Ronald S. Bultje
ada8f9c046 swr: remove obsolete function prototypes.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 00:07:25 +02:00
Michael Niedermayer
5ded0b390b ffmpeg: for h264 we need has_b_frames from the decoder
Other solutions welcome

Fixes Ticket3711

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 23:32:08 +02:00
Michael Niedermayer
378ad22492 ffmpeg: print values of mismatching has_b_frames
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 23:09:21 +02:00
Michael Niedermayer
d82ecfce07 cmdutils: implement FFREPORT=level=...
Fixes Ticket3057

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 22:54:32 +02:00
Lou Logan
3fc37a3d2f doc/filters: remove double quotes from zoompan example
Based on suggested change by Clément Bœsch.

Signed-off-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 12:52:40 -08:00
Michael Niedermayer
b065d0014b avcodec/ppc/idct_altivec: add plain idct()
Tested-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 20:42:28 +02:00
Ronald S. Bultje
7128a35f8c swr: split out DSP functions.
DSP bits of swri_resample go into their own mini-DSP functions; DSP
init goes from a per-call branch in multiple_resample to a proper
DSP init routine; x86 bits go into x86/; swri_resample() moves out of
resample_template.c into resample.c because it's independent of DSP
code or sample type; multiple_resample() is simplified.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 20:21:39 +02:00
Marton Balint
9236f7b5a2 mpeg12enc: add seq_disp_ext option for deciding when to write a sequence_display_extension
Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 19:45:53 +02:00
Marton Balint
66f4891e64 mpeg12enc: add support for PANSCAN side data in sequence_display_extension
Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 19:45:53 +02:00
Carl Eugen Hoyos
6ac3c8c6a0 Fix compilation with --disable-everything --enable-parser=vc1. 2014-06-14 19:19:52 +02:00
Michael Niedermayer
759e793823 avcodec/vc1dec: Fix support for small widths/linesizes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 16:33:09 +02:00
Michael Niedermayer
4411928c64 swresample/resample: replace assert by av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 16:33:09 +02:00
Carl Eugen Hoyos
a7dedd7bce Fix standalone compilation of the H264 decoder on ppc. 2014-06-14 15:44:52 +02:00
Ronald S. Bultje
b785c62681 swr: handle initial negative sample index outside DSP function.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 14:36:18 +02:00
Michael Niedermayer
d77815eeaa fate/aic: force simple idct
This should ensure all platforms use the same idct

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 12:30:38 +02:00
Timothy Gu
e9b5b9a164 MAINTAINERS: add my (Timothy Gu's) PGP fingerprint and my name for fateserver
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 12:15:35 +02:00
Vittorio Giovara
711aa2a827 lavf: dump stream side data when probing 2014-06-14 00:25:26 -04:00
Vittorio Giovara
2dc265619a lavf: group dump functions together 2014-06-14 00:24:35 -04:00
Vittorio Giovara
5a69ded12a vf_showinfo: print display transformation values 2014-06-14 00:19:14 -04:00
Ronald S. Bultje
6b9685de3a swr: remove unnecessary assignment.
I don't see dst_incr/dst_incr_frac ever being changed from their
initial value (which is the inverse of this operation), so it seems
to me that this is a no-op.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 04:30:53 +02:00
Michael Niedermayer
33834be9c8 avfilter/af_asetnsamples: fix pts handling when timebase and 1/samplerate differ
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 04:24:13 +02:00
Michael Niedermayer
10012fa961 ffmpeg: Fix bitstream filters manipulating AVCodecContext
Fixes Ticket3715

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 00:50:50 +02:00
Michael Niedermayer
0a7ad6bf51 avfilter/formats: Use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-13 23:15:16 +02:00
Michael Niedermayer
d03eefae4a avfilter/vf_dejudder: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-13 23:14:38 +02:00
Michael Niedermayer
263aeb826d avfilter/vf_unsharp: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-13 23:14:18 +02:00
Michael Niedermayer
043bcdcdb0 avcodec/svq1enc: fix encoding of small widths
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-13 20:59:24 +02:00
Michael Niedermayer
1df441eaa8 vfilter/avf_showcqt: fix 'mixed declarations and code'
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-13 20:32:54 +02:00
Michael Niedermayer
97c285e61b Merge commit '27631796c9d1b8146ad4a16e6539ecc08afa7565'
* commit '27631796c9d1b8146ad4a16e6539ecc08afa7565':
  ac3: Only initialize float_dsp for the float encoder variant

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-13 19:51:35 +02:00
Michael Niedermayer
684a9152c3 Merge commit 'f0ce9913d0974ac0c7371a62c3324dd2863b5d1b'
* commit 'f0ce9913d0974ac0c7371a62c3324dd2863b5d1b':
  Rename tpel_template.c ---> pel_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-13 19:03:55 +02:00
Michael Niedermayer
dffb85a982 avcodec/mpegvideo: check that linesize is not too small
Note linesize is rounded up to at least a multiple of 8

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-13 18:40:21 +02:00
Michael Niedermayer
4a0ec85b85 avcodec/rv34: fix edge emu with uv stride <= 25
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-13 16:21:40 +02:00
Tim.Nicholson
6a65f3fc16 MAINTAINERS: Added Tim Nicholson's key fingerprint
Signed-off-by: Tim.Nicholson <tim.nicholson@bbc.co.uk>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-13 16:21:40 +02:00
Derek Buitenhuis
a4bd4733c0 swscale: Allow the max filter size to be set at compile time
This can help "extreme" resizes, e.g with some 4k stuff.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-13 14:49:59 +01:00
Diego Biurrun
27631796c9 ac3: Only initialize float_dsp for the float encoder variant 2014-06-13 05:21:34 -07:00
Diego Biurrun
f0ce9913d0 Rename tpel_template.c ---> pel_template.c
The new name more accurately describes what the file is about.
2014-06-13 05:21:34 -07:00
Michael Niedermayer
681868cbbe avcodec/mpegvideo: Fix psnr calculation with slice threads
This fixes a race condition and use of the wrong field, which become shared
instead of per thread during some AVFrame changes.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-13 13:16:27 +02:00
Michael Niedermayer
cf9050c715 libavcodec/wmv2: remove dead code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-13 04:26:19 +02:00
Michael Niedermayer
1c5aa64a59 Merge commit '4321e507564b2d8a5dfc630f8d6fefba6fdc1e92'
* commit '4321e507564b2d8a5dfc630f8d6fefba6fdc1e92':
  configure: use pkg-config for libx264

Not merged as requested by carl
a patch to fix this has been posted by carl to ffmpeg-devel

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-13 02:40:50 +02:00
Michael Niedermayer
c5fc8ae126 avcodec/mpegvideo: fix edge emulation with uvlinesize below 25
Fixes fate-vsynth3-wmv2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-13 01:56:01 +02:00
sfan5
ffe6ecc418 lavd/avfoundation: Support user selected pixel formats and pixel format autoselection.
Signed-off-by: Thilo Borgmann <thilo.borgmann@mail.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-12 21:31:25 +02:00
Michael Niedermayer
6286bb5c07 Merge commit 'ceada893bec1e29e457bd2b81d8a0b6fcba5f1f7'
* commit 'ceada893bec1e29e457bd2b81d8a0b6fcba5f1f7':
  libx265: Remove unneeded bit depth check

See: 7ed89addb7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-12 21:30:34 +02:00
Michael Niedermayer
451469fd1a Merge commit '61a344916d324c8ca52064964478f46c877f02e2'
* commit '61a344916d324c8ca52064964478f46c877f02e2':
  libx265: Add 4:2:2 support

See: 6ee95af8a1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-12 21:28:58 +02:00
Michael Niedermayer
ff0631ab05 Merge commit '180e6b48060f97fdd8497320395b61dc85664ecd'
* commit '180e6b48060f97fdd8497320395b61dc85664ecd':
  libx265: Actually use X265_API_IMPORTS

See: 4e9b46b056
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-12 21:20:40 +02:00
Vittorio Giovara
4321e50756 configure: use pkg-config for libx264 2014-06-12 14:45:20 -04:00
Michael Niedermayer
c600c8e966 Merge commit 'dca7ba4bffe3e4aeb620cb62955256a0d87561f4'
* commit 'dca7ba4bffe3e4aeb620cb62955256a0d87561f4':
  Remove some unnecessary CONFIG_FOO_COMPONENT ifdefs

Conflicts:
	libavcodec/ac3enc_float.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-12 20:25:48 +02:00
Derek Buitenhuis
ceada893be libx265: Remove unneeded bit depth check
This is no longer needed since the version bump.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-12 16:45:02 +01:00
Derek Buitenhuis
61a344916d libx265: Add 4:2:2 support
It is also not final yet, so require -strict experimental.

Requires a bump to version 17.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-12 16:45:02 +01:00
Derek Buitenhuis
180e6b4806 libx265: Actually use X265_API_IMPORTS
It obvously needs to be above the include statement.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-12 16:45:02 +01:00
Derek Buitenhuis
7ed89addb7 libx265: Remove unneeded bit depth check
This is no longer needed since the version bump.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-12 16:43:31 +01:00
Diego Biurrun
dca7ba4bff Remove some unnecessary CONFIG_FOO_COMPONENT ifdefs
The files are only ever compiled if that condition is true.
2014-06-12 07:10:18 -07:00
Derek Buitenhuis
6ee95af8a1 libx265: Add 4:2:2 support
It is also not final yet, so require -strict experimental.

Requires a bump to version 17.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-12 13:53:34 +01:00
Derek Buitenhuis
4e9b46b056 libx265: Actually use X265_API_IMPORTS
It obvously needs to be above the include statement.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-12 13:53:34 +01:00
Michael Niedermayer
52ce6be86b Merge commit '48e50921337984ba4ec2c1cafe45d43787f84498'
* commit '48e50921337984ba4ec2c1cafe45d43787f84498':
  avconv: make -shortest work with streamcopy

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-12 13:13:12 +02:00
Muhammad Faiz
0a64fb7fb0 avfilter/avf_showcqt: add option for lower resolution
Resolution can be 1920x1080 or 960x540.
2014-06-12 09:16:08 +00:00
Anton Khirnov
48e5092133 avconv: make -shortest work with streamcopy
CC: libav-stable@libav.org
2014-06-12 08:17:50 +02:00
Ronald S. Bultje
385a3420d1 vp9/x86: fix overwrite in ipred_vl_4x4_ssse3.
Fixes track ticket 3717.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-12 04:11:20 +02:00
Michael Niedermayer
3a1c8951bc avcodec/libx264: fix "bitrate reconfiguration" 2014-06-12 01:20:07 +02:00
Michael Niedermayer
8159fe255c Merge commit '2f4170312f605c1f02a14c01347e94cf46726dbd'
* commit '2f4170312f605c1f02a14c01347e94cf46726dbd':
  libx264: Support bitrate reconfiguration

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-12 01:19:57 +02:00
Christophe Gisquet
508e7a5c16 x86: huffyuv: fix {add,diff}_int16
They used an extra, undeclared register. Fixes a crash in
fate-vsynth3-ffvhuff444p16

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-12 00:26:19 +02:00
Michael Niedermayer
2cf4d91cf2 Merge commit 'cd62c04d009b3baf7582556866a7029291b54573'
* commit 'cd62c04d009b3baf7582556866a7029291b54573':
  h263enc: keep block_last_index always valid during advanced intra coding

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 22:53:28 +02:00
Luca Barbato
2f4170312f libx264: Support bitrate reconfiguration
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-06-11 22:51:00 +02:00
Michael Niedermayer
67911cc57b Merge commit '0ddc53dabbc6f636d062b187ea27934610aaad30'
* commit '0ddc53dabbc6f636d062b187ea27934610aaad30':
  mpegvideo: synchronize AVFrame pointers in ERContext fully

Conflicts:
	libavcodec/mpegvideo.c

See: 8ef9dcf1d7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 22:30:49 +02:00
Michael Niedermayer
67d29da4bd avcodec: increase FF_INPUT_BUFFER_PADDING_SIZE to 32
Sometimes the input buffers get directly used as raw images and
SIMD optimized video/image filters can sometimes read more than 16 bytes
over the end.
a specific example is the AVX 24bpp to yuv code

This also fixes fate-vsynth3-rgb

Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 22:15:29 +02:00
Michael Niedermayer
ef8725122d avcodec/motion_est: Only clip MVs which are used
Fixes valgrind mpeg4 failures

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 22:15:04 +02:00
Lou Logan
edeefeaaf9 doc/filters: add forgotten " to zoompan example
Signed-off-by: Lou Logan <lou@lrcd.com>
2014-06-11 12:01:05 -08:00
Clément Bœsch
0180c46928 avfilter/showcqt: move qsort_sparsecoeff closer to where it belongs 2014-06-11 21:33:09 +02:00
Clément Bœsch
1786cd850f avfilter/showcqt: fix misc style issues 2014-06-11 21:33:09 +02:00
Janne Grunau
cd62c04d00 h263enc: keep block_last_index always valid during advanced intra coding
Prevents a triggered assert during fate-vsynth{1,2}-rv20 in
dct_unquantize_h263_intra_c().
2014-06-11 21:28:39 +02:00
Janne Grunau
0ddc53dabb mpegvideo: synchronize AVFrame pointers in ERContext fully
Since error resilience uses AVFrame pointers instead of references it
has to copy NULL pointers too. After a codec flush the last/next frame
pointers in MpegEncContext are NULL and the old pointers remaining in
ERContext are invalid. Fixes a crash in vlc for android thumbnailer.
Reported and debugged by Adrien Maglo <magsoft@videolan.org>.
2014-06-11 21:28:27 +02:00
Clément Bœsch
76bce46d8f avfilter: add signalstats filter
Signed-off-by: Mark Heath <silicontrip@gmail.com>
Signed-off-by: Dave Rice <dave@dericed.com>
Signed-off-by: Clément Bœsch <u@pkh.me>
2014-06-11 21:17:24 +02:00
Timothy Gu
881ee369e6 tests: Add aic decoder test
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 19:05:54 +02:00
Michael Niedermayer
27b8ef5bb7 avformat/oggparsevorbis: Dont attempt to calculate timestamps from gp=0
Fixes Ticket3710

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 18:12:14 +02:00
Timothy Gu
5c57e2b51b MAINTAINERS: numerous grammar and discrepancy fixes
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 12:42:55 +02:00
Michael Niedermayer
60ab6e2457 avcodec/mpegvideo_enc: fix padding for odd dimensions and interlaced video
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 05:02:46 +02:00
Michael Niedermayer
c69defd4d0 avcodec/qtrleenc: Check that width is a multiple of 4 for grayscale
grayscale is coded as 4 pixels at a time, the encoder lacks support
for the case where width%4 != 0, and will simply encode less data
leaving random data after decoding at the right side

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 04:02:53 +02:00
Michael Niedermayer
43d995e865 fate: Disable qtrlegray 34x34 test
The encoder lacks support for width % 4 != 0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 04:01:49 +02:00
Michael Niedermayer
b2fb65cbeb Merge commit '641e57230b460bef52c88e61087d97c223910bea'
* commit '641e57230b460bef52c88e61087d97c223910bea':
  fate: add on2avc audio test

Conflicts:
	tests/fate/audio.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 03:10:21 +02:00
Michael Niedermayer
b3a647d9ce Merge commit 'd7705be9617ed691c7a2924a2088de2d96f38af1'
* commit 'd7705be9617ed691c7a2924a2088de2d96f38af1':
  mpegvideoenc: check color_range

Conflicts:
	libavcodec/mpegvideo_enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 02:57:08 +02:00
Michael Niedermayer
1290143fda Merge commit '27860819d508068f056cf48473af04868791ad77'
* commit '27860819d508068f056cf48473af04868791ad77':
  ppc: Consistently use convenience macro for runtime CPU detection

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 02:50:50 +02:00
Michael Niedermayer
26be0e31fc Merge commit '205fdd4ea5e1264946917a26fde01e137a485f5a'
* commit '205fdd4ea5e1264946917a26fde01e137a485f5a':
  ppc: Fix runtime CPU detection for apedsp, huffyuvdsp, svq1enc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 02:22:53 +02:00
Vittorio Giovara
641e57230b fate: add on2avc audio test 2014-06-10 19:41:59 -04:00
Vittorio Giovara
d7705be961 mpegvideoenc: check color_range
Rework the comparison into something simpler to understand.
2014-06-10 19:41:59 -04:00
Diego Biurrun
27860819d5 ppc: Consistently use convenience macro for runtime CPU detection 2014-06-10 15:13:57 -07:00
Diego Biurrun
205fdd4ea5 ppc: Fix runtime CPU detection for apedsp, huffyuvdsp, svq1enc 2014-06-10 15:13:57 -07:00
Michael Niedermayer
aff0912da5 Merge commit 'f121dbd9f76031d7f6d56261be2f14937a19d2dd'
* commit 'f121dbd9f76031d7f6d56261be2f14937a19d2dd':
  mpegts: Provide an option to override the pcr period

Conflicts:
	doc/muxers.texi
	libavformat/mpegtsenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-10 23:55:57 +02:00
Carl Eugen Hoyos
723adfb1df Fix standalone compilation of the webvtt encoder. 2014-06-10 23:47:04 +02:00
Michael Niedermayer
2d99b4041f Merge commit '3f7e94eccd1c0d64679f2c4eda8bb942a158dfac'
* commit '3f7e94eccd1c0d64679f2c4eda8bb942a158dfac':
  mpegts: Move the option section to the bottom

Conflicts:
	libavformat/mpegtsenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-10 23:27:16 +02:00
Michael Niedermayer
ac26d7ea9d Merge commit 'a736ae1e96b8718af0962106aa40df5f4b246b55'
* commit 'a736ae1e96b8718af0962106aa40df5f4b246b55':
  doc: Document mpegts muxrate

Conflicts:
	doc/muxers.texi

See: 5b76c3a120
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-10 23:25:46 +02:00
Luca Barbato
f121dbd9f7 mpegts: Provide an option to override the pcr period
Certain hardware demuxer have specific restrictions for PCR periodicity.
2014-06-10 22:05:44 +02:00
Luca Barbato
3f7e94eccd mpegts: Move the option section to the bottom
Makes it consistent with the rest of the formats and ease usage
of macros constants for the defaults.
2014-06-10 22:05:44 +02:00
Luca Barbato
a736ae1e96 doc: Document mpegts muxrate 2014-06-10 22:05:44 +02:00
Christophe Gisquet
8d02a55b1b tests: add a third, 34x34, target
This should exercise the corner cases of numerous codecs.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-10 20:24:49 +02:00
Michael Niedermayer
1a2ff62859 Merge commit '570d4b21863b6254d6bbca9c528bede471bb4478'
* commit '570d4b21863b6254d6bbca9c528bede471bb4478':
  x86: h264: Don't keep data in the redzone across function calls on 64 bit unix

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-10 18:35:49 +02:00
Michael Niedermayer
a2faa3d858 Merge commit '0776e0ef6ba4160281ef3fabea43e670f3792b4a'
* commit '0776e0ef6ba4160281ef3fabea43e670f3792b4a':
  adpcm: Write the proper predictor in trellis mode in IMA QT

See: fa8f060b75
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-10 18:28:53 +02:00
Michael Niedermayer
fbc133915b Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Allow values >31bit for -analyzeduration.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-10 18:22:41 +02:00
Michael Niedermayer
3a76d7f73d avformat/nutenc: cleaner version check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-10 16:36:41 +02:00
Michael Niedermayer
d7f398c542 avformat/nutenc: Fix error handling in nut_write_packet()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-10 15:41:33 +02:00
Martin Storsjö
570d4b2186 x86: h264: Don't keep data in the redzone across function calls on 64 bit unix
We know that the called function (ff_chroma_inter_body_mmxext)
doesn't touch the redzone, and thus will be kept intact - thus,
this doesn't fix any bug per se.

However, valgrind's memcheck tool intentionally assumes that the
redzone is clobbered on every function call and function return
(see a long comment in valgrind/memcheck/mc_main.c). This avoids
false positives in that tool, at the cost of an extra stack pointer
adjustment.

The other alternative would be a valgrind suppression for this issue,
but that's an extra burden for everybody that wants to run libavcodec
within valgrind.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-06-10 16:31:48 +03:00
Martin Storsjö
0776e0ef6b adpcm: Write the proper predictor in trellis mode in IMA QT
The actual predictor value, set by the trellis code, never
was written back into the variable that was written into
the block header. This was accidentally removed in b304244b.

This significantly improves the audio quality of the trellis
case, which was plain broken since b304244b.

Encoding IMA QT with trellis still actually gives a slightly
worse quality than without trellis, since the trellis encoder
doesn't use the exact same way of rounding as in
adpcm_ima_qt_compress_sample and adpcm_ima_qt_expand_nibble.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-06-10 16:28:47 +03:00
Michael Niedermayer
0f0f626048 avformat/rawdec: Increase probe score when "Content-Type: image/jpeg" is found at the file start
Based-on code by: Carl Eugen Hoyos and Andrey Utkin
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-10 14:42:19 +02:00
Carl Eugen Hoyos
5482780a3b Allow values >31bit for -analyzeduration. 2014-06-10 14:28:34 +02:00
Michael Niedermayer
ec2b6ee59a avformat/utils: dont wait for a first dts on demuxers which have AVFMT_NOTIMESTAMPS set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-10 14:22:13 +02:00
Michael Niedermayer
b45a451dbe avformat/rawdec: mark raw vc1 and mjpeg as having no timestamps
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-10 14:21:24 +02:00
Michael Niedermayer
65571ee4e3 avformat/rawdec: add FF_DEF_RAWVIDEO_DEMUXER2, which allows specifying the flags
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-10 14:20:39 +02:00
Michael Niedermayer
2351ea8a2e avformat/nutenc: Fix error handling in write_sm_data()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-10 04:00:06 +02:00
Michael Niedermayer
9c9eac5c26 tools/fourcc2pixfmt: Avoid using non public AV_PIX_FMT_NB
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-10 04:00:06 +02:00
Carl Eugen Hoyos
958168d505 lavf/mpegts: Reduce number of "Predefined SLConfigDescriptor" warnings shown. 2014-06-09 23:20:14 +02:00
Billy Shambrook
3c2d9f86c7 ffprobe: add rc_max_rate to stream output
The value is used by some bitstream to mark the maximum bit rate.

See thread:
Subject: [FFmpeg-devel] [PATCH] Add rc_max_rate to ffprobe stream output
Date: Sun,  1 Jun 2014 17:36:36 +0100
To: ffmpeg-devel@ffmpeg.org

http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/178461

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2014-06-09 23:19:33 +02:00
Michael Niedermayer
06f576c4ab avcodec/x86/dct_init: fix build failure with clang && disable-optimizations
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-09 19:32:41 +02:00
Michael Niedermayer
2d3842f541 avformat: add mjpeg_probe()
Fixes Ticket3679

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-09 17:52:44 +02:00
Michael Niedermayer
2ffe55a64f avfilter/vf_zoompan: fix mixing of declarations and statements
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-09 17:27:34 +02:00
Michael Niedermayer
375fa06125 Merge commit '1619274fb393f55a365cc10f88faa173c9a8e772'
* commit '1619274fb393f55a365cc10f88faa173c9a8e772':
  av_dict_set: fix potential memory leak with AV_DICT_DONT_OVERWRITE

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-09 17:25:09 +02:00
Michael Niedermayer
383d8ddf29 Merge commit '7b06ddb8352fe7f434414d7911ced94956bb25b2'
* commit '7b06ddb8352fe7f434414d7911ced94956bb25b2':
  configure: use .altmacro for gnu as check on arm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-09 16:48:08 +02:00
Ronald S. Bultje
f341340552 swr: handle 64bit overflow check in multiple_resample().
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-09 15:24:51 +02:00
Michael Niedermayer
637093a2db avcodec/utvideoenc: skip unused huffman entries
This very slightly improves compression
Found-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-09 15:11:53 +02:00
Michael Niedermayer
29a1164e60 avcodec/utvideodec: fix use of get_vlc2()
The max depth is 3

Found-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-09 14:56:00 +02:00
Michael Niedermayer
334aafe565 avcodec/huffman/ff_huff_gen_len_table: support skiping stat=0 entries
This is probably not the simplest solution but as this is needed for a bugfix,
simplification is left for later.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-09 14:56:00 +02:00
Carl Eugen Hoyos
673716c54b avcodec/utvideodec: Increase vlc len
Fixes a regression since fb3e380 similar to ticket #2661,
reported by fluffrabbit at aol dot com.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-09 14:56:00 +02:00
Paul B Mahol
4b6cb1cc69 Zoom & Pan filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-06-09 12:41:33 +00:00
Janne Grunau
1619274fb3 av_dict_set: fix potential memory leak with AV_DICT_DONT_OVERWRITE
av_dict_set leaks it key/value arguments if AV_DICT_DONT_OVERWRITE is
combined with AV_DICT_DONT_STRDUP_{KEY,VAL} and the key exists.
2014-06-09 12:33:19 +02:00
Janne Grunau
7b06ddb835 configure: use .altmacro for gnu as check on arm
Clang's integrated assembler (after 3.4) does not yet support the
'.altmacro' directive which is only used in arm asm. Support is planned:
http://llvm.org/bugs/show_bug.cgi?id=18918
2014-06-09 12:33:19 +02:00
Michael Niedermayer
0accf24b15 cavsdec: fix qp fixed slice handling
Fixes Ticket3400

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-09 05:47:49 +02:00
Michael Niedermayer
52e563bb2f avformat/cavsvideodec: Fix probing when the file extension is avs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-09 05:17:34 +02:00
James Almer
345f2234d1 x86/scale: fix xmm register count for hscale*_sse2
xmm6 was being clobbered in ff_hscale8to{15,19}_8_sse2 on Win64

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-09 04:13:23 +02:00
James Almer
6d408495b5 x86/dct32: don't build ff_dct32_float_sse on x86_64
There's an SSE2 version already, and technically the SSE version
on x86_64 was wrong (using pshufd and pshuflw, SSE2 instructions).

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-09 00:51:43 +02:00
Michael Niedermayer
7d8a60a442 avcodec/options_table: improve max/min rate help text
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-08 23:02:25 +02:00
James Almer
85065d2a7c x86/float_dsp: add missing femms
It was lost during the port.
Should fix fate on 3dnowext machines.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-08 20:06:28 +02:00
Michael Niedermayer
4959c4a793 avcodec/pthread_slice: Use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-08 16:34:50 +02:00
Michael Niedermayer
ab1e191720 avcodec/pthread_frame: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-08 16:34:20 +02:00
Michael Niedermayer
007547b282 avcodec: fix () in TRANSPOSE macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-08 15:26:18 +02:00
Michael Niedermayer
7c3af60016 avformat/movenc: use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-08 15:26:03 +02:00
Michael Niedermayer
ee5145c05d avcodec/aacpsy: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-08 15:14:03 +02:00
Michael Niedermayer
6e6bd5481c avcodec/alsdec: Clear MPEG4AudioConfig so that no use of uninitialized memory is possible
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-08 14:30:30 +02:00
James Almer
dcaf9660b6 x86/float_dsp: port vector_fmul_window to yasm
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-08 12:41:32 +02:00
Michael Niedermayer
d4be3a8d63 configure: add llauddsp dependancy for wmalossless_decoder
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-08 03:10:24 +02:00
James Almer
fc8db12a73 x86/vp9: inital AVX2 intra_pred
tos3k-vp9-b10000.webm on a Core i5-4200U @1.6GHz

1219 decicycles in ff_vp9_ipred_dc_32x32_ssse3, 131070 runs, 2 skips
439 decicycles in ff_vp9_ipred_dc_32x32_avx2, 131070 runs, 2 skips

3570 decicycles in ff_vp9_ipred_dc_top_32x32_ssse3, 4096 runs, 0 skips
2494 decicycles in ff_vp9_ipred_dc_top_32x32_avx2, 4096 runs, 0 skips

1419 decicycles in ff_vp9_ipred_dc_left_32x32_ssse3, 16384 runs, 0 skips
717 decicycles in ff_vp9_ipred_dc_left_32x32_avx2, 16384 runs, 0 skips

2737 decicycles in ff_vp9_ipred_tm_32x32_avx, 1024 runs, 0 skips
2088 decicycles in ff_vp9_ipred_tm_32x32_avx2, 1024 runs, 0 skips

3090 decicycles in ff_vp9_ipred_v_32x32_avx, 512 runs, 0 skips
2226 decicycles in ff_vp9_ipred_v_32x32_avx2, 512 runs, 0 skips

1565 decicycles in ff_vp9_ipred_h_32x32_avx, 1024 runs, 0 skips
922 decicycles in ff_vp9_ipred_h_32x32_avx2, 1024 runs, 0 skips

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-08 02:37:20 +02:00
Michael Niedermayer
5183fac92f avcodec/hevc_sei: fix invalid get_bits() in a comment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-07 23:37:27 +02:00
Michael Niedermayer
01ef127bf8 ffmpeg: support setting AVStream.discard
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-07 21:26:22 +02:00
Michael Niedermayer
5affab960c ffmpeg_opt: remove unused variable and undocumented and not working command line option
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-07 21:13:08 +02:00
Michael Niedermayer
118c042116 avcodec/tscc2: fix macro ()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-07 17:44:23 +02:00
Michael Niedermayer
925bd174f2 avcodec/tta: fix macro ()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-07 17:44:14 +02:00
Michael Niedermayer
f240740712 avfilter/af_amix: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-07 15:06:14 +02:00
Michael Niedermayer
a62814abf4 avfilter/af_channelmap: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-07 15:05:51 +02:00
Michael Niedermayer
1c7ac94cdf avfilter/af_aphaser: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-07 15:05:33 +02:00
Michael Niedermayer
3a10bf93b5 avdevice/lavfi: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-07 15:04:50 +02:00
Michael Niedermayer
b2d1e22c2a avformat/udp: fix build on MINIX
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-07 14:43:07 +02:00
Michael Niedermayer
74760883fc avformat/flvenc: Do not allow creating h263/mpeg4 in flv without unofficial format extensions being enabled.
Found-by: Jean-Baptiste Kempf <jb@videolan.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-07 12:03:31 +02:00
Michael Niedermayer
5a376976a0 avcodec/vorbisdec: Reset first_frame
This avoids returning a initial frame after seeking which does
not match what would be received when decoding from the begin.

Suggested-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-07 02:09:27 +02:00
Michael Niedermayer
71da91e887 avcodec/libvpxenc: update the ranges for "cpu_used" so it matches the "speed" alias
Reviewed-by: James Zern <jzern@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 23:52:20 +02:00
Rafaël Carré
5265e3e40f avcodec/libvpxenc: Update the "cpu-used" options default to match the "speed" alias
Reviewed-by: James Zern <jzern@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 23:50:03 +02:00
Michael Niedermayer
37cf695af0 Merge commit '3d79d0c93e5b37a35b1b22d6c18699c233aad1ba'
* commit '3d79d0c93e5b37a35b1b22d6c18699c233aad1ba':
  adpcm: Avoid reading out of bounds in the IMA QT trellis encoder

See: a32765c425
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 23:42:54 +02:00
Michael Niedermayer
faabef3d3d Merge commit '103243ca649cc305129ed0352bf4d97e5ddf4d80'
* commit '103243ca649cc305129ed0352bf4d97e5ddf4d80':
  oggenc: Set the right AVOption size for the pref_duration option

See: 536baf6cc5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 23:36:12 +02:00
Michael Niedermayer
cd016db425 Merge commit 'f558f0d2da9426c7f5ba346b5b8e6eb720148362'
* commit 'f558f0d2da9426c7f5ba346b5b8e6eb720148362':
  avcodec options: add enum option for color_range

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 23:34:44 +02:00
Michael Niedermayer
00acf5c42a Merge commit '7c29b7229bedf0c37d09bd02dab88e563adffd3c'
* commit '7c29b7229bedf0c37d09bd02dab88e563adffd3c':
  avcodec options: add enum option for colorspace

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 23:19:45 +02:00
Michael Niedermayer
9e1d97aa06 Merge commit 'efc2dfe6a0238ec08769626db899ea910be24407'
* commit 'efc2dfe6a0238ec08769626db899ea910be24407':
  avcodec options: add enum option for color_trc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 23:09:26 +02:00
Michael Niedermayer
58e501b1e9 Merge commit 'bd71c300f9ba7f9875bb5df17ce522e9128bae10'
* commit 'bd71c300f9ba7f9875bb5df17ce522e9128bae10':
  avcodec options: add enum option for color_primaries

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 23:01:31 +02:00
Michael Niedermayer
3b42a8e439 avcodec/mpeg12enc: store sequence display extension only if we have something to store in it
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 22:54:22 +02:00
Michael Niedermayer
5163fb9446 Merge commit '8a06794112d02a5707f766b8b38a5d50dfd03898'
* commit '8a06794112d02a5707f766b8b38a5d50dfd03898':
  mpeg2: add sequence display extension information

Conflicts:
	libavcodec/mpeg12enc.c
	tests/ref/lavf/gxf
	tests/ref/lavf/mxf
	tests/ref/lavf/mxf_d10
	tests/ref/lavf/ts
	tests/ref/seek/lavf-gxf
	tests/ref/seek/lavf-mxf
	tests/ref/seek/lavf-ts
	tests/ref/seek/vsynth2-mpeg2-422
	tests/ref/seek/vsynth2-mpeg2-idct-int
	tests/ref/seek/vsynth2-mpeg2-ilace
	tests/ref/seek/vsynth2-mpeg2-ivlc-qprd
	tests/ref/seek/vsynth2-mpeg2-thread
	tests/ref/seek/vsynth2-mpeg2-thread-ivlc
	tests/ref/vsynth/vsynth1-mpeg2
	tests/ref/vsynth/vsynth1-mpeg2-422
	tests/ref/vsynth/vsynth1-mpeg2-idct-int
	tests/ref/vsynth/vsynth1-mpeg2-ilace
	tests/ref/vsynth/vsynth1-mpeg2-ivlc-qprd
	tests/ref/vsynth/vsynth1-mpeg2-thread
	tests/ref/vsynth/vsynth1-mpeg2-thread-ivlc
	tests/ref/vsynth/vsynth2-mpeg2
	tests/ref/vsynth/vsynth2-mpeg2-422
	tests/ref/vsynth/vsynth2-mpeg2-idct-int
	tests/ref/vsynth/vsynth2-mpeg2-ilace
	tests/ref/vsynth/vsynth2-mpeg2-ivlc-qprd
	tests/ref/vsynth/vsynth2-mpeg2-thread
	tests/ref/vsynth/vsynth2-mpeg2-thread-ivlc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 22:36:07 +02:00
Christophe Gisquet
7eb5b20a87 huffyuvdec: trick for plane decoding <= 14bits
Refactor the code to minimize code duplication.

Before:
130870 decicycles in g, 1048139 runs, 437 skips
10bits:  9.048
12bits: 10.733

After:
126960 decicycles in g, 1048136 runs, 440 skips
10bits:  8.642
12bits:  9.656

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 21:42:52 +02:00
Vignesh Venkatasubramanian
c80181352c lavf/matroskaenc: Fix Cues on Audio for WebM DASH
Fix a change that was broken by [1]. Cues must be added for audio frames
on cluster start for WebM when the DASH flag is passed. Restoring
correct functionality.

[1] http://goo.gl/xYLq7Z

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 21:36:11 +02:00
Michael Niedermayer
e374e77292 avutil/libm: fix fminf() emulation build failure due to undefined FFMIN
Found-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 21:00:11 +02:00
Martin Storsjö
3d79d0c93e adpcm: Avoid reading out of bounds in the IMA QT trellis encoder
This was broken in 095be4fb - samples+ch (for the previous
non-planar case) equals &samples_p[ch][0]. The confusion
probably stemmed from the IMA WAV case where it originally
was &samples[avctx->channels + ch], which was correctly
changed into &samples_p[ch][1].

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-06-06 19:23:54 +03:00
Martin Storsjö
103243ca64 oggenc: Set the right AVOption size for the pref_duration option
On big endian machines, the default value set via the faulty
AVOption ended up as 2^32 times too big.

This fixes the fate-lavf-ogg test which currently is broken on
big endian machines, broken since 3831362. Since that commit,
a final zero-sized packet is written to the ogg muxer in that test,
which caused different flushing behaviour on little and big endian
depending on whether the pref_duration option was handled as it
should or not.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-06-06 19:22:14 +03:00
Michael Niedermayer
049b20b287 avcodec/adpcmenc: fix integer overflow / undefined behavior in STORE_NODE()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 18:03:31 +02:00
Michael Niedermayer
1aa60980d2 fate: enable fate-seek-acodec-adpcm-ima_qt-trellis
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 18:03:31 +02:00
Michael Niedermayer
867c02acd2 avfilter/avf_showcqt: avoid using fminf()
The loop with fminf() changes from 18093856 to 17403218 dezicycles (gcc 4.6.3, sandybridge i7)

Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 17:20:05 +02:00
Michael Niedermayer
afce834843 avutil/libm: Replace macro based fminf() by function
This avoids issues when the FFMIN parameter evaluation has side effects

Reviewed-by: Clément Bœsch <u@pkh.me>
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 17:18:14 +02:00
Martin Storsjö
fa8f060b75 adpcm: Write the proper predictor in trellis mode in IMA QT
The actual predictor value, set by the trellis code, never
was written back into the variable that was written into
the block header. This was accidentally removed in b304244b.

This significantly improves the audio quality of the trellis
case, which was plain broken since b304244b.

Encoding IMA QT with trellis still actually gives a slightly
worse quality than without trellis, since the trellis encoder
doesn't use the exact same way of rounding as in
adpcm_ima_qt_compress_sample and adpcm_ima_qt_expand_nibble.

Fixes part of Ticket3701

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 17:08:21 +02:00
Michael Niedermayer
fb7646d92c fate: enable adpcm-ima_qt-trellis
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 17:08:21 +02:00
Martin Storsjö
a32765c425 adpcm: Fix trellis encoding of IMA QT
This was broken in 095be4fb - samples+ch (for the previous
non-planar case) equals &samples_p[ch][0]. The confusion
probably stemmed from the IMA WAV case where it originally
was &samples[avctx->channels + ch], which was correctly
changed into &samples_p[ch][1].

Fixes part of Ticket3701

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 17:07:11 +02:00
Marc-Antoine Arnaud
f558f0d2da avcodec options: add enum option for color_range
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-06 15:40:08 +01:00
Marc-Antoine Arnaud
7c29b7229b avcodec options: add enum option for colorspace
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-06 15:39:50 +01:00
Marc-Antoine Arnaud
efc2dfe6a0 avcodec options: add enum option for color_trc
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-06 15:39:34 +01:00
Marc-Antoine Arnaud
bd71c300f9 avcodec options: add enum option for color_primaries
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-06 15:39:08 +01:00
Marc-Antoine Arnaud
8a06794112 mpeg2: add sequence display extension information
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-06 15:38:10 +01:00
Michael Niedermayer
3133e7fd44 avutil/libm: use FFMIN instead of fmin()
MSVC apparently doesnt support fmin() either

Suggested/Found-by: ubitux, Daemon404, nevcairiel
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 16:02:53 +02:00
Michael Niedermayer
27b893b231 avformat/mov: fix "warning: variable altitude set but not used" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 15:46:03 +02:00
Michael Niedermayer
2c1bf3fc96 avutil/libm: fix fminf typo
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 15:46:03 +02:00
Michael Niedermayer
97508af274 build: add fminf() emulation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 14:54:57 +02:00
Michael Niedermayer
a80342fe56 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Allow >2G for skip_initial_bytes.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 14:01:21 +02:00
Christophe Gisquet
adf4ee40e7 wma lossless: reuse scalarproduct_and_madd_int16
This is done by padding the coefficient buffer with 0s, because the order
may be only a multiple of 4, and the DSP function requires batches of 8.

However, no sample with such a case was found, so request one if it uses
that kind of order.

Approximate relative speedup depending on instruction set:
plain C: -6%
mmxext:  51%
sse2:    54%

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 13:51:41 +02:00
Michael Niedermayer
c2e2b29b73 Merge commit '2f7065190ad48744014a02288799d03adfa613e0'
* commit '2f7065190ad48744014a02288799d03adfa613e0':
  libfdk-aac: Relicense the library wrappers to the ISC license

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 13:41:27 +02:00
Michael Niedermayer
a083543da0 Merge commit 'e7d6d0bf3c5cc1bc048b0ddbc169a91862568e0c'
* commit 'e7d6d0bf3c5cc1bc048b0ddbc169a91862568e0c':
  mov: Export geotag metadata fields

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 13:24:30 +02:00
Martin Storsjö
2f7065190a libfdk-aac: Relicense the library wrappers to the ISC license
This reduces the number of different licenses used within libav,
and is preferrable since it has less ambiguous wordings than
the BSD license with respect to the duties of the user of the code.

Fraunhofer have now indicated that they're allowed to contribute
code under this license as well.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-06-06 10:48:27 +03:00
Martin Storsjö
e7d6d0bf3c mov: Export geotag metadata fields
The '?xyz' form is used by android devices (and according to apple
mailing list archives, also by older iOS devices). The 'loci' field
(defined in 3GPP 26.244) is used by recent iOS devices.

Even though the loci field can contain an altitude, it was plain
0 in my sample. Just export longitude and latitude, in a string
format matching the one used by the '?xyz' metadata field.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-06-06 10:46:10 +03:00
Carl Eugen Hoyos
d58bcc1921 Allow >2G for skip_initial_bytes. 2014-06-06 09:16:53 +02:00
James Almer
ec98f80af4 x86/dsputil: move some mmx init code inside dsputil_init_mmx()
This reduces differences with the fork

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 05:26:04 +02:00
Michael Niedermayer
0545ef7116 avcodec/mjpegdec: Improve intel jpeg flip heuristic
Fixes Ticket3698

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 01:32:22 +02:00
Michael Niedermayer
0a2004b6d1 avcodec/aic: fix quantization table permutation
Fixes Ticket3700

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-05 23:21:15 +02:00
Michael Niedermayer
bd650ee318 avcodec/mpegaudiodec: Reset dither and mdct state
This makes the mp3 decoder produce the same result when repeatly flushing and decoding

Suggested-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-05 21:25:51 +02:00
Christophe Gisquet
ccff45a0d3 apedsp: move to llauddsp
APE is not the sole codec using scalarproduct_and_madd_int16.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-05 20:31:59 +02:00
Michael Niedermayer
151f88d507 Merge commit 'd816e125fe1fa5c909b706d47904a4d6c1799996'
* commit 'd816e125fe1fa5c909b706d47904a4d6c1799996':
  dict: const correctness for av_dict_get() and av_dict_copy()

Conflicts:
	libavutil/dict.c
	libavutil/dict.h

See: e12a73246d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-05 18:55:44 +02:00
Michael Niedermayer
27856b2fe9 ffmpeg: prevent pts < dts to be passed through to the muxer on stream copy
Fixes Ticket3658

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-05 18:37:32 +02:00
Diego Biurrun
d816e125fe dict: const correctness for av_dict_get() and av_dict_copy() 2014-06-05 09:16:15 -07:00
Muhammad Faiz
40e938a7ed avfilter: new multimedia filter avf_showcqt.c
this filter is the same as showspectrum but with constant Q transform,
so frequency is spaced logarithmically
2014-06-05 14:04:01 +02:00
Timothy Gu
da53de0730 tests: add adpcm trellis tests
adpcm_ima_qt does not produce reproducible results, so it is temporarily
disabled (see #3701).

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-05 12:20:49 +02:00
Timothy Gu
591d9a072d tests: Add ac3_fixed decoder test
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-05 12:20:44 +02:00
Timothy Gu
fdc6e7b930 tests/swr: move the results out of the functions
This prevents all results from being declared whenever the function is called.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-05 12:20:39 +02:00
Michael Niedermayer
d37c620c84 avutil/ppc/intreadwrite: try to fix intreadwrite for ppc64le
Untested due to lack of hardware

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-05 03:30:58 +02:00
Christophe Gisquet
0d632b35a0 huffyuvdec: remove superfluous check in BGR code
Before: 154861 decicycles
After:  152912 decicycles

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-05 01:55:27 +02:00
Christophe Gisquet
6848325acb huffyuvdec: remove superfluous check
An invalid entry already has the property of having a negative number
of bits, so remove the check on the reserved value, and rearrange the
code as a consequence.

346800 decicycles in 422, 262079 runs, 65 skips
168197 decicycles in gray, 262077 runs, 67 skips
Overall time: 7.878s

319076 decicycles in 422, 262096 runs, 48 skips
159875 decicycles in gray, 262057 runs, 87 skips
Overall time: 7.394s

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-05 01:47:07 +02:00
Christophe Gisquet
a37020402a huffyuvdec: trick for plane decoding, 8bits
10496 -> 9105 cycles.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-05 00:08:57 +02:00
Christophe Gisquet
35dae62204 huffyuvdec: clean up macro
It's no longer used inside another specific macro, so rename it.
Also remove duplicated definition and realign code.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 23:55:48 +02:00
Michael Niedermayer
98ff07d1c6 avcodec/dcadec: Check dca_dmixtable index
Found-by: Niels Möller <nisse@lysator.liu.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 22:13:39 +02:00
Michael Niedermayer
47313bbb5f avcodec/dcadec: remove fishy FFMAX()
These where intended to maintain the previous behavior before dca_dmix_code()
but it is unclear (to me) which way is correct and no sample seem to trigger
the case, also they are incomplete for the purprose of error checking

Found-by: Niels Möller <nisse@lysator.liu.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 22:11:03 +02:00
Michael Niedermayer
6a0f9f27d5 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix rc_max_rate documentation.
  Fix some fate filter tests with --target-path.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 20:21:05 +02:00
Carl Eugen Hoyos
7738f925a6 Fix rc_max_rate documentation.
The mpegvideo decoder sets rc_max_rate since 25b7aa98.
2014-06-04 20:13:55 +02:00
Carl Eugen Hoyos
3c57f3ef5e Fix some fate filter tests with --target-path. 2014-06-04 20:13:40 +02:00
Michael Niedermayer
0efe3be71d Merge commit '39ec5e1cf8444f827c42effb76e5694e091bbff3'
* commit '39ec5e1cf8444f827c42effb76e5694e091bbff3':
  avconv: Report the codec and the encoder separately

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 20:08:22 +02:00
Tobias Rapp
d76f0c0378 avfilter/bufferqueue: Increase buffer queue size
Avoid buffer overruns when processing some MOV files with the amerge
filter. Files produced by Adobe Premiere Pro CC have up to one second of audio
not interleaved. With common settings (<= 48kHz) that makes up to 47 frames so
a queue length of 64 makes sense.

Fixes ticket #3510.

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 18:41:04 +02:00
Michael Niedermayer
8f4b176c55 avcodec/dvbsubdec: add some basic av_log debuging support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 18:09:18 +02:00
Christophe Gisquet
deadcf5e71 huffyuvdec: implement trick for BGR
Before:
179436 decicycles in rgb, 32735 runs, 33 skips
Stripped object size: 23188

After:
154861 decicycles in rgb, 32738 runs, 30 skips
Stripped object size: 22736

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 13:25:24 +02:00
Christophe Gisquet
11b4703813 huffyuvdec: implement trick
When the joint table does not contain a valid entry, the decoding restarts
from scratch. By implementing the trick of jumping to the 2nd level of the
individual table (and inlining the whole), a speed improvement of 5-10%
is possible.

On a 1000-frames YUV4:2:0 video, before:
362851 decicycles in 422, 262094 runs, 50 skips
182488 decicycles in gray, 262087 runs, 57 skips
Object size: 23584
Overall time: 8.377

After:
346800 decicycles in 422, 262079 runs, 65 skips
168197 decicycles in gray, 262077 runs, 67 skips
Object size: 23188
Overall time: 7.878

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 13:12:48 +02:00
Luca Barbato
39ec5e1cf8 avconv: Report the codec and the encoder separately
Bug-Id: 694
2014-06-04 13:04:40 +02:00
Michael Niedermayer
c7e54628e3 Merge commit '95b7fa1729b93bbb3f4fb85a5c0cb53cf970c3c7'
* commit '95b7fa1729b93bbb3f4fb85a5c0cb53cf970c3c7':
  oggenc: Support flushing the muxer

Conflicts:
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 12:54:15 +02:00
Michael Niedermayer
a40c338a00 Merge commit 'd5a55981986ac5d1a31aef3a8d16eaff8534a412'
* commit 'd5a55981986ac5d1a31aef3a8d16eaff8534a412':
  build: check if AS supports the '.func' directive

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 12:45:35 +02:00
Martin Storsjö
95b7fa1729 oggenc: Support flushing the muxer
This allows the caller to write all buffered data to disk, allowing
the caller to know at what byte position in the file a certain
packet starts (any packet written after the flush will be located
after that byte position).

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-06-04 12:21:10 +03:00
Michael Niedermayer
d5c9d055ea avcodec/x86/dsputilenc_mmx: fix build without yasm
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 05:39:03 +02:00
Michael Niedermayer
571ab8344a avformat/avidec: allow rounding errors between scale/rate and timebase
Fixes Ticket3670

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 05:04:13 +02:00
Michael Niedermayer
19c9d1e8e7 avcodec/h264: in the absence of recovery points, be more tolerant on accepting plain I frames
Fixes: Ticket3652
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 04:25:14 +02:00
Michael Niedermayer
fbaf73a33d avcodec/lagarithrac: lag_get_rac: use normal division
maybe 0.3% faster and simpler code
2014-06-04 02:15:24 +02:00
Michael Niedermayer
d8ae0dfd99 avcodec/lagarithrac: increase LUT from 256 to 1024 bytes
about 2 cycles (~1%) faster lag_get_rac()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 02:03:34 +02:00
Michael Niedermayer
4fb4bf7289 avcodec/lagarithrac.h/lag_get_rac: drop apparently unneeded operations 2014-06-04 02:03:33 +02:00
James Almer
625ffa1457 x86/motion_est: sad_{x, y}2_mmxext functions are bitexact
Only the xy2 functions aren't.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 00:48:35 +02:00
James Almer
3ab4f96a91 motion-test: force C functions for the reference C context
It was instead using the highest available asm functions, which completely
kills the point of being a reference C context.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 00:48:28 +02:00
Michael Niedermayer
03acecae84 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix fate-aac-ln-encode with --target-path (second try).

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 00:40:11 +02:00
Carl Eugen Hoyos
12d6ae0142 Fix fate-aac-ln-encode with --target-path (second try). 2014-06-04 00:00:32 +02:00
Timothy Gu
108dec3055 x86: dsputilenc: convert hf_noise*_mmx to yasm
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Several bugfixes by: Christophe Gisquet <christophe.gisquet@gmail.com>
See: [FFmpeg-devel] [WIP] [PATCH 4/4] x86: dsputilenc: convert hf_noise*_mmx to yasm
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 23:59:43 +02:00
Dave Rice
d63d964fb3 avcodec/libopenjpegenc: Add frame-threading capability
This gives a >50% speed up when encoding with libopenjpeg.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 21:17:04 +02:00
Lou Logan
88f2586adb fix various typos
Signed-off-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 10:58:19 -08:00
Michael Niedermayer
137c5e115b ffmpeg: try to use the more fitting of the 2 encoder contexts
This fixes the interactively enabled encoder debug by pressing 'D'

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 19:48:25 +02:00
Michael Niedermayer
8d4d12a490 doc/muxers: Document problems of omitting nut syncpoints as well as alternatives
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 18:42:22 +02:00
Michael Niedermayer
83e8650f77 Merge commit '896a5bff64264f4d01ed98eacc97a67260c1e17e'
* commit '896a5bff64264f4d01ed98eacc97a67260c1e17e':
  arm: check if AS supports .dn

Conflicts:
	configure
	libavcodec/arm/vc1dsp_init_neon.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 18:19:21 +02:00
Michael Niedermayer
bcbd7dbce5 Merge commit '68a06b3a639ee21c78532ee4c50c3366bf890ff7'
* commit '68a06b3a639ee21c78532ee4c50c3366bf890ff7':
  aarch64: use '#' for whole line asm comments

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 18:13:43 +02:00
Michael Niedermayer
40285d2659 Merge commit '6a0fa4d86f2b3e9060a1153b39fa3bfe36f1b617'
* commit '6a0fa4d86f2b3e9060a1153b39fa3bfe36f1b617':
  aarch64: remove optional :pg_hi21: for adrp instruction

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 18:03:19 +02:00
Michael Niedermayer
ab9afcdf04 Merge commit 'fd2981ea92d9a776fcb1a13377dce1c8a7db7b5e'
* commit 'fd2981ea92d9a776fcb1a13377dce1c8a7db7b5e':
  aarch64: add darwin style PAGE/PAGEOFF relocations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 18:02:42 +02:00
Michael Niedermayer
a4ed51ab40 avcodec/vp3: free tables before allocating new ones
Fixes memleak on seeking

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 17:09:17 +02:00
Michael Niedermayer
90b26d63ba avcodec/vp3: factorize out free_tables()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 17:08:32 +02:00
Michael Niedermayer
576654302b ffmpeg: use av_log_ask_for_sample() instead of duplicating avpriv_request_sample() 2014-06-03 16:05:37 +02:00
Michael Niedermayer
2422a7ffe4 Loose mplayer in MPlayer/incoming/
Found-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 16:03:44 +02:00
Michael Niedermayer
3e7b4b9fbd Add direct link to ML in missing_feature_sample()
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 15:58:27 +02:00
Michael Niedermayer
768ef0f19e ffmpeg: request sample if the decoder & demuxer has_b_frames mismatch
We cannot use avpriv_request_sample() as this is private to the libs
or rather it would be a bad usage example

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 15:24:00 +02:00
Michael Niedermayer
a0b2de77ed ffmpeg: remove "has_b_frames" backpassing
It seems working without this now for the files i tested it with, if this causes
a regression, dont hesitate to put the line back or open a ticket or fix (if possible)
the parser

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 15:23:43 +02:00
Michael Niedermayer
72e4ceeb79 avformat/asfdec: Use a parser for mpeg4-asp to find has_b_frames
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 15:23:30 +02:00
Janne Grunau
d5a5598198 build: check if AS supports the '.func' directive
Not supported by Clang's integrated assembler. Since it just adds
debug information it can safely omitted.
2014-06-03 14:23:03 +02:00
Janne Grunau
896a5bff64 arm: check if AS supports .dn
Move the GNU as check before the arch specific asm checks since the .dn
check requires gas compatible assembler.

Disable the VC-1 motion compensation NEON asm which is the only part
using that directive. The integrated assembler in the upcoming clang 3.5
does not support .dn/.qn without plans to change that. Too much effort
to implement it while it is rarely used.

http://llvm.org/bugs/show_bug.cgi?id=18199.
2014-06-03 14:23:03 +02:00
Janne Grunau
68a06b3a63 aarch64: use '#' for whole line asm comments
Both gnu as and clang treat lines starting with '#' as comments if they
aren't consumed by the C-style preprocessor.
Using '//' does not work with clang since comments are removed before
macro expansion.
2014-06-03 14:23:02 +02:00
Janne Grunau
6a0fa4d86f aarch64: remove optional :pg_hi21: for adrp instruction
Clang's integrated assembler does not support it.
2014-06-03 14:23:02 +02:00
Janne Grunau
fd2981ea92 aarch64: add darwin style PAGE/PAGEOFF relocations 2014-06-03 14:23:01 +02:00
Carl Eugen Hoyos
ad7de82218 Fix fate-opus and fate-aac-ln-encode with --target-path. 2014-06-03 10:43:14 +02:00
Michael Niedermayer
4e3fe65610 avcodec/utils/ff_init_buffer_info: Favor color information from AVFrame if available
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 05:13:51 +02:00
Carl Eugen Hoyos
763e714442 Do not limit blocksize when reading PCM from aiff.
Fixes ticket #3695.
2014-06-03 03:07:55 +02:00
Lou Logan
c17973f19a doc/bsf: document noise bitstream filter
Partially addresses ticket #3198.

Signed-off-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2014-06-02 15:17:24 -08:00
Michael Niedermayer
1a426d5404 avformat/utils/avformat_find_stream_info: Move max_analyze_duration setup out of the packet loop
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-02 21:21:11 +02:00
Michael Niedermayer
2addbeef8b bfin: add README
Based on sh4/README
Suggested-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-02 20:18:44 +02:00
Michael Niedermayer
b55d3bbeed Merge commit '880e2aa23645ed9871c66ee1cbd00f93c72d2d73'
* commit '880e2aa23645ed9871c66ee1cbd00f93c72d2d73':
  Remove all Blackfin architecture optimizations

Conflicts:
	libavcodec/bfin/dsputil.S
	libavcodec/bfin/dsputil_init.c
	libavcodec/bfin/fdct_bfin.S
	libavcodec/bfin/hpel_pixels_no_rnd.S
	libavcodec/bfin/hpeldsp_init.c
	libavcodec/bfin/idct_bfin.S
	libavcodec/bfin/mathops.h
	libavcodec/bfin/pixels.S
	libavcodec/bfin/pixels.h
	libavcodec/bfin/vp3dsp.S
	libavcodec/bfin/vp3dsp_init.c
	libavutil/bfin/asm.h
	libavutil/bfin/attributes.h
	libswscale/bfin/internal_bfin.S
	libswscale/bfin/swscale_bfin.c
	libswscale/bfin/yuv2rgb_bfin.c
	libswscale/swscale_internal.h
	libswscale/version.h

If someone wants to maintain blackfin support in FFmpeg, please contact
ffmpeg-devel@ffmpeg.org

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-02 19:38:01 +02:00
Michael Niedermayer
fa4e17c140 Merge commit 'b88cc5cca111132b42c2ee99662bfefe7652e3da'
* commit 'b88cc5cca111132b42c2ee99662bfefe7652e3da':
  bink: Rename BinkDSPContext member so as not to clash with BlockDSPContext

Conflicts:
	libavcodec/bink.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-02 19:28:54 +02:00
Michael Niedermayer
666e29fe9e avutil/mathematics/av_add_stable: Avoid av_cmp_q() call
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-02 19:06:39 +02:00
Michael Niedermayer
e9add0d85b av_add_stable: Add fast special case where step can be represented exactly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-02 19:00:18 +02:00
Michael Niedermayer
4956d0e5a6 avutil/mathematics/av_add_stable: check for the common case of inc=1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-02 18:02:27 +02:00
Michael Niedermayer
5b7519fbaa avutil/mathematics/av_add_stable: avoid unneeded variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-02 18:00:34 +02:00
Diego Biurrun
880e2aa236 Remove all Blackfin architecture optimizations
Blackfin is a painful platform to work with, no test machines are available
and the range of multimedia applications is dubious. Thus it only represents
a maintenance burden.
2014-06-02 08:41:47 -07:00
Michael Niedermayer
6f6edfe1c0 avformat/utils: Call ff_rfps_add_frame() only for video
This avoids some unneeded computations

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-02 17:09:53 +02:00
Ronald S. Bultje
cdfd9717ed swr: move compensation_distance handling to swri_resample caller.
I think there's an off-by-one in terms of the switchpoint where we
switch from dst_incr to ideal_dst_incr, I don't think that's a massive
issue, but just be aware of that. It's probably trivial to prevent but
I don't care.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

I could not reproduce any off by 1 error, results are bit exact (michael)
2014-06-02 15:06:24 +02:00
Michael Niedermayer
bfb3ed1a9d avformat/mux: Dont leave stale side data pointers in ff_interleave_add_packet()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-02 14:48:22 +02:00
Michael Niedermayer
74ece44373 avformat/mux: fix memleak of side data in flac fate tests
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-02 14:38:03 +02:00
Michael Niedermayer
bf0e5ac9cc fate: fate-hevc-conformance-INITQP_B_Sony_1 belongs to the 10bit kind
Fixes the test on big endian

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-02 13:11:42 +02:00
Diego Biurrun
b88cc5cca1 bink: Rename BinkDSPContext member so as not to clash with BlockDSPContext 2014-06-02 03:41:56 -07:00
Carl Eugen Hoyos
f284e85714 Report "unknown codec" instead of "unspecifed size" if the codec is unknown. 2014-06-02 08:33:40 +02:00
Timothy Gu
22d1b24982 tests: Replace fieldmatch test with pixfmt
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-02 04:12:10 +02:00
Michael Niedermayer
44a7299139 fate: add simple test for async
This only checks that things havnt changed, the values provide little
help in determining if a change is good or bad.

Improvements welcome!

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-02 02:04:45 +02:00
Michael Niedermayer
2c23f87c85 swr/resample_template: prevent end_index from overflowing and add check for delta_frac overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-02 00:57:08 +02:00
Ronald S. Bultje
9b53853756 Rewrite main resampling loop (common and linear).
This removes a branch at a performance-sensitive point (in the middle
of the loop). In fate-swr-resample-s32p-8000-2626, this makes the code
about 10% faster. It also simplifies the loops, allowing us to rewrite
it in yasm at some later point.

The compensation_distance != 0 code and index < 0 code are still kind
of hairy. For compensation_distance != 0, this should likely be handled
in the caller, so that it calls swri_resample twice (once until the
dst_incr switch-point, and once with the remainder of the samples). For
index < 0, the code should probably be rewritten to break out of the
loop once sample_index >= 0, and then resume (e.g. as a tail-call) to
the common or linear resampling loops.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-02 00:47:54 +02:00
Michael Niedermayer
e91f27cbbb Merge commit '59cb5747ec3c5cd842b94e574c37889521c97cc4'
* commit '59cb5747ec3c5cd842b94e574c37889521c97cc4':
  rtmpproto: read metadata to set correct FLV header

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-02 00:32:30 +02:00
Michael Niedermayer
6b9cbc9a11 Merge commit '3b18857ab301d2a0b3e86e9d85eed76f0798a29c'
* commit '3b18857ab301d2a0b3e86e9d85eed76f0798a29c':
  rtmppkt: Add method to read an AMF string that is not prefixed by its type

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 23:56:22 +02:00
Michael Niedermayer
8225bf95bc Merge commit 'a1859032e39d96352687186fd179e1559dea2aca'
* commit 'a1859032e39d96352687186fd179e1559dea2aca':
  flvdec: Do not default to a video and audio stream

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 23:51:41 +02:00
Christophe Gisquet
dcd2a6ca36 x86: hevc_mc: remove unneeded shift
The immediate value may be 0.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 23:34:33 +02:00
Christophe Gisquet
09fc28aed1 x86: hevcdsp_init: fix macro usage
The macro was not using the parameter but unconditionally using sse4.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 23:20:07 +02:00
Uwe L. Korn
59cb5747ec rtmpproto: read metadata to set correct FLV header
In the presence of no metadata, do not set any stream flag in the FLV
header but let the demuxer handle the detection and creation of streams
as data arrives.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-06-01 23:30:48 +03:00
Uwe L. Korn
3b18857ab3 rtmppkt: Add method to read an AMF string that is not prefixed by its type
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-06-01 23:30:33 +03:00
Uwe L. Korn
a1859032e3 flvdec: Do not default to a video and audio stream
If no streams were indicated in the FLV header, do not automatically
allocate by default a video and an audio stream. Instead, in the case
that the header did not indicate the presence of any data, allocate no
stream until data actually arrives for one type.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-06-01 23:29:40 +03:00
Michael Niedermayer
8b686c886c avcodec/options: use av_opt_copy() in avcodec_copy_context() to copy priv_data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 20:50:08 +02:00
Michael Niedermayer
00759d71a2 avutil/opt: add av_opt_copy()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 20:49:18 +02:00
Michael Niedermayer
f028b7af7b avutil/opt: add opt_size()
If people want, this could be exported as av_opt_size()
2014-06-01 20:47:50 +02:00
Michael Niedermayer
c4d88311cd avcodec/dpx_parser: fix off by 1 error
Found-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 20:14:49 +02:00
Michael Niedermayer
d41a4a765b avcodec/mjpegenc: allow encoding amv with height % 16 != 0 when strict -1 is set
This should make it simpler for users to test if such videos work

Suggested-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 20:04:54 +02:00
Reimar Döffinger
6d695d7acc Fix nonsense non-mod16 AMV flipping code.
It is obviously nonsense since it produces wrong results
or even crashes (crashes should be encode-only though).
Fixes trac issue #1092.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 19:47:07 +02:00
Timothy Gu
527f5cbf64 tests: remove stale fate-update.sh script
This is the same as 5a15602a4e, which
accidentally did not get merged.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 19:05:15 +02:00
Timothy Gu
552c9904ab tests: Add pullup filter test
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 19:00:39 +02:00
Michael Niedermayer
3d820ba909 Merge commit 'f76e3669bb350ca6df150244f3d28d7dc5599f01'
* commit 'f76e3669bb350ca6df150244f3d28d7dc5599f01':
  Decode both parts of Indeo4 IP frames

Conflicts:
	libavcodec/ivi_common.c
	libavcodec/ivi_common.h

See: 8bfb4d72dd
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 17:54:47 +02:00
Michael Niedermayer
571effb330 Merge commit '3df0d20028cb9d2daca16ac0dc6c3ab77183da37'
* commit '3df0d20028cb9d2daca16ac0dc6c3ab77183da37':
  Move Indeo4 frametypes into common header.

Conflicts:
	libavcodec/ivi_common.c

See: d24673a2c8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 17:39:21 +02:00
Michael Niedermayer
909dbb07eb ffmpeg_opt: fix ffserver with the 2 encoder contexts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 17:29:59 +02:00
Michael Niedermayer
758f929d21 ffmpeg: Fix choose_pixel_fmt() so it uses the correct encoding context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 17:16:08 +02:00
Michael Niedermayer
00dcb10631 ffmpeg: Fix encoder names in printout
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 17:15:56 +02:00
Michael Niedermayer
229022e788 ffmpeg_opt: fix attachment streams
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 17:15:56 +02:00
Michael Niedermayer
0949bbc431 ffmpeg: fix for-muxer AVCodecContext stuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 17:15:55 +02:00
Michael Niedermayer
0949ff93c0 ffmpeg_filter: fix choose_pix_fmts() so it uses the correct encoding context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 17:15:46 +02:00
Michael Niedermayer
862120f980 Merge commit '383136264ef40452efd86cafb2d7221cd3830b3d'
* commit '383136264ef40452efd86cafb2d7221cd3830b3d':
  avconv: do not use the stream codec context for encoding

Conflicts:
	ffmpeg.c
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 15:53:23 +02:00
Michael Niedermayer
a87685d8e8 ffmpeg: add note about why has_b_frame is copied and when it can be removed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 15:32:50 +02:00
Michael Niedermayer
921d5ae3bc ffmpeg: replace remaining, ffmpeg specific ist->st->codec by ist->dec_ctx
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 15:30:51 +02:00
Michael Niedermayer
9fb45334fc ffmpeg: copy b frame codec delay back from decoder to demuxer
The demuxer needs this value to generate correct timestamps in some corner cases
Ideally the parser would always set this correctly, but some parsers lac support
for extracting this value, also its not trivial.
This fixes a regression

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 15:30:15 +02:00
Michael Niedermayer
d097935767 Merge commit '41776ba9c0ebbb71394cefdf7dd1b243e6c852d5'
* commit '41776ba9c0ebbb71394cefdf7dd1b243e6c852d5':
  avconv: do not use the stream codec context for decoding

Conflicts:
	ffmpeg.c
	ffmpeg_filter.c
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 14:35:53 +02:00
Michael Niedermayer
955b31a751 Merge commit 'e19d48dfce52f1417f7f06143b96fed00cbcdc52'
* commit 'e19d48dfce52f1417f7f06143b96fed00cbcdc52':
  flac muxer: support reading updated extradata from side data

Conflicts:
	libavformat/flacenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 14:16:29 +02:00
Michael Niedermayer
855e3b5700 Merge commit '0097cbea695e534fce39958ccd103af2fbf65831'
* commit '0097cbea695e534fce39958ccd103af2fbf65831':
  flac muxer: accept only STREAMINFO extradata

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 14:12:04 +02:00
Michael Niedermayer
05c5dd403d Merge commit 'ed39cda02923316b6710c1bcc34d3445370be5b4'
* commit 'ed39cda02923316b6710c1bcc34d3445370be5b4':
  flacenc: send final extradata in packet side data

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 13:55:49 +02:00
Michael Niedermayer
03bb99ae1a Merge commit '0957b274e312e985d69cb490bee2a7ff820acaa6'
* commit '0957b274e312e985d69cb490bee2a7ff820acaa6':
  lavc: add an option to enable side data-only packets during encoding

Conflicts:
	libavcodec/avcodec.h
	libavcodec/options_table.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 13:46:38 +02:00
Michael Niedermayer
0ccfcb0638 Merge commit 'eb800f120d2d42590fde2302fe828c847e41e773'
* commit 'eb800f120d2d42590fde2302fe828c847e41e773':
  libavcodec: set AVFrame colorspace fields on decoding

Conflicts:
	libavcodec/utils.c

See: a80e622924
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 13:39:31 +02:00
Michael Niedermayer
6e8e9f1e51 Merge commit '8c02adc62d71dfbb079a04753d8c16152c49de88'
* commit '8c02adc62d71dfbb079a04753d8c16152c49de88':
  lavu: add all color-related enums to AVFrame

Conflicts:
	libavcodec/avcodec.h
	libavutil/frame.c
	libavutil/frame.h
	libavutil/version.h

The version check is changed so they are available with the current ABI
FFmpeg libs should have no problems with added fields, nor should any
application using the libs, and we regularly added fields in the past.
We also moved 2 of these fields to AVFrame already previously without issues.

See: a80e622924
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 13:18:32 +02:00
Michael Niedermayer
ec1ed64506 avcodec/cljr: require (v)strict -1 to use width %4 != 0
Suggested-by: kurosu
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 12:43:47 +02:00
Michael Niedermayer
754bf1212c Merge commit 'd2ef708c95ace2518deffe830a9c439aeb9edd5d'
* commit 'd2ef708c95ace2518deffe830a9c439aeb9edd5d':
  matroskaenc: Allow VP9 and Opus in webm

Conflicts:
	libavformat/matroskaenc.c

See: 820ffaed0f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 12:00:20 +02:00
Dirk Ausserhaus
f76e3669bb Decode both parts of Indeo4 IP frames
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2014-06-01 08:53:27 +02:00
Dirk Ausserhaus
3df0d20028 Move Indeo4 frametypes into common header.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2014-06-01 08:53:27 +02:00
Anton Khirnov
383136264e avconv: do not use the stream codec context for encoding 2014-06-01 08:33:21 +02:00
Anton Khirnov
41776ba9c0 avconv: do not use the stream codec context for decoding 2014-06-01 08:33:11 +02:00
Anton Khirnov
e19d48dfce flac muxer: support reading updated extradata from side data 2014-06-01 08:32:33 +02:00
Anton Khirnov
0097cbea69 flac muxer: accept only STREAMINFO extradata
The other format (full flac header blocks) should not be exported by any
demuxers anymore.

This allows to drop an avpriv_ function and also simplify the following
commits.
2014-06-01 08:31:33 +02:00
Anton Khirnov
ed39cda029 flacenc: send final extradata in packet side data 2014-06-01 08:27:01 +02:00
Anton Khirnov
0957b274e3 lavc: add an option to enable side data-only packets during encoding
Some encoders (e.g. flac) need to send side data when there is no more
data to be output. This enables them to output a packet with no data in
it, only side data.
2014-06-01 08:26:43 +02:00
wm4
eb800f120d libavcodec: set AVFrame colorspace fields on decoding
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-06-01 08:23:05 +02:00
wm4
8c02adc62d lavu: add all color-related enums to AVFrame
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-06-01 08:22:02 +02:00
Tudor Suciu
d2ef708c95 matroskaenc: Allow VP9 and Opus in webm
Bug-Id: 695

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-06-01 07:50:00 +02:00
Michael Niedermayer
181b2c3724 avcodec/mjpegenc: disallow encoding amv with height%16!=0
I do not know on which side to place the padding to encode with 16x16 MBs
If someone knows or has a known to be correct sample, please contact me

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 04:00:47 +02:00
Michael Niedermayer
149be91374 avcodec/mjpegdec: request a AMV sample with non mod 16 height
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 04:00:47 +02:00
James Almer
e1bd40fe6b x86/motion_est: enable sad16_sse2 on k10 CPUs
The check is meant for k8 CPUs. sad16_sse2 is ~20% faster than sad16_mmxext on k10.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 02:10:32 +02:00
Michael Niedermayer
6dc709f0f5 avcodec/cljr: support width%4 encoding
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 00:48:48 +02:00
Michael Niedermayer
59a70422b1 avcodec/cljr: remove coded_frame code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 00:48:48 +02:00
James Almer
ac1077ab50 lavc/dsputil: add missing vsad8 and vsse8 functions
the mpeg encoder would try to use them if vsad or vsse were selected for frame_skip_cmp
and frame_skip_threshold or frame_skip_factor were set to values != 0

example: "ffmpeg -i INPUT -c:v mpeg2video -skipcmp vsad -skip_threshold 1 -f null -"

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-31 19:45:03 +02:00
Michael Niedermayer
28f7b81f9b Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Read mov files where the moov atom is hidden within a free atom.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-31 17:24:23 +02:00
Michael Niedermayer
e692c9672b avcodec/asvenc: fix encoding dimensions %16 != 0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-31 17:16:44 +02:00
Michael Niedermayer
879aa062f9 avutil/frame: frame_copy_video: support copying from a smaller to a larger frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-31 17:16:44 +02:00
Michael Niedermayer
e868f84e83 avcodec/snow: fix 1 pixel block sizes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-31 17:16:44 +02:00
Carl Eugen Hoyos
26b0d7198e Read mov files where the moov atom is hidden within a free atom.
Fixes ticket #1551 / issue 2226.
2014-05-31 16:57:27 +02:00
Carl Eugen Hoyos
aab2e939a9 Fix compilation with --disable-everything --enable-demuxer=matroska.
Fixes ticket #3693.
2014-05-31 16:29:02 +02:00
Carl Eugen Hoyos
e91e626182 lavc/jpeglsenc: Enable frame-threading. 2014-05-31 13:41:11 +02:00
Carl Eugen Hoyos
64afc3bb93 lavc/lclenc: Enable frame-threading. 2014-05-31 13:41:10 +02:00
Carl Eugen Hoyos
cdfe06aeb2 lavc/ljpegenc: Enable frame-threading. 2014-05-31 13:41:10 +02:00
Carl Eugen Hoyos
b91bf48f00 lavc/tiffenc: Enable frame-threading. 2014-05-31 13:41:10 +02:00
Carl Eugen Hoyos
c528d833a9 lavc/utvideoenc: Enable frame-threading. 2014-05-31 13:41:10 +02:00
Carl Eugen Hoyos
6e67852881 Use rc_max_rate in av_find_best_stream() if bitrate == 0.
Fixes ticket #2042.
2014-05-31 13:41:10 +02:00
John Peebles
925f7980eb libavformat: output cues for each subtitle block in MKV muxer
Signed-off-by: John Peebles <johnpeeb@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-31 13:26:48 +02:00
Michael Niedermayer
9c22e909ed Revert "avformat/movenchint: Fix movhinting with ff_rtp_chain_mux_open() from abb810db036628e11a5171134ebe320b187ee6d6"
This has become unneeded due to f797b134ca

This reverts commit 1fe40e1b05.
2014-05-31 12:54:00 +02:00
Michael Niedermayer
8c895ae73f Merge commit 'f797b134cad4d248b1c8955659997980d0668bc3'
* commit 'f797b134cad4d248b1c8955659997980d0668bc3':
  rtpenc_chain: Don't copy the time base to the source stream by default

See: 1fe40e1b05
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-31 12:53:46 +02:00
Martin Storsjö
f797b134ca rtpenc_chain: Don't copy the time base to the source stream by default
Only copy it manually in the muxers where it makes sense (rtspenc,
sapenc). Don't touch the original AVStream in movenchint, where
the original AVStream should be kept untouched.

This fixes the normal tracks in RTP hinted files after
abb810db - the hint tracks were ok while the normal media tracks
were broken, noticed by Michael Niedermayer.

This reverts abb810db but achieves the same effect for the other
muxers.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-05-31 12:02:23 +03:00
Christophe Gisquet
4ba8560077 huffyuv: increase VLC_BITS to 12
May require a different tuning for arm chips?

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-31 04:26:41 +02:00
Michael Niedermayer
2e532aa82d avformat/flvenc: fix assertion failure after 4h muxing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-31 01:43:41 +02:00
James Almer
f128342df2 build: fix compilation of svq1enc_mmx.c with --disable-mmx
It's needed for ff_svq1enc_init_x86() even if simd functions are disabled.

Alternatively, svq1enc_init.c could be made and the relevant code moved there.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-31 00:38:24 +02:00
James Almer
4ac41a52e2 x86/huffyuvdsp: fix some prototypes
Remove duplicate prototypes and fix int -> intptr_t in another

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-31 00:29:00 +02:00
Michael Niedermayer
83b8987df7 Merge commit 'd6d767d93e532246cacf3567e6bcad76a821f838'
* commit 'd6d767d93e532246cacf3567e6bcad76a821f838':
  ppc: Fix compilation for ppc64le (ELFv2)

Conflicts:
	libavcodec/ppc/asm.S

See: 41b928c5fa
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 23:15:20 +02:00
Michael Niedermayer
1fe40e1b05 avformat/movenchint: Fix movhinting with ff_rtp_chain_mux_open() from abb810db03
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 22:52:24 +02:00
Michael Niedermayer
692757062a Merge commit 'abb810db036628e11a5171134ebe320b187ee6d6'
* commit 'abb810db036628e11a5171134ebe320b187ee6d6':
  Revert "rtpenc_chain: Don't copy the time_base back to the caller"

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 22:03:51 +02:00
Thierry Fauck
d6d767d93e ppc: Fix compilation for ppc64le (ELFv2)
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-05-30 22:46:53 +03:00
Martin Storsjö
abb810db03 Revert "rtpenc_chain: Don't copy the time_base back to the caller"
While it strictly isn't necessary to copy the time base (since
any use of it is scaled in ff_write_chained), it still is better
to signal the actual time base to the caller, avoiding one
unnecessary rescaling. This also lets the caller know what the
actual internal time base is, in case that is useful info
for some caller.

This reverts commit 397ffde115.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-05-30 22:45:42 +03:00
Christophe Gisquet
d136fe6fd7 x86: huffyuvdsp: fewer functions for x86_64
When there are 2 functions that are <= SSE2, only one is needed for x86_64.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 21:39:06 +02:00
Michael Niedermayer
e0d0745560 avcodec/options: leave priv_data in avcodec_copy_context() intact
previously it was freed but the pointer not cleared

Found-by: ruggles
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 21:24:55 +02:00
Michael Niedermayer
82efa24c51 avcodec/proresenc_anatoliy: simplify get()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 18:49:25 +02:00
Michael Niedermayer
f6b1cd3936 avcodec/proresenc_anatoliy: load 4 samples at a time in get()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 18:49:25 +02:00
Michael Niedermayer
63b4d6feb8 avcodec/proresenc_anatoliy: Use fdct from DSPContext instead of direct call.
Based-on: a55546f48d by Diego Biurrun
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 18:49:25 +02:00
Michael Niedermayer
e263af3024 avcodec/proresenc_anatoliy: Set bits_per_raw_sample
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 18:49:25 +02:00
Michael Niedermayer
8716605a26 avformat/nutenc: Suggest genpts if AV_NOPTS_VALUE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 18:49:25 +02:00
Carl Eugen Hoyos
3ea0d9c8a5 Fix VDPAU decoders, regression since f2f99f07. 2014-05-30 17:34:26 +02:00
Timothy Gu
154cee9292 x86: dsputilenc: convert ff_sse{8, 16}_mmx() to yasm
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 16:57:52 +02:00
Timothy Gu
0b6292b7b8 x86: dsputilenc: move all the function prototypes together
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 16:18:10 +02:00
Timothy Gu
bfb4882345 tests: Add MPEG4 nsse test
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 15:43:04 +02:00
Christophe Gisquet
f743fa9c7f x86: huffyuvdsp: add_hfyu_left_pred_bgr32
C   MMX   SSE2
Cycles: 3092  1053  578

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 15:20:36 +02:00
Michael Niedermayer
7be79c76d3 avcodec/huffyuvdsp: Change w to intptr in add_hfyu_median_pred() and add_hfyu_left_pred()
This avoids potential issues with the high 32bits being random in x86-64 asm

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 15:12:58 +02:00
Christophe Gisquet
884078d2df x86: huffyuvdsp: add SSE2 median prediction
From 5010c to 4566 on lagarith YUY2.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 14:57:57 +02:00
Michael Niedermayer
b3dfebd641 avformat/matroskadec: fix off by 1 error in matroska_read_seek()
Fixes out of array read

Fixes: vp9-opus-crash.webm

Found-by: Dale Curtis <dalecurtis@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 13:55:03 +02:00
Dirk Ausserhaus
8bfb4d72dd avcodec/indeo4: Decode both parts of IP frames
Fixes part of Ticket845

av_frame_move_ref() idea by Anton Khirnov

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 13:49:42 +02:00
Dirk Ausserhaus
d24673a2c8 avcodec/indeo4: Move frametypes into common header.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 13:49:25 +02:00
Carl Eugen Hoyos
ca2ec98cbe Do not overwrite the sample format with AV_SAMPLE_FMT_NONE in libspeex_decode_init().
Fixes a regression since ef48ac65 when decoding speex in f4v, reported
by irc user massdos.
2014-05-30 07:38:19 +02:00
Carl Eugen Hoyos
1acb5ca02a Improve frame size calculation in caf muxer to fix adpcm_ms remuxing.
Fixes ticket #3645.
2014-05-30 07:26:18 +02:00
Michael Niedermayer
772d46d3b3 avcodec/qpeldsp: Restore author attribution
See: 368f50359e
See:
similarity index 51%
copy from libavcodec/dsputil.c
copy to libavcodec/qpeldsp.c
index 6d41dfc..0beeab8 100644
--- a/libavcodec/dsputil.c
+++ b/libavcodec/qpeldsp.c
@@ -1,9 +1,5 @@
 /*
- * DSP utils
- * Copyright (c) 2000, 2001 Fabrice Bellard
- * Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
- *
- * gmc & q-pel & 32/64 bit based MC by Michael Niedermayer <michaelni@gmx.at>
+ * quarterpel DSP functions
  *
  * This file is part of FFmpeg.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 04:05:40 +02:00
Michael Niedermayer
8c891d90ca avcodec/x86/qpeldsp_init: Restore author attribution
See: 368f50359e
See: 44eb495128, and many others
See:
similarity index 83%
copy from libavcodec/x86/dsputil_init.c
copy to libavcodec/x86/qpeldsp_init.c
index ebbf97f..8f296a1 100644
--- a/libavcodec/x86/dsputil_init.c
+++ b/libavcodec/x86/qpeldsp_init.c
@@ -1,6 +1,5 @@
 /*
- * Copyright (c) 2000, 2001 Fabrice Bellard
- * Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
+ * quarterpel DSP functions
  *
  * This file is part of FFmpeg.
  *

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 04:05:29 +02:00
Michael Niedermayer
b15a3cc575 qpel_template: Restore author attribution
See: 368f50359e
See: 59fe111e81
See:
similarity index 98%
rename from libavcodec/dsputil_template.c
rename to libavcodec/qpel_template.c
index 95d966e..500c75b 100644
--- a/libavcodec/dsputil_template.c
+++ b/libavcodec/qpel_template.c
@@ -1,9 +1,5 @@
 /*
- * DSP utils
- * Copyright (c) 2000, 2001 Fabrice Bellard
- * Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
- *
- * gmc & q-pel & 32/64 bit based MC by Michael Niedermayer <michaelni@gmx.at>
+ * quarterpel DSP function templates
  *
  * This file is part of FFmpeg.
  *

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 04:05:13 +02:00
Michael Niedermayer
98a6806fdd Merge commit '368f50359eb328b0b9d67451f56fda20b3255f9a'
* commit '368f50359eb328b0b9d67451f56fda20b3255f9a':
  dsputil: Split off quarterpel bits into their own context

Conflicts:
	configure
	libavcodec/dsputil.c
	libavcodec/h263dec.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/vc1dec.c
	libavcodec/vc1dsp.c
	libavcodec/x86/dsputil_init.c
	libavcodec/x86/qpeldsp.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 02:43:34 +02:00
Michael Niedermayer
d35899ccce Merge commit 'cb52a17cb62297802b0a77e5af9850d87c3f925b'
* commit 'cb52a17cb62297802b0a77e5af9850d87c3f925b':
  dsputil: Move Bink-specific add_pixels8 to binkdsp

Conflicts:
	libavcodec/dsputil.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 01:23:04 +02:00
Michael Niedermayer
40f3a87c10 Merge commit '054013a0fc6f2b52c60cee3e051be8cc7f82cef3'
* commit '054013a0fc6f2b52c60cee3e051be8cc7f82cef3':
  dsputil: Move APE-specific bits into apedsp

Conflicts:
	libavcodec/arm/int_neon.S
	libavcodec/x86/dsputil.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 00:59:15 +02:00
Michael Niedermayer
5c6e94c42b Merge commit '256da0770e495176d1b2699ec6e9c7993c2a6d7b'
* commit '256da0770e495176d1b2699ec6e9c7993c2a6d7b':
  dsputil: Move mspel_pixels_tab to the only place it is used

Conflicts:
	libavcodec/dsputil.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 00:42:36 +02:00
Michael Niedermayer
a9a312d299 Merge commit '3832a6590156e6abc575bed51cbffa78617ee5fd'
* commit '3832a6590156e6abc575bed51cbffa78617ee5fd':
  dsputil: Move ff_alternate_*_scan tables to mpegvideo

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 00:30:45 +02:00
Michael Niedermayer
c814a6c778 avcodec/x86/svq1enc_mmx: Add author attribution
See: 5900637219
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 00:30:05 +02:00
Michael Niedermayer
ea0931fb96 Merge commit '65d5d5865845f057cc6530a8d0f34db952d9009c'
* commit '65d5d5865845f057cc6530a8d0f34db952d9009c':
  dsputil: Move SVQ1 encoding specific bits into svq1enc

Conflicts:
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 00:01:45 +02:00
Michael Niedermayer
cb8763bda7 Merge commit '2ea2612df508abdd1f97c6a6ef56275a52c5c41e'
* commit '2ea2612df508abdd1f97c6a6ef56275a52c5c41e':
  svq1enc: Rename SVQ1Context to SVQ1EncContext

Conflicts:
	libavcodec/svq1enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 23:50:56 +02:00
Michael Niedermayer
b3f4615081 ffmpeg: fix check for muxing overhead being unknown
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 23:39:54 +02:00
James Almer
02a3e327f1 x86/dsputilenc: add missing guards to ff_pix_sum16_xop
XOP support was added in Yasm 1.0.0 and Nasm 2.06, and we still
support older versions.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 22:31:28 +02:00
Christophe Gisquet
99a319c4e7 x86: huffyuvdsp: port add_bytes to yasm
C   MMX  SSE2
Cycles: 2972  587  302

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 21:56:00 +02:00
Christophe Gisquet
2267003981 x86: hpeldsp: better factorization
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 21:47:40 +02:00
Christophe Gisquet
bf7e9cc82a tests: allow passing dimensions to videogen
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 21:26:48 +02:00
Michael Niedermayer
7b4c46050e rename add_hfyu_left_prediction_int16 to add_hfyu_left_pred_int16
This makes the naming more consistent with the 8bit variant

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 19:50:44 +02:00
Michael Niedermayer
550ae6c02f rename add_hfyu_median_prediction_int16 to add_hfyu_median_pred_int16
This makes the naming more consistent with the 8bit variant

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 19:49:29 +02:00
Michael Niedermayer
40a4ab8ba4 rename sub_hfyu_median_prediction_int16 to sub_hfyu_median_pred_int16
This makes the naming more consistent with the 8bit variant

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 19:48:23 +02:00
James Almer
05de4d3011 x86/dsputilenc: implement XOP version of pix_sum16
SSE2: 137 cycles
XOP:   87 cycles
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 18:40:23 +02:00
Michael Niedermayer
232959f184 Merge commit '08cd92144e73195eecc28ed0348e66e255516b82'
* commit '08cd92144e73195eecc28ed0348e66e255516b82':
  aarch64: Use the correct syntax for relocations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 18:16:15 +02:00
Michael Niedermayer
fba0ac2805 avcodec/dpx_parser: Allow frame size to be too small
Fixes Ticket3402

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 17:28:06 +02:00
Michael Niedermayer
8df5d9aabf avcodec/dpx_parser: fix flushing end out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 17:22:26 +02:00
Michael Niedermayer
f518fb3318 avcodec/dpx_parser: reset index when finding a startcode, not after
This is simpler

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 17:18:47 +02:00
Diego Biurrun
368f50359e dsputil: Split off quarterpel bits into their own context 2014-05-29 06:48:31 -07:00
Diego Biurrun
cb52a17cb6 dsputil: Move Bink-specific add_pixels8 to binkdsp 2014-05-29 06:48:08 -07:00
Diego Biurrun
054013a0fc dsputil: Move APE-specific bits into apedsp 2014-05-29 06:41:15 -07:00
Diego Biurrun
256da0770e dsputil: Move mspel_pixels_tab to the only place it is used 2014-05-29 06:41:15 -07:00
Diego Biurrun
3832a65901 dsputil: Move ff_alternate_*_scan tables to mpegvideo 2014-05-29 06:41:15 -07:00
Diego Biurrun
65d5d58658 dsputil: Move SVQ1 encoding specific bits into svq1enc 2014-05-29 06:41:15 -07:00
Diego Biurrun
2ea2612df5 svq1enc: Rename SVQ1Context to SVQ1EncContext
This allows making it visible without name clashes.
2014-05-29 06:41:14 -07:00
Christophe Gisquet
25e6310a3e huffyuv: change left prediction access in BGRA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 14:46:21 +02:00
Christophe Gisquet
c609f803e1 huffyuv: avoid duplicated defines
Move the defines to the dsp header.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 14:08:35 +02:00
Martin Storsjö
08cd92144e aarch64: Use the correct syntax for relocations
This fixes building in PIC mode with gas. The examples in the gas
manual showed using a # here even though gas itself actually didn't
support that syntax (and the gas test suite only tests it without
the extra hash sign).

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-05-29 14:47:25 +03:00
Michael Niedermayer
4991eacc06 Merge commit '962d63157322466a9a82f9f9d84c1b6f1b582f65'
* commit '962d63157322466a9a82f9f9d84c1b6f1b582f65':
  matroskaenc: set the stream timebase earlier

Conflicts:
	tests/ref/lavf/mkv
	tests/ref/seek/lavf-mkv

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 13:43:04 +02:00
Michael Niedermayer
e46cc1dab0 Merge commit '43e7f0797f9f821a3866a20f05e512e13c82076a'
* commit '43e7f0797f9f821a3866a20f05e512e13c82076a':
  flvenc: only write the framerate tag based on avg_frame_rate

Conflicts:
	tests/ref/lavf/flv_fmt
	tests/ref/seek/lavf-flv_fmt
	tests/ref/seek/vsynth2-flv
	tests/ref/vsynth/vsynth1-flashsv
	tests/ref/vsynth/vsynth1-flv
	tests/ref/vsynth/vsynth2-flashsv
	tests/ref/vsynth/vsynth2-flv

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 13:30:12 +02:00
Michael Niedermayer
a72df4dadc Merge commit 'cf6977712c9e5abe6dc55289f6322ccbf10321a9'
* commit 'cf6977712c9e5abe6dc55289f6322ccbf10321a9':
  movenc: write avg_frame_rate as the framerate, not the codec timebase

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 13:07:33 +02:00
Michael Niedermayer
bc59d39b82 Merge commit '81eec081afea9fc017a175581ceea7c420a0dfc3'
* commit '81eec081afea9fc017a175581ceea7c420a0dfc3':
  matroskaenc: base DefaultDuration on the framerate, not the codec timebase

Conflicts:
	libavformat/matroskaenc.c
	tests/ref/lavf/mkv
	tests/ref/seek/lavf-mkv

See: ea83b032af
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 12:58:55 +02:00
Michael Niedermayer
d9c4f61dab Merge commit 'a53551cba86bb67efcb6105fdc337a36c43132bd'
* commit 'a53551cba86bb67efcb6105fdc337a36c43132bd':
  frame: fix the error path in av_frame_copy_props()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 12:35:02 +02:00
Anton Khirnov
962d631573 matroskaenc: set the stream timebase earlier
Fixes calculating the ts offset for audio codecs with delay.
2014-05-29 08:01:58 +02:00
Anton Khirnov
43e7f0797f flvenc: only write the framerate tag based on avg_frame_rate
Do not fall back on the codec timebase, since that can be anything for
VFR video.
2014-05-29 08:01:30 +02:00
Anton Khirnov
cf6977712c movenc: write avg_frame_rate as the framerate, not the codec timebase 2014-05-29 08:01:23 +02:00
Anton Khirnov
81eec081af matroskaenc: base DefaultDuration on the framerate, not the codec timebase
This results in DefaultDuration not being written when the framerate is
not known, but as this field is purely informative, this should not
break any sane demuxers.
2014-05-29 08:00:57 +02:00
Roman Savchenko
a53551cba8 frame: fix the error path in av_frame_copy_props()
First free metadata, then the side data it is contained in.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-29 07:59:56 +02:00
Michael Niedermayer
78a79a2ceb avformat/nutenc: replace conditional by assert
Its implied by sp_count==0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 04:26:18 +02:00
Michael Niedermayer
6d1aba6a29 avformat/nutenc: limit index table size if no index is going to be written
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 03:49:16 +02:00
Michael Niedermayer
82beb46e65 avformat/nutenc: add mode that omits the index
When the index is not written, several data tables become unneeded,
reducing memory and cpu requirements.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 03:37:37 +02:00
Michael Niedermayer
df889be0a8 nutenc: avoid av_tree_find() operation per syncpoint
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 03:20:04 +02:00
Michael Niedermayer
6b041cb617 avformat/nutdec: Fix handling of older 4.0 files
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 01:48:02 +02:00
Michael Niedermayer
170a4d79c0 avformat/nutenc: bump minor version due to broadcast/pipe
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 01:44:02 +02:00
Michael Niedermayer
45daae06fd avformat/nutenc: change check to match comment
The code appears to assume STABLE will never change

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 01:41:56 +02:00
Michael Niedermayer
99b15f1daa avformat/nutenc: fix used version value
The broadcast/pipe flags arent stable + 1 they would be 4 or whenever but wouldnt change based
on which is stable

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 01:40:07 +02:00
Michael Niedermayer
20343cfb51 Merge commit 'ad0fe2f4012031c47268f14b9835088c488e1998'
* commit 'ad0fe2f4012031c47268f14b9835088c488e1998':
  af_resample: Use avresample_get_out_samples

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 01:24:48 +02:00
Michael Niedermayer
bdb2e80e88 Merge commit 'b2d45654220503224aa94e78cdff19ec624e9342'
* commit 'b2d45654220503224aa94e78cdff19ec624e9342':
  avresample: Add avresample_get_out_samples

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 01:23:22 +02:00
Michael Niedermayer
a8499cbbe8 Merge commit 'c94e2e85cb6af8a570d8542a830556243bd32873'
* commit 'c94e2e85cb6af8a570d8542a830556243bd32873':
  nut: Support experimental NUT 4 features

Conflicts:
	doc/nut.texi
	libavformat/nut.h
	libavformat/nutdec.c
	libavformat/nutenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 01:13:59 +02:00
Michael Niedermayer
d858ee717b Merge commit '6d212599aa684f30511fb08ca30fe2378405304e'
* commit '6d212599aa684f30511fb08ca30fe2378405304e':
  avformat: Provide a standard compliance flag

Conflicts:
	doc/APIchanges
	libavformat/avformat.h
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 00:20:48 +02:00
Michael Niedermayer
b50559fc0b libavcodec/x86/dsputilenc: drop and 0xffff that should have becomei redundant
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 00:16:52 +02:00
James Almer
561bfc85eb x86/dsputilenc: implement SSE2 versions of pix_{sum16, norm1}
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 23:29:34 +02:00
Michael Niedermayer
d228271813 tests/fate/opus: change test to use the official reference samples
The official samples are 50% smaller
Avoid having reference samples which are strongly linked to the used resampler
implementation. (which for example would require new samples to be used if this
implementation changes)
Also its more correct to use the official samples instead of the current
decoder output

also enable tests
The tests also fully pass as well with the previous samples.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 23:12:46 +02:00
Luca Barbato
ad0fe2f401 af_resample: Use avresample_get_out_samples 2014-05-28 22:50:55 +02:00
Konrad Iturbe
c3ee6e3153 INSTALL: add markdown syntax
Reviewed-by: llogan
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 22:38:38 +02:00
Konrad Iturbe
50f4d0bb50 LICENCE: add markdown syntax
Reviewed-by: llogan
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 22:38:28 +02:00
Konrad Iturbe
c1485afe49 README: add markdown syntax
Reviewed-by: llogan
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 22:38:11 +02:00
Luca Barbato
b2d4565422 avresample: Add avresample_get_out_samples
Utility function to get the upper bound on the number of samples the
resampler would output.
2014-05-28 22:04:56 +02:00
Luca Barbato
c94e2e85cb nut: Support experimental NUT 4 features
Add the low overhead pipe mode and the extended broadcast mode.
Export the options as 'syncponts' since it impacts only that.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-05-28 22:04:56 +02:00
Luca Barbato
6d212599aa avformat: Provide a standard compliance flag
Provide f_strict for avconv usage.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-05-28 22:04:56 +02:00
Michael Niedermayer
b3f9052177 Merge commit '7dba055bb0d31b2c79d9c3a66abb849a71417d3c'
* commit '7dba055bb0d31b2c79d9c3a66abb849a71417d3c':
  oggenc: Fix the EOS flag

Conflicts:
	tests/ref/lavf/ogg

See: 919c320f72
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 22:03:34 +02:00
Michael Niedermayer
7dba055bb0 oggenc: Fix the EOS flag
This corrects the bug that caused the checksums to change in
9767d7c092.

It caused the EOS flag to be set incorrectly; the ogg spec does not
allow it to be set in the middle of a logical bitstream.

Signed-off-by: Andrew Kelley <superjoe30@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-05-28 21:51:38 +03:00
Vignesh Venkatasubramanian
c14045c818 lavf: Remove experimental flag for Opus in WebM
Opus in WebM is no more experimental as we have everything necessary in
the container writing code as per the spec. So removing the experimental flag.
Note that we removed the experimental suffix from the CodecId field long
ago ( http://goo.gl/O0TYRB ).

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 19:29:45 +02:00
Lazaros Koromilas
0f87b42b44 libavformat/utils: Warning about invalid cover art instead of an error
This way other streams can still be used with the -map option.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 19:12:02 +02:00
Christophe Gisquet
0810608e23 x86: hevc_mc: better register allocation
The xmm reg count was incorrect, and manual loading of the gprs
furthermore allows to noticeable reduce the number needed.

The modified functions are used in weighted prediction, so only a
few samples like WP_* exhibit a change. For this one and Win64
(some widths removed because of too few occurrences):

WP_A_Toshiba_3.bit, ff_hevc_put_hevc_uni_w
         16    32
before: 2194  3872
after:  2119  3767

WP_B_Toshiba_3.bit, ff_hevc_put_hevc_bi_w
         16    32    64
before: 2819  4960  9396
after:  2617  4788  9150

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 17:39:34 +02:00
Michael Niedermayer
ec33f59fed avcodec/mjpegdec: Support pix_fmt_id== 0x42111100
Fixes: 538782_300.jpg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 16:36:04 +02:00
Michael Niedermayer
cf3a038f50 avformat/matroskaenc: fix ident string
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 15:15:14 +02:00
Michael Niedermayer
175aeab0b4 Merge commit 'b5aa48551300eed678aaea86ced7086758598a35'
* commit 'b5aa48551300eed678aaea86ced7086758598a35':
  ppc: Move vec_unaligned_load macro to util_altivec

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 14:53:55 +02:00
Michael Niedermayer
2320731614 Merge commit '593886b5dd2b583657aa3fd80bb173f702c9710d'
* commit '593886b5dd2b583657aa3fd80bb173f702c9710d':
  ppc: util_altivec: Drop unused macros

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 14:44:55 +02:00
Michael Niedermayer
61917a104e Merge commit '106b62f4ba600f24415eaded5e020aeceb23fd59'
* commit '106b62f4ba600f24415eaded5e020aeceb23fd59':
  matroskaenc: write the channel mask for FLAC

Conflicts:
	libavformat/matroskaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 13:19:26 +02:00
Michael Niedermayer
dff4aa6afd Merge commit 'efcde917af407a6031ecff68edd51fce7b83d104'
* commit 'efcde917af407a6031ecff68edd51fce7b83d104':
  vorbiscomment: simplify API by using av_dict_count()

Conflicts:
	libavformat/flacenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 13:08:50 +02:00
Michael Niedermayer
579e2b2874 Merge commit '23f741f79327e31be7b2a75ebb2e02111e06e52f'
* commit '23f741f79327e31be7b2a75ebb2e02111e06e52f':
  matroskadec: parse the channel layout mask for FLAC

Conflicts:
	libavformat/oggparsevorbis.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 13:02:19 +02:00
Michael Niedermayer
1c0ce2d4e0 Merge commit '4efdadc8ec50332c812e8a95e8c67f5a260e7cb0'
* commit '4efdadc8ec50332c812e8a95e8c67f5a260e7cb0':
  matroskadec: export just the STREAMINFO block as FLAC extradata

Conflicts:
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 12:49:28 +02:00
Michael Niedermayer
69de229bb8 Merge commit '6df478bf891b9fc5626e4a0b993899f310ba0a1c'
* commit '6df478bf891b9fc5626e4a0b993899f310ba0a1c':
  matroskadec: split parsing tracks into a separate function

Conflicts:
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 12:41:35 +02:00
Michael Niedermayer
40beec6a43 Merge commit '5fdaf312c5541b77b6364db8b49d6abb416a25c0'
* commit '5fdaf312c5541b77b6364db8b49d6abb416a25c0':
  flac: make avpriv_flac_parse_block_header() inline

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 12:33:49 +02:00
Diego Biurrun
b5aa485513 ppc: Move vec_unaligned_load macro to util_altivec
This allows reusing it from multiple files.
2014-05-28 03:29:33 -07:00
Michael Niedermayer
61301ca786 Merge commit '54ed488b1af583df6c9d2a73b4a44f16b7e4f82c'
* commit '54ed488b1af583df6c9d2a73b4a44f16b7e4f82c':
  flac muxer: write WAVEFORMATEXTENSIBLE_CHANNEL_MASK tag for multichannel files

Conflicts:
	libavformat/flacenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 12:28:23 +02:00
Michael Niedermayer
03ffaed3f0 Merge commit 'd6b9ce99ea384fb676561461768b8316725a4ccd'
* commit 'd6b9ce99ea384fb676561461768b8316725a4ccd':
  flac demuxer: parse the WAVEFORMATEXTENSIBLE_CHANNEL_MASK tag

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 12:21:50 +02:00
Michael Niedermayer
ef13967e60 Merge commit 'f13ffb6636fdecb5e3e0ddcff48f096e7b3db362'
* commit 'f13ffb6636fdecb5e3e0ddcff48f096e7b3db362':
  flacdec: do not overwrite a channel layout set by the caller

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 12:20:12 +02:00
Diego Biurrun
593886b5dd ppc: util_altivec: Drop unused macros 2014-05-28 03:11:24 -07:00
Anton Khirnov
106b62f4ba matroskaenc: write the channel mask for FLAC 2014-05-28 07:55:14 +02:00
Anton Khirnov
efcde917af vorbiscomment: simplify API by using av_dict_count() 2014-05-28 07:54:54 +02:00
Anton Khirnov
23f741f793 matroskadec: parse the channel layout mask for FLAC
It is commonly stored in a vorbiscomment block in codec private data.
2014-05-28 07:50:32 +02:00
Anton Khirnov
4efdadc8ec matroskadec: export just the STREAMINFO block as FLAC extradata
It contains all information that is used by the decoder and the other
FLAC-capable demuxers (flacdec, ogg) export only STREAMINFO as well.
2014-05-28 07:49:15 +02:00
Anton Khirnov
6df478bf89 matroskadec: split parsing tracks into a separate function 2014-05-28 07:48:59 +02:00
Anton Khirnov
5fdaf312c5 flac: make avpriv_flac_parse_block_header() inline
This avoids all the ABI troubles associated with avpriv_.
Since this function is very small and does not depend on any tables,
making it inline should have no adverse effects.
2014-05-28 07:48:30 +02:00
Anton Khirnov
54ed488b1a flac muxer: write WAVEFORMATEXTENSIBLE_CHANNEL_MASK tag for multichannel files 2014-05-28 07:47:31 +02:00
Anton Khirnov
d6b9ce99ea flac demuxer: parse the WAVEFORMATEXTENSIBLE_CHANNEL_MASK tag
It is used to store the channel mask for non-standard layouts.
2014-05-28 07:47:15 +02:00
Anton Khirnov
f13ffb6636 flacdec: do not overwrite a channel layout set by the caller
The channel layout mask for non-standard layouts is typically stored at
the container level (as a vorbiscomment tag) for FLAC.
2014-05-28 07:46:04 +02:00
Lukasz Marek
8518da23f5 ffmpeg: add -devices param
FFmpeg mix devices and file formats when -formats option is used.
This commit adds a -devices param to list devices only.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 03:52:50 +02:00
Lazaros Koromilas
bbc10a1aa5 libavformat/utils: Fix segfault on m4a cover artwork parsing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 03:35:39 +02:00
Thierry Foucu
12875df324 Timecode: Support 48fps
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 03:25:41 +02:00
Michael Niedermayer
919c320f72 avformat/oggenc: fix EOS flag
This corrects the bug that caused the checksums to change in
9767d7c092

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 01:12:18 +02:00
Michael Niedermayer
b5657516b2 Merge commit '9767d7c092c890ecc5953452e8a951fd902dd67b'
* commit '9767d7c092c890ecc5953452e8a951fd902dd67b':
  oggenc: Flush after writing headers

Conflicts:
	tests/ref/lavf/ogg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 01:00:10 +02:00
Michael Niedermayer
5313d60dc0 Merge commit '1d3eb0b5735f6dd72d2bf648455cf06ac7c24bc1'
* commit '1d3eb0b5735f6dd72d2bf648455cf06ac7c24bc1':
  oggenc: Move ogg_write_pages up above ogg_write_header

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 00:28:08 +02:00
Michael Niedermayer
48a6916308 Merge commit '512f3ffe9b4bb86767c2b1176554407c75fe1a5c'
* commit '512f3ffe9b4bb86767c2b1176554407c75fe1a5c':
  dsputil: Split off HuffYUV encoding bits into their own context

Conflicts:
	configure
	libavcodec/dsputil.c
	libavcodec/dsputil.h
	libavcodec/huffyuv.h
	libavcodec/huffyuvenc.c
	libavcodec/pngenc.c
	libavcodec/x86/dsputilenc_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 00:03:59 +02:00
Michael Niedermayer
e2abc0d5ca Merge commit '0d439fbede03854eac8a978cccf21a3425a3c82d'
* commit '0d439fbede03854eac8a978cccf21a3425a3c82d':
  dsputil: Split off HuffYUV decoding bits into their own context

Conflicts:
	configure
	libavcodec/dsputil.c
	libavcodec/dsputil.h
	libavcodec/huffyuv.h
	libavcodec/huffyuvdec.c
	libavcodec/lagarith.c
	libavcodec/vble.c
	libavcodec/x86/Makefile
	libavcodec/x86/dsputil.asm
	libavcodec/x86/dsputil_init.c
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 23:16:06 +02:00
Michael Niedermayer
43c57dbe14 Merge commit '888dcd86755d37e55fd74166f6d38ad66d41db58'
* commit '888dcd86755d37e55fd74166f6d38ad66d41db58':
  h264_picture: Remove pointless dsputil.h #include

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 22:34:16 +02:00
Michael Niedermayer
d84286b1ea Merge commit 'f1df0a4c08b54e722e7a2c797d0d31c7f2c531d0'
* commit 'f1df0a4c08b54e722e7a2c797d0d31c7f2c531d0':
  on2avc: Remove pointless dsputil.h #include

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 22:29:11 +02:00
Michael Niedermayer
5be8c27694 avformat/rtspdec: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 20:42:50 +02:00
Michael Niedermayer
2870617853 avcodec/vp3: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 20:42:50 +02:00
Michael Niedermayer
0674da997a avcodec/cavs: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 20:42:50 +02:00
Lou Logan
8a64ea768b doc/filters: amix only supports float samples
Signed-off-by: Lou Logan <lou@lrcd.com>
2014-05-27 10:23:57 -08:00
Andrew Kelley
9767d7c092 oggenc: Flush after writing headers
Before, header information for ogg format files was sent with the
first encoded packet.

This patch makes it so that it is possible for API users to
differentiate between headers and encoded audio. This is useful, for
example, when creating an audio stream where you want to send one set
of headers for every client that connects and then the encoded stream
of audio.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-05-27 20:16:59 +03:00
Andrew Kelley
1d3eb0b573 oggenc: Move ogg_write_pages up above ogg_write_header
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-05-27 20:16:58 +03:00
Michael Niedermayer
1853e2cba9 avfilter/formats: Avoid using non public AV_SAMPLE_FMT_NB
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 18:22:09 +02:00
Diego Biurrun
512f3ffe9b dsputil: Split off HuffYUV encoding bits into their own context
Also shorten HuffYUV context member names to avoid clutter.
2014-05-27 08:54:53 -07:00
Diego Biurrun
0d439fbede dsputil: Split off HuffYUV decoding bits into their own context
Also shorten HuffYUV context member names to avoid clutter.
2014-05-27 08:52:34 -07:00
Michael Niedermayer
0d26264fb4 avfilter/vf_drawtext: Avoid using non public AV_PIX_FMT_NB
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 17:52:24 +02:00
Michael Niedermayer
ee0c91cc65 avfilter/vf_telecine: Avoid using non public AV_PIX_FMT_NB
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 17:45:36 +02:00
Michael Niedermayer
515e8aed03 avfilter/vf_transpose: Avoid using non public AV_PIX_FMT_NB
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 17:45:21 +02:00
Michael Niedermayer
e10ac3a12e avfilter/vf_swapuv: Avoid using non public AV_PIX_FMT_NB
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 17:45:07 +02:00
Michael Niedermayer
cfa0ad6eec avfilter/vf_noise: Avoid using non public AV_PIX_FMT_NB
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 17:44:45 +02:00
Michael Niedermayer
1dbc98461b avfilter/vf_mergeplanes: Avoid using non public AV_PIX_FMT_NB
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 17:44:15 +02:00
Michael Niedermayer
c0f8801e47 avfilter/il: Avoid using non public AV_PIX_FMT_NB
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 17:44:02 +02:00
Michael Niedermayer
5feac96fdb avfilter/hflip: Avoid using non public AV_PIX_FMT_NB
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 17:43:46 +02:00
Michael Niedermayer
f3fdc32e2f avfilter/crop: Avoid using non public AV_PIX_FMT_NB
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 17:43:32 +02:00
Michael Niedermayer
64fb19cc99 avfilter/formats: Avoid using non public AV_PIX_FMT_NB
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 17:43:03 +02:00
Andreas Cadhalpun
0f17bc644c Improve the detection of architecture x86.
This fixes building on Debian GNU/Hurd.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 16:28:04 +02:00
James Almer
5863207086 x86/dsputilenc: use HADDD in ff_sse16_sse2
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 15:12:50 +02:00
Diego Biurrun
888dcd8675 h264_picture: Remove pointless dsputil.h #include 2014-05-27 03:12:17 -07:00
Diego Biurrun
f1df0a4c08 on2avc: Remove pointless dsputil.h #include 2014-05-27 03:12:17 -07:00
James Almer
e64e079ece x86/dsputilenc: implement SSE2 version of diff_pixels
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 05:55:11 +02:00
Michael Niedermayer
a0c5cd3475 avcodec/x86/dsputilenc: set the count of SSE registers correctly for get_pixels
Found-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 05:52:25 +02:00
Michael Niedermayer
a1cb4efd2f Merge commit '7cc4c9f32f446feaec5447e3d097e8147e35f156'
* commit '7cc4c9f32f446feaec5447e3d097e8147e35f156':
  lavfi/formats: avoid using AV_{PIX,SAMPLE}_FMT_NB

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 03:23:23 +02:00
Michael Niedermayer
50ffd8439c Merge commit 'b03b2d86aa9d79670825b42d8a8a7c41f59cb444'
* commit 'b03b2d86aa9d79670825b42d8a8a7c41f59cb444':
  buffersrc: avoid using AV_PIX_FMT_NB

Conflicts:
	libavfilter/buffersrc.c

No change as AV_PIX_FMT_NB was not used by our buffersrc.c
See: 0d58bbb28d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 03:18:27 +02:00
Michael Niedermayer
cdf6a9441d Merge commit 'a7d070acb55c3ebbdd5e93e3366f32865732b8a3'
* commit 'a7d070acb55c3ebbdd5e93e3366f32865732b8a3':
  vf_fieldorder: avoid using AV_PIX_FMT_NB

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 03:02:37 +02:00
Michael Niedermayer
de5ec08825 Merge commit '862f33c10ea38ea49fa4188725df5e5246dbd1d8'
* commit '862f33c10ea38ea49fa4188725df5e5246dbd1d8':
  vf_scale: use the pixfmt descriptor API

Conflicts:
	libavfilter/vf_scale.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 02:54:58 +02:00
Michael Niedermayer
a37f2cc579 avfilter/vf_format: fix duplicate ;
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 02:53:17 +02:00
Michael Niedermayer
6e9dbee7c6 Merge commit '45fc73edfe071f9690e8671ed2dc402b1cb02ece'
* commit '45fc73edfe071f9690e8671ed2dc402b1cb02ece':
  vf_format: rework format list parsing

Conflicts:
	libavfilter/vf_format.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 02:46:56 +02:00
Michael Niedermayer
e222cfefcd Merge commit '4d8c28deab2488579f585406110b1be790896e59'
* commit '4d8c28deab2488579f585406110b1be790896e59':
  imgutils: make systematic palette opaque.

Conflicts:
	libavutil/imgutils.c

See: 4d8c28deab
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 02:27:35 +02:00
Michael Niedermayer
e6a084641a avformat/utils: set max analyze duration depending on the circumstances
Fixes Ticket3673

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-26 22:33:01 +02:00
Michael Niedermayer
52887aa409 avformat: move default for max_analyze_duration into utils.c
this way we can do better tha a single fixed constant value

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-26 22:33:01 +02:00
Anton Khirnov
7cc4c9f32f lavfi/formats: avoid using AV_{PIX,SAMPLE}_FMT_NB
Thatt hardcodes the number of formats into lavfi and will break when a
shared lavu is updated, adding new formats.
2014-05-26 22:25:47 +02:00
Anton Khirnov
b03b2d86aa buffersrc: avoid using AV_PIX_FMT_NB
That hardcodes the number of pixel formats into lavfi and will break
when a shared lavu is updated, adding new pixel formats.
2014-05-26 22:25:41 +02:00
Anton Khirnov
a7d070acb5 vf_fieldorder: avoid using AV_PIX_FMT_NB
That hardcodes the number of pixel formats into lavfi and will break
when a shared lavu is updated, adding new pixel formats.
2014-05-26 22:25:26 +02:00
Anton Khirnov
862f33c10e vf_scale: use the pixfmt descriptor API
Avoid using AV_PIX_FMT_NB, since that hardcodes the number of pixel
formats into lavfi and will break when a shared lavu is updated, adding
new pixel formats.
2014-05-26 22:24:46 +02:00
Anton Khirnov
45fc73edfe vf_format: rework format list parsing
Avoid using AV_PIX_FMT_NB, since that hardcodes the number of pixel
formats into lavfi and will break when a shared lavu is updated, adding
new pixel formats.
2014-05-26 22:22:42 +02:00
Lou Logan
60ef61242c MAINTAINERS: add Trac maintainers
Signed-off-by: Lou Logan <lou@lrcd.com>
2014-05-26 12:18:29 -08:00
Lou Logan
5b1a56b34b doc/ffmpeg: note that -t is also an input option
Signed-off-by: Lou Logan <lou@lrcd.com>
2014-05-26 12:11:34 -08:00
Lou Logan
2dbf5e7038 configure: s/solving/solve
Signed-off-by: Lou Logan <lou@lrcd.com>
2014-05-26 11:54:35 -08:00
Clément Bœsch
53bac1b4bd doc: add a tutorial for writing filters. 2014-05-26 21:28:19 +02:00
Michael Niedermayer
d35000c2dc avcodec/g723_1: fix writing into input frame data and warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-26 21:05:03 +02:00
Carl Eugen Hoyos
2d56f0d054 Write the actual mp3 frame size when muxing into caf if available.
Fixes ticket #3648.
2014-05-26 20:28:07 +02:00
Michael Niedermayer
2db89765f3 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  ffmpeg: use thread message API.
  lavu: add thread message API.
  compat/w32pthreads: add return value to pthread_cond_init().

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-26 16:35:52 +02:00
Neil Armstrong
99d742aac4 configure: uClibc native pthread requires -ldl
In the configure script, add a pthread detection with
-ldl added to cflags, because uClibc requires -ldl to
link with native libpthread.

Tested with a custom ARM toolchain with uClibc 0.9.33.2 and gcc 4.6.3.

Signed-off-by: Neil Armstrong <narmstrong@neotion.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-26 16:00:25 +02:00
Christophe Gisquet
86ae0da60c x86: hpeldsp: propagate changes across codecs
Some codecs still use mmx versions, so have them use the versions
with newer instruction sets.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-26 15:37:04 +02:00
Nicolas George
fc9c857c2d ffmpeg: use thread message API. 2014-05-26 11:40:21 +02:00
Nicolas George
55cc60cd6d lavu: add thread message API. 2014-05-26 11:40:15 +02:00
Nicolas George
58a10e0e2c compat/w32pthreads: add return value to pthread_cond_init(). 2014-05-26 11:33:42 +02:00
Michael Niedermayer
96470ca22b avformat/mov: allow seeking back to the begin even if nothing is marked as keyframe
Fixes Ticket 3663

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-26 01:23:46 +02:00
Michael Niedermayer
d2eacbb754 doc/APIchanges: fix typo in date 2014-05-26 01:22:29 +02:00
Michael Niedermayer
d236d4907c update APIchanges & version for c37d179
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-26 00:20:07 +02:00
Michael Niedermayer
c37d179295 avformat: add format_probesize to allow tuning the maximum amount of bytes to identify the filetype
Currently probesize is cliped at 1mb before being used for format detection.
Alternatively this cliping could be removed but this would then tie various
things like stream analysis to the file detection.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 23:54:34 +02:00
Michael Niedermayer
b0d0e29ffb avcodec/sgirledec: fix () in RBG323_TO_BGR8() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 23:08:51 +02:00
Michael Niedermayer
9f50d3b944 avcodec/rv34: Fix () in GET_PTS_DIFF() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 21:42:19 +02:00
Michael Niedermayer
a45e6b7bc5 avcodec/psymodel: Fix () in AAC_CUTOFF() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 21:41:57 +02:00
Michael Niedermayer
e5dc7439e3 avcodec/proresenc_anatoliy: Fix () in macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 21:41:35 +02:00
Michael Niedermayer
a3950a90f6 Revert "x86: dsputilenc: convert ff_sse{8, 16}_mmx() to yasm"
This reverts commit ad733089b0.

breaks with --disable-yasm
revert requested by: Christophe Gisquet <christophe.gisquet@gmail.com>
2014-05-25 19:42:18 +02:00
Michael Niedermayer
9babf13764 avcodec/msvideo1enc: Fix () in MKRGB555() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 19:26:37 +02:00
Michael Niedermayer
eb718f4c53 avcodec/opus: Fix () in ROUND_MULL() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 19:25:58 +02:00
Michael Niedermayer
d62a4707f9 avcodec/opus_celt: Fix () in CELT_PVQ_V macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 19:25:29 +02:00
Michael Niedermayer
c163f5e601 avcodec/pngdec: fix () in OP_* macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 19:25:10 +02:00
Timothy Gu
ad733089b0 x86: dsputilenc: convert ff_sse{8, 16}_mmx() to yasm
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 16:30:08 +02:00
Michael Niedermayer
6e725f19f8 configure: try to fix the disappearing "r" bug in fate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 15:44:27 +02:00
Michael Niedermayer
ee9b0199c8 Merge commit 'e0d01dc7d7fc3ce4c23f286a10870e9599c8b8b9'
* commit 'e0d01dc7d7fc3ce4c23f286a10870e9599c8b8b9':
  smoothstream: check malloc calls

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 13:07:45 +02:00
Clément Bœsch
657c603263 avcodec/webvttenc: do not use EOVERFLOW.
According to doc/errno.txt EOVERFLOW is not available everywhere. The
use of -1 is consistent with avcodec/srtenc.c.
2014-05-25 10:28:16 +02:00
Carl Eugen Hoyos
4d8c28deab imgutils: make systematic palette opaque.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-25 08:33:15 +02:00
Michael Niedermayer
cf7ff0146c avcodec/mss4: Fix () in MKVAL() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 05:19:09 +02:00
Michael Niedermayer
6e720c5c81 avcodec/mss34dsp: fix () in SOP* macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 05:18:47 +02:00
Michael Niedermayer
fa160af08b avcodec/mlpdec: fix () in MSB_MASK() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 05:18:18 +02:00
Michael Niedermayer
f276bf303c avcodec/ivi_dsp: add some missing () to macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 03:45:10 +02:00
Michael Niedermayer
70f671c39e avcodec/hevc: fix () in macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 03:45:10 +02:00
Michael Niedermayer
0f45e643cc avcodec/h264_slice: fix macro ()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 03:45:10 +02:00
Michael Niedermayer
af62b42736 avcodec/h264: fix () in macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 03:45:10 +02:00
Michael Niedermayer
97e6b5ee3a avcodec/golomb-test: fix () in EXTEND() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 03:45:10 +02:00
Michael Niedermayer
fa915d4193 avcodec/aac: fix () in IS_CODEBOOK_UNSIGNED macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 03:45:10 +02:00
Aman Gupta
4372fb7a57 avcodec/webvttenc: add webvtt encoder
Based off the srt encoder. The following features are unimplemented:

- fonts, colors, sizes
- alignment and positioning

The rest works well. For example, use ffmpeg to convert subtitles into the .vtt format:

  ffmpeg -i input.srt output.vtt

Signed-off-by: Aman Gupta <ffmpeg@tmm1.net>
Signed-off-by: Clément Bœsch <u@pkh.me>
2014-05-25 03:04:14 +02:00
James Almer
d94e255dd1 x86/dsputilenc: make the SUM_ABS_DCTELEM macro more readable
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 02:03:54 +02:00
Michael Niedermayer
46e3883519 avcodec/opusdec: check alignment, misalignment could lead to crashes with avx
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 00:38:20 +02:00
James Almer
61eea421b2 x86/dsputilenc: port sum_abs_dctelem functions to yasm
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-24 21:46:25 +02:00
Michael Niedermayer
ddeb58b90c avcodec/asvenc: dont use a negative global_quality
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-24 20:33:49 +02:00
Michael Niedermayer
9a7d332b92 avcodec/aacenc: dont use global quality if its negative
Some applications used a negative value as default for "not set"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-24 20:32:37 +02:00
Christophe Gisquet
81aa0f4604 x86: hpeldsp: implement SSSE3 version of _xy2
Loading pb_1 rather than pw_8192 was benchmarked to be more efficient.
Loading of the 2 yields no advantage. Loading of one saves ~11 cycles.

decicycles count:
put8:  3223(mmx)    -> 2387
avg8:  2863(mmxext) -> 2125
put16: 4356(sse2)   -> 3553
avg16: 4481(sse2)   -> 3513

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-24 15:15:56 +02:00
Michael Niedermayer
726316240b Merge commit '8692e6284f5169257a537c8fc25addf32fc67c87'
* commit '8692e6284f5169257a537c8fc25addf32fc67c87':
  rdt: check malloc calls

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-24 13:21:33 +02:00
Clément Bœsch
cba92a2226 avformat/vobsub: do not create empty streams.
Fixes NULL dereference in vobsub_read_packet() on vobsub->q[i]->subs.

Fixes ticket #3669.
2014-05-24 11:08:34 +02:00
Nidhi Makhijani
e0d01dc7d7 smoothstream: check malloc calls
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-24 08:21:49 +02:00
Nidhi Makhijani
8692e6284f rdt: check malloc calls
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-24 07:51:12 +02:00
Billy Shambrook
308188be34 Add metadata injection to blackdetect
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-24 03:56:42 +02:00
Christophe Gisquet
9722a6a3f3 x86: hpeldsp: implement SSE2 put_pixels16_xy2
This is obviously equivalent to the avg version, without the avg.

3223(mmx) -> 2006(sse2)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-24 03:45:17 +02:00
Christophe Gisquet
f0aca50e0b x86: hpeldsp: implement SSE2 versions
Those are mostly used in codecs older than H.264, eg MPEG-2.

put16 versions:
      mmx  mmx2  sse2
x2:  1888  1185   552
y2:  1778  1092   510

avg16 xy2: 3509(mmx2) -> 2169(sse2)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-24 03:29:48 +02:00
Lou Logan
9eaa8c22bc MAINTAINERS: remove myself as website maintainer
I never implemented the plans I had for the site, and I prefer to work
in other areas of the project.

Signed-off-by: Lou Logan <lou@lrcd.com>
2014-05-23 16:15:22 -08:00
James Almer
7538ad2248 x86/hevc_deblock: improve chroma functions register allocation
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-24 01:16:26 +02:00
Clément Bœsch
08c51e12b1 ffplay: support rotated video.
with -f lavfi -i testsrc=s=hd1080 as source:
  rotate=90*PI/180  vs transpose=clock:   42fps -> 64fps
  rotate=180*PI/180 vs vflip,hflip:       75fps -> 77fps
  rotate=270*PI/180 vs transpose=cclock:  43fps -> 63fps
2014-05-23 23:30:21 +02:00
Clément Bœsch
e63a17bfdc avformat/mov: use av_display_rotation_get() for rotate metadata. 2014-05-23 23:30:21 +02:00
Clément Bœsch
fa972dcf1a avutil/display: use hypot(). 2014-05-23 23:30:21 +02:00
James Almer
584327f22f x86/dsputil: fix argument declaration in vector_clipf
Should fix fate failures in msvc x86_64

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 23:10:17 +02:00
James Almer
518cbf9b4a x86/dsputil: fix VECTOR_CLIP_INT32 macro
The inline loop was incrementing and using the value of %%i
the wrong way.

Disassembly of ff_vector_clip_int32_sse2 before and after
this patch:

    movdqa (%rdx),%xmm0      |  movdqa (%rdx),%xmm0
    movdqa 0x10(%rdx),%xmm1  |  movdqa 0x10(%rdx),%xmm1
    movdqa 0x20(%rdx),%xmm2  |  movdqa 0x20(%rdx),%xmm2
    movdqa 0x30(%rdx),%xmm3  |  movdqa 0x30(%rdx),%xmm3
[...]                        |
    movdqa %xmm0,(%rcx)      |  movdqa %xmm0,(%rcx)
    movdqa %xmm1,0x10(%rcx)  |  movdqa %xmm1,0x10(%rcx)
    movdqa %xmm2,0x20(%rcx)  |  movdqa %xmm2,0x20(%rcx)
    movdqa %xmm3,0x30(%rcx)  |  movdqa %xmm3,0x30(%rcx)
    movdqa (%rdx),%xmm0      |  movdqa 0x40(%rdx),%xmm0
    movdqa 0x20(%rdx),%xmm1  |  movdqa 0x50(%rdx),%xmm1
    movdqa 0x40(%rdx),%xmm2  |  movdqa 0x60(%rdx),%xmm2
    movdqa 0x60(%rdx),%xmm3  |  movdqa 0x70(%rdx),%xmm3
[...]                        |
    movdqa %xmm0,(%rcx)      |  movdqa %xmm0,0x40(%rcx)
    movdqa %xmm1,0x20(%rcx)  |  movdqa %xmm1,0x50(%rcx)
    movdqa %xmm2,0x40(%rcx)  |  movdqa %xmm2,0x60(%rcx)
    movdqa %xmm3,0x60(%rcx)  |  movdqa %xmm3,0x70(%rcx)
    add    $0x80,%rdx        |  add    $0x80,%rdx
    add    $0x80,%rcx        |  add    $0x80,%rcx

Other versions were unaffected.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 22:59:55 +02:00
Michael Niedermayer
6b88f22e89 avcodec/dcadec: dont use hex float, msvc doesnt support it
Found-by: nevcairiel
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 22:39:14 +02:00
Michael Niedermayer
9ccb5455ca avcodec/dcadec: use a constant instead of assuming every compiler can optimize pow(2,-15)
Idea-by: nevcairiel and wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 22:19:11 +02:00
Michael Niedermayer
6da06ef6bb avcodec/dcadec: make dca_dmix_code() 650% faster
This effectively replaces the ldexpf() function call by a multiplication
with a constant.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 22:08:41 +02:00
Michael Niedermayer
9340ced47b Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Refuse to mux H.264 with fourcc H264 into avi without startcode.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 21:13:46 +02:00
Michael Niedermayer
d062db7880 Merge commit '21f68c2489cba2a1a4a41d0c5c828266e6162800'
* commit '21f68c2489cba2a1a4a41d0c5c828266e6162800':
  avcodec: bump version after rotation api

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 20:48:54 +02:00
Michael Niedermayer
4e4dbb9983 dcadec: fix xxch_dmix_coeff and xxch_dmix_sf after merge
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 20:39:21 +02:00
Michael Niedermayer
c867be03f6 Merge commit '6b7b8585d73548f08b98959df39d80b97677662f'
* commit '6b7b8585d73548f08b98959df39d80b97677662f':
  dca: Convert dca_dmixtable to integers

Conflicts:
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 19:01:12 +02:00
Vittorio Giovara
21f68c2489 avcodec: bump version after rotation api
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2014-05-23 17:50:38 +02:00
Carl Eugen Hoyos
27d460fe98 Refuse to mux H.264 with fourcc H264 into avi without startcode.
Fixes ticket #3638.
2014-05-23 16:20:22 +02:00
Niels Möller
6b7b8585d7 dca: Convert dca_dmixtable to integers
Also include zero in the table, eliminating a special case in the
decoder.

Signed-off-by: Niels Möller <nisse@southpole.se>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-23 15:07:05 +02:00
James Almer
6a4832caae x86/diracdsp: mark all functions as yasm
No inline asm dirac code remains in the tree, so replace every relevant check.
This also moves all the dirac functions from dsputil_mmx.c to diracdsp_mmx.c

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 15:02:42 +02:00
Michael Niedermayer
64bf845544 avformat/mov: Dont blindly trust the stream duration in seting chapter times
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 04:39:55 +02:00
Michael Niedermayer
220df143b9 avformat/utils: Check end time in avpriv_new_chapter()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 04:33:05 +02:00
Michael Niedermayer
744df0a031 avformat/movenc: Check that packet duration is valid in ff_mov_write_packet()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 04:00:29 +02:00
James Almer
1d36defe94 x86/dsputil: port ff_vector_clipf_sse to yasm
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 00:08:21 +02:00
Florent Le Coz
fdcb2873e1 Fix the mime types for MPEG and MPEG-TS formats
As per the RFCs:
http://tools.ietf.org/html/rfc3555#page-38
http://tools.ietf.org/html/rfc3003
2014-05-22 23:34:59 +02:00
Christophe Gisquet
c081ca851c x86: hpeldsp: avg_pixels_xy2 for mmx2&3dnow
This is a port of the inline assembly of the mmx version to use the
pavg(us|)b instruction.

        8    16
mmx   1498  4355
mmx2  1242  3509

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-22 20:17:49 +02:00
Christophe Gisquet
17ac998055 x86: hpeldsp: mark _xy2 versions as approximate
Currently, only the mmx version is bitexact, the others (mmxext and
3dnow) are not, in spite of their naming.

Therefore, make their name more obvious. Also restore a comment that
was removed in 71155d7b.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-22 20:17:45 +02:00
Christophe Gisquet
f8de35ebc4 x86: hpeldsp: kill hpeldsp_mmx.c
before:
1987 decicycles in 8_x2, 262121 runs, 23 skips

after:
1902 decicycles in 8_x2, 262112 runs, 32 skips

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-22 20:17:40 +02:00
Vignesh Venkatasubramanian
bda8ceb9f8 maintainers: adding myself as a maintainer to webm dash
adding myself as a maintainer to webm dash (part of matroskaenc.c)

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-22 20:09:06 +02:00
Vignesh Venkatasubramanian
37cef8c774 libavformat/matroskaenc: Add WebM DASH support
WebM DASH specification [1] requires the Clusters and Cues to be output in a
specific way. Adding a flag to matroskaenc that will enable support for
creating WebM/Mkv files conforming to the WebM DASH specification.

[1] http://wiki.webmproject.org/adaptive-streaming/webm-dash-specification

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-22 18:53:13 +02:00
Michael Niedermayer
a996eacce2 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Autodetect Asterisk raw pcm with extension "sln".

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-22 15:27:21 +02:00
Carl Eugen Hoyos
eff913c972 Autodetect Asterisk raw pcm with extension "sln". 2014-05-22 15:15:04 +02:00
Michael Niedermayer
124c94a1c8 avdevice/v4l2: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-22 15:08:12 +02:00
Michael Niedermayer
aca48725af avcodec/proresdec2: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-22 15:05:27 +02:00
Michael Niedermayer
e8e9186a70 avcodec/pgssubdec: Use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-22 15:04:34 +02:00
Michael Niedermayer
f932e5f716 avcodec/vdpau_internal: move "struct vdpau_picture_context" up to avoid "#else"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-22 01:53:54 +02:00
Dale Curtis
d5d6b8e259 Fix compilation error around struct visibility when VDPAU disabled.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-22 01:53:13 +02:00
James Almer
80ee2dfcf6 x86/dsputil: port ff_put_signed_pixels_clamped_mmx to yasm
Also add an SSE2 version

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 23:33:45 +02:00
James Almer
7b05267239 x86/dsputil: port clear_block functions to yasm
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 23:33:45 +02:00
Carl Eugen Hoyos
afaa39b46d Don't overwrite codec_id with 0 in ff_mp4_read_dec_config_descr().
Fixes ticket #3660.
2014-05-21 22:48:11 +02:00
Michael Niedermayer
ce4d91ba2a sws: document color range >8bit oddity 2014-05-21 21:29:33 +02:00
Michael Niedermayer
1f359c8559 ffmpeg: use av_stream_get_end_pts()
Simplifies code and should correct timing values when -*sync drop is used

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 18:53:42 +02:00
Michael Niedermayer
7f7080dc73 avformat: add av_stream_get_end_pts()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 18:53:12 +02:00
Michael Niedermayer
91a8262b9d avcodec/utils: add error message for the recode_subtitle() without iconv case
Based on the assert command which was removed in ef0c466a0f

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 17:39:26 +02:00
Dale Curtis
ef0c466a0f Replace assert with AVERROR when recode_subtitle called w/o ICONV.
recode_subtitle() is called implicitly by avformat_find_stream_info().
As such, clients which disable ICONV always crash if a file contains
subtitles; even if they don't care about them.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 17:33:21 +02:00
Michael Niedermayer
e61055fd8b avcodec/atrac3plusdec: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 16:03:22 +02:00
Michael Niedermayer
606a49d2e6 avcodec/atrac3: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 15:59:56 +02:00
Michael Niedermayer
f0211f4189 ffprobe: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 15:59:22 +02:00
Michael Niedermayer
3d4e365073 avcodec/x86/hpeldsp_init: remove redundant if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 13:38:27 +02:00
Hendrik Leppkes
cd9e08e110 hpeldsp: fix build without inline asm
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 13:37:38 +02:00
Christophe Gisquet
d1a32c3f49 x86: kill fpel_mmx.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 03:25:08 +02:00
Michael Niedermayer
19e66c7232 avcodec/libvorbisenc: dont add the duration to AV_NOPTS_VALUE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 03:02:06 +02:00
Dale Curtis
ca2fd25988 Fix compilation errors when deprecated features are disabled.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-20 22:55:28 +02:00
Michael Niedermayer
be656c362d avcodec/h264_picture: Fix build without error resilience
Found-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-20 21:31:40 +02:00
Alexis Ballier
c9ab879011 Fix build with --enable-ladspa --disable-frei0r.
https://bugs.gentoo.org/show_bug.cgi?id=510516

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-20 21:13:50 +02:00
Yu Xiaolei
2491579d47 configure: arm: do not enable fast-unaligned if it is explicitly disabled via commandline
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-20 15:29:57 +02:00
Michael Niedermayer
6310eb8010 avutil/cpu: force mmx on selection of higher x86 SIMD features
Fixes various runtime failures with manually set flags that represent no
existing CPU

Fixes Ticket3653

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-20 06:10:59 +02:00
Katerina Barone-Adesi
e50ae60d46 avcodec/fate-idct8x8: Defined behavior: eliminate negative left-shifts.
The original code left-shifts negative values, which is undefined
in the C99 specification (the one used during normal FFmpeg compilation).
This change multiplies by (1 << shift), which is functionally equivalent,
but has defined behavior.
With this change, fate-idct8x8 compiled with --fsanitize=undefined works.

Bug-Id: 686

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

The assembly generated by gcc is unchanged by this commit
2014-05-20 04:21:06 +02:00
Michael Niedermayer
7d25af1547 Merge commit 'c23c96b638cbf6c489fd301e6b3d5555632fba37'
* commit 'c23c96b638cbf6c489fd301e6b3d5555632fba37':
  lavf: add av_stream_get_side_data

Conflicts:
	doc/APIchanges
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-20 03:39:04 +02:00
Michael Niedermayer
9e6769d2dc Merge commit 'afe176265480880e1f702c96a8ba434b0d88728b'
* commit 'afe176265480880e1f702c96a8ba434b0d88728b':
  build: export library dependencies in ${name}_FFLIBS

Conflicts:
	common.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-20 03:33:30 +02:00
Michael Niedermayer
447b988b53 Merge commit '132a5711a2aaaa6c7d139a0a30046a6ad41b64aa'
* commit '132a5711a2aaaa6c7d139a0a30046a6ad41b64aa':
  check: add libavcodec/vda_internal.h to SKIPHEADERS-$(CONFIG_VDA)

See: beeb7551d6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-20 03:26:57 +02:00
Michael Niedermayer
9893e883ea avformat/mux: Remove localized encoder strings
Fixes muxing to end up with a encoder=Lavf... and encoder_eng=somethingelse

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-20 02:46:42 +02:00
Michael Niedermayer
8408720453 avcodec/smvjpegdec: Dont ignore avcodec_close() return code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-20 02:21:07 +02:00
Michael Niedermayer
0739614c9c avcodec: remove no longer needed ff_codec_close_recursive()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-20 02:20:30 +02:00
Michael Niedermayer
be2bbc5266 ffmpeg_opt: dont copy "encoder" metadata unless stream copy is used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-20 02:01:18 +02:00
Michael Niedermayer
b2a8bc3d04 ffmpeg/set_encoder_id: dont allocate encoder string if one is already set
Fixes memleak

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-20 00:51:47 +02:00
Janne Grunau
c23c96b638 lavf: add av_stream_get_side_data 2014-05-20 00:43:52 +02:00
Janne Grunau
afe1762654 build: export library dependencies in ${name}_FFLIBS
Removes an ugly $(if) to avoid conflicts with $(FFLIBS-) in the
top-level MAkefile.
2014-05-20 00:43:51 +02:00
Janne Grunau
132a5711a2 check: add libavcodec/vda_internal.h to SKIPHEADERS-$(CONFIG_VDA) 2014-05-20 00:43:51 +02:00
Michael Niedermayer
6218831844 Merge remote-tracking branch 'lukaszmluki/master'
* lukaszmluki/master:
  lavf/ftp: favour EPSV over PASV command
  lavf/audiointerleave: return more meaningful error codes
  lavf/audiointerleave: check for allocation failure
  lavf/audiointerleave: use av_fifo_alloc_array
  lavf/dvenc: use av_fifo_alloc_array
  lavc/flac_parser: use av_fifo_alloc_array
  lavc/frame_thread_encoder: use av_fifo_alloc_array
  lavfi/vf_fps: use av_fifo_alloc_array
  lavfi/buffersink: use av_fifo_alloc_array
  ffmpeg: use av_fifo_alloc_array
  lavd/jack_audio: use av_fifo_alloc_array
  lavu/fifo: add av_fifo_alloc_array function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-20 00:22:51 +02:00
Oliver Fromme
ab6228316a avcodec/dvdsubenc: accept forced flag
Reviewed-by: Anshul <anshul.ffmpeg@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-20 00:08:08 +02:00
Lukasz Marek
b9419b5882 lavf/ftp: favour EPSV over PASV command
EPSV is newer version of PASV and allows to use IPv6.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-20 00:00:45 +02:00
Lukasz Marek
37fa4b9bb9 lavf/audiointerleave: return more meaningful error codes
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-20 00:00:45 +02:00
Lukasz Marek
2ed9e17ed1 lavf/audiointerleave: check for allocation failure
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-20 00:00:45 +02:00
Lukasz Marek
c61cdefa4d lavf/audiointerleave: use av_fifo_alloc_array
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-20 00:00:45 +02:00
Lukasz Marek
74f9c5947d lavf/dvenc: use av_fifo_alloc_array
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-20 00:00:45 +02:00
Lukasz Marek
8aa2988036 lavc/flac_parser: use av_fifo_alloc_array
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-20 00:00:45 +02:00
Lukasz Marek
bc4f362c92 lavc/frame_thread_encoder: use av_fifo_alloc_array
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-20 00:00:45 +02:00
Lukasz Marek
ce051ceefc lavfi/vf_fps: use av_fifo_alloc_array
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-20 00:00:44 +02:00
Lukasz Marek
d15db8e413 lavfi/buffersink: use av_fifo_alloc_array
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-20 00:00:44 +02:00
Lukasz Marek
4d686674b2 ffmpeg: use av_fifo_alloc_array
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-20 00:00:44 +02:00
Lukasz Marek
51bad41a13 lavd/jack_audio: use av_fifo_alloc_array
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-20 00:00:44 +02:00
Lukasz Marek
7336e39f3c lavu/fifo: add av_fifo_alloc_array function
Allows to alloc fifo buffer by passing
number of elements and size of element.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-20 00:00:44 +02:00
James Almer
d43c303038 x86/hevc_deblock: use constants instead of generating values at runtime
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 23:09:33 +02:00
Thierry FAUCK
41b928c5fa avcodec/ppc/asm: fix build with ABI v2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 22:10:01 +02:00
James Almer
b82274487b lavc: define STRIDE_ALIGN as 32 when compiling with AVX support
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 22:09:43 +02:00
Michael Niedermayer
833ec9177d ffmpeg/do_video_stats: fix used timebase
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 20:54:27 +02:00
Michael Niedermayer
55fe1582cb avcodec/pthread_frame: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 19:36:29 +02:00
Michael Niedermayer
cd7ae5af16 Merge commit '82fc9f4b38244236a6ca7f946662ca653044a04c'
* commit '82fc9f4b38244236a6ca7f946662ca653044a04c':
  display: Include mathematics.h for fallback definition of NAN

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 19:28:29 +02:00
Michael Niedermayer
07941c2cb2 Merge commit '853cc025d63ee2539fc0460dab62c5b9a3fd2043'
* commit '853cc025d63ee2539fc0460dab62c5b9a3fd2043':
  mov: store display matrix in a stream side data

Conflicts:
	libavformat/isom.h
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 19:21:53 +02:00
Michael Niedermayer
ef1d4ee2f8 Merge commit 'bddd8cbf68551f6405b2bf77cc3e212af9fbe834'
* commit 'bddd8cbf68551f6405b2bf77cc3e212af9fbe834':
  Add transformation matrix API.

Conflicts:
	libavcodec/avcodec.h
	libavcodec/utils.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 19:12:30 +02:00
Michael Niedermayer
af72f62d7b Merge commit '9929b3564c0dca42ed7baa6798ef15b6f0013c83'
* commit '9929b3564c0dca42ed7baa6798ef15b6f0013c83':
  pthread_frame: simplify the code by using new AVPacket API

Conflicts:
	libavcodec/pthread_frame.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 19:02:36 +02:00
Michael Niedermayer
4a2fd251f4 Merge commit 'cdf58f0599c39852ee3beafe5f64af7d57d4215b'
* commit 'cdf58f0599c39852ee3beafe5f64af7d57d4215b':
  avpacket: fix copying side data in av_packet_copy_props()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 18:51:34 +02:00
Michael Niedermayer
999a99c865 Merge commit 'a312f71090ee620ee252f2034aef6b13e2dafe9c'
* commit 'a312f71090ee620ee252f2034aef6b13e2dafe9c':
  lavf: deprecate now unused AVStream.pts

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

mostly not merged as the code is needed for a/vsync drop handling
and what the code does is what is needed, it could maybe be moved
elsewhere or factored somehow but simply removing it would be droping
these features.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 18:38:10 +02:00
Michael Niedermayer
e3c1d9a56c Merge commit 'ed7922faac4ea4c893efc3cdf8102ebc49fcc011'
* commit 'ed7922faac4ea4c893efc3cdf8102ebc49fcc011':
  mux: drop one of the hacks comprising compute_pkt_fields2()

Conflicts:
	libavformat/mux.c

Not merged as -async drop / -vsync drop depends on this code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 18:27:56 +02:00
Michael Niedermayer
f29cdfec96 avcodec/libvorbisenc: do not attempt to flush if no data was input
this prevents the creation of a packet even though no single sample has ever
been input, which some confusion in the timestamp generation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 17:37:50 +02:00
Michael Niedermayer
ebbc33a42d avcodec/libmp3lame: do not attempt to flush lame if no data was input
this prevents the creation of a packet even though no single sample has ever
been input, which some confusion in the timestamp generation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 17:37:26 +02:00
Martin Storsjö
82fc9f4b38 display: Include mathematics.h for fallback definition of NAN
This fixes compilation with MSVC.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-05-19 18:34:51 +03:00
Michael Niedermayer
6552e23d56 avformat/mpegtsenc: fix dts for chained muxing aac in mpegts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 16:30:46 +02:00
Michael Niedermayer
dad54e4a62 ffmpeg: set dts for subtitles
dts is not optional, its required for muxing,
previously it was set from AVStream.pts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 16:07:50 +02:00
Michael Niedermayer
87f5ede6b5 ffmpeg: add last_mux_dts_plus_duration
Fixes 1 frame error in the duration and derived values,
introduced by not using AVStream.pts in the previous commit

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 15:35:20 +02:00
Michael Niedermayer
2de2b991ca Merge commit 'dc40d88625d7e402d58ac3f3df69fbf27aa31ea0'
* commit 'dc40d88625d7e402d58ac3f3df69fbf27aa31ea0':
  avconv: do not use poorly defined and undocumented AVStream.pts

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 15:13:16 +02:00
Michael Niedermayer
3791741cf9 Merge commit 'c9f8809ee4c576d5833865039bc1c85754448f67'
* commit 'c9f8809ee4c576d5833865039bc1c85754448f67':
  hevc/intra_pred: simplify neighboring sample derivation

Conflicts:
	libavcodec/hevcpred_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 15:03:42 +02:00
Michael Niedermayer
e98d3a7d51 Merge commit '25bb7eaf9eb14e6e00264bf584aa4d380d3bc29f'
* commit '25bb7eaf9eb14e6e00264bf584aa4d380d3bc29f':
  hevc/intra_pred: drop unnecessary conditions in loops

Conflicts:
	libavcodec/hevcpred_template.c

See: 053fdacde7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 14:47:29 +02:00
Michael Niedermayer
454920187f Merge commit '4c390b1ba98e6aec787aa0e7ea57ed7cb38283b7'
* commit '4c390b1ba98e6aec787aa0e7ea57ed7cb38283b7':
  hevc/intra_pred: optimize EXTEND_()*

Conflicts:
	libavcodec/hevcpred_template.c

See: 053fdacde7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 14:28:49 +02:00
Michael Niedermayer
8447658550 Merge commit 'a1c2b48018b09d2613f075ec0748c95bd520ac00'
* commit 'a1c2b48018b09d2613f075ec0748c95bd520ac00':
  hevc: templatize intra_pred

Conflicts:
	libavcodec/hevc.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 14:10:13 +02:00
Michael Niedermayer
93318983c3 Merge commit '04db5794cd97e4b33ec2f963ef7f967722a456eb'
* commit '04db5794cd97e4b33ec2f963ef7f967722a456eb':
  hevc: templatize pred_planar

Conflicts:
	libavcodec/hevcpred_template.c

See: 053fdacde7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 13:56:56 +02:00
Vittorio Giovara
853cc025d6 mov: store display matrix in a stream side data
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-19 13:13:16 +02:00
Vittorio Giovara
bddd8cbf68 Add transformation matrix API.
Add AV_PKT_DATA_DISPLAYMATRIX and AV_FRAME_DATA_DISPLAYMATRIX as stream and
frame side data (respectively) to describe a display transformation matrix
for linear transformation operations on the decoded video.

Add functions to easily extract a rotation angle from a matrix and
conversely to setup a matrix for a given rotation angle.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-19 13:13:10 +02:00
Anton Khirnov
9929b3564c pthread_frame: simplify the code by using new AVPacket API
This also handles side data properly.
2014-05-19 13:12:46 +02:00
Anton Khirnov
cdf58f0599 avpacket: fix copying side data in av_packet_copy_props()
Side data count is incremented by by calling av_packet_new_side_data()
in the following loop, setting it explicitly results in the resulting
value being twice what it should be.

CC: libav-stable@libav.org
2014-05-19 13:12:40 +02:00
Anton Khirnov
a312f71090 lavf: deprecate now unused AVStream.pts 2014-05-19 07:14:24 +02:00
Anton Khirnov
ed7922faac mux: drop one of the hacks comprising compute_pkt_fields2()
All encoders should output proper timestamps now.
2014-05-19 07:14:18 +02:00
Anton Khirnov
dc40d88625 avconv: do not use poorly defined and undocumented AVStream.pts
Use OutputStream.last_mux_dts as an approximation of 'current' output
time instead.
2014-05-19 07:14:11 +02:00
Anton Khirnov
c9f8809ee4 hevc/intra_pred: simplify neighboring sample derivation 2014-05-19 07:12:55 +02:00
Mickaël Raulet
25bb7eaf9e hevc/intra_pred: drop unnecessary conditions in loops
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-19 07:12:47 +02:00
Mickaël Raulet
4c390b1ba9 hevc/intra_pred: optimize EXTEND_()*
Process 4 pixels at once.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-19 07:10:43 +02:00
Anton Khirnov
a1c2b48018 hevc: templatize intra_pred 2014-05-19 07:10:03 +02:00
Mickaël Raulet
04db5794cd hevc: templatize pred_planar
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-19 07:09:30 +02:00
Michael Niedermayer
4a30f08505 avcodec/diracdec: move mc buffer allocation to per frame
Fixes out of array accesses for non default buffers with large strides

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 06:41:32 +02:00
Olivier Langlois
76191c08f8 ffmpeg: Use av_gettime_relative()
Whenever av_gettime() is used to measure relative period of time,
av_gettime_relative() is prefered as it guarantee monotonic time
on supported platforms.

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 02:35:07 +02:00
Carl Eugen Hoyos
e705d0ce1c Set dwSuggestBufferSize to largest chunk size for every stream in avi.
Fixes playback with WMP 9 for files with large (rawvideo) frames
as explained in ticket #2145.

Fixes ticket #2818.
2014-05-19 00:05:40 +02:00
James Almer
057ebf1222 x86/hevc_deblock: remove some duplicated instructions
Also remove a couple unnecessary cmps

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 23:28:17 +02:00
Michael Niedermayer
0c152fe916 ffmpeg: prefix encoder with "Lavc " in bitexact mode
This avoids misleading encoder names like "encoder = prores"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 22:57:20 +02:00
Michael Niedermayer
5771efde87 Merge commit '0ba5299a805e9ccaef1a757381fc2ada4d54b8a1'
* commit '0ba5299a805e9ccaef1a757381fc2ada4d54b8a1':
  movenc: use the "encoder" metadata tag to write stsd Compressorname

Conflicts:
	libavformat/movenc.c
	libavformat/movenc.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 22:29:27 +02:00
Michael Niedermayer
bbee02ed9c ffmpeg: Skip writing the version when -flags bitexact is used
Alternatively every fate test could be changed to pass both fflags and flags +bitexact

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 22:00:00 +02:00
Michael Niedermayer
1e49439f04 Merge commit '6656370b858329ca07a60a2de954d5e90daa0206'
* commit '6656370b858329ca07a60a2de954d5e90daa0206':
  avconv: set the "encoder" tag when transcoding

Conflicts:
	ffmpeg.c
	tests/ref/lavf/mkv
	tests/ref/seek/lavf-mkv

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 21:31:51 +02:00
Michael Niedermayer
c01bcce495 Merge commit 'd246231e4714119faac6c7acd881d3b687bb8b11'
* commit 'd246231e4714119faac6c7acd881d3b687bb8b11':
  wavenc: use codec descriptors to get the codec name

Conflicts:
	libavformat/wavenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 21:05:46 +02:00
Michael Niedermayer
a6ba5184a5 Merge commit '968a62a9d9e3a785ce1f79b80facfe09c6c14544'
* commit '968a62a9d9e3a785ce1f79b80facfe09c6c14544':
  doc/APIchanges: mark the release 10 branch point

Conflicts:
	doc/APIchanges

Not merged, as there was no such branch in ffmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 21:03:54 +02:00
Michael Niedermayer
6eefc578a5 Merge commit '33082af7560a18179b52734665ef66f812902d33'
* commit '33082af7560a18179b52734665ef66f812902d33':
  doc/APIchanges: fill in missing hashes and dates

Conflicts:
	doc/APIchanges

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 20:57:41 +02:00
Anton Khirnov
0ba5299a80 movenc: use the "encoder" metadata tag to write stsd Compressorname
This mirrors the demuxer behaviour and avoids accessing
AVCodecContext.codec, which should not be done in muxers.
2014-05-18 20:34:03 +02:00
Anton Khirnov
6656370b85 avconv: set the "encoder" tag when transcoding 2014-05-18 20:33:46 +02:00
Anton Khirnov
d246231e47 wavenc: use codec descriptors to get the codec name
Also, return a proper error code.
2014-05-18 20:33:38 +02:00
Anshul
73a6063314 ffprobe: fix crash happening because of new streams occuring
Fix trac ticket #3603.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2014-05-18 20:04:02 +02:00
Christophe Gisquet
f1793fe9cd x86: hevc_mc: specify coefficients registers
By default, macro EPEL_FILTER loads the coefficients inconditionally
into m14/m15. This forces an unneeded higher register count.

Reduce that count by making them parameters of EPEL_FILTER.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 16:23:58 +02:00
Olivier Langlois
0a15067047 lavd: Use av_gettime_relative()
Whenever av_gettime() is used to measure relative period of time,
av_gettime_relative() is prefered as it guarantee monotonic time
on supported platforms.

Since v4l2 is compiled only on Linux where av_gettime_relative()
is monotonic, a small wrapper function av_gettime_monotonic() is used
(should be inlined the compiler) to put emphasis on that fact.

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 16:10:12 +02:00
Michael Niedermayer
6e8fe44815 avcodec/wmv2enc: allocate padding for extradata and check malloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 15:59:45 +02:00
Michael Niedermayer
5441eb460c avcodec/movtextenc: allocate padding for extradata
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 15:59:03 +02:00
Michael Niedermayer
947ed8f292 avcodec/ffv1enc: allocate padding for extradata
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 15:58:41 +02:00
Michael Niedermayer
bf718bdf12 avcodec/crystalhd: allocate padding for extradata
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 15:58:03 +02:00
Michael Niedermayer
b06741d267 Merge commit '79f2c426fde6e71c40b29504112d0528b85be623'
* commit '79f2c426fde6e71c40b29504112d0528b85be623':
  dv: do not set codec timebase

Conflicts:
	libavformat/dv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 14:53:41 +02:00
Michael Niedermayer
8334850a99 Merge commit '93afb6c98df876b15e3d911a9450ad55f92080ce'
* commit '93afb6c98df876b15e3d911a9450ad55f92080ce':
  avconv: set output avg_frame_rate when known

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 14:38:36 +02:00
Michael Niedermayer
8636b11bdc Merge commit '7a5f4f6853047eea74a6443d73f4d74d52b2799f'
* commit '7a5f4f6853047eea74a6443d73f4d74d52b2799f':
  lavf: extend avg_frame_rate documentation.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 14:27:29 +02:00
Michael Niedermayer
4f32efdff0 Merge commit 'c3311d472a7528c67f76d0d061704ae70a99b32e'
* commit 'c3311d472a7528c67f76d0d061704ae70a99b32e':
  avienc: sanitize variable naming in write_header()

Conflicts:
	libavformat/avienc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 14:14:33 +02:00
Michael Niedermayer
4fac4447d1 Merge commit 'ab3fdaa7131e2fd8e33006daea25a282724c01f0'
* commit 'ab3fdaa7131e2fd8e33006daea25a282724c01f0':
  yop: only set extradata size after it has been successfully allocated

Conflicts:
	libavformat/yop.c

See: a807c68253
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 14:10:56 +02:00
Michael Niedermayer
213e82b55c Merge commit 'b513bf6f69e26e724de6d5dca642c3582dcd0517'
* commit 'b513bf6f69e26e724de6d5dca642c3582dcd0517':
  yuv4mpegdec: do not set coded_frame properties

Conflicts:
	libavformat/yuv4mpegdec.c

See: b45a3e167f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 14:02:31 +02:00
Michael Niedermayer
56d3cd1455 Merge commit 'e4dc1000d7bbbcb5b45cf9849fc5315f19578e37'
* commit 'e4dc1000d7bbbcb5b45cf9849fc5315f19578e37':
  yuv4mpeg: split the demuxer and muxer into separate files

Conflicts:
	libavformat/yuv4mpegdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 13:37:25 +02:00
Michael Niedermayer
47a721348a Merge commit '3ef6c5264b2590781b4ed556443ff49709dd45fb'
* commit '3ef6c5264b2590781b4ed556443ff49709dd45fb':
  a64: check that extradata exists before reading from it

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 13:25:18 +02:00
Michael Niedermayer
c7c11058ab Merge commit 'b136564909adec2043be4c94ade08b67ad443124'
* commit 'b136564909adec2043be4c94ade08b67ad443124':
  a64: remove unneeded struct qualifier

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 13:17:10 +02:00
Michael Niedermayer
6a51090924 Merge commit 'd256ed78ffe202a4dcc8d625becffc716bfa3977'
* commit 'd256ed78ffe202a4dcc8d625becffc716bfa3977':
  4xm: allocate extradata properly.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 13:10:24 +02:00
Michael Niedermayer
68c05185e2 Merge commit 'fd056029f45a9f6d213d9fce8165632042511d4f'
* commit 'fd056029f45a9f6d213d9fce8165632042511d4f':
  lavc: add avcodec_free_context().

Conflicts:
	doc/APIchanges
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 13:00:50 +02:00
Michael Niedermayer
ff17d8b56e Merge commit 'e1b66778b6ee82a192b5895e23c4e135f7269326'
* commit 'e1b66778b6ee82a192b5895e23c4e135f7269326':
  lavc: remove the locking code in avcodec_close()

Conflicts:
	libavcodec/utils.c

Note, if someone knows of a external codec lib/API, hwaccel or other that requires
locking on its close/free side, please contact ffmpeg-devel.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 12:46:28 +02:00
Anton Khirnov
968a62a9d9 doc/APIchanges: mark the release 10 branch point 2014-05-18 10:53:00 +02:00
Anton Khirnov
33082af756 doc/APIchanges: fill in missing hashes and dates 2014-05-18 10:52:41 +02:00
Anton Khirnov
79f2c426fd dv: do not set codec timebase
It is not supposed to be set from outside of libavcodec.
Set average framerate instead.
2014-05-18 10:24:43 +02:00
Anton Khirnov
93afb6c98d avconv: set output avg_frame_rate when known 2014-05-18 10:24:36 +02:00
Anton Khirnov
7a5f4f6853 lavf: extend avg_frame_rate documentation. 2014-05-18 10:24:24 +02:00
Anton Khirnov
c3311d472a avienc: sanitize variable naming in write_header()
Do not call an AVCodecContext 'stream', that is highly confusing.
Also, add a local variable for the current AVStream in the loop over all
streams.
2014-05-18 10:24:02 +02:00
Anton Khirnov
ab3fdaa713 yop: only set extradata size after it has been successfully allocated
Do not leave a non-zero extradata_size set on failure
2014-05-18 10:22:42 +02:00
Anton Khirnov
b513bf6f69 yuv4mpegdec: do not set coded_frame properties
coded_frame is not meant to be changed from outside of lavc, and is not
used for decoding.
Set AVCodecContext.field_order instead.
2014-05-18 10:22:08 +02:00
Anton Khirnov
e4dc1000d7 yuv4mpeg: split the demuxer and muxer into separate files 2014-05-18 10:21:31 +02:00
Anton Khirnov
3ef6c5264b a64: check that extradata exists before reading from it 2014-05-18 10:20:19 +02:00
Anton Khirnov
b136564909 a64: remove unneeded struct qualifier 2014-05-18 10:19:54 +02:00
Anton Khirnov
d256ed78ff 4xm: allocate extradata properly.
Pad it with the required amount of zeros, check for malloc failure.
2014-05-18 10:19:35 +02:00
Anton Khirnov
fd056029f4 lavc: add avcodec_free_context().
Right now, the caller has to manually manage some allocated
AVCodecContext fields, like extradata or subtitle_header. This is
fragile and prone to leaks, especially if we want to add more such
fields in the future.

The only reason for this behaviour is so that the AVStream codec context
can be reused for decoding. Such reuse is discouraged anyway, so this
commit is the first step to deprecating it.
2014-05-18 10:17:41 +02:00
Anton Khirnov
e1b66778b6 lavc: remove the locking code in avcodec_close()
This function should not modify any global state, so there should be no
reason for any locking.
2014-05-18 10:16:35 +02:00
Michael Niedermayer
17c8a06916 avformat/framehash: switch to AVFMT_FLAG_BITEXACT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 04:04:32 +02:00
Michael Niedermayer
9646ea63df avformat/mmf: switch to AVFMT_FLAG_BITEXACT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 04:04:20 +02:00
Michael Niedermayer
0421409c52 avformat/matroskaenc: switch to AVFMT_FLAG_BITEXACT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 04:04:01 +02:00
Michael Niedermayer
fab50573bb avformat/mp3enc: switch to AVFMT_FLAG_BITEXACT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 04:03:45 +02:00
Michael Niedermayer
d524d424ec avformat/nutenc: switch to AVFMT_FLAG_BITEXACT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 04:03:28 +02:00
Michael Niedermayer
0323a55cd8 avformat/rtpenc: switch to AVFMT_FLAG_BITEXACT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 04:02:44 +02:00
Michael Niedermayer
46380e8d26 avformat/aviobuf/ff_get_line: also accept \r as end of line character
Fixes Ticket3108

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 23:49:05 +02:00
Olivier Langlois
0ca0b4c29c ffplay: Use av_gettime_relative()
Whenever av_gettime() is used to measure relative period of time,
av_gettime_relative() is prefered as it guarantee monotonic time
on supported platforms.

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 20:28:16 +02:00
Michael Niedermayer
43c18fec6e Merge commit '584f88409062f7a134e7391887899e8e723ab6ff'
* commit '584f88409062f7a134e7391887899e8e723ab6ff':
  riff: Pass block_align to estimate frame duration

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 20:22:56 +02:00
Olivier Langlois
f78bc96b7c lavf: Use av_gettime_relative()
Whenever av_gettime() is used to measure relative period of time,
av_gettime_relative() is prefered as it guarantee monotonic time
on supported platforms.

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 20:13:33 +02:00
Clément Bœsch
9986e50a6e configure: make vp9 decoder select the parser.
The parser is needed. FATE breaks if not present.
2014-05-17 16:13:42 +02:00
Clément Bœsch
2ca97c7802 configure: make sure pkg-config flags are populated in FT test. 2014-05-17 16:13:42 +02:00
Olivier Langlois
41120e6e40 tools: Use av_gettime_relative()
Whenever av_gettime() is used to measure relative period of time,
av_gettime_relative() is prefered as it guarantee monotonic time
on supported platforms.

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 15:51:58 +02:00
Olivier Langlois
b052bccbe4 lavc: Use av_gettime_relative()
Whenever av_gettime() is used to measure relative period of time,
av_gettime_relative() is prefered as it guarantee monotonic time
on supported platforms.

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 15:51:49 +02:00
Olivier Langlois
0eec06ed87 lavu: add av_gettime_relative()
These functions are using the POSIX clock_gettime() function with the
CLOCK_MONOTONIC clock id. If these are not present on the targeted
platform, the new functions will fallback on using the original realtime functions
av_gettime() and av_usleep().

Monotonic support can be added on other platforms with their
equivalent native system API eventually if possible.

Whenever time is requested to measure relative time, the monotonic clock,
when available, is superior to the system realtime clock because it is
not affected by discontinuous jumps in the system time

In a future step, offering the flexibility to let the user choose between
rt and monotonic clock for avdevices packets will be investigated.

It is very easy to experience the issues that this patch attempt to address
by rewinding back in the past the system time while ffmpeg is running.

this is breaking the ffmpeg report printing (ffmepg.c:print_report()) and
the the rate emulator functionality (-re) without the patch.

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 15:28:03 +02:00
nu774
584f884090 riff: Pass block_align to estimate frame duration
Fix incorrect wSamplesPerBlock(=0) written for ADPCM_IMA_WAV

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-05-17 15:24:20 +02:00
Michael Niedermayer
a7320c1574 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix compilation of libavcodec/x86/hevc_deblock.asm with nasm.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 14:56:01 +02:00
Michael Niedermayer
5b0c7052fb Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: add support for toggling between multiple video filters with the w key
  ffplay: fix typo in docs
  ffplay: try multiple sample rates if audio open fails
  cmdutils: replace usages of "#ifdef __MINGW32__" with "#ifdef _WIN32" because MSVC only defines _WIN32
  ffplay: fix compilation with Visual Studio
  ffplay: increase AV_SYNC_THRESHOLD_MIN to 0.04

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 14:26:29 +02:00
Clément Bœsch
11e490334e avfilter/edgedetect: reuse already defined ctx. 2014-05-17 14:16:04 +02:00
Marton Balint
a583e2bebe ffplay: add support for toggling between multiple video filters with the w key
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-05-17 13:18:29 +02:00
Marton Balint
affc41047e ffplay: fix typo in docs
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-05-17 13:18:29 +02:00
Marton Balint
0c8d8c0c80 ffplay: try multiple sample rates if audio open fails
Should fix ticket #3509.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-05-17 13:18:29 +02:00
John Peebles
e11697759d cmdutils: replace usages of "#ifdef __MINGW32__" with "#ifdef _WIN32" because MSVC only defines _WIN32
With the previous patch, this should fix ticket #3580 as well.

Signed-off-by: John Peebles <johnpeeb@gmail.com>
2014-05-17 13:18:29 +02:00
Marton Balint
1fab67b685 ffplay: fix compilation with Visual Studio
Based on a patch by achristensen from trac.ffmpeg.org.

Partially fixes ticket #3580.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-05-17 13:18:28 +02:00
Marton Balint
ae6fe159f2 ffplay: increase AV_SYNC_THRESHOLD_MIN to 0.04
Less than 0.04 sec delays should not be noticable, and it helps us with 50fps
content where some timing errors can cause a frame dup where it is not really
necessary.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-05-17 13:18:28 +02:00
Carl Eugen Hoyos
ef2713747f Fix compilation of libavcodec/x86/hevc_deblock.asm with nasm.
Suggested-by: Reimar
2014-05-17 12:50:55 +02:00
Carl Eugen Hoyos
4c49d0824a Fix alaw and mulaw muxing in caf.
Fixes ticket #3644.
2014-05-17 11:38:17 +02:00
James Almer
be1fbc02b8 x86/hevc_deblock: use movhps instead of shuffling values
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 05:40:14 +02:00
James Almer
8aac77fede x86/hevc_deblock: fix label names
Also remove some unnecessary jmps

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 05:40:08 +02:00
James Almer
521eaea63a x86/hevc_deblock: fix usage of ABS1
The second argument is a temp register for non-SSSE3 cases

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 05:39:55 +02:00
James Almer
45110d2290 x86/hevc_deblock: merge movs with other instructions
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 05:39:34 +02:00
Michael Niedermayer
aedc1c2ed6 doc/filters: fix typo
Found-by: bloody123
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 04:57:35 +02:00
Michael Niedermayer
be8f96e5eb Merge commit '34e2ce5dde073244ccb2b62f930e96fe612690f7'
* commit '34e2ce5dde073244ccb2b62f930e96fe612690f7':
  hlsenc: Set the default codecs to AAC and H264

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 03:13:05 +02:00
Mickaël Raulet
e2760de605 hevc: fix key_frame as an IRAP
it was always 1 before with ISOBMFF(cherry picked from commit fb1402b1ec78d80acd6ced76bf78d65560965c4c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 01:14:51 +02:00
Martin Storsjö
34e2ce5dde hlsenc: Set the default codecs to AAC and H264
Most HLS implementation only support these codecs.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-05-17 01:34:16 +03:00
Reynaldo H. Verdejo Pinochet
93cade4825 rtmpproto: info out for unsupported auth vars
Should aid debugging badly formatted URLs

Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-05-16 17:31:48 -04:00
Reynaldo H. Verdejo Pinochet
e83aae2839 rtmpproto: avoid setting auth var value if null
Use default values if parsed variable is found not to
have any value. Avoids crashing at strlen for salt/user
on the auth call afterwards and needless NULL assignments
for the rest (default is already NULL for those).

Should fix Coverity Scan issues #966644 and #966645

Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-05-16 17:31:48 -04:00
Michael Niedermayer
627d3b8b73 Merge commit '4d25c2bc76f0a708c2ba470b6bfeb547efe37115'
* commit '4d25c2bc76f0a708c2ba470b6bfeb547efe37115':
  build: Support building using clang-usan and disable-optimization

Change not merged, as it has been fixed differently and this change
would prevent disabling optimizations with ubsan

See: bebce653e5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 22:26:53 +02:00
Michael Niedermayer
eb580d2598 Merge commit '7c377f0e74de8ab57f6baa64f3ec197c82104764'
* commit '7c377f0e74de8ab57f6baa64f3ec197c82104764':
  avisynth: set duration of audio streams

See: ae8e2d7634
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 22:03:10 +02:00
Michael Niedermayer
36f9496924 Merge commit '4735784f1ced27026fbeada5fd31505132e565e9'
* commit '4735784f1ced27026fbeada5fd31505132e565e9':
  FATE/opus: increase fuzz for the celt tests

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 21:22:25 +02:00
plepere
ef7c4cd001 avcodec/x86/hevc: updated to use x86util macros
Reviewed-by: James Almer <jamrial@gmail.com>
Reviewed-by: Ronald S. Bultje
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 21:11:07 +02:00
plepere
de7b89fd43 avcodec/x86/hevc: added DBF assembly functions
Reviewed-by: James Almer <jamrial@gmail.com>
Reviewed-by: Ronald S. Bultje
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 21:11:03 +02:00
Katerina Barone-Adesi
4d25c2bc76 build: Support building using clang-usan and disable-optimization
Clang Undefined Behaviour Sanitizer seems to make non-constant constant
expressions, making the compilation fail when they are used within
inline assembly if no optimization is requested.

Add -O1 to the cflags to hide the misbehaviour.

Bug-Id: 683
2014-05-16 19:58:34 +02:00
Michael Niedermayer
7ebf90ff47 avcodec/mpeg12enc: avoid floats in the aspect ratio info setup code
This fixes potential rounding issues with floats, and also
fixes a division by 0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 19:42:50 +02:00
Frederic Turmel
b217e1b057 avcodec/mpeg12enc: Favor storing DAR instead of SAR
fixes Ticket 2689

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 17:55:29 +02:00
Michael Niedermayer
77a0df4b5e estimate_timings_from_pts: Execute max 1 iteration extra to find more than 1 duration
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 16:13:36 +02:00
Gaullier Nicolas
68cea1bc8e estimate_timings_from_pts: Try to get the duration for all streams
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 16:06:55 +02:00
Michael Niedermayer
424599c7cc estimate_timings_from_pts: simplify filesize end check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 15:49:23 +02:00
Gaullier Nicolas
5d944f58db estimate_timings_from_pts: Also consider packet duration
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 15:33:20 +02:00
Gaullier Nicolas
85349d8d00 estimate_timings_from_pts: Warn about A/V streams for which no duration could be set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 15:22:05 +02:00
Hendrik Leppkes
7c377f0e74 avisynth: set duration of audio streams
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-16 14:41:02 +02:00
Anton Khirnov
4735784f1c FATE/opus: increase fuzz for the celt tests
This seems to be needed on some 32bit arches.
2014-05-16 14:35:20 +02:00
Clément Bœsch
bac08cf086 avfilter/vignette: reindent after previous commit. 2014-05-16 06:53:36 +02:00
Clément Bœsch
ed7bc5471b avfilter/vignette: add direct rendering. 2014-05-16 06:53:18 +02:00
Clément Bœsch
8a0ba44e1a vignette: reuse already declared ctx. 2014-05-16 06:48:41 +02:00
Masa Utashiro
491d602283 avfilter/vignette: fix input frame memory leak.
Fixes Ticket #3642.
2014-05-16 06:32:26 +02:00
James Almer
a9bf713d35 swresample: add swri_resample_float_avx
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 05:27:03 +02:00
James Almer
cdff1cc98f configure: add check for AVX inline support
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 05:24:59 +02:00
Michael Niedermayer
7970959a94 avcodec/opusdec: fix some const correctness
also make a const array static
Fixes 2 warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 04:38:10 +02:00
Michael Niedermayer
1fb46858c2 avcodec/cavs: prevent out of array read
The used value should not matter as long as its within the array
as it is multiplied by 0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 03:13:27 +02:00
Michael Niedermayer
a071c0b515 avcodec/utils: Fix undefined behavior in avpriv_toupper4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 03:13:27 +02:00
Carl Eugen Hoyos
30aeab29e4 Use av_restrict instead of restrict in libavcodec/opus_celt.c. 2014-05-16 00:43:54 +02:00
Michael Niedermayer
bebce653e5 avcodec/x86/dsputil_mmx: Fix build with clang-usan
Found-by: Katerina Barone-Adesi
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 23:56:39 +02:00
Christophe Gisquet
d1310c591e x86: sbrdsp: implement SSE qmf_deint_neg
From 133 (unrolled av_intfloat32 C) to 59 cycles on Arrandale/Win64.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 23:11:18 +02:00
Michael Niedermayer
7a4424e5ed avcodec/opus: fix doxygen comments to be associated with the correct fields
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 22:41:52 +02:00
Michael Niedermayer
e9602dcb4d ffmpeg: bitstream filters require split out side data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 22:41:12 +02:00
Michael Niedermayer
f8de1caa6e Revert "avcodec/hevc: fix outputted AVFrame.key_frame"
This is not correct

Requested-by: mraulet
This reverts commit 973de9ebf8.
2014-05-15 21:34:34 +02:00
Michael Niedermayer
30cdf384d1 Merge commit 'd3f5b94762fb803c0f3b29f9ad6c5eaa813998ba'
* commit 'd3f5b94762fb803c0f3b29f9ad6c5eaa813998ba':
  aarch64: opus NEON iMDCT and FFT

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 21:13:53 +02:00
Michael Niedermayer
91d7d790d1 Merge commit '7c5ca546a0747a20c7f7fb5550455c3042699ee9'
* commit '7c5ca546a0747a20c7f7fb5550455c3042699ee9':
  configure: fix enable-libopus help string

See: 434ba17b22
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 21:13:02 +02:00
Michael Niedermayer
fcb5849a62 Merge commit '5e2ba41d4b94de1fa5267081d6c4b6b262c8d86f'
* commit '5e2ba41d4b94de1fa5267081d6c4b6b262c8d86f':
  build: add avresample after avcodec to FFLIBS

Conflicts:
	Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 21:01:07 +02:00
Olivier Langlois
af31d58a63 doc: Add udp broadcast option description
Describe the option added in commit f1c167496e

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 20:52:42 +02:00
Michael Niedermayer
97f856a4c2 avcodec/options: avcodec_copy_context() Check subtitle_header_size instead of setting it
The value is already copied in the generic code so it should always match

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 19:41:38 +02:00
Michael Niedermayer
098a699867 Merge commit '3b2fbe67bd63b00331db2a9b213f6d420418a312'
* commit '3b2fbe67bd63b00331db2a9b213f6d420418a312':
  lavc: properly handle subtitle_header in avcodec_copy_context()

Conflicts:
	libavcodec/options.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 19:39:06 +02:00
Michael Niedermayer
9b7cb02319 Merge commit 'efc7df6c1f11b20a48e60c3f743ce2331b661973'
* commit 'efc7df6c1f11b20a48e60c3f743ce2331b661973':
  lavc: preserve the original private data in avcodec_copy_context()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 19:32:44 +02:00
Michael Niedermayer
f478e8500a Merge commit 'c9281a01b78cc3f09e36300a0ca3f5824d1c74cf'
* commit 'c9281a01b78cc3f09e36300a0ca3f5824d1c74cf':
  lavf: drop the zero-sized packets hack

Conflicts:
	libavformat/mux.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 19:24:19 +02:00
Michael Niedermayer
eacf7d650d Merge commit '0c1959b056f6ccaa2eee2c824352ba93c8e36d52'
* commit '0c1959b056f6ccaa2eee2c824352ba93c8e36d52':
  lavf: add AVFMT_FLAG_BITEXACT.

Conflicts:
	doc/APIchanges
	libavformat/avformat.h
	libavformat/flacenc.c
	libavformat/movenc.c
	libavformat/oggenc.c
	libavformat/options_table.h
	libavformat/version.h
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 19:16:57 +02:00
Carl Eugen Hoyos
beeb7551d6 Fix make checkheaders if VDA is not available. 2014-05-15 19:09:36 +02:00
Michael Niedermayer
ffa05e0802 avcodec/opusdec: switch to swresample
This also fixes linking failures in doc/examples which where apparently
caused by the linking order between avcodec and avresample

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 18:28:45 +02:00
Michael Niedermayer
96cb4c8718 swresample: swr_close()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 18:27:23 +02:00
Michael Niedermayer
2c7d3ecfc9 Merge commit 'b70d7a4ac72d23f3448f3b08b770fdf5f57de222'
* commit 'b70d7a4ac72d23f3448f3b08b770fdf5f57de222':
  lavc: add a native Opus decoder.

Conflicts:
	Changelog
	configure
	libavcodec/version.h

Fate tests pass with both avresample as well as swresample based opus decoder, but
are disabled (reference files are very large so i want to think a day or 2 about
if theres an alternative or if they could be avoided, they also dont match the
official samples)

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 18:20:17 +02:00
Janne Grunau
d3f5b94762 aarch64: opus NEON iMDCT and FFT
Opus celt decoding 11% faster and the iMDCT over 2.5 times faster on
Apple's A7.
2014-05-15 18:17:02 +02:00
Tristan Matthews
7c5ca546a0 configure: fix enable-libopus help string 2014-05-15 18:17:01 +02:00
Janne Grunau
5e2ba41d4b build: add avresample after avcodec to FFLIBS
avcodec might depend on avresample and with --as-needed required symbols
might be get removed if avresample is linked before avcodec.
Fixes link failures of avprobe and avplay on aarch64 with
--enable-neon-clobber-test.
2014-05-15 17:53:55 +02:00
Anton Khirnov
3b2fbe67bd lavc: properly handle subtitle_header in avcodec_copy_context() 2014-05-15 07:51:39 +02:00
Anton Khirnov
efc7df6c1f lavc: preserve the original private data in avcodec_copy_context()
If a non-NULL codec was passed to avcodec_alloc_context3(), private data
will be already allocated in dest.
2014-05-15 07:51:16 +02:00
Anton Khirnov
c9281a01b7 lavf: drop the zero-sized packets hack
There should not be any valid reason anymore for passing completely
empty packets to lavf.
OTOH side data-only packets can be useful.
2014-05-15 07:50:47 +02:00
Anton Khirnov
0c1959b056 lavf: add AVFMT_FLAG_BITEXACT.
Use it instead of checking CODEC_FLAG_BITEXACT in the first stream's
codec context.

Using codec options inside lavf is fragile and can easily break when the
muxing codec context is not the encoding context.
2014-05-15 07:42:07 +02:00
Anton Khirnov
b70d7a4ac7 lavc: add a native Opus decoder.
Initial implementation by Andrew D'Addesio <modchipv12@gmail.com> during
GSoC 2012.

Completion by Anton Khirnov <anton@khirnov.net>, sponsored by the
Mozilla Corporation.

Further contributions by:
Christophe Gisquet <christophe.gisquet@gmail.com>
Janne Grunau <janne-libav@jannau.net>
Luca Barbato <lu_zero@gentoo.org>
2014-05-15 06:49:34 +02:00
Alex Sukhanov
8b96f31817 libavformat/mov: Elimitate double reading of COVR metadata if MOV_EXPORT_ALL_METADATA is enabled
Problem: ffmpeg tries to read COVR atom data twice if MOV_EXPORT_ALL_METADATA is enabled.
If COVR atom is the last in the stream, a parsing of such file fails.

Solution: just return immediatelly after mov_read_covr

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 03:43:37 +02:00
Michael Niedermayer
09cd22860f avformat/libnut: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 01:56:52 +02:00
Michael Niedermayer
f6d17d2aa9 avformat/matroskaenc: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 01:56:08 +02:00
Michael Niedermayer
3af7e7b501 avfilter/vsrc_mandelbrot: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 01:54:36 +02:00
Michael Niedermayer
565c321cd0 tests/fate/libavutil: run cpu test and display the cpus detected feature set
With this the fate clients runtime cpu feature set should be visible

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 01:43:30 +02:00
Michael Niedermayer
7efe83996c tests/fate-run: add runecho command to run a test and display its output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 01:43:29 +02:00
Michael Niedermayer
56193d33be avformat/http: remove never twice executable loop
Fixes CID1197069

Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-14 20:44:15 +02:00
Peter Kovář
973de9ebf8 avcodec/hevc: fix outputted AVFrame.key_frame
previously it was always 1

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-14 20:30:44 +02:00
batguano999
434ba17b22 configure: add encoding to --enable-libopus doc. 2014-05-14 19:07:49 +02:00
Michael Niedermayer
3690393f68 avutil/dict: delay addition of const from e12a73246d until next major ABI bump
This unbreaks API

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-14 15:44:01 +02:00
Michael Niedermayer
acb6f3af4f avutil/fifo: delay addition of const from 78d3453c4a until next major ABI bump
This unbreaks API, for example audacity has more build errors due to this

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-14 15:44:01 +02:00
Michael Niedermayer
0fdc3cd86f avutil/version: add FF_CONST_AVUTIL53
This will become "const" on the next major API version

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-14 15:44:01 +02:00
Michael Niedermayer
dbd1fdd214 Merge commit '7e90133f6420b1c53652f972b9561600822881ee'
* commit '7e90133f6420b1c53652f972b9561600822881ee':
  build: do not append $(FFLIBS-) to $(FFLIBS) if $(NAME) is not defined

Conflicts:
	common.mak

See: efa9596831
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-14 14:02:19 +02:00
Michael Niedermayer
6a72260e6b Merge commit 'a738540366c9b114949b7914c0d08e2c28982cfb'
* commit 'a738540366c9b114949b7914c0d08e2c28982cfb':
  lavf: properly document the distinction between flags and ctx_flags

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-14 13:54:21 +02:00
Janne Grunau
7e90133f64 build: do not append $(FFLIBS-) to $(FFLIBS) if $(NAME) is not defined
Avoids including disabled library Makefiles.
2014-05-14 09:46:43 +02:00
Clément Bœsch
bc2e39c4cc avfilter/lut3d: move the scale calc out of the inner loop. 2014-05-14 07:51:10 +02:00
Anton Khirnov
a738540366 lavf: properly document the distinction between flags and ctx_flags 2014-05-14 07:47:56 +02:00
Michael Niedermayer
6ab37221c8 avfilter/vf_removelogo: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-14 06:17:27 +02:00
Michael Niedermayer
14e2e40f3b avfilter/vf_hqdn3: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-14 06:17:05 +02:00
Michael Niedermayer
0aac9b76bc avcodec/libx264: Implement reference frame count limiting based on level
This makes libavcodec/libx264.c behave more similar to the x264 command line
util

Fixes Ticket3307

Implementation based on x264

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-14 02:57:10 +02:00
Michael Niedermayer
c3417ed7fd swscale/utils: Add check that ensures that the hardcoded struct offsets are valid
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-14 01:32:11 +02:00
Clément Bœsch
c683e6aa2c build: move ebur128 swr dep to configure. 2014-05-13 23:13:44 +02:00
Michael Niedermayer
f0ae467e6c configure: swresample depends on avutil
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-13 22:40:47 +02:00
Michael Niedermayer
efa9596831 common.mak: fix (not)building disabled libs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-13 22:40:45 +02:00
Michael Niedermayer
3d7218d932 Merge commit '449511740f06a4675b0066730fa45cdb764ffafc'
* commit '449511740f06a4675b0066730fa45cdb764ffafc':
  build: handle library dependencies in configure

Conflicts:
	common.mak
	configure
	libavdevice/Makefile
	libavfilter/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-13 22:40:32 +02:00
Reimar Döffinger
d90ba411ab dpx: use intfloat.h instead of deprecated intfloat_readwrite.h.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-05-13 20:53:24 +02:00
Michael Niedermayer
76581ab833 Merge commit '9aa4592076d4dbb29d1198b0e258f9f85c0c00b5'
* commit '9aa4592076d4dbb29d1198b0e258f9f85c0c00b5':
  aarch64: assembler in clang-3.4 ignores the division by two

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-13 20:34:32 +02:00
Janne Grunau
449511740f build: handle library dependencies in configure
Instead of setting FFLIBS in each library Makefile configure
exports FFLIBS-$library in config.mak.
2014-05-13 20:02:01 +02:00
Janne Grunau
9aa4592076 aarch64: assembler in clang-3.4 ignores the division by two
Values are positive powers of two, so just replace it with right shift.
2014-05-13 19:44:09 +02:00
Matt Oliver
cef99e12bc Use rac_get_prob branchy version when used within a conditional branch.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-13 16:04:08 +02:00
Olivier Langlois
f1c167496e Support broadcast destination for udp protocol
Use the required socket option SO_BROADCAST to be able to stream to a broadcast
address.

Prior to the patch, trying to stream to a broadcast address was resulting to the
following error:

av_interleaved_write_frame(): Permission denied

The patch has been tested with:

ffmpeg -f v4l2 -framerate 30 -input_format yuyv422 -video_size 640x480 -i /dev/video0 \
 -c:v libx264 -profile:v high -preset ultrafast -tune zerolatency -b:v 500k -pix_fmt yuv420p \
 -f mpegts udp://192.168.1.255:5004?broadcast=1

I have added an option to let the user explicitly request broadcast in order to avoid
ffmpeg to broadcast unintentionally.

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-13 15:51:41 +02:00
Mickaël Raulet
bb9e5116fe hevc: fixing code indenting in hevcpred(cherry picked from commit 28a5916845928de2951013b5398465573b181925)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-13 14:29:50 +02:00
Mickaël Raulet
38df49a068 hevc/intrapred: fix indent(cherry picked from commit ab167f3158cf37bd679bda28566170e2c3691686)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-13 14:14:14 +02:00
Mickaël Raulet
053fdacde7 hevc: a much faster implementation of intra prediction (up to 1s on
haswell 2.6GHz on basket ball drive all intra qp 27)(cherry picked from commit 5de9739176f0eb4c205e80a91628a0196c9924b2)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-13 14:14:05 +02:00
Aaron Graham
72dcd48c19 avformat/asfenc: honor the maximum of 63 payloads
Fixes Ticket3634

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-13 00:54:55 +02:00
Michael Niedermayer
81d1fcf37d avcodec: add option to make is_intra_more_likely() from error concealment return "no"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 22:55:39 +02:00
Michael Niedermayer
a8bc175dd9 avformat/mp3dec: check the number of frames per buffer size
Fixes misdetection of issue3327-libc-2.17.so

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 21:05:47 +02:00
Michael Niedermayer
b3b505c73b avformat/utils: if the id3 tag is too large for data after it to become available, use the full AVPROBE_SCORE_EXTENSION if extension matches
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 20:45:36 +02:00
Michael Niedermayer
d05588e21e avformat/utils: limit probe score in the id3 case only if there is a chance that data after the id3 tag will become available
Fixes ticket3327 (sample.mp3)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 20:45:03 +02:00
Carl Eugen Hoyos
ab21acecc7 Use Matroska document version 2 for WebM files if possible.
Google's plugin for the Internet Explorer refuses to play
files with another document version.

Fixes ticket #3583.
2014-05-12 18:16:48 +02:00
Carl Eugen Hoyos
a01fedd9b8 Fix compilation with --enable-lto --enable-shared with icc. 2014-05-12 18:16:48 +02:00
Hendrik Leppkes
87f2d8079a hevcdsp: correctly indicate that hevc_put_hevc_bi_epel_h uses 9 GPRs
Fixes FATE on Windows.

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 17:00:48 +02:00
Michael Niedermayer
b9cce9ee5c avfilter/buffer: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 12:24:41 +02:00
Michael Niedermayer
e951e04a4a avcodec/buffersrc: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 12:24:25 +02:00
Matt Oliver
4d93e758d7 configure: Ensure log2 is disable based on msvcrt version.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 10:08:15 +02:00
Matt Oliver
3b2ab8a783 configure: Allow log2 with msvc12 onwards.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 03:46:50 +02:00
Michael Niedermayer
96abdf2ffd avcodec/vda_h264: fix bistream typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 03:27:04 +02:00
Michael Niedermayer
5460ab73d2 Merge commit '1839fafa951308237c4672ffd9a94f927b26eac7'
* commit '1839fafa951308237c4672ffd9a94f927b26eac7':
  avconv: Support VDA hwaccel

Conflicts:
	Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 02:44:28 +02:00
Michael Niedermayer
2856332719 avcodec/vda_h264: fix null pointer dereference
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 02:25:58 +02:00
Michael Niedermayer
5449239a03 Merge commit '67afcefb35932b420998f6f3fda46c7c85848a3f'
* commit '67afcefb35932b420998f6f3fda46c7c85848a3f':
  lavc: Add new VDA hwaccel

Conflicts:
	configure
	libavcodec/vda.h
	libavcodec/vda_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 01:57:02 +02:00
Michael Niedermayer
c6a683bf22 Merge commit '31a46750c7eafe6bce6a3e4f09853cd0a585292b'
* commit '31a46750c7eafe6bce6a3e4f09853cd0a585292b':
  vda: use hwaccel private data for internal bitstream buffer

Conflicts:
	libavcodec/vda.h
	libavcodec/vda_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 01:04:27 +02:00
Michael Niedermayer
14aef38a69 Merge commit '66e6c8a7b4e3ac926302529606bd3e323c28b20f'
* commit '66e6c8a7b4e3ac926302529606bd3e323c28b20f':
  lavu: Add a pixel format for new VDA hwaccel

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 00:37:12 +02:00
Michael Niedermayer
2ec4586d77 Merge commit 'dd2d3b766b20196d0b65a82e3d897ccecbf7adb8'
* commit 'dd2d3b766b20196d0b65a82e3d897ccecbf7adb8':
  lavc: Add hwaccel private data and init/uninit callbacks

Conflicts:
	libavcodec/avcodec.h
	libavcodec/internal.h
	libavcodec/pthread_frame.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 00:21:44 +02:00
Michael Niedermayer
c4fe50b954 Merge commit 'ebc29519d1634bfeb386c20a5d8a52837aae2436'
* commit 'ebc29519d1634bfeb386c20a5d8a52837aae2436':
  hwaccel: Support specific frame allocators

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 00:06:35 +02:00
Michael Niedermayer
fa0f7c024e Merge commit 'a871ef0cc936612bdb0e643196be72efcf0c8986'
* commit 'a871ef0cc936612bdb0e643196be72efcf0c8986':
  hwaccel: Rename priv_data_size to frame_priv_data_size

Conflicts:
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-11 23:49:13 +02:00
Michael Niedermayer
8d19dd91a5 Merge commit '08bb2567586599d62a282c4cd31567a0807f3d92'
* commit '08bb2567586599d62a282c4cd31567a0807f3d92':
  lavc: document which parts of AVHWAccel are private.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-11 23:40:51 +02:00
Michael Niedermayer
f2f99f07a5 Merge commit '5c1d7246cd65dc4db1b6dc36e29ce39fc1068f3f'
* commit '5c1d7246cd65dc4db1b6dc36e29ce39fc1068f3f':
  lavc: set AVCodecContext.hwaccel in ff_get_format()

Conflicts:
	libavcodec/mpeg12dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-11 23:28:40 +02:00
Michael Niedermayer
d93cf093f8 Merge commit '632ad2248e2e5d8cd4b51e6c87c943a38c3da425'
* commit '632ad2248e2e5d8cd4b51e6c87c943a38c3da425':
  lavc: Add an internal wrapper around get_format()

Conflicts:
	libavcodec/h264_slice.c
	libavcodec/mpeg12dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-11 21:48:32 +02:00
Michael Niedermayer
5e95551199 avcodec/dct: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-11 20:06:45 +02:00
Michael Niedermayer
e2c7816ab0 avcodec/cinepakenc: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-11 20:06:28 +02:00
Anton Khirnov
1839fafa95 avconv: Support VDA hwaccel
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-05-11 15:00:03 +02:00
Anton Khirnov
67afcefb35 lavc: Add new VDA hwaccel
It leverages the new hwaccel 1.2 features:

- get_buffer2 is never called
- the internal context is automatically initialized/deinitialized

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-05-11 15:00:03 +02:00
Anton Khirnov
31a46750c7 vda: use hwaccel private data for internal bitstream buffer 2014-05-11 15:00:03 +02:00
Anton Khirnov
66e6c8a7b4 lavu: Add a pixel format for new VDA hwaccel
The current hwaccel is broken and cannot be fixed in a compatible
way. It will be deprecated and replaced with a new one.
2014-05-11 14:59:59 +02:00
Anton Khirnov
dd2d3b766b lavc: Add hwaccel private data and init/uninit callbacks 2014-05-11 14:59:07 +02:00
Luca Barbato
ebc29519d1 hwaccel: Support specific frame allocators
It would reduce the boilerplate code users have to write.
2014-05-11 14:59:07 +02:00
Anton Khirnov
a871ef0cc9 hwaccel: Rename priv_data_size to frame_priv_data_size
This describes more accurately what this field is for.
2014-05-11 14:59:07 +02:00
Anton Khirnov
08bb256758 lavc: document which parts of AVHWAccel are private. 2014-05-11 14:59:07 +02:00
Anton Khirnov
5c1d7246cd lavc: set AVCodecContext.hwaccel in ff_get_format()
This way each decoder does not have to do the same thing manually.
2014-05-11 14:59:07 +02:00
Anton Khirnov
632ad2248e lavc: Add an internal wrapper around get_format()
It will be useful in the following commits.
2014-05-11 14:59:07 +02:00
Matt Oliver
efcea0b911 configure: Fix floating point conformance ith icl.
Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-11 13:57:00 +02:00
Lukasz Marek
ab57cbb7b1 lavc/on2avc: silent warnings about const params
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-11 06:23:25 +02:00
Aman Gupta
72fed6d122 avformat/mpegtsenc: fix minor typo in omit_video_pes_length description
Signed-off-by: Aman Gupta <ffmpeg@tmm1.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-11 03:20:00 +02:00
michael
04e140daa2 libmpcodecs/vf_uspp: check avcodec_open() return code
Fixes CID1135747

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-11 02:13:28 +02:00
Reynaldo H. Verdejo Pinochet
e0877aa544 ffserver: don't leak poll_table if poll fails
Should fix Coverity Scan issue #732265

Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-05-10 18:16:19 -04:00
Reimar Döffinger
97bcb05889 Add missing "const" to pointer arrays.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-05-10 21:57:28 +02:00
Michael Niedermayer
6b9e0bf42f avfilter/vf_removelogo: fix memleak on failure
Fixes CID751770

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-10 21:29:24 +02:00
James Almer
8e07800001 hevcdsp: include stddef.h for ptrdiff_t definition
Including stdint.h was enough for systems like Mingw, but apparently not for Linux.
This should fix make checkheaders failures on every platform

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-10 18:23:30 +02:00
Matt Oliver
c6bf660bef opencl: Make init_mtx static with volatile lock
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-10 15:07:33 +02:00
James Almer
fa23190a7a hevcdsp: add missing header include
Fixes make checkheaders

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-10 14:55:03 +02:00
Michael Niedermayer
2e55f3e907 avfilter/vf_lut3d: check size in parse_dat()
Fixes CID1212261
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-10 14:46:58 +02:00
Michael Niedermayer
dc6b99d6b2 avformat/movenc: Check ff_put_wav_header() return code
Fixes CID1212260
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-10 03:51:49 +02:00
Andrey Utkin
8cc6e91f69 Document smoothstreaming muxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-10 00:06:32 +02:00
Matthew Lindner
b372f67342 avcodec: better level/index printing 2014-05-09 22:05:57 +02:00
Michael Niedermayer
398e3a591f avcodec: replace uses of deprecated avcodec_set_dimensions()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-09 19:43:30 +02:00
Matt Oliver
3554c2fafc libmpcodecs: Fix compilation due to missing static in suncc.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-09 18:33:55 +02:00
Michael Niedermayer
8a21613821 Merge commit '9880a0d4b131ef36694d62f78060350a81f08b80'
* commit '9880a0d4b131ef36694d62f78060350a81f08b80':
  pcm-dvd: Fix 20bit decoding

See: 5db49fc38d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-09 16:44:25 +02:00
nu774
9880a0d4b1 pcm-dvd: Fix 20bit decoding
Increment the pointer as needed.

Bug-Id: 592

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-05-09 16:07:15 +02:00
Diego Elio 'Flameeyes' Pettenò
a7b554f863 rtpdec: make the NTP time values unsigned.
As per RFC3550, section 4, the NTP time is provided as 64-bit unsigned
integer, so follow the same logic here.

Reviewed-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-09 15:10:57 +02:00
Hendrik Leppkes
bc47801968 configure: check for recent dxva2api headers with fixed COBJMACROS defines
This fixes build failures on older mingw chains (before 2012).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-09 14:18:05 +02:00
Michael Niedermayer
2201d1a0f8 avcodec/hevc: Fix undefined shifts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-09 13:34:12 +02:00
Michael Niedermayer
0be95996d0 avcodec/mpegaudiodec_template: make shift unsigned to avoid undefined behavior
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-09 13:17:39 +02:00
Michael Niedermayer
341cacb9ac avcodec/x86/hevcdsp_init: fix build failure with --disable-mmx
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-09 05:16:27 +02:00
Michael Niedermayer
e54c052bee avcodec/mpeg4videodec: print run/level/index values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-09 02:03:54 +02:00
Michael Niedermayer
6df33c4926 avcodec: include GET_RL_VLC() in trace output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-09 02:03:54 +02:00
plepere
63832e01c3 hvcodec/x86/hevcdsp: make macros more modular to support functions that are not sse4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-09 00:14:50 +02:00
Clément Bœsch
5623a10526 avfilter/phase: make the main loop readable. 2014-05-08 23:58:34 +02:00
Clément Bœsch
5df10150d4 avfilter/phase: add some constness for RO data pointers. 2014-05-08 23:34:51 +02:00
Clément Bœsch
69d72140ac avfilter/phase: add timeline support. 2014-05-08 23:34:51 +02:00
Clément Bœsch
8de600de55 avfilter/phase: avoid a memcpy per frame. 2014-05-08 22:59:47 +02:00
Clément Bœsch
687119aa9d avfilter/phase: do not pass the whole context to analyze_plane().
Also make sure the AVFilterContext is only being used for logging by
changing the type to void*
2014-05-08 22:59:47 +02:00
Clément Bœsch
362ab940fc avfilter/phase: add comment on the context cached frame. 2014-05-08 22:59:47 +02:00
Michael Niedermayer
996fffbbb3 Merge commit '0bacfa8d37710b904897e7cbeb8d6f96fbf75e2e'
* commit '0bacfa8d37710b904897e7cbeb8d6f96fbf75e2e':
  rtmpproto: Check the buffer sizes when copying app/playpath strings

Conflicts:
	libavformat/rtmpproto.c

See: 0c2a6dabce
See: 02ac3398eb
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-08 22:44:58 +02:00
Michael Niedermayer
126927c58e avcodec/exr: mark gama option as experimental / unsupported
Suggested-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-08 21:10:53 +02:00
Gonzalo Garramuno
cd3daad77e avcodec/exr: Add a gamma flag to exr loader to avoid banding
This is needed to avoid banding artifacts when gammaing the picture.
Currently, if done with a video filter, the process is done on uints
instead of full float.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-08 21:00:56 +02:00
Michael Niedermayer
0c2a6dabce avformat/rtmpproto: add FFMIN() to av_strlcpy()
Suggested-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-08 18:19:38 +02:00
Martin Storsjö
0bacfa8d37 rtmpproto: Check the buffer sizes when copying app/playpath strings
As pointed out by Reimar Döffinger.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-05-08 19:02:43 +03:00
Michael Niedermayer
aff352be63 avcodec/mjpegdec: zero gb to silence warning about it being possibly uninitialized
The code is not speed relevant, also its more robust if the pointers are NULL instead of random.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-08 17:37:40 +02:00
Michael Niedermayer
ce4ae18405 avcodec/takdec: Always initialize hsize, silence "may be used uninitialized" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-08 17:33:28 +02:00
Michael Niedermayer
62a9725bc9 avcodec/dcadec: add an assert to silence a uninitialized variable warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-08 16:48:41 +02:00
Michael Niedermayer
7e79d72c28 avcodec/dcadec: remove always true if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-08 16:47:20 +02:00
Michael Niedermayer
364e8904ce avcodec/cinepakenc: Fix "may be used uninitialized in this function" warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-08 16:40:58 +02:00
Michael Niedermayer
6c23a85000 avfilter/af_compand: Silence "may be used uninitialized" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-08 06:53:16 +02:00
Michael Niedermayer
c71f8d40be Merge remote-tracking branch 'lukaszmluki/master'
* lukaszmluki/master:
  lavc: use av_fifo_freep
  lavf: use av_fifo_freep
  ffmpeg: use av_fifo_freep
  lavd/jack_audio: use av_fifo_freep
  lavfi: use av_fifo_freep
  lavu/fifo: add av_fifo_freep function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-08 03:49:12 +02:00
Lukasz Marek
9b60d907ae lavc: use av_fifo_freep
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-07 23:39:47 +02:00
Lukasz Marek
ce1eefe691 lavf: use av_fifo_freep
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-07 23:39:47 +02:00
Lukasz Marek
a5f2f33a67 ffmpeg: use av_fifo_freep
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-07 23:39:47 +02:00
Lukasz Marek
75a19f5eec lavd/jack_audio: use av_fifo_freep
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-07 23:39:47 +02:00
Lukasz Marek
70b63419ee lavfi: use av_fifo_freep
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-07 23:39:47 +02:00
Lukasz Marek
351f6118c7 lavu/fifo: add av_fifo_freep function
Function allows to free fifo and reset freed pointer.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-07 23:39:42 +02:00
Michael Niedermayer
9e58677438 avcodec/huffyuvenc: Make version 3 of ffvhuff non experimental
Tested-by: Tim Nicholson <nichot20@yahoo.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 23:24:38 +02:00
Michael Niedermayer
54ae58802e avcodec/cinepakenc: drop coded_frame init
Fixes const being lost warning

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 17:54:48 +02:00
Michael Niedermayer
a6e9448dc6 avcodec/cinepakenc: Zero AVPictures, silence "may be used uninitialized" warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 17:54:03 +02:00
Michael Niedermayer
a779602584 avcodec/eamad: silence uninitialized variable warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 17:48:04 +02:00
Michael Niedermayer
eeb48353ab avcodec/ac3enc: silence 2 warnings about "possibly uninitialized" variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 16:52:36 +02:00
Michael Niedermayer
efbf107f5b avfilter/aeval: silence "may be used uninitialized" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 16:15:50 +02:00
Matt Oliver
1898c2f49d inline asm: fix arrays as named constraints.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 15:02:45 +02:00
Michael Niedermayer
134206ca7a avformat/utils: fix const warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 06:15:02 +02:00
Michael Niedermayer
8dd435f0cf cmdutils: include config.h, fix "is not defined" warning due to CONFIG_OPENCL
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 06:14:57 +02:00
Michael Niedermayer
cd20b93e2f avformat/h263dec/h263_probe: Check TR
Fixes missdetection of Misdetection_345.mp3
Fixes missdetection of Misdetection_421.mp3
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 03:42:21 +02:00
Michael Niedermayer
3ad21c50af avformat/h263dec/h263_probe: Check PSC bit 9 and 13 in
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 03:20:13 +02:00
Michael Niedermayer
04b15a6055 avformat/h263dec: shift data in state to make more bits available to probe
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 03:12:34 +02:00
Michael Niedermayer
326463893b avcodec/wavpack: initialize pointers to silence warning about them possibly being uninitialized
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 02:13:56 +02:00
Michael Niedermayer
84655bdaed avcodec/hevc: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 02:07:12 +02:00
James Almer
4cdea92976 swresample/resample: add missing xmm clobbers
Might fix fate-swr on ICL

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 01:32:40 +02:00
Michael Niedermayer
d68ed9f257 Merge commit '7ce3bd9614717e545af8fb8455032c807e389b78'
* commit '7ce3bd9614717e545af8fb8455032c807e389b78':
  rtmpproto: Support alternative slist parameter in rtmp URLs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 00:39:54 +02:00
Uwe L. Korn
7ce3bd9614 rtmpproto: Support alternative slist parameter in rtmp URLs
Support the URL scheme where the playpath is in an RTMP URL is
passed as the slist argument and the app is given infront of the
query part of the URL:

rtmp://host[:port]/[app]?slist=[playpath]

(other arguments in the query part are stripped as they are not used)

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-05-06 23:41:56 +03:00
Michael Niedermayer
fc7d0d8201 avcodec/x86/hevcdsp_init: fix SSE4 checks
Found-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-06 18:27:49 +02:00
Michael Niedermayer
7be230b5fa avcodec/x86/Makefile: remove duplicate line
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-06 18:23:42 +02:00
Michael Niedermayer
3b3db02f2e avcodec/x86/hevcdsp_init: fix build on 32bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-06 18:23:42 +02:00
plepere
7a2491c436 HEVC : added assembly MC functions
pretty print x86

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-06 18:23:36 +02:00
Mickaël Raulet
83976e40e8 hevc: C code update for new motion compensation
pretty print C

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-06 18:22:34 +02:00
Michael Niedermayer
760a9ef451 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  mpegts: always reset pes packet state on new packet
  mpegts: unref buffer in reset_pes_packet_state
  mpegts: factorize pes packet state reset function
  mpegts: fix indentation after last commit
  mpegts: only emit new packets if data buffer exists
  mpegts: remove uneeded buf_size check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-06 15:39:56 +02:00
Matt Oliver
ac9869ffb0 x86/mpegaudiodsp.c: msvc compilation error without sse/avx_external
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-06 14:15:02 +02:00
Lukasz Marek
38b722e7d7 gitignore: add tools/uncoded_frame
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-06 14:14:32 +02:00
Michael Niedermayer
7db0f9bef1 avcodec/mpeg4videoenc: fix alternative implementation of mpeg4_encode_dc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-06 05:36:10 +02:00
Michael Niedermayer
141a84688f avcodec/mpeg4videodec: fix mcbpc error messages
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-06 05:34:00 +02:00
Michael Niedermayer
2baf1c8c60 avcodec/snowenc: Fix "incompatible pointer type" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-06 01:03:58 +02:00
Michael Niedermayer
5fc4c00972 avfilter/af_bs2b: Fix incompatible pointer type warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-06 01:01:02 +02:00
Michael Niedermayer
89d2fc62db avcodec/svq3: Fix "incompatible pointer type" warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 23:30:35 +02:00
Michael Niedermayer
1394e0a9e0 avformat/segment: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 23:11:04 +02:00
Marton Balint
6c5375100c mpegts: always reset pes packet state on new packet
Fixes ticket #3584.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-05-05 22:33:52 +02:00
Marton Balint
a78274329c mpegts: unref buffer in reset_pes_packet_state
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-05-05 22:33:52 +02:00
Marton Balint
d7ca914988 mpegts: factorize pes packet state reset function
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-05-05 22:33:52 +02:00
Marton Balint
e2752de344 mpegts: fix indentation after last commit
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-05-05 22:33:52 +02:00
Marton Balint
9ba8debce9 mpegts: only emit new packets if data buffer exists
I don't think this can acutally happen in the current code, but better safe
than sorry.

Fixes Coverity CID 732217.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-05-05 22:33:52 +02:00
Marton Balint
a82e87618f mpegts: remove uneeded buf_size check
It is already ensured by the loop condition

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-05-05 22:33:52 +02:00
Michael Niedermayer
4aa7848eb8 avutil/file_open: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 19:00:38 +02:00
Michael Niedermayer
e77ffaa0ac tests/tiny_ssim: more correct error message
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 19:00:14 +02:00
Michael Niedermayer
2ded57216e avutil/audio_fifo: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 18:59:56 +02:00
Michael Niedermayer
b395167d56 tools/ismindex: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 18:47:24 +02:00
Michael Niedermayer
a69e16a97e tests/tiny_ssim: check dimensions
Fix integer overflow

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 18:47:24 +02:00
Lukasz Marek
78d3453c4a lavu/fifo: add const to arguments
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 17:32:24 +02:00
Michael Niedermayer
47550e62bf avformat/astenc: avoid using AVCodecContext.frame_number
Theres no gurantee that the user application has initialized it

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 16:46:47 +02:00
Michael Niedermayer
ba040d4c8c Merge commit '3828eb8519c1530392ab8820b1aa784602128afc'
* commit '3828eb8519c1530392ab8820b1aa784602128afc':
  libfdk-aac: Relicense the library wrappers to 2-clause BSD

Conflicts:
	libavcodec/libfdk-aacdec.c
	libavcodec/libfdk-aacenc.c

<Daemon404> michaelni, fyi, for the fdk relicensing, wbs also contact all the ffmpeg-only contributers
<Daemon404> so it should be fine to merge.

Thanks-to: Martin Storsjö <martin@martin.st>
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 16:18:15 +02:00
Michael Niedermayer
db9c138616 Merge commit '15fa856b82ea7dbbf69edc1074eb13dd00b0fa84'
* commit '15fa856b82ea7dbbf69edc1074eb13dd00b0fa84':
  libfdk-aacenc: Enable 7.1 channel encoding

See: 91489d28ba, and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 15:58:40 +02:00
Michael Niedermayer
d5ec1ddf7b Merge commit '9580818c5d934bde65a95efd2cee61c174721092'
* commit '9580818c5d934bde65a95efd2cee61c174721092':
  avconv: rename OutputStream.opts to OutputStream.encoder_opts

Conflicts:
	ffmpeg.c
	ffmpeg.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 15:51:55 +02:00
Michael Niedermayer
22ffa5390f Merge commit '01947f07b81a57fb1e15114b710f6d5ae4f70a11'
* commit '01947f07b81a57fb1e15114b710f6d5ae4f70a11':
  avconv: remove a useless line

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 15:09:55 +02:00
Michael Niedermayer
1efc089218 Merge commit '65ed9e7585e86e6c728bc762ac9944b157e39f8d'
* commit '65ed9e7585e86e6c728bc762ac9944b157e39f8d':
  avconv: rename 'codec' to 'enc_ctx'

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 15:03:52 +02:00
Michael Niedermayer
1f40536cca Merge commit '650a5206a944fd36a42d92f98e745972056b1f7c'
* commit '650a5206a944fd36a42d92f98e745972056b1f7c':
  avconv: rename 'icodec' to 'dec_ctx'

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 14:55:26 +02:00
Michael Niedermayer
42b7bda41a Merge commit 'f3a6ad22c977c8fea87c4c5e4535061db6324d66'
* commit 'f3a6ad22c977c8fea87c4c5e4535061db6324d66':
  avconv: rename InputStream.opts to InputStream.decoder_opts

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 14:44:33 +02:00
Michael Niedermayer
6e39707438 Merge commit '73ed8558a61c4f1d0ce8d1f35183ac1a0a4e31e3'
* commit '73ed8558a61c4f1d0ce8d1f35183ac1a0a4e31e3':
  avconv: simplify exit_program() by using more local vars

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 14:39:13 +02:00
Martin Storsjö
3828eb8519 libfdk-aac: Relicense the library wrappers to 2-clause BSD
This should make it possible for Fraunhofer to contribute to these
wrappers - they didn't want to contribute to code under LGPL2.1 with
the "or any later version" clause (which allowed using the code
under the LGPL3 license).

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-05-05 14:18:43 +03:00
Jean First
15fa856b82 libfdk-aacenc: Enable 7.1 channel encoding
7.1(wide) and 7.1(wide-side) channel layouts are supported in
fdk-aac since the 0.1.3 release.

The earlier versions of fdk-aac didn't include any library
version defines in the public headers, thus checking for
the AACENCODER_LIB_VL0 define is enough to know that we're
building against a new enough version of fdk-aac.

This change includes contributions by Tim Walker,
Michael Niedermayer and Timothy Gu.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-05-05 14:01:53 +03:00
Carl Eugen Hoyos
db01de4c0a Fix standalone compilation of sonic lossless encoder. 2014-05-05 09:14:31 +02:00
Michael Niedermayer
6bd1741231 avfilter/f_select: fix incompatible pointer type warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 05:51:50 +02:00
Michael Niedermayer
ebf2c2c3a8 avcodec/lossless_videodsp: fix incompatible pointer type warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 05:49:18 +02:00
Hendrik Leppkes
ae8e2d7634 avisynth: set duration of audio streams
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 04:38:33 +02:00
Michael Niedermayer
656fe7ecce swscale/utils: use FF_ALLOC(Z)_ARRAY_OR_GOTO() and av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-04 19:49:06 +02:00
Michael Niedermayer
beecfa81ac avutil/pca: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-04 19:00:16 +02:00
Michael Niedermayer
35e16b1bab MAINTANERS: update snow/ffv1/nut entries as these are no longer in a single file
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-04 18:57:15 +02:00
Michael Niedermayer
aeeb3d4605 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Map --enable-lto to -ipo when compiling with icc.
  Disable inline_asm_direct_symbol_refs if lto was requested.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-04 18:30:06 +02:00
Carl Eugen Hoyos
431c7bd3f4 Map --enable-lto to -ipo when compiling with icc. 2014-05-04 17:16:26 +02:00
Carl Eugen Hoyos
a64df19c5b Disable inline_asm_direct_symbol_refs if lto was requested.
This fixes link time optimizations with gcc without disabling inline asm.

Fixes ticket #2941.
2014-05-04 17:09:21 +02:00
Lukasz Marek
c9a12fdd2d lavf/mux: pass options to nested structs of priv data
This is continuation of commit 330d547e
Nested struct is set in two places.
Previous commit set nested struct only in one case.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-04 14:46:37 +02:00
Michael Niedermayer
336901e060 avcodec/h263dec: use AV_EF_IGNORE_ERR
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-04 13:24:40 +02:00
Michael Niedermayer
e94b08f002 avformat: add AV_EF_IGNORE_ERR
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-04 13:24:40 +02:00
Michael Niedermayer
d7ade20adb avcodec: add AV_EF_IGNORE_ERR
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-04 13:24:40 +02:00
Michael Niedermayer
928e2a7d64 doc/codecs: document ignore_err
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-04 13:24:40 +02:00
Clément Bœsch
7c3941b25c avfilter/lut3d: support 3DLUTSIZE directive for Davinci files.
Fixes Ticket #2847.
2014-05-04 10:36:53 +02:00
Lukasz Marek
3316556cf7 MAINTAINERS: add myself as lavd/xv maintainer
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-04 04:48:41 +02:00
Matt Oliver
c25b0b7788 Maintainers: add myself for msvc and icl.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-04 03:26:45 +02:00
Matt Oliver
a6b0c0e123 Enable inline asm in intel compiler on windows.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-04 03:26:40 +02:00
Michael Niedermayer
8b132bb7b9 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Initialize riff and wav size fields to -1 instead of 0.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-04 01:23:58 +02:00
Michael Niedermayer
32388e04a8 Merge commit 'dcbfb7805a655757e0dac2a647dfcd3de0ab0510'
* commit 'dcbfb7805a655757e0dac2a647dfcd3de0ab0510':
  probe: Support AAC_LATM in set_codec_from_probe_data

Conflicts:
	libavformat/utils.c

See: 7bdc5de33d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-04 01:14:30 +02:00
Michael Niedermayer
4210cbf193 Merge commit 'f66d0c57b13c1b7102e1e353237af178960dd3c5'
* commit 'f66d0c57b13c1b7102e1e353237af178960dd3c5':
  latm: Add a probe function

Conflicts:
	libavformat/rawdec.c

See: 47818b2a67
See: 097f668047
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-04 00:19:35 +02:00
Michael Niedermayer
bc4b424dfa Merge commit 'de69aedf9935631b7f78e8b8da6e460422a9bc5f'
* commit 'de69aedf9935631b7f78e8b8da6e460422a9bc5f':
  mathematics: K&R formatting cosmetics

Conflicts:
	libavutil/mathematics.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 23:46:36 +02:00
Michael Niedermayer
1c4110be90 Merge commit '3a177a9cca924e097265b32f9282814f6b653e08'
* commit '3a177a9cca924e097265b32f9282814f6b653e08':
  swscale: Fix an undefined behaviour

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 23:36:54 +02:00
Michael Niedermayer
039630631e Merge commit '925c37874b617816b6f460c6f229c18b46548b46'
* commit '925c37874b617816b6f460c6f229c18b46548b46':
  vp9: Read the frame size as unsigned

Conflicts:
	libavcodec/vp9.c

See: c72f587353
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 23:29:20 +02:00
Michael Niedermayer
0c06ca7a8a Merge commit 'a90d92ce2aeea8eaae5c616958d20e000e20b964'
* commit 'a90d92ce2aeea8eaae5c616958d20e000e20b964':
  aac: K&R formatting cosmetics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 23:21:26 +02:00
Michael Niedermayer
3ea5beab8f Merge commit 'c6b42e85493915a3c3891345f57422f9031a0b4f'
* commit 'c6b42e85493915a3c3891345f57422f9031a0b4f':
  flv: K&R formatting cosmetics

Conflicts:
	libavcodec/flvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 23:15:37 +02:00
Michael Niedermayer
0a5cc20d4a avcodec/jpeglsdec: add cast to silence pointer type warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 22:54:01 +02:00
Michael Niedermayer
6b79ef00fd avfilter/vf_deshake: dont pass the wrong context into the SAD functions
This fixes pointer type warnings
The context should have been unused so this should not fix any real bug

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 22:52:17 +02:00
Michael Niedermayer
a520d8fd35 avcodec/snow_dwt: fix "incompatible pointer type" warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 22:49:21 +02:00
Carl Eugen Hoyos
c2b0ce70ad Initialize riff and wav size fields to -1 instead of 0.
WMP doess not play the output files if the fields are
set to 0 and not overwritten (using pipe output).

Fixes ticket #3346.
2014-05-03 22:21:00 +02:00
Michael Niedermayer
5918c5a4cc avcodec/kgv1dec: add casts to silence "assignment from incompatible pointer type"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 22:09:26 +02:00
Michael Niedermayer
bb605ef8ab avcodec/xbmdec: fix pointer type warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 22:07:54 +02:00
Anton Khirnov
9580818c5d avconv: rename OutputStream.opts to OutputStream.encoder_opts
This makes it more clear what is this variable for exactly.
2014-05-03 21:44:24 +02:00
Anton Khirnov
01947f07b8 avconv: remove a useless line
Doing anything with that field when we are doing streamcopy (so the
encoder is not opened) should have absolutely no effect.
2014-05-03 21:44:10 +02:00
Anton Khirnov
65ed9e7585 avconv: rename 'codec' to 'enc_ctx'
This more clearly describes what is the variable used for.

Also, move its declaration into the block where it is actually used.
2014-05-03 21:43:43 +02:00
Anton Khirnov
650a5206a9 avconv: rename 'icodec' to 'dec_ctx'
This more clearly describes what is the variable used for.
2014-05-03 21:43:24 +02:00
Anton Khirnov
f3a6ad22c9 avconv: rename InputStream.opts to InputStream.decoder_opts
This makes it more clear what is this variable for exactly.
2014-05-03 21:43:05 +02:00
Anton Khirnov
73ed8558a6 avconv: simplify exit_program() by using more local vars 2014-05-03 21:42:02 +02:00
Michael Niedermayer
56cc178485 avcodec/h263dec: fix "incompatible pointer type" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 20:23:12 +02:00
Michael Niedermayer
00948ff876 avfilter/audio: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 20:08:18 +02:00
Michael Niedermayer
77df9de78c avcdoec/snowenc: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 20:08:18 +02:00
Michael Niedermayer
cc86158173 avcodec/ffv1dec: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 20:08:18 +02:00
Clément Bœsch
d53e87a837 avfilter/edgedetect: update copyright. 2014-05-03 19:10:28 +02:00
Clément Bœsch
365c79bd4e avfilter/edgedetect: reindent after previous commit. 2014-05-03 19:07:14 +02:00
Clément Bœsch
b17e98ded0 avfilter/edgedetect: add a colormix mode. 2014-05-03 19:07:14 +02:00
Luca Barbato
dcbfb7805a probe: Support AAC_LATM in set_codec_from_probe_data 2014-05-03 18:51:37 +02:00
Luca Barbato
f66d0c57b1 latm: Add a probe function 2014-05-03 18:51:17 +02:00
Luca Barbato
de69aedf99 mathematics: K&R formatting cosmetics 2014-05-03 18:31:18 +02:00
Luca Barbato
3a177a9cca swscale: Fix an undefined behaviour
Prevent a division by zero down the codepath.

Sample-Id: 00001721-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2014-05-03 18:25:17 +02:00
Luca Barbato
925c37874b vp9: Read the frame size as unsigned
Sample-Id: 00001723-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2014-05-03 18:25:17 +02:00
Clément Bœsch
3f3c3318be avfilter/edgedetect: make processing functions context free. 2014-05-03 18:11:02 +02:00
Matt Oliver
3c3e02b8d1 x86/cavdsp: prevent named constraints appearing twice. 2014-05-03 17:47:55 +02:00
Carl Eugen Hoyos
4aea0afbbb Remove two duplicated named asm constraints.
This fixes compilation of libmpcodecs/vf_fspp.c with gcc and
INLINE_ASM_DIRECT_SYMBOL_REFS disabled.
2014-05-03 17:00:18 +02:00
Michael Niedermayer
681e008d06 vfilter/vf_yadif: fix request_frame after 0f9f24c9
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 16:14:32 +02:00
Michael Niedermayer
7ef01a7878 avcodec/h264: mark recovery_cnt==0 frames as keyframes
Fixes Ticket3063

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 16:01:45 +02:00
Carl Eugen Hoyos
a75349d0c8 Fix standalone compilation of dsd planar decoders. 2014-05-03 08:53:57 +02:00
Carl Eugen Hoyos
4116cbeaf5 Fix oga muxer standalone compilation. 2014-05-03 08:51:27 +02:00
Michael Niedermayer
09725c1d2b avfilter/vf_showinfo: also calculate and show mean and standard deviation
Fixes Ticket3013

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 06:02:42 +02:00
Michael Niedermayer
719e72c971 doc/APIchanges: more dates and hashes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 03:36:08 +02:00
Lukasz Marek
8b02e1c21d doc/APIchanges: add hashes and dates
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 03:35:21 +02:00
mplayer developers
80dd0aff33 libavfilter/libmpcodecs: sync existing filters with mplayer HEAD (ebcacb8b3ca91ef90acb93785b62fd8c5e5dae41)
Authors from svn:
cehoyos (2):
      Support playback of JPEG 2000 digital cinema files.
      Add name for image format IMGFMT_440P.

ib (1):
      Get rid of VOCTRL_GUI_NOWINDOW.

Matt Oliver (4):
      Fix libmpcodecs inline asm on ICL.
      Use DECLARE_ALIGNED helper macros.
      Remove some superfluous commas from inline asm for better compatibility.
      Use numeric labels in inline asm for consistency and better     compatibility.

reimar (10):
      Fix bpp calculation for XYZ format.
      Avoid duplicating the mouse autohide code.
      Add NV12/NV21 support to some helper functions.
      Add support for rotating the video via OpenGL.
      Add options to determine where borders will be added when adjusting for aspect.
      Apply forgotten move of apply_border_pos function.
      Extract window creation code to common file.
      Make VDPAU support work again with latest FFmpeg.
      img_format: document why mp_get_chroma_shift does not work for NV12/NV21
      Minor spelling/grammar fixes.

For detailed line by line authorship please see svn log of mplayer
svn://svn.mplayerhq.hu/mplayer/trunk

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 02:37:27 +02:00
Lukasz Marek
eb434f712d doc: fix message names in opengl doc
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-03 00:56:21 +02:00
Michael Niedermayer
64e448994c avcodec/h263dec: print MB position for each MB when TRACE is enabled
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-02 22:47:11 +02:00
Michael Niedermayer
cea9ee5dbd Merge remote-tracking branch 'lukaszmluki/master'
* lukaszmluki/master:
  lavd/xv: reident after previous commits
  lavf/mux: pass options to nested structs of priv data
  lavu/opt: add av_opt_set_dict2() function
  lavd/opengl_enc: fix window size correction code
  lavd/opengl_enc: add window size param
  lavd/opengl_enc: use flag to mark inited context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-02 18:46:25 +02:00
Lukasz Marek
fa4f7b17bc lavd/xv: reident after previous commits
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-02 18:04:05 +02:00
Lukasz Marek
330d547ef3 lavf/mux: pass options to nested structs of priv data
This commit allows to benefit from implementing child_next
callback for muxers' AVClasses.
Without that, options cannot be set in nested structs.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-02 18:04:05 +02:00
Lukasz Marek
ba52fb11dc lavu/opt: add av_opt_set_dict2() function
Existing av_opt_set_dict doesn't accept flags.
It doesn't allow to pass options to nested structs.
New function alllows that.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-02 18:04:05 +02:00
Lukasz Marek
db4b03146c lavd/opengl_enc: fix window size correction code
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-02 18:04:05 +02:00
Lukasz Marek
45601854b1 lavd/opengl_enc: add window size param
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-02 18:03:52 +02:00
Lukasz Marek
41e4c6d8c5 lavd/opengl_enc: use flag to mark inited context
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-02 17:46:37 +02:00
Michael Niedermayer
41a679000f avcodec/mpegvideo: fix gray*() parameter types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-02 17:12:42 +02:00
Michael Niedermayer
c60b266eac avcodec/mpegvideo: support disabling motion compensation
This allows analyzing videos without having prior and current frames mixed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-02 16:51:39 +02:00
Matt Oliver
1ccd1a3860 Enable opencl wihtout pthreads.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-02 05:37:07 +02:00
Michael Niedermayer
0f9f24c9cf avfilter/vf_yadif: fix filtering a single image
Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-02 02:33:24 +02:00
Michael Niedermayer
e881a96632 avcodec/libxvid: improve return codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 23:08:01 +02:00
Michael Niedermayer
2ff81d0916 avcodec/utils/ff_init_buffer_info factor avctx->internal->pkt; out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 22:59:59 +02:00
Michael Niedermayer
bbc604020f avcodec/utils: merge ff_decode_frame_props() and ff_init_buffer_info()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 22:01:38 +02:00
Michael Niedermayer
77811482ab avcodec/utils: ff_decode_frame_props: set pkt_size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 22:01:38 +02:00
Michael Niedermayer
a3477fef2b ffmpeg: put the sizeof() second in av_malloc_array()
This is purely a cosmetic change
Suggested-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 22:01:38 +02:00
Matt Oliver
5b9bb4d9ec opencl: add support for non-pthread locking
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 19:28:31 +02:00
Peter Ross
be098f6237 avformat/wtvdec: ignore mpeg2 extradata
Files produced by windows media center contain meaningless mpeg1 sequence
header. The mpeg2 decoder detects the presence mpeg1 sequence header start
codes and attempts to decode the stream as mpeg1. (This problem introduced
in 73a2d16b.)

Fixes ticket #3601.

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 18:36:27 +02:00
Michael Niedermayer
58f4d1266b Merge commit 'ba71c74017c287681153ec8f6f1cba650d797275'
* commit 'ba71c74017c287681153ec8f6f1cba650d797275':
  lavc: deprecate AVCodecContext.codec_name

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 18:04:53 +02:00
Michael Niedermayer
d1c359777f Merge commit 'e7fc9796d82abc99ef0af71027fb9aaa5311d137'
* commit 'e7fc9796d82abc99ef0af71027fb9aaa5311d137':
  lavc: do not use AVCodecContext.codec_name in avcodec_string()

Conflicts:
	libavcodec/utils.c

See: d2d7b7134f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 18:03:55 +02:00
Michael Niedermayer
b917d7024e Merge commit 'ef9732162cd4b593c6db28fdd352ebef21b5c1ca'
* commit 'ef9732162cd4b593c6db28fdd352ebef21b5c1ca':
  rmdec: do not export anything to AVCodecContext.codec_name

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 17:49:57 +02:00
Michael Niedermayer
bb5657fabf Merge commit '6072184e702b4b631ac72f1b66b75e5f21e0ce2d'
* commit '6072184e702b4b631ac72f1b66b75e5f21e0ce2d':
  asfenc: use codec descriptors instead of AVCodecs to write codec info

Conflicts:
	tests/ref/lavf/asf
	tests/ref/seek/lavf-asf

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 17:40:14 +02:00
Michael Niedermayer
00c3ff26f2 Merge commit '92e4b643dfdafdb6528f1baffdbea2b9a028d7c0'
* commit '92e4b643dfdafdb6528f1baffdbea2b9a028d7c0':
  oggparseskeleton: do not use AVCodecContext.codec_name

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 17:26:06 +02:00
Michael Niedermayer
7426acff1a Merge commit '18f2514c4037befd37b02e4d4f10c159edf3b26f'
* commit '18f2514c4037befd37b02e4d4f10c159edf3b26f':
  mov: export stsd Compressorname in metadata

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 17:13:05 +02:00
Michael Niedermayer
e77b9853ea Merge commit 'a2941c8cb216bdc144953cace64973f5600ffa2d'
* commit 'a2941c8cb216bdc144953cace64973f5600ffa2d':
  lavc: move CODEC_FLAG_MV0 to mpegvideo

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 17:03:59 +02:00
Michael Niedermayer
e40ae8cc00 Merge commit '6484149158b6fc6d13d2b2ef84cb26a2d3275400'
* commit '6484149158b6fc6d13d2b2ef84cb26a2d3275400':
  lavc: make the xvid-specific "gmc" flag a private option of libxvid

Conflicts:
	libavcodec/libxvid.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 16:56:40 +02:00
Michael Niedermayer
1851643987 Merge commit 'b2c31710c96fa47d9dcd40b64d39663e8957f683'
* commit 'b2c31710c96fa47d9dcd40b64d39663e8957f683':
  lavc: move CODEC_FLAG_NORMALIZE_AQP to mpegvideo

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 16:46:38 +02:00
Michael Niedermayer
cac07d0e10 Merge commit '5fccedaa67390ccddd6347c8e1c71b7664558bcd'
* commit '5fccedaa67390ccddd6347c8e1c71b7664558bcd':
  lavc: deprecate CODEC_FLAG_INPUT_PRESERVED

Conflicts:
	doc/APIchanges

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 16:41:41 +02:00
Clément Bœsch
b7dd250b75 avformat/vobsub: use av_make_q(). 2014-05-01 16:18:12 +02:00
Clément Bœsch
6a3a7d7af1 avformat/vobsub: remove pointless FAIL macro. 2014-05-01 16:16:54 +02:00
Michael Niedermayer
97edb195f4 Merge commit '141fdc763c2841b572d29a2ad78513e8d5325870'
* commit '141fdc763c2841b572d29a2ad78513e8d5325870':
  matroska: add the Opus mapping

Conflicts:
	libavformat/matroska.c

See: 30549294ef
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 16:03:30 +02:00
Michael Niedermayer
82e4f39883 Merge commit 'a1aa37dd0b96710d4a17718198a3f56aea2040c1'
* commit 'a1aa37dd0b96710d4a17718198a3f56aea2040c1':
  matroskaenc: write CodecDelay

Conflicts:
	libavformat/matroskaenc.c
	tests/ref/lavf/mkv
	tests/ref/seek/lavf-mkv

This is largely not merged as it causes assertion failures and av sync errors
Further investigation of this is warranted if the changes are found to
fix/improve something in relation to d92b1b1bab

See: d92b1b1bab
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 15:56:38 +02:00
Michael Niedermayer
154d80eae7 Merge commit '1c0210c7981b6a61043d9171f506b435ff5a1f5e'
* commit '1c0210c7981b6a61043d9171f506b435ff5a1f5e':
  lavfi: add Bauer stereo-to-binaural audio filter

Conflicts:
	Changelog
	configure
	doc/filters.texi
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavfilter/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 14:14:10 +02:00
Luca Barbato
a90d92ce2a aac: K&R formatting cosmetics 2014-05-01 13:00:57 +02:00
Luca Barbato
c6b42e8549 flv: K&R formatting cosmetics 2014-05-01 13:00:57 +02:00
ValdikSS
7a0e689c45 lavfi/subtitles: introduce stream_index
Signed-off-by: ValdikSS <iam@valdikss.org.ru>
2014-05-01 12:52:33 +02:00
Anton Khirnov
ba71c74017 lavc: deprecate AVCodecContext.codec_name
It is undocumented and has no real use.
2014-05-01 09:31:32 +02:00
Anton Khirnov
e7fc9796d8 lavc: do not use AVCodecContext.codec_name in avcodec_string()
That field will be deprecated.
2014-05-01 09:26:57 +02:00
Anton Khirnov
ef9732162c rmdec: do not export anything to AVCodecContext.codec_name
That field will be deprecated and the value that is written there is not
particularly useful.
2014-05-01 09:26:51 +02:00
Anton Khirnov
6072184e70 asfenc: use codec descriptors instead of AVCodecs to write codec info
Also, stop using AVCodecContext.codec_name as fallback, since it will be
deprecated.

Changes the result of the lavf-asf test (and its associated seektest),
since 'msmpeg4v3' gets written instead of just 'msmpeg4'.
2014-05-01 09:26:20 +02:00
Anton Khirnov
92e4b643df oggparseskeleton: do not use AVCodecContext.codec_name
That field is undocumented, of dubious use, and will be deprecated.
2014-05-01 09:26:02 +02:00
Anton Khirnov
18f2514c40 mov: export stsd Compressorname in metadata
Stop using the undocumented to-be-deprecated AVCodecContext.codec_name
field.
2014-05-01 09:25:46 +02:00
Anton Khirnov
a2941c8cb2 lavc: move CODEC_FLAG_MV0 to mpegvideo 2014-05-01 09:24:18 +02:00
Anton Khirnov
6484149158 lavc: make the xvid-specific "gmc" flag a private option of libxvid 2014-05-01 09:24:02 +02:00
Anton Khirnov
b2c31710c9 lavc: move CODEC_FLAG_NORMALIZE_AQP to mpegvideo 2014-05-01 09:23:19 +02:00
Anton Khirnov
5fccedaa67 lavc: deprecate CODEC_FLAG_INPUT_PRESERVED
The addition of reference-counted frames makes it pointless.
2014-05-01 09:22:47 +02:00
Anton Khirnov
141fdc763c matroska: add the Opus mapping 2014-05-01 08:04:33 +02:00
Anton Khirnov
a1aa37dd0b matroskaenc: write CodecDelay 2014-05-01 08:03:51 +02:00
Alessandro Ghedini
1c0210c798 lavfi: add Bauer stereo-to-binaural audio filter
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-01 08:00:30 +02:00
Michael Niedermayer
91736025b2 avformat/avidec: set average frame rate from header
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 05:40:00 +02:00
Michael Niedermayer
8bf90562f6 Merge commit 'eb3b5501e8b85bfea09d533314cb6920efc42639'
* commit 'eb3b5501e8b85bfea09d533314cb6920efc42639':
  matroskadec: read the CodecDelay element

Conflicts:
	libavformat/matroska.h
	libavformat/matroskadec.c

See: d6f86d74ed
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 04:29:40 +02:00
Michael Niedermayer
feaa31d354 ffmpeg: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 02:23:08 +02:00
Michael Niedermayer
82ccefb904 avformat/nut: support storing RFC 3389 comfort noise
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 02:13:31 +02:00
Michael Niedermayer
617e866e25 Move av_find_best_pix_fmt_of_2() from avcodec to avutil
This avoids a dependancy of libavfilter on libavcodec

See Ticket 3592
Fixes Ticket2784

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 23:14:05 +02:00
Lukasz Marek
8ff72924cf lavd/opengl_enc: fix pixel data alignment
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 22:03:32 +02:00
Mickaël Raulet
bd4dc9e717 fate/hevc: update with new sequences from jctvc(cherry picked from commit de6d9c586bd3852dfbe629a88ccc8c0f0a2bfcbb)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 21:51:58 +02:00
Michael Niedermayer
a1ac27bc66 Merge commit '7d027b9d6d6290557cc5d4fc56f4b9ed630a7feb'
* commit '7d027b9d6d6290557cc5d4fc56f4b9ed630a7feb':
  librtmp: Map native options to librtmp ones when possible

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 21:43:56 +02:00
Michael Niedermayer
554a1ecab7 Merge commit '7266e24f176389d2e81bfc7c829934f7c8ae361c'
* commit '7266e24f176389d2e81bfc7c829934f7c8ae361c':
  hls: Sync the file number with the start sequence

Conflicts:
	libavformat/hlsenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 21:29:04 +02:00
Michael Niedermayer
5b4c8aac97 Merge commit 'a16431034d9bd44182bf844d6bbde2c98bc4e6b5'
* commit 'a16431034d9bd44182bf844d6bbde2c98bc4e6b5':
  hls: Factor the sequence computation

Conflicts:
	libavformat/hlsenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 21:14:56 +02:00
Anton Khirnov
eb3b5501e8 matroskadec: read the CodecDelay element 2014-04-30 21:00:01 +02:00
Michael Niedermayer
8522dd380b Merge commit 'c7603b3c243331057300337a61464e6ac4a605cb'
* commit 'c7603b3c243331057300337a61464e6ac4a605cb':
  hls: Print start_number as first sequence value

Conflicts:
	libavformat/hlsenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 20:52:58 +02:00
Michael Niedermayer
67979b5936 Merge commit '87a3ea3192bf5e4aafa08bca8686a2b577eae818'
* commit '87a3ea3192bf5e4aafa08bca8686a2b577eae818':
  segment: Report the current media sequence

Conflicts:
	libavformat/segment.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 20:14:50 +02:00
Michael Niedermayer
f21f969a3f Merge commit '344f7b5a7e0d50573dec402dfe6228676f3889d9'
* commit '344f7b5a7e0d50573dec402dfe6228676f3889d9':
  hls: Report the current media sequence

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 20:03:06 +02:00
Luca Barbato
7d027b9d6d librtmp: Map native options to librtmp ones when possible
Makes the two protocols nearly seamless.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-30 18:56:43 +02:00
Michael Niedermayer
0eb9482e32 avcodec/flacenc: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 18:28:40 +02:00
Michael Niedermayer
f08ca91b05 avcodec/ivi_common: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 18:27:51 +02:00
Michael Niedermayer
8532566e80 avcodec/mjpegdec: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 18:26:28 +02:00
Luca Barbato
7266e24f17 hls: Sync the file number with the start sequence 2014-04-30 17:52:49 +02:00
Luca Barbato
a16431034d hls: Factor the sequence computation 2014-04-30 17:52:33 +02:00
Luca Barbato
c7603b3c24 hls: Print start_number as first sequence value
The option now behaves as expected.
2014-04-30 17:52:17 +02:00
Luca Barbato
87a3ea3192 segment: Report the current media sequence
Useful for debugging mostly.
2014-04-30 17:52:03 +02:00
Luca Barbato
344f7b5a7e hls: Report the current media sequence
Useful for debugging mostly.
2014-04-30 17:51:50 +02:00
Michael Niedermayer
1e25afc181 avcodec/tiff: Support 410 and 440 YCbCr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 17:41:31 +02:00
Daniel Verkamp
5e7d21c7ad ff_put_wav_header: add flag to force WAVEFORMATEX
Partially undoes commit 2c4e08d893:

    riff: always generate a proper WAVEFORMATEX structure in
    ff_put_wav_header

A new flag, FF_PUT_WAV_HEADER_FORCE_WAVEFORMATEX, is added to force the
use of WAVEFORMATEX rather than PCMWAVEFORMAT even for PCM codecs.

This flag is used in the Matroska muxer (the cause of the original
change) and in the ASF muxer, because the specifications for
these formats indicate explicitly that WAVEFORMATEX should be used.

Muxers for other formats will return to the original behavior of writing
PCMWAVEFORMAT when writing a header for raw PCM.

In particular, this causes raw PCM in WAV to generate the canonical
44-byte header expected by some tools.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 16:41:35 +02:00
Michael Niedermayer
bb6d00f014 Merge remote-tracking branch 'lukaszmluki/master'
* lukaszmluki/master:
  lavd/pulse_audio_enc: respect minreq while checking buffer fullness
  lavd/pulse_audio_enc: signal that buffer is still writable after write
  lavd/pulse_audio_enc: add pointer checks
  lavd/pulse_audio_enc: add more buffer attributes
  lavd/fbdev_dec: implement fbdev_get_device_list callback
  lavd/fbdev_enc: move list device code to fbdev_common
  lavd/fbdev_enc: remove redundant assignments

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 14:34:59 +02:00
Michael Niedermayer
421b21ca8a sws: dont use the optimized 410->420 unscaled conversion when height%4
Fixes Ticket3594
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 06:23:39 +02:00
Michael Niedermayer
f0c78b0769 avcodec/vorbisdec: use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 05:23:44 +02:00
Michael Niedermayer
0a266cb55a avcodec/vorbisdec: try to workaround libvorbisenc bug
Fixes Ticket3590

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 05:23:37 +02:00
Michael Niedermayer
5b393766ba Merge commit 'a7c5fddac8137654cb503295c4dfb6492df43643'
* commit 'a7c5fddac8137654cb503295c4dfb6492df43643':
  avconv_dxva2: define all used GUIDs directly instead of relying on the dxva2api.h header

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 00:46:38 +02:00
Michael Niedermayer
37ce3188de Merge commit '9d76dd952ffd9fffc7f9fb5cc5af6d093ba54521'
* commit '9d76dd952ffd9fffc7f9fb5cc5af6d093ba54521':
  h264: drop commented out cruft

Conflicts:
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 00:38:13 +02:00
Lukasz Marek
5bef4878d3 lavd/pulse_audio_enc: respect minreq while checking buffer fullness
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-30 00:36:14 +02:00
Lukasz Marek
f817d55049 lavd/pulse_audio_enc: signal that buffer is still writable after write
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-30 00:36:06 +02:00
Lukasz Marek
a1e5be5c1a lavd/pulse_audio_enc: add pointer checks
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-30 00:35:42 +02:00
Lukasz Marek
954a8f4483 lavd/pulse_audio_enc: add more buffer attributes
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-30 00:35:42 +02:00
Lukasz Marek
e2ebaa0933 lavd/fbdev_dec: implement fbdev_get_device_list callback
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-30 00:35:42 +02:00
Lukasz Marek
279ff8d2f6 lavd/fbdev_enc: move list device code to fbdev_common
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-30 00:35:42 +02:00
Lukasz Marek
3050e53f2b lavd/fbdev_enc: remove redundant assignments
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-30 00:35:42 +02:00
Michael Niedermayer
b3d48c315d Merge commit 'c1f92d13589d431e576d719dd44427486a5e05cd'
* commit 'c1f92d13589d431e576d719dd44427486a5e05cd':
  mpegvideo: remove unused MpegEncContext.b4_stride

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 00:28:51 +02:00
Michael Niedermayer
8b30702c44 Merge commit '6a13505c069890cb0e2a07e29fd819a0cf2e73c1'
* commit '6a13505c069890cb0e2a07e29fd819a0cf2e73c1':
  mpegvideo: move the MpegEncContext fields used from arm asm to the beginning

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 00:23:01 +02:00
Michael Niedermayer
ed72dae4cf ffmpeg: dont print "Conversion failed" if conversion has never started
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 23:45:22 +02:00
gcocherel
2eddf3a6ef avcodec/hevc: fix no output of prior pics and pic output flags(cherry picked from commit e99b96dff1d76d74cb5633aa9702828d863050e2)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 22:43:25 +02:00
Michael Niedermayer
978c193d47 cmdutils: omit deprecated codec ids in help output
These ids should be meaningless for the end user and would only
confuse

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 22:13:35 +02:00
Michael Niedermayer
375a0c03a9 avformat/xwma: fix memleak of dpds_table
Fixes CID1087092
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 20:48:03 +02:00
Michael Niedermayer
cf4dbe9aff avformat/xwma: improve error codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 20:47:00 +02:00
Michael Niedermayer
c31ad87bc6 avformat/xwma: use NULL instead of 0 for pointers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 20:41:58 +02:00
Michael Niedermayer
03b88f6b39 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavfi/drawtext: allow to format pts as HH:MM:SS.mmm.
  lavf/concatdec: implement automatic conversions.
  lavf/concatdec: reindent after last commit.
  lavf/concatdec: always do stream matching.
  lavf/concatdec: check match_streams() return value.
  lavf/concatdec: use a structure for each stream.
  ffprobe: use the codec descriptor if no decoder was found.
  lavf/matroska: add "binary" pseudo-MIME type.
  lavc: minor bump and APIchanges for AVCodecDescriptor.mime_types.
  lavc: add a mime_types field to codec descriptors.
  lavc: add AV_CODEC_ID_BIN_DATA.
  lavc: add codec descriptors for TTF and OTF.
  lavc: add codec descriptors for deprecated ids.
  lavc/codec_desc: add separation comment.
  tools/ffhash: implement base64 output.
  tools/ffhash: use av_hash_final_hex().
  lavu/hash: add hash_final helpers.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 19:29:48 +02:00
Michael Niedermayer
4506ed336f avformat/img2_alias_pix: fix 2 unused variable warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 18:47:27 +02:00
Michael Niedermayer
f694ca7ca7 avcodec/tiff: support 4:2:2 and 4:1:1 YCbCr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 18:39:24 +02:00
Hendrik Leppkes
a7c5fddac8 avconv_dxva2: define all used GUIDs directly instead of relying on the dxva2api.h header
This avoids issues with inconsistent headers with different versions of mingw-w64 and older MSVC variants.

Fixes FATE builds of MSVC 2010.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-29 16:50:43 +02:00
Michael Niedermayer
217f6c53e5 Merge commit '5a70a783f04919514efec7751d710b64d8975fd7'
* commit '5a70a783f04919514efec7751d710b64d8975fd7':
  hls: Add an option to prepend a baseurl to the playlist entries

Conflicts:
	doc/muxers.texi
	libavformat/hlsenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 16:37:22 +02:00
Michael Niedermayer
fd601ba6b1 Merge commit '5c08ae4f37281441188447cd04dcaf7cd7ce031f'
* commit '5c08ae4f37281441188447cd04dcaf7cd7ce031f':
  segment: Add an option to prepend a string to the list entries

Conflicts:
	doc/muxers.texi
	libavformat/segment.c

See: 5e278c19c7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 15:57:43 +02:00
Michael Niedermayer
6a0b5e3476 avcodec/mpegvideo: fix null pointer dereference
Fixes: 111342.ogm with ffplay
Found-by: Dale Curtis <dalecurtis@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 14:52:12 +02:00
Anton Khirnov
9d76dd952f h264: drop commented out cruft 2014-04-29 14:49:42 +02:00
Anton Khirnov
c1f92d1358 mpegvideo: remove unused MpegEncContext.b4_stride 2014-04-29 14:49:42 +02:00
Anton Khirnov
6a13505c06 mpegvideo: move the MpegEncContext fields used from arm asm to the beginning
This should reduce the frequency with which the offsets need to be
updated.
2014-04-29 14:49:42 +02:00
Nicolas George
41334fcab4 lavfi/drawtext: allow to format pts as HH:MM:SS.mmm. 2014-04-29 13:25:59 +02:00
Nicolas George
50ed6e3ce6 lavf/concatdec: implement automatic conversions. 2014-04-29 13:25:59 +02:00
Nicolas George
9d24a536a3 lavf/concatdec: reindent after last commit. 2014-04-29 13:25:59 +02:00
Nicolas George
b24d6c5303 lavf/concatdec: always do stream matching. 2014-04-29 13:25:59 +02:00
Nicolas George
c27939d871 lavf/concatdec: check match_streams() return value. 2014-04-29 13:25:59 +02:00
Nicolas George
e973cf04f6 lavf/concatdec: use a structure for each stream. 2014-04-29 13:25:59 +02:00
Nicolas George
43ca94a633 ffprobe: use the codec descriptor if no decoder was found. 2014-04-29 13:25:59 +02:00
Nicolas George
c9212abf95 lavf/matroska: add "binary" pseudo-MIME type.
Avoid long scan and "Could not find codec parameters for stream"
error when an attachment has this type.
2014-04-29 13:25:59 +02:00
Nicolas George
70beebe357 lavc: minor bump and APIchanges for AVCodecDescriptor.mime_types.
The minor bump also covers AV_CODEC_ID_BIN_DATA.
2014-04-29 13:25:52 +02:00
Nicolas George
1bf6396498 lavc: add a mime_types field to codec descriptors. 2014-04-29 13:24:18 +02:00
Nicolas George
6ea1196673 lavc: add AV_CODEC_ID_BIN_DATA. 2014-04-29 13:24:18 +02:00
Nicolas George
892e2c2ad8 lavc: add codec descriptors for TTF and OTF. 2014-04-29 13:24:18 +02:00
Nicolas George
fa7bc7ed8b lavc: add codec descriptors for deprecated ids. 2014-04-29 13:24:18 +02:00
Nicolas George
e419e29e1c lavc/codec_desc: add separation comment. 2014-04-29 13:24:17 +02:00
Nicolas George
73c4b6ce4b tools/ffhash: implement base64 output.
Also fix usage string: the algorithm is not optional.
2014-04-29 13:24:17 +02:00
Nicolas George
3926a30b58 tools/ffhash: use av_hash_final_hex(). 2014-04-29 13:24:17 +02:00
Nicolas George
b804eb4323 lavu/hash: add hash_final helpers.
The helpers use local memory to compute the final hash,
making AV_HASH_MAX_SIZE safe to use.
2014-04-29 13:24:11 +02:00
Luca Barbato
5a70a783f0 hls: Add an option to prepend a baseurl to the playlist entries
Useful to generate playlists with absolute paths.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-29 12:14:11 +02:00
Enrique Arizón Benito
5c08ae4f37 segment: Add an option to prepend a string to the list entries
Useful to generate lists with absolute urls.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-29 12:14:00 +02:00
Reynaldo H. Verdejo Pinochet
5b881499a8 ffserver: do not ignore lseek() return
Should fix FFmpeg Coverity Scan issue #732177

Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-04-29 01:08:06 -04:00
Reynaldo H. Verdejo Pinochet
898192e029 ffserver: do not ignore getsockname() return
Should fix FFmpeg Coverity Scan issue #732176

Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-04-28 23:54:58 -04:00
Reynaldo H. Verdejo Pinochet
e79bc6a88a ffserver: do not ignore send() return
Should fix Coverity Scan issue #732178

Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-04-28 23:54:58 -04:00
Reynaldo H. Verdejo Pinochet
8baa5b32a5 ffserver: do not ignore setsockopt return
Should fix FFmpeg Coverity Scan issue #732181

Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-04-28 23:54:58 -04:00
Reynaldo H. Verdejo Pinochet
6d953ae2c4 ffserver: do not ignore ff_socket_nonblock return
Should fix FFmpeg Coverity Scan issues #732180 & #732182

Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-04-28 23:54:46 -04:00
Michael Niedermayer
ede411dd03 avcodec/vc1_parser: fix use of uinitialized memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 04:30:53 +02:00
Michael Niedermayer
7c71076470 avutil/log: fix memleak from 669a09fb37
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 03:13:51 +02:00
Michael Niedermayer
648f7a6ec5 ffmpeg_dxva2: fix mixing of declarations and statements
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 01:54:42 +02:00
Michael Niedermayer
21c7e99659 Merge commit 'a61c2115fb936d50b8b0328d00562fe529a7c46a'
* commit 'a61c2115fb936d50b8b0328d00562fe529a7c46a':
  configure: rework dxva in avconv handling

Conflicts:
	Makefile
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 01:47:53 +02:00
Michael Niedermayer
c6eee3120a Merge commit '35177ba77ff60a8b8839783f57e44bcc4214507a'
* commit '35177ba77ff60a8b8839783f57e44bcc4214507a':
  avconv: add support for DXVA2 decoding

Conflicts:
	Makefile
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 01:22:22 +02:00
Michael Niedermayer
9c6eef6f5f Merge commit 'b2b4afe8115fe3c8b005d663610e5af06f110165'
* commit 'b2b4afe8115fe3c8b005d663610e5af06f110165':
  hwaccel: fix dxva2 & vaapi loop filter parameters

See: 0ad8f73f13
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 01:04:44 +02:00
Michael Niedermayer
0f630b7b12 Merge commit 'ed4b757177f9b563412cdbc8ee3405d82e10fc05'
* commit 'ed4b757177f9b563412cdbc8ee3405d82e10fc05':
  dxva2_h264: add a workaround for old Intel GPUs

Conflicts:
	doc/APIchanges
	libavcodec/version.h

See: 8b2a130d3f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 00:52:05 +02:00
Michael Niedermayer
2548f8a237 Merge commit '2fcef90bee98bffeff1d95b7197738f50c450d86'
* commit '2fcef90bee98bffeff1d95b7197738f50c450d86':
  dxva2_h264: set the correct ref frame index in the long slice struct

Conflicts:
	libavcodec/dxva2_h264.c

See: 276839b8de
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 00:38:50 +02:00
Michael Niedermayer
fed0acebad ffmpeg: print an error at the end if conversion failed
Fixes Ticket3477

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 00:09:08 +02:00
Michael Niedermayer
68c3e6025f Fix convertion typos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 00:09:08 +02:00
Anton Khirnov
a61c2115fb configure: rework dxva in avconv handling
Move the dxva check after the dependencies have been detected, make sure
the ole32 library exists.

Fixes build on non-Windows.
2014-04-28 23:02:56 +02:00
Hendrik Leppkes
35177ba77f avconv: add support for DXVA2 decoding
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-28 21:21:54 +02:00
Michael Niedermayer
8120668351 avcodec/hevc_cabac: decrease CABAC_MAX_BIN
Prevents shifts with undefined behavior

Fixes CID1206634
Fixes CID1206635
Fixed CID1206636

Reviewed-by: smarter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-28 20:37:48 +02:00
Michael Niedermayer
b2b4afe811 hwaccel: fix dxva2 & vaapi loop filter parameters
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-28 20:23:17 +02:00
Hendrik Leppkes
ed4b757177 dxva2_h264: add a workaround for old Intel GPUs
Old Intel GPUs expect the reference frame index to the actual surface,
instead of the index into RefFrameList as specified by the spec.

This workaround should be set when using one of the "ClearVideo" decoder
devices.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-28 20:21:59 +02:00
James Almer
096de451b0 configure: add support for new CPUs
Add new -march values for Intel CPUs (introduced with GCC 4.9.x), add support
for the missing AMD btver* CPUs, and improve SunCC flags accordingly.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-28 20:16:40 +02:00
Hendrik Leppkes
2fcef90bee dxva2_h264: set the correct ref frame index in the long slice struct
The latest H.264 DXVA specification states that the index in this
structure should refer to a valid entry in the RefFrameList of the picture
parameter structure, and not to the actual surface index.

Fixes H.264 DXVA2 decoding on recent Intel GPUs (tested on Sandy and Ivy)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-28 20:12:44 +02:00
Michael Niedermayer
a215b15815 avformat/utils: Set the average frame rate from the r_frame_rate if the stream appears to be cfr
This permits the average fps to be set in more cases

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-28 18:51:15 +02:00
Michael Niedermayer
34e7d3c368 avformat/utils: Ensure that average fps is probed if requested by the user even if tb_unreliable() is 0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-28 16:30:50 +02:00
Michael Niedermayer
502a8f56b9 Merge commit '1eb57e1d9b59db0aa63348c21bf3290bd3f5efcb'
* commit '1eb57e1d9b59db0aa63348c21bf3290bd3f5efcb':
  lavc: eliminate tb_unreliable()

Conflicts:
	libavformat/utils.c

tb_unreliable() is used in several other parts of libavformat and thus isnt removed
The remaining change is a removial of a call to tb_unreliable() which would cause
a practically unconditional delay of about 1 second in startup for live streams.
I will implement what the commit message claims the change should do in the next
commit

This is thus, not merged

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-28 16:26:18 +02:00
Michael Niedermayer
1f249d2ca7 avformat/utils: prevent r frame rate from being set larger than 1/tb
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-28 15:49:51 +02:00
Michael Niedermayer
4394f82f52 avformat/utils: add gif to tb_unreliable()
This improves the used timebases when gif is the source

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-28 15:20:38 +02:00
Anton Khirnov
1eb57e1d9b lavc: eliminate tb_unreliable()
If framerate estimation is enabled, it makes sense to always apply it,
instead of limiting it to a few specific cases.
2014-04-28 11:34:59 +02:00
Michael Niedermayer
18af0ce62d avfilter/graphdump: Fix pointer to local outside scope
Fixes CID1194435
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-28 04:01:50 +02:00
Michael Niedermayer
2cf514354b avcodec/mpeg12enc: increase declared size of block function argument
Fixes CID1047236
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-28 01:11:04 +02:00
Michael Niedermayer
d80e7ba9b7 ffmpeg_filter: make *jpeg_formats static const
Found-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-28 00:22:38 +02:00
Michael Niedermayer
e31727bd53 avcodec/mjpegdec: make type of shift unsigned to avoid undefined behavior
Found-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-28 00:22:38 +02:00
Michael Niedermayer
4260ed462b avcodec/h264_cabac: fix indention
Fixes CID1087088
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-28 00:22:38 +02:00
Michael Niedermayer
1fc28cf164 avcodec/g729postfilter: avoid potential negative shift
Fixes CID1194402

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 23:12:42 +02:00
Michael Niedermayer
d03defa778 avcodec/tiff: Support yuv 420 and 444
Fixes Ticket416
Trolled-by: jb
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 21:03:15 +02:00
Michael Niedermayer
1ca21e1b76 avcodec/tiff: parse subsample factors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 18:44:58 +02:00
Lukasz Marek
4930e529bf lavd/fbdev_enc: fix not closed handles
Fixes CID 1206651

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 16:36:29 +02:00
Peter Ross
b3c0d010c3 avformat/mlvdec: close any additional .Mxx files
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 15:34:27 +02:00
Peter Ross
8bd6837e51 avformat/mlvdec: remove unused MlvContext.buffer
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 15:34:22 +02:00
Michael Niedermayer
ef312b8f0f Fix bistream typos
Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 15:30:25 +02:00
Michael Niedermayer
3a5ca79b0c fix bistream typos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 15:21:48 +02:00
Michael Niedermayer
9341e9497b Fix overriden typos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 15:20:45 +02:00
Michael Niedermayer
a5e20d9f4d Fix teh typos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 15:16:13 +02:00
Michael Niedermayer
466988ab75 Fix dont and doesnt typos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 15:14:32 +02:00
Michael Niedermayer
e2a5557cbb Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  lavf/mpeg.h: Remove an unused definition.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 15:04:00 +02:00
Carl Eugen Hoyos
4abbea0243 lavf/mpeg.h: Remove an unused definition.
Fixes a warning when compiling mpegts.c.
2014-04-27 14:54:29 +02:00
Michael Niedermayer
e9ad121ba5 Fix skiping typos
Found-by: Alessandro Ghedini <alessandro@ghedini.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 14:50:14 +02:00
Peter Ross
9abf08f79f avformat/mlvdec: print unsigned chunk size
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 14:37:54 +02:00
Peter Ross
bdab0c2d76 avformat/mlvdec: process ff_get_wav_header return value
Fixes CID1206640.

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 14:37:18 +02:00
goodthanks
c9cfd45838 avformat/mpegtsenc: Allow DTS audio copy to TS streams
This doesn't allow encoding of DTS or TrueHD. It just sets the correct
stream ID in the TS output file when a DTS or TrueHD audio stream is copied.

Fixes ticket #1398

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 14:24:29 +02:00
Michael Niedermayer
7e7b668ef5 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Try mov tags if the fourcc in V_MS/VFW mkv files cannot be found in bmp tags.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 13:29:28 +02:00
Michael Niedermayer
e20ebe491c avcodec/shorten: check bitshift
Fixes invalid shift
Fixes CID1194400

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 13:03:28 +02:00
Carl Eugen Hoyos
ade5851be0 Try mov tags if the fourcc in V_MS/VFW mkv files cannot be found in bmp tags.
Fixes decoding of broken mkv files containing ProRes video from ticket #3434.
2014-04-27 12:52:34 +02:00
Clément Bœsch
b2cfd1fde7 avfilter/curves: fix resource leaks.
Fixes CID1206650
2014-04-27 11:49:13 +02:00
Michael Niedermayer
b432960528 avcodec/mjpegdec: Fix undefined shift
Fixes CID1194388

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 05:32:56 +02:00
Michael Niedermayer
bc3234062d avcodec/truemotion2: replace impossible condition by av_assert2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 05:20:04 +02:00
Michael Niedermayer
09b16619d3 ffmpeg_filter: fix pointer to local outside scope
Fixes CID1206652
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 05:07:29 +02:00
Michael Niedermayer
6956b048d8 avfilter/vf_drawtext: fix resource leaks
Fixes CID1206649

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 03:18:57 +02:00
Michael Niedermayer
66e30a2e65 avformat/mpegtsenc: check avformat_new_stream() return
Fixes CID1206645
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-26 22:08:37 +02:00
Michael Niedermayer
24725f8e09 avformat/matroskaenc: fix indention level
Fixes CID1206644
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-26 22:01:48 +02:00
Michael Niedermayer
9b1d7d4fd3 avformat/oggparsecelt: fix memleak
Fixes: CID1108605

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-26 21:31:15 +02:00
Michael Niedermayer
68de2115ca avformat/tee: print errors for each failed bitstream filter
Fixes CID1108584

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-26 21:08:44 +02:00
Michael Niedermayer
ebfe154bd5 avcodec/apedec: tmpk==32 is not supported, prevent undefined behavior
Fixes CID1206639
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-26 20:56:31 +02:00
tue46wsdgxfjrt
669a09fb37 Add AV_LOG_PRINT_LEVEL flag to include log severity in default log formatting.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-26 19:27:33 +02:00
tue46wsdgxfjrt
262ea965e7 cmdutils: preserve unchanged log flags when setting AV_LOG_SKIP_REPEATED
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-26 19:21:59 +02:00
Lukasz Marek
b217dc91bf lavfi/avfilter: clarify avfilter_graph_get_filter() doxygen
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-26 02:16:56 +02:00
Michael Niedermayer
3ba77ea369 avcodec/vc1dec: print debug message if a b frame without reference is skiped
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-26 01:41:31 +02:00
Michael Niedermayer
8b2c3d2ae9 Merge commit 'cdf6eb5a9710566be217a3f17d3d94ac4e4d2662'
* commit 'cdf6eb5a9710566be217a3f17d3d94ac4e4d2662':
  vc1: Do not return an error when skipping b frames

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-26 01:06:15 +02:00
Reynaldo H. Verdejo Pinochet
7228bdeebd ffserver: fix missing frees at connection setup
Should fix FFmpeg Coverity Scan issue #732266 and some of #732265

Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-04-25 19:49:55 -03:00
Reynaldo H. Verdejo Pinochet
1404e2a389 ffserver: free AVStream st before wiping context
Should fix FFmpeg Coverity Scan issue #732269

Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-04-25 19:49:55 -03:00
Reynaldo H. Verdejo Pinochet
107f2468c4 ffserver: free nacl as needed
Should fix FFmpeg Coverity Scan issue #732268

Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-04-25 19:49:55 -03:00
Lukasz Marek
b2682db34c lavfi/avfilter: fix typos in doxgens
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 23:49:11 +02:00
Michael Niedermayer
e0e60c9211 avcodec/dpx: extract frame rate
Fixes part of Ticket3511

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 23:40:59 +02:00
Michael Niedermayer
af165acefa avformat/movenc: dont store invalid tapt atom
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 21:51:34 +02:00
Michael Niedermayer
c9e0f7a080 Merge commit '99e22b7859177f6d3ed6121040924b337dce5497'
* commit '99e22b7859177f6d3ed6121040924b337dce5497':
  mov: Emit the correct tags for clcp tracks

Conflicts:
	libavformat/movenc.c

See: a5f6720f13
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 21:33:18 +02:00
Michael Niedermayer
944a744bf5 Merge commit '802385dbc2c57abd76f6a00e32f3df35e9526c08'
* commit '802385dbc2c57abd76f6a00e32f3df35e9526c08':
  mov: Write prof section of tapt tag

See: 8a9b48bfa9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 20:52:59 +02:00
Don Moir
62056d09b1 avformat/avidec: skip len=0 entries from the index
Reduces cpu & memory requirements for the index
See Ticket 3531

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 18:56:05 +02:00
Alessandro Ghedini
cdf6eb5a97 vc1: Do not return an error when skipping b frames
This caused mpv (and possibly others) to fallback to software decoding after
seeking a VC1 stream.

Bug-Id: 667

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-25 18:22:25 +02:00
Miles Gould
99e22b7859 mov: Emit the correct tags for clcp tracks
Bug-Id: 664

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-25 17:38:19 +02:00
Aidan Skinner
802385dbc2 mov: Write prof section of tapt tag
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-25 17:38:19 +02:00
James Almer
cdac3ab59f swresample: add swri_resample_double_sse2
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 16:46:07 +02:00
Michael Niedermayer
92cc6d5163 avcodec/mdct_template: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 15:07:31 +02:00
Michael Niedermayer
681a5b8d6f avcodec/ttaenc: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 15:04:42 +02:00
Michael Niedermayer
abbcc6b26b avcodec/utils: use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 15:03:26 +02:00
Michael Niedermayer
2f2629c870 Merge commit '6d69f9f37689c999815a65a2d99999fad3a41705'
* commit '6d69f9f37689c999815a65a2d99999fad3a41705':
  vp9: write uveob as 16-bit value for 16x16/32x32 transforms.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 13:55:44 +02:00
Ronald S. Bultje
6d69f9f376 vp9: write uveob as 16-bit value for 16x16/32x32 transforms.
This fixes make fate-vp9-00-quantizer-01 THREADS=2.
2014-04-25 07:51:39 -04:00
James Almer
c7b089048d vp9: use LOCAL_ALIGNED_32 for left/top intra_pred pointers
This is needed for future AVX2 implementations

Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 06:13:15 +02:00
James Almer
25d5ea6d5a lavu: add LOCAL_ALIGNED_32
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 06:12:51 +02:00
Y.C. Liu
cebe06a0bf avutil/opencl: fix a segmentfault in libavutil/opencl.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 05:29:21 +02:00
Michael Niedermayer
6e5cce1cbe configure: allow overriding ranlib
Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 04:28:43 +02:00
Ben Avison
a0d7f9ec9a vc-1: Optimise parser (with special attention to ARM)
The previous implementation of the parser made four passes over each input
buffer (reduced to two if the container format already guaranteed the input
buffer corresponded to frames, such as with MKV). But these buffers are
often 200K in size, certainly enough to flush the data out of L1 cache, and
for many CPUs, all the way out to main memory. The passes were:

1) locate frame boundaries (not needed for MKV etc)
2) copy the data into a contiguous block (not needed for MKV etc)
3) locate the start codes within each frame
4) unescape the data between start codes

After this, the unescaped data was parsed to extract certain header fields,
but because the unescape operation was so large, this was usually also
effectively operating on uncached memory. Most of the unescaped data was
simply thrown away and never processed further. Only step 2 - because it
used memcpy - was using prefetch, making things even worse.

This patch reorganises these steps so that, aside from the copying, the
operations are performed in parallel, maximising cache utilisation. No more
than the worst-case number of bytes needed for header parsing is unescaped.
Most of the data is, in practice, only read in order to search for a start
code, for which optimised implementations already existed in the H264 codec
(notably the ARM version uses prefetch, so we end up doing both remaining
passes at maximum speed). For MKV files, we know when we've found the last
start code of interest in a given frame, so we are able to avoid doing even
that one remaining pass for most of the buffer.

In some use-cases (such as the Raspberry Pi) video decode is handled by the
GPU, but the entire elementary stream is still fed through the parser to
pick out certain elements of the header which are necessary to manage the
decode process. As you might expect, in these cases, the performance of the
parser is significant.

To measure parser performance, I used the same VC-1 elementary stream in
either an MPEG-2 transport stream or a MKV file, and fed it through ffmpeg
with -c:v copy -c:a copy -f null. These are the gperftools counts for
those streams, both filtered to only include vc1_parse() and its callees,
and unfiltered (to include the whole binary). Lower numbers are better:

                Before          After
File  Filtered  Mean   StdDev   Mean   StdDev  Confidence  Change
M2TS  No        861.7  8.2      650.5  8.1     100.0%      +32.5%
MKV   No        868.9  7.4      731.7  9.0     100.0%      +18.8%
M2TS  Yes       250.0  11.2     27.2   3.4     100.0%      +817.9%
MKV   Yes       149.0  12.8     1.7    0.8     100.0%      +8526.3%

Yes, that last case shows vc1_parse() running 86 times faster! The M2TS
case does show a larger absolute improvement though, since it was worse
to begin with.

This patch has been tested with the FATE suite (albeit on x86 for speed).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 02:36:29 +02:00
Ben Avison
9d8ecdd8ca vc-1: Add platform-specific start code search routine to VC1DSPContext.
Initialise VC1DSPContext for parser as well as for decoder.
Note, the VC-1 code doesn't actually use the function pointer yet.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 02:36:11 +02:00
Ben Avison
270cede3f3 h264: Move search code search functions into separate source files.
This permits re-use with parsers for codecs which use similar start codes.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 02:35:56 +02:00
Michael Niedermayer
e148a5820d Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Enable muxing ac-3 in caf.
  Use correct msvc type specifiers for ptrdiff_t and size_t.
  Fix vf_eq.c and vf_eq2.c compilation with !HAVE_6REGS.
  Fix libpostproc compilation with !HAVE_6REGS.
  Never write 0 as maximum bitrate for asf files.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 01:56:23 +02:00
Michael Niedermayer
817627d925 Merge commit '8de77b665d2a2f1cd560d2183fd4664298b30715'
* commit '8de77b665d2a2f1cd560d2183fd4664298b30715':
  fate: Add fic-in-avi test

Conflicts:
	tests/ref/fate/fic-avi

See: d66de5006b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 01:33:41 +02:00
Michael Niedermayer
e32fc9b45b Merge commit 'a24a252709dd38f12aa4929ce4981f87091a5113'
* commit 'a24a252709dd38f12aa4929ce4981f87091a5113':
  aarch64: NEON optimized FIR audio resampling

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 01:19:27 +02:00
Michael Niedermayer
26953ed2e3 Merge commit 'cae8df78759c2e69257f7fe58842f34c0d98a7ec'
* commit 'cae8df78759c2e69257f7fe58842f34c0d98a7ec':
  lavr: define ResampleContext in resample.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 01:17:15 +02:00
Michael Niedermayer
06e664366a Merge commit 'a88e1d1c598e641eecd5d43730211d91c82787c6'
* commit 'a88e1d1c598e641eecd5d43730211d91c82787c6':
  lavu: add CHK_OFFS as AV_CHECK_OFFSET to check struct member offsets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 00:55:40 +02:00
James Almer
5ac10d40fb x86/mpegaudiodsp: define apply_window_mp3 as SSE
None of the handwritten asm in this function seems to be SSE2

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 00:38:01 +02:00
Derek Buitenhuis
d66de5006b fate: Add fic-in-avi test
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-24 22:01:33 +01:00
Derek Buitenhuis
8de77b665d fate: Add fic-in-avi test
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-24 22:00:50 +01:00
Michael Niedermayer
ca9cc6fdcc Merge commit '152b797cd687e96a582a1cb908dddf3d330d7637'
* commit '152b797cd687e96a582a1cb908dddf3d330d7637':
  flv: Do not mangle dts values for negative cts

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-24 21:50:28 +02:00
Michael Niedermayer
7da5ff5c18 Merge commit '5d983fdbca5570a1545a892583a372cfb3fffe92'
* commit '5d983fdbca5570a1545a892583a372cfb3fffe92':
  flv: Warn only once

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-24 21:37:26 +02:00
Michael Niedermayer
277ae5a7b3 Merge commit '374fdc8c071dcd96422378b0a1a0d453336d8a01'
* commit '374fdc8c071dcd96422378b0a1a0d453336d8a01':
  flv: Improve log messages

Conflicts:
	libavformat/flvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-24 21:27:09 +02:00
Janne Grunau
a24a252709 aarch64: NEON optimized FIR audio resampling
Optimized for the default filter length 16.

30% faster opus silk decoding.
2014-04-24 18:28:26 +02:00
Janne Grunau
cae8df7875 lavr: define ResampleContext in resample.h
Required for arch optimized resampling.
2014-04-24 18:28:26 +02:00
Janne Grunau
a88e1d1c59 lavu: add CHK_OFFS as AV_CHECK_OFFSET to check struct member offsets 2014-04-24 18:28:26 +02:00
Carl Eugen Hoyos
18e7e21e2f Enable muxing ac-3 in caf.
The files play fine with QuickTime.
2014-04-24 18:02:20 +02:00
Carl Eugen Hoyos
ced0d6c14d Use correct msvc type specifiers for ptrdiff_t and size_t.
The Windows runtime aborts if it finds %t or %z.
Fixes ticket #3472.

Reviewed-by: Ronald Bultje
2014-04-24 18:01:30 +02:00
Carl Eugen Hoyos
9cc4bc973c Fix vf_eq.c and vf_eq2.c compilation with !HAVE_6REGS. 2014-04-24 17:50:27 +02:00
Carl Eugen Hoyos
a19bcf4ee8 Fix libpostproc compilation with !HAVE_6REGS. 2014-04-24 17:50:02 +02:00
Carl Eugen Hoyos
eeee59ba4d Never write 0 as maximum bitrate for asf files.
WMP refuses to play such streams.
2014-04-24 17:47:49 +02:00
Michael Niedermayer
31f2357fd0 avdevice/qtkit: fix include
Fixes: Ticket 3588

Found-by: jeremyhu
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-24 05:12:07 +02:00
YuDenzel
443936d8b9 configure: Fix ld flags when rpath is enabled.
Provide correct rpath flags to ld when --enable-rpath is provided.
2014-04-24 03:03:45 +02:00
Michael Niedermayer
291d464161 swresample: fix AV_CH_LAYOUT_STEREO_DOWNMIX input
Fixes Ticket 3542

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-24 01:25:46 +02:00
Michael Niedermayer
417ae6281b Merge commit '7cade8ea2bb19e78dae42b29720535a70fb2ae84'
* commit '7cade8ea2bb19e78dae42b29720535a70fb2ae84':
  on2avc: change a comment at #endif to match actual define

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-23 23:03:20 +02:00
Michael Niedermayer
23cd5cb18f avcodec/fic: avoid 2 additions per idct row
before:
5225 decicycles in IDCT, 32756 runs, 12 skips

after:
5057 decicycles in IDCT, 32765 runs, 3 skips

Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-23 22:34:31 +02:00
Michael Niedermayer
c26b4b6f55 fate/libswresample: use linear interpolation on both aresample filters
This also tests LINEAR_CORE_FLT_SSE

Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-23 22:05:47 +02:00
Michael Niedermayer
fc145e576a avformat/h263dec: Fix h263 probe
The code was missing 1 bit in the src format

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-23 21:54:13 +02:00
Luca Barbato
152b797cd6 flv: Do not mangle dts values for negative cts
Some applications really mean to send negative pts.
2014-04-23 21:20:17 +02:00
Luca Barbato
5d983fdbca flv: Warn only once
No point in sending the message multiple time.
2014-04-23 21:19:27 +02:00
Michael Niedermayer
2c4862e7a1 avfilter/avcodec: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-23 21:13:53 +02:00
Michael Niedermayer
0bfb1e9238 avdevice/jack_audio: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-23 21:13:31 +02:00
Luca Barbato
374fdc8c07 flv: Improve log messages
Messages should start with a capital letter and possibly end with a "."
if they are statements.
2014-04-23 21:04:20 +02:00
Kostya Shishkov
7cade8ea2b on2avc: change a comment at #endif to match actual define 2014-04-23 20:54:29 +02:00
Michael Niedermayer
56efd98a65 Merge commit 'e2834567d73bd1e46478ba67ac133cb8ef5f50fd'
* commit 'e2834567d73bd1e46478ba67ac133cb8ef5f50fd':
  On2 AVC decoder

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-23 20:47:13 +02:00
Michael Niedermayer
ecb815e511 Merge commit 'd7eb8f903338048c0b222d92357d67f5d3b54295'
* commit 'd7eb8f903338048c0b222d92357d67f5d3b54295':
  fic: Make warning message more accurate
  fic: Remove redundant clips
  fic: Simplify alpha blending

See: 14da7f9eb7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-23 20:38:30 +02:00
Kostya Shishkov
e2834567d7 On2 AVC decoder 2014-04-23 19:57:44 +02:00
Derek Buitenhuis
14da7f9eb7 fic: Support rendering cursors
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-23 13:31:22 -04:00
Derek Buitenhuis
d7eb8f9033 fic: Make warning message more accurate
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-23 17:53:00 +01:00
Derek Buitenhuis
7596fc3d4b fic: Remove redundant clips
The equations can't overflow or underflow anyway.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-23 12:40:39 -04:00
Michael Niedermayer
1aa388d439 avcodec/jpeg2000dwt: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-23 15:52:45 +02:00
Michael Niedermayer
7de2cea8a9 avcodec/motionpixels: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-23 15:52:28 +02:00
Michael Niedermayer
c161134035 avcodec/snow_dwt: use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-23 15:51:41 +02:00
kyh96403
f21c263c89 avformat/rtmppkt: Fix random crash
Fixes Ticket3564

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-23 15:10:42 +02:00
Stefano Sabatini
1ba59b1cbe ffprobe: fix scaling of vali in value_string() in case -prefix is selected
Fix trac ticket #3523.
2014-04-23 10:32:42 +02:00
Stefano Sabatini
bf411fffd4 examples: rename avcodec.c to decoding_encoding.c
Restore the old name, which was more meaningful and consistent with the
names of the other examples.
2014-04-23 10:32:42 +02:00
Michael Niedermayer
dc6a17cf74 avformat/mux: Check for and remove invalid packet durations
Fixes assertion failure
Fixes Ticket3575

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-23 06:55:33 +02:00
Michael Niedermayer
b9017fdd42 avformat/flvdec: also include file position in debug output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-23 03:55:41 +02:00
Michael Niedermayer
e79b15f5f1 avutil/avutil.h: remove duplicate rational.h include
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-23 00:58:15 +02:00
Michael Niedermayer
d3f3035f08 Merge commit 'b0bdc2a7123abd0287de435726ab68e9e475a8d8'
* commit 'b0bdc2a7123abd0287de435726ab68e9e475a8d8':
  avutil: move av_get_time_base_q() after include rational.h

See: c7251fec39
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-23 00:48:02 +02:00
Michael Niedermayer
c2cd0945c9 Merge commit '502512ea0f179165782777265f441d4061ff6012'
* commit '502512ea0f179165782777265f441d4061ff6012':
  avutil: Add av_get_time_base_q()

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

See: dac7e8a94e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-23 00:38:39 +02:00
Michael Niedermayer
4b6bb7bfe1 Merge commit '9155c595f1a9c5a089a59e2c0aefdfabd0a6c59b'
* commit '9155c595f1a9c5a089a59e2c0aefdfabd0a6c59b':
  fic: Support rendering cursors

Not merged as the commit is missing changes that where replied to with "done" on ffmpeg-devel

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-23 00:19:12 +02:00
Michael Niedermayer
83412f00e9 Merge commit '40b331e1f41cf118bd1b0807cac801437255636f'
* commit '40b331e1f41cf118bd1b0807cac801437255636f':
  fic: Use proper quantization matrix index

See: 6d149d2818
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 23:58:21 +02:00
Derek Buitenhuis
e299cb2cd3 fic: Simplify alpha blending
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-22 17:51:43 -04:00
Michael Niedermayer
cc17ff8826 Merge commit '3956a5e0ea46ed7e27ca888fe11c47986ad99261'
* commit '3956a5e0ea46ed7e27ca888fe11c47986ad99261':
  aarch64: NEON vorbis_inverse_coupling

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 23:51:19 +02:00
Michael Niedermayer
59bfddfcda Merge commit '8f9fe6ae3461ce270bce6b7083fda5ec314cdad4'
* commit '8f9fe6ae3461ce270bce6b7083fda5ec314cdad4':
  aarch64: NEON fixed/floating point MPADSP apply_window

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 23:45:50 +02:00
Michael Niedermayer
b0bdc2a712 avutil: move av_get_time_base_q() after include rational.h
Fix compilation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-22 17:35:51 -04:00
Michael Niedermayer
96a4d0c1c3 Merge commit 'f4d5a2cc35fcdf06ec031fabe8b0710e995fe924'
* commit 'f4d5a2cc35fcdf06ec031fabe8b0710e995fe924':
  aarch64: NEON float to s16 audio conversion

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 23:33:07 +02:00
Michael Niedermayer
ef1961e7fc Merge commit 'ee2bc5974fe64fd214f52574400ae01c85f4b855'
* commit 'ee2bc5974fe64fd214f52574400ae01c85f4b855':
  aarch64: NEON float (i)MDCT

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 23:27:02 +02:00
Michael Niedermayer
13f4428915 Merge commit '650c4300d94aa9398ff1dd4f454bf39eaa285f62'
* commit '650c4300d94aa9398ff1dd4f454bf39eaa285f62':
  aarch64: NEON float FFT

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 23:06:24 +02:00
Michael Niedermayer
c7251fec39 avutil: move av_get_time_base_q() after include rational.h
Fix compilation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 22:44:14 +02:00
Derek Buitenhuis
dac7e8a94e avutil: Add av_get_time_base_q()
This fixes usage of AV_TIME_BASE_Q in C++ applications, which
cannot use compound literals directly in their code.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-22 16:38:33 -04:00
Derek Buitenhuis
502512ea0f avutil: Add av_get_time_base_q()
This fixes usage of AV_TIME_BASE_Q in C++ applications, which
cannot use compound literals directly in their code.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-22 16:32:35 -04:00
Derek Buitenhuis
6d149d2818 fic: Use proper quantization matrix index
The matrices are not zigzagged.

Fixes artefacting.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-22 16:22:08 -04:00
Derek Buitenhuis
9155c595f1 fic: Support rendering cursors
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-22 21:20:23 +01:00
Derek Buitenhuis
40b331e1f4 fic: Use proper quantization matrix index
The matrices are not zigzagged.

Fixes artefacting.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-22 21:20:23 +01:00
Janne Grunau
3956a5e0ea aarch64: NEON vorbis_inverse_coupling
From the ARMv7 NEON version. 16 times faster as the C version, overall
more than 12% faster vorbis decoding on Apple's A7.
2014-04-22 22:01:45 +02:00
Janne Grunau
8f9fe6ae34 aarch64: NEON fixed/floating point MPADSP apply_window
30%/25% (fixed/float) faster mp3 decoding on Apple's A7. The floating
point decoder is approximately 7% faster.
2014-04-22 22:01:45 +02:00
Reimar Döffinger
ab14bcb104 Add "const" to avoid compiler warning.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-04-22 20:44:31 +02:00
Reimar Döffinger
3bd7a7149f Add missing ';'.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-04-22 20:44:31 +02:00
Reimar Döffinger
8cbf0827e1 Various small spelling fixes.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-04-22 20:44:31 +02:00
Michael Niedermayer
994a582a02 avcodec/dvbsubdec: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 20:08:30 +02:00
Michael Niedermayer
ea8e089ff7 avcodec/cook: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 20:08:30 +02:00
Michael Niedermayer
b20d6cf603 avcodec/dsddec: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 20:08:30 +02:00
Janne Grunau
f4d5a2cc35 aarch64: NEON float to s16 audio conversion 2014-04-22 19:35:41 +02:00
Janne Grunau
ee2bc5974f aarch64: NEON float (i)MDCT
Approximately as fast as the ARM NEON version on Apple's A7.
2014-04-22 19:35:41 +02:00
Janne Grunau
650c4300d9 aarch64: NEON float FFT
Approximately as fast as the ARM NEON version on Apple's A7.
2014-04-22 19:35:40 +02:00
Michael Niedermayer
f1c48c3a4d avformat/mpegtsenc: make the pes packet length omission optional
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 16:11:12 +02:00
Graham Booker
60fcc19b90 avformat/mpegtsenc: Changed Video PES packet length to 0.
The rational for this is another issue that plex has exposed.  When it is
conducting a transcode of video to HLS for streaming, my father noticed
artifacts when played on his GoogleTV (NSZ-GT1).  He sent me a test file
and I reproduced it on my device of the same model.  It is important to
note that the artifacts were not present when streaming to VLC or QuickTime
Player.  I copied the command-line that plex used, and conducted all of the
following tests using FFmpeg git.

Transcode to HLS: artifacts on playback
Transcode to TS: playback is fine
Cat HLS segments into a single TS: playback is fine
Segment single TS file to segments: artifacts on playback
Segment single TS file to segments using Apple's HLS segmenter: playback is
fine

At this point I carefully examined the differences between Apple's HLS
segmenter output and FFmpeg's.  Among the considerable differences, I
noticed that the video PES packets always had a 0 length.  So I continued:

Transcode to HLS using FFmpeg with 0 length PES packets: playback is fine.
Segment single TS to segments with 0 length PES packets: playback is fine.

All failures mentioned are only on the GTV since it is the only player on
which I could reproduce artifacts.  I only tested the GTV, VLC, and
QuickTime Player though, so my test case is limited.  I do not know if
other players exhibit this issue.

Since it was useful last time, I have uploaded the test file as
hls_pes_packet_length.m4v along with its associated txt file which contains
the transcode command-line that was used.

Reviewed-by: Kieran Kunhya <kierank@obe.tv>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 16:05:25 +02:00
Hendrik Leppkes
5809c2a99d vc1dsp: fix build without inline asm
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 14:01:53 +02:00
Michael Niedermayer
8064c6ac5f Merge commit 'f9157463dbcd2db8fe9504197c0c04d0d7d04f31'
* commit 'f9157463dbcd2db8fe9504197c0c04d0d7d04f31':
  lavf: do not use the parser duration for video

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 13:56:29 +02:00
Michael Niedermayer
3bf189bb00 Merge commit '1ae8198bca749a0cff205196cc83d35b9962849b'
* commit '1ae8198bca749a0cff205196cc83d35b9962849b':
  avconv: always reset packet pts after decoding an audio frame

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 13:45:34 +02:00
Michael Niedermayer
5e6be52bac Merge commit 'b19a5e51981be5b69cf550a3bc17fe5300d0dbc9'
* commit 'b19a5e51981be5b69cf550a3bc17fe5300d0dbc9':
  lavc: improve AVCodecContext.delay doxy

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 13:34:43 +02:00
Michael Niedermayer
57123dc67e Merge commit 'a4ed995cabf220029f1d0e185a6fb45eed7b4091'
* commit 'a4ed995cabf220029f1d0e185a6fb45eed7b4091':
  txd: do not set the codec timebase.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 13:30:23 +02:00
Anton Khirnov
f9157463db lavf: do not use the parser duration for video
The parser has no way of knowing video duration, and therefore no video
parsers set it.
2014-04-22 07:46:03 +02:00
Anton Khirnov
1ae8198bca avconv: always reset packet pts after decoding an audio frame
Currently, if a decoder sets AVFrame.pts, we'd send the same timestamp
to it twice, which is wrong.
2014-04-22 07:45:49 +02:00
Anton Khirnov
b19a5e5198 lavc: improve AVCodecContext.delay doxy 2014-04-22 07:44:40 +02:00
Anton Khirnov
a4ed995cab txd: do not set the codec timebase.
It is not supposed to be changed from outside of lavc.
Set the stream timebase and average framerate instead.
2014-04-22 07:44:16 +02:00
Michael Niedermayer
57fb570908 avformat/avidec: Speed up keyframe detection code
Fixes Ticket3531

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 04:33:20 +02:00
Derek Buitenhuis
84d6ba60db MAINTAINERS: Add myself as FIC maintainer
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-21 21:27:32 -04:00
Michael Niedermayer
da621ffbcf avcodec/wma: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 02:41:05 +02:00
Michael Niedermayer
658f5d1f63 avfilter/pthread: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 02:40:20 +02:00
Michael Niedermayer
dcad6ba68a avcodec/libxavs: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 02:39:23 +02:00
Michael Niedermayer
78fb5f6e2a avcodec/cngenc: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 02:38:03 +02:00
Michael Niedermayer
0dadbbbfd1 avcodec/snow: use FF_ALLOC(Z)_ARRAY_OR_GOTO
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 02:12:02 +02:00
Michael Niedermayer
47ec0b0b0f avutil/internal: add FF_ALLOC_ARRAY_OR_GOTO & FF_ALLOCZ_ARRAY_OR_GOTO
These are similar to the existing FF_ALLOCZ_OR_GOTO & FF_ALLOC_OR_GOTO

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 02:09:55 +02:00
Michael Niedermayer
5e5aced585 Merge commit '1c7b71a5bdb88ebb69734100405bbb5441b871e8'
* commit '1c7b71a5bdb88ebb69734100405bbb5441b871e8':
  mpegvideo: Use the current_picture pts

See: c354576457
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-21 23:57:07 +02:00
Michael Niedermayer
60fdf7dd9e Merge commit '6f243b17c537646b894857d43dfdac65f85ab377'
* commit '6f243b17c537646b894857d43dfdac65f85ab377':
  avcodec/fic: Fix return value check

See: 230db1426d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-21 23:54:09 +02:00
Michael Niedermayer
e0cdc68bdc Merge commit '144f7a561d32ae9bc657a217e2b4c6dd9a0d7df9'
* commit '144f7a561d32ae9bc657a217e2b4c6dd9a0d7df9':
  avcodec/fic: clear slice_data

See: 1db8bc5648
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-21 23:52:46 +02:00
Michael Niedermayer
359a719f5f Merge commit 'f34d3173fcfc7f3228095d509a64c4fa4b37b575'
* commit 'f34d3173fcfc7f3228095d509a64c4fa4b37b575':
  avcodec/fic: fix slice checks

See: d46ef40129
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-21 23:42:37 +02:00
Michael Niedermayer
1c7b71a5bd mpegvideo: Use the current_picture pts
The picture slot can be recycled by select_input_picture and
only current_picture is populated with the valid pts.

Unbreak timestamps when in cbr mode.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-21 21:58:58 +02:00
Michael Niedermayer
6f243b17c5 avcodec/fic: Fix return value check
Fixes part of Ticket3466
Found-by: Andrey_Karpov / PVS-Studio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-21 14:56:17 -04:00
Michael Niedermayer
144f7a561d avcodec/fic: clear slice_data
Fixes artifacts
Fixes use of freed memory

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-21 14:56:17 -04:00
Michael Niedermayer
f34d3173fc avcodec/fic: fix slice checks
fix integer overflows

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-21 14:56:17 -04:00
Michael Niedermayer
451c78740a Merge commit '93e15a323871613fd26f1f1e317029a50b5b24ca'
* commit '93e15a323871613fd26f1f1e317029a50b5b24ca':
  fic: use correct IDCT

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-21 20:20:39 +02:00
Kostya Shishkov
93e15a3238 fic: use correct IDCT
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-21 12:37:54 -04:00
Michael Niedermayer
59c7615d58 avfilter/filtfmts: Support dynamically allocated in/outputs
Fixes crash
Fixes Ticket3468

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-21 11:33:17 +02:00
Michael Niedermayer
f3743901d7 avformat: Fix decoder search in find stream info
Fixes Ticket3548

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-21 05:27:08 +02:00
Michael Niedermayer
369cdf917a avformat/asfenc: dont allow non interleaved packets
The muxer does not support this currently

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-21 02:49:05 +02:00
Michael Niedermayer
5b19fc7aae avformat/pmpdec: remove cur_dts timestamp hack
It appears the demuxer works fine without it

Fixes Ticket3534

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-21 01:29:08 +02:00
Clément Bœsch
62d31307c1 avcodec/x86/vp9lpf: add a comment above a bunch of SWAP. 2014-04-20 21:33:58 +02:00
Clément Bœsch
f0d368d758 avcodec/x86/vp9lpf: merge a few movs with other instructions. 2014-04-20 21:29:11 +02:00
Lukasz Marek
4d09bc9897 lavf/pcm: remove redundant check
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-20 20:56:02 +02:00
Michael Niedermayer
af89a685c4 avcodec/arm/vc1dsp_init_neon: fix code so it compiles and passes fate-vc1
The original patch  seems to be missing a 16x16 function though

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-20 20:32:21 +02:00
Christophe Gisquet
319235c67c vc1dsp: introduce cases for 8x8 and 16x16
This allows further unrolling the DSP implementation where possible.

x86 and ARM DSP modified by simply moving the multiple calls from vc1dec
to the DSP code. Decoding improvements should only occurs because of the
compiler actually able to unroll more.

Decoding time: ~8.80s -> 8.64s (ie around 2%)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-20 18:25:36 +02:00
Michael Niedermayer
de9cd58848 avcdoec/webp: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-20 17:35:19 +02:00
Michael Niedermayer
8c88ea76df avcodec/tiff: use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-20 17:32:17 +02:00
Michael Niedermayer
1fd5c7f1ee avcodec/ratecontrol: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-20 17:30:15 +02:00
Michael Niedermayer
69bbe27b45 avcodec/huffman: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-20 17:25:01 +02:00
Michael Niedermayer
e70b9b32d5 avcodec/exif: do not follow 0 offsets
Fixes exif decoding failure of 1295328_300.jpg

Reviewed-by; Thilo Borgmann <thilo.borgmann@mail.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-20 17:02:16 +02:00
Michael Niedermayer
a94de50ba0 avcodec/exif/exif_add_metadata: add support for SSHORT & SBYTE
No working testcase, this omission was just spoted when the parser apparently went out of
sync.

Reviewed-by; Thilo Borgmann <thilo.borgmann@mail.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-20 17:01:46 +02:00
Michael Niedermayer
cd4faed893 Merge remote-tracking branch 'lukaszmluki/master'
* lukaszmluki/master:
  lavd/xv: implement repaint message
  lavd/xv: add window id param
  lavd/xv: keep aspect ratio

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-20 05:43:26 +02:00
Peter Ross
f57ac37228 avformat/iff: extend IFF demuxer to decode DSDIFF 64-bit chunks
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-20 00:22:20 +02:00
Michael Niedermayer
373d7dd371 Merge commit '911fa05b514e1be009e00b79d7004b93717c023b'
* commit '911fa05b514e1be009e00b79d7004b93717c023b':
  mvc: Specify the pixel format for the mv-mvc* tests

Conflicts:
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 22:43:16 +02:00
Martin Storsjö
911fa05b51 mvc: Specify the pixel format for the mv-mvc* tests
Also set the RGBA pixel format correctly as the native endian format,
which is what it returns.

This fixes the tests on big endian.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-04-19 21:41:34 +03:00
Michael Niedermayer
75ef907db8 Merge commit '6dfd99c93808d6504dd5cb1fad847d68cb179352'
* commit '6dfd99c93808d6504dd5cb1fad847d68cb179352':
  fate: add tests for SGI RLE and MVC1&2 decoders

Conflicts:
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 20:40:02 +02:00
Michael Niedermayer
01a39a978c Merge commit '55ddd700c67529ff2c6c4e976673f1341bba7a82'
* commit '55ddd700c67529ff2c6c4e976673f1341bba7a82':
  Silicon Graphics Movie demuxer

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

See: 6fb40779cd
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 20:17:33 +02:00
Michael Niedermayer
0c67ef2729 Merge commit '86a0432688216562926d4aee36118f01be6d5e1b'
* commit '86a0432688216562926d4aee36118f01be6d5e1b':
  Silicon Graphics Motion Video Compressor 1 & 2 decoder

Conflicts:
	Changelog
	libavcodec/avcodec.h
	libavcodec/mvcdec.c
	libavcodec/version.h

See: 746b1dcc98
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 19:47:58 +02:00
Michael Niedermayer
e37dbfddda Merge commit '07761294fc3f08e139e8a406ef7d5b63aaf1ecee'
* commit '07761294fc3f08e139e8a406ef7d5b63aaf1ecee':
  Silicon Graphics RLE 8-bit video decoder

Conflicts:
	Changelog
	doc/general.texi
	libavcodec/avcodec.h
	libavcodec/sgirledec.c
	libavcodec/version.h

See: afa1617b93
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 19:26:46 +02:00
Michael Niedermayer
928b5708f9 Merge commit '34c5a6660a9e5e3cf301691bb29d011638953dc2'
* commit '34c5a6660a9e5e3cf301691bb29d011638953dc2':
  h264: codec reinit: remove statements without effect

Conflicts:
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 18:50:32 +02:00
Michael Niedermayer
c1bc20bfd9 Merge commit '6ef96292d99302a59f824713fc763f6abd3754df'
* commit '6ef96292d99302a59f824713fc763f6abd3754df':
  utils: add yvyu422 to avcodec_align_dimensions2

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 18:38:39 +02:00
Michael Niedermayer
6ca0a976b2 Merge commit 'd23fc8846d255e31896453136b4c77bc6d5e873f'
* commit 'd23fc8846d255e31896453136b4c77bc6d5e873f':
  filtfmts: remove unused lavf include

A include for channel_layout.h, is added otherwise compile would break

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 18:30:37 +02:00
Michael Niedermayer
74a8dbe1c4 Merge commit '58400ac133bcfb6bf8196b4e5208bc178307739b'
* commit '58400ac133bcfb6bf8196b4e5208bc178307739b':
  lavfi: name anonymous structs

Conflicts:
	libavfilter/buffersink.c
	libavfilter/f_select.c
	libavfilter/src_movie.c
	libavfilter/vf_drawbox.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_overlay.c
	libavfilter/vf_showinfo.c
	libavfilter/vf_unsharp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 18:20:17 +02:00
Clément Bœsch
010732b73a vp9/x86: simplify FILTER_INIT.
In the 2 FILTER_INIT usages, the source is already preloaded so that
extra complexity taken from FILTER_UPDATE is not necessary.

Also add forgotten "mask" argument in FILTER_{INIT,UPDATE} comments.
2014-04-19 17:30:33 +02:00
Clément Bœsch
b8d002dc95 vp9/x86: clarify mixed splatb. 2014-04-19 17:00:51 +02:00
Vittorio Giovara
6dfd99c938 fate: add tests for SGI RLE and MVC1&2 decoders 2014-04-19 16:24:27 +02:00
Peter Ross
55ddd700c6 Silicon Graphics Movie demuxer
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-04-19 16:24:27 +02:00
Peter Ross
86a0432688 Silicon Graphics Motion Video Compressor 1 & 2 decoder
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-04-19 16:24:26 +02:00
Peter Ross
07761294fc Silicon Graphics RLE 8-bit video decoder
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-04-19 16:24:26 +02:00
Janne Grunau
34c5a6660a h264: codec reinit: remove statements without effect
avctx->coded_{height,width} will always equal h->{height,width} since
init_dimensions() does that explicitly, Size changes are detected by
changes in mb_{height,width} earlier and propagated through the
needs_reinit variable.
2014-04-19 16:22:06 +02:00
Vittorio Giovara
6ef96292d9 utils: add yvyu422 to avcodec_align_dimensions2 2014-04-19 16:20:58 +02:00
Vittorio Giovara
d23fc8846d filtfmts: remove unused lavf include 2014-04-19 16:20:57 +02:00
Vittorio Giovara
58400ac133 lavfi: name anonymous structs 2014-04-19 16:20:57 +02:00
James Almer
3b06208a57 x86/float_dsp: remove duplicated code from vector_dmul_scalar
Use the xm# and ym# aliases as they remain in sync with m# after a SWAP.
No actual changes to the assembly.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 14:21:51 +02:00
Michael Niedermayer
c91a798a2c Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix compilation with !HAVE_6REGS.
  Use MANGLE in cavsdsp.c to save two registers using gcc.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 14:17:51 +02:00
Michael Niedermayer
e8fc91e22a Merge commit '4936ef6492f640e1606c6507f2c4e495164d3974'
* commit '4936ef6492f640e1606c6507f2c4e495164d3974':
  configure: Handle armcc 5.0

Conflicts:
	configure

See: db55365d0f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 13:39:32 +02:00
Martin Storsjö
4936ef6492 configure: Handle armcc 5.0
The first line of the "armcc --vsn" output in one version is
"Product: ARM Compiler 5.04".

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-04-19 12:49:20 +03:00
Carl Eugen Hoyos
b38910c979 Fix compilation with !HAVE_6REGS.
Can be tested with:
$ ./configure --cc='cc -m32' --disable-optimizations --enable-pic
2014-04-19 09:56:01 +02:00
Carl Eugen Hoyos
72c93abaad Use MANGLE in cavsdsp.c to save two registers using gcc.
Fixes compilation with !HAVE_6REGS.
2014-04-19 09:54:26 +02:00
Peter Ross
f45a840907 avformat/mlv: add fate sample
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 05:06:06 +02:00
Peter Ross
ab683efb2b Magic Lantern Video (MLV) demuxer
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 05:06:00 +02:00
Peter Ross
5331773cc3 ff_id3v2_read: add option to limit ID3 magic number search
Several chunked formats (AIFF, IFF,DSF) store ID3 metadata within an 'ID3 '
chunk tag. If such chunks are stored sequentially, it is possible for the
ID3v2 parser to confuse the chunk tag for the ID3 magic number. e.g.

[1st chunk tag ('ID3 ') | chunk size] [ID3 magic number | metadata ...]
[2nd chunk tag ('ID3 ') | chunk size] [ID3 magic number | metadata ...]

Fixes ticket #3530.

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 04:25:01 +02:00
Peter Ross
c94305ae23 ff_id3v2_free_extra_meta: set the pointer pointing to extra_meta to NULL
Fixes ticket #3530.

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 04:24:24 +02:00
csheng
549bbdfb4b avformat/wavdec: enlarge probe_packets for wav
fix issue https://trac.ffmpeg.org/ticket/3550

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 03:54:10 +02:00
James Almer
d8f40ca251 fate: add DTS-ES test
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 03:26:20 +02:00
Lukasz Marek
de705e52d4 lavd/xv: implement repaint message
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-19 02:18:45 +02:00
Lukasz Marek
9fcdfac894 lavd/xv: add window id param
Device is able to use existing window, that can be a
part of existing GUI - instead of newly created one.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-19 02:18:45 +02:00
Lukasz Marek
5053897b6a lavd/xv: keep aspect ratio
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-19 02:18:45 +02:00
Michael Niedermayer
d340dabb76 avfilter/vf_rotate: make int*90° rotates suck less speedwise
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 01:23:23 +02:00
Michael Niedermayer
c9aab1ee7f avfilter/vf_rotate: fix several of by 1 errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 01:23:14 +02:00
Michael Niedermayer
4ebfb2c5ec avfilter/vf_rotate: fix location of update operation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 01:22:42 +02:00
Michael Niedermayer
a47cc877a0 avfilter/vf_rotate: increase fixed point precision
This ensures int_sins output doesnt have "random" lsbs

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 01:22:06 +02:00
Carl Eugen Hoyos
3a1feb01da Fix standalone compilation of image2_alias_pix and image2_brender_pix demuxers. 2014-04-19 00:46:23 +02:00
Michael Niedermayer
60c8c7144e avcodec/qtrleenc: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-18 20:43:02 +02:00
Michael Niedermayer
683b6e3183 avcodec/smacker: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-18 20:43:02 +02:00
Michael Niedermayer
9b888fb159 avcodec/roqvideoenc: use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-18 20:43:02 +02:00
Justin Ruggles
591c0c26b5 mjpeg: cosmetics: indentation
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-18 12:41:17 -04:00
Justin Ruggles
39ef000e19 mjpeg: Do not fail jpeg decoding on bad EXIF data.
It is not required to correctly decode the image.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-18 12:41:10 -04:00
James Almer
968c44ce89 configure: Remove deprecated incompatible_fork_abi option
It's been deprecated since ffmpeg 2.0

Signed-off-by: James Almer <jamrial@gmail.com>
Analysis of the usage of the switches by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-18 18:14:40 +02:00
Michael Niedermayer
71f8cdcc16 avcodec/snow: use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-18 15:22:29 +02:00
Michael Niedermayer
bb0d9aedcb avcodec/tta: use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-18 15:19:09 +02:00
Michael Niedermayer
b9831364de avcodec/vc1dec: use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-18 15:15:08 +02:00
Peter Ross
0a13487b1a avformat/dsddec: create audio stream before processing id3
This ensures stream[0] is always the audio stream (an assumption made
in dsf_read_packet).

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-18 14:33:57 +02:00
Carl Eugen Hoyos
941b2240f2 Do not overwrite VDPAU structures in ff_MPV_frame_start().
Fixes crashes with VDR and MPlayer as reported by irc user crow.
2014-04-18 05:08:24 +02:00
Michael Niedermayer
a614f892a6 Merge remote-tracking branch 'lukaszmluki/master'
* lukaszmluki/master:
  lavd/pulse_audio_enc: implement pause messages
  lavd/pulse_audio_enc: implement volume messages
  lavd/avdevice: add volume messages
  lavd/pulse_audio_enc: add buffer fullness messages
  lavd/pulse_audio_enc: add nonblocking mode
  lavd/pulse_audio_enc: replace simple API with async API
  lavd/pulse_audio_enc: cosmetics
  lavd/pulse_audio_common: add context helper functions
  lavd/pulse_audio_common: rename variables and enums

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-18 04:57:23 +02:00
Peter Ross
27998451d8 DSD Stream File (DSF) demuxer
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-18 03:25:58 +02:00
Lukasz Marek
35bf7a491e lavd/pulse_audio_enc: implement pause messages
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-18 02:15:56 +02:00
Lukasz Marek
eb9136a7d6 lavd/pulse_audio_enc: implement volume messages
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-18 02:15:56 +02:00
Lukasz Marek
4c0f36412a lavd/avdevice: add volume messages
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-18 02:15:56 +02:00
Lukasz Marek
cef1180329 lavd/pulse_audio_enc: add buffer fullness messages
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-18 02:15:50 +02:00
Lukasz Marek
bc31a57902 lavd/pulse_audio_enc: add nonblocking mode
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-18 01:42:18 +02:00
Lukasz Marek
eb9dee2d0d lavd/pulse_audio_enc: replace simple API with async API
Async API allows to use full capabilites of PulseAudio.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-18 01:42:18 +02:00
Lukasz Marek
10627e7e10 lavd/pulse_audio_enc: cosmetics 2014-04-18 01:42:17 +02:00
Lukasz Marek
176046d2b5 lavd/pulse_audio_common: add context helper functions
Functions allow to connect and disconnect from server.
Helpfull to implement utility functions with nested loops.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-18 01:42:17 +02:00
Lukasz Marek
24e5f5cd3e lavd/pulse_audio_common: rename variables and enums
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-18 01:42:17 +02:00
Michael Niedermayer
97751e1324 avformat/replaygain: fix mixed declaration and statement
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-18 01:16:27 +02:00
Michael Niedermayer
e48fb4e1a5 ffmpeg: fix mixed merged & split side data with the stream->packet hack
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-18 01:01:38 +02:00
Michael Niedermayer
cdc166acd8 Merge commit '32d05934abc7427bb90380a4c1ab20a15fd7d821'
* commit '32d05934abc7427bb90380a4c1ab20a15fd7d821':
  mp3dec: decode more data from Info header

Conflicts:
	libavformat/mp3dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-18 00:38:07 +02:00
Michael Niedermayer
a8d01a7378 Merge commit '0983d48111f578e17e8c1967d25ce593fce62b63'
* commit '0983d48111f578e17e8c1967d25ce593fce62b63':
  crc: add ANSI CRC16 LE

Conflicts:
	doc/APIchanges
	libavutil/crc.c
	libavutil/crc.h
	libavutil/version.h
	tests/ref/fate/crc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-17 22:38:51 +02:00
Michael Niedermayer
39edcadc07 Merge commit 'fbd8e042107ec63e0ddf155588c59dcb76007641'
* commit 'fbd8e042107ec63e0ddf155588c59dcb76007641':
  mp3dec: move XING/Info and VBRI parsing into their own functions

Conflicts:
	libavformat/mp3dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-17 22:27:17 +02:00
Michael Niedermayer
d35efda21a Merge commit 'ae43c10e36197000de2f3cc99ea35727ce98a796'
* commit 'ae43c10e36197000de2f3cc99ea35727ce98a796':
  replaygain: allow exporting already decoded replaygain values

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-17 21:45:58 +02:00
Michael Niedermayer
11d187b377 Merge commit '21d8f4da91673051ad7055cf63d989488a56368e'
* commit '21d8f4da91673051ad7055cf63d989488a56368e':
  resample: remove an unneeded context variable

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-17 21:07:25 +02:00
Alessandro Ghedini
32d05934ab mp3dec: decode more data from Info header
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-17 20:08:19 +02:00
Alessandro Ghedini
0983d48111 crc: add ANSI CRC16 LE
This adds the reversed byte-order version of the ANSI CRC16.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-17 20:08:19 +02:00
Alessandro Ghedini
fbd8e04210 mp3dec: move XING/Info and VBRI parsing into their own functions
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-17 20:08:19 +02:00
Alessandro Ghedini
ae43c10e36 replaygain: allow exporting already decoded replaygain values
This adds a function to export raw replaygain values (i.e. in the (u)int32_t
form). It first checks whether AV_PKT_DATA_REPLAYGAIN side data is present, in
which case it does nothing.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-17 20:08:19 +02:00
Anton Khirnov
21d8f4da91 resample: remove an unneeded context variable 2014-04-17 20:08:19 +02:00
Carl Eugen Hoyos
a3bd33af9e Write sample_aspect_ratio to asf files.
Fixes ticket #3528.
2014-04-17 14:55:49 +02:00
Carl Eugen Hoyos
6c18200c2f Only insert the icpf atom in ProRes mkv packets if it isn't already present.
The patch allows to read broken mkv files containing ProRes as written by
the Haali muxer.
Fixes a part of ticket #3434.
2014-04-17 14:46:11 +02:00
James Almer
197fe392db x86/dsputil: use HADDD where applicable
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-17 14:15:35 +02:00
James Almer
76ed71a72b x86: move horizontal add macros to x86util
Also port relevant AVX2/XOP optimizations from x264 with permission
to relicense to LGPL from the corresponding authors

Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-17 14:15:09 +02:00
Michael Niedermayer
443261cbbd Merge commit 'f1b239ec8b38474d31f3bfea1f0b1693774fa432'
* commit 'f1b239ec8b38474d31f3bfea1f0b1693774fa432':
  drawtext: Add fontconfig support

Conflicts:
	configure
	doc/filters.texi
	libavfilter/vf_drawtext.c

See: 40b7a27bad
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-17 05:15:26 +02:00
Luca Barbato
f1b239ec8b drawtext: Add fontconfig support
Introduce the `font` option and make it optional to pass a fontfile.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-17 00:41:30 +02:00
Anh
c150e2cf32 Fix compilation with --disable-everything --enable-muxer=avi --disable-network.
Fixes ticket #3568.
2014-04-16 20:00:17 +02:00
Michael Niedermayer
58a53123ba avcodec/vble: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 19:45:43 +02:00
Michael Niedermayer
7999b41d48 avfilter/vf_pixdesctest: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 19:44:23 +02:00
Michael Niedermayer
dd77f6469a avformat/ico: use avmalloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 19:41:41 +02:00
James Almer
11b36b1ee0 x86/float_dsp: unroll loop in vector_fmac_scalar
~6% faster SSE2 performance. AVX/FMA3 are unaffected.

Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 18:36:52 +02:00
Matt Oliver
27f184ef40 Fix OpenGL device compilation with msvc gl.h
Reveiwed-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 18:05:40 +02:00
Michael Niedermayer
572f5eb1af avformat/mpegenc: try to improve the VBV buffer warning
Maybe fixes Ticket 3494
Part of the message suggested by: rogerdpack
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 17:20:07 +02:00
James Almer
3b808900af x86/float_dsp: use SWAP in vector_fmac_scalar Win64
The mova is unnecessary

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 15:46:21 +02:00
Michael Niedermayer
cb53beb81a iavcodec/vc1dec: Fix missing {}
Fixes part of Ticket3466
Found-by: Andrey_Karpov / PVS-Studio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 03:56:39 +02:00
Michael Niedermayer
73734282e0 avfilter/vf_deshake: fix loss of precission with odd resolutions
Fixes part of Ticket3466
Found-by: Andrey_Karpov / PVS-Studio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 03:44:57 +02:00
Michael Niedermayer
5a8ef3c66b avfilter/f_select: fix loss of precission in SAD calculation
Fixes part of Ticket3466
Found-by: Andrey_Karpov / PVS-Studio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 03:44:57 +02:00
Michael Niedermayer
1457f3fd90 avcodec/g723_1: add assert to help static code analyzers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 02:55:13 +02:00
Michael Niedermayer
b8598f6ce6 avcodec/diracdec: fix undefined behavior with shifts
Fixes part of Ticket3466
Found-by: Andrey_Karpov / PVS-Studio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 02:51:41 +02:00
Michael Niedermayer
ff6fa0b4b9 avformat/mpegts: Remove redundant check
Fixes part of Ticket3466
Found-by: Andrey_Karpov / PVS-Studio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 02:35:50 +02:00
Michael Niedermayer
230db1426d avcodec/fic: Fix return value check
Fixes part of Ticket3466
Found-by: Andrey_Karpov / PVS-Studio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 02:32:37 +02:00
Michael Niedermayer
f202af29c9 avcodec/dcadec: fix error message suppression code
Fixes part of Ticket3466
Found-by: Andrey_Karpov / PVS-Studio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 02:24:12 +02:00
Michael Niedermayer
256f530603 avcodec/mjpegen: Fix declared argument size
Fixes part of Ticket3466
Found-by: Andrey_Karpov / PVS-Studio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 02:14:14 +02:00
Michael Niedermayer
14fa7fc6a8 swscale/swscale: fix srcStride/srcSlice typo
Fixes part of Ticket3466
Found by: Andrey_Karpov / PVS-Studio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 02:09:39 +02:00
Michael Niedermayer
79d82a6574 avformat/hnm: fix decoding of 256x256 video
Fixes Ticket3464
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 01:37:38 +02:00
Michael Niedermayer
bdc812ab9e avformat/flacdec/flac_read_timestamp: free the correct packet
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 00:23:31 +02:00
Michael Niedermayer
6d8ccc7ac7 avformat/flacdec/flac_read_timestamp: dont modify AVStream state
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-15 23:53:31 +02:00
Peter Ross
5f4f9ee99f Direct Stream Digital (DSD) decoder
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-15 20:35:57 +02:00
Lars Hammarstrand
add5d7a8ce configure: allow the gas-preprocessor to be called with an absolute path.
Allow the configure tool to call the gas-preprocessor with an absolute
path when included with either the "--as" or with a separate "--gas"
option.  The patch is backward compatible and will not break any current
configuration setups.

The new behavior that comes with this option can be utilized in the
following ways:

Examples:

- Just as single option that includes both the gas-preprocessor.pl and
  cc/as at the same time:

  $ configure --as="/opt/app/build-tools/gas-preprocessor.pl \
                   /Applications/Xcode.app/.../Developer/usr/bin/gcc"

- Call gas-preprocessor with a separate option in conjunction with --as:

  $ configure --gas="/opt/app/build-tools/gas-preprocessor.pl" \
               --as="/Applications/Xcode.app/.../Developer/usr/bin/gcc"

- Address only the the gas-preprocessor and it will automatically fall
  back to as or cc whichever that's defined:
  $ configure --gas="/opt/app/build-tools/gas-preprocessor.pl"

- Or if no gas-preprocessor.pl is explicitly defined, it falls back to
  the old behaivor.
2014-04-15 18:23:00 +02:00
Michael Niedermayer
37f3f32d51 fate: force 128kb/sec for mp2 test
This fixes rounding differences between platforms

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-15 16:43:38 +02:00
Michael Niedermayer
c6902f96d7 avcodec/mpegaudioenc_template: Fix integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-15 15:09:57 +02:00
Michael Niedermayer
4615ff0d61 avutil/frame: use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-15 13:51:48 +02:00
Michael Niedermayer
eead2cddb7 avformat/xmv: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-15 13:51:48 +02:00
Michael Niedermayer
337f74868c avformat/mpegtsenc: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-15 13:51:48 +02:00
Michael Niedermayer
083b6e739b avformat/utils: fix typo
Found-by: reimar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-15 13:51:48 +02:00
Michael Niedermayer
2b58c9c945 swresample/resample_template: try to consider src_size more exactly
This should avoid slight differences in the output causes by input
size alignment differences between archs

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-15 06:35:35 +02:00
Michael Niedermayer
0bf25c7b08 configure: fix arm osx build
Fixes Ticket3561

Solution suggested by jeremyhu
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-15 04:37:32 +02:00
Michael Niedermayer
ef818d8bf0 avformat: add av_format_inject_global_side_data(), and disable it by default
After this commit applications needs to call av_format_inject_global_side_data()
or handle AVStream side data by some other means if they want it not to be lost.

This fixes a API incompatibility with libav.
libav API does not allow the data to be passed through AVPackets

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-15 02:37:40 +02:00
Michael Niedermayer
2adcd15f2e Merge commit 'a6ac4fcce44108f6f87278b8d12e890576f46a62'
* commit 'a6ac4fcce44108f6f87278b8d12e890576f46a62':
  vp78: Align the intra4x4_pred_mode_top array within VP8Macroblock

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-15 01:23:00 +02:00
Michael Niedermayer
4959a4fcf7 swscale/utils: fix changing src/dst range after initializing the context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-15 00:40:39 +02:00
Michael Niedermayer
fa98885be4 swscale/utils: move handling of unscaled case to the end of init function
This way all context fields get initialized and can be used without needing to reinit the context

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-14 23:32:41 +02:00
Michael Niedermayer
a2f088c0f9 swscale: factor ff_sws_init_range_convert() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-14 23:25:28 +02:00
Michael Niedermayer
3751e5a821 swscale/swscale: clear to/from convert pointers when they used.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-14 23:15:31 +02:00
Michael Niedermayer
b465aaa59f avformat/img2dec: fix typo
Found-by: Reimar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-14 21:40:59 +02:00
Martin Storsjö
a6ac4fcce4 vp78: Align the intra4x4_pred_mode_top array within VP8Macroblock
This array is written using AV_WN32A, assuming alignment.

This hopefully fixes the failing vp7 fate test on sparc.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-04-14 21:27:20 +03:00
Michael Niedermayer
3df787a1ef Merge branch 'flac' of https://github.com/FernetMenta/FFmpeg
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-14 18:35:02 +02:00
Michael Niedermayer
46d5625f44 avcodec/x86/idct_sse2_xvid: fix non C99 inline function
Found-by: Matt Oliver <protogonoi@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-14 18:04:57 +02:00
Rainer Hochecker
d8b19ee672 fate: update seeking reference for flac 2014-04-14 17:43:25 +02:00
Rainer Hochecker
e1fcd3a007 flac demuxer: improve seeking 2014-04-14 17:43:19 +02:00
Carl Eugen Hoyos
ef48ac6523 Set the bitrate when decoding speex.
The bitrate of the first frame is used as bitrate for the speex stream.
2014-04-14 15:36:01 +02:00
Carl Eugen Hoyos
63c03ea98d Fix writing RGB 5:5:5 rawvideo into avi.
WMP expects bits per pixel to be set to 16 for RGB 5:5:5 rawvideo.
2014-04-14 15:34:38 +02:00
Michael Niedermayer
9468e9e5a2 Merge commit 'b3d905b702dcdda9e3ae2bcb7b5580ca77a96ab7'
* commit 'b3d905b702dcdda9e3ae2bcb7b5580ca77a96ab7':
  dcadec: Delete redundant init_get_bits call

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-14 14:44:58 +02:00
Michael Niedermayer
b11265c989 Merge commit '4d40e073dcdef335215c124d340ea156bc4bdf13'
* commit '4d40e073dcdef335215c124d340ea156bc4bdf13':
  rtmpproto: Handle RTMP chunk size packets before the connect packet

Conflicts:
	libavformat/rtmpproto.c

See: 36b9c27dae
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-14 14:32:08 +02:00
Stephan Soller
36b9c27dae avformat/rtmpproto: Added handling of an initial RTMP chunk size packet.
Fixes ticket #2911.

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-14 14:28:22 +02:00
Michael Niedermayer
8e5f840472 Merge commit '6477139721f559b26eafd415e23e13ea2b0c27e1'
* commit '6477139721f559b26eafd415e23e13ea2b0c27e1':
  rtmpproto: Make sure to pass on the error code if read_connect failed

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-14 14:12:47 +02:00
Niels Möller
b3d905b702 dcadec: Delete redundant init_get_bits call
No initialization is needed in dca_decode_frame, because the next
thing it does is calling dca_parse_frame_header, which takes care of
the needed initialization.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-14 11:56:26 +02:00
Stephan Soller
4d40e073dc rtmpproto: Handle RTMP chunk size packets before the connect packet
In all other cases where ff_rtmp_packet_read is used, the packet returned
is passed to rtmp_parse_result more or less immediately. In this single
case, the content of the packet was required to be a connect packet.

Some clients, e.g. Open Broadcaster Software, send a chunk size packet
before the connect packet. If the first packet is a chunk size packet,
handle it and read another one, requiring this to be a connect packet
instead.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-04-14 11:09:26 +03:00
Martin Storsjö
6477139721 rtmpproto: Make sure to pass on the error code if read_connect failed
Previously, if read_connect failed, the ret variable was unmodified
and had the value 0, indicating success, which then was returned from
the rtmp_open function, even though it actually failed.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-04-14 11:09:20 +03:00
Michael Niedermayer
5e379cd3ee swresample/resample: simplify index/consumed calculation for the filter = 1 case
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-14 02:23:04 +02:00
Michael Niedermayer
6c8ee74af2 swresample/resample: Fix fractional part of index in the filter_size = 1 filters = 1 case
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-14 02:22:17 +02:00
Michael Niedermayer
161ec197ac fate/libswresample: add tests with filter_size=1 phase_shift=0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-14 00:56:00 +02:00
Michael Niedermayer
4b8e7a1414 avcodec/utils: prettify remap_deprecated_codec_id()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 23:54:49 +02:00
Michael Niedermayer
2ebacb0fc4 avformat/network: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 23:39:49 +02:00
Michael Niedermayer
d42a61922b avcodec/psymodel: use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 23:36:59 +02:00
Michael Niedermayer
5ec8192949 avcodec/fft-test: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 23:36:59 +02:00
Michael Niedermayer
eccec20397 avformat/mp3enc: drop redundant and uninitialized variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 20:03:24 +02:00
Michael Niedermayer
82796aacab avformat/utils: reinject global side data on seeks
This fixes ffplay replaygain with seeking

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 18:27:05 +02:00
Michael Niedermayer
c0d62d999d avformat/utils: factorize if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 18:02:42 +02:00
Michael Niedermayer
289f02f923 avformat/utils: Inject global side data into first packet.
This fixes replaygain handling in ffplay and probably other applications.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 18:02:05 +02:00
Michael Niedermayer
a31547ce2e avutil/avstring: do not lose ascii characters when decoding non utf-8 with av_utf8_decode()
Fixes Ticket3363

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 15:33:23 +02:00
Michael Niedermayer
ca6dd53a73 ffprobe: do not lose non ascii characters in non utf8 strings
Fixes Ticket3363

Using U+FFFD REPLACEMENT CHARACTER as suggested by nicolas

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 15:21:20 +02:00
Peter Ross
e311b7446a avformat/iff: indent
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 14:48:36 +02:00
Peter Ross
d95c9679f7 avformat/iff: remove unused code
bits_per_coded_sample and block_align are calculated again at end of if() block

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 14:48:29 +02:00
Michael Niedermayer
b6c1e80bf4 Merge commit '0f524b6c690962d7ebbd59ded74288e1e9b0f009'
* commit '0f524b6c690962d7ebbd59ded74288e1e9b0f009':
  x86/synth_filter: remove the fma3 version ifdefs

See: 7d2116dd09
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 14:47:26 +02:00
Michael Niedermayer
878f8b0d26 Merge commit 'aaab192df24a90f4450285cfb73b395cf495b462'
* commit 'aaab192df24a90f4450285cfb73b395cf495b462':
  af_volume: implement replaygain clipping prevention

Conflicts:
	doc/filters.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 14:39:51 +02:00
Michael Niedermayer
c11aa9d29a Merge commit 'ac976ed91e323754e9a84509873ebdb437372797'
* commit 'ac976ed91e323754e9a84509873ebdb437372797':
  lavr: allocate the resampling buffer with a positive size

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 14:33:42 +02:00
Michael Niedermayer
c955525f72 Merge commit '13164e479f1c87829096c19003d2cc658ccc1fd4'
* commit '13164e479f1c87829096c19003d2cc658ccc1fd4':
  FATE: add tests for more resampling modes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 14:24:09 +02:00
Michael Niedermayer
cbfa71d689 Merge commit 'f7c5fd81516fb7b186c64c66dc080e1139586226'
* commit 'f7c5fd81516fb7b186c64c66dc080e1139586226':
  resample: implement flushing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 14:03:02 +02:00
Facundo Gaich
7e6b3ad693 lavfi/subtitles: load attached fonts to libass.
Videos with complex typesetting usually have font files embedded
as attachment streams. vf_subtitles now finds all attachment
streams with a MIME type associated with fonts and loads them
to libass so it can use them for rendering.

The code was basically ported from mpv's loadfile.c@929793be7

Signed-off-by: Facundo Gaich <facugaich@gmail.com>
2014-04-13 12:06:24 +02:00
James Almer
0f524b6c69 x86/synth_filter: remove the fma3 version ifdefs
This fixes compilation failures with --disable-fma3

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-13 11:29:28 +02:00
Alessandro Ghedini
aaab192df2 af_volume: implement replaygain clipping prevention
This adds a new "replaygain_noclip" option to the filter, and, if enabled,
limits the gain applied for tracks where clipping would occur.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-13 11:25:06 +02:00
Anton Khirnov
ac976ed91e lavr: allocate the resampling buffer with a positive size
This fixes cases where very few input samples (fewer than needed for one
output sample) are passed to lavr at the beginning.
CC:libav-stable@libav.org
2014-04-13 11:21:20 +02:00
Anton Khirnov
13164e479f FATE: add tests for more resampling modes 2014-04-13 11:20:49 +02:00
Anton Khirnov
f7c5fd8151 resample: implement flushing 2014-04-13 11:15:45 +02:00
Lukasz Marek
88c4e5a049 lavd/avdevice: fix buildbreak when included to C++ code
class is reserved keyword in C++ and compilator complains about that variable.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 04:59:35 +02:00
Michael Niedermayer
1dc2d4a8ef avcodec/tiff: remove unused variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 04:33:20 +02:00
Michael Niedermayer
a676e48d39 Merge commit '801c39e1e3058fc4ba822bfb5d8612d777111e32'
* commit '801c39e1e3058fc4ba822bfb5d8612d777111e32':
  dcadec: Use correct channel count in stereo downmix check

Conflicts:
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 04:23:56 +02:00
Michael Niedermayer
952614b899 Merge commit 'c8cf461c19e8e35df4b7364d9b90aa42f1ab4560'
* commit 'c8cf461c19e8e35df4b7364d9b90aa42f1ab4560':
  dcadec: Do not decode the XCh extension when downmixing to stereo

Conflicts:
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 04:07:27 +02:00
Michael Niedermayer
d7644e0fdb Merge commit 'e75ef2b7f48b96a9b6c8646058713899d5ea5731'
* commit 'e75ef2b7f48b96a9b6c8646058713899d5ea5731':
  tiffdec: support predictor type 2 with RGB48 pixel format

Conflicts:
	libavcodec/tiff.c

See: 72381b2b47
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 04:02:09 +02:00
Michael Niedermayer
a64d6d5152 Merge commit '345a96c327e8f2a8077189af9f5e8d2b3f4ad5fe'
* commit '345a96c327e8f2a8077189af9f5e8d2b3f4ad5fe':
  tiffdec: remove an unneeded variable

Conflicts:
	libavcodec/tiff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 03:54:11 +02:00
Michael Niedermayer
b9b2f9d218 Merge commit 'a9b046fb0ae5395c4d1d8a82cd0d3e354b5034ed'
* commit 'a9b046fb0ae5395c4d1d8a82cd0d3e354b5034ed':
  tiff: use a better name and enum values for PhotometricInterpretation

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 03:45:45 +02:00
Michael Niedermayer
75b4e40137 Merge commit 'fdbe18b7b0545f9b5923d25a5433e4f735719ecc'
* commit 'fdbe18b7b0545f9b5923d25a5433e4f735719ecc':
  tiffdec: use a single strip if RowsPerStrip is 0

Conflicts:
	libavcodec/tiff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 03:30:02 +02:00
Michael Niedermayer
94cf83ff91 Merge commit '0a467a9b594dd67aa96bad687d05f8845b009f18'
* commit '0a467a9b594dd67aa96bad687d05f8845b009f18':
  tiffdec: use bytestream2 to simplify overread/overwrite protection

Conflicts:
	libavcodec/tiff.c

See: 1ec83d9a9e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 03:20:09 +02:00
Michael Niedermayer
31876ea620 Merge commit '5748faf291fec297ef25d81962b52b3438f54278'
* commit '5748faf291fec297ef25d81962b52b3438f54278':
  bytestream: add bytestream2_copy_buffer() functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 02:06:47 +02:00
Michael Niedermayer
d06a7530f7 Merge commit 'de9d2705f61ef569487ec5f8974a9c7ce34ec783'
* commit 'de9d2705f61ef569487ec5f8974a9c7ce34ec783':
  bytestream: add functions for accessing size of buffer

See: 0ee5be4ee4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 02:05:15 +02:00
Michael Niedermayer
b394b9013e Merge commit '58bc38a5f224d29b79338200459792c765c25fd5'
* commit '58bc38a5f224d29b79338200459792c765c25fd5':
  tiffdec: use correct data type for palette entries and set alpha to 0xFF

Conflicts:
	libavcodec/tiff.c

See: dbfdb288c1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 02:01:31 +02:00
Michael Niedermayer
6145b1d9c1 Merge commit 'bf2064f046af64c59a416c814474a39b0a457569'
* commit 'bf2064f046af64c59a416c814474a39b0a457569':
  tiffdec: rename variables for consistency and fix variable shadowing

Conflicts:
	libavcodec/tiff.c

See: 251345a3fe
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 01:49:19 +02:00
Michael Niedermayer
69505a89f1 Merge commit 'd9a542ace1b9ca5c0ea6d758127d03d4124b7801'
* commit 'd9a542ace1b9ca5c0ea6d758127d03d4124b7801':
  swscale: Set alpha to opaque for internal palettes.

Conflicts:
	libswscale/swscale_unscaled.c

See: dbfdb288c1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 01:44:27 +02:00
Michael Niedermayer
57570052e2 Merge commit '20c38c9c18b75e62f6c489d9b95bea88efdf3915'
* commit '20c38c9c18b75e62f6c489d9b95bea88efdf3915':
  swscale: fix some undefined signed left shifts

Conflicts:
	libswscale/swscale_unscaled.c

See: 7a32ab5ed0
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 01:39:31 +02:00
Michael Niedermayer
28875c4188 Merge commit '60c4660ba035bbfbcc84ac34129ce40e037c70ad'
* commit '60c4660ba035bbfbcc84ac34129ce40e037c70ad':
  swscale: fix an implementation-defined unsigned-to-signed conversion

Conflicts:
	libswscale/swscale_unscaled.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 01:26:49 +02:00
Michael Niedermayer
d3284a6208 Merge remote-tracking branch 'lukaszmluki/master'
* lukaszmluki/master:
  lavd/qtkit: add device category
  lavd/fbdev_enc: implement get_device_list
  lavd: no default device unless explicitly set

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 00:50:37 +02:00
Michael Niedermayer
275155081f Merge commit 'd4a8a86c6863ecea208fa2f774690b6df4b5bc71'
* commit 'd4a8a86c6863ecea208fa2f774690b6df4b5bc71':
  doc: Libavfilter English cleanup

Conflicts:
	doc/filters.texi
	doc/libavfilter.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 00:37:32 +02:00
Tim Walker
801c39e1e3 dcadec: Use correct channel count in stereo downmix check
s->prim_channels is greater than num_core_channels
when an XCh extension is present in the bitstream.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-12 23:05:37 +02:00
Tim Walker
c8cf461c19 dcadec: Do not decode the XCh extension when downmixing to stereo
This is neither necessary nor currently supported.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-12 23:05:07 +02:00
Michael Niedermayer
571d2ffa47 Merge commit '617a1a98a6be3e59db6fbfc21afab2fb9a049c03'
* commit '617a1a98a6be3e59db6fbfc21afab2fb9a049c03':
  mp3enc: Properly write bitrate value in XING header

Conflicts:
	libavformat/mp3enc.c

See: 40176fc314
See: d62bf5d4e7
See: various others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-12 21:26:20 +02:00
Jean First
e75ef2b7f4 tiffdec: support predictor type 2 with RGB48 pixel format 2014-04-12 14:52:10 -04:00
Justin Ruggles
345a96c327 tiffdec: remove an unneeded variable 2014-04-12 14:52:10 -04:00
Justin Ruggles
a9b046fb0a tiff: use a better name and enum values for PhotometricInterpretation
Also add additional known values and log as missing features.
2014-04-12 14:52:07 -04:00
Justin Ruggles
fdbe18b7b0 tiffdec: use a single strip if RowsPerStrip is 0
The spec does not specify that 0 is an error condition, and there
are samples which use 0 when the whole image is in one strip.
2014-04-12 14:49:08 -04:00
Justin Ruggles
0a467a9b59 tiffdec: use bytestream2 to simplify overread/overwrite protection
Based on a patch by Paul B Mahol <onemda@gmail.com>

CC:libav-stable@libav.org
2014-04-12 14:49:08 -04:00
Justin Ruggles
5748faf291 bytestream: add bytestream2_copy_buffer() functions
This is basically an overread/overwrite-safe memcpy between a
GetByteContext and a PutByteContext.

CC:libav-stable@libav.org
2014-04-12 14:49:08 -04:00
Paul B Mahol
de9d2705f6 bytestream: add functions for accessing size of buffer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>

CC:libav-stable@libav.org
2014-04-12 14:49:08 -04:00
Justin Ruggles
58bc38a5f2 tiffdec: use correct data type for palette entries and set alpha to 0xFF 2014-04-12 14:49:07 -04:00
Jean First
bf2064f046 tiffdec: rename variables for consistency and fix variable shadowing
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2014-04-12 14:49:07 -04:00
Michael Niedermayer
4f698be8f6 avutil/log: add av_log_get_flags()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-12 20:25:10 +02:00
Justin Ruggles
d9a542ace1 swscale: Set alpha to opaque for internal palettes.
Fixes conversion of pal8 to rgb formats with alpha.

Updated references for 2 FATE tests which previously encoded fully
transparent images.

Based on a patch by Baptiste Coudurier <baptiste.coudurier@gmail.com>
2014-04-12 14:07:19 -04:00
Lukasz Marek
defb87eef4 lavd/qtkit: add device category
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-12 19:50:09 +02:00
Lukasz Marek
afc898e7ce lavd/fbdev_enc: implement get_device_list
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-12 19:47:58 +02:00
Justin Ruggles
20c38c9c18 swscale: fix some undefined signed left shifts
Based on a patch by Michael Niedermayer <michaelni@gmx.at>
2014-04-12 13:24:47 -04:00
Justin Ruggles
60c4660ba0 swscale: fix an implementation-defined unsigned-to-signed conversion 2014-04-12 13:24:47 -04:00
Lukasz Marek
c1c3c3611e lavd: no default device unless explicitly set
AVDeviceInfoList was allocated with first device set as default
even though there is no device after allocation.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-12 19:14:57 +02:00
Michael Niedermayer
e89f3d0ed2 avcodec/ffv1: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-12 15:41:00 +02:00
Michael Niedermayer
713e62e91d avcodec/faxcompr: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-12 15:37:57 +02:00
Michael Niedermayer
36053aeff6 vcodec/error_resilience: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-12 15:33:55 +02:00
Katerina Barone-Adesi
d4a8a86c68 doc: Libavfilter English cleanup
This aims to standardize the English used in the libavfilter
documentation, describing the same thing in the same way more often,
and significantly reduce the amount of outright errors, including
run-on sentences and sentence fragments.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-12 14:34:11 +02:00
Michael Niedermayer
617a1a98a6 mp3enc: Properly write bitrate value in XING header
Instead of using a fixed bitrate_idx, calculate a matching bitrate for
the XING header.

Using a fixed bitrate_idx causes tools such as file(1) and mediainfo(1)
to report wrong bitrate and bitrate mode when using CBR.

Bug-Id: https://bugs.debian.org/736088

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-12 13:29:55 +02:00
Michael Niedermayer
fb4ac46d7f avcodec/elbg: Use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-12 05:40:37 +02:00
Michael Niedermayer
46375e9a97 avcodec/diracdec: use av_malloc(z)_array
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-12 05:38:31 +02:00
Michael Niedermayer
f683895dee avformat/img2dec: support nanosecond file times
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-12 04:52:01 +02:00
Michael Schenk
513a431e07 avformat/hls: reduce memory usage by using dynamically allocated url/key
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2014-04-12 03:14:52 +03:00
Michael Niedermayer
66e959682c avcodec/mpegvideo_enc: override bitrate tolerance when its value is too small
Fixes Ticket3257

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-12 01:29:20 +02:00
Michael Niedermayer
27763db928 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Improve amr bitrate calculation for VBR files.
  Warn if rawvideo and an unreadable pix_fmt are written.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-12 00:17:35 +02:00
Michael Niedermayer
88ceede1fd avcodec/jpegls: print coding parameters stored in LSE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-11 23:39:09 +02:00
Carl Eugen Hoyos
c43222f436 Improve amr bitrate calculation for VBR files.
Fixes ticket #3541.
2014-04-11 23:38:53 +02:00
Carl Eugen Hoyos
8b122937af Warn if rawvideo and an unreadable pix_fmt are written.
Print an error if a combination of rawvideo and an unusual pix_fmt
that will be impossible to decode are written to avi or mov.
Fixes ticket #3545.
2014-04-11 23:35:11 +02:00
Michael Niedermayer
662a8d8827 Merge commit '254c95cdd1b669a722204a4a65974fc2523c8f83'
* commit '254c95cdd1b669a722204a4a65974fc2523c8f83':
  resample: split linear into its own function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-11 20:39:04 +02:00
Michael Niedermayer
65088b925a Merge commit 'be394968c81019887ef996a78a526bdd85d1e216'
* commit 'be394968c81019887ef996a78a526bdd85d1e216':
  resample: add initial padding explicitly

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-11 20:38:38 +02:00
Michael Niedermayer
6d6bd16fce Merge commit 'eed752d61da332fb13e9893a175a90fed7b1d7d3'
* commit 'eed752d61da332fb13e9893a175a90fed7b1d7d3':
  resample: drop useless abs()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-11 20:23:33 +02:00
Michael Niedermayer
fb7d64df7e Merge commit '3c84f6b5d20cd345fac706f8cfb70c55e541ffb5'
* commit '3c84f6b5d20cd345fac706f8cfb70c55e541ffb5':
  resample: reindent

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-11 19:34:31 +02:00
Michael Niedermayer
671f908657 Merge commit 'f20892eb67a7b4b5a3c080388a35a3380516a805'
* commit 'f20892eb67a7b4b5a3c080388a35a3380516a805':
  resample: split the nearest neighbour path into a separate function pointer

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-11 19:34:03 +02:00
Michael Niedermayer
c04961fa0f Merge commit 'b9dea23766f52b8e059e72d34980bb7b456efe8f'
* commit 'b9dea23766f52b8e059e72d34980bb7b456efe8f':
  resample: fix avresample_get_delay() return value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-11 19:24:03 +02:00
Thilo Borgmann
d2417061ef Add AVFoundation input device.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-11 17:51:33 +02:00
Anton Khirnov
254c95cdd1 resample: split linear into its own function 2014-04-11 16:34:02 +02:00
Anton Khirnov
be394968c8 resample: add initial padding explicitly
This simplifies the code, since we do not have to deal with a possibly
negative source index anymore.
2014-04-11 16:33:46 +02:00
Anton Khirnov
eed752d61d resample: drop useless abs()
negative sample_index is handled in the block above.
2014-04-11 16:28:11 +02:00
Anton Khirnov
3c84f6b5d2 resample: reindent 2014-04-11 16:27:22 +02:00
Anton Khirnov
f20892eb67 resample: split the nearest neighbour path into a separate function pointer 2014-04-11 16:26:36 +02:00
Anton Khirnov
b9dea23766 resample: fix avresample_get_delay() return value
The correct "next" input sample is not the first sample of the
resampling buffer, but the center sample of the filter_length-sized
block at the beginning.

CC:libav-stable@libav.org
2014-04-11 16:21:25 +02:00
Lukasz Marek
c02e3dca2d lavd: add control message enums
Adds messages that allows to control (audio) buffer and play/pause state.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-11 15:37:56 +02:00
Lukasz Marek
6db42a2b6b lavd: add device capabilities API
Provides API to query device capabilities.
Each device must implement callbacks to benefit from this API.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-04-11 15:37:43 +02:00
Michael Niedermayer
4899ccd295 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  DNxHD: convert inline asm to yasm

Conflicts:
	libavcodec/x86/Makefile
	libavcodec/x86/dnxhdenc.asm

See: 9d34dce05b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-11 14:42:02 +02:00
Michael Niedermayer
ee2a43798c Merge commit '676856204b84dfaffe329dce8502e834a0dbdb19'
* commit '676856204b84dfaffe329dce8502e834a0dbdb19':
  DNxHD: make get_pixel_8x4_sym accept ptrdiff_t as stride

Conflicts:
	libavcodec/dnxhdenc.h
	libavcodec/x86/dnxhdenc_init.c

See: cb11b9e89e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-11 14:28:19 +02:00
Michael Niedermayer
bad101ab8a Merge commit '89ef08c992c484a46711b1a68a988303679c288e'
* commit '89ef08c992c484a46711b1a68a988303679c288e':
  DNxHD: K&R formatting cosmetics

Conflicts:
	libavcodec/dnxhd_parser.c
	libavcodec/dnxhddec.c
	libavcodec/dnxhdenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-11 14:04:10 +02:00
Timothy Gu
71c32ed533 DNxHD: convert inline asm to yasm 2014-04-11 12:09:09 +02:00
Timothy Gu
676856204b DNxHD: make get_pixel_8x4_sym accept ptrdiff_t as stride 2014-04-11 12:09:09 +02:00
Vittorio Giovara
89ef08c992 DNxHD: K&R formatting cosmetics 2014-04-11 12:09:08 +02:00
Michael Niedermayer
d9fef740bd avcodec/dnxhdenc: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-11 06:31:45 +02:00
Michael Niedermayer
1de8a4f736 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mp2: Do not force a samplerate

Conflicts:
	libavcodec/mpegaudioenc_template.c

Only libtwolame changes, as the forcing of a sample rate was not merged for the native mp2 encoder

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-11 01:26:07 +02:00
Michael Niedermayer
268b1eae22 avcodec/mpegaudioenc_template: default to 384k bitrate as default
If 384k is too high for the samplerate, choose the closest
possible

Idea to increase the bitrate from: 46439e1562
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-11 01:13:16 +02:00
Luca Barbato
a7448064c5 mp2: Do not force a samplerate
The default should be not to resample.
2014-04-11 00:09:34 +02:00
Anssi Hannula
39b192b8e1 avformat/hls: do not call ffurl_seek/ffurl_size on crypto protocol
ffurl_seek() will not work even when it should be a no-op, so do not
call it on crypto protocol.

Also replace use of ffurl_size() for the same reason.

Reported-by: Michael Schenk <Michael.Schenk@albistechnologies.com>
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2014-04-11 00:04:34 +03:00
Michael Niedermayer
517cc81e93 ffmpeg: stop protocols on interrupt when no transcoding has happened yet
Fixes Ticket3344

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-10 22:29:23 +02:00
Carl Eugen Hoyos
ecb80fe78c Cosmetics: Remove an outdated comment from lavc/rawdec.c.
The missing swscale feature was implemented in 2011.
2014-04-10 22:25:39 +02:00
Michael Niedermayer
6290ba0052 avfilter/settb: remove duplicate #include
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-10 21:58:03 +02:00
James Almer
09c1654208 lavf/rtspcodes: add missing header include
Fixes make checkheaders

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-10 21:57:04 +02:00
Michael Niedermayer
a4662cd6b1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libx265: Only set the SAR if it is valid
  libx265: Use 16-bit SAR
  libx265: Use x265_param_parse to set the SAR

See: 8945dcbb52
See: fcc43e02d3
See: cdd21f1f03
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-10 21:34:08 +02:00
Michael Niedermayer
4d4bc89409 avformat/mov: merge mov_read_custom_metadata() and mov_read_custom()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-10 21:25:51 +02:00
Michael Niedermayer
6e573b7759 Merge commit '9a07fac678a8540d076e635061bbaa4ed09a9431'
* commit '9a07fac678a8540d076e635061bbaa4ed09a9431':
  mov: read hydrogenaudio replaygain information

Conflicts:
	libavformat/Makefile
	libavformat/mov.c

See: 37a15f3e66
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-10 21:25:15 +02:00
Michael Niedermayer
c486cfab79 avcodec/imgconvert: fix nb_components and depth for PAL8 in get_pix_fmt_score()
This causes us to favor RGB8 over PAL8 when FF_LOSS_COLORQUANT is used

It probably makes sense to reinvestigate the exact scoring of pal8 when
our pal8 support improves to be supperior to rgb8

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-10 19:58:14 +02:00
Derek Buitenhuis
cdd21f1f03 libx265: Only set the SAR if it is valid
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-10 16:49:03 +01:00
Derek Buitenhuis
fcc43e02d3 libx265: Use 16-bit SAR
The spec says it is 16 bits.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-10 16:49:03 +01:00
Matt Oliver
d1e6e5c887 avcodec/x86: Exclude broken get_cabac under icl.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-10 17:47:22 +02:00
Michael Niedermayer
4764714952 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libavfilter: Add asettb filter for setting timebase for audio

Conflicts:
	Changelog
	doc/filters.texi
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavfilter/settb.c
	libavfilter/version.h

See: ba856c0be5 and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-10 15:08:04 +02:00
Derek Buitenhuis
25fbfeed98 libx265: Only set the SAR if it is valid
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-10 13:28:59 +01:00
Derek Buitenhuis
cd0ac6f6e5 libx265: Use 16-bit SAR
The spec says it is 16 bits.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-10 13:28:55 +01:00
Derek Buitenhuis
8945dcbb52 libx265: Use x265_param_parse to set the SAR
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-10 13:08:01 +01:00
Derek Buitenhuis
4a2226451e libx265: Use x265_param_parse to set the SAR
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-10 13:06:45 +01:00
Anton Khirnov
9a07fac678 mov: read hydrogenaudio replaygain information 2014-04-10 13:53:32 +02:00
Nicolas George
ad8159e0fe libavfilter: Add asettb filter for setting timebase for audio
Ported asettb (including the sr option for audio sample rate) from FFmpeg,
and copied/modified the existing settb documentation for asettb.

Signed-off-by: Katerina Barone-Adesi <katerinab+libav@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-10 12:52:19 +02:00
Lukasz Marek
e1c48e3593 lavf/utils: fix mem leak
Calling avformat_free_context() right after avformat_alloc_output_context2()
leaved option's default values not freed.
Options were freed only in av_write_trailer().

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-10 03:24:07 +02:00
Lukasz Marek
fbf05759e3 sws: fix warning about RGB_PACK24_B_OPERANDS redefinition
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-10 02:07:07 +02:00
Michael Niedermayer
421c116fc4 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix a typo in amr.c.
  Remove an unneeded include of avassert.h from amr.c.
  Do not allow writing invalid wav channel layouts by default.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-10 00:33:57 +02:00
Michael Niedermayer
849d40dce6 avcodec/mpegvideo_enc: change some asserts to av_asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 23:57:18 +02:00
Michael Niedermayer
968516cebf avformat/nut: add ff_nut_audio_extra_tags to demuxer too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 23:37:55 +02:00
Carl Eugen Hoyos
cf79f20275 Fix a typo in amr.c. 2014-04-09 23:21:38 +02:00
Carl Eugen Hoyos
2a3ff9fbba Remove an unneeded include of avassert.h from amr.c. 2014-04-09 23:21:38 +02:00
Carl Eugen Hoyos
bf87d582b1 Do not allow writing invalid wav channel layouts by default.
Neither WMP nor QT play wav files with too large channel layouts.
Fixes ticket #3543.
2014-04-09 23:21:38 +02:00
Michael Niedermayer
f703dae7aa avcodec/cngdec: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 23:18:32 +02:00
Michael Niedermayer
2773ab36cc avcodec/jpeglsdec/ff_jpegls_decode_lse: check len field validity
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 23:12:44 +02:00
Michael Niedermayer
020600eed1 avcodec/jpeglsdec: ask for sample for "oversized image"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 23:12:44 +02:00
Michael Niedermayer
375013e3d6 avcodec/mpeg12dec: drop confusing av_dlog()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 23:12:44 +02:00
Anthoine Bourgeois
d8ab7f31dd avcodec/dirac_arith: Fix build with PIC and stack-check options
Fixes Ticket3540

The function dirac_get_arith_bit in libavcodec/dirac_arith.h can't be
built with PIC and check-stack because the asm code needs 6 registers
and PIC and check-stack options take 1 each and x86 is quite limited
in this area.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 19:41:48 +02:00
Michael Niedermayer
7ac2f7e413 avutil/log: factor "level != AV_LOG_INFO/8" checks out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 16:30:16 +02:00
Michael Niedermayer
dddacf780f avcodec/sanm: use named consant instead of literal number
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 16:23:57 +02:00
Michael Niedermayer
acf112ba6e avcodec/mpegvideo: remove AVFrame padding, as the hack isnt needed anymore
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 16:17:22 +02:00
Michael Niedermayer
2ca553ed9c avcodec/snowenc: remove operations that have become redundant with AVFrame pointers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 16:17:22 +02:00
Michael Niedermayer
59a53842d3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo: operate with pointers to AVFrames instead of whole structs

Conflicts:
	libavcodec/h261dec.c
	libavcodec/h263dec.c
	libavcodec/intrax8.c
	libavcodec/mpeg12enc.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo.h
	libavcodec/mpegvideo_enc.c
	libavcodec/mpegvideo_motion.c
	libavcodec/mpegvideo_xvmc.c
	libavcodec/msmpeg4.c
	libavcodec/ratecontrol.c
	libavcodec/vaapi.c
	libavcodec/vc1dec.c
	libavcodec/vdpau_vc1.c

See: fc567ac49e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 15:18:46 +02:00
Michael Niedermayer
60ef0c6f90 Merge commit '60fd7d36c47d62d4c603bf16c213b1a924f5cfcf'
* commit '60fd7d36c47d62d4c603bf16c213b1a924f5cfcf':
  fate: correctly set sample rate for mp2 tests

Conflicts:
	tests/fate/acodec.mak
	tests/lavf-regression.sh

one hunk has been ommited as it breaks fate

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 13:58:55 +02:00
Thilo Borgmann
c740e083bc configure: Fail on missing prototypes in check_oc.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 13:30:40 +02:00
Michael Niedermayer
44841528c1 avcodec/mpegaudioenc_template: reorder operations to prevent integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 07:04:12 +02:00
Michael Niedermayer
9d66aa2c8f avcodec/mpegaudioenc_template: dont crash on bitrate=0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 05:16:52 +02:00
Michael Niedermayer
d98688efb1 swscale/input: replace assert() by av_assert1()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 05:14:34 +02:00
Michael Niedermayer
624327988f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doc: Completely document the x264 options

Conflicts:
	doc/encoders.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 04:54:26 +02:00
Michael Niedermayer
43935842bd Merge commit '0d671ade99059fd47b155df85c10c35eb6d54878'
* commit '0d671ade99059fd47b155df85c10c35eb6d54878':
  doc: Use a 3 columns multitable

Conflicts:
	doc/encoders.texi

No change as we dont use a multitable for this list
we could of course switch to one though if it looks better
comments welcome

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 04:49:15 +02:00
Michael Niedermayer
8f23045b16 Merge commit 'be59675add2a05a7400b1abf86201ab069d7b1dd'
* commit 'be59675add2a05a7400b1abf86201ab069d7b1dd':
  doc: Change the multitable rendering in texi2pod

Conflicts:
	doc/texi2pod.pl

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 04:26:20 +02:00
Michael Niedermayer
e40d92b1e4 Merge commit '59388dac69f9a79eddb003d1c6aad5ec89d4287b'
* commit '59388dac69f9a79eddb003d1c6aad5ec89d4287b':
  fate: update tests for YVYU422 pixel format

Conflicts:
	tests/ref/fate/filter-pixdesc
	tests/ref/fate/filter-pixfmts-copy
	tests/ref/fate/filter-pixfmts-null
	tests/ref/fate/filter-pixfmts-scale
	tests/ref/fate/filter-pixfmts-vflip

No change as the fate tests where updated in the merges that changed
the scores

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 04:16:35 +02:00
Michael Niedermayer
233dbee3bc Merge commit 'b6a09ef700786b4e1e871dfa0f5c386ea43bbd0a'
* commit 'b6a09ef700786b4e1e871dfa0f5c386ea43bbd0a':
  rawvideo: Support decoding YVYU422 FourCC

See: ab7d6cb8f7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 04:06:35 +02:00
Michael Niedermayer
ed962414bd Merge commit '92b099daf4b8ef93513e38b43899cb8458a2fde3'
* commit '92b099daf4b8ef93513e38b43899cb8458a2fde3':
  swscale: support converting YVYU422 pixel format

Conflicts:
	libswscale/input.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 03:36:38 +02:00
Michael Niedermayer
0a1cc04e6c Merge commit '8b17243d1742279bcb2368f8d325ea71e66736c8'
* commit '8b17243d1742279bcb2368f8d325ea71e66736c8':
  lavu: Add packed YVYU422 pixel format

Conflicts:
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 03:07:47 +02:00
Michael Niedermayer
352e13e2a9 Merge commit '46439e156219d27f059cf687743ba5aacf238b87'
* commit '46439e156219d27f059cf687743ba5aacf238b87':
  mp2: match twolame default options

Not merged as the change breaks fate, also forcing resampling to specific sample rate
reduces quality, and would be like rescaling every movie to 1080.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 02:59:43 +02:00
Michael Niedermayer
6c019f05ed Merge commit '718907cd881a0b593264aed059c0e00da13f9e15'
* commit '718907cd881a0b593264aed059c0e00da13f9e15':
  libtwolame MP2 encoding support

Conflicts:
	Changelog
	configure
	doc/general.texi
	libavcodec/Makefile
	libavcodec/libtwolame.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 02:17:56 +02:00
wm4
f6774f905f mpegvideo: operate with pointers to AVFrames instead of whole structs
The most interesting parts are initialization in ff_MPV_common_init() and
uninitialization in ff_MPV_common_end().

ff_mpeg_unref_picture and ff_thread_release_buffer have additional NULL
checks for Picture.f, because these functions can be called on
uninitialized or partially initialized Pictures.

NULL pointer checks are added to ff_thread_release_buffer() stub function.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-04-09 02:12:19 +02:00
Vittorio Giovara
60fd7d36c4 fate: correctly set sample rate for mp2 tests 2014-04-09 02:11:25 +02:00
Michael Niedermayer
1752b1459d swscale/utils: scale filter_size in warning so that it can be used as max for the compile time define
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 00:57:12 +02:00
Michael Niedermayer
7b2b06eb43 swscale/utils: dont print message about filter size when the cause is a malloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 00:57:12 +02:00
Luca Barbato
e6e8be542b doc: Completely document the x264 options
And fix an option mismatch.
2014-04-08 23:24:42 +02:00
Luca Barbato
0d671ade99 doc: Use a 3 columns multitable
Make the html output much nicer.
2014-04-08 23:24:42 +02:00
Luca Barbato
be59675add doc: Change the multitable rendering in texi2pod
Makes it working better for our documentation purposes.
2014-04-08 23:24:42 +02:00
Vittorio Giovara
59388dac69 fate: update tests for YVYU422 pixel format 2014-04-08 23:24:41 +02:00
Vittorio Giovara
b6a09ef700 rawvideo: Support decoding YVYU422 FourCC 2014-04-08 23:24:36 +02:00
Michael Niedermayer
2daf580284 avcodec/j2kenc: use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 23:12:26 +02:00
Michael Niedermayer
8ff061095f avcodec/libzvbi-teletextdec: remove * 1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 23:12:26 +02:00
Michael Niedermayer
818aaa7636 avcodec/libopencore-amr: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 23:12:26 +02:00
Anshul Maheshwari
5b30f27592 rtspcodes: don't check for >0 on error codes macro
Avoids a warning with gcc 4.7 and -Wtype-limits. Albeit
superfluous (At least gcc 4.8 didnt consider this been
a problem).

Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-04-08 18:05:02 -03:00
Schenk, Michael
358f9ae639 configure: AVI demux needs exif
Reviewed-by: Thilo Borgmann <thilo.borgmann@mail.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 20:14:49 +02:00
Michael Niedermayer
2fcef4a044 swscale/swscale_internal: remove obsolete warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 19:09:05 +02:00
Michael Niedermayer
955d7e26b6 swscale/swscale_internal: make the offset strings update themselfs when the MAX_FILTER_SIZE is changed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 18:51:34 +02:00
Michael Niedermayer
f6759d9ad4 swscale/x86/swscale_template: loose hardcoded dstw_offset
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 18:39:39 +02:00
Michael Niedermayer
e20e854ca0 vcodec/bitstream: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 16:18:29 +02:00
Michael Niedermayer
33c9bb943b avcodec/avpacket: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 16:17:40 +02:00
Michael Niedermayer
e4c180c05a avcodec/a64multienc: use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 16:15:32 +02:00
Michael Niedermayer
53487268e5 cmdutils: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 15:44:32 +02:00
Michael Niedermayer
c8a1f10cf4 avcodec/ac3enc_float: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 15:35:47 +02:00
Michael Niedermayer
9b467d3cd5 examples/transcoding: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 15:35:14 +02:00
Michael Niedermayer
b176320545 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix compilation with --disable-everything --enable-decoder=rawvideo.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 02:29:06 +02:00
Michael Niedermayer
e36aaeca3a avfilter/vf_colormatrix: fix memleak on error
Fixes CID1197065
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 01:25:00 +02:00
Michael Niedermayer
5027f39712 swresample/resample: use av_malloc_array() where appropriate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 00:29:26 +02:00
Michael Niedermayer
a5290cb1ac swresample/dither: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 00:29:20 +02:00
Michael Niedermayer
f9158b01d0 swresample/resample: Limit filter length
Related to CID1197063

The limit choosen is arbitrary and much larger than what makes sense.
It avoids the need for checking arithmetic operations with the length for overflow

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 00:25:49 +02:00
Carl Eugen Hoyos
7fcb4f6c51 Fix compilation with --disable-everything --enable-decoder=rawvideo. 2014-04-08 00:04:25 +02:00
Vittorio Giovara
92b099daf4 swscale: support converting YVYU422 pixel format 2014-04-07 23:50:34 +02:00
Vittorio Giovara
8b17243d17 lavu: Add packed YVYU422 pixel format 2014-04-07 23:50:34 +02:00
Vittorio Giovara
46439e1562 mp2: match twolame default options 2014-04-07 23:50:33 +02:00
Paul B Mahol
718907cd88 libtwolame MP2 encoding support
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-04-07 23:50:33 +02:00
Michael Niedermayer
0d225863f2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libxvid: fix missing end of line character

Conflicts:
	libavcodec/libxvid.c

No change as the buggy modification wasnt merged, ffmpeg handles the
case where both lumi and variance masking are set, differently

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-07 20:53:34 +02:00
Carl Eugen Hoyos
836b60ce2b Fix standalone compilation of vp7 and vp8 decoder.
Fixes ticket #3536.
2014-04-07 15:30:48 +02:00
Carl Eugen Hoyos
993a5afaad Read aspect ratio from tiff image files. 2014-04-07 15:30:48 +02:00
Vittorio Giovara
17a75a8c09 libxvid: fix missing end of line character
Error introduced in 5ce7ca68b8.
2014-04-07 14:56:25 +02:00
Schenk, Michael
845414bbb1 avformat/oggdec: reset nstreams in close
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-07 14:55:35 +02:00
Schenk, Michael
b0a8521383 avformat/mov: reset drefs_count in close
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-07 14:51:36 +02:00
Matt Oliver
158a80cc0b Remove leal op to fix icl inline asm.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-07 13:02:54 +02:00
Reynaldo H. Verdejo Pinochet
02497a5dc8 ffserver: don't hardcode RTSP status codes
Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-04-07 00:24:00 -03:00
Reynaldo H. Verdejo Pinochet
5267a5d783 rtspcodes: add full list of RTSP status codes
Also add reason phrases from http://www.ietf.org/rfc/rfc2326.txt
and macro to translate.

Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-04-07 00:24:00 -03:00
Reynaldo H. Verdejo Pinochet
0c5a6ef886 ffserver: nits & typos
Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-04-07 00:24:00 -03:00
Thilo Borgmann
fdaf8372c2 configure: Check for generated output in check_header_oc.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-07 05:11:47 +02:00
Michael Niedermayer
a75ba1e116 avcodec/h264/find_start_code: factorize addition out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-07 04:18:21 +02:00
Michael Niedermayer
13aa575764 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  xtea: Add Doxy @file and group

See: 50f52a5498
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-07 04:16:47 +02:00
Michael Niedermayer
a6fa3a476a Merge commit 'f73495686d109ffffaa8c0387e790e7997326229'
* commit 'f73495686d109ffffaa8c0387e790e7997326229':
  adler32: Fix doxy group definition

See: 624672fcce and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-07 04:15:59 +02:00
Michael Niedermayer
0ecb3075c1 Merge commit 'e10fd08aa7fbe8645545ad2e8721f0ed03c8e06a'
* commit 'e10fd08aa7fbe8645545ad2e8721f0ed03c8e06a':
  h264: Refactor decode_nal_units

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-07 03:59:22 +02:00
Michael Niedermayer
a7a82f2f22 Merge commit 'c389a804943095ebf078daec6b64690d2c97069c'
* commit 'c389a804943095ebf078daec6b64690d2c97069c':
  libxvid: Add SSIM displaying through a libxvidcore plugin

Conflicts:
	libavcodec/libxvid.c
	libavcodec/version.h

See: 3b3c1ed076
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-07 03:20:23 +02:00
Michael Niedermayer
072278c777 Merge commit '5ce7ca68b86856ee8e9d6530dffdadc4eca4f8d1'
* commit '5ce7ca68b86856ee8e9d6530dffdadc4eca4f8d1':
  libxvid: add working lumimasking and variance AQ

Conflicts:
	libavcodec/libxvid.c
	libavcodec/version.h

See: ccb212b6c3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-07 03:08:25 +02:00
Michael Niedermayer
190106e884 Merge commit 'd3789eeeed3423bd1ca9dc40030a2f7a21ea5332'
* commit 'd3789eeeed3423bd1ca9dc40030a2f7a21ea5332':
  aarch64: implement videodsp.prefetch

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-07 02:51:05 +02:00
Michael Niedermayer
4c57c6a765 Merge commit '8675bcb0addb1c7fb0b04682d1f3f95d5b8dae14'
* commit '8675bcb0addb1c7fb0b04682d1f3f95d5b8dae14':
  aarch64: add armv8 CPU flag

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-07 02:15:18 +02:00
Stephan Hilb
541bebd414 lavc/cpia: use avpriv_report_missing_feature()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-07 01:33:53 +02:00
Stephan Hilb
5dae3cf357 lavc/cpia: fix typo in log message
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-07 01:33:10 +02:00
Timothy Gu
486e3649ce xtea: Add Doxy @file and group 2014-04-07 01:31:36 +02:00
Timothy Gu
f73495686d adler32: Fix doxy group definition
Based on a patch by James Almer <jamrial@gmail.com>.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-04-07 01:31:02 +02:00
Michael Niedermayer
01a5d71789 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Set Matroska private data when muxing Prores.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-06 23:57:42 +02:00
Michael Niedermayer
9e7f1474dd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: add tests for SANM and VIMA

Conflicts:
	tests/fate/video.mak
	tests/ref/fate/sanm

See: 4cdff58206
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-06 23:43:02 +02:00
Carl Eugen Hoyos
3d5c859fa6 Set Matroska private data when muxing Prores.
The specification requires the mov code point to be written as "fourcc".
2014-04-06 23:35:17 +02:00
Luca Barbato
e10fd08aa7 h264: Refactor decode_nal_units 2014-04-06 23:33:17 +02:00
Michael Niedermayer
5297003aa7 Merge commit 'eeadcdfd1a6f3089b6bf6e194d6ece8d3f113123'
* commit 'eeadcdfd1a6f3089b6bf6e194d6ece8d3f113123':
  LucasArts SMUSH demuxer

Conflicts:
	Changelog
	doc/general.texi
	libavformat/smush.c
	libavformat/version.h

See: bef8fd7099
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-06 23:29:47 +02:00
Timothy Gu
c389a80494 libxvid: Add SSIM displaying through a libxvidcore plugin
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-04-06 23:23:13 +02:00
Timothy Gu
5ce7ca68b8 libxvid: add working lumimasking and variance AQ
The old implementation is unusable due to changes in the Xvid API.
Further fixes by Michael Niedermayer <michaelni@gmx.at>.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-04-06 23:23:13 +02:00
Michael Niedermayer
787be6d074 Merge commit '6f273093e54cba130f3ffde3d6433e74baa4ad89'
* commit '6f273093e54cba130f3ffde3d6433e74baa4ad89':
  LucasArts SMUSH VIMA audio decoder

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

This commit adds a AV_CODEC_ID_ADPCM_VIMA alias in addition to the previously
used AV_CODEC_ID_VIMA, as well as a AVCodec with name "adpcm_vima" in addition
to the previously used name "vima"
These changes are needed for compatibility with the renamed codec in libav

See: b18357326c and others

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-06 23:14:23 +02:00
Michael Niedermayer
881f4e8d34 Merge commit 'a420ccd4f2a011887451a7d5e1bebba4fd7c40e2'
* commit 'a420ccd4f2a011887451a7d5e1bebba4fd7c40e2':
  LucasArts SMUSH SANM video decoder

Conflicts:
	Changelog
	doc/general.texi
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/avcodec.h
	libavcodec/sanm.c
	libavcodec/version.h

See: 69254f4628 and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-06 22:19:16 +02:00
Reimar Döffinger
a0568ed254 rtspdec: check for strchr returning NULL.
Fixes CID 732244.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-04-06 22:04:03 +02:00
Janne Grunau
d3789eeeed aarch64: implement videodsp.prefetch
8% faster h264 decoding on Apple A7.
2014-04-06 21:18:49 +02:00
Janne Grunau
8675bcb0ad aarch64: add armv8 CPU flag 2014-04-06 21:18:49 +02:00
Reimar Döffinger
57d10a28f4 pulseaudio: move NULL check up before dereference.
Fixes CID 1197068.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-04-06 19:38:51 +02:00
Hendrik Leppkes
fc7e02f0ff dcadsp: fix SSE code to not use SSE2 instructions.
movq from SSE register to memory is an SSE2 instruction.
Instead, use SSE movlps, which does the same thing.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-06 18:31:22 +02:00
Michael Niedermayer
4ccd7cb45b avformat/oggdec/ogg_read_packet(): factorize failure code path
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-06 18:10:47 +02:00
Michael Niedermayer
c1b24ca762 avformat/oggdec: check for av_packet_new_side_data() failure
Fixes CID1197062
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-06 18:10:47 +02:00
Michael Niedermayer
28f8114bd2 avcodec/vp8: fix checking vp7_feature_value_size
Fixes CID1197061

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-06 18:10:47 +02:00
Vladlen Y. Koshelev
cdbd9e218d avformat/hls: support for seeking on event playlists
This allows clients to seek between first played segment
and the last one in the live stream playlist with #EXT-X-PLAYLIST-TYPE:EVENT attribute.
2014-04-06 17:55:04 +03:00
Anssi Hannula
f29cb45bf2 avformat/hls: flush the subdemuxer when seeking
Since we are basically seeking the AVIOContext under the subdemuxer, we
need to flush the subdemuxer to avoid old packets from being read from
the packet queue after the seek.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2014-04-06 17:55:04 +03:00
Anssi Hannula
9aa0606e87 avformat/hls: properly take stream_index into account when seeking
Properly take stream_index into account so that a keyframe will be
looked for in the specified stream_index only.

Similarly, only check timestamp validity against the specified
stream_index.

Also remove code for stream_index == -1 case which does not actually
happen as it is handled by generic code.

This is based on an initial patch by James Deng.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2014-04-06 17:55:04 +03:00
Anssi Hannula
ad701326b4 avformat/hls: open playlists immediately when AVDISCARD_ALL is dropped
Do not try to delay opening newly required playlists until a segment
switch. Applications expect that newly selected undiscarded streams are
available immediately, especially with alternative rendition streams
(selectable audio/subtitle tracks).

One might think that delaying variant stream switch until a segment
switch would allow a "seamless" switch without us having to download a
specific segment from two different variant playlists. However, that is
not the case, since the application would have to keep the previous
stream available (undiscarded) until the first packet of the newly
selected stream arrives, but by that time the demuxer would have already
downloaded the next segment of both variants.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2014-04-06 17:55:04 +03:00
Anssi Hannula
05ce529a59 avformat/hls: factor identical playlist allocations out of parse_playlist
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2014-04-06 17:55:03 +03:00
Anssi Hannula
6b4b73e75d avformat/hls: do not use sequence numbers for packet ordering
As per spec 3.4.3 ("A client MUST NOT assume that segments with the same
sequence number in different Media Playlists contain matching content.")
we cannot use sequence numbers for packet ordering.

This can be seen e.g. in the subtitle streams of
bipbop_16x9_variant.m3u8 that have considerably longer segments and
therefore different numbering.

Since the code now exclusively syncs using timestamps that may wrap, add
some additional checking for that.

According to the HLS spec all the timestamps should be in 33-bit MPEG
format and synced together.

v2: cleaner wrap detection
v3: further wrap detection improvements

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2014-04-06 17:55:03 +03:00
Anssi Hannula
8fd6875c83 avformat/hls: do not care about stream start timestamps
While selecting a packet to return to caller in read_packet(), the code
corrects the timestamps for starting timestamps.

However, this is wrong, since for live streams the initial timestamps
might differ just because of the time delay between the retrieval of the
various Media Playlists.

Fortunately, spec 6.2.4 mandates that all variant streams must have
matching timestamps, so we do not need to correct for initial
timestamps.

Drop the correction code.

Note that ID3 timestamps were previously ignored, so this code was
previously actually needed.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2014-04-06 17:55:03 +03:00
Anssi Hannula
d549b0910c avformat/hls: avoid unnecessary segment retrievals
Check if the playlist is still needed just before requesting the next
segment instead of after exhausting the previous segment.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2014-04-06 17:55:03 +03:00
Anssi Hannula
4e85202bcc avformat/hls: improve segment selection when restarting list reception
Improve selection of the segment sequence number when restarting the
reception of a playlist after it was suspended due to being unneeded
(due to discard flags).

The current code assumes that each playlist contains matching data with
the same sequence number, while spec 3.4.3 specifically says that that
is not the case. Often subtitle playlists also have longer target
durations as well, causing the selection to be completely wrong.

Instead prefer using the playlist segment duration information for
non-live playlists, and other means if that is not possible.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2014-04-06 17:55:03 +03:00
Anssi Hannula
61e1a70278 avformat/hls: track seeking on a per-playlist basis
Seeking needs to be tracked on a per-playlist basis, since the resyncing
code in hls_read_packet() has to sync each playlist to the seek
timestamp instead of stopping after the first playlist has reached it.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2014-04-06 17:55:03 +03:00
Anssi Hannula
01b184e68d avformat/hls: parse ID3 timestamps for elementary audio streams
HLS provides MPEG TS timestamps via ID3 tags in the beginning of each
segment of elementary audio streams.

v2: fix issues with streams that have multiple ID3 tags

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2014-04-06 17:55:03 +03:00
Anssi Hannula
1cb8d986b8 avformat/hls: split read_from_url() out of read_data()
Useful for ID3 parsing.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2014-04-06 17:55:03 +03:00
Anssi Hannula
f7c7fc1369 avformat/hls: add some logging messages
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2014-04-06 17:55:02 +03:00
Anssi Hannula
da7759b357 avformat/hls: add support for byte-ranged segments
Add support for EXT-X-BYTERANGE added in HLS protocol v4.

v2: Better comment explaining ffurl_seek call and fix cur_seg_offset not
being updated.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2014-04-06 17:55:02 +03:00
Anssi Hannula
cc1162d775 avformat/hls: always return EOF for unneeded playlist streams
Even if we returned AVERROR_EOF previously due to playlist no longer
being needed, we may still be called again, and we do not want to
trigger a segment download in that case.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2014-04-06 17:55:02 +03:00
Anssi Hannula
edf4406c4d avformat/hls: add support for alternative renditions
HLS protocol version 4 added alternative renditions to the
specification (e.g. alternative audio tracks).

The EXT-X-MEDIA tags can also contain metadata for "renditions" (i.e.
tracks) of the main Media Playlist.

Add support for those.

Note that the same rendition (AVStream) may be associated with multiple
variants (AVPrograms).

Alternative subtitle tracks will require additional work and are
therefore not enabled yet.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2014-04-06 17:55:02 +03:00
Paul B Mahol
a027d2a873 fate: add tests for SANM and VIMA
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-04-06 16:42:15 +02:00
Paul B Mahol
eeadcdfd1a LucasArts SMUSH demuxer
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-04-06 16:41:41 +02:00
Paul B Mahol
6f273093e5 LucasArts SMUSH VIMA audio decoder
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-04-06 16:41:39 +02:00
Paul B Mahol
a420ccd4f2 LucasArts SMUSH SANM video decoder
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-04-06 16:40:27 +02:00
Thilo Borgmann
33462542cf configure: Add workaround for qtkit detection using ICC compiler.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-06 15:52:31 +02:00
Michael Niedermayer
754f84663e avcodec/msrle: check return code for success before use
The check is possibly redundant, but better to check for errors
that dont occur than to skip the check and crash

Fixes CID1197060

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-06 04:01:24 +02:00
Michael Niedermayer
f87b3d5523 avcodec/pthread_frame: fix missing unlock on error
Fixes CID1197057
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-06 03:51:46 +02:00
Carl Eugen Hoyos
59c1023ef5 Consider aspect ratio when writing tiff dpi.
TIFFTAG_YRESOLUTION gets now adjusted to sample_aspect_ratio.
2014-04-06 02:42:31 +02:00
Michael Niedermayer
b978391ed5 avformat/oggparsevorbis: remove non functional null check
Fixes CID1197055

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-06 01:34:48 +02:00
Michael Niedermayer
419800acc4 examples/avio_reading: fix null dereference on error
Fixed CID1197052
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-06 00:39:58 +02:00
Michael Niedermayer
1fec720afa avformat/cinedec: ask for sample when biBitCount isnt supported
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-06 00:34:09 +02:00
Michael Niedermayer
47b03415f3 avformat/cinedec: remove redundant zero termination
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 23:00:23 +02:00
Michael Niedermayer
af2e5061bb avformat/mov: Fix width/height typo
Fixes CID1197050
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 22:49:17 +02:00
Michael Niedermayer
49579c9637 avformat/cinedec: fix sizeof()
Fixes CID1197047
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 22:37:10 +02:00
Michael Niedermayer
a84f9c75bc avformat/omadec: fix probetest failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 22:07:43 +02:00
Michael Niedermayer
d167faafe9 avcodec/wma: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 21:34:03 +02:00
Michael Niedermayer
26e70fd5ba avcodec/vp8: fix name of copy_luma()
This function was introduced by ac4b32df71

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 21:33:53 +02:00
Michael Niedermayer
47fc82b5b3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dsputil: Move DV-specific ff_zigzag248_direct table to dvdata

Conflicts:
	libavcodec/dv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 19:43:28 +02:00
Michael Niedermayer
e6f69b324e Merge commit '57b5b84e208ad61ffdd74ad849bed212deb92bc5'
* commit '57b5b84e208ad61ffdd74ad849bed212deb92bc5':
  x86: dsputil: Move ff_apply_window_int16_* bits to ac3dsp, where they belong

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 19:36:21 +02:00
Michael Niedermayer
e3c3f277a9 Merge commit 'c2c5be57494e6117086771bca34c8cd4c72c8e99'
* commit 'c2c5be57494e6117086771bca34c8cd4c72c8e99':
  x86: h264_qpel: Simplify an #if conditional

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 19:30:44 +02:00
Michael Niedermayer
ebb21887b8 Merge commit '01c5779f56cf708e6cb88b11cfdc248cae7e2ee8'
* commit '01c5779f56cf708e6cb88b11cfdc248cae7e2ee8':
  x86: Drop some unnecessary YASM ifdefs

Conflicts:
	libavfilter/x86/vf_yadif_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 19:16:39 +02:00
Michael Niedermayer
865c94bb57 Merge commit 'b718b24bbe83d3e8787c1dc6449ccbffcd13a4e7'
* commit 'b718b24bbe83d3e8787c1dc6449ccbffcd13a4e7':
  ppc: Drop a bunch of unnecessary dsputil_altivec.h #includes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 19:10:00 +02:00
Michael Niedermayer
874f27a8f7 Merge commit 'b42f49e42f8cde25a788b2d13d03e99ca2956647'
* commit 'b42f49e42f8cde25a788b2d13d03e99ca2956647':
  x86: dsputil: Eliminate some unnecessary dsputil_x86.h #includes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 19:05:00 +02:00
Michael Niedermayer
5440151fa4 Merge commit '3dc6272bed7890a49080e18eacf3c7a4a6594b0d'
* commit '3dc6272bed7890a49080e18eacf3c7a4a6594b0d':
  Remove a number of unnecessary dsputil.h #includes

Conflicts:
	libavcodec/h264pred.c
	libavcodec/vc1dsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 18:54:15 +02:00
James Almer
a1ac12bddd x86/dcadsp: add ff_dca_lfe_fir0_fma3
~10% faster than the SSE version.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 13:55:59 +02:00
Michael Niedermayer
3c728ceec6 configure: use TMPM in check_header_oc
Some compilers when given -x objective-c will tell that they dont support
that but return success. Using a .m file instead returns proper failure in
that case

This should fix a build failure on freebsd

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 13:30:27 +02:00
Michael Niedermayer
323c049c7e configure: more properly disable header when check_header_oc() fails
This should make no difference currently

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 13:29:28 +02:00
James Almer
7d2116dd09 x86/synth_filter: compile avx and fma3 functions unconditionally
Fixes compilation failures with "--disable-{avx,fma3} --disable-optimizations"

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 05:15:27 +02:00
Thilo Borgmann
ec8789ac63 Reindent after last commit.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 03:32:11 +02:00
Thilo Borgmann
2f08dad028 lavf/avidec: Read metadata EXIF tags from AVIF tag. Based on patch by Gregory Wolfe (Kodak Alaris) <gregory.wolfe@kodakalaris.com>.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 03:32:06 +02:00
Thilo Borgmann
8c161d7884 lavc/exif: Make EXIF IFD decoding part of private API/ABI.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 03:31:56 +02:00
Michael Niedermayer
7a5537fd3f Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Allow .y as extension for image2.
  Show stream number when warning about stream without start time.
  Force gif aspect ratio multiplication to 64bit.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 03:23:47 +02:00
Carl Eugen Hoyos
90d93eeb38 Allow .y as extension for image2. 2014-04-05 02:18:09 +02:00
Michael Niedermayer
a2c6a99ba5 configure: Fix testing of objective-c headers for qtkit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 02:03:15 +02:00
Carl Eugen Hoyos
9f4ab4e5f9 Show stream number when warning about stream without start time. 2014-04-05 01:15:12 +02:00
Carl Eugen Hoyos
87f2999641 Force gif aspect ratio multiplication to 64bit.
Avoids a possible integer overflow.
2014-04-05 01:13:47 +02:00
Michael Niedermayer
b6850e132f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  af_ashowinfo: print a more descriptive name for AV_MATRIX_ENCODING_DOLBY

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 00:42:47 +02:00
Michael Niedermayer
37af487170 Merge commit 'a49aa440c939e221194f8d95bf98673f8cf38a06'
* commit 'a49aa440c939e221194f8d95bf98673f8cf38a06':
  af_volume: implement replaygain pre-amplification

Conflicts:
	doc/filters.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 00:16:53 +02:00
Michael Niedermayer
490d53e335 avcodec/x86/dcadsp_init: fix compilation failure without FMA3
alternatively the call could be put under #if or the #if
over the function removed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-05 00:11:48 +02:00
Michael Niedermayer
51fd962c0b Merge commit 'c74b86699c86bdf62e8570f41d8a38be5710baa3'
* commit 'c74b86699c86bdf62e8570f41d8a38be5710baa3':
  x86/synth_filter: add synth_filter_fma3
  x86/synth_filter: add synth_filter_avx
  x86/synth_filter: add synth_filter_sse

Conflicts:
	libavcodec/x86/dcadsp.asm
	libavcodec/x86/dcadsp_init.c

See: 6467209836
See: 68c3ed936a
See: 7fd64e3e36
See: aa1f38015c
See: dfd865e51b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-04 23:40:08 +02:00
Michael Niedermayer
b00f6bb90a Merge commit 'b97f2c7c49e35724f3963677f8aeee28089dc64e'
* commit 'b97f2c7c49e35724f3963677f8aeee28089dc64e':
  replaygain: remove unused variable

See: c01ddf845d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-04 23:24:21 +02:00
Michael Niedermayer
849a8c4cdb Merge commit '0048deb84cb6d22ba7f4fd7c8b4ecc054fcc22d4'
* commit '0048deb84cb6d22ba7f4fd7c8b4ecc054fcc22d4':
  oggparsevorbis: export replaygain tags from Vorbis comments

Conflicts:
	libavformat/Makefile
	libavformat/oggparsevorbis.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-04 23:17:33 +02:00
Michael Niedermayer
8e8c8607fc Merge commit '1d55f8d5f6f2cd74fa27170e2be37a72441d9202'
* commit '1d55f8d5f6f2cd74fa27170e2be37a72441d9202':
  flacdec: export replaygain tags from Vorbis comments

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-04 22:59:28 +02:00
Michael Niedermayer
c1d053621c Merge commit '8542f9c4f17125d483c40c0c5723842f1c982f81'
* commit '8542f9c4f17125d483c40c0c5723842f1c982f81':
  replaygain: correctly parse peak values

Conflicts:
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-04 22:52:12 +02:00
Michael Niedermayer
6520613139 Merge commit '25b6837f7cacd691b19cbc12b9dad1ce84a318a1'
* commit '25b6837f7cacd691b19cbc12b9dad1ce84a318a1':
  replaygain: fix gain sign decoding

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-04 22:44:17 +02:00
Christophe Gisquet
dfd865e51b x86/synth_filter: remove the main loop when it's not needed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-04 22:35:45 +02:00
Lukasz Marek
3aac5fcfa9 lavu/opt: validate range before dereference
This change make error handling simplier.
av_opt_freep_ranges may be called when some ranges are NULL,
for example after memory allocation fail.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-04 22:09:57 +02:00
Michael Niedermayer
506064ed10 ffmpeg: frame droping due to fps should not be a warning
This reverts part of 41e7e46cac

See: http://thread.gmane.org/gmane.comp.video.ffmpeg.user/51229
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-04 21:15:31 +02:00
Diego Biurrun
5f92204370 dsputil: Move DV-specific ff_zigzag248_direct table to dvdata 2014-04-04 19:08:05 +02:00
Diego Biurrun
57b5b84e20 x86: dsputil: Move ff_apply_window_int16_* bits to ac3dsp, where they belong 2014-04-04 19:08:05 +02:00
Diego Biurrun
c2c5be5749 x86: h264_qpel: Simplify an #if conditional
The extra conditions are covered by previous #ifs and conditional compilation.
2014-04-04 19:08:05 +02:00
Diego Biurrun
01c5779f56 x86: Drop some unnecessary YASM ifdefs
Dead code elimination is enough to avoid undefined references in these cases.
2014-04-04 19:08:05 +02:00
Diego Biurrun
b718b24bbe ppc: Drop a bunch of unnecessary dsputil_altivec.h #includes 2014-04-04 19:08:05 +02:00
Diego Biurrun
b42f49e42f x86: dsputil: Eliminate some unnecessary dsputil_x86.h #includes 2014-04-04 19:08:05 +02:00
Diego Biurrun
3dc6272bed Remove a number of unnecessary dsputil.h #includes 2014-04-04 19:08:05 +02:00
Anton Khirnov
9c21c08fa7 af_ashowinfo: print a more descriptive name for AV_MATRIX_ENCODING_DOLBY 2014-04-04 18:54:47 +02:00
Alessandro Ghedini
a49aa440c9 af_volume: implement replaygain pre-amplification
This adds a new "replaygain_preamp" option to the filter, and simply adds its
value to the replaygain gain value.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-04 18:53:05 +02:00
Roman Fietze
5bb3f88255 avcodec.h, avpacket.c: use const AVPacket pointers in copy functions
Signed-off-by: Roman Fietze <roman.fietze@telemotive.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-04 18:36:48 +02:00
James Almer
c74b86699c x86/synth_filter: add synth_filter_fma3
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-04 17:40:51 +02:00
Michael Niedermayer
b97f2c7c49 replaygain: remove unused variable
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-04 17:40:51 +02:00
Alessandro Ghedini
0048deb84c oggparsevorbis: export replaygain tags from Vorbis comments
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-04 17:40:51 +02:00
Alessandro Ghedini
1d55f8d5f6 flacdec: export replaygain tags from Vorbis comments
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-04 17:40:51 +02:00
James Almer
81e02fae6e x86/synth_filter: add synth_filter_avx
Sandy Bridge Win64:
180 cycles in ff_synth_filter_inner_sse2
150 cycles in ff_synth_filter_inner_avx

Also switch some instructions to a three operand format to avoid
assembly errors with Yasm 1.1.0 or older.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-04 17:40:51 +02:00
James Almer
2025d8026f x86/synth_filter: add synth_filter_sse
Build only on x86_32 targets.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-04 17:40:51 +02:00
Alessandro Ghedini
8542f9c4f1 replaygain: correctly parse peak values
According to the ReplayGain spec, the peak amplitude may overflow and may result
in peak amplitude values greater than 1.0 with psychoacoustically coded audio,
such as MP3. Fully compliant decoders must allow peak overflows.

Additionally, having peak values in the 0<->UINT32_MAX scale makes it more
difficult for applications to actually use the peak values (e.g. when
implementing clipping prevention) since values have to be rescaled down.

This patch corrects the peak parsing by removing the rescaling of the decoded
values between 0 and UINT32_MAX and the 1.0 upper limit.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-04 17:40:19 +02:00
Peter Ross
0cc685e3ad avformat/wtvdec: populate codec_tag from BITMAPINFOHEADER
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-04 17:20:38 +02:00
Peter Ross
8348bd198f avformat/wtvdec: ignore MPEG2VIDEO extradata when count is invalid
Fixes ticket #3522.

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-04 17:11:47 +02:00
Alessandro Ghedini
25b6837f7c replaygain: fix gain sign decoding
The gain sign was incorrectly decoded: since the FFSIGN() macro treats 0 as
negative, gain values starting with "0." were always decoded as negative.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-04 17:04:37 +02:00
James Almer
0f62982335 oggenc: check return value of av_mallocz()
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-04 15:56:52 +02:00
Michael Niedermayer
35617366b5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: asm decode_block_coeffs_internal is vp8 specific

See: 89f2f5dbd7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-04 15:28:41 +02:00
Michael Niedermayer
a20480e659 Merge commit '287432430c5c9cb8ffe1da1376949de494f24e45'
* commit '287432430c5c9cb8ffe1da1376949de494f24e45':
  fate: add a VP7 test

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-04 15:09:52 +02:00
Michael Niedermayer
fb61ed1e9f Merge commit 'ac4b32df71bd932838043a4838b86d11e169707f'
* commit 'ac4b32df71bd932838043a4838b86d11e169707f':
  On2 VP7 decoder

Conflicts:
	Changelog
	libavcodec/arm/h264pred_init_arm.c
	libavcodec/arm/vp8dsp.h
	libavcodec/arm/vp8dsp_init_arm.c
	libavcodec/arm/vp8dsp_init_armv6.c
	libavcodec/arm/vp8dsp_init_neon.c
	libavcodec/avcodec.h
	libavcodec/h264pred.c
	libavcodec/version.h
	libavcodec/vp8.c
	libavcodec/vp8.h
	libavcodec/vp8data.h
	libavcodec/vp8dsp.c
	libavcodec/vp8dsp.h
	libavcodec/x86/h264_intrapred_init.c
	libavcodec/x86/vp8dsp_init.c

See: 89f2f5dbd7 and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-04 14:46:10 +02:00
Janne Grunau
f37815b1d5 arm: asm decode_block_coeffs_internal is vp8 specific
Unbreaks compilation on arm due to conflicting types for
'ff_decode_block_coeffs_armv6'.
2014-04-04 10:39:29 +02:00
James Darnley
16509d3a28 log: allow color highlighting in Cygwin's mintty
Configure will detect the availability of the Windows' console functions and set
HAVE_SETCONSOLETEXTATTRIBUTE.  Meaning av_log will use those functions to
control colours.  When ffmpeg is run in Cygwin's mintty terminal emulator it
will not use colour highlighting in this case.

Mintty responds to the usual escape code colours (it even supports 256 colours).
Windows' cmd.exe does not.  Fortunately it seems that Cygwin's emulation layer
now translates the basic 16 colours into Windows' Console command functions.

That means that we can have av_log use the standard colour commands and let
ffmpeg print colours in both mintty and cmd.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-04 04:20:14 +02:00
Vittorio Giovara
287432430c fate: add a VP7 test 2014-04-04 04:00:11 +02:00
Peter Ross
ac4b32df71 On2 VP7 decoder
Further performance improvements and security fixes by
Vittorio Giovara, Luca Barbato and Diego Biurrun.

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>
2014-04-04 04:00:11 +02:00
Michael Niedermayer
634636eb5a Merge remote-tracking branch 'qatar/master'
* qatar/master: (31 commits)
  riff: Add an additional AAC TwoCC
  riff: support 0xa100 TwoCC for G723_1
  riff: add 0x594a TwoCC for Xan DPCM
  riff: add 0x64 to g726
  riff: add G723_1 wav tag
  riff: map 0x0038 to amrnb
  riff: Support FLIC FourCC
  riff: add escape130 FourCC
  riff: support 'aas4' FourCC
  riff: add "YUV8" FourCC
  riff: Add "S263" FourCC
  riff: Support XMPG as mpeg1
  riff: support BW10 as mpeg1
  riff: Add SLDV FourCC for dvvideo
  riff: Support NTSC forward dvcpro videos
  riff: add dvis/pdvc FourCCs
  riff: add "GXVE" FourCC for WMV2
  riff: add PLV1 fourcc to mpeg4
  riff: Support decoding ASP variant from QNAP Systems
  riff: add "SM4V" FourCC
  ...

Conflicts:
	libavformat/riff.c

See: various commits, all the merged changes where in ffmpeg already

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-04 02:54:53 +02:00
Michael Niedermayer
1946ad4d8c Merge commit '121b5b7e0476d22408d748b914799b7c00acc3a4'
* commit '121b5b7e0476d22408d748b914799b7c00acc3a4':
  isom: add some BOXX tags
  isom: add 'flic' tag
  isom: add 'm1v ' tag

Conflicts:
	libavformat/isom.c

See: ca8623e1a5
See: 8a3f976498
See: fca62f0500
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-04 02:44:56 +02:00
Michael Niedermayer
069e462beb Merge commit 'ad8f736b7404503d8f5164f4879175a2258dd64b'
* commit 'ad8f736b7404503d8f5164f4879175a2258dd64b':
  mxf: Remove typo

also See: [FFmpeg-devel] [PATCH 3/3] lavf/mxfdec: delete trailing semi-colon

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-04 02:18:32 +02:00
Michael Niedermayer
a692ff93ef Merge commit '9464b69da6b373d1eeb6b3d269ad029d9647b498'
* commit '9464b69da6b373d1eeb6b3d269ad029d9647b498':
  log: Unbreak windows support

Conflicts:
	libavutil/log.c

No change as we didnt use print_256color() in our implementation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-04 02:09:20 +02:00
James Darnley
7307a7fd93 configure: check and use -Wempty-body
Would have shown the trailing semi-colon in lavu/log.c that broke detection of
256 colour capable terminals.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-04 01:37:17 +02:00
Carl Eugen Hoyos
ce58ead40d riff: Add an additional AAC TwoCC
Mentioned on http://msdn.microsoft.com/en-us/library/dd341376%28prot.20%29.aspx
2014-04-04 01:29:29 +02:00
Piotr Bandurski
1e8c4fb8fc riff: support 0xa100 TwoCC for G723_1
Sample-Id: 4790b7f1c44f98e35f3b806468fa615f5930a5b3.wav
2014-04-04 01:29:29 +02:00
Piotr Bandurski
00ccdcd88c riff: add 0x594a TwoCC for Xan DPCM
Sample-Id: crusader-no-regret.avi
2014-04-04 01:29:29 +02:00
Compn
7b600ea0da riff: add 0x64 to g726
Sample-Id: g726-test1.wav
2014-04-04 01:29:28 +02:00
Piotr Bandurski
b7a12ab95b riff: add G723_1 wav tag 2014-04-04 01:29:28 +02:00
Compn
10a14bd574 riff: map 0x0038 to amrnb
Sample-Id: 40709.avi
2014-04-04 01:29:28 +02:00
Paul B Mahol
228af18a98 riff: Support FLIC FourCC 2014-04-04 01:29:28 +02:00
Michael Niedermayer
fb6c21fa8c riff: add escape130 FourCC 2014-04-04 01:29:27 +02:00
Piotr Bandurski
ae58466994 riff: support 'aas4' FourCC 2014-04-04 01:29:27 +02:00
Piotr Bandurski
7100f3c07d riff: add "YUV8" FourCC
Sample-Id: MAILTEST.AVI
2014-04-04 01:29:27 +02:00
Piotr Bandurski
c9787f034c riff: Add "S263" FourCC 2014-04-04 01:29:27 +02:00
Michael Niedermayer
9ff6429b07 riff: Support XMPG as mpeg1 2014-04-04 01:29:26 +02:00
Michael Niedermayer
771cb3e592 riff: support BW10 as mpeg1 2014-04-04 01:29:26 +02:00
Piotr Bandurski
eaec09a575 riff: Add SLDV FourCC for dvvideo 2014-04-04 01:29:25 +02:00
Carl Eugen Hoyos
a1c58b3acd riff: Support NTSC forward dvcpro videos
PAL looks incorrect.
2014-04-04 01:29:25 +02:00
Piotr Bandurski
6aa7cbd58c riff: add dvis/pdvc FourCCs 2014-04-04 01:29:24 +02:00
Piotr Bandurski
adf0ff0000 riff: add "GXVE" FourCC for WMV2
Sample-Id: vivd.avi
2014-04-04 01:29:24 +02:00
Compn
96dd7b2332 riff: add PLV1 fourcc to mpeg4
Sample-Id: york-water-meteor.avi
2014-04-04 01:29:24 +02:00
Carl Eugen Hoyos
f5f18aecef riff: Support decoding ASP variant from QNAP Systems 2014-04-04 01:29:23 +02:00
Piotr Bandurski
ade32b4a84 riff: add "SM4V" FourCC 2014-04-04 01:29:23 +02:00
Compn
684e43c5e3 riff: add DYM4 mpeg4 fourcc 2014-04-04 01:29:23 +02:00
Piotr Bandurski
32b0942c99 riff: add DM4V FourCC 2014-04-04 01:29:23 +02:00
Compn
fa6a021121 riff: add G264 to mpeg4, only decodes keyframes 2014-04-04 01:29:22 +02:00
Piotr Bandurski
9ab2d5a33c riff: add "lsvm" FourCC for H263. 2014-04-04 01:29:22 +02:00
Carl Eugen Hoyos
915524e541 riff: Support H.264 fourcc UMSV 2014-04-04 01:29:22 +02:00
Carl Eugen Hoyos
dcb6e145eb riff: add FourCC for GeoVision cameras 2014-04-04 01:29:22 +02:00
Carl Eugen Hoyos
9d9d319a3c riff: Add V264 for H264 in CCTV recordings 2014-04-04 01:29:21 +02:00
Carl Eugen Hoyos
51ace0fb92 riff: add H264 from QNAP Systems 2014-04-04 01:29:21 +02:00
Piotr Bandurski
a52a1bc912 riff: add SMV2 FourCC for H264
Sample-Id: smv2.avi
2014-04-04 01:29:21 +02:00
Clément Bœsch
235bf1dab5 riff: add ISMP/timecode tag 2014-04-04 00:28:28 +02:00
James Almer
fa570a5548 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
2014-04-04 00:28:28 +02:00
Piotr Bandurski
121b5b7e04 isom: add some BOXX tags 2014-04-04 00:20:12 +02:00
Reimar Döffinger
b0a54516eb isom: add 'flic' tag 2014-04-04 00:20:12 +02:00
Carl Eugen Hoyos
5a85cf0fc2 isom: add 'm1v ' tag
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-04-04 00:20:10 +02:00
Michael Niedermayer
8710ee11d7 avcodec/h264: clear cur_pic structure instead of duplicating it in ff_h264_update_thread_context()
Fixes crash

Found-by: iive
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-03 23:57:32 +02:00
Luca Barbato
ad8f736b74 mxf: Remove typo
Reported-By: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-04-03 23:45:05 +02:00
Luca Barbato
9464b69da6 log: Unbreak windows support
Add the missing define.
2014-04-03 23:43:47 +02:00
Michael Niedermayer
609ef89703 avutil/log: remove stray ;
regression since  5a18b215f7

Reported-by: J_Darnley
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-03 22:59:39 +02:00
Michael Niedermayer
49e040e868 avutil/log: fix negative log levels
These where broken by 7763118cae

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-03 22:44:04 +02:00
Michael Niedermayer
1f8a6bef78 avutil/log: add code to test av_log()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-03 22:38:30 +02:00
Michael Niedermayer
5a18b215f7 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  log: Do not assume the TERM variable is always set

Conflicts:
	libavutil/log.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-03 22:18:26 +02:00
Michael Niedermayer
d9ac00ca7a Merge commit '42ba1c51d9e843135772a3b9e5cf036a37b28bdb'
* commit '42ba1c51d9e843135772a3b9e5cf036a37b28bdb':
  log: Document AV_LOG_C usage

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-03 21:07:32 +02:00
Michael Niedermayer
002feaf6e2 Merge commit '28b9ac4e48f3405a82e8e87ead336188215cf1e6'
* commit '28b9ac4e48f3405a82e8e87ead336188215cf1e6':
  log: Remove undefined behaviour

Conflicts:
	libavutil/log.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-03 20:53:30 +02:00
Michael Niedermayer
c16e006181 Merge commit '7763118cae4eb468b032dbd29af15a011c2c233b'
* commit '7763118cae4eb468b032dbd29af15a011c2c233b':
  log: Support for 256color terminals

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-03 20:44:14 +02:00
Luca Barbato
061e340c05 log: Factorize check_color_terminal() out 2014-04-03 20:04:34 +02:00
Michael Niedermayer
4169d8f601 doc/ffmpeg: restore ascii arrows in Simple filtergraphs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-03 19:25:15 +02:00
Michael Niedermayer
0768fee964 Merge commit '006c253346d90f4abaf69d78083c8ba031628598'
* commit '006c253346d90f4abaf69d78083c8ba031628598':
  doc: Fit the graph in 80 cols

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-03 19:25:03 +02:00
Lukasz Marek
8c27292373 lavu/opt: dont crash on freeing NULL AVOptionRanges
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-03 19:05:19 +02:00
Luca Barbato
4ede1862dc log: Do not assume the TERM variable is always set 2014-04-03 18:43:25 +02:00
Luca Barbato
42ba1c51d9 log: Document AV_LOG_C usage
And move outside the wrong doxygen group.
2014-04-03 18:43:24 +02:00
Luca Barbato
28b9ac4e48 log: Remove undefined behaviour 2014-04-03 18:43:24 +02:00
Michael Niedermayer
09656707cc Merge commit 'lukaszmluki/master^'
* commit 'lukaszmluki/master^':
  lavu/opt: extend AVOptionRange by extra values

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-03 17:03:44 +02:00
Luca Barbato
7763118cae log: Support for 256color terminals
And provide extended coloring capabilities for debugging.
The default colors do not change in 256 more to keep
supporting people using Black on White, White on Black and
Solarized terminals.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-03 15:54:49 +02:00
Roman Fietze
f5d718ac7e avfilter.h, buffer.c: use const src pointer in avfilter_copy_buffer_ref_props
Signed-off-by: Roman Fietze <roman.fietze@telemotive.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-03 13:49:13 +02:00
Roman Fietze
74aeb6b584 libavformat/utils.c: av_pkt_dump_log2: use const pointers
Use const pointers to AVPacket and AVStream.

Signed-off-by: Roman Fietze <roman.fietze@telemotive.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-03 13:31:13 +02:00
Lukasz Marek
eaed4da96a lavu/opt: extend AVOptionRange by extra values
AVOptionRange is not flexible enough to store AV_OPT_TYPE_IMAGE_SIZE
ranges. Current implementation can only store pixel count.
This patch aims to keep backward compatibility and extend
AVOptionRange with possibility to store width/height ranges.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-04-03 13:28:13 +02:00
Roman Fietze
e12a73246d dict: const pointers to dictionary where possible
This avoids temporaries or ugly casting in the calling code where
const dictionaries are used. Esp. helpful when writing C++ wrappers
for an AVDictionary having const member functions and CTORs with const
references.

Signed-off-by: Roman Fietze <roman.fietze@telemotive.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-03 13:13:25 +02:00
Luca Barbato
006c253346 doc: Fit the graph in 80 cols
Some man pagers do not reflow the text/graphs on resize
and the graphs did not fit the traditional 80cols due
the pod2man excessive indent.
2014-04-03 11:49:30 +02:00
Michael Niedermayer
fd2bcfc4d6 avcodec/jpeglsdec: fix palette parsing code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-03 03:26:27 +02:00
Michael Niedermayer
a025815373 MAINTAINER: Add CC for dshow maintainer
Requested-by: Roger Pack
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-03 01:41:23 +02:00
Michael Niedermayer
8a0c16448c MAINTAINERS: add gdi maintainer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-03 01:41:08 +02:00
Calvin Walton
08909fb56b Add Win32 GDI-based screen grabbing
Based on original code by Christophe Gisquet in 2010, updated to work
with current ffmpeg APIs.

Supports grabbing a single window or an area of the screen, including
support for multiple monitors (Windows does funky stuff with negative
coordinates here).

I've moved most of the configuration to AVOptions; the input file name
is now only the string "desktop", or "title=<windowname>" to select a
single window. The AVOptions are the same as x11grab where possible.

Code has been added to support a "show_region" mode, like x11grab, which
will draw a rectangle on the screen around the area being captured.

Instead of duplicating code for paletted image handling, I make use of
the GDI API's ability to output DIB (BMP) images, which can be run
through ffmpeg's existing BMP decoder.

Signed-off-by: Calvin Walton <calvin.walton@kepstin.ca>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-03 00:41:45 +02:00
Michael Niedermayer
f359bac27c avformat/hlsenc: remove unneeded l prefix from %lf
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-03 00:27:53 +02:00
Senthilnathan M
96b8e7a9cd hlsenc: added floating point time support.
Necessary for HLS version 3 and above.  Fixes ticket #3505.

Signed-off-by: Senthilnathan M <senthil.codr@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-02 23:06:21 +02:00
Michael Niedermayer
4754d4b372 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Write aspect ratio when muxing gif.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-02 22:46:57 +02:00
Thilo Borgmann
4654774aaf lavd/qtkit: Support choosing the input device by index or by name.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-02 22:40:32 +02:00
James Almer
23d1c75efa lavc/kbdwin: add missing stdint.h include
Fixes make checkheaders

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-02 20:01:37 +02:00
Michael Niedermayer
37f69cd93e swscale: add full bgra64 support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-02 19:44:08 +02:00
Michael Niedermayer
cc8b45c0ce avformat/avidec: remove unused variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-02 19:04:58 +02:00
Michael Niedermayer
0652ffc69a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vf_settb: rename to settb

Conflicts:
	libavfilter/Makefile
	libavfilter/f_settb.c
	libavfilter/settb.c
	libavfilter/vf_settb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-02 18:25:15 +02:00
Michael Niedermayer
91a0d3af65 Merge commit '9d599e3f6e61438772d8cddd6c9b7c495251f51e'
* commit '9d599e3f6e61438772d8cddd6c9b7c495251f51e':
  avi: Improve non-interleaved detection

Conflicts:
	libavformat/avidec.c

See: 8df774be88 and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-02 18:03:02 +02:00
Michael Niedermayer
3428a9b8d5 Merge commit '0ca0924c10d9617a5793964bf79655424ef32b68'
* commit '0ca0924c10d9617a5793964bf79655424ef32b68':
  swscale: add endianness conversion for AV_PIX_FMT_BGRA64|RGBA64

Conflicts:
	libswscale/swscale_unscaled.c
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-02 17:46:19 +02:00
Katerina Barone-Adesi
b33c64e4c2 vf_settb: rename to settb
An audio version of settb (asettb) will be added to this file.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-04-02 12:14:10 +02:00
Michael Niedermayer
9d599e3f6e avi: Improve non-interleaved detection
Additional fixes by Nigel Touati-Evans <nigel.touatievans@gmail.com>.

Check the index for streams with a time drift of 2s or a buffer drift
of 64MB.

Bug-Id: 666
CC: libav-stable@libav.org
Sample-Id: yet-another-broken-interleaved-avi.avi

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>
2014-04-02 12:11:31 +02:00
Janne Grunau
0ca0924c10 swscale: add endianness conversion for AV_PIX_FMT_BGRA64|RGBA64 2014-04-02 11:39:26 +02:00
Carl Eugen Hoyos
45782a98b6 Write aspect ratio when muxing gif. 2014-04-02 09:49:30 +02:00
Clément Bœsch
cecb6d6f83 Changelog: remove unecessary "added" 2014-04-02 07:45:06 +02:00
Michael Niedermayer
c00f368caa avcodec/ac3dec: use av_freep() for saftey
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-02 04:38:16 +02:00
Michael Niedermayer
27f77a372b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vc1dec: fix a possible unitialized variable warning

Conflicts:
	libavcodec/vc1dec.c

No change as the variables where not uninitialized in ffmpeg
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-02 03:25:29 +02:00
Michael Niedermayer
61b3b3315c Merge commit 'f1c4a54f6ecbf77a29aaaee09ca70c5468d0c509'
* commit 'f1c4a54f6ecbf77a29aaaee09ca70c5468d0c509':
  lavf: add supported extension to avi and mov demuxers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-02 03:15:19 +02:00
Michael Niedermayer
45ba9d8545 Merge commit 'cba4e6062a02d5bf684e13a770be88aa1fec717e'
* commit 'cba4e6062a02d5bf684e13a770be88aa1fec717e':
  More correct printf format specifiers

Conflicts:
	libavcodec/h264_ps.c
	libavcodec/h264_refs.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-02 02:54:09 +02:00
Michael Niedermayer
119cf2a44b Merge commit '80035db88c1f7cc23110c7472a2b13a4d2d8b73e'
* commit '80035db88c1f7cc23110c7472a2b13a4d2d8b73e':
  lavu: add missing formats to av_pix_fmt_swap_endianness

Conflicts:
	libavutil/pixdesc.c

No change as our av_pix_fmt_swap_endianness() does not need formats to be listed individually

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-02 02:44:00 +02:00
Michael Niedermayer
e03f093318 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  mpeg12enc: always set closed gop flag on the first gop
  mpeg12enc: always write closed gops for intra only outputs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-02 00:32:34 +02:00
Vittorio Giovara
c611148340 vc1dec: fix a possible unitialized variable warning 2014-04-02 00:28:05 +02:00
Marc-Antoine Arnaud
f1c4a54f6e lavf: add supported extension to avi and mov demuxers 2014-04-02 00:27:53 +02:00
Diego Biurrun
cba4e6062a More correct printf format specifiers
This avoids compiler warnings about argument and specifier type mismatch.
2014-04-02 00:27:22 +02:00
Janne Grunau
80035db88c lavu: add missing formats to av_pix_fmt_swap_endianness 2014-04-02 00:27:22 +02:00
Michael Niedermayer
d063bb63cb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  VP3: K&R formatting cosmetics

Conflicts:
	libavcodec/vp3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-02 00:25:21 +02:00
Vittorio Giovara
d2264740e6 VP3: K&R formatting cosmetics 2014-04-01 23:47:25 +02:00
Michael Niedermayer
909757fabd Merge commit '66d04c068a30751750818dcfbb6555ab74eb3f6d'
* commit '66d04c068a30751750818dcfbb6555ab74eb3f6d':
  fate: Explicitly use gray16le in fate-sgi-gray16

Conflicts:
	tests/fate/image.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-01 21:00:26 +02:00
Marton Balint
a0cf87780d mpeg12enc: always set closed gop flag on the first gop
Improves compatibility with XDCAM HD formats. It has been set for a long time
in ffmbc.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-04-01 20:52:37 +02:00
Marton Balint
51c61e64cb mpeg12enc: always write closed gops for intra only outputs
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-04-01 20:52:09 +02:00
Michael Niedermayer
3b37f22861 avcodec/ac3dec_fixed: add missingAVprefix to CODEC_ID
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Nedeljko Babic <nbabic@mips.com>
2014-04-01 19:58:51 +02:00
Michael Niedermayer
91b105ce5b avcodec/ac3dec: avoid #if, use if() instead, its cleaner and shorter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Nedeljko Babic <nbabic@mips.com>
2014-04-01 19:58:47 +02:00
Michael Niedermayer
b219142921 avcodec/ac3: rename identifier used to select the fixed point variant
the CONFIG_ prefix is used by configure, using it for other things
is potentially confusing to the reader

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Nedeljko Babic <nbabic@mips.com>
2014-04-01 19:58:31 +02:00
Nedeljko Babic
696e34a6e1 libavcodec: Implementation of AC3 fixedpoint decoder
Signed-off-by: Nedeljko Babic <nbabic@mips.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-01 19:01:57 +02:00
Michael Niedermayer
d506deaeaa avutil/fixed_dsp: remove redundant cast
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-01 17:57:30 +02:00
Nedeljko Babic
284cfc7180 libavutil: Add fixed_dsp
Signed-off-by: Nedeljko Babic <nbabic@mips.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-01 17:36:33 +02:00
Michael Niedermayer
254f653b24 avcodec/jpeglsdec: add PAL8 support
Fixes Ticket3478

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-01 13:43:44 +02:00
Martin Storsjö
66d04c068a fate: Explicitly use gray16le in fate-sgi-gray16
This fixes the test on big endian.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-04-01 12:05:15 +03:00
Michael Niedermayer
879072018f avcodec/exr: use av_freep() for saftey
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-01 05:18:26 +02:00
Michael Niedermayer
9595f36700 Makefile: fix out of tree builds of .m files
should fix fate failures on darwin

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-01 05:12:39 +02:00
Michael Niedermayer
6537b89843 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: add SGI tests

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-01 04:52:20 +02:00
Michael Niedermayer
767b1daf4b Merge commit 'd613091f8858d87789916e2bd7a84ea3144077d4'
* commit 'd613091f8858d87789916e2bd7a84ea3144077d4':
  sgi: decode 16bit RLE images

Conflicts:
	Changelog

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-01 04:19:27 +02:00
Michael Niedermayer
4ebfcd62af Merge commit '6c1df1f2287401b6022773e382ebc3a3bfed0b38'
* commit '6c1df1f2287401b6022773e382ebc3a3bfed0b38':
  sgi: encode images with 4 channels at 8 and 16 bits

Conflicts:
	Changelog
	libavcodec/sgienc.c

See: 21a1006109
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-01 04:13:53 +02:00
Michael Niedermayer
23290c86bf Merge commit 'f8dea10d3f09376894613d0266c34d1a16ac735f'
* commit 'f8dea10d3f09376894613d0266c34d1a16ac735f':
  sgi: decode images with 4 channels at 8 and 16 bits

Conflicts:
	Changelog

See: 0b1f20e23c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-01 04:03:31 +02:00
Michael Niedermayer
5628b9f5fb Merge commit 'ab7c64624a1254d509b71c2a4945336567e93845'
* commit 'ab7c64624a1254d509b71c2a4945336567e93845':
  sgi: remove redundant argument from read_uncompressed_sgi()

Conflicts:
	libavcodec/sgidec.c

See: 0f65693529
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-01 03:55:45 +02:00
Michael Niedermayer
5b03caf949 Merge commit '6d9ccee4519f41155c88655c77bfb1ef085797fd'
* commit '6d9ccee4519f41155c88655c77bfb1ef085797fd':
  sgi: set the row boundary to the correct value

Conflicts:
	libavcodec/sgidec.c

See: 39c56ef921
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-01 03:51:52 +02:00
Michael Niedermayer
013aa222c6 Merge commit '0279d1d0946a854aa08919abd05b7f2da433823e'
* commit '0279d1d0946a854aa08919abd05b7f2da433823e':
  sgi: fix end of line boundary detection

See: 6fd7bf7b03
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-01 03:42:47 +02:00
Michael Niedermayer
b3fa78cea1 Merge commit 'e7cd53bf662a93330810981f1d057bdf2ead669e'
* commit 'e7cd53bf662a93330810981f1d057bdf2ead669e':
  sgi: check maximum supported resolution

Conflicts:
	libavcodec/sgienc.c

See: 59352cc219
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-01 03:37:27 +02:00
Michael Niedermayer
be4ae3f532 Merge commit 'a7dbfcf6cb6ab8a8981d74332fd02fb90360d22f'
* commit 'a7dbfcf6cb6ab8a8981d74332fd02fb90360d22f':
  sgi: K&R formatting cosmetics

Conflicts:
	libavcodec/sgidec.c
	libavcodec/sgienc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-01 03:29:29 +02:00
Michael Niedermayer
0054bbd664 Merge commit 'ca36aa9e6b8f2fed15478245ad533fc594a35c37'
* commit 'ca36aa9e6b8f2fed15478245ad533fc594a35c37':
  codec_desc: set lossless attribute for SGI and DPX

Conflicts:
	libavcodec/codec_desc.c

See: 5b802cf567
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-01 03:27:10 +02:00
Michael Niedermayer
42138f6357 Merge commit '06688e96fb9577bc7466a380bf7a14fa745208db'
* commit '06688e96fb9577bc7466a380bf7a14fa745208db':
  fate: add exr tests

Conflicts:
	tests/fate/image.mak

See: 87888c043d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-01 03:24:50 +02:00
Michael Niedermayer
95582b5ccc Merge commit '38389058c3308758c6365abd0f6b45c5e62bb90b'
* commit '38389058c3308758c6365abd0f6b45c5e62bb90b':
  OpenEXR decoder

Conflicts:
	Changelog
	configure
	libavcodec/Makefile
	libavcodec/avcodec.h
	libavcodec/exr.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-01 03:16:56 +02:00
Michael Niedermayer
9e3c8f61fe Merge commit '678e455f1dc09265464b13d936d9fda62bc2bf43'
* commit '678e455f1dc09265464b13d936d9fda62bc2bf43':
  dxva2: Directly use AVFrames

Conflicts:
	libavcodec/dxva2_h264.c

See: 29be9b5301
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-01 02:08:19 +02:00
Vittorio Giovara
55c6e59906 fate: add SGI tests 2014-04-01 01:19:04 +02:00
Vittorio Giovara
d613091f88 sgi: decode 16bit RLE images 2014-04-01 01:19:03 +02:00
Vittorio Giovara
6c1df1f228 sgi: encode images with 4 channels at 8 and 16 bits 2014-04-01 01:19:03 +02:00
Carl Eugen Hoyos
f8dea10d3f sgi: decode images with 4 channels at 8 and 16 bits 2014-04-01 01:19:03 +02:00
Paul B Mahol
ab7c64624a sgi: remove redundant argument from read_uncompressed_sgi() 2014-04-01 01:19:03 +02:00
Michael Niedermayer
6d9ccee451 sgi: set the row boundary to the correct value 2014-04-01 01:18:55 +02:00
Michael Niedermayer
d56c373391 avcodec/mjpegdec: fix cmyk 420 with adobe_transform == 2
Fixes Ticket3516

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-01 01:14:26 +02:00
Michael Niedermayer
0279d1d094 sgi: fix end of line boundary detection 2014-04-01 01:13:18 +02:00
Piotr Bandurski
e7cd53bf66 sgi: check maximum supported resolution
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-04-01 01:13:18 +02:00
Vittorio Giovara
a7dbfcf6cb sgi: K&R formatting cosmetics 2014-04-01 01:13:18 +02:00
Paul B Mahol
ca36aa9e6b codec_desc: set lossless attribute for SGI and DPX 2014-04-01 01:13:17 +02:00
Paul B Mahol
06688e96fb fate: add exr tests
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-04-01 01:13:17 +02:00
Jimmy Christensen
38389058c3 OpenEXR decoder
Additional fixes and enhancements by Vittorio Giovara, Gonzalo Garramuno,
Nicolas George, Paul B Mahol and Michael Niedermayer.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-04-01 01:13:09 +02:00
Michael Niedermayer
678e455f1d dxva2: Directly use AVFrames
The assumption of (MPEG) Picture and H264Picture layout matching might
not hold true in the future.

Signed-off-by: Hendrik Leppkes <h.leppkes@gmail.com>
2014-04-01 00:10:15 +02:00
Michael Niedermayer
1f361124d9 avformat/img2dec: zero probe buffer
Fixes use of uninitialized memory
Fixes valgrind failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-31 23:47:29 +02:00
rogerdpack
0cc8a62a78 dshow: fixup some COM objects, based on patches from Don Moir
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-31 23:11:35 +02:00
Thilo Borgmann
d5c0036d4a lavd/qtkit: Fix non-constant initializer element for some clang compilers.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-31 22:21:07 +02:00
Michael Niedermayer
9d013fe840 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mov: Unbreak sbtl writing

Conflicts:
	libavformat/movenc.c

See: 8a9d0a1561
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-31 22:08:11 +02:00
Michael Niedermayer
0f714abb49 Merge commit '654c7446a806c5dc8ec7800874c49a4c1ba2ce80'
* commit '654c7446a806c5dc8ec7800874c49a4c1ba2ce80':
  vc1dec: improve hwaccel #ifdefs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-31 22:04:25 +02:00
Michael Niedermayer
c43ebd94e4 Merge commit '33259118155764ce27a3433894659dda1d148b5f'
* commit '33259118155764ce27a3433894659dda1d148b5f':
  h263: improve hwaccel #ifdefs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-31 21:50:24 +02:00
Michael Niedermayer
4ea333d7de Merge commit 'c042cbc3a68d09a20cfd75fb4a4eff0534253081'
* commit 'c042cbc3a68d09a20cfd75fb4a4eff0534253081':
  libx265: Use the repeat headers flag when not using global headers

See: 1b28d9b357
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-31 21:49:02 +02:00
Michael Niedermayer
4a6dce9f9f Merge commit 'cd60631752cafe106b406f00966ac0323ad2ce1f'
* commit 'cd60631752cafe106b406f00966ac0323ad2ce1f':
  libx265: Bump version requirement

See: 32998ee957
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-31 20:26:48 +02:00
Michael Niedermayer
f94371b1db mov: Unbreak sbtl writing 2014-03-31 19:31:41 +02:00
Rémi Denis-Courmont
654c7446a8 vc1dec: improve hwaccel #ifdefs 2014-03-31 17:52:42 +02:00
Rémi Denis-Courmont
3325911815 h263: improve hwaccel #ifdefs 2014-03-31 17:52:38 +02:00
Michael Niedermayer
559c8b9ee9 avcodec/mjpegdec: support subsampled 420 CMYK
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-31 17:47:04 +02:00
Michael Niedermayer
798490812a avcodec/mjpegdec: upgrade upscale_v to support multiple planes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-31 17:47:04 +02:00
Michael Niedermayer
f9059ce794 avcodec/mjpegdec: upgrade upscale_h to support multiple planes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-31 17:47:04 +02:00
Marcus Gustafsson
c042cbc3a6 libx265: Use the repeat headers flag when not using global headers
This allows proper muxing and seeking in things like MPEG-TS, by
placing headers by random access points.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-03-31 16:24:05 +01:00
Derek Buitenhuis
cd60631752 libx265: Bump version requirement
Build 13 has a crucial fix which makes x265_encode_headers work
as its always been documented.

Previous to this, the check was incorrect.

Also allows for use of the repeat headers flag.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-03-31 16:24:05 +01:00
Marcus Gustafsson
1b28d9b357 libx265: Use the repeat headers flag when not using global headers
This allows proper muxing and seeking in things like MPEG-TS, by
placing headers by random access points.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-03-31 13:13:46 +01:00
Derek Buitenhuis
32998ee957 libx265: Bump version requirement
Build 13 has a crucial fix which makes x265_encode_headers work
as its always been documented.

Previous to this, the check was incorrect.

Also allows for use of the repeat headers flag.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-03-31 13:13:45 +01:00
Peter Ross
bf7d93e157 avcodec/adpcm: also squelch 'mismatch in coded sample count' warning for AV_CODEC_ID_ADPCM_EA_R1
AV_CODEC_ID_ADPCM_EA_R1/R2/R3 all use an internal offset. For some
samples there is padding between the offset table and ADPCM data.

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-31 13:18:19 +02:00
Thilo Borgmann
a9ccec5270 configure: Remove invalid option --disable-qtkit.
QTKit can/should be disabled by "--disable-indev=qtkit".

Found by Justin Derrick.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-31 13:14:39 +02:00
Michael Niedermayer
e818ee090a avfilter/vf_pullup: fix gray8
Fixes segfault
Fixes Ticket3469

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-31 03:22:20 +02:00
Michael Niedermayer
75621cdf5d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libmp3lame: add ABR support

Conflicts:
	libavcodec/libmp3lame.c
	libavcodec/version.h

See: d3211cfaed
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-31 02:23:26 +02:00
Michael Niedermayer
e4fc7e3d4d Merge commit '292dbe5e8a95d38c1324b0432fbaca67f8fe4b73'
* commit '292dbe5e8a95d38c1324b0432fbaca67f8fe4b73':
  libmp3lame: add comments about CBR/VBR modes

Conflicts:
	libavcodec/libmp3lame.c

See: 07e7bc9cbd
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-31 02:18:24 +02:00
Michael Niedermayer
801b94a782 Merge commit '729d821fd864a0568f4068e64d3a70faa23b9309'
* commit '729d821fd864a0568f4068e64d3a70faa23b9309':
  libmp3lame: allow joint stereo to be disabled

Conflicts:
	libavcodec/libmp3lame.c
	libavcodec/version.h

See: 1de11a7cab
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-31 02:16:41 +02:00
Michael Niedermayer
46ff8108f6 Merge commit '12789d96361ed8e9804bfbb9db31ea4110e75c58'
* commit '12789d96361ed8e9804bfbb9db31ea4110e75c58':
  mov: call mov_rewrite_dvd_sub_extradata() after parsing dimensions from tkhd

Conflicts:
	libavformat/isom.c

See: e21235f9b9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-31 02:10:01 +02:00
Michael Niedermayer
1ffbaa88c9 Merge commit 'fce28c3c6d603b7f42a5dbe36bf240d0470469c8'
* commit 'fce28c3c6d603b7f42a5dbe36bf240d0470469c8':
  mov: fill in subtitle dimensions after parsing tkhd

See: 8ba432bc56
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-31 01:58:14 +02:00
Michael Niedermayer
20bc5924a0 Merge commit '96138e8c8da4b9397e627c934a33c22988d1192b'
* commit '96138e8c8da4b9397e627c934a33c22988d1192b':
  isom: only write the size if its non zero in mov_rewrite_dvd_sub_extradata()

Conflicts:
	libavformat/isom.c

See: b6ad5893ce
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-31 01:55:12 +02:00
Michael Niedermayer
36d37edf01 Merge commit '9bd4a9f4eec8c8843b54126253bb9d77af95bbb3'
* commit '9bd4a9f4eec8c8843b54126253bb9d77af95bbb3':
  isom: Simplify mov_rewrite_dvd_sub_extradata()

Conflicts:
	libavformat/isom.c

See: f6f3c85c0e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-31 01:44:13 +02:00
Michael Niedermayer
8e8276e0bc Merge commit '3e4e2142d246699a1a3a0045ba7124b18bc34d7a'
* commit '3e4e2142d246699a1a3a0045ba7124b18bc34d7a':
  fate: Convert the paletted output in the brenderpix tests to rgb24

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-31 01:32:02 +02:00
Timothy Gu
09fda6bb50 libmp3lame: add ABR support 2014-03-31 01:11:16 +02:00
Timothy Gu
292dbe5e8a libmp3lame: add comments about CBR/VBR modes 2014-03-31 01:11:16 +02:00
Paul B Mahol
729d821fd8 libmp3lame: allow joint stereo to be disabled 2014-03-31 01:11:16 +02:00
Michael Niedermayer
12789d9636 mov: call mov_rewrite_dvd_sub_extradata() after parsing dimensions from tkhd
This also moves mov_rewrite_dvd_sub_extradata() to mov.c.

Sample-Id: NeroRecodeSample.mp4
2014-03-31 01:08:23 +02:00
Michael Niedermayer
fce28c3c6d mov: fill in subtitle dimensions after parsing tkhd
Sample-Id: NeroRecodeSample.mp4
2014-03-31 01:08:18 +02:00
Michael Niedermayer
96138e8c8d isom: only write the size if its non zero in mov_rewrite_dvd_sub_extradata()
Sample-Id: NeroRecodeSample.mp4
2014-03-31 01:08:12 +02:00
Michael Niedermayer
9bd4a9f4ee isom: Simplify mov_rewrite_dvd_sub_extradata()
This avoids the 2nd buffer and fixes the palette truncated check
2014-03-31 01:05:11 +02:00
Martin Storsjö
3e4e2142d2 fate: Convert the paletted output in the brenderpix tests to rgb24
This makes the output consistent on big-endian systems.
2014-03-31 01:04:05 +02:00
Matt Oliver
0f2588d7e5 Use intel compliant CDQ instead of CLTD in inline asm.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-30 23:14:36 +02:00
Thilo Borgmann
6d9bdd9d8b doc/indevs: Fix example for QTKit usage.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-30 21:29:25 +02:00
Michael Niedermayer
9c77e57393 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: make the ASCII flow charts narrower to fit onto TTY

Conflicts:
	doc/ffmpeg.texi

See: 8fe1076094
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-30 21:20:58 +02:00
Michael Niedermayer
f22d9b1e0b Merge commit '68e95ab81be1aa3f47ab148dceb8711ef5f4212d'
* commit '68e95ab81be1aa3f47ab148dceb8711ef5f4212d':
  dnxhdenc: return meaningful return codes

Conflicts:
	libavcodec/dnxhdenc.c

See: b9bedb0b28
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-30 21:11:01 +02:00
Michael Niedermayer
ce0ec108cd Merge commit '9e4e35b4d7c43a908944183a58aa389a23116fd6'
* commit '9e4e35b4d7c43a908944183a58aa389a23116fd6':
  avconv_opt: fix avio_open2() return code check

See: 774239be71
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-30 21:00:14 +02:00
Vadim Kalinsky
234f0bcb0c lavd: Add QTKit input device.
Signed-off-by: Thilo Borgmann <thilo.borgmann@mail.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-30 20:45:07 +02:00
Timothy Gu
3a5a965493 avconv: make the ASCII flow charts narrower to fit onto TTY
These charts in man page are currently destroyed.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-03-30 18:02:14 +02:00
Peter Ross
92d657b5f1 avformat/wtvenc: advise user when H264 startcode is not present
Fixes ticket #3473.

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-30 16:36:47 +02:00
Peter Ross
e61973db6c avformat/mpegtsenc: move startcode validity check to ff_check_h264_startcode
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-30 16:36:22 +02:00
Michael Niedermayer
7aa3979b8c avformat/avio: also set generic URL context options
This should have no effect currently as there are no such options yet.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-30 15:00:03 +02:00
Michael Niedermayer
d9a3501c33 avutil/opt: dont crash on av_opt_set_dict() with NULL
This allows calling the function without the need to check if the
dictionary contains any entries

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-30 15:00:03 +02:00
Timothy Gu
68e95ab81b dnxhdenc: return meaningful return codes 2014-03-30 14:55:09 +02:00
Timothy Gu
9e4e35b4d7 avconv_opt: fix avio_open2() return code check
avio_open2() only return < 0 when error.
2014-03-30 14:55:08 +02:00
Peter Ross
31ac3f306c avformat/wtvenc: pad judiciously when writing mpeg2 extradata
Padding rule described here http://msdn.microsoft.com/en-us/library/windows/desktop/dd390707(v=vs.85).aspx

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-30 06:22:54 +02:00
Peter Ross
73a2d16bfa avformat/wtvdec: demux mpeg2 extradata
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-30 06:22:50 +02:00
Michael Niedermayer
c01ddf845d avformat/replaygain: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-30 03:23:13 +02:00
Michael Niedermayer
30e159366e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  golomb: Fix the implementation of get_se_golomb_long

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-30 03:03:28 +02:00
Michael Niedermayer
ae3313e154 Merge commit '53c20f17c78d1d8a0fc2505868f201e69ff59cc5'
* commit '53c20f17c78d1d8a0fc2505868f201e69ff59cc5':
  vp8: K&R formatting cosmetics

Conflicts:
	libavcodec/vp8.c
	libavcodec/vp8.h
	libavcodec/vp8data.h
	libavcodec/vp8dsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-30 01:55:31 +01:00
Martin Storsjö
508a84e672 golomb: Fix the implementation of get_se_golomb_long
This was only used in hevc muxing code so far.

This makes the return values match what get_se_golomb returns for
the same bitstream reader instances.

The logic for producing a signed golomb code out of an unsigned one
was based on the corresponding code in get_se_golomb, which operated
directly on the bitstream reader buffer - not on the equivalent
return value from get_ue_golomb.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-30 00:28:27 +02:00
Clément Bœsch
af3b6aed0d avcodec/vp9dsp: fix typo in mc doxy. 2014-03-29 18:13:15 +01:00
Clément Bœsch
c4148a6668 x86/vp9mc: add vp9 namespace. 2014-03-29 18:13:15 +01:00
Michael Niedermayer
bcd5fd5346 Merge commit 'lukaszmluki/master^'
* commit 'lukaszmluki/master^':
  lavd/pulse_audio_enc: implement get_device_list callback
  lavd/pulse_audio_dec: implement get_device_list callback
  lavd/pulse_audio_common: add device detecting code
  lavu/mem: add av_dynarray_add_nofree function
  lavd/pulse_audio_enc: implement write_uncoded_frame callback
  tools/uncoded_frame: fix audio codec generation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-29 17:07:26 +01:00
Vittorio Giovara
53c20f17c7 vp8: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-03-29 16:11:09 +01:00
Michael Niedermayer
8a9d0a1561 avformat/movenc: fix if vs if else
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-29 15:38:20 +01:00
Michael Niedermayer
b8f5b0713e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: Add dvd subtitle support

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-29 15:04:56 +01:00
Michael Niedermayer
d840266633 Merge commit '85698be461c07be10d873dd34348bcfe9ffc56e0'
* commit '85698be461c07be10d873dd34348bcfe9ffc56e0':
  cmdutils: Mark exit_program as av_noreturn

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-29 14:33:39 +01:00
Lukasz Marek
3937b40e87 lavd/pulse_audio_enc: implement get_device_list callback
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-03-29 09:54:16 +01:00
Lukasz Marek
255cf03af8 lavd/pulse_audio_dec: implement get_device_list callback
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-03-29 09:54:09 +01:00
Lukasz Marek
85ed32d2ed lavd/pulse_audio_common: add device detecting code
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-03-29 09:48:56 +01:00
Lukasz Marek
cd50a44beb lavu/mem: add av_dynarray_add_nofree function
av_dynarray_add_nofree function have similar functionality
as existing av_dynarray_add, but it doesn't deallocate memory
on fails.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-03-29 09:48:48 +01:00
Lukasz Marek
27256e69ab lavd/pulse_audio_enc: implement write_uncoded_frame callback
Provided implementation doesn't support planar formats yet.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-03-29 09:26:10 +01:00
Lukasz Marek
fd786bad63 tools/uncoded_frame: fix audio codec generation
Codec id is guessed from uninitialized sample format.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-03-29 09:25:14 +01:00
Michael Niedermayer
46f72ea507 avcodec/vp7: check buffer size
Fixes overread
Fixes Ticket 3501
Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-29 04:27:00 +01:00
Michael Niedermayer
067ada04d1 avcodec/xbmdec: redesign parser to handle more cases
The new code is more tolerant on the syntax

Fixes decoding of bm1.xbm

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-29 03:50:25 +01:00
Michael Niedermayer
657cee1aef avformat/img2_alias_pix: rewrite probe function
Fixes probetest failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-29 00:38:51 +01:00
Michael Niedermayer
2cffdcbdd7 avformat/img2dec: try to read PROBE_BUF_MIN instead of just enough for .pix probing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-29 00:38:51 +01:00
Michael Niedermayer
1c13e1ef36 avformat/img2dec: Use avformat probing interface to identify format if it has not been otherwise identified
This is used only for distinguishing .pix formats for now.
Which is the only case that has image2 demuxers currently

Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 23:54:51 +01:00
Michael Niedermayer
075d6c066b avformat: add image2 brender pix demuxer
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 23:54:51 +01:00
Michael Niedermayer
13bcb4de33 avformat: add image2 alias pix demuxer
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 23:54:51 +01:00
Michael Niedermayer
067a9cf81a avformat/img2dec: make image2dec capable to be used from seperate demuxers
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 23:54:51 +01:00
Michael Niedermayer
de96e20be9 avfilter/lavfutils: call av_find_stream_info() before reading various information about the stream
No testcase with unmodified source is known

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 17:29:26 +01:00
Michael Niedermayer
2b4543ff69 cmdutils/filter_codec_opts: do not discard all options for CODEC_ID_NONE
This fixes cases where the codec is detect later than the stream creation
No testcase with unmodified source known

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 17:29:26 +01:00
John Stebbins
6adf3bc42e movenc: Add dvd subtitle support
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-03-28 17:15:30 +01:00
Michael Niedermayer
92005c2636 fate/aliaspix: Use standard test sample
This also uses samples with odd resolution which should provide better coverage

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 12:55:54 +01:00
Michael Niedermayer
e1d1001703 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: add a bmpparser test

Conflicts:
	tests/fate/image.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 12:03:23 +01:00
Michael Niedermayer
a696b0917d Merge commit 'fb5cf145b6bcfa4f83af94398e5560c1132cc410'
* commit 'fb5cf145b6bcfa4f83af94398e5560c1132cc410':
  bmp: add a standalone parser

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

See: 011ce89dba and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 11:00:27 +01:00
Michael Niedermayer
2b570c9569 Merge commit '991362fab49b60d34d89b7b7d6dd00fbec3ce022'
* commit '991362fab49b60d34d89b7b7d6dd00fbec3ce022':
  fate: add XBM tests

Conflicts:
	tests/fate/image.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 05:50:38 +01:00
Michael Niedermayer
1da1866767 avcodec/xbmdec: support X10 format
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 05:34:25 +01:00
Michael Niedermayer
4618084a5c avcodec/xbmdec: merge ptr increase into dereference
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 05:33:13 +01:00
Michael Niedermayer
296e63efa5 Merge commit '678082b409aca711f9cf991df6b0200116489322'
* commit '678082b409aca711f9cf991df6b0200116489322':
  X-Bitmap decoder

Conflicts:
	Changelog
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/version.h
	libavcodec/xbmdec.c

See: a0340dfbd7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 05:26:24 +01:00
Michael Niedermayer
6bd05ed8bb Merge commit '792e4c21f212979f0e29bcdf107cb6b4f51645a4'
* commit '792e4c21f212979f0e29bcdf107cb6b4f51645a4':
  xbm: use av_frame_free on close

Conflicts:
	libavcodec/xbmenc.c

No change as the buggy code is not part of FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 04:45:24 +01:00
Michael Niedermayer
8a8472dd49 Merge commit 'a7a5e3850ecd94e726ad2272295b9e6c91841cf8'
* commit 'a7a5e3850ecd94e726ad2272295b9e6c91841cf8':
  fate: add PAF audio and video tests

Conflicts:
	tests/fate/audio.mak
	tests/fate/video.mak

See: 101615c7ff
See: 409cc45883
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 04:44:25 +01:00
Michael Niedermayer
16ddc58bd7 Merge commit '70daeacd6ef8b354dd7d2d77ad393831a5bbf033'
* commit '70daeacd6ef8b354dd7d2d77ad393831a5bbf033':
  PAF demuxer and decoder

Conflicts:
	Changelog
	doc/general.texi
	libavcodec/avcodec.h
	libavcodec/codec_desc.c
	libavcodec/paf.c
	libavcodec/version.h
	libavformat/Makefile
	libavformat/allformats.c
	libavformat/paf.c
	libavformat/version.h

See: 7de4a16508, and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 04:32:05 +01:00
Michael Niedermayer
03e4c2d833 Merge commit 'd37c96213a2a9e1fd8669122d5405f4ce6a99ed8'
* commit 'd37c96213a2a9e1fd8669122d5405f4ce6a99ed8':
  lavc: restore copy_block{4,16} functions

Conflicts:
	libavcodec/copy_block.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 03:26:43 +01:00
Luca Barbato
85698be461 cmdutils: Mark exit_program as av_noreturn 2014-03-28 00:40:43 +01:00
rogerdpack
773eb74bab dshow: show device name when outputting buffer overflow log message
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 00:22:55 +01:00
Vittorio Giovara
e8e560f2a2 fate: add a bmpparser test 2014-03-28 00:08:24 +01:00
Paul B Mahol
fb5cf145b6 bmp: add a standalone parser
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-03-28 00:08:24 +01:00
Michael Niedermayer
64b79141bd avcodec/libx264: move where x264opts is applied down so it isnt overridden by avctx & defaults
fixes x264opts opengop=1

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 00:05:33 +01:00
Vittorio Giovara
991362fab4 fate: add XBM tests 2014-03-27 23:59:13 +01:00
Vittorio Giovara
678082b409 X-Bitmap decoder 2014-03-27 23:59:13 +01:00
Vittorio Giovara
792e4c21f2 xbm: use av_frame_free on close 2014-03-27 23:57:51 +01:00
Paul B Mahol
a7a5e3850e fate: add PAF audio and video tests
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-03-27 23:34:47 +01:00
Paul B Mahol
70daeacd6e PAF demuxer and decoder
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-03-27 23:34:47 +01:00
Vittorio Giovara
d37c96213a lavc: restore copy_block{4,16} functions
They were removed in 9e31729d69.
2014-03-27 23:25:39 +01:00
Timothy Gu
9d34dce05b x86: convert DNxHDenc inline asm to yasm
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-27 23:16:17 +01:00
Timothy Gu
cb11b9e89e dnxhdenc: make get_pixel_8x4_sym accept ptrdiff_t as stride
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-27 23:09:10 +01:00
Michael Niedermayer
72bff8da47 avcodec: Make ff_print_debug_info2() independant of Picture struct
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-27 22:43:05 +01:00
Michael Niedermayer
a4f27a3f57 avcodec/brenderpix: propagate error codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-27 22:07:49 +01:00
Michael Niedermayer
8506423318 avcodec/brenderpix: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-27 22:06:59 +01:00
Michael Niedermayer
09ebd87a34 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: add BRender PIX tests

Conflicts:
	tests/fate/image.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-27 21:33:41 +01:00
Michael Niedermayer
f392949f1a Merge commit 'ae17878fb2ab100264226c84c58f5b95a703312f'
* commit 'ae17878fb2ab100264226c84c58f5b95a703312f':
  BRender PIX image decoder

Conflicts:
	doc/general.texi
	libavcodec/Makefile
	libavcodec/version.h

See: 492a5f835c, and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-27 21:09:17 +01:00
Michael Niedermayer
68014c6ed9 Merge commit 'c3a0b3eb64be441ca897629e8ecd80d5b51fded7'
* commit 'c3a0b3eb64be441ca897629e8ecd80d5b51fded7':
  arm: build: Maintain decoder objects separate from infrastructure objects

Conflicts:
	libavcodec/arm/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-27 20:10:51 +01:00
Vittorio Giovara
bb36b9aa7e fate: add BRender PIX tests 2014-03-27 18:27:23 +01:00
Aleksi Nurmi
ae17878fb2 BRender PIX image decoder
Further enhancements by Vittorio Giovara and Paul B Mahol.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-03-27 18:27:23 +01:00
Diego Biurrun
c3a0b3eb64 arm: build: Maintain decoder objects separate from infrastructure objects 2014-03-27 03:00:05 -07:00
Michael Niedermayer
57e939d963 avcodec/vp7: Fix null pointer dereference in vp7_decode_frame_header()
This simply copies the "interframe without a prior keyframe" check
thats done later into vp7_decode_frame_header()

Found-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-27 05:02:18 +01:00
Michael Niedermayer
d5c9843cd2 configure: fix VP7 standalone build
Found-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-27 04:23:59 +01:00
Andreas Cadhalpun
d473f2d18a Fix spelling errors in texi files: more informations --> more information allows to --> allows one to
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-27 03:58:56 +01:00
Andreas Cadhalpun
cf3bfc970c Fix texinfo error due to wrong @subsubsection
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-27 03:58:29 +01:00
Michael Niedermayer
62094e2fdd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: add Alias PIX tests

Conflicts:
	tests/fate/image.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-27 01:59:32 +01:00
Michael Niedermayer
12ab07be44 Merge commit 'e50f5d3cf9ef9a16982a5cb4d8b1916cd963aa5b'
* commit 'e50f5d3cf9ef9a16982a5cb4d8b1916cd963aa5b':
  Alias PIX image encoder and decoder

Conflicts:
	Changelog
	libavcodec/allcodecs.c
	libavcodec/version.h
	libavformat/img2enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-27 01:10:28 +01:00
Michael Niedermayer
61b5ef7754 libavformat/aviobuf: keep track of the original buffer-size and restore it after probe/ensure-seekback
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 23:58:48 +01:00
Michael Niedermayer
0d4a66ee7f avformat/aviobuf: ffio_ensure_seekback: only copy the initialized part of the buffer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 23:52:38 +01:00
Vittorio Giovara
9718c31ef6 fate: add Alias PIX tests 2014-03-26 23:25:02 +01:00
Vittorio Giovara
e50f5d3cf9 Alias PIX image encoder and decoder 2014-03-26 23:25:02 +01:00
Michael Niedermayer
50b68e323c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  truehd: add hand-scheduled ARM asm version of ff_mlp_pack_output.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 21:23:09 +01:00
Michael Niedermayer
fc64e128f0 Merge commit 'b9eb03416d93a5c4ece27ffef5e6e11c81bec6fa'
* commit 'b9eb03416d93a5c4ece27ffef5e6e11c81bec6fa':
  truehd: break out part of output_data into platform-specific callback.

Conflicts:
	libavcodec/mlpdec.c

See: b01a2562ae
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 21:00:27 +01:00
Michael Niedermayer
179cf14832 Merge commit 'fcf5fc444522d24caa9907225802817ae788f511'
* commit 'fcf5fc444522d24caa9907225802817ae788f511':
  truehd: tune VLC decoding for ARM.

Conflicts:
	libavcodec/mlpdec.c

See: e555e1bc39
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 20:58:03 +01:00
Ben Avison
b01a2562ae truehd: break out part of output_data into platform-specific callback.
Verified with profiling that this doesn't have a measurable effect upon
overall performance.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 20:56:38 +01:00
Michael Niedermayer
44dc373d4a Merge commit '483321fe789566dcb27b6387c00ea16dd86bc587'
* commit '483321fe789566dcb27b6387c00ea16dd86bc587':
  truehd: add hand-scheduled ARM asm version of ff_mlp_rematrix_channel.

See: 89135716fd
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 20:50:43 +01:00
Ben Avison
89135716fd truehd: add hand-scheduled ARM asm version of ff_mlp_rematrix_channel.
Profiling results for overall audio decode and the rematrix_channels function
in particular are as follows:

              Before          After
              Mean   StdDev   Mean   StdDev  Confidence  Change
6:2 total     370.8  17.0     348.8  20.1    99.9%       +6.3%
6:2 function  46.4   8.4      45.8   6.6     18.0%       +1.2%  (insignificant)
8:2 total     343.2  19.0     339.1  15.4    54.7%       +1.2%  (insignificant)
8:2 function  38.9   3.9      40.2   6.9     52.4%       -3.2%  (insignificant)
6:6 total     658.4  15.7     604.6  20.8    100.0%      +8.9%
6:6 function  109.0  8.7      59.5   5.4     100.0%      +83.3%
8:8 total     896.2  24.5     766.4  17.6    100.0%      +16.9%
8:8 function  223.4  12.8     93.8   5.0     100.0%      +138.3%

The assembly version has also been tested with a fuzz tester to ensure that
any combinations of inputs not exercised by my available test streams still
generate mathematically identical results to the C version.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 20:50:05 +01:00
Michael Niedermayer
80e67feda8 Merge commit '4e5aa080bb8d83cb6de1ffbdd7b37ec34bc6b30b'
* commit '4e5aa080bb8d83cb6de1ffbdd7b37ec34bc6b30b':
  truehd: break out part of rematrix_channels into platform-specific callback.

See: 3f4e73afe9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 20:42:49 +01:00
Ben Avison
3f4e73afe9 truehd: break out part of rematrix_channels into platform-specific callback.
Verified with profiling that this doesn't have a measurable effect upon
overall performance.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 20:41:48 +01:00
Michael Niedermayer
f38af0143c Merge commit '15a29c39d9ef15b0783c04b3228e1c55f6701ee3'
* commit '15a29c39d9ef15b0783c04b3228e1c55f6701ee3':
  truehd: add hand-scheduled ARM asm version of mlp_filter_channel.

Conflicts:
	libavcodec/arm/Makefile
	libavcodec/arm/mlpdsp_init_arm.c

See: 87b128d5ef
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 20:39:10 +01:00
Ben Avison
87b128d5ef truehd: add hand-scheduled ARM asm version of mlp_filter_channel.
Profiling results for overall audio decode and the mlp_filter_channel(_arm)
function in particular are as follows:

              Before          After
              Mean   StdDev   Mean   StdDev  Confidence  Change
6:2 total     380.4  22.0     370.8  17.0    87.4%       +2.6%  (insignificant)
6:2 function  60.7   7.2      36.6   8.1     100.0%      +65.8%
8:2 total     357.0  17.5     343.2  19.0    97.8%       +4.0%  (insignificant)
8:2 function  60.3   8.8      37.3   3.8     100.0%      +61.8%
6:6 total     717.2  23.2     658.4  15.7    100.0%      +8.9%
6:6 function  140.4  12.9     81.5   9.2     100.0%      +72.4%
8:8 total     981.9  16.2     896.2  24.5    100.0%      +9.6%
8:8 function  193.4  15.0     103.3  11.5    100.0%      +87.2%

Experiments with adding preload instructions to this function yielded no
useful benefit, so these have not been included.

The assembly version has also been tested with a fuzz tester to ensure that
any combinations of inputs not exercised by my available test streams still
generate mathematically identical results to the C version.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 20:22:18 +01:00
Michael Niedermayer
3017239d3a avfilter/vf_pullup: add comment to explain memset(0)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 20:05:57 +01:00
Ben Avison
3b5946bcce truehd: add hand-scheduled ARM asm version of ff_mlp_pack_output.
Profiling results for overall decode and the output_data function in
particular are as follows:

              Before          After
              Mean   StdDev   Mean   StdDev  Confidence  Change
6:2 total     339.6  15.1     329.3  16.0    95.8%       +3.1%  (insignificant)
6:2 function  24.6   6.0      9.9    3.1     100.0%      +148.5%
8:2 total     324.5  15.5     323.6  14.3    15.2%       +0.3%  (insignificant)
8:2 function  20.4   3.9      9.9    3.4     100.0%      +104.7%
6:6 total     572.8  20.6     539.9  24.2    100.0%      +6.1%
6:6 function  54.5   5.6      16.0   3.8     100.0%      +240.9%
8:8 total     741.5  21.2     702.5  18.5    100.0%      +5.6%
8:8 function  63.9   7.6      18.4   4.8     100.0%      +247.3%

The assembly version has also been tested with a fuzz tester to ensure that
any combinations of inputs not exercised by my available test streams still
generate mathematically identical results to the C version.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-26 19:54:32 +02:00
Ben Avison
b9eb03416d truehd: break out part of output_data into platform-specific callback.
Verified with profiling that this doesn't have a measurable effect upon
overall performance.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-26 19:54:29 +02:00
Ben Avison
fcf5fc4445 truehd: tune VLC decoding for ARM.
Profiling on a Raspberry Pi revealed the best performance to correspond
with VLC_BITS = 5. Results for overall audio decode and the get_vlc2 function
in particular are as follows:

              Before          After
              Mean   StdDev   Mean   StdDev  Confidence  Change
6:2 total     348.8  20.1     339.6  15.1    88.8%       +2.7%  (insignificant)
6:2 function  38.1   8.1      26.4   4.1     100.0%      +44.5%
8:2 total     339.1  15.4     324.5  15.5    99.4%       +4.5%
8:2 function  33.8   7.0      27.3   5.6     99.7%       +23.6%
6:6 total     604.6  20.8     572.8  20.6    100.0%      +5.6%
6:6 function  95.8   8.4      68.9   8.2     100.0%      +39.1%
8:8 total     766.4  17.6     741.5  21.2    100.0%      +3.4%
8:8 function  106.0  11.4     86.1   9.9     100.0%      +23.1%

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-26 19:54:12 +02:00
Ben Avison
483321fe78 truehd: add hand-scheduled ARM asm version of ff_mlp_rematrix_channel.
Profiling results for overall audio decode and the rematrix_channels function
in particular are as follows:

              Before          After
              Mean   StdDev   Mean   StdDev  Confidence  Change
6:2 total     370.8  17.0     348.8  20.1    99.9%       +6.3%
6:2 function  46.4   8.4      45.8   6.6     18.0%       +1.2%  (insignificant)
8:2 total     343.2  19.0     339.1  15.4    54.7%       +1.2%  (insignificant)
8:2 function  38.9   3.9      40.2   6.9     52.4%       -3.2%  (insignificant)
6:6 total     658.4  15.7     604.6  20.8    100.0%      +8.9%
6:6 function  109.0  8.7      59.5   5.4     100.0%      +83.3%
8:8 total     896.2  24.5     766.4  17.6    100.0%      +16.9%
8:8 function  223.4  12.8     93.8   5.0     100.0%      +138.3%

The assembly version has also been tested with a fuzz tester to ensure that
any combinations of inputs not exercised by my available test streams still
generate mathematically identical results to the C version.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-26 19:54:10 +02:00
Ben Avison
4e5aa080bb truehd: break out part of rematrix_channels into platform-specific callback.
Verified with profiling that this doesn't have a measurable effect upon
overall performance.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-26 19:54:05 +02:00
Ben Avison
15a29c39d9 truehd: add hand-scheduled ARM asm version of mlp_filter_channel.
Profiling results for overall audio decode and the mlp_filter_channel(_arm)
function in particular are as follows:

              Before          After
              Mean   StdDev   Mean   StdDev  Confidence  Change
6:2 total     380.4  22.0     370.8  17.0    87.4%       +2.6%  (insignificant)
6:2 function  60.7   7.2      36.6   8.1     100.0%      +65.8%
8:2 total     357.0  17.5     343.2  19.0    97.8%       +4.0%  (insignificant)
8:2 function  60.3   8.8      37.3   3.8     100.0%      +61.8%
6:6 total     717.2  23.2     658.4  15.7    100.0%      +8.9%
6:6 function  140.4  12.9     81.5   9.2     100.0%      +72.4%
8:8 total     981.9  16.2     896.2  24.5    100.0%      +9.6%
8:8 function  193.4  15.0     103.3  11.5    100.0%      +87.2%

Experiments with adding preload instructions to this function yielded no
useful benefit, so these have not been included.

The assembly version has also been tested with a fuzz tester to ensure that
any combinations of inputs not exercised by my available test streams still
generate mathematically identical results to the C version.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-26 19:53:52 +02:00
Michael Niedermayer
a44409e692 avfilter/vf_pullup: zero freed memory for saftey
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 18:37:15 +01:00
wm4
5b0ce5d4e3 vf_pullup: simplify, fix double free error
The memory allocation for f->diffs was freed multiple times in some
corner cases. Simplify the code so that this doesn't happen.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 18:27:25 +01:00
Michael Niedermayer
54e2e9fbc1 avutil/frame: undeprecate AVFrame.motion_val API
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 18:22:49 +01:00
Michael Niedermayer
289b149cec avcodec/h264_mp4toannexb_bsf: prepend global headers before any in stream parameter sets
Fixes h264_mp4toannexb_bsf_failure.mkv

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 18:09:23 +01:00
Michael Niedermayer
4998a72b49 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: hpeldsp: Keep all rnd_template instantiations in hpeldsp_init

Conflicts:
	libavcodec/x86/rnd_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 16:55:46 +01:00
Michael Niedermayer
b7f0d39d26 Merge commit '55d7f26e7bcf1dfb69ee986aa9fc21c62e0b3ae6'
* commit '55d7f26e7bcf1dfb69ee986aa9fc21c62e0b3ae6':
  hpeldsp_template: Move content to hpeldsp

Conflicts:
	libavcodec/hpeldsp_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 15:53:33 +01:00
Michael Niedermayer
a49bdcdee5 Merge commit '09d4389de10b03ea65a84eaf3d6c4b7a7538ad75'
* commit '09d4389de10b03ea65a84eaf3d6c4b7a7538ad75':
  hpeldsp_template: Drop av_unused attribute from *_no_rnd_pixels16_8_c functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 15:41:02 +01:00
Michael Niedermayer
2d15e0c01d Merge commit '92ba965103d3884609730ba9bf293772dc78a9ef'
* commit '92ba965103d3884609730ba9bf293772dc78a9ef':
  dsputil: Move draw_edges and clear_block* out of dsputil_template

Conflicts:
	libavcodec/dsputil.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 15:36:27 +01:00
Michael Niedermayer
b4f64c58fc Merge commit 'da5be235250a61d6994408b054e3e3acf2e0f90f'
* commit 'da5be235250a61d6994408b054e3e3acf2e0f90f':
  dsputil: Move RV40-specific bits into rv40dsp

Conflicts:
	libavcodec/dsputil.c
	libavcodec/rv40dsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 15:24:50 +01:00
Michael Niedermayer
6967cf3c6c Merge commit '8011ac911b3f282b9fb64a0fc15404f8bfc7b7ed'
* commit '8011ac911b3f282b9fb64a0fc15404f8bfc7b7ed':
  hpeldsp_template: Detemplatize the code

Conflicts:
	libavcodec/hpeldsp_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 15:08:46 +01:00
Michael Niedermayer
e9c6b93bda Merge commit '2c01ad8b206d326700974438f7193f22be416eb1'
* commit '2c01ad8b206d326700974438f7193f22be416eb1':
  dsputil_template: Detemplatize the code

Conflicts:
	libavcodec/dsputil.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 14:59:50 +01:00
Michael Niedermayer
0371eaebcd Merge commit 'aba70bb5387f12dfa5e6cd8cb861c9c7e668151f'
* commit 'aba70bb5387f12dfa5e6cd8cb861c9c7e668151f':
  Add missing headers to make template files compile (more) standalone

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 14:50:55 +01:00
Michael Niedermayer
3262069101 Merge commit 'e7373585f827d4ec05d952daa3877e8decfe3c08'
* commit 'e7373585f827d4ec05d952daa3877e8decfe3c08':
  dsputil_template: Move bits that are used templatized into separate file

Conflicts:
	libavcodec/dsputil_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 14:40:49 +01:00
Michael Niedermayer
152c8fd856 Merge commit 'd3c3c1664a958923f234283e66fbcbfe69a6927f'
* commit 'd3c3c1664a958923f234283e66fbcbfe69a6927f':
  dsputil: Move hpel_template #include out of dsputil_template

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 14:32:24 +01:00
Michael Niedermayer
8e8347b892 Merge commit 'd0aabeab23755ee906440505ad2097c0f1493e80'
* commit 'd0aabeab23755ee906440505ad2097c0f1493e80':
  x86: h264_qpel: Fix typo in CALL_2X_PIXELS macro invocation

See: c8246d3766
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 14:17:43 +01:00
Diego Biurrun
efc7290eb6 x86: hpeldsp: Keep all rnd_template instantiations in hpeldsp_init
There is no point in having a separate file just for the instantiation
that provides the public functions.
2014-03-26 04:31:27 -07:00
Diego Biurrun
55d7f26e7b hpeldsp_template: Move content to hpeldsp
There is no point in having this separate; it is not used as a template.
2014-03-26 04:31:27 -07:00
Diego Biurrun
09d4389de1 hpeldsp_template: Drop av_unused attribute from *_no_rnd_pixels16_8_c functions 2014-03-26 04:31:27 -07:00
Diego Biurrun
92ba965103 dsputil: Move draw_edges and clear_block* out of dsputil_template
The functions are not used templatized.
2014-03-26 04:31:27 -07:00
Diego Biurrun
da5be23525 dsputil: Move RV40-specific bits into rv40dsp 2014-03-26 04:31:27 -07:00
Diego Biurrun
8011ac911b hpeldsp_template: Detemplatize the code
The indirection makes no sense without multiple instantiation.
2014-03-26 04:31:27 -07:00
Diego Biurrun
2c01ad8b20 dsputil_template: Detemplatize the code
The indirection makes no sense without multiple instantiation.
2014-03-26 04:31:27 -07:00
Diego Biurrun
aba70bb538 Add missing headers to make template files compile (more) standalone 2014-03-26 04:31:27 -07:00
Diego Biurrun
e7373585f8 dsputil_template: Move bits that are used templatized into separate file
This allows detemplatizing the bits that are not instantiated twice.
2014-03-26 04:31:27 -07:00
Diego Biurrun
d3c3c1664a dsputil: Move hpel_template #include out of dsputil_template
Multiple inclusion makes no sense as it is only used in the 8-bit case.
2014-03-26 04:31:26 -07:00
Diego Biurrun
d0aabeab23 x86: h264_qpel: Fix typo in CALL_2X_PIXELS macro invocation
This fixes FATE with mmxext CPUFLAGS set.
2014-03-26 12:00:01 +01:00
Michael Niedermayer
c05065aac0 avcodec/h261: move b_stride/b_xy under the if() where they are used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 04:22:39 +01:00
Michael Niedermayer
6795dcfa65 avcodec/hevc: Export picture type
This only uses the first slice, improvement here is welcome
analyzing all slices the trivial way would interfere with threads

Fixes Ticket3185

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 04:20:52 +01:00
Michael Niedermayer
4090d5baa8 avcodec/h261dec: fix motion vector vissualization
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 01:12:03 +01:00
Michael Niedermayer
8f20e3d4df Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avcodec: add missing includes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-25 19:39:00 +01:00
Michael Niedermayer
41e7e46cac Merge commit 'aa499568afc01d59215eef7e5b14b949a9671afc'
* commit 'aa499568afc01d59215eef7e5b14b949a9671afc':
  avconv: More descriptive message about framedrop

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-25 19:25:10 +01:00
Michael Niedermayer
10e931d514 Merge commit '6ee55c7b111eec6c51dfdc0fddbd46f5dd867fa3'
* commit '6ee55c7b111eec6c51dfdc0fddbd46f5dd867fa3':
  vf_transpose: K&R formatting cosmetics

Conflicts:
	libavfilter/vf_transpose.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-25 19:17:38 +01:00
James Almer
2d9821a208 x86/cpu: check for OS support before enabling AVX2
AV_CPU_FLAG_AVX is enabled at this point only if there's OS support.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-25 17:56:43 +01:00
rogerdpack
4d9881e1cc udp: mention default in documentation
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-25 17:53:14 +01:00
rogerdpack
10056bc964 dshow: log error and continue if unable to set audio buffer
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-25 17:32:39 +01:00
Carl Eugen Hoyos
0816abae1e Add an .oga muxer. 2014-03-25 15:47:55 +01:00
Carl Eugen Hoyos
e6fe804bdd Do not set swscale sizeFactor to -1.
Fixes ticket #3495.
2014-03-25 15:46:35 +01:00
Øyvind Kolås
3e6016622e swscale: add two spatially stable dithering methods
Both of these dithering methods are from http://pippin.gimp.org/a_dither/ for
GIF they can be considered better than bayer (provides more gray-levels), and
spatial stability - often more than twice as good compression and less visual
flicker than error diffusion methods (the methods also avoids error-shadow
artifacts of diffusion dithers).

These methods are similar to blue/green noise type dither masks; but are
simple enough to generate their mask on the fly. They are still research work
in progress; though more expensive to generate masks (which can be used in a
LUT) like 'void and cluster' and similar methods will yield superior results
2014-03-25 13:48:06 +01:00
Peter Ross
a490970af2 libavcodec/*/vp8dsp_init: indent
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-25 13:29:29 +01:00
Peter Ross
4a031ce3c6 avformat/riff: add On2 VP7 fourccs
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-25 13:29:29 +01:00
Peter Ross
89f2f5dbd7 On2 VP7 decoder
Signed-off-by: Peter Ross <pross@xvid.org>
Reviewed-by: BBB
previous patch reviewed by jason
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-25 13:29:05 +01:00
Peter Ross
7d4c0220f1 avcodec/vp8: vp8_find_free_buffer
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-25 13:11:38 +01:00
Vittorio Giovara
dc0c70e018 avcodec: add missing includes 2014-03-25 12:28:22 +01:00
Vittorio Giovara
aa499568af avconv: More descriptive message about framedrop 2014-03-25 12:26:24 +01:00
Vittorio Giovara
6ee55c7b11 vf_transpose: K&R formatting cosmetics 2014-03-25 12:24:39 +01:00
Michael Niedermayer
a81ee2651f avcodec/svq1enc: fix undefined pointer operation
Fixes Ticket3152

This also removes the dependance on ff_init_block_index/ff_update_block_index()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-25 03:34:00 +01:00
Michael Niedermayer
c25d2cd20b avcodec/x86/mpegvideoenc_template: fix integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-25 00:15:52 +01:00
Michael Niedermayer
575b957758 dox/scaler:fix bicubiclin typo
See Ticket3486

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 22:04:52 +01:00
Michael Niedermayer
5d39ec2188 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libx265: Only use one memcpy for headers

See: ecb5b9c098
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 21:24:55 +01:00
Michael Niedermayer
fc2de9b7cf Merge commit '60728e8bab8d2a5f6bbb4baa7d53142dbc6047ed'
* commit '60728e8bab8d2a5f6bbb4baa7d53142dbc6047ed':
  libx265: Write global extradata when requested

See: dded5ed9c5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 21:08:45 +01:00
Michael Niedermayer
ab8d9fe9b8 Merge commit '8ef33497a6a3ed05d2f931809c074ef3d1878834'
* commit '8ef33497a6a3ed05d2f931809c074ef3d1878834':
  build: Add config option for CABAC code

Conflicts:
	configure
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 20:55:23 +01:00
Michael Niedermayer
bce2abc936 avcodec/h264: use ff_h264_set_erpic() instead of memset
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 20:09:19 +01:00
Michael Niedermayer
cb640eb335 ffmpeg: move packet deallocation into write_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 19:50:39 +01:00
Michael Niedermayer
33a7e288ab Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: don't warn on multiple frames per packet for codecs that expect it

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 16:46:06 +01:00
Michael Niedermayer
1046cd60d4 Merge commit '4754345027eb85cfa51aeb88beec68d7b036c11e'
* commit '4754345027eb85cfa51aeb88beec68d7b036c11e':
  avconv: print verbose per-stream transcoding statistics

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 16:40:35 +01:00
Michael Niedermayer
afa442c198 Merge commit 'a220b07b0f971f88213aef012aea51af2800be62'
* commit 'a220b07b0f971f88213aef012aea51af2800be62':
  avconv: split printing the final statistics into a separate function

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 16:30:29 +01:00
Derek Buitenhuis
ecb5b9c098 libx265: Only use one memcpy for headers
They're guaranteed by the x265 API to be contiguous in memory.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-03-24 15:28:20 +00:00
Derek Buitenhuis
206d5330f6 libx265: Simple cosmetic fix
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-03-24 15:28:11 +00:00
Derek Buitenhuis
21a561176e libx265: Only use one memcpy for headers
They're guaranteed by the x265 API to be contiguous in memory.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-03-24 15:27:41 +00:00
Michael Niedermayer
60728e8bab libx265: Write global extradata when requested
Matroska, MP4, and other containers require it.

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>
2014-03-24 15:27:41 +00:00
Michael Niedermayer
13278b97ae Merge commit 'baeb59d89beda499688e528c6a269d2b255b66f2'
* commit 'baeb59d89beda499688e528c6a269d2b255b66f2':
  avconv: rewrite output data size tracking

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 16:11:13 +01:00
Michael Niedermayer
8a9878b4ff Merge commit 'f759f66e367bc62ed7738a51040f775b656a60d8'
* commit 'f759f66e367bc62ed7738a51040f775b656a60d8':
  avconv: explicitly report when the muxing overhead is unknown

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 15:52:50 +01:00
Michael Niedermayer
c31b3e3878 Merge commit '781d97fd54b1f0d8f4f7536dbd932dca6445476e'
* commit '781d97fd54b1f0d8f4f7536dbd932dca6445476e':
  avconv: remove unused nb_frames_dup

Conflicts:
	ffmpeg.c

No change, as the variable is not unused

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 15:45:47 +01:00
Diego Biurrun
8ef33497a6 build: Add config option for CABAC code
This allows for more elegant dependency and object declarations.
2014-03-24 15:35:18 +01:00
Michael Niedermayer
15fe694e5c Merge commit 'b4679ecdbd80ae050094733f137ccd7ebf1316ab'
* commit 'b4679ecdbd80ae050094733f137ccd7ebf1316ab':
  {v,a}f_showinfo: print frame side data

Conflicts:
	libavfilter/af_ashowinfo.c
	libavfilter/vf_showinfo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 15:32:48 +01:00
Michael Niedermayer
1034fbdf53 Merge commit '15c5a8d22d12d29a364ca2ab6438f1dee2fa08c7'
* commit '15c5a8d22d12d29a364ca2ab6438f1dee2fa08c7':
  mp3dec: export replaygain tags from ID3v2

Conflicts:
	Changelog

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 15:11:08 +01:00
Michael Niedermayer
8de75f703a Merge commit '06c3cd3c0186803619bc6aad2d8f06c3e9015d15'
* commit '06c3cd3c0186803619bc6aad2d8f06c3e9015d15':
  af_volume: support using replaygain frame side data

Conflicts:
	doc/filters.texi
	libavfilter/af_volume.c
	libavfilter/af_volume.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 15:04:47 +01:00
Michael Niedermayer
3e1f24131a Merge commit 'd161ae0a37900cbd36c1390ca32a56b892c02ab5'
* commit 'd161ae0a37900cbd36c1390ca32a56b892c02ab5':
  frame: add a function for removing side data from a frame

Conflicts:
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 14:51:44 +01:00
Michael Niedermayer
82e6660ae2 Merge commit '59444c76e6d43529a12dbd80b6dd29c6ba4079a9'
* commit '59444c76e6d43529a12dbd80b6dd29c6ba4079a9':
  avconv: add stream-global side data to the first demuxed packet

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 14:44:22 +01:00
Michael Niedermayer
c08e523586 Merge commit '4a0f6651434c6f213d830140f575b4ec7858519f'
* commit '4a0f6651434c6f213d830140f575b4ec7858519f':
  libavcodec: when decoding, copy replaygain side data to decoded frames

Conflicts:
	libavcodec/internal.h
	libavcodec/rawdec.c
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 14:26:17 +01:00
Michael Niedermayer
83e8978798 Merge commit '5a7e35dd2351c30bab45177b9482cb8833a0ca78'
* commit '5a7e35dd2351c30bab45177b9482cb8833a0ca78':
  Add replaygain side data type and code for parsing replaygain tags.

Conflicts:
	libavcodec/avcodec.h
	libavcodec/version.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 14:03:55 +01:00
Michael Niedermayer
595ba3b962 Merge commit '25b32586566f285d797737863c97a1c5c9c84e2b'
* commit '25b32586566f285d797737863c97a1c5c9c84e2b':
  lavf: add an AVStream field for exporting stream-global side data

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 13:41:49 +01:00
Michael Niedermayer
bd34e26b27 Merge commit '0e2c3ee9a335d8a0a5edf0509e222e804d7b2619'
* commit '0e2c3ee9a335d8a0a5edf0509e222e804d7b2619':
  lavc: give a typedeffed name to the AVPacket.side_data struct

Conflicts:
	doc/APIchanges
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 13:27:33 +01:00
Anton Khirnov
d1780e01b8 avconv: don't warn on multiple frames per packet for codecs that expect it 2014-03-24 06:21:13 +01:00
Anton Khirnov
4754345027 avconv: print verbose per-stream transcoding statistics 2014-03-24 06:20:38 +01:00
Anton Khirnov
a220b07b0f avconv: split printing the final statistics into a separate function 2014-03-24 06:17:19 +01:00
Anton Khirnov
baeb59d89b avconv: rewrite output data size tracking
Store a variable per OutputStream instead of globals for
audio/video/extradata. This makes the code simpler and cleaner and fixes
2pass with multiple output streams.
2014-03-24 06:17:04 +01:00
Anton Khirnov
f759f66e36 avconv: explicitly report when the muxing overhead is unknown 2014-03-24 06:16:58 +01:00
Anton Khirnov
781d97fd54 avconv: remove unused nb_frames_dup
Frame duplication now happens in vf_fps.
2014-03-24 06:16:31 +01:00
Anton Khirnov
b4679ecdbd {v,a}f_showinfo: print frame side data 2014-03-24 06:14:55 +01:00
Anton Khirnov
15c5a8d22d mp3dec: export replaygain tags from ID3v2 2014-03-24 06:13:39 +01:00
Michael Niedermayer
9456a8628b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Remove dcbzl check for e500v1 and e500v2 architectures

See: d5733936d8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 06:09:31 +01:00
Anton Khirnov
06c3cd3c01 af_volume: support using replaygain frame side data 2014-03-24 06:07:51 +01:00
Anton Khirnov
d161ae0a37 frame: add a function for removing side data from a frame 2014-03-24 06:07:51 +01:00
Anton Khirnov
59444c76e6 avconv: add stream-global side data to the first demuxed packet 2014-03-24 06:07:51 +01:00
Anton Khirnov
4a0f665143 libavcodec: when decoding, copy replaygain side data to decoded frames 2014-03-24 06:07:51 +01:00
Anton Khirnov
5a7e35dd23 Add replaygain side data type and code for parsing replaygain tags. 2014-03-24 06:07:51 +01:00
Anton Khirnov
25b3258656 lavf: add an AVStream field for exporting stream-global side data 2014-03-24 06:07:51 +01:00
Anton Khirnov
0e2c3ee9a3 lavc: give a typedeffed name to the AVPacket.side_data struct 2014-03-24 06:07:50 +01:00
Michael Niedermayer
fecebb7aba Merge commit '5b8f0a5eac75d16376af60a6f6bb79b3e9e6dab7'
* commit '5b8f0a5eac75d16376af60a6f6bb79b3e9e6dab7':
  mpeg: K&R formatting cosmetics

Conflicts:
	libavformat/mpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 05:28:07 +01:00
Michael Niedermayer
c9c0451224 swscale/swscale: fix integer overflow
Should fix fate failure with clang ftrapv

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 05:01:32 +01:00
Michael Niedermayer
8683fa541b fate: add tests for linearly interpolated resampling
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 04:25:44 +01:00
Michael Niedermayer
e03c3ac539 tests/tiny_psnr: Print information about the supported sample types in the help and error texts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 04:02:51 +01:00
James Almer
63dbba655e swresample/resample: sse float linear interpolation
About two times faster

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 02:34:02 +01:00
James Almer
fa25c4c400 swresample/resample: mmx2/sse2 int16 linear interpolation
About three times faster

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 02:33:16 +01:00
Peter Krefting
54f7881615 configure: Remove dcbzl check for e500v1 and e500v2 architectures
The DCBZL instruction is not available for the e500v1 and e500v2
architectures, but may still be recognized by the toolchain, so we
need to explicitly disable it for these architectures.

References: PowerPC™ e500 Core Family Reference Manual (Freescale)

Found-by: Ståle Kristoffersen <staalebk@ifi.uio.no>

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-03-24 02:22:16 +01:00
Tanja Batchelor
5b8f0a5eac mpeg: K&R formatting cosmetics
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-03-24 02:22:15 +01:00
Michael Niedermayer
ffd77f94a2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: Split h264 slice decoding from nal decoding

Conflicts:
	libavcodec/Makefile
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 01:33:02 +01:00
Michael Niedermayer
0626211b56 Merge commit 'e9a77f4bc084e5174baba3a8bc869ce4d102c4f0'
* commit 'e9a77f4bc084e5174baba3a8bc869ce4d102c4f0':
  h264: move macroblock decoding into its own file

Conflicts:
	libavcodec/Makefile
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 00:46:20 +01:00
Michael Niedermayer
3bf5c05925 Merge commit 'ede2b451ccb1b2317858c7a32784a9b739ba45f4'
* commit 'ede2b451ccb1b2317858c7a32784a9b739ba45f4':
  build: Sort h264 objects

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 00:26:46 +01:00
Michael Niedermayer
0dd4eff588 Merge commit 'fb7127b2c836b53ad5168887cd12871312c8708d'
* commit 'fb7127b2c836b53ad5168887cd12871312c8708d':
  build: h264 parser depends on full h264 decoder

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 00:20:56 +01:00
Michael Niedermayer
3788b8dbe6 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavu: add myself as dynarray.h maintainer.
  ffmpeg: sub2video: send a last blank frame before closing.
  tools: add dvd2concat.
  lavf/concatdec: allow to match streams by id.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 00:05:23 +01:00
Luca Barbato
f51d0f39c0 h264: Split h264 slice decoding from nal decoding 2014-03-23 22:41:12 +01:00
Vittorio Giovara
e9a77f4bc0 h264: move macroblock decoding into its own file 2014-03-23 22:41:12 +01:00
Luca Barbato
ede2b451cc build: Sort h264 objects 2014-03-23 22:41:11 +01:00
Luca Barbato
fb7127b2c8 build: h264 parser depends on full h264 decoder 2014-03-23 22:41:11 +01:00
Michael Niedermayer
5dfbecb3a3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  RELEASE_NOTES: mention new filters

Conflicts:
	doc/RELEASE_NOTES

Not merged as these things where in past ffmpeg releases already.
Or at least some of them where, volunteers to checks this and update
our release notes are welcome

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-23 19:52:45 +01:00
Nicolas George
c0c1fe797c lavu: add myself as dynarray.h maintainer. 2014-03-23 19:17:20 +01:00
Nicolas George
521707d42e ffmpeg: sub2video: send a last blank frame before closing.
Fix trac ticket #3420.
2014-03-23 19:16:35 +01:00
Nicolas George
27cff4f6f8 tools: add dvd2concat. 2014-03-23 19:15:07 +01:00
Nicolas George
26dea7731e lavf/concatdec: allow to match streams by id.
That makes the concat demuxer usable with MPEG-PS streams,
even when the streams in the different parts are detected
in different order.
2014-03-23 19:15:07 +01:00
Carl Eugen Hoyos
cc6d549adb Always pass the configure option sysroot to --sysroot and -isysroot.
On darwin, --sysroot may be ignored.
2014-03-23 19:01:16 +01:00
Carl Eugen Hoyos
942cded690 Autodetect VDA like all other hardware acccelerations.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-23 17:47:28 +01:00
Vittorio Giovara
2a38651033 RELEASE_NOTES: mention new filters 2014-03-23 17:30:52 +01:00
Michael Niedermayer
c8246d3766 avcodec/x86/h264_qpel: Fix typo introduced by 322a1dda97
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-23 15:04:53 +01:00
Michael Niedermayer
82a90e7764 Move avpriv_find_pix_fmt() to utils.c
Fixes build with --disable-everything

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-23 13:25:42 +01:00
wm4
686e662676 http: restructure http_connect error handling path
The authstr memory allocations make it annoying to error in the middle
of the header setup code, so apply the usual C error handling idiom to
make it easier to error at any point.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-23 05:56:35 +01:00
Michael Niedermayer
6ee2911996 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: drop ff_pixfmt_list_420

Conflicts:
	libavcodec/flvdec.c
	libavcodec/msmpeg4dec.c
	libavcodec/rv10.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-23 03:56:43 +01:00
Michael Niedermayer
acb8d655d7 Merge commit 'd5717bc4e9cc253a933ae8130eea3a9c8bc33c0b'
* commit 'd5717bc4e9cc253a933ae8130eea3a9c8bc33c0b':
  changelog: switch libx265 and compand entries

Conflicts:
	Changelog

Not many changes as libx265 and compand are placed correctly for us

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-23 03:46:40 +01:00
Michael Niedermayer
1abb031959 Merge commit '0f0d1d056e1a3ad3db32b7d1a06286b2841e91b1'
* commit '0f0d1d056e1a3ad3db32b7d1a06286b2841e91b1':
  configure: Always use -DOPJ_STATIC when checking for openjpeg

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-23 03:32:00 +01:00
Michael Niedermayer
802e5fc8f8 Merge commit '1e9db41e2a2166be5671b088ef4ad06a40af459f'
* commit '1e9db41e2a2166be5671b088ef4ad06a40af459f':
  movenc: Allow override of major brand in ftyp atom

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-23 03:22:20 +01:00
Vittorio Giovara
6f6c029464 lavc: drop ff_pixfmt_list_420 2014-03-23 01:56:58 +01:00
Vittorio Giovara
d5717bc4e9 changelog: switch libx265 and compand entries 2014-03-23 01:56:58 +01:00
Luca Barbato
0f0d1d056e configure: Always use -DOPJ_STATIC when checking for openjpeg
Unbreaks windows systems not providing pkgconf files.

Reported-By: Rafaël Carré <funman@videolan.org>
2014-03-23 01:14:31 +01:00
John Stebbins
1e9db41e2a movenc: Allow override of major brand in ftyp atom
Signed-off-by: Tim Walker <tdskywalker@gmail.com>
2014-03-23 00:31:54 +01:00
Michael Niedermayer
fc567ac49e avcodec: Add padding after the remaining AVFrames
This limits ABI issues in case libavcodec is linked to a libavutil with larger AVFrame
Which can happen if they are shiped in seperate binary packages and libavutil is upgraded

A cleaner alternative would be to replace them by pointers but this would likely cause
a small speedloss

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-23 00:28:51 +01:00
Michael Niedermayer
2765c2ec7d Merge remote-tracking branch 'cus/stable'
* cus/stable:
  mpegts: fix teletext pts of streams with standalone pcr pid
  mpegts: add pcr filter for tracking standalone pcr pids
  mpegts: factorize mpegts filter creator code
  mpegts: move last_pcr to MpegTSFilter level

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 23:50:49 +01:00
Michael Niedermayer
de182701ac Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lagarith: Fix typo in printf format string

Conflicts:
	libavcodec/lagarith.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 23:44:28 +01:00
Michael Niedermayer
9d6a27d533 Merge commit '57f09608e1600d1cf1679885a46f5004d522d68f'
* commit '57f09608e1600d1cf1679885a46f5004d522d68f':
  dsputil: Move thirdpel-related bits into their own context

Conflicts:
	libavcodec/svq3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 23:26:23 +01:00
Michael Niedermayer
74fed968d1 Merge commit '82dd1026cfc1d72b04019185bea4c1c9621ace3f'
* commit '82dd1026cfc1d72b04019185bea4c1c9621ace3f':
  x86: dsputil: Move hpeldsp-related declarations to a separate header

Conflicts:
	libavcodec/x86/dsputil_x86.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 23:21:54 +01:00
Michael Niedermayer
816d7936a7 Merge commit 'ae116cd3ed908d28b69d5198712217ec743d74f6'
* commit 'ae116cd3ed908d28b69d5198712217ec743d74f6':
  ppc: dsputil: Move hpeldsp-related declarations to a separate header

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 23:17:03 +01:00
Michael Niedermayer
9333bba6ed Merge commit '6655c933a887a2d20707fff657b614aa1d86a25b'
* commit '6655c933a887a2d20707fff657b614aa1d86a25b':
  x86: dsputil: Move fpel declarations to a separate header

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 23:08:22 +01:00
Michael Niedermayer
77bc342975 Merge commit '322a1dda973e802db7b57f2007fad3efcd5bab81'
* commit '322a1dda973e802db7b57f2007fad3efcd5bab81':
  dsputil: Refactor duplicated CALL_2X_PIXELS / PIXELS16 macros

Conflicts:
	libavcodec/arm/hpeldsp_init_arm.c
	libavcodec/x86/dsputil_x86.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 22:53:33 +01:00
Michael Niedermayer
672c610d84 Merge commit 'f9279ee74936b4990fc46287c27816ef828cc06c'
* commit 'f9279ee74936b4990fc46287c27816ef828cc06c':
  dsputil: Move ff_zigzag_direct and ff_crop_tab declarations to mathops.h

Conflicts:
	libavcodec/imgconvert.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 22:23:04 +01:00
Michael Niedermayer
d6d3cfb0aa Merge commit '600b854ad8173995518bd917e7f86120b5505088'
* commit '600b854ad8173995518bd917e7f86120b5505088':
  imgconvert: Move ff_deinterlace_line_*_mmx declarations out of dsputil

Conflicts:
	libavcodec/imgconvert.c
	libavcodec/x86/dsputil_x86.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 22:17:54 +01:00
Michael Niedermayer
8fbc6e5911 Merge commit '1a8d0cf77ed2611e542ae98f341d4c43a04467bd'
* commit '1a8d0cf77ed2611e542ae98f341d4c43a04467bd':
  x86: dsputil: Move inline assembly macros to a separate header

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 22:11:27 +01:00
Michael Niedermayer
32da2fd422 Merge commit '1df0b061621b10edde87e3ab7ea83aed381c574f'
* commit '1df0b061621b10edde87e3ab7ea83aed381c574f':
  nuv: Reuse the DSPContext from RTJpegContext

Conflicts:
	libavcodec/nuv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 21:58:04 +01:00
Michael Niedermayer
82c742377a avutil/dynarray: remove debug av_log() from AV_DYNARRAY_ADD
Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 21:47:38 +01:00
Michael Niedermayer
9ba1190297 avutil/mem: avoid using intptr_t to access void* in av_dynarray_add()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 21:14:57 +01:00
Nicolas George
b0dcf76530 lavu/mem: reimplement the dynarray functions with the macro.
Signed-off-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 20:53:36 +01:00
Nicolas George
7b9a310d0e lavu: add AV_DYNARRAY_ADD() macro.
Signed-off-by: Nicolas George <george@nsup.org>
Reviewed-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 20:53:31 +01:00
Michael Niedermayer
cd1d4b51e3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  float_dsp: Replace arch optimization ifdefs by if cascade

Conflicts:
	libavutil/float_dsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 18:52:21 +01:00
Michael Niedermayer
8d024c5107 Merge commit 'cc8163e1a3601a56f722a4720516e860bf1c6198'
* commit 'cc8163e1a3601a56f722a4720516e860bf1c6198':
  avcodec: more correct printf specifiers

Conflicts:
	libavcodec/4xm.c
	libavcodec/alsdec.c
	libavcodec/dfa.c
	libavcodec/h264_ps.c
	libavcodec/jpeg2000dec.c
	libavcodec/lagarith.c
	libavcodec/mpeg12dec.c
	libavcodec/rv10.c
	libavcodec/svq3.c
	libavcodec/wmaprodec.c
	libavcodec/xwddec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 18:43:40 +01:00
Diego Biurrun
4f4840377f lagarith: Fix typo in printf format string
libavcodec/lagarith.c:671:16: warning: '#' flag used with ‘%u’ gnu_printf format [-Wformat]
2014-03-22 18:36:33 +01:00
Michael Niedermayer
7ef8d97b1a Merge commit '7513234bdd93f80593bfee3eb2da8c8f0d3992da'
* commit '7513234bdd93f80593bfee3eb2da8c8f0d3992da':
  avfilter: more correct printf format specifiers

Conflicts:
	libavfilter/af_ashowinfo.c
	libavfilter/vf_showinfo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 18:21:10 +01:00
Peter Ross
54df8b4fea fate: add cine demux test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 17:50:02 +01:00
Michael Niedermayer
ae4b11df0d avcodec/snowenc: make snow non experimental
After this commit the created bitstream will be supported by future
decoders.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 16:52:51 +01:00
rogerdpack
3eafe1d71c udp: try to clarify verbiage on buffer_size
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 16:46:06 +01:00
rogerdpack
0b4c5c99bc avformat/udp: cleanup comments, add a warning if receive buffer is unexpectedly unable to be set high enough
which can happen easily in linux

Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 16:40:46 +01:00
Diego Biurrun
57f09608e1 dsputil: Move thirdpel-related bits into their own context 2014-03-22 06:17:30 -07:00
Diego Biurrun
82dd1026cf x86: dsputil: Move hpeldsp-related declarations to a separate header 2014-03-22 06:17:29 -07:00
Diego Biurrun
ae116cd3ed ppc: dsputil: Move hpeldsp-related declarations to a separate header 2014-03-22 06:17:29 -07:00
Diego Biurrun
6655c933a8 x86: dsputil: Move fpel declarations to a separate header 2014-03-22 06:17:29 -07:00
Diego Biurrun
322a1dda97 dsputil: Refactor duplicated CALL_2X_PIXELS / PIXELS16 macros 2014-03-22 06:17:29 -07:00
Diego Biurrun
f9279ee749 dsputil: Move ff_zigzag_direct and ff_crop_tab declarations to mathops.h 2014-03-22 06:17:29 -07:00
Diego Biurrun
600b854ad8 imgconvert: Move ff_deinterlace_line_*_mmx declarations out of dsputil 2014-03-22 06:17:29 -07:00
Diego Biurrun
1a8d0cf77e x86: dsputil: Move inline assembly macros to a separate header 2014-03-22 06:17:29 -07:00
Diego Biurrun
1df0b06162 nuv: Reuse the DSPContext from RTJpegContext
There is no point in populating NuvContext with another DSPContext.

Also split static and dynamic initialization bits to avoid running the
static initialization parts over and over.
2014-03-22 06:17:29 -07:00
Diego Biurrun
46caba4a65 float_dsp: Replace arch optimization ifdefs by if cascade
Arch-specific optimizations are handled this way everywhere else.
2014-03-22 14:11:22 +01:00
Diego Biurrun
cc8163e1a3 avcodec: more correct printf specifiers 2014-03-22 14:08:20 +01:00
Matt Oliver
cd5cf395f6 Additional icl inline asm fix.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 14:07:03 +01:00
Marton Balint
d2f60547c2 mpegts: fix teletext pts of streams with standalone pcr pid
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-03-22 13:55:01 +01:00
Marton Balint
d83a5b5218 mpegts: add pcr filter for tracking standalone pcr pids
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-03-22 13:55:01 +01:00
Marton Balint
6bab55b84c mpegts: factorize mpegts filter creator code
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-03-22 13:54:59 +01:00
Marton Balint
4acc86bcfb mpegts: move last_pcr to MpegTSFilter level
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-03-22 13:41:22 +01:00
Diego Biurrun
7513234bdd avfilter: more correct printf format specifiers 2014-03-22 13:21:16 +01:00
James Darnley
f02832904d lavc/libx264: add a warning when using qscale
This addresses ticket #3238.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 13:13:07 +01:00
rogerdpack
6abc56e892 dshow: use distinct buffers per stream.
Basically sometimes if you start dropping video packets, you also drop audio packets. Now they each have separate buffers to avoid this unexpected behavior.

Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 03:46:10 +01:00
Michael Niedermayer
87ecefdab0 elbg: change utility_inc to 64bit
Fixes integer overflow
Fixes Ticket3462

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 03:12:18 +01:00
Michael Niedermayer
d003a0cd2e avformat/mp3enc: use av_copy_packet()
Fixes double free
Fixes Ticket3476

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 01:26:48 +01:00
Michael Niedermayer
1b4f2fb165 avcodec/snowdec: also print qbias and mvscale in debug output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-21 21:05:00 +01:00
Michael Niedermayer
2fb388fc9d avcodec/snowdec: forward error codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-21 21:02:02 +01:00
Michael Niedermayer
296aa4ac01 avcodec/snowdec: return more specific error codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-21 21:01:34 +01:00
Michael Niedermayer
8a5ea5b9ef avcodec/snowenc: simplify spatial_decomposition_count seting code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-21 20:58:33 +01:00
wm4
76c8fbc5f2 http: never send 'Cookie: (null)' to the server
If a domain has some cookies set, but matching the cookie fails due to
the port being different, get_cookies() succeeds, but sets cookies to
NULL. The caller of get_cookies() didn't check for the NULL value.

This also avoids passing NULL to libc string functions, which is
undefined behavior

Fixes Ticket2180

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-21 20:32:09 +01:00
Michael Niedermayer
2fd14f062c avcodec/snowenc: allow larger mb variances
Fixes assertion failure
Fixes Ticket3463

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-21 18:34:54 +01:00
Michael Niedermayer
b4356c9cc2 avcodec/ratecontrol: make (mc_)mb_var_sum(_last) 64bit
This avoids hypothetical integer overflows
2014-03-21 18:34:54 +01:00
Michael Niedermayer
e92a78a409 avcodec/mpegvideo: make mc_mb_var_sum / mb_var_sum 64bit
This avoids a hypothetical integer overflow with very high resolution video

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-21 18:24:56 +01:00
Michael Niedermayer
c3272674c9 avcodec/mpegvideo: make mc_mb_var_sum_temp / mb_var_sum_temp 64bit
This avoids a hypothetical integer overflow with very high resolution video

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-21 18:12:58 +01:00
Michael Niedermayer
db55365d0f configure: Try to fix detection of ARM Compiler 5.04
Fixes Ticket 3364

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-21 17:51:16 +01:00
Michael Niedermayer
9dca02ee54 ffmpeg: dont call exit_program() from a signal hander
This is unsafe and can deadlock amongth other things

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-21 17:09:56 +01:00
Anshul Maheshwari
6d25e90262 doc/examples/avcodec: information regarding gop_size ignored if frame->pic-type is AV_PICTURE_TYPE_I
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-21 15:21:15 +01:00
Michael Niedermayer
1cd107f637 avcodec/x86/snowdsp: add missing clobbers to inner_add_yblock_bw_8_obmc_16_bh_even_sse2() and inner_add_yblock_bw_16_obmc_32_sse2()
Note, these functions are currently disabled

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-21 03:38:48 +01:00
Michael Niedermayer
45ad7bc423 avcodec/snowdec: provide information about the wavelet with -debug 1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-21 02:44:54 +01:00
Michael Niedermayer
19139d8516 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vaapi: switch ff_vaapi_get_surface_id from Picture to AVFrame

Conflicts:
	libavcodec/vaapi.c
	libavcodec/vaapi_internal.h

See: 377cfc28a2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-20 23:08:58 +01:00
Michael Niedermayer
1ec295a5c5 Merge commit '1b1094a19d9e41baf3253c83841f9e5343cecbd0'
* commit '1b1094a19d9e41baf3253c83841f9e5343cecbd0':
  vdpau: switch ff_vdpau_get_surface_id from Picture to AVFrame

Conflicts:
	libavcodec/vdpau_internal.h
	libavcodec/vdpau_vc1.c

See: 2a37e560dc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-20 22:48:58 +01:00
Michael Niedermayer
4d216420be Merge commit '7948a51b5c3d08e1a1173442a7ff72b220def303'
* commit '7948a51b5c3d08e1a1173442a7ff72b220def303':
  vdpau: don't assume Picture and H264Picture are the same

Conflicts:
	libavcodec/vdpau.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-20 22:39:54 +01:00
Michael Niedermayer
e98bac82e5 Merge commit '82bb3048013201c0095d2853d4623633d912252f'
* commit '82bb3048013201c0095d2853d4623633d912252f':
  dsputil: Use correct type in me_cmp_func function pointer

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-20 22:36:40 +01:00
Michael Niedermayer
011d83de48 Merge commit '0e083d7e43805db1a978cb57bfa25fda62e8ff18'
* commit '0e083d7e43805db1a978cb57bfa25fda62e8ff18':
  build: Group general components separate from de/encoders in arch Makefiles

Conflicts:
	libavcodec/arm/Makefile
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-20 22:26:31 +01:00
Michael Niedermayer
3775224b2f Merge commit '54a6e08a650a71fd375551585b0ea40a3a06d228'
* commit '54a6e08a650a71fd375551585b0ea40a3a06d228':
  dsputil: Conditionally compile dsputil code on all architectures

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-20 22:12:11 +01:00
Michael Niedermayer
ba85bfabf3 Merge commit '5169e688956be3378adb3b16a93962fe0048f1c9'
* commit '5169e688956be3378adb3b16a93962fe0048f1c9':
  dsputil: Propagate bit depth information to all (sub)init functions

Conflicts:
	libavcodec/arm/dsputil_init_arm.c
	libavcodec/arm/dsputil_init_armv5te.c
	libavcodec/arm/dsputil_init_armv6.c
	libavcodec/arm/dsputil_init_neon.c
	libavcodec/dsputil.c
	libavcodec/dsputil.h
	libavcodec/ppc/dsputil_ppc.c
	libavcodec/x86/dsputil_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-20 22:06:01 +01:00
Michael Niedermayer
a87188ebdb Merge commit 'cf7a2167570e6ccb9dfbd62e9d8ba8f4f065b17e'
* commit 'cf7a2167570e6ccb9dfbd62e9d8ba8f4f065b17e':
  arm: dsputil: K&R formatting cosmetics

Conflicts:
	libavcodec/arm/dsputil_init_arm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-20 21:58:16 +01:00
Michael Niedermayer
b20b772474 Merge commit '1675975216ecbea8e4826235f204dc0f4234383f'
* commit '1675975216ecbea8e4826235f204dc0f4234383f':
  ppc: dsputil: Drop trailing semicolon from macros

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-20 21:51:17 +01:00
Michael Niedermayer
ba91ac5c0e Merge commit 'b7d24fd4b2213104c001ed504074495568600b9c'
* commit 'b7d24fd4b2213104c001ed504074495568600b9c':
  ppc: dsputil: Merge some declarations and initializations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-20 21:50:35 +01:00
Michael Niedermayer
eb680f2ab0 Merge commit 'b045283f2126637477a597f184638ebef09bf898'
* commit 'b045283f2126637477a597f184638ebef09bf898':
  ppc: dsputil: Simplify some ifdeffed function definitions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-20 21:44:59 +01:00
Michael Niedermayer
d648ffe446 Merge commit '8bd6f88266740068415f7da0628117f1b802efb9'
* commit '8bd6f88266740068415f7da0628117f1b802efb9':
  ppc: dsputil: Drop some unnecessary parentheses

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-20 21:44:39 +01:00
Michael Niedermayer
adf82fe4f7 Merge commit '022184a646896c6b27c6cca387039b030685266e'
* commit '022184a646896c6b27c6cca387039b030685266e':
  ppc: dsputil: more K&R formatting cosmetics

Conflicts:
	libavcodec/ppc/gmc_altivec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-20 21:30:21 +01:00
Michael Niedermayer
13405ecdfe Merge commit '30f3f959879eee7890973e8cc9ce076450ced111'
* commit '30f3f959879eee7890973e8cc9ce076450ced111':
  ppc: dsputil: K&R formatting cosmetics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-20 21:29:37 +01:00
Michael Niedermayer
047cf46e97 Merge commit '82ee14d2cedd7867920529b408ed6c7ec2f13ff1'
* commit '82ee14d2cedd7867920529b408ed6c7ec2f13ff1':
  ppc: dsputil: comment formatting and wording/grammar improvements

Conflicts:
	libavcodec/ppc/gmc_altivec.c
	libavcodec/ppc/idct_altivec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-20 21:09:57 +01:00
Michael Niedermayer
75cc29a8a8 Merge commit 'cce791b17becc99f47e097adb93f4b4bbd382e7e'
* commit 'cce791b17becc99f47e097adb93f4b4bbd382e7e':
  hpeldsp_template: Merge some declarations and initializations

Conflicts:
	libavcodec/hpeldsp_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-20 21:08:30 +01:00
Michael Niedermayer
76d7676fcc Merge commit '2539cf1c814190a017cb8986b41aa2f949e37fd9'
* commit '2539cf1c814190a017cb8986b41aa2f949e37fd9':
  hpeldsp_template: K&R formatting cosmetics

Conflicts:
	libavcodec/hpeldsp_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-20 20:52:19 +01:00
Michael Niedermayer
8b66b43128 Merge commit '2972087e398454122a82a970ed07924185175c6d'
* commit '2972087e398454122a82a970ed07924185175c6d':
  hpel_template: Drop some unnecessary parentheses

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-20 20:50:04 +01:00
Michael Niedermayer
da760a64d1 Merge commit 'e8eace32765da4b42ac3c575fdb2c70cce8aa224'
* commit 'e8eace32765da4b42ac3c575fdb2c70cce8aa224':
  hpel_template: K&R formatting cosmetics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-20 20:32:27 +01:00
wm4
8b6136d3d1 vaapi: switch ff_vaapi_get_surface_id from Picture to AVFrame
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-03-20 17:01:59 +01:00
wm4
1b1094a19d vdpau: switch ff_vdpau_get_surface_id from Picture to AVFrame
This gets rid of aliasing completely unrelated structs to Picture.

Fixes the remaining compilation warnings in the vdpau code.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-03-20 17:00:39 +01:00
wm4
7948a51b5c vdpau: don't assume Picture and H264Picture are the same
The code passed H264Picture* and Picture*, and assumed the
hwaccel_picture_private field was in the same place in both
structs. Somehow this happened to work in Libav, but broke in
FFmpeg (and probably subtly breaks in Libav too).

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-03-20 16:59:46 +01:00
Michael Niedermayer
d3ed8a4d2b ffmpeg: try to avoid calling av_log() from sigterm_handler()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-20 16:24:17 +01:00
Michael Niedermayer
9d60527a13 configure: fix direct symbol ref support detection
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-20 13:14:33 +01:00
Diego Biurrun
82bb304801 dsputil: Use correct type in me_cmp_func function pointer 2014-03-20 05:03:23 -07:00
Diego Biurrun
0e083d7e43 build: Group general components separate from de/encoders in arch Makefiles
This is in line with how the top-level libavcodec Makefile is structured.
2014-03-20 05:03:23 -07:00
Diego Biurrun
54a6e08a65 dsputil: Conditionally compile dsputil code on all architectures 2014-03-20 05:03:23 -07:00
Diego Biurrun
5169e68895 dsputil: Propagate bit depth information to all (sub)init functions
This avoids recalculating the value over and over again.
2014-03-20 05:03:23 -07:00
Diego Biurrun
cf7a216757 arm: dsputil: K&R formatting cosmetics 2014-03-20 05:03:23 -07:00
Diego Biurrun
1675975216 ppc: dsputil: Drop trailing semicolon from macros
This allows for a more natural macro usage.
2014-03-20 05:03:22 -07:00
Diego Biurrun
b7d24fd4b2 ppc: dsputil: Merge some declarations and initializations 2014-03-20 05:03:22 -07:00
Diego Biurrun
b045283f21 ppc: dsputil: Simplify some ifdeffed function definitions 2014-03-20 05:03:22 -07:00
Diego Biurrun
8bd6f88266 ppc: dsputil: Drop some unnecessary parentheses 2014-03-20 05:03:22 -07:00
Diego Biurrun
022184a646 ppc: dsputil: more K&R formatting cosmetics 2014-03-20 05:03:22 -07:00
Diego Biurrun
30f3f95987 ppc: dsputil: K&R formatting cosmetics 2014-03-20 05:03:22 -07:00
Diego Biurrun
82ee14d2ce ppc: dsputil: comment formatting and wording/grammar improvements 2014-03-20 05:03:22 -07:00
Diego Biurrun
cce791b17b hpeldsp_template: Merge some declarations and initializations 2014-03-20 05:03:22 -07:00
Diego Biurrun
2539cf1c81 hpeldsp_template: K&R formatting cosmetics 2014-03-20 05:03:22 -07:00
Diego Biurrun
2972087e39 hpel_template: Drop some unnecessary parentheses 2014-03-20 05:03:22 -07:00
Diego Biurrun
e8eace3276 hpel_template: K&R formatting cosmetics 2014-03-20 05:03:22 -07:00
Michael Niedermayer
3d04b1aab1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  float-dsp-test: do not use C99's predefined  __func__

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-20 12:53:41 +01:00
Janne Grunau
6a74ebc34d float-dsp-test: do not use C99's predefined __func__
It is not supported by all compilers on FATE. Fixes "some test were
skipped" errors.
2014-03-20 11:16:06 +01:00
James Almer
32291ba6ea swresample: add swri_resample_float_sse
At least two times faster than the C version.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-20 06:01:06 +01:00
Ben Avison
e555e1bc39 truehd: tune VLC decoding for ARM.
Profiling on a Raspberry Pi revealed the best performance to correspond
with VLC_BITS = 5. Results for overall audio decode and the get_vlc2 function
in particular are as follows:

              Before          After
              Mean   StdDev   Mean   StdDev  Confidence  Change
6:2 total     348.8  20.1     339.6  15.1    88.8%       +2.7%  (insignificant)
6:2 function  38.1   8.1      26.4   4.1     100.0%      +44.5%
8:2 total     339.1  15.4     324.5  15.5    99.4%       +4.5%
8:2 function  33.8   7.0      27.3   5.6     99.7%       +23.6%
6:6 total     604.6  20.8     572.8  20.6    100.0%      +5.6%
6:6 function  95.8   8.4      68.9   8.2     100.0%      +39.1%
8:8 total     766.4  17.6     741.5  21.2    100.0%      +3.4%
8:8 function  106.0  11.4     86.1   9.9     100.0%      +23.1%

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-19 22:24:32 +01:00
Michael Niedermayer
f502234f93 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  float_dsp: Use LOCAL_ALIGNED for instead of DECLARE_ALIGNED within functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-19 21:20:14 +01:00
Michael Niedermayer
9da88d5e56 Merge commit '606cc8afa1cb782311f68560c8f9bad978cdcc32'
* commit '606cc8afa1cb782311f68560c8f9bad978cdcc32':
  configure: ppc: Disable ldbrx instruction by default

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-19 21:14:32 +01:00
Michael Niedermayer
2ef6c0fdf5 Merge commit 'af9481d7019d46c9f18c4ccac77a5d0c54cf6004'
* commit 'af9481d7019d46c9f18c4ccac77a5d0c54cf6004':
  mxf: Lowercase UL strings

Conflicts:
	libavformat/mxfdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-19 21:09:16 +01:00
Michael Niedermayer
3e59db606e Merge commit '6920fb2b33f84b114ea4561ae1c623f4a26562e5'
* commit '6920fb2b33f84b114ea4561ae1c623f4a26562e5':
  mxf: Verbose debug logging

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-19 20:54:35 +01:00
Michael Niedermayer
8263c14691 Merge commit '842ea36c747eb6537c4236114346cb7a3e9a8df1'
* commit '842ea36c747eb6537c4236114346cb7a3e9a8df1':
  mxf: Override faulty PreviousPartition entries

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-19 20:46:52 +01:00
Michael Niedermayer
bd9e0127c9 Merge commit '92ebb332157195b7c1212e734c5668afbf19cf2b'
* commit '92ebb332157195b7c1212e734c5668afbf19cf2b':
  mxf: Add additional H264 PictureEssenceCoding

Conflicts:
	libavformat/mxf.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-19 20:39:05 +01:00
Martin Storsjö
ae23809184 float_dsp: Use LOCAL_ALIGNED for instead of DECLARE_ALIGNED within functions
This fixes fate-float_dsp-test on RVCT 4.0.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-19 20:02:34 +02:00
Michael Niedermayer
dde16f5aae avcodec/mjpegdec: Switch default interlaced polarity for MJPG to 1
Fixes Ticket3229

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-19 18:16:42 +01:00
Michael Niedermayer
493296800c avcodec/mjpegdec: parse avid data from extradata
Makes no difference for any file tested but is needed
for following bug-fix

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-19 18:16:42 +01:00
Michael Niedermayer
046a75eea0 avcodec/mjpeg: print info from parse_avid() if requested
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-19 18:16:42 +01:00
Michael Niedermayer
98f9aa389b avcodec/mjpegdec: switch interlaced_polarity to 0 for PAL AVID
0 should have been the default, this change should make no difference
but this is needed for the following bugfix

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-19 18:16:42 +01:00
Michael Niedermayer
1083c479eb avcodec/mjpegdec: factorize parse_avid out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-19 18:16:42 +01:00
Diego Biurrun
606cc8afa1 configure: ppc: Disable ldbrx instruction by default
Only enable it for CPUs that support it.
This restores the behavior prior to 7a650caf.
2014-03-19 17:14:11 +01:00
Luca Barbato
af9481d701 mxf: Lowercase UL strings
The specification uses lower case most of the time.
2014-03-19 12:04:15 +01:00
Luca Barbato
6920fb2b33 mxf: Verbose debug logging
Print the UL in code format and in the short format used by the
specification.
2014-03-19 12:04:06 +01:00
Luca Barbato
842ea36c74 mxf: Override faulty PreviousPartition entries
Some files set the PreviousPartition field to point to its own offset.

If we are parsing forward the Previous partition is immediately known
and its value could be used, otherwise we can safely point to the
header.

Reported-By: Jean Baptiste Kempf <jb@videolan.org>
2014-03-19 11:56:33 +01:00
Luca Barbato
92ebb33215 mxf: Add additional H264 PictureEssenceCoding
Unbreak some MXF Proxy files.
2014-03-19 11:51:08 +01:00
Carl Eugen Hoyos
074db4b764 Add APIchanges entry and bump libswscale micro version for making gray16 full-scale. 2014-03-19 09:11:22 +01:00
Carl Eugen Hoyos
5e3689caed Add the H.264 decoder as a dependency for the fate-mkv test. 2014-03-19 03:00:19 +01:00
Carl Eugen Hoyos
57fdc74c34 Add one forgotten named inline asm operand in libavcodec/x86/motion_est.c. 2014-03-19 03:00:19 +01:00
Michael Niedermayer
ce9d3daa8a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aarch64: float_dsp NEON assembler

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-19 02:52:08 +01:00
Michael Niedermayer
a2339ef7b9 Merge commit '1b51b7ba00ed72b6ce4c3bcd6897839caa32478c'
* commit '1b51b7ba00ed72b6ce4c3bcd6897839caa32478c':
  libopenjpeg: Support rgba64 decoding

See: b7a928b2d1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-19 02:43:04 +01:00
Michael Niedermayer
1d8e97c79c Merge commit '8f45bd1433a1d8534d7b3997219c4ca31a669042'
* commit '8f45bd1433a1d8534d7b3997219c4ca31a669042':
  libopenjpeg: Support rgba64 encoding

Conflicts:
	libavcodec/libopenjpegenc.c

See: 36397ea1c7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-19 01:32:05 +01:00
Michael Niedermayer
543a46e0d1 Merge commit '1ea9fa15c3f9074f6199f68bdd6258c5a2bb89e0'
* commit '1ea9fa15c3f9074f6199f68bdd6258c5a2bb89e0':
  libopenjpeg: K&R formatting cosmetics

Conflicts:
	libavcodec/libopenjpegdec.c
	libavcodec/libopenjpegenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-19 01:06:29 +01:00
Matt Oliver
8236747511 Automatically change MANGLE() into named inline asm operands when direct symbol reference in inline asm are not supported.
This is part of the patch-set for intel C inline asm on windows support

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 23:39:30 +01:00
Matt Oliver
b2d3a45598 avcodec/x86/mlpdsp: Only use asm when non-local inline asm lables are supported
This is part of the patch-set for intel C inline asm on windows support

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 23:37:50 +01:00
Janne Grunau
dbd12523a4 aarch64: float_dsp NEON assembler
Ported from arm NEON and added vector_dmul_scalar.

Functions between 1.5 and 5 times faster than the C implementations
using Apple's clang-503.0.19 on A7.
2014-03-18 22:56:07 +01:00
Carl Eugen Hoyos
37c07d4529 swscale/utils: Fix color range of gray16
Improves rgb -> gray16 conversion

Fixes Ticket3422

The pam and png output files look visually similar, in both cases the
dynamics increase to 0x0 -> 0xfffb.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 22:15:15 +01:00
Vittorio Giovara
1b51b7ba00 libopenjpeg: Support rgba64 decoding 2014-03-18 21:54:31 +01:00
Carl Eugen Hoyos
8f45bd1433 libopenjpeg: Support rgba64 encoding 2014-03-18 21:54:31 +01:00
Vittorio Giovara
1ea9fa15c3 libopenjpeg: K&R formatting cosmetics 2014-03-18 21:54:25 +01:00
Michael Niedermayer
05d7059ac6 avcodec/h264pred_template: fix declarations after statements
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 20:53:37 +01:00
Yogender Kumar Gupta
6f7ca1f55b avcodec/h264: fix Lossless Decoding (Profile 244) for 8x8 Intra Prediction
This is limited to the case where x264_build = -1, to not break x264 decoding

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 20:37:26 +01:00
Michael Niedermayer
7ab315ec69 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  float_dsp: add test program and use it as fate test

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 20:04:28 +01:00
Michael Niedermayer
61ad2b42a1 Merge commit 'd961a79eb07a8911540a0bd356d68ae0cf93c6a1'
* commit 'd961a79eb07a8911540a0bd356d68ae0cf93c6a1':
  sbrdsp: move #if to disable all educational code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 19:59:00 +01:00
Michael Niedermayer
ae9b468b08 Merge commit 'c829b35c08ad8e1df45cca1cd12f084cf1183d07'
* commit 'c829b35c08ad8e1df45cca1cd12f084cf1183d07':
  lavc: er: remove unused variable size

No change as the variable is used

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 19:52:44 +01:00
James Almer
3d48cbc56c swresample: reuse COMMON_CORE asm where possible
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 16:08:34 +01:00
Daniel Verkamp
cf3fccce06 ff_put_wav_header: remove manual byte counting
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 15:54:37 +01:00
James Almer
7c8bf09edd swresample: change COMMON_CORE_INT16 asm from SSSE3 to SSE2
pshuf+paddd is slightly faster than phaddd.
The real gain is in pre-ssse3 processors like AMD K8 and K10, which get
a big boost in performance compared to the mmxext version

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 15:00:50 +01:00
Michael Niedermayer
c56d25c476 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  svq3: directly set pix_fmt and color_range

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 14:08:40 +01:00
Michael Niedermayer
7ae5cadb0a Merge commit 'ca80e15814b77efe8d0ff5a5b0220754bb6c4065'
* commit 'ca80e15814b77efe8d0ff5a5b0220754bb6c4065':
  mpegts: Forward error codes in various functions

Conflicts:
	libavformat/mpegts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 13:30:20 +01:00
Michael Niedermayer
ceb0d79f46 Merge commit '86ba2327e1cf35c6f77d5fb516a1a7a8dce0b98a'
* commit '86ba2327e1cf35c6f77d5fb516a1a7a8dce0b98a':
  mpegts: K&R formatting cosmetics

Conflicts:
	libavformat/mpegts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 13:19:24 +01:00
Janne Grunau
f0f687446e float_dsp: add test program and use it as fate test 2014-03-18 13:08:00 +01:00
Janne Grunau
d961a79eb0 sbrdsp: move #if to disable all educational code
Avoids a warning of the unused function 'autocorrelate'.
2014-03-18 13:08:00 +01:00
Janne Grunau
c829b35c08 lavc: er: remove unused variable size
The code using it was removed in d66e305bd1.
2014-03-18 13:07:52 +01:00
Vittorio Giovara
3795ec6858 svq3: directly set pix_fmt and color_range 2014-03-18 08:21:29 +01:00
Keiji Costantini
ca80e15814 mpegts: Forward error codes in various functions
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-03-18 08:20:35 +01:00
Keiji Costantini
86ba2327e1 mpegts: K&R formatting cosmetics
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-03-18 08:07:43 +01:00
Michael Niedermayer
48f7d5f0cf avfilter/src_movie: Check that the pixel format hasnt changed
Fixes assertion failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 03:59:20 +01:00
Michael Niedermayer
aa86cccd11 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix TARGET_SAMPLES and TARGET_PATH for some fate tests.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 02:07:24 +01:00
Marton Balint
2daf6be011 MAINTAINERS: add myself az mpegts demuxer maintainer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 02:05:44 +01:00
Michael Niedermayer
8ab8070784 avcodec/utils: fix sizeof(AVFrame) dependence in avcodec_encode_audio2()
This is a bit tricky, we allocate a correctly sized AVFrame but then only
copy the compile time AVFrame size, this is to ensure that user applications
which do not use the correct av frame API dont end with out of array reads.
Note, applications using the correct API have set extended_data and the
changed code will never be executed for them.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 02:03:30 +01:00
Carl Eugen Hoyos
bb97bcec6b Fix TARGET_SAMPLES and TARGET_PATH for some fate tests.
This allows running more fate tests on remote targets
without the source tree.
2014-03-18 01:29:50 +01:00
James Almer
aa1f38015c x86/synth_filter: improve FMA version
Replace mulps+subps with fnmaddps, resulting in two less instructions inside the
inner loops.
About 1% faster FMA3 performance.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 21:04:15 +01:00
Andrey Utkin
e10ab43614 doc/examples: Add example transcoding.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 20:56:33 +01:00
Michael Niedermayer
e21235f9b9 avformat/mov: call mov_rewrite_dvd_sub_extradata() after parsing dimensions from tkhd
This also moves mov_rewrite_dvd_sub_extradata() to mov.c

Fixes: NeroRecodeSample.mp4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 18:36:25 +01:00
Michael Niedermayer
8ba432bc56 avformat/mov: fill in subtitle dimensions after parsing tkhd
Sample: NeroRecodeSample.mp4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 18:21:11 +01:00
Michael Niedermayer
b6ad5893ce avformat/isom: only write the size if its non zero in mov_rewrite_dvd_sub_extradata()
Fixes regression with NeroRecodeSample.mp4

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 17:09:33 +01:00
Michael Niedermayer
f6f3c85c0e avformat/isom: Simplify mov_rewrite_dvd_sub_extradata()
This avoids the 2nd buffer and fixes the palette truncated check

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 17:06:30 +01:00
Michael Niedermayer
b1eb92a6bc Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libx264: check color_range

Conflicts:
	libavcodec/libx264.c

See: 48d39c8786
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 16:33:28 +01:00
Michael Niedermayer
34e325efa5 Merge commit 'bf0d7da7cbbf869605086c2a47cdf87f0a533e24'
* commit 'bf0d7da7cbbf869605086c2a47cdf87f0a533e24':
  ljpeg: check color_range

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 16:23:01 +01:00
Michael Niedermayer
987b873049 Merge commit '2183432e6dc8aedf1ef3db63006a2a8195479abd'
* commit '2183432e6dc8aedf1ef3db63006a2a8195479abd':
  mdec: set color_range

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 16:14:28 +01:00
Michael Niedermayer
020baa0be6 Merge commit '1c1fbc70cae44c10af8ff865826e31c17bc9f347'
* commit '1c1fbc70cae44c10af8ff865826e31c17bc9f347':
  mjpeg: set color_range

Conflicts:
	libavcodec/mjpegdec.c

See: 2f870e262e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 16:12:25 +01:00
Michael Niedermayer
ca0e6fa731 Merge commit '6612a03d7470af4aa6b8aa313b1eff013691d181'
* commit '6612a03d7470af4aa6b8aa313b1eff013691d181':
  fraps: set color_range

Conflicts:
	libavcodec/fraps.c

See: 79f452f4e6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 15:58:02 +01:00
Michael Niedermayer
1c79ca272d Merge commit '5b1b91cfb82d56c09846c68b09d2b8b7c8faccc4'
* commit '5b1b91cfb82d56c09846c68b09d2b8b7c8faccc4':
  tiff: Support rgba encoding

Conflicts:
	libavcodec/tiffenc.c

See: d7fc100694
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 15:55:18 +01:00
Michael Niedermayer
ba7cdb970f Merge commit '6d78e852fbf3cab438a2085bcb64b90457c4a851'
* commit '6d78e852fbf3cab438a2085bcb64b90457c4a851':
  img2: add j2c file extension

Conflicts:
	libavformat/img2enc.c

See: e8df18270a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 15:51:45 +01:00
Michael Niedermayer
c738ffcf2c Merge commit '58c215961a9067bb670387bbd72286c30de04b93'
* commit '58c215961a9067bb670387bbd72286c30de04b93':
  raw, nut: Support rgba64 encoding

Conflicts:
	libavcodec/raw.c
	libavformat/nut.c

See: edf34c346e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 15:43:55 +01:00
Michael Niedermayer
3731c40989 Merge commit 'cccac7654f3f6b82967bc6ae08b35ae8b4fbe1a9'
* commit 'cccac7654f3f6b82967bc6ae08b35ae8b4fbe1a9':
  png: Support rgb48 and rgba64 encoding

Conflicts:
	libavcodec/pngenc.c

See: f94ce3bcab
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 15:33:17 +01:00
Michael Niedermayer
a00d4c5956 Merge commit 'c598b569fb3d1f4b6c4868fe64f6989254df5186'
* commit 'c598b569fb3d1f4b6c4868fe64f6989254df5186':
  png: K&R formatting cosmetics

Conflicts:
	libavcodec/png.c
	libavcodec/pngdec.c
	libavcodec/pngenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 15:29:42 +01:00
Michael Niedermayer
b361a0bf1f Merge commit 'f7518f1a0e0a1788c303de3c6198da07e575710c'
* commit 'f7518f1a0e0a1788c303de3c6198da07e575710c':
  codec_desc: update dvaudio tag

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 14:53:05 +01:00
Michael Niedermayer
85d28a8656 Merge commit '6d7b22fb8f247a51e668c83b2f2460a9b3e948a8'
* commit '6d7b22fb8f247a51e668c83b2f2460a9b3e948a8':
  isom: fix C99-style declaration

See: cd0982e189
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 14:50:53 +01:00
Michael Niedermayer
6b1ca1709f Merge commit '1481d24c3a0abf81e1d7a514547bd5305232be30'
* commit '1481d24c3a0abf81e1d7a514547bd5305232be30':
  RGBA64 pixel formats

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

See: 9569a3c9f4
See: 92afb43162, as well as others
Note: the enum values added in libav are incompatible/different to what ffmpeg used since 3 years
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 14:41:13 +01:00
Michael Niedermayer
ad9a6e19e1 Merge commit 'd24e9a99a40166bf881ccd2e3ae5688af4726658'
* commit 'd24e9a99a40166bf881ccd2e3ae5688af4726658':
  h264 does not depend on mpegvideo any more

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 13:46:23 +01:00
Michael Niedermayer
3e3b0b3a40 avcodec/vdpau: update ff_vdpau_h264_set_reference_frames() to H264Picture
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 13:35:23 +01:00
Michael Niedermayer
dc226c023d Merge commit '7245a0ae872d4f65396a37d13f5d1d2c2efe11c2'
* commit '7245a0ae872d4f65396a37d13f5d1d2c2efe11c2':
  mpegvideo: remove h264-only fields

Conflicts:
	libavcodec/mpegvideo.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 13:31:28 +01:00
Michael Niedermayer
329a3286d6 Merge commit 'be039278b5ebd8075d90a3508db2aed5adf59e02'
* commit 'be039278b5ebd8075d90a3508db2aed5adf59e02':
  mpegvideo: move ff_draw_horiz_band() to mpegutils.c

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 13:23:48 +01:00
Michael Niedermayer
29be9b5301 avcodec/dxva2: fix pointers after H264Picture
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 13:22:40 +01:00
Michael Niedermayer
2a37e560dc avcodec/vdpau: fix ff_vdpau_get_surface_id() argument after H264Picture
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 13:05:13 +01:00
Michael Niedermayer
377cfc28a2 avcodec/vaapi: fix pointer types after H264Picture changes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 12:45:36 +01:00
Michael Niedermayer
9517900bef Merge commit 'e0c16e4e3259cf50b5bac4c23bb6e517f397c74b'
* commit 'e0c16e4e3259cf50b5bac4c23bb6e517f397c74b':
  mpegvideo: move mpegvideo formats-related defines to mpegutils.h

Conflicts:
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_mvpred.h
	libavcodec/svq1enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 12:36:48 +01:00
Michael Niedermayer
3e5833802e Merge commit '136034d86b5cb1819a2c3e6ecdfeb05dcba7140d'
* commit '136034d86b5cb1819a2c3e6ecdfeb05dcba7140d':
  h264: Remove MotionEstContext and move the relevant fields to H264Context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 12:26:09 +01:00
Michael Niedermayer
bb3c0571d3 Merge commit 'e3c2d0f3d41f79f7be7ba944aaca2e287c7d5c7c'
* commit 'e3c2d0f3d41f79f7be7ba944aaca2e287c7d5c7c':
  h264: Replace mpegvideo-specific MAX_THREADS by private define

Conflicts:
	libavcodec/h264.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 06:17:29 +01:00
Michael Niedermayer
a81a2b514e Merge commit '5d1c2e53ab3ce27b48c138d22bb01ff8e8304f27'
* commit '5d1c2e53ab3ce27b48c138d22bb01ff8e8304f27':
  h264: Replace mpegvideo-specific MAX_PICTURE_COUNT by private define

Conflicts:
	libavcodec/h264.c
	libavcodec/h264_ps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 06:05:19 +01:00
Michael Niedermayer
6102dda1d7 avcodec/h264: h264_set_erpic() clear destination
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 05:52:05 +01:00
Michael Niedermayer
c237e88d51 Merge commit '9b749c8274f6b6f35dde2cf29b99fa4f719abf87'
* commit '9b749c8274f6b6f35dde2cf29b99fa4f719abf87':
  h264: move relevant fields from Picture to H264Picture

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 05:51:27 +01:00
Michael Niedermayer
4f22e39e65 avcodec/error_resilience: fix the case when MVs are not available
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 05:36:17 +01:00
Michael Niedermayer
8ef9dcf1d7 avcodec/mpegvideo: ff_mpeg_set_erpic() clear destination
Fixes crash

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 05:13:59 +01:00
Michael Niedermayer
533bc4c0a3 Merge commit 'd66e305bd1b4f3e91ae4e7e549148509d0811672'
* commit 'd66e305bd1b4f3e91ae4e7e549148509d0811672':
  er: move relevant fields from Picture to ERPicture

Conflicts:
	libavcodec/error_resilience.c
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 05:08:46 +01:00
Michael Niedermayer
3dab9e804a Merge commit '1c79b1625d4d257bfd01eccb84cc0ab355fb9a9e'
* commit '1c79b1625d4d257bfd01eccb84cc0ab355fb9a9e':
  h264: directly use frames in ff_h264_draw_horiz_band()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 04:41:36 +01:00
Michael Niedermayer
3ddf9b5b77 Merge commit '75af13a'
* commit '75af13a':
  mpegvideo: directly use frames in ff_draw_horiz_band()

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 04:35:48 +01:00
Matt Oliver
b73aae6fe9 avcodec/x86/idct_sse2_xvid: move offsets out of MANGLE()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 04:19:59 +01:00
Michael Niedermayer
8e92ff2546 avcodec/h264: be more tolerant on what pixel format changes trigger reinits
Fixes Ticket3260

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 02:37:29 +01:00
Matt Oliver
9eb3f11c55 Add missing external declarations.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 00:48:09 +01:00
Matt Oliver
590805b7c3 Fixed 64bit conformance with mvzbl.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 00:13:50 +01:00
Michael Niedermayer
2f955d572b swscale/x86/swscale: remove unused constants
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 00:06:45 +01:00
Vittorio Giovara
75177b2f5e libx264: check color_range 2014-03-16 23:31:30 +01:00
Vittorio Giovara
bf0d7da7cb ljpeg: check color_range 2014-03-16 23:31:30 +01:00
Vittorio Giovara
2183432e6d mdec: set color_range 2014-03-16 23:31:30 +01:00
Vittorio Giovara
1c1fbc70ca mjpeg: set color_range 2014-03-16 23:31:30 +01:00
Vittorio Giovara
6612a03d74 fraps: set color_range 2014-03-16 23:31:30 +01:00
Carl Eugen Hoyos
5b1b91cfb8 tiff: Support rgba encoding 2014-03-16 23:31:29 +01:00
Jean First
6d78e852fb img2: add j2c file extension
Some applications use the j2c extension for jpeg2000 codestream files.
2014-03-16 23:31:29 +01:00
Carl Eugen Hoyos
58c215961a raw, nut: Support rgba64 encoding 2014-03-16 23:29:51 +01:00
Carl Eugen Hoyos
cccac7654f png: Support rgb48 and rgba64 encoding 2014-03-16 23:29:51 +01:00
Vittorio Giovara
c598b569fb png: K&R formatting cosmetics 2014-03-16 23:29:50 +01:00
Vittorio Giovara
f7518f1a0e codec_desc: update dvaudio tag 2014-03-16 23:05:48 +01:00
Michael Niedermayer
6d7b22fb8f isom: fix C99-style declaration 2014-03-16 23:05:48 +01:00
Jean First
1481d24c3a RGBA64 pixel formats
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-03-16 23:05:47 +01:00
Vittorio Giovara
d24e9a99a4 h264 does not depend on mpegvideo any more 2014-03-16 23:05:47 +01:00
Vittorio Giovara
7245a0ae87 mpegvideo: remove h264-only fields 2014-03-16 23:05:47 +01:00
Vittorio Giovara
be039278b5 mpegvideo: move ff_draw_horiz_band() to mpegutils.c
Drop the mpegvideo dependency for svq3 in configure.
2014-03-16 23:05:39 +01:00
Vittorio Giovara
e0c16e4e32 mpegvideo: move mpegvideo formats-related defines to mpegutils.h 2014-03-16 23:04:41 +01:00
Vittorio Giovara
136034d86b h264: Remove MotionEstContext and move the relevant fields to H264Context
Unused buffers scratchpad and temp have been dropped too.
2014-03-16 23:01:01 +01:00
Vittorio Giovara
e3c2d0f3d4 h264: Replace mpegvideo-specific MAX_THREADS by private define 2014-03-16 23:01:01 +01:00
Vittorio Giovara
5d1c2e53ab h264: Replace mpegvideo-specific MAX_PICTURE_COUNT by private define 2014-03-16 23:01:01 +01:00
Vittorio Giovara
9b749c8274 h264: move relevant fields from Picture to H264Picture 2014-03-16 23:01:00 +01:00
Vittorio Giovara
d66e305bd1 er: move relevant fields from Picture to ERPicture
This is done to disentangle ER from mpegvideo. In order to use a
classic Picture, callers can use ff_mpeg_set_erpic() or use a custom function
to set the fields. Please note that buffers need to be allocated before
calling ff_er_frame_end().
2014-03-16 23:01:00 +01:00
Vittorio Giovara
1c79b1625d h264: directly use frames in ff_h264_draw_horiz_band() 2014-03-16 23:01:00 +01:00
Vittorio Giovara
75af13a0e4 mpegvideo: directly use frames in ff_draw_horiz_band() 2014-03-16 23:01:00 +01:00
Michael Niedermayer
0efacc7f9a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aacdec: Lower the number of frames required to detect ADTS

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-16 22:38:05 +01:00
Michael Niedermayer
6dd007ad99 Merge commit '0412cb67cda05b08dfca6bfc4ff664ea917fa932'
* commit '0412cb67cda05b08dfca6bfc4ff664ea917fa932':
  aacdec: Don't count probed ADTS frames if there are false positives

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-16 22:25:15 +01:00
Martin Storsjö
3b1c9eb0ff aacdec: Lower the number of frames required to detect ADTS
For live audio streams, requiring 500 frames for a stream to
be detected is a bit overkill.

This allows live ADTS streams that don't start nicely at
a frame boundary to start up more quickly, e.g.
http://mp3.streampower.be/radio1.aac.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-16 21:04:00 +02:00
Martin Storsjö
0412cb67cd aacdec: Don't count probed ADTS frames if there are false positives
If a portion of the probe buffer seem to resemble ADTS frames,
but some data at the end is a mismatch, disregard the whole
probing attempt. If it actually is ADTS data, there shouldn't be
any mismatches within the sequential frame data.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-16 20:58:41 +02:00
Michael Niedermayer
b74792a027 Changelog: move post 2.2 branching entries out of the 2.2 changelog
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-16 19:15:58 +01:00
Peter Ross
40f88796c6 Phantom Cine demuxer (iteration 2014.3)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-16 18:24:30 +01:00
Peter Ross
97bb0076c5 avcodec/rawdec: decode 16-bit aligned and packed 'raw' pixel formats where bits_per_coded_sample < 16
The bit packing method is communicted via codec_tag:
    BIT[0]  big-endian packing
    BIT[16] 16-bit little endian packing
    BIT[32] 32-bit little-endian packing

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-16 18:24:23 +01:00
Jasper Taylor
0d5ae023b2 avfilter/vf_tinterlace: Fix vf_tinterlace mode 6 (interlacex2)
The purpose of this filter mode is to allow interlaced content to
display properly in interlaced video modes, as described in
http://forum.xbmc.org/showthread.php?tid=81834 and
https://github.com/mpv-player/mpv/issues/624#issuecomment-37685195 . The
filter doubles the video frame rate, but does not work properly because:
(1) it does not set the properties of the output stream to indicate the
doubled frame rate, and
(2) it does not set an appropriate PTS on the extra frames.
The attached patch fixes these problems by settling these values the
same way they are set in vf_yadif mode 1 (field) which also doubles the
frame rate.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-16 17:25:54 +01:00
Michael Niedermayer
9b1d264e87 avformat/movenc: omit avformat ident from isml_manifest for bitexact mode
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-16 16:34:46 +01:00
Michael Niedermayer
10c14264db avformat/movenc: omit LIBAVCODEC_IDENT for bitexact mode from uuidusmt_tag
This code is apparently not tested by fate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-16 16:33:34 +01:00
Michael Niedermayer
a17ee4117d avformat/movenc: only ommit encoder tag of the metadata for bitexact mode
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-16 16:26:35 +01:00
Michael Niedermayer
25bcf24d4d ffmpeg_opt: check that a subtitle encoder is available before auto mapping streams
Fixes Ticket3470

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-16 15:15:02 +01:00
Michael Niedermayer
267c5723e0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  FATE: add a test for the ONE_STR mapping mode of the channelmap filter

Conflicts:
	tests/fate/filter-audio.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-16 14:32:47 +01:00
Michael Niedermayer
c198af648a Merge commit 'e843612695007cc623813073754c651ab43021f7'
* commit 'e843612695007cc623813073754c651ab43021f7':
  af_channelmap: fix ONE_STR mapping mode

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-16 14:18:01 +01:00
Michael Niedermayer
cd0982e189 avformat/isom: fix mix of declaration and statement
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-16 14:05:14 +01:00
Michael Niedermayer
09680951df Merge commit '8f629a986c46f227abda1811a6ad1f449871ca35'
* commit '8f629a986c46f227abda1811a6ad1f449871ca35':
  isom: convert mp4 dvdsub extradata to vobsub format

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-16 13:34:38 +01:00
Anton Khirnov
a84c8af042 FATE: add a test for the ONE_STR mapping mode of the channelmap filter 2014-03-16 07:44:03 +01:00
Anton Khirnov
e843612695 af_channelmap: fix ONE_STR mapping mode
get_channel() returns 0 on success

CC:libav-stable@libav.org
2014-03-16 07:43:52 +01:00
Michael Niedermayer
4d17179b37 ffmpeg: fix printing INT64_MIN pts at the end
Fixes Ticket3427

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-16 06:26:40 +01:00
Michael Niedermayer
6c47a4e972 swscale/x86/swscale: fix missing xmm clobbers in yuv2yuvX_sse3()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-15 22:52:22 +01:00
Michael Niedermayer
8803b970ef ffmpeg_opt: Check ist is valid before using it in audio_channels_map init
Fixes segfault and instead provides an error message
Fixes Ticket3465

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-15 22:14:08 +01:00
Michael Niedermayer
06a3185e38 avcodec/mpegvideo_enc: dont use direct mode for unaligned input
Fixes Ticket3456

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-15 14:56:42 +01:00
Michael Niedermayer
da89572004 avcodec: Move STRIDE_ALIGN to internal.h
The next commit/bugfix will need it

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-15 14:56:42 +01:00
wm4
8f629a986c isom: convert mp4 dvdsub extradata to vobsub format
mp4 files embedding DVD subtitles do not use the same extradata format
as the rest of Libav expects. The subtitle decoder in libavcodec in
particular does not understand this format.

Convert the extradata to the vobsub .idx format. mp4 stores the palette
as binary 32 bit ints in YUV. The subtitle resolution is stored
separately in the track header, which we access through AVStream.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-03-15 14:32:58 +01:00
Peter Ross
847d8af59a avformat/id3v2: decode compilation metadata
Described http://id3.org/iTunes%20Compilation%20Flag

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-15 04:29:19 +01:00
Peter Ross
ac9bfb1faf avformat/movenc: encode compilation metadata
Fixes ticket #2960.

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-15 04:29:11 +01:00
Peter Ross
dadf668df2 avformat/mov: decode compilation metadata
This flag is known as 'Part of a compilation' in Apple iTunes.

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-15 04:28:58 +01:00
Peter Ross
d1bb17940d avcodec/adpcm: ADPCM_IMA_DK3 packets are padded to 16-bit packet boundary
Fixes ticket #3461.

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-15 01:34:42 +01:00
Michael Niedermayer
41d08ca575 avcodec/arm/cabac: fix inline cabac reader with the UNCHECKED bitstream reader
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-15 01:08:45 +01:00
Michael Niedermayer
2b8d28439b avcodec/h264_cabac: move the arm unchecked_bitstream reader special case closer to where the issue is
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-15 01:02:31 +01:00
Michael Niedermayer
669235e0b3 avcodec/h264_cabac: disable the unchecked bitstream reader for arm & aarch64
The newly added optimizations do not work with the unchecked reader

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-15 00:58:48 +01:00
Yu Xiaolei
fbe9ae482d avfilter: make avfilter_graph_get_filter use const string name
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 23:18:59 +01:00
Michael Niedermayer
c17dea05f7 configure: factorize mips arch extensions out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 19:49:02 +01:00
Michael Niedermayer
f6122ed375 configure: remove unused identifer that was added by cleanups
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 19:47:46 +01:00
Michael Niedermayer
a8a84fa8b2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  codec_desc: group image codecs together

Conflicts:
	libavcodec/codec_desc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 19:36:46 +01:00
Michael Niedermayer
4d10b93bd1 Merge commit 'd42ea06798b83d87397449ec6aad40cb5ea46e43'
* commit 'd42ea06798b83d87397449ec6aad40cb5ea46e43':
  codec_desc: add missing .long_name

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 19:24:09 +01:00
Michael Niedermayer
11e66d20d5 Merge commit '999d31d354f1f0616a09691913659ac0abdcc899'
* commit '999d31d354f1f0616a09691913659ac0abdcc899':
  codec_desc: K&R formatting cosmetics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 19:16:04 +01:00
Michael Niedermayer
56a498bbba Merge commit '7a650caf6436ddfe417bdcb5ce520c96c779af7b'
* commit '7a650caf6436ddfe417bdcb5ce520c96c779af7b':
  configure: Split some logical blocks off from HAVE_LIST

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 19:08:14 +01:00
Michael Niedermayer
332f169855 Merge commit 'd0adf55c05beaf80420747dded2d1884bff377ec'
* commit 'd0adf55c05beaf80420747dded2d1884bff377ec':
  configure: Split some logical blocks off from CONFIG_LIST

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 18:40:29 +01:00
Michael Niedermayer
2b94189e96 Merge commit '07ea8a7e943ea6a7bdcd736e2fc3ed357dc15c57'
* commit '07ea8a7e943ea6a7bdcd736e2fc3ed357dc15c57':
  configure: Group and sort function/struct/type checks

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 18:30:03 +01:00
Michael Niedermayer
5e5d8ace8a Merge commit '36b822b8be7f9ecd6f9d87acaa786b128a873cd9'
* commit '36b822b8be7f9ecd6f9d87acaa786b128a873cd9':
  arm: dsputil: Drop restrict keyword from add_pixels_clamped_armv6 prototype

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 18:25:04 +01:00
Vittorio Giovara
f20977921b codec_desc: group image codecs together 2014-03-14 17:50:35 +01:00
Vittorio Giovara
d42ea06798 codec_desc: add missing .long_name 2014-03-14 17:50:35 +01:00
Vittorio Giovara
999d31d354 codec_desc: K&R formatting cosmetics 2014-03-14 17:50:34 +01:00
James Almer
722b48bc12 configure: add missing avx2 support check
AVX2 support was introduced in Yasm 1.2.0, and some distros
like Debian still feature version 1.1.0

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 17:28:00 +01:00
Peter Ross
7380201451 avcodec/adpcm: squelch 'mismatch in coded sample count' warning for AV_CODEC_ID_ADPCM_EA_R2/3
These ADPCM codecs include a per-frame flag that enables a raw 16-bit mode. Therefore
the the number of samples returned by get_nb_samples() is only ever approximate.

Fixes ticket #3460.

Signed-off-by: Peter Ross <pross@xvid.org>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 17:21:59 +01:00
Michael Niedermayer
2c9e5cb1a6 avcodec/arm/fft_fixed_neon: reduce diff by 2 spaces to libav
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 14:28:28 +01:00
Diego Biurrun
7a650caf64 configure: Split some logical blocks off from HAVE_LIST 2014-03-14 13:45:40 +01:00
Diego Biurrun
d0adf55c05 configure: Split some logical blocks off from CONFIG_LIST 2014-03-14 13:45:40 +01:00
Diego Biurrun
07ea8a7e94 configure: Group and sort function/struct/type checks
Group checks into logical groups and sort alphabetically within those groups
unless checks have close coupling. Keep closely coupled checks together.
2014-03-14 13:45:40 +01:00
Diego Biurrun
36b822b8be arm: dsputil: Drop restrict keyword from add_pixels_clamped_armv6 prototype
The function is assigned to a function pointer that does not have the
restrict keyword for that parameter.

This fixes compilation for MSVC builds that don't recognize "restrict",
broken since ed9625eb62.
2014-03-14 13:45:40 +01:00
Michael Niedermayer
b5bdd04f08 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aac: K&R formatting cosmetics

Conflicts:
	libavformat/aacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 12:00:45 +01:00
Michael Niedermayer
0c402810fa Merge commit '2e708f17083fc41f10161f2406d57ec154c75468'
* commit '2e708f17083fc41f10161f2406d57ec154c75468':
  ljpeg: fix duplicated pixel format entry

Conflicts:
	libavcodec/ljpegenc.c

No change as there was no duplicate entry in ffmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 11:52:28 +01:00
Michael Niedermayer
dded5ed9c5 avcodec/libx265: fill headers in extradata
Fixes Ticket3457

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 04:26:24 +01:00
Michael Niedermayer
f3d3e3fa4e Merge commit 'eb2b8bce39c93d16a02656238248c6cf697f447f'
* commit 'eb2b8bce39c93d16a02656238248c6cf697f447f':
  bfin: Use more sensible file names

Conflicts:
	libavcodec/bfin/pixels.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 02:12:45 +01:00
Michael Niedermayer
be60e20498 Merge commit '929ec39ec4497827f7530f2aaa31646ef35462ee'
* commit '929ec39ec4497827f7530f2aaa31646ef35462ee':
  bfin: hpeldsp: Split no_rnd pixel operations off into a separate file

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 02:06:21 +01:00
Michael Niedermayer
26f4a50982 Merge commit 'a7cc4ac9d99bd586c8939f4312f8c9e56d5f5730'
* commit 'a7cc4ac9d99bd586c8939f4312f8c9e56d5f5730':
  bfin: dsputil: Unconditionally compile hpel pixels code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 02:04:56 +01:00
Michael Niedermayer
866e11b33b Merge commit '13ae97b210f35d77290f4edb0d6846269271729a'
* commit '13ae97b210f35d77290f4edb0d6846269271729a':
  bfin: hpeldsp: "nornd" ---> "no_rnd" function name suffix for consistency

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 02:04:42 +01:00
Michael Niedermayer
c49797637f Merge commit 'bbf0ef57e9d2d7bb2995f664dd74c8229bca25f5'
* commit 'bbf0ef57e9d2d7bb2995f664dd74c8229bca25f5':
  bfin: Move all assembly declarations only used within one .c file there

Conflicts:
	libavcodec/bfin/dsputil_bfin.h
	libavcodec/bfin/vp3_bfin.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 01:57:41 +01:00
Michael Niedermayer
cbf190f7ae Merge commit '80173c71bab3b8817c148837bdc920557018f428'
* commit '80173c71bab3b8817c148837bdc920557018f428':
  bfin: hpeldsp: K&R formatting cosmetics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 01:56:45 +01:00
Michael Niedermayer
3141b04c7f Merge commit 'da785231ea0b82b5c2526babbb2871c935b21a87'
* commit 'da785231ea0b82b5c2526babbb2871c935b21a87':
  bfin: Refactor duplicated assembly-related macros

Conflicts:
	libavcodec/bfin/hpel_pixels_bfin.S

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 01:56:25 +01:00
Michael Niedermayer
91a61c4c15 Merge commit 'e99af2a3b1660b4f328335149980064692097cad'
* commit 'e99af2a3b1660b4f328335149980064692097cad':
  bfin: Refactor duplicated l1_text/l1_data_B macros

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 01:49:44 +01:00
Michael Niedermayer
edf4261350 Merge commit 'a3e7562621bd96ce909e07149c419b6ba85cc54f'
* commit 'a3e7562621bd96ce909e07149c419b6ba85cc54f':
  bfin: dsputil: K&R formatting cosmetics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 01:48:57 +01:00
Michael Niedermayer
a4369dbb8f Merge commit '1e33095b83addd8d24bc16bd08aa734fa161d515'
* commit '1e33095b83addd8d24bc16bd08aa734fa161d515':
  bfin: dsputil: Drop broken and trivial profiling code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 01:48:39 +01:00
Michael Niedermayer
2b02c1a698 Merge commit 'f5f099766816aab3ad805c63e85f12cb664dc9a8'
* commit 'f5f099766816aab3ad805c63e85f12cb664dc9a8':
  bfin: hpeldsp: Drop broken put_pixels_*_xy2_nornd bits

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 01:43:08 +01:00
Michael Niedermayer
c686cf23aa Merge commit '14efbe694ac5beff98f5c5e652c166603f1738cf'
* commit '14efbe694ac5beff98f5c5e652c166603f1738cf':
  bfin: dsputil: Drop broken vsad bits

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 01:42:47 +01:00
Michael Niedermayer
0f95856834 Merge commit '671c8785596ea4a45817ba302289004ff456630a'
* commit '671c8785596ea4a45817ba302289004ff456630a':
  bfin: dsputil: Remove unused global variable

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 01:42:20 +01:00
Michael Niedermayer
5dd97d5809 Merge commit 'db3f61a04f1f66746660f921bb2780ddf1141f3b'
* commit 'db3f61a04f1f66746660f921bb2780ddf1141f3b':
  x86: dsputil_init: Drop some unnecessary parentheses

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 01:25:57 +01:00
Michael Niedermayer
27cab16ce7 Merge commit '441b093915717afa7d24be34bdab2a4911b30a57'
* commit '441b093915717afa7d24be34bdab2a4911b30a57':
  x86: dsputil_init: K&R formatting cosmetics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 01:25:36 +01:00
Michael Niedermayer
236874a571 Merge commit '4cb4680c1087a2cd13d4b0c9167a2eb3147f99d8'
* commit '4cb4680c1087a2cd13d4b0c9167a2eb3147f99d8':
  x86: dsputil_x86.h: K&R formatting cosmetics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 01:25:19 +01:00
Luca Barbato
afdf94689c aac: K&R formatting cosmetics
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-03-14 01:24:31 +01:00
Michael Niedermayer
925ce6faf4 Merge commit 'f8bbebecfd7ea3dceb7c96f931beca33f80a3490'
* commit 'f8bbebecfd7ea3dceb7c96f931beca33f80a3490':
  x86: motion_est: K&R formatting cosmetics

Conflicts:
	libavcodec/x86/motion_est.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 01:20:43 +01:00
Michael Niedermayer
b7a5f5dc66 Merge commit 'a36947c167d7278b891453083b57dc56b7a7f5c5'
* commit 'a36947c167d7278b891453083b57dc56b7a7f5c5':
  dsputilenc_mmx: K&R formatting cosmetics

Conflicts:
	libavcodec/x86/dsputilenc_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 01:09:57 +01:00
Michael Niedermayer
d926c4b240 Merge commit '38675229a879aa5258a8c71891fc8cbf74cf139f'
* commit '38675229a879aa5258a8c71891fc8cbf74cf139f':
  dsputil_mmx: K&R formatting cosmetics

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 01:01:37 +01:00
Michael Niedermayer
55f53f6c29 Merge commit '6a8b35dc88b4a1a452f192fbbf53ae7f59bc3f23'
* commit '6a8b35dc88b4a1a452f192fbbf53ae7f59bc3f23':
  dsputilenc_mmx: Merge two assignment blocks with identical conditions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 00:57:25 +01:00
Michael Niedermayer
fdf4eb7911 Merge commit '945673f792eb4141860ed66664156df685f7b7f0'
* commit '945673f792eb4141860ed66664156df685f7b7f0':
  dsputil_template: K&R formatting cosmetics

Conflicts:
	libavcodec/dsputil_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 00:52:07 +01:00
Michael Niedermayer
3a27f968f9 Merge commit 'acd2b8e42df25d46440583f93c12e5f285aebb31'
* commit 'acd2b8e42df25d46440583f93c12e5f285aebb31':
  rnd_avg.h: K&R formatting cosmetics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 00:45:26 +01:00
Michael Niedermayer
6016b8329b Merge commit '05563ccacc98fd185affdbf8cbaf094caf36b852'
* commit '05563ccacc98fd185affdbf8cbaf094caf36b852':
  dsputil: cosmetics: Lose camelCase on ff_cropTbl and ff_squareTbl names

Conflicts:
	libavcodec/bit_depth_template.c
	libavcodec/motionpixels_tablegen.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 00:39:51 +01:00
Michael Niedermayer
16f619f57c Merge commit '635ec127d4bc0c49ae0ac4a50acd3da1ca8c2150'
* commit '635ec127d4bc0c49ae0ac4a50acd3da1ca8c2150':
  dsputil: Merge variable declarations and initializations

Conflicts:
	libavcodec/dsputil_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 00:37:28 +01:00
Michael Niedermayer
dd7c2e9bce Merge commit 'bb12c2e9c00e3d3c393885849b8fa31cd849dc92'
* commit 'bb12c2e9c00e3d3c393885849b8fa31cd849dc92':
  dsputil: K&R formatting cosmetics

Conflicts:
	libavcodec/dsputil.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 00:31:48 +01:00
Michael Niedermayer
db94b144e9 Merge commit '503dda7d4f5b4d76eed0239e9da66993a182b009'
* commit '503dda7d4f5b4d76eed0239e9da66993a182b009':
  dsputil.h: K&R formatting cosmetics

Conflicts:
	libavcodec/dsputil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 00:18:38 +01:00
Michael Niedermayer
153557dfcb Merge commit '8199bb7be0db423bcbbd252d092386634fcf1d68'
* commit '8199bb7be0db423bcbbd252d092386634fcf1d68':
  dsputil.h: Clean up comments

Conflicts:
	libavcodec/dsputil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 00:10:31 +01:00
Michael Niedermayer
ea2bd139b7 Merge commit '0a8f91b1fbc1b627d8db8c734c812beb32102936'
* commit '0a8f91b1fbc1b627d8db8c734c812beb32102936':
  dsputil: Remove disabled avg_no_rnd_qpel leftovers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 00:07:47 +01:00
Michael Niedermayer
4104eb44e6 Merge commit '55519926ef855c671d084ccc151056de9e3d3a77'
* commit '55519926ef855c671d084ccc151056de9e3d3a77':
  x86: Make function prototype comments in assembly code consistent

Conflicts:
	libavcodec/x86/sbrdsp.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 00:01:30 +01:00
Michael Niedermayer
a9b1936a4e Merge commit 'edd1f833fa145eb9c5026877c699ebe6efca00a0'
* commit 'edd1f833fa145eb9c5026877c699ebe6efca00a0':
  x86: h264_idct_10_bit: Use proper type in function prototype comments

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 00:00:16 +01:00
Michael Niedermayer
1c788eaca9 Merge commit '831a1180785a786272cdcefb71566a770bfb879e'
* commit '831a1180785a786272cdcefb71566a770bfb879e':
  Update dsputil- and SIMD-related comments to match reality more closely

Conflicts:
	libavcodec/x86/hpeldsp.asm
	libavutil/arm/float_dsp_init_arm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 23:59:56 +01:00
Michael Niedermayer
be879af217 Merge commit 'd1184b8110b4847013bf25222e6809eb3462913c'
* commit 'd1184b8110b4847013bf25222e6809eb3462913c':
  arm: dsputil: Add a bunch of missing #includes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 23:41:40 +01:00
Michael Niedermayer
d61e1156be Merge commit '17608f6ee3d2088cdb8d1e704276d8b34f01160d'
* commit '17608f6ee3d2088cdb8d1e704276d8b34f01160d':
  x86: Add some more missing headers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 23:41:17 +01:00
Michael Niedermayer
e52d97a7ac Merge commit 'fd9e2221bd3b2c5d62605134b62efa26eb9ef0f7'
* commit 'fd9e2221bd3b2c5d62605134b62efa26eb9ef0f7':
  ppc: Add some missing headers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 23:40:55 +01:00
Michael Niedermayer
5dce8e56c6 Merge commit 'ed9625eb62be1e1c44cecdd73ea0d80077a15d48'
* commit 'ed9625eb62be1e1c44cecdd73ea0d80077a15d48':
  dsputil: Move intreadwrite.h #include from header file to .c files

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 23:30:43 +01:00
Michael Niedermayer
f5e6b49cd2 Merge commit '9103185bd116930f90b847090e66a64fa9971ce2'
* commit '9103185bd116930f90b847090e66a64fa9971ce2':
  dsputil: Drop ff_check_alignment() function

Conflicts:
	libavcodec/dsputil.c

Not merged, as this check can safe the user and us some time
debuging misalignment issues.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 23:24:50 +01:00
Michael Niedermayer
1306359ea9 Merge commit '49676eb7301e775d08bdbba5380159b106ee258f'
* commit '49676eb7301e775d08bdbba5380159b106ee258f':
  dsputil: Remove prototypes for nonexisting optimization functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 22:56:08 +01:00
Vittorio Giovara
2e708f1708 ljpeg: fix duplicated pixel format entry 2014-03-13 22:55:37 +01:00
Michael Niedermayer
8ccf21839a Merge commit '08dba0e1c3df3b71270ebce4527bffa155b91b97'
* commit '08dba0e1c3df3b71270ebce4527bffa155b91b97':
  x86: mpegvideoenc: Remove some remnants of the long-gone libmpeg2 IDCT

Not merged as the removed code is still used

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 22:52:52 +01:00
Michael Niedermayer
b7cffc81b7 avcodec/sparc: add note about the removial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 22:37:38 +01:00
Michael Niedermayer
3fc2362aef Merge commit 'b4dd424d96f09f9bafb88e47f37df65dc4529143'
* commit 'b4dd424d96f09f9bafb88e47f37df65dc4529143':
  Remove all SPARC architecture optimizations

Conflicts:
	Makefile
	configure
	libavcodec/sparc/dsputil_vis.c
	libavcodec/sparc/dsputil_vis.h
	libavcodec/sparc/hpeldsp_vis.c
	libavcodec/sparc/simple_idct_vis.c
	libavcodec/sparc/vis.h
	libswscale/sparc/yuv2rgb_vis.c
	libswscale/swscale_internal.h

If someone wants to maintain these (or other) SPARC optimizations, please
contact me or ffmpeg-devel.
I am happy to revert this removial if theres someone considering to
maintain this code.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 22:35:47 +01:00
Michael Niedermayer
fb1b70c1ed libavcodec/sh4: add note about the removial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 22:24:19 +01:00
Michael Niedermayer
7ac1e27f0f Merge commit 'd6096a67422534918405abb46dafbbac4608cbc3'
* commit 'd6096a67422534918405abb46dafbbac4608cbc3':
  Remove all SH4 architecture optimizations

Conflicts:
	libavcodec/sh4/dsputil_sh4.c
	libavcodec/sh4/dsputil_sh4.h
	libavcodec/sh4/idct_sh4.c
	libavcodec/sh4/sh4.h

If someone wants to maintain these (or other) SH4 optimizations, please
contact me or ffmpeg-devel.
I am happy to revert this removial if theres someone considering to
maintain this code.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 22:06:01 +01:00
Michael Niedermayer
cbfc9046e1 Merge commit 'bbb64356cca65d7a2a33f59b2267ee58f28a061a'
* commit 'bbb64356cca65d7a2a33f59b2267ee58f28a061a':
  build: Record dependency of eatqi decoder on dsputil

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 21:40:41 +01:00
Michael Niedermayer
96b02460fc Merge commit 'b5f112d820934ade66e809ef30bfcfc8210929f8'
* commit 'b5f112d820934ade66e809ef30bfcfc8210929f8':
  configure: Add explicit dsputil dependency to mpegvideoenc

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 21:35:56 +01:00
Michael Niedermayer
daded4f89a Merge commit 'cd832f032f945a57a1f1dd385942c2fadc7ce4e5'
* commit 'cd832f032f945a57a1f1dd385942c2fadc7ce4e5':
  ffv1: Drop bogus dependency on dsputil

Conflicts:
	configure
	libavcodec/ffv1.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 21:26:49 +01:00
Michael Niedermayer
981aa02338 Merge commit '0e29c5e1285eeb5b4842d96d00dfe06898cd87e5'
* commit '0e29c5e1285eeb5b4842d96d00dfe06898cd87e5':
  build: Drop stray LPC dependency on dsputil

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 21:23:42 +01:00
Michael Niedermayer
2631d155ba Merge commit '6cd76e5412d794dbd1cc6ab0e4c9f2ee53cf028f'
* commit '6cd76e5412d794dbd1cc6ab0e4c9f2ee53cf028f':
  build: Drop stray MJPEG encoder dependency on dsputil

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 21:17:46 +01:00
Michael Niedermayer
07dbdcf9d0 Merge commit '9ecf1b62f37ef9cbdf2d7300a052cd704c4ba731'
* commit '9ecf1b62f37ef9cbdf2d7300a052cd704c4ba731':
  build: Drop stray MLP decoder dependency on dsputil

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 21:16:13 +01:00
Michael Niedermayer
ecf16f039d Merge commit '7d7be44f3e8bc14224540a477ef0607f18964421'
* commit '7d7be44f3e8bc14224540a477ef0607f18964421':
  build: Drop stray PNG decoder dependency on dsputil

Conflicts:
	configure

No change as the stray dependency was not in our configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 21:10:43 +01:00
Michael Niedermayer
4b50de88a4 Merge commit '88b240646f57a62299c6c4c4d7554f0a80c3a29a'
* commit '88b240646f57a62299c6c4c4d7554f0a80c3a29a':
  build: Drop stray mpc8 decoder dependency on dsputil

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 21:06:42 +01:00
Michael Niedermayer
a47dfdfa7d Merge commit 'fb9a5bdc516b75b4ba1e36ca2223dec46571dea3'
* commit 'fb9a5bdc516b75b4ba1e36ca2223dec46571dea3':
  Prepare for 11_alpha1 Release

Conflicts:
	RELEASE

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 21:01:14 +01:00
Michael Niedermayer
8b02dfd37c avutil/timestamp: Warn about missing __STDC_FORMAT_MACROS for C++ use
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 17:32:15 +01:00
Diego Biurrun
eb2b8bce39 bfin: Use more sensible file names
Drop non-informative _bfin suffix, rename some files for consistency with
other architectures, rename others to reflect their content.
2014-03-13 08:15:53 -07:00
Diego Biurrun
929ec39ec4 bfin: hpeldsp: Split no_rnd pixel operations off into a separate file
This saves some space in configurations that do not enable hpeldsp.
2014-03-13 08:15:53 -07:00
Diego Biurrun
a7cc4ac9d9 bfin: dsputil: Unconditionally compile hpel pixels code
The functions it contains are used from unconditionally compiled code.
2014-03-13 08:15:53 -07:00
Diego Biurrun
13ae97b210 bfin: hpeldsp: "nornd" ---> "no_rnd" function name suffix for consistency 2014-03-13 08:15:53 -07:00
Diego Biurrun
bbf0ef57e9 bfin: Move all assembly declarations only used within one .c file there
This is done similarly for all other architectures.
2014-03-13 08:15:53 -07:00
Diego Biurrun
80173c71ba bfin: hpeldsp: K&R formatting cosmetics 2014-03-13 08:15:52 -07:00
Diego Biurrun
da785231ea bfin: Refactor duplicated assembly-related macros 2014-03-13 08:15:52 -07:00
Diego Biurrun
e99af2a3b1 bfin: Refactor duplicated l1_text/l1_data_B macros 2014-03-13 08:15:52 -07:00
Diego Biurrun
a3e7562621 bfin: dsputil: K&R formatting cosmetics
Also add a few #endif comments.
2014-03-13 08:15:52 -07:00
Diego Biurrun
1e33095b83 bfin: dsputil: Drop broken and trivial profiling code 2014-03-13 08:15:52 -07:00
Diego Biurrun
f5f0997668 bfin: hpeldsp: Drop broken put_pixels_*_xy2_nornd bits
They were marked as broken and disabled in 2009 and will never get fixed.
2014-03-13 08:15:52 -07:00
Diego Biurrun
14efbe694a bfin: dsputil: Drop broken vsad bits
They were marked as broken and disabled in 2009 and will never get fixed.
2014-03-13 08:15:52 -07:00
Diego Biurrun
671c878559 bfin: dsputil: Remove unused global variable 2014-03-13 08:15:51 -07:00
Diego Biurrun
db3f61a04f x86: dsputil_init: Drop some unnecessary parentheses 2014-03-13 08:15:51 -07:00
Diego Biurrun
441b093915 x86: dsputil_init: K&R formatting cosmetics 2014-03-13 08:15:51 -07:00
Diego Biurrun
4cb4680c10 x86: dsputil_x86.h: K&R formatting cosmetics 2014-03-13 08:15:51 -07:00
Diego Biurrun
f8bbebecfd x86: motion_est: K&R formatting cosmetics 2014-03-13 08:15:51 -07:00
Diego Biurrun
a36947c167 dsputilenc_mmx: K&R formatting cosmetics 2014-03-13 08:15:51 -07:00
Diego Biurrun
38675229a8 dsputil_mmx: K&R formatting cosmetics 2014-03-13 08:15:51 -07:00
Diego Biurrun
6a8b35dc88 dsputilenc_mmx: Merge two assignment blocks with identical conditions 2014-03-13 08:15:51 -07:00
Diego Biurrun
945673f792 dsputil_template: K&R formatting cosmetics 2014-03-13 08:15:50 -07:00
Diego Biurrun
acd2b8e42d rnd_avg.h: K&R formatting cosmetics 2014-03-13 08:15:50 -07:00
Diego Biurrun
05563ccacc dsputil: cosmetics: Lose camelCase on ff_cropTbl and ff_squareTbl names
Also switch from "tbl" to "tab" name suffixes.
2014-03-13 08:12:44 -07:00
Diego Biurrun
635ec127d4 dsputil: Merge variable declarations and initializations 2014-03-13 08:12:44 -07:00
Diego Biurrun
bb12c2e9c0 dsputil: K&R formatting cosmetics 2014-03-13 08:12:39 -07:00
Diego Biurrun
503dda7d4f dsputil.h: K&R formatting cosmetics 2014-03-13 08:11:00 -07:00
Diego Biurrun
8199bb7be0 dsputil.h: Clean up comments 2014-03-13 08:11:00 -07:00
Diego Biurrun
0a8f91b1fb dsputil: Remove disabled avg_no_rnd_qpel leftovers 2014-03-13 08:10:52 -07:00
Michael Niedermayer
f385a099c1 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix hardware detection on aix.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 15:00:53 +01:00
Michael Niedermayer
bb6de15d92 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: Match stream id

Conflicts:
	cmdutils.c
	doc/fftools-common-opts.texi

See: ea07063fd8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 14:21:27 +01:00
Diego Biurrun
55519926ef x86: Make function prototype comments in assembly code consistent
This helps grepping for functions, among other things.
2014-03-13 05:50:29 -07:00
Diego Biurrun
edd1f833fa x86: h264_idct_10_bit: Use proper type in function prototype comments 2014-03-13 05:50:29 -07:00
Diego Biurrun
831a118078 Update dsputil- and SIMD-related comments to match reality more closely 2014-03-13 05:50:29 -07:00
Diego Biurrun
d1184b8110 arm: dsputil: Add a bunch of missing #includes 2014-03-13 05:50:28 -07:00
Diego Biurrun
17608f6ee3 x86: Add some more missing headers 2014-03-13 05:50:28 -07:00
Diego Biurrun
fd9e2221bd ppc: Add some missing headers 2014-03-13 05:50:28 -07:00
Diego Biurrun
ed9625eb62 dsputil: Move intreadwrite.h #include from header file to .c files 2014-03-13 05:50:28 -07:00
Diego Biurrun
9103185bd1 dsputil: Drop ff_check_alignment() function
The function is supposed to confirm that the compiler provided enough
alignment, but in practice it is only run in certain code paths and
insufficient alignment problems are restricted to legacy compilers.
2014-03-13 05:50:28 -07:00
Diego Biurrun
49676eb730 dsputil: Remove prototypes for nonexisting optimization functions 2014-03-13 05:50:28 -07:00
Diego Biurrun
08dba0e1c3 x86: mpegvideoenc: Remove some remnants of the long-gone libmpeg2 IDCT 2014-03-13 05:50:28 -07:00
Diego Biurrun
b4dd424d96 Remove all SPARC architecture optimizations
SPARC is no longer being used in any multimedia-related fields and the
VIS optimizations only represent a maintenance burden.
2014-03-13 05:50:28 -07:00
Diego Biurrun
d6096a6742 Remove all SH4 architecture optimizations
SH4 has been end-of-lifed and no more test machines are available.
2014-03-13 05:50:28 -07:00
Diego Biurrun
bbb64356cc build: Record dependency of eatqi decoder on dsputil 2014-03-13 05:50:27 -07:00
Diego Biurrun
b5f112d820 configure: Add explicit dsputil dependency to mpegvideoenc
Previously, it was an implicit dependency through mpegvideo. Change
this, as implicit dependencies can cause all sorts of trouble.
2014-03-13 05:50:27 -07:00
Diego Biurrun
cd832f032f ffv1: Drop bogus dependency on dsputil
ffv1 does not use any part of the dsputil framework.
2014-03-13 05:50:27 -07:00
Diego Biurrun
0e29c5e128 build: Drop stray LPC dependency on dsputil 2014-03-13 05:50:27 -07:00
Diego Biurrun
6cd76e5412 build: Drop stray MJPEG encoder dependency on dsputil 2014-03-13 05:50:27 -07:00
Diego Biurrun
9ecf1b62f3 build: Drop stray MLP decoder dependency on dsputil 2014-03-13 05:50:27 -07:00
Diego Biurrun
7d7be44f3e build: Drop stray PNG decoder dependency on dsputil 2014-03-13 05:50:27 -07:00
Diego Biurrun
88b240646f build: Drop stray mpc8 decoder dependency on dsputil 2014-03-13 05:50:27 -07:00
Reinhard Tartler
fb9a5bdc51 Prepare for 11_alpha1 Release 2014-03-13 08:24:11 -04:00
Luca Barbato
81498ceb5b avconv: Match stream id
Quite useful to select by pid in MPEG-TS.
2014-03-13 11:59:34 +01:00
Carl Eugen Hoyos
aac9e56759 Fix hardware detection on aix. 2014-03-13 08:34:45 +01:00
James Almer
7d7487e85c x86/float_dsp: add ff_vector_{fmul_add, fmac_scalar}_fma3
~7% faster than AVX

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 04:34:05 +01:00
Michael Niedermayer
12ce58bebd doc/texi2pod: fix encoding type
docs say:
'A document having more than one "=encoding" line should be considered an error. '

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 03:54:48 +01:00
Michael Niedermayer
72d44f1583 mvformat/movenc: fix IMX
fixes Ticket3351

Tested-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 01:28:43 +01:00
Michael Niedermayer
11ed7ec092 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  http: Properly initialize icy headers string

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 23:24:19 +01:00
Michael Niedermayer
b5c6b23acd doc/platform: mention that yuvis gas-preprocessor is currently missing some changes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 23:08:41 +01:00
Michael Niedermayer
98eb99d20b tools/build_libstagefright: switch git urls to https
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 23:07:00 +01:00
Michael Niedermayer
675a66a93b doc: switch github urls to https
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 23:05:26 +01:00
Michael Niedermayer
835f41376d Merge commit 'd15c536123a44362ace6299c391a492c90b83fc7'
* commit 'd15c536123a44362ace6299c391a492c90b83fc7':
  doc: Point to the correct, actually maintained gas-preprocessor repo

Conflicts:
	doc/platform.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 23:02:56 +01:00
Michael Niedermayer
e5920425b0 Merge commit '5a7f382a5d33d9a26890affe6c8c5070a48dfc22'
* commit '5a7f382a5d33d9a26890affe6c8c5070a48dfc22':
  armv6: vp8: use explicit labels in motion compensation asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 22:03:00 +01:00
Michael Niedermayer
58b8d268d9 Merge commit 'aa807425395caa17a85ed2833133278e8bd44a76'
* commit 'aa807425395caa17a85ed2833133278e8bd44a76':
  configure: Support older version of openjpeg1

Conflicts:
	configure

Not merged as the problematic pkg config code wasnt merged

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 21:45:02 +01:00
Michael Niedermayer
990f956ce6 Merge commit 'b4e355c89e23664b8dac26936bf3fa7e7bc2110f'
* commit 'b4e355c89e23664b8dac26936bf3fa7e7bc2110f':
  copy_block: K&R formatting cosmetics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 21:35:58 +01:00
Michael Niedermayer
aa175983a1 Merge commit 'b3c6ee199e75bbad2908253f11e871500dd38531'
* commit 'b3c6ee199e75bbad2908253f11e871500dd38531':
  configure: Group toolchain options together in help output

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 21:05:00 +01:00
Michael Niedermayer
7e6c6c45ec Merge commit 'e77a2ea9505863e50bf013706f66bf8b7325e524'
* commit 'e77a2ea9505863e50bf013706f66bf8b7325e524':
  http: Declare more parameters as const where possible

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 20:50:29 +01:00
Alessandro Ghedini
6998a9f4c4 http: Properly initialize icy headers string
The icy_metadata_headers string never gets initialized, so,
during the first call to av_strlcatf() in parse_icy(),
strlen() will be called on a pointer to uninitialized memory.
At best this causes some garbage data to be left at the
start of the string.

By initializing icy_metadata_headers to the empty string, the
first call to strlen() will always return 0, so that data is
appended from the start of the string.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-03-12 20:13:36 +01:00
Martin Storsjö
d15c536123 doc: Point to the correct, actually maintained gas-preprocessor repo
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-12 20:43:55 +02:00
Janne Grunau
5a7f382a5d armv6: vp8: use explicit labels in motion compensation asm
The integrated arm assembler in clang-503.0.38 (Xcode-5.1) fails
to assemble a branch to 'label + offset' in thumb mode.
2014-03-12 15:06:05 +01:00
Luca Barbato
aa80742539 configure: Support older version of openjpeg1
It should work best for debian stable and people not installing the .pc
file.
2014-03-12 14:06:21 +01:00
Vittorio Giovara
b4e355c89e copy_block: K&R formatting cosmetics 2014-03-12 14:01:41 +01:00
Diego Biurrun
b3c6ee199e configure: Group toolchain options together in help output 2014-03-12 14:00:19 +01:00
Michael Niedermayer
ad341b3bc6 update doc/APIchanges
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 13:51:09 +01:00
Fred Rothganger
3f3229cd10 avformat: extracting NTP timestamp from RTCP
For muxing, it accepts
both 0 and AV_NOPTS_VALUE. For demuxing, it will present
AV_NOPTS_VALUE when start_time_realtime is unknown.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 13:33:14 +01:00
Bryce McLeod
581957cd86 avformat/movenc: rescale when copying duration to timecode track
Fixes Ticket3453

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 12:52:27 +01:00
Stephen Hutchinson
5336cd6374 doc/general.texi: Adjust the notes on AviSynth
FFmpeg provides local copies of these headers in compat/avisynth/,
and there is no restriction against using 2.5.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 12:45:24 +01:00
Martin Storsjö
e77a2ea950 http: Declare more parameters as const where possible
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-12 13:24:58 +02:00
Michael Niedermayer
3ddf76ee07 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Revert "Allow stream-copying grayscale mov files."

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 12:20:06 +01:00
Michael Niedermayer
1f36ebf63a avformat: revert %c changes from d92024f18f
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 05:09:28 +01:00
Michael Niedermayer
cd25412f59 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  http: Allow setting a Content-Type for POST requests

Conflicts:
	libavformat/http.c

See: c01d1d4ddf
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 04:53:54 +01:00
Michael Niedermayer
0d487654ea Merge commit 'fe568b3d27ca2c5cca3878b2a7a3a968e605aec4'
* commit 'fe568b3d27ca2c5cca3878b2a7a3a968e605aec4':
  http: Improve options descriptions

Conflicts:
	doc/protocols.texi
	libavformat/http.c

See: 255ec768da
See: 0a7cd74043
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 04:43:21 +01:00
Michael Niedermayer
1cc9468289 Merge commit 'ab76d9f628ad46e1d3bbf26c5bf1f87083f239ab'
* commit 'ab76d9f628ad46e1d3bbf26c5bf1f87083f239ab':
  http: Always allow no-op seek

Conflicts:
	libavformat/http.c

See: 857841c1b6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 04:29:54 +01:00
Michael Niedermayer
76a939d0e5 Merge commit '2ec33d27127251bbc45e1f88e60691ad59cf2319'
* commit '2ec33d27127251bbc45e1f88e60691ad59cf2319':
  http: Add support for selecting a request range

Conflicts:
	doc/protocols.texi
	libavformat/http.c

See: d52882faef
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 04:12:30 +01:00
Michael Niedermayer
f36da16ede Merge commit 'ddfc98906373d1f17f6205cedd14c68d7a75995f'
* commit 'ddfc98906373d1f17f6205cedd14c68d7a75995f':
  http: Support setting custom User-Agent

Conflicts:
	doc/protocols.texi
	libavformat/http.c

See: 2bb1c713cc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 03:45:16 +01:00
Michael Niedermayer
c03af3ac1c Merge commit 'e58c85b0686892960042232e51c77168b264838a'
* commit 'e58c85b0686892960042232e51c77168b264838a':
  http: Export Content-Type information

Conflicts:
	doc/protocols.texi
	libavformat/http.c

See: 76d851b656
See: 20899c54f0
See: 255ec768da
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 03:33:14 +01:00
Michael Niedermayer
ca2369cdee Merge commit '8075c3d8bb1f6aade0cc7c5c40db9bc1bcd84cab'
* commit '8075c3d8bb1f6aade0cc7c5c40db9bc1bcd84cab':
  http: Add support reading ICY metadata

Conflicts:
	doc/protocols.texi
	libavformat/http.c

See: a92fbe16f2
See: 636273d3d4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 03:18:12 +01:00
Michael Niedermayer
21d4c571fa Merge commit '4ff99ab3d7d5576e99e6b8a411b4a44500ed88fa'
* commit '4ff99ab3d7d5576e99e6b8a411b4a44500ed88fa':
  http: Refactor process_line

Conflicts:
	libavformat/http.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 02:52:17 +01:00
Michael Niedermayer
df41cbee85 Merge commit '7a2fddb4480121712df560cf619c1c3566cae3ff'
* commit '7a2fddb4480121712df560cf619c1c3566cae3ff':
  http: K&R formatting cosmetics

Conflicts:
	libavformat/http.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 02:45:34 +01:00
Michael Niedermayer
b752d02f42 Merge commit '78b21c1d7177e1d61ad3c9225f67699da089aa7c'
* commit '78b21c1d7177e1d61ad3c9225f67699da089aa7c':
  http: Drop doxy comments

Conflicts:
	libavformat/http.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 02:39:46 +01:00
Michael Niedermayer
03fd80dcb1 Merge commit '55a215ba63d9fa79cd7ee265ee2e777ee86b200c'
* commit '55a215ba63d9fa79cd7ee265ee2e777ee86b200c':
  http: Return meaningful error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 02:34:02 +01:00
Michael Niedermayer
3a05d7a9e5 Merge commit '390acbea0697a60300f249602dbf701e04274693'
* commit '390acbea0697a60300f249602dbf701e04274693':
  configure: Provide --pkg-config-flags

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 02:22:16 +01:00
Michael Niedermayer
85e1368f57 Merge commit 'db9d39b4b5e5a3c20aeecf787ddeadd88f4906cf'
* commit 'db9d39b4b5e5a3c20aeecf787ddeadd88f4906cf':
  avformat: Report the duration analysis reached

Conflicts:
	libavformat/utils.c

See: 8529f9b36b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 02:11:47 +01:00
Michael Niedermayer
dbc3e1109c avformat/flvdec: discard inconsistent timestamps
Fixes Ticket3425

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 01:50:41 +01:00
Michael Niedermayer
774668763a ffplay: display information on stream cycling
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 00:32:38 +01:00
Clément Bœsch
2572d07c1f http: Allow setting a Content-Type for POST requests
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-03-11 22:08:57 +01:00
Alessandro Ghedini
fe568b3d27 http: Improve options descriptions
Add documentation where missing.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-03-11 22:08:57 +01:00
Anssi Hannula
ab76d9f628 http: Always allow no-op seek
This also allows checking stream position as per ffurl_seek() doxy.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-03-11 22:08:57 +01:00
Anssi Hannula
2ec33d2712 http: Add support for selecting a request range
Comment from Reimar Döffinger included as pro memoria.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-03-11 22:08:57 +01:00
Clément Bœsch
ddfc989063 http: Support setting custom User-Agent
Contextually make the default User-Agent use the common
"Name/Version" pattern.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-03-11 22:08:57 +01:00
Michael Niedermayer
e58c85b068 http: Export Content-Type information
Bug-Id: https://bugs.debian.org/740421

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-03-11 22:08:57 +01:00
Luca Barbato
8075c3d8bb http: Add support reading ICY metadata
Export the metadata as a icy_metadata_packet avoption.
Based on the work of wm4 and Alessandro Ghedini.

Bug-Id: https://bugs.debian.org/739936

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-03-11 22:08:57 +01:00
Luca Barbato
4ff99ab3d7 http: Refactor process_line 2014-03-11 22:08:56 +01:00
Luca Barbato
7a2fddb448 http: K&R formatting cosmetics 2014-03-11 22:08:56 +01:00
Luca Barbato
78b21c1d71 http: Drop doxy comments 2014-03-11 22:08:56 +01:00
Luca Barbato
55a215ba63 http: Return meaningful error codes 2014-03-11 22:08:56 +01:00
Luca Barbato
390acbea06 configure: Provide --pkg-config-flags
Should be used only to pass extra flags to pkgconf invocation,
e.g. --static.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-03-11 21:55:11 +01:00
Luca Barbato
db9d39b4b5 avformat: Report the duration analysis reached 2014-03-11 21:55:11 +01:00
Michael Niedermayer
50a3c82302 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doc: Add section about AviSynth support

Conflicts:
	doc/general.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-11 21:24:54 +01:00
Michael Niedermayer
a1b92569db Merge commit '5926603ad65e5fd4fefe8f0d72c381059f71cd59'
* commit '5926603ad65e5fd4fefe8f0d72c381059f71cd59':
  configure: Document --pkg-config option

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-11 21:12:57 +01:00
Michael Niedermayer
28ee7757f5 Merge commit 'd92024f18fa3d69937cb2575f3a8bf973df02430'
* commit 'd92024f18fa3d69937cb2575f3a8bf973df02430':
  lavf: more correct printf format specifiers

Conflicts:
	libavformat/asfdec.c
	libavformat/cafdec.c
	libavformat/dxa.c
	libavformat/framecrcenc.c
	libavformat/hnm.c
	libavformat/iff.c
	libavformat/mov.c
	libavformat/mxfdec.c
	libavformat/rmdec.c
	libavformat/rpl.c
	libavformat/smacker.c
	libavformat/xmv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-11 21:05:34 +01:00
Michael Niedermayer
5171ae781a avcodec/vorbisdec: use the stored previous window type only when the actual previous is not known
Fixes Ticket3432

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-11 20:45:29 +01:00
Stephen Hutchinson
908836e207 doc: Add section about AviSynth support
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-03-11 20:37:19 +01:00
Carl Eugen Hoyos
54bbe3e2a6 Revert "Allow stream-copying grayscale mov files."
This reverts commit 691dec6201.

The commit did not fix ticket #3215, it was fixed one commit earlier.
The revert may break other use-cases but they should be fixed differently,
the offending commit introduced too many problems.

Fixes ticket #3377.
Fixes ticket #3378.
2014-03-11 20:09:07 +01:00
Luca Barbato
5926603ad6 configure: Document --pkg-config option 2014-03-11 19:52:40 +01:00
Michael Niedermayer
5d75730c58 avformat/avidec: Check required demuxing buffer sizes in guess_ni_flag()
Fixes Ticket3421

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-11 19:20:47 +01:00
Michael Niedermayer
01000064c9 avidec: calculate missing bitrates from index
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-11 19:20:47 +01:00
Michael Niedermayer
52b6db848d Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Decode png images without iend chunk.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-11 13:57:55 +01:00
Anshul Maheshwari
61f96be08a Documented av_dump_format
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-11 13:24:53 +01:00
Matt Oliver
99b48fd448 Fix modplug linkage on Windows.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-11 13:22:49 +01:00
Diego Biurrun
d92024f18f lavf: more correct printf format specifiers 2014-03-11 13:13:41 +01:00
Carl Eugen Hoyos
666749f669 Decode png images without iend chunk.
Fixes ticket #3357.
2014-03-11 09:56:38 +01:00
Michael Niedermayer
e161c1bbfc avcodec/mjpegdec: support adob transform 2
Fixes Ticket3426

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-11 04:20:23 +01:00
Michael Niedermayer
e893440a28 configure: make it possible to disable xlib dependancy
The unconditional dependancy was added in 7671dd7cd7

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-11 03:12:34 +01:00
Michael Niedermayer
9a05e8a385 doc/APIchanges: fill in dates
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-11 01:21:56 +01:00
Michael Niedermayer
4775424446 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Define ff_log2_run[] in libavcodec/internal.h.
  Replace an incorrect av_free() in movenc.c with av_freep().

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-11 00:53:24 +01:00
Michael Niedermayer
4da8dc64be Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: miscellaneous cosmetics

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-11 00:09:56 +01:00
Michael Niedermayer
cbe92a9302 Merge commit '77e9123fe5d64b0960158de6e1713d3c6c7878a7'
* commit '77e9123fe5d64b0960158de6e1713d3c6c7878a7':
  lavf: always use av_free

See: 88c8e4afea
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-10 23:55:41 +01:00
Diego Biurrun
7caf48e036 configure: miscellaneous cosmetics
Sort lists of components. Add some whitespace where it helps readability.
Consistently use double instead of single quotes around component lists.
2014-03-10 23:52:52 +01:00
Michael Niedermayer
7f90055470 Merge commit '34bbc81de8a49fbddb92b76dc733f40890480b2b'
* commit '34bbc81de8a49fbddb92b76dc733f40890480b2b':
  lavf: simplify ff_hevc_annexb2mp4_buf

Conflicts:
	libavformat/hevc.c
	libavformat/hevc.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-10 23:38:01 +01:00
Michael Niedermayer
182c674f68 Merge commit '4a8562394b685e83ae4a38a93eef43625755a231'
* commit '4a8562394b685e83ae4a38a93eef43625755a231':
  configure: Use the right pkgconf file for openjpeg

Conflicts:
	configure

No change as the incorrect code wasnt in ffmpegs configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-10 23:00:55 +01:00
Michael Niedermayer
b73cf4eb15 Merge commit 'ee17be3fdd37f63f4b77676820e387858908b0f4'
* commit 'ee17be3fdd37f63f4b77676820e387858908b0f4':
  hevc: Use get_se_golomb_long

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-10 22:51:49 +01:00
Michael Niedermayer
d79d5aed6d Merge commit '5eacbb53289570834f9a1acb15fd406ea224eef6'
* commit '5eacbb53289570834f9a1acb15fd406ea224eef6':
  golomb: Add a get_se_golomb_long

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-10 22:33:32 +01:00
Michael Niedermayer
77e9123fe5 lavf: always use av_free
Signed-off-by: Tim Walker <tdskywalker@gmail.com>
2014-03-10 18:02:55 +01:00
Tim Walker
34bbc81de8 lavf: simplify ff_hevc_annexb2mp4_buf
Use ff_hevc_annexb2mp4 instead of duplicating
its functionality, and update the documentation
to match the new behavior.
2014-03-10 18:02:36 +01:00
Carl Eugen Hoyos
5968415156 Define ff_log2_run[] in libavcodec/internal.h.
This avoids defining the array with different sizes in
different source files.
2014-03-10 13:37:12 +01:00
Carl Eugen Hoyos
d68ac92dc2 Replace an incorrect av_free() in movenc.c with av_freep(). 2014-03-10 13:30:51 +01:00
Michael Niedermayer
27b4d154ca Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Work around broken floating point limits on some systems.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-10 12:05:02 +01:00
Michael Niedermayer
4c63beeefe Merge commit '8cafeb8bca5d079041739dbd72ccec0ead138eaf'
* commit '8cafeb8bca5d079041739dbd72ccec0ead138eaf':
  mxfdec: Validate parameters to strftime

Conflicts:
	libavformat/mxfdec.c

See: 423089e964
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-10 11:51:40 +01:00
Luca Barbato
4a8562394b configure: Use the right pkgconf file for openjpeg
The current release of version 1 uses libopenjpeg1.
2014-03-10 11:48:04 +01:00
Luca Barbato
ee17be3fdd hevc: Use get_se_golomb_long
Do not use inline functions that refer to tables present in other
libraries.
2014-03-10 10:59:48 +01:00
Luca Barbato
5eacbb5328 golomb: Add a get_se_golomb_long
Useful in libavformat mostly.
2014-03-10 10:58:37 +01:00
Anton Khirnov
e854b8f9f4 Work around broken floating point limits on some systems.
The values of {FLT,DBL}_{MAX,MIN} macros on some systems (older musl
libc, some BSD flavours) are not exactly representable, i.e.
(double)DBL_MAX == DBL_MAX is false
This violates (at least some interpretations of) the C99 standard and
breaks code (e.g. in vf_fps) like
double f = DBL_MAX;
[...]
if (f == DBL_MAX) { // f has not been changed yet
    [....]
}
2014-03-10 10:27:17 +01:00
Martin Storsjö
8cafeb8bca mxfdec: Validate parameters to strftime
The MSVCRT version of strftime calls the invalid parameter handler
if the struct values in struct tm are invalid. In case no invalid
parameter handler is set for the process, the process is aborted.

This fixes fate failures on MSVC builds since 570af382.

Based on a patch by Hendrik Leppkes.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-10 11:11:08 +02:00
Timothy Gu
53eb4e0799 Add fieldmatch test
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-10 02:59:01 +01:00
Michael Niedermayer
fb0023639e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  matroskaenc: enable Annex B to MP4 conversion for HEVC tracks.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 23:41:02 +01:00
Michael Niedermayer
38aee6408a Merge commit 'a823d0948683bd97dd58556b5740e434166209a8'
* commit 'a823d0948683bd97dd58556b5740e434166209a8':
  matroskaenc: write private data in hvcC format for HEVC.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 23:34:17 +01:00
Michael Niedermayer
88c8e4afea avformat/hevc: fix mix of av_malloc() with free()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 23:27:31 +01:00
Michael Niedermayer
9563e67e07 Merge commit '4f3db5d3418a24f3b90422e98ad75388052c4284'
* commit '4f3db5d3418a24f3b90422e98ad75388052c4284':
  movenc: allow muxing HEVC in MODE_MP4.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 23:13:37 +01:00
Michael Niedermayer
5d5e2bd862 avformat/hevc: Make return codes consistent and more flexible
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 23:12:45 +01:00
Michael Niedermayer
a379813cee Merge commit 'b6c61fb83e876d404ac3b0b3657ebfcafdcd1926'
* commit 'b6c61fb83e876d404ac3b0b3657ebfcafdcd1926':
  movenc: enable Annex B to MP4 conversion for HEVC tracks.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 23:08:33 +01:00
Michael Niedermayer
cb403b2570 avformat: fix hevcs use of golomb from avformat
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:59:46 +01:00
Michael Niedermayer
1b1d77ae9b Merge commit '20b40a597cdd4969cf1147d7c7efee2b6232524b'
* commit '20b40a597cdd4969cf1147d7c7efee2b6232524b':
  movenc: write hvcC tag for HEVC.

Conflicts:
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:48:08 +01:00
Michael Niedermayer
ce1ad8d775 Merge commit '1d9014f0b008485eac4c19d5f5e11ede59237167'
* commit '1d9014f0b008485eac4c19d5f5e11ede59237167':
  movenc: use 'hev1' tag for HEVC in MODE_MOV.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:31:55 +01:00
Michael Niedermayer
7a69ffaf0d Merge commit '3e0175d89a6c5ee8393ae05e1b40abdca1204919'
* commit '3e0175d89a6c5ee8393ae05e1b40abdca1204919':
  riff: add VP9 fourcc

See: eb7f7b797f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:30:58 +01:00
Michael Niedermayer
4aa48e467b Merge commit 'fb0a988f94c3b8907610172295a7f6bf78c57105'
* commit 'fb0a988f94c3b8907610172295a7f6bf78c57105':
  riff: IPJ2 decodes with JPEG2000 decoder

See: b18c27def8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:29:17 +01:00
Michael Niedermayer
0cf6b3b5b7 Merge commit '9e71cc81f3655cacf0f91860fba3043f13b64059'
* commit '9e71cc81f3655cacf0f91860fba3043f13b64059':
  movdec: handle 0x7fff langcode as macintosh per the specs

See: e636aa1a56
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:27:37 +01:00
Michael Niedermayer
858d9947e4 Merge commit '8a0bc40545a216a49f43db5d9a42a63961333354'
* commit '8a0bc40545a216a49f43db5d9a42a63961333354':
  libspeex: support ZygoAudio (quality 10 mode)

Conflicts:
	libavformat/isom.c

See: e26b066cd8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:25:41 +01:00
Michael Niedermayer
9f71e5d39e Merge commit '360022bd3b894cc01ea112b275fa4c8f53881808'
* commit '360022bd3b894cc01ea112b275fa4c8f53881808':
  isom: lpcm in mov default to big endian

See: 8b3964ecd1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:23:55 +01:00
Michael Niedermayer
c68e53f272 Merge commit 'db32f14c3dfd75290b57a086183d6577457beac4'
* commit 'db32f14c3dfd75290b57a086183d6577457beac4':
  isom: add "MNG" FourCC

See: 8d0ec6e060
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:22:23 +01:00
Michael Niedermayer
76367f453f Merge commit '073cd30fb4dc1c2a885c62540e3cfaac1f17c21b'
* commit '073cd30fb4dc1c2a885c62540e3cfaac1f17c21b':
  isom: Support MPEG-2 video mov files from FPC5

See: 0aded6bf02
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:21:12 +01:00
Michael Niedermayer
d32245e5b1 Merge commit '31e558fbcfec8fa9fddf564ab8360384706e41c0'
* commit '31e558fbcfec8fa9fddf564ab8360384706e41c0':
  isom: add "NO16" FourCC

Conflicts:
	libavformat/isom.c

See: 96e2507363
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:15:32 +01:00
Michael Niedermayer
2030b3a4ab Merge commit '6509012398435252979e149ea4a73438d2107600'
* commit '6509012398435252979e149ea4a73438d2107600':
  isom: add Radius DV YUV FourCCs

See: a489db6cde
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:14:02 +01:00
Michael Niedermayer
6783b3eb76 avformat/isom: remove duplicated line
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:12:37 +01:00
Michael Niedermayer
2f41b18696 Merge commit 'eeae858596a5ce5a84797283f590a16add5704f4'
* commit 'eeae858596a5ce5a84797283f590a16add5704f4':
  isom: Support Sony XAVC in mov

See: 5b9f39860d
See: 6e65e34837
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:11:08 +01:00
Michael Niedermayer
8a5397d88b Merge commit 'c09804684a47e6572ee82ded5d84c8b282815da6'
* commit 'c09804684a47e6572ee82ded5d84c8b282815da6':
  isom: add xd51 hdcam

See: 4110828e15
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:06:35 +01:00
Michael Niedermayer
eaaa5801ef Merge commit '4d33873c2990b8d6096f60fef384f0efc4482b55'
* commit '4d33873c2990b8d6096f60fef384f0efc4482b55':
  hevc: make pps/sps ids unsigned where necessary

Conflicts:
	libavcodec/hevc.h
	libavcodec/hevc_ps.c

See: d1e6602665
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 21:44:40 +01:00
Michael Niedermayer
06219db935 Merge commit 'ed06e5d92b4c67b49068d538461fbbe0a53a8c5e'
* commit 'ed06e5d92b4c67b49068d538461fbbe0a53a8c5e':
  hevc: Do not turn 32bit timebases into negative numbers

Conflicts:
	libavcodec/hevc.c

See: bf2ce19e51
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 21:16:33 +01:00
Michael Niedermayer
26568c04a8 Merge commit '6cc94e971933cd38c452172bb048bf760e65cc3e'
* commit '6cc94e971933cd38c452172bb048bf760e65cc3e':
  hevc: use av_mallocz() for allocating tab_ipm

See: 0999f1613b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 21:13:30 +01:00
Michael Niedermayer
e15a57b67a Merge commit '920c01adce6c273fc043513ff237a6266e612152'
* commit '920c01adce6c273fc043513ff237a6266e612152':
  hevc: Use get_bits_long() in decode_vui()

See: b818637b84
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 20:57:02 +01:00
Tim Walker
558b20d729 matroskaenc: enable Annex B to MP4 conversion for HEVC tracks. 2014-03-09 18:09:40 +01:00
Tim Walker
a823d09486 matroskaenc: write private data in hvcC format for HEVC. 2014-03-09 18:09:40 +01:00
Tim Walker
4f3db5d341 movenc: allow muxing HEVC in MODE_MP4. 2014-03-09 18:09:40 +01:00
Tim Walker
b6c61fb83e movenc: enable Annex B to MP4 conversion for HEVC tracks. 2014-03-09 18:09:40 +01:00
Tim Walker
20b40a597c movenc: write hvcC tag for HEVC. 2014-03-09 18:09:40 +01:00
Tim Walker
1d9014f0b0 movenc: use 'hev1' tag for HEVC in MODE_MOV.
'hvc1' requires that parameter set NAL units be
present only in the samples entry, but not in the
samples themselves, requiring that additional
parameter sets, if present, be filtered out of the
samples and placed in new, additional sample entries
if they override or otherwise conflict with the
parameter sets present in the first sample entry.
We do not have any way of doing this at present, so
the files we produce can only comply with the
restrictions set for the 'hev1' sample entry name in
ISO/IEC 14496-15.
2014-03-09 18:09:40 +01:00
James Zern
3e0175d89a riff: add VP9 fourcc 2014-03-09 18:09:39 +01:00
Ben Littler
fb0a988f94 riff: IPJ2 decodes with JPEG2000 decoder
Samples can be made from mencoder and jp2avi.dll codec.
2014-03-09 18:09:39 +01:00
Baptiste Coudurier
9e71cc81f3 movdec: handle 0x7fff langcode as macintosh per the specs
The correct point that seperates ISO and MAC language codes is 0x400
according to the current QT spec. Old QT specs did not list where this
seperation is but apparently only defined the meaning of the first 137.
2014-03-09 18:09:39 +01:00
Piotr Bandurski
8a0bc40545 libspeex: support ZygoAudio (quality 10 mode) 2014-03-09 18:09:39 +01:00
Mark Himsley
360022bd3b isom: lpcm in mov default to big endian
It is my understanding that "Unless otherwise stated, all data in a
QuickTime movie is stored in big-endian byte ordering" [1] in MOV files.

I have a couple of thousand files, which technically are invalid because
their sound sample description element 4CC is 'lpcm' but its version is
0 - and "Version 0 supports only uncompressed audio in raw ('raw ') or
twos-complement ('twos') format" [2]

Because isom.c only contains a mapping for 4CC 'lpcm' to
AV_CODEC_ID_PCM_S16LE, these files have their audio decoded as LE when
it is actually BE.

This commit adds AV_CODEC_ID_PCM_S16BE as the first match for 4CC 'lpcm'.

[1]
https://developer.apple.com/library/mac/documentation/quicktime/QTFF/qtff.pdf
page 21
[2]
https://developer.apple.com/library/mac/documentation/quicktime/QTFF/qtff.pdf
page 178

Reviewed-by: Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>
2014-03-09 18:09:39 +01:00
Piotr Bandurski
db32f14c3d isom: add "MNG" FourCC 2014-03-09 18:09:39 +01:00
Carl Eugen Hoyos
073cd30fb4 isom: Support MPEG-2 video mov files from FPC5 2014-03-09 18:09:39 +01:00
Piotr Bandurski
31e558fbcf isom: add "NO16" FourCC 2014-03-09 18:09:39 +01:00
Piotr Bandurski
6509012398 isom: add Radius DV YUV FourCCs 2014-03-09 18:09:38 +01:00
Carl Eugen Hoyos
eeae858596 isom: Support Sony XAVC in mov
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-03-09 18:09:38 +01:00
Ben Littler
c09804684a isom: add xd51 hdcam
Someone needs to binary search FCP for new isom...
2014-03-09 18:09:38 +01:00
Vittorio Giovara
4d33873c29 hevc: make pps/sps ids unsigned where necessary
Fixes integer overflow and out of array accesses.
Found-by: Mateusz j00ru Jurczyk and Gynvael Coldwind
2014-03-09 17:23:08 +01:00
Michael Niedermayer
ed06e5d92b hevc: Do not turn 32bit timebases into negative numbers
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2014-03-09 17:22:53 +01:00
Michael Niedermayer
6cc94e9719 hevc: use av_mallocz() for allocating tab_ipm
Fixes use of uninitialized memory and out of stack array read.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2014-03-09 17:08:11 +01:00
Michael Niedermayer
8dfd0e62f5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  float_dsp: fix errors in documentation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 15:37:35 +01:00
Michael Niedermayer
4159f702a7 avutil/timer: Fix units for x86 after c708b54033
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 15:22:02 +01:00
Michael Niedermayer
c2923100f5 Merge commit 'c708b5403346255ea5adc776645616cc7c61f078'
* commit 'c708b5403346255ea5adc776645616cc7c61f078':
  timer: use mach_absolute_time as high resolution clock on darwin

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 14:30:24 +01:00
Michael Niedermayer
fa4f573997 Merge commit '634d9d8b398982647b3d7160641198744901d8d8'
* commit '634d9d8b398982647b3d7160641198744901d8d8':
  arm: get_cabac inline asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 13:37:29 +01:00
Michael Niedermayer
cbee7ff0b7 Merge commit 'dfe224f377be3e45758c69d881ca7874b82d647a'
* commit 'dfe224f377be3e45758c69d881ca7874b82d647a':
  aarch64: get_cabac inline asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 13:27:04 +01:00
Michael Niedermayer
fc1d7811ef Merge commit '4506a854a4d846692ba71daeeff661dc214c8fa2'
* commit '4506a854a4d846692ba71daeeff661dc214c8fa2':
  arm: vp3: remove incorrect const in ff_vp3_idct_dc_add_neon declaration

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 13:06:31 +01:00
Michael Niedermayer
920c01adce hevc: Use get_bits_long() in decode_vui()
Fix assertion failure.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2014-03-09 08:25:39 +01:00
Michael Niedermayer
ea9399f8f7 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  libzvbi-teletextdec: split dvb packet to slices
  libzvbi-teletextdec: use av_dlog where possible

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 02:54:40 +01:00
Michael Niedermayer
9c99bc1f3f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  build: Use pkg-config for openjpeg

Conflicts:
	configure

Not merged / merge just for metadata at request of carl

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 02:05:03 +01:00
Michael Niedermayer
9827f3db88 Merge commit '565e0c6d866ce08d4b06427456d3d1f4fd856e9c'
* commit '565e0c6d866ce08d4b06427456d3d1f4fd856e9c':
  movenc: allow override of "writing application" tag

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 01:50:17 +01:00
Michael Niedermayer
4cb6814160 Merge commit '0092c1dd8dac2d9e185b58503b447a0d3fb5230d'
* commit '0092c1dd8dac2d9e185b58503b447a0d3fb5230d':
  matroskaenc: allow override of "writing application" tag

Conflicts:
	libavformat/matroskaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 01:41:55 +01:00
Michael Niedermayer
b39e895024 Merge commit '61985ad72c47bbb668f2d3923bf5c9df83e79323'
* commit '61985ad72c47bbb668f2d3923bf5c9df83e79323':
  arm: hpeldsp: fix put_pixels8_y2_{,no_rnd_}armv6

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 01:16:21 +01:00
Michael Niedermayer
2beb81522e Merge commit '8c09532672d7d3196ec52afefa2c96633bc17b62'
* commit '8c09532672d7d3196ec52afefa2c96633bc17b62':
  rv10: K&R formatting cosmetics

Conflicts:
	libavcodec/rv10.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 01:05:37 +01:00
Michael Niedermayer
0c1353ae33 Merge commit 'b4d372e091f6b30758db2a43a5a9fe2510ec2b13'
* commit 'b4d372e091f6b30758db2a43a5a9fe2510ec2b13':
  rv10: Forward error from rv10_decode_packet

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 00:59:00 +01:00
Janne Grunau
74cc901905 float_dsp: fix errors in documentation 2014-03-09 00:45:35 +01:00
Janne Grunau
c708b54033 timer: use mach_absolute_time as high resolution clock on darwin
Not guaranteed to be in nanosecond resolution. On iOS 7 the duration
of one tick is 125/3 ns which is still more than an order of magnitude
better then microseconds.

Replace decicycles with the neutral UNITS. Decicycles is strange but
tenths of a nanosecond and unspecific "deci"-ticks for mach_absolute_time
is just silly.
2014-03-09 00:45:34 +01:00
Janne Grunau
634d9d8b39 arm: get_cabac inline asm
Based on the aarch64 asm. CPU cycle counts on cortex-a9 compared to
gcc 4.8.2:
before: 475 decicycles in get_cabac_noinline, 67106035 runs, 2829 skips
after:  393 decicycles in get_cabac_noinline, 67106474 runs, 2390 skips

Overall speedup is above 2%. Code generated by clang 3.4 is slower on
the same hardware and the relative change is a little larger.
2014-03-09 00:45:34 +01:00
Janne Grunau
dfe224f377 aarch64: get_cabac inline asm
Based on the x86 branchless get_cabac asm. get_cabac_noinline() gets
approximately 20% faster (no cycle counts available) compared to clang
from Xcode 5.1 beta5. More than 6% faster overall. A part of the overall
speedup might be explained by additional inlining of get_cabac().
2014-03-09 00:45:33 +01:00
Janne Grunau
4506a854a4 arm: vp3: remove incorrect const in ff_vp3_idct_dc_add_neon declaration
Was missed in aeaf268e52 when integrating
clear_blocks into the idct.
2014-03-09 00:45:33 +01:00
Michael Niedermayer
17a5dbacf5 Merge commit 'a801453423420915425f902bf9f9cbe982a55d87'
* commit 'a801453423420915425f902bf9f9cbe982a55d87':
  g2meet: K&R formatting cosmetics

Conflicts:
	libavcodec/g2meet.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 00:41:47 +01:00
Marton Balint
085ca7dcdb libzvbi-teletextdec: split dvb packet to slices
Instead of using the demux function of libzvbi to split the packet to slices
(vbi lines), lets do it ourselves.

- eliminates the 1 frame delay between page input and output
- handles non-ascending line numbers more gracefully
- enables us to return error codes on some invalid packets instead of silently
  ignoring them

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-03-08 21:58:12 +01:00
Marton Balint
ae017c2632 libzvbi-teletextdec: use av_dlog where possible
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-03-08 21:58:12 +01:00
Pierre Lejeune
0e0cefb222 build: Use pkg-config for openjpeg
Bug-Id: 387
CC: libav-stable@libav.org
2014-03-08 19:42:32 +01:00
John Stebbins
565e0c6d86 movenc: allow override of "writing application" tag
Signed-off-by: Tim Walker <tdskywalker@gmail.com>

CC: libav-stable@libav.org
2014-03-08 18:59:35 +01:00
John Stebbins
0092c1dd8d matroskaenc: allow override of "writing application" tag
Signed-off-by: Tim Walker <tdskywalker@gmail.com>

CC: libav-stable@libav.org
2014-03-08 18:56:49 +01:00
Janne Grunau
61985ad72c arm: hpeldsp: fix put_pixels8_y2_{,no_rnd_}armv6
The overread avoidance fix in cbddee1cca
broke the computation for the last row since it prevented the safe
reading from the height+1-th row.

CC: libav-stable@libav.org
2014-03-08 18:31:57 +01:00
Keiji Costantini
8c09532672 rv10: K&R formatting cosmetics
Also sort #includes into canonical order.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-03-08 17:41:59 +01:00
Keiji Costantini
b4d372e091 rv10: Forward error from rv10_decode_packet
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-03-08 17:19:56 +01:00
Diego Biurrun
a801453423 g2meet: K&R formatting cosmetics 2014-03-08 16:35:20 +01:00
Michael Niedermayer
b28c371567 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavf/concatdec: reindent after last commit.
  lavf/concatdec: more reliable test for absolute URLs.
  lavf: add subfile protocol.
  lavfi/af_atempo: clear references before returning error.
  lavd/xv: take aspect ratio into account.
  lavc/pthread: copy packet side data.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-08 15:00:36 +01:00
Don Moir
24e2a82f75 Make 32bit RGB dshow input opaque. 2014-03-08 13:46:05 +01:00
Carl Eugen Hoyos
6208bb965d Set codec_tag in dshow device, needed to distinguish between YUV and YVU.
Fixes ticket #3447.
2014-03-08 13:42:47 +01:00
Nicolas George
6bffa83bbe lavf/concatdec: reindent after last commit. 2014-03-08 12:44:45 +01:00
Nicolas George
8a670f52a5 lavf/concatdec: more reliable test for absolute URLs.
ff_make_absolute_url() recognizes the "://" pattern usual
in HTTP-like protocols, but consider relative URLs starting
with just the protocol name or using the comma syntax for
options.
2014-03-08 12:38:31 +01:00
Nicolas George
97e87e09c8 lavf: add subfile protocol. 2014-03-08 12:36:57 +01:00
Nicolas George
bc6901c949 lavfi/af_atempo: clear references before returning error.
Once the frame has been given to ff_filter_frame(), it can
no longer be used, even on error.

Fix trac ticket #3430.
2014-03-08 12:31:00 +01:00
Nicolas George
c37bbe54f4 lavd/xv: take aspect ratio into account. 2014-03-08 12:29:32 +01:00
Nicolas George
ea6825fd09 lavc/pthread: copy packet side data. 2014-03-08 12:27:02 +01:00
Michael Niedermayer
742d860103 avcodec/vorbis: fix decoding of single element huffman trees
Fixes Ticket2893

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-08 05:13:05 +01:00
Michael Niedermayer
b918d6e2e6 avcodec/vorbis: return proper error codes from ff_vorbis_len2vlc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-08 04:59:56 +01:00
Michael Niedermayer
d1122b7ce5 avcodec/wmadec: initialize max_exponent to valid values
Fixes generation of NaN output
Fixes: nan_example.wma
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-08 01:46:22 +01:00
Michael Niedermayer
6eb08783a9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fic: Properly handle skip frames

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-08 00:21:22 +01:00
Michael Niedermayer
fabf69f37a Merge commit 'f69befe5eefef12172a6479dd9cef3c01bddec7a'
* commit 'f69befe5eefef12172a6479dd9cef3c01bddec7a':
  matroskadec: cosmetics: Fix "attachement" vs. "attachment" typo

Conflicts:
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-08 00:13:20 +01:00
Michael Niedermayer
b3d9ab1829 Merge commit '84cfce9f99805a144df684417e166c1ae6f95421'
* commit '84cfce9f99805a144df684417e166c1ae6f95421':
  matroskadec: K&R formatting cosmetics

Conflicts:
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-07 23:52:44 +01:00
compn
84bccae8e9 doc: fix typo 2014-03-07 17:07:37 -05:00
Hendrik Leppkes
61ff0431ba dxva2_vc1: include the start code in wMBbitOffset
This resolves a decoding failure on Intel GPUs.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-07 16:03:50 +01:00
Hendrik Leppkes
930f67b712 dxva2_vc1: fix intensity compensation condition with interlaced fields
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-07 16:03:03 +01:00
Derek Buitenhuis
f87a6e500b fic: Properly handle skip frames
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-03-07 14:54:33 +00:00
Michael Niedermayer
4fc339faea Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmppkt: Rename the ts_delta field to ts_field

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-07 14:09:35 +01:00
Diego Biurrun
f69befe5ee matroskadec: cosmetics: Fix "attachement" vs. "attachment" typo 2014-03-07 13:54:18 +01:00
Michael Niedermayer
9baef60ae4 Merge commit '8bbb02ae4f44f1cddc1ce1e74a71fa2022e93da3'
* commit '8bbb02ae4f44f1cddc1ce1e74a71fa2022e93da3':
  rtmppkt: Properly handle extended timestamps when writing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-07 13:42:22 +01:00
Keiji Costantini
84cfce9f99 matroskadec: K&R formatting cosmetics
Also sort #includes into canonical order.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-03-07 13:39:07 +01:00
Michael Niedermayer
94ec27131c Merge commit '48cfb5f4114048383a4ee85b2f500eefce24cad2'
* commit '48cfb5f4114048383a4ee85b2f500eefce24cad2':
  rtmppkt: Add a descriptive comment

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-07 12:58:43 +01:00
Michael Niedermayer
d540e7577a Merge commit '5b2ad78f97d43299adcb038c04346999fe9b196c'
* commit '5b2ad78f97d43299adcb038c04346999fe9b196c':
  rtmppkt: Handle extended timestamp field even for one-byte header

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-07 12:53:02 +01:00
Michael Niedermayer
774d0c9dba Merge commit '93d216d37a3f95190ecb9d51cf72f54ea4e04ec7'
* commit '93d216d37a3f95190ecb9d51cf72f54ea4e04ec7':
  dict: K&R formatting cosmetics

Conflicts:
	libavutil/dict.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-07 12:44:09 +01:00
Martin Storsjö
77eed91fab rtmppkt: Rename the ts_delta field to ts_field
Based on a suggestion by Martin Panter. This is more descriptive,
since it's the actual timestamp field from the RTMP packet,
which might or might not be a delta depending on context (in
some packets it's a delta, in some packets it's an absolute
timestamp, and in some packets it's 0xffffff to indicate that
the actual delta or absolute timestamp is transmitted separately).

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-07 10:43:51 +02:00
Martin Panter
8bbb02ae4f rtmppkt: Properly handle extended timestamps when writing
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-07 10:43:47 +02:00
Martin Panter
48cfb5f411 rtmppkt: Add a descriptive comment
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-07 10:43:37 +02:00
Martin Panter
5b2ad78f97 rtmppkt: Handle extended timestamp field even for one-byte header
Related fix in "rtmpdump":
https://repo.or.cz/w/rtmpdump.git/commitdiff/79459a2

Adobe's RTMP specification (21 Dec 2012), section 5.3.1.3 ("Extended
Timestamp"), says "this field is present in Type 3 chunks". Type 3 chunks are
those with the one-byte header size.

This resolves intermittent hangs and segfaults caused by the read function,
and also includes an untested fix for the write function.

The read function was tested with ABC (Australia) News 24 streams, however
they are probably restricted to only Australian internet addresses. Some of
the packets at the start of these streams seem to contain junk timestamp
fields, often requiring the extended field. Test command:

avplay rtmp://cp81899.live.edgefcs.net/live/news24-med@28772

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-07 10:43:26 +02:00
Patrice Clement
93d216d37a dict: K&R formatting cosmetics 2014-03-07 01:19:22 +01:00
Michael Niedermayer
64e4bd7414 doc/APIchanges: update versions & hashes 2014-03-07 00:47:55 +01:00
Hendrik Leppkes
8b2a130d3f dxva2_h264: add a workaround for old intel GPUs
Old Intel GPUs expect the reference frame index to the actual surface,
instead of the index into RefFrameList as specified by the spec.

This workaround should be set when using one of the "ClearVideo" decoder
devices.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-07 00:33:34 +01:00
Hendrik Leppkes
276839b8de dxva2_h264: set the correct ref frame index in the long slice struct
The latest H.264 DXVA specification states that the index in this
structure should refer to a valid entry in the RefFrameList of the picture
parameter structure, and not to the actual surface index.

Fixes H.264 DXVA2 decoding on recent Intel GPUs (tested on Sandy and Ivy)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-07 00:33:19 +01:00
Michael Niedermayer
0707a34dd8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libx265: Support API version 9

See: 69ead9af75
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-07 00:15:49 +01:00
Michael Niedermayer
b7c1f6f9cc Merge commit 'b66382101cff33e2ce66500327a90d0a105eedeb'
* commit 'b66382101cff33e2ce66500327a90d0a105eedeb':
  dxva2: Increase maximum number of slices for mpeg2

See: bceeccc648
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-07 00:06:43 +01:00
Michael Niedermayer
39f5003a07 Merge commit '5b977c1d4fd99f325049d48fb8f0a3240d50eef8'
* commit '5b977c1d4fd99f325049d48fb8f0a3240d50eef8':
  mxf: Return meaningful errors

Conflicts:
	libavformat/mxfdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 23:53:36 +01:00
Michael Niedermayer
618d2262d7 Merge commit 'f06f6daaf8538eb8ceeb690b761f1256771b6ba6'
* commit 'f06f6daaf8538eb8ceeb690b761f1256771b6ba6':
  mxf: Parse random index pack

Conflicts:
	libavformat/mxfdec.c

See: f5ed83c383
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 23:45:05 +01:00
Michael Niedermayer
5a4852bc4d Merge commit '570af382eea902afe09f3562e5e1b483981cca7e'
* commit '570af382eea902afe09f3562e5e1b483981cca7e':
  mxf: Handle identification metadata

Conflicts:
	libavformat/mxfdec.c

See: 25b143aa7b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 22:59:35 +01:00
Michael Niedermayer
3ce8581413 Merge commit '5b930092c3afd2ae01f1c8aa7fb405911d6ad416'
* commit '5b930092c3afd2ae01f1c8aa7fb405911d6ad416':
  mxf: Set audio packets pts

Conflicts:
	libavformat/mxfdec.c

See: 83cab07a4c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 22:50:06 +01:00
Michael Niedermayer
2265212396 Merge commit 'e118bb1a33889d4df56f28975b4fd0793b4f5c32'
* commit 'e118bb1a33889d4df56f28975b4fd0793b4f5c32':
  mxf: Introduce ff_mxf_get_samples_per_frame

Conflicts:
	libavformat/mxf.c
	libavformat/mxf.h

See: 906a263813
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 22:21:57 +01:00
Michael Niedermayer
1618f162a9 Merge commit 'd48430c367947a64647c6959cf472f2c01778b17'
* commit 'd48430c367947a64647c6959cf472f2c01778b17':
  build: Let the SVQ3 decoder depend on the H.264 decoder

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 22:04:51 +01:00
Michael Niedermayer
85d2b0987b Merge commit '84bf8817206126dab3c9abf6055b593389bcb241'
* commit '84bf8817206126dab3c9abf6055b593389bcb241':
  configure: Split x86 SIMD architecture extensions into separate list

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 21:58:46 +01:00
Derek Buitenhuis
d67dbfa7c1 libx265: Support API version 9
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-03-06 20:21:27 +00:00
Andreas Cadhalpun
9898bd9a82 Fix spelling errors in texi files: accomodate -> accommodate allows to -> allows one to choosen -> chosen compability -> compatibility explictly -> explicitly overriden -> overridden specifed -> specified Trasmission -> Transmission
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 21:12:40 +01:00
Andreas Cadhalpun
eeb3baf7f7 Fix spelling error 'Inconsistant -> Inconsistent'
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 20:44:45 +01:00
Andreas Cadhalpun
64b6164b72 Correct the FSF address for two avisynth files to '51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA'
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 20:44:33 +01:00
Rainer Hochecker
b66382101c dxva2: Increase maximum number of slices for mpeg2
Some content requires an higher number of slices in order to
render properly.

Rise the number to 1024 and warn if ever it exceeds.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-03-06 19:28:20 +01:00
Luca Barbato
5b977c1d4f mxf: Return meaningful errors 2014-03-06 19:28:20 +01:00
Paul B Mahol
f06f6daaf8 mxf: Parse random index pack
Get the 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: Luca Barbato <lu_zero@gentoo.org>
2014-03-06 19:28:20 +01:00
Matthieu Bouron
570af382ee mxf: Handle identification metadata
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-03-06 19:28:20 +01:00
Matthieu Bouron
5b930092c3 mxf: Set audio packets pts
Extrapolate audio timestamps based on the number of samples demuxed.

Deal with some MXF nastiness involving fractional number of
samples per EditUnit when seeking (the specs handwave this away).

Further fixes from Tomas Härdin.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-03-06 19:28:20 +01:00
Matthieu Bouron
e118bb1a33 mxf: Introduce ff_mxf_get_samples_per_frame
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-03-06 19:28:20 +01:00
James Almer
9e0e1f9067 x86/dsputil: add emms to ff_scalarproduct_int16_mmxext()
Also undo the changes to ra144enc.c from previous commits.
Should fix ticket #3429

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 18:23:55 +01:00
Diego Biurrun
d48430c367 build: Let the SVQ3 decoder depend on the H.264 decoder
The SVQ3 decoder reuses large parts of the H.264 decoder so it
makes no sense to enable the former but not the latter.

Also drop unnecessary h263.o object from SVQ3 decoder object list.
2014-03-06 18:23:41 +01:00
sfan5
69ead9af75 libx265: Use ctx->vui. instead of ctx-> for some options A recent change in libx265 moved some options such as sar_width into a 'vui' struct.
Signed-off-by: sfan5 <sfan5@live.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 17:07:46 +01:00
Michael Niedermayer
ffe7e7c195 avfilter/vf_shuffleplanes: Fix flags / add AV_OPT_FLAG_FILTERING_PARAM
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 16:58:24 +01:00
James Almer
99b4da73c8 lavd/Makefile: Add fbdev_common.h to SKIPHEADERS
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 15:42:15 +01:00
Michael Niedermayer
d168729004 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vf_shuffleplanes: fix the type of the mapping indices

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 15:18:14 +01:00
Michael Niedermayer
2d99de66b7 Merge commit '3bfdee00cd92ff07c364d4901c4aefda32780756'
* commit '3bfdee00cd92ff07c364d4901c4aefda32780756':
  x86: dcadsp: Fix linking with yasm and optimizations disabled

Conflicts:
	libavcodec/x86/dcadsp_init.c

See: 206167a295
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 14:10:27 +01:00
Diego Biurrun
84bf881720 configure: Split x86 SIMD architecture extensions into separate list
This avoids checking inline/external assembly dependencies for x86
extensions that do not play a role in inline/external assembly.
2014-03-06 13:29:00 +01:00
Michael Niedermayer
7011aab501 Merge commit 'e1f2987b10112489f6da5501d4c8735a798c9e3f'
* commit 'e1f2987b10112489f6da5501d4c8735a798c9e3f':
  FATE: add tests for the shuffleplanes filter

Conflicts:
	tests/fate/filter-video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 13:09:06 +01:00
Michael Niedermayer
2fb0027c26 Merge commit '599b81ca9a8e04a27ddad94af462171d16063167'
* commit '599b81ca9a8e04a27ddad94af462171d16063167':
  lavfi: add shuffleplanes filter

Conflicts:
	Changelog
	doc/filters.texi
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavfilter/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 13:07:20 +01:00
Michael Niedermayer
b76059058a Merge commit 'bba2a7cc5f7c7aaa32a938f3d4edd9f555f39cdb'
* commit 'bba2a7cc5f7c7aaa32a938f3d4edd9f555f39cdb':
  lavfi: use the correct filter context for logging an error.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 12:38:09 +01:00
Anton Khirnov
713d3f98c8 vf_shuffleplanes: fix the type of the mapping indices
They are TYPE_INT AVOptions, so they must be ints
2014-03-06 09:24:53 +01:00
Lukasz Marek
bba7b6fc41 Revert "lavu/buffer: add release function"
This reverts commit 3144440004.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 03:23:40 +01:00
Michael Niedermayer
c832bf0c38 Merge remote-tracking branch 'lukaszmluki/master'
* lukaszmluki/master:
  lavd/avdevice: always free detected devices on error
  lavf/http: return error from seek on invalid whence
  lavf/http: return error on seeking to negative postion
  lavf/avio: fix ffurl_alloc error checks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 02:04:18 +01:00
Lukasz Marek
2475fdbd04 lavd/avdevice: always free detected devices on error
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-03-06 00:34:50 +01:00
Lukasz Marek
1aa262f460 lavf/http: return error from seek on invalid whence
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-03-06 00:32:24 +01:00
Lukasz Marek
4ba6a534dc lavf/http: return error on seeking to negative postion
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-03-06 00:32:20 +01:00
Lukasz Marek
f495fbe76a lavf/avio: fix ffurl_alloc error checks
ffurl_alloc doc says it returns >= 0 in case of success.
avio treats non-zero as errors.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-03-06 00:30:27 +01:00
Diego Biurrun
3bfdee00cd x86: dcadsp: Fix linking with yasm and optimizations disabled
Some optimized functions reference optimized symbols, so the functions
must be explicitly disabled when those symbols are unavailable.
2014-03-05 23:16:21 +01:00
wm4
636273d3d4 http: handle ICY in presence of chunked transfer encoding
Some http servers send an ICY stream in combination with chunked
transfer encoding. This case was handled incorrectly by the ICY code:
instead of handling chunked encoding before anything ICY related, both
were mixed.

Fix this by separating the ICY code from normal http reading. Move the
normal http reading to a new function http_read_stream(), while
http_read() handles ICY on top of http_read_stream().

The server identified itself as: cloudflare-nginx

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-05 22:49:36 +01:00
Andrey Myznikov
9deecdf85f Fix pthread-related compile errors in iec61883.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-05 22:19:33 +01:00
Michael Niedermayer
91550f46cd doc/APIchanges: fill in missing version for "2013-11-14 - 31c09b7 / 728c465 - lavc 55.26.0 - vdpau.h"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-05 22:02:09 +01:00
Anton Khirnov
e1f2987b10 FATE: add tests for the shuffleplanes filter 2014-03-05 21:52:03 +01:00
Anton Khirnov
599b81ca9a lavfi: add shuffleplanes filter 2014-03-05 21:52:02 +01:00
Anton Khirnov
bba2a7cc5f lavfi: use the correct filter context for logging an error. 2014-03-05 21:52:02 +01:00
Michael Niedermayer
a74bab7079 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: hpeldsp: prevent overreads in armv6 asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-05 21:35:30 +01:00
Michael Niedermayer
146b476ba0 Merge commit '3741aa37c2a0d0717faff74a5c4cc357d16f6d1d'
* commit '3741aa37c2a0d0717faff74a5c4cc357d16f6d1d':
  x86: cabac: Use correct #includes to make header compile standalone

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-05 21:33:44 +01:00
Michael Niedermayer
12b97dd375 avformat/oggparsevorbis: dont use invalid granules
Fixes Ticket3437

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-05 17:07:28 +01:00
Jason Hsu
8fb4dba89d doc/examples/remuxing: dont use the input codec_tag, it may be invalid tor the output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-05 16:10:06 +01:00
Janne Grunau
cbddee1cca arm: hpeldsp: prevent overreads in armv6 asm
Based on a patch by Russel King <rmk+libav@arm.linux.org.uk>

Bug-Id: 646
CC: libav-stable@libav.org
2014-03-05 14:30:57 +01:00
Michael Niedermayer
100e8f8b67 avcodec/ra144enc: avoid calling emms when the SSE2 version is used
emms is a rather slow operation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-05 14:20:03 +01:00
Christophe Gisquet
93c4cd618c ra144enc: fix use of scalarprod_int16
c3390fd56c made use of the DSP function
but did not complement it with a call to emms, which is done here before
computations involving floats are performed.

Fixes ticket #3429, which affected MMX/MMXExt machines.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-05 13:56:06 +01:00
Michael Niedermayer
e3c93f1f84 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avfilter: Add missing emms_c when needed

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-05 13:51:44 +01:00
Michael Niedermayer
5abbeefd5e Merge commit '5ddc9f5052316608799b932c604f9e7561f8ce24'
* commit '5ddc9f5052316608799b932c604f9e7561f8ce24':
  configure: enable PIC on s390(x)

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-05 13:45:23 +01:00
Diego Biurrun
3741aa37c2 x86: cabac: Use correct #includes to make header compile standalone 2014-03-05 13:32:25 +01:00
Michael Niedermayer
a44a27b5c8 Merge commit 'eeaf4f3b87815cbae4c12856cfaafb3a2dae8e0c'
* commit 'eeaf4f3b87815cbae4c12856cfaafb3a2dae8e0c':
  av_vdpau_get_profile: mask out H.264 intra profile flag

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-05 11:49:27 +01:00
Luca Barbato
e995cf1bcc avfilter: Add missing emms_c when needed
Arch specific calls should have an emms_c following to keep the cpu
state consistent.

Reported-By: wm4
CC: libav-stable@libav.org
2014-03-05 11:00:05 +01:00
Reinhard Tartler
5ddc9f5052 configure: enable PIC on s390(x)
The s390 architecture requires shared libraries to be built in PIC mode.
Otherwise applications will get wrong relocations at run-time, leading
to confusing segmentation faults.

CC: libav-stable@libav.org
2014-03-04 21:40:36 -05:00
Marton Balint
d08bb065f2 mpegts: use goto out instead of break on truncated or invalid pmt tables
Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-05 02:28:25 +01:00
James Almer
7fd64e3e36 x86/synth_filter: add synth_filter_fma3
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-05 01:58:16 +01:00
Andrey Utkin
bc764d786f Add "prefer_tcp" flag to "rtsp_flags"
If set, and if TCP is available as RTSP RTP transport, then TCP will be
tried first as RTP transport.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-04 22:54:13 +01:00
Rémi Denis-Courmont
eeaf4f3b87 av_vdpau_get_profile: mask out H.264 intra profile flag
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-03-04 22:48:55 +01:00
James Almer
206167a295 x86/synth_filter: add missing HAVE_YASM guard
Should fix compilation failures with --disable-yasm on some compilers

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-04 22:47:28 +01:00
Michael Niedermayer
309171bea9 Merge commit '3407172b36a93cec410c6a287dbeec0f41257512'
* commit '3407172b36a93cec410c6a287dbeec0f41257512':
  avienc: K&R formatting cosmetics

Conflicts:
	libavformat/avienc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-04 22:21:58 +01:00
Michael Niedermayer
adaba6a108 Merge commit '4c41a7a1798dd6c60e40f79be12faa98a9347151'
* commit '4c41a7a1798dd6c60e40f79be12faa98a9347151':
  vf_frei0r: fix missing end of line character

Conflicts:
	libavfilter/vf_frei0r.c

No change as the token parsing change was not merged

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-04 22:01:24 +01:00
Michael Niedermayer
4a59994e03 Merge commit 'a18ef7a76c735bcf78ed4825e33ad7f9f6f77a54'
* commit 'a18ef7a76c735bcf78ed4825e33ad7f9f6f77a54':
  doc: fix a couple of typos in frame.h

Conflicts:
	libavutil/frame.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-04 21:55:16 +01:00
Keiji Costantini
3407172b36 avienc: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-03-04 18:53:58 +01:00
Vittorio Giovara
4c41a7a179 vf_frei0r: fix missing end of line character
Error introduced in 61b323ce7c.
2014-03-04 18:27:09 +01:00
Vittorio Giovara
a18ef7a76c doc: fix a couple of typos in frame.h 2014-03-04 16:12:11 +01:00
olugbone
b2880a3de9 avformat/mpegtsenc: fix HEVC MPEG TS stream type
Allowing HEVC video using TS stream type 0x24

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-04 15:44:04 +01:00
Michael Niedermayer
efc4439c89 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  put_bits: Remove unused includes

Conflicts:
	libavcodec/put_bits.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-04 15:09:58 +01:00
Michael Niedermayer
8cc581fbf7 Merge commit '5397386effba2e53e4ff82852a86f6be4d59e9c1'
* commit '5397386effba2e53e4ff82852a86f6be4d59e9c1':
  mathops: move macro to the only place it is used

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-04 13:38:04 +01:00
Michael Niedermayer
d63b032d64 Merge commit '61b323ce7c7cdc101eadfd7de2203922b8a39e8d'
* commit '61b323ce7c7cdc101eadfd7de2203922b8a39e8d':
  vf_frei0r: refactor library loading from env variable

Conflicts:
	configure
	libavfilter/vf_frei0r.c

Not merged, we use av_strtok() which leads to simpler code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-04 13:26:48 +01:00
Michael Niedermayer
bfe03205a8 Merge commit '4e0be9c86f2003dd3ba2eb8fad01e8d0e538075e'
* commit '4e0be9c86f2003dd3ba2eb8fad01e8d0e538075e':
  vf_frei0r: prevent a segfault when filter parameters are not set

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-04 13:17:25 +01:00
Michael Niedermayer
2b0ff8d642 Merge commit '8accddeb5806cd98e3803b4ddf2a2ef576d0e4d9'
* commit '8accddeb5806cd98e3803b4ddf2a2ef576d0e4d9':
  vf_frei0r: adjust error messages

Conflicts:
	libavfilter/vf_frei0r.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-04 12:41:31 +01:00
Vittorio Giovara
973dc4e8d4 put_bits: Remove unused includes
This requires adding includes to other files that relied on these being
included implicitly.
2014-03-04 11:45:32 +01:00
Vittorio Giovara
5397386eff mathops: move macro to the only place it is used
This helps in disentangling lavf and lavc too.
2014-03-04 11:45:31 +01:00
Vittorio Giovara
61b323ce7c vf_frei0r: refactor library loading from env variable
strtok_r is not needed any more, so remove it from configure.
2014-03-04 11:39:02 +01:00
Vittorio Giovara
4e0be9c86f vf_frei0r: prevent a segfault when filter parameters are not set 2014-03-04 11:19:03 +01:00
Vittorio Giovara
8accddeb58 vf_frei0r: adjust error messages 2014-03-04 11:19:03 +01:00
Michael Niedermayer
f34cceb1fc Merge remote-tracking branch 'lukaszmluki/master'
* lukaszmluki/master:
  lavd/avdevice: add device iterators
  lavd: add categories to device implementations
  lavu/log: add device categories

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-04 03:41:49 +01:00
Michael Niedermayer
ec6d043f8e avcodec/h263dec: Workaround H263 end padding bug
Fixes: H263PaddingBugFixVID_6647.MOV

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-04 02:47:12 +01:00
Lukasz Marek
06fed44051 lavd/avdevice: add device iterators
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-03-03 23:39:07 +01:00
Lukasz Marek
f607767d93 lavd: add categories to device implementations
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-03-03 23:34:46 +01:00
Lukasz Marek
19b3a25048 lavu/log: add device categories
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-03-03 23:34:31 +01:00
wm4
b416517cce avformat/microdvd: export the declared frame rate
MicroDVD files are normally frame-based (i.e. there are no absolute
timestamps), but can have an optional frame rate header. If this
header is missing, the timestamps depend on the frame rate of the
video they were created for.

The demuxer will use a fallback frame rate if it's missing from the
header. Currently, applications using libavformat can't know whether
the time base is based on the fallback value, or if a frame rate
header was present.

This commit introduces a subfps AVOption for MicroDVD, and the
demuxer sets it if and only if a frame rate header was present.

Signed-off-by: Clément Bœsch <u@pkh.me>
2014-03-03 23:33:47 +01:00
wm4
0786598f51 avformat/microdvd: skip BOM properly
The BOM is already skipped in the probe function, but not the header
read function. This could cause the header to be misparsed, such as
not interpreting the FPS line.
2014-03-03 23:26:27 +01:00
Michael Niedermayer
b79dfd16cb ffmpeg: dont try to run the subtitle encoder on non subtitle streams
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-03 21:06:24 +01:00
Michael Niedermayer
ab5d46df16 avformat/httpauth: add comment about "" and algorithm
Suggested-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-03 17:04:57 +01:00
Willy Aubry
65c95de213 avformat/HLS: modified EXT-X-MEDIA-SEQUENCE header in order to follow the HLS standard
When using the wrap option the EXT-X-MEDIA-SEQUENCE header of the playlist file was reset instead of being incremented.
It is now incremented by one for every media URI removed from the playlist file as the standard states.

Signed-off-by: Willy Aubry <waubry@viotech.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-03 16:46:22 +01:00
Jan Ekström
40feed5248 libutvideoenc: Add support for the new BT.709 FourCCs for YCbCr
With cli usage the decoder might have not set the colorspace during
encoder init, manual colorspace override might be needed in such
cases.

Signed-off-by: Anton Khirnov <anton@khirnov.net>

This applies commit 5de64bb3 (the source of the above commit message)
to libutvideoenc as well.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-03 13:06:25 +01:00
Michael Niedermayer
2dcaa1b9d1 avformat/utils: detect MPEG streams with faulty DTS and discard affected DTS
Fixes issue2.ts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-03 02:27:07 +01:00
Michael Niedermayer
411f8f4c9a Merge commit '5c9c305d14730faf2af206e5d519df4948de0ed2'
* commit '5c9c305d14730faf2af206e5d519df4948de0ed2':
  ass: K&R formatting cosmetics

Conflicts:
	libavformat/assdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-02 21:44:44 +01:00
Michael Niedermayer
dfefc9097e avcodec/hevcpred_template: also initialize top[-1] for constrained intra prediction
Fixes out of array read
Fixes: 387713a12dc5cfa27fcb4178084ce1ea-asan_stack-oob_131176a_1182_cov_3861068719_CAINIT_C_SHARP_3.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-02 21:23:40 +01:00
Michael Niedermayer
8b8ae298af avcodec/g2meet: also reset local got_header when reseting the context got_header
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-02 15:22:52 +01:00
Michael Niedermayer
6b53c1aa82 avcodec/g2meet: fix error returns
Fixes out of array accesses

This should not affect any release

Fixes: 8ab69af9e5a7a7e20fe04cdd25c0d6e7-asan_heap-oob_e72b82_5505_cov_2278389485_g2m4.wmv
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-02 15:22:30 +01:00
Patrice Clement
5c9c305d14 ass: K&R formatting cosmetics 2014-03-02 13:23:13 +01:00
Michael Niedermayer
0bf882864e Revert "mpegts: do not set pts for missing dts in video streams"
This reverts commit f65afef1df.

If only pts is coded then dts must be equal pts
See Rec. ITU-T H.222.0 (06/2012) / ISO/IEC 13818-1:2013 (E) 2.7.5

Found-by: Baptiste Coudurier
2014-03-02 13:12:31 +01:00
James Almer
884e085d1e x86/synth_filter: Revert the switch to float ops with SSE2
This reverts the changes 6467209836
and 68c3ed936a did to the SSE2 version,
which generated a hit of about 5 cycles.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-02 11:58:10 +01:00
Michael Niedermayer
f5d1d1e466 avformat/oggparsevorbis: check packet size before reading new_len from it
Fixes out of array read
Fixes: 34260c7981118fb38fba61809bf4dd5a-asan_heap-oob_93b923_1508_cov_951051643_DivX640x480_oggvorbis.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-02 05:13:29 +01:00
Michael Niedermayer
52a2138656 avformat/avidec: Use a buffer with sufficient padding in read_gab2_sub()
Fixes out of array read
Fixes: 0ff9841c2a102f06e0d582bfc3376cbd-asan_heap-oob_495589_6836_cov_1763916974_mewmew_ssa.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-02 04:38:30 +01:00
Michael Niedermayer
73f930ee71 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ituh263: reject b-frame with pp_time = 0

See: bb01be8046
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-02 01:46:29 +01:00
James Almer
68c3ed936a x86/synth_filter: add synth_filter_avx
Sandy Bridge Win64:
180 cycles on ff_synth_filter_inner_sse2
150 cycles on ff_synth_filter_inner_avx

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-02 01:00:55 +01:00
Michael Niedermayer
171dd67520 avformat/mp3dec: optimize mp3_seek() for dir < 0
this minimizes the amount of protocol seeks and reading needed in that case

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-02 00:20:31 +01:00
Michael Niedermayer
9600486d10 avformat/aviobuf: optimize sequential backward seeking
This reduces the number of protocol seeks

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 23:57:40 +01:00
Michael Niedermayer
2adf422ce2 avformat/aviobuf: factorize buffer_size out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 23:27:37 +01:00
Keiji Costantini
9514440337 ituh263: reject b-frame with pp_time = 0
Avoid a division by 0 in ff_mpeg4_set_one_direct_mv.

Sample-Id: 00000168-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-03-01 23:17:30 +01:00
Michael Niedermayer
7e268a8afa RELEASE: update for 2.2
Found-by: Timothy
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 17:09:12 +01:00
James Almer
6467209836 x86/synth_filter: add synth_filter_sse
Build only on x86_32 targets.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 15:32:40 +01:00
Senthilnathan M
561bfce203 HLS: Handle the case when hls_list_size=0. Playlist file should contain all the segments. Fixes bug #3376.
Signed-off-by: Senthilnathan M <senthil.codr@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 15:13:23 +01:00
Michael Niedermayer
5972bcfac9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  qt-faststart: Add a note about the -movflags +faststart feature

Conflicts:
	tools/qt-faststart.c

See: 2574d62d0d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 15:08:05 +01:00
Michael Niedermayer
06fe29c41d Merge commit 'ea7f79f93796d68559a495be824b6bbd94dfe5f6'
* commit 'ea7f79f93796d68559a495be824b6bbd94dfe5f6':
  qt-faststart: Avoid unintentionally sign extending BE_32

See: 582f36ca3f
See: 69ce34c796
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 14:44:58 +01:00
Michael Niedermayer
7fa3ec88da Merge commit 'bb95334c34d0d9abccea370ae25c4765d7764ab8'
* commit 'bb95334c34d0d9abccea370ae25c4765d7764ab8':
  qt-faststart: Check offset_count before reading from the moov_atom buffer

Conflicts:
	tools/qt-faststart.c

See: 0ea4742341
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 14:33:45 +01:00
Michael Niedermayer
77c235206a Merge commit '63848854256a024a19435e87d6bc76fffa65e81e'
* commit '63848854256a024a19435e87d6bc76fffa65e81e':
  qt-faststart: Check the ftello() return codes

Conflicts:
	tools/qt-faststart.c

See: 4a2297294f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 14:19:04 +01:00
Michael Niedermayer
817f8138cb Merge commit '03c2a66fcff9707f71ffef7e61ce5e3973220d4b'
* commit '03c2a66fcff9707f71ffef7e61ce5e3973220d4b':
  qt-faststart: Fix the signedness of variables keeping the ftello return values

Conflicts:
	tools/qt-faststart.c

See: 1838961357
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 14:12:39 +01:00
Michael Niedermayer
11c4bc9a74 Merge commit '5612244351b2eb3cb4e6225861a0f55aa5d0c475'
* commit '5612244351b2eb3cb4e6225861a0f55aa5d0c475':
  qt-faststart: Check fseeko() return codes

Conflicts:
	tools/qt-faststart.c

See: 0de41ead6f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 13:55:16 +01:00
Michael Niedermayer
0bb474f686 Merge commit 'ea15a9a5d8fa6a71af3101b2af18c4dcac07987f'
* commit 'ea15a9a5d8fa6a71af3101b2af18c4dcac07987f':
  qt-faststart: Simplify code by using a MIN() macro

Conflicts:
	tools/qt-faststart.c

See: 59003fe7c0
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 13:47:08 +01:00
Michael Niedermayer
eea2cd23e9 Merge commit '3cbc7ef3d60b6af3617079f24a4f401d83353003'
* commit '3cbc7ef3d60b6af3617079f24a4f401d83353003':
  qt-faststart: Increase the copy buffer size to 64 KB

Conflicts:
	tools/qt-faststart.c

See: f4d9148fe2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 13:37:07 +01:00
Michael Niedermayer
a22907e9ea Merge commit 'd1f9563d502037239185c11578cc614bdf0c5870'
* commit 'd1f9563d502037239185c11578cc614bdf0c5870':
  pthread_frame: flush all threads on flush, not just the first one

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 13:26:51 +01:00
Michael Niedermayer
f0ce3854fd Merge commit 'bc6461c2861b7d482a037d3b3e2b44ad48805fa0'
* commit 'bc6461c2861b7d482a037d3b3e2b44ad48805fa0':
  af_compand: replace strtok_r() with av_get_token()

Conflicts:
	configure
	libavfilter/af_compand.c

Not merged as requested by ubitux
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 13:18:25 +01:00
Michael Niedermayer
cd88d89493 Merge commit 'fb3b2f5d923a6e19d80f21eb4e081674bceec810'
* commit 'fb3b2f5d923a6e19d80f21eb4e081674bceec810':
  configure: Set the thread type after resolving dependencies

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 13:07:36 +01:00
Michael Niedermayer
80793afb17 Merge commit '2f02bbcca050936686482453078e83dc25493da0'
* commit '2f02bbcca050936686482453078e83dc25493da0':
  build: Let the ffvhuff decoder/encoder depend on the huffyuv decoder/encoder

Conflicts:
	configure
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 12:37:38 +01:00
Michael Niedermayer
11146a9b44 Merge commit '34150be515cd9c43b0b679806b8d01774960af78'
* commit '34150be515cd9c43b0b679806b8d01774960af78':
  build: Let the iac decoder depend on the imc decoder

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 12:27:59 +01:00
Michael Niedermayer
ad48c9374e Merge commit '8e0cf39faf02536dca08f4fe628a66d1ae022fde'
* commit '8e0cf39faf02536dca08f4fe628a66d1ae022fde':
  build: Let all MJPEG-related decoders depend on the MJPEG decoder

Conflicts:
	configure
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 12:17:51 +01:00
Michael Niedermayer
c4c2b2ea5c Merge commit '0a36988e48dd581d29e77f768f987738bdf365f0'
* commit '0a36988e48dd581d29e77f768f987738bdf365f0':
  build: Let AMV decoder depend on the SP5X decoder

Conflicts:
	configure
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 05:11:37 +01:00
Michael Niedermayer
5aab33dea3 Merge commit 'f4bd9fe326ad1315a74206939ae56df93b940a09'
* commit 'f4bd9fe326ad1315a74206939ae56df93b940a09':
  h264: fix clang warning about uninitialized variable

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 05:03:59 +01:00
Michael Niedermayer
153b870d1e Merge commit '17a63ff0cd187b9e50e4a47862750295976853b1'
* commit '17a63ff0cd187b9e50e4a47862750295976853b1':
  h264: update flag name in ff_h264_decode_ref_pic_list_reordering()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 05:02:58 +01:00
Michael Niedermayer
983c7f4015 Merge commit 'ee6280ca12696a67535ce2245c77190edc513794'
* commit 'ee6280ca12696a67535ce2245c77190edc513794':
  h264: parse two additional constraint flags

Conflicts:
	libavcodec/h264_ps.c

See: 9091ba9dfa
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 04:51:05 +01:00
Michael Niedermayer
3ec3f70ddb Merge commit 'e70ab7c1f5005041bba0e4efc1165410f83495b2'
* commit 'e70ab7c1f5005041bba0e4efc1165410f83495b2':
  h264: add MVCD to the list of High profiles in SPS

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 04:30:57 +01:00
Lou Logan
700687ebe0 qt-faststart: Add a note about the -movflags +faststart feature
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-01 00:25:17 +02:00
Martin Storsjö
ea7f79f937 qt-faststart: Avoid unintentionally sign extending BE_32
Without this cast, the BE_32() expression is sign extended when
assigned to an uint64_t, since the uint8_t|uint8_t expression
is promoted to an int.

Also avoid undefined behaviour when left shifting an uint8_t
by 24 by casting it to an uint32_t explicitly before shifting.

Based on a patch by Michael Niedermayer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-01 00:25:08 +02:00
Michael Niedermayer
bb95334c34 qt-faststart: Check offset_count before reading from the moov_atom buffer
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-01 00:25:04 +02:00
Michael Niedermayer
6384885425 qt-faststart: Check the ftello() return codes
This silences a warning in the coverity static analyzer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-01 00:25:00 +02:00
Michael Niedermayer
03c2a66fcf qt-faststart: Fix the signedness of variables keeping the ftello return values
These variables are assigned the return values of ftello, which
returns an off_t, which is a signed type. On errors, ftello returns
-1, thus make sure this error return value can be stored properly.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-01 00:24:55 +02:00
Michael Niedermayer
5612244351 qt-faststart: Check fseeko() return codes
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-01 00:24:52 +02:00
Michael Niedermayer
ea15a9a5d8 qt-faststart: Simplify code by using a MIN() macro
qt-faststart doesn't use the normal libav headers at all since
it's supposed to be a completely standalone tool, so we implement
the macro locally in this file.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-01 00:24:47 +02:00
Martin Storsjö
3cbc7ef3d6 qt-faststart: Increase the copy buffer size to 64 KB
Copying data in chunks of 1 KB is a little wasteful.

64 KB should still easily fit on the stack, so there's no need
to allocate it dynamically.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-01 00:24:42 +02:00
Anton Khirnov
d1f9563d50 pthread_frame: flush all threads on flush, not just the first one
avcodec_flush_buffers() must release all internally held references
according to its documentation, for which all the threads need to be
flushed.

CC:libav-stable@libav.org
Bug-Id: vlc/9665
2014-02-28 21:55:46 +01:00
Anton Khirnov
bc6461c286 af_compand: replace strtok_r() with av_get_token() 2014-02-28 21:55:46 +01:00
Diego Biurrun
fb3b2f5d92 configure: Set the thread type after resolving dependencies
A threading type might be detected originally, but later disabled
if one of its dependencies is unavailable.

This makes sure that the threading support item in the configure
output is right for setups where w32threads are available but
native atomics aren't.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-02-28 22:27:05 +02:00
Diego Biurrun
2f02bbcca0 build: Let the ffvhuff decoder/encoder depend on the huffyuv decoder/encoder
Almost all of the code is shared so there is little point in
enabling one decoder/encoder without the other.
2014-02-28 21:17:01 +01:00
Diego Biurrun
34150be515 build: Let the iac decoder depend on the imc decoder
Almost all of the code is shared so there is little point in
enabling one decoder without the other.
2014-02-28 21:11:53 +01:00
Diego Biurrun
8e0cf39faf build: Let all MJPEG-related decoders depend on the MJPEG decoder
These codecs compile all of the MJPEG code anyway, so there is little
point in not enabling the MJPEG decoder directly. This also simplifies
the dependency declarations for the MJPEG codec family.
2014-02-28 20:51:10 +01:00
Diego Biurrun
0a36988e48 build: Let AMV decoder depend on the SP5X decoder
This codec compiles all of the SP5X code anyway, so there is little
point in not enabling the decoder directly. This also simplifies the
dependency declaration for the AMV decoder.
2014-02-28 20:44:53 +01:00
Vittorio Giovara
f4bd9fe326 h264: fix clang warning about uninitialized variable 2014-02-28 18:15:15 +01:00
Vittorio Giovara
17a63ff0cd h264: update flag name in ff_h264_decode_ref_pic_list_reordering()
This is the name used in the specifications.
2014-02-28 18:14:34 +01:00
Vittorio Giovara
ee6280ca12 h264: parse two additional constraint flags 2014-02-28 18:14:34 +01:00
Vittorio Giovara
e70ab7c1f5 h264: add MVCD to the list of High profiles in SPS
Also comment all previous profiles.
2014-02-28 18:14:33 +01:00
2726 changed files with 166063 additions and 83929 deletions

8
.gitignore vendored
View File

@@ -15,6 +15,7 @@
*.pdb
*.so
*.so.*
*.swp
*.ver
*-example
*-test
@@ -36,8 +37,9 @@
/doc/avoptions_format.texi
/doc/doxy/html/
/doc/examples/avio_reading
/doc/examples/avcodec
/doc/examples/decoding_encoding
/doc/examples/demuxing_decoding
/doc/examples/extract_mvs
/doc/examples/filter_audio
/doc/examples/filtering_audio
/doc/examples/filtering_video
@@ -48,6 +50,7 @@
/doc/examples/resampling_audio
/doc/examples/scaling_video
/doc/examples/transcode_aac
/doc/examples/transcoding
/doc/fate.txt
/doc/print_options
/lcov/
@@ -59,7 +62,9 @@
/tests/audiogen
/tests/base64
/tests/data/
/tests/pixfmts.mak
/tests/rotozoom
/tests/test_copy.ffmeta
/tests/tiny_psnr
/tests/tiny_ssim
/tests/videogen
@@ -80,4 +85,5 @@
/tools/qt-faststart
/tools/trasher
/tools/seek_print
/tools/uncoded_frame
/tools/zmqsend

123
Changelog
View File

@@ -1,24 +1,113 @@
Entries are sorted chronologically from oldest to youngest within each release,
releases are sorted from youngest to oldest.
version 2.2.7
- snow: fix null pointer dereference
- iff: fix out of array access
- svq1dec: fix input data corruption
- proresenc_ks: check buffer size
version 2.5.2:
- avcodec/indeo3: ensure offsets are non negative
- avcodec/h264: Check *log2_weight_denom
- avcodec/hevc_ps: Check diff_cu_qp_delta_depth
- avcodec/h264: Clear delayed_pic on deallocation
- avcodec/hevc: clear filter_slice_edges() on allocation
- avcodec/dcadec: Check that the added xch channel isnt already there
- avcodec/indeo3: use signed variables to avoid underflow
- swscale: increase yuv2rgb table headroom
- avformat/mov: fix integer overflow of size
- avformat/mov: check atom nesting depth
- avcodec/utvideodec: Fix handling of slice_height=0
- avcodec/xface: correct the XFACE_MAX_* values
- avcodec/vmdvideo: Check len before using it in method 3
- configure: create the tests directory like the doc directory
- mmvideo: check frame dimensions
- jvdec: check frame dimensions
version 2.5.1:
- lavu/frame: fix malloc error path in av_frame_copy_props()
- avformat/aviobuf: Check that avio_seek() target is non negative
- swresample/soxr_resample: fix error handling
- avformat/flvdec: fix potential use of uninitialized variables
- avformat/crypto: fix key vs iv typo
- configure: use use_pkg_config() instead of check_pkg_config() for libsmbclient
- avcodec/ppc/vp3dsp_altivec: POWER LE support to vp3_idct_add_altivec()
- avformat/matroskadec: fix handling of recursive SeekHead elements
- doc/examples/filtering_video: fix frame rate
- avcodec/mpegaudiodec_template: only allocate fdsp when its used
- doc/examples/transcoding: check encoder before using it
- update MAINTAINERS file
- POWER LE support in put_vp8_epel_h_altivec_core() put_vp8_epel_v_altivec_core() put_vp8_pixels16_altivec()
- POWER LE support in vc1_inv_trans_8x4_altivec()
version 2.5:
- HEVC/H.265 RTP payload format (draft v6) packetizer
- SUP/PGS subtitle demuxer
- ffprobe -show_pixel_formats option
- CAST128 symmetric block cipher, ECB mode
- STL subtitle demuxer and decoder
- libutvideo YUV 4:2:2 10bit support
- XCB-based screen-grabber
- UDP-Lite support (RFC 3828)
- xBR scaling filter
- AVFoundation screen capturing support
- ffserver supports codec private options
- creating DASH compatible fragmented MP4, MPEG-DASH segmenting muxer
- WebP muxer with animated WebP support
- zygoaudio decoding support
- APNG decoder and demuxer
- postproc visualization support
version 2.2.6
- fix infinite loop in dvbsub parser
- fix some interlaced MPEG-2 videos
- fix decoding issues in dv (Ticket2340, 2341)
- fix v4l2 and v4l2enc crashes
- fix theoretical librtmp crash
- fix theoretical eamad crash
- support dimension change in g2meet
version 2.4:
- Icecast protocol
- ported lenscorrection filter from frei0r filter
- large optimizations in dctdnoiz to make it usable
- ICY metadata are now requested by default with the HTTP protocol
- support for using metadata in stream specifiers in fftools
- LZMA compression support in TIFF decoder
- support for H.261 RTP payload format (RFC 4587)
- HEVC/H.265 RTP payload format (draft v6) depacketizer
- added codecview filter to visualize information exported by some codecs
- Matroska 3D support thorugh side data
- HTML generation using texi2html is deprecated in favor of makeinfo/texi2any
- silenceremove filter
version 2.3:
- AC3 fixed-point decoding
- shuffleplanes filter
- subfile protocol
- Phantom Cine demuxer
- replaygain data export
- VP7 video decoder
- Alias PIX image encoder and decoder
- Improvements to the BRender PIX image decoder
- Improvements to the XBM decoder
- QTKit input device
- improvements to OpenEXR image decoder
- support decoding 16-bit RLE SGI images
- GDI screen grabbing for Windows
- alternative rendition support for HTTP Live Streaming
- AVFoundation input device
- Direct Stream Digital (DSD) decoder
- Magic Lantern Video (MLV) demuxer
- On2 AVC (Audio for Video) decoder
- support for decoding through DXVA2 in ffmpeg
- libbs2b-based stereo-to-binaural audio filter
- libx264 reference frames count limiting depending on level
- native Opus decoder
- display matrix export and rotation API
- WebVTT encoder
- showcqt multimedia filter
- zoompan filter
- signalstats filter
- hqx filter (hq2x, hq3x, hq4x)
- flanger filter
- Image format auto-detection
- LRC demuxer and muxer
- Samba protocol (via libsmbclient)
- WebM DASH Manifest muxer
- libfribidi support in drawtext
version 2.2:
- HNM version 4 demuxer and video decoder
- Live HDS muxer
- setsar/setdar filters now support variables in ratio expressions
@@ -45,6 +134,7 @@ version 2.2:
- libx265 encoder
- dejudder filter
- Autodetect VDA like all other hardware accelerations
- aliases and defaults for Ogg subtypes (opus, spx)
version 2.1:
@@ -232,7 +322,7 @@ version 1.1:
- JSON captions for TED talks decoding support
- SOX Resampler support in libswresample
- aselect filter
- SGI RLE 8-bit decoder
- SGI RLE 8-bit / Silicon Graphics RLE 8-bit video decoder
- Silicon Graphics Motion Video Compressor 1 & 2 decoder
- Silicon Graphics Movie demuxer
- apad filter
@@ -276,7 +366,9 @@ version 1.0:
- RTMPE protocol support
- RTMPTE protocol support
- showwaves and showspectrum filter
- LucasArts SMUSH playback support
- LucasArts SMUSH SANM playback support
- LucasArts SMUSH VIMA audio decoder (ADPCM)
- LucasArts SMUSH demuxer
- SAMI, RealText and SubViewer demuxers and decoders
- Heart Of Darkness PAF playback support
- iec61883 device
@@ -400,6 +492,7 @@ version 0.10:
- ffwavesynth decoder
- aviocat tool
- ffeval tool
- support encoding and decoding 4-channel SGI images
version 0.9:

15
INSTALL
View File

@@ -1,15 +0,0 @@
1) Type './configure' to create the configuration. A list of configure
options is printed by running 'configure --help'.
'configure' can be launched from a directory different from the FFmpeg
sources to build the objects out of tree. To do this, use an absolute
path when launching 'configure', e.g. '/ffmpegdir/ffmpeg/configure'.
2) Then type 'make' to build FFmpeg. GNU Make 3.81 or later is required.
3) Type 'make install' to install all binaries and libraries you built.
NOTICE
- Non system dependencies (e.g. libx264, libvpx) are disabled by default.

17
INSTALL.md Normal file
View File

@@ -0,0 +1,17 @@
#Installing FFmpeg:
1. Type `./configure` to create the configuration. A list of configure
options is printed by running `configure --help`.
`configure` can be launched from a directory different from the FFmpeg
sources to build the objects out of tree. To do this, use an absolute
path when launching `configure`, e.g. `/ffmpegdir/ffmpeg/configure`.
2. Then type `make` to build FFmpeg. GNU Make 3.81 or later is required.
3. Type `make install` to install all binaries and libraries you built.
NOTICE
------
- Non system dependencies (e.g. libx264, libvpx) are disabled by default.

View File

@@ -1,4 +1,4 @@
FFmpeg:
#FFmpeg:
Most files in FFmpeg are under the GNU Lesser General Public License version 2.1
or later (LGPL v2.1+). Read the file COPYING.LGPLv2.1 for details. Some other
@@ -10,11 +10,12 @@ version 2 or later (GPL v2+). See the file COPYING.GPLv2 for details. None of
these parts are used by default, you have to explicitly pass --enable-gpl to
configure to activate them. In this case, FFmpeg's license changes to GPL v2+.
Specifically, the GPL parts of FFmpeg are
Specifically, the GPL parts of FFmpeg are:
- libpostproc
- libmpcodecs
- optional x86 optimizations in the files
libavcodec/x86/flac_dsp_gpl.asm
libavcodec/x86/idct_mmx.c
- libutvideo encoding/decoding wrappers in
libavcodec/libutvideo*.cpp
@@ -63,6 +64,7 @@ There are a handful of files under other licensing terms, namely:
documentation accompanying your program if you only distribute executables.
You must also indicate any changes including additions and deletions to
those three files in the documentation.
tests/reference.pnm is under the expat license
external libraries

View File

@@ -44,8 +44,8 @@ Miscellaneous Areas
===================
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, Alexander Strasser
build system (configure, makefiles) Diego Biurrun, Mans Rullgard
project server Árpád Gereöffy, Michael Niedermayer, Reimar Doeffinger, Alexander Strasser
presets Robert Swain
metadata subsystem Aurelien Jacobs
release management Michael Niedermayer
@@ -54,8 +54,10 @@ release management Michael Niedermayer
Communication
=============
website Robert Swain, Lou Logan
mailinglists Michael Niedermayer, Baptiste Coudurier, Lou Logan
website Deby Barbara Lepage
fate.ffmpeg.org Timothy Gu
Trac bug tracker Alexander Strasser, Michael Niedermayer, Carl Eugen Hoyos, Lou Logan
mailing lists Michael Niedermayer, Baptiste Coudurier, Lou Logan
Google+ Paul B Mahol, Michael Niedermayer, Alexander Strasser
Twitter Lou Logan
Launchpad Timothy Gu
@@ -73,6 +75,7 @@ Other:
bprint Nicolas George
bswap.h
des Reimar Doeffinger
dynarray.h Nicolas George
eval.c, eval.h Michael Niedermayer
float_dsp Loren Merritt
hash Reimar Doeffinger
@@ -129,6 +132,7 @@ Generic Parts:
tableprint.c, tableprint.h Reimar Doeffinger
fixed point FFT:
fft* Zeljko Lukac
Text Subtitles Clément Bœsch
Codecs:
4xm.c Michael Niedermayer
@@ -162,11 +166,13 @@ Codecs:
dnxhd* Baptiste Coudurier
dpcm.c Mike Melanson
dv.c Roman Shaposhnik
dvbsubdec.c Anshul Maheshwari
dxa.c Kostya Shishkov
eacmv*, eaidct*, eat* Peter Ross
exif.c, exif.h Thilo Borgmann
ffv1.c Michael Niedermayer
ffv1* Michael Niedermayer
ffwavesynth.c Nicolas George
fic.c Derek Buitenhuis
flac* Justin Ruggles
flashsv* Benjamin Larsson
flicvideo.c Mike Melanson
@@ -176,7 +182,7 @@ Codecs:
h261* Michael Niedermayer
h263* Michael Niedermayer
h264* Loren Merritt, Michael Niedermayer
huffyuv.c Michael Niedermayer
huffyuv* Michael Niedermayer, Christophe Gisquet
idcinvideo.c Mike Melanson
imc* Benjamin Larsson
indeo2* Kostya Shishkov
@@ -236,12 +242,12 @@ Codecs:
rtjpeg.c, rtjpeg.h Reimar Doeffinger
rv10.c Michael Niedermayer
rv3* Kostya Shishkov
rv4* Kostya Shishkov
rv4* Kostya Shishkov, Christophe Gisquet
s3tc* Ivo van Poorten
smacker.c Kostya Shishkov
smc.c Mike Melanson
smvjpegdec.c Ash Hughes
snow.c Michael Niedermayer, Loren Merritt
snow* Michael Niedermayer, Loren Merritt
sonic.c Alex Beregszaszi
srt* Aurelien Jacobs
sunrast.c Ivo van Poorten
@@ -260,13 +266,13 @@ Codecs:
v410*.c Derek Buitenhuis
vb.c Kostya Shishkov
vble.c Derek Buitenhuis
vc1* Kostya Shishkov
vc1* Kostya Shishkov, Christophe Gisquet
vcr1.c Michael Niedermayer
vda_h264_dec.c Xidorn Quan
vima.c Paul B Mahol
vmnc.c Kostya Shishkov
vorbis_dec.c Denes Balatoni, David Conrad
vorbis_enc.c Oded Shimon
vorbisdec.c Denes Balatoni, David Conrad
vorbisenc.c Oded Shimon
vp3* Mike Melanson
vp5 Aurelien Jacobs
vp6 Aurelien Jacobs
@@ -302,16 +308,21 @@ libavdevice
libavdevice/avdevice.h
dshow.c Roger Pack
avfoundation.m Thilo Borgmann
decklink* Deti Fliegl
dshow.c Roger Pack (CC rogerdpack@gmail.com)
fbdev_enc.c Lukasz Marek
gdigrab.c Roger Pack (CC rogerdpack@gmail.com)
iec61883.c Georg Lippitsch
lavfi Stefano Sabatini
libdc1394.c Roman Shaposhnik
opengl_enc.c Lukasz Marek
pulse_audio_enc.c Lukasz Marek
qtkit.m Thilo Borgmann
sdl Stefano Sabatini
v4l2.c Luca Abeni
v4l2.c Giorgio Vazzana
vfwcap.c Ramiro Polla
xv.c Lukasz Marek
libavfilter
===========
@@ -333,7 +344,9 @@ Filters:
af_compand.c Paul B Mahol
af_ladspa.c Paul B Mahol
af_pan.c Nicolas George
af_silenceremove.c Paul B Mahol
avf_avectorscope.c Paul B Mahol
avf_showcqt.c Muhammad Faiz
vf_blend.c Paul B Mahol
vf_colorbalance.c Paul B Mahol
vf_dejudder.c Nicholas Robbins
@@ -341,7 +354,10 @@ Filters:
vf_drawbox.c/drawgrid Andrey Utkin
vf_extractplanes.c Paul B Mahol
vf_histogram.c Paul B Mahol
vf_hqx.c Clément Bœsch
vf_idet.c Pascal Massimino
vf_il.c Paul B Mahol
vf_lenscorrection.c Daniel Oberhoff
vf_mergeplanes.c Paul B Mahol
vf_psnr.c Paul B Mahol
vf_scale.c Michael Niedermayer
@@ -370,6 +386,7 @@ Muxers/Demuxers:
aiffdec.c Baptiste Coudurier, Matthieu Bouron
aiffenc.c Baptiste Coudurier, Matthieu Bouron
ape.c Kostya Shishkov
apngdec.c Benoit Fouet
ass* Aurelien Jacobs
astdec.c Paul B Mahol
astenc.c James Almer
@@ -411,6 +428,7 @@ Muxers/Demuxers:
matroska.c Aurelien Jacobs
matroskadec.c Aurelien Jacobs
matroskaenc.c David Conrad
matroska subtitles (matroskaenc.c) John Peebles
metadata* Aurelien Jacobs
mgsts.c Paul B Mahol
microdvd* Aurelien Jacobs
@@ -420,14 +438,15 @@ Muxers/Demuxers:
mpc.c Kostya Shishkov
mpeg.c Michael Niedermayer
mpegenc.c Michael Niedermayer
mpegts* Baptiste Coudurier
mpegts.c Marton Balint
mpegtsenc.c Baptiste Coudurier
msnwc_tcp.c Ramiro Polla
mtv.c Reynaldo H. Verdejo Pinochet
mxf* Baptiste Coudurier
mxfdec.c Tomas Härdin
nistspheredec.c Paul B Mahol
nsvdec.c Francois Revol
nut.c Michael Niedermayer
nut* Michael Niedermayer
nuv.c Reimar Doeffinger
oggdec.c, oggdec.h David Conrad
oggenc.c Baptiste Coudurier
@@ -444,12 +463,15 @@ Muxers/Demuxers:
rmdec.c, rmenc.c Ronald S. Bultje, Kostya Shishkov
rtmp* Kostya Shishkov
rtp.c, rtpenc.c Martin Storsjo
rtpdec_h261.*, rtpenc_h261.* Thomas Volkert
rtpdec_hevc.*, rtpenc_hevc.* Thomas Volkert
rtpdec_asf.* Ronald S. Bultje
rtpenc_mpv.*, rtpenc_aac.* Martin Storsjo
rtsp.c Luca Barbato
sbgdec.c Nicolas George
sdp.c Martin Storsjo
segafilm.c Mike Melanson
segment.c Stefano Sabatini
siff.c Kostya Shishkov
smacker.c Kostya Shishkov
smjpeg* Paul B Mahol
@@ -462,6 +484,7 @@ Muxers/Demuxers:
voc.c Aurelien Jacobs
wav.c Michael Niedermayer
wc3movie.c Mike Melanson
webm dash (matroskaenc.c) Vignesh Venkatasubramanian
webvtt* Matthew J Heaney
westwood.c Mike Melanson
wtv.c Peter Ross
@@ -475,6 +498,7 @@ Protocols:
libssh.c Lukasz Marek
mms*.c Ronald S. Bultje
udp.c Luca Abeni
icecast.c Marvin Scholz
libswresample
@@ -503,6 +527,8 @@ Amiga / PowerPC Colin Ward
Linux / PowerPC Luca Barbato
Windows MinGW Alex Beregszaszi, Ramiro Polla
Windows Cygwin Victor Paesa
Windows MSVC Matthew Oliver
Windows ICL Matthew Oliver
ADI/Blackfin DSP Marc Hoffman
Sparc Roman Shaposhnik
x86 Michael Niedermayer
@@ -511,8 +537,9 @@ x86 Michael Niedermayer
Releases
========
2.5 Michael Niedermayer
2.4 Michael Niedermayer
2.2 Michael Niedermayer
2.1 Michael Niedermayer
1.2 Michael Niedermayer
If you want to maintain an older release, please contact us
@@ -529,7 +556,7 @@ 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
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
Clément Bœsch 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
@@ -544,12 +571,14 @@ Michael Niedermayer 9FF2 128B 147E F673 0BAD F133 611E C787 040B 0FAB
Nicolas George 24CE 01CE 9ACC 5CEB 74D8 8D9D B063 D997 36E5 4C93
Panagiotis Issaris 6571 13A3 33D9 3726 F728 AA98 F643 B12E ECF3 E029
Peter Ross A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B
Reimar Döffinger C61D 16E5 9E2C D10C 8958 38A4 0899 A2B9 06D4 D9C7
Reimar Doeffinger C61D 16E5 9E2C D10C 8958 38A4 0899 A2B9 06D4 D9C7
Reinhard Tartler 9300 5DC2 7E87 6C37 ED7B CA9A 9808 3544 9453 48A4
Reynaldo H. Verdejo Pinochet 6E27 CD34 170C C78E 4D4F 5F40 C18E 077F 3114 452A
Robert Swain EE7A 56EA 4A81 A7B5 2001 A521 67FA 362D A2FC 3E71
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
Tiancheng "Timothy" Gu 9456 AFC0 814A 8139 E994 8351 7FE6 B095 B582 B0D4
Tim Nicholson 38CF DB09 3ED0 F607 8B67 6CED 0C0B FC44 8B0B FC83
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

View File

@@ -4,6 +4,7 @@ include config.mak
vpath %.c $(SRC_PATH)
vpath %.cpp $(SRC_PATH)
vpath %.h $(SRC_PATH)
vpath %.m $(SRC_PATH)
vpath %.S $(SRC_PATH)
vpath %.asm $(SRC_PATH)
vpath %.rc $(SRC_PATH)
@@ -29,19 +30,24 @@ $(foreach prog,$(AVBASENAMES),$(eval OBJS-$(prog)-$(CONFIG_OPENCL) += cmdutils_o
OBJS-ffmpeg += ffmpeg_opt.o ffmpeg_filter.o
OBJS-ffmpeg-$(HAVE_VDPAU_X11) += ffmpeg_vdpau.o
OBJS-ffmpeg-$(HAVE_DXVA2_LIB) += ffmpeg_dxva2.o
OBJS-ffmpeg-$(CONFIG_VDA) += ffmpeg_vda.o
OBJS-ffserver += ffserver_config.o
TESTTOOLS = audiogen videogen rotozoom tiny_psnr tiny_ssim base64
HOSTPROGS := $(TESTTOOLS:%=tests/%) doc/print_options
TOOLS = qt-faststart trasher uncoded_frame
TOOLS-$(CONFIG_ZLIB) += cws2fws
FFLIBS-$(CONFIG_AVDEVICE) += avdevice
FFLIBS-$(CONFIG_AVFILTER) += avfilter
FFLIBS-$(CONFIG_AVFORMAT) += avformat
# $(FFLIBS-yes) needs to be in linking order
FFLIBS-$(CONFIG_AVDEVICE) += avdevice
FFLIBS-$(CONFIG_AVFILTER) += avfilter
FFLIBS-$(CONFIG_AVFORMAT) += avformat
FFLIBS-$(CONFIG_AVCODEC) += avcodec
FFLIBS-$(CONFIG_AVRESAMPLE) += avresample
FFLIBS-$(CONFIG_AVCODEC) += avcodec
FFLIBS-$(CONFIG_POSTPROC) += postproc
FFLIBS-$(CONFIG_SWRESAMPLE)+= swresample
FFLIBS-$(CONFIG_SWSCALE) += swscale
FFLIBS-$(CONFIG_POSTPROC) += postproc
FFLIBS-$(CONFIG_SWRESAMPLE) += swresample
FFLIBS-$(CONFIG_SWSCALE) += swscale
FFLIBS := avutil
@@ -58,7 +64,7 @@ FF_DEP_LIBS := $(DEP_LIBS)
all: $(AVPROGS)
$(TOOLS): %$(EXESUF): %.o $(EXEOBJS)
$(LD) $(LDFLAGS) $(LD_O) $^ $(ELIBS)
$(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS)
tools/cws2fws$(EXESUF): ELIBS = $(ZLIB)
tools/uncoded_frame$(EXESUF): $(FF_DEP_LIBS)
@@ -72,9 +78,8 @@ config.h: .config
SUBDIR_VARS := CLEANFILES EXAMPLES FFLIBS HOSTPROGS TESTPROGS TOOLS \
HEADERS ARCH_HEADERS BUILT_HEADERS SKIPHEADERS \
ARMV5TE-OBJS ARMV6-OBJS VFP-OBJS NEON-OBJS \
ALTIVEC-OBJS VIS-OBJS \
MMX-OBJS YASM-OBJS \
ARMV5TE-OBJS ARMV6-OBJS ARMV8-OBJS VFP-OBJS NEON-OBJS \
ALTIVEC-OBJS MMX-OBJS YASM-OBJS \
MIPSFPU-OBJS MIPSDSPR2-OBJS MIPSDSPR1-OBJS MIPS32R2-OBJS \
OBJS SLIBOBJS HOSTOBJS TESTOBJS
@@ -88,6 +93,7 @@ $(foreach V,$(SUBDIR_VARS),$(eval $(call RESET,$(V))))
SUBDIR := $(1)/
include $(SRC_PATH)/$(1)/Makefile
-include $(SRC_PATH)/$(1)/$(ARCH)/Makefile
-include $(SRC_PATH)/$(1)/$(INTRINSICS)/Makefile
include $(SRC_PATH)/library.mak
endef
@@ -113,7 +119,7 @@ $(PROGS): %$(PROGSSUF)$(EXESUF): %$(PROGSSUF)_g$(EXESUF)
$(STRIP) $@
%$(PROGSSUF)_g$(EXESUF): %.o $(FF_DEP_LIBS)
$(LD) $(LDFLAGS) $(LD_O) $(OBJS-$*) $(FF_EXTRALIBS)
$(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $(OBJS-$*) $(FF_EXTRALIBS)
OBJDIRS += tools

18
README
View File

@@ -1,18 +0,0 @@
FFmpeg README
-------------
1) Documentation
----------------
* Read the documentation in the doc/ directory in git.
You can also view it online at http://ffmpeg.org/documentation.html
2) Licensing
------------
* See the LICENSE file.
3) Build and Install
--------------------
* See the INSTALL file.

40
README.md Normal file
View File

@@ -0,0 +1,40 @@
FFmpeg README
=============
FFmpeg is a collection of libraries and tools to process multimedia content
such as audio, video, subtitles and related metadata.
## Libraries
* `libavcodec` provides implementation of a wider range of codecs.
* `libavformat` implements streaming protocols, container formats and basic I/O access.
* `libavutil` includes hashers, decompressors and miscellaneous utility functions.
* `libavfilter` provides a mean to alter decoded Audio and Video through chain of filters.
* `libavdevice` provides an abstraction to access capture and playback devices.
* `libswresample` implements audio mixing and resampling routines.
* `libswscale` implements color conversion and scaling routines.
## Tools
* [ffmpeg](http://ffmpeg.org/ffmpeg.html) is a command line toolbox to
manipulate, convert and stream multimedia content.
* [ffplay](http://ffmpeg.org/ffplay.html) is a minimalistic multimedia player.
* [ffprobe](http://ffmpeg.org/ffprobe.html) is a simple analisys tool to inspect
multimedia content.
* Additional small tools such as `aviocat`, `ismindex` and `qt-faststart`.
## Documentation
The offline documentation is available in the **doc/** directory.
The online documentation is available in the main [website](http://ffmpeg.org)
and in the [wiki](http://trac.ffmpeg.org).
### Examples
Coding examples are available in the **doc/examples** directory.
## License
FFmpeg codebase is mainly LGPL-licensed with optional components licensed under
GPL. Please refer to the LICENSE file for detailed information.

View File

@@ -1 +1 @@
2.2.12
2.5.2

101
RELEASE_NOTES Normal file
View File

@@ -0,0 +1,101 @@
┌────────────────────────────────────────┐
│ RELEASE NOTES for FFmpeg 2.5 "Bohr" │
└────────────────────────────────────────┘
The FFmpeg Project proudly presents FFmpeg 2.5 "Bohr", 2.5 months after the
release of 2.4.
The most important new features are AVFoundation screen-grabbing support,
animated WebP decoding support, and Animated PNG support. In addition, many
exciting features for video streaming are also implemented, including MPEG-
DASH fragmenting muxer, HEVC RTP payload muxer, and UDP Lite support.
As usual, if you have any question on this release or any FFmpeg related
topic, feel free to join us on the #ffmpeg IRC channel (on
irc.freenode.net).
┌────────────────────────────┐
│ 🔨 API Information │
└────────────────────────────┘
FFmpeg 2.5 includes the following library versions:
• libavutil 54.15.100
• libavcodec 56.13.100
• libavformat 56.15.102
• libavdevice 56. 3.100
• libavfilter 5. 2.103
• libswscale 3. 1.101
• libswresample 1. 1.100
• libpostproc 53. 3.100
Important API changes since 2.4:
• avpriv_dv_frame_profile2() has been deprecated
Please refer to the doc/APIchanges file for more information.
┌────────────────────────────┐
│ ★ List of New Features │
└────────────────────────────┘
┌────────────────────────────┐
│ ffprobe │
└────────────────────────────┘
• -show_pixel_formats option
┌────────────────────────────┐
│ ffserver │
└────────────────────────────┘
• codec private options support
┌────────────────────────────┐
│ libavcodec │
└────────────────────────────┘
• STL subtitle decoder
• libutvideo YUV 4:2:2 10bit support
• animated WebP decoding support
• zygoaudio decoding support
• APNG decoder
┌────────────────────────────┐
│ libavdevice │
└────────────────────────────┘
• XCB-based screen-grabber
• AVFoundation screen capturing support
┌────────────────────────────┐
│ libavformat │
└────────────────────────────┘
• HEVC/H.265 RTP payload format (draft v6) packetizer
• SUP/PGS subtitle demuxer
• STL subtitle demuxer
• UDP-Lite support (RFC 3828)
• MPEG-DASH segmenting muxer, which allows creating DASH compatible
fragmented MP4
• WebP muxer
• APNG demuxer
┌────────────────────────────┐
│ libavfilter │
└────────────────────────────┘
• xBR scaling filter
┌────────────────────────────┐
│ libavutil │
└────────────────────────────┘
• CAST128 symmetric block cipher, ECB mode
┌────────────────────────────┐
│ libpostproc │
└────────────────────────────┘
• visualization support

View File

@@ -1,5 +1,6 @@
OBJS-$(HAVE_ARMV5TE) += $(ARMV5TE-OBJS) $(ARMV5TE-OBJS-yes)
OBJS-$(HAVE_ARMV6) += $(ARMV6-OBJS) $(ARMV6-OBJS-yes)
OBJS-$(HAVE_ARMV8) += $(ARMV8-OBJS) $(ARMV8-OBJS-yes)
OBJS-$(HAVE_VFP) += $(VFP-OBJS) $(VFP-OBJS-yes)
OBJS-$(HAVE_NEON) += $(NEON-OBJS) $(NEON-OBJS-yes)
@@ -10,7 +11,5 @@ OBJS-$(HAVE_MIPSDSPR2) += $(MIPSDSPR2-OBJS) $(MIPSDSPR2-OBJS-yes)
OBJS-$(HAVE_ALTIVEC) += $(ALTIVEC-OBJS) $(ALTIVEC-OBJS-yes)
OBJS-$(HAVE_VIS) += $(VIS-OBJS) $(VIS-OBJS-yes)
OBJS-$(HAVE_MMX) += $(MMX-OBJS) $(MMX-OBJS-yes)
OBJS-$(HAVE_YASM) += $(YASM-OBJS) $(YASM-OBJS-yes)

View File

@@ -66,6 +66,7 @@ AVDictionary *swr_opts;
AVDictionary *format_opts, *codec_opts, *resample_opts;
static FILE *report_file;
static int report_file_level = AV_LOG_DEBUG;
int hide_banner = 0;
void init_opts(void)
@@ -104,8 +105,10 @@ static void log_callback_report(void *ptr, int level, const char *fmt, va_list v
av_log_default_callback(ptr, level, fmt, vl);
av_log_format_line(ptr, level, fmt, vl2, line, sizeof(line), &print_prefix);
va_end(vl2);
fputs(line, report_file);
fflush(report_file);
if (report_file_level >= level) {
fputs(line, report_file);
fflush(report_file);
}
}
static void (*program_exit)(int ret);
@@ -163,7 +166,7 @@ void show_help_options(const OptionDef *options, const char *msg, int req_flags,
int first;
first = 1;
for (po = options; po->name != NULL; po++) {
for (po = options; po->name; po++) {
char buf[64];
if (((po->flags & req_flags) != req_flags) ||
@@ -202,7 +205,7 @@ static const OptionDef *find_option(const OptionDef *po, const char *name)
const char *p = strchr(name, ':');
int len = p ? p - name : strlen(name);
while (po->name != NULL) {
while (po->name) {
if (!strncmp(name, po->name, len) && strlen(po->name) == len)
break;
po++;
@@ -251,7 +254,7 @@ static void prepare_app_arguments(int *argc_ptr, char ***argv_ptr)
win32_argv_utf8 = av_mallocz(sizeof(char *) * (win32_argc + 1) + buffsize);
argstr_flat = (char *)win32_argv_utf8 + sizeof(char *) * (win32_argc + 1);
if (win32_argv_utf8 == NULL) {
if (!win32_argv_utf8) {
LocalFree(argv_w);
return;
}
@@ -441,7 +444,7 @@ int locate_option(int argc, char **argv, const OptionDef *options,
(po->name && !strcmp(optname, po->name)))
return i;
if (po->flags & HAS_ARG)
if (!po->name || po->flags & HAS_ARG)
i++;
}
return 0;
@@ -552,6 +555,11 @@ int opt_default(void *optctx, const char *opt, const char *arg)
}
consumed = 1;
}
#else
if (!consumed && !strcmp(opt, "sws_flags")) {
av_log(NULL, AV_LOG_WARNING, "Ignoring %s %s, due to disabled swscale\n", opt, arg);
consumed = 1;
}
#endif
#if CONFIG_SWRESAMPLE
swr_class = swr_get_class();
@@ -662,7 +670,7 @@ static void init_parse_context(OptionParseContext *octx,
memset(octx, 0, sizeof(*octx));
octx->nb_groups = nb_groups;
octx->groups = av_mallocz(sizeof(*octx->groups) * octx->nb_groups);
octx->groups = av_mallocz_array(octx->nb_groups, sizeof(*octx->groups));
if (!octx->groups)
exit_program(1);
@@ -834,10 +842,17 @@ int opt_loglevel(void *optctx, const char *opt, const char *arg)
};
char *tail;
int level;
int flags;
int i;
flags = av_log_get_flags();
tail = strstr(arg, "repeat");
av_log_set_flags(tail ? 0 : AV_LOG_SKIP_REPEATED);
if (tail)
flags &= ~AV_LOG_SKIP_REPEATED;
else
flags |= AV_LOG_SKIP_REPEATED;
av_log_set_flags(flags);
if (tail == arg)
arg += 6 + (arg[6]=='+');
if(tail && !*arg)
@@ -919,6 +934,13 @@ static int init_report(const char *env)
av_free(filename_template);
filename_template = val;
val = NULL;
} else if (!strcmp(key, "level")) {
char *tail;
report_file_level = strtol(val, &tail, 10);
if (*tail) {
av_log(NULL, AV_LOG_FATAL, "Invalid report file level\n");
exit_program(1);
}
} else {
av_log(NULL, AV_LOG_ERROR, "Unknown key '%s' in FFREPORT\n", key);
}
@@ -937,9 +959,10 @@ static int init_report(const char *env)
report_file = fopen(filename.str, "w");
if (!report_file) {
int ret = AVERROR(errno);
av_log(NULL, AV_LOG_ERROR, "Failed to open report \"%s\": %s\n",
filename.str, strerror(errno));
return AVERROR(errno);
return ret;
}
av_log_set_callback(log_callback_report);
av_log(NULL, AV_LOG_INFO,
@@ -1098,7 +1121,7 @@ void show_banner(int argc, char **argv, const OptionDef *options)
int show_version(void *optctx, const char *opt, const char *arg)
{
av_log_set_callback(log_callback_help);
print_program_info (0 , AV_LOG_INFO);
print_program_info (SHOW_COPYRIGHT, AV_LOG_INFO);
print_all_libs_info(SHOW_VERSION, AV_LOG_INFO);
return 0;
@@ -1186,16 +1209,29 @@ int show_license(void *optctx, const char *opt, const char *arg)
return 0;
}
int show_formats(void *optctx, const char *opt, const char *arg)
static int is_device(const AVClass *avclass)
{
if (!avclass)
return 0;
return avclass->category == AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT ||
avclass->category == AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT ||
avclass->category == AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT ||
avclass->category == AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT ||
avclass->category == AV_CLASS_CATEGORY_DEVICE_OUTPUT ||
avclass->category == AV_CLASS_CATEGORY_DEVICE_INPUT;
}
static int show_formats_devices(void *optctx, const char *opt, const char *arg, int device_only)
{
AVInputFormat *ifmt = NULL;
AVOutputFormat *ofmt = NULL;
const char *last_name;
int is_dev;
printf("File formats:\n"
printf("%s\n"
" D. = Demuxing supported\n"
" .E = Muxing supported\n"
" --\n");
" --\n", device_only ? "Devices:" : "File formats:");
last_name = "000";
for (;;) {
int decode = 0;
@@ -1204,7 +1240,10 @@ int show_formats(void *optctx, const char *opt, const char *arg)
const char *long_name = NULL;
while ((ofmt = av_oformat_next(ofmt))) {
if ((name == NULL || strcmp(ofmt->name, name) < 0) &&
is_dev = is_device(ofmt->priv_class);
if (!is_dev && device_only)
continue;
if ((!name || strcmp(ofmt->name, name) < 0) &&
strcmp(ofmt->name, last_name) > 0) {
name = ofmt->name;
long_name = ofmt->long_name;
@@ -1212,7 +1251,10 @@ int show_formats(void *optctx, const char *opt, const char *arg)
}
}
while ((ifmt = av_iformat_next(ifmt))) {
if ((name == NULL || strcmp(ifmt->name, name) < 0) &&
is_dev = is_device(ifmt->priv_class);
if (!is_dev && device_only)
continue;
if ((!name || strcmp(ifmt->name, name) < 0) &&
strcmp(ifmt->name, last_name) > 0) {
name = ifmt->name;
long_name = ifmt->long_name;
@@ -1221,7 +1263,7 @@ int show_formats(void *optctx, const char *opt, const char *arg)
if (name && strcmp(ifmt->name, name) == 0)
decode = 1;
}
if (name == NULL)
if (!name)
break;
last_name = name;
@@ -1234,6 +1276,16 @@ int show_formats(void *optctx, const char *opt, const char *arg)
return 0;
}
int show_formats(void *optctx, const char *opt, const char *arg)
{
return show_formats_devices(optctx, opt, arg, 0);
}
int show_devices(void *optctx, const char *opt, const char *arg)
{
return show_formats_devices(optctx, opt, arg, 1);
}
#define PRINT_CODEC_SUPPORTED(codec, field, type, list_name, term, get_name) \
if (codec->field) { \
const type *p = codec->field; \
@@ -1378,6 +1430,9 @@ int show_codecs(void *optctx, const char *opt, const char *arg)
const AVCodecDescriptor *desc = codecs[i];
const AVCodec *codec = NULL;
if (strstr(desc->name, "_deprecated"))
continue;
printf(" ");
printf(avcodec_find_decoder(desc->id) ? "D" : ".");
printf(avcodec_find_encoder(desc->id) ? "E" : ".");
@@ -1489,7 +1544,8 @@ int show_protocols(void *optctx, const char *opt, const char *arg)
int show_filters(void *optctx, const char *opt, const char *arg)
{
const AVFilter av_unused(*filter) = NULL;
#if CONFIG_AVFILTER
const AVFilter *filter = NULL;
char descr[64], *descr_cur;
int i, j;
const AVFilterPad *pad;
@@ -1502,7 +1558,6 @@ int show_filters(void *optctx, const char *opt, const char *arg)
" 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 = avfilter_next(filter))) {
descr_cur = descr;
for (i = 0; i < 2; i++) {
@@ -1527,6 +1582,8 @@ int show_filters(void *optctx, const char *opt, const char *arg)
filter->process_command ? 'C' : '.',
filter->name, descr, filter->description);
}
#else
printf("No filters available: libavfilter disabled\n");
#endif
return 0;
}
@@ -1585,19 +1642,19 @@ int show_layouts(void *optctx, const char *opt, const char *arg)
const char *name, *descr;
printf("Individual channels:\n"
"NAME DESCRIPTION\n");
"NAME DESCRIPTION\n");
for (i = 0; i < 63; i++) {
name = av_get_channel_name((uint64_t)1 << i);
if (!name)
continue;
descr = av_get_channel_description((uint64_t)1 << i);
printf("%-12s%s\n", name, descr);
printf("%-14s %s\n", name, descr);
}
printf("\nStandard channel layouts:\n"
"NAME DECOMPOSITION\n");
"NAME DECOMPOSITION\n");
for (i = 0; !av_get_standard_channel_layout(i, &layout, &name); i++) {
if (name) {
printf("%-12s", name);
printf("%-14s ", name);
for (j = 1; j; j <<= 1)
if ((layout & j))
printf("%s%s", (layout & (j - 1)) ? "+" : "", av_get_channel_name(j));
@@ -1803,21 +1860,23 @@ int read_yesno(void)
int cmdutils_read_file(const char *filename, char **bufptr, size_t *size)
{
int64_t ret;
int ret;
FILE *f = av_fopen_utf8(filename, "rb");
if (!f) {
ret = AVERROR(errno);
av_log(NULL, AV_LOG_ERROR, "Cannot read file '%s': %s\n", filename,
strerror(errno));
return AVERROR(errno);
return ret;
}
fseek(f, 0, SEEK_END);
*size = ftell(f);
fseek(f, 0, SEEK_SET);
if (*size == (size_t)-1) {
ret = AVERROR(errno);
av_log(NULL, AV_LOG_ERROR, "IO error: %s\n", strerror(errno));
fclose(f);
return AVERROR(errno);
return ret;
}
*bufptr = av_malloc(*size + 1);
if (!*bufptr) {
@@ -1829,9 +1888,9 @@ int cmdutils_read_file(const char *filename, char **bufptr, size_t *size)
if (ret < *size) {
av_free(*bufptr);
if (ferror(f)) {
ret = AVERROR(errno);
av_log(NULL, AV_LOG_ERROR, "Error while reading file '%s': %s\n",
filename, strerror(errno));
ret = AVERROR(errno);
} else
ret = AVERROR_EOF;
} else {
@@ -1938,11 +1997,12 @@ AVDictionary *filter_codec_opts(AVDictionary *opts, enum AVCodecID codec_id,
switch (check_stream_specifier(s, st, p + 1)) {
case 1: *p = 0; break;
case 0: continue;
default: return NULL;
default: exit_program(1);
}
if (av_opt_find(&cc, t->key, NULL, flags, AV_OPT_SEARCH_FAKE_OBJ) ||
(codec && codec->priv_class &&
!codec ||
(codec->priv_class &&
av_opt_find(&codec->priv_class, t->key, NULL, flags,
AV_OPT_SEARCH_FAKE_OBJ)))
av_dict_set(&ret, t->key, t->value, 0);
@@ -1965,7 +2025,7 @@ AVDictionary **setup_find_stream_info_opts(AVFormatContext *s,
if (!s->nb_streams)
return NULL;
opts = av_mallocz(s->nb_streams * sizeof(*opts));
opts = av_mallocz_array(s->nb_streams, sizeof(*opts));
if (!opts) {
av_log(NULL, AV_LOG_ERROR,
"Could not alloc memory for stream options.\n");
@@ -1995,3 +2055,184 @@ void *grow_array(void *array, int elem_size, int *size, int new_size)
}
return array;
}
#if CONFIG_AVDEVICE
static int print_device_sources(AVInputFormat *fmt, AVDictionary *opts)
{
int ret, i;
AVFormatContext *dev = NULL;
AVDeviceInfoList *device_list = NULL;
AVDictionary *tmp_opts = NULL;
if (!fmt || !fmt->priv_class || !AV_IS_INPUT_DEVICE(fmt->priv_class->category))
return AVERROR(EINVAL);
printf("Audo-detected sources for %s:\n", fmt->name);
if (!fmt->get_device_list) {
ret = AVERROR(ENOSYS);
printf("Cannot list sources. Not implemented.\n");
goto fail;
}
/* TODO: avformat_open_input calls read_header callback which is not necessary.
Function like avformat_alloc_output_context2 for input could be helpful here. */
av_dict_copy(&tmp_opts, opts, 0);
if ((ret = avformat_open_input(&dev, NULL, fmt, &tmp_opts)) < 0) {
printf("Cannot open device: %s.\n", fmt->name);
goto fail;
}
if ((ret = avdevice_list_devices(dev, &device_list)) < 0) {
printf("Cannot list sources.\n");
goto fail;
}
for (i = 0; i < device_list->nb_devices; i++) {
printf("%s %s [%s]\n", device_list->default_device == i ? "*" : " ",
device_list->devices[i]->device_name, device_list->devices[i]->device_description);
}
fail:
av_dict_free(&tmp_opts);
avdevice_free_list_devices(&device_list);
avformat_close_input(&dev);
return ret;
}
static int print_device_sinks(AVOutputFormat *fmt, AVDictionary *opts)
{
int ret, i;
AVFormatContext *dev = NULL;
AVDeviceInfoList *device_list = NULL;
AVDictionary *tmp_opts = NULL;
if (!fmt || !fmt->priv_class || !AV_IS_OUTPUT_DEVICE(fmt->priv_class->category))
return AVERROR(EINVAL);
printf("Audo-detected sinks for %s:\n", fmt->name);
if (!fmt->get_device_list) {
ret = AVERROR(ENOSYS);
printf("Cannot list sinks. Not implemented.\n");
goto fail;
}
if ((ret = avformat_alloc_output_context2(&dev, fmt, NULL, NULL)) < 0) {
printf("Cannot open device: %s.\n", fmt->name);
goto fail;
}
av_dict_copy(&tmp_opts, opts, 0);
av_opt_set_dict2(dev, &tmp_opts, AV_OPT_SEARCH_CHILDREN);
if ((ret = avdevice_list_devices(dev, &device_list)) < 0) {
printf("Cannot list sinks.\n");
goto fail;
}
for (i = 0; i < device_list->nb_devices; i++) {
printf("%s %s [%s]\n", device_list->default_device == i ? "*" : " ",
device_list->devices[i]->device_name, device_list->devices[i]->device_description);
}
fail:
av_dict_free(&tmp_opts);
avdevice_free_list_devices(&device_list);
avformat_free_context(dev);
return ret;
}
static int show_sinks_sources_parse_arg(const char *arg, char **dev, AVDictionary **opts)
{
int ret;
if (arg) {
char *opts_str = NULL;
av_assert0(dev && opts);
*dev = av_strdup(arg);
if (!*dev)
return AVERROR(ENOMEM);
if ((opts_str = strchr(*dev, ','))) {
*(opts_str++) = '\0';
if (opts_str[0] && ((ret = av_dict_parse_string(opts, opts_str, "=", ":", 0)) < 0)) {
av_freep(dev);
return ret;
}
}
} else
printf("\nDevice name is not provided.\n"
"You can pass devicename[,opt1=val1[,opt2=val2...]] as an argument.\n\n");
return 0;
}
int show_sources(void *optctx, const char *opt, const char *arg)
{
AVInputFormat *fmt = NULL;
char *dev = NULL;
AVDictionary *opts = NULL;
int ret = 0;
int error_level = av_log_get_level();
av_log_set_level(AV_LOG_ERROR);
if ((ret = show_sinks_sources_parse_arg(arg, &dev, &opts)) < 0)
goto fail;
do {
fmt = av_input_audio_device_next(fmt);
if (fmt) {
if (!strcmp(fmt->name, "lavfi"))
continue; //it's pointless to probe lavfi
if (dev && strcmp(fmt->name, dev))
continue;
print_device_sources(fmt, opts);
}
} while (fmt);
do {
fmt = av_input_video_device_next(fmt);
if (fmt) {
if (dev && strcmp(fmt->name, dev))
continue;
print_device_sources(fmt, opts);
}
} while (fmt);
fail:
av_dict_free(&opts);
av_free(dev);
av_log_set_level(error_level);
return ret;
}
int show_sinks(void *optctx, const char *opt, const char *arg)
{
AVOutputFormat *fmt = NULL;
char *dev = NULL;
AVDictionary *opts = NULL;
int ret = 0;
int error_level = av_log_get_level();
av_log_set_level(AV_LOG_ERROR);
if ((ret = show_sinks_sources_parse_arg(arg, &dev, &opts)) < 0)
goto fail;
do {
fmt = av_output_audio_device_next(fmt);
if (fmt) {
if (dev && strcmp(fmt->name, dev))
continue;
print_device_sinks(fmt, opts);
}
} while (fmt);
do {
fmt = av_output_video_device_next(fmt);
if (fmt) {
if (dev && strcmp(fmt->name, dev))
continue;
print_device_sinks(fmt, opts);
}
} while (fmt);
fail:
av_dict_free(&opts);
av_free(dev);
av_log_set_level(error_level);
return ret;
}
#endif

View File

@@ -24,12 +24,13 @@
#include <stdint.h>
#include "config.h"
#include "libavcodec/avcodec.h"
#include "libavfilter/avfilter.h"
#include "libavformat/avformat.h"
#include "libswscale/swscale.h"
#ifdef __MINGW32__
#ifdef _WIN32
#undef main /* We don't want SDL to override our main() */
#endif
@@ -58,7 +59,7 @@ void register_exit(void (*cb)(int ret));
/**
* Wraps exit with a program-specific cleanup routine.
*/
void exit_program(int ret);
void exit_program(int ret) av_noreturn;
/**
* Initialize the cmdutils option system, in particular
@@ -430,11 +431,32 @@ int show_license(void *optctx, const char *opt, const char *arg);
/**
* Print a listing containing all the formats supported by the
* program.
* program (including devices).
* This option processing function does not utilize the arguments.
*/
int show_formats(void *optctx, const char *opt, const char *arg);
/**
* Print a listing containing all the devices supported by the
* program.
* This option processing function does not utilize the arguments.
*/
int show_devices(void *optctx, const char *opt, const char *arg);
#if CONFIG_AVDEVICE
/**
* Print a listing containing audodetected sinks of the output device.
* Device name with options may be passed as an argument to limit results.
*/
int show_sinks(void *optctx, const char *opt, const char *arg);
/**
* Print a listing containing audodetected sources of the input device.
* Device name with options may be passed as an argument to limit results.
*/
int show_sources(void *optctx, const char *opt, const char *arg);
#endif
/**
* Print a listing containing all the codecs supported by the
* program.

View File

@@ -6,6 +6,7 @@
{ "version" , OPT_EXIT, {.func_arg = show_version}, "show version" },
{ "buildconf" , OPT_EXIT, {.func_arg = show_buildconf}, "show build configuration" },
{ "formats" , OPT_EXIT, {.func_arg = show_formats }, "show available formats" },
{ "devices" , OPT_EXIT, {.func_arg = show_devices }, "show available devices" },
{ "codecs" , OPT_EXIT, {.func_arg = show_codecs }, "show available codecs" },
{ "decoders" , OPT_EXIT, {.func_arg = show_decoders }, "show available decoders" },
{ "encoders" , OPT_EXIT, {.func_arg = show_encoders }, "show available encoders" },
@@ -26,3 +27,9 @@
{ "opencl_bench", OPT_EXIT, {.func_arg = opt_opencl_bench}, "run benchmark on all OpenCL devices and show results" },
{ "opencl_options", HAS_ARG, {.func_arg = opt_opencl}, "set OpenCL environment options" },
#endif
#if CONFIG_AVDEVICE
{ "sources" , OPT_EXIT | HAS_ARG, { .func_arg = show_sources },
"list sources of the input device", "device" },
{ "sinks" , OPT_EXIT | HAS_ARG, { .func_arg = show_sinks },
"list sinks of the output device", "device" },
#endif

View File

@@ -181,12 +181,12 @@ static int64_t run_opencl_bench(AVOpenCLExternalEnv *ext_opencl_env)
OCLCHECK(clSetKernelArg, kernel, arg++, sizeof(cl_int), &width);
OCLCHECK(clSetKernelArg, kernel, arg++, sizeof(cl_int), &height);
start = av_gettime();
start = av_gettime_relative();
for (i = 0; i < OPENCL_NB_ITER; i++)
OCLCHECK(clEnqueueNDRangeKernel, ext_opencl_env->command_queue, kernel, 2, NULL,
global_work_size_2d, local_work_size_2d, 0, NULL, NULL);
clFinish(ext_opencl_env->command_queue);
ret = (av_gettime() - start)/OPENCL_NB_ITER;
ret = (av_gettime_relative() - start)/OPENCL_NB_ITER;
end:
if (kernel)
clReleaseKernel(kernel);

View File

@@ -51,6 +51,9 @@ COMPILE_HOSTC = $(call COMPILE,HOSTCC)
%.o: %.cpp
$(COMPILE_CXX)
%.o: %.m
$(COMPILE_C)
%.s: %.c
$(CC) $(CPPFLAGS) $(CFLAGS) -S -o $@ $<
@@ -90,7 +93,7 @@ include $(SRC_PATH)/arch.mak
OBJS += $(OBJS-yes)
SLIBOBJS += $(SLIBOBJS-yes)
FFLIBS := $(FFLIBS-yes) $(FFLIBS)
FFLIBS := $($(NAME)_FFLIBS) $(FFLIBS-yes) $(FFLIBS)
TESTPROGS += $(TESTPROGS-yes)
LDLIBS = $(FFLIBS:%=%$(BUILDSUF))

View File

@@ -805,7 +805,7 @@ struct AVS_Library {
AVSC_INLINE AVS_Library * avs_load_library() {
AVS_Library *library = (AVS_Library *)malloc(sizeof(AVS_Library));
if (library == NULL)
if (!library)
return NULL;
library->handle = LoadLibrary("avisynth");
if (library->handle == NULL)
@@ -870,7 +870,7 @@ fail:
}
AVSC_INLINE void avs_free_library(AVS_Library *library) {
if (library == NULL)
if (!library)
return;
FreeLibrary(library->handle);
free(library);

35
compat/float/float.h Normal file
View File

@@ -0,0 +1,35 @@
/*
* Work around broken floating point limits on some systems.
*
* 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
*/
#include_next <float.h>
#ifdef FLT_MAX
#undef FLT_MAX
#define FLT_MAX 3.40282346638528859812e+38F
#undef FLT_MIN
#define FLT_MIN 1.17549435082228750797e-38F
#undef DBL_MAX
#define DBL_MAX ((double)1.79769313486231570815e+308L)
#undef DBL_MIN
#define DBL_MIN ((double)2.22507385850720138309e-308L)
#endif

22
compat/float/limits.h Normal file
View File

@@ -0,0 +1,22 @@
/*
* Work around broken floating point limits on some systems.
*
* 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
*/
#include_next <limits.h>
#include <float.h>

View File

@@ -54,7 +54,7 @@ static int getopt(int argc, char *argv[], char *opts)
}
}
optopt = c = argv[optind][sp];
if (c == ':' || (cp = strchr(opts, c)) == NULL) {
if (c == ':' || !(cp = strchr(opts, c))) {
fprintf(stderr, ": illegal option -- %c\n", c);
if (argv[optind][++sp] == '\0') {
optind++;

View File

@@ -39,6 +39,7 @@
#include <windows.h>
#include <process.h>
#include "libavutil/attributes.h"
#include "libavutil/common.h"
#include "libavutil/internal.h"
#include "libavutil/mem.h"
@@ -54,36 +55,30 @@ typedef struct pthread_t {
* not mutexes */
typedef CRITICAL_SECTION pthread_mutex_t;
/* This is the CONDITIONAL_VARIABLE typedef for using Window's native
* conditional variables on kernels 6.0+.
* MinGW does not currently have this typedef. */
typedef struct pthread_cond_t {
void *ptr;
} 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);
/* This is the CONDITION_VARIABLE typedef for using Windows' native
* conditional variables on kernels 6.0+. */
#if HAVE_CONDITION_VARIABLE_PTR
typedef CONDITION_VARIABLE pthread_cond_t;
#else
#define cond_init InitializeConditionVariable
#define cond_broadcast WakeAllConditionVariable
#define cond_signal WakeConditionVariable
#define cond_wait SleepConditionVariableCS
typedef struct pthread_cond_t {
void *Ptr;
} pthread_cond_t;
#endif
static unsigned __stdcall attribute_align_arg win32thread_worker(void *arg)
#if _WIN32_WINNT >= 0x0600
#define InitializeCriticalSection(x) InitializeCriticalSectionEx(x, 0, 0)
#define WaitForSingleObject(a, b) WaitForSingleObjectEx(a, b, FALSE)
#endif
static av_unused unsigned __stdcall attribute_align_arg win32thread_worker(void *arg)
{
pthread_t *h = arg;
h->ret = h->func(h->arg);
return 0;
}
static int pthread_create(pthread_t *thread, const void *unused_attr,
void *(*start_routine)(void*), void *arg)
static av_unused int pthread_create(pthread_t *thread, const void *unused_attr,
void *(*start_routine)(void*), void *arg)
{
thread->func = start_routine;
thread->arg = arg;
@@ -92,7 +87,7 @@ static int pthread_create(pthread_t *thread, const void *unused_attr,
return !thread->handle;
}
static void pthread_join(pthread_t thread, void **value_ptr)
static av_unused void pthread_join(pthread_t thread, void **value_ptr)
{
DWORD ret = WaitForSingleObject(thread.handle, INFINITE);
if (ret != WAIT_OBJECT_0)
@@ -123,6 +118,36 @@ static inline int pthread_mutex_unlock(pthread_mutex_t *m)
return 0;
}
#if _WIN32_WINNT >= 0x0600
static inline int pthread_cond_init(pthread_cond_t *cond, const void *unused_attr)
{
InitializeConditionVariable(cond);
return 0;
}
/* native condition variables do not destroy */
static inline void pthread_cond_destroy(pthread_cond_t *cond)
{
return;
}
static inline void pthread_cond_broadcast(pthread_cond_t *cond)
{
WakeAllConditionVariable(cond);
}
static inline int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)
{
SleepConditionVariableCS(cond, mutex, INFINITE);
return 0;
}
static inline void pthread_cond_signal(pthread_cond_t *cond)
{
WakeConditionVariable(cond);
}
#else // _WIN32_WINNT < 0x0600
/* for pre-Windows 6.0 platforms we need to define and use our own condition
* variable and api */
typedef struct win32_cond_t {
@@ -134,33 +159,41 @@ typedef struct win32_cond_t {
volatile int is_broadcast;
} win32_cond_t;
static void pthread_cond_init(pthread_cond_t *cond, const void *unused_attr)
/* function pointers to conditional variable API on windows 6.0+ kernels */
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);
static av_unused int pthread_cond_init(pthread_cond_t *cond, const void *unused_attr)
{
win32_cond_t *win32_cond = NULL;
if (cond_init) {
cond_init(cond);
return;
return 0;
}
/* non native condition variables */
win32_cond = av_mallocz(sizeof(win32_cond_t));
if (!win32_cond)
return;
cond->ptr = win32_cond;
return ENOMEM;
cond->Ptr = win32_cond;
win32_cond->semaphore = CreateSemaphore(NULL, 0, 0x7fffffff, NULL);
if (!win32_cond->semaphore)
return;
return ENOMEM;
win32_cond->waiters_done = CreateEvent(NULL, TRUE, FALSE, NULL);
if (!win32_cond->waiters_done)
return;
return ENOMEM;
pthread_mutex_init(&win32_cond->mtx_waiter_count, NULL);
pthread_mutex_init(&win32_cond->mtx_broadcast, NULL);
return 0;
}
static void pthread_cond_destroy(pthread_cond_t *cond)
static av_unused void pthread_cond_destroy(pthread_cond_t *cond)
{
win32_cond_t *win32_cond = cond->ptr;
win32_cond_t *win32_cond = cond->Ptr;
/* native condition variables do not destroy */
if (cond_init)
return;
@@ -171,12 +204,12 @@ static void pthread_cond_destroy(pthread_cond_t *cond)
pthread_mutex_destroy(&win32_cond->mtx_waiter_count);
pthread_mutex_destroy(&win32_cond->mtx_broadcast);
av_freep(&win32_cond);
cond->ptr = NULL;
cond->Ptr = NULL;
}
static void pthread_cond_broadcast(pthread_cond_t *cond)
static av_unused void pthread_cond_broadcast(pthread_cond_t *cond)
{
win32_cond_t *win32_cond = cond->ptr;
win32_cond_t *win32_cond = cond->Ptr;
int have_waiter;
if (cond_broadcast) {
@@ -205,9 +238,9 @@ static void pthread_cond_broadcast(pthread_cond_t *cond)
pthread_mutex_unlock(&win32_cond->mtx_broadcast);
}
static int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)
static av_unused int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)
{
win32_cond_t *win32_cond = cond->ptr;
win32_cond_t *win32_cond = cond->Ptr;
int last_waiter;
if (cond_wait) {
cond_wait(cond, mutex, INFINITE);
@@ -237,9 +270,9 @@ static int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)
return pthread_mutex_lock(mutex);
}
static void pthread_cond_signal(pthread_cond_t *cond)
static av_unused void pthread_cond_signal(pthread_cond_t *cond)
{
win32_cond_t *win32_cond = cond->ptr;
win32_cond_t *win32_cond = cond->Ptr;
int have_waiter;
if (cond_signal) {
cond_signal(cond);
@@ -261,8 +294,9 @@ static void pthread_cond_signal(pthread_cond_t *cond)
pthread_mutex_unlock(&win32_cond->mtx_broadcast);
}
#endif
static void w32thread_init(void)
static av_unused void w32thread_init(void)
{
#if _WIN32_WINNT < 0x0600
HANDLE kernel_dll = GetModuleHandle(TEXT("kernel32.dll"));

1462
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -2,36 +2,385 @@ 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: 2013-03-xx
libavdevice: 2013-03-xx
libavfilter: 2013-12-xx
libavformat: 2013-03-xx
libavresample: 2012-10-05
libpostproc: 2011-04-18
libswresample: 2011-09-19
libswscale: 2011-06-20
libavutil: 2012-10-22
libavcodec: 2014-08-09
libavdevice: 2014-08-09
libavfilter: 2014-08-09
libavformat: 2014-08-09
libavresample: 2014-08-09
libpostproc: 2014-08-09
libswresample: 2014-08-09
libswscale: 2014-08-09
libavutil: 2014-08-09
API changes, most recent first:
2014-03-18 - e9c8a9a - lsws 2.5.102
2014-11-21 - ab922f9 - lavu 54.15.100 - dict.h
Add av_dict_get_string().
2014-11-18 - a54a51c - lavu 54.14.100 - float_dsp.h
Add avpriv_float_dsp_alloc().
2014-11-16 - 6690d4c3 - lavf 56.13.100 - avformat.h
Add AVStream.recommended_encoder_configuration with accessors.
2014-11-16 - bee5844d - lavu 54.13.100 - opt.h
Add av_opt_serialize().
2014-11-16 - eec69332 - lavu 54.12.100 - opt.h
Add av_opt_is_set_to_default().
2014-11-06 - 44fa267 / 5e80fb7 - lavc 56.11.100 / 56.6.0 - vorbis_parser.h
Add a public API for parsing vorbis packets.
2014-10-15 - 17085a0 / 7ea1b34 - lavc 56.7.100 / 56.5.0 - avcodec.h
Replace AVCodecContext.time_base used for decoding
with AVCodecContext.framerate.
2014-10-15 - 51c810e / d565fef1 - lavc 56.6.100 / 56.4.0 - avcodec.h
Add AV_HWACCEL_FLAG_IGNORE_LEVEL flag to av_vdpau_bind_context().
2014-10-13 - da21895 / 2df0c32e - lavc 56.5.100 / 56.3.0 - avcodec.h
Add AVCodecContext.initial_padding. Deprecate the use of AVCodecContext.delay
for audio encoding.
2014-10-08 - bb44f7d / 5a419b2 - lavu 54.10.100 / 54.4.0 - pixdesc.h
Add API to return the name of frame and context color properties.
2014-10-06 - a61899a / e3e158e - lavc 56.3.100 / 56.2.0 - vdpau.h
Add av_vdpau_bind_context(). This function should now be used for creating
(or resetting) a AVVDPAUContext instead of av_vdpau_alloc_context().
2014-10-02 - cdd6f05 - lavc 56.2.100 - avcodec.h
2014-10-02 - cdd6f05 - lavu 54.9.100 - frame.h
Add AV_FRAME_DATA_SKIP_SAMPLES. Add lavc CODEC_FLAG2_SKIP_MANUAL and
AVOption "skip_manual", which makes lavc export skip information via
AV_FRAME_DATA_SKIP_SAMPLES AVFrame side data, instead of skipping and
discarding samples automatically.
2014-10-02 - 0d92b0d - lavu 54.8.100 - avstring.h
Add av_match_list()
2014-09-24 - ac68295 - libpostproc 53.1.100
Add visualization support
2014-09-19 - 6edd6a4 - lavc 56.1.101 - dv_profile.h
deprecate avpriv_dv_frame_profile2(), which was made public by accident.
-------- 8< --------- FFmpeg 2.4 was cut here -------- 8< ---------
2014-08-28 - f30a815 / 9301486 - lavc 56.1.100 / 56.1.0 - avcodec.h
Add AV_PKT_DATA_STEREO3D to export container-level stereo3d information.
2014-08-25 - 215db29 / b263f8f - lavf 56.3.100 / 56.3.0 - avformat.h
Add AVFormatContext.max_ts_probe.
2014-08-23 - 8fc9bd0 - lavu 54.7.100 - dict.h
AV_DICT_DONT_STRDUP_KEY and AV_DICT_DONT_STRDUP_VAL arguments are now
freed even on error. This is consistent with the behaviour all users
of it we could find expect.
2014-08-21 - 980a5b0 - lavu 54.6.100 - frame.h motion_vector.h
Add AV_FRAME_DATA_MOTION_VECTORS side data and AVMotionVector structure
2014-08-16 - b7d5e01 - lswr 1.1.100 - swresample.h
Add AVFrame based API
2014-08-16 - c2829dc - lavu 54.4.100 - dict.h
Add av_dict_set_int helper function.
2014-08-13 - c8571c6 / 8ddc326 - lavu 54.3.100 / 54.3.0 - mem.h
Add av_strndup().
2014-08-13 - 2ba4577 / a8c104a - lavu 54.2.100 / 54.2.0 - opt.h
Add av_opt_get_dict_val/set_dict_val with AV_OPT_TYPE_DICT to support
dictionary types being set as options.
2014-08-13 - afbd4b8 - lavf 56.01.0 - avformat.h
Add AVFormatContext.event_flags and AVStream.event_flags for signaling to
the user when events happen in the file/stream.
2014-08-10 - 78eaaa8 / fb1ddcd - lavr 2.1.0 - avresample.h
Add avresample_convert_frame() and avresample_config().
2014-08-10 - 78eaaa8 / fb1ddcd - lavu 54.1.100 / 54.1.0 - error.h
Add AVERROR_INPUT_CHANGED and AVERROR_OUTPUT_CHANGED.
2014-08-08 - 3841f2a / d35b94f - lavc 55.73.102 / 55.57.4 - avcodec.h
Deprecate FF_IDCT_XVIDMMX define and xvidmmx idct option.
Replaced by FF_IDCT_XVID and xvid respectively.
2014-08-08 - 5c3c671 - lavf 55.53.100 - avio.h
Add avio_feof() and deprecate url_feof().
2014-08-07 - bb78903 - lsws 2.1.3 - swscale.h
sws_getContext is not going to be removed in the future.
2014-08-07 - a561662 / ad1ee5f - lavc 55.73.101 / 55.57.3 - avcodec.h
reordered_opaque is not going to be removed in the future.
2014-08-02 - 28a2107 - lavu 52.98.100 - pixelutils.h
Add pixelutils API with SAD functions
2014-08-04 - 6017c98 / e9abafc - lavu 52.97.100 / 53.22.0 - pixfmt.h
Add AV_PIX_FMT_YA16 pixel format for 16 bit packed gray with alpha.
2014-08-04 - 4c8bc6f / e96c3b8 - lavu 52.96.101 / 53.21.1 - avstring.h
Rename AV_PIX_FMT_Y400A to AV_PIX_FMT_YA8 to better identify the format.
An alias pixel format and color space name are provided for compatibility.
2014-08-04 - 073c074 / d2962e9 - lavu 52.96.100 / 53.21.0 - pixdesc.h
Support name aliases for pixel formats.
2014-08-03 - 71d008e / 1ef9e83 - lavc 55.72.101 / 55.57.2 - avcodec.h
2014-08-03 - 71d008e / 1ef9e83 - lavu 52.95.100 / 53.20.0 - frame.h
Deprecate AVCodecContext.dtg_active_format and use side-data instead.
2014-08-03 - e680c73 - lavc 55.72.100 - avcodec.h
Add get_pixels() to AVDCT
2014-08-03 - 9400603 / 9f17685 - lavc 55.71.101 / 55.57.1 - avcodec.h
Deprecate unused FF_IDCT_IPP define and ipp avcodec option.
Deprecate unused FF_DEBUG_PTS define and pts avcodec option.
Deprecate unused FF_CODER_TYPE_DEFLATE define and deflate avcodec option.
Deprecate unused FF_DCT_INT define and int avcodec option.
Deprecate unused avcodec option scenechange_factor.
2014-07-30 - ba3e331 - lavu 52.94.100 - frame.h
Add av_frame_side_data_name()
2014-07-29 - 80a3a66 / 3a19405 - lavf 56.01.100 / 56.01.0 - avformat.h
Add mime_type field to AVProbeData, which now MUST be initialized in
order to avoid uninitialized reads of the mime_type pointer, likely
leading to crashes.
Typically, this means you will do 'AVProbeData pd = { 0 };' instead of
'AVProbeData pd;'.
2014-07-29 - 31e0b5d / 69e7336 - lavu 52.92.100 / 53.19.0 - avstring.h
Make name matching function from lavf public as av_match_name().
2014-07-28 - 2e5c8b0 / c5fca01 - lavc 55.71.100 / 55.57.0 - avcodec.h
Add AV_CODEC_PROP_REORDER to mark codecs supporting frame reordering.
2014-07-27 - ff9a154 - lavf 55.50.100 - avformat.h
New field int64_t probesize2 instead of deprecated
field int probesize.
2014-07-27 - 932ff70 - lavc 55.70.100 - avdct.h
Add AVDCT / avcodec_dct_alloc() / avcodec_dct_init().
2014-07-23 - 8a4c086 - lavf 55.49.100 - avio.h
Add avio_read_to_bprint()
-------- 8< --------- FFmpeg 2.3 was cut here -------- 8< ---------
2014-07-14 - 62227a7 - lavf 55.47.100 - avformat.h
Add av_stream_get_parser()
2014-07-09 - c67690f / a54f03b - lavu 52.92.100 / 53.18.0 - display.h
Add av_display_matrix_flip() to flip the transformation matrix.
2014-07-09 - 1b58f13 / f6ee61f - lavc 55.69.100 / 55.56.0 - dv_profile.h
Add a public API for DV profile handling.
2014-06-20 - 0dceefc / 9e500ef - lavu 52.90.100 / 53.17.0 - imgutils.h
Add av_image_check_sar().
2014-06-20 - 4a99333 / 874390e - lavc 55.68.100 / 55.55.0 - avcodec.h
Add av_packet_rescale_ts() to simplify timestamp conversion.
2014-06-18 - ac293b6 / 194be1f - lavf 55.44.100 / 55.20.0 - avformat.h
The proper way for providing a hint about the desired timebase to the muxers
is now setting AVStream.time_base, instead of AVStream.codec.time_base as was
done previously. The old method is now deprecated.
2014-06-11 - 67d29da - lavc 55.66.101 - avcodec.h
Increase FF_INPUT_BUFFER_PADDING_SIZE to 32 due to some corner cases needing
it
2014-06-10 - xxxxxxx - lavf 55.43.100 - avformat.h
New field int64_t max_analyze_duration2 instead of deprecated
int max_analyze_duration.
2014-05-30 - 00759d7 - lavu 52.89.100 - opt.h
Add av_opt_copy()
2014-06-01 - 03bb99a / 0957b27 - lavc 55.66.100 / 55.54.0 - avcodec.h
Add AVCodecContext.side_data_only_packets to allow encoders to output packets
with only side data. This option may become mandatory in the future, so all
users are recommended to update their code and enable this option.
2014-06-01 - 6e8e9f1 / 8c02adc - lavu 52.88.100 / 53.16.0 - frame.h, pixfmt.h
Move all color-related enums (AVColorPrimaries, AVColorSpace, AVColorRange,
AVColorTransferCharacteristic, and AVChromaLocation) inside lavu.
And add AVFrame fields for them.
2014-05-29 - bdb2e80 / b2d4565 - lavr 1.3.0 - avresample.h
Add avresample_max_output_samples
2014-05-28 - d858ee7 / 6d21259 - lavf 55.42.100 / 55.19.0 - avformat.h
Add strict_std_compliance and related AVOptions to support experimental
muxing.
2014-05-26 - xxxxxxx - lavu 52.87.100 - threadmessage.h
Add thread message queue API.
2014-05-26 - c37d179 - lavf 55.41.100 - avformat.h
Add format_probesize to AVFormatContext.
2014-05-20 - 7d25af1 / c23c96b - lavf 55.39.100 / 55.18.0 - avformat.h
Add av_stream_get_side_data() to access stream-level side data
in the same way as av_packet_get_side_data().
2014-05-xx - xxxxxxx - lavu 52.86.100 - fifo.h
Add av_fifo_alloc_array() function.
2014-05-19 - ef1d4ee / bddd8cb - lavu 52.85.100 / 53.15.0 - frame.h, display.h
Add AV_FRAME_DATA_DISPLAYMATRIX for exporting frame-level
spatial rendering on video frames for proper display.
2014-05-19 - ef1d4ee / bddd8cb - lavc 55.64.100 / 55.53.0 - avcodec.h
Add AV_PKT_DATA_DISPLAYMATRIX for exporting packet-level
spatial rendering on video frames for proper display.
2014-05-19 - 999a99c / a312f71 - lavf 55.38.101 / 55.17.1 - avformat.h
Deprecate AVStream.pts and the AVFrac struct, which was its only use case.
See use av_stream_get_end_pts()
2014-05-18 - 68c0518 / fd05602 - lavc 55.63.100 / 55.52.0 - avcodec.h
Add avcodec_free_context(). From now on it should be used for freeing
AVCodecContext.
2014-05-17 - 0eec06e - lavu 52.84.100 - time.h
Add av_gettime_relative() av_gettime_relative_is_monotonic()
2014-05-15 - eacf7d6 / 0c1959b - lavf 55.38.100 / 55.17.0 - avformat.h
Add AVFMT_FLAG_BITEXACT flag. Muxers now use it instead of checking
CODEC_FLAG_BITEXACT on the first stream.
2014-05-15 - 96cb4c8 - lswr 0.19.100 - swresample.h
Add swr_close()
2014-05-11 - 14aef38 / 66e6c8a - lavu 52.83.100 / 53.14.0 - pixfmt.h
Add AV_PIX_FMT_VDA for new-style VDA acceleration.
2014-05-xx - xxxxxxx - lavu 52.82.100 - fifo.h
Add av_fifo_freep() function.
2014-05-02 - ba52fb11 - lavu 52.81.100 - opt.h
Add av_opt_set_dict2() function.
2014-05-01 - e77b985 / a2941c8 - lavc 55.60.103 / 55.50.3 - avcodec.h
Deprecate CODEC_FLAG_MV0. It is replaced by the flag "mv0" in the
"mpv_flags" private option of the mpegvideo encoders.
2014-05-01 - e40ae8c / 6484149 - lavc 55.60.102 / 55.50.2 - avcodec.h
Deprecate CODEC_FLAG_GMC. It is replaced by the "gmc" private option of the
libxvid encoder.
2014-05-01 - 1851643 / b2c3171 - lavc 55.60.101 / 55.50.1 - avcodec.h
Deprecate CODEC_FLAG_NORMALIZE_AQP. It is replaced by the flag "naq" in the
"mpv_flags" private option of the mpegvideo encoders.
2014-05-01 - cac07d0 / 5fcceda - avcodec.h
Deprecate CODEC_FLAG_INPUT_PRESERVED. Its functionality is replaced by passing
reference-counted frames to encoders.
2014-04-29 - 1bf6396 - lavc 55.60.100 - avcodec.h
Add AVCodecDescriptor.mime_types field.
2014-04-29 - xxxxxxx - lavu 52.80.0 - hash.h
Add av_hash_final_bin(), av_hash_final_hex() and av_hash_final_b64().
2014-03-07 - 8b2a130 - lavc 55.50.0 / 55.53.100 - dxva2.h
Add FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO for old Intel GPUs.
2014-04-22 - 502512e /dac7e8a - lavu 53.13.0 / 52.78.100 - avutil.h
Add av_get_time_base_q().
2014-04-17 - a8d01a7 / 0983d48 - lavu 53.12.0 / 52.77.100 - crc.h
Add AV_CRC_16_ANSI_LE crc variant.
2014-04-XX - xxxxxxx - lavf xx.xx.1xx - avformat.h
Add av_format_inject_global_side_data()
2014-04-12 - 4f698be - lavu 52.76.100 - log.h
Add av_log_get_flags()
2014-04-11 - 6db42a2b - lavd 55.12.100 - avdevice.h
Add avdevice_capabilities_create() function.
Add avdevice_capabilities_free() function.
2014-04-07 - 0a1cc04 / 8b17243 - lavu 52.75.100 / 53.11.0 - pixfmt.h
Add AV_PIX_FMT_YVYU422 pixel format.
2014-04-04 - c1d0536 / 8542f9c - lavu 52.74.100 / 53.10.0 - replaygain.h
Full scale for peak values is now 100000 (instead of UINT32_MAX) and values
may overflow.
2014-04-03 - c16e006 / 7763118 - lavu 52.73.100 / 53.9.0 - log.h
Add AV_LOG(c) macro to have 256 color debug messages.
2014-04-03 - eaed4da9 - lavu 52.72.100 - opt.h
Add AV_OPT_MULTI_COMPONENT_RANGE define to allow return
multi-component option ranges.
2014-03-29 - cd50a44b - lavu 52.70.100 - mem.h
Add av_dynarray_add_nofree() function.
2014-02-24 - 3e1f241 / d161ae0 - lavu 52.69.100 / 53.8.0 - frame.h
Add av_frame_remove_side_data() for removing a single side data
instance from a frame.
2014-03-24 - 83e8978 / 5a7e35d - lavu 52.68.100 / 53.7.0 - frame.h, replaygain.h
Add AV_FRAME_DATA_REPLAYGAIN for exporting replaygain tags.
Add a new header replaygain.h with the AVReplayGain struct.
2014-03-24 - 83e8978 / 5a7e35d - lavc 55.54.100 / 55.36.0 - avcodec.h
Add AV_PKT_DATA_REPLAYGAIN for exporting replaygain tags.
2014-03-24 - 595ba3b / 25b3258 - lavf 55.35.100 / 55.13.0 - avformat.h
Add AVStream.side_data and AVStream.nb_side_data for exporting stream-global
side data (e.g. replaygain tags, video rotation)
2014-03-24 - bd34e26 / 0e2c3ee - lavc 55.53.100 / 55.35.0 - avcodec.h
Give the name AVPacketSideData to the previously anonymous struct used for
AVPacket.side_data.
-------- 8< --------- FFmpeg 2.2 was cut here -------- 8< ---------
2014-03-18 - 37c07d4 - lsws 2.5.102
Make gray16 full-scale.
2014-xx-xx - xxxxxxx - lavu 53.05.0 - frame.h
2014-03-16 - 6b1ca17 / 1481d24 - lavu 52.67.100 / 53.6.0 - pixfmt.h
Add RGBA64_LIBAV pixel format and variants for compatibility
2014-03-11 - 3f3229c - lavf 55.34.101 - avformat.h
Set AVFormatContext.start_time_realtime when demuxing.
2014-03-03 - 06fed440 - lavd 55.11.100 - avdevice.h
Add av_input_audio_device_next().
Add av_input_video_device_next().
Add av_output_audio_device_next().
Add av_output_video_device_next().
2014-02-24 - fff5262 / 1155fd0 - lavu 52.66.100 / 53.5.0 - frame.h
Add av_frame_copy() for copying the frame data.
2014-02-xx - xxxxxxx - lswr 0.18.100 - swresample.h
2014-02-24 - a66be60 - lswr 0.18.100 - swresample.h
Add swr_is_initialized() for checking whether a resample context is initialized.
2014-02-xx - xxxxxxx - lavr 1.2.0 - avresample.h
2014-02-22 - 5367c0b / 7e86c27 - lavr 1.2.0 - avresample.h
Add avresample_is_open() for checking whether a resample context is open.
2014-xx-xx - xxxxxxx - lavu 53.04.0 - opt.h
2014-02-19 - 6a24d77 / c3ecd96 - lavu 52.65.100 / 53.4.0 - opt.h
Add AV_OPT_FLAG_EXPORT and AV_OPT_FLAG_READONLY to mark options meant (only)
for reading.
2014-xx-xx - xxxxxxx - lavu 53.03.01 - opt.h
2014-02-19 - f4c8d00 / 6bb8720 - lavu 52.64.101 / 53.3.1 - opt.h
Deprecate unused AV_OPT_FLAG_METADATA.
2014-02-xx - xxxxxxx - lavd 55.10.100 - avdevice.h
@@ -41,7 +390,7 @@ API changes, most recent first:
Add avio_find_protocol_name() to find out the name of the protocol that would
be selected for a given URL.
2014-02-xx - xxxxxxx - lavu 53.3.0 - frame.h
2014-02-15 - a2bc6c1 / c98f316 - lavu 52.64.100 / 53.3.0 - frame.h
Add AV_FRAME_DATA_DOWNMIX_INFO value to the AVFrameSideDataType enum and
downmix_info.h API, which identify downmix-related metadata.
@@ -52,7 +401,7 @@ API changes, most recent first:
Add AVFormatContext.max_interleave_delta for controlling amount of buffering
when interleaving.
2014-02-02 - xxxxxxx - lavf 55.29.100 - avformat.h
2014-02-02 - 5871ee5 - lavf 55.29.100 - avformat.h
Add output_ts_offset muxing option to AVFormatContext.
2014-01-27 - 102bd64 - lavd 55.7.100 - avdevice.h
@@ -72,7 +421,7 @@ API changes, most recent first:
(i.e. as if the CODEC_FLAG_EMU_EDGE flag was always on). Deprecate
CODEC_FLAG_EMU_EDGE and avcodec_get_edge_width().
2014-01-19 - xxxxxxx - lavf 55.25.100 - avformat.h
2014-01-19 - 1a193c4 - lavf 55.25.100 - avformat.h
Add avformat_get_mov_video_tags() and avformat_get_mov_audio_tags().
2014-01-19 - xxxxxxx - lavu 52.63.100 - rational.h
@@ -85,16 +434,16 @@ API changes, most recent first:
2014-01-05 - 751385f / 5c437fb - lavu 52.61.100 / 53.1.0 - channel_layout.h
Add values for various Dolby flags to the AVMatrixEncoding enum.
2014-01-04 - xxxxxxx - lavu 52.60.100 - mathematics.h
2014-01-04 - b317f94 - lavu 52.60.100 - mathematics.h
Add av_add_stable() function.
2013-12-22 - xxxxxxx - lavu 52.59.100 - avstring.h
2013-12-22 - 911676c - lavu 52.59.100 - avstring.h
Add av_strnlen() function.
2013-12-xx - xxxxxxx - lavu 52.57.100 - opencl.h
2013-12-09 - 64f73ac - lavu 52.57.100 - opencl.h
Add av_opencl_benchmark() function.
2013-11-xx - xxxxxxx - lavu 52.56.100 - ffversion.h
2013-11-30 - 82b2e9c - lavu 52.56.100 - ffversion.h
Moves version.h to libavutil/ffversion.h.
Install ffversion.h and make it public.
@@ -111,13 +460,13 @@ API changes, most recent first:
Add AV_FRAME_DATA_A53_CC value to the AVFrameSideDataType enum, which
identifies ATSC A53 Part 4 Closed Captions data.
2013-11-XX - xxxxxxx - lavu 52.54.100 - avstring.h
2013-11-22 - 6859065 - lavu 52.54.100 - avstring.h
Add av_utf8_decode() function.
2013-11-22 - fb7d70c - lavc 55.44.100 - avcodec.h
Add HEVC profiles
2013-11-xx - xxxxxxx - lavc 55.44.100 - avcodec.h
2013-11-20 - c28b61c - lavc 55.44.100 - avcodec.h
Add av_packet_{un,}pack_dictionary()
Add AV_PKT_METADATA_UPDATE side data type, used to transmit key/value
strings between a stream and the application.
@@ -129,7 +478,7 @@ API changes, most recent first:
Deprecate AVCodecContext.error_rate, it is replaced by the 'error_rate'
private option of the mpegvideo encoder family.
2013-11-14 - 31c09b7 / 728c465 - lavc 55.26.0 - vdpau.h
2013-11-14 - 31c09b7 / 728c465 - lavc 55.42.100 / 55.26.0 - vdpau.h
Add av_vdpau_get_profile().
Add av_vdpau_alloc_context(). This function must from now on be
used for allocating AVVDPAUContext.
@@ -139,29 +488,32 @@ API changes, most recent first:
Add ITU-R BT.2020 and other not yet included values to color primaries,
transfer characteristics and colorspaces.
2013-11-04 - xxxxxxx - lavu 52.50.100 - avutil.h
2013-11-04 - 85cabf1 - lavu 52.50.100 - avutil.h
Add av_fopen_utf8()
2013-10-31 - 78265fc / 28096e0 - lavu 52.49.100 / 52.17.0 - frame.h
Add AVFrame.flags and AV_FRAME_FLAG_CORRUPT.
2013-10-27 - xxxxxxx - lavc 55.39.100 - avcodec.h
-------- 8< --------- FFmpeg 2.1 was cut here -------- 8< ---------
2013-10-27 - dbe6f9f - 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
2013-10-27 - d61617a - lavu 52.48.100 - parseutils.h
Add av_get_known_color_name().
2013-10-17 - xxxxxxx - lavu 52.47.100 - opt.h
2013-10-17 - 8696e51 - 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
2013-10-06 - ccf96f8 -libswscale 2.5.101 - options.c
Change default scaler to bicubic
2013-10-03 - xxxxxxx - lavc 55.34.100 - avcodec.h
2013-10-03 - e57dba0 - lavc 55.34.100 - avcodec.h
Add av_codec_get_max_lowres()
2013-10-02 - xxxxxxx - lavf 55.19.100 - avformat.h
2013-10-02 - 5082fcc - lavf 55.19.100 - avformat.h
Add audio/video/subtitle AVCodec fields to AVFormatContext to force specific
decoders
@@ -179,7 +531,7 @@ API changes, most recent first:
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
2013-09-04 - 36cd017a - 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
@@ -188,10 +540,10 @@ API changes, most recent first:
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
2013-08-11 - d404fe35 - 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
2013-08-11 - af05edc - lavc 55.26.100 - vdpau.h
Add allocation function for AVVDPAUContext, allowing
to extend it in the future without breaking ABI/API.
@@ -201,7 +553,7 @@ API changes, most recent first:
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.
The bitstream 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
@@ -217,6 +569,9 @@ API changes, most recent first:
Add avcodec_chroma_pos_to_enum()
Add avcodec_enum_to_chroma_pos()
-------- 8< --------- FFmpeg 2.0 was cut here -------- 8< ---------
2013-07-03 - 838bd73 - lavfi 3.78.100 - avfilter.h
Deprecate avfilter_graph_parse() in favor of the equivalent
avfilter_graph_parse_ptr().
@@ -289,6 +644,9 @@ API changes, most recent first:
2013-03-17 - 7aa9af5 - lavu 52.20.100 - opt.h
Add AV_OPT_TYPE_VIDEO_RATE value to AVOptionType enum.
-------- 8< --------- FFmpeg 1.2 was cut here -------- 8< ---------
2013-03-07 - 9767ec6 - lavu 52.18.100 - avstring.h,bprint.h
Add av_escape() and av_bprint_escape() API.
@@ -301,6 +659,9 @@ API changes, most recent first:
2013-01-01 - 2eb2e17 - lavfi 3.34.100
Add avfilter_get_audio_buffer_ref_from_arrays_channels.
-------- 8< --------- FFmpeg 1.1 was cut here -------- 8< ---------
2012-12-20 - 34de47aa - lavfi 3.29.100 - avfilter.h
Add AVFilterLink.channels, avfilter_link_get_channels()
and avfilter_ref_get_channels().
@@ -346,6 +707,9 @@ API changes, most recent first:
Add LIBSWRESAMPLE_VERSION, LIBSWRESAMPLE_BUILD
and LIBSWRESAMPLE_IDENT symbols.
-------- 8< --------- FFmpeg 1.0 was cut here -------- 8< ---------
2012-09-06 - 29e972f - lavu 51.72.100 - parseutils.h
Add av_small_strptime() time parsing function.
@@ -550,6 +914,9 @@ lavd 54.4.100 / 54.0.0, lavfi 3.5.0
avresample_read() are now uint8_t** instead of void**.
Libavresample is now stable.
2012-09-26 - 3ba0dab7 / 1384df64 - lavf 54.29.101 / 56.06.3 - avformat.h
Add AVFormatContext.avoid_negative_ts.
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.
@@ -764,6 +1131,9 @@ lavd 54.4.100 / 54.0.0, lavfi 3.5.0
2012-01-12 - b18e17e / 3167dc9 - lavfi 2.59.100 / 2.15.0
Add a new installed header -- libavfilter/version.h -- with version macros.
-------- 8< --------- FFmpeg 0.9 was cut here -------- 8< ---------
2011-12-08 - a502939 - lavfi 2.52.0
Add av_buffersink_poll_frame() to buffersink.h.
@@ -792,6 +1162,9 @@ lavd 54.4.100 / 54.0.0, lavfi 3.5.0
Add avformat_close_input().
Deprecate av_close_input_file() and av_close_input_stream().
2011-12-09 - c59b80c / b2890f5 - lavu 51.32.0 / 51.20.0 - audioconvert.h
Expand the channel layout list.
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.
@@ -805,6 +1178,10 @@ lavd 54.4.100 / 54.0.0, lavfi 3.5.0
Change AVCodecContext.error[4] to [8] at next major bump.
Add AV_NUM_DATA_POINTERS to simplify the bump transition.
2011-11-24 - lavu 51.29.0 / 51.19.0
92afb43 / bd97b2e - add planar RGB pixel formats
92afb43 / 6b0768e - add PIX_FMT_PLANAR and PIX_FMT_RGB pixel descriptions
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.
@@ -966,6 +1343,13 @@ lavd 54.4.100 / 54.0.0, lavfi 3.5.0
2011-06-28 - 5129336 - lavu 51.11.0 - avutil.h
Define the AV_PICTURE_TYPE_NONE value in AVPictureType enum.
-------- 8< --------- FFmpeg 0.7 was cut here -------- 8< ---------
-------- 8< --------- FFmpeg 0.8 was cut here -------- 8< ---------
2011-06-19 - fd2c0a5 - lavfi 2.23.0 - avfilter.h
Add layout negotiation fields and helper functions.
@@ -1643,6 +2027,9 @@ lavd 54.4.100 / 54.0.0, lavfi 3.5.0
2010-06-02 - 7e566bb - lavc 52.73.0 - av_get_codec_tag_string()
Add av_get_codec_tag_string().
-------- 8< --------- FFmpeg 0.6 was cut here -------- 8< ---------
2010-06-01 - 2b99142 - lsws 0.11.0 - convertPalette API
Add sws_convertPalette8ToPacked32() and sws_convertPalette8ToPacked24().
@@ -1660,10 +2047,6 @@ lavd 54.4.100 / 54.0.0, lavfi 3.5.0
2010-05-09 - b6bc205 - lavfi 1.20.0 - AVFilterPicRef
Add interlaced and top_field_first fields to AVFilterPicRef.
------------------------------8<-------------------------------------
0.6 branch was cut here
----------------------------->8--------------------------------------
2010-05-01 - 8e2ee18 - lavf 52.62.0 - probe function
Add av_probe_input_format2 to API, it allows ignoring probe
results below given score and returns the actual probe score.

View File

@@ -31,7 +31,7 @@ PROJECT_NAME = FFmpeg
# This could be handy for archiving the generated documentation or
# if some version control system is used.
PROJECT_NUMBER = 2.2.12
PROJECT_NUMBER = 2.5.2
# 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
@@ -759,7 +759,7 @@ ALPHABETICAL_INDEX = YES
# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
# in which this list will be split (can be a number in the range [1..20])
COLS_IN_ALPHA_INDEX = 2
COLS_IN_ALPHA_INDEX = 5
# In case all classes in a project start with a common prefix, all
# classes will be put under the same header in the alphabetical index.
@@ -1056,7 +1056,7 @@ FORMULA_TRANSPARENT = YES
# typically be disabled. For large projects the javascript based search engine
# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
SEARCHENGINE = NO
SEARCHENGINE = YES
# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
# implemented using a PHP enabled web server instead of at the web client
@@ -1359,6 +1359,8 @@ PREDEFINED = "__attribute__(x)=" \
"DECLARE_ALIGNED(a,t,n)=t n" \
"offsetof(x,y)=0x42" \
av_alloc_size \
AV_GCC_VERSION_AT_LEAST(x,y)=1 \
__GNUC__=1 \
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
# this tag can be used to specify a list of macro names that should be expanded.

View File

@@ -38,7 +38,9 @@ DOCS = $(DOCS-yes)
DOC_EXAMPLES-$(CONFIG_AVIO_READING_EXAMPLE) += avio_reading
DOC_EXAMPLES-$(CONFIG_AVCODEC_EXAMPLE) += avcodec
DOC_EXAMPLES-$(CONFIG_DECODING_ENCODING_EXAMPLE) += decoding_encoding
DOC_EXAMPLES-$(CONFIG_DEMUXING_DECODING_EXAMPLE) += demuxing_decoding
DOC_EXAMPLES-$(CONFIG_EXTRACT_MVS_EXAMPLE) += extract_mvs
DOC_EXAMPLES-$(CONFIG_FILTER_AUDIO_EXAMPLE) += filter_audio
DOC_EXAMPLES-$(CONFIG_FILTERING_AUDIO_EXAMPLE) += filtering_audio
DOC_EXAMPLES-$(CONFIG_FILTERING_VIDEO_EXAMPLE) += filtering_video
@@ -48,6 +50,7 @@ DOC_EXAMPLES-$(CONFIG_REMUXING_EXAMPLE) += remuxing
DOC_EXAMPLES-$(CONFIG_RESAMPLING_AUDIO_EXAMPLE) += resampling_audio
DOC_EXAMPLES-$(CONFIG_SCALING_VIDEO_EXAMPLE) += scaling_video
DOC_EXAMPLES-$(CONFIG_TRANSCODE_AAC_EXAMPLE) += transcode_aac
DOC_EXAMPLES-$(CONFIG_TRANSCODING_EXAMPLE) += transcoding
ALL_DOC_EXAMPLES_LIST = $(DOC_EXAMPLES-) $(DOC_EXAMPLES-yes)
DOC_EXAMPLES := $(DOC_EXAMPLES-yes:%=doc/examples/%$(PROGSSUF)$(EXESUF))
@@ -79,14 +82,25 @@ $(GENTEXI): doc/avoptions_%.texi: doc/print_options$(HOSTEXESUF)
$(M)doc/print_options $* > $@
doc/%.html: TAG = HTML
doc/%-all.html: TAG = HTML
ifdef HAVE_MAKEINFO_HTML
doc/%.html: doc/%.texi $(SRC_PATH)/doc/t2h.pm $(GENTEXI)
$(Q)$(TEXIDEP)
$(M)makeinfo --html -I doc --no-split -D config-not-all --init-file=$(SRC_PATH)/doc/t2h.pm --output $@ $<
doc/%-all.html: doc/%.texi $(SRC_PATH)/doc/t2h.pm $(GENTEXI)
$(Q)$(TEXIDEP)
$(M)makeinfo --html -I doc --no-split -D config-all --init-file=$(SRC_PATH)/doc/t2h.pm --output $@ $<
else
doc/%.html: doc/%.texi $(SRC_PATH)/doc/t2h.init $(GENTEXI)
$(Q)$(TEXIDEP)
$(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 $@ $<
endif
doc/%.pod: TAG = POD
doc/%.pod: doc/%.texi $(SRC_PATH)/doc/texi2pod.pl $(GENTEXI)
@@ -110,8 +124,9 @@ OBJDIRS += doc/examples
DOXY_INPUT = $(addprefix $(SRC_PATH)/, $(INSTHEADERS) $(DOC_EXAMPLES:%$(EXESUF)=%.c) $(LIB_EXAMPLES:%$(EXESUF)=%.c))
doc/doxy/html: $(SRC_PATH)/doc/Doxyfile $(DOXY_INPUT)
$(M)$(SRC_PATH)/doc/doxy-wrapper.sh $(SRC_PATH) $< $(DOXY_INPUT)
doc/doxy/html: TAG = DOXY
doc/doxy/html: $(SRC_PATH)/doc/Doxyfile $(SRC_PATH)/doc/doxy-wrapper.sh $(DOXY_INPUT)
$(M)$(SRC_PATH)/doc/doxy-wrapper.sh $(SRC_PATH) $< $(DOXYGEN) $(DOXY_INPUT)
install-doc: install-html install-man

View File

@@ -1,16 +0,0 @@
Release Notes
=============
* 2.2 "Muybridge" March, 2014
General notes
-------------
See the Changelog file for a list of significant changes. Note, there
are many more new features and bugfixes than whats listed there.
Bugreports against FFmpeg git master or the most recent FFmpeg release are
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.

View File

@@ -13,7 +13,16 @@ bitstream filter using the option @code{--disable-bsf=BSF}.
The option @code{-bsfs} of the ff* tools will display the list of
all the supported bitstream filters included in your build.
Below is a description of the currently available bitstream filters.
The ff* tools have a -bsf option applied per stream, taking a
comma-separated list of filters, whose parameters follow the filter
name after a '='.
@example
ffmpeg -i INPUT -c:v copy -bsf:v filter1[=opt1=str1/opt2=str2][,filter2] OUTPUT
@end example
Below is a description of the currently available bitstream filters,
with their parameters, if any.
@section aac_adtstoasc
@@ -74,7 +83,18 @@ format with @command{ffmpeg}, you can use the command:
ffmpeg -i INPUT.mp4 -codec copy -bsf:v h264_mp4toannexb OUTPUT.ts
@end example
@section imx_dump_header
@section imxdump
Modifies the bitstream to fit in MOV and to be usable by the Final Cut
Pro decoder. This filter only applies to the mpeg2video codec, and is
likely not needed for Final Cut Pro 7 and newer with the appropriate
@option{-tag:v}.
For example, to remux 30 MB/sec NTSC IMX to MOV:
@example
ffmpeg -i input.mxf -c copy -bsf:v imxdump -tag:v mx3n output.mov
@end example
@section mjpeg2jpeg
@@ -121,6 +141,20 @@ ffmpeg -i frame_%d.jpg -c:v copy rotated.avi
@section noise
Damages the contents of packets without damaging the container. Can be
used for fuzzing or testing error resilience/concealment.
Parameters:
A numeral string, whose value is related to how often output bytes will
be modified. Therefore, values below or equal to 0 are forbidden, and
the lower the more frequent bytes will be modified, with 1 meaning
every byte is modified.
@example
ffmpeg -i INPUT -c copy -bsf noise[=1] output.mkv
@end example
applies the modification to every byte.
@section remove_extra
@c man end BITSTREAM FILTERS

5
doc/bootstrap.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -25,6 +25,9 @@ fate-list
install
Install headers, libraries and programs.
examples
Build all examples located in doc/examples.
libavformat/output-example
Build the libavformat basic example.
@@ -34,6 +37,9 @@ libavcodec/api-example
libswscale/swscale-test
Build the swscale self-test (useful also as example).
config
Reconfigure the project with current configuration.
Useful standard make commands:
make -t <target>

View File

@@ -71,7 +71,9 @@ Force low delay.
@item global_header
Place global headers in extradata instead of every keyframe.
@item bitexact
Use only bitexact stuff (except (I)DCT).
Only write platform-, build- and time-independent data. (except (I)DCT).
This ensures that file and data checksums are reproducible and match between
platforms. Its primary use is for regression testing.
@item aic
Apply H263 advanced intra coding / mpeg4 ac prediction.
@item cbp
@@ -285,6 +287,11 @@ detect bitstream specification deviations
detect improper bitstream length
@item explode
abort decoding on minor error detection
@item ignore_err
ignore decoding errors, and continue decoding.
This is useful if you want to analyze the content of a video and thus want
everything to be decoded no matter what. This option will not result in a video
that is pleasing to watch in case of errors.
@item careful
consider things that violate the spec and have not been seen in the wild as errors
@item compliant
@@ -389,6 +396,9 @@ Possible values:
@item simplemmx
@item simpleauto
Automatically pick a IDCT compatible with the simple one
@item arm
@item altivec
@@ -424,6 +434,8 @@ Possible values:
iterative motion vector (MV) search (slow)
@item deblock
use strong deblock filter for damaged MBs
@item favor_inter
favor predicting from the previous frame instead of the current
@end table
@item bits_per_coded_sample @var{integer}
@@ -488,6 +500,8 @@ threading operations
@item vismv @var{integer} (@emph{decoding,video})
Visualize motion vectors (MVs).
This option is deprecated, see the codecview filter instead.
Possible values:
@table @samp
@item pf
@@ -787,6 +801,9 @@ Frame data might be split into multiple chunks.
Show all frames before the first keyframe.
@item skiprd
Deprecated, use mpegvideo private options instead.
@item export_mvs
Export motion vectors into frame side-data (see @code{AV_FRAME_DATA_MOTION_VECTORS})
for codecs that support it. See also @file{doc/examples/export_mvs.c}.
@end table
@item error @var{integer} (@emph{encoding,video})
@@ -879,7 +896,7 @@ Set frame skip factor.
Set frame skip exponent.
Negative values behave identical to the corresponding positive ones, except
that the score is normalized.
Positive values exist primarly for compatibility reasons and are not so useful.
Positive values exist primarily for compatibility reasons and are not so useful.
@item skipcmp @var{integer} (@emph{encoding,video})
Set frame skip compare function.
@@ -1025,15 +1042,26 @@ Set the log level offset.
Number of slices, used in parallelized encoding.
@item thread_type @var{flags} (@emph{decoding/encoding,video})
Select multithreading type.
Select which multithreading methods to use.
Use of @samp{frame} will increase decoding delay by one frame per
thread, so clients which cannot provide future frames should not use
it.
Possible values:
@table @samp
@item slice
Decode more than one part of a single frame at once.
Multithreading using slices works only when the video was encoded with
slices.
@item frame
Decode more than one frame at once.
@end table
Default value is @samp{slice+frame}.
@item audio_service_type @var{integer} (@emph{encoding,audio})
Set audio service type.
@@ -1088,6 +1116,19 @@ Interlaced video, bottom coded first, top displayed first
Set to 1 to disable processing alpha (transparency). This works like the
@samp{gray} flag in the @option{flags} option which skips chroma information
instead of alpha. Default is 0.
@item codec_whitelist @var{list} (@emph{input})
"," separated List of allowed decoders. By default all are allowed.
@item dump_separator @var{string} (@emph{input})
Separator used to separate the fields printed on the command line about the
Stream parameters.
For example to separate the fields with newlines and indention:
@example
ffprobe -dump_separator "
" -i ~/videos/matrixbench_mpeg2.mpg
@end example
@end table
@c man end CODEC OPTIONS

View File

@@ -163,6 +163,9 @@ Requires the presence of the libopus headers and library during
configuration. You need to explicitly configure the build with
@code{--enable-libopus}.
An FFmpeg native decoder for Opus exists, so users can decode Opus
without this library.
@c man end AUDIO DECODERS
@chapter Subtitles Decoders
@@ -187,6 +190,15 @@ The format for this option is a string containing 16 24-bits hexadecimal
numbers (without 0x prefix) separated by comas, for example @code{0d00ee,
ee450d, 101010, eaeaea, 0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1,
7b2a0e, 0d950c, 0f007b, cf0dec, cfa80c, 7c127b}.
@item ifo_palette
Specify the IFO file from which the global palette is obtained.
(experimental)
@item forced_subs_only
Only decode subtitle entries marked as forced. Some titles have forced
and non-forced subtitles in the same track. Setting this flag to @code{1}
will only keep the forced subtitles. Default value is @code{0}.
@end table
@section libzvbi-teletext

View File

@@ -29,6 +29,26 @@ 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 apng
Animated Portable Network Graphics demuxer.
This demuxer is used to demux APNG files.
All headers, but the PNG signature, up to (but not including) the first
fcTL chunk are transmitted as extradata.
Frames are then split as being all the chunks between two fcTL ones, or
between the last fcTL and IEND chunks.
@table @option
@item -ignore_loop @var{bool}
Ignore the loop variable in the file if set.
@item -max_fps @var{int}
Maximum framerate in frames per second (0 for no limit).
@item -default_fps @var{int}
Default framerate in frames per second when none is specified in the file
(0 meaning as fast as possible).
@end table
@section asf
Advanced Systems Format demuxer.
@@ -74,7 +94,7 @@ following directive is recognized:
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.
All subsequent file-related directives apply to that file.
@item @code{ffconcat version 1.0}
Identify the script type and version. It also sets the @option{safe} option
@@ -92,6 +112,22 @@ 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.
@item @code{stream}
Introduce a stream in the virtual file.
All subsequent stream-related directives apply to the last introduced
stream.
Some streams properties must be set in order to allow identifying the
matching streams in the subfiles.
If no streams are defined in the script, the streams from the first file are
copied.
@item @code{exact_stream_id @var{id}}
Set the id of the stream.
If this directive is given, the string with the corresponding id in the
subfiles will be used.
This is especially useful for MPEG-PS (VOB) files, where the order of the
streams is not reliable.
@end table
@subsection Options
@@ -112,6 +148,14 @@ 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.
@item auto_convert
If set to 1, try to perform automatic conversions on packet data to make the
streams concatenable.
Currently, the only conversion is adding the h264_mp4toannexb bitstream
filter to H.264 streams in MP4 format. This is necessary in particular if
there are resolution changes.
@end table
@section flv
@@ -150,6 +194,40 @@ 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 gif
Animated GIF demuxer.
It accepts the following options:
@table @option
@item min_delay
Set the minimum valid delay between frames in hundredths of seconds.
Range is 0 to 6000. Default value is 2.
@item default_delay
Set the default delay between frames in hundredths of seconds.
Range is 0 to 6000. Default value is 10.
@item ignore_loop
GIF files can contain information to loop a certain number of times (or
infinitely). If @option{ignore_loop} is set to 1, then the loop setting
from the input will be ignored and looping will not occur. If set to 0,
then looping will occur and will cycle the number of times according to
the GIF. Default value is 1.
@end table
For example, with the overlay filter, place an infinitely looping GIF
over another video:
@example
ffmpeg -i input.mp4 -ignore_loop 0 -i input.gif -filter_complex overlay=shortest=1 out.mkv
@end example
Note that in the above example the shortest option for overlay filter is
used to end the output video at the length of the shortest input file,
which in this case is @file{input.mp4} as the GIF in this example loops
infinitely.
@section image2
Image file demuxer.
@@ -249,6 +327,8 @@ is 5.
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.
If set to 2, will set frame timestamp to the modification time of the image file in
nanosecond precision.
@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.

View File

@@ -323,9 +323,12 @@ 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:
@example
area changed: Short 1 line description
details describing what and why and giving references.
@end example
@item
Make sure the author of the commit is set correctly. (see git commit --author)

View File

@@ -2,10 +2,11 @@
SRC_PATH="${1}"
DOXYFILE="${2}"
DOXYGEN="${3}"
shift 2
shift 3
doxygen - <<EOF
$DOXYGEN - <<EOF
@INCLUDE = ${DOXYFILE}
INPUT = $@
EXAMPLE_PATH = ${SRC_PATH}/doc/examples

View File

@@ -80,7 +80,7 @@ thresholds with quantizer steps to find the appropriate quantization with
distortion below threshold band by band.
The quality of this method is comparable to the two loop searching method
descibed below, but somewhat a little better and slower.
described below, but somewhat a little better and slower.
@item anmr
Average noise to mask ratio (ANMR) trellis-based solution.
@@ -1032,7 +1032,7 @@ configuration. You need to explicitly configure the build with
@subsection Option Mapping
Most libopus options are modeled after the @command{opusenc} utility from
Most libopus options are modelled after the @command{opusenc} utility from
opus-tools. The following is an option mapping chart describing options
supported by the libopus wrapper, and their @command{opusenc}-equivalent
in parentheses.
@@ -1330,7 +1330,7 @@ ffmpeg -i INPUT -codec:v libtheora -b:v 1000k OUTPUT.ogg
@section libvpx
VP8 format supported through libvpx.
VP8/VP9 format supported through libvpx.
Requires the presence of the libvpx headers and library during configuration.
You need to explicitly configure the build with @code{--enable-libvpx}.
@@ -1442,6 +1442,9 @@ g_lag_in_frames
@item vp8flags error_resilient
g_error_resilient
@item aq_mode
@code{VP9E_SET_AQ_MODE}
@end table
For more information about libvpx see:
@@ -1566,25 +1569,34 @@ kilobits/s.
@item g (@emph{keyint})
@item qmax (@emph{qpmax})
@item qmin (@emph{qpmin})
Minimum quantizer scale.
@item qmax (@emph{qpmax})
Maximum quantizer scale.
@item qdiff (@emph{qpstep})
Maximum difference between quantizer scales.
@item qblur (@emph{qblur})
Quantizer curve blur
@item qcomp (@emph{qcomp})
Quantizer curve compression factor
@item refs (@emph{ref})
Number of reference frames each P-frame can use. The range is from @var{0-16}.
@item sc_threshold (@emph{scenecut})
Sets the threshold for the scene change detection.
@item trellis (@emph{trellis})
Performs Trellis quantization to increase efficiency. Enabled by default.
@item nr (@emph{nr})
@item me_range (@emph{merange})
Maximum range of the motion search in pixels.
@item me_method (@emph{me})
Set motion estimation method. Possible values in the decreasing order
@@ -1606,10 +1618,13 @@ Hadamard exhaustive search (slowest).
@end table
@item subq (@emph{subme})
Sub-pixel motion estimation method.
@item b_strategy (@emph{b-adapt})
Adaptive B-frame placement decision algorithm. Use only on first-pass.
@item keyint_min (@emph{min-keyint})
Minimum GOP size.
@item coder
Set entropy encoder. Possible values:
@@ -1636,6 +1651,7 @@ Ignore chroma in motion estimation. It generates the same effect as
@end table
@item threads (@emph{threads})
Number of encoding threads.
@item thread_type
Set multithreading technique. Possible values:
@@ -1729,6 +1745,10 @@ Enable calculation and printing SSIM stats after the encoding.
Enable the use of Periodic Intra Refresh instead of IDR frames when set
to 1.
@item avcintra-class (@emph{class})
Configure the encoder to generate AVC-Intra.
Valid values are 50,100 and 200
@item bluray-compat (@emph{bluray-compat})
Configure the encoder to be compatible with the bluray standard.
It is a shorthand for setting "bluray-compat=1 force-cfr=1".
@@ -1866,6 +1886,34 @@ no-fast-pskip=1:subq=6:8x8dct=0:trellis=0 OUTPUT
Encoding ffpresets for common usages are provided so they can be used with the
general presets system (e.g. passing the @option{pre} option).
@section libx265
x265 H.265/HEVC encoder wrapper.
This encoder requires the presence of the libx265 headers and library
during configuration. You need to explicitly configure the build with
@option{--enable-libx265}.
@subsection Options
@table @option
@item preset
Set the x265 preset.
@item tune
Set the x265 tune parameter.
@item x265-params
Set x265 options using a list of @var{key}=@var{value} couples separated
by ":". See @command{x265 --help} for a list of options.
For example to specify libx265 encoding options with @option{-x265-params}:
@example
ffmpeg -i input -c:v libx265 -x265-params crf=26:psy-rd=1 output.mp4
@end example
@end table
@section libxvid
Xvid MPEG-4 Part 2 encoder wrapper.
@@ -2029,6 +2077,30 @@ fastest.
@end table
@section mpeg2
MPEG-2 video encoder.
@subsection Options
@table @option
@item seq_disp_ext @var{integer}
Specifies if the encoder should write a sequence_display_extension to the
output.
@table @option
@item -1
@itemx auto
Decide automatically to write it or not (this is the default) by checking if
the data to be written is different from the default or unspecified values.
@item 0
@itemx never
Never write it.
@item 1
@itemx always
Always write it.
@end table
@end table
@section png
PNG image encoder.
@@ -2110,3 +2182,27 @@ For the fastest encoding speed set the @option{qscale} parameter (4 is the
recommended value) and do not set a size constraint.
@c man end VIDEO ENCODERS
@chapter Subtitles Encoders
@c man begin SUBTITLES ENCODERS
@section dvdsub
This codec encodes the bitmap subtitle format that is used in DVDs.
Typically they are stored in VOBSUB file pairs (*.idx + *.sub),
and they can also be used in Matroska files.
@subsection Options
@table @option
@item even_rows_fix
When set to 1, enable a work-around that makes the number of pixel rows
even in all subtitles. This fixes a problem with some players that
cut off the bottom row if the number is odd. The work-around just adds
a fully transparent row if needed. The overhead is low, typically
one byte per subtitle on average.
By default, this work-around is disabled.
@end table
@c man end SUBTITLES ENCODERS

View File

@@ -12,8 +12,9 @@ CFLAGS := $(shell pkg-config --cflags $(FFMPEG_LIBS)) $(CFLAGS)
LDLIBS := $(shell pkg-config --libs $(FFMPEG_LIBS)) $(LDLIBS)
EXAMPLES= avio_reading \
avcodec \
decoding_encoding \
demuxing_decoding \
extract_mvs \
filtering_video \
filtering_audio \
metadata \
@@ -22,6 +23,7 @@ EXAMPLES= avio_reading \
resampling_audio \
scaling_video \
transcode_aac \
transcoding \
OBJS=$(addsuffix .o,$(EXAMPLES))

View File

@@ -24,7 +24,7 @@
* @file
* libavcodec API use example.
*
* @example avcodec.c
* @example decoding_encoding.c
* Note that libavcodec only handles codecs (mpeg, mpeg4, etc...),
* not file formats (avi, vob, mp4, mov, mkv, mxf, flv, mpegts, mpegps, etc...). See library 'libavformat' for the
* format handling
@@ -288,6 +288,7 @@ static void audio_decode_example(const char *outfilename, const char *filename)
avpkt.size = fread(inbuf, 1, AUDIO_INBUF_SIZE, f);
while (avpkt.size > 0) {
int i, ch;
int got_frame = 0;
if (!decoded_frame) {
@@ -304,15 +305,15 @@ static void audio_decode_example(const char *outfilename, const char *filename)
}
if (got_frame) {
/* if a frame has been decoded, output it */
int data_size = av_samples_get_buffer_size(NULL, c->channels,
decoded_frame->nb_samples,
c->sample_fmt, 1);
int data_size = av_get_bytes_per_sample(c->sample_fmt);
if (data_size < 0) {
/* This should not occur, checking just for paranoia */
fprintf(stderr, "Failed to calculate data size\n");
exit(1);
}
fwrite(decoded_frame->data[0], 1, data_size, outfile);
for (i=0; i<decoded_frame->nb_samples; i++)
for (ch=0; ch<c->channels; ch++)
fwrite(decoded_frame->data[ch] + data_size*i, 1, data_size, outfile);
}
avpkt.size -= len;
avpkt.data += len;
@@ -375,7 +376,13 @@ static void video_encode_example(const char *filename, int codec_id)
c->height = 288;
/* frames per second */
c->time_base = (AVRational){1,25};
c->gop_size = 10; /* emit one intra frame every ten frames */
/* emit one intra frame every ten frames
* check frame pict_type before passing frame
* to encoder, if frame->pict_type is AV_PICTURE_TYPE_I
* then gop_size is ignored and the output of encoder
* will always be I frame irrespective to gop_size
*/
c->gop_size = 10;
c->max_b_frames = 1;
c->pix_fmt = AV_PIX_FMT_YUV420P;
@@ -634,7 +641,7 @@ int main(int argc, char **argv)
"This program generates a synthetic stream and encodes it to a file\n"
"named test.h264, test.mp2 or test.mpg depending on output_type.\n"
"The encoded stream is then decoded and written to a raw data output.\n"
"output_type must be choosen between 'h264', 'mp2', 'mpg'.\n",
"output_type must be chosen between 'h264', 'mp2', 'mpg'.\n",
argv[0]);
return 1;
}
@@ -644,7 +651,7 @@ int main(int argc, char **argv)
video_encode_example("test.h264", AV_CODEC_ID_H264);
} else if (!strcmp(output_type, "mp2")) {
audio_encode_example("test.mp2");
audio_decode_example("test.sw", "test.mp2");
audio_decode_example("test.pcm", "test.mp2");
} else if (!strcmp(output_type, "mpg")) {
video_encode_example("test.mpg", AV_CODEC_ID_MPEG1VIDEO);
video_decode_example("test%02d.pgm", "test.mpg");

View File

@@ -279,7 +279,7 @@ int main (int argc, char **argv)
audio_dec_ctx = audio_stream->codec;
audio_dst_file = fopen(audio_dst_filename, "wb");
if (!audio_dst_file) {
fprintf(stderr, "Could not open destination file %s\n", video_dst_filename);
fprintf(stderr, "Could not open destination file %s\n", audio_dst_filename);
ret = 1;
goto end;
}

185
doc/examples/extract_mvs.c Normal file
View File

@@ -0,0 +1,185 @@
/*
* Copyright (c) 2012 Stefano Sabatini
* Copyright (c) 2014 Clément Bœsch
*
* 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.
*/
#include <libavutil/motion_vector.h>
#include <libavformat/avformat.h>
static AVFormatContext *fmt_ctx = NULL;
static AVCodecContext *video_dec_ctx = NULL;
static AVStream *video_stream = NULL;
static const char *src_filename = NULL;
static int video_stream_idx = -1;
static AVFrame *frame = NULL;
static AVPacket pkt;
static int video_frame_count = 0;
static int decode_packet(int *got_frame, int cached)
{
int decoded = pkt.size;
*got_frame = 0;
if (pkt.stream_index == video_stream_idx) {
int ret = avcodec_decode_video2(video_dec_ctx, frame, got_frame, &pkt);
if (ret < 0) {
fprintf(stderr, "Error decoding video frame (%s)\n", av_err2str(ret));
return ret;
}
if (*got_frame) {
int i;
AVFrameSideData *sd;
video_frame_count++;
sd = av_frame_get_side_data(frame, AV_FRAME_DATA_MOTION_VECTORS);
if (sd) {
const AVMotionVector *mvs = (const AVMotionVector *)sd->data;
for (i = 0; i < sd->size / sizeof(*mvs); i++) {
const AVMotionVector *mv = &mvs[i];
printf("%d,%2d,%2d,%2d,%4d,%4d,%4d,%4d,0x%"PRIx64"\n",
video_frame_count, mv->source,
mv->w, mv->h, mv->src_x, mv->src_y,
mv->dst_x, mv->dst_y, mv->flags);
}
}
}
}
return decoded;
}
static int open_codec_context(int *stream_idx,
AVFormatContext *fmt_ctx, enum AVMediaType type)
{
int ret;
AVStream *st;
AVCodecContext *dec_ctx = NULL;
AVCodec *dec = NULL;
AVDictionary *opts = NULL;
ret = av_find_best_stream(fmt_ctx, type, -1, -1, NULL, 0);
if (ret < 0) {
fprintf(stderr, "Could not find %s stream in input file '%s'\n",
av_get_media_type_string(type), src_filename);
return ret;
} else {
*stream_idx = ret;
st = fmt_ctx->streams[*stream_idx];
/* find decoder for the stream */
dec_ctx = st->codec;
dec = avcodec_find_decoder(dec_ctx->codec_id);
if (!dec) {
fprintf(stderr, "Failed to find %s codec\n",
av_get_media_type_string(type));
return AVERROR(EINVAL);
}
/* Init the video decoder */
av_dict_set(&opts, "flags2", "+export_mvs", 0);
if ((ret = avcodec_open2(dec_ctx, dec, &opts)) < 0) {
fprintf(stderr, "Failed to open %s codec\n",
av_get_media_type_string(type));
return ret;
}
}
return 0;
}
int main(int argc, char **argv)
{
int ret = 0, got_frame;
if (argc != 2) {
fprintf(stderr, "Usage: %s <video>\n", argv[0]);
exit(1);
}
src_filename = argv[1];
av_register_all();
if (avformat_open_input(&fmt_ctx, src_filename, NULL, NULL) < 0) {
fprintf(stderr, "Could not open source file %s\n", src_filename);
exit(1);
}
if (avformat_find_stream_info(fmt_ctx, NULL) < 0) {
fprintf(stderr, "Could not find stream information\n");
exit(1);
}
if (open_codec_context(&video_stream_idx, fmt_ctx, AVMEDIA_TYPE_VIDEO) >= 0) {
video_stream = fmt_ctx->streams[video_stream_idx];
video_dec_ctx = video_stream->codec;
}
av_dump_format(fmt_ctx, 0, src_filename, 0);
if (!video_stream) {
fprintf(stderr, "Could not find video stream in the input, aborting\n");
ret = 1;
goto end;
}
frame = av_frame_alloc();
if (!frame) {
fprintf(stderr, "Could not allocate frame\n");
ret = AVERROR(ENOMEM);
goto end;
}
printf("framenum,source,blockw,blockh,srcx,srcy,dstx,dsty,flags\n");
/* initialize packet, set data to NULL, let the demuxer fill it */
av_init_packet(&pkt);
pkt.data = NULL;
pkt.size = 0;
/* read frames from the file */
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;
pkt.size = 0;
do {
decode_packet(&got_frame, 1);
} while (got_frame);
end:
avcodec_close(video_dec_ctx);
avformat_close_input(&fmt_ctx);
av_frame_free(&frame);
return ret < 0;
}

View File

@@ -45,6 +45,7 @@
#include "libavutil/channel_layout.h"
#include "libavutil/md5.h"
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "libavutil/samplefmt.h"

View File

@@ -90,6 +90,7 @@ static int init_filters(const char *filters_descr)
AVFilter *buffersink = avfilter_get_by_name("buffersink");
AVFilterInOut *outputs = avfilter_inout_alloc();
AVFilterInOut *inputs = avfilter_inout_alloc();
AVRational time_base = fmt_ctx->streams[video_stream_index]->time_base;
enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE };
filter_graph = avfilter_graph_alloc();
@@ -102,7 +103,7 @@ static int init_filters(const char *filters_descr)
snprintf(args, sizeof(args),
"video_size=%dx%d:pix_fmt=%d:time_base=%d/%d:pixel_aspect=%d/%d",
dec_ctx->width, dec_ctx->height, dec_ctx->pix_fmt,
dec_ctx->time_base.num, dec_ctx->time_base.den,
time_base.num, time_base.den,
dec_ctx->sample_aspect_ratio.num, dec_ctx->sample_aspect_ratio.den);
ret = avfilter_graph_create_filter(&buffersrc_ctx, buffersrc, "in",

View File

@@ -34,6 +34,8 @@
#include <string.h>
#include <math.h>
#include <libavutil/avassert.h>
#include <libavutil/channel_layout.h>
#include <libavutil/opt.h>
#include <libavutil/mathematics.h>
#include <libavutil/timestamp.h>
@@ -41,13 +43,28 @@
#include <libswscale/swscale.h>
#include <libswresample/swresample.h>
static int audio_is_eof, video_is_eof;
#define STREAM_DURATION 10.0
#define STREAM_FRAME_RATE 25 /* 25 images/s */
#define STREAM_PIX_FMT AV_PIX_FMT_YUV420P /* default pix_fmt */
static int sws_flags = SWS_BICUBIC;
#define SCALE_FLAGS SWS_BICUBIC
// a wrapper around a single output AVStream
typedef struct OutputStream {
AVStream *st;
/* pts of the next frame that will be generated */
int64_t next_pts;
int samples_count;
AVFrame *frame;
AVFrame *tmp_frame;
float t, tincr, tincr2;
struct SwsContext *sws_ctx;
struct SwrContext *swr_ctx;
} OutputStream;
static void log_packet(const AVFormatContext *fmt_ctx, const AVPacket *pkt)
{
@@ -63,9 +80,7 @@ static void log_packet(const AVFormatContext *fmt_ctx, const AVPacket *pkt)
static int write_frame(AVFormatContext *fmt_ctx, const AVRational *time_base, AVStream *st, AVPacket *pkt)
{
/* rescale output packet timestamp values from codec to stream timebase */
pkt->pts = av_rescale_q_rnd(pkt->pts, *time_base, st->time_base, AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX);
pkt->dts = av_rescale_q_rnd(pkt->dts, *time_base, st->time_base, AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX);
pkt->duration = av_rescale_q(pkt->duration, *time_base, st->time_base);
av_packet_rescale_ts(pkt, *time_base, st->time_base);
pkt->stream_index = st->index;
/* Write the compressed frame to the media file. */
@@ -74,11 +89,12 @@ static int write_frame(AVFormatContext *fmt_ctx, const AVRational *time_base, AV
}
/* Add an output stream. */
static AVStream *add_stream(AVFormatContext *oc, AVCodec **codec,
enum AVCodecID codec_id)
static void add_stream(OutputStream *ost, AVFormatContext *oc,
AVCodec **codec,
enum AVCodecID codec_id)
{
AVCodecContext *c;
AVStream *st;
int i;
/* find the encoder */
*codec = avcodec_find_encoder(codec_id);
@@ -88,13 +104,13 @@ static AVStream *add_stream(AVFormatContext *oc, AVCodec **codec,
exit(1);
}
st = avformat_new_stream(oc, *codec);
if (!st) {
ost->st = avformat_new_stream(oc, *codec);
if (!ost->st) {
fprintf(stderr, "Could not allocate stream\n");
exit(1);
}
st->id = oc->nb_streams-1;
c = st->codec;
ost->st->id = oc->nb_streams-1;
c = ost->st->codec;
switch ((*codec)->type) {
case AVMEDIA_TYPE_AUDIO:
@@ -102,7 +118,24 @@ static AVStream *add_stream(AVFormatContext *oc, AVCodec **codec,
(*codec)->sample_fmts[0] : AV_SAMPLE_FMT_FLTP;
c->bit_rate = 64000;
c->sample_rate = 44100;
c->channels = 2;
if ((*codec)->supported_samplerates) {
c->sample_rate = (*codec)->supported_samplerates[0];
for (i = 0; (*codec)->supported_samplerates[i]; i++) {
if ((*codec)->supported_samplerates[i] == 44100)
c->sample_rate = 44100;
}
}
c->channels = av_get_channel_layout_nb_channels(c->channel_layout);
c->channel_layout = AV_CH_LAYOUT_STEREO;
if ((*codec)->channel_layouts) {
c->channel_layout = (*codec)->channel_layouts[0];
for (i = 0; (*codec)->channel_layouts[i]; i++) {
if ((*codec)->channel_layouts[i] == AV_CH_LAYOUT_STEREO)
c->channel_layout = AV_CH_LAYOUT_STEREO;
}
}
c->channels = av_get_channel_layout_nb_channels(c->channel_layout);
ost->st->time_base = (AVRational){ 1, c->sample_rate };
break;
case AVMEDIA_TYPE_VIDEO:
@@ -116,8 +149,9 @@ static AVStream *add_stream(AVFormatContext *oc, AVCodec **codec,
* of which frame timestamps are represented. For fixed-fps content,
* timebase should be 1/framerate and timestamp increments should be
* identical to 1. */
c->time_base.den = STREAM_FRAME_RATE;
c->time_base.num = 1;
ost->st->time_base = (AVRational){ 1, STREAM_FRAME_RATE };
c->time_base = ost->st->time_base;
c->gop_size = 12; /* emit one intra frame every twelve frames at most */
c->pix_fmt = STREAM_PIX_FMT;
if (c->codec_id == AV_CODEC_ID_MPEG2VIDEO) {
@@ -139,258 +173,262 @@ static AVStream *add_stream(AVFormatContext *oc, AVCodec **codec,
/* Some formats want stream headers to be separate. */
if (oc->oformat->flags & AVFMT_GLOBALHEADER)
c->flags |= CODEC_FLAG_GLOBAL_HEADER;
return st;
}
/**************************************************************/
/* audio output */
static float t, tincr, tincr2;
AVFrame *audio_frame;
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;
int samples_count;
struct SwrContext *swr_ctx = NULL;
static void open_audio(AVFormatContext *oc, AVCodec *codec, AVStream *st)
static AVFrame *alloc_audio_frame(enum AVSampleFormat sample_fmt,
uint64_t channel_layout,
int sample_rate, int nb_samples)
{
AVCodecContext *c;
AVFrame *frame = av_frame_alloc();
int ret;
c = st->codec;
/* allocate and init a re-usable frame */
audio_frame = av_frame_alloc();
if (!audio_frame) {
fprintf(stderr, "Could not allocate audio frame\n");
if (!frame) {
fprintf(stderr, "Error allocating an audio frame\n");
exit(1);
}
frame->format = sample_fmt;
frame->channel_layout = channel_layout;
frame->sample_rate = sample_rate;
frame->nb_samples = nb_samples;
if (nb_samples) {
ret = av_frame_get_buffer(frame, 0);
if (ret < 0) {
fprintf(stderr, "Error allocating an audio buffer\n");
exit(1);
}
}
return frame;
}
static void open_audio(AVFormatContext *oc, AVCodec *codec, OutputStream *ost, AVDictionary *opt_arg)
{
AVCodecContext *c;
int nb_samples;
int ret;
AVDictionary *opt = NULL;
c = ost->st->codec;
/* open it */
ret = avcodec_open2(c, codec, NULL);
av_dict_copy(&opt, opt_arg, 0);
ret = avcodec_open2(c, codec, &opt);
av_dict_free(&opt);
if (ret < 0) {
fprintf(stderr, "Could not open audio codec: %s\n", av_err2str(ret));
exit(1);
}
/* init signal generator */
t = 0;
tincr = 2 * M_PI * 110.0 / c->sample_rate;
ost->t = 0;
ost->tincr = 2 * M_PI * 110.0 / c->sample_rate;
/* increment frequency by 110 Hz per second */
tincr2 = 2 * M_PI * 110.0 / c->sample_rate / c->sample_rate;
ost->tincr2 = 2 * M_PI * 110.0 / c->sample_rate / c->sample_rate;
src_nb_samples = c->codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE ?
10000 : c->frame_size;
if (c->codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE)
nb_samples = 10000;
else
nb_samples = c->frame_size;
ret = av_samples_alloc_array_and_samples(&src_samples_data, &src_samples_linesize, c->channels,
src_nb_samples, AV_SAMPLE_FMT_S16, 0);
if (ret < 0) {
fprintf(stderr, "Could not allocate source samples\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;
ost->frame = alloc_audio_frame(c->sample_fmt, c->channel_layout,
c->sample_rate, nb_samples);
ost->tmp_frame = alloc_audio_frame(AV_SAMPLE_FMT_S16, c->channel_layout,
c->sample_rate, nb_samples);
/* create resampler context */
if (c->sample_fmt != AV_SAMPLE_FMT_S16) {
swr_ctx = swr_alloc();
if (!swr_ctx) {
ost->swr_ctx = swr_alloc();
if (!ost->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);
av_opt_set_int (ost->swr_ctx, "in_channel_count", c->channels, 0);
av_opt_set_int (ost->swr_ctx, "in_sample_rate", c->sample_rate, 0);
av_opt_set_sample_fmt(ost->swr_ctx, "in_sample_fmt", AV_SAMPLE_FMT_S16, 0);
av_opt_set_int (ost->swr_ctx, "out_channel_count", c->channels, 0);
av_opt_set_int (ost->swr_ctx, "out_sample_rate", c->sample_rate, 0);
av_opt_set_sample_fmt(ost->swr_ctx, "out_sample_fmt", c->sample_fmt, 0);
/* initialize the resampling context */
if ((ret = swr_init(swr_ctx)) < 0) {
if ((ret = swr_init(ost->swr_ctx)) < 0) {
fprintf(stderr, "Failed to initialize the resampling context\n");
exit(1);
}
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);
}
} else {
dst_samples_data = src_samples_data;
}
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
* 'nb_channels' channels. */
static void get_audio_frame(int16_t *samples, int frame_size, int nb_channels)
static AVFrame *get_audio_frame(OutputStream *ost)
{
AVFrame *frame = ost->tmp_frame;
int j, i, v;
int16_t *q;
int16_t *q = (int16_t*)frame->data[0];
q = samples;
for (j = 0; j < frame_size; j++) {
v = (int)(sin(t) * 10000);
for (i = 0; i < nb_channels; i++)
/* check if we want to generate more frames */
if (av_compare_ts(ost->next_pts, ost->st->codec->time_base,
STREAM_DURATION, (AVRational){ 1, 1 }) >= 0)
return NULL;
for (j = 0; j <frame->nb_samples; j++) {
v = (int)(sin(ost->t) * 10000);
for (i = 0; i < ost->st->codec->channels; i++)
*q++ = v;
t += tincr;
tincr += tincr2;
ost->t += ost->tincr;
ost->tincr += ost->tincr2;
}
frame->pts = ost->next_pts;
ost->next_pts += frame->nb_samples;
return frame;
}
static void write_audio_frame(AVFormatContext *oc, AVStream *st, int flush)
/*
* encode one audio frame and send it to the muxer
* return 1 when encoding is finished, 0 otherwise
*/
static int write_audio_frame(AVFormatContext *oc, OutputStream *ost)
{
AVCodecContext *c;
AVPacket pkt = { 0 }; // data and size must be 0;
int got_packet, ret, dst_nb_samples;
AVFrame *frame;
int ret;
int got_packet;
int dst_nb_samples;
av_init_packet(&pkt);
c = st->codec;
c = ost->st->codec;
if (!flush) {
get_audio_frame((int16_t *)src_samples_data[0], src_nb_samples, c->channels);
frame = get_audio_frame(ost);
if (frame) {
/* 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,
dst_nb_samples = av_rescale_rnd(swr_get_delay(ost->swr_ctx, c->sample_rate) + frame->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);
}
av_assert0(dst_nb_samples == frame->nb_samples);
/* when we pass a frame to the encoder, it may keep a reference to it
* internally;
* make sure we do not overwrite it here
*/
ret = av_frame_make_writable(ost->frame);
if (ret < 0)
exit(1);
/* convert to destination format */
ret = swr_convert(swr_ctx,
dst_samples_data, dst_nb_samples,
(const uint8_t **)src_samples_data, src_nb_samples);
ret = swr_convert(ost->swr_ctx,
ost->frame->data, dst_nb_samples,
(const uint8_t **)frame->data, frame->nb_samples);
if (ret < 0) {
fprintf(stderr, "Error while converting\n");
exit(1);
}
} else {
dst_nb_samples = src_nb_samples;
}
frame = ost->frame;
audio_frame->nb_samples = dst_nb_samples;
audio_frame->pts = av_rescale_q(samples_count, (AVRational){1, c->sample_rate}, c->time_base);
avcodec_fill_audio_frame(audio_frame, c->channels, c->sample_fmt,
dst_samples_data[0], dst_samples_size, 0);
samples_count += dst_nb_samples;
frame->pts = av_rescale_q(ost->samples_count, (AVRational){1, c->sample_rate}, c->time_base);
ost->samples_count += dst_nb_samples;
}
ret = avcodec_encode_audio2(c, &pkt, flush ? NULL : audio_frame, &got_packet);
ret = avcodec_encode_audio2(c, &pkt, frame, &got_packet);
if (ret < 0) {
fprintf(stderr, "Error encoding audio frame: %s\n", av_err2str(ret));
exit(1);
}
if (!got_packet) {
if (flush)
audio_is_eof = 1;
return;
if (got_packet) {
ret = write_frame(oc, &c->time_base, ost->st, &pkt);
if (ret < 0) {
fprintf(stderr, "Error while writing audio frame: %s\n",
av_err2str(ret));
exit(1);
}
}
ret = write_frame(oc, &c->time_base, st, &pkt);
if (ret < 0) {
fprintf(stderr, "Error while writing audio frame: %s\n",
av_err2str(ret));
exit(1);
}
}
static void close_audio(AVFormatContext *oc, AVStream *st)
{
avcodec_close(st->codec);
if (dst_samples_data != src_samples_data) {
av_free(dst_samples_data[0]);
av_free(dst_samples_data);
}
av_free(src_samples_data[0]);
av_free(src_samples_data);
av_frame_free(&audio_frame);
return (frame || got_packet) ? 0 : 1;
}
/**************************************************************/
/* video output */
static AVFrame *frame;
static AVPicture src_picture, dst_picture;
static int frame_count;
static AVFrame *alloc_picture(enum AVPixelFormat pix_fmt, int width, int height)
{
AVFrame *picture;
int ret;
static void open_video(AVFormatContext *oc, AVCodec *codec, AVStream *st)
picture = av_frame_alloc();
if (!picture)
return NULL;
picture->format = pix_fmt;
picture->width = width;
picture->height = height;
/* allocate the buffers for the frame data */
ret = av_frame_get_buffer(picture, 32);
if (ret < 0) {
fprintf(stderr, "Could not allocate frame data.\n");
exit(1);
}
return picture;
}
static void open_video(AVFormatContext *oc, AVCodec *codec, OutputStream *ost, AVDictionary *opt_arg)
{
int ret;
AVCodecContext *c = st->codec;
AVCodecContext *c = ost->st->codec;
AVDictionary *opt = NULL;
av_dict_copy(&opt, opt_arg, 0);
/* open the codec */
ret = avcodec_open2(c, codec, NULL);
ret = avcodec_open2(c, codec, &opt);
av_dict_free(&opt);
if (ret < 0) {
fprintf(stderr, "Could not open video codec: %s\n", av_err2str(ret));
exit(1);
}
/* allocate and init a re-usable frame */
frame = av_frame_alloc();
if (!frame) {
ost->frame = alloc_picture(c->pix_fmt, c->width, c->height);
if (!ost->frame) {
fprintf(stderr, "Could not allocate video frame\n");
exit(1);
}
frame->format = c->pix_fmt;
frame->width = c->width;
frame->height = c->height;
/* Allocate the encoded raw picture. */
ret = avpicture_alloc(&dst_picture, c->pix_fmt, c->width, c->height);
if (ret < 0) {
fprintf(stderr, "Could not allocate picture: %s\n", av_err2str(ret));
exit(1);
}
/* If the output format is not YUV420P, then a temporary YUV420P
* picture is needed too. It is then converted to the required
* output format. */
ost->tmp_frame = NULL;
if (c->pix_fmt != AV_PIX_FMT_YUV420P) {
ret = avpicture_alloc(&src_picture, AV_PIX_FMT_YUV420P, c->width, c->height);
if (ret < 0) {
fprintf(stderr, "Could not allocate temporary picture: %s\n",
av_err2str(ret));
ost->tmp_frame = alloc_picture(AV_PIX_FMT_YUV420P, c->width, c->height);
if (!ost->tmp_frame) {
fprintf(stderr, "Could not allocate temporary picture\n");
exit(1);
}
}
/* copy data and linesize picture pointers to frame */
*((AVPicture *)frame) = dst_picture;
}
/* Prepare a dummy image. */
static void fill_yuv_image(AVPicture *pict, int frame_index,
static void fill_yuv_image(AVFrame *pict, int frame_index,
int width, int height)
{
int x, y, i;
int x, y, i, ret;
/* when we pass a frame to the encoder, it may keep a reference to it
* internally;
* make sure we do not overwrite it here
*/
ret = av_frame_make_writable(pict);
if (ret < 0)
exit(1);
i = frame_index;
@@ -408,65 +446,89 @@ static void fill_yuv_image(AVPicture *pict, int frame_index,
}
}
static void write_video_frame(AVFormatContext *oc, AVStream *st, int flush)
static AVFrame *get_video_frame(OutputStream *ost)
{
int ret;
static struct SwsContext *sws_ctx;
AVCodecContext *c = st->codec;
AVCodecContext *c = ost->st->codec;
if (!flush) {
if (c->pix_fmt != AV_PIX_FMT_YUV420P) {
/* as we only generate a YUV420P picture, we must convert it
* to the codec pixel format if needed */
if (!sws_ctx) {
sws_ctx = sws_getContext(c->width, c->height, AV_PIX_FMT_YUV420P,
c->width, c->height, c->pix_fmt,
sws_flags, NULL, NULL, NULL);
if (!sws_ctx) {
fprintf(stderr,
"Could not initialize the conversion context\n");
exit(1);
}
/* check if we want to generate more frames */
if (av_compare_ts(ost->next_pts, ost->st->codec->time_base,
STREAM_DURATION, (AVRational){ 1, 1 }) >= 0)
return NULL;
if (c->pix_fmt != AV_PIX_FMT_YUV420P) {
/* as we only generate a YUV420P picture, we must convert it
* to the codec pixel format if needed */
if (!ost->sws_ctx) {
ost->sws_ctx = sws_getContext(c->width, c->height,
AV_PIX_FMT_YUV420P,
c->width, c->height,
c->pix_fmt,
SCALE_FLAGS, NULL, NULL, NULL);
if (!ost->sws_ctx) {
fprintf(stderr,
"Could not initialize the conversion context\n");
exit(1);
}
fill_yuv_image(&src_picture, frame_count, c->width, c->height);
sws_scale(sws_ctx,
(const uint8_t * const *)src_picture.data, src_picture.linesize,
0, c->height, dst_picture.data, dst_picture.linesize);
} else {
fill_yuv_image(&dst_picture, frame_count, c->width, c->height);
}
fill_yuv_image(ost->tmp_frame, ost->next_pts, c->width, c->height);
sws_scale(ost->sws_ctx,
(const uint8_t * const *)ost->tmp_frame->data, ost->tmp_frame->linesize,
0, c->height, ost->frame->data, ost->frame->linesize);
} else {
fill_yuv_image(ost->frame, ost->next_pts, c->width, c->height);
}
if (oc->oformat->flags & AVFMT_RAWPICTURE && !flush) {
/* Raw video case - directly store the picture in the packet */
ost->frame->pts = ost->next_pts++;
return ost->frame;
}
/*
* encode one video frame and send it to the muxer
* return 1 when encoding is finished, 0 otherwise
*/
static int write_video_frame(AVFormatContext *oc, OutputStream *ost)
{
int ret;
AVCodecContext *c;
AVFrame *frame;
int got_packet = 0;
c = ost->st->codec;
frame = get_video_frame(ost);
if (oc->oformat->flags & AVFMT_RAWPICTURE) {
/* a hack to avoid data copy with some raw video muxers */
AVPacket pkt;
av_init_packet(&pkt);
if (!frame)
return 1;
pkt.flags |= AV_PKT_FLAG_KEY;
pkt.stream_index = st->index;
pkt.data = dst_picture.data[0];
pkt.stream_index = ost->st->index;
pkt.data = (uint8_t *)frame;
pkt.size = sizeof(AVPicture);
pkt.pts = pkt.dts = frame->pts;
av_packet_rescale_ts(&pkt, c->time_base, ost->st->time_base);
ret = av_interleaved_write_frame(oc, &pkt);
} else {
AVPacket pkt = { 0 };
int got_packet;
av_init_packet(&pkt);
/* encode the image */
frame->pts = frame_count;
ret = avcodec_encode_video2(c, &pkt, flush ? NULL : frame, &got_packet);
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_packet) {
ret = write_frame(oc, &c->time_base, st, &pkt);
ret = write_frame(oc, &c->time_base, ost->st, &pkt);
} else {
if (flush)
video_is_eof = 1;
ret = 0;
}
}
@@ -475,15 +537,17 @@ static void write_video_frame(AVFormatContext *oc, AVStream *st, int flush)
fprintf(stderr, "Error while writing video frame: %s\n", av_err2str(ret));
exit(1);
}
frame_count++;
return (frame || got_packet) ? 0 : 1;
}
static void close_video(AVFormatContext *oc, AVStream *st)
static void close_stream(AVFormatContext *oc, OutputStream *ost)
{
avcodec_close(st->codec);
av_free(src_picture.data[0]);
av_free(dst_picture.data[0]);
av_frame_free(&frame);
avcodec_close(ost->st->codec);
av_frame_free(&ost->frame);
av_frame_free(&ost->tmp_frame);
sws_freeContext(ost->sws_ctx);
swr_free(&ost->swr_ctx);
}
/**************************************************************/
@@ -491,18 +555,20 @@ static void close_video(AVFormatContext *oc, AVStream *st)
int main(int argc, char **argv)
{
OutputStream video_st = { 0 }, audio_st = { 0 };
const char *filename;
AVOutputFormat *fmt;
AVFormatContext *oc;
AVStream *audio_st, *video_st;
AVCodec *audio_codec, *video_codec;
double audio_time, video_time;
int flush, ret;
int ret;
int have_video = 0, have_audio = 0;
int encode_video = 0, encode_audio = 0;
AVDictionary *opt = NULL;
/* Initialize libavcodec, and register all codecs and formats. */
av_register_all();
if (argc != 2) {
if (argc < 2) {
printf("usage: %s output_file\n"
"API example program to output a media file with libavformat.\n"
"This program generates a synthetic audio and video stream, encodes and\n"
@@ -514,6 +580,9 @@ int main(int argc, char **argv)
}
filename = argv[1];
if (argc > 3 && !strcmp(argv[2], "-flags")) {
av_dict_set(&opt, argv[2]+1, argv[3], 0);
}
/* allocate the output media context */
avformat_alloc_output_context2(&oc, NULL, NULL, filename);
@@ -528,20 +597,24 @@ int main(int argc, char **argv)
/* Add the audio and video streams using the default format codecs
* and initialize the codecs. */
video_st = NULL;
audio_st = NULL;
if (fmt->video_codec != AV_CODEC_ID_NONE)
video_st = add_stream(oc, &video_codec, fmt->video_codec);
if (fmt->audio_codec != AV_CODEC_ID_NONE)
audio_st = add_stream(oc, &audio_codec, fmt->audio_codec);
if (fmt->video_codec != AV_CODEC_ID_NONE) {
add_stream(&video_st, oc, &video_codec, fmt->video_codec);
have_video = 1;
encode_video = 1;
}
if (fmt->audio_codec != AV_CODEC_ID_NONE) {
add_stream(&audio_st, oc, &audio_codec, fmt->audio_codec);
have_audio = 1;
encode_audio = 1;
}
/* Now that all the parameters are set, we can open the audio and
* video codecs and allocate the necessary encode buffers. */
if (video_st)
open_video(oc, video_codec, video_st);
if (audio_st)
open_audio(oc, audio_codec, audio_st);
if (have_video)
open_video(oc, video_codec, &video_st, opt);
if (have_audio)
open_audio(oc, audio_codec, &audio_st, opt);
av_dump_format(oc, 0, filename, 1);
@@ -556,30 +629,21 @@ int main(int argc, char **argv)
}
/* Write the stream header, if any. */
ret = avformat_write_header(oc, NULL);
ret = avformat_write_header(oc, &opt);
if (ret < 0) {
fprintf(stderr, "Error occurred when opening output file: %s\n",
av_err2str(ret));
return 1;
}
flush = 0;
while ((video_st && !video_is_eof) || (audio_st && !audio_is_eof)) {
/* Compute current audio and video time. */
audio_time = (audio_st && !audio_is_eof) ? audio_st->pts.val * av_q2d(audio_st->time_base) : INFINITY;
video_time = (video_st && !video_is_eof) ? video_st->pts.val * av_q2d(video_st->time_base) : INFINITY;
if (!flush &&
(!audio_st || audio_time >= STREAM_DURATION) &&
(!video_st || video_time >= STREAM_DURATION)) {
flush = 1;
}
/* write interleaved audio and video frames */
if (audio_st && !audio_is_eof && audio_time <= video_time) {
write_audio_frame(oc, audio_st, flush);
} else if (video_st && !video_is_eof && video_time < audio_time) {
write_video_frame(oc, video_st, flush);
while (encode_video || encode_audio) {
/* select the stream to encode */
if (encode_video &&
(!encode_audio || av_compare_ts(video_st.next_pts, video_st.st->codec->time_base,
audio_st.next_pts, audio_st.st->codec->time_base) <= 0)) {
encode_video = !write_video_frame(oc, &video_st);
} else {
encode_audio = !write_audio_frame(oc, &audio_st);
}
}
@@ -590,10 +654,10 @@ int main(int argc, char **argv)
av_write_trailer(oc);
/* Close each codec. */
if (video_st)
close_video(oc, video_st);
if (audio_st)
close_audio(oc, audio_st);
if (have_video)
close_stream(oc, &video_st);
if (have_audio)
close_stream(oc, &audio_st);
if (!(fmt->flags & AVFMT_NOFILE))
/* Close the output file. */

View File

@@ -99,6 +99,7 @@ int main(int argc, char **argv)
fprintf(stderr, "Failed to copy context from input to output stream codec context\n");
goto end;
}
out_stream->codec->codec_tag = 0;
if (ofmt_ctx->oformat->flags & AVFMT_GLOBALHEADER)
out_stream->codec->flags |= CODEC_FLAG_GLOBAL_HEADER;
}

View File

@@ -168,7 +168,7 @@ int main(int argc, char **argv)
dst_nb_samples = av_rescale_rnd(swr_get_delay(swr_ctx, src_rate) +
src_nb_samples, dst_rate, src_rate, AV_ROUND_UP);
if (dst_nb_samples > max_dst_nb_samples) {
av_free(dst_data[0]);
av_freep(&dst_data[0]);
ret = av_samples_alloc(dst_data, &dst_linesize, dst_nb_channels,
dst_nb_samples, dst_sample_fmt, 1);
if (ret < 0)
@@ -199,8 +199,7 @@ int main(int argc, char **argv)
fmt, dst_ch_layout, dst_nb_channels, dst_rate, dst_filename);
end:
if (dst_file)
fclose(dst_file);
fclose(dst_file);
if (src_data)
av_freep(&src_data[0]);

View File

@@ -132,8 +132,7 @@ int main(int argc, char **argv)
av_get_pix_fmt_name(dst_pix_fmt), dst_w, dst_h, dst_filename);
end:
if (dst_file)
fclose(dst_file);
fclose(dst_file);
av_freep(&src_data[0]);
av_freep(&dst_data[0]);
sws_freeContext(sws_ctx);

View File

@@ -52,7 +52,7 @@
* @param error Error code to be converted
* @return Corresponding error text (not thread-safe)
*/
static char *const get_error_text(const int error)
static const char *get_error_text(const int error)
{
static char error_buffer[255];
av_strerror(error, error_buffer, sizeof(error_buffer));
@@ -306,7 +306,7 @@ static int decode_audio_frame(AVFrame *frame,
/** Read one audio frame from the input file into a temporary packet. */
if ((error = av_read_frame(input_format_context, &input_packet)) < 0) {
/** If we are the the end of the file, flush the decoder below. */
/** If we are at the end of the file, flush the decoder below. */
if (error == AVERROR_EOF)
*finished = 1;
else {

583
doc/examples/transcoding.c Normal file
View File

@@ -0,0 +1,583 @@
/*
* Copyright (c) 2010 Nicolas George
* Copyright (c) 2011 Stefano Sabatini
* Copyright (c) 2014 Andrey Utkin
*
* 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.
*/
/**
* @file
* API example for demuxing, decoding, filtering, encoding and muxing
* @example transcoding.c
*/
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include <libavfilter/avfiltergraph.h>
#include <libavfilter/avcodec.h>
#include <libavfilter/buffersink.h>
#include <libavfilter/buffersrc.h>
#include <libavutil/opt.h>
#include <libavutil/pixdesc.h>
static AVFormatContext *ifmt_ctx;
static AVFormatContext *ofmt_ctx;
typedef struct FilteringContext {
AVFilterContext *buffersink_ctx;
AVFilterContext *buffersrc_ctx;
AVFilterGraph *filter_graph;
} FilteringContext;
static FilteringContext *filter_ctx;
static int open_input_file(const char *filename)
{
int ret;
unsigned int i;
ifmt_ctx = NULL;
if ((ret = avformat_open_input(&ifmt_ctx, filename, NULL, NULL)) < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot open input file\n");
return ret;
}
if ((ret = avformat_find_stream_info(ifmt_ctx, NULL)) < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot find stream information\n");
return ret;
}
for (i = 0; i < ifmt_ctx->nb_streams; i++) {
AVStream *stream;
AVCodecContext *codec_ctx;
stream = ifmt_ctx->streams[i];
codec_ctx = stream->codec;
/* Reencode video & audio and remux subtitles etc. */
if (codec_ctx->codec_type == AVMEDIA_TYPE_VIDEO
|| codec_ctx->codec_type == AVMEDIA_TYPE_AUDIO) {
/* Open decoder */
ret = avcodec_open2(codec_ctx,
avcodec_find_decoder(codec_ctx->codec_id), NULL);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Failed to open decoder for stream #%u\n", i);
return ret;
}
}
}
av_dump_format(ifmt_ctx, 0, filename, 0);
return 0;
}
static int open_output_file(const char *filename)
{
AVStream *out_stream;
AVStream *in_stream;
AVCodecContext *dec_ctx, *enc_ctx;
AVCodec *encoder;
int ret;
unsigned int i;
ofmt_ctx = NULL;
avformat_alloc_output_context2(&ofmt_ctx, NULL, NULL, filename);
if (!ofmt_ctx) {
av_log(NULL, AV_LOG_ERROR, "Could not create output context\n");
return AVERROR_UNKNOWN;
}
for (i = 0; i < ifmt_ctx->nb_streams; i++) {
out_stream = avformat_new_stream(ofmt_ctx, NULL);
if (!out_stream) {
av_log(NULL, AV_LOG_ERROR, "Failed allocating output stream\n");
return AVERROR_UNKNOWN;
}
in_stream = ifmt_ctx->streams[i];
dec_ctx = in_stream->codec;
enc_ctx = out_stream->codec;
if (dec_ctx->codec_type == AVMEDIA_TYPE_VIDEO
|| dec_ctx->codec_type == AVMEDIA_TYPE_AUDIO) {
/* in this example, we choose transcoding to same codec */
encoder = avcodec_find_encoder(dec_ctx->codec_id);
if (!encoder) {
av_log(NULL, AV_LOG_FATAL, "Neccessary encoder not found\n");
return AVERROR_INVALIDDATA;
}
/* In this example, we transcode to same properties (picture size,
* sample rate etc.). These properties can be changed for output
* streams easily using filters */
if (dec_ctx->codec_type == AVMEDIA_TYPE_VIDEO) {
enc_ctx->height = dec_ctx->height;
enc_ctx->width = dec_ctx->width;
enc_ctx->sample_aspect_ratio = dec_ctx->sample_aspect_ratio;
/* take first format from list of supported formats */
enc_ctx->pix_fmt = encoder->pix_fmts[0];
/* video time_base can be set to whatever is handy and supported by encoder */
enc_ctx->time_base = dec_ctx->time_base;
} else {
enc_ctx->sample_rate = dec_ctx->sample_rate;
enc_ctx->channel_layout = dec_ctx->channel_layout;
enc_ctx->channels = av_get_channel_layout_nb_channels(enc_ctx->channel_layout);
/* take first format from list of supported formats */
enc_ctx->sample_fmt = encoder->sample_fmts[0];
enc_ctx->time_base = (AVRational){1, enc_ctx->sample_rate};
}
/* Third parameter can be used to pass settings to encoder */
ret = avcodec_open2(enc_ctx, encoder, NULL);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot open video encoder for stream #%u\n", i);
return ret;
}
} else if (dec_ctx->codec_type == AVMEDIA_TYPE_UNKNOWN) {
av_log(NULL, AV_LOG_FATAL, "Elementary stream #%d is of unknown type, cannot proceed\n", i);
return AVERROR_INVALIDDATA;
} else {
/* if this stream must be remuxed */
ret = avcodec_copy_context(ofmt_ctx->streams[i]->codec,
ifmt_ctx->streams[i]->codec);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Copying stream context failed\n");
return ret;
}
}
if (ofmt_ctx->oformat->flags & AVFMT_GLOBALHEADER)
enc_ctx->flags |= CODEC_FLAG_GLOBAL_HEADER;
}
av_dump_format(ofmt_ctx, 0, filename, 1);
if (!(ofmt_ctx->oformat->flags & AVFMT_NOFILE)) {
ret = avio_open(&ofmt_ctx->pb, filename, AVIO_FLAG_WRITE);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Could not open output file '%s'", filename);
return ret;
}
}
/* init muxer, write output file header */
ret = avformat_write_header(ofmt_ctx, NULL);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Error occurred when opening output file\n");
return ret;
}
return 0;
}
static int init_filter(FilteringContext* fctx, AVCodecContext *dec_ctx,
AVCodecContext *enc_ctx, const char *filter_spec)
{
char args[512];
int ret = 0;
AVFilter *buffersrc = NULL;
AVFilter *buffersink = NULL;
AVFilterContext *buffersrc_ctx = NULL;
AVFilterContext *buffersink_ctx = NULL;
AVFilterInOut *outputs = avfilter_inout_alloc();
AVFilterInOut *inputs = avfilter_inout_alloc();
AVFilterGraph *filter_graph = avfilter_graph_alloc();
if (!outputs || !inputs || !filter_graph) {
ret = AVERROR(ENOMEM);
goto end;
}
if (dec_ctx->codec_type == AVMEDIA_TYPE_VIDEO) {
buffersrc = avfilter_get_by_name("buffer");
buffersink = avfilter_get_by_name("buffersink");
if (!buffersrc || !buffersink) {
av_log(NULL, AV_LOG_ERROR, "filtering source or sink element not found\n");
ret = AVERROR_UNKNOWN;
goto end;
}
snprintf(args, sizeof(args),
"video_size=%dx%d:pix_fmt=%d:time_base=%d/%d:pixel_aspect=%d/%d",
dec_ctx->width, dec_ctx->height, dec_ctx->pix_fmt,
dec_ctx->time_base.num, dec_ctx->time_base.den,
dec_ctx->sample_aspect_ratio.num,
dec_ctx->sample_aspect_ratio.den);
ret = avfilter_graph_create_filter(&buffersrc_ctx, buffersrc, "in",
args, NULL, filter_graph);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot create buffer source\n");
goto end;
}
ret = avfilter_graph_create_filter(&buffersink_ctx, buffersink, "out",
NULL, NULL, filter_graph);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot create buffer sink\n");
goto end;
}
ret = av_opt_set_bin(buffersink_ctx, "pix_fmts",
(uint8_t*)&enc_ctx->pix_fmt, sizeof(enc_ctx->pix_fmt),
AV_OPT_SEARCH_CHILDREN);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot set output pixel format\n");
goto end;
}
} else if (dec_ctx->codec_type == AVMEDIA_TYPE_AUDIO) {
buffersrc = avfilter_get_by_name("abuffer");
buffersink = avfilter_get_by_name("abuffersink");
if (!buffersrc || !buffersink) {
av_log(NULL, AV_LOG_ERROR, "filtering source or sink element not found\n");
ret = AVERROR_UNKNOWN;
goto end;
}
if (!dec_ctx->channel_layout)
dec_ctx->channel_layout =
av_get_default_channel_layout(dec_ctx->channels);
snprintf(args, sizeof(args),
"time_base=%d/%d:sample_rate=%d:sample_fmt=%s:channel_layout=0x%"PRIx64,
dec_ctx->time_base.num, dec_ctx->time_base.den, dec_ctx->sample_rate,
av_get_sample_fmt_name(dec_ctx->sample_fmt),
dec_ctx->channel_layout);
ret = avfilter_graph_create_filter(&buffersrc_ctx, buffersrc, "in",
args, NULL, filter_graph);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot create audio buffer source\n");
goto end;
}
ret = avfilter_graph_create_filter(&buffersink_ctx, buffersink, "out",
NULL, NULL, filter_graph);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot create audio buffer sink\n");
goto end;
}
ret = av_opt_set_bin(buffersink_ctx, "sample_fmts",
(uint8_t*)&enc_ctx->sample_fmt, sizeof(enc_ctx->sample_fmt),
AV_OPT_SEARCH_CHILDREN);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot set output sample format\n");
goto end;
}
ret = av_opt_set_bin(buffersink_ctx, "channel_layouts",
(uint8_t*)&enc_ctx->channel_layout,
sizeof(enc_ctx->channel_layout), AV_OPT_SEARCH_CHILDREN);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot set output channel layout\n");
goto end;
}
ret = av_opt_set_bin(buffersink_ctx, "sample_rates",
(uint8_t*)&enc_ctx->sample_rate, sizeof(enc_ctx->sample_rate),
AV_OPT_SEARCH_CHILDREN);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot set output sample rate\n");
goto end;
}
} else {
ret = AVERROR_UNKNOWN;
goto end;
}
/* Endpoints for the filter graph. */
outputs->name = av_strdup("in");
outputs->filter_ctx = buffersrc_ctx;
outputs->pad_idx = 0;
outputs->next = NULL;
inputs->name = av_strdup("out");
inputs->filter_ctx = buffersink_ctx;
inputs->pad_idx = 0;
inputs->next = NULL;
if (!outputs->name || !inputs->name) {
ret = AVERROR(ENOMEM);
goto end;
}
if ((ret = avfilter_graph_parse_ptr(filter_graph, filter_spec,
&inputs, &outputs, NULL)) < 0)
goto end;
if ((ret = avfilter_graph_config(filter_graph, NULL)) < 0)
goto end;
/* Fill FilteringContext */
fctx->buffersrc_ctx = buffersrc_ctx;
fctx->buffersink_ctx = buffersink_ctx;
fctx->filter_graph = filter_graph;
end:
avfilter_inout_free(&inputs);
avfilter_inout_free(&outputs);
return ret;
}
static int init_filters(void)
{
const char *filter_spec;
unsigned int i;
int ret;
filter_ctx = av_malloc_array(ifmt_ctx->nb_streams, sizeof(*filter_ctx));
if (!filter_ctx)
return AVERROR(ENOMEM);
for (i = 0; i < ifmt_ctx->nb_streams; i++) {
filter_ctx[i].buffersrc_ctx = NULL;
filter_ctx[i].buffersink_ctx = NULL;
filter_ctx[i].filter_graph = NULL;
if (!(ifmt_ctx->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO
|| ifmt_ctx->streams[i]->codec->codec_type == AVMEDIA_TYPE_VIDEO))
continue;
if (ifmt_ctx->streams[i]->codec->codec_type == AVMEDIA_TYPE_VIDEO)
filter_spec = "null"; /* passthrough (dummy) filter for video */
else
filter_spec = "anull"; /* passthrough (dummy) filter for audio */
ret = init_filter(&filter_ctx[i], ifmt_ctx->streams[i]->codec,
ofmt_ctx->streams[i]->codec, filter_spec);
if (ret)
return ret;
}
return 0;
}
static int encode_write_frame(AVFrame *filt_frame, unsigned int stream_index, int *got_frame) {
int ret;
int got_frame_local;
AVPacket enc_pkt;
int (*enc_func)(AVCodecContext *, AVPacket *, const AVFrame *, int *) =
(ifmt_ctx->streams[stream_index]->codec->codec_type ==
AVMEDIA_TYPE_VIDEO) ? avcodec_encode_video2 : avcodec_encode_audio2;
if (!got_frame)
got_frame = &got_frame_local;
av_log(NULL, AV_LOG_INFO, "Encoding frame\n");
/* encode filtered frame */
enc_pkt.data = NULL;
enc_pkt.size = 0;
av_init_packet(&enc_pkt);
ret = enc_func(ofmt_ctx->streams[stream_index]->codec, &enc_pkt,
filt_frame, got_frame);
av_frame_free(&filt_frame);
if (ret < 0)
return ret;
if (!(*got_frame))
return 0;
/* prepare packet for muxing */
enc_pkt.stream_index = stream_index;
av_packet_rescale_ts(&enc_pkt,
ofmt_ctx->streams[stream_index]->codec->time_base,
ofmt_ctx->streams[stream_index]->time_base);
av_log(NULL, AV_LOG_DEBUG, "Muxing frame\n");
/* mux encoded frame */
ret = av_interleaved_write_frame(ofmt_ctx, &enc_pkt);
return ret;
}
static int filter_encode_write_frame(AVFrame *frame, unsigned int stream_index)
{
int ret;
AVFrame *filt_frame;
av_log(NULL, AV_LOG_INFO, "Pushing decoded frame to filters\n");
/* push the decoded frame into the filtergraph */
ret = av_buffersrc_add_frame_flags(filter_ctx[stream_index].buffersrc_ctx,
frame, 0);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Error while feeding the filtergraph\n");
return ret;
}
/* pull filtered frames from the filtergraph */
while (1) {
filt_frame = av_frame_alloc();
if (!filt_frame) {
ret = AVERROR(ENOMEM);
break;
}
av_log(NULL, AV_LOG_INFO, "Pulling filtered frame from filters\n");
ret = av_buffersink_get_frame(filter_ctx[stream_index].buffersink_ctx,
filt_frame);
if (ret < 0) {
/* if no more frames for output - returns AVERROR(EAGAIN)
* if flushed and no more frames for output - returns AVERROR_EOF
* rewrite retcode to 0 to show it as normal procedure completion
*/
if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF)
ret = 0;
av_frame_free(&filt_frame);
break;
}
filt_frame->pict_type = AV_PICTURE_TYPE_NONE;
ret = encode_write_frame(filt_frame, stream_index, NULL);
if (ret < 0)
break;
}
return ret;
}
static int flush_encoder(unsigned int stream_index)
{
int ret;
int got_frame;
if (!(ofmt_ctx->streams[stream_index]->codec->codec->capabilities &
CODEC_CAP_DELAY))
return 0;
while (1) {
av_log(NULL, AV_LOG_INFO, "Flushing stream #%u encoder\n", stream_index);
ret = encode_write_frame(NULL, stream_index, &got_frame);
if (ret < 0)
break;
if (!got_frame)
return 0;
}
return ret;
}
int main(int argc, char **argv)
{
int ret;
AVPacket packet = { .data = NULL, .size = 0 };
AVFrame *frame = NULL;
enum AVMediaType type;
unsigned int stream_index;
unsigned int i;
int got_frame;
int (*dec_func)(AVCodecContext *, AVFrame *, int *, const AVPacket *);
if (argc != 3) {
av_log(NULL, AV_LOG_ERROR, "Usage: %s <input file> <output file>\n", argv[0]);
return 1;
}
av_register_all();
avfilter_register_all();
if ((ret = open_input_file(argv[1])) < 0)
goto end;
if ((ret = open_output_file(argv[2])) < 0)
goto end;
if ((ret = init_filters()) < 0)
goto end;
/* read all packets */
while (1) {
if ((ret = av_read_frame(ifmt_ctx, &packet)) < 0)
break;
stream_index = packet.stream_index;
type = ifmt_ctx->streams[packet.stream_index]->codec->codec_type;
av_log(NULL, AV_LOG_DEBUG, "Demuxer gave frame of stream_index %u\n",
stream_index);
if (filter_ctx[stream_index].filter_graph) {
av_log(NULL, AV_LOG_DEBUG, "Going to reencode&filter the frame\n");
frame = av_frame_alloc();
if (!frame) {
ret = AVERROR(ENOMEM);
break;
}
av_packet_rescale_ts(&packet,
ifmt_ctx->streams[stream_index]->time_base,
ifmt_ctx->streams[stream_index]->codec->time_base);
dec_func = (type == AVMEDIA_TYPE_VIDEO) ? avcodec_decode_video2 :
avcodec_decode_audio4;
ret = dec_func(ifmt_ctx->streams[stream_index]->codec, frame,
&got_frame, &packet);
if (ret < 0) {
av_frame_free(&frame);
av_log(NULL, AV_LOG_ERROR, "Decoding failed\n");
break;
}
if (got_frame) {
frame->pts = av_frame_get_best_effort_timestamp(frame);
ret = filter_encode_write_frame(frame, stream_index);
av_frame_free(&frame);
if (ret < 0)
goto end;
} else {
av_frame_free(&frame);
}
} else {
/* remux this frame without reencoding */
av_packet_rescale_ts(&packet,
ifmt_ctx->streams[stream_index]->time_base,
ofmt_ctx->streams[stream_index]->time_base);
ret = av_interleaved_write_frame(ofmt_ctx, &packet);
if (ret < 0)
goto end;
}
av_free_packet(&packet);
}
/* flush filters and encoders */
for (i = 0; i < ifmt_ctx->nb_streams; i++) {
/* flush filter */
if (!filter_ctx[i].filter_graph)
continue;
ret = filter_encode_write_frame(NULL, i);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Flushing filter failed\n");
goto end;
}
/* flush encoder */
ret = flush_encoder(i);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Flushing encoder failed\n");
goto end;
}
}
av_write_trailer(ofmt_ctx);
end:
av_free_packet(&packet);
av_frame_free(&frame);
for (i = 0; i < ifmt_ctx->nb_streams; i++) {
avcodec_close(ifmt_ctx->streams[i]->codec);
if (ofmt_ctx && ofmt_ctx->nb_streams > i && ofmt_ctx->streams[i] && ofmt_ctx->streams[i]->codec)
avcodec_close(ofmt_ctx->streams[i]->codec);
if (filter_ctx && filter_ctx[i].filter_graph)
avfilter_graph_free(&filter_ctx[i].filter_graph);
}
av_free(filter_ctx);
avformat_close_input(&ifmt_ctx);
if (ofmt_ctx && !(ofmt_ctx->oformat->flags & AVFMT_NOFILE))
avio_close(ofmt_ctx->pb);
avformat_free_context(ofmt_ctx);
if (ret < 0)
av_log(NULL, AV_LOG_ERROR, "Error occurred: %s\n", av_err2str(ret));
return ret ? 1 : 0;
}

View File

@@ -392,7 +392,7 @@ VOB and a few other formats do not have a global header that describes
everything present in the file. Instead, applications are supposed to scan
the file to see what it contains. Since VOB files are frequently large, only
the beginning is scanned. If the subtitles happen only later in the file,
they will not be initally detected.
they will not be initially detected.
Some applications, including the @code{ffmpeg} command-line tool, can only
work with streams that were detected during the initial scan; streams that

View File

@@ -90,7 +90,8 @@ the following diagram:
| |
| decoded |
| frames |
________ ______________ |_________|
|_________|
________ ______________ |
| | | | |
| output | <-------- | encoded data | <----+
| file | muxer | packets | encoder
@@ -123,11 +124,16 @@ the same type. In the above diagram they can be represented by simply inserting
an additional step between decoding and encoding:
@example
_________ __________ ______________
| | simple | | | |
| decoded | fltrgrph | filtered | encoder | encoded data |
| frames | ----------> | frames | ---------> | packets |
|_________| |__________| |______________|
_________ ______________
| | | |
| decoded | | encoded data |
| frames |\ _ | packets |
|_________| \ /||______________|
\ __________ /
simple _\|| | / encoder
filtergraph | filtered |/
| frames |
|__________|
@end example
@@ -266,8 +272,13 @@ ffmpeg -i INPUT -map 0 -c copy -c:v:1 libx264 -c:a:137 libvorbis OUTPUT
will copy all the streams except the second video, which will be encoded with
libx264, and the 138th audio, which will be encoded with libvorbis.
@item -t @var{duration} (@emph{output})
Stop writing the output after its duration reaches @var{duration}.
@item -t @var{duration} (@emph{input/output})
When used as an input option (before @code{-i}), limit the @var{duration} of
data read from the input file.
When used as an output option (before an output filename), 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.
@@ -328,7 +339,7 @@ ffmpeg -i in.avi -metadata title="my title" out.flv
To set the language of the first audio stream:
@example
ffmpeg -i INPUT -metadata:s:a:1 language=eng OUTPUT
ffmpeg -i INPUT -metadata:s:a:0 language=eng OUTPUT
@end example
@item -target @var{type} (@emph{output})
@@ -349,7 +360,7 @@ ffmpeg -i myfile.avi -target vcd -bf 2 /tmp/vcd.mpg
@end example
@item -dframes @var{number} (@emph{output})
Set the number of data frames to record. This is an alias for @code{-frames:d}.
Set the number of data frames to output. This is an alias for @code{-frames:d}.
@item -frames[:@var{stream_specifier}] @var{framecount} (@emph{output,per-stream})
Stop writing to the stream after @var{framecount} frames.
@@ -456,12 +467,15 @@ attachments.
@table @option
@item -vframes @var{number} (@emph{output})
Set the number of video frames to record. This is an alias for @code{-frames:v}.
Set the number of video frames to output. This is an alias for @code{-frames:v}.
@item -r[:@var{stream_specifier}] @var{fps} (@emph{input/output,per-stream})
Set frame rate (Hz value, fraction or abbreviation).
As an input option, ignore any timestamps stored in the file and instead
generate timestamps assuming constant frame rate @var{fps}.
This is not the same as the @option{-framerate} option used for some input formats
like image2 or v4l2 (it used to be the same in older versions of FFmpeg).
If in doubt use @option{-framerate} instead of the input option @option{-r}.
As an output option, duplicate or drop input frames to achieve constant output
frame rate @var{fps}.
@@ -523,7 +537,7 @@ filter the stream.
This is an alias for @code{-filter:v}, see the @ref{filter_option,,-filter option}.
@end table
@section Advanced Video Options
@section Advanced Video options
@table @option
@item -pix_fmt[:@var{stream_specifier}] @var{format} (@emph{input/output,per-stream})
@@ -637,8 +651,14 @@ Do not use any hardware acceleration (the default).
@item auto
Automatically select the hardware acceleration method.
@item vda
Use Apple VDA hardware acceleration.
@item vdpau
Use VDPAU (Video Decode and Presentation API for Unix) hardware acceleration.
@item dxva2
Use DXVA2 (DirectX Video Acceleration) hardware acceleration.
@end table
This option has no effect if the selected hwaccel is not available or not
@@ -661,6 +681,10 @@ method chosen.
@item vdpau
For VDPAU, this option specifies the X11 display/screen to use. If this option
is not specified, the value of the @var{DISPLAY} environment variable is used
@item dxva2
For DXVA2, this option should contain the number of the display adapter to use.
If this option is not specified, the default adapter is used.
@end table
@end table
@@ -668,7 +692,7 @@ is not specified, the value of the @var{DISPLAY} environment variable is used
@table @option
@item -aframes @var{number} (@emph{output})
Set the number of audio frames to record. This is an alias for @code{-frames:a}.
Set the number of audio frames to output. This is an alias for @code{-frames:a}.
@item -ar[:@var{stream_specifier}] @var{freq} (@emph{input/output,per-stream})
Set the audio sampling frequency. For output streams it is set by
default to the frequency of the corresponding input stream. For input
@@ -696,7 +720,7 @@ filter the stream.
This is an alias for @code{-filter:a}, see the @ref{filter_option,,-filter option}.
@end table
@section Advanced Audio options:
@section Advanced Audio options
@table @option
@item -atag @var{fourcc/tag} (@emph{output})
@@ -711,7 +735,7 @@ 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:
@section Subtitle options
@table @option
@item -scodec @var{codec} (@emph{input/output})
@@ -722,7 +746,7 @@ Disable subtitle recording.
Deprecated, see -bsf
@end table
@section Advanced Subtitle options:
@section Advanced Subtitle options
@table @option
@@ -800,6 +824,11 @@ To map all the streams except the second audio, use negative mappings
ffmpeg -i INPUT -map 0 -map -0:a:1 OUTPUT
@end example
To pick the English audio stream:
@example
ffmpeg -i INPUT -map 0:m:language:eng OUTPUT
@end example
Note that using this option disables the default mappings for this output file.
@item -map_channel [@var{input_file_id}.@var{stream_specifier}.@var{channel_id}|-1][:@var{output_file_id}.@var{stream_specifier}]
@@ -987,6 +1016,12 @@ 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 -start_at_zero
When used with @option{copyts}, shift input timestamps so they start at zero.
This means that using e.g. @code{-ss 50} will make output timestamps start at
50 seconds, regardless of what timestamp the input file started at.
@item -copytb @var{mode}
Specify how to set the encoder timebase when stream copying. @var{mode} is an
integer numeric value, and can assume one of the following values:
@@ -1125,6 +1160,30 @@ requested by @command{ffserver}.
The option is intended for cases where features are needed that cannot be
specified to @command{ffserver} but can be to @command{ffmpeg}.
@item -discard (@emph{input})
Allows discarding specific streams or frames of streams at the demuxer.
Not all demuxers support this.
@table @option
@item none
Discard no frame.
@item default
Default, which discards no frames.
@item noref
Discard all non-reference frames.
@item bidir
Discard all bidirectional frames.
@item nokey
Discard all frames excepts keyframes.
@item all
Discard all frames.
@end table
@end table
As a special exception, you can use a bitmap subtitle stream as input: it

View File

@@ -37,10 +37,14 @@ Force displayed height.
Set frame size (WxH or abbreviation), needed for videos which do
not contain a header with the frame size like raw YUV. This option
has been deprecated in favor of private options, try -video_size.
@item -fs
Start in fullscreen mode.
@item -an
Disable audio.
@item -vn
Disable video.
@item -sn
Disable subtitles.
@item -ss @var{pos}
Seek to a given position in seconds.
@item -t @var{duration}
@@ -84,6 +88,9 @@ output. In the filtergraph, the input is associated to the label
ffmpeg-filters manual for more information about the filtergraph
syntax.
You can specify this parameter multiple times and cycle through the specified
filtergraphs along with the show modes by pressing the key @key{w}.
@item -af @var{filtergraph}
@var{filtergraph} is a description of the filtergraph to apply to
the input audio.
@@ -106,15 +113,10 @@ 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
Non-spec-compliant optimizations.
@item -genpts
Generate pts.
@item -rtp_tcp
Force RTP/TCP protocol usage instead of RTP/UDP. It is only meaningful
if you are streaming with the RTSP protocol.
@item -sync @var{type}
Set the master clock to audio (@code{type=audio}), video
(@code{type=video}) or external (@code{type=ext}). Default is audio. The
@@ -123,7 +125,8 @@ players use audio as master clock, but in some cases (streaming or high
quality broadcast) it is necessary to change that. This option is mainly
used for debugging purposes.
@item -threads @var{count}
Set the thread count.
Set the thread count. By default, @command{ffplay} automatically detects a
suitable number of threads to use.
@item -ast @var{audio_stream_number}
Select the desired audio stream number, counting from 0. The number
refers to the list of all the input audio streams. If it is greater
@@ -159,6 +162,22 @@ Force a specific video decoder.
@item -scodec @var{codec_name}
Force a specific subtitle decoder.
@item -autorotate
Automatically rotate the video according to presentation metadata. Enabled by
default, use @option{-noautorotate} to disable it.
@item -framedrop
Drop video frames if video is out of sync. Enabled by default if the master
clock is not set to video. Use this option to enable frame dropping for all
master clock sources, use @option{-noframedrop} to disable it.
@item -infbuf
Do not limit the input buffer size, read as much data as possible from the
input as soon as possible. Enabled by default for realtime streams, where data
may be dropped if not read in time. Use this option to enable infinite buffers
for all inputs, use @option{-noinfbuf} to disable it.
@end table
@section While playing
@@ -174,7 +193,7 @@ Toggle full screen.
Pause.
@item a
Cycle audio channel in the curret program.
Cycle audio channel in the current program.
@item v
Cycle video channel.
@@ -186,7 +205,7 @@ Cycle subtitle channel in the current program.
Cycle program.
@item w
Show audio waves.
Cycle video filters or show modes.
@item s
Step to the next frame.

View File

@@ -119,6 +119,10 @@ Show payload data, as a hexadecimal and ASCII dump. Coupled with
The dump is printed as the "data" field. It may contain newlines.
@item -show_data_hash @var{algorithm}
Show a hash of payload data, for packets with @option{-show_packets} and for
codec extradata with @option{-show_streams}.
@item -show_error
Show information about the error found when trying to probe the input.
@@ -180,7 +184,7 @@ format : stream=codec_type
To show all the tags in the stream and format sections:
@example
format_tags : format_tags
stream_tags : format_tags
@end example
To show only the @code{title} tag (if available) in the stream
@@ -317,6 +321,12 @@ Show information related to program and library versions. This is the
equivalent of setting both @option{-show_program_version} and
@option{-show_library_versions} options.
@item -show_pixel_formats
Show information about all pixel formats supported by FFmpeg.
Pixel format information for each format is printed within a section
with name "PIXEL_FORMAT".
@item -bitexact
Force bitexact output, useful to produce output which is not dependent
on the specific build.

View File

@@ -8,15 +8,17 @@
<xsd:complexType name="ffprobeType">
<xsd:sequence>
<xsd:element name="program_version" type="ffprobe:programVersionType" minOccurs="0" maxOccurs="1" />
<xsd:element name="library_versions" type="ffprobe:libraryVersionsType" minOccurs="0" maxOccurs="1" />
<xsd:element name="pixel_formats" type="ffprobe:pixelFormatsType" minOccurs="0" maxOccurs="1" />
<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="packets_and_frames" type="ffprobe:packetsAndFramesType" minOccurs="0" maxOccurs="1" />
<xsd:element name="programs" type="ffprobe:programsType" minOccurs="0" maxOccurs="1" />
<xsd:element name="streams" type="ffprobe:streamsType" 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" />
<xsd:element name="library_versions" type="ffprobe:libraryVersionsType" minOccurs="0" maxOccurs="1" />
</xsd:sequence>
</xsd:complexType>
@@ -35,6 +37,16 @@
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="packetsAndFramesType">
<xsd:sequence>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="packet" type="ffprobe:packetType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="frame" type="ffprobe:frameType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="subtitle" type="ffprobe:subtitleType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="packetType">
<xsd:attribute name="codec_type" type="xsd:string" use="required" />
<xsd:attribute name="stream_index" type="xsd:int" use="required" />
@@ -50,9 +62,15 @@
<xsd:attribute name="pos" type="xsd:long" />
<xsd:attribute name="flags" type="xsd:string" use="required" />
<xsd:attribute name="data" type="xsd:string" />
<xsd:attribute name="data_hash" type="xsd:string" />
</xsd:complexType>
<xsd:complexType name="frameType">
<xsd:sequence>
<xsd:element name="tag" type="ffprobe:tagType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="side_data_list" type="ffprobe:frameSideDataListType" minOccurs="0" maxOccurs="1" />
</xsd:sequence>
<xsd:attribute name="media_type" type="xsd:string" use="required"/>
<xsd:attribute name="key_frame" type="xsd:int" use="required"/>
<xsd:attribute name="pts" type="xsd:long" />
@@ -87,6 +105,16 @@
<xsd:attribute name="repeat_pict" type="xsd:int" />
</xsd:complexType>
<xsd:complexType name="frameSideDataListType">
<xsd:sequence>
<xsd:element name="side_data" type="ffprobe:frameSideDataType" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="frameSideDataType">
<xsd:attribute name="side_data_type" type="xsd:string"/>
<xsd:attribute name="side_data_size" type="xsd:int" />
</xsd:complexType>
<xsd:complexType name="subtitleType">
<xsd:attribute name="media_type" type="xsd:string" fixed="subtitle" use="required"/>
<xsd:attribute name="pts" type="xsd:long" />
@@ -138,6 +166,7 @@
<xsd:attribute name="codec_tag" type="xsd:string" use="required"/>
<xsd:attribute name="codec_tag_string" type="xsd:string" use="required"/>
<xsd:attribute name="extradata" type="xsd:string" />
<xsd:attribute name="extradata_hash" type="xsd:string" />
<!-- video attributes -->
<xsd:attribute name="width" type="xsd:int"/>
@@ -147,6 +176,11 @@
<xsd:attribute name="display_aspect_ratio" type="xsd:string"/>
<xsd:attribute name="pix_fmt" type="xsd:string"/>
<xsd:attribute name="level" type="xsd:int"/>
<xsd:attribute name="color_range" type="xsd:string"/>
<xsd:attribute name="color_space" type="xsd:string"/>
<xsd:attribute name="color_transfer" type="xsd:string"/>
<xsd:attribute name="color_primaries" type="xsd:string"/>
<xsd:attribute name="chroma_location" type="xsd:string"/>
<xsd:attribute name="timecode" type="xsd:string"/>
<!-- audio attributes -->
@@ -165,6 +199,8 @@
<xsd:attribute name="duration_ts" type="xsd:long"/>
<xsd:attribute name="duration" type="xsd:float"/>
<xsd:attribute name="bit_rate" type="xsd:int"/>
<xsd:attribute name="max_bit_rate" type="xsd:int"/>
<xsd:attribute name="bits_per_raw_sample" type="xsd:int"/>
<xsd:attribute name="nb_frames" type="xsd:int"/>
<xsd:attribute name="nb_read_frames" type="xsd:int"/>
<xsd:attribute name="nb_read_packets" type="xsd:int"/>
@@ -219,8 +255,7 @@
<xsd:attribute name="copyright" type="xsd:string" use="required"/>
<xsd:attribute name="build_date" type="xsd:string" use="required"/>
<xsd:attribute name="build_time" type="xsd:string" use="required"/>
<xsd:attribute name="compiler_type" type="xsd:string" use="required"/>
<xsd:attribute name="compiler_version" type="xsd:string" use="required"/>
<xsd:attribute name="compiler_ident" type="xsd:string" use="required"/>
<xsd:attribute name="configuration" type="xsd:string" use="required"/>
</xsd:complexType>
@@ -257,4 +292,45 @@
<xsd:element name="library_version" type="ffprobe:libraryVersionType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="pixelFormatFlagsType">
<xsd:attribute name="big_endian" type="xsd:int" use="required"/>
<xsd:attribute name="palette" type="xsd:int" use="required"/>
<xsd:attribute name="bitstream" type="xsd:int" use="required"/>
<xsd:attribute name="hwaccel" type="xsd:int" use="required"/>
<xsd:attribute name="planar" type="xsd:int" use="required"/>
<xsd:attribute name="rgb" type="xsd:int" use="required"/>
<xsd:attribute name="pseudopal" type="xsd:int" use="required"/>
<xsd:attribute name="alpha" type="xsd:int" use="required"/>
</xsd:complexType>
<xsd:complexType name="pixelFormatComponentType">
<xsd:attribute name="index" type="xsd:int" use="required"/>
<xsd:attribute name="bit_depth" type="xsd:int" use="required"/>
</xsd:complexType>
<xsd:complexType name="pixelFormatComponentsType">
<xsd:sequence>
<xsd:element name="component" type="ffprobe:pixelFormatComponentType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="pixelFormatType">
<xsd:sequence>
<xsd:element name="flags" type="ffprobe:pixelFormatFlagsType" minOccurs="0" maxOccurs="1"/>
<xsd:element name="components" type="ffprobe:pixelFormatComponentsType" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="nb_components" type="xsd:int" use="required"/>
<xsd:attribute name="log2_chroma_w" type="xsd:int"/>
<xsd:attribute name="log2_chroma_h" type="xsd:int"/>
<xsd:attribute name="bits_per_pixel" type="xsd:int"/>
</xsd:complexType>
<xsd:complexType name="pixelFormatsType">
<xsd:sequence>
<xsd:element name="pixel_format" type="ffprobe:pixelFormatType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

View File

@@ -1,11 +1,11 @@
# Port on which the server is listening. You must select a different
# port from your standard HTTP web server if it is running on the same
# computer.
Port 8090
HTTPPort 8090
# Address on which the server is bound. Only useful if you have
# several network interfaces.
BindAddress 0.0.0.0
HTTPBindAddress 0.0.0.0
# Number of simultaneous HTTP connections that can be handled. It has
# to be defined *before* the MaxClients parameter, since it defines the

View File

@@ -66,7 +66,7 @@ http://@var{ffserver_ip_address}:@var{http_port}/@var{feed_name}
where @var{ffserver_ip_address} is the IP address of the machine where
@command{ffserver} is installed, @var{http_port} is the port number of
the HTTP server (configured through the @option{Port} option), and
the HTTP server (configured through the @option{HTTPPort} option), and
@var{feed_name} is the name of the corresponding feed defined in the
configuration file.
@@ -101,7 +101,7 @@ http://@var{ffserver_ip_address}:@var{rtsp_port}/@var{stream_name}[@var{options}
the configuration file. @var{options} is a list of options specified
after the URL which affects how the stream is served by
@command{ffserver}. @var{http_port} and @var{rtsp_port} are the HTTP
and RTSP ports configured with the options @var{Port} and
and RTSP ports configured with the options @var{HTTPPort} and
@var{RTSPPort} respectively.
In case the stream is associated to a feed, the encoding parameters
@@ -203,11 +203,9 @@ WARNING: trying to stream test1.mpg doesn't work with WMP as it tries to
transfer the entire file before starting to play.
The same is true of AVI files.
@section What happens next?
You should edit the ffserver.conf file to suit your needs (in terms of
frame rates etc). Then install ffserver and ffmpeg, write a script to start
them up, and off you go.
You should edit the @file{ffserver.conf} file to suit your needs (in
terms of frame rates etc). Then install @command{ffserver} and
@command{ffmpeg}, write a script to start them up, and off you go.
@section What else can it do?
@@ -354,20 +352,29 @@ allow everybody else.
@section Global options
@table @option
@item HTTPPort @var{port_number}
@item Port @var{port_number}
@item RTSPPort @var{port_number}
Set TCP port number on which the HTTP/RTSP server is listening. You
must select a different port from your standard HTTP web server if it
is running on the same computer.
@var{HTTPPort} sets the HTTP server listening TCP port number,
@var{RTSPPort} sets the RTSP server listening TCP port number.
@var{Port} is the equivalent of @var{HTTPPort} and is deprecated.
You must select a different port from your standard HTTP web server if
it is running on the same computer.
If not specified, no corresponding server will be created.
@item HTTPBindAddress @var{ip_address}
@item BindAddress @var{ip_address}
@item RTSPBindAddress @var{ip_address}
Set address on which the HTTP/RTSP server is bound. Only useful if you
have several network interfaces.
@var{BindAddress} is the equivalent of @var{HTTPBindAddress} and is
deprecated.
@item MaxHTTPConnections @var{n}
Set number of simultaneous HTTP connections that can be handled. It
has to be defined @emph{before} the @option{MaxClients} parameter,
@@ -401,6 +408,12 @@ ignored, and the log is written to standard output.
Set no-daemon mode. This option is currently ignored since now
@command{ffserver} will always work in no-daemon mode, and is
deprecated.
@item UseDefaults
@item NoDefaults
Control whether default codec options are used for the all streams or not.
Each stream may overwrite this setting for its own. Default is @var{UseDefaults}.
The lastest occurrence overrides previous if multiple definitions.
@end table
@section Feed section
@@ -564,6 +577,11 @@ deprecated in favor of @option{Metadata}.
@item Metadata @var{key} @var{value}
Set metadata value on the output stream.
@item UseDefaults
@item NoDefaults
Control whether default codec options are used for the stream or not.
Default is @var{UseDefaults} unless disabled globally.
@item NoAudio
@item NoVideo
Suppress audio/video.
@@ -582,8 +600,9 @@ Set sampling frequency for audio. When using low bitrates, you should
lower this frequency to 22050 or 11025. The supported frequencies
depend on the selected audio codec.
@item AVOptionAudio @var{option} @var{value} (@emph{encoding,audio})
Set generic option for audio stream.
@item AVOptionAudio [@var{codec}:]@var{option} @var{value} (@emph{encoding,audio})
Set generic or private option for audio stream.
Private option must be prefixed with codec name or codec must be defined before.
@item AVPresetAudio @var{preset} (@emph{encoding,audio})
Set preset for audio stream.
@@ -660,8 +679,9 @@ Set video @option{qdiff} encoding option.
@item DarkMask @var{float} (@emph{encoding,video})
Set @option{lumi_mask}/@option{dark_mask} encoding options.
@item AVOptionVideo @var{option} @var{value} (@emph{encoding,video})
Set generic option for video stream.
@item AVOptionVideo [@var{codec}:]@var{option} @var{value} (@emph{encoding,video})
Set generic or private option for video stream.
Private option must be prefixed with codec name or codec must be defined before.
@item AVPresetVideo @var{preset} (@emph{encoding,video})
Set preset for video stream.

View File

@@ -3,7 +3,7 @@ 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
interpreted as a unit prefix for binary multiples, 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.
@@ -44,8 +44,15 @@ streams of this type.
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.
@item #@var{stream_id} or i:@var{stream_id}
Match the stream by stream id (e.g. PID in MPEG-TS container).
@item m:@var{key}[:@var{value}]
Matches streams with the metadata tag @var{key} having the specified value. If
@var{value} is not given, matches streams that contain the given tag with any
value.
Note that in @command{ffmpeg}, matching by metadata will only work properly for
input files.
@end table
@section Generic options
@@ -96,7 +103,10 @@ Print detailed information about the filter name @var{filter_name}. Use the
Show version.
@item -formats
Show available formats.
Show available formats (including devices).
@item -devices
Show available devices.
@item -codecs
Show all codecs known to libavcodec.
@@ -131,6 +141,22 @@ Show channel names and standard channel layouts.
@item -colors
Show recognized color names.
@item -sources @var{device}[,@var{opt1}=@var{val1}[,@var{opt2}=@var{val2}]...]
Show autodetected sources of the intput device.
Some devices may provide system-dependent source names that cannot be autodetected.
The returned list cannot be assumed to be always complete.
@example
ffmpeg -sources pulse,server=192.168.0.4
@end example
@item -sinks @var{device}[,@var{opt1}=@var{val1}[,@var{opt2}=@var{val2}]...]
Show autodetected sinks of the output device.
Some devices may provide system-dependent sink names that cannot be autodetected.
The returned list cannot be assumed to be always complete.
@example
ffmpeg -sinks pulse,server=192.168.0.4
@end example
@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
@@ -189,6 +215,8 @@ following option is recognized:
set the file name to use for the report; @code{%p} is expanded to the name
of the program, @code{%t} is expanded to a timestamp, @code{%%} is expanded
to a plain @code{%}
@item level
set the log level
@end table
Errors in parsing the environment variable are not fatal, and will not

File diff suppressed because it is too large Load Diff

View File

@@ -55,6 +55,10 @@ Do not merge side data.
Enable RTP MP4A-LATM payload.
@item nobuffer
Reduce the latency introduced by optional buffering
@item bitexact
Only write platform-, build- and time-independent data.
This ensures that file and data checksums are reproducible and match between
platforms. Its primary use is for regression testing.
@end table
@item seek2any @var{integer} (@emph{input})
@@ -168,6 +172,18 @@ The offset is added by the muxer to the output timestamps.
Specifying a positive offset means that the corresponding streams are
delayed bt the time duration specified in @var{offset}. Default value
is @code{0} (meaning that no offset is applied).
@item format_whitelist @var{list} (@emph{input})
"," separated List of allowed demuxers. By default all are allowed.
@item dump_separator @var{string} (@emph{input})
Separator used to separate the fields printed on the command line about the
Stream parameters.
For example to separate the fields with newlines and indention:
@example
ffprobe -dump_separator "
" -i ~/videos/matrixbench_mpeg2.mpg
@end example
@end table
@c man end FORMAT OPTIONS

View File

@@ -130,7 +130,7 @@ Go to @url{http://x265.org/developers.html} and follow the instructions
for installing the library. Then pass @code{--enable-libx265} to configure
to enable it.
@float note
@float NOTE
x265 is under the GNU 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.
@@ -205,7 +205,7 @@ library:
@item American Laser Games MM @tab @tab X
@tab Multimedia format used in games like Mad Dog McCree.
@item 3GPP AMR @tab X @tab X
@item Amazing Studio Packed Animation File @tab @tab X
@item Amazing Studio Packed Animation File @tab @tab X
@tab Multimedia format used in game Heart Of Darkness.
@item Apple HTTP Live Streaming @tab @tab X
@item Artworx Data Format @tab @tab X
@@ -245,6 +245,7 @@ library:
@tab Multimedia format used by Delphine Software games.
@item CD+G @tab @tab X
@tab Video format used by CD+G karaoke disks
@item Phantom Cine @tab @tab X
@item Commodore CDXL @tab @tab X
@tab Amiga CD video format
@item Core Audio Format @tab X @tab X
@@ -258,6 +259,7 @@ library:
@item Deluxe Paint Animation @tab @tab X
@item DFA @tab @tab X
@tab This format is used in Chronomaster game
@item DSD Stream File (DSF) @tab @tab X
@item DV video @tab X @tab X
@item DXA @tab @tab X
@tab This format is used in the non-Windows version of the Feeble Files
@@ -308,9 +310,11 @@ library:
@tab Used by Linux Media Labs MPEG-4 PCI boards
@item LOAS @tab @tab X
@tab contains LATM multiplexed AAC audio
@item LRC @tab X @tab X
@item LVF @tab @tab X
@item LXF @tab @tab X
@tab VR native stream format, used by Leitch/Harris' video servers.
@item Magic Lantern Video (MLV) @tab @tab X
@item Matroska @tab X @tab X
@item Matroska audio @tab X @tab
@item FFmpeg metadata @tab X @tab X
@@ -450,6 +454,7 @@ library:
@item Sony Wave64 (W64) @tab X @tab X
@item SoX native format @tab X @tab X
@item SUN AU format @tab X @tab X
@item SUP raw PGS subtitles @tab @tab X
@item Text files @tab @tab X
@item THP @tab @tab X
@tab Used on the Nintendo GameCube.
@@ -488,11 +493,13 @@ following image formats are supported:
@item Name @tab Encoding @tab Decoding @tab Comments
@item .Y.U.V @tab X @tab X
@tab one raw file per component
@item Alias PIX @tab X @tab X
@tab Alias/Wavefront PIX image format
@item animated GIF @tab X @tab X
@item BMP @tab X @tab X
@tab Microsoft BMP image
@item PIX @tab @tab X
@tab PIX is an image format used in the Argonaut BRender engine.
@item BRender PIX @tab @tab X
@tab Argonaut BRender 3D engine image format.
@item DPX @tab X @tab X
@tab Digital Picture Exchange
@item EXR @tab @tab X
@@ -680,8 +687,8 @@ following image formats are supported:
@item LCL (LossLess Codec Library) MSZH @tab @tab X
@item LCL (LossLess Codec Library) ZLIB @tab E @tab E
@item LOCO @tab @tab X
@item LucasArts Smush @tab @tab X
@tab Used in LucasArts games.
@item LucasArts SANM/Smush @tab @tab X
@tab Used in LucasArts games / SMUSH animations.
@item lossless MJPEG @tab X @tab X
@item Microsoft ATC Screen @tab @tab X
@tab Also known as Microsoft Screen 3.
@@ -716,6 +723,8 @@ following image formats are supported:
@tab fourcc: VP50
@item On2 VP6 @tab @tab X
@tab fourcc: VP60,VP61,VP62
@item On2 VP7 @tab @tab X
@tab fourcc: VP70,VP71
@item VP8 @tab E @tab X
@tab fourcc: VP80, encoding supported through external library libvpx
@item VP9 @tab E @tab X
@@ -745,11 +754,11 @@ following image formats are supported:
@tab Texture dictionaries used by the Renderware Engine.
@item RL2 video @tab @tab X
@tab used in some games by Entertainment Software Partners
@item SGI RLE 8-bit @tab @tab X
@item Sierra VMD video @tab @tab X
@tab Used in Sierra VMD files.
@item Silicon Graphics Motion Video Compressor 1 (MVC1) @tab @tab X
@item Silicon Graphics Motion Video Compressor 2 (MVC2) @tab @tab X
@item Silicon Graphics RLE 8-bit video @tab @tab X
@item Smacker video @tab @tab X
@tab Video encoding used in Smacker.
@item SMPTE VC-1 @tab @tab X
@@ -815,7 +824,7 @@ following image formats are supported:
@tab encoding supported through external library libaacplus
@item AAC @tab E @tab X
@tab encoding supported through external library libfaac and libvo-aacenc
@item AC-3 @tab IX @tab X
@item AC-3 @tab IX @tab IX
@item ADPCM 4X Movie @tab @tab X
@item ADPCM CDROM XA @tab @tab X
@item ADPCM Creative Technology @tab @tab X
@@ -859,6 +868,8 @@ following image formats are supported:
@item ADPCM Sound Blaster Pro 2-bit @tab @tab X
@item ADPCM Sound Blaster Pro 2.6-bit @tab @tab X
@item ADPCM Sound Blaster Pro 4-bit @tab @tab X
@item ADPCM VIMA
@tab Used in LucasArts SMUSH animations.
@item ADPCM Westwood Studios IMA @tab @tab X
@tab Used in Westwood Studios games like Command and Conquer.
@item ADPCM Yamaha @tab X @tab X
@@ -891,6 +902,10 @@ following image formats are supported:
@item DPCM Sol @tab @tab X
@item DPCM Xan @tab @tab X
@tab Used in Origin's Wing Commander IV AVI files.
@item DSD (Direct Stream Digitial), least significant bit first @tab @tab X
@item DSD (Direct Stream Digitial), most significant bit first @tab @tab X
@item DSD (Direct Stream Digitial), least significant bit first, planar @tab @tab X
@item DSD (Direct Stream Digitial), most significant bit first, planar @tab @tab X
@item DSP Group TrueSpeech @tab @tab X
@item DV audio @tab @tab X
@item Enhanced AC-3 @tab X @tab X
@@ -913,13 +928,14 @@ following image formats are supported:
@item Monkey's Audio @tab @tab X
@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.
@tab encoding supported also through external library TwoLAME
@item MP3 (MPEG audio layer 3) @tab E @tab IX
@tab encoding supported through external library LAME, ADU MP3 and MP3onMP4 also supported
@item MPEG-4 Audio Lossless Coding (ALS) @tab @tab X
@item Musepack SV7 @tab @tab X
@item Musepack SV8 @tab @tab X
@item Nellymoser Asao @tab X @tab X
@item On2 AVC (Audio for Video Codec) @tab @tab X
@item Opus @tab E @tab E
@tab supported through external library libopus
@item PCM A-law @tab X @tab X
@@ -1015,6 +1031,7 @@ performance on systems without hardware floating point support).
@item PJS (Phoenix) @tab @tab X @tab @tab X
@item RealText @tab @tab X @tab @tab X
@item SAMI @tab @tab X @tab @tab X
@item Spruce format (STL) @tab @tab X @tab @tab X
@item SSA/ASS @tab X @tab X @tab X @tab X
@item SubRip (SRT) @tab X @tab X @tab X @tab X
@item SubViewer v1 @tab @tab X @tab @tab X
@@ -1022,7 +1039,7 @@ 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 X @tab X @tab @tab X
@item WebVTT @tab X @tab X @tab X @tab X
@item XSUB @tab @tab @tab X @tab X
@end multitable
@@ -1040,6 +1057,7 @@ performance on systems without hardware floating point support).
@item HLS @tab X
@item HTTP @tab X
@item HTTPS @tab X
@item Icecast @tab X
@item MMSH @tab X
@item MMST @tab X
@item pipe @tab X
@@ -1050,6 +1068,7 @@ performance on systems without hardware floating point support).
@item RTMPTE @tab X
@item RTMPTS @tab X
@item RTP @tab X
@item SAMBA @tab E
@item SCTP @tab X
@item SFTP @tab E
@item TCP @tab X
@@ -1083,6 +1102,7 @@ performance on systems without hardware floating point support).
@item Video4Linux2 @tab X @tab X
@item VfW capture @tab X @tab
@item X11 grabbing @tab X @tab
@item Win32 grabbing @tab X @tab
@end multitable
@code{X} means that input/output is supported.

View File

@@ -13,8 +13,8 @@ You can disable all the input devices using the configure option
option "--enable-indev=@var{INDEV}", or you can disable a particular
input device using the option "--disable-indev=@var{INDEV}".
The option "-formats" of the ff* tools will display the list of
supported input devices (amongst the demuxers).
The option "-devices" of the ff* tools will display the list of
supported input devices.
A description of the currently available input devices follows.
@@ -51,6 +51,101 @@ ffmpeg -f alsa -i hw:0 alsaout.wav
For more information see:
@url{http://www.alsa-project.org/alsa-doc/alsa-lib/pcm.html}
@section avfoundation
AVFoundation input device.
AVFoundation is the currently recommended framework by Apple for streamgrabbing on OSX >= 10.7 as well as on iOS.
The older QTKit framework has been marked deprecated since OSX version 10.7.
The input filename has to be given in the following syntax:
@example
-i "[[VIDEO]:[AUDIO]]"
@end example
The first entry selects the video input while the latter selects the audio input.
The stream has to be specified by the device name or the device index as shown by the device list.
Alternatively, the video and/or audio input device can be chosen by index using the
@option{
-video_device_index <INDEX>
}
and/or
@option{
-audio_device_index <INDEX>
}
, overriding any
device name or index given in the input filename.
All available devices can be enumerated by using @option{-list_devices true}, listing
all device names and corresponding indices.
There are two device name aliases:
@table @code
@item default
Select the AVFoundation default device of the corresponding type.
@item none
Do not record the corresponding media type.
This is equivalent to specifying an empty device name or index.
@end table
@subsection Options
AVFoundation supports the following options:
@table @option
@item -list_devices <TRUE|FALSE>
If set to true, a list of all available input devices is given showing all
device names and indices.
@item -video_device_index <INDEX>
Specify the video device by its index. Overrides anything given in the input filename.
@item -audio_device_index <INDEX>
Specify the audio device by its index. Overrides anything given in the input filename.
@item -pixel_format <FORMAT>
Request the video device to use a specific pixel format.
If the specified format is not supported, a list of available formats is given
und the first one in this list is used instead. Available pixel formats are:
@code{monob, rgb555be, rgb555le, rgb565be, rgb565le, rgb24, bgr24, 0rgb, bgr0, 0bgr, rgb0,
bgr48be, uyvy422, yuva444p, yuva444p16le, yuv444p, yuv422p16, yuv422p10, yuv444p10,
yuv420p, nv12, yuyv422, gray}
@end table
@subsection Examples
@itemize
@item
Print the list of AVFoundation supported devices and exit:
@example
$ ffmpeg -f avfoundation -list_devices true -i ""
@end example
@item
Record video from video device 0 and audio from audio device 0 into out.avi:
@example
$ ffmpeg -f avfoundation -i "0:0" out.avi
@end example
@item
Record video from video device 2 and audio from audio device 1 into out.avi:
@example
$ ffmpeg -f avfoundation -video_device_index 2 -i ":1" out.avi
@end example
@item
Record video from the system default video device using the pixel format bgr0 and do not record any audio into out.avi:
@example
$ ffmpeg -f avfoundation -pixel_format bgr0 -i "default:none" out.avi
@end example
@end itemize
@section bktr
BSD video input device.
@@ -192,6 +287,81 @@ ffmpeg -f fbdev -frames:v 1 -r 1 -i /dev/fb0 screenshot.jpeg
See also @url{http://linux-fbdev.sourceforge.net/}, and fbset(1).
@section gdigrab
Win32 GDI-based screen capture device.
This device allows you to capture a region of the display on Windows.
There are two options for the input filename:
@example
desktop
@end example
or
@example
title=@var{window_title}
@end example
The first option will capture the entire desktop, or a fixed region of the
desktop. The second option will instead capture the contents of a single
window, regardless of its position on the screen.
For example, to grab the entire desktop using @command{ffmpeg}:
@example
ffmpeg -f gdigrab -framerate 6 -i desktop out.mpg
@end example
Grab a 640x480 region at position @code{10,20}:
@example
ffmpeg -f gdigrab -framerate 6 -offset_x 10 -offset_y 20 -video_size vga -i desktop out.mpg
@end example
Grab the contents of the window named "Calculator"
@example
ffmpeg -f gdigrab -framerate 6 -i title=Calculator out.mpg
@end example
@subsection Options
@table @option
@item draw_mouse
Specify whether to draw the mouse pointer. Use the value @code{0} to
not draw the pointer. Default value is @code{1}.
@item framerate
Set the grabbing frame rate. Default value is @code{ntsc},
corresponding to a frame rate of @code{30000/1001}.
@item show_region
Show grabbed region on screen.
If @var{show_region} is specified with @code{1}, then the grabbing
region will be indicated on screen. With this option, it is easy to
know what is being grabbed if only a portion of the screen is grabbed.
Note that @var{show_region} is incompatible with grabbing the contents
of a single window.
For example:
@example
ffmpeg -f gdigrab -show_region 1 -framerate 6 -video_size cif -offset_x 10 -offset_y 20 -i desktop out.mpg
@end example
@item video_size
Set the video frame size. The default is to capture the full screen if @file{desktop} is selected, or the full window size if @file{title=@var{window_title}} is selected.
@item offset_x
When capturing a region with @var{video_size}, set the distance from the left edge of the screen or desktop.
Note that the offset calculation is from the top left corner of the primary monitor on Windows. If you have a monitor positioned to the left of your primary monitor, you will need to use a negative @var{offset_x} value to move the region to that monitor.
@item offset_y
When capturing a region with @var{video_size}, set the distance from the top edge of the screen or desktop.
Note that the offset calculation is from the top left corner of the primary monitor on Windows. If you have a monitor positioned above your primary monitor, you will need to use a negative @var{offset_y} value to move the region to that monitor.
@end table
@section iec61883
FireWire DV/HDV input device using libiec61883.
@@ -373,10 +543,28 @@ ffplay -f lavfi "movie=test.avi[out0];amovie=test.wav[out1]"
@end itemize
@section libcdio
Audio-CD input device based on cdio.
To enable this input device during configuration you need libcdio
installed on your system. Requires the configure option
@code{--enable-libcdio}.
This device allows playing and grabbing from an Audio-CD.
For example to copy with @command{ffmpeg} the entire Audio-CD in /dev/sr0,
you may run the command:
@example
ffmpeg -f libcdio -i /dev/sr0 cd.wav
@end example
@section libdc1394
IIDC1394 input device, based on libdc1394 and libraw1394.
Requires the configure option @code{--enable-libdc1394}.
@section openal
The OpenAL input device provides audio capture on all systems with a
@@ -531,6 +719,33 @@ Record a stream from default device:
ffmpeg -f pulse -i default /tmp/pulse.wav
@end example
@section qtkit
QTKit input device.
The filename passed as input is parsed to contain either a device name or index.
The device index can also be given by using -video_device_index.
A given device index will override any given device name.
If the desired device consists of numbers only, use -video_device_index to identify it.
The default device will be chosen if an empty string or the device name "default" is given.
The available devices can be enumerated by using -list_devices.
@example
ffmpeg -f qtkit -i "0" out.mpg
@end example
@example
ffmpeg -f qtkit -video_device_index 0 -i "" out.mpg
@end example
@example
ffmpeg -f qtkit -i "default" out.mpg
@end example
@example
ffmpeg -f qtkit -list_devices true -i ""
@end example
@section sndio
sndio input device.
@@ -678,6 +893,9 @@ other filename will be interpreted as device number 0.
X11 video input device.
Depends on X11, Xext, and Xfixes. Requires the configure option
@code{--enable-x11grab}.
This device allows one to capture a region of an X11 display.
The filename passed as input has the syntax:
@@ -758,6 +976,64 @@ ffmpeg -f x11grab -follow_mouse centered -show_region 1 -framerate 25 -video_siz
@item video_size
Set the video frame size. Default value is @code{vga}.
@item use_shm
Use the MIT-SHM extension for shared memory. Default value is @code{1}.
It may be necessary to disable it for remote displays.
@end table
@section decklink
The decklink input device provides capture capabilities for Blackmagic
DeckLink devices.
To enable this input device, you need the Blackmagic DeckLink SDK and you
need to configure with the appropriate @code{--extra-cflags}
and @code{--extra-ldflags}.
On Windows, you need to run the IDL files through @command{widl}.
DeckLink is very picky about the formats it supports. Pixel format is always
uyvy422, framerate and video size must be determined for your device with
@command{-list_formats 1}. Audio sample rate is always 48 kHz and the number
of channels currently is limited to 2 (stereo).
@subsection Options
@table @option
@item list_devices
If set to @option{true}, print a list of devices and exit.
Defaults to @option{false}.
@item list_formats
If set to @option{true}, print a list of supported formats and exit.
Defaults to @option{false}.
@end table
@subsection Examples
@itemize
@item
List input devices:
@example
ffmpeg -f decklink -list_devices 1 -i dummy
@end example
@item
List supported formats:
@example
ffmpeg -f decklink -list_formats 1 -i 'Intensity Pro'
@end example
@item
Capture video clip at 1080i50 (format 11):
@example
ffmpeg -f decklink -i 'Intensity Pro@@11' -acodec copy -vcodec copy output.avi
@end example
@end itemize
@c man end INPUT DEVICES

View File

@@ -22,7 +22,7 @@ a mail for every change to every issue.
(the above does all work already after light testing)
The subscription URL for the ffmpeg-trac list is:
http(s)://ffmpeg.org/mailman/listinfo/ffmpeg-trac
http(s)://lists.ffmpeg.org/mailman/listinfo/ffmpeg-trac
The URL of the webinterface of the tracker is:
http(s)://trac.ffmpeg.org

View File

@@ -194,15 +194,19 @@ can not be smaller than one centi second.
Apple HTTP Live Streaming muxer that segments MPEG-TS according to
the HTTP Live Streaming (HLS) specification.
It creates a playlist file and numbered segment files. The output
filename specifies the playlist filename; the segment filenames
receive the same basename as the playlist, a sequential number and
a .ts extension.
It creates a playlist file, and one or more segment files. The output filename
specifies the playlist filename.
By default, the muxer creates a file for each segment produced. These files
have the same name as the playlist, followed by a sequential number and a
.ts extension.
For example, to convert an input file with @command{ffmpeg}:
@example
ffmpeg -i in.nut out.m3u8
@end example
This example will produce the playlist, @file{out.m3u8}, and segment files:
@file{out0.ts}, @file{out1.ts}, @file{out2.ts}, etc.
See also the @ref{segment} muxer, which provides a more generic and
flexible implementation of a segmenter, and can be used to perform HLS
@@ -220,6 +224,11 @@ Set the segment length in seconds. Default value is 2.
Set the maximum number of playlist entries. If set to 0 the list file
will contain all the segments. Default value is 5.
@item hls_ts_options @var{options_list}
Set output format options using a :-separated list of key=value
parameters. Values containing @code{:} special characters must be
escaped.
@item hls_wrap @var{wrap}
Set the number after which the segment filename number (the number
specified in each segment file) wraps. If set to 0 the number will be
@@ -233,10 +242,28 @@ to @var{wrap}.
Start the playlist sequence number from @var{number}. Default value is
0.
@item hls_allow_cache @var{allowcache}
Explicitly set whether the client MAY (1) or MUST NOT (0) cache media segments.
@item hls_base_url @var{baseurl}
Append @var{baseurl} to every entry in the playlist.
Useful to generate playlists with absolute paths.
Note that the playlist sequence number must be unique for each segment
and it is not to be confused with the segment filename sequence number
which can be cyclic, for example if the @option{wrap} option is
specified.
@item hls_flags single_file
If this flag is set, the muxer will store all segments in a single MPEG-TS
file, and will use byte ranges in the playlist. HLS playlists generated with
this way will have the version number 4.
For example:
@example
ffmpeg -i in.nut -hls_flags single_file out.m3u8
@end example
Will produce the playlist, @file{out.m3u8}, and a single segment file,
@file{out.ts}.
@end table
@anchor{ico}
@@ -532,7 +559,6 @@ a short portion of the file. With this option set, there is no initial
mdat atom, and the moov atom only describes the tracks but has
a zero duration.
Files written with this option set do not work in QuickTime.
This option is implicitly set when writing ismv (Smooth Streaming) files.
@item -movflags separate_moof
Write a separate moof (movie fragment) atom for each track. Normally,
@@ -547,6 +573,22 @@ 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.
@item -movflags disable_chpl
Disable Nero chapter markers (chpl atom). Normally, both Nero chapters
and a QuickTime chapter track are written to the file. With this option
set, only the QuickTime chapter track will be written. Nero chapters can
cause failures when the file is reprocessed with certain tagging programs, like
mp3Tag 2.61a and iTunes 11.3, most likely other versions are affected as well.
@item -movflags omit_tfhd_offset
Do not write any absolute base_data_offset in tfhd atoms. This avoids
tying fragments to absolute byte positions in the file/streams.
@item -movflags default_base_moof
Similarly to the omit_tfhd_offset, this flag avoids writing the
absolute base_data_offset field in tfhd atoms, but does so by using
the new default-base-is-moof flag instead. This flag is new from
14496-12:2012. This may make the fragments easier to parse in certain
circumstances (avoiding basing track fragment location calculations
on the implicit end of the previous track fragment).
@end table
@subsection Example
@@ -559,29 +601,38 @@ ffmpeg -re @var{<normal input/transcoding options>} -movflags isml+frag_keyframe
@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. Setting
@code{id3v2_version} to 0 will disable the ID3v2 header completely. The legacy
ID3v1 tag is not written by default, but may be enabled with the
@code{write_id3v1} option.
The MP3 muxer writes a raw MP3 stream with the following optional features:
@itemize @bullet
@item
An ID3v2 metadata header at the beginning (enabled by default). Versions 2.3 and
2.4 are supported, the @code{id3v2_version} private option controls which one is
used (3 or 4). Setting @code{id3v2_version} to 0 disables the ID3v2 header
completely.
The muxer may also write 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 Xing frame is written if the output stream is seekable and if the
@code{write_xing} option is set to 1 (the default).
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
The muxer supports writing attached pictures (APIC frames) to the ID3v2 header.
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.
@item
A Xing/LAME frame right after the ID3v2 header (if present). It is enabled by
default, but will be written only if the output is seekable. The
@code{write_xing} private option can be used to disable it. The frame contains
various information that may be useful to the decoder, like the audio duration
or encoder delay.
@item
A legacy ID3v1 tag at the end of the file (disabled by default). It may be
enabled with the @code{write_id3v1} private option, but as its capabilities are
very limited, its usage is not recommended.
@end itemize
Examples:
Write an mp3 with an ID3v2.3 header and an ID3v1 footer:
@@ -633,7 +684,10 @@ 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.
Set a constant muxrate (default VBR).
@item -pcr_period @var{numer}
Override the default PCR retransmission time (default 20ms), ignored
if variable muxrate is selected.
@item -pes_payload_size @var{number}
Set minimum PES packet payload in bytes.
@item -mpegts_flags @var{flags}
@@ -702,6 +756,30 @@ Alternatively you can write the command as:
ffmpeg -benchmark -i INPUT -f null -
@end example
@section nut
@table @option
@item -syncpoints @var{flags}
Change the syncpoint usage in nut:
@table @option
@item @var{default} use the normal low-overhead seeking aids.
@item @var{none} do not use the syncpoints at all, reducing the overhead but making the stream non-seekable;
Use of this option is not recommended, as the resulting files are very damage
sensitive and seeking is not possible. Also in general the overhead from
syncpoints is negligible. Note, -@code{write_index} 0 can be used to disable
all growing data tables, allowing to mux endless streams with limited memory
and wihout these disadvantages.
@item @var{timestamped} extend the syncpoint with a wallclock field.
@end table
The @var{none} and @var{timestamped} flags are experimental.
@item -write_index @var{bool}
Write index at the end, the default is to write an index.
@end table
@example
ffmpeg -i INPUT -f_strict experimental -syncpoints none - | processor
@end example
@section ogg
Ogg container muxer.
@@ -767,6 +845,11 @@ reference stream. The default value is @code{auto}.
Override the inner container format, by default it is guessed by the filename
extension.
@item segment_format_options @var{options_list}
Set output format options using a :-separated list of key=value
parameters. Values containing the @code{:} special character must be
escaped.
@item segment_list @var{name}
Generate also a listfile named @var{name}. If not specified no
listfile is generated.
@@ -783,17 +866,21 @@ Allow caching (only affects M3U8 list files).
Allow live-friendly file generation.
@end table
@item segment_list_type @var{type}
Select the listing format.
@table @option
@item @var{flat} use a simple flat list of entries.
@item @var{hls} use a m3u8-like structure.
@end table
@item segment_list_size @var{size}
Update the list file so that it contains at most the last @var{size}
Update the list file so that it contains at most @var{size}
segments. If 0 the list file will contain all the segments. Default
value is 0.
@item segment_list_entry_prefix @var{prefix}
Set @var{prefix} to prepend to the name of each entry filename. By
default no prefix is applied.
@item segment_list_type @var{type}
Specify the format for the segment list file.
Prepend @var{prefix} to each entry. Useful to generate absolute paths.
By default no prefix is applied.
The following values are recognized:
@table @samp
@@ -844,6 +931,16 @@ 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_atclocktime @var{1|0}
If set to "1" split at regular clock time intervals starting from 00:00
o'clock. The @var{time} value specified in @option{segment_time} is
used for setting the length of the splitting interval.
For example with @option{segment_time} set to "900" this makes it possible
to create files at 12:00 o'clock, 12:15, 12:30, etc.
Default value is "0".
@item segment_time_delta @var{delta}
Specify the accuracy time when selecting the start time for a
segment, expressed as a duration specification. Default value is "0".
@@ -900,7 +997,7 @@ argument must be a time duration specification, and defaults to 0.
@itemize
@item
To remux the content of file @file{in.mkv} to a list of segments
Remux the content of file @file{in.mkv} to a list of segments
@file{out-000.nut}, @file{out-001.nut}, etc., and write the list of
generated segments to @file{out.list}:
@example
@@ -908,14 +1005,20 @@ ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.list out%03d.nu
@end example
@item
As the example above, but segment the input file according to the split
points specified by the @var{segment_times} option:
Segment input and set output format options for the output segments:
@example
ffmpeg -i in.mkv -f segment -segment_time 10 -segment_format_options movflags=+faststart out%03d.mp4
@end example
@item
Segment the input file according to the split points specified by the
@var{segment_times} option:
@example
ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.csv -segment_times 1,2,3,5,8,13,21 out%03d.nut
@end example
@item
As the example above, but use the @command{ffmpeg} @option{force_key_frames}
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 @option{segment_time_delta} to account for
possible roundings operated when setting key frame times.
@@ -934,7 +1037,7 @@ ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.csv -segment_fr
@end example
@item
To convert the @file{in.mkv} to TS segments using the @code{libx264}
Convert the @file{in.mkv} to TS segments using the @code{libx264}
and @code{libfaac} encoders:
@example
ffmpeg -i in.mkv -map 0 -codec:v libx264 -codec:a libfaac -f ssegment -segment_list out.list out%03d.ts
@@ -949,6 +1052,28 @@ ffmpeg -re -i in.mkv -codec copy -map 0 -f segment -segment_list playlist.m3u8 \
@end example
@end itemize
@section smoothstreaming
Smooth Streaming muxer generates a set of files (Manifest, chunks) suitable for serving with conventional web server.
@table @option
@item window_size
Specify the number of fragments kept in the manifest. Default 0 (keep all).
@item extra_window_size
Specify the number of fragments kept outside of the manifest before removing from disk. Default 5.
@item lookahead_count
Specify the number of lookahead fragments. Default 2.
@item min_frag_duration
Specify the minimum fragment duration (in microseconds). Default 5000000.
@item remove_at_exit
Specify whether to remove all fragments when finished. Default 0 (do not remove).
@end table
@section tee
The tee muxer can be used to write the same data to several files or any
@@ -986,7 +1111,7 @@ It is possible to specify to which streams a given bitstream filter
applies, by appending a stream specifier to the option separated by
@code{/}. @var{spec} must be a stream specifier (see @ref{Format
stream specifiers}). If the stream specifier is not specified, the
bistream filters will be applied to all streams in the output.
bitstream filters will be applied to all streams in the output.
Several bitstream filters can be specified, separated by ",".
@@ -1033,4 +1158,34 @@ 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.
@section webm_dash_manifest
WebM DASH Manifest muxer.
This muxer implements the WebM DASH Manifest specification to generate the DASH manifest XML.
@subsection Options
This muxer supports the following options:
@table @option
@item adaptation_sets
This option has the following syntax: "id=x,streams=a,b,c id=y,streams=d,e" where x and y are the
unique identifiers of the adaptation sets and a,b,c,d and e are the indices of the corresponding
audio and video streams. Any number of adaptation sets can be added using this option.
@end table
@subsection Example
@example
ffmpeg -f webm_dash_manifest -i video1.webm \
-f webm_dash_manifest -i video2.webm \
-f webm_dash_manifest -i audio1.webm \
-f webm_dash_manifest -i audio2.webm \
-map 0 -map 1 -map 2 -map 3 \
-c copy \
-f webm_dash_manifest \
-adaptation_sets "id=0,streams=0,1 id=1,streams=2,3" \
manifest.xml
@end example
@c man end MUXERS

View File

@@ -21,6 +21,27 @@ The official nut specification is at svn://svn.mplayerhq.hu/nut
In case of any differences between this text and the official specification,
the official specification shall prevail.
@chapter Modes
NUT has some variants signaled by using the flags field in its main header.
@multitable @columnfractions .4 .4
@item BROADCAST @tab Extend the syncpoint to report the sender wallclock
@item PIPE @tab Omit completely the syncpoint
@end multitable
@section BROADCAST
The BROADCAST variant provides a secondary time reference to facilitate
detecting endpoint latency and network delays.
It assumes all the endpoint clocks are syncronized.
To be used in real-time scenarios.
@section PIPE
The PIPE variant assumes NUT is used as non-seekable intermediate container,
by not using syncpoint removes unneeded overhead and reduces the overall
memory usage.
@chapter Container-specific codec tags
@section Generic raw YUVA formats

View File

@@ -79,9 +79,6 @@ qpel{8,16}_mc??_old_c / *pixels{8,16}_l4
Just used to work around a bug in an old libavcodec encoder version.
Don't optimize them.
tpel_mc_func {put,avg}_tpel_pixels_tab
Used only for SVQ3, so only optimize them if you need fast SVQ3 decoding.
add_bytes/diff_bytes
For huffyuv only, optimize if you want a faster ffhuffyuv codec.
@@ -139,9 +136,6 @@ dct_unquantize_mpeg2
dct_unquantize_h263
Used in MPEG-4/H.263 en/decoding.
FIXME remaining functions?
BTW, most of these functions are in dsputil.c/.h, some are in mpegvideo.c/.h.
Alignment:
@@ -268,17 +262,6 @@ CELL/SPU:
http://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/30B3520C93F437AB87257060006FFE5E/$file/Language_Extensions_for_CBEA_2.4.pdf
http://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/9F820A5FFA3ECE8C8725716A0062585F/$file/CBE_Handbook_v1.1_24APR2007_pub.pdf
SPARC-specific:
---------------
SPARC Joint Programming Specification (JPS1): Commonality
http://www.fujitsu.com/downloads/PRMPWR/JPS1-R1.0.4-Common-pub.pdf
UltraSPARC III Processor User's Manual (contains instruction timings)
http://www.sun.com/processors/manuals/USIIIv2.pdf
VIS Whitepaper (contains optimization guidelines)
http://www.sun.com/processors/vis/download/vis/vis_whitepaper.pdf
GCC asm links:
--------------
official doc but quite ugly

View File

@@ -13,8 +13,8 @@ You can disable all the output devices using the configure option
option "--enable-outdev=@var{OUTDEV}", or you can disable a particular
input device using the option "--disable-outdev=@var{OUTDEV}".
The option "-formats" of the ff* tools will display the list of
enabled output devices (amongst the muxers).
The option "-devices" of the ff* tools will display the list of
enabled output devices.
A description of the currently available output devices follows.
@@ -220,11 +220,11 @@ This output device allows one to render to OpenGL context.
Context may be provided by application or default SDL window is created.
When device renders to external context, application must implement handlers for following messages:
@code{AV_CTL_MESSAGE_CREATE_WINDOW_BUFFER} - create OpenGL context on current thread.
@code{AV_CTL_MESSAGE_PREPARE_WINDOW_BUFFER} - make OpenGL context current.
@code{AV_CTL_MESSAGE_DISPLAY_WINDOW_BUFFER} - swap buffers.
@code{AV_CTL_MESSAGE_DESTROY_WINDOW_BUFFER} - destroy OpenGL context.
Application is also required to inform a device about current resolution by sending @code{AV_DEVICE_WINDOW_RESIZED} message.
@code{AV_DEV_TO_APP_CREATE_WINDOW_BUFFER} - create OpenGL context on current thread.
@code{AV_DEV_TO_APP_PREPARE_WINDOW_BUFFER} - make OpenGL context current.
@code{AV_DEV_TO_APP_DISPLAY_WINDOW_BUFFER} - swap buffers.
@code{AV_DEV_TO_APP_DESTROY_WINDOW_BUFFER} - destroy OpenGL context.
Application is also required to inform a device about current resolution by sending @code{AV_APP_TO_DEV_WINDOW_SIZE} message.
@subsection Options
@table @option
@@ -237,6 +237,10 @@ Application must provide OpenGL context and both @code{window_size_cb} and @code
@item window_title
Set the SDL window title, if not specified default to the filename specified for the output device.
Ignored when @option{no_window} is set.
@item window_size
Set preferred window size, can be a string of the form widthxheight or a video size abbreviation.
If not specified it defaults to the size of the input video, downscaled according to the aspect ratio.
Mostly usable when @option{no_window} is not set.
@end table
@@ -290,6 +294,20 @@ When both options are provided then the highest value is used
are set to 0 (which is default), the device will use the default
PulseAudio duration value. By default PulseAudio set buffer duration
to around 2 seconds.
@item prebuf
Specify pre-buffering size in bytes. The server does not start with
playback before at least @option{prebuf} bytes are available in the
buffer. By default this option is initialized to the same value as
@option{buffer_size} or @option{buffer_duration} (whichever is bigger).
@item minreq
Specify minimum request size in bytes. The server does not request less
than @option{minreq} bytes from the client, instead waits until the buffer
is free enough to request more bytes at once. It is recommended to not set
this option, which will initialize this to a value that is deemed sensible
by the server.
@end table
@subsection Examples
@@ -388,19 +406,26 @@ For example, @code{dual-headed:0.1} would specify screen 1 of display
Check the X11 specification for more detailed information about the
display name format.
@item window_id
When set to non-zero value then device doesn't create new window,
but uses existing one with provided @var{window_id}. By default
this options is set to zero and device creates its own window.
@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.
Ignored when @var{window_id} is set.
@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.
Ignored when @var{window_id} is set.
@item window_title
Set the window title, if not specified default to the filename
specified for the output device.
specified for the output device. Ignored when @var{window_id} is set.
@end table
For more information about XVideo see @url{http://www.x.org/}.

View File

@@ -24,6 +24,20 @@ If not, then you should install a different compiler that has no
hard-coded path to gas. In the worst case pass @code{--disable-asm}
to configure.
@section Advanced linking configuration
If you compiled FFmpeg libraries statically and you want to use them to
build your own shared library, you may need to force PIC support (with
@code{--enable-pic} during FFmpeg configure) and add the following option
to your project LDFLAGS:
@example
-Wl,-Bsymbolic
@end example
If your target platform requires position independent binaries, you should
pass the correct linking flag (e.g. @code{-pie}) to @code{--extra-ldexeflags}.
@section BSD
BSD make will not build FFmpeg, you need to install and use GNU Make
@@ -52,14 +66,14 @@ unacelerated code.
Mac OS X on PowerPC or ARM (iPhone) requires a preprocessor from
@url{https://github.com/FFmpeg/gas-preprocessor} or
@url{http://github.com/yuvi/gas-preprocessor} to build the optimized
assembler functions. Put the Perl script somewhere
@url{https://github.com/yuvi/gas-preprocessor}(currently outdated) to build the optimized
assembly functions. Put the Perl script somewhere
in your PATH, FFmpeg's configure will pick it up automatically.
Mac OS X on amd64 and x86 requires @command{yasm} to build most of the
optimized assembler functions. @uref{http://www.finkproject.org/, Fink},
optimized assembly functions. @uref{http://www.finkproject.org/, Fink},
@uref{http://www.gentoo.org/proj/en/gentoo-alt/prefix/bootstrap-macos.xml, Gentoo Prefix},
@uref{http://mxcl.github.com/homebrew/, Homebrew}
@uref{https://mxcl.github.com/homebrew/, Homebrew}
or @uref{http://www.macports.org, MacPorts} can easily provide it.
@@ -264,7 +278,7 @@ llrint() in its C library.
Install your Cygwin with all the "Base" packages, plus the
following "Devel" ones:
@example
binutils, gcc4-core, make, git, mingw-runtime, texi2html
binutils, gcc4-core, make, git, mingw-runtime, texinfo
@end example
In order to run FATE you will also need the following "Utils" packages:

View File

@@ -26,6 +26,10 @@
#include <string.h>
#include <float.h>
// print_options is build for the host, os_support.h isn't needed and is setup
// for the target. without this build breaks on mingw
#define AVFORMAT_OS_SUPPORT_H
#include "libavformat/avformat.h"
#include "libavformat/options_table.h"
#include "libavcodec/avcodec.h"

View File

@@ -166,7 +166,7 @@ This protocol accepts the following options.
@table @option
@item timeout
Set timeout of socket I/O operations used by the underlying low level
Set timeout in microseconds 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.
@@ -244,7 +244,7 @@ Override the User-Agent header. If not specified the protocol will use a
string describing the libavformat build. ("Lavf/<version>")
@item timeout
Set timeout of socket I/O operations used by the underlying low level
Set timeout in microseconds 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.
@@ -255,7 +255,7 @@ Export the MIME type.
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.
The default is 1.
@item icy_metadata_headers
If the server supports ICY metadata, this contains the ICY-specific HTTP reply
@@ -293,6 +293,50 @@ The required syntax to play a stream specifying a cookie is:
ffplay -cookies "nlqptid=nltid=tsn; path=/; domain=somedomain.com;" http://somedomain.com/somestream.m3u8
@end example
@section Icecast
Icecast protocol (stream to Icecast servers)
This protocol accepts the following options:
@table @option
@item ice_genre
Set the stream genre.
@item ice_name
Set the stream name.
@item ice_description
Set the stream description.
@item ice_url
Set the stream website URL.
@item ice_public
Set if the stream should be public.
The default is 0 (not public).
@item user_agent
Override the User-Agent header. If not specified a string of the form
"Lavf/<version>" will be used.
@item password
Set the Icecast mountpoint password.
@item content_type
Set the stream content type. This must be set if it is different from
audio/mpeg.
@item legacy_icecast
This enables support for Icecast versions < 2.4.0, that do not support the
HTTP PUT method but the SOURCE method.
@end table
@example
icecast://[@var{username}[:@var{password}]@@]@var{server}:@var{port}/@var{mountpoint}
@end example
@section mmst
MMS (Microsoft Media Server) protocol over TCP.
@@ -537,6 +581,35 @@ The Real-Time Messaging Protocol tunneled through HTTPS (RTMPTS) is used
for streaming multimedia content within HTTPS requests to traverse
firewalls.
@section libsmbclient
libsmbclient permits one to manipulate CIFS/SMB network resources.
Following syntax is required.
@example
smb://[[domain:]user[:password@@]]server[/share[/path[/file]]]
@end example
This protocol accepts the following options.
@table @option
@item timeout
Set timeout in miliseconds 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.
@item workgroup
Set the workgroup used for making connections. By default workgroup is not specified.
@end table
For more information see: @url{http://www.samba.org/}.
@section libssh
Secure File Transfer Protocol via libssh
@@ -677,7 +750,7 @@ 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.
set to the local RTP port value plus 1.
@end enumerate
@section rtsp
@@ -691,7 +764,7 @@ data transferred over RDT).
The muxer can be used to send a stream using RTSP ANNOUNCE to a server
supporting it (currently Darwin Streaming Server and Mischa Spiegelmock's
@uref{http://github.com/revmischa/rtsp-server, RTSP server}).
@uref{https://github.com/revmischa/rtsp-server, RTSP server}).
The required syntax for a RTSP url is:
@example
@@ -710,7 +783,7 @@ Do not start playing the stream immediately if set to 1. Default value
is 0.
@item rtsp_transport
Set RTSP trasport protocols.
Set RTSP transport protocols.
It accepts the following values:
@table @samp
@@ -742,6 +815,8 @@ The following values are accepted:
Accept packets only from negotiated peer address and port.
@item listen
Act as a server, listening for an incoming connection.
@item prefer_tcp
Try TCP for RTP transport first, if TCP is available as RTSP RTP transport.
@end table
Default value is @samp{none}.
@@ -767,17 +842,17 @@ Set maximum local UDP port. Default value is 65000.
@item timeout
Set maximum timeout (in seconds) to wait for incoming connections.
A value of -1 mean infinite (default). This option implies the
A value of -1 means infinite (default). This option implies the
@option{rtsp_flags} set to @samp{listen}.
@item reorder_queue_size
Set number of packets to buffer for handling of reordered packets.
@item stimeout
Set socket TCP I/O timeout in micro seconds.
Set socket TCP I/O timeout in microseconds.
@item user-agent
Override User-Agent header. If not specified, it default to the
Override User-Agent header. If not specified, it defaults to the
libavformat identifier string.
@end table
@@ -958,6 +1033,30 @@ this binary block are used as master key, the following 14 bytes are
used as master salt.
@end table
@section subfile
Virtually extract a segment of a file or another stream.
The underlying stream must be seekable.
Accepted options:
@table @option
@item start
Start offset of the extracted segment, in bytes.
@item end
End offset of the extracted segment, in bytes.
@end table
Examples:
Extract a chapter from a DVD VOB file (start and end sectors obtained
externally and multiplied by 2048):
@example
subfile,,start,153391104,end,268142592,,:/media/dvd/VIDEO_TS/VTS_08_1.VOB
@end example
Play an AVI file directly from a TAR archive:
subfile,,start,183241728,end,366490624,,:archive.tar
@section tcp
Transmission Control Protocol.
@@ -1074,8 +1173,9 @@ The list of supported options follows.
@table @option
@item buffer_size=@var{size}
Set the UDP socket buffer size in bytes. This is used both for the
receiving and the sending buffer size.
Set the UDP maximum socket buffer size in bytes. This is used to set either
the receive or send buffer size, depending on what the socket is used for.
Default is 64KB. See also @var{fifo_size}.
@item localport=@var{port}
Override the local UDP port to bind with.
@@ -1126,6 +1226,12 @@ Set raise error timeout, expressed in microseconds.
This option is only relevant in read mode: if no data arrived in more
than this time interval, raise error.
@item broadcast=@var{1|0}
Explicitly allow or disallow UDP broadcasting.
Note that broadcasting may not work properly on networks having
a broadcast storm protection.
@end table
@subsection Examples

View File

@@ -112,6 +112,14 @@ bayer dither
@item ed
error diffusion dither
@item a_dither
arithmetic dither, based using addition
@item x_dither
arithmetic dither, based using xor (more random/less apparent patterning that
a_dither).
@end table
@end table

View File

@@ -618,7 +618,6 @@ flip wavelet?
try to use the wavelet transformed predicted image (motion compensated image) as context for coding the residual coefficients
try the MV length as context for coding the residual coefficients
use extradata for stuff which is in the keyframes now?
the MV median predictor is patented IIRC
implement per picture halfpel interpolation
try different range coder state transition tables for different contexts

23
doc/style.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,26 +1,35 @@
# Init file for texi2html.
# This is deprecated, and the makeinfo/texi2any version is doc/t2h.pm
# no horiz rules between sections
$end_section = \&FFmpeg_end_section;
sub FFmpeg_end_section($$)
{
}
$EXTRA_HEAD =
'<link rel="icon" href="favicon.png" type="image/png" />
';
$CSS_LINES = $ENV{"FFMPEG_CSS"} || <<EOT;
<link rel="stylesheet" type="text/css" href="default.css" />
my $TEMPLATE_HEADER1 = $ENV{"FFMPEG_HEADER1"} || <<EOT;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>FFmpeg documentation</title>
<link rel="stylesheet" href="bootstrap.min.css" />
<link rel="stylesheet" href="style.min.css" />
EOT
my $TEMPLATE_HEADER = $ENV{"FFMPEG_HEADER"} || <<EOT;
<link rel="icon" href="favicon.png" type="image/png" />
</head>
<body>
<div id="container">
<div id="body">
my $TEMPLATE_HEADER2 = $ENV{"FFMPEG_HEADER2"} || <<EOT;
</head>
<body>
<div style="width: 95%; margin: auto">
EOT
$PRE_BODY_CLOSE = '</div></div>';
my $TEMPLATE_FOOTER = $ENV{"FFMPEG_FOOTER"} || <<EOT;
</div>
</body>
</html>
EOT
$SMALL_RULE = '';
$BODYTEXT = '';
@@ -82,21 +91,25 @@ sub FFmpeg_print_page_head($$)
$longtitle = "FFmpeg documentation : " . $longtitle;
print $fh <<EOT;
<!DOCTYPE html>
<html>
$TEMPLATE_HEADER1
$description
<meta name="keywords" content="$longtitle">
<meta name="Generator" content="$Texi2HTML::THISDOC{program}">
$Texi2HTML::THISDOC{'copying'}<!-- Created on $Texi2HTML::THISDOC{today} by $Texi2HTML::THISDOC{program} -->
<!--
$Texi2HTML::THISDOC{program_authors}
-->
<head>
<title>$longtitle</title>
$description
<meta name="keywords" content="$longtitle">
<meta name="Generator" content="$Texi2HTML::THISDOC{program}">
$encoding
$CSS_LINES
$TEMPLATE_HEADER
$TEMPLATE_HEADER2
EOT
}
$print_page_foot = \&FFmpeg_print_page_foot;
sub FFmpeg_print_page_foot($$)
{
my $fh = shift;
print $fh <<EOT;
$TEMPLATE_FOOTER
EOT
}

221
doc/t2h.pm Normal file
View File

@@ -0,0 +1,221 @@
# makeinfo HTML output init file
#
# Copyright (c) 2011, 2012 Free Software Foundation, Inc.
# Copyright (c) 2014 Andreas Cadhalpun
# Copyright (c) 2014 Tiancheng "Timothy" Gu
#
# This file is part of FFmpeg.
#
# FFmpeg 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 3 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
# General Public License for more details.
#
# You should have received a copy of the GNU 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
# no navigation elements
set_from_init_file('HEADERS', 0);
# TOC and Chapter headings link
set_from_init_file('TOC_LINKS', 1);
# print the TOC where @contents is used
set_from_init_file('INLINE_CONTENTS', 1);
# make chapters <h2>
set_from_init_file('CHAPTER_HEADER_LEVEL', 2);
# Do not add <hr>
set_from_init_file('DEFAULT_RULE', '');
set_from_init_file('BIG_RULE', '');
# Customized file beginning
sub ffmpeg_begin_file($$$)
{
my $self = shift;
my $filename = shift;
my $element = shift;
my $command;
if ($element and $self->get_conf('SPLIT')) {
$command = $self->element_command($element);
}
my ($title, $description, $encoding, $date, $css_lines,
$doctype, $bodytext, $copying_comment, $after_body_open,
$extra_head, $program_and_version, $program_homepage,
$program, $generator) = $self->_file_header_informations($command);
my $links = $self->_get_links ($filename, $element);
my $head1 = $ENV{"FFMPEG_HEADER1"} || <<EOT;
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by $program_and_version, $program_homepage -->
<head>
<meta charset="utf-8">
<title>
EOT
my $head_title = <<EOT;
$title
EOT
my $head2 = $ENV{"FFMPEG_HEADER2"} || <<EOT;
</title>
<link rel="stylesheet" type="text/css" href="bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="style.min.css">
</head>
<body>
<div style="width: 95%; margin: auto">
<h1>
EOT
my $head3 = $ENV{"FFMPEG_HEADER3"} || <<EOT;
</h1>
EOT
return $head1 . $head_title . $head2 . $head_title . $head3;
}
texinfo_register_formatting_function('begin_file', \&ffmpeg_begin_file);
# Customized file ending
sub ffmpeg_end_file($)
{
my $self = shift;
my $program_string = &{$self->{'format_program_string'}}($self);
my $program_text = <<EOT;
<p style="font-size: small;">
$program_string
</p>
EOT
my $footer = $ENV{FFMPEG_FOOTER} || <<EOT;
</div>
</body>
</html>
EOT
return $program_text . $footer;
}
texinfo_register_formatting_function('end_file', \&ffmpeg_end_file);
# Dummy title command
# Ignore title. Title is handled through ffmpeg_begin_file().
set_from_init_file('USE_TITLEPAGE_FOR_TITLE', 1);
sub ffmpeg_title($$$$)
{
return '';
}
texinfo_register_command_formatting('titlefont',
\&ffmpeg_title);
# Customized float command. Part of code borrowed from GNU Texinfo.
sub ffmpeg_float($$$$$)
{
my $self = shift;
my $cmdname = shift;
my $command = shift;
my $args = shift;
my $content = shift;
my ($caption, $prepended) = Texinfo::Common::float_name_caption($self,
$command);
my $caption_text = '';
my $prepended_text;
my $prepended_save = '';
if ($self->in_string()) {
if ($prepended) {
$prepended_text = $self->convert_tree_new_formatting_context(
$prepended, 'float prepended');
} else {
$prepended_text = '';
}
if ($caption) {
$caption_text = $self->convert_tree_new_formatting_context(
{'contents' => $caption->{'args'}->[0]->{'contents'}},
'float caption');
}
return $prepended.$content.$caption_text;
}
my $id = $self->command_id($command);
my $label;
if (defined($id) and $id ne '') {
$label = "<a name=\"$id\"></a>";
} else {
$label = '';
}
if ($prepended) {
if ($caption) {
# prepend the prepended tree to the first paragraph
my @caption_original_contents = @{$caption->{'args'}->[0]->{'contents'}};
my @caption_contents;
my $new_paragraph;
while (@caption_original_contents) {
my $content = shift @caption_original_contents;
if ($content->{'type'} and $content->{'type'} eq 'paragraph') {
%{$new_paragraph} = %{$content};
$new_paragraph->{'contents'} = [@{$content->{'contents'}}];
unshift (@{$new_paragraph->{'contents'}}, {'cmdname' => 'strong',
'args' => [{'type' => 'brace_command_arg',
'contents' => [$prepended]}]});
push @caption_contents, $new_paragraph;
last;
} else {
push @caption_contents, $content;
}
}
push @caption_contents, @caption_original_contents;
if ($new_paragraph) {
$caption_text = $self->convert_tree_new_formatting_context(
{'contents' => \@caption_contents}, 'float caption');
$prepended_text = '';
}
}
if ($caption_text eq '') {
$prepended_text = $self->convert_tree_new_formatting_context(
$prepended, 'float prepended');
if ($prepended_text ne '') {
$prepended_save = $prepended_text;
$prepended_text = '<p><strong>'.$prepended_text.'</strong></p>';
}
}
} else {
$prepended_text = '';
}
if ($caption and $caption_text eq '') {
$caption_text = $self->convert_tree_new_formatting_context(
$caption->{'args'}->[0], 'float caption');
}
if ($prepended_text.$caption_text ne '') {
$prepended_text = $self->_attribute_class('div','float-caption'). '>'
. $prepended_text;
$caption_text .= '</div>';
}
my $html_class = '';
if ($prepended_save =~ /NOTE/) {
$html_class = 'info';
$prepended_text = '';
$caption_text = '';
} elsif ($prepended_save =~ /IMPORTANT/) {
$html_class = 'warning';
$prepended_text = '';
$caption_text = '';
}
return $self->_attribute_class('div', $html_class). '>' . "\n" .
$prepended_text . $caption_text . $content . '</div>';
}
texinfo_register_command_formatting('float',
\&ffmpeg_float);
1;

View File

@@ -282,6 +282,14 @@ INF: while(<$inf>) {
$_ = "\n=over 4\n";
};
/^\@(multitable)\s+{.*/ and do {
push @endwstack, $endw;
push @icstack, $ic;
$endw = $1;
$ic = "";
$_ = "\n=over 4\n";
};
/^\@((?:small)?example|display)/ and do {
push @endwstack, $endw;
$endw = $1;
@@ -298,10 +306,10 @@ INF: while(<$inf>) {
/^\@tab\s+(.*\S)\s*$/ and $endw eq "multitable" and do {
my $columns = $1;
$columns =~ s/\@tab/ : /;
$columns =~ s/\@tab//;
$_ = " : ". $columns;
$chapter =~ s/\n+\s+$//;
$_ = $columns;
$chapter =~ s/$//;
};
/^\@itemx?\s*(.+)?$/ and do {
@@ -324,12 +332,12 @@ $inf = pop @instack;
die "No filename or title\n" unless defined $fn && defined $tl;
$chapters{NAME} = "$fn \- $tl\n";
$chapters{FOOTNOTES} .= "=back\n" if exists $chapters{FOOTNOTES};
# always use utf8
print "=encoding utf8\n\n";
$chapters{NAME} = "$fn \- $tl\n";
$chapters{FOOTNOTES} .= "=back\n" if exists $chapters{FOOTNOTES};
unshift @chapters_sequence, "NAME";
for $chapter (@chapters_sequence) {
if (exists $chapters{$chapter}) {

View File

@@ -782,6 +782,9 @@ large numbers (usually 2^53 and larger).
Round the value of expression @var{expr} upwards to the nearest
integer. For example, "ceil(1.5)" is "2.0".
@item clip(x, min, max)
Return the value of @var{x} clipped between @var{min} and @var{max}.
@item cos(x)
Compute cosine of @var{x}.
@@ -1031,7 +1034,7 @@ indication of the corresponding powers of 10 and of 2.
10^24 / 2^70
@end table
@c man end
@c man end EXPRESSION EVALUATION
@chapter OpenCL Options
@c man begin OPENCL OPTIONS

423
doc/writing_filters.txt Normal file
View File

@@ -0,0 +1,423 @@
This document is a tutorial/initiation for writing simple filters in
libavfilter.
Foreword: just like everything else in FFmpeg, libavfilter is monolithic, which
means that it is highly recommended that you submit your filters to the FFmpeg
development mailing-list and make sure it is applied. Otherwise, your filter is
likely to have a very short lifetime due to more a less regular internal API
changes, and a limited distribution, review, and testing.
Bootstrap
=========
Let's say you want to write a new simple video filter called "foobar" which
takes one frame in input, changes the pixels in whatever fashion you fancy, and
outputs the modified frame. The most simple way of doing this is to take a
similar filter. We'll pick edgedetect, but any other should do. You can look
for others using the `./ffmpeg -v 0 -filters|grep ' V->V '` command.
- sed 's/edgedetect/foobar/g;s/EdgeDetect/Foobar/g' libavfilter/vf_edgedetect.c > libavfilter/vf_foobar.c
- edit libavfilter/Makefile, and add an entry for "foobar" following the
pattern of the other filters.
- edit libavfilter/allfilters.c, and add an entry for "foobar" following the
pattern of the other filters.
- ./configure ...
- make -j<whatever> ffmpeg
- ./ffmpeg -i http://samples.ffmpeg.org/image-samples/lena.pnm -vf foobar foobar.png
Note here: you can obviously use a random local image instead of a remote URL.
If everything went right, you should get a foobar.png with Lena edge-detected.
That's it, your new playground is ready.
Some little details about what's going on:
libavfilter/allfilters.c:avfilter_register_all() is called at runtime to create
a list of the available filters, but it's important to know that this file is
also parsed by the configure script, which in turn will define variables for
the build system and the C:
--- after running configure ---
$ grep FOOBAR config.mak
CONFIG_FOOBAR_FILTER=yes
$ grep FOOBAR config.h
#define CONFIG_FOOBAR_FILTER 1
CONFIG_FOOBAR_FILTER=yes from the config.mak is later used to enable the filter in
libavfilter/Makefile and CONFIG_FOOBAR_FILTER=1 from the config.h will be used
for registering the filter in libavfilter/allfilters.c.
Filter code layout
==================
You now need some theory about the general code layout of a filter. Open your
libavfilter/vf_foobar.c. This section will detail the important parts of the
code you need to understand before messing with it.
Copyright
---------
First chunk is the copyright. Most filters are LGPL, and we are assuming
vf_foobar is as well. We are also assuming vf_foobar is not an edge detector
filter, so you can update the boilerplate with your credits.
Doxy
----
Next chunk is the Doxygen about the file. See http://ffmpeg.org/doxygen/trunk/.
Detail here what the filter is, does, and add some references if you feel like
it.
Context
-------
Skip the headers and scroll down to the definition of FoobarContext. This is
your local state context. It is already filled with 0 when you get it so do not
worry about uninitialized read into this context. This is where you put every
"global" information you need, typically the variable storing the user options.
You'll notice the first field "const AVClass *class"; it's the only field you
need to keep assuming you have a context. There are some magic you don't care
about around this field, just let it be (in first position) for now.
Options
-------
Then comes the options array. This is what will define the user accessible
options. For example, -vf foobar=mode=colormix:high=0.4:low=0.1. Most options
have the following pattern:
name, description, offset, type, default value, minimum value, maximum value, flags
- name is the option name, keep it simple, lowercase
- description are short, in lowercase, without period, and describe what they
do, for example "set the foo of the bar"
- offset is the offset of the field in your local context, see the OFFSET()
macro; the option parser will use that information to fill the fields
according to the user input
- type is any of AV_OPT_TYPE_* defined in libavutil/opt.h
- default value is an union where you pick the appropriate type; "{.dbl=0.3}",
"{.i64=0x234}", "{.str=NULL}", ...
- min and max values define the range of available values, inclusive
- flags are AVOption generic flags. See AV_OPT_FLAG_* definitions
In doubt, just look at the other AVOption definitions all around the codebase,
there are tons of examples.
Class
-----
AVFILTER_DEFINE_CLASS(foobar) will define a unique foobar_class with some kind
of signature referencing the options, etc. which will be referenced in the
definition of the AVFilter.
Filter definition
-----------------
At the end of the file, you will find foobar_inputs, foobar_outputs and
the AVFilter ff_vf_foobar. Don't forget to update the AVFilter.description with
a description of what the filter does, starting with a capitalized letter and
ending with a period. You'd better drop the AVFilter.flags entry for now, and
re-add them later depending on the capabilities of your filter.
Callbacks
---------
Let's now study the common callbacks. Before going into details, note that all
these callbacks are explained in details in libavfilter/avfilter.h, so in
doubt, refer to the doxy in that file.
init()
~~~~~~
First one to be called is init(). It's flagged as cold because not called
often. Look for "cold" on
http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html for more
information.
As the name suggests, init() is where you eventually initialize and allocate
your buffers, pre-compute your data, etc. Note that at this point, your local
context already has the user options initialized, but you still haven't any
clue about the kind of data input you will get, so this function is often
mainly used to sanitize the user options.
Some init()s will also define the number of inputs or outputs dynamically
according to the user options. A good example of this is the split filter, but
we won't cover this here since vf_foobar is just a simple 1:1 filter.
uninit()
~~~~~~~~
Similarly, there is the uninit() callback, doing what the name suggest. Free
everything you allocated here.
query_formats()
~~~~~~~~~~~~~~~
This is following the init() and is used for the format negotiation, basically
where you say what pixel format(s) (gray, rgb 32, yuv 4:2:0, ...) you accept
for your inputs, and what you can output. All pixel formats are defined in
libavutil/pixfmt.h. If you don't change the pixel format between the input and
the output, you just have to define a pixel formats array and call
ff_set_common_formats(). For more complex negotiation, you can refer to other
filters such as vf_scale.
config_props()
~~~~~~~~~~~~~~
This callback is not necessary, but you will probably have one or more
config_props() anyway. It's not a callback for the filter itself but for its
inputs or outputs (they're called "pads" - AVFilterPad - in libavfilter's
lexicon).
Inside the input config_props(), you are at a point where you know which pixel
format has been picked after query_formats(), and more information such as the
video width and height (inlink->{w,h}). So if you need to update your internal
context state depending on your input you can do it here. In edgedetect you can
see that this callback is used to allocate buffers depending on these
information. They will be destroyed in uninit().
Inside the output config_props(), you can define what you want to change in the
output. Typically, if your filter is going to double the size of the video, you
will update outlink->w and outlink->h.
filter_frame()
~~~~~~~~~~~~~~
This is the callback you are waiting from the beginning: it is where you
process the received frames. Along with the frame, you get the input link from
where the frame comes from.
static int filter_frame(AVFilterLink *inlink, AVFrame *in) { ... }
You can get the filter context through that input link:
AVFilterContext *ctx = inlink->dst;
Then access your internal state context:
FoobarContext *foobar = ctx->priv;
And also the output link where you will send your frame when you are done:
AVFilterLink *outlink = ctx->outputs[0];
Here, we are picking the first output. You can have several, but in our case we
only have one since we are in a 1:1 input-output situation.
If you want to define a simple pass-through filter, you can just do:
return ff_filter_frame(outlink, in);
But of course, you probably want to change the data of that frame.
This can be done by accessing frame->data[] and frame->linesize[]. Important
note here: the width does NOT match the linesize. The linesize is always
greater or equal to the width. The padding created should not be changed or
even read. Typically, keep in mind that a previous filter in your chain might
have altered the frame dimension but not the linesize. Imagine a crop filter
that halves the video size: the linesizes won't be changed, just the width.
<-------------- linesize ------------------------>
+-------------------------------+----------------+ ^
| | | |
| | | |
| picture | padding | | height
| | | |
| | | |
+-------------------------------+----------------+ v
<----------- width ------------->
Before modifying the "in" frame, you have to make sure it is writable, or get a
new one. Multiple scenarios are possible here depending on the kind of
processing you are doing.
Let's say you want to change one pixel depending on multiple pixels (typically
the surrounding ones) of the input. In that case, you can't do an in-place
processing of the input so you will need to allocate a new frame, with the same
properties as the input one, and send that new frame to the next filter:
AVFrame *out = ff_get_video_buffer(outlink, outlink->w, outlink->h);
if (!out) {
av_frame_free(&in);
return AVERROR(ENOMEM);
}
av_frame_copy_props(out, in);
// out->data[...] = foobar(in->data[...])
av_frame_free(&in);
return ff_filter_frame(outlink, out);
In-place processing
~~~~~~~~~~~~~~~~~~~
If you can just alter the input frame, you probably just want to do that
instead:
av_frame_make_writable(in);
// in->data[...] = foobar(in->data[...])
return ff_filter_frame(outlink, in);
You may wonder why a frame might not be writable. The answer is that for
example a previous filter might still own the frame data: imagine a filter
prior to yours in the filtergraph that needs to cache the frame. You must not
alter that frame, otherwise it will make that previous filter buggy. This is
where av_frame_make_writable() helps (it won't have any effect if the frame
already is writable).
The problem with using av_frame_make_writable() is that in the worst case it
will copy the whole input frame before you change it all over again with your
filter: if the frame is not writable, av_frame_make_writable() will allocate
new buffers, and copy the input frame data. You don't want that, and you can
avoid it by just allocating a new buffer if necessary, and process from in to
out in your filter, saving the memcpy. Generally, this is done following this
scheme:
int direct = 0;
AVFrame *out;
if (av_frame_is_writable(in)) {
direct = 1;
out = in;
} else {
out = ff_get_video_buffer(outlink, outlink->w, outlink->h);
if (!out) {
av_frame_free(&in);
return AVERROR(ENOMEM);
}
av_frame_copy_props(out, in);
}
// out->data[...] = foobar(in->data[...])
if (!direct)
av_frame_free(&in);
return ff_filter_frame(outlink, out);
Of course, this will only work if you can do in-place processing. To test if
your filter handles well the permissions, you can use the perms filter. For
example with:
-vf perms=random,foobar
Make sure no automatic pixel conversion is inserted between perms and foobar,
otherwise the frames permissions might change again and the test will be
meaningless: add av_log(0,0,"direct=%d\n",direct) in your code to check that.
You can avoid the issue with something like:
-vf format=rgb24,perms=random,foobar
...assuming your filter accepts rgb24 of course. This will make sure the
necessary conversion is inserted before the perms filter.
Timeline
~~~~~~~~
Adding timeline support
(http://ffmpeg.org/ffmpeg-filters.html#Timeline-editing) is often an easy
feature to add. In the most simple case, you just have to add
AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC to the AVFilter.flags. You can typically
do this when your filter does not need to save the previous context frames, or
basically if your filter just alter whatever goes in and doesn't need
previous/future information. See for instance commit 86cb986ce that adds
timeline support to the fieldorder filter.
In some cases, you might need to reset your context somehow. This is handled by
the AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL flag which is used if the filter
must not process the frames but still wants to keep track of the frames going
through (to keep them in cache for when it's enabled again). See for example
commit 69d72140a that adds timeline support to the phase filter.
Threading
~~~~~~~~~
libavfilter does not yet support frame threading, but you can add slice
threading to your filters.
Let's say the foobar filter has the following frame processing function:
dst = out->data[0];
src = in ->data[0];
for (y = 0; y < inlink->h; y++) {
for (x = 0; x < inlink->w; x++)
dst[x] = foobar(src[x]);
dst += out->linesize[0];
src += in ->linesize[0];
}
The first thing is to make this function work into slices. The new code will
look like this:
for (y = slice_start; y < slice_end; y++) {
for (x = 0; x < inlink->w; x++)
dst[x] = foobar(src[x]);
dst += out->linesize[0];
src += in ->linesize[0];
}
The source and destination pointers, and slice_start/slice_end will be defined
according to the number of jobs. Generally, it looks like this:
const int slice_start = (in->height * jobnr ) / nb_jobs;
const int slice_end = (in->height * (jobnr+1)) / nb_jobs;
uint8_t *dst = out->data[0] + slice_start * out->linesize[0];
const uint8_t *src = in->data[0] + slice_start * in->linesize[0];
This new code will be isolated in a new filter_slice():
static int filter_slice(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) { ... }
Note that we need our input and output frame to define slice_{start,end} and
dst/src, which are not available in that callback. They will be transmitted
through the opaque void *arg. You have to define a structure which contains
everything you need:
typedef struct ThreadData {
AVFrame *in, *out;
} ThreadData;
If you need some more information from your local context, put them here.
In you filter_slice function, you access it like that:
const ThreadData *td = arg;
Then in your filter_frame() callback, you need to call the threading
distributor with something like this:
ThreadData td;
// ...
td.in = in;
td.out = out;
ctx->internal->execute(ctx, filter_slice, &td, NULL, FFMIN(outlink->h, ctx->graph->nb_threads));
// ...
return ff_filter_frame(outlink, out);
Last step is to add AVFILTER_FLAG_SLICE_THREADS flag to AVFilter.flags.
For more example of slice threading additions, you can try to run git log -p
--grep 'slice threading' libavfilter/
Finalization
~~~~~~~~~~~~
When your awesome filter is finished, you have a few more steps before you're
done:
- write its documentation in doc/filters.texi, and test the output with make
doc/ffmpeg-filters.html.
- add a FATE test, generally by adding an entry in
tests/fate/filter-video.mak, add running make fate-filter-foobar GEN=1 to
generate the data.
- add an entry in the Changelog
- edit libavfilter/version.h and increase LIBAVFILTER_VERSION_MINOR by one
(and reset LIBAVFILTER_VERSION_MICRO to 100)
- git add ... && git commit -m "avfilter: add foobar filter." && git format-patch -1
When all of this is done, you can submit your patch to the ffmpeg-devel
mailing-list for review. If you need any help, feel free to come on our IRC
channel, #ffmpeg-devel on irc.freenode.net.

1176
ffmpeg.c

File diff suppressed because it is too large Load Diff

View File

@@ -44,6 +44,7 @@
#include "libavutil/fifo.h"
#include "libavutil/pixfmt.h"
#include "libavutil/rational.h"
#include "libavutil/threadmessage.h"
#include "libswresample/swresample.h"
@@ -60,6 +61,8 @@ enum HWAccelID {
HWACCEL_NONE = 0,
HWACCEL_AUTO,
HWACCEL_VDPAU,
HWACCEL_DXVA2,
HWACCEL_VDA,
};
typedef struct HWAccel {
@@ -201,6 +204,8 @@ typedef struct OptionsContext {
int nb_guess_layout_max;
SpecifierOpt *apad;
int nb_apad;
SpecifierOpt *discard;
int nb_discard;
} OptionsContext;
typedef struct InputFilter {
@@ -237,7 +242,12 @@ typedef struct InputStream {
int file_index;
AVStream *st;
int discard; /* true if stream data should be discarded */
int decoding_needed; /* true if the packets must be decoded in 'raw_fifo' */
int user_set_discard;
int decoding_needed; /* non zero if the packets must be decoded in 'raw_fifo', see DECODING_FOR_* */
#define DECODING_FOR_OST 1
#define DECODING_FOR_FILTER 2
AVCodecContext *dec_ctx;
AVCodec *dec;
AVFrame *decoded_frame;
AVFrame *filter_frame; /* a ref of decoded_frame, to be sent to filters */
@@ -257,7 +267,7 @@ typedef struct InputStream {
double ts_scale;
int saw_first_ts;
int showed_multi_packet_warning;
AVDictionary *opts;
AVDictionary *decoder_opts;
AVRational framerate; /* framerate forced with -r */
int top_field_first;
int guess_layout_max;
@@ -306,6 +316,15 @@ typedef struct InputStream {
int (*hwaccel_retrieve_data)(AVCodecContext *s, AVFrame *frame);
enum AVPixelFormat hwaccel_pix_fmt;
enum AVPixelFormat hwaccel_retrieved_pix_fmt;
/* stats */
// combined size of all the packets read
uint64_t data_size;
/* number of packets successfully read for this stream */
uint64_t nb_packets;
// number of frames/samples retrieved from the decoder
uint64_t frames_decoded;
uint64_t samples_decoded;
} InputStream;
typedef struct InputFile {
@@ -325,13 +344,10 @@ typedef struct InputFile {
int accurate_seek;
#if HAVE_PTHREADS
AVThreadMessageQueue *in_thread_queue;
pthread_t thread; /* thread reading from this file */
int non_blocking; /* reading packets from the thread should not block */
int finished; /* the thread has exited */
int joined; /* the thread has been joined */
pthread_mutex_t fifo_lock; /* lock for access to fifo */
pthread_cond_t fifo_cond; /* the main thread will signal on this cond after reading from fifo */
AVFifoBuffer *fifo; /* demuxed packets are stored here; freed by the main thread */
#endif
} InputFile;
@@ -368,9 +384,12 @@ typedef struct OutputStream {
/* dts of the last packet sent to the muxer */
int64_t last_mux_dts;
AVBitStreamFilterContext *bitstream_filters;
AVCodecContext *enc_ctx;
AVCodec *enc;
int64_t max_frames;
AVFrame *filtered_frame;
AVFrame *last_frame;
int last_droped;
/* video only */
AVRational frame_rate;
@@ -388,7 +407,7 @@ typedef struct OutputStream {
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 */
int *audio_channels_map; /* list of the channels id to pick from the source stream */
int audio_channels_mapped; /* number of channels in audio_channels_map */
char *logfile_prefix;
@@ -400,9 +419,10 @@ typedef struct OutputStream {
char *filters_script; ///< filtergraph script associated to the -filter_script option
int64_t sws_flags;
AVDictionary *opts;
AVDictionary *encoder_opts;
AVDictionary *swr_opts;
AVDictionary *resample_opts;
AVDictionary *bsf_args;
char *apad;
OSTFinished finished; /* no more packets should be written for this stream */
int unavailable; /* true if the steram is unavailable (possibly temporarily) */
@@ -414,6 +434,15 @@ typedef struct OutputStream {
int keep_pix_fmt;
AVCodecParserContext *parser;
/* stats */
// combined size of all the packets written
uint64_t data_size;
// number of packets send to the muxer
uint64_t packets_written;
// number of frames/samples sent to the encoder
uint64_t frames_encoded;
uint64_t samples_encoded;
} OutputStream;
typedef struct OutputFile {
@@ -455,6 +484,7 @@ extern int do_deinterlace;
extern int do_hex_dump;
extern int do_pkt_dump;
extern int copy_ts;
extern int start_at_zero;
extern int copy_tb;
extern int debug_ts;
extern int exit_on_error;
@@ -464,6 +494,7 @@ extern int stdin_interaction;
extern int frame_bits_per_raw_sample;
extern AVIOContext *progress_avio;
extern float max_error_rate;
extern int vdpau_api_ver;
extern const AVIOInterruptCB int_cb;
@@ -479,11 +510,12 @@ void show_usage(void);
void opt_output_file(void *optctx, const char *filename);
void remove_avoptions(AVDictionary **a, AVDictionary *b);
void assert_avoptions(AVDictionary *m);
int guess_input_channel_layout(InputStream *ist);
enum AVPixelFormat choose_pixel_fmt(AVStream *st, AVCodec *codec, enum AVPixelFormat target);
enum AVPixelFormat choose_pixel_fmt(AVStream *st, AVCodecContext *avctx, AVCodec *codec, enum AVPixelFormat target);
void choose_sample_fmt(AVStream *st, AVCodec *codec);
int configure_filtergraph(FilterGraph *fg);
@@ -494,5 +526,7 @@ FilterGraph *init_simple_filtergraph(InputStream *ist, OutputStream *ost);
int ffmpeg_parse_options(int argc, char **argv);
int vdpau_init(AVCodecContext *s);
int dxva2_init(AVCodecContext *s);
int vda_init(AVCodecContext *s);
#endif /* FFMPEG_H */

620
ffmpeg_dxva2.c Normal file
View File

@@ -0,0 +1,620 @@
/*
* 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
*/
#include <windows.h>
#ifdef _WIN32_WINNT
#undef _WIN32_WINNT
#endif
#define _WIN32_WINNT 0x0600
#define DXVA2API_USE_BITFIELDS
#define COBJMACROS
#include <stdint.h>
#include <d3d9.h>
#include <dxva2api.h>
#include "ffmpeg.h"
#include "libavcodec/dxva2.h"
#include "libavutil/avassert.h"
#include "libavutil/buffer.h"
#include "libavutil/frame.h"
#include "libavutil/imgutils.h"
#include "libavutil/pixfmt.h"
/* define all the GUIDs used directly here,
to avoid problems with inconsistent dxva2api.h versions in mingw-w64 and different MSVC version */
#include <initguid.h>
DEFINE_GUID(IID_IDirectXVideoDecoderService, 0xfc51a551,0xd5e7,0x11d9,0xaf,0x55,0x00,0x05,0x4e,0x43,0xff,0x02);
DEFINE_GUID(DXVA2_ModeMPEG2_VLD, 0xee27417f, 0x5e28,0x4e65,0xbe,0xea,0x1d,0x26,0xb5,0x08,0xad,0xc9);
DEFINE_GUID(DXVA2_ModeMPEG2and1_VLD, 0x86695f12, 0x340e,0x4f04,0x9f,0xd3,0x92,0x53,0xdd,0x32,0x74,0x60);
DEFINE_GUID(DXVA2_ModeH264_E, 0x1b81be68, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA2_ModeH264_F, 0x1b81be69, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVADDI_Intel_ModeH264_E, 0x604F8E68, 0x4951,0x4C54,0x88,0xFE,0xAB,0xD2,0x5C,0x15,0xB3,0xD6);
DEFINE_GUID(DXVA2_ModeVC1_D, 0x1b81beA3, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA2_ModeVC1_D2010, 0x1b81beA4, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA2_NoEncrypt, 0x1b81beD0, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(GUID_NULL, 0x00000000, 0x0000,0x0000,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00);
typedef IDirect3D9* WINAPI pDirect3DCreate9(UINT);
typedef HRESULT WINAPI pCreateDeviceManager9(UINT *, IDirect3DDeviceManager9 **);
typedef struct dxva2_mode {
const GUID *guid;
enum AVCodecID codec;
} dxva2_mode;
static const dxva2_mode dxva2_modes[] = {
/* MPEG-2 */
{ &DXVA2_ModeMPEG2_VLD, AV_CODEC_ID_MPEG2VIDEO },
{ &DXVA2_ModeMPEG2and1_VLD, AV_CODEC_ID_MPEG2VIDEO },
/* H.264 */
{ &DXVA2_ModeH264_F, AV_CODEC_ID_H264 },
{ &DXVA2_ModeH264_E, AV_CODEC_ID_H264 },
/* Intel specific H.264 mode */
{ &DXVADDI_Intel_ModeH264_E, AV_CODEC_ID_H264 },
/* VC-1 / WMV3 */
{ &DXVA2_ModeVC1_D2010, AV_CODEC_ID_VC1 },
{ &DXVA2_ModeVC1_D2010, AV_CODEC_ID_WMV3 },
{ &DXVA2_ModeVC1_D, AV_CODEC_ID_VC1 },
{ &DXVA2_ModeVC1_D, AV_CODEC_ID_WMV3 },
{ NULL, 0 },
};
typedef struct surface_info {
int used;
uint64_t age;
} surface_info;
typedef struct DXVA2Context {
HMODULE d3dlib;
HMODULE dxva2lib;
HANDLE deviceHandle;
IDirect3D9 *d3d9;
IDirect3DDevice9 *d3d9device;
IDirect3DDeviceManager9 *d3d9devmgr;
IDirectXVideoDecoderService *decoder_service;
IDirectXVideoDecoder *decoder;
GUID decoder_guid;
DXVA2_ConfigPictureDecode decoder_config;
LPDIRECT3DSURFACE9 *surfaces;
surface_info *surface_infos;
uint32_t num_surfaces;
uint64_t surface_age;
AVFrame *tmp_frame;
} DXVA2Context;
typedef struct DXVA2SurfaceWrapper {
DXVA2Context *ctx;
LPDIRECT3DSURFACE9 surface;
IDirectXVideoDecoder *decoder;
} DXVA2SurfaceWrapper;
static void dxva2_destroy_decoder(AVCodecContext *s)
{
InputStream *ist = s->opaque;
DXVA2Context *ctx = ist->hwaccel_ctx;
int i;
if (ctx->surfaces) {
for (i = 0; i < ctx->num_surfaces; i++) {
if (ctx->surfaces[i])
IDirect3DSurface9_Release(ctx->surfaces[i]);
}
}
av_freep(&ctx->surfaces);
av_freep(&ctx->surface_infos);
ctx->num_surfaces = 0;
ctx->surface_age = 0;
if (ctx->decoder) {
IDirectXVideoDecoder_Release(ctx->decoder);
ctx->decoder = NULL;
}
}
static void dxva2_uninit(AVCodecContext *s)
{
InputStream *ist = s->opaque;
DXVA2Context *ctx = ist->hwaccel_ctx;
ist->hwaccel_uninit = NULL;
ist->hwaccel_get_buffer = NULL;
ist->hwaccel_retrieve_data = NULL;
if (ctx->decoder)
dxva2_destroy_decoder(s);
if (ctx->decoder_service)
IDirectXVideoDecoderService_Release(ctx->decoder_service);
if (ctx->d3d9devmgr && ctx->deviceHandle != INVALID_HANDLE_VALUE)
IDirect3DDeviceManager9_CloseDeviceHandle(ctx->d3d9devmgr, ctx->deviceHandle);
if (ctx->d3d9devmgr)
IDirect3DDeviceManager9_Release(ctx->d3d9devmgr);
if (ctx->d3d9device)
IDirect3DDevice9_Release(ctx->d3d9device);
if (ctx->d3d9)
IDirect3D9_Release(ctx->d3d9);
if (ctx->d3dlib)
FreeLibrary(ctx->d3dlib);
if (ctx->dxva2lib)
FreeLibrary(ctx->dxva2lib);
av_frame_free(&ctx->tmp_frame);
av_freep(&ist->hwaccel_ctx);
av_freep(&s->hwaccel_context);
}
static void dxva2_release_buffer(void *opaque, uint8_t *data)
{
DXVA2SurfaceWrapper *w = opaque;
DXVA2Context *ctx = w->ctx;
int i;
for (i = 0; i < ctx->num_surfaces; i++) {
if (ctx->surfaces[i] == w->surface) {
ctx->surface_infos[i].used = 0;
break;
}
}
IDirect3DSurface9_Release(w->surface);
IDirectXVideoDecoder_Release(w->decoder);
av_free(w);
}
static int dxva2_get_buffer(AVCodecContext *s, AVFrame *frame, int flags)
{
InputStream *ist = s->opaque;
DXVA2Context *ctx = ist->hwaccel_ctx;
int i, old_unused = -1;
LPDIRECT3DSURFACE9 surface;
DXVA2SurfaceWrapper *w = NULL;
av_assert0(frame->format == AV_PIX_FMT_DXVA2_VLD);
for (i = 0; i < ctx->num_surfaces; i++) {
surface_info *info = &ctx->surface_infos[i];
if (!info->used && (old_unused == -1 || info->age < ctx->surface_infos[old_unused].age))
old_unused = i;
}
if (old_unused == -1) {
av_log(NULL, AV_LOG_ERROR, "No free DXVA2 surface!\n");
return AVERROR(ENOMEM);
}
i = old_unused;
surface = ctx->surfaces[i];
w = av_mallocz(sizeof(*w));
if (!w)
return AVERROR(ENOMEM);
frame->buf[0] = av_buffer_create((uint8_t*)surface, 0,
dxva2_release_buffer, w,
AV_BUFFER_FLAG_READONLY);
if (!frame->buf[0]) {
av_free(w);
return AVERROR(ENOMEM);
}
w->ctx = ctx;
w->surface = surface;
IDirect3DSurface9_AddRef(w->surface);
w->decoder = ctx->decoder;
IDirectXVideoDecoder_AddRef(w->decoder);
ctx->surface_infos[i].used = 1;
ctx->surface_infos[i].age = ctx->surface_age++;
frame->data[3] = (uint8_t *)surface;
return 0;
}
static int dxva2_retrieve_data(AVCodecContext *s, AVFrame *frame)
{
LPDIRECT3DSURFACE9 surface = (LPDIRECT3DSURFACE9)frame->data[3];
InputStream *ist = s->opaque;
DXVA2Context *ctx = ist->hwaccel_ctx;
D3DSURFACE_DESC surfaceDesc;
D3DLOCKED_RECT LockedRect;
HRESULT hr;
int ret;
IDirect3DSurface9_GetDesc(surface, &surfaceDesc);
ctx->tmp_frame->width = frame->width;
ctx->tmp_frame->height = frame->height;
ctx->tmp_frame->format = AV_PIX_FMT_NV12;
ret = av_frame_get_buffer(ctx->tmp_frame, 32);
if (ret < 0)
return ret;
hr = IDirect3DSurface9_LockRect(surface, &LockedRect, NULL, D3DLOCK_READONLY);
if (FAILED(hr)) {
av_log(NULL, AV_LOG_ERROR, "Unable to lock DXVA2 surface\n");
return AVERROR_UNKNOWN;
}
av_image_copy_plane(ctx->tmp_frame->data[0], ctx->tmp_frame->linesize[0],
(uint8_t*)LockedRect.pBits,
LockedRect.Pitch, frame->width, frame->height);
av_image_copy_plane(ctx->tmp_frame->data[1], ctx->tmp_frame->linesize[1],
(uint8_t*)LockedRect.pBits + LockedRect.Pitch * surfaceDesc.Height,
LockedRect.Pitch, frame->width, frame->height / 2);
IDirect3DSurface9_UnlockRect(surface);
ret = av_frame_copy_props(ctx->tmp_frame, frame);
if (ret < 0)
goto fail;
av_frame_unref(frame);
av_frame_move_ref(frame, ctx->tmp_frame);
return 0;
fail:
av_frame_unref(ctx->tmp_frame);
return ret;
}
static int dxva2_alloc(AVCodecContext *s)
{
InputStream *ist = s->opaque;
int loglevel = (ist->hwaccel_id == HWACCEL_AUTO) ? AV_LOG_VERBOSE : AV_LOG_ERROR;
DXVA2Context *ctx;
pDirect3DCreate9 *createD3D = NULL;
pCreateDeviceManager9 *createDeviceManager = NULL;
HRESULT hr;
D3DPRESENT_PARAMETERS d3dpp = {0};
D3DDISPLAYMODE d3ddm;
unsigned resetToken = 0;
UINT adapter = D3DADAPTER_DEFAULT;
ctx = av_mallocz(sizeof(*ctx));
if (!ctx)
return AVERROR(ENOMEM);
ctx->deviceHandle = INVALID_HANDLE_VALUE;
ist->hwaccel_ctx = ctx;
ist->hwaccel_uninit = dxva2_uninit;
ist->hwaccel_get_buffer = dxva2_get_buffer;
ist->hwaccel_retrieve_data = dxva2_retrieve_data;
ctx->d3dlib = LoadLibrary("d3d9.dll");
if (!ctx->d3dlib) {
av_log(NULL, loglevel, "Failed to load D3D9 library\n");
goto fail;
}
ctx->dxva2lib = LoadLibrary("dxva2.dll");
if (!ctx->dxva2lib) {
av_log(NULL, loglevel, "Failed to load DXVA2 library\n");
goto fail;
}
createD3D = (pDirect3DCreate9 *)GetProcAddress(ctx->d3dlib, "Direct3DCreate9");
if (!createD3D) {
av_log(NULL, loglevel, "Failed to locate Direct3DCreate9\n");
goto fail;
}
createDeviceManager = (pCreateDeviceManager9 *)GetProcAddress(ctx->dxva2lib, "DXVA2CreateDirect3DDeviceManager9");
if (!createDeviceManager) {
av_log(NULL, loglevel, "Failed to locate DXVA2CreateDirect3DDeviceManager9\n");
goto fail;
}
ctx->d3d9 = createD3D(D3D_SDK_VERSION);
if (!ctx->d3d9) {
av_log(NULL, loglevel, "Failed to create IDirect3D object\n");
goto fail;
}
if (ist->hwaccel_device) {
adapter = atoi(ist->hwaccel_device);
av_log(NULL, AV_LOG_INFO, "Using HWAccel device %d\n", adapter);
}
IDirect3D9_GetAdapterDisplayMode(ctx->d3d9, adapter, &d3ddm);
d3dpp.Windowed = TRUE;
d3dpp.BackBufferWidth = 640;
d3dpp.BackBufferHeight = 480;
d3dpp.BackBufferCount = 0;
d3dpp.BackBufferFormat = d3ddm.Format;
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.Flags = D3DPRESENTFLAG_VIDEO;
hr = IDirect3D9_CreateDevice(ctx->d3d9, adapter, D3DDEVTYPE_HAL, GetShellWindow(),
D3DCREATE_SOFTWARE_VERTEXPROCESSING | D3DCREATE_MULTITHREADED | D3DCREATE_FPU_PRESERVE,
&d3dpp, &ctx->d3d9device);
if (FAILED(hr)) {
av_log(NULL, loglevel, "Failed to create Direct3D device\n");
goto fail;
}
hr = createDeviceManager(&resetToken, &ctx->d3d9devmgr);
if (FAILED(hr)) {
av_log(NULL, loglevel, "Failed to create Direct3D device manager\n");
goto fail;
}
hr = IDirect3DDeviceManager9_ResetDevice(ctx->d3d9devmgr, ctx->d3d9device, resetToken);
if (FAILED(hr)) {
av_log(NULL, loglevel, "Failed to bind Direct3D device to device manager\n");
goto fail;
}
hr = IDirect3DDeviceManager9_OpenDeviceHandle(ctx->d3d9devmgr, &ctx->deviceHandle);
if (FAILED(hr)) {
av_log(NULL, loglevel, "Failed to open device handle\n");
goto fail;
}
hr = IDirect3DDeviceManager9_GetVideoService(ctx->d3d9devmgr, ctx->deviceHandle, &IID_IDirectXVideoDecoderService, (void **)&ctx->decoder_service);
if (FAILED(hr)) {
av_log(NULL, loglevel, "Failed to create IDirectXVideoDecoderService\n");
goto fail;
}
ctx->tmp_frame = av_frame_alloc();
if (!ctx->tmp_frame)
goto fail;
s->hwaccel_context = av_mallocz(sizeof(struct dxva_context));
if (!s->hwaccel_context)
goto fail;
return 0;
fail:
dxva2_uninit(s);
return AVERROR(EINVAL);
}
static int dxva2_get_decoder_configuration(AVCodecContext *s, const GUID *device_guid,
const DXVA2_VideoDesc *desc,
DXVA2_ConfigPictureDecode *config)
{
InputStream *ist = s->opaque;
int loglevel = (ist->hwaccel_id == HWACCEL_AUTO) ? AV_LOG_VERBOSE : AV_LOG_ERROR;
DXVA2Context *ctx = ist->hwaccel_ctx;
unsigned cfg_count = 0, best_score = 0;
DXVA2_ConfigPictureDecode *cfg_list = NULL;
DXVA2_ConfigPictureDecode best_cfg = {{0}};
HRESULT hr;
int i;
hr = IDirectXVideoDecoderService_GetDecoderConfigurations(ctx->decoder_service, device_guid, desc, NULL, &cfg_count, &cfg_list);
if (FAILED(hr)) {
av_log(NULL, loglevel, "Unable to retrieve decoder configurations\n");
return AVERROR(EINVAL);
}
for (i = 0; i < cfg_count; i++) {
DXVA2_ConfigPictureDecode *cfg = &cfg_list[i];
unsigned score;
if (cfg->ConfigBitstreamRaw == 1)
score = 1;
else if (s->codec_id == AV_CODEC_ID_H264 && cfg->ConfigBitstreamRaw == 2)
score = 2;
else
continue;
if (IsEqualGUID(&cfg->guidConfigBitstreamEncryption, &DXVA2_NoEncrypt))
score += 16;
if (score > best_score) {
best_score = score;
best_cfg = *cfg;
}
}
CoTaskMemFree(cfg_list);
if (!best_score) {
av_log(NULL, loglevel, "No valid decoder configuration available\n");
return AVERROR(EINVAL);
}
*config = best_cfg;
return 0;
}
static int dxva2_create_decoder(AVCodecContext *s)
{
InputStream *ist = s->opaque;
int loglevel = (ist->hwaccel_id == HWACCEL_AUTO) ? AV_LOG_VERBOSE : AV_LOG_ERROR;
DXVA2Context *ctx = ist->hwaccel_ctx;
struct dxva_context *dxva_ctx = s->hwaccel_context;
GUID *guid_list = NULL;
unsigned guid_count = 0, i, j;
GUID device_guid = GUID_NULL;
D3DFORMAT target_format = 0;
DXVA2_VideoDesc desc = { 0 };
DXVA2_ConfigPictureDecode config;
HRESULT hr;
int surface_alignment;
int ret;
hr = IDirectXVideoDecoderService_GetDecoderDeviceGuids(ctx->decoder_service, &guid_count, &guid_list);
if (FAILED(hr)) {
av_log(NULL, loglevel, "Failed to retrieve decoder device GUIDs\n");
goto fail;
}
for (i = 0; dxva2_modes[i].guid; i++) {
D3DFORMAT *target_list = NULL;
unsigned target_count = 0;
const dxva2_mode *mode = &dxva2_modes[i];
if (mode->codec != s->codec_id)
continue;
for (j = 0; j < guid_count; j++) {
if (IsEqualGUID(mode->guid, &guid_list[j]))
break;
}
if (j == guid_count)
continue;
hr = IDirectXVideoDecoderService_GetDecoderRenderTargets(ctx->decoder_service, mode->guid, &target_count, &target_list);
if (FAILED(hr)) {
continue;
}
for (j = 0; j < target_count; j++) {
const D3DFORMAT format = target_list[j];
if (format == MKTAG('N','V','1','2')) {
target_format = format;
break;
}
}
CoTaskMemFree(target_list);
if (target_format) {
device_guid = *mode->guid;
break;
}
}
CoTaskMemFree(guid_list);
if (IsEqualGUID(&device_guid, &GUID_NULL)) {
av_log(NULL, loglevel, "No decoder device for codec found\n");
goto fail;
}
desc.SampleWidth = s->coded_width;
desc.SampleHeight = s->coded_height;
desc.Format = target_format;
ret = dxva2_get_decoder_configuration(s, &device_guid, &desc, &config);
if (ret < 0) {
goto fail;
}
/* decoding MPEG-2 requires additional alignment on some Intel GPUs,
but it causes issues for H.264 on certain AMD GPUs..... */
if (s->codec_id == AV_CODEC_ID_MPEG2VIDEO)
surface_alignment = 32;
else
surface_alignment = 16;
/* 4 base work surfaces */
ctx->num_surfaces = 4;
/* add surfaces based on number of possible refs */
if (s->codec_id == AV_CODEC_ID_H264)
ctx->num_surfaces += 16;
else
ctx->num_surfaces += 2;
/* add extra surfaces for frame threading */
if (s->active_thread_type & FF_THREAD_FRAME)
ctx->num_surfaces += s->thread_count;
ctx->surfaces = av_mallocz(ctx->num_surfaces * sizeof(*ctx->surfaces));
ctx->surface_infos = av_mallocz(ctx->num_surfaces * sizeof(*ctx->surface_infos));
if (!ctx->surfaces || !ctx->surface_infos) {
av_log(NULL, loglevel, "Unable to allocate surface arrays\n");
goto fail;
}
hr = IDirectXVideoDecoderService_CreateSurface(ctx->decoder_service,
FFALIGN(s->coded_width, surface_alignment),
FFALIGN(s->coded_height, surface_alignment),
ctx->num_surfaces - 1,
target_format, D3DPOOL_DEFAULT, 0,
DXVA2_VideoDecoderRenderTarget,
ctx->surfaces, NULL);
if (FAILED(hr)) {
av_log(NULL, loglevel, "Failed to create %d video surfaces\n", ctx->num_surfaces);
goto fail;
}
hr = IDirectXVideoDecoderService_CreateVideoDecoder(ctx->decoder_service, &device_guid,
&desc, &config, ctx->surfaces,
ctx->num_surfaces, &ctx->decoder);
if (FAILED(hr)) {
av_log(NULL, loglevel, "Failed to create DXVA2 video decoder\n");
goto fail;
}
ctx->decoder_guid = device_guid;
ctx->decoder_config = config;
dxva_ctx->cfg = &ctx->decoder_config;
dxva_ctx->decoder = ctx->decoder;
dxva_ctx->surface = ctx->surfaces;
dxva_ctx->surface_count = ctx->num_surfaces;
if (IsEqualGUID(&ctx->decoder_guid, &DXVADDI_Intel_ModeH264_E))
dxva_ctx->workaround |= FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO;
return 0;
fail:
dxva2_destroy_decoder(s);
return AVERROR(EINVAL);
}
int dxva2_init(AVCodecContext *s)
{
InputStream *ist = s->opaque;
int loglevel = (ist->hwaccel_id == HWACCEL_AUTO) ? AV_LOG_VERBOSE : AV_LOG_ERROR;
DXVA2Context *ctx;
int ret;
if (!ist->hwaccel_ctx) {
ret = dxva2_alloc(s);
if (ret < 0)
return ret;
}
ctx = ist->hwaccel_ctx;
if (s->codec_id == AV_CODEC_ID_H264 &&
(s->profile & ~FF_PROFILE_H264_CONSTRAINED) > FF_PROFILE_H264_HIGH) {
av_log(NULL, loglevel, "Unsupported H.264 profile for DXVA2 HWAccel: %d\n", s->profile);
return AVERROR(EINVAL);
}
if (ctx->decoder)
dxva2_destroy_decoder(s);
ret = dxva2_create_decoder(s);
if (ret < 0) {
av_log(NULL, loglevel, "Error creating the DXVA2 decoder\n");
return ret;
}
return 0;
}

View File

@@ -37,21 +37,23 @@
#include "libavutil/imgutils.h"
#include "libavutil/samplefmt.h"
enum AVPixelFormat choose_pixel_fmt(AVStream *st, AVCodec *codec, enum AVPixelFormat target)
enum AVPixelFormat choose_pixel_fmt(AVStream *st, AVCodecContext *enc_ctx, AVCodec *codec, enum AVPixelFormat target)
{
if (codec && codec->pix_fmts) {
const enum AVPixelFormat *p = codec->pix_fmts;
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(target);
int has_alpha = desc ? desc->nb_components % 2 == 0 : 0;
enum AVPixelFormat best= AV_PIX_FMT_NONE;
const enum AVPixelFormat mjpeg_formats[] = { AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_NONE };
const enum AVPixelFormat ljpeg_formats[] = { AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUV420P,
AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_BGRA, AV_PIX_FMT_NONE };
static const enum AVPixelFormat mjpeg_formats[] =
{ AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_NONE };
static const enum AVPixelFormat ljpeg_formats[] =
{ AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUV420P,
AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_BGRA, AV_PIX_FMT_NONE };
if (st->codec->strict_std_compliance <= FF_COMPLIANCE_UNOFFICIAL) {
if (st->codec->codec_id == AV_CODEC_ID_MJPEG) {
if (enc_ctx->strict_std_compliance <= FF_COMPLIANCE_UNOFFICIAL) {
if (enc_ctx->codec_id == AV_CODEC_ID_MJPEG) {
p = mjpeg_formats;
} else if (st->codec->codec_id == AV_CODEC_ID_LJPEG) {
} else if (enc_ctx->codec_id == AV_CODEC_ID_LJPEG) {
p =ljpeg_formats;
}
}
@@ -97,21 +99,21 @@ 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);
AVDictionaryEntry *strict_dict = av_dict_get(ost->encoder_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);
av_opt_set(ost->enc_ctx, "strict", strict_dict->value, 0);
if (ost->keep_pix_fmt) {
if (ost->filter)
avfilter_graph_set_auto_convert(ost->filter->graph->graph,
AVFILTER_AUTO_CONVERT_NONE);
if (ost->st->codec->pix_fmt == AV_PIX_FMT_NONE)
if (ost->enc_ctx->pix_fmt == AV_PIX_FMT_NONE)
return NULL;
return av_strdup(av_get_pix_fmt_name(ost->st->codec->pix_fmt));
return av_strdup(av_get_pix_fmt_name(ost->enc_ctx->pix_fmt));
}
if (ost->st->codec->pix_fmt != AV_PIX_FMT_NONE) {
return av_strdup(av_get_pix_fmt_name(choose_pixel_fmt(ost->st, ost->enc, ost->st->codec->pix_fmt)));
if (ost->enc_ctx->pix_fmt != AV_PIX_FMT_NONE) {
return av_strdup(av_get_pix_fmt_name(choose_pixel_fmt(ost->st, ost->enc_ctx, ost->enc, ost->enc_ctx->pix_fmt)));
} else if (ost->enc && ost->enc->pix_fmts) {
const enum AVPixelFormat *p;
AVIOContext *s = NULL;
@@ -122,10 +124,10 @@ static char *choose_pix_fmts(OutputStream *ost)
exit_program(1);
p = ost->enc->pix_fmts;
if (ost->st->codec->strict_std_compliance <= FF_COMPLIANCE_UNOFFICIAL) {
if (ost->st->codec->codec_id == AV_CODEC_ID_MJPEG) {
if (ost->enc_ctx->strict_std_compliance <= FF_COMPLIANCE_UNOFFICIAL) {
if (ost->enc_ctx->codec_id == AV_CODEC_ID_MJPEG) {
p = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_NONE };
} else if (ost->st->codec->codec_id == AV_CODEC_ID_LJPEG) {
} else if (ost->enc_ctx->codec_id == AV_CODEC_ID_LJPEG) {
p = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUV420P,
AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_BGRA, AV_PIX_FMT_NONE };
}
@@ -147,8 +149,8 @@ static char *choose_pix_fmts(OutputStream *ost)
#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); \
if (ost->enc_ctx->var != none) { \
get_name(ost->enc_ctx->var); \
return av_strdup(name); \
} else if (ost->enc && ost->enc->supported_list) { \
const type *p; \
@@ -260,7 +262,7 @@ static void init_input_filter(FilterGraph *fg, AVFilterInOut *in)
/* find the first unused stream of corresponding type */
for (i = 0; i < nb_input_streams; i++) {
ist = input_streams[i];
if (ist->st->codec->codec_type == type && ist->discard)
if (ist->dec_ctx->codec_type == type && ist->discard)
break;
}
if (i == nb_input_streams) {
@@ -273,7 +275,7 @@ static void init_input_filter(FilterGraph *fg, AVFilterInOut *in)
av_assert0(ist);
ist->discard = 0;
ist->decoding_needed++;
ist->decoding_needed |= DECODING_FOR_FILTER;
ist->st->discard = AVDISCARD_NONE;
GROW_ARRAY(fg->inputs, fg->nb_inputs);
@@ -342,7 +344,7 @@ static int configure_output_video_filter(FilterGraph *fg, OutputFilter *ofilter,
char *pix_fmts;
OutputStream *ost = ofilter->ost;
OutputFile *of = output_files[ost->file_index];
AVCodecContext *codec = ost->st->codec;
AVCodecContext *codec = ost->enc_ctx;
AVFilterContext *last_filter = out->filter_ctx;
int pad_idx = out->pad_idx;
int ret;
@@ -381,9 +383,8 @@ static int configure_output_video_filter(FilterGraph *fg, OutputFilter *ofilter,
snprintf(name, sizeof(name), "pixel format for output stream %d:%d",
ost->file_index, ost->index);
ret = avfilter_graph_create_filter(&filter,
avfilter_get_by_name("format"),
"format", pix_fmts, NULL,
fg->graph);
avfilter_get_by_name("format"),
"format", pix_fmts, NULL, fg->graph);
av_freep(&pix_fmts);
if (ret < 0)
return ret;
@@ -432,7 +433,7 @@ static int configure_output_audio_filter(FilterGraph *fg, OutputFilter *ofilter,
{
OutputStream *ost = ofilter->ost;
OutputFile *of = output_files[ost->file_index];
AVCodecContext *codec = ost->st->codec;
AVCodecContext *codec = ost->enc_ctx;
AVFilterContext *last_filter = out->filter_ctx;
int pad_idx = out->pad_idx;
char *sample_fmts, *sample_rates, *channel_layouts;
@@ -593,8 +594,8 @@ static int sub2video_prepare(InputStream *ist)
/* Compute the size of the canvas for the subtitles stream.
If the subtitles codec has set a size, use it. Otherwise use the
maximum dimensions of the video streams in the same file. */
w = ist->st->codec->width;
h = ist->st->codec->height;
w = ist->dec_ctx->width;
h = ist->dec_ctx->height;
if (!(w && h)) {
for (i = 0; i < avf->nb_streams; i++) {
if (avf->streams[i]->codec->codec_type == AVMEDIA_TYPE_VIDEO) {
@@ -608,16 +609,17 @@ static int sub2video_prepare(InputStream *ist)
}
av_log(avf, AV_LOG_INFO, "sub2video: using %dx%d canvas\n", w, h);
}
ist->sub2video.w = ist->st->codec->width = ist->resample_width = w;
ist->sub2video.h = ist->st->codec->height = ist->resample_height = h;
ist->sub2video.w = ist->dec_ctx->width = ist->resample_width = w;
ist->sub2video.h = ist->dec_ctx->height = ist->resample_height = h;
/* rectangles are AV_PIX_FMT_PAL8, but we have no guarantee that the
palettes for all rectangles are identical or compatible */
ist->resample_pix_fmt = ist->st->codec->pix_fmt = AV_PIX_FMT_RGB32;
ist->resample_pix_fmt = ist->dec_ctx->pix_fmt = AV_PIX_FMT_RGB32;
ist->sub2video.frame = av_frame_alloc();
if (!ist->sub2video.frame)
return AVERROR(ENOMEM);
ist->sub2video.last_pts = INT64_MIN;
return 0;
}
@@ -635,8 +637,9 @@ static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter,
AVBPrint args;
char name[255];
int ret, pad_idx = 0;
int64_t tsoffset = 0;
if (ist->st->codec->codec_type == AVMEDIA_TYPE_AUDIO) {
if (ist->dec_ctx->codec_type == AVMEDIA_TYPE_AUDIO) {
av_log(NULL, AV_LOG_ERROR, "Cannot connect video filter to audio input\n");
return AVERROR(EINVAL);
}
@@ -644,7 +647,7 @@ static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter,
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) {
if (ist->dec_ctx->codec_type == AVMEDIA_TYPE_SUBTITLE) {
ret = sub2video_prepare(ist);
if (ret < 0)
return ret;
@@ -652,7 +655,7 @@ static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter,
sar = ist->st->sample_aspect_ratio.num ?
ist->st->sample_aspect_ratio :
ist->st->codec->sample_aspect_ratio;
ist->dec_ctx->sample_aspect_ratio;
if(!sar.den)
sar = (AVRational){0,1};
av_bprint_init(&args, 0, 1);
@@ -662,7 +665,7 @@ static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter,
ist->resample_height,
ist->hwaccel_retrieve_data ? ist->hwaccel_retrieved_pix_fmt : ist->resample_pix_fmt,
tb.num, tb.den, sar.num, sar.den,
SWS_BILINEAR + ((ist->st->codec->flags&CODEC_FLAG_BITEXACT) ? SWS_BITEXACT:0));
SWS_BILINEAR + ((ist->dec_ctx->flags&CODEC_FLAG_BITEXACT) ? SWS_BITEXACT:0));
if (fr.num && fr.den)
av_bprintf(&args, ":frame_rate=%d/%d", fr.num, fr.den);
snprintf(name, sizeof(name), "graph %d input from stream %d:%d", fg->index,
@@ -709,8 +712,14 @@ static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter,
snprintf(name, sizeof(name), "trim for input stream %d:%d",
ist->file_index, ist->st->index);
if (copy_ts) {
tsoffset = f->start_time == AV_NOPTS_VALUE ? 0 : f->start_time;
if (!start_at_zero && f->ctx->start_time != AV_NOPTS_VALUE)
tsoffset += f->ctx->start_time;
}
ret = insert_trim(((f->start_time == AV_NOPTS_VALUE) || !f->accurate_seek) ?
AV_NOPTS_VALUE : 0, f->recording_time, &last_filter, &pad_idx, name);
AV_NOPTS_VALUE : tsoffset, f->recording_time,
&last_filter, &pad_idx, name);
if (ret < 0)
return ret;
@@ -729,22 +738,23 @@ static int configure_input_audio_filter(FilterGraph *fg, InputFilter *ifilter,
AVBPrint args;
char name[255];
int ret, pad_idx = 0;
int64_t tsoffset = 0;
if (ist->st->codec->codec_type != AVMEDIA_TYPE_AUDIO) {
if (ist->dec_ctx->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));
if (ist->st->codec->channel_layout)
1, ist->dec_ctx->sample_rate,
ist->dec_ctx->sample_rate,
av_get_sample_fmt_name(ist->dec_ctx->sample_fmt));
if (ist->dec_ctx->channel_layout)
av_bprintf(&args, ":channel_layout=0x%"PRIx64,
ist->st->codec->channel_layout);
ist->dec_ctx->channel_layout);
else
av_bprintf(&args, ":channels=%d", ist->st->codec->channels);
av_bprintf(&args, ":channels=%d", ist->dec_ctx->channels);
snprintf(name, sizeof(name), "graph %d input from stream %d:%d", fg->index,
ist->file_index, ist->st->index);
@@ -811,8 +821,14 @@ static int configure_input_audio_filter(FilterGraph *fg, InputFilter *ifilter,
snprintf(name, sizeof(name), "trim for input stream %d:%d",
ist->file_index, ist->st->index);
if (copy_ts) {
tsoffset = f->start_time == AV_NOPTS_VALUE ? 0 : f->start_time;
if (!start_at_zero && f->ctx->start_time != AV_NOPTS_VALUE)
tsoffset += f->ctx->start_time;
}
ret = insert_trim(((f->start_time == AV_NOPTS_VALUE) || !f->accurate_seek) ?
AV_NOPTS_VALUE : 0, f->recording_time, &last_filter, &pad_idx, name);
AV_NOPTS_VALUE : tsoffset, f->recording_time,
&last_filter, &pad_idx, name);
if (ret < 0)
return ret;
@@ -878,7 +894,7 @@ int configure_filtergraph(FilterGraph *fg)
args[strlen(args) - 1] = '\0';
fg->graph->resample_lavr_opts = av_strdup(args);
e = av_dict_get(ost->opts, "threads", NULL, 0);
e = av_dict_get(ost->encoder_opts, "threads", NULL, 0);
if (e)
av_opt_set(fg->graph, "threads", e->value, 0);
}
@@ -896,8 +912,11 @@ int configure_filtergraph(FilterGraph *fg)
init_input_filter(fg, cur);
for (cur = inputs, i = 0; cur; cur = cur->next, i++)
if ((ret = configure_input_filter(fg, fg->inputs[i], cur)) < 0)
if ((ret = configure_input_filter(fg, fg->inputs[i], cur)) < 0) {
avfilter_inout_free(&inputs);
avfilter_inout_free(&outputs);
return ret;
}
avfilter_inout_free(&inputs);
if (!init || simple) {
@@ -923,6 +942,16 @@ int configure_filtergraph(FilterGraph *fg)
}
fg->reconfiguration = 1;
for (i = 0; i < fg->nb_outputs; i++) {
OutputStream *ost = fg->outputs[i]->ost;
if (ost &&
ost->enc->type == AVMEDIA_TYPE_AUDIO &&
!(ost->enc->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE))
av_buffersink_set_frame_size(ost->filter->filter,
ost->enc_ctx->frame_size);
}
return 0;
}

View File

@@ -66,6 +66,12 @@
const HWAccel hwaccels[] = {
#if HAVE_VDPAU_X11
{ "vdpau", vdpau_init, HWACCEL_VDPAU, AV_PIX_FMT_VDPAU },
#endif
#if HAVE_DXVA2_LIB
{ "dxva2", dxva2_init, HWACCEL_DXVA2, AV_PIX_FMT_DXVA2_VLD },
#endif
#if CONFIG_VDA
{ "vda", vda_init, HWACCEL_VDA, AV_PIX_FMT_VDA },
#endif
{ 0 },
};
@@ -85,6 +91,7 @@ int do_benchmark_all = 0;
int do_hex_dump = 0;
int do_pkt_dump = 0;
int copy_ts = 0;
int start_at_zero = 0;
int copy_tb = -1;
int debug_ts = 0;
int exit_on_error = 0;
@@ -98,8 +105,6 @@ float max_error_rate = 2.0/3;
static int intra_only = 0;
static int file_overwrite = 0;
static int no_file_overwrite = 0;
static int video_discard = 0;
static int intra_dc_precision = 8;
static int do_psnr = 0;
static int input_sync;
static int override_ffserver = 0;
@@ -504,7 +509,8 @@ static int opt_recording_timestamp(void *optctx, const char *opt, const char *ar
char buf[128];
int64_t recording_timestamp = parse_time_or_die(opt, arg, 0) / 1E6;
struct tm time = *gmtime((time_t*)&recording_timestamp);
strftime(buf, sizeof(buf), "creation_time=%FT%T%z", &time);
if (!strftime(buf, sizeof(buf), "creation_time=%FT%T%z", &time))
return -1;
parse_option(o, "metadata", buf, options);
av_log(NULL, AV_LOG_WARNING, "%s is deprecated, set the 'creation_time' metadata "
@@ -558,7 +564,7 @@ static AVCodec *choose_decoder(OptionsContext *o, AVFormatContext *s, AVStream *
* list of input streams. */
static void add_input_streams(OptionsContext *o, AVFormatContext *ic)
{
int i;
int i, ret;
for (i = 0; i < ic->nb_streams; i++) {
AVStream *st = ic->streams[i];
@@ -567,6 +573,8 @@ static void add_input_streams(OptionsContext *o, AVFormatContext *ic)
char *framerate = NULL, *hwaccel = NULL, *hwaccel_device = NULL;
char *codec_tag = NULL;
char *next;
char *discard_str = NULL;
const AVOption *discard_opt = av_opt_find(dec, "skip_frame", NULL, 0, 0);
if (!ist)
exit_program(1);
@@ -591,13 +599,33 @@ static void add_input_streams(OptionsContext *o, AVFormatContext *ic)
}
ist->dec = choose_decoder(o, ic, st);
ist->opts = filter_codec_opts(o->g->codec_opts, ist->st->codec->codec_id, ic, st, ist->dec);
ist->decoder_opts = filter_codec_opts(o->g->codec_opts, ist->st->codec->codec_id, ic, st, ist->dec);
ist->reinit_filters = -1;
MATCH_PER_STREAM_OPT(reinit_filters, i, ist->reinit_filters, ic, st);
MATCH_PER_STREAM_OPT(discard, str, discard_str, ic, st);
ist->user_set_discard = AVDISCARD_NONE;
if (discard_str && av_opt_eval_int(dec, discard_opt, discard_str, &ist->user_set_discard) < 0) {
av_log(NULL, AV_LOG_ERROR, "Error parsing discard %s.\n",
discard_str);
exit_program(1);
}
ist->filter_in_rescale_delta_last = AV_NOPTS_VALUE;
ist->dec_ctx = avcodec_alloc_context3(ist->dec);
if (!ist->dec_ctx) {
av_log(NULL, AV_LOG_ERROR, "Error allocating the decoder context.\n");
exit_program(1);
}
ret = avcodec_copy_context(ist->dec_ctx, dec);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Error initializing the decoder context.\n");
exit_program(1);
}
switch (dec->codec_type) {
case AVMEDIA_TYPE_VIDEO:
if(!ist->dec)
@@ -606,9 +634,9 @@ static void add_input_streams(OptionsContext *o, AVFormatContext *ic)
dec->flags |= CODEC_FLAG_EMU_EDGE;
}
ist->resample_height = dec->height;
ist->resample_width = dec->width;
ist->resample_pix_fmt = dec->pix_fmt;
ist->resample_height = ist->dec_ctx->height;
ist->resample_width = ist->dec_ctx->width;
ist->resample_pix_fmt = ist->dec_ctx->pix_fmt;
MATCH_PER_STREAM_OPT(frame_rates, str, framerate, ic, st);
if (framerate && av_parse_video_rate(&ist->framerate,
@@ -662,10 +690,10 @@ static void add_input_streams(OptionsContext *o, AVFormatContext *ic)
MATCH_PER_STREAM_OPT(guess_layout_max, i, ist->guess_layout_max, ic, st);
guess_input_channel_layout(ist);
ist->resample_sample_fmt = dec->sample_fmt;
ist->resample_sample_rate = dec->sample_rate;
ist->resample_channels = dec->channels;
ist->resample_channel_layout = dec->channel_layout;
ist->resample_sample_fmt = ist->dec_ctx->sample_fmt;
ist->resample_sample_rate = ist->dec_ctx->sample_rate;
ist->resample_channels = ist->dec_ctx->channels;
ist->resample_channel_layout = ist->dec_ctx->channel_layout;
break;
case AVMEDIA_TYPE_DATA:
@@ -676,7 +704,7 @@ static void add_input_streams(OptionsContext *o, AVFormatContext *ic)
MATCH_PER_STREAM_OPT(fix_sub_duration, i, ist->fix_sub_duration, ic, st);
MATCH_PER_STREAM_OPT(canvas_sizes, str, canvas_size, ic, st);
if (canvas_size &&
av_parse_video_size(&dec->width, &dec->height, canvas_size) < 0) {
av_parse_video_size(&ist->dec_ctx->width, &ist->dec_ctx->height, canvas_size) < 0) {
av_log(NULL, AV_LOG_FATAL, "Invalid canvas size: %s.\n", canvas_size);
exit_program(1);
}
@@ -759,7 +787,6 @@ static int open_input_file(OptionsContext *o, const char *filename)
AVInputFormat *file_iformat = NULL;
int err, i, ret;
int64_t timestamp;
uint8_t buf[128];
AVDictionary **opts;
AVDictionary *unused_opts = NULL;
AVDictionaryEntry *e = NULL;
@@ -767,6 +794,7 @@ static int open_input_file(OptionsContext *o, const char *filename)
char * video_codec_name = NULL;
char * audio_codec_name = NULL;
char *subtitle_codec_name = NULL;
int scan_all_pmts_set = 0;
if (o->format) {
if (!(file_iformat = av_find_input_format(o->format))) {
@@ -788,8 +816,7 @@ static int open_input_file(OptionsContext *o, const char *filename)
exit_program(1);
}
if (o->nb_audio_sample_rate) {
snprintf(buf, sizeof(buf), "%d", o->audio_sample_rate[o->nb_audio_sample_rate - 1].u.i);
av_dict_set(&o->g->format_opts, "sample_rate", buf, 0);
av_dict_set_int(&o->g->format_opts, "sample_rate", o->audio_sample_rate[o->nb_audio_sample_rate - 1].u.i, 0);
}
if (o->nb_audio_channels) {
/* because we set audio_channels based on both the "ac" and
@@ -798,9 +825,7 @@ static int open_input_file(OptionsContext *o, const char *filename)
if (file_iformat && file_iformat->priv_class &&
av_opt_find(&file_iformat->priv_class, "channels", NULL, 0,
AV_OPT_SEARCH_FAKE_OBJ)) {
snprintf(buf, sizeof(buf), "%d",
o->audio_channels[o->nb_audio_channels - 1].u.i);
av_dict_set(&o->g->format_opts, "channels", buf, 0);
av_dict_set_int(&o->g->format_opts, "channels", o->audio_channels[o->nb_audio_channels - 1].u.i, 0);
}
}
if (o->nb_frame_rates) {
@@ -840,12 +865,19 @@ static int open_input_file(OptionsContext *o, const char *filename)
ic->flags |= AVFMT_FLAG_NONBLOCK;
ic->interrupt_callback = int_cb;
if (!av_dict_get(o->g->format_opts, "scan_all_pmts", NULL, AV_DICT_MATCH_CASE)) {
av_dict_set(&o->g->format_opts, "scan_all_pmts", "1", AV_DICT_DONT_OVERWRITE);
scan_all_pmts_set = 1;
}
/* open the input file with generic avformat function */
err = avformat_open_input(&ic, filename, file_iformat, &o->g->format_opts);
if (err < 0) {
print_error(filename, err);
exit_program(1);
}
if (scan_all_pmts_set)
av_dict_set(&o->g->format_opts, "scan_all_pmts", NULL, AV_DICT_MATCH_CASE);
remove_avoptions(&o->g->format_opts, o->g->codec_opts);
assert_avoptions(o->g->format_opts);
/* apply forced codec ids */
@@ -861,8 +893,10 @@ static int open_input_file(OptionsContext *o, const char *filename)
ret = avformat_find_stream_info(ic, opts);
if (ret < 0) {
av_log(NULL, AV_LOG_FATAL, "%s: could not find codec parameters\n", filename);
avformat_close_input(&ic);
exit_program(1);
if (ic->nb_streams == 0) {
avformat_close_input(&ic);
exit_program(1);
}
}
timestamp = (o->start_time == AV_NOPTS_VALUE) ? 0 : o->start_time;
@@ -896,7 +930,7 @@ static int open_input_file(OptionsContext *o, const char *filename)
f->start_time = o->start_time;
f->recording_time = o->recording_time;
f->input_ts_offset = o->input_ts_offset;
f->ts_offset = o->input_ts_offset - (copy_ts ? 0 : timestamp);
f->ts_offset = o->input_ts_offset - (copy_ts ? (start_at_zero && ic->start_time != AV_NOPTS_VALUE ? ic->start_time : 0) : timestamp);
f->nb_streams = ic->nb_streams;
f->rate_emu = o->rate_emu;
f->accurate_seek = o->accurate_seek;
@@ -905,7 +939,7 @@ static int open_input_file(OptionsContext *o, const char *filename)
unused_opts = strip_specifiers(o->g->codec_opts);
for (i = f->ist_index; i < nb_input_streams; i++) {
e = NULL;
while ((e = av_dict_get(input_streams[i]->opts, "", e,
while ((e = av_dict_get(input_streams[i]->decoder_opts, "", e,
AV_DICT_IGNORE_SUFFIX)))
av_dict_set(&unused_opts, e->key, NULL, 0);
}
@@ -1047,11 +1081,19 @@ static OutputStream *new_output_stream(OptionsContext *o, AVFormatContext *oc, e
ost->st = st;
st->codec->codec_type = type;
choose_encoder(o, oc, ost);
ost->enc_ctx = avcodec_alloc_context3(ost->enc);
if (!ost->enc_ctx) {
av_log(NULL, AV_LOG_ERROR, "Error allocating the encoding context.\n");
exit_program(1);
}
ost->enc_ctx->codec_type = type;
if (ost->enc) {
AVIOContext *s = NULL;
char *buf = NULL, *arg = NULL, *preset = NULL;
ost->opts = filter_codec_opts(o->g->codec_opts, ost->enc->id, oc, st, ost->enc);
ost->encoder_opts = filter_codec_opts(o->g->codec_opts, ost->enc->id, oc, st, ost->enc);
MATCH_PER_STREAM_OPT(presets, str, preset, oc, st);
if (preset && (!(ret = get_preset_file_2(preset, ost->enc->name, &s)))) {
@@ -1066,7 +1108,7 @@ static OutputStream *new_output_stream(OptionsContext *o, AVFormatContext *oc, e
exit_program(1);
}
*arg++ = 0;
av_dict_set(&ost->opts, buf, arg, AV_DICT_DONT_OVERWRITE);
av_dict_set(&ost->encoder_opts, buf, arg, AV_DICT_DONT_OVERWRITE);
av_free(buf);
} while (!s->eof_reached);
avio_close(s);
@@ -1078,12 +1120,9 @@ static OutputStream *new_output_stream(OptionsContext *o, AVFormatContext *oc, e
exit_program(1);
}
} else {
ost->opts = filter_codec_opts(o->g->codec_opts, AV_CODEC_ID_NONE, oc, st, NULL);
ost->encoder_opts = filter_codec_opts(o->g->codec_opts, AV_CODEC_ID_NONE, oc, st, NULL);
}
avcodec_get_context_defaults3(st->codec, ost->enc);
st->codec->codec_type = type; // XXX hack, avcodec_get_context_defaults2() sets type to unknown for stream copy
ost->max_frames = INT64_MAX;
MATCH_PER_STREAM_OPT(max_frames, i64, ost->max_frames, oc, st);
for (i = 0; i<o->nb_max_frames; i++) {
@@ -1099,8 +1138,11 @@ static OutputStream *new_output_stream(OptionsContext *o, AVFormatContext *oc, e
MATCH_PER_STREAM_OPT(bitstream_filters, str, bsf, oc, st);
while (bsf) {
char *arg = NULL;
if (next = strchr(bsf, ','))
*next++ = 0;
if (arg = strchr(bsf, '='))
*arg++ = 0;
if (!(bsfc = av_bitstream_filter_init(bsf))) {
av_log(NULL, AV_LOG_FATAL, "Unknown bitstream filter %s\n", bsf);
exit_program(1);
@@ -1109,6 +1151,7 @@ static OutputStream *new_output_stream(OptionsContext *o, AVFormatContext *oc, e
bsfc_prev->next = bsfc;
else
ost->bitstream_filters = bsfc;
av_dict_set(&ost->bsf_args, bsfc->filter->name, arg, 0);
bsfc_prev = bsfc;
bsf = next;
@@ -1119,17 +1162,17 @@ static OutputStream *new_output_stream(OptionsContext *o, AVFormatContext *oc, e
uint32_t tag = strtol(codec_tag, &next, 0);
if (*next)
tag = AV_RL32(codec_tag);
st->codec->codec_tag = tag;
ost->enc_ctx->codec_tag = tag;
}
MATCH_PER_STREAM_OPT(qscale, dbl, qscale, oc, st);
if (qscale >= 0) {
st->codec->flags |= CODEC_FLAG_QSCALE;
st->codec->global_quality = FF_QP2LAMBDA * qscale;
ost->enc_ctx->flags |= CODEC_FLAG_QSCALE;
ost->enc_ctx->global_quality = FF_QP2LAMBDA * qscale;
}
if (oc->oformat->flags & AVFMT_GLOBALHEADER)
st->codec->flags |= CODEC_FLAG_GLOBAL_HEADER;
ost->enc_ctx->flags |= CODEC_FLAG_GLOBAL_HEADER;
av_opt_get_int(o->g->sws_opts, "sws_flags", 0, &ost->sws_flags);
@@ -1143,7 +1186,7 @@ static OutputStream *new_output_stream(OptionsContext *o, AVFormatContext *oc, e
if (source_index >= 0) {
ost->sync_ist = input_streams[source_index];
input_streams[source_index]->discard = 0;
input_streams[source_index]->st->discard = AVDISCARD_NONE;
input_streams[source_index]->st->discard = input_streams[source_index]->user_set_discard;
}
ost->last_mux_dts = AV_NOPTS_VALUE;
@@ -1239,13 +1282,15 @@ static OutputStream *new_video_stream(OptionsContext *o, AVFormatContext *oc, in
ost = new_output_stream(o, oc, AVMEDIA_TYPE_VIDEO, source_index);
st = ost->st;
video_enc = st->codec;
video_enc = ost->enc_ctx;
MATCH_PER_STREAM_OPT(frame_rates, str, frame_rate, oc, st);
if (frame_rate && av_parse_video_rate(&ost->frame_rate, frame_rate) < 0) {
av_log(NULL, AV_LOG_FATAL, "Invalid framerate value: %s\n", frame_rate);
exit_program(1);
}
if (frame_rate && video_sync_method == VSYNC_PASSTHROUGH)
av_log(NULL, AV_LOG_ERROR, "Using -vsync 0 and -r can produce invalid output files\n");
MATCH_PER_STREAM_OPT(frame_aspect_ratios, str, frame_aspect_ratio, oc, st);
if (frame_aspect_ratio) {
@@ -1344,7 +1389,6 @@ static OutputStream *new_video_stream(OptionsContext *o, AVFormatContext *oc, in
if (p) p++;
}
video_enc->rc_override_count = i;
video_enc->intra_dc_precision = intra_dc_precision - 8;
if (do_psnr)
video_enc->flags|= CODEC_FLAG_PSNR;
@@ -1354,11 +1398,11 @@ static OutputStream *new_video_stream(OptionsContext *o, AVFormatContext *oc, in
if (do_pass) {
if (do_pass & 1) {
video_enc->flags |= CODEC_FLAG_PASS1;
av_dict_set(&ost->opts, "flags", "+pass1", AV_DICT_APPEND);
av_dict_set(&ost->encoder_opts, "flags", "+pass1", AV_DICT_APPEND);
}
if (do_pass & 2) {
video_enc->flags |= CODEC_FLAG_PASS2;
av_dict_set(&ost->opts, "flags", "+pass2", AV_DICT_APPEND);
av_dict_set(&ost->encoder_opts, "flags", "+pass2", AV_DICT_APPEND);
}
}
@@ -1400,7 +1444,7 @@ static OutputStream *new_audio_stream(OptionsContext *o, AVFormatContext *oc, in
ost = new_output_stream(o, oc, AVMEDIA_TYPE_AUDIO, source_index);
st = ost->st;
audio_enc = st->codec;
audio_enc = ost->enc_ctx;
audio_enc->codec_type = AVMEDIA_TYPE_AUDIO;
MATCH_PER_STREAM_OPT(filter_scripts, str, ost->filters_script, oc, st);
@@ -1430,15 +1474,29 @@ static OutputStream *new_audio_stream(OptionsContext *o, AVFormatContext *oc, in
/* check for channel mapping for this audio stream */
for (n = 0; n < o->nb_audio_channel_maps; n++) {
AudioChannelMap *map = &o->audio_channel_maps[n];
InputStream *ist = input_streams[ost->source_index];
if ((map->channel_idx == -1 || (ist->file_index == map->file_idx && ist->st->index == map->stream_idx)) &&
(map->ofile_idx == -1 || ost->file_index == map->ofile_idx) &&
if ((map->ofile_idx == -1 || ost->file_index == map->ofile_idx) &&
(map->ostream_idx == -1 || ost->st->index == map->ostream_idx)) {
if (ost->audio_channels_mapped < FF_ARRAY_ELEMS(ost->audio_channels_map))
ost->audio_channels_map[ost->audio_channels_mapped++] = map->channel_idx;
else
av_log(NULL, AV_LOG_FATAL, "Max channel mapping for output %d.%d reached\n",
InputStream *ist;
if (map->channel_idx == -1) {
ist = NULL;
} else if (ost->source_index < 0) {
av_log(NULL, AV_LOG_FATAL, "Cannot determine input stream for channel mapping %d.%d\n",
ost->file_index, ost->st->index);
continue;
} else {
ist = input_streams[ost->source_index];
}
if (!ist || (ist->file_index == map->file_idx && ist->st->index == map->stream_idx)) {
if (av_reallocp_array(&ost->audio_channels_map,
ost->audio_channels_mapped + 1,
sizeof(*ost->audio_channels_map)
) < 0 )
exit_program(1);
ost->audio_channels_map[ost->audio_channels_mapped++] = map->channel_idx;
}
}
}
}
@@ -1478,7 +1536,7 @@ static OutputStream *new_subtitle_stream(OptionsContext *o, AVFormatContext *oc,
ost = new_output_stream(o, oc, AVMEDIA_TYPE_SUBTITLE, source_index);
st = ost->st;
subtitle_enc = st->codec;
subtitle_enc = ost->enc_ctx;
subtitle_enc->codec_type = AVMEDIA_TYPE_SUBTITLE;
@@ -1577,26 +1635,36 @@ static int read_ffserver_streams(OptionsContext *o, AVFormatContext *s, const ch
AVStream *st;
OutputStream *ost;
AVCodec *codec;
AVCodecContext *avctx;
const char *enc_config;
codec = avcodec_find_encoder(ic->streams[i]->codec->codec_id);
if (!codec) {
av_log(s, AV_LOG_ERROR, "no encoder found for codec id %i\n", ic->streams[i]->codec->codec_id);
return AVERROR(EINVAL);
}
if (codec->type == AVMEDIA_TYPE_AUDIO)
opt_audio_codec(o, "c:a", codec->name);
else if (codec->type == AVMEDIA_TYPE_VIDEO)
opt_video_codec(o, "c:v", codec->name);
ost = new_output_stream(o, s, codec->type, -1);
st = ost->st;
avctx = st->codec;
ost->enc = codec;
// FIXME: a more elegant solution is needed
memcpy(st, ic->streams[i], sizeof(AVStream));
st->cur_dts = 0;
st->info = av_malloc(sizeof(*st->info));
memcpy(st->info, ic->streams[i]->info, sizeof(*st->info));
st->codec= avctx;
avcodec_copy_context(st->codec, ic->streams[i]->codec);
avcodec_get_context_defaults3(st->codec, codec);
enc_config = av_stream_get_recommended_encoder_configuration(ic->streams[i]);
if (enc_config) {
AVDictionary *opts = NULL;
av_dict_parse_string(&opts, enc_config, "=", ",", 0);
av_opt_set_dict2(st->codec, &opts, AV_OPT_SEARCH_CHILDREN);
av_dict_free(&opts);
}
if (st->codec->codec_type == AVMEDIA_TYPE_AUDIO && !ost->stream_copy)
choose_sample_fmt(st, codec);
else if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO && !ost->stream_copy)
choose_pixel_fmt(st, codec, st->codec->pix_fmt);
choose_pixel_fmt(st, st->codec, codec, st->codec->pix_fmt);
avcodec_copy_context(ost->enc_ctx, st->codec);
if (enc_config)
av_dict_parse_string(&ost->encoder_opts, enc_config, "=", ",", 0);
}
avformat_close_input(&ic);
@@ -1684,8 +1752,8 @@ static int open_output_file(OptionsContext *o, const char *filename)
if (o->stop_time != INT64_MAX && o->recording_time == INT64_MAX) {
int64_t start_time = o->start_time == AV_NOPTS_VALUE ? 0 : o->start_time;
if (o->stop_time <= start_time) {
av_log(NULL, AV_LOG_WARNING, "-to value smaller than -ss; ignoring -to.\n");
o->stop_time = INT64_MAX;
av_log(NULL, AV_LOG_ERROR, "-to value smaller than -ss; aborting.\n");
exit_program(1);
} else {
o->recording_time = o->stop_time - start_time;
}
@@ -1769,7 +1837,7 @@ static int open_output_file(OptionsContext *o, const char *filename)
if(ost->st->codec->codec_type == AVMEDIA_TYPE_AUDIO) ost->avfilter = av_strdup("anull");
if(ost->st->codec->codec_type == AVMEDIA_TYPE_VIDEO) ost->avfilter = av_strdup("null");
ist->discard = 0;
ist->st->discard = AVDISCARD_NONE;
ist->st->discard = ist->user_set_discard;
break;
}
}
@@ -1824,8 +1892,27 @@ static int open_output_file(OptionsContext *o, const char *filename)
if (!o->subtitle_disable && (avcodec_find_encoder(oc->oformat->subtitle_codec) || subtitle_codec_name)) {
for (i = 0; i < nb_input_streams; i++)
if (input_streams[i]->st->codec->codec_type == AVMEDIA_TYPE_SUBTITLE) {
new_subtitle_stream(o, oc, i);
break;
AVCodecDescriptor const *input_descriptor =
avcodec_descriptor_get(input_streams[i]->st->codec->codec_id);
AVCodecDescriptor const *output_descriptor = NULL;
AVCodec const *output_codec =
avcodec_find_encoder(oc->oformat->subtitle_codec);
int input_props = 0, output_props = 0;
if (output_codec)
output_descriptor = avcodec_descriptor_get(output_codec->id);
if (input_descriptor)
input_props = input_descriptor->props & (AV_CODEC_PROP_TEXT_SUB | AV_CODEC_PROP_BITMAP_SUB);
if (output_descriptor)
output_props = output_descriptor->props & (AV_CODEC_PROP_TEXT_SUB | AV_CODEC_PROP_BITMAP_SUB);
if (subtitle_codec_name ||
input_props & output_props ||
// Map dvb teletext which has neither property to any output subtitle encoder
input_descriptor && output_descriptor &&
(!input_descriptor->props ||
!output_descriptor->props)) {
new_subtitle_stream(o, oc, i);
break;
}
}
}
/* do something with data? */
@@ -1914,8 +2001,8 @@ loop_end:
ost->stream_copy = 0;
ost->attachment_filename = o->attachments[i];
ost->finished = 1;
ost->st->codec->extradata = attachment;
ost->st->codec->extradata_size = len;
ost->enc_ctx->extradata = attachment;
ost->enc_ctx->extradata_size = len;
p = strrchr(o->attachments[i], '/');
av_dict_set(&ost->st->metadata, "filename", (p && *p) ? p + 1 : o->attachments[i], AV_DICT_DONT_OVERWRITE);
@@ -1937,7 +2024,7 @@ loop_end:
unused_opts = strip_specifiers(o->g->codec_opts);
for (i = of->ost_index; i < nb_output_streams; i++) {
e = NULL;
while ((e = av_dict_get(output_streams[i]->opts, "", e,
while ((e = av_dict_get(output_streams[i]->encoder_opts, "", e,
AV_DICT_IGNORE_SUFFIX)))
av_dict_set(&unused_opts, e->key, NULL, 0);
}
@@ -1947,8 +2034,13 @@ loop_end:
const AVClass *class = avcodec_get_class();
const AVOption *option = av_opt_find(&class, e->key, NULL, 0,
AV_OPT_SEARCH_CHILDREN | AV_OPT_SEARCH_FAKE_OBJ);
if (!option)
const AVClass *fclass = avformat_get_class();
const AVOption *foption = av_opt_find(&fclass, e->key, NULL, 0,
AV_OPT_SEARCH_CHILDREN | AV_OPT_SEARCH_FAKE_OBJ);
if (!option || foption)
continue;
if (!(option->flags & AV_OPT_FLAG_ENCODING_PARAM)) {
av_log(NULL, AV_LOG_ERROR, "Codec AVOption %s (%s) specified for "
"output file #%d (%s) is not an encoding option.\n", e->key,
@@ -1993,9 +2085,7 @@ loop_end:
assert_file_overwrite(filename);
if (o->mux_preload) {
uint8_t buf[64];
snprintf(buf, sizeof(buf), "%d", (int)(o->mux_preload*AV_TIME_BASE));
av_dict_set(&of->opts, "preload", buf, 0);
av_dict_set_int(&of->opts, "preload", o->mux_preload*AV_TIME_BASE, 0);
}
oc->max_delay = (int)(o->mux_max_delay * AV_TIME_BASE);
@@ -2048,6 +2138,8 @@ loop_end:
continue;
ist = input_streams[output_streams[i]->source_index];
av_dict_copy(&output_streams[i]->st->metadata, ist->st->metadata, AV_DICT_DONT_OVERWRITE);
if (!output_streams[i]->stream_copy)
av_dict_set(&output_streams[i]->st->metadata, "encoder", NULL, 0);
}
/* process manually set metadata */
@@ -2356,7 +2448,11 @@ static int opt_old2new(void *optctx, const char *opt, const char *arg)
static int opt_bitrate(void *optctx, const char *opt, const char *arg)
{
OptionsContext *o = optctx;
if(!strcmp(opt, "b")){
if(!strcmp(opt, "ab")){
av_dict_set(&o->g->codec_opts, "b:a", arg, 0);
return 0;
} else if(!strcmp(opt, "b")){
av_log(NULL, AV_LOG_WARNING, "Please use -b:a or -b:v, -b is ambiguous\n");
av_dict_set(&o->g->codec_opts, "b:v", arg, 0);
return 0;
@@ -2735,7 +2831,7 @@ const OptionDef options[] = {
"add metadata", "string=string" },
{ "dframes", HAS_ARG | OPT_PERFILE | OPT_EXPERT |
OPT_OUTPUT, { .func_arg = opt_data_frames },
"set the number of data frames to record", "number" },
"set the number of data frames to output", "number" },
{ "benchmark", OPT_BOOL | OPT_EXPERT, { &do_benchmark },
"add timings for benchmarking" },
{ "benchmark_all", OPT_BOOL | OPT_EXPERT, { &do_benchmark_all },
@@ -2764,6 +2860,8 @@ const OptionDef options[] = {
"audio drift threshold", "threshold" },
{ "copyts", OPT_BOOL | OPT_EXPERT, { &copy_ts },
"copy timestamps" },
{ "start_at_zero", OPT_BOOL | OPT_EXPERT, { &start_at_zero },
"shift input timestamps to start at 0 when using copyts" },
{ "copytb", HAS_ARG | OPT_INT | OPT_EXPERT, { &copy_tb },
"copy input stream time base when stream copying", "mode" },
{ "shortest", OPT_BOOL | OPT_EXPERT | OPT_OFFSET |
@@ -2784,7 +2882,7 @@ const OptionDef options[] = {
{ "copypriorss", OPT_INT | HAS_ARG | OPT_EXPERT | OPT_SPEC | OPT_OUTPUT, { .off = OFFSET(copy_prior_start) },
"copy or discard frames before start time" },
{ "frames", OPT_INT64 | HAS_ARG | OPT_SPEC | OPT_OUTPUT, { .off = OFFSET(max_frames) },
"set the number of frames to record", "number" },
"set the number of frames to output", "number" },
{ "tag", OPT_STRING | HAS_ARG | OPT_SPEC |
OPT_EXPERT | OPT_OUTPUT | OPT_INPUT, { .off = OFFSET(codec_tags) },
"force codec tag/fourcc", "fourcc/tag" },
@@ -2820,10 +2918,13 @@ const OptionDef options[] = {
"print timestamp debugging info" },
{ "max_error_rate", HAS_ARG | OPT_FLOAT, { &max_error_rate },
"maximum error rate", "ratio of errors (0.0: no errors, 1.0: 100% errors) above which ffmpeg returns an error instead of success." },
{ "discard", OPT_STRING | HAS_ARG | OPT_SPEC |
OPT_INPUT, { .off = OFFSET(discard) },
"discard", "" },
/* video options */
{ "vframes", OPT_VIDEO | HAS_ARG | OPT_PERFILE | OPT_OUTPUT, { .func_arg = opt_video_frames },
"set the number of video frames to record", "number" },
"set the number of video frames to output", "number" },
{ "r", OPT_VIDEO | HAS_ARG | OPT_STRING | OPT_SPEC |
OPT_INPUT | OPT_OUTPUT, { .off = OFFSET(frame_rates) },
"set frame rate (Hz value, fraction or abbreviation)", "rate" },
@@ -2842,8 +2943,6 @@ const OptionDef options[] = {
"deprecated use -g 1" },
{ "vn", OPT_VIDEO | OPT_BOOL | OPT_OFFSET | OPT_INPUT | OPT_OUTPUT,{ .off = OFFSET(video_disable) },
"disable video" },
{ "vdt", OPT_VIDEO | OPT_INT | HAS_ARG | OPT_EXPERT , { &video_discard },
"discard threshold", "n" },
{ "rc_override", OPT_VIDEO | HAS_ARG | OPT_EXPERT | OPT_STRING | OPT_SPEC |
OPT_OUTPUT, { .off = OFFSET(rc_overrides) },
"rate control override for specific intervals", "override" },
@@ -2883,8 +2982,6 @@ const OptionDef options[] = {
{ "top", OPT_VIDEO | HAS_ARG | OPT_EXPERT | OPT_INT| OPT_SPEC |
OPT_INPUT | OPT_OUTPUT, { .off = OFFSET(top_field_first) },
"top=1/bottom=0/auto=-1 field first", "" },
{ "dc", OPT_VIDEO | OPT_INT | HAS_ARG | OPT_EXPERT , { &intra_dc_precision },
"intra_dc_precision", "precision" },
{ "vtag", OPT_VIDEO | HAS_ARG | OPT_EXPERT | OPT_PERFILE |
OPT_OUTPUT, { .func_arg = opt_old2new },
"force video tag/fourcc", "fourcc/tag" },
@@ -2899,6 +2996,8 @@ const OptionDef options[] = {
{ "force_key_frames", OPT_VIDEO | OPT_STRING | HAS_ARG | OPT_EXPERT |
OPT_SPEC | OPT_OUTPUT, { .off = OFFSET(forced_key_frames) },
"force key frames at specified timestamps", "timestamps" },
{ "ab", OPT_VIDEO | HAS_ARG | OPT_PERFILE | OPT_OUTPUT, { .func_arg = opt_bitrate },
"audio bitrate (please use -b:a)", "bitrate" },
{ "b", OPT_VIDEO | HAS_ARG | OPT_PERFILE | OPT_OUTPUT, { .func_arg = opt_bitrate },
"video bitrate (please use -b:v)", "bitrate" },
{ "hwaccel", OPT_VIDEO | OPT_STRING | HAS_ARG | OPT_EXPERT |
@@ -2907,10 +3006,13 @@ const OptionDef options[] = {
{ "hwaccel_device", OPT_VIDEO | OPT_STRING | HAS_ARG | OPT_EXPERT |
OPT_SPEC | OPT_INPUT, { .off = OFFSET(hwaccel_devices) },
"select a device for HW acceleration" "devicename" },
#if HAVE_VDPAU_X11
{ "vdpau_api_ver", HAS_ARG | OPT_INT | OPT_EXPERT, { &vdpau_api_ver }, "" },
#endif
/* audio options */
{ "aframes", OPT_AUDIO | HAS_ARG | OPT_PERFILE | OPT_OUTPUT, { .func_arg = opt_audio_frames },
"set the number of audio frames to record", "number" },
"set the number of audio frames to output", "number" },
{ "aq", OPT_AUDIO | HAS_ARG | OPT_PERFILE | OPT_OUTPUT, { .func_arg = opt_audio_qscale },
"set audio quality (codec-specific)", "quality", },
{ "ar", OPT_AUDIO | HAS_ARG | OPT_INT | OPT_SPEC |

134
ffmpeg_vda.c Normal file
View File

@@ -0,0 +1,134 @@
/*
* 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
*/
#include "libavcodec/avcodec.h"
#include "libavcodec/vda.h"
#include "libavutil/imgutils.h"
#include "ffmpeg.h"
typedef struct VDAContext {
AVFrame *tmp_frame;
} VDAContext;
static int vda_retrieve_data(AVCodecContext *s, AVFrame *frame)
{
InputStream *ist = s->opaque;
VDAContext *vda = ist->hwaccel_ctx;
CVPixelBufferRef pixbuf = (CVPixelBufferRef)frame->data[3];
OSType pixel_format = CVPixelBufferGetPixelFormatType(pixbuf);
CVReturn err;
uint8_t *data[4] = { 0 };
int linesize[4] = { 0 };
int planes, ret, i;
av_frame_unref(vda->tmp_frame);
switch (pixel_format) {
case kCVPixelFormatType_420YpCbCr8Planar: vda->tmp_frame->format = AV_PIX_FMT_YUV420P; break;
case kCVPixelFormatType_422YpCbCr8: vda->tmp_frame->format = AV_PIX_FMT_UYVY422; break;
default:
av_log(NULL, AV_LOG_ERROR,
"Unsupported pixel format: %u\n", pixel_format);
return AVERROR(ENOSYS);
}
vda->tmp_frame->width = frame->width;
vda->tmp_frame->height = frame->height;
ret = av_frame_get_buffer(vda->tmp_frame, 32);
if (ret < 0)
return ret;
err = CVPixelBufferLockBaseAddress(pixbuf, kCVPixelBufferLock_ReadOnly);
if (err != kCVReturnSuccess) {
av_log(NULL, AV_LOG_ERROR, "Error locking the pixel buffer.\n");
return AVERROR_UNKNOWN;
}
if (CVPixelBufferIsPlanar(pixbuf)) {
planes = CVPixelBufferGetPlaneCount(pixbuf);
for (i = 0; i < planes; i++) {
data[i] = CVPixelBufferGetBaseAddressOfPlane(pixbuf, i);
linesize[i] = CVPixelBufferGetBytesPerRowOfPlane(pixbuf, i);
}
} else {
data[0] = CVPixelBufferGetBaseAddress(pixbuf);
linesize[0] = CVPixelBufferGetBytesPerRow(pixbuf);
}
av_image_copy(vda->tmp_frame->data, vda->tmp_frame->linesize,
data, linesize, vda->tmp_frame->format,
frame->width, frame->height);
ret = av_frame_copy_props(vda->tmp_frame, frame);
if (ret < 0)
return ret;
av_frame_unref(frame);
av_frame_move_ref(frame, vda->tmp_frame);
return 0;
}
static void vda_uninit(AVCodecContext *s)
{
InputStream *ist = s->opaque;
VDAContext *vda = ist->hwaccel_ctx;
ist->hwaccel_uninit = NULL;
ist->hwaccel_retrieve_data = NULL;
av_frame_free(&vda->tmp_frame);
av_vda_default_free(s);
av_freep(&ist->hwaccel_ctx);
}
int vda_init(AVCodecContext *s)
{
InputStream *ist = s->opaque;
int loglevel = (ist->hwaccel_id == HWACCEL_AUTO) ? AV_LOG_VERBOSE : AV_LOG_ERROR;
VDAContext *vda;
int ret;
vda = av_mallocz(sizeof(*vda));
if (!vda)
return AVERROR(ENOMEM);
ist->hwaccel_ctx = vda;
ist->hwaccel_uninit = vda_uninit;
ist->hwaccel_retrieve_data = vda_retrieve_data;
vda->tmp_frame = av_frame_alloc();
if (!vda->tmp_frame) {
ret = AVERROR(ENOMEM);
goto fail;
}
ret = av_vda_default_init(s);
if (ret < 0) {
av_log(NULL, loglevel, "Error creating VDA decoder.\n");
goto fail;
}
return 0;
fail:
vda_uninit(s);
return ret;
}

View File

@@ -42,9 +42,11 @@ typedef struct VDPAUContext {
VdpGetErrorString *get_error_string;
VdpGetInformationString *get_information_string;
VdpDeviceDestroy *device_destroy;
#if 1 // for ffmpegs older vdpau API, not the oldest though
VdpDecoderCreate *decoder_create;
VdpDecoderDestroy *decoder_destroy;
VdpDecoderRender *decoder_render;
#endif
VdpVideoSurfaceCreate *video_surface_create;
VdpVideoSurfaceDestroy *video_surface_destroy;
VdpVideoSurfaceGetBitsYCbCr *video_surface_get_bits;
@@ -57,6 +59,8 @@ typedef struct VDPAUContext {
VdpYCbCrFormat vdpau_format;
} VDPAUContext;
int vdpau_api_ver = 2;
static void vdpau_uninit(AVCodecContext *s)
{
InputStream *ist = s->opaque;
@@ -239,9 +243,11 @@ do {
GET_CALLBACK(VDP_FUNC_ID_GET_ERROR_STRING, get_error_string);
GET_CALLBACK(VDP_FUNC_ID_GET_INFORMATION_STRING, get_information_string);
GET_CALLBACK(VDP_FUNC_ID_DEVICE_DESTROY, device_destroy);
GET_CALLBACK(VDP_FUNC_ID_DECODER_CREATE, decoder_create);
GET_CALLBACK(VDP_FUNC_ID_DECODER_DESTROY, decoder_destroy);
GET_CALLBACK(VDP_FUNC_ID_DECODER_RENDER, decoder_render);
if (vdpau_api_ver == 1) {
GET_CALLBACK(VDP_FUNC_ID_DECODER_CREATE, decoder_create);
GET_CALLBACK(VDP_FUNC_ID_DECODER_DESTROY, decoder_destroy);
GET_CALLBACK(VDP_FUNC_ID_DECODER_RENDER, decoder_render);
}
GET_CALLBACK(VDP_FUNC_ID_VIDEO_SURFACE_CREATE, video_surface_create);
GET_CALLBACK(VDP_FUNC_ID_VIDEO_SURFACE_DESTROY, video_surface_destroy);
GET_CALLBACK(VDP_FUNC_ID_VIDEO_SURFACE_GET_BITS_Y_CB_CR, video_surface_get_bits);
@@ -270,12 +276,16 @@ do {
ctx->vdpau_format = vdpau_formats[i][0];
ctx->pix_fmt = vdpau_formats[i][1];
vdpau_ctx = av_vdpau_alloc_context();
if (!vdpau_ctx)
goto fail;
vdpau_ctx->render = ctx->decoder_render;
if (vdpau_api_ver == 1) {
vdpau_ctx = av_vdpau_alloc_context();
if (!vdpau_ctx)
goto fail;
vdpau_ctx->render = ctx->decoder_render;
s->hwaccel_context = vdpau_ctx;
s->hwaccel_context = vdpau_ctx;
} else
if (av_vdpau_bind_context(s, ctx->device, ctx->get_proc_address, 0))
goto fail;
ctx->get_information_string(&vendor);
av_log(NULL, AV_LOG_VERBOSE, "Using VDPAU -- %s -- on X11 display %s, "
@@ -291,7 +301,7 @@ fail:
return AVERROR(EINVAL);
}
int vdpau_init(AVCodecContext *s)
static int vdpau_old_init(AVCodecContext *s)
{
InputStream *ist = s->opaque;
int loglevel = (ist->hwaccel_id == HWACCEL_AUTO) ? AV_LOG_VERBOSE : AV_LOG_ERROR;
@@ -333,3 +343,22 @@ int vdpau_init(AVCodecContext *s)
return 0;
}
int vdpau_init(AVCodecContext *s)
{
InputStream *ist = s->opaque;
if (vdpau_api_ver == 1)
return vdpau_old_init(s);
if (!ist->hwaccel_ctx) {
int ret = vdpau_alloc(s);
if (ret < 0)
return ret;
}
ist->hwaccel_get_buffer = vdpau_get_buffer;
ist->hwaccel_retrieve_data = vdpau_retrieve_data;
return 0;
}

1295
ffplay.c

File diff suppressed because it is too large Load Diff

180
ffprobe.c
View File

@@ -33,6 +33,7 @@
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/bprint.h"
#include "libavutil/hash.h"
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "libavutil/dict.h"
@@ -65,6 +66,9 @@ static int do_show_stream_disposition = 0;
static int do_show_data = 0;
static int do_show_program_version = 0;
static int do_show_library_versions = 0;
static int do_show_pixel_formats = 0;
static int do_show_pixel_format_flags = 0;
static int do_show_pixel_format_components = 0;
static int do_show_chapter_tags = 0;
static int do_show_format_tags = 0;
@@ -80,6 +84,7 @@ static int show_private_data = 1;
static char *print_format;
static char *stream_specifier;
static char *show_data_hash;
typedef struct {
int id; ///< identifier
@@ -123,11 +128,18 @@ typedef enum {
SECTION_ID_FRAME,
SECTION_ID_FRAMES,
SECTION_ID_FRAME_TAGS,
SECTION_ID_FRAME_SIDE_DATA_LIST,
SECTION_ID_FRAME_SIDE_DATA,
SECTION_ID_LIBRARY_VERSION,
SECTION_ID_LIBRARY_VERSIONS,
SECTION_ID_PACKET,
SECTION_ID_PACKETS,
SECTION_ID_PACKETS_AND_FRAMES,
SECTION_ID_PIXEL_FORMAT,
SECTION_ID_PIXEL_FORMAT_FLAGS,
SECTION_ID_PIXEL_FORMAT_COMPONENT,
SECTION_ID_PIXEL_FORMAT_COMPONENTS,
SECTION_ID_PIXEL_FORMATS,
SECTION_ID_PROGRAM_STREAM_DISPOSITION,
SECTION_ID_PROGRAM_STREAM_TAGS,
SECTION_ID_PROGRAM,
@@ -152,13 +164,20 @@ static struct section sections[] = {
[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" },
[SECTION_ID_FRAMES] = { SECTION_ID_FRAMES, "frames", SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME, SECTION_ID_SUBTITLE, -1 } },
[SECTION_ID_FRAME] = { SECTION_ID_FRAME, "frame", 0, { SECTION_ID_FRAME_TAGS, -1 } },
[SECTION_ID_FRAME] = { SECTION_ID_FRAME, "frame", 0, { SECTION_ID_FRAME_TAGS, SECTION_ID_FRAME_SIDE_DATA_LIST, -1 } },
[SECTION_ID_FRAME_TAGS] = { SECTION_ID_FRAME_TAGS, "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name = "frame_tags" },
[SECTION_ID_FRAME_SIDE_DATA_LIST] ={ SECTION_ID_FRAME_SIDE_DATA_LIST, "side_data_list", SECTION_FLAG_IS_ARRAY, { SECTION_ID_FRAME_SIDE_DATA, -1 } },
[SECTION_ID_FRAME_SIDE_DATA] = { SECTION_ID_FRAME_SIDE_DATA, "side_data", 0, { -1 } },
[SECTION_ID_LIBRARY_VERSIONS] = { SECTION_ID_LIBRARY_VERSIONS, "library_versions", SECTION_FLAG_IS_ARRAY, { SECTION_ID_LIBRARY_VERSION, -1 } },
[SECTION_ID_LIBRARY_VERSION] = { SECTION_ID_LIBRARY_VERSION, "library_version", 0, { -1 } },
[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_PIXEL_FORMATS] = { SECTION_ID_PIXEL_FORMATS, "pixel_formats", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PIXEL_FORMAT, -1 } },
[SECTION_ID_PIXEL_FORMAT] = { SECTION_ID_PIXEL_FORMAT, "pixel_format", 0, { SECTION_ID_PIXEL_FORMAT_FLAGS, SECTION_ID_PIXEL_FORMAT_COMPONENTS, -1 } },
[SECTION_ID_PIXEL_FORMAT_FLAGS] = { SECTION_ID_PIXEL_FORMAT_FLAGS, "flags", 0, { -1 }, .unique_name = "pixel_format_flags" },
[SECTION_ID_PIXEL_FORMAT_COMPONENTS] = { SECTION_ID_PIXEL_FORMAT_COMPONENTS, "components", SECTION_FLAG_IS_ARRAY, {SECTION_ID_PIXEL_FORMAT_COMPONENT, -1 }, .unique_name = "pixel_format_components" },
[SECTION_ID_PIXEL_FORMAT_COMPONENT] = { SECTION_ID_PIXEL_FORMAT_COMPONENT, "component", 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 } },
@@ -169,7 +188,8 @@ static struct section sections[] = {
[SECTION_ID_PROGRAMS] = { SECTION_ID_PROGRAMS, "programs", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PROGRAM, -1 } },
[SECTION_ID_ROOT] = { SECTION_ID_ROOT, "root", SECTION_FLAG_IS_WRAPPER,
{ SECTION_ID_CHAPTERS, SECTION_ID_FORMAT, SECTION_ID_FRAMES, SECTION_ID_PROGRAMS, SECTION_ID_STREAMS,
SECTION_ID_PACKETS, SECTION_ID_ERROR, SECTION_ID_PROGRAM_VERSION, SECTION_ID_LIBRARY_VERSIONS, -1} },
SECTION_ID_PACKETS, SECTION_ID_ERROR, SECTION_ID_PROGRAM_VERSION, SECTION_ID_LIBRARY_VERSIONS,
SECTION_ID_PIXEL_FORMATS, -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" },
@@ -183,6 +203,8 @@ static const OptionDef *options;
static const char *input_filename;
static AVInputFormat *iformat = NULL;
static struct AVHashContext *hash;
static const char *const binary_unit_prefixes [] = { "", "Ki", "Mi", "Gi", "Ti", "Pi" };
static const char *const decimal_unit_prefixes[] = { "", "K" , "M" , "G" , "T" , "P" };
@@ -681,6 +703,21 @@ static void writer_print_data(WriterContext *wctx, const char *name,
av_bprint_finalize(&bp, NULL);
}
static void writer_print_data_hash(WriterContext *wctx, const char *name,
uint8_t *data, int size)
{
char *p, buf[AV_HASH_MAX_SIZE * 2 + 64] = { 0 };
if (!hash)
return;
av_hash_init(hash);
av_hash_update(hash, data, size);
snprintf(buf, sizeof(buf), "%s:", av_hash_get_name(hash));
p = buf + strlen(buf);
av_hash_final_hex(hash, p, buf + sizeof(buf) - p);
writer_print_string(wctx, name, buf, 0);
}
#define MAX_REGISTERED_WRITERS_NB 64
static const Writer *registered_writers[MAX_REGISTERED_WRITERS_NB + 1];
@@ -1688,6 +1725,7 @@ static void show_packet(WriterContext *w, AVFormatContext *fmt_ctx, AVPacket *pk
print_fmt("flags", "%c", pkt->flags & AV_PKT_FLAG_KEY ? 'K' : '_');
if (do_show_data)
writer_print_data(w, "data", pkt->data, pkt->size);
writer_print_data_hash(w, "data_hash", pkt->data, pkt->size);
writer_print_section_footer(w);
av_bprint_finalize(&pbuf, NULL);
@@ -1722,6 +1760,7 @@ static void show_frame(WriterContext *w, AVFrame *frame, AVStream *stream,
{
AVBPrint pbuf;
const char *s;
int i;
av_bprint_init(&pbuf, 1, AV_BPRINT_SIZE_UNLIMITED);
@@ -1784,6 +1823,20 @@ static void show_frame(WriterContext *w, AVFrame *frame, AVStream *stream,
}
if (do_show_frame_tags)
show_tags(w, av_frame_get_metadata(frame), SECTION_ID_FRAME_TAGS);
if (frame->nb_side_data) {
writer_print_section_header(w, SECTION_ID_FRAME_SIDE_DATA_LIST);
for (i = 0; i < frame->nb_side_data; i++) {
AVFrameSideData *sd = frame->side_data[i];
const char *name;
writer_print_section_header(w, SECTION_ID_FRAME_SIDE_DATA);
name = av_frame_side_data_name(sd->type);
print_str("side_data_type", name ? name : "unknown");
print_int("side_data_size", sd->size);
writer_print_section_footer(w);
}
writer_print_section_footer(w);
}
writer_print_section_footer(w);
@@ -1991,6 +2044,7 @@ static int show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_id
const char *s;
AVRational sar, dar;
AVBPrint pbuf;
const AVCodecDescriptor *cd;
int ret = 0;
av_bprint_init(&pbuf, 1, AV_BPRINT_SIZE_UNLIMITED);
@@ -2008,6 +2062,12 @@ static int show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_id
if (dec->long_name) print_str ("codec_long_name", dec->long_name);
else print_str_opt("codec_long_name", "unknown");
}
} else if ((cd = avcodec_descriptor_get(stream->codec->codec_id))) {
print_str_opt("codec_name", cd->name);
if (!do_bitexact) {
print_str_opt("codec_long_name",
cd->long_name ? cd->long_name : "unknown");
}
} else {
print_str_opt("codec_name", "unknown");
if (!do_bitexact) {
@@ -2051,6 +2111,29 @@ static int show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_id
if (s) print_str ("pix_fmt", s);
else print_str_opt("pix_fmt", "unknown");
print_int("level", dec_ctx->level);
if (dec_ctx->color_range != AVCOL_RANGE_UNSPECIFIED)
print_str ("color_range", av_color_range_name(dec_ctx->color_range));
else
print_str_opt("color_range", "N/A");
s = av_get_colorspace_name(dec_ctx->colorspace);
if (s) print_str ("color_space", s);
else print_str_opt("color_space", "unknown");
if (dec_ctx->color_trc != AVCOL_TRC_UNSPECIFIED)
print_str("color_transfer", av_color_transfer_name(dec_ctx->color_trc));
else
print_str_opt("color_transfer", av_color_transfer_name(dec_ctx->color_trc));
if (dec_ctx->color_primaries != AVCOL_PRI_UNSPECIFIED)
print_str("color_primaries", av_color_primaries_name(dec_ctx->color_primaries));
else
print_str_opt("color_primaries", av_color_primaries_name(dec_ctx->color_primaries));
if (dec_ctx->chroma_sample_location != AVCHROMA_LOC_UNSPECIFIED)
print_str("chroma_location", av_chroma_location_name(dec_ctx->chroma_sample_location));
else
print_str_opt("chroma_location", av_chroma_location_name(dec_ctx->chroma_sample_location));
if (dec_ctx->timecode_frame_start >= 0) {
char tcbuf[AV_TIMECODE_STR_SIZE];
av_timecode_make_mpeg_tc_string(tcbuf, dec_ctx->timecode_frame_start);
@@ -2115,6 +2198,10 @@ static int show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_id
print_time("duration", stream->duration, &stream->time_base);
if (dec_ctx->bit_rate > 0) print_val ("bit_rate", dec_ctx->bit_rate, unit_bit_per_second_str);
else print_str_opt("bit_rate", "N/A");
if (dec_ctx->rc_max_rate > 0) print_val ("max_bit_rate", dec_ctx->rc_max_rate, unit_bit_per_second_str);
else print_str_opt("max_bit_rate", "N/A");
if (dec_ctx->bits_per_raw_sample > 0) print_fmt("bits_per_raw_sample", "%d", dec_ctx->bits_per_raw_sample);
else print_str_opt("bits_per_raw_sample", "N/A");
if (stream->nb_frames) print_fmt ("nb_frames", "%"PRId64, stream->nb_frames);
else print_str_opt("nb_frames", "N/A");
if (nb_streams_frames[stream_idx]) print_fmt ("nb_read_frames", "%"PRIu64, nb_streams_frames[stream_idx]);
@@ -2124,6 +2211,8 @@ static int show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_id
if (do_show_data)
writer_print_data(w, "extradata", dec_ctx->extradata,
dec_ctx->extradata_size);
writer_print_data_hash(w, "extradata_hash", dec_ctx->extradata,
dec_ctx->extradata_size);
/* Print disposition information */
#define PRINT_DISPOSITION(flagname, name) do { \
@@ -2297,12 +2386,19 @@ static int open_input_file(AVFormatContext **fmt_ctx_ptr, const char *filename)
AVFormatContext *fmt_ctx = NULL;
AVDictionaryEntry *t;
AVDictionary **opts;
int scan_all_pmts_set = 0;
if (!av_dict_get(format_opts, "scan_all_pmts", NULL, AV_DICT_MATCH_CASE)) {
av_dict_set(&format_opts, "scan_all_pmts", "1", AV_DICT_DONT_OVERWRITE);
scan_all_pmts_set = 1;
}
if ((err = avformat_open_input(&fmt_ctx, filename,
iformat, &format_opts)) < 0) {
print_error(filename, err);
return err;
}
if (scan_all_pmts_set)
av_dict_set(&format_opts, "scan_all_pmts", NULL, AV_DICT_MATCH_CASE);
if ((t = av_dict_get(format_opts, "", NULL, AV_DICT_IGNORE_SUFFIX))) {
av_log(NULL, AV_LOG_ERROR, "Option %s not found.\n", t->key);
return AVERROR_OPTION_NOT_FOUND;
@@ -2498,6 +2594,58 @@ static void ffprobe_show_library_versions(WriterContext *w)
writer_print_section_footer(w);
}
#define PRINT_PIX_FMT_FLAG(flagname, name) \
do { \
print_int(name, !!(pixdesc->flags & AV_PIX_FMT_FLAG_##flagname)); \
} while (0)
static void ffprobe_show_pixel_formats(WriterContext *w)
{
const AVPixFmtDescriptor *pixdesc = NULL;
int i, n;
writer_print_section_header(w, SECTION_ID_PIXEL_FORMATS);
while (pixdesc = av_pix_fmt_desc_next(pixdesc)) {
writer_print_section_header(w, SECTION_ID_PIXEL_FORMAT);
print_str("name", pixdesc->name);
print_int("nb_components", pixdesc->nb_components);
if ((pixdesc->nb_components >= 3) && !(pixdesc->flags & AV_PIX_FMT_FLAG_RGB)) {
print_int ("log2_chroma_w", pixdesc->log2_chroma_w);
print_int ("log2_chroma_h", pixdesc->log2_chroma_h);
} else {
print_str_opt("log2_chroma_w", "N/A");
print_str_opt("log2_chroma_h", "N/A");
}
n = av_get_bits_per_pixel(pixdesc);
if (n) print_int ("bits_per_pixel", n);
else print_str_opt("bits_per_pixel", "N/A");
if (do_show_pixel_format_flags) {
writer_print_section_header(w, SECTION_ID_PIXEL_FORMAT_FLAGS);
PRINT_PIX_FMT_FLAG(BE, "big_endian");
PRINT_PIX_FMT_FLAG(PAL, "palette");
PRINT_PIX_FMT_FLAG(BITSTREAM, "bitstream");
PRINT_PIX_FMT_FLAG(HWACCEL, "hwaccel");
PRINT_PIX_FMT_FLAG(PLANAR, "planar");
PRINT_PIX_FMT_FLAG(RGB, "rgb");
PRINT_PIX_FMT_FLAG(PSEUDOPAL, "pseudopal");
PRINT_PIX_FMT_FLAG(ALPHA, "alpha");
writer_print_section_footer(w);
}
if (do_show_pixel_format_components && (pixdesc->nb_components > 0)) {
writer_print_section_header(w, SECTION_ID_PIXEL_FORMAT_COMPONENTS);
for (i = 0; i < pixdesc->nb_components; i++) {
writer_print_section_header(w, SECTION_ID_PIXEL_FORMAT_COMPONENT);
print_int("index", i + 1);
print_int("bit_depth", pixdesc->comp[i].depth_minus1 + 1);
writer_print_section_footer(w);
}
writer_print_section_footer(w);
}
writer_print_section_footer(w);
}
writer_print_section_footer(w);
}
static int opt_format(void *optctx, const char *opt, const char *arg)
{
iformat = av_find_input_format(arg);
@@ -2733,7 +2881,7 @@ static int parse_read_intervals(const char *intervals_spec)
n++;
n++;
read_intervals = av_malloc(n * sizeof(*read_intervals));
read_intervals = av_malloc_array(n, sizeof(*read_intervals));
if (!read_intervals) {
ret = AVERROR(ENOMEM);
goto end;
@@ -2831,6 +2979,7 @@ DEFINE_OPT_SHOW_SECTION(format, FORMAT);
DEFINE_OPT_SHOW_SECTION(frames, FRAMES);
DEFINE_OPT_SHOW_SECTION(library_versions, LIBRARY_VERSIONS);
DEFINE_OPT_SHOW_SECTION(packets, PACKETS);
DEFINE_OPT_SHOW_SECTION(pixel_formats, PIXEL_FORMATS);
DEFINE_OPT_SHOW_SECTION(program_version, PROGRAM_VERSION);
DEFINE_OPT_SHOW_SECTION(streams, STREAMS);
DEFINE_OPT_SHOW_SECTION(programs, PROGRAMS);
@@ -2852,6 +3001,7 @@ static const OptionDef real_options[] = {
{ "select_streams", OPT_STRING | HAS_ARG, {(void*)&stream_specifier}, "select the specified streams", "stream_specifier" },
{ "sections", OPT_EXIT, {.func_arg = opt_sections}, "print sections structure and section information, and exit" },
{ "show_data", OPT_BOOL, {(void*)&do_show_data}, "show packets data" },
{ "show_data_hash", OPT_STRING | HAS_ARG, {(void*)&show_data_hash}, "show packets data hash" },
{ "show_error", 0, {(void*)&opt_show_error}, "show probing error" },
{ "show_format", 0, {(void*)&opt_show_format}, "show format/container info" },
{ "show_frames", 0, {(void*)&opt_show_frames}, "show frames info" },
@@ -2868,6 +3018,7 @@ static const OptionDef real_options[] = {
{ "show_program_version", 0, {(void*)&opt_show_program_version}, "show ffprobe version" },
{ "show_library_versions", 0, {(void*)&opt_show_library_versions}, "show library versions" },
{ "show_versions", 0, {(void*)&opt_show_versions}, "show program and library versions" },
{ "show_pixel_formats", 0, {(void*)&opt_show_pixel_formats}, "show pixel format descriptions" },
{ "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" },
@@ -2924,6 +3075,9 @@ int main(int argc, char **argv)
SET_DO_SHOW(FRAMES, frames);
SET_DO_SHOW(LIBRARY_VERSIONS, library_versions);
SET_DO_SHOW(PACKETS, packets);
SET_DO_SHOW(PIXEL_FORMATS, pixel_formats);
SET_DO_SHOW(PIXEL_FORMAT_FLAGS, pixel_format_flags);
SET_DO_SHOW(PIXEL_FORMAT_COMPONENTS, pixel_format_components);
SET_DO_SHOW(PROGRAM_VERSION, program_version);
SET_DO_SHOW(PROGRAMS, programs);
SET_DO_SHOW(STREAMS, streams);
@@ -2955,6 +3109,21 @@ int main(int argc, char **argv)
w_name = av_strtok(print_format, "=", &buf);
w_args = buf;
if (show_data_hash) {
if ((ret = av_hash_alloc(&hash, show_data_hash)) < 0) {
if (ret == AVERROR(EINVAL)) {
const char *n;
av_log(NULL, AV_LOG_ERROR,
"Unknown hash algorithm '%s'\nKnown algorithms:",
show_data_hash);
for (i = 0; (n = av_hash_names(i)); i++)
av_log(NULL, AV_LOG_ERROR, " %s", n);
av_log(NULL, AV_LOG_ERROR, "\n");
}
goto end;
}
}
w = writer_get_by_name(w_name);
if (!w) {
av_log(NULL, AV_LOG_ERROR, "Unknown output format with name '%s'\n", w_name);
@@ -2973,10 +3142,12 @@ int main(int argc, char **argv)
ffprobe_show_program_version(wctx);
if (do_show_library_versions)
ffprobe_show_library_versions(wctx);
if (do_show_pixel_formats)
ffprobe_show_pixel_formats(wctx);
if (!input_filename &&
((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))) {
(!do_show_program_version && !do_show_library_versions && !do_show_pixel_formats))) {
show_usage();
av_log(NULL, AV_LOG_ERROR, "You have to specify one input file.\n");
av_log(NULL, AV_LOG_ERROR, "Use -h to get full help or, even better, run 'man %s'.\n", program_name);
@@ -2994,6 +3165,7 @@ int main(int argc, char **argv)
end:
av_freep(&print_format);
av_freep(&read_intervals);
av_hash_freep(&hash);
uninit_opts();
for (i = 0; i < FF_ARRAY_ELEMS(sections); i++)

1398
ffserver.c

File diff suppressed because it is too large Load Diff

1260
ffserver_config.c Normal file

File diff suppressed because it is too large Load Diff

133
ffserver_config.h Normal file
View File

@@ -0,0 +1,133 @@
/*
* Copyright (c) 2000, 2001, 2002 Fabrice Bellard
*
* 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 FFSERVER_CONFIG_H
#define FFSERVER_CONFIG_H
#include "libavutil/dict.h"
#include "libavformat/avformat.h"
#include "libavformat/network.h"
#define FFSERVER_MAX_STREAMS 20
/* each generated stream is described here */
enum FFServerStreamType {
STREAM_TYPE_LIVE,
STREAM_TYPE_STATUS,
STREAM_TYPE_REDIRECT,
};
enum FFServerIPAddressAction {
IP_ALLOW = 1,
IP_DENY,
};
typedef struct FFServerIPAddressACL {
struct FFServerIPAddressACL *next;
enum FFServerIPAddressAction action;
/* These are in host order */
struct in_addr first;
struct in_addr last;
} FFServerIPAddressACL;
/* description of each stream of the ffserver.conf file */
typedef struct FFServerStream {
enum FFServerStreamType stream_type;
char filename[1024]; /* stream filename */
struct FFServerStream *feed; /* feed we are using (can be null if coming from file) */
AVDictionary *in_opts; /* input parameters */
AVDictionary *metadata; /* metadata to set on the stream */
AVInputFormat *ifmt; /* if non NULL, force input format */
AVOutputFormat *fmt;
FFServerIPAddressACL *acl;
char dynamic_acl[1024];
int nb_streams;
int prebuffer; /* Number of milliseconds early to start */
int64_t max_time; /* Number of milliseconds to run */
int send_on_key;
AVStream *streams[FFSERVER_MAX_STREAMS];
int feed_streams[FFSERVER_MAX_STREAMS]; /* index of streams in the feed */
char feed_filename[1024]; /* file name of the feed storage, or
input file name for a stream */
pid_t pid; /* Of ffmpeg process */
time_t pid_start; /* Of ffmpeg process */
char **child_argv;
struct FFServerStream *next;
unsigned bandwidth; /* bandwidth, in kbits/s */
/* RTSP options */
char *rtsp_option;
/* multicast specific */
int is_multicast;
struct in_addr multicast_ip;
int multicast_port; /* first port used for multicast */
int multicast_ttl;
int loop; /* if true, send the stream in loops (only meaningful if file) */
/* feed specific */
int feed_opened; /* true if someone is writing to the feed */
int is_feed; /* true if it is a feed */
int readonly; /* True if writing is prohibited to the file */
int truncate; /* True if feeder connection truncate the feed file */
int conns_served;
int64_t bytes_served;
int64_t feed_max_size; /* maximum storage size, zero means unlimited */
int64_t feed_write_index; /* current write position in feed (it wraps around) */
int64_t feed_size; /* current size of feed */
struct FFServerStream *next_feed;
} FFServerStream;
typedef struct FFServerConfig {
char *filename;
FFServerStream *first_feed; /* contains only feeds */
FFServerStream *first_stream; /* contains all streams, including feeds */
unsigned int nb_max_http_connections;
unsigned int nb_max_connections;
uint64_t max_bandwidth;
int debug;
char logfilename[1024];
struct sockaddr_in http_addr;
struct sockaddr_in rtsp_addr;
int errors;
int warnings;
int use_defaults;
// Following variables MUST NOT be used outside configuration parsing code.
enum AVCodecID guessed_audio_codec_id;
enum AVCodecID guessed_video_codec_id;
AVDictionary *video_opts; /* AVOptions for video encoder */
AVDictionary *audio_opts; /* AVOptions for audio encoder */
AVCodecContext *dummy_actx; /* Used internally to test audio AVOptions. */
AVCodecContext *dummy_vctx; /* Used internally to test video AVOptions. */
int no_audio;
int no_video;
int line_num;
int stream_use_defaults;
} FFServerConfig;
void ffserver_get_arg(char *buf, int buf_size, const char **pp);
void ffserver_parse_acl_row(FFServerStream *stream, FFServerStream* feed,
FFServerIPAddressACL *ext_acl,
const char *p, const char *filename, int line_num);
int ffserver_parse_ffconfig(const char *filename, FFServerConfig *config);
void ffserver_free_child_args(void *argsp);
#endif /* FFSERVER_CONFIG_H */

View File

@@ -24,13 +24,16 @@
* 4XM codec.
*/
#include <inttypes.h>
#include "libavutil/avassert.h"
#include "libavutil/frame.h"
#include "libavutil/imgutils.h"
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "blockdsp.h"
#include "bswapdsp.h"
#include "bytestream.h"
#include "dsputil.h"
#include "get_bits.h"
#include "internal.h"
@@ -131,7 +134,8 @@ typedef struct CFrameBuffer {
typedef struct FourXContext {
AVCodecContext *avctx;
DSPContext dsp;
BlockDSPContext bdsp;
BswapDSPContext bbdsp;
uint16_t *frame_buffer;
uint16_t *last_frame_buffer;
GetBitContext pre_gb; ///< ac/dc prefix
@@ -335,21 +339,25 @@ static inline void mcdc(uint16_t *dst, const uint16_t *src, int log2w,
}
}
static int decode_p_block(FourXContext *f, uint16_t *dst, uint16_t *src,
static int decode_p_block(FourXContext *f, uint16_t *dst, const 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 = f->last_frame_buffer;
uint16_t *end = start + stride * (f->avctx->height - h + 1) - (1 << log2w);
int ret;
int scale = 1;
int index, h, code, ret, scale = 1;
uint16_t *start, *end;
unsigned dc = 0;
av_assert0(code >= 0 && code <= 6 && log2w >= 0);
av_assert0(log2w >= 0 && log2h >= 0);
index = size2index[log2h][log2w];
av_assert0(index >= 0);
h = 1 << log2h;
code = get_vlc2(&f->gb, block_type_vlc[1 - (f->version > 1)][index].table,
BLOCK_TYPE_VLC_BITS, 1);
av_assert0(code >= 0 && code <= 6);
start = f->last_frame_buffer;
end = start + stride * (f->avctx->height - h + 1) - (1 << log2w);
if (code == 1) {
log2h--;
@@ -456,8 +464,8 @@ static int decode_p_frame(FourXContext *f, const uint8_t *buf, int length)
bitstream_size);
if (!f->bitstream_buffer)
return AVERROR(ENOMEM);
f->dsp.bswap_buf(f->bitstream_buffer, (const uint32_t*)(buf + extra),
bitstream_size / 4);
f->bbdsp.bswap_buf(f->bitstream_buffer, (const uint32_t *) (buf + extra),
bitstream_size / 4);
init_get_bits(&f->gb, f->bitstream_buffer, 8 * bitstream_size);
wordstream_offset = extra + bitstream_size;
@@ -590,7 +598,7 @@ static int decode_i_mb(FourXContext *f)
int ret;
int i;
f->dsp.clear_blocks(f->block[0]);
f->bdsp.clear_blocks(f->block[0]);
for (i = 0; i < 6; i++)
if ((ret = decode_i_block(f, f->block[i])) < 0)
@@ -795,8 +803,8 @@ static int decode_i_frame(FourXContext *f, const uint8_t *buf, int length)
prestream_size);
if (!f->bitstream_buffer)
return AVERROR(ENOMEM);
f->dsp.bswap_buf(f->bitstream_buffer, (const uint32_t*)prestream,
prestream_size / 4);
f->bbdsp.bswap_buf(f->bitstream_buffer, (const uint32_t *) prestream,
prestream_size / 4);
init_get_bits(&f->pre_gb, f->bitstream_buffer, 8 * prestream_size);
f->last_dc = 0 * 128 * 8 * 8;
@@ -831,7 +839,7 @@ static int decode_frame(AVCodecContext *avctx, void *data,
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",
av_log(f->avctx, AV_LOG_ERROR, "size mismatch %d %"PRIu32"\n",
buf_size, AV_RL32(buf + 4));
return AVERROR_INVALIDDATA;
}
@@ -996,7 +1004,8 @@ static av_cold int decode_init(AVCodecContext *avctx)
}
f->version = AV_RL32(avctx->extradata) >> 16;
ff_dsputil_init(&f->dsp, avctx);
ff_blockdsp_init(&f->bdsp, avctx);
ff_bswapdsp_init(&f->bbdsp);
f->avctx = avctx;
init_vlcs(f);

View File

@@ -150,7 +150,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
c->planemap[0] = 0; // 1st plane is palette indexes
break;
case 24:
avctx->pix_fmt = avctx->get_format(avctx, pixfmt_rgb24);
avctx->pix_fmt = ff_get_format(avctx, pixfmt_rgb24);
c->planes = 3;
c->planemap[0] = 2; // 1st plane is red
c->planemap[1] = 1; // 2nd plane is green

View File

@@ -101,7 +101,7 @@ static int eightsvx_decode_frame(AVCodecContext *avctx, void *data,
}
if (avpkt->size < (hdr_size + 1) * avctx->channels) {
av_log(avctx, AV_LOG_ERROR, "packet size is too small\n");
return AVERROR(EINVAL);
return AVERROR_INVALIDDATA;
}
esc->fib_acc[0] = avpkt->data[1] + 128;
@@ -124,7 +124,7 @@ static int eightsvx_decode_frame(AVCodecContext *avctx, void *data,
}
if (!esc->data[0]) {
av_log(avctx, AV_LOG_ERROR, "unexpected empty packet\n");
return AVERROR(EINVAL);
return AVERROR_INVALIDDATA;
}
/* decode next piece of data from the buffer */

View File

@@ -1,25 +1,28 @@
include $(SUBDIR)../config.mak
NAME = avcodec
FFLIBS = avutil
HEADERS = avcodec.h \
avfft.h \
dv_profile.h \
dxva2.h \
old_codec_ids.h \
vaapi.h \
vda.h \
vdpau.h \
version.h \
vorbis_parser.h \
xvmc.h \
OBJS = allcodecs.o \
audioconvert.o \
avdct.o \
avpacket.o \
avpicture.o \
bitstream.o \
bitstream_filter.o \
codec_desc.o \
dv_profile.o \
fmtconvert.o \
imgconvert.o \
mathtables.o \
@@ -29,19 +32,24 @@ OBJS = allcodecs.o \
resample.o \
resample2.o \
utils.o \
vorbis_parser.o \
xiph.o \
# parts needed for many different codecs
# subsystems
OBJS-$(CONFIG_AANDCTTABLES) += aandcttab.o
OBJS-$(CONFIG_AC3DSP) += ac3dsp.o
OBJS-$(CONFIG_AUDIO_FRAME_QUEUE) += audio_frame_queue.o
OBJS-$(CONFIG_AUDIODSP) += audiodsp.o
OBJS-$(CONFIG_BLOCKDSP) += blockdsp.o
OBJS-$(CONFIG_BSWAPDSP) += bswapdsp.o
OBJS-$(CONFIG_CABAC) += cabac.o
OBJS-$(CONFIG_CRYSTALHD) += crystalhd.o
OBJS-$(CONFIG_DCT) += dct.o dct32_fixed.o dct32_float.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
OBJS-$(CONFIG_FAANDCT) += faandct.o
OBJS-$(CONFIG_FAANIDCT) += faanidct.o
OBJS-$(CONFIG_FDCTDSP) += fdctdsp.o jfdctfst.o jfdctint.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 \
@@ -54,30 +62,42 @@ OBJS-$(CONFIG_H264PRED) += h264pred.o
OBJS-$(CONFIG_H264QPEL) += h264qpel.o
OBJS-$(CONFIG_HPELDSP) += hpeldsp.o
OBJS-$(CONFIG_HUFFMAN) += huffman.o
OBJS-$(CONFIG_HUFFYUVDSP) += huffyuvdsp.o
OBJS-$(CONFIG_HUFFYUVENCDSP) += huffyuvencdsp.o
OBJS-$(CONFIG_IDCTDSP) += idctdsp.o simple_idct.o jrevdct.o
OBJS-$(CONFIG_IIRFILTER) += iirfilter.o
OBJS-$(CONFIG_INTRAX8) += intrax8.o intrax8dsp.o
OBJS-$(CONFIG_LIBXVID) += libxvid_rc.o
OBJS-$(CONFIG_LLAUDDSP) += lossless_audiodsp.o
OBJS-$(CONFIG_LLVIDDSP) += lossless_videodsp.o
OBJS-$(CONFIG_LPC) += lpc.o
OBJS-$(CONFIG_LSP) += lsp.o
OBJS-$(CONFIG_MDCT) += mdct_fixed.o mdct_float.o mdct_fixed_32.o
OBJS-$(CONFIG_ME_CMP) += me_cmp.o
OBJS-$(CONFIG_MPEG_ER) += mpeg_er.o
OBJS-$(CONFIG_MPEGAUDIO) += mpegaudio.o mpegaudiodata.o \
mpegaudiodecheader.o
OBJS-$(CONFIG_MPEGAUDIODSP) += mpegaudiodsp.o \
mpegaudiodsp_data.o \
mpegaudiodsp_fixed.o \
mpegaudiodsp_float.o
OBJS-$(CONFIG_MPEGVIDEO) += mpegvideo.o mpegvideo_motion.o
OBJS-$(CONFIG_MPEGVIDEO) += mpegvideo.o mpegvideodsp.o \
mpegvideo_motion.o mpegutils.o
OBJS-$(CONFIG_MPEGVIDEOENC) += mpegvideo_enc.o mpeg12data.o \
motion_est.o ratecontrol.o
motion_est.o ratecontrol.o \
mpegvideoencdsp.o
OBJS-$(CONFIG_PIXBLOCKDSP) += pixblockdsp.o
OBJS-$(CONFIG_QPELDSP) += qpeldsp.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_STARTCODE) += startcode.o
OBJS-$(CONFIG_TPELDSP) += tpeldsp.o
OBJS-$(CONFIG_VIDEODSP) += videodsp.o
OBJS-$(CONFIG_VP3DSP) += vp3dsp.o
OBJS-$(CONFIG_WMA_FREQS) += wma_freqs.o
# decoders/encoders
OBJS-$(CONFIG_ZERO12V_DECODER) += 012v.o
@@ -88,16 +108,18 @@ OBJS-$(CONFIG_AAC_DECODER) += aacdec.o aactab.o aacsbr.o aacps.o \
sbrdsp.o aacpsdsp.o
OBJS-$(CONFIG_AAC_ENCODER) += aacenc.o aaccoder.o \
aacpsy.o aactab.o \
psymodel.o iirfilter.o \
mpeg4audio.o kbdwin.o
psymodel.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_DECODER) += ac3dec_float.o ac3dec_data.o ac3.o kbdwin.o
OBJS-$(CONFIG_AC3_FIXED_DECODER) += ac3dec_fixed.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_ALIAS_PIX_DECODER) += aliaspixdec.o
OBJS-$(CONFIG_ALIAS_PIX_ENCODER) += aliaspixenc.o
OBJS-$(CONFIG_ALS_DECODER) += alsdec.o bgmc.o mpeg4audio.o
OBJS-$(CONFIG_AMRNB_DECODER) += amrnbdec.o celp_filters.o \
celp_math.o acelp_filters.o \
@@ -107,14 +129,14 @@ OBJS-$(CONFIG_AMRWB_DECODER) += amrwbdec.o celp_filters.o \
celp_math.o acelp_filters.o \
acelp_vectors.o \
acelp_pitch_delay.o
OBJS-$(CONFIG_AMV_DECODER) += sp5xdec.o mjpegdec.o mjpeg.o
OBJS-$(CONFIG_AMV_ENCODER) += mjpegenc.o mjpeg.o \
OBJS-$(CONFIG_AMV_ENCODER) += mjpegenc.o mjpeg.o mjpegenc_common.o \
mpegvideo_enc.o motion_est.o \
ratecontrol.o mpeg12data.o \
mpegvideo.o
OBJS-$(CONFIG_ANM_DECODER) += anm.o
OBJS-$(CONFIG_ANSI_DECODER) += ansi.o cga_data.o
OBJS-$(CONFIG_APE_DECODER) += apedec.o
OBJS-$(CONFIG_APNG_DECODER) += png.o pngdec.o pngdsp.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
@@ -140,14 +162,14 @@ OBJS-$(CONFIG_AYUV_ENCODER) += v408enc.o
OBJS-$(CONFIG_BETHSOFTVID_DECODER) += bethsoftvideo.o
OBJS-$(CONFIG_BFI_DECODER) += bfi.o
OBJS-$(CONFIG_BINK_DECODER) += bink.o binkdsp.o
OBJS-$(CONFIG_BINKAUDIO_DCT_DECODER) += binkaudio.o wma.o wma_common.o
OBJS-$(CONFIG_BINKAUDIO_RDFT_DECODER) += binkaudio.o wma.o wma_common.o
OBJS-$(CONFIG_BINKAUDIO_DCT_DECODER) += binkaudio.o
OBJS-$(CONFIG_BINKAUDIO_RDFT_DECODER) += binkaudio.o
OBJS-$(CONFIG_BINTEXT_DECODER) += bintext.o cga_data.o
OBJS-$(CONFIG_BMP_DECODER) += bmp.o msrledec.o
OBJS-$(CONFIG_BMP_ENCODER) += bmpenc.o
OBJS-$(CONFIG_BMV_VIDEO_DECODER) += bmv.o
OBJS-$(CONFIG_BMV_AUDIO_DECODER) += bmv.o
OBJS-$(CONFIG_BRENDER_PIX_DECODER) += brender_pix.o
OBJS-$(CONFIG_BMV_AUDIO_DECODER) += bmvaudio.o
OBJS-$(CONFIG_BMV_VIDEO_DECODER) += bmvvideo.o
OBJS-$(CONFIG_BRENDER_PIX_DECODER) += brenderpix.o
OBJS-$(CONFIG_C93_DECODER) += c93.o
OBJS-$(CONFIG_CAVS_DECODER) += cavs.o cavsdec.o cavsdsp.o \
cavsdata.o mpeg12data.o
@@ -155,8 +177,8 @@ OBJS-$(CONFIG_CDGRAPHICS_DECODER) += cdgraphics.o
OBJS-$(CONFIG_CDXL_DECODER) += cdxl.o
OBJS-$(CONFIG_CINEPAK_DECODER) += cinepak.o
OBJS-$(CONFIG_CINEPAK_ENCODER) += cinepakenc.o elbg.o
OBJS-$(CONFIG_CLJR_DECODER) += cljr.o
OBJS-$(CONFIG_CLJR_ENCODER) += cljr.o
OBJS-$(CONFIG_CLJR_DECODER) += cljrdec.o
OBJS-$(CONFIG_CLJR_ENCODER) += cljrenc.o
OBJS-$(CONFIG_CLLC_DECODER) += cllc.o
OBJS-$(CONFIG_COOK_DECODER) += cook.o
OBJS-$(CONFIG_COMFORTNOISE_DECODER) += cngdec.o celp_filters.o
@@ -174,14 +196,18 @@ OBJS-$(CONFIG_DNXHD_DECODER) += dnxhddec.o dnxhddata.o
OBJS-$(CONFIG_DNXHD_ENCODER) += dnxhdenc.o dnxhddata.o
OBJS-$(CONFIG_DPX_DECODER) += dpx.o
OBJS-$(CONFIG_DPX_ENCODER) += dpxenc.o
OBJS-$(CONFIG_DSICINAUDIO_DECODER) += dsicinav.o
OBJS-$(CONFIG_DSICINVIDEO_DECODER) += dsicinav.o
OBJS-$(CONFIG_DSD_LSBF_DECODER) += dsddec.o
OBJS-$(CONFIG_DSD_MSBF_DECODER) += dsddec.o
OBJS-$(CONFIG_DSD_LSBF_PLANAR_DECODER) += dsddec.o
OBJS-$(CONFIG_DSD_MSBF_PLANAR_DECODER) += dsddec.o
OBJS-$(CONFIG_DSICINAUDIO_DECODER) += dsicinaudio.o
OBJS-$(CONFIG_DSICINVIDEO_DECODER) += dsicinvideo.o
OBJS-$(CONFIG_DVBSUB_DECODER) += dvbsubdec.o
OBJS-$(CONFIG_DVBSUB_ENCODER) += dvbsub.o
OBJS-$(CONFIG_DVDSUB_DECODER) += dvdsubdec.o
OBJS-$(CONFIG_DVDSUB_ENCODER) += dvdsubenc.o
OBJS-$(CONFIG_DVVIDEO_DECODER) += dvdec.o dv.o dvdata.o dv_profile.o
OBJS-$(CONFIG_DVVIDEO_ENCODER) += dvenc.o dv.o dvdata.o dv_profile.o
OBJS-$(CONFIG_DVVIDEO_DECODER) += dvdec.o dv.o dvdata.o
OBJS-$(CONFIG_DVVIDEO_ENCODER) += dvenc.o dv.o dvdata.o
OBJS-$(CONFIG_DXA_DECODER) += dxa.o
OBJS-$(CONFIG_DXTORY_DECODER) += dxtory.o
OBJS-$(CONFIG_EAC3_DECODER) += eac3dec.o eac3_data.o
@@ -191,8 +217,7 @@ 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 mpeg12dec.o \
mpeg12.o mpeg12data.o
OBJS-$(CONFIG_EATQI_DECODER) += eatqi.o eaidct.o
OBJS-$(CONFIG_EIGHTBPS_DECODER) += 8bps.o
OBJS-$(CONFIG_EIGHTSVX_EXP_DECODER) += 8svx.o
OBJS-$(CONFIG_EIGHTSVX_FIB_DECODER) += 8svx.o
@@ -202,8 +227,6 @@ 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
OBJS-$(CONFIG_FFVHUFF_DECODER) += huffyuv.o huffyuvdec.o
OBJS-$(CONFIG_FFVHUFF_ENCODER) += huffyuv.o huffyuvenc.o
OBJS-$(CONFIG_FFWAVESYNTH_DECODER) += ffwavesynth.o
OBJS-$(CONFIG_FIC_DECODER) += fic.o
OBJS-$(CONFIG_FLAC_DECODER) += flacdec.o flacdata.o flac.o flacdsp.o
@@ -232,18 +255,17 @@ OBJS-$(CONFIG_H263_DECODER) += h263dec.o h263.o ituh263dec.o \
intelh263dec.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_DECODER) += h264.o h264_cabac.o h264_cavlc.o \
h264_direct.o h264_loopfilter.o \
h264_mb.o h264_picture.o h264_ps.o \
h264_refs.o h264_sei.o h264_slice.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
hevcdsp.o hevc_filter.o
OBJS-$(CONFIG_HNM4_VIDEO_DECODER) += hnm4video.o
OBJS-$(CONFIG_HUFFYUV_DECODER) += huffyuv.o huffyuvdec.o
OBJS-$(CONFIG_HUFFYUV_ENCODER) += huffyuv.o huffyuvenc.o
OBJS-$(CONFIG_IAC_DECODER) += imc.o
OBJS-$(CONFIG_IDCIN_DECODER) += idcinvideo.o
OBJS-$(CONFIG_IDF_DECODER) += bintext.o cga_data.o
OBJS-$(CONFIG_IFF_BYTERUN1_DECODER) += iff.o
@@ -258,16 +280,15 @@ OBJS-$(CONFIG_INTERPLAY_VIDEO_DECODER) += interplayvideo.o
OBJS-$(CONFIG_JACOSUB_DECODER) += jacosubdec.o ass.o
OBJS-$(CONFIG_JPEG2000_ENCODER) += j2kenc.o mqcenc.o mqc.o jpeg2000.o \
jpeg2000dwt.o
OBJS-$(CONFIG_JPEG2000_DECODER) += jpeg2000dec.o jpeg2000.o \
OBJS-$(CONFIG_JPEG2000_DECODER) += jpeg2000dec.o jpeg2000.o jpeg2000dsp.o \
jpeg2000dwt.o mqcdec.o mqc.o
OBJS-$(CONFIG_JPEGLS_DECODER) += jpeglsdec.o jpegls.o \
mjpegdec.o mjpeg.o
OBJS-$(CONFIG_JPEGLS_DECODER) += jpeglsdec.o jpegls.o
OBJS-$(CONFIG_JPEGLS_ENCODER) += jpeglsenc.o jpegls.o
OBJS-$(CONFIG_JV_DECODER) += jvdec.o
OBJS-$(CONFIG_KGV1_DECODER) += kgv1dec.o
OBJS-$(CONFIG_KMVC_DECODER) += kmvc.o
OBJS-$(CONFIG_LAGARITH_DECODER) += lagarith.o lagarithrac.o
OBJS-$(CONFIG_LJPEG_ENCODER) += ljpegenc.o mjpegenc.o mjpeg.o
OBJS-$(CONFIG_LJPEG_ENCODER) += ljpegenc.o mjpeg.o mjpegenc_common.o
OBJS-$(CONFIG_LOCO_DECODER) += loco.o
OBJS-$(CONFIG_MACE3_DECODER) += mace.o
OBJS-$(CONFIG_MACE6_DECODER) += mace.o
@@ -277,8 +298,8 @@ OBJS-$(CONFIG_METASOUND_DECODER) += metasound.o metasound_data.o \
OBJS-$(CONFIG_MICRODVD_DECODER) += microdvddec.o ass.o
OBJS-$(CONFIG_MIMIC_DECODER) += mimic.o
OBJS-$(CONFIG_MJPEG_DECODER) += mjpegdec.o mjpeg.o
OBJS-$(CONFIG_MJPEG_ENCODER) += mjpegenc.o mjpeg.o
OBJS-$(CONFIG_MJPEGB_DECODER) += mjpegbdec.o mjpegdec.o mjpeg.o
OBJS-$(CONFIG_MJPEG_ENCODER) += mjpegenc.o mjpeg.o mjpegenc_common.o
OBJS-$(CONFIG_MJPEGB_DECODER) += mjpegbdec.o
OBJS-$(CONFIG_MLP_DECODER) += mlpdec.o mlpdsp.o
OBJS-$(CONFIG_MMVIDEO_DECODER) += mmvideo.o
OBJS-$(CONFIG_MOTIONPIXELS_DECODER) += motionpixels.o
@@ -300,12 +321,12 @@ OBJS-$(CONFIG_MP3ON4_DECODER) += mpegaudiodec_fixed.o mpeg4audio.o
OBJS-$(CONFIG_MP3ON4FLOAT_DECODER) += mpegaudiodec_float.o mpeg4audio.o
OBJS-$(CONFIG_MPC7_DECODER) += mpc7.o mpc.o
OBJS-$(CONFIG_MPC8_DECODER) += mpc8.o mpc.o
OBJS-$(CONFIG_MPEGVIDEO_DECODER) += mpeg12.o mpeg12data.o \
mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MPEGVIDEO_DECODER) += mpeg12dec.o 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
OBJS-$(CONFIG_MPEG4_DECODER) += xvididct.o
OBJS-$(CONFIG_MPL2_DECODER) += mpl2dec.o ass.o
OBJS-$(CONFIG_MSMPEG4V1_DECODER) += msmpeg4dec.o msmpeg4.o msmpeg4data.o
OBJS-$(CONFIG_MSMPEG4V2_DECODER) += msmpeg4dec.o msmpeg4.o msmpeg4data.o
@@ -322,12 +343,16 @@ OBJS-$(CONFIG_MSZH_DECODER) += lcldec.o
OBJS-$(CONFIG_MTS2_DECODER) += mss4.o mss34dsp.o
OBJS-$(CONFIG_MVC1_DECODER) += mvcdec.o
OBJS-$(CONFIG_MVC2_DECODER) += mvcdec.o
OBJS-$(CONFIG_MXPEG_DECODER) += mxpegdec.o mjpegdec.o mjpeg.o
OBJS-$(CONFIG_MXPEG_DECODER) += mxpegdec.o
OBJS-$(CONFIG_NELLYMOSER_DECODER) += nellymoserdec.o nellymoser.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
OBJS-$(CONFIG_ON2AVC_DECODER) += on2avc.o on2avcdata.o
OBJS-$(CONFIG_OPUS_DECODER) += opusdec.o opus.o opus_celt.o \
opus_imdct.o opus_silk.o \
vorbis_data.o
OBJS-$(CONFIG_PAF_AUDIO_DECODER) += pafaudio.o
OBJS-$(CONFIG_PAF_VIDEO_DECODER) += pafvideo.o
OBJS-$(CONFIG_PAM_DECODER) += pnmdec.o pnm.o
OBJS-$(CONFIG_PAM_ENCODER) += pamenc.o
OBJS-$(CONFIG_PBM_DECODER) += pnmdec.o pnm.o
@@ -405,9 +430,10 @@ OBJS-$(CONFIG_SOL_DPCM_DECODER) += dpcm.o
OBJS-$(CONFIG_SONIC_DECODER) += sonic.o
OBJS-$(CONFIG_SONIC_ENCODER) += sonic.o
OBJS-$(CONFIG_SONIC_LS_ENCODER) += sonic.o
OBJS-$(CONFIG_SP5X_DECODER) += sp5xdec.o mjpegdec.o mjpeg.o
OBJS-$(CONFIG_SP5X_DECODER) += sp5xdec.o
OBJS-$(CONFIG_SRT_DECODER) += srtdec.o ass.o
OBJS-$(CONFIG_SRT_ENCODER) += srtenc.o ass_split.o
OBJS-$(CONFIG_STL_DECODER) += textdec.o ass.o
OBJS-$(CONFIG_SUBRIP_DECODER) += srtdec.o ass.o
OBJS-$(CONFIG_SUBRIP_ENCODER) += srtenc.o ass_split.o
OBJS-$(CONFIG_SUBVIEWER1_DECODER) += textdec.o ass.o
@@ -417,17 +443,12 @@ OBJS-$(CONFIG_SUNRAST_ENCODER) += sunrastenc.o
OBJS-$(CONFIG_SVQ1_DECODER) += svq1dec.o svq1.o svq13.o h263.o
OBJS-$(CONFIG_SVQ1_ENCODER) += svq1enc.o svq1.o \
h263.o ituh263enc.o
OBJS-$(CONFIG_SVQ3_DECODER) += svq3.o svq13.o h263.o h264.o \
h264_loopfilter.o h264_direct.o \
h264_sei.o h264_ps.o h264_refs.o \
h264_cavlc.o h264_cabac.o cabac.o
OBJS-$(CONFIG_SVQ3_DECODER) += svq3.o svq13.o mpegutils.o
OBJS-$(CONFIG_TEXT_DECODER) += textdec.o ass.o
OBJS-$(CONFIG_TAK_DECODER) += takdec.o tak.o
OBJS-$(CONFIG_TARGA_DECODER) += targa.o
OBJS-$(CONFIG_TARGA_ENCODER) += targaenc.o rle.o
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 tiff_common.o
OBJS-$(CONFIG_TIFF_ENCODER) += tiffenc.o rle.o lzwenc.o tiff_data.o
@@ -456,15 +477,17 @@ OBJS-$(CONFIG_V410_ENCODER) += v410enc.o
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 \
OBJS-$(CONFIG_VC1_DECODER) += vc1dec.o vc1_block.o vc1_loopfilter.o \
vc1_mc.o vc1_pred.o vc1.o vc1data.o \
vc1dsp.o \
msmpeg4dec.o msmpeg4.o msmpeg4data.o \
wmv2dsp.o
OBJS-$(CONFIG_VCR1_DECODER) += vcr1.o
OBJS-$(CONFIG_VMDAUDIO_DECODER) += vmdav.o
OBJS-$(CONFIG_VMDVIDEO_DECODER) += vmdav.o
OBJS-$(CONFIG_VMDAUDIO_DECODER) += vmdaudio.o
OBJS-$(CONFIG_VMDVIDEO_DECODER) += vmdvideo.o
OBJS-$(CONFIG_VMNC_DECODER) += vmnc.o
OBJS-$(CONFIG_VORBIS_DECODER) += vorbisdec.o vorbisdsp.o vorbis.o \
vorbis_data.o xiph.o
vorbis_data.o
OBJS-$(CONFIG_VORBIS_ENCODER) += vorbisenc.o vorbis.o \
vorbis_data.o
OBJS-$(CONFIG_VP3_DECODER) += vp3.o
@@ -472,6 +495,7 @@ OBJS-$(CONFIG_VP5_DECODER) += vp5.o vp56.o vp56data.o vp56dsp.o \
vp56rac.o
OBJS-$(CONFIG_VP6_DECODER) += vp6.o vp56.o vp56data.o vp56dsp.o \
vp6dsp.o vp56rac.o
OBJS-$(CONFIG_VP7_DECODER) += vp8.o vp8dsp.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
@@ -480,7 +504,8 @@ 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 exif.o tiff_common.o
OBJS-$(CONFIG_WEBVTT_DECODER) += webvttdec.o
OBJS-$(CONFIG_WEBVTT_DECODER) += webvttdec.o ass.o
OBJS-$(CONFIG_WEBVTT_ENCODER) += webvttenc.o ass_split.o
OBJS-$(CONFIG_WMALOSSLESS_DECODER) += wmalosslessdec.o wma_common.o
OBJS-$(CONFIG_WMAPRO_DECODER) += wmaprodec.o wma.o wma_common.o
OBJS-$(CONFIG_WMAV1_DECODER) += wmadec.o wma.o wma_common.o aactab.o
@@ -491,6 +516,7 @@ OBJS-$(CONFIG_WMAVOICE_DECODER) += wmavoice.o \
celp_filters.o \
acelp_vectors.o acelp_filters.o
OBJS-$(CONFIG_WMV1_DECODER) += msmpeg4dec.o msmpeg4.o msmpeg4data.o
OBJS-$(CONFIG_WMV1_ENCODER) += msmpeg4enc.o
OBJS-$(CONFIG_WMV2_DECODER) += wmv2dec.o wmv2.o wmv2dsp.o \
msmpeg4dec.o msmpeg4.o msmpeg4data.o
OBJS-$(CONFIG_WMV2_ENCODER) += wmv2enc.o wmv2.o wmv2dsp.o \
@@ -619,12 +645,18 @@ OBJS-$(CONFIG_ADPCM_SBPRO_4_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_SWF_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_SWF_ENCODER) += adpcmenc.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_THP_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_VIMA_DECODER) += vima.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_XA_DECODER) += adpcm.o adpcm_data.o
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_DXVA2) += dxva2.o
OBJS-$(CONFIG_VAAPI) += vaapi.o
OBJS-$(CONFIG_VDA) += vda.o
OBJS-$(CONFIG_VDPAU) += vdpau.o
OBJS-$(CONFIG_H263_VAAPI_HWACCEL) += vaapi_mpeg4.o vaapi_mpeg.o
OBJS-$(CONFIG_H263_VDPAU_HWACCEL) += vdpau_mpeg4.o
OBJS-$(CONFIG_H264_DXVA2_HWACCEL) += dxva2_h264.o
@@ -645,24 +677,20 @@ OBJS-$(CONFIG_VC1_VDPAU_HWACCEL) += vdpau_vc1.o
# libavformat dependencies
OBJS-$(CONFIG_ADTS_MUXER) += mpeg4audio.o
OBJS-$(CONFIG_ADX_DEMUXER) += adx.o
OBJS-$(CONFIG_CAF_DEMUXER) += mpeg4audio.o mpegaudiodata.o \
ac3tab.o
OBJS-$(CONFIG_DV_DEMUXER) += dv_profile.o
OBJS-$(CONFIG_DV_MUXER) += dv_profile.o
OBJS-$(CONFIG_FLAC_DEMUXER) += flac.o flacdata.o vorbis_data.o \
vorbis_parser.o xiph.o
OBJS-$(CONFIG_FLAC_DEMUXER) += flac.o flacdata.o vorbis_data.o
OBJS-$(CONFIG_FLAC_MUXER) += flac.o flacdata.o vorbis_data.o
OBJS-$(CONFIG_FLV_DEMUXER) += mpeg4audio.o
OBJS-$(CONFIG_GXF_DEMUXER) += mpeg12data.o
OBJS-$(CONFIG_IFF_DEMUXER) += iff.o
OBJS-$(CONFIG_ISMV_MUXER) += mpeg4audio.o mpegaudiodata.o
OBJS-$(CONFIG_LATM_MUXER) += mpeg4audio.o
OBJS-$(CONFIG_MATROSKA_AUDIO_MUXER) += xiph.o mpeg4audio.o vorbis_data.o \
OBJS-$(CONFIG_MATROSKA_AUDIO_MUXER) += mpeg4audio.o vorbis_data.o \
flac.o flacdata.o
OBJS-$(CONFIG_MATROSKA_DEMUXER) += mpeg4audio.o mpegaudiodata.o
OBJS-$(CONFIG_MATROSKA_MUXER) += mpeg4audio.o mpegaudiodata.o \
flac.o flacdata.o vorbis_data.o xiph.o
flac.o flacdata.o vorbis_data.o
OBJS-$(CONFIG_MP2_MUXER) += mpegaudiodata.o mpegaudiodecheader.o
OBJS-$(CONFIG_MP3_MUXER) += mpegaudiodata.o mpegaudiodecheader.o
OBJS-$(CONFIG_MOV_DEMUXER) += mpeg4audio.o mpegaudiodata.o ac3tab.o
@@ -671,18 +699,18 @@ OBJS-$(CONFIG_MPEGTS_MUXER) += mpeg4audio.o
OBJS-$(CONFIG_MPEGTS_DEMUXER) += mpeg4audio.o mpegaudiodata.o
OBJS-$(CONFIG_MXF_MUXER) += dnxhddata.o
OBJS-$(CONFIG_NUT_MUXER) += mpegaudiodata.o
OBJS-$(CONFIG_OGG_DEMUXER) += xiph.o flac.o flacdata.o \
mpeg12data.o vorbis_parser.o \
OBJS-$(CONFIG_OGA_MUXER) += flac.o flacdata.o
OBJS-$(CONFIG_OGG_DEMUXER) += mpeg12data.o \
dirac.o vorbis_data.o
OBJS-$(CONFIG_OGG_MUXER) += xiph.o flac.o flacdata.o \
OBJS-$(CONFIG_OGG_MUXER) += flac.o flacdata.o \
vorbis_data.o
OBJS-$(CONFIG_RTP_MUXER) += mpeg4audio.o xiph.o
OBJS-$(CONFIG_RTP_MUXER) += mpeg4audio.o
OBJS-$(CONFIG_RTPDEC) += mjpeg.o
OBJS-$(CONFIG_SPDIF_DEMUXER) += aacadtsdec.o mpeg4audio.o
OBJS-$(CONFIG_SPDIF_MUXER) += dca.o
OBJS-$(CONFIG_TAK_DEMUXER) += tak.o
OBJS-$(CONFIG_WEBM_MUXER) += mpeg4audio.o mpegaudiodata.o \
xiph.o flac.o flacdata.o \
flac.o flacdata.o \
vorbis_data.o
OBJS-$(CONFIG_WTV_DEMUXER) += mpeg4audio.o mpegaudiodata.o
@@ -695,10 +723,10 @@ OBJS-$(CONFIG_LIBCELT_DECODER) += libcelt_dec.o
OBJS-$(CONFIG_LIBFAAC_ENCODER) += libfaac.o
OBJS-$(CONFIG_LIBFDK_AAC_DECODER) += libfdk-aacdec.o
OBJS-$(CONFIG_LIBFDK_AAC_ENCODER) += libfdk-aacenc.o
OBJS-$(CONFIG_LIBGSM_DECODER) += libgsm.o
OBJS-$(CONFIG_LIBGSM_ENCODER) += libgsm.o
OBJS-$(CONFIG_LIBGSM_MS_DECODER) += libgsm.o
OBJS-$(CONFIG_LIBGSM_MS_ENCODER) += libgsm.o
OBJS-$(CONFIG_LIBGSM_DECODER) += libgsmdec.o
OBJS-$(CONFIG_LIBGSM_ENCODER) += libgsmenc.o
OBJS-$(CONFIG_LIBGSM_MS_DECODER) += libgsmdec.o
OBJS-$(CONFIG_LIBGSM_MS_ENCODER) += libgsmenc.o
OBJS-$(CONFIG_LIBILBC_DECODER) += libilbc.o
OBJS-$(CONFIG_LIBILBC_ENCODER) += libilbc.o
OBJS-$(CONFIG_LIBMP3LAME_ENCODER) += libmp3lame.o mpegaudiodecheader.o
@@ -727,7 +755,7 @@ 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 \
vorbis_data.o vorbis_parser.o xiph.o
vorbis_data.o
OBJS-$(CONFIG_LIBVPX_VP8_DECODER) += libvpxdec.o
OBJS-$(CONFIG_LIBVPX_VP8_ENCODER) += libvpxenc.o
OBJS-$(CONFIG_LIBVPX_VP9_DECODER) += libvpxdec.o libvpx.o
@@ -762,11 +790,7 @@ OBJS-$(CONFIG_FLAC_PARSER) += flac_parser.o flacdata.o flac.o \
OBJS-$(CONFIG_GSM_PARSER) += gsm_parser.o
OBJS-$(CONFIG_H261_PARSER) += h261_parser.o
OBJS-$(CONFIG_H263_PARSER) += h263_parser.o
OBJS-$(CONFIG_H264_PARSER) += h264_parser.o h264.o \
cabac.o \
h264_refs.o h264_sei.o h264_direct.o \
h264_loopfilter.o h264_cabac.o \
h264_cavlc.o h264_ps.o
OBJS-$(CONFIG_H264_PARSER) += h264_parser.o
OBJS-$(CONFIG_HEVC_PARSER) += hevc_parser.o
OBJS-$(CONFIG_MJPEG_PARSER) += mjpeg_parser.o
OBJS-$(CONFIG_MLP_PARSER) += mlp_parser.o mlp.o
@@ -778,15 +802,15 @@ OBJS-$(CONFIG_MPEGAUDIO_PARSER) += mpegaudio_parser.o \
mpegaudiodecheader.o mpegaudiodata.o
OBJS-$(CONFIG_MPEGVIDEO_PARSER) += mpegvideo_parser.o \
mpeg12.o mpeg12data.o
OBJS-$(CONFIG_OPUS_PARSER) += opus_parser.o opus.o vorbis_data.o
OBJS-$(CONFIG_PNG_PARSER) += png_parser.o
OBJS-$(CONFIG_PNM_PARSER) += pnm_parser.o pnm.o
OBJS-$(CONFIG_RV30_PARSER) += rv34_parser.o
OBJS-$(CONFIG_RV40_PARSER) += rv34_parser.o
OBJS-$(CONFIG_TAK_PARSER) += tak_parser.o tak.o
OBJS-$(CONFIG_VC1_PARSER) += vc1_parser.o vc1.o vc1data.o \
OBJS-$(CONFIG_VC1_PARSER) += vc1_parser.o vc1.o vc1data.o vc1dsp.o \
msmpeg4.o msmpeg4data.o mpeg4video.o \
h263.o
OBJS-$(CONFIG_VORBIS_PARSER) += vorbis_parser.o xiph.o
OBJS-$(CONFIG_VP3_PARSER) += vp3_parser.o
OBJS-$(CONFIG_VP8_PARSER) += vp8_parser.o
OBJS-$(CONFIG_VP9_PARSER) += vp9_parser.o
@@ -820,6 +844,7 @@ SKIPHEADERS += %_tablegen.h \
%_tables.h \
aac_tablegen_decl.h \
fft-internal.h \
libutvideo.h \
old_codec_ids.h \
tableprint.h \
$(ARCH)/vp56_arith.h \
@@ -829,29 +854,31 @@ SKIPHEADERS-$(CONFIG_LIBSCHROEDINGER) += libschroedinger.h
SKIPHEADERS-$(CONFIG_LIBUTVIDEO) += libutvideo.h
SKIPHEADERS-$(CONFIG_XVMC) += xvmc.h
SKIPHEADERS-$(CONFIG_VAAPI) += vaapi_internal.h
SKIPHEADERS-$(CONFIG_VDA) += vda.h
SKIPHEADERS-$(CONFIG_VDA) += vda.h vda_internal.h
SKIPHEADERS-$(CONFIG_VDPAU) += vdpau.h vdpau_internal.h
TESTPROGS = cabac \
fft \
fft-fixed \
fft-fixed32 \
golomb \
iirfilter \
imgconvert \
rangecoder \
snowenc \
TESTPROGS = imgconvert \
TESTPROGS-$(CONFIG_CABAC) += cabac
TESTPROGS-$(CONFIG_FFT) += fft fft-fixed fft-fixed32
TESTPROGS-$(CONFIG_IDCTDSP) += dct
TESTPROGS-$(CONFIG_IIRFILTER) += iirfilter
TESTPROGS-$(HAVE_MMX) += motion
TESTPROGS-$(CONFIG_GOLOMB) += golomb
TESTPROGS-$(CONFIG_RANGECODER) += rangecoder
TESTPROGS-$(CONFIG_SNOW_ENCODER) += snowenc
TESTPROGS-$(CONFIG_DCT) += dct
TESTPROGS-$(HAVE_MMX) += motion
TESTOBJS = dctref.o
TOOLS = fourcc2pixfmt
HOSTPROGS = aac_tablegen \
aacps_tablegen \
aacsbr_tablegen \
cabac_tablegen \
cbrt_tablegen \
cos_tablegen \
dsd_tablegen \
dv_tablegen \
motionpixels_tablegen \
mpegaudio_tablegen \
@@ -876,7 +903,7 @@ else
$(SUBDIR)%_tablegen$(HOSTEXESUF): HOSTCFLAGS += -DCONFIG_SMALL=0
endif
GEN_HEADERS = cbrt_tables.h aacps_tables.h aac_tables.h dv_tables.h \
GEN_HEADERS = cabac_tables.h cbrt_tables.h aacps_tables.h aacsbr_tables.h aac_tables.h dsd_tables.h dv_tables.h \
sinewin_tables.h mpegaudio_tables.h motionpixels_tables.h \
pcm_tables.h qdm2_tables.h
GEN_HEADERS := $(addprefix $(SUBDIR), $(GEN_HEADERS))
@@ -887,7 +914,10 @@ $(GEN_HEADERS): $(SUBDIR)%_tables.h: $(SUBDIR)%_tablegen$(HOSTEXESUF)
ifdef CONFIG_HARDCODED_TABLES
$(SUBDIR)aacdec.o: $(SUBDIR)cbrt_tables.h
$(SUBDIR)aacps.o: $(SUBDIR)aacps_tables.h
$(SUBDIR)aacsbr.o: $(SUBDIR)aacsbr_tables.h
$(SUBDIR)aactab.o: $(SUBDIR)aac_tables.h
$(SUBDIR)cabac.o: $(SUBDIR)cabac_tables.h
$(SUBDIR)dsddec.o: $(SUBDIR)dsd_tables.h
$(SUBDIR)dvenc.o: $(SUBDIR)dv_tables.h
$(SUBDIR)sinewin.o: $(SUBDIR)sinewin_tables.h
$(SUBDIR)mpegaudiodec_fixed.o: $(SUBDIR)mpegaudio_tables.h

View File

@@ -187,11 +187,11 @@ static av_cold int a64multi_close_encoder(AVCodecContext *avctx)
{
A64Context *c = avctx->priv_data;
av_frame_free(&avctx->coded_frame);
av_free(c->mc_meta_charset);
av_free(c->mc_best_cb);
av_free(c->mc_charset);
av_free(c->mc_charmap);
av_free(c->mc_colram);
av_freep(&c->mc_meta_charset);
av_freep(&c->mc_best_cb);
av_freep(&c->mc_charset);
av_freep(&c->mc_charmap);
av_freep(&c->mc_colram);
return 0;
}
@@ -220,9 +220,9 @@ static av_cold int a64multi_encode_init(AVCodecContext *avctx)
a64_palette[mc_colors[a]][2] * 0.11;
}
if (!(c->mc_meta_charset = av_malloc(32000 * c->mc_lifetime * sizeof(int))) ||
if (!(c->mc_meta_charset = av_malloc_array(c->mc_lifetime, 32000 * sizeof(int))) ||
!(c->mc_best_cb = av_malloc(CHARSET_CHARS * 32 * sizeof(int))) ||
!(c->mc_charmap = av_mallocz(1000 * c->mc_lifetime * sizeof(int))) ||
!(c->mc_charmap = av_mallocz_array(c->mc_lifetime, 1000 * sizeof(int))) ||
!(c->mc_colram = av_mallocz(CHARSET_CHARS * sizeof(uint8_t))) ||
!(c->mc_charset = av_malloc(0x800 * (INTERLACED+1) * sizeof(uint8_t)))) {
av_log(avctx, AV_LOG_ERROR, "Failed to allocate buffer memory.\n");
@@ -351,7 +351,6 @@ static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
/* advance pointers */
buf += charset_size;
charset += charset_size;
}
/* write x frames to buf */

View File

@@ -245,6 +245,7 @@ typedef struct SingleChannelElement {
* channel element - generic struct for SCE/CPE/CCE/LFE
*/
typedef struct ChannelElement {
int present;
// CPE specific
int common_window; ///< Set if channels share a common 'IndividualChannelStream' in bitstream.
int ms_mode; ///< Signals mid/side stereo flags coding mode (used by encoder)
@@ -274,6 +275,7 @@ struct AACContext {
ChannelElement *che[4][MAX_ELEM_ID];
ChannelElement *tag_che_map[4][MAX_ELEM_ID];
int tags_mapped;
int warned_remapping_once;
/** @} */
/**
@@ -293,7 +295,7 @@ struct AACContext {
FFTContext mdct_ld;
FFTContext mdct_ltp;
FmtConvertContext fmt_conv;
AVFloatDSPContext fdsp;
AVFloatDSPContext *fdsp;
int random_state;
/** @} */

View File

@@ -57,7 +57,7 @@ static int aac_adtstoasc_filter(AVBitStreamFilterContext *bsfc,
if (avpriv_aac_parse_header(&gb, &hdr) < 0) {
av_log(avctx, AV_LOG_ERROR, "Error parsing ADTS frame header!\n");
return -1;
return AVERROR_INVALIDDATA;
}
if (!hdr.crc_absent && hdr.num_aac_frames > 1) {

View File

@@ -31,7 +31,7 @@
#include "libavutil/mathematics.h"
float ff_aac_pow2sf_tab[428];
void ff_aac_tableinit(void)
av_cold void ff_aac_tableinit(void)
{
int i;
for (i = 0; i < 428; i++)

View File

@@ -31,7 +31,7 @@ int avpriv_aac_parse_header(GetBitContext *gbc, AACADTSHeaderInfo *hdr)
int size, rdb, ch, sr;
int aot, crc_abs;
if(get_bits(gbc, 12) != 0xfff)
if (get_bits(gbc, 12) != 0xfff)
return AAC_AC3_PARSE_ERROR_SYNC;
skip_bits1(gbc); /* id */
@@ -39,10 +39,10 @@ int avpriv_aac_parse_header(GetBitContext *gbc, AACADTSHeaderInfo *hdr)
crc_abs = get_bits1(gbc); /* protection_absent */
aot = get_bits(gbc, 2); /* profile_objecttype */
sr = get_bits(gbc, 4); /* sample_frequency_index */
if(!avpriv_mpeg4audio_sample_rates[sr])
if (!avpriv_mpeg4audio_sample_rates[sr])
return AAC_AC3_PARSE_ERROR_SAMPLE_RATE;
skip_bits1(gbc); /* private_bit */
ch = get_bits(gbc, 3); /* channel_configuration */
ch = get_bits(gbc, 3); /* channel_configuration */
skip_bits1(gbc); /* original/copy */
skip_bits1(gbc); /* home */
@@ -50,8 +50,8 @@ int avpriv_aac_parse_header(GetBitContext *gbc, AACADTSHeaderInfo *hdr)
/* adts_variable_header */
skip_bits1(gbc); /* copyright_identification_bit */
skip_bits1(gbc); /* copyright_identification_start */
size = get_bits(gbc, 13); /* aac_frame_length */
if(size < AAC_ADTS_HEADER_SIZE)
size = get_bits(gbc, 13); /* aac_frame_length */
if (size < AAC_ADTS_HEADER_SIZE)
return AAC_AC3_PARSE_ERROR_FRAME_SIZE;
skip_bits(gbc, 11); /* adts_buffer_fullness */

View File

@@ -53,7 +53,7 @@ static const uint8_t run_value_bits_short[16] = {
3, 3, 3, 3, 3, 3, 3, 6, 6, 6, 6, 6, 6, 6, 6, 9
};
static const uint8_t *run_value_bits[2] = {
static const uint8_t * const run_value_bits[2] = {
run_value_bits_long, run_value_bits_short
};
@@ -776,7 +776,6 @@ static void search_for_quantizers_twoloop(AVCodecContext *avctx,
do {
int prev = -1;
tbits = 0;
fflag = 0;
for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w]) {
start = w*128;
for (g = 0; g < sce->ics.num_swb; g++) {
@@ -953,7 +952,6 @@ static void search_for_quantizers_faac(AVCodecContext *avctx, AACEncContext *s,
}
sce->zeroes[w*16+g] = 0;
scf = prev_scf = av_clip(SCALE_ONE_POS - SCALE_DIV_512 - log2f(1/maxq[w*16+g])*16/3, 60, 218);
step = 16;
for (;;) {
float dist = 0.0f;
int quant_max;

View File

@@ -621,6 +621,12 @@ static ChannelElement *get_che(AACContext *ac, int type, int elem_id)
* If we seem to have encountered such a stream, transfer
* the LFE[0] element to the SCE[1]'s mapping */
if (ac->tags_mapped == tags_per_config[ac->oc[1].m4ac.chan_config] - 1 && (type == TYPE_LFE || type == TYPE_SCE)) {
if (!ac->warned_remapping_once && (type != TYPE_LFE || elem_id != 0)) {
av_log(ac->avctx, AV_LOG_WARNING,
"This stream seems to incorrectly report its last channel as %s[%d], mapping to LFE[0]\n",
type == TYPE_SCE ? "SCE" : "LFE", elem_id);
ac->warned_remapping_once++;
}
ac->tags_mapped++;
return ac->tag_che_map[type][elem_id] = ac->che[TYPE_LFE][0];
}
@@ -630,6 +636,22 @@ static ChannelElement *get_che(AACContext *ac, int type, int elem_id)
return ac->tag_che_map[TYPE_CPE][elem_id] = ac->che[TYPE_CPE][1];
}
case 4:
/* Some streams incorrectly code 4.0 audio as
* SCE[0] CPE[0] LFE[0]
* instead of
* SCE[0] CPE[0] SCE[1].
* If we seem to have encountered such a stream, transfer
* the SCE[1] element to the LFE[0]'s mapping */
if (ac->tags_mapped == tags_per_config[ac->oc[1].m4ac.chan_config] - 1 && (type == TYPE_LFE || type == TYPE_SCE)) {
if (!ac->warned_remapping_once && (type != TYPE_SCE || elem_id != 1)) {
av_log(ac->avctx, AV_LOG_WARNING,
"This stream seems to incorrectly report its last channel as %s[%d], mapping to SCE[1]\n",
type == TYPE_SCE ? "SCE" : "LFE", elem_id);
ac->warned_remapping_once++;
}
ac->tags_mapped++;
return ac->tag_che_map[type][elem_id] = ac->che[TYPE_SCE][1];
}
if (ac->tags_mapped == 2 &&
ac->oc[1].m4ac.chan_config == 4 &&
type == TYPE_SCE) {
@@ -681,6 +703,7 @@ static void decode_channel_map(uint8_t layout_map[][3],
syn_ele = TYPE_LFE;
break;
default:
// AAC_CHANNEL_OFF has no channel map
av_assert0(0);
}
layout_map[0][0] = syn_ele;
@@ -1114,7 +1137,10 @@ static av_cold int aac_decode_init(AVCodecContext *avctx)
ff_aac_sbr_init();
ff_fmt_convert_init(&ac->fmt_conv, avctx);
avpriv_float_dsp_init(&ac->fdsp, avctx->flags & CODEC_FLAG_BITEXACT);
ac->fdsp = avpriv_float_dsp_alloc(avctx->flags & CODEC_FLAG_BITEXACT);
if (!ac->fdsp) {
return AVERROR(ENOMEM);
}
ac->random_state = 0x1f2e3d4c;
@@ -1490,13 +1516,12 @@ static void decode_mid_side_stereo(ChannelElement *cpe, GetBitContext *gb,
int ms_present)
{
int idx;
int max_idx = cpe->ch[0].ics.num_window_groups * cpe->ch[0].ics.max_sfb;
if (ms_present == 1) {
for (idx = 0;
idx < cpe->ch[0].ics.num_window_groups * cpe->ch[0].ics.max_sfb;
idx++)
for (idx = 0; idx < max_idx; idx++)
cpe->ms_mask[idx] = get_bits1(gb);
} else if (ms_present == 2) {
memset(cpe->ms_mask, 1, sizeof(cpe->ms_mask[0]) * cpe->ch[0].ics.num_window_groups * cpe->ch[0].ics.max_sfb);
memset(cpe->ms_mask, 1, max_idx * sizeof(cpe->ms_mask[0]));
}
}
@@ -1618,9 +1643,9 @@ static int decode_spectrum_and_dequant(AACContext *ac, float coef[1024],
cfo[k] = ac->random_state;
}
band_energy = ac->fdsp.scalarproduct_float(cfo, cfo, off_len);
band_energy = ac->fdsp->scalarproduct_float(cfo, cfo, off_len);
scale = sf[idx] / sqrtf(band_energy);
ac->fdsp.vector_fmul_scalar(cfo, cfo, scale, off_len);
ac->fdsp->vector_fmul_scalar(cfo, cfo, scale, off_len);
}
} else {
const float *vq = ff_aac_codebook_vector_vals[cbt_m1];
@@ -1766,7 +1791,7 @@ static int decode_spectrum_and_dequant(AACContext *ac, float coef[1024],
}
} while (len -= 2);
ac->fdsp.vector_fmul_scalar(cfo, cfo, sf[idx], off_len);
ac->fdsp->vector_fmul_scalar(cfo, cfo, sf[idx], off_len);
}
}
@@ -1946,7 +1971,7 @@ static int decode_ics(AACContext *ac, SingleChannelElement *sce,
avpriv_request_sample(ac->avctx, "SSR");
return AVERROR_PATCHWELCOME;
}
// I see no textual basis in the spec for this occuring after SSR gain
// I see no textual basis in the spec for this occurring after SSR gain
// control, but this is what both reference and real implmentations do
if (tns->present && er_syntax)
if (decode_tns(ac, tns, gb, ics) < 0)
@@ -1979,7 +2004,7 @@ static void apply_mid_side_stereo(AACContext *ac, ChannelElement *cpe)
cpe->ch[0].band_type[idx] < NOISE_BT &&
cpe->ch[1].band_type[idx] < NOISE_BT) {
for (group = 0; group < ics->group_len[g]; group++) {
ac->fdsp.butterflies_float(ch0 + group * 128 + offsets[i],
ac->fdsp->butterflies_float(ch0 + group * 128 + offsets[i],
ch1 + group * 128 + offsets[i],
offsets[i+1] - offsets[i]);
}
@@ -2018,7 +2043,7 @@ static void apply_intensity_stereo(AACContext *ac,
c *= 1 - 2 * cpe->ms_mask[idx];
scale = c * sce1->sf[idx];
for (group = 0; group < ics->group_len[g]; group++)
ac->fdsp.vector_fmul_scalar(coef1 + group * 128 + offsets[i],
ac->fdsp->vector_fmul_scalar(coef1 + group * 128 + offsets[i],
coef0 + group * 128 + offsets[i],
scale,
offsets[i + 1] - offsets[i]);
@@ -2268,7 +2293,12 @@ static int decode_extension_payload(AACContext *ac, GetBitContext *gb, int cnt,
{
int crc_flag = 0;
int res = cnt;
switch (get_bits(gb, 4)) { // extension type
int type = get_bits(gb, 4);
if (ac->avctx->debug & FF_DEBUG_STARTCODE)
av_log(ac->avctx, AV_LOG_DEBUG, "extension type: %d len:%d\n", type, cnt);
switch (type) { // extension type
case EXT_SBR_DATA_CRC:
crc_flag++;
case EXT_SBR_DATA:
@@ -2381,15 +2411,15 @@ static void windowing_and_mdct_ltp(AACContext *ac, float *out,
const float *swindow_prev = ics->use_kb_window[1] ? ff_aac_kbd_short_128 : ff_sine_128;
if (ics->window_sequence[0] != LONG_STOP_SEQUENCE) {
ac->fdsp.vector_fmul(in, in, lwindow_prev, 1024);
ac->fdsp->vector_fmul(in, in, lwindow_prev, 1024);
} else {
memset(in, 0, 448 * sizeof(float));
ac->fdsp.vector_fmul(in + 448, in + 448, swindow_prev, 128);
ac->fdsp->vector_fmul(in + 448, in + 448, swindow_prev, 128);
}
if (ics->window_sequence[0] != LONG_START_SEQUENCE) {
ac->fdsp.vector_fmul_reverse(in + 1024, in + 1024, lwindow, 1024);
ac->fdsp->vector_fmul_reverse(in + 1024, in + 1024, lwindow, 1024);
} else {
ac->fdsp.vector_fmul_reverse(in + 1024 + 448, in + 1024 + 448, swindow, 128);
ac->fdsp->vector_fmul_reverse(in + 1024 + 448, in + 1024 + 448, swindow, 128);
memset(in + 1024 + 576, 0, 448 * sizeof(float));
}
ac->mdct_ltp.mdct_calc(&ac->mdct_ltp, out, in);
@@ -2442,17 +2472,17 @@ static void update_ltp(AACContext *ac, SingleChannelElement *sce)
if (ics->window_sequence[0] == EIGHT_SHORT_SEQUENCE) {
memcpy(saved_ltp, saved, 512 * sizeof(float));
memset(saved_ltp + 576, 0, 448 * sizeof(float));
ac->fdsp.vector_fmul_reverse(saved_ltp + 448, ac->buf_mdct + 960, &swindow[64], 64);
ac->fdsp->vector_fmul_reverse(saved_ltp + 448, ac->buf_mdct + 960, &swindow[64], 64);
for (i = 0; i < 64; i++)
saved_ltp[i + 512] = ac->buf_mdct[1023 - i] * swindow[63 - i];
} else if (ics->window_sequence[0] == LONG_START_SEQUENCE) {
memcpy(saved_ltp, ac->buf_mdct + 512, 448 * sizeof(float));
memset(saved_ltp + 576, 0, 448 * sizeof(float));
ac->fdsp.vector_fmul_reverse(saved_ltp + 448, ac->buf_mdct + 960, &swindow[64], 64);
ac->fdsp->vector_fmul_reverse(saved_ltp + 448, ac->buf_mdct + 960, &swindow[64], 64);
for (i = 0; i < 64; i++)
saved_ltp[i + 512] = ac->buf_mdct[1023 - i] * swindow[63 - i];
} else { // LONG_STOP or ONLY_LONG
ac->fdsp.vector_fmul_reverse(saved_ltp, ac->buf_mdct + 512, &lwindow[512], 512);
ac->fdsp->vector_fmul_reverse(saved_ltp, ac->buf_mdct + 512, &lwindow[512], 512);
for (i = 0; i < 512; i++)
saved_ltp[i + 512] = ac->buf_mdct[1023 - i] * lwindow[511 - i];
}
@@ -2493,19 +2523,19 @@ static void imdct_and_windowing(AACContext *ac, SingleChannelElement *sce)
*/
if ((ics->window_sequence[1] == ONLY_LONG_SEQUENCE || ics->window_sequence[1] == LONG_STOP_SEQUENCE) &&
(ics->window_sequence[0] == ONLY_LONG_SEQUENCE || ics->window_sequence[0] == LONG_START_SEQUENCE)) {
ac->fdsp.vector_fmul_window( out, saved, buf, lwindow_prev, 512);
ac->fdsp->vector_fmul_window( out, saved, buf, lwindow_prev, 512);
} else {
memcpy( out, saved, 448 * sizeof(float));
if (ics->window_sequence[0] == EIGHT_SHORT_SEQUENCE) {
ac->fdsp.vector_fmul_window(out + 448 + 0*128, saved + 448, buf + 0*128, swindow_prev, 64);
ac->fdsp.vector_fmul_window(out + 448 + 1*128, buf + 0*128 + 64, buf + 1*128, swindow, 64);
ac->fdsp.vector_fmul_window(out + 448 + 2*128, buf + 1*128 + 64, buf + 2*128, swindow, 64);
ac->fdsp.vector_fmul_window(out + 448 + 3*128, buf + 2*128 + 64, buf + 3*128, swindow, 64);
ac->fdsp.vector_fmul_window(temp, buf + 3*128 + 64, buf + 4*128, swindow, 64);
ac->fdsp->vector_fmul_window(out + 448 + 0*128, saved + 448, buf + 0*128, swindow_prev, 64);
ac->fdsp->vector_fmul_window(out + 448 + 1*128, buf + 0*128 + 64, buf + 1*128, swindow, 64);
ac->fdsp->vector_fmul_window(out + 448 + 2*128, buf + 1*128 + 64, buf + 2*128, swindow, 64);
ac->fdsp->vector_fmul_window(out + 448 + 3*128, buf + 2*128 + 64, buf + 3*128, swindow, 64);
ac->fdsp->vector_fmul_window(temp, buf + 3*128 + 64, buf + 4*128, swindow, 64);
memcpy( out + 448 + 4*128, temp, 64 * sizeof(float));
} else {
ac->fdsp.vector_fmul_window(out + 448, saved + 448, buf, swindow_prev, 64);
ac->fdsp->vector_fmul_window(out + 448, saved + 448, buf, swindow_prev, 64);
memcpy( out + 576, buf + 64, 448 * sizeof(float));
}
}
@@ -2513,9 +2543,9 @@ static void imdct_and_windowing(AACContext *ac, SingleChannelElement *sce)
// buffer update
if (ics->window_sequence[0] == EIGHT_SHORT_SEQUENCE) {
memcpy( saved, temp + 64, 64 * sizeof(float));
ac->fdsp.vector_fmul_window(saved + 64, buf + 4*128 + 64, buf + 5*128, swindow, 64);
ac->fdsp.vector_fmul_window(saved + 192, buf + 5*128 + 64, buf + 6*128, swindow, 64);
ac->fdsp.vector_fmul_window(saved + 320, buf + 6*128 + 64, buf + 7*128, swindow, 64);
ac->fdsp->vector_fmul_window(saved + 64, buf + 4*128 + 64, buf + 5*128, swindow, 64);
ac->fdsp->vector_fmul_window(saved + 192, buf + 5*128 + 64, buf + 6*128, swindow, 64);
ac->fdsp->vector_fmul_window(saved + 320, buf + 6*128 + 64, buf + 7*128, swindow, 64);
memcpy( saved + 448, buf + 7*128 + 64, 64 * sizeof(float));
} else if (ics->window_sequence[0] == LONG_START_SEQUENCE) {
memcpy( saved, buf + 512, 448 * sizeof(float));
@@ -2540,10 +2570,10 @@ static void imdct_and_windowing_ld(AACContext *ac, SingleChannelElement *sce)
if (ics->use_kb_window[1]) {
// AAC LD uses a low overlap sine window instead of a KBD window
memcpy(out, saved, 192 * sizeof(float));
ac->fdsp.vector_fmul_window(out + 192, saved + 192, buf, ff_sine_128, 64);
ac->fdsp->vector_fmul_window(out + 192, saved + 192, buf, ff_sine_128, 64);
memcpy( out + 320, buf + 64, 192 * sizeof(float));
} else {
ac->fdsp.vector_fmul_window(out, saved, buf, ff_sine_512, 256);
ac->fdsp->vector_fmul_window(out, saved, buf, ff_sine_512, 256);
}
// buffer update
@@ -2631,7 +2661,7 @@ static void apply_dependent_coupling(AACContext *ac,
const float gain = cce->coup.gain[index][idx];
for (group = 0; group < ics->group_len[g]; group++) {
for (k = offsets[i]; k < offsets[i + 1]; k++) {
// XXX dsputil-ize
// FIXME: SIMDify
dest[group * 128 + k] += gain * src[group * 128 + k];
}
}
@@ -2716,7 +2746,7 @@ static void spectral_to_sample(AACContext *ac)
for (type = 3; type >= 0; type--) {
for (i = 0; i < MAX_ELEM_ID; i++) {
ChannelElement *che = ac->che[type][i];
if (che) {
if (che && che->present) {
if (type <= TYPE_CPE)
apply_channel_coupling(ac, che, type, i, BEFORE_TNS, apply_dependent_coupling);
if (ac->oc[1].m4ac.object_type == AOT_AAC_LTP) {
@@ -2748,6 +2778,9 @@ static void spectral_to_sample(AACContext *ac)
}
if (type <= TYPE_CCE)
apply_channel_coupling(ac, che, type, i, AFTER_IMDCT, apply_independent_coupling);
che->present = 0;
} else if (che) {
av_log(ac->avctx, AV_LOG_VERBOSE, "ChannelElement %d.%d missing \n", type, i);
}
}
}
@@ -2852,6 +2885,7 @@ static int aac_decode_er_frame(AVCodecContext *avctx, void *data,
elem_type, elem_id);
return AVERROR_INVALIDDATA;
}
che->present = 1;
if (aot != AOT_ER_AAC_ELD)
skip_bits(gb, 4);
switch (elem_type) {
@@ -2915,6 +2949,9 @@ static int aac_decode_frame_int(AVCodecContext *avctx, void *data,
while ((elem_type = get_bits(gb, 3)) != TYPE_END) {
elem_id = get_bits(gb, 4);
if (avctx->debug & FF_DEBUG_STARTCODE)
av_log(avctx, AV_LOG_DEBUG, "Elem type:%x id:%x\n", elem_type, elem_id);
if (elem_type < TYPE_DSE) {
if (!(che=get_che(ac, elem_type, elem_id))) {
av_log(ac->avctx, AV_LOG_ERROR, "channel element %d.%d is not allocated\n",
@@ -2923,6 +2960,7 @@ static int aac_decode_frame_int(AVCodecContext *avctx, void *data,
goto fail;
}
samples = 1024;
che->present = 1;
}
switch (elem_type) {
@@ -3131,6 +3169,7 @@ static av_cold int aac_decode_close(AVCodecContext *avctx)
ff_mdct_end(&ac->mdct_small);
ff_mdct_end(&ac->mdct_ld);
ff_mdct_end(&ac->mdct_ltp);
av_freep(&ac->fdsp);
return 0;
}
@@ -3440,6 +3479,18 @@ static const AVClass aac_decoder_class = {
.version = LIBAVUTIL_VERSION_INT,
};
static const AVProfile profiles[] = {
{ FF_PROFILE_AAC_MAIN, "Main" },
{ FF_PROFILE_AAC_LOW, "LC" },
{ FF_PROFILE_AAC_SSR, "SSR" },
{ FF_PROFILE_AAC_LTP, "LTP" },
{ FF_PROFILE_AAC_HE, "HE-AAC" },
{ FF_PROFILE_AAC_HE_V2, "HE-AACv2" },
{ FF_PROFILE_AAC_LD, "LD" },
{ FF_PROFILE_AAC_ELD, "ELD" },
{ FF_PROFILE_UNKNOWN },
};
AVCodec ff_aac_decoder = {
.name = "aac",
.long_name = NULL_IF_CONFIG_SMALL("AAC (Advanced Audio Coding)"),
@@ -3456,6 +3507,7 @@ AVCodec ff_aac_decoder = {
.channel_layouts = aac_channel_layout,
.flush = flush,
.priv_class = &aac_decoder_class,
.profiles = profiles,
};
/*
@@ -3478,4 +3530,5 @@ AVCodec ff_aac_latm_decoder = {
.capabilities = CODEC_CAP_CHANNEL_CONF | CODEC_CAP_DR1,
.channel_layouts = aac_channel_layout,
.flush = flush,
.profiles = profiles,
};

View File

@@ -252,7 +252,7 @@ static void apply_window_and_mdct(AACEncContext *s, SingleChannelElement *sce,
int i;
float *output = sce->ret_buf;
apply_window[sce->ics.window_sequence[0]](&s->fdsp, sce, audio);
apply_window[sce->ics.window_sequence[0]](s->fdsp, sce, audio);
if (sce->ics.window_sequence[0] != EIGHT_SHORT_SEQUENCE)
s->mdct1024.mdct_calc(&s->mdct1024, sce->coeffs, output);
@@ -567,6 +567,10 @@ static int aac_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
ics->group_len[w] = wi[ch].grouping[w];
apply_window_and_mdct(s, &cpe->ch[ch], overlap);
if (isnan(cpe->ch->coeffs[0])) {
av_log(avctx, AV_LOG_ERROR, "Input contains NaN\n");
return AVERROR(EINVAL);
}
}
start_ch += chans;
}
@@ -678,6 +682,7 @@ static av_cold int aac_encode_end(AVCodecContext *avctx)
ff_psy_preprocess_end(s->psypp);
av_freep(&s->buffer.samples);
av_freep(&s->cpe);
av_freep(&s->fdsp);
ff_af_queue_close(&s->afq);
return 0;
}
@@ -686,7 +691,9 @@ static av_cold int dsp_init(AVCodecContext *avctx, AACEncContext *s)
{
int ret = 0;
avpriv_float_dsp_init(&s->fdsp, avctx->flags & CODEC_FLAG_BITEXACT);
s->fdsp = avpriv_float_dsp_alloc(avctx->flags & CODEC_FLAG_BITEXACT);
if (!s->fdsp)
return AVERROR(ENOMEM);
// window init
ff_kbd_window_init(ff_aac_kbd_long_1024, 4.0, 1024);
@@ -705,8 +712,8 @@ static av_cold int dsp_init(AVCodecContext *avctx, AACEncContext *s)
static av_cold int alloc_buffers(AVCodecContext *avctx, AACEncContext *s)
{
int ch;
FF_ALLOCZ_OR_GOTO(avctx, s->buffer.samples, 3 * 1024 * s->channels * sizeof(s->buffer.samples[0]), alloc_fail);
FF_ALLOCZ_OR_GOTO(avctx, s->cpe, sizeof(ChannelElement) * s->chan_map[0], alloc_fail);
FF_ALLOCZ_ARRAY_OR_GOTO(avctx, s->buffer.samples, s->channels, 3 * 1024 * sizeof(s->buffer.samples[0]), alloc_fail);
FF_ALLOCZ_ARRAY_OR_GOTO(avctx, s->cpe, s->chan_map[0], sizeof(ChannelElement), alloc_fail);
FF_ALLOCZ_OR_GOTO(avctx, avctx->extradata, 5 + FF_INPUT_BUFFER_PADDING_SIZE, alloc_fail);
for(ch = 0; ch < s->channels; ch++)
@@ -769,14 +776,14 @@ static av_cold int aac_encode_init(AVCodecContext *avctx)
if (HAVE_MIPSDSPR1)
ff_aac_coder_init_mips(s);
s->lambda = avctx->global_quality ? avctx->global_quality : 120;
s->lambda = avctx->global_quality > 0 ? avctx->global_quality : 120;
ff_aac_tableinit();
for (i = 0; i < 428; i++)
ff_aac_pow34sf_tab[i] = sqrt(ff_aac_pow2sf_tab[i] * sqrt(ff_aac_pow2sf_tab[i]));
avctx->delay = 1024;
avctx->initial_padding = 1024;
ff_af_queue_init(avctx, &s->afq);
return 0;

Some files were not shown because too many files have changed in this diff Show More